1. ndx-ophys-devices

Version alpha May 18, 2026

1.1. Format Overview

1.1.1. ndx-ophys-devices

  • Description: This is an NWB extension for storing metadata of devices used in optical experimental setup (microscopy, fiber photometry, optogenetic stimulation etc.)

  • Name: ndx-ophys-devices

  • Version: 0.4.0

  • Authors:
    • Alessandra Trapani

  • Contacts:
  • Schema:
    • namespace: core

    • neurodata_types: [‘Device’, ‘DeviceModel’]

    • source: ndx-ophys-devices.extensions.yaml

1.1.2. Type Hierarchy

1.2. Type Specifications

1.2.1. ndx-ophys-devices.extensions.yaml

1.2.1.1. ExcitationSourceModel

Overview: Extends DeviceModel to hold metadata on the Excitation Source Model.

ExcitationSourceModel extends DeviceModel and includes all elements of DeviceModel with the following additions or changes.

ExcitationSourceModel
Table 1.1 Datasets, Links, and Attributes contained in <ExcitationSourceModel>

Id

Type

Description

<ExcitationSourceModel>

Group

Top level Group for <ExcitationSourceModel>

.source_type

Attribute

Type of source. Suggested values: LED, Gas Laser (e.g., Argon, Krypton), Solid-State Laser (e.g., Diode, DPSS).

  • Data Type: text

  • Name: source_type

.excitation_mode

Attribute

The type of excitation used in the light path (e.g., ‘one-photon’, ‘two-photon’, ‘three-photon’, ‘other’).

  • Data Type: text

  • Name: excitation_mode

.wavelength_range_in_nm

Attribute

The range of wavelengths that can be produced by the source.

  • Data Type: float

  • Shape: [2]

  • Required: False

  • Name: wavelength_range_in_nm

1.2.1.2. ExcitationSource

Overview: Extends Device to hold metadata on the Excitation Source instance.

ExcitationSource extends Device and includes all elements of Device with the following additions or changes.

ExcitationSource
Table 1.2 Datasets, Links, and Attributes contained in <ExcitationSource>

Id

Type

Description

<ExcitationSource>

Group

Top level Group for <ExcitationSource>

.power_in_W

Attribute

Incident power of stimulation device (in Watts).

  • Data Type: float

  • Required: False

  • Name: power_in_W

.intensity_in_W_per_m2

Attribute

Intensity of the excitation in W/m^2, if known.

  • Data Type: float

  • Required: False

  • Name: intensity_in_W_per_m2

.exposure_time_in_s

Attribute

Exposure time of the sample (in sec).

  • Data Type: float

  • Required: False

  • Name: exposure_time_in_s

1.2.1.3. PulsedExcitationSource

Overview: Extends ExcitationSource to hold metadata on the Pulsed Excitation Source instance.

PulsedExcitationSource extends ExcitationSource and includes all elements of ExcitationSource with the following additions or changes.

PulsedExcitationSource
Table 1.3 Datasets, Links, and Attributes contained in <PulsedExcitationSource>

Id

Type

Description

<PulsedExcitationSource>

Group

Top level Group for <PulsedExcitationSource>

.pulse_rate_in_Hz

Attribute

If device is pulsed light source, pulse rate (in Hz) used for stimulation.

  • Data Type: float

  • Name: pulse_rate_in_Hz

.peak_power_in_W

Attribute

Incident peak power of stimulation device (in Watts).

  • Data Type: float

  • Required: False

  • Name: peak_power_in_W

.peak_pulse_energy_in_J

Attribute

If device is pulsed light source, pulse energy (in Joules).

  • Data Type: float

  • Required: False

  • Name: peak_pulse_energy_in_J

1.2.1.4. PhotodetectorModel

Overview: Extends DeviceModel to hold metadata on the Photodetector Model.

PhotodetectorModel extends DeviceModel and includes all elements of DeviceModel with the following additions or changes.

PhotodetectorModel
Table 1.4 Datasets, Links, and Attributes contained in <PhotodetectorModel>

Id

Type

Description

<PhotodetectorModel>

Group

Top level Group for <PhotodetectorModel>

.detector_type

Attribute

Technology used to detect the light. Suggested values: CCD, Intensified CCD, PMT, Photodiode, CMOS, EBCCD, FTIR.

  • Data Type: text

  • Name: detector_type

.wavelength_range_in_nm

Attribute

The range of wavelengths that can be detected.

  • Data Type: float

  • Shape: [2]

  • Required: False

  • Name: wavelength_range_in_nm

.gain

Attribute

Gain on the photodetector.

  • Data Type: float

  • Required: False

  • Name: gain

.gain_unit

Attribute

Unit of the gain value.

  • Data Type: text

  • Required: False

  • Name: gain_unit

