NumpyImagingExtractor#

class NumpyImagingExtractor(timeseries: str | Path, sampling_frequency: float, channel_names: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes] | None = None)[source]#

Bases: ImagingExtractor

An ImagingExtractor specified by timeseries .npy file, sampling frequency, and channel names.

Create a NumpyImagingExtractor from a .npy file.

Parameters:
  • timeseries (PathType) – Path to .npy file.

  • sampling_frequency (float) – Sampling frequency of the video in Hz.

  • channel_names (ArrayLike) – List of channel names.

static get_volume_shape(video) tuple[int, int, int, int][source]#

Get the shape of a video (num_frames, num_rows, num_columns, num_channels).

Parameters:

video (numpy.ndarray) – The video to get the shape of.

Returns:

video_shape – The shape of the video (num_frames, num_rows, num_columns, num_channels).

Return type:

tuple

get_series(start_sample=None, end_sample=None) ndarray[source]#

Get the series of samples.

Parameters:
  • start_sample (int, optional) – Start sample index (inclusive).

  • end_sample (int, optional) – End sample index (exclusive).

Returns:

series – The series of samples.

Return type:

numpy.ndarray

Notes

Importantly, we follow the convention that the dimensions of the array are returned in their matrix order, More specifically: (time, height, width)

Which is equivalent to: (samples, rows, columns)

For volumetric data, the dimensions are: (time, height, width, planes)

Which is equivalent to: (samples, rows, columns, planes)

Note that this does not match the cartesian convention: (t, x, y)

Where x is the columns width or and y is the rows or height.

get_image_shape() tuple[int, int][source]#

Get the shape of the video frame (num_rows, num_columns).

Returns:

image_shape – Shape of the video frame (num_rows, num_columns).

Return type:

tuple

get_num_samples()[source]#

Get the number of samples in the video.

Returns:

num_samples – Number of samples in the video.

Return type:

int

get_sampling_frequency()[source]#

Get the sampling frequency in Hz.

Returns:

sampling_frequency – Sampling frequency in Hz.

Return type:

float

get_native_timestamps(start_sample: int | None = None, end_sample: int | None = None) ndarray | None[source]#

Retrieve the original unaltered timestamps for the data in this interface.

This function should retrieve the data on-demand by re-initializing the IO. Can be overridden to return None if the extractor does not have native timestamps.

Parameters:
  • start_sample (int, optional) – The starting sample index. If None, starts from the beginning.

  • end_sample (int, optional) – The ending sample index. If None, goes to the end.

Returns:

timestamps – The timestamps for the data stream, or None if native timestamps are not available.

Return type:

numpy.ndarray or None