aind_data_schema.imaging package#

Submodules#

aind_data_schema.imaging.acquisition module#

schema describing imaging acquisition

class aind_data_schema.imaging.acquisition.Acquisition(*, describedBy: str = 'https://raw.githubusercontent.com/AllenNeuralDynamics/aind-data-schema/main/src/aind_data_schema/imaging/acquisition.py', schema_version: str = '0.4.5', experimenter_full_name: List[str], specimen_id: str, subject_id: Optional[str] = None, instrument_id: str, session_start_time: datetime.datetime, session_end_time: datetime.datetime, session_type: Optional[str] = None, tiles: List[aind_data_schema.imaging.tile.AcquisitionTile], axes: List[aind_data_schema.imaging.acquisition.Axis], chamber_immersion: aind_data_schema.imaging.acquisition.Immersion, sample_immersion: Optional[aind_data_schema.imaging.acquisition.Immersion] = None, active_objectives: Optional[List[str]] = None, local_storage_directory: Optional[str] = None, external_storage_directory: Optional[str] = None, processing_steps: Optional[List[aind_data_schema.imaging.acquisition.ProcessingSteps]] = None, notes: Optional[str] = None)#

Bases: aind_data_schema.base.AindCoreModel

Description of an imaging acquisition session

active_objectives: Optional[List[str]]#
axes: List[aind_data_schema.imaging.acquisition.Axis]#
chamber_immersion: aind_data_schema.imaging.acquisition.Immersion#
describedBy: str#
experimenter_full_name: List[str]#
external_storage_directory: Optional[str]#
instrument_id: str#
local_storage_directory: Optional[str]#
notes: Optional[str]#
processing_steps: Optional[List[aind_data_schema.imaging.acquisition.ProcessingSteps]]#
sample_immersion: Optional[aind_data_schema.imaging.acquisition.Immersion]#
schema_version: str#
session_end_time: datetime.datetime#
session_start_time: datetime.datetime#
session_type: Optional[str]#
specimen_id: str#
subject_id: Optional[str]#
tiles: List[aind_data_schema.imaging.tile.AcquisitionTile]#
class aind_data_schema.imaging.acquisition.Axis(*, name: aind_data_schema.imaging.acquisition.AxisName, dimension: int, direction: aind_data_schema.imaging.acquisition.Direction, unit: aind_data_schema.device.SizeUnit = SizeUnit.UM)#

Bases: aind_data_schema.base.AindModel

Description of an image axis

dimension: int#
direction: aind_data_schema.imaging.acquisition.Direction#
static from_direction_code(code) List[aind_data_schema.imaging.acquisition.Axis]#

Convert direction codes like ‘RAS’ or ‘PLA’ into a set of axis objects

name: aind_data_schema.imaging.acquisition.AxisName#
unit: aind_data_schema.device.SizeUnit#
class aind_data_schema.imaging.acquisition.AxisName(value)#

Bases: enum.Enum

Image axis name

X = 'X'#
Y = 'Y'#
Z = 'Z'#
class aind_data_schema.imaging.acquisition.Direction(value)#

Bases: enum.Enum

Anatomical direction name

AP = 'Anterior_to_posterior'#
IS = 'Inferior_to_superior'#
LR = 'Left_to_right'#
OTHER = 'Other'#
PA = 'Posterior_to_anterior'#
RL = 'Right_to_left'#
SI = 'Superior_to_inferior'#
class aind_data_schema.imaging.acquisition.Immersion(*, medium: str, refractive_index: float)#

Bases: aind_data_schema.base.AindModel

Description of immersion media

medium: str#
refractive_index: float#
class aind_data_schema.imaging.acquisition.ProcessingSteps(*, channel_name: str, process_name: List[typing_extensions.Literal[Image importing, Image background subtraction, Image cell segmentation, Image destriping, Image thresholding, Image tile alignment, Image tile fusing, Image tile projection, File format conversion]])#

Bases: aind_data_schema.base.AindModel

Description of downstream processing steps

channel_name: str#
process_name: List[typing_extensions.Literal[Image importing, Image background subtraction, Image cell segmentation, Image destriping, Image thresholding, Image tile alignment, Image tile fusing, Image tile projection, File format conversion]]#

aind_data_schema.imaging.instrument module#

schema describing imaging instrument