1.2.1.5. Photodetector

Overview: Extends Device to hold metadata on the Photodetector instance.

Photodetector extends Device and includes all elements of Device with the following additions or changes.

1.2.1.6. DichroicMirrorModel

Overview: Extends DeviceModel to hold metadata on the Dichroic Mirror Model.

DichroicMirrorModel extends DeviceModel and includes all elements of DeviceModel with the following additions or changes.

DichroicMirrorModel
Table 1.5 Datasets, Links, and Attributes contained in <DichroicMirrorModel>

Id

Type

Description

<DichroicMirrorModel>

Group

Top level Group for <DichroicMirrorModel>

.cut_on_wavelength_in_nm

Attribute

Wavelength at which the mirror starts to transmit light more than reflect.

  • Data Type: float

  • Required: False

  • Name: cut_on_wavelength_in_nm

.cut_off_wavelength_in_nm

Attribute

Wavelength at which transmission shifts back to reflection, for mirrors with complex transmission spectra.

  • Data Type: float

  • Required: False

  • Name: cut_off_wavelength_in_nm

.reflection_band_in_nm

Attribute

The range of wavelengths that are primarily reflected.The start and end wavelengths needs to be specified.

  • Data Type: float

  • Shape: [2]

  • Required: False

  • Name: reflection_band_in_nm

.transmission_band_in_nm

Attribute

The range of wavelengths that are primarily transmitted.The start and end wavelengths needs to be specified.

  • Data Type: float

  • Shape: [2]

  • Required: False

  • Name: transmission_band_in_nm

.angle_of_incidence_in_degrees

Attribute

Intended angle at which light strikes the mirror.

  • Data Type: float

  • Required: False

  • Name: angle_of_incidence_in_degrees

1.2.1.7. DichroicMirror

Overview: Extends Device to hold a Dichroic Mirror instance.

DichroicMirror extends Device and includes all elements of Device with the following additions or changes.

1.2.1.8. OpticalFilterModel

Overview: Extends DeviceModel to hold metadata on the Optical Filter Model.

OpticalFilterModel extends DeviceModel and includes all elements of DeviceModel with the following additions or changes.

Table 1.6 Datasets, Links, and Attributes contained in <OpticalFilterModel>

Id

Type

Description

<OpticalFilterModel>

Group

Top level Group for <OpticalFilterModel>

.filter_type

Attribute

Type of filter (e.g., ‘Bandpass’, ‘Bandstop’, ‘Longpass’, ‘Shortpass’).

  • Data Type: text

  • Name: filter_type

1.2.1.9. OpticalFilter

Overview: Extends Device to hold an Optical Filter instance.

OpticalFilter extends Device and includes all elements of Device with the following additions or changes.

1.2.1.10. BandOpticalFilterModel

Overview: Extends OpticalFilterModel to hold metadata on the Band Optical Filter Model (Bandpass or Bandstop).

BandOpticalFilterModel extends OpticalFilterModel and includes all elements of OpticalFilterModel with the following additions or changes.

BandOpticalFilterModel
Table 1.7 Datasets, Links, and Attributes contained in <BandOpticalFilterModel>

Id

Type

Description

<BandOpticalFilterModel>

Group

Top level Group for <BandOpticalFilterModel>

.center_wavelength_in_nm

Attribute

The midpoint of the band of wavelengths that the filter transmits or blocks.

  • Data Type: float

  • Name: center_wavelength_in_nm

.bandwidth_in_nm

Attribute

The width of the wavelength range that the filter transmits or blocks (full width at half maximum).

  • Data Type: float

  • Name: bandwidth_in_nm

1.2.1.11. BandOpticalFilter

Overview: Extends OpticalFilter to hold a Band Optical Filter instance (Bandpass or Bandstop).

BandOpticalFilter extends OpticalFilter and includes all elements of OpticalFilter with the following additions or changes.

1.2.1.12. EdgeOpticalFilterModel

Overview: Extends OpticalFilterModel to hold metadata on the Edge Optical Filter Model (Longpass or Shortpass).

EdgeOpticalFilterModel extends OpticalFilterModel and includes all elements of OpticalFilterModel with the following additions or changes.

EdgeOpticalFilterModel
Table 1.8 Datasets, Links, and Attributes contained in <EdgeOpticalFilterModel>

Id

Type

Description

<EdgeOpticalFilterModel>

Group

Top level Group for <EdgeOpticalFilterModel>

.cut_wavelength_in_nm

Attribute

The wavelength at which the filter transmits half as much as its peak transmission.

  • Data Type: float

  • Name: cut_wavelength_in_nm

.slope_in_percent_cut_wavelength

Attribute

