mirror of
https://github.com/p2p-ld/nwb-linkml.git
synced 2024-11-14 02:34:28 +00:00
585 lines
20 KiB
YAML
585 lines
20 KiB
YAML
name: core.nwb.ophys
|
|
id: core.nwb.ophys
|
|
imports:
|
|
- core.nwb.image
|
|
- core.nwb.base
|
|
- hdmf-common.table
|
|
- core.nwb.device
|
|
- nwb.language
|
|
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
|
|
TwoPhotonSeries__field_of_view:
|
|
name: TwoPhotonSeries__field_of_view
|
|
description: Width, height and depth of image, or imaged area, in meters.
|
|
attributes:
|
|
name:
|
|
name: name
|
|
ifabsent: string(field_of_view)
|
|
range: string
|
|
required: true
|
|
equals_string: field_of_view
|
|
array:
|
|
name: array
|
|
range: TwoPhotonSeries__field_of_view__Array
|
|
TwoPhotonSeries__field_of_view__Array:
|
|
name: TwoPhotonSeries__field_of_view__Array
|
|
is_a: Arraylike
|
|
attributes:
|
|
width|height:
|
|
name: width|height
|
|
range: float32
|
|
required: false
|
|
minimum_cardinality: 2
|
|
maximum_cardinality: 2
|
|
width|height|depth:
|
|
name: width|height|depth
|
|
range: float32
|
|
required: false
|
|
minimum_cardinality: 3
|
|
maximum_cardinality: 3
|
|
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
|
|
RoiResponseSeries__data:
|
|
name: RoiResponseSeries__data
|
|
description: Signals from ROIs.
|
|
attributes:
|
|
name:
|
|
name: name
|
|
ifabsent: string(data)
|
|
range: string
|
|
required: true
|
|
equals_string: data
|
|
array:
|
|
name: array
|
|
range: RoiResponseSeries__data__Array
|
|
RoiResponseSeries__data__Array:
|
|
name: RoiResponseSeries__data__Array
|
|
is_a: Arraylike
|
|
attributes:
|
|
num_times:
|
|
name: num_times
|
|
range: numeric
|
|
required: true
|
|
num_ROIs:
|
|
name: num_ROIs
|
|
range: numeric
|
|
required: false
|
|
RoiResponseSeries__rois:
|
|
name: RoiResponseSeries__rois
|
|
description: DynamicTableRegion referencing into an ROITable containing information
|
|
on the ROIs stored in this timeseries.
|
|
is_a: DynamicTableRegion
|
|
attributes:
|
|
name:
|
|
name: name
|
|
ifabsent: string(rois)
|
|
range: string
|
|
required: true
|
|
equals_string: rois
|
|
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
|
|
PlaneSegmentation__image_mask:
|
|
name: PlaneSegmentation__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.
|
|
is_a: VectorData
|
|
attributes:
|
|
name:
|
|
name: name
|
|
ifabsent: string(image_mask)
|
|
range: string
|
|
required: true
|
|
equals_string: image_mask
|
|
PlaneSegmentation__pixel_mask_index:
|
|
name: PlaneSegmentation__pixel_mask_index
|
|
description: Index into pixel_mask.
|
|
is_a: VectorIndex
|
|
attributes:
|
|
name:
|
|
name: name
|
|
ifabsent: string(pixel_mask_index)
|
|
range: string
|
|
required: true
|
|
equals_string: pixel_mask_index
|
|
PlaneSegmentation__voxel_mask_index:
|
|
name: PlaneSegmentation__voxel_mask_index
|
|
description: Index into voxel_mask.
|
|
is_a: VectorIndex
|
|
attributes:
|
|
name:
|
|
name: name
|
|
ifabsent: string(voxel_mask_index)
|
|
range: string
|
|
required: true
|
|
equals_string: voxel_mask_index
|
|
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
|
|
ImagingPlane__manifold:
|
|
name: ImagingPlane__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.
|
|
attributes:
|
|
name:
|
|
name: name
|
|
ifabsent: string(manifold)
|
|
range: string
|
|
required: true
|
|
equals_string: manifold
|
|
conversion:
|
|
name: conversion
|
|
description: Scalar to multiply each element in data to convert it to the
|
|
specified 'unit'. If the data are stored in acquisition system units or
|
|
other units that require a conversion to be interpretable, multiply the
|
|
data by 'conversion' to convert the data to the specified 'unit'. e.g. if
|
|
the data acquisition system stores values in this object as pixels from
|
|
x = -500 to 499, y = -500 to 499 that correspond to a 2 m x 2 m range, then
|
|
the 'conversion' multiplier to get from raw data acquisition pixel units
|
|
to meters is 2/1000.
|
|
range: float32
|
|
unit:
|
|
name: unit
|
|
description: Base unit of measurement for working with the data. The default
|
|
value is 'meters'.
|
|
range: text
|
|
array:
|
|
name: array
|
|
range: ImagingPlane__manifold__Array
|
|
ImagingPlane__manifold__Array:
|
|
name: ImagingPlane__manifold__Array
|
|
is_a: Arraylike
|
|
attributes:
|
|
height:
|
|
name: height
|
|
range: float32
|
|
required: true
|
|
width:
|
|
name: width
|
|
range: float32
|
|
required: true
|
|
x, y, z:
|
|
name: x, y, z
|
|
range: float32
|
|
required: true
|
|
minimum_cardinality: 3
|
|
maximum_cardinality: 3
|
|
depth:
|
|
name: depth
|
|
range: float32
|
|
required: false
|
|
ImagingPlane__origin_coords:
|
|
name: ImagingPlane__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).
|
|
attributes:
|
|
name:
|
|
name: name
|
|
ifabsent: string(origin_coords)
|
|
range: string
|
|
required: true
|
|
equals_string: origin_coords
|
|
unit:
|
|
name: unit
|
|
description: Measurement units for origin_coords. The default value is 'meters'.
|
|
range: text
|
|
array:
|
|
name: array
|
|
range: ImagingPlane__origin_coords__Array
|
|
ImagingPlane__origin_coords__Array:
|
|
name: ImagingPlane__origin_coords__Array
|
|
is_a: Arraylike
|
|
attributes:
|
|
x, y:
|
|
name: x, y
|
|
range: float32
|
|
required: false
|
|
minimum_cardinality: 2
|
|
maximum_cardinality: 2
|
|
x, y, z:
|
|
name: x, y, z
|
|
range: float32
|
|
required: false
|
|
minimum_cardinality: 3
|
|
maximum_cardinality: 3
|
|
ImagingPlane__grid_spacing:
|
|
name: ImagingPlane__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.
|
|
attributes:
|
|
name:
|
|
name: name
|
|
ifabsent: string(grid_spacing)
|
|
range: string
|
|
required: true
|
|
equals_string: grid_spacing
|
|
unit:
|
|
name: unit
|
|
description: Measurement units for grid_spacing. The default value is 'meters'.
|
|
range: text
|
|
array:
|
|
name: array
|
|
range: ImagingPlane__grid_spacing__Array
|
|
ImagingPlane__grid_spacing__Array:
|
|
name: ImagingPlane__grid_spacing__Array
|
|
is_a: Arraylike
|
|
attributes:
|
|
x, y:
|
|
name: x, y
|
|
range: float32
|
|
required: false
|
|
minimum_cardinality: 2
|
|
maximum_cardinality: 2
|
|
x, y, z:
|
|
name: x, y, z
|
|
range: float32
|
|
required: false
|
|
minimum_cardinality: 3
|
|
maximum_cardinality: 3
|
|
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
|