class aind_data_schema.imaging.instrument.AdditionalImagingDevice(*, name: Optional[str] = None, serial_number: Optional[str] = None, manufacturer: Optional[aind_data_schema.device.Manufacturer] = None, model: Optional[str] = None, notes: Optional[str] = None, type: aind_data_schema.imaging.instrument.ImagingDeviceType)#

Bases: aind_data_schema.device.Device

Description of additional devices

type: aind_data_schema.imaging.instrument.ImagingDeviceType#
class aind_data_schema.imaging.instrument.CameraType(value)#

Bases: enum.Enum

Camera type name

CAMERA = 'Camera'#
OTHER = 'other'#
PMT = 'PMT'#
class aind_data_schema.imaging.instrument.Com(*, hardware_name: str, com_port: str)#

Bases: aind_data_schema.base.AindModel

Description of a communication system

com_port: str#
hardware_name: str#
class aind_data_schema.imaging.instrument.Cooling(value)#

Bases: enum.Enum

Cooling medium name

AIR = 'air'#
WATER = 'water'#
class aind_data_schema.imaging.instrument.Detector(*, name: Optional[str] = None, serial_number: Optional[str] = None, manufacturer: Optional[aind_data_schema.device.Manufacturer] = None, model: Optional[str] = None, notes: Optional[str] = None, type: aind_data_schema.imaging.instrument.CameraType, data_interface: aind_data_schema.device.DataInterface, cooling: aind_data_schema.imaging.instrument.Cooling)#

Bases: aind_data_schema.device.Device

Description of a detector device

cooling: aind_data_schema.imaging.instrument.Cooling#
data_interface: aind_data_schema.device.DataInterface#
type: aind_data_schema.imaging.instrument.CameraType#
class aind_data_schema.imaging.instrument.ImagingDeviceType(value)#

Bases: enum.Enum

Imaginge device type name

BEAM_EXPANDER = 'Beam expander'#
DIFFUSER = 'Diffuser'#
GALVO = 'Galvo'#
LASER_COMBINER = 'Laser combiner'#
LASER_COUPLER = 'Laser coupler'#
OBJECTIVE = 'Objective'#
OTHER = 'Other'#
PRISM = 'Prism'#
ROTATION_MOUNT = 'Rotation mount'#
SLIT = 'Slit'#
TUNABLE_LENS = 'Tunable lens'#
class aind_data_schema.imaging.instrument.ImagingInstrumentType(value)#

Bases: enum.Enum

Experiment type name

CONFOCAL = 'confocal'#
DISPIM = 'diSPIM'#
ECEPHYS = 'ecephys'#
EXASPIM = 'exaSPIM'#
MESOSPIM = 'mesoSPIM'#
OTHER = 'Other'#
SMARTSPIM = 'SmartSPIM'#
TWO_PHOTON = 'Two photon'#
class aind_data_schema.imaging.instrument.Immersion(value)#

Bases: enum.Enum

Immersion media name

AIR = 'air'#
MULTI = 'multi'#
OIL = 'oil'#
OTHER = 'other'#
WATER = 'water'#
class aind_data_schema.imaging.instrument.Instrument(*, describedBy: str = 'https://raw.githubusercontent.com/AllenNeuralDynamics/aind-data-schema/main/src/aind_data_schema/imaging/instrument.py', schema_version: str = '0.6.1', instrument_id: Optional[str] = None, instrument_type: aind_data_schema.imaging.instrument.ImagingInstrumentType, manufacturer: aind_data_schema.device.Manufacturer, temperature_control: Optional[bool] = None, humidity_control: Optional[bool] = None, optical_tables: List[aind_data_schema.imaging.instrument.OpticalTable] = None, objectives: types.ConstrainedListValue[aind_data_schema.imaging.instrument.Objective], detectors: Optional[types.ConstrainedListValue[aind_data_schema.imaging.instrument.Detector]] = None, light_sources: Optional[types.ConstrainedListValue[aind_data_schema.imaging.instrument.Lightsource]] = None, fluorescence_filters: Optional[types.ConstrainedListValue[aind_data_schema.device.Filter]] = None, motorized_stages: Optional[types.ConstrainedListValue[aind_data_schema.device.MotorizedStage]] = None, scanning_stages: Optional[types.ConstrainedListValue[aind_data_schema.imaging.instrument.ScanningStage]] = None, daqs: Optional[types.ConstrainedListValue[aind_data_schema.device.DAQDevice]] = None, additional_devices: Optional[types.ConstrainedListValue[aind_data_schema.imaging.instrument.AdditionalImagingDevice]] = None, calibration_date: Optional[datetime.date] = None, calibration_data: Optional[str] = None, com_ports: Optional[types.ConstrainedListValue[aind_data_schema.imaging.instrument.Com]] = None, notes: Optional[str] = None)#