The steepness of the transition from high blocking to high transmission (or vice versa). Specified as a percentage of the cut wavelength.

  • Data Type: float

  • Required: False

  • Name: slope_in_percent_cut_wavelength

.slope_starting_transmission_in_percent

Attribute

The percent transmission that defines the starting point for the slope (e.g. 10%).

  • Data Type: float

  • Required: False

  • Name: slope_starting_transmission_in_percent

.slope_ending_transmission_in_percent

Attribute

The percent transmission that defines the ending point for the slope (e.g. 80%).

  • Data Type: float

  • Required: False

  • Name: slope_ending_transmission_in_percent

1.2.1.13. EdgeOpticalFilter

Overview: Extends OpticalFilter to hold an Edge Optical Filter instance (Longpass or Shortpass).

EdgeOpticalFilter extends OpticalFilter and includes all elements of OpticalFilter with the following additions or changes.

1.2.1.14. StereotacticPosition

Overview: Metadata about the stereotactic position of a device relative to the brain.

StereotacticPosition extends NWBContainer and includes all elements of NWBContainer with the following additions or changes.

StereotacticPosition
Table 1.9 Datasets, Links, and Attributes contained in <StereotacticPosition>

Id

Type

Description

<StereotacticPosition>

Group

Top level Group for <StereotacticPosition>

.anatomical_target

Attribute

Name of the targeted anatomical location of the device insertion.

  • Data Type: text

  • Name: anatomical_target

.origin

Attribute

A description of where (0,0,0) is in the space. For example, ‘bregma’ is a common origin for mice.

  • Data Type: text

  • Name: origin

.orientation

Attribute

A 3-letter string. One of A,P,L,R,S,I for each of x, y, and z. For example, the most common orientation is ‘RAS’, which means x is right, y is anterior, and z is superior (a.k.a. dorsal). For dorsal/ventral use ‘S/I’ (superior/inferior). In the AnatomicalCoordinatesTable, an orientation of ‘RAS’ corresponds to coordinates in the order of (ML (x), AP (y), DV (z)).

  • Data Type: text

  • Name: orientation

.x_in_mm

Attribute

X coordinate in millimeters of the device insertion point, in the stereotactic coordinate system defined by origin and orientation.

  • Data Type: float

  • Name: x_in_mm

.y_in_mm

Attribute

Y coordinate in millimeters of the device insertion point, in the stereotactic coordinate system defined by origin and orientation.

  • Data Type: float

  • Name: y_in_mm

.z_in_mm

Attribute

Z coordinate in millimeters of the device insertion point, in the stereotactic coordinate system defined by origin and orientation.

  • Data Type: float

  • Name: z_in_mm

.pitch_in_deg

Attribute

Pitch angle in degrees of the device insertion (rotation around left-right axis, + is rotating the nose upward).

  • Data Type: float

  • Name: pitch_in_deg

.yaw_in_deg

Attribute

Yaw angle in degrees of the device insertion (rotation around dorsal-ventral axis, + is rotating the nose rightward).

  • Data Type: float

  • Name: yaw_in_deg

.roll_in_deg

Attribute

Roll angle in degrees of the device insertion (rotation around anterior-posterior axis, + is rotating the right side downward).

  • Data Type: float

  • Name: roll_in_deg

1.2.1.15. OpticalFiberModel

Overview: Extends DeviceModel to hold metadata on the Optical Fiber Model.

OpticalFiberModel extends DeviceModel and includes all elements of DeviceModel with the following additions or changes.

OpticalFiberModel
Table 1.10 Datasets, Links, and Attributes contained in <OpticalFiberModel>

Id

Type

Description

<OpticalFiberModel>

Group

Top level Group for <OpticalFiberModel>

.numerical_aperture

Attribute

Numerical aperture, e.g., 0.39 NA.

  • Data Type: float

  • Name: numerical_aperture

.core_diameter_in_um

Attribute

Core diameter in micrometers.

  • Data Type: float

  • Required: False

  • Name: core_diameter_in_um

.active_length_in_mm

Attribute

Active length in mm for a tapered fiber, e.g., Optogenix Lambda fiber. See https://www.optogenix.com/lambda-fibers/ for details of one example.

  • Data Type: float

  • Required: False

  • Name: active_length_in_mm

.ferrule_name

Attribute

Product name of the ferrule.

  • Data Type: text

  • Required: False

  • Name: ferrule_name

.ferrule_model

Attribute

Model (or product ID) of the ferrule from the manufacturer.

  • Data Type: text

  • Required: False

  • Name: ferrule_model

.ferrule_diameter_in_mm

Attribute

Ferrule diameter in mm, e.g., 1.25 mm (LC) or 2.5 mm (FC).

  • Data Type: float

  • Required: False

  • Name: ferrule_diameter_in_mm

1.2.1.16. OpticalFiber

