FrequencyDomainSpikeAnalysisResult#

class neurodent.visualization.FrequencyDomainSpikeAnalysisResult(result_sas: list[SortingAnalyzer] | None = None, result_mne: RawArray | None = None, spike_indices: list[ndarray] | None = None, detection_params: dict | None = None, animal_id: str | None = None, genotype: str | None = None, animal_day: str | None = None, bin_folder_name: str | None = None, metadata: DDFBinaryMetadata | None = None, channel_names: list[str] | None = None, assume_from_number=False) None[source]#

Bases: AnimalFeatureParser

Wrapper for frequency-domain spike detection results.

This class mirrors the SpikeAnalysisResult interface to ensure compatibility with existing WindowAnalysisResult.read_sars_spikes() infrastructure.

Parameters:
  • result_sas (list[SortingAnalyzer])

  • result_mne (RawArray)

  • spike_indices (list[ndarray])

  • detection_params (dict)

  • animal_id (str)

  • genotype (str)

  • animal_day (str)

  • bin_folder_name (str)

  • metadata (DDFBinaryMetadata)

  • channel_names (list[str])

__init__(result_sas: list[SortingAnalyzer] | None = None, result_mne: RawArray | None = None, spike_indices: list[ndarray] | None = None, detection_params: dict | None = None, animal_id: str | None = None, genotype: str | None = None, animal_day: str | None = None, bin_folder_name: str | None = None, metadata: DDFBinaryMetadata | None = None, channel_names: list[str] | None = None, assume_from_number=False) None[source]#

Initialize FrequencyDomainSpikeAnalysisResult.

Parameters:
  • result_sas (list[si.SortingAnalyzer], optional) – SpikeInterface SortingAnalyzers for compatibility

  • result_mne (mne.io.RawArray, optional) – MNE RawArray with spike annotations

  • spike_indices (list[np.ndarray], optional) – Raw spike detection results per channel

  • detection_params (dict, optional) – Parameters used for spike detection

  • animal_id (str, optional) – Identifier for the animal

  • genotype (str, optional) – Genotype of animal

  • animal_day (str, optional) – Recording day identifier

  • bin_folder_name (str, optional) – Binary folder name

  • metadata (core.DDFBinaryMetadata, optional) – Recording metadata

  • channel_names (list[str], optional) – List of channel names

  • assume_from_number (bool, optional) – Assume channel names from numbers

Return type:

None

classmethod from_detection_results(spike_indices_per_channel: list[ndarray], mne_raw_with_annotations: RawArray, detection_params: dict, animal_id: str | None = None, genotype: str | None = None, animal_day: str | None = None, bin_folder_name: str | None = None, metadata: DDFBinaryMetadata | None = None, assume_from_number: bool = False)[source]#

Create FrequencyDomainSpikeAnalysisResult from raw detection outputs.

Parameters:
  • spike_indices_per_channel (list[ndarray]) – List of spike sample indices per channel

  • mne_raw_with_annotations (RawArray) – MNE RawArray with spike annotations

  • detection_params (dict) – Parameters used for detection

  • animal_id (str | None (default: None)) – Identifier for the animal

  • genotype (str | None (default: None)) – Genotype of animal

  • animal_day (str | None (default: None)) – Recording day identifier

  • bin_folder_name (str | None (default: None)) – Binary folder name

  • metadata (DDFBinaryMetadata | None (default: None)) – Recording metadata

  • assume_from_number (bool (default: False)) – Assume channel names from numbers

Returns:

Initialized result object

Return type:

FrequencyDomainSpikeAnalysisResult

convert_to_mne(chunk_len: float = 60, save_raw=True) RawArray[source]#

Convert SortingAnalyzers to MNE RawArray (mirrors SpikeAnalysisResult interface).

Parameters:
  • chunk_len (float (default: 60)) – Chunk length for processing (compatibility parameter)

  • save_raw (default: True) – Whether to save the result internally

Returns:

MNE RawArray with spike annotations

Return type:

mne.io.RawArray

save_fif_and_json(folder: str | Path, convert_to_mne=True, make_folder=True, slugify_filebase=True, save_abbrevs_as_chnames=False, overwrite=False)[source]#

Archive frequency domain spike analysis result as fif and json files. Mirrors the SpikeAnalysisResult.save_fif_and_json interface.

Parameters:
  • folder (str | Path) – Destination folder to save results

  • convert_to_mne (default: True) – If True, convert to MNE if needed

  • make_folder (default: True) – If True, create folder if it doesn’t exist

  • slugify_filebase (default: True) – If True, slugify the filename base

  • save_abbrevs_as_chnames (default: False) – If True, save abbreviations as channel names

  • overwrite (default: False) – If True, overwrite existing files

classmethod load_fif_and_json(folder: str | Path)[source]#

Load FrequencyDomainSpikeAnalysisResult from fif and json files. Mirrors the SpikeAnalysisResult.load_fif_and_json interface.

Parameters:

folder (str | Path) – Folder containing the saved files

Returns:

Loaded result object

Return type:

FrequencyDomainSpikeAnalysisResult

plot_spike_averaged_traces(tmin=-0.5, tmax=0.5, baseline=None, save_dir=None, animal_id=None, save_epoch=True)[source]#

Plot spike-triggered averages for each channel.

Based on plot_spike_evoked_by_channel from the pipeline script.

Parameters:
  • tmin (default: -0.5) – Start time for epochs (seconds)

  • tmax (default: 0.5) – End time for epochs (seconds)

  • baseline (default: None) – Baseline correction period

  • save_dir (default: None) – Directory to save plots and epoch data

  • animal_id (default: None) – Animal identifier for filenames

  • save_epoch (default: True) – Whether to save epoch data

Returns:

Spike counts per channel, keyed by channel index

Return type:

dict

get_spike_counts_per_channel() list[int][source]#

Get spike counts per channel.

Returns:

Number of detected spikes per channel

Return type:

list

get_total_spike_count() int[source]#

Get total number of detected spikes across all channels.

Return type:

int

__str__()[source]#

String representation of the result object.