Bases: aind_data_schema.base.AindCoreModel

Description of an instrument, which is a collection of devices

additional_devices: Optional[List[aind_data_schema.imaging.instrument.AdditionalImagingDevice]]#
calibration_data: Optional[str]#
calibration_date: Optional[datetime.date]#
com_ports: Optional[List[aind_data_schema.imaging.instrument.Com]]#
daqs: Optional[List[aind_data_schema.device.DAQDevice]]#
describedBy: str#
detectors: Optional[List[aind_data_schema.imaging.instrument.Detector]]#
fluorescence_filters: Optional[List[aind_data_schema.device.Filter]]#
humidity_control: Optional[bool]#
instrument_id: Optional[str]#
instrument_type: aind_data_schema.imaging.instrument.ImagingInstrumentType#
light_sources: Optional[List[aind_data_schema.imaging.instrument.Lightsource]]#
manufacturer: aind_data_schema.device.Manufacturer#
motorized_stages: Optional[List[aind_data_schema.device.MotorizedStage]]#
notes: Optional[str]#
objectives: List[aind_data_schema.imaging.instrument.Objective]#
optical_tables: List[aind_data_schema.imaging.instrument.OpticalTable]#
scanning_stages: Optional[List[aind_data_schema.imaging.instrument.ScanningStage]]#
schema_version: str#
temperature_control: Optional[bool]#
class aind_data_schema.imaging.instrument.Lightsource(*, name: Optional[str] = None, serial_number: Optional[str] = None, manufacturer: Optional[aind_data_schema.device.Manufacturer] = None, model: Optional[str] = None, notes: Optional[str] = None, type: aind_data_schema.imaging.instrument.LightsourceType, coupling: aind_data_schema.device.Coupling, wavelength: aind_data_schema.imaging.instrument.ConstrainedFloatValue, wavelength_unit: aind_data_schema.device.SizeUnit = SizeUnit.NM, max_power: float, power_unit: aind_data_schema.device.PowerUnit = PowerUnit.MW)#

Bases: aind_data_schema.device.Device

Description of lightsource device

coupling: aind_data_schema.device.Coupling#
max_power: float#
power_unit: aind_data_schema.device.PowerUnit#
type: aind_data_schema.imaging.instrument.LightsourceType#
wavelength: float#
wavelength_unit: aind_data_schema.device.SizeUnit#
class aind_data_schema.imaging.instrument.LightsourceType(value)#

Bases: enum.Enum

Light source type name

LAMP = 'lamp'#
LASER = 'laser'#
LED = 'LED'#
OTHER = 'other'#
class aind_data_schema.imaging.instrument.Objective(*, name: Optional[str] = None, serial_number: Optional[str] = None, manufacturer: Optional[aind_data_schema.device.Manufacturer] = None, model: Optional[str] = None, notes: Optional[str] = None, numerical_aperture: float, magnification: float, immersion: aind_data_schema.imaging.instrument.Immersion)#

Bases: aind_data_schema.device.Device

Description of an objective device

immersion: aind_data_schema.imaging.instrument.Immersion#
magnification: float#
numerical_aperture: float#
class aind_data_schema.imaging.instrument.OpticalTable(*, name: Optional[str] = None, serial_number: Optional[str] = None, manufacturer: Optional[aind_data_schema.device.Manufacturer] = None, model: Optional[str] = None, notes: Optional[str] = None, length: Optional[aind_data_schema.imaging.instrument.ConstrainedFloatValue] = None, width: Optional[aind_data_schema.imaging.instrument.ConstrainedFloatValue] = None, table_size_unit: aind_data_schema.device.SizeUnit = SizeUnit.IN, vibration_control: Optional[bool] = None)#

Bases: aind_data_schema.device.Device

Description of Optical Table

length: Optional[float]#
table_size_unit: aind_data_schema.device.SizeUnit#
vibration_control: Optional[bool]#
width: Optional[float]#
class aind_data_schema.imaging.instrument.ScanningStage(*, name: Optional[str] = None, serial_number: Optional[str] = None, manufacturer: Optional[aind_data_schema.device.Manufacturer] = None, model: Optional[str] = None, notes: Optional[str] = None, travel: float, travel_unit: aind_data_schema.device.SizeUnit = SizeUnit.MM, stage_axis_direction: aind_data_schema.imaging.instrument.StageAxisDirection, stage_axis_name: aind_data_schema.imaging.instrument.StageAxisName)#

Bases: aind_data_schema.device.MotorizedStage

Description of a scanning motorized stages

stage_axis_direction: aind_data_schema.imaging.instrument.StageAxisDirection#
stage_axis_name: aind_data_schema.imaging.instrument.StageAxisName#
class aind_data_schema.imaging.instrument.StageAxisDirection(value)#

Bases: enum.Enum

Direction of motion for motorized stage

DETECTION_AXIS = 'Detection axis'#
ILLUMINATION_AXIS = 'Illumination axis'#
PERPENDICULAR_AXIS = 'Perpendicular axis'#
class aind_data_schema.imaging.instrument.StageAxisName(value)#

Bases: enum.Enum

Axis names for motorized stages as configured by hardware

X = 'X'#
Y = 'Y'#
Z = 'Z'#

aind_data_schema.imaging.mri_session module#

schema for MRI Scan

class aind_data_schema.imaging.mri_session.MagneticStrength(value)#

Bases: enum.Enum

Strength of magnet

MRI_14T = 14#
MRI_7T = 7#
class aind_data_schema.imaging.mri_session.MriScanSequence(value)#

Bases: enum.Enum

MRI scan sequence

RARE = 'RARE'#
class aind_data_schema.imaging.mri_session.MriSession(*, describedBy: str = 'https://raw.githubusercontent.com/AllenNeuralDynamics/aind-data-schema/main/src/aind_data_schema/imaging/mri_session.py', schema_version: str = '0.0.3', subject_id: str, session_start_time: datetime.datetime, session_end_time: Optional[datetime.datetime] = None, experimenter_full_name: List[str], protocol_id: str, iacuc_protocol: Optional[str] = None, animal_weight_prior: Optional[float] = None, animal_weight_post: Optional[float] = None, weight_unit: aind_data_schema.procedures.WeightUnit = WeightUnit.G, anaesthesia: Optional[aind_data_schema.procedures.Anaesthetic] = None, scan_sequence: aind_data_schema.imaging.mri_session.MriScanSequence, mri_scanner: aind_data_schema.imaging.mri_session.Scanner, axes: List[aind_data_schema.imaging.acquisition.Axis], voxel_sizes: aind_data_schema.imaging.tile.Scale3dTransform, notes: Optional[str] = None)#

Bases: aind_data_schema.base.AindCoreModel

Description of an MRI scan

anaesthesia: Optional[aind_data_schema.procedures.Anaesthetic]#
animal_weight_post: Optional[float]#
animal_weight_prior: Optional[float]#
axes: List[aind_data_schema.imaging.acquisition.Axis]#
describedBy: str#
experimenter_full_name: List[str]#
iacuc_protocol: Optional[str]#
mri_scanner: aind_data_schema.imaging.mri_session.Scanner#
notes: Optional[str]#
protocol_id: str#
scan_sequence: aind_data_schema.imaging.mri_session.MriScanSequence#
schema_version: str#
session_end_time: Optional[datetime.datetime]#
session_start_time: datetime.datetime#
subject_id: str#
voxel_sizes: aind_data_schema.imaging.tile.Scale3dTransform#
weight_unit: aind_data_schema.procedures.WeightUnit#
class aind_data_schema.imaging.mri_session.Scanner(*, name: Optional[str] = None, serial_number: Optional[str] = None, manufacturer: Optional[aind_data_schema.device.Manufacturer] = None, model: Optional[str] = None, notes: Optional[str] = None, scanner_location: aind_data_schema.imaging.mri_session.ScannerLocation, magnetic_strength: aind_data_schema.imaging.mri_session.MagneticStrength, magnetic_strength_unit: str = 'T')#

Bases: aind_data_schema.device.Device

Description of a MRI Scanner

magnetic_strength: aind_data_schema.imaging.mri_session.MagneticStrength#
magnetic_strength_unit: str#
scanner_location: aind_data_schema.imaging.mri_session.ScannerLocation#
class aind_data_schema.imaging.mri_session.ScannerLocation(value)#

Bases: enum.Enum

location of scanner

FRED_HUTCH = 'Fred Hutch'#
UW_SLU = 'UW SLU'#

aind_data_schema.imaging.tile module#

Models related to imaging tiles and their transformations

class aind_data_schema.imaging.tile.AcquisitionTile(*, coordinate_transformations: List[Union[aind_data_schema.imaging.tile.Scale3dTransform, aind_data_schema.imaging.tile.Translation3dTransform, aind_data_schema.imaging.tile.Rotation3dTransform, aind_data_schema.imaging.tile.Affine3dTransform]], file_name: Optional[str] = None, channel: aind_data_schema.imaging.tile.Channel, notes: Optional[str] = None, imaging_angle: int = 0, imaging_angle_unit: aind_data_schema.device.AngleUnit = AngleUnit.DEG)#

Bases: aind_data_schema.imaging.tile.Tile

Description of acquisition tile

channel: aind_data_schema.imaging.tile.Channel#
imaging_angle: int#
imaging_angle_unit: aind_data_schema.device.AngleUnit#
notes: Optional[str]#
class aind_data_schema.imaging.tile.Affine3dTransform(*, type: str = 'affine', affine_transform: types.ConstrainedListValue[float])#

Bases: aind_data_schema.imaging.tile.CoordinateTransform

Values to be vector-added to a 3D position. Often needed to specify a Tile’s origin.

affine_transform: types.ConstrainedListValue[float]#
type: str#
class aind_data_schema.imaging.tile.Channel(*, channel_name: str, laser_wavelength: aind_data_schema.imaging.tile.ConstrainedIntValue, laser_wavelength_unit: aind_data_schema.device.SizeUnit = SizeUnit.NM, laser_power: aind_data_schema.imaging.tile.ConstrainedFloatValue, laser_power_unit: aind_data_schema.device.PowerUnit = PowerUnit.MW, filter_wheel_index: int)#

Bases: aind_data_schema.base.AindModel

Description of a channel

channel_name: str#
filter_wheel_index: int#
laser_power: float#
laser_power_unit: aind_data_schema.device.PowerUnit#
laser_wavelength: int#
laser_wavelength_unit: aind_data_schema.device.SizeUnit#
class aind_data_schema.imaging.tile.CoordinateTransform(*, type: str)#

Bases: aind_data_schema.base.AindModel

Generic base class for coordinate transform subtypes

type: str#
class aind_data_schema.imaging.tile.Rotation3dTransform(*, type: str = 'rotation', rotation: types.ConstrainedListValue[float])#

Bases: aind_data_schema.imaging.tile.CoordinateTransform

Values to be vector-added to a 3D position. Often needed to specify a Tile’s origin.

rotation: types.ConstrainedListValue[float]#
type: str#
class aind_data_schema.imaging.tile.Scale3dTransform(*, type: str = 'scale', scale: types.ConstrainedListValue[float])#

Bases: aind_data_schema.imaging.tile.CoordinateTransform

Values to be vector-multiplied with a 3D position, equivalent to the diagonals of a 3x3 transform matrix. Represents voxel spacing if used as the first applied coordinate transform.

scale: types.ConstrainedListValue[float]#
type: str#
class aind_data_schema.imaging.tile.Tile(*, coordinate_transformations: List[Union[aind_data_schema.imaging.tile.Scale3dTransform, aind_data_schema.imaging.tile.Translation3dTransform, aind_data_schema.imaging.tile.Rotation3dTransform, aind_data_schema.imaging.tile.Affine3dTransform]], file_name: Optional[str] = None)#

Bases: aind_data_schema.base.AindModel

Description of an image tile

coordinate_transformations: List[Union[aind_data_schema.imaging.tile.Scale3dTransform, aind_data_schema.imaging.tile.Translation3dTransform, aind_data_schema.imaging.tile.Rotation3dTransform, aind_data_schema.imaging.tile.Affine3dTransform]]#
file_name: Optional[str]#
class aind_data_schema.imaging.tile.Translation3dTransform(*, type: str = 'translation', translation: types.ConstrainedListValue[float])#

Bases: aind_data_schema.imaging.tile.CoordinateTransform

Values to be vector-added to a 3D position. Often needed to specify a Tile’s origin.

translation: types.ConstrainedListValue[float]#
type: str#

Module contents#

imports for imaging subpackage