Overview: Extends Device to hold metadata on the Optical Fiber instance.

OpticalFiber extends Device and includes all elements of Device with the following additions or changes.

Table 1.11 Groups contained in <OpticalFiber>

Id

Type

Description

<OpticalFiber>

Group

Top level Group for <OpticalFiber>

.fiber_insertion

Group

Information about the insertion of an optical fiber into the brain.

1.2.1.16.1. Groups: fiber_insertion

Information about the insertion of an optical fiber into the brain.

1.2.1.17. ObjectiveLensModel

Overview: Extends DeviceModel to hold metadata on the Objective Lens Model.

ObjectiveLensModel extends DeviceModel and includes all elements of DeviceModel with the following additions or changes.

ObjectiveLensModel
Table 1.12 Datasets, Links, and Attributes contained in <ObjectiveLensModel>

Id

Type

Description

<ObjectiveLensModel>

Group

Top level Group for <ObjectiveLensModel>

.numerical_aperture

Attribute

Numerical aperture, e.g., 0.39 NA.

  • Data Type: float

  • Name: numerical_aperture

.magnification

Attribute

The magnification of the lens as specified by the manufacturer, i.e. ‘60.0’ is a 60X lens.

  • Data Type: float

  • Required: False

  • Name: magnification

1.2.1.18. ObjectiveLens

Overview: Extends Device to hold metadata on the Objective Lens instance.

ObjectiveLens extends Device and includes all elements of Device with the following additions or changes.

Table 1.13 Groups contained in <ObjectiveLens>

Id

Type

Description

<ObjectiveLens>

Group

Top level Group for <ObjectiveLens>

.lens_positioning

Group

Information about the positioning of the objective lens relative to the brain.

1.2.1.18.1. Groups: lens_positioning

Information about the positioning of the objective lens relative to the brain.

1.2.1.19. ViralVector

Overview: Metadata about the viral vector used to deliver indicators or effectors for ophys experiments.

ViralVector extends NWBContainer and includes all elements of NWBContainer with the following additions or changes.

ViralVector
Table 1.14 Datasets, Links, and Attributes contained in <ViralVector>

Id

Type

Description

<ViralVector>

Group

Top level Group for <ViralVector>

.construct_name

Attribute

Name of the virus construct/vector, e.g., “AAV-EF1a-DIO-hChR2(H134R)-EYFP”.

  • Data Type: text

  • Name: construct_name

.description

Attribute

Description of the virus.

  • Data Type: text

  • Required: False

  • Name: description

.manufacturer

Attribute

Manufacturer of the virus.

  • Data Type: text

  • Name: manufacturer

.titer_in_vg_per_ml

Attribute

Titer of the virus, in vg/ml, e.g., 1x10^12 vg/ml.

  • Data Type: float

  • Name: titer_in_vg_per_ml

1.2.1.20. ViralVectorInjection

Overview: Information about the injection of a viral vector that delivers indicators or effectors for ophys experiments. Use two ViralVectorInjection objects for a bilateral injection, one per hemisphere.

ViralVectorInjection extends NWBContainer and includes all elements of NWBContainer with the following additions or changes.

ViralVectorInjection
Table 1.15 Datasets, Links, and Attributes contained in <ViralVectorInjection>

Id

Type

Description

<ViralVectorInjection>

Group

Top level Group for <ViralVectorInjection>

.description

Attribute

Description of the virus injection.

  • Data Type: text

  • Required: False

  • Name: description

.volume_in_uL

Attribute

Volume of injection, in uL., e.g., 0.45 uL (450 nL)

  • Data Type: float

  • Name: volume_in_uL

.injection_date

Attribute

Date of injection.

  • Data Type: text

  • Required: False

  • Name: injection_date

.viral_vector

Link

Link to ViralVector object with metadata about the name, manufacturer, and titer.

Table 1.16 Groups contained in <ViralVectorInjection>

Id

Type

Description

<ViralVectorInjection>

Group

Top level Group for <ViralVectorInjection>

.viral_vector

Link

Link to ViralVector object with metadata about the name, manufacturer, and titer.

.viral_injection_coordinates

Group

Stereotactic coordinates of the viral vector injection site.

1.2.1.20.1. Groups: viral_injection_coordinates

Stereotactic coordinates of the viral vector injection site.

1.2.1.21. Indicator

Overview: An NWBContainer to hold metadata on the Indicator.

Indicator extends NWBContainer and includes all elements of NWBContainer with the following additions or changes.

Indicator
Table 1.17 Datasets, Links, and Attributes contained in <Indicator>

Id

Type

Description

<Indicator>

Group

Top level Group for <Indicator>

.label

Attribute

Indicator standard notation.

  • Data Type: text

  • Name: label

.description

