name: core.nwb.ophys id: core.nwb.ophys imports: - core.nwb.image - core.nwb.base - hdmf-common.table - core.nwb.device - nwb.language - core.nwb.ophys.include - core.nwb.ophys prefixes: core.nwb.ophys: prefix_prefix: core.nwb.ophys prefix_reference: https://example.com/core.nwb.ophys/ default_prefix: core.nwb.ophys classes: OnePhotonSeries: name: OnePhotonSeries description: Image stack recorded over time from 1-photon microscope. is_a: ImageSeries attributes: name: name: name range: string required: true pmt_gain: name: pmt_gain description: Photomultiplier gain. range: float32 scan_line_rate: name: scan_line_rate description: Lines imaged per second. This is also stored in /general/optophysiology but is kept here as it is useful information for analysis, and so good to be stored w/ the actual data. range: float32 exposure_time: name: exposure_time description: Exposure time of the sample; often the inverse of the frequency. range: float32 binning: name: binning description: Amount of pixels combined into 'bins'; could be 1, 2, 4, 8, etc. range: uint8 power: name: power description: Power of the excitation in mW, if known. range: float32 intensity: name: intensity description: Intensity of the excitation in mW/mm^2, if known. range: float32 tree_root: true TwoPhotonSeries: name: TwoPhotonSeries description: Image stack recorded over time from 2-photon microscope. is_a: ImageSeries attributes: name: name: name range: string required: true pmt_gain: name: pmt_gain description: Photomultiplier gain. range: float32 scan_line_rate: name: scan_line_rate description: Lines imaged per second. This is also stored in /general/optophysiology but is kept here as it is useful information for analysis, and so good to be stored w/ the actual data. range: float32 field_of_view: name: field_of_view description: Width, height and depth of image, or imaged area, in meters. multivalued: false range: TwoPhotonSeries__field_of_view required: false tree_root: true RoiResponseSeries: name: RoiResponseSeries description: ROI responses over an imaging plane. The first dimension represents time. The second dimension, if present, represents ROIs. is_a: TimeSeries attributes: name: name: name range: string required: true data: name: data description: Signals from ROIs. multivalued: false range: RoiResponseSeries__data required: true rois: name: rois description: DynamicTableRegion referencing into an ROITable containing information on the ROIs stored in this timeseries. multivalued: false range: RoiResponseSeries__rois required: true tree_root: true DfOverF: name: DfOverF description: dF/F information about a region of interest (ROI). Storage hierarchy of dF/F should be the same as for segmentation (i.e., same names for ROIs and for image planes). is_a: NWBDataInterface attributes: name: name: name range: string required: true roi_response_series: name: roi_response_series description: RoiResponseSeries object(s) containing dF/F for a ROI. multivalued: true range: RoiResponseSeries required: true tree_root: true Fluorescence: name: Fluorescence description: Fluorescence information about a region of interest (ROI). Storage hierarchy of fluorescence should be the same as for segmentation (ie, same names for ROIs and for image planes). is_a: NWBDataInterface attributes: name: name: name range: string required: true roi_response_series: name: roi_response_series description: RoiResponseSeries object(s) containing fluorescence data for a ROI. multivalued: true range: RoiResponseSeries required: true tree_root: true ImageSegmentation: name: ImageSegmentation description: Stores pixels in an image that represent different regions of interest (ROIs) or masks. All segmentation for a given imaging plane is stored together, with storage for multiple imaging planes (masks) supported. Each ROI is stored in its own subgroup, with the ROI group containing both a 2D mask and a list of pixels that make up this mask. Segments can also be used for masking neuropil. If segmentation is allowed to change with time, a new imaging plane (or module) is required and ROI names should remain consistent between them. is_a: NWBDataInterface attributes: name: name: name range: string required: true plane_segmentation: name: plane_segmentation description: Results from image segmentation of a specific imaging plane. multivalued: true range: PlaneSegmentation required: true tree_root: true PlaneSegmentation: name: PlaneSegmentation description: Results from image segmentation of a specific imaging plane. is_a: DynamicTable attributes: name: name: name range: string required: true image_mask: name: image_mask description: ROI masks for each ROI. Each image mask is the size of the original imaging plane (or volume) and members of the ROI are finite non-zero. multivalued: false range: PlaneSegmentation__image_mask required: false pixel_mask_index: name: pixel_mask_index description: Index into pixel_mask. multivalued: false range: PlaneSegmentation__pixel_mask_index required: false pixel_mask: name: pixel_mask description: 'Pixel masks for each ROI: a list of indices and weights for the ROI. Pixel masks are concatenated and parsing of this dataset is maintained by the PlaneSegmentation' multivalued: true range: AnyType voxel_mask_index: name: voxel_mask_index description: Index into voxel_mask. multivalued: false range: PlaneSegmentation__voxel_mask_index required: false voxel_mask: name: voxel_mask description: 'Voxel masks for each ROI: a list of indices and weights for the ROI. Voxel masks are concatenated and parsing of this dataset is maintained by the PlaneSegmentation' multivalued: true range: AnyType reference_images: name: reference_images description: Image stacks that the segmentation masks apply to. multivalued: true any_of: - range: ImageSeries tree_root: true ImagingPlane: name: ImagingPlane description: An imaging plane and its metadata. is_a: NWBContainer attributes: name: name: name range: string required: true description: name: description description: Description of the imaging plane. multivalued: false range: text required: false excitation_lambda: name: excitation_lambda description: Excitation wavelength, in nm. multivalued: false range: float32 required: true imaging_rate: name: imaging_rate description: Rate that images are acquired, in Hz. If the corresponding TimeSeries is present, the rate should be stored there instead. multivalued: false range: float32 required: false indicator: name: indicator description: Calcium indicator. multivalued: false range: text required: true location: name: location description: Location of the imaging plane. Specify the area, layer, comments on estimation of area/layer, stereotaxic coordinates if in vivo, etc. Use standard atlas names for anatomical regions when possible. multivalued: false range: text required: true manifold: name: manifold description: DEPRECATED Physical position of each pixel. 'xyz' represents the position of the pixel relative to the defined coordinate space. Deprecated in favor of origin_coords and grid_spacing. multivalued: false range: ImagingPlane__manifold required: false origin_coords: name: origin_coords description: Physical location of the first element of the imaging plane (0, 0) for 2-D data or (0, 0, 0) for 3-D data. See also reference_frame for what the physical location is relative to (e.g., bregma). multivalued: false range: ImagingPlane__origin_coords required: false grid_spacing: name: grid_spacing description: Space between pixels in (x, y) or voxels in (x, y, z) directions, in the specified unit. Assumes imaging plane is a regular grid. See also reference_frame to interpret the grid. multivalued: false range: ImagingPlane__grid_spacing required: false reference_frame: name: reference_frame description: Describes reference frame of origin_coords and grid_spacing. For example, this can be a text description of the anatomical location and orientation of the grid defined by origin_coords and grid_spacing or the vectors needed to transform or rotate the grid to a common anatomical axis (e.g., AP/DV/ML). This field is necessary to interpret origin_coords and grid_spacing. If origin_coords and grid_spacing are not present, then this field is not required. For example, if the microscope takes 10 x 10 x 2 images, where the first value of the data matrix (index (0, 0, 0)) corresponds to (-1.2, -0.6, -2) mm relative to bregma, the spacing between pixels is 0.2 mm in x, 0.2 mm in y and 0.5 mm in z, and larger numbers in x means more anterior, larger numbers in y means more rightward, and larger numbers in z means more ventral, then enter the following -- origin_coords = (-1.2, -0.6, -2) grid_spacing = (0.2, 0.2, 0.5) reference_frame = "Origin coordinates are relative to bregma. First dimension corresponds to anterior-posterior axis (larger index = more anterior). Second dimension corresponds to medial-lateral axis (larger index = more rightward). Third dimension corresponds to dorsal-ventral axis (larger index = more ventral)." multivalued: false range: text required: false optical_channel: name: optical_channel description: An optical channel used to record from an imaging plane. multivalued: true range: OpticalChannel required: true tree_root: true OpticalChannel: name: OpticalChannel description: An optical channel used to record from an imaging plane. is_a: NWBContainer attributes: name: name: name range: string required: true description: name: description description: Description or other notes about the channel. multivalued: false range: text required: true emission_lambda: name: emission_lambda description: Emission wavelength for channel, in nm. multivalued: false range: float32 required: true tree_root: true MotionCorrection: name: MotionCorrection description: 'An image stack where all frames are shifted (registered) to a common coordinate system, to account for movement and drift between frames. Note: each frame at each point in time is assumed to be 2-D (has only x & y dimensions).' is_a: NWBDataInterface attributes: name: name: name range: string required: true corrected_image_stack: name: corrected_image_stack description: Reuslts from motion correction of an image stack. multivalued: true range: CorrectedImageStack required: true tree_root: true CorrectedImageStack: name: CorrectedImageStack description: Reuslts from motion correction of an image stack. is_a: NWBDataInterface attributes: name: name: name range: string required: true corrected: name: corrected description: Image stack with frames shifted to the common coordinates. multivalued: false range: ImageSeries required: true xy_translation: name: xy_translation description: Stores the x,y delta necessary to align each frame to the common coordinates, for example, to align each frame to a reference image. multivalued: false range: TimeSeries required: true tree_root: true