ChimeraReader20240501¶
class ChimeraReader20240501(settings: Optional[dict] = None)
Bases: MetaReader
Subclass of MetaReader for reading chimera VC400 .log files using the 2024-05 specification that uses a separate json file for metadata
- Attributes:
datafile (str): Path to the data file. logger (logging.Logger): Logger instance for logging messages. datafiles (List[List[str]]): List of sorted data files grouped by channel and time. configs (List[List[dict]]): List of sorted configuration dictionaries grouped by channel and time. datamaps (List[List[numpy.ndarray]]): List of sorted data maps (memmaps or numpy arrays) grouped by channel and time. file_start_indices (List[List[int]]): List of starting indices for each data map in each channel. total_channel_samples (List[int]): List of total number of samples in each channel. samplerate (float): Sampling rate for data acquisition.
Public Methods¶
- ChimeraReader20240501.close_resources(channel: int | None = None) None¶
Perform any actions necessary to gracefully close resources before app exit
- Parameters:
channel (Optional[int]) – channel ID
- ChimeraReader20240501.get_empty_settings(globally_available_plugins: Dict[str, List[str]] | None = None, standalone: bool = False) Dict[str, Dict[str, Any]]¶
Get a dict populated with keys needed to initialize the filter if they are not set yet. This dict must have the following structure, but Min, Max, and Options can be skipped or explicitly set to None if they are not used. Type is required; Value may be omitted or set to None, both meaning there is no default and the user must supply one. All values provided must be consistent with Type.
settings = {'Parameter 1': {'Type': <int, float, str, bool>, 'Value': <value> or None, 'Options': [<option_1>, <option_2>, ... ] or None, 'Min': <min_value> or None, 'Max': <max_value> or None, 'Units': <unit str> or None }, ... }
Several parameter keywords are reserved: these are
‘Input File’ ‘Output File’ ‘Folder’
These must have Type str and will cause the GUI to generate widgets to allow selection of these elements when used
- Parameters:
- Returns:
the dict that must be filled in to initialize the filter
- Return type:
Private Methods¶
- ChimeraReader20240501._convert_data(data: ndarray[tuple[int, ...], dtype[int16]], config: dict, raw_data: bool = False) Tuple[ndarray, float, float] | ndarray¶
Scale or otherwise transform and return requested data. Applies the tia_gain/i_offset/filter_gain scale and offset recovered from the companion .json settings file to convert raw ADC codes to pA. if raw_data is true, return also scale and offset
- Parameters:
- Returns:
Converted data, and scale and offset if and only if raw_data is True
- Return type:
- ChimeraReader20240501._get_configs(datafiles: List[str]) List[dict]¶
Load configuration files as dictionaries, corresponding to datamaps as needed. Parses each file’s companion .json settings file (same stem, .json extension) to build a per-file configuration dict; unlike ChimeraReader20240101, this format has no embedded header.
- ChimeraReader20240501._get_file_channel_stamps(file_names: List[str], configs: List[dict]) List[int]¶
Get a list of serialization keys used to sort the list of files associated to the experiment.
- ChimeraReader20240501._get_file_pattern(file_name: str) str¶
Get the base name for matching other files to the same dataset as the initial one provided to the constructor.
- Parameters:
file_name (str) – File path.
- Returns:
Base name for matching other files.
- Return type:
- Raises:
ValueError – If the base naming pattern cannot be ascertained.
- ChimeraReader20240501._get_file_time_stamps(file_names: List[str], configs: List[dict]) List[datetime]¶
Get a list of serialization keys used to sort the list of files associated to the experiment.
- ChimeraReader20240501._map_data(datafiles: List[str], configs: List[dict]) List[ndarray]¶
Map data files into a set of memmaps or similarly define a way to access the raw data on disk. Returns a list of memmaps corresponding to each datafile/configfile pair.
- Parameters:
- Returns:
List of memmaps containing raw data.
- Return type:
List[np.ndarray]
- Raises:
FileNotFoundError – If at least one of the input raw data files is missing or renamed.
OSError – If the file indicated is inaccessible.
- ChimeraReader20240501._set_file_extension() str¶
Set the expected file extension for files read using this reader subclass
- ChimeraReader20240501._set_raw_dtype(configs: List[dict]) dtype¶
Set the data type for the raw data in files of this type
- Parameters:
configs (List[dict]) – List of configuration dictionaries corresponding to data files.
- Returns:
the dtype of the raw data in your data files
- Return type:
np.dtype
- ChimeraReader20240501._validate_file_type(filename: PathLike) None¶
Check that the file(s) being opened are of the correct type, and raise IOError if not
- Parameters:
filename (os.PathLike) – the path to one of the files to be opened