Attribute

Indicator description.

  • Data Type: text

  • Required: False

  • Name: description

.manufacturer

Attribute

Indicator manufacturer.

  • Data Type: text

  • Required: False

  • Name: manufacturer

.viral_vector_injection

Link

Link to ViralVectorInjection object with metadata about the injection of the indicator.

Table 1.18 Groups contained in <Indicator>

Id

Type

Description

<Indicator>

Group

Top level Group for <Indicator>

.viral_vector_injection

Link

Link to ViralVectorInjection object with metadata about the injection of the indicator.

1.2.1.22. Effector

Overview: An NWBContainer to hold metadata on the Effector or Opsin.

Effector extends NWBContainer and includes all elements of NWBContainer with the following additions or changes.

Effector
Table 1.19 Datasets, Links, and Attributes contained in <Effector>

Id

Type

Description

<Effector>

Group

Top level Group for <Effector>

.label

Attribute

Effector standard notation.

  • Data Type: text

  • Name: label

.description

Attribute

Effector description.

  • Data Type: text

  • Required: False

  • Name: description

.manufacturer

Attribute

Effector manufacturer.

  • Data Type: text

  • Required: False

  • Name: manufacturer

.viral_vector_injection

Link

Link to ViralVectorInjection object with metadata about the injection of the effector.

Table 1.20 Groups contained in <Effector>

Id

Type

Description

<Effector>

Group

Top level Group for <Effector>

.viral_vector_injection

Link

Link to ViralVectorInjection object with metadata about the injection of the effector.

1.3. Schema Sources

Source Specification: see Section 1.3.1

1.3.1. ndx-ophys-devices

Description: see Section 1.1.1

YAML Specification:

 1name: ndx-ophys-devices
 2doc: This is an NWB extension for storing metadata of devices used in optical
 3  experimental setup (microscopy, fiber photometry, optogenetic stimulation
 4  etc.)
 5schema:
 6- namespace: core
 7  neurodata_types:
 8  - Device
 9  - DeviceModel
10- source: ndx-ophys-devices.extensions.yaml
11version: 0.4.0
12author:
13- Alessandra Trapani
14contact:
15- alessandra.trapani@catalystneuro.com

1.3.2. ndx-ophys-devices.extensions.yaml

1.3.2.1. ExcitationSourceModel

Extends: DeviceModel

Description: see Section 1.2.1.1

YAML Specification:

 1neurodata_type_def: ExcitationSourceModel
 2neurodata_type_inc: DeviceModel
 3doc: Extends DeviceModel to hold metadata on the Excitation Source Model.
 4attributes:
 5- name: source_type
 6  dtype: text
 7  doc: 'Type of source. Suggested values: LED, Gas Laser (e.g., Argon, Krypton), Solid-State
 8    Laser (e.g., Diode, DPSS).'
 9- name: excitation_mode
10  dtype: text
11  doc: The type of excitation used in the light path (e.g., 'one-photon',
12    'two-photon', 'three-photon', 'other').
13- name: wavelength_range_in_nm
14  dtype: float
15  shape:
16  - 2
17  doc: The range of wavelengths that can be produced by the source.
18  required: false

1.3.2.2. ExcitationSource

Extends: Device

Description: see Section 1.2.1.2

YAML Specification:

 1neurodata_type_def: ExcitationSource
 2neurodata_type_inc: Device
 3doc: Extends Device to hold metadata on the Excitation Source instance.
 4attributes:
 5- name: power_in_W
 6  dtype: float
 7  doc: Incident power of stimulation device (in Watts).
 8  required: false
 9- name: intensity_in_W_per_m2
10  dtype: float
11  doc: Intensity of the excitation in W/m^2, if known.
12  required: false
13- name: exposure_time_in_s
14  dtype: float
15  doc: Exposure time of the sample (in sec).
16  required: false

1.3.2.3. PulsedExcitationSource

Extends: ExcitationSource

Description: see Section 1.2.1.3

YAML Specification:

 1neurodata_type_def: PulsedExcitationSource
 2neurodata_type_inc: ExcitationSource
 3doc: Extends ExcitationSource to hold metadata on the Pulsed Excitation Source
 4  instance.
 5attributes:
 6- name: pulse_rate_in_Hz
 7  dtype: float
 8  doc: If device is pulsed light source, pulse rate (in Hz) used for
 9    stimulation.
10- name: peak_power_in_W
11  dtype: float
12  doc: Incident peak power of stimulation device (in Watts).
13  required: false
14- name: peak_pulse_energy_in_J
15  dtype: float
16  doc: If device is pulsed light source, pulse energy (in Joules).
17  required: false

1.3.2.4. PhotodetectorModel

Extends: DeviceModel

Description: see Section 1.2.1.4

YAML Specification:

 1neurodata_type_def: PhotodetectorModel
 2neurodata_type_inc: DeviceModel
 3doc: Extends DeviceModel to hold metadata on the Photodetector Model.
 4attributes:
 5- name: detector_type
 6  dtype: text
 7  doc: 'Technology used to detect the light. Suggested values: CCD, Intensified CCD,
 8    PMT, Photodiode, CMOS, EBCCD, FTIR.'
 9- name: wavelength_range_in_nm
10  dtype: float
11  shape:
12  - 2
13  doc: The range of wavelengths that can be detected.
14  required: false
15- name: gain
16  dtype: float
17  doc: Gain on the photodetector.
18  required: false
19- name: gain_unit
20  dtype: text
21  doc: Unit of the gain value.
22  required: false

1.3.2.5. Photodetector

Extends: Device

Description: see Section 1.2.1.5

YAML Specification:

1neurodata_type_def: Photodetector
2neurodata_type_inc: Device
3doc: Extends Device to hold metadata on the Photodetector instance.

1.3.2.6. DichroicMirrorModel

Extends: DeviceModel

Description: see Section 1.2.1.6

YAML Specification:

 1neurodata_type_def: DichroicMirrorModel
 2neurodata_type_inc: DeviceModel
 3doc: Extends DeviceModel to hold metadata on the Dichroic Mirror Model.
 4attributes:
 5- name: cut_on_wavelength_in_nm
 6  dtype: float
 7  doc: Wavelength at which the mirror starts to transmit light more than
 8    reflect.
 9  required: false
10- name: cut_off_wavelength_in_nm
11  dtype: float
12  doc: Wavelength at which transmission shifts back to reflection, for mirrors
13    with complex transmission spectra.
14  required: false
15- name: reflection_band_in_nm
16  dtype: float
17  shape:
18  - 2
19  doc: The range of wavelengths that are primarily reflected.The start and end
20    wavelengths needs to be specified.
21  required: false
22- name: transmission_band_in_nm
23  dtype: float
24  shape:
25  - 2
26  doc: The range of wavelengths that are primarily transmitted.The start and end
27    wavelengths needs to be specified.
28  required: false
29- name: angle_of_incidence_in_degrees
30  dtype: float
31  doc: Intended angle at which light strikes the mirror.
32  required: false

1.3.2.7. DichroicMirror

Extends: Device

Description: see Section 1.2.1.7

YAML Specification:

1neurodata_type_def: DichroicMirror
2neurodata_type_inc: Device
3doc: Extends Device to hold a Dichroic Mirror instance.

1.3.2.8. OpticalFilterModel

Extends: DeviceModel

Description: see Section 1.2.1.8

YAML Specification:

1neurodata_type_def: OpticalFilterModel
2neurodata_type_inc: DeviceModel
3doc: Extends DeviceModel to hold metadata on the Optical Filter Model.
4attributes:
5- name: filter_type
6  dtype: text
7  doc: Type of filter (e.g., 'Bandpass', 'Bandstop', 'Longpass', 'Shortpass').

1.3.2.9. OpticalFilter

Extends: Device

Description: see Section 1.2.1.9

YAML Specification:

1neurodata_type_def: OpticalFilter
2neurodata_type_inc: Device
3doc: Extends Device to hold an Optical Filter instance.

1.3.2.10. BandOpticalFilterModel

Extends: OpticalFilterModel

Description: see Section 1.2.1.10

YAML Specification:

 1neurodata_type_def: BandOpticalFilterModel
 2neurodata_type_inc: OpticalFilterModel
 3doc: Extends OpticalFilterModel to hold metadata on the Band Optical Filter
 4  Model (Bandpass or Bandstop).
 5attributes:
 6- name: center_wavelength_in_nm
 7  dtype: float
 8  doc: The midpoint of the band of wavelengths that the filter transmits or
 9    blocks.
10- name: bandwidth_in_nm
11  dtype: float
12  doc: The width of the wavelength range that the filter transmits or blocks
13    (full width at half maximum).

1.3.2.11. BandOpticalFilter

Extends: OpticalFilter

Description: see Section 1.2.1.11

YAML Specification:

1neurodata_type_def: BandOpticalFilter
2neurodata_type_inc: OpticalFilter
3doc: Extends OpticalFilter to hold a Band Optical Filter instance (Bandpass or
4  Bandstop).

1.3.2.12. EdgeOpticalFilterModel

Extends: OpticalFilterModel

Description: see Section 1.2.1.12

YAML Specification:

 1neurodata_type_def: EdgeOpticalFilterModel
 2neurodata_type_inc: OpticalFilterModel
 3doc: Extends OpticalFilterModel to hold metadata on the Edge Optical Filter
 4  Model (Longpass or Shortpass).
 5attributes:
 6- name: cut_wavelength_in_nm
 7  dtype: float
 8  doc: The wavelength at which the filter transmits half as much as its peak
 9    transmission.
10- name: slope_in_percent_cut_wavelength
11  dtype: float
12  doc: The steepness of the transition from high blocking to high transmission
13    (or vice versa). Specified as a percentage of the cut wavelength.
14  required: false
15- name: slope_starting_transmission_in_percent
16  dtype: float
17  doc: The percent transmission that defines the starting point for the slope
18    (e.g. 10%).
19  required: false
20- name: slope_ending_transmission_in_percent
21  dtype: float
22  doc: The percent transmission that defines the ending point for the slope
23    (e.g. 80%).
24  required: false

1.3.2.13. EdgeOpticalFilter

Extends: OpticalFilter

Description: see Section 1.2.1.13

YAML Specification:

1neurodata_type_def: EdgeOpticalFilter
2neurodata_type_inc: OpticalFilter
3doc: Extends OpticalFilter to hold an Edge Optical Filter instance (Longpass or
4  Shortpass).

1.3.2.14. StereotacticPosition

Extends: NWBContainer

Description: see Section 1.2.1.14

YAML Specification:

 1neurodata_type_def: StereotacticPosition
 2neurodata_type_inc: NWBContainer
 3doc: Metadata about the stereotactic position of a device relative to the brain.
 4attributes:
 5- name: anatomical_target
 6  dtype: text
 7  doc: Name of the targeted anatomical location of the device insertion.
 8- name: origin
 9  dtype: text
10  doc: A description of where (0,0,0) is in the space. For example, 'bregma' is
11    a common origin for mice.
12- name: orientation
13  dtype: text
14  doc: A 3-letter string. One of A,P,L,R,S,I for each of x, y, and z. For
15    example, the most common orientation is 'RAS', which means x is right, y is
16    anterior, and z is superior (a.k.a. dorsal). For dorsal/ventral use 'S/I'
17    (superior/inferior). In the AnatomicalCoordinatesTable, an orientation of
18    'RAS' corresponds to coordinates in the order of (ML (x), AP (y), DV (z)).
19- name: x_in_mm
20  dtype: float
21  doc: X coordinate in millimeters of the device insertion point, in the
22    stereotactic coordinate system defined by `origin` and `orientation`.
23- name: y_in_mm
24  dtype: float
25  doc: Y coordinate in millimeters of the device insertion point, in the
26    stereotactic coordinate system defined by `origin` and `orientation`.
27- name: z_in_mm
28  dtype: float
29  doc: Z coordinate in millimeters of the device insertion point, in the
30    stereotactic coordinate system defined by `origin` and `orientation`.
31- name: pitch_in_deg
32  dtype: float
33  doc: Pitch angle in degrees of the device insertion (rotation around
34    left-right axis, + is rotating the nose upward).
35- name: yaw_in_deg
36  dtype: float
37  doc: Yaw angle in degrees of the device insertion (rotation around
38    dorsal-ventral axis, + is rotating the nose rightward).
39- name: roll_in_deg
40  dtype: float
41  doc: Roll angle in degrees of the device insertion (rotation around
42    anterior-posterior axis, + is rotating the right side downward).

1.3.2.15. OpticalFiberModel

Extends: DeviceModel

Description: see Section 1.2.1.15

YAML Specification:

 1neurodata_type_def: OpticalFiberModel
 2neurodata_type_inc: DeviceModel
 3doc: Extends DeviceModel to hold metadata on the Optical Fiber Model.
 4attributes:
 5- name: numerical_aperture
 6  dtype: float
 7  doc: Numerical aperture, e.g., 0.39 NA.
 8- name: core_diameter_in_um
 9  dtype: float
10  doc: Core diameter in micrometers.
11  required: false
12- name: active_length_in_mm
13  dtype: float
14  doc: Active length in mm for a tapered fiber, e.g., Optogenix Lambda fiber.
15    See https://www.optogenix.com/lambda-fibers/ for details of one example.
16  required: false
17- name: ferrule_name
18  dtype: text
19  doc: Product name of the ferrule.
20  required: false
21- name: ferrule_model
22  dtype: text
23  doc: Model (or product ID) of the ferrule from the manufacturer.
24  required: false
25- name: ferrule_diameter_in_mm
26  dtype: float
27  doc: Ferrule diameter in mm, e.g., 1.25 mm (LC) or 2.5 mm (FC).
28  required: false

1.3.2.16. OpticalFiber

Extends: Device

Description: see Section 1.2.1.16

YAML Specification:

1neurodata_type_def: OpticalFiber
2neurodata_type_inc: Device
3doc: Extends Device to hold metadata on the Optical Fiber instance.
4groups:
5- name: fiber_insertion
6  neurodata_type_inc: StereotacticPosition
7  doc: Information about the insertion of an optical fiber into the brain.

1.3.2.17. ObjectiveLensModel

Extends: DeviceModel

Description: see Section 1.2.1.17

YAML Specification:

 1neurodata_type_def: ObjectiveLensModel
 2neurodata_type_inc: DeviceModel
 3doc: Extends DeviceModel to hold metadata on the Objective Lens Model.
 4attributes:
 5- name: numerical_aperture
 6  dtype: float
 7  doc: Numerical aperture, e.g., 0.39 NA.
 8- name: magnification
 9  dtype: float
10  doc: The magnification of the lens as specified by the manufacturer, i.e.
11    '60.0' is a 60X lens.
12  required: false

1.3.2.18. ObjectiveLens

Extends: Device

Description: see Section 1.2.1.18

YAML Specification:

1neurodata_type_def: ObjectiveLens
2neurodata_type_inc: Device
3doc: Extends Device to hold metadata on the Objective Lens instance.
4groups:
5- name: lens_positioning
6  neurodata_type_inc: StereotacticPosition
7  doc: "Information about the positioning of the objective lens relative to the brain.\n"
8  quantity: '?'

1.3.2.19. ViralVector

Extends: NWBContainer

Description: see Section 1.2.1.19

YAML Specification:

 1neurodata_type_def: ViralVector
 2neurodata_type_inc: NWBContainer
 3doc: Metadata about the viral vector used to deliver indicators or effectors for
 4  ophys experiments.
 5attributes:
 6- name: construct_name
 7  dtype: text
 8  doc: Name of the virus construct/vector, e.g.,
 9    "AAV-EF1a-DIO-hChR2(H134R)-EYFP".
10- name: description
11  dtype: text
12  doc: Description of the virus.
13  required: false
14- name: manufacturer
15  dtype: text
16  doc: Manufacturer of the virus.
17- name: titer_in_vg_per_ml
18  dtype: float
19  doc: Titer of the virus, in vg/ml, e.g., 1x10^12 vg/ml.

1.3.2.20. ViralVectorInjection

Extends: NWBContainer

Description: see Section 1.2.1.20

YAML Specification:

 1neurodata_type_def: ViralVectorInjection
 2neurodata_type_inc: NWBContainer
 3doc: Information about the injection of a viral vector that delivers indicators
 4  or effectors for ophys experiments. Use two ViralVectorInjection objects for a
 5  bilateral injection, one per hemisphere.
 6attributes:
 7- name: description
 8  dtype: text
 9  doc: Description of the virus injection.
10  required: false
11- name: volume_in_uL
12  dtype: float
13  doc: Volume of injection, in uL., e.g., 0.45 uL (450 nL)
14- name: injection_date
15  dtype: text
16  doc: Date of injection.
17  required: false
18groups:
19- name: viral_injection_coordinates
20  neurodata_type_inc: StereotacticPosition
21  doc: "Stereotactic coordinates of the viral vector injection site.\n"
22  quantity: '?'
23links:
24- name: viral_vector
25  target_type: ViralVector
26  doc: Link to ViralVector object with metadata about the name, manufacturer,
27    and titer.

1.3.2.21. Indicator

Extends: NWBContainer

Description: see Section 1.2.1.21

YAML Specification:

 1neurodata_type_def: Indicator
 2neurodata_type_inc: NWBContainer
 3doc: An NWBContainer to hold metadata on the Indicator.
 4attributes:
 5- name: label
 6  dtype: text
 7  doc: Indicator standard notation.
 8- name: description
 9  dtype: text
10  doc: Indicator description.
11  required: false
12- name: manufacturer
13  dtype: text
14  doc: Indicator manufacturer.
15  required: false
16links:
17- name: viral_vector_injection
18  target_type: ViralVectorInjection
19  doc: Link to ViralVectorInjection object with metadata about the injection of
20    the indicator.
21  quantity: '?'

1.3.2.22. Effector

Extends: NWBContainer

Description: see Section 1.2.1.22

YAML Specification:

 1neurodata_type_def: Effector
 2neurodata_type_inc: NWBContainer
 3doc: An NWBContainer to hold metadata on the Effector or Opsin.
 4attributes:
 5- name: label
 6  dtype: text
 7  doc: Effector standard notation.
 8- name: description
 9  dtype: text
10  doc: Effector description.
11  required: false
12- name: manufacturer
13  dtype: text
14  doc: Effector manufacturer.
15  required: false
16links:
17- name: viral_vector_injection
18  target_type: ViralVectorInjection
19  doc: Link to ViralVectorInjection object with metadata about the injection of
20    the effector.
21  quantity: '?'