psi package

Subpackages

Submodules

psi.util module

exception psi.util.ConfigurationException[source]

Bases: Exception

class psi.util.PSIJsonEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)[source]

Bases: JSONEncoder

default(obj)[source]

Implement this method in a subclass such that it returns a serializable object for o, or calls the base implementation (to raise a TypeError).

For example, to support arbitrary iterators, you could implement default like this:

def default(self, o):
    try:
        iterable = iter(o)
    except TypeError:
        pass
    else:
        return list(iterable)
    # Let the base class default method raise the TypeError
    return super().default(o)
class psi.util.SignalBuffer(fs, size, fill_value=nan, dtype=<class 'numpy.float64'>, n_channels=None)[source]

Bases: object

append_data(data)[source]
get_latest(lb, ub=0, fill_value=None)[source]

Returns buffered data relative to the most recently-buffered sample

Parameters:
  • lb (float) – Time in seconds relative to the most recently-buffered sample. Usually will be a negative value.

  • ub (float) – Time in seconds relative to the most recently-buffered sample. Usually will be 0 or a negative value.

Examples

Get the most recent 1 second of buffered data >>> buffer.get_latest(-1)

Get the buffered data from -2 to -1 relative to current time. >>> buffer.get_latest(-2, -1)

get_range(lb=None, ub=None)[source]
get_range_filled(lb, ub, fill_value)[source]
get_range_samples(lb=None, ub=None)[source]
get_samples_lb()[source]
get_samples_ub()[source]
get_time_lb()[source]
get_time_ub()[source]
invalidate(t)[source]
invalidate_samples(i)[source]
resize(size)[source]

Resize buffer to hold the specified number of time samples

Notes

  • This does not allow you to add/remove channels.

  • A request to decrease buffer size is ignored.

samples_to_index(i)[source]
time_to_index(t)[source]

Convert time to index in buffer. Note that the index may fall out of the buffered range.

time_to_samples(t)[source]

Convert time to samples (re acquisition start)

psi.util.as_numeric(x)[source]
psi.util.copy_declarative(old, exclude=None, **kw)[source]
psi.util.declarative_to_dict(value, tag_name, tag_value=True, include_dunder=True, seen_objects=None)[source]
psi.util.declarative_to_json(filename, value, tag_name, tag_value=True, include_dunder=True, seen_objects=None)[source]
psi.util.dict_to_declarative(obj, info, skip_errors=False)[source]
psi.util.get_dependencies(expression)[source]
psi.util.get_tagged_members(obj, tag_name, tag_value=True, exclude_properties=False)[source]
psi.util.get_tagged_values(obj, tag_name, tag_value=True, exclude_properties=False)[source]
psi.util.log_with_header(header, info)[source]

Utility function to log multiple lines with a header with a single logging command.

Parameters:
  • header (str) – Title to show in header

  • info (sequence) – List or tuple of strings (one string per line) to put in the logging message.

psi.util.psi_json_decoder_hook(obj)[source]

This adds support for loading legacy files generated using json-tricks

psi.util.rpc(plugin_name, method_name)[source]

Decorator to map an Enaml command handler to the plugin method

psi.util.wrap_text(text)[source]

Format message for display in the console

This strips leading whitespace and wraps to a uniform width while preserving double line-breaks that indicate paragraphs.

psi.version module

Module contents

psi.create_config(base_directory=None, log=None, data=None, processed=None, cal=None, preferences=None, layout=None, io=None, standard_io=None, paradigm_descriptions=None)[source]
psi.create_config_dirs()[source]
psi.create_io_manifest(template)[source]
psi.get_config(setting=None, default_value=<object object>)[source]

Get value of setting

psi.get_config_file()[source]

Return configuration file

psi.get_config_folder()[source]

Return configuration folder

psi.load_config()[source]
psi.reload_config()[source]
psi.set_config(setting, value)[source]

Set value of setting