.. _description:

Overview
========

The ndx-microscopy extension for NWB provides a standardized way to store and organize microscopy data in neuroscience research. This extension integrates with `ndx-ophys-devices <https://github.com/catalystneuro/ndx-ophys-devices>`_ to provide comprehensive optical component specifications and supports various microscopy techniques while maintaining detailed metadata about the imaging setup, experimental conditions, and acquired data.

Supported Microscopy Techniques
-----------------------------

1. One-photon Microscopy (Widefield)
2. Two-photon Microscopy
3. Three-photon Microscopy
4. Light Sheet Microscopy

For support of additional techniques, please open an issue on `GitHub <https://github.com/catalystneuro/ndx-microscopy/issues>`_.

Key Features
----------

Device and Optical Components
^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Microscope metadata
- Integration with ndx-ophys-devices for:
    - Excitation sources (continuous and pulsed)
    - Optical filters (band and edge types)
    - Dichroic mirrors
    - Photodetectors
    - Fluorescent indicators

Light Path Configuration
^^^^^^^^^^^^^^^^^^^^^
- Excitation light path tracking
- Emission light path tracking
- Comprehensive optical component specifications
- Wavelength and power specifications

Imaging Space Management
^^^^^^^^^^^^^^^^^^^^^
- 2D planar imaging spaces
- 3D volumetric imaging spaces
- Precise coordinate system handling
- Reference frame management
- Grid spacing and resolution tracking

Data Organization
^^^^^^^^^^^^^
- Time series data for both 2D and 3D imaging
- Multi-plane imaging support
- Variable depth imaging capabilities
- Multi-channel data handling
- ROI/segmentation organization
- Response data storage

Data Structure
------------

The extension organizes microscopy data hierarchically::

    nwbfile
    ├── devices
    │   └── microscope: Microscope
    ├── lab_meta_data
    │   ├── excitation_path: ExcitationLightPath
    │   └── emission_path: EmissionLightPath
    ├── acquisition
    │   └── MicroscopySeries
    └── processing
        └── ophys
            ├── MicroscopyResponseSeriesContainer
            └── SegmentationContainer

Common Applications
----------------

Calcium Imaging
^^^^^^^^^^^^^
- GCaMP and other calcium indicator imaging
- Both one-photon and multi-photon implementations
- ROI segmentation
- Fluorescence time series data

Voltage Imaging
^^^^^^^^^^^^^
- Direct measurement of neural activity
- Voltage-sensitive fluorescent proteins/dyes
- High-speed imaging capabilities
- High temporal resolution data

For Developers
------------

The extension is open source and welcomes contributions:

- Source code: `GitHub Repository <https://github.com/catalystneuro/ndx-microscopy>`_
- Issue tracking and feature requests
- Development guidelines
- Contributing instructions

Extension Design:
- Integration with ndx-ophys-devices
- Comprehensive test suite
- Extensible architecture
