Skip to content

Latest commit

 

History

History
93 lines (62 loc) · 12.2 KB

File metadata and controls

93 lines (62 loc) · 12.2 KB
graph LR
    Electrophysiology_Data_Models["Electrophysiology Data Models"]
    Electrophysiology_Feature_Extraction["Electrophysiology Feature Extraction"]
    Electrophysiology_Data_I_O_NWB_Integration["Electrophysiology Data I/O & NWB Integration"]
    Electrophysiology_Analysis_Utilities["Electrophysiology Analysis Utilities"]
    Ecephys_Stimulus_Response_Analysis["Ecephys Stimulus Response Analysis"]
    Electrophysiology_Data_I_O_NWB_Integration -- "populates" --> Electrophysiology_Data_Models
    Electrophysiology_Data_Models -- "provides data for" --> Electrophysiology_Feature_Extraction
    Electrophysiology_Data_Models -- "provides data for" --> Electrophysiology_Analysis_Utilities
    Electrophysiology_Data_Models -- "provides data for" --> Ecephys_Stimulus_Response_Analysis
    Electrophysiology_Feature_Extraction -- "utilizes" --> Electrophysiology_Analysis_Utilities
    Electrophysiology_Analysis_Utilities -- "processes data from" --> Electrophysiology_Data_Models
    Electrophysiology_Data_Models -- "provides data for export to" --> Electrophysiology_Data_I_O_NWB_Integration
Loading

CodeBoardingDemoContact

Details

The Electrophysiology Data & Analysis subsystem is a critical part of the Neuroinformatics SDK, providing a comprehensive set of tools for handling electrophysiology (ephys) data. Its architecture is designed to support scientific rigor, data accessibility, and extensibility, aligning with the project's overall architectural biases. These components are fundamental because they collectively address the entire lifecycle of electrophysiology data within the SDK: from defining its structure and enabling its input/output, to performing basic and advanced analyses, and finally, ensuring its standardized representation and interoperability. This modular design supports the SDK's goals of scientific rigor, data accessibility, and extensibility by providing clear responsibilities and well-defined interfaces between components.

Electrophysiology Data Models

This component defines the canonical data structures for representing electrophysiology recording sessions. It acts as the central hub for organizing and accessing all experimental data, including details about probes, individual channels, sorted neuronal units, Local Field Potentials (LFP), and Current Source Density (CSD). This component is fundamental as it establishes a unified and consistent data representation, which is crucial for a "Data-Centric Architecture" in a scientific SDK.

Related Classes/Methods:

Electrophysiology Feature Extraction

This module provides a comprehensive set of tools for extracting quantitative features from raw electrophysiological recordings. It supports analysis at various levels, from individual voltage traces (sweeps) to aggregated cellular responses, enabling detailed characterization of neuronal activity, including spike properties, pauses, and bursts. This component is fundamental for enabling downstream analysis and aligns with the "Experimental Data Processing Modules" and "Pipeline/Workflow Pattern" by providing distinct processing steps.

Related Classes/Methods:

Electrophysiology Data I/O & NWB Integration

This component provides robust mechanisms for accessing and managing Ecephys project data, including caching capabilities for efficient retrieval. It offers various API implementations to connect to different data sources (e.g., internal data warehouses, LIMS systems, or local NWB files). Crucially, it handles the serialization and deserialization of Ecephys data to and from the Neurodata Without Borders (NWB) format, ensuring data standardization and interoperability. This component is fundamental for data accessibility and reproducibility, embodying "Data-Centric Architecture", "Cache-Aside Pattern", and "API Gateway/Client Pattern".

Related Classes/Methods:

Electrophysiology Analysis Utilities

This component encompasses fundamental utility functions and helper classes that support various electrophysiology data processing, analysis, and management tasks across the SDK. It provides common functionalities that are leveraged by other higher-level components, including specific calculations like LFP subsampling and current source density estimation. This component is fundamental as it provides reusable building blocks, aligning with the "Core Utilities" pattern.

Related Classes/Methods:

Ecephys Stimulus Response Analysis

This component provides a modular framework for analyzing neuronal responses to a variety of visual stimuli used in Ecephys experiments. It includes specialized sub-modules for different stimulus types, allowing researchers to quantify and interpret neural activity in response to specific sensory inputs. This component is fundamental for deriving scientific insights from ephys data, exemplifying the "Pipeline/Workflow Pattern" and "Experimental Data Processing Modules".

Related Classes/Methods: