aind_data_schema package#

Subpackages#

Submodules#

aind_data_schema.base module#

generic base class with supporting validators and fields for basic AIND schema

class aind_data_schema.base.AindCoreModel(*, describedBy: str, schema_version: str)#

Bases: aind_data_schema.base.AindModel

Generic base class to hold common fields/validators/etc for all basic AIND schema

classmethod default_filename()#

Returns standard filename in snakecase

describedBy: str#
schema_version: str#
write_standard_file(prefix=None)#

Writes schema to standard json file :param prefix: optional str for intended filepath with extra naming convention

class aind_data_schema.base.AindModel#

Bases: pydantic.main.BaseModel

BaseModel that disallows extra fields

class aind_data_schema.base.BaseName(*, name: str, abbreviation: Optional[str] = None)#

Bases: aind_data_schema.base.AindModel

A simple model associating a name with an abbreviation

abbreviation: Optional[str]#
name: str#
class aind_data_schema.base.BaseNameEnumMeta(cls, bases, classdict)#

Bases: enum.EnumMeta

Allows to create complicated enum based on attribute name.

class aind_data_schema.base.PIDName(*, name: aind_data_schema.base.BaseName, registry: aind_data_schema.base.BaseName, registry_identifier: str)#

Bases: aind_data_schema.base.AindModel

Model for associate a name with a persistent identifier (PID), the registry for that PID, and abbreviation for that registry

name: aind_data_schema.base.BaseName#
registry: aind_data_schema.base.BaseName#
registry_identifier: str#
aind_data_schema.base.build_described_by(cls, base_url='https://raw.githubusercontent.com/AllenNeuralDynamics/aind-data-schema/main/src/')#

construct a pydantic Field that refers to a specific file

aind_data_schema.data_description module#

Generic metadata classes for data

class aind_data_schema.data_description.DataDescription(label=None, *, describedBy: str = 'https://raw.githubusercontent.com/AllenNeuralDynamics/aind-data-schema/main/src/aind_data_schema/data_description.py', schema_version: str = '0.6.3', license: str = 'CC-BY-4.0', creation_time: datetime.time, creation_date: datetime.date, name: Optional[str] = None, institution: aind_data_schema.data_description.Institution, funding_source: List[aind_data_schema.data_description.Funding], data_level: aind_data_schema.data_description.DataLevel, group: Optional[aind_data_schema.data_description.Group] = None, investigators: List[str], project_name: Optional[str] = None, project_id: Optional[str] = None, restrictions: Optional[str] = None, modality: List[aind_data_schema.data_description.Modality], experiment_type: aind_data_schema.data_description.ExperimentType, subject_id: aind_data_schema.data_description.ConstrainedStrValue, related_data: Optional[List[aind_data_schema.data_description.RelatedData]] = [], data_summary: Optional[str] = None)#

Bases: aind_data_schema.base.AindCoreModel

Description of a logical collection of data files

creation_date: datetime.date#
creation_time: datetime.time#
data_level: aind_data_schema.data_description.DataLevel#
data_summary: Optional[str]#
experiment_type: aind_data_schema.data_description.ExperimentType#
funding_source: List[aind_data_schema.data_description.Funding]#
group: Optional[aind_data_schema.data_description.Group]#
institution: aind_data_schema.data_description.Institution#
investigators: List[str]#
license: str#
modality: List[aind_data_schema.data_description.Modality]#
name: Optional[str]#
classmethod parse_name(name)#

Decompose a DataDescription name string into component parts

project_id: Optional[str]#
project_name: Optional[str]#
related_data: Optional[List[aind_data_schema.data_description.RelatedData]]#
restrictions: Optional[str]#
schema_version: str#
subject_id: str#
class aind_data_schema.data_description.DataLevel(value)#

Bases: enum.Enum

Data level name

DERIVED_DATA = 'derived data'#
RAW_DATA = 'raw data'#
class aind_data_schema.data_description.DataRegex(value)#

Bases: enum.Enum

regular expression patterns for different kinds of data and their properties

DATA = '^(?P<label>.+?)_(?P<c_date>\\d{4}-\\d{2}-\\d{2})_(?P<c_time>\\d{2}-\\d{2}-\\d{2})$'#
DERIVED_DATA = '^(?P<input>.+?_\\d{4}-\\d{2}-\\d{2}_\\d{2}-\\d{2}-\\d{2})_(?P<process_name>.+?)_(?P<c_date>\\d{4}-\\d{2}-\\d{2})_(?P<c_time>\\d{2}-\\d{2}-\\d{2})'#
NO_UNDERSCORES = '^[^_]+$'#
RAW_DATA = '^(?P<experiment_type>.+?)_(?P<subject_id>.+?)_(?P<c_date>\\d{4}-\\d{2}-\\d{2})_(?P<c_time>\\d{2}-\\d{2}-\\d{2})$'#
class aind_data_schema.data_description.DerivedDataDescription(process_name, *, describedBy: str = 'https://raw.githubusercontent.com/AllenNeuralDynamics/aind-data-schema/main/src/aind_data_schema/data_description.py', schema_version: str = '0.6.3', license: str = 'CC-BY-4.0', creation_time: datetime.time, creation_date: datetime.date, name: Optional[str] = None, institution: aind_data_schema.data_description.Institution, funding_source: List[aind_data_schema.data_description.Funding], data_level: aind_data_schema.data_description.DataLevel = DataLevel.DERIVED_DATA, group: Optional[aind_data_schema.data_description.Group] = None, investigators: List[str], project_name: Optional[str] = None, project_id: Optional[str] = None, restrictions: Optional[str] = None, modality: List[aind_data_schema.data_description.Modality], experiment_type: aind_data_schema.data_description.ExperimentType, subject_id: aind_data_schema.data_description.ConstrainedStrValue, related_data: Optional[List[aind_data_schema.data_description.RelatedData]] = [], data_summary: Optional[str] = None, input_data_name: str)#

Bases: aind_data_schema.data_description.DataDescription

A logical collection of data files derived via processing

data_level: aind_data_schema.data_description.DataLevel#
input_data_name: str#
classmethod parse_name(name)#

decompose DerivedDataDescription name into parts

class aind_data_schema.data_description.ExperimentType(value)#

Bases: enum.Enum

Abbreviated name for data collection technique

CONFOCAL = 'confocal'#
DISPIM = 'diSPIM'#
ECEPHYS = 'ecephys'#
EXASPIM = 'exaSPIM'#
FIP = 'FIP'#
FMOST = 'fMOST'#
HSFP = 'HSFP'#
MERFISH = 'merfish'#
MESOSPIM = 'mesoSPIM'#
MRI = 'MRI'#
OTHER = 'Other'#
POPHYS = 'pophys'#
SLAP = 'slap'#
SMARTSPIM = 'SmartSPIM'#
class aind_data_schema.data_description.Funding(*, funder: str, grant_number: Optional[str] = None, fundee: Optional[str] = None)#

Bases: aind_data_schema.base.AindModel

Description of funding sources

fundee: Optional[str]#
funder: str#
grant_number: Optional[str]#
class aind_data_schema.data_description.Group(value)#

Bases: enum.Enum

Data collection group name

BEHAVIOR = 'behavior'#
EPHYS = 'ephys'#
MSMA = 'MSMA'#
OPHYS = 'ophys'#
class aind_data_schema.data_description.Institution(value, *args, **kw)#

Bases: enum.Enum

Institution name

AIBS = PIDName(name=BaseName(name='Allen Institute for Brain Science', abbreviation='AIBS'), registry=BaseName(name='Research Organization Registry', abbreviation='ROR'), registry_identifier='00dcv1019')#
AIND = PIDName(name=BaseName(name='Allen Institute for Neural Dynamics', abbreviation='AIND'), registry=BaseName(name='Research Organization Registry', abbreviation='ROR'), registry_identifier='04szwah67')#
COLUMBIA = PIDName(name=BaseName(name='Columbia University', abbreviation='Columbia'), registry=BaseName(name='Research Organization Registry', abbreviation='ROR'), registry_identifier='00hj8s172')#
HUST = PIDName(name=BaseName(name='Huazhong University of Science and Technology', abbreviation='HUST'), registry=BaseName(name='Research Organization Registry', abbreviation='ROR'), registry_identifier='00p991c53')#
NYU = PIDName(name=BaseName(name='New York University', abbreviation='NYU'), registry=BaseName(name='Research Organization Registry', abbreviation='ROR'), registry_identifier='0190ak572')#
class aind_data_schema.data_description.Modality(value, *args, **kw)#

Bases: enum.Enum

Data collection modality name

CONFOCAL = BaseName(name='Confocal microscopy', abbreviation='confocal')#
DISPIM = BaseName(name='Dual inverted selective plane illumination microscopy', abbreviation='diSPIM')#
ECEPHYS = BaseName(name='Extracellular electrophysiology', abbreviation='ecephys')#
EPHYS = BaseName(name='Electrophysiology', abbreviation='ephys')#
EXASPIM = BaseName(name='Expansion-assisted selective plane illumination microscopy', abbreviation='exaSPIM')#
FIB = BaseName(name='Fiber photometry', abbreviation='fib')#
FIP = BaseName(name='Frame-projected independent-fiber photometry', abbreviation='FIP')#
FISH = BaseName(name='Fluorescence in situ hybridization', abbreviation='fish')#
FMOST = BaseName(name='Fluorescence micro-optical sectioning tomography', abbreviation='fMOST')#
HSFP = BaseName(name='Hyperspectral fiber photometry', abbreviation='HSFP')#
ICEPHYS = BaseName(name='Intracellular electrophysiology', abbreviation='icephys')#
MERFISH = BaseName(name='Multiplexed error-robust fluorescence in situ hybridization', abbreviation='merfish')#
MESOSPIM = BaseName(name='Mesoscale selective plane illumination microscopy', abbreviation='mesoSPIM')#
MRI = BaseName(name='Magnetic resonance imaging', abbreviation='MRI')#
OPHYS = BaseName(name='Optical physiology', abbreviation='ophys')#
POPHYS = BaseName(name='Planar optical physiology', abbreviation='pophys')#
SLAP = BaseName(name='Scanned line projection', abbreviation='slap')#
SMARTSPIM = BaseName(name='Smart selective plane illumination microscopy', abbreviation='SmartSPIM')#
SPIM = BaseName(name='Selective plane illumination microscopy', abbreviation='SPIM')#
class aind_data_schema.data_description.RawDataDescription(experiment_type, subject_id, *, describedBy: str = 'https://raw.githubusercontent.com/AllenNeuralDynamics/aind-data-schema/main/src/aind_data_schema/data_description.py', schema_version: str = '0.6.3', license: str = 'CC-BY-4.0', creation_time: datetime.time, creation_date: datetime.date, name: Optional[str] = None, institution: aind_data_schema.data_description.Institution, funding_source: List[aind_data_schema.data_description.Funding], data_level: aind_data_schema.data_description.DataLevel = DataLevel.RAW_DATA, group: Optional[aind_data_schema.data_description.Group] = None, investigators: List[str], project_name: Optional[str] = None, project_id: Optional[str] = None, restrictions: Optional[str] = None, modality: List[aind_data_schema.data_description.Modality], related_data: Optional[List[aind_data_schema.data_description.RelatedData]] = [], data_summary: Optional[str] = None)#

Bases: aind_data_schema.data_description.DataDescription

A logical collection of data files as acquired from a rig or instrument

data_level: aind_data_schema.data_description.DataLevel#
classmethod parse_name(name)#

Decompose raw data description name into component parts

class aind_data_schema.data_description.RegexParts(value)#

Bases: enum.Enum

regular expression components to be re-used elsewhere

DATE = '\\d{4}-\\d{2}-\\d{2}'#
TIME = '\\d{2}-\\d{2}-\\d{2}'#
class aind_data_schema.data_description.RelatedData(*, related_data_path: str, relation: str)#

Bases: aind_data_schema.base.AindModel

Description of related data asset

related_data_path: str#
relation: str#
aind_data_schema.data_description.build_data_name(label, creation_date, creation_time)#

Construct a valid data description name

aind_data_schema.data_description.datetime_from_name_string(d, t)#

Take date and time strings, generate date and time objects

aind_data_schema.data_description.datetime_to_name_string(d, t)#

Take a date and time object, format it a as string

aind_data_schema.device module#

schema for various Devices

class aind_data_schema.device.AngleUnit(value)#

Bases: enum.Enum

orientation units

DEG = 'degree'#
class aind_data_schema.device.Camera(*, name: Optional[str] = None, serial_number: Optional[str] = None, manufacturer: typing_extensions.Literal[Allied, Basler, Edmund Optics, FLIR, Thorlabs, Other], model: Optional[str] = None, notes: Optional[str] = None, data_interface: aind_data_schema.device.DataInterface, computer_name: str, max_frame_rate: float, frame_rate_unit: aind_data_schema.device.FrequencyUnit = FrequencyUnit.HZ, pixel_width: int, pixel_height: int, size_unit: aind_data_schema.device.SizeUnit = SizeUnit.PX, chroma: aind_data_schema.device.CameraChroma, sensor_format: Optional[str] = None, format_unit: Optional[str] = None, recording_software: Optional[str] = None)#

Bases: aind_data_schema.device.Device

Device that acquires images and streams them to a computer

chroma: aind_data_schema.device.CameraChroma#
computer_name: str#
data_interface: aind_data_schema.device.DataInterface#
format_unit: Optional[str]#
frame_rate_unit: aind_data_schema.device.FrequencyUnit#
manufacturer: typing_extensions.Literal[Allied, Basler, Edmund Optics, FLIR, Thorlabs, Other]#
max_frame_rate: float#
pixel_height: int#
pixel_width: int#
recording_software: Optional[str]#
sensor_format: Optional[str]#
size_unit: aind_data_schema.device.SizeUnit#
class aind_data_schema.device.CameraAssembly(*, camera_assembly_name: str, camera_target: aind_data_schema.device.CameraTarget, camera: aind_data_schema.device.Camera, lens: aind_data_schema.device.Lens, filter: Optional[aind_data_schema.device.Filter] = None, position: Optional[aind_data_schema.device.RelativePosition] = None)#

Bases: aind_data_schema.base.AindModel

Named assembly of a camera and lens (and optionally a filter)

camera: aind_data_schema.device.Camera#
camera_assembly_name: str#
camera_target: aind_data_schema.device.CameraTarget#
filter: Optional[aind_data_schema.device.Filter]#
lens: aind_data_schema.device.Lens#
position: Optional[aind_data_schema.device.RelativePosition]#
class aind_data_schema.device.CameraChroma(value)#

Bases: enum.Enum

Color vs. black & white

BW = 'Monochrome'#
COLOR = 'Color'#
class aind_data_schema.device.CameraTarget(value)#

Bases: enum.Enum

Target of camera

BODY = 'Body'#
BOTTOM = 'Bottom'#
EYE = 'Eye'#
FACE = 'Face'#
OTHER = 'Other'#
SIDE = 'Side'#
TONGUE = 'Tongue'#
class aind_data_schema.device.Coordinates3d(*, x: float, y: float, z: float, unit: aind_data_schema.device.SizeUnit = SizeUnit.UM)#

Bases: aind_data_schema.base.AindModel

Coordinates in a 3D grid

unit: aind_data_schema.device.SizeUnit#
x: float#
y: float#
z: float#
class aind_data_schema.device.Coupling(value)#

Bases: enum.Enum

Laser coupling type

FREE_SPACE = 'Free-space'#
MMF = 'Multi-mode fiber'#
OTHER = 'Other'#
SMF = 'Single-mode fiber'#
class aind_data_schema.device.DAQChannel(*, channel_name: str, device_name: str, channel_type: aind_data_schema.device.DaqChannelType, port: Optional[int] = None, channel_index: Optional[int] = None, sample_rate: Optional[float] = None, sample_rate_unit: aind_data_schema.device.FrequencyUnit = FrequencyUnit.HZ, event_based_sampling: Optional[bool] = False)#

Bases: aind_data_schema.base.AindModel

Named input or output channel on a DAQ device

channel_index: Optional[int]#
channel_name: str#
channel_type: aind_data_schema.device.DaqChannelType#
device_name: str#
event_based_sampling: Optional[bool]#
port: Optional[int]#
sample_rate: Optional[float]#
sample_rate_unit: aind_data_schema.device.FrequencyUnit#
class aind_data_schema.device.DAQDevice(*, name: Optional[str] = None, serial_number: Optional[str] = None, manufacturer: typing_extensions.Literal[National Instruments, IMEC, OEPS, Other], model: Optional[str] = None, notes: Optional[str] = None, data_interface: aind_data_schema.device.DataInterface, computer_name: str, channels: Optional[List[aind_data_schema.device.DAQChannel]] = None)#

Bases: aind_data_schema.device.Device

Data acquisition device containing multiple I/O channels

channels: Optional[List[aind_data_schema.device.DAQChannel]]#
computer_name: str#
data_interface: aind_data_schema.device.DataInterface#
manufacturer: typing_extensions.Literal[National Instruments, IMEC, OEPS, Other]#
class aind_data_schema.device.DaqChannelType(value)#

Bases: enum.Enum

DAQ Channel type

AI = 'Analog Input'#
AO = 'Analog Output'#
DI = 'Digital Input'#
DO = 'Digital Output'#
class aind_data_schema.device.DataInterface(value)#

Bases: enum.Enum

Connection between a device and a PC

COAX = 'Coax'#
ETH = 'Ethernet'#
OTHER = 'Other'#
PCIE = 'PCIe'#
PXI = 'PXI'#
USB = 'USB'#
class aind_data_schema.device.Device(*, 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)#

Bases: aind_data_schema.base.AindModel

Generic device

manufacturer: Optional[aind_data_schema.device.Manufacturer]#
model: Optional[str]#
name: Optional[str]#
notes: Optional[str]#
serial_number: Optional[str]#
class aind_data_schema.device.Disc(*, 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, surface_material: Optional[str] = None, date_surface_replaced: Optional[datetime.datetime] = None, platform_type: str = 'Disc', radius: aind_data_schema.device.ConstrainedFloatValue, radius_unit: aind_data_schema.device.SizeUnit = SizeUnit.CM)#

Bases: aind_data_schema.device.MousePlatform

Description of a running disc

platform_type: str#
radius: float#
radius_unit: aind_data_schema.device.SizeUnit#
class aind_data_schema.device.Filter(*, name: Optional[str] = None, serial_number: Optional[str] = None, manufacturer: typing_extensions.Literal[Edmund Optics, Chroma, Semrock, Thorlabs, Other], model: Optional[str] = None, notes: Optional[str] = None, filter_type: aind_data_schema.device.FilterType, diameter: Optional[float] = None, diameter_unit: aind_data_schema.device.SizeUnit = SizeUnit.MM, thickness: Optional[aind_data_schema.device.ConstrainedFloatValue] = None, thickness_unit: aind_data_schema.device.SizeUnit = SizeUnit.MM, filter_wheel_index: Optional[int] = None, cut_off_wavelength: Optional[int] = None, cut_off_wavelength_unit: aind_data_schema.device.SizeUnit = SizeUnit.NM, cut_on_wavelength: Optional[int] = None, cut_on_wavelength_unit: aind_data_schema.device.SizeUnit = SizeUnit.NM, description: Optional[str] = None)#

Bases: aind_data_schema.device.Device

Filter used in a light path

cut_off_wavelength: Optional[int]#
cut_off_wavelength_unit: aind_data_schema.device.SizeUnit#
cut_on_wavelength: Optional[int]#
cut_on_wavelength_unit: aind_data_schema.device.SizeUnit#
description: Optional[str]#
diameter: Optional[float]#
diameter_unit: aind_data_schema.device.SizeUnit#
filter_type: aind_data_schema.device.FilterType#
filter_wheel_index: Optional[int]#
manufacturer: typing_extensions.Literal[Edmund Optics, Chroma, Semrock, Thorlabs, Other]#
thickness: Optional[float]#
thickness_unit: aind_data_schema.device.SizeUnit#
class aind_data_schema.device.FilterSize(value)#

Bases: enum.Enum

Filter size value

FILTER_SIZE_25 = 25#
FILTER_SIZE_32 = 32#
class aind_data_schema.device.FilterType(value)#

Bases: enum.Enum

Filter type

BANDPASS = 'Band pass'#
DICHROIC = 'Dichroic'#
LONGPASS = 'Long pass'#
MULTIBAND = 'Multiband'#
ND = 'Neutral density'#
NOTCH = 'Notch'#
SHORTPASS = 'Short pass'#
class aind_data_schema.device.FrequencyUnit(value)#

Bases: enum.Enum

Frequency units

HZ = 'Hertz'#
class aind_data_schema.device.HarpDevice(*, name: Optional[str] = None, serial_number: Optional[str] = None, manufacturer: aind_data_schema.device.Manufacturer = Manufacturer.OEPS, model: Optional[str] = None, notes: Optional[str] = None, data_interface: aind_data_schema.device.DataInterface = 'USB', computer_name: str, channels: Optional[List[aind_data_schema.device.DAQChannel]] = None, harp_device_type: aind_data_schema.device.HarpDeviceType, harp_device_version: str)#

Bases: aind_data_schema.device.DAQDevice

DAQ that uses the Harp protocol for synchronization and data transmission

data_interface: aind_data_schema.device.DataInterface#
harp_device_type: aind_data_schema.device.HarpDeviceType#
harp_device_version: str#
manufacturer: aind_data_schema.device.Manufacturer#
class aind_data_schema.device.HarpDeviceType(value)#

Bases: enum.Enum

Harp device type

BEHAVIOR = 'Behavior'#
CAMERA_CONTROLLER = 'Camera Controller'#
INPUT_EXPANDER = 'Input Expander'#
LOAD_CELLS = 'Load Cells'#
SOUND_BOARD = 'Sound Board'#
TIMESTAMP_GENERATOR = 'Timestamp Generator'#
class aind_data_schema.device.Laser(*, name: Optional[str] = None, serial_number: Optional[str] = None, manufacturer: typing_extensions.Literal[Coherent Scientific, Hamamatsu, Oxxius, Quantifi, Other], model: Optional[str] = None, notes: Optional[str] = None, wavelength: int, wavelength_unit: aind_data_schema.device.SizeUnit = SizeUnit.NM, maximum_power: Optional[float] = None, power_unit: aind_data_schema.device.PowerUnit = PowerUnit.MW, coupling: Optional[aind_data_schema.device.Coupling] = None, coupling_efficiency: Optional[aind_data_schema.device.ConstrainedFloatValue] = None, coupling_efficiency_unit: Optional[str] = 'percent', item_number: Optional[str] = None, calibration_data: Optional[str] = None, calibration_date: Optional[datetime.datetime] = None)#

Bases: aind_data_schema.device.Device

Laser module with a specific wavelength (may be a sub-component of a larger assembly)

calibration_data: Optional[str]#
calibration_date: Optional[datetime.datetime]#
coupling: Optional[aind_data_schema.device.Coupling]#
coupling_efficiency: Optional[float]#
coupling_efficiency_unit: Optional[str]#
item_number: Optional[str]#
manufacturer: typing_extensions.Literal[Coherent Scientific, Hamamatsu, Oxxius, Quantifi, Other]#
maximum_power: Optional[float]#
power_unit: aind_data_schema.device.PowerUnit#
wavelength: int#
wavelength_unit: aind_data_schema.device.SizeUnit#
class aind_data_schema.device.Lens(*, name: Optional[str] = None, serial_number: Optional[str] = None, manufacturer: typing_extensions.Literal[Edmund Optics, Thorlabs, Other], model: Optional[str] = None, notes: Optional[str] = None, focal_length: Optional[float] = None, focal_length_unit: aind_data_schema.device.SizeUnit = SizeUnit.MM, size: Optional[aind_data_schema.device.LensSize] = None, lens_size_unit: aind_data_schema.device.SizeUnit = SizeUnit.IN, optimized_wavelength_range: Optional[str] = None, wavelength_unit: aind_data_schema.device.SizeUnit = SizeUnit.NM, max_aperture: Optional[str] = None)#

Bases: aind_data_schema.device.Device

Lens used to focus light onto a camera sensor

focal_length: Optional[float]#
focal_length_unit: aind_data_schema.device.SizeUnit#
lens_size_unit: aind_data_schema.device.SizeUnit#
manufacturer: typing_extensions.Literal[Edmund Optics, Thorlabs, Other]#
max_aperture: Optional[str]#
optimized_wavelength_range: Optional[str]#
size: Optional[aind_data_schema.device.LensSize]#
wavelength_unit: aind_data_schema.device.SizeUnit#
class aind_data_schema.device.LensSize(value)#

Bases: enum.Enum

Lens size value

LENS_SIZE_1 = 1#
LENS_SIZE_2 = 2#
class aind_data_schema.device.LightEmittingDiode(*, name: Optional[str] = None, serial_number: Optional[str] = None, manufacturer: typing_extensions.Literal[Doric, Prizmatix, Thorlabs, Other], model: Optional[str] = None, notes: Optional[str] = None, wavelength: int, wavelength_unit: aind_data_schema.device.SizeUnit = SizeUnit.NM)#

Bases: aind_data_schema.device.Device

Description of a Light Emitting Diode (LED) device

manufacturer: typing_extensions.Literal[Doric, Prizmatix, Thorlabs, Other]#
wavelength: int#
wavelength_unit: aind_data_schema.device.SizeUnit#
class aind_data_schema.device.Manufacturer(value)#

Bases: enum.Enum

Device manufacturer name

ALLIED = 'Allied'#
ASI = 'Applied Scientific Instrumentation'#
BASLER = 'Basler'#
CAMBRIDGE_TECHNOLOGY = 'Cambridge Technology'#
CHROMA = 'Chroma'#
COHERENT_SCIENTIFIC = 'Coherent Scientific'#
CUSTOM = 'Custom'#
DORIC = 'Doric'#
EALING = 'Ealing'#
EDMUND_OPTICS = 'Edmund Optics'#
FLIR = 'FLIR'#
HAMAMATSU = 'Hamamatsu'#
IMEC = 'IMEC'#
JULABO = 'Julabo'#
LEICA = 'Leica'#
LG = 'LG'#
LIFECANVAS = 'LifeCanvas'#
MIGHTY_ZAP = 'IR Robot Co'#
MKS_NEWPORT = 'MKS Newport'#
MPI = 'MPI'#
NATIONAL_INSTRUMENTS = 'National Instruments'#
NEW_SCALE_TECHNOLOGIES = 'New Scale Technologies'#
NIKON = 'Nikon'#
OEPS = 'OEPS'#
OLYMPUS = 'Olympus'#
OPTOTUNE = 'Optotune'#
OTHER = 'Other'#
OXXIUS = 'Oxxius'#
PRIZMATIX = 'Prizmatix'#
QUANTIFI = 'Quantifi'#
SEMROCK = 'Semrock'#
THORLABS = 'Thorlabs'#
TMC = 'Technical Manufacturing Corporation'#
VIEWORKS = 'Vieworks'#
VORTRAN = 'Vortran'#
class aind_data_schema.device.ModuleOrientation2d(*, arc_angle: float, module_angle: float, unit: aind_data_schema.device.AngleUnit = AngleUnit.DEG)#

Bases: aind_data_schema.base.AindModel

2D module orientation of an object

arc_angle: float#
module_angle: float#
unit: aind_data_schema.device.AngleUnit#
class aind_data_schema.device.ModuleOrientation3d(*, arc_angle: float, module_angle: float, rotation_angle: float, unit: aind_data_schema.device.AngleUnit = AngleUnit.DEG)#

Bases: aind_data_schema.base.AindModel

3D module orientation of an object

arc_angle: float#
module_angle: float#
rotation_angle: float#
unit: aind_data_schema.device.AngleUnit#
class aind_data_schema.device.Monitor(*, name: Optional[str] = None, serial_number: Optional[str] = None, manufacturer: typing_extensions.Literal[LG], model: Optional[str] = None, notes: Optional[str] = None, refresh_rate: aind_data_schema.device.ConstrainedIntValue, width: int, height: int, size_unit: aind_data_schema.device.SizeUnit = SizeUnit.PX, viewing_distance: float, viewing_distance_unit: aind_data_schema.device.SizeUnit = SizeUnit.CM, contrast: Optional[aind_data_schema.device.ConstrainedIntValue], brightness: Optional[aind_data_schema.device.ConstrainedIntValue], position: Optional[aind_data_schema.device.RelativePosition] = None)#

Bases: aind_data_schema.device.Device

Visual display

brightness: Optional[int]#
contrast: Optional[int]#
height: int#
manufacturer: typing_extensions.Literal[LG]#
position: Optional[aind_data_schema.device.RelativePosition]#
refresh_rate: int#
size_unit: aind_data_schema.device.SizeUnit#
viewing_distance: float#
viewing_distance_unit: aind_data_schema.device.SizeUnit#
width: int#
class aind_data_schema.device.MotorizedStage(*, 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)#

Bases: aind_data_schema.device.Device

Description of motorized stage

travel: float#
travel_unit: aind_data_schema.device.SizeUnit#
class aind_data_schema.device.MousePlatform(*, 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, surface_material: Optional[str] = None, date_surface_replaced: Optional[datetime.datetime] = None)#

Bases: aind_data_schema.device.Device

Description of a mouse platform

date_surface_replaced: Optional[datetime.datetime]#
surface_material: Optional[str]#
class aind_data_schema.device.Orientation3d(*, pitch: aind_data_schema.device.ConstrainedFloatValue, yaw: aind_data_schema.device.ConstrainedFloatValue, roll: aind_data_schema.device.ConstrainedFloatValue, unit: aind_data_schema.device.AngleUnit = AngleUnit.DEG)#

Bases: aind_data_schema.base.AindModel

3D orientation of an object

pitch: float#
roll: float#
unit: aind_data_schema.device.AngleUnit#
yaw: float#
class aind_data_schema.device.PowerUnit(value)#

Bases: enum.Enum

Power units

MW = 'milliwatt'#
UW = 'microwatt'#
class aind_data_schema.device.RelativePosition(*, pitch: Optional[aind_data_schema.device.ConstrainedFloatValue] = None, yaw: Optional[aind_data_schema.device.ConstrainedFloatValue] = None, roll: Optional[aind_data_schema.device.ConstrainedFloatValue] = None, angle_unit: aind_data_schema.device.AngleUnit = AngleUnit.DEG, x: Optional[float] = None, y: Optional[float] = None, z: Optional[float] = None, position_unit: aind_data_schema.device.SizeUnit = SizeUnit.MM, coordinate_system: Optional[str] = None)#

Bases: aind_data_schema.base.AindModel

Set of 6 values describing relative position on a rig

angle_unit: aind_data_schema.device.AngleUnit#
coordinate_system: Optional[str]#
pitch: Optional[float]#
position_unit: aind_data_schema.device.SizeUnit#
roll: Optional[float]#
x: Optional[float]#
y: Optional[float]#
yaw: Optional[float]#
z: Optional[float]#
class aind_data_schema.device.Size2d(*, width: int, height: int, unit: aind_data_schema.device.SizeUnit = SizeUnit.PX)#

Bases: aind_data_schema.base.AindModel

2D size of an object

height: int#
unit: aind_data_schema.device.SizeUnit#
width: int#
class aind_data_schema.device.SizeUnit(value)#

Bases: enum.Enum

units for sizes

CM = 'centimeter'#
IN = 'inch'#
MM = 'millimeter'#
NM = 'nanometer'#
NONE = 'none'#
PX = 'pixel'#
UM = 'micrometer'#
class aind_data_schema.device.Treadmill(*, 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, surface_material: Optional[str] = None, date_surface_replaced: Optional[datetime.datetime] = None, platform_type: str = 'Treadmill', treadmill_width: float, width_unit: aind_data_schema.device.SizeUnit = SizeUnit.CM)#

Bases: aind_data_schema.device.MousePlatform

Description of treadmill platform

platform_type: str#
treadmill_width: float#
width_unit: aind_data_schema.device.SizeUnit#
class aind_data_schema.device.Tube(*, 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, surface_material: Optional[str] = None, date_surface_replaced: Optional[datetime.datetime] = None, platform_type: str = 'Tube', diameter: aind_data_schema.device.ConstrainedFloatValue, diameter_unit: aind_data_schema.device.SizeUnit = SizeUnit.CM)#

Bases: aind_data_schema.device.MousePlatform

Description of a tube platform

diameter: float#
diameter_unit: aind_data_schema.device.SizeUnit#
platform_type: str#

aind_data_schema.procedures module#

schema for various Procedures

class aind_data_schema.procedures.Anaesthetic(*, type: str, duration: float, duration_unit: aind_data_schema.procedures.TimeUnit = TimeUnit.M, level: aind_data_schema.procedures.ConstrainedFloatValue)#

Bases: aind_data_schema.base.AindModel

Description of an anaestheic

duration: float#
duration_unit: aind_data_schema.procedures.TimeUnit#
level: float#
type: str#
class aind_data_schema.procedures.BrainInjection(*, start_date: datetime.date, end_date: datetime.date, experimenter_full_name: 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, notes: Optional[str] = None, injection_materials: types.ConstrainedListValue[aind_data_schema.procedures.InjectionMaterial] = None, recovery_time: Optional[float] = None, recovery_time_unit: Optional[aind_data_schema.procedures.TimeUnit] = TimeUnit.M, injection_duration: Optional[float] = None, injection_duration_unit: Optional[aind_data_schema.procedures.TimeUnit] = TimeUnit.M, workstation_id: Optional[str] = None, instrument_id: Optional[str] = None, injection_coordinate_ml: float, injection_coordinate_ap: float, injection_coordinate_depth: float, injection_coordinate_unit: aind_data_schema.device.SizeUnit = SizeUnit.MM, injection_coordinate_reference: Optional[aind_data_schema.procedures.CoordinateReferenceLocation] = None, bregma_to_lambda_distance: Optional[float] = None, bregma_to_lambda_unit: aind_data_schema.device.SizeUnit = SizeUnit.MM, injection_angle: float, injection_angle_unit: aind_data_schema.device.AngleUnit = AngleUnit.DEG, targeted_structure: Optional[str] = None, injection_hemisphere: Optional[aind_data_schema.procedures.Side] = None)#

Bases: aind_data_schema.procedures.Injection

Description of a brain injection procedure

bregma_to_lambda_distance: Optional[float]#
bregma_to_lambda_unit: aind_data_schema.device.SizeUnit#
injection_angle: float#
injection_angle_unit: aind_data_schema.device.AngleUnit#
injection_coordinate_ap: float#
injection_coordinate_depth: float#
injection_coordinate_ml: float#
injection_coordinate_reference: Optional[aind_data_schema.procedures.CoordinateReferenceLocation]#
injection_coordinate_unit: aind_data_schema.device.SizeUnit#
injection_hemisphere: Optional[aind_data_schema.procedures.Side]#
targeted_structure: Optional[str]#
class aind_data_schema.procedures.CoordinateReferenceLocation(value)#

Bases: enum.Enum

Name of reference point for Coordinates

BREGMA = 'Bregma'#
LAMBDA = 'Lambda'#
class aind_data_schema.procedures.Craniotomy(*, start_date: datetime.date, end_date: datetime.date, experimenter_full_name: 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, notes: Optional[str] = None, procedure_type: str = 'Craniotomy', craniotomy_type: aind_data_schema.procedures.CraniotomyType, craniotomy_hemisphere: Optional[aind_data_schema.procedures.Side] = None, craniotomy_coordinates_ml: Optional[float] = None, craniotomy_coordinates_ap: Optional[float] = None, craniotomy_coordinates_unit: aind_data_schema.device.SizeUnit = SizeUnit.MM, craniotomy_coordinates_reference: Optional[aind_data_schema.procedures.CoordinateReferenceLocation] = None, bregma_to_lambda_distance: Optional[float] = None, bregma_to_lambda_unit: aind_data_schema.device.SizeUnit = SizeUnit.MM, craniotomy_size: float, craniotomy_size_unit: aind_data_schema.device.SizeUnit = SizeUnit.MM, implant_part_number: Optional[str] = None, dura_removed: Optional[bool] = None, protective_material: Optional[aind_data_schema.procedures.ProtectiveMaterial] = None, workstation_id: Optional[str] = None, recovery_time: Optional[float] = None, recovery_time_unit: Optional[aind_data_schema.procedures.TimeUnit] = TimeUnit.M)#

Bases: aind_data_schema.procedures.SubjectProcedure

Description of craniotomy procedure

bregma_to_lambda_distance: Optional[float]#
bregma_to_lambda_unit: aind_data_schema.device.SizeUnit#
craniotomy_coordinates_ap: Optional[float]#
craniotomy_coordinates_ml: Optional[float]#
craniotomy_coordinates_reference: Optional[aind_data_schema.procedures.CoordinateReferenceLocation]#
craniotomy_coordinates_unit: aind_data_schema.device.SizeUnit#
craniotomy_hemisphere: Optional[aind_data_schema.procedures.Side]#
craniotomy_size: float#
craniotomy_size_unit: aind_data_schema.device.SizeUnit#
craniotomy_type: aind_data_schema.procedures.CraniotomyType#
dura_removed: Optional[bool]#
implant_part_number: Optional[str]#
procedure_type: str#
protective_material: Optional[aind_data_schema.procedures.ProtectiveMaterial]#
recovery_time: Optional[float]#
recovery_time_unit: Optional[aind_data_schema.procedures.TimeUnit]#
workstation_id: Optional[str]#
class aind_data_schema.procedures.CraniotomyType(value)#

Bases: enum.Enum

Name of craniotomy Type

FIVE_MM = '5 mm'#
OTHER = 'Other'#
THREE_MM = '3 mm'#
VISCTX = 'Visual Cortex'#
WHC = 'Whole hemisphere craniotomy'#
class aind_data_schema.procedures.CurrentUnit(value)#

Bases: enum.Enum

Current units

UA = 'microamps'#
class aind_data_schema.procedures.FerruleMaterial(value)#

Bases: enum.Enum

Probe ferrule material type name

CERAMIC = 'Ceramic'#
STAINLESS_STEEL = 'Stainless steel'#
class aind_data_schema.procedures.FiberImplant(*, start_date: datetime.date, end_date: datetime.date, experimenter_full_name: 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, notes: Optional[str] = None, procedure_type: str = 'Fiber implant', probes: types.ConstrainedListValue[aind_data_schema.procedures.OphysProbe])#

Bases: aind_data_schema.procedures.SubjectProcedure

Description of an implant procedure

probes: List[aind_data_schema.procedures.OphysProbe]#
procedure_type: str#
class aind_data_schema.procedures.Fluorophore(value)#

Bases: enum.Enum

Fluorophores used in HCR

ALEXA_546 = 'Alexa Fluor 546'#
ALEXA_594 = 'Alexa Fluor 594'#
ALEXA_647 = 'Alexa Fluor 647'#
class aind_data_schema.procedures.HCRProbe(*, name: str, source: str, rrid: Optional[str] = None, lot_number: str, expiration_date: Optional[datetime.date] = None, species: aind_data_schema.subject.Species, gene_name: str, gene_accession_number: str, probe_sequences: List[str], readout: aind_data_schema.procedures.HCRReadout, channel_index: int, initiator_name: str)#

Bases: aind_data_schema.procedures.OligoProbe

Description of a HCR probe

initiator_name: str#
readout: aind_data_schema.procedures.HCRReadout#
class aind_data_schema.procedures.HCRReadout(*, name: str, source: str, rrid: Optional[str] = None, lot_number: str, expiration_date: Optional[datetime.date] = None, fluorophore: aind_data_schema.procedures.Fluorophore, excitation_wavelength: int, stain_type: aind_data_schema.procedures.StainType, excitation_wavelength_unit: aind_data_schema.device.SizeUnit = SizeUnit.NM, SizeUnit: aind_data_schema.device.SizeUnit = SizeUnit.NM, initiator_name: str)#

Bases: aind_data_schema.procedures.Readout

Description of a readout for HCR

initiator_name: str#
class aind_data_schema.procedures.HCRSeries(*, specimen_id: str, procedure_type: aind_data_schema.procedures.SpecimenProcedureName, start_date: datetime.date, end_date: datetime.date, experimenter_full_name: str, protocol_id: str, reagents: Optional[List[aind_data_schema.procedures.Reagent]] = None, notes: Optional[str] = None, codebook_name: str, number_of_rounds: int, hcr_rounds: List[aind_data_schema.procedures.HybridizationChainReaction], strip_qc_compatible: bool)#

Bases: aind_data_schema.procedures.SpecimenProcedure

Description of series of HCR rounds for mFISH

codebook_name: str#
hcr_rounds: List[aind_data_schema.procedures.HybridizationChainReaction]#
number_of_rounds: int#
strip_qc_compatible: bool#
class aind_data_schema.procedures.Headframe(*, start_date: datetime.date, end_date: datetime.date, experimenter_full_name: 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, notes: Optional[str] = None, procedure_type: str = 'Headframe', headframe_type: str, headframe_part_number: str, headframe_material: Optional[aind_data_schema.procedures.HeadframeMaterial] = None, well_part_number: Optional[str] = None, well_type: Optional[str] = None)#

Bases: aind_data_schema.procedures.SubjectProcedure

Description of headframe procedure

headframe_material: Optional[aind_data_schema.procedures.HeadframeMaterial]#
headframe_part_number: str#
headframe_type: str#
procedure_type: str#
well_part_number: Optional[str]#
well_type: Optional[str]#
class aind_data_schema.procedures.HeadframeMaterial(value)#

Bases: enum.Enum

Headframe material name

STEEL = 'Steel'#
TITANIUM = 'Titanium'#
WHITE_ZIRCONIA = 'White Zirconia'#
class aind_data_schema.procedures.HybridizationChainReaction(*, round_index: int, start_time: datetime.datetime, end_time: datetime.datetime, HCR_probes: List[aind_data_schema.procedures.HCRProbe], other_probes: Optional[List[aind_data_schema.procedures.OligoProbe]] = None, probe_concentration: float, probe_concentration_unit: str = 'M', intrument_id: str)#

Bases: aind_data_schema.base.AindModel

Description of an HCR round

HCR_probes: List[aind_data_schema.procedures.HCRProbe]#
end_time: datetime.datetime#
intrument_id: str#
other_probes: Optional[List[aind_data_schema.procedures.OligoProbe]]#
probe_concentration: float#
probe_concentration_unit: str#
round_index: int#
start_time: datetime.datetime#
class aind_data_schema.procedures.Injection(*, start_date: datetime.date, end_date: datetime.date, experimenter_full_name: 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, notes: Optional[str] = None, injection_materials: types.ConstrainedListValue[aind_data_schema.procedures.InjectionMaterial] = None, recovery_time: Optional[float] = None, recovery_time_unit: Optional[aind_data_schema.procedures.TimeUnit] = TimeUnit.M, injection_duration: Optional[float] = None, injection_duration_unit: Optional[aind_data_schema.procedures.TimeUnit] = TimeUnit.M, workstation_id: Optional[str] = None, instrument_id: Optional[str] = None)#

Bases: aind_data_schema.procedures.SubjectProcedure

Description of an injection procedure

injection_duration: Optional[float]#
injection_duration_unit: Optional[aind_data_schema.procedures.TimeUnit]#
injection_materials: List[aind_data_schema.procedures.InjectionMaterial]#
instrument_id: Optional[str]#
recovery_time: Optional[float]#
recovery_time_unit: Optional[aind_data_schema.procedures.TimeUnit]#
workstation_id: Optional[str]#
class aind_data_schema.procedures.InjectionMaterial(*, name: str, material_id: Optional[str] = None, full_genome_name: Optional[str] = None, plasmid_name: Optional[str] = None, genome_copy: Optional[float] = None, titer: Optional[float] = None, titer_unit: Optional[str] = 'gc/mL', prep_lot_number: Optional[str] = None, prep_date: Optional[datetime.date] = None, prep_type: Optional[aind_data_schema.procedures.VirusPrepType] = None, prep_protocol: Optional[str] = None)#

Bases: aind_data_schema.base.AindModel

Description of injection material

full_genome_name: Optional[str]#
genome_copy: Optional[float]#
material_id: Optional[str]#
name: str#
plasmid_name: Optional[str]#
prep_date: Optional[datetime.date]#
prep_lot_number: Optional[str]#
prep_protocol: Optional[str]#
prep_type: Optional[aind_data_schema.procedures.VirusPrepType]#
titer: Optional[float]#
titer_unit: Optional[str]#
class aind_data_schema.procedures.IntraCerebellarVentricleInjection(*, start_date: datetime.date, end_date: datetime.date, experimenter_full_name: 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, notes: Optional[str] = None, injection_materials: types.ConstrainedListValue[aind_data_schema.procedures.InjectionMaterial] = None, recovery_time: Optional[float] = None, recovery_time_unit: Optional[aind_data_schema.procedures.TimeUnit] = TimeUnit.M, injection_duration: Optional[float] = None, injection_duration_unit: Optional[aind_data_schema.procedures.TimeUnit] = TimeUnit.M, workstation_id: Optional[str] = None, instrument_id: Optional[str] = None, injection_coordinate_ml: float, injection_coordinate_ap: float, injection_coordinate_depth: float, injection_coordinate_unit: aind_data_schema.device.SizeUnit = SizeUnit.MM, injection_coordinate_reference: Optional[aind_data_schema.procedures.CoordinateReferenceLocation] = None, bregma_to_lambda_distance: Optional[float] = None, bregma_to_lambda_unit: aind_data_schema.device.SizeUnit = SizeUnit.MM, injection_angle: float, injection_angle_unit: aind_data_schema.device.AngleUnit = AngleUnit.DEG, targeted_structure: Optional[str] = None, injection_hemisphere: Optional[aind_data_schema.procedures.Side] = None, procedure_type: str = 'ICV injection', injection_volume: float, injection_volume_unit: aind_data_schema.procedures.VolumeUnit = VolumeUnit.NL)#

Bases: aind_data_schema.procedures.BrainInjection

Description of an interacerebellar ventricle injection

injection_volume: float#
injection_volume_unit: aind_data_schema.procedures.VolumeUnit#
procedure_type: str#
class aind_data_schema.procedures.IntraCisternalMagnaInjection(*, start_date: datetime.date, end_date: datetime.date, experimenter_full_name: 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, notes: Optional[str] = None, injection_materials: types.ConstrainedListValue[aind_data_schema.procedures.InjectionMaterial] = None, recovery_time: Optional[float] = None, recovery_time_unit: Optional[aind_data_schema.procedures.TimeUnit] = TimeUnit.M, injection_duration: Optional[float] = None, injection_duration_unit: Optional[aind_data_schema.procedures.TimeUnit] = TimeUnit.M, workstation_id: Optional[str] = None, instrument_id: Optional[str] = None, injection_coordinate_ml: float, injection_coordinate_ap: float, injection_coordinate_depth: float, injection_coordinate_unit: aind_data_schema.device.SizeUnit = SizeUnit.MM, injection_coordinate_reference: Optional[aind_data_schema.procedures.CoordinateReferenceLocation] = None, bregma_to_lambda_distance: Optional[float] = None, bregma_to_lambda_unit: aind_data_schema.device.SizeUnit = SizeUnit.MM, injection_angle: float, injection_angle_unit: aind_data_schema.device.AngleUnit = AngleUnit.DEG, targeted_structure: Optional[str] = None, injection_hemisphere: Optional[aind_data_schema.procedures.Side] = None, procedure_type: str = 'ICM injection', injection_volume: float, injection_volume_unit: aind_data_schema.procedures.VolumeUnit = VolumeUnit.NL)#

Bases: aind_data_schema.procedures.BrainInjection

Description of an interacisternal magna injection

injection_volume: float#
injection_volume_unit: aind_data_schema.procedures.VolumeUnit#
procedure_type: str#
class aind_data_schema.procedures.IontophoresisInjection(*, start_date: datetime.date, end_date: datetime.date, experimenter_full_name: 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, notes: Optional[str] = None, injection_materials: types.ConstrainedListValue[aind_data_schema.procedures.InjectionMaterial] = None, recovery_time: Optional[float] = None, recovery_time_unit: Optional[aind_data_schema.procedures.TimeUnit] = TimeUnit.M, injection_duration: Optional[float] = None, injection_duration_unit: Optional[aind_data_schema.procedures.TimeUnit] = TimeUnit.M, workstation_id: Optional[str] = None, instrument_id: Optional[str] = None, injection_coordinate_ml: float, injection_coordinate_ap: float, injection_coordinate_depth: float, injection_coordinate_unit: aind_data_schema.device.SizeUnit = SizeUnit.MM, injection_coordinate_reference: Optional[aind_data_schema.procedures.CoordinateReferenceLocation] = None, bregma_to_lambda_distance: Optional[float] = None, bregma_to_lambda_unit: aind_data_schema.device.SizeUnit = SizeUnit.MM, injection_angle: float, injection_angle_unit: aind_data_schema.device.AngleUnit = AngleUnit.DEG, targeted_structure: Optional[str] = None, injection_hemisphere: Optional[aind_data_schema.procedures.Side] = None, procedure_type: str = 'Iontophoresis injection', injection_current: float, injection_current_unit: aind_data_schema.procedures.CurrentUnit = CurrentUnit.UA, alternating_current: str)#

Bases: aind_data_schema.procedures.BrainInjection

Description of an iotophoresis injection procedure

alternating_current: str#
injection_current: float#
injection_current_unit: aind_data_schema.procedures.CurrentUnit#
procedure_type: str#
class aind_data_schema.procedures.NanojectInjection(*, start_date: datetime.date, end_date: datetime.date, experimenter_full_name: 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, notes: Optional[str] = None, injection_materials: types.ConstrainedListValue[aind_data_schema.procedures.InjectionMaterial] = None, recovery_time: Optional[float] = None, recovery_time_unit: Optional[aind_data_schema.procedures.TimeUnit] = TimeUnit.M, injection_duration: Optional[float] = None, injection_duration_unit: Optional[aind_data_schema.procedures.TimeUnit] = TimeUnit.M, workstation_id: Optional[str] = None, instrument_id: Optional[str] = None, injection_coordinate_ml: float, injection_coordinate_ap: float, injection_coordinate_depth: float, injection_coordinate_unit: aind_data_schema.device.SizeUnit = SizeUnit.MM, injection_coordinate_reference: Optional[aind_data_schema.procedures.CoordinateReferenceLocation] = None, bregma_to_lambda_distance: Optional[float] = None, bregma_to_lambda_unit: aind_data_schema.device.SizeUnit = SizeUnit.MM, injection_angle: float, injection_angle_unit: aind_data_schema.device.AngleUnit = AngleUnit.DEG, targeted_structure: Optional[str] = None, injection_hemisphere: Optional[aind_data_schema.procedures.Side] = None, procedure_type: str = 'Nanoject injection', injection_volume: float, injection_volume_unit: aind_data_schema.procedures.VolumeUnit = VolumeUnit.NL)#

Bases: aind_data_schema.procedures.BrainInjection

Description of a nanoject injection procedure

injection_volume: float#
injection_volume_unit: aind_data_schema.procedures.VolumeUnit#
procedure_type: str#
class aind_data_schema.procedures.OligoProbe(*, name: str, source: str, rrid: Optional[str] = None, lot_number: str, expiration_date: Optional[datetime.date] = None, species: aind_data_schema.subject.Species, gene_name: str, gene_accession_number: str, probe_sequences: List[str], readout: aind_data_schema.procedures.Readout, channel_index: int)#

Bases: aind_data_schema.procedures.Reagent

Description of an oligo probe

channel_index: int#
gene_accession_number: str#
gene_name: str#
probe_sequences: List[str]#
readout: aind_data_schema.procedures.Readout#
species: aind_data_schema.subject.Species#
class aind_data_schema.procedures.OphysProbe(*, name: aind_data_schema.procedures.ProbeName, manufacturer: str, part_number: str, core_diameter: float, core_diameter_unit: str = 'μm', numerical_aperture: float, ferrule_material: Optional[aind_data_schema.procedures.FerruleMaterial] = None, targeted_structure: str, stereotactic_coordinate_ap: float, stereotactic_coordinate_ml: float, stereotactic_coordinate_dv: float, stereotactic_coordinate_unit: aind_data_schema.device.SizeUnit = SizeUnit.MM, stereotactic_coordinate_reference: Optional[aind_data_schema.procedures.CoordinateReferenceLocation] = None, bregma_to_lambda_distance: Optional[float] = None, bregma_to_lambda_unit: aind_data_schema.device.SizeUnit = SizeUnit.MM, angle: float, angle_unit: aind_data_schema.device.AngleUnit = AngleUnit.DEG, notes: Optional[str] = None)#

Bases: aind_data_schema.base.AindModel

Description of an ophys probe

angle: float#
angle_unit: aind_data_schema.device.AngleUnit#
bregma_to_lambda_distance: Optional[float]#
bregma_to_lambda_unit: aind_data_schema.device.SizeUnit#
core_diameter: float#
core_diameter_unit: str#
ferrule_material: Optional[aind_data_schema.procedures.FerruleMaterial]#
manufacturer: str#
name: aind_data_schema.procedures.ProbeName#
notes: Optional[str]#
numerical_aperture: float#
part_number: str#
stereotactic_coordinate_ap: float#
stereotactic_coordinate_dv: float#
stereotactic_coordinate_ml: float#
stereotactic_coordinate_reference: Optional[aind_data_schema.procedures.CoordinateReferenceLocation]#
stereotactic_coordinate_unit: aind_data_schema.device.SizeUnit#
targeted_structure: str#
class aind_data_schema.procedures.Perfusion(*, start_date: datetime.date, end_date: datetime.date, experimenter_full_name: 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, notes: Optional[str] = None, procedure_type: str = 'Perfusion', output_specimen_ids: types.ConstrainedListValue[str])#

Bases: aind_data_schema.procedures.SubjectProcedure

Description of a perfusion procedure that creates a specimen

output_specimen_ids: List[str]#
procedure_type: str#
class aind_data_schema.procedures.ProbeName(value)#

Bases: enum.Enum

Probe name

PROBE_A = 'Probe A'#
PROBE_B = 'Probe B'#
PROBE_C = 'Probe C'#
PROBE_D = 'Probe D'#
class aind_data_schema.procedures.Procedures(*, describedBy: str = 'https://raw.githubusercontent.com/AllenNeuralDynamics/aind-data-schema/main/src/aind_data_schema/procedures.py', schema_version: str = '0.7.8', subject_id: str, subject_procedures: Optional[types.ConstrainedListValue[Union[aind_data_schema.procedures.Headframe, aind_data_schema.procedures.Craniotomy, aind_data_schema.procedures.RetroOrbitalInjection, aind_data_schema.procedures.NanojectInjection, aind_data_schema.procedures.IontophoresisInjection, aind_data_schema.procedures.IntraCerebellarVentricleInjection, aind_data_schema.procedures.IntraCisternalMagnaInjection, aind_data_schema.procedures.FiberImplant, aind_data_schema.procedures.WaterRestriction, aind_data_schema.procedures.TrainingProtocol, aind_data_schema.procedures.Perfusion, aind_data_schema.procedures.SubjectProcedure]]] = [], specimen_procedures: Optional[types.ConstrainedListValue[Union[aind_data_schema.procedures.HCRSeries, aind_data_schema.procedures.SpecimenProcedure]]] = [], notes: Optional[str] = None)#

Bases: aind_data_schema.base.AindCoreModel

Description of all procedures performed on a subject

notes: Optional[str]#
schema_version: str#
specimen_procedures: Optional[List[Union[aind_data_schema.procedures.HCRSeries, aind_data_schema.procedures.SpecimenProcedure]]]#
subject_id: str#
subject_procedures: Optional[List[Union[aind_data_schema.procedures.Headframe, aind_data_schema.procedures.Craniotomy, aind_data_schema.procedures.RetroOrbitalInjection, aind_data_schema.procedures.NanojectInjection, aind_data_schema.procedures.IontophoresisInjection, aind_data_schema.procedures.IntraCerebellarVentricleInjection, aind_data_schema.procedures.IntraCisternalMagnaInjection, aind_data_schema.procedures.FiberImplant, aind_data_schema.procedures.WaterRestriction, aind_data_schema.procedures.TrainingProtocol, aind_data_schema.procedures.Perfusion, aind_data_schema.procedures.SubjectProcedure]]]#
class aind_data_schema.procedures.ProtectiveMaterial(value)#

Bases: enum.Enum

Name of material applied to craniotomy

DURAGEL = 'Duragel'#
KWIK_CAST = 'Kwik-Cast'#
OTHER = 'Other - see notes'#
SORTA_CLEAR = 'SORTA-clear'#
class aind_data_schema.procedures.Readout(*, name: str, source: str, rrid: Optional[str] = None, lot_number: str, expiration_date: Optional[datetime.date] = None, fluorophore: aind_data_schema.procedures.Fluorophore, excitation_wavelength: int, stain_type: aind_data_schema.procedures.StainType, excitation_wavelength_unit: aind_data_schema.device.SizeUnit = SizeUnit.NM, SizeUnit: aind_data_schema.device.SizeUnit = SizeUnit.NM)#

Bases: aind_data_schema.procedures.Reagent

Description of a readout

excitation_wavelength: int#
fluorophore: aind_data_schema.procedures.Fluorophore#
stain_type: aind_data_schema.procedures.StainType#
class aind_data_schema.procedures.Reagent(*, name: str, source: str, rrid: Optional[str] = None, lot_number: str, expiration_date: Optional[datetime.date] = None)#

Bases: aind_data_schema.base.AindModel

Description of reagents used in procedure

expiration_date: Optional[datetime.date]#
lot_number: str#
name: str#
rrid: Optional[str]#
source: str#
class aind_data_schema.procedures.RetroOrbitalInjection(*, start_date: datetime.date, end_date: datetime.date, experimenter_full_name: 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, notes: Optional[str] = None, injection_materials: types.ConstrainedListValue[aind_data_schema.procedures.InjectionMaterial] = None, recovery_time: Optional[float] = None, recovery_time_unit: Optional[aind_data_schema.procedures.TimeUnit] = TimeUnit.M, injection_duration: Optional[float] = None, injection_duration_unit: Optional[aind_data_schema.procedures.TimeUnit] = TimeUnit.M, workstation_id: Optional[str] = None, instrument_id: Optional[str] = None, procedure_type: str = 'Retro-orbital injection', injection_volume: float, injection_volume_unit: aind_data_schema.procedures.VolumeUnit = VolumeUnit.UL, injection_eye: aind_data_schema.procedures.Side)#

Bases: aind_data_schema.procedures.Injection

Description of a retro-orbital injection procedure

injection_eye: aind_data_schema.procedures.Side#
injection_volume: float#
injection_volume_unit: aind_data_schema.procedures.VolumeUnit#
procedure_type: str#
class aind_data_schema.procedures.Side(value)#

Bases: enum.Enum

Side of animal

LEFT = 'Left'#
RIGHT = 'Right'#
class aind_data_schema.procedures.SpecimenProcedure(*, specimen_id: str, procedure_type: aind_data_schema.procedures.SpecimenProcedureName, start_date: datetime.date, end_date: datetime.date, experimenter_full_name: str, protocol_id: str, reagents: Optional[List[aind_data_schema.procedures.Reagent]] = None, notes: Optional[str] = None)#

Bases: aind_data_schema.base.AindModel

Description of surgical or other procedure performed on a specimen

end_date: datetime.date#
experimenter_full_name: str#
notes: Optional[str]#
procedure_type: aind_data_schema.procedures.SpecimenProcedureName#
protocol_id: str#
reagents: Optional[List[aind_data_schema.procedures.Reagent]]#
specimen_id: str#
start_date: datetime.date#
class aind_data_schema.procedures.SpecimenProcedureName(value)#

Bases: enum.Enum

Specimen procedure type name

ACTIVE_DELIPIDATION = 'Active delipidation'#
CLEARING = 'Clearing'#
DCM_DELIPIDATION = 'DCM delipidation'#
DOUBLE_DELIPIDATION = 'Double delipidation'#
EMBEDDING = 'Embedding'#
FIXATION = 'Fixation'#
FIXATION_PERMEABILIZATION = 'Fixation and permeabilization'#
GELATION = 'Gelation'#
HYBRIDIZATION_AMPLIFICATION = 'Hybridication and amplification'#
IMMUNOSTAINING = 'Immunostaining'#
OTHER = 'Other - see notes'#
SOAK = 'Soak'#
STORAGE = 'Storage'#
STRIPPING = 'Stripping'#
class aind_data_schema.procedures.StainType(value)#

Bases: enum.Enum

Stain Types for HCR probes

RNA = 'RNA'#
class aind_data_schema.procedures.SubjectProcedure(*, start_date: datetime.date, end_date: datetime.date, experimenter_full_name: 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, notes: Optional[str] = None)#

Bases: aind_data_schema.base.AindModel

Description of surgical or other procedure performed on a subject

anaesthesia: Optional[aind_data_schema.procedures.Anaesthetic]#
animal_weight_post: Optional[float]#
animal_weight_prior: Optional[float]#
end_date: datetime.date#
experimenter_full_name: str#
iacuc_protocol: Optional[str]#
notes: Optional[str]#
protocol_id: str#
start_date: datetime.date#
weight_unit: aind_data_schema.procedures.WeightUnit#
class aind_data_schema.procedures.TimeUnit(value)#

Bases: enum.Enum

Time units

M = 'minute'#
MS = 'millisecond'#
S = 'second'#
class aind_data_schema.procedures.TrainingProtocol(*, procedure_type: str = 'Training', training_name: str, protocol_id: str, training_protocol_start_date: datetime.date, training_protocol_end_date: Optional[datetime.date] = None, notes: Optional[str] = None)#

Bases: aind_data_schema.base.AindModel

Description of an animal training protocol

notes: Optional[str]#
procedure_type: str#
protocol_id: str#
training_name: str#
training_protocol_end_date: Optional[datetime.date]#
training_protocol_start_date: datetime.date#
class aind_data_schema.procedures.VirusPrepType(value)#

Bases: enum.Enum

Type of virus preparation

CRUDE = 'Crude'#
PURIFIED = 'Purified'#
class aind_data_schema.procedures.VolumeUnit(value)#

Bases: enum.Enum

Volume units

NL = 'nanoliter'#
UL = 'microliter'#
class aind_data_schema.procedures.WaterRestriction(*, procedure_type: str = 'Water restriction', protocol_id: Optional[str] = None, baseline_weight: float, weight_unit: aind_data_schema.procedures.WeightUnit = WeightUnit.G, start_date: datetime.date, end_date: datetime.date)#

Bases: aind_data_schema.base.AindModel

Description of a water restriction procedure

baseline_weight: float#
end_date: datetime.date#
procedure_type: str#
protocol_id: Optional[str]#
start_date: datetime.date#
weight_unit: aind_data_schema.procedures.WeightUnit#
class aind_data_schema.procedures.WeightUnit(value)#

Bases: enum.Enum

Weight units

G = 'gram'#

aind_data_schema.processing module#

schema for processing

class aind_data_schema.processing.DataProcess(*, name: aind_data_schema.processing.ProcessName, version: str, start_date_time: datetime.datetime, end_date_time: datetime.datetime, input_location: str, output_location: str, code_url: str, code_version: Optional[str] = None, parameters: Dict[str, Any], outputs: Optional[Dict[str, Any]] = None, notes: Optional[str] = None)#

Bases: aind_data_schema.base.AindModel

Description of a single processing step

code_url: str#
code_version: Optional[str]#
end_date_time: datetime.datetime#
input_location: str#
name: aind_data_schema.processing.ProcessName#
notes: Optional[str]#
output_location: str#
outputs: Optional[Dict[str, Any]]#
parameters: Dict[str, Any]#
start_date_time: datetime.datetime#
version: str#
class aind_data_schema.processing.ProcessName(value)#

Bases: enum.Enum

Data processing type labels

EPHYS_CURATION = 'Ephys curation'#
EPHYS_POSTPROCESSING = 'Ephys postprocessing'#
EPHYS_PREPROCESSING = 'Ephys preprocessing'#
EPHYS_VISUALIZATION = 'Ephys visualization'#
FILE_CONVERSION = 'File format conversion'#
IMAGE_ATLAS_ALIGNMENT = 'Image atlas alignment'#
IMAGE_BACKGROUND_SUBTRACTION = 'Image background subtraction'#
IMAGE_CELL_SEGMENTATION = 'Image cell segmentation'#
IMAGE_DESTRIPING = 'Image destriping'#
IMAGE_IMPORTING = 'Image importing'#
IMAGE_THRESHOLDING = 'Image thresholding'#
IMAGE_TILE_ALIGNMENT = 'Image tile alignment'#
IMAGE_TILE_FUSING = 'Image tile fusing'#
IMAGE_TILE_PROJECTION = 'Image tile projection'#
OTHER = 'Other'#
SPIKE_SORTING = 'Spike sorting'#
class aind_data_schema.processing.Processing(*, describedBy: str = 'https://raw.githubusercontent.com/AllenNeuralDynamics/aind-data-schema/main/src/aind_data_schema/processing.py', schema_version: str = '0.2.1', pipeline_version: Optional[str] = None, pipeline_url: Optional[str] = None, data_processes: types.ConstrainedListValue[aind_data_schema.processing.DataProcess])#

Bases: aind_data_schema.base.AindCoreModel

Description of all processes run on data

data_processes: List[aind_data_schema.processing.DataProcess]#
pipeline_url: Optional[str]#
pipeline_version: Optional[str]#
schema_version: str#
class aind_data_schema.processing.Registration(*, name: aind_data_schema.processing.ProcessName, version: str, start_date_time: datetime.datetime, end_date_time: datetime.datetime, input_location: str, output_location: str, code_url: str, code_version: Optional[str] = None, parameters: Dict[str, Any], outputs: Optional[Dict[str, Any]] = None, notes: Optional[str] = None, registration_type: aind_data_schema.processing.RegistrationType, registration_channel: Optional[int] = None, tiles: List[aind_data_schema.imaging.tile.Tile])#

Bases: aind_data_schema.processing.DataProcess

Description of tile alignment coordinate transformations

registration_channel: Optional[int]#
registration_type: aind_data_schema.processing.RegistrationType#
tiles: List[aind_data_schema.imaging.tile.Tile]#
class aind_data_schema.processing.RegistrationType(value)#

Bases: enum.Enum

Types of registration

INTER = 'Inter-channel'#
INTRA = 'Intra-channel'#

aind_data_schema.stimulus module#

schema for session stimulus

class aind_data_schema.stimulus.OptoStim(*, stimulus_name: str, pulse_shape: aind_data_schema.stimulus.PulseShape, pulse_frequency: int, pulse_frequency_unit: aind_data_schema.device.FrequencyUnit = FrequencyUnit.HZ, number_pulse_trains: int, pulse_width: int, pulse_width_unit: aind_data_schema.procedures.TimeUnit = TimeUnit.MS, pulse_train_duration: float, pulse_train_duration_unit: aind_data_schema.procedures.TimeUnit = TimeUnit.S, fixed_pulse_train_interval: bool, pulse_train_interval: Optional[float] = None, pulse_train_interval_unit: aind_data_schema.procedures.TimeUnit = TimeUnit.S, baseline_duration: float, baseline_duration_unit: aind_data_schema.procedures.TimeUnit = TimeUnit.S, other_parameters: Optional[Dict[str, Any]] = None, notes: Optional[str] = None)#

Bases: aind_data_schema.base.AindModel

Description of opto stimulation parameters

baseline_duration: float#
baseline_duration_unit: aind_data_schema.procedures.TimeUnit#
fixed_pulse_train_interval: bool#
notes: Optional[str]#
number_pulse_trains: int#
other_parameters: Optional[Dict[str, Any]]#
pulse_frequency: int#
pulse_frequency_unit: aind_data_schema.device.FrequencyUnit#
pulse_shape: aind_data_schema.stimulus.PulseShape#
pulse_train_duration: float#
pulse_train_duration_unit: aind_data_schema.procedures.TimeUnit#
pulse_train_interval: Optional[float]#
pulse_train_interval_unit: aind_data_schema.procedures.TimeUnit#
pulse_width: int#
pulse_width_unit: aind_data_schema.procedures.TimeUnit#
stimulus_name: str#
class aind_data_schema.stimulus.PulseShape(value)#

Bases: enum.Enum

Types of Opto stim pulse shapes

RAMP = 'Ramp'#
SINE = 'Sinusoidal'#
SQUARE = 'Square'#
class aind_data_schema.stimulus.StimulusPresentation(*, stimulus: Union[aind_data_schema.stimulus.OptoStim, aind_data_schema.stimulus.VisualStim], stimulus_start_time: datetime.time, stimulus_end_time: datetime.time)#

Bases: aind_data_schema.base.AindModel

Description of stimulus used during session

stimulus: Union[aind_data_schema.stimulus.OptoStim, aind_data_schema.stimulus.VisualStim]#
stimulus_end_time: datetime.time#
stimulus_start_time: datetime.time#
class aind_data_schema.stimulus.VisualStim(*, stimulus_name: str, stimulus_parameters: Optional[Dict[str, Any]] = None, stimulus_template_name: Optional[List[str]] = None, stimulus_software: str, stimulus_software_version: str, stimulus_script: str, stimulus_script_version: str, notes: Optional[str] = None)#

Bases: aind_data_schema.base.AindModel

Description of visual stimulus parameters. Provides a high level description of stimulus.

notes: Optional[str]#
stimulus_name: str#
stimulus_parameters: Optional[Dict[str, Any]]#
stimulus_script: str#
stimulus_script_version: str#
stimulus_software: str#
stimulus_software_version: str#
stimulus_template_name: Optional[List[str]]#

aind_data_schema.subject module#

schema for mostly mouse metadata

class aind_data_schema.subject.BackgroundStrain(value)#

Bases: enum.Enum

Animal background strain name

BALB_c = 'BALB/c'#
C57BL_6J = 'C57BL/6J'#
class aind_data_schema.subject.HomeCageEnrichment(value)#

Bases: enum.Enum

Materials provided in animal home cage

NONE = 'None'#
OTHER = 'Other'#
PLASTIC_SHELTER = 'Plastic shelter'#
PLASTIC_TUBE = 'Plastic tube'#
RUNNING_WHEEL = 'Running wheel'#
class aind_data_schema.subject.Housing(*, cage_id: Optional[str] = None, room_id: Optional[str] = None, light_cycle: Optional[aind_data_schema.subject.LightCycle] = None, home_cage_enrichment: Optional[List[aind_data_schema.subject.HomeCageEnrichment]] = None, cohoused_subjects: Optional[List[str]] = None)#

Bases: aind_data_schema.base.AindModel

Description of subject housing

cage_id: Optional[str]#
cohoused_subjects: Optional[List[str]]#
home_cage_enrichment: Optional[List[aind_data_schema.subject.HomeCageEnrichment]]#
light_cycle: Optional[aind_data_schema.subject.LightCycle]#
room_id: Optional[str]#
class aind_data_schema.subject.LightCycle(*, lights_on_time: datetime.time, lights_off_time: datetime.time)#

Bases: aind_data_schema.base.AindModel

Description of vivarium light cycle times

lights_off_time: datetime.time#
lights_on_time: datetime.time#
class aind_data_schema.subject.MgiAlleleId(*, allele_name: str, mgi_id: str)#

Bases: aind_data_schema.base.AindModel

Mouse Genome Informatics IDs for genotype alleles

allele_name: str#
mgi_id: str#
class aind_data_schema.subject.Sex(value)#

Bases: enum.Enum

Subject sex name

FEMALE = 'Female'#
MALE = 'Male'#
class aind_data_schema.subject.Species(value)#

Bases: enum.Enum

Species latin name

CALLITHRIX_JACCHUS = PIDName(name=BaseName(name='Callithrix jacchus', abbreviation=None), registry=BaseName(name='National Center for Biotechnology Information', abbreviation='NCBI'), registry_identifier='9483')#
HOMO_SAPIENS = PIDName(name=BaseName(name='Homo sapiens', abbreviation=None), registry=BaseName(name='National Center for Biotechnology Information', abbreviation='NCBI'), registry_identifier='9606')#
MACACA_MULATTA = PIDName(name=BaseName(name='Macaca mulatta', abbreviation=None), registry=BaseName(name='National Center for Biotechnology Information', abbreviation='NCBI'), registry_identifier='9544')#
MUS_MUSCULUS = PIDName(name=BaseName(name='Mus musculus', abbreviation=None), registry=BaseName(name='National Center for Biotechnology Information', abbreviation='NCBI'), registry_identifier='10090')#
class aind_data_schema.subject.Subject(*, describedBy: str = 'https://raw.githubusercontent.com/AllenNeuralDynamics/aind-data-schema/main/src/aind_data_schema/subject.py', schema_version: str = '0.3.2', species: aind_data_schema.subject.Species, subject_id: str, sex: aind_data_schema.subject.Sex, date_of_birth: datetime.date, genotype: str, mgi_allele_ids: Optional[List[aind_data_schema.subject.MgiAlleleId]] = None, background_strain: Optional[aind_data_schema.subject.BackgroundStrain] = None, source: Optional[str] = None, rrid: Optional[str] = None, restrictions: Optional[str] = None, breeding_group: Optional[str] = None, maternal_id: Optional[str] = None, maternal_genotype: Optional[str] = None, paternal_id: Optional[str] = None, paternal_genotype: Optional[str] = None, wellness_reports: Optional[List[aind_data_schema.subject.WellnessReport]] = None, housing: Optional[aind_data_schema.subject.Housing] = None, notes: Optional[str] = None)#

Bases: aind_data_schema.base.AindCoreModel

Description of a subject of data collection

background_strain: Optional[aind_data_schema.subject.BackgroundStrain]#
breeding_group: Optional[str]#
date_of_birth: datetime.date#
genotype: str#
housing: Optional[aind_data_schema.subject.Housing]#
maternal_genotype: Optional[str]#
maternal_id: Optional[str]#
mgi_allele_ids: Optional[List[aind_data_schema.subject.MgiAlleleId]]#
notes: Optional[str]#
paternal_genotype: Optional[str]#
paternal_id: Optional[str]#
restrictions: Optional[str]#
rrid: Optional[str]#
schema_version: str#
sex: aind_data_schema.subject.Sex#
source: Optional[str]#
species: aind_data_schema.subject.Species#
subject_id: str#
wellness_reports: Optional[List[aind_data_schema.subject.WellnessReport]]#
class aind_data_schema.subject.WellnessReport(*, date: datetime.date, report: str)#

Bases: aind_data_schema.base.AindModel

Wellness report on animal health

date: datetime.date#
report: str#

Module contents#

imports for AindModel subclasses

class aind_data_schema.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#
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.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.BehaviorRig(*, describedBy: str = 'https://raw.githubusercontent.com/AllenNeuralDynamics/aind-data-schema/main/src/aind_data_schema/behavior/behavior_rig.py', schema_version: str = '0.0.2', rig_id: str, cameras: Optional[types.ConstrainedListValue[aind_data_schema.device.CameraAssembly]] = None, visual_monitors: Optional[types.ConstrainedListValue[aind_data_schema.device.Monitor]] = None, mouse_platform: Optional[Union[aind_data_schema.device.Tube, aind_data_schema.device.Treadmill, aind_data_schema.device.Disc]] = None, daqs: Optional[List[Union[aind_data_schema.device.HarpDevice, aind_data_schema.device.DAQDevice]]] = None, additional_devices: Optional[types.ConstrainedListValue[aind_data_schema.device.Device]] = None, notes: Optional[str] = None)#

Bases: aind_data_schema.base.AindCoreModel

Description of an behavior rig

additional_devices: Optional[List[aind_data_schema.device.Device]]#
cameras: Optional[List[aind_data_schema.device.CameraAssembly]]#
daqs: Optional[List[Union[aind_data_schema.device.HarpDevice, aind_data_schema.device.DAQDevice]]]#
mouse_platform: Optional[Union[aind_data_schema.device.Tube, aind_data_schema.device.Treadmill, aind_data_schema.device.Disc]]#
notes: Optional[str]#
rig_id: str#
schema_version: str#
visual_monitors: Optional[List[aind_data_schema.device.Monitor]]#
class aind_data_schema.BehaviorSession(*, describedBy: str = 'https://raw.githubusercontent.com/AllenNeuralDynamics/aind-data-schema/main/src/aind_data_schema/behavior/behavior_session.py', schema_version: str = '0.0.1', experimenter_full_name: str, session_start_time: datetime.datetime, session_end_time: datetime.datetime, subject_id: int, animal_weight_prior: Optional[float] = None, animal_weight_post: Optional[float] = None, weight_unit: aind_data_schema.procedures.WeightUnit = WeightUnit.G, behavior_type: str, behavior_code: str, code_version: str, input_parameters: Dict[str, Any], output_parameters: Dict[str, Any], water_consumed: float, water_consumed_unit: aind_data_schema.procedures.VolumeUnit = VolumeUnit.UL, notes: Optional[str] = None)#

Bases: aind_data_schema.base.AindCoreModel

Description of a behavior session

animal_weight_post: Optional[float]#
animal_weight_prior: Optional[float]#
behavior_code: str#
behavior_type: str#
code_version: str#
experimenter_full_name: str#
input_parameters: Dict[str, Any]#
notes: Optional[str]#
output_parameters: Dict[str, Any]#
schema_version: str#
session_end_time: datetime.datetime#
session_start_time: datetime.datetime#
subject_id: int#
water_consumed: float#
water_consumed_unit: aind_data_schema.procedures.VolumeUnit#
weight_unit: aind_data_schema.procedures.WeightUnit#
class aind_data_schema.DataDescription(label=None, *, describedBy: str = 'https://raw.githubusercontent.com/AllenNeuralDynamics/aind-data-schema/main/src/aind_data_schema/data_description.py', schema_version: str = '0.6.3', license: str = 'CC-BY-4.0', creation_time: datetime.time, creation_date: datetime.date, name: Optional[str] = None, institution: aind_data_schema.data_description.Institution, funding_source: List[aind_data_schema.data_description.Funding], data_level: aind_data_schema.data_description.DataLevel, group: Optional[aind_data_schema.data_description.Group] = None, investigators: List[str], project_name: Optional[str] = None, project_id: Optional[str] = None, restrictions: Optional[str] = None, modality: List[aind_data_schema.data_description.Modality], experiment_type: aind_data_schema.data_description.ExperimentType, subject_id: aind_data_schema.data_description.ConstrainedStrValue, related_data: Optional[List[aind_data_schema.data_description.RelatedData]] = [], data_summary: Optional[str] = None)#

Bases: aind_data_schema.base.AindCoreModel

Description of a logical collection of data files

creation_date: datetime.date#
creation_time: datetime.time#
data_level: aind_data_schema.data_description.DataLevel#
data_summary: Optional[str]#
describedBy: str#
experiment_type: aind_data_schema.data_description.ExperimentType#
funding_source: List[aind_data_schema.data_description.Funding]#
group: Optional[aind_data_schema.data_description.Group]#
institution: aind_data_schema.data_description.Institution#
investigators: List[str]#
license: str#
modality: List[aind_data_schema.data_description.Modality]#
name: Optional[str]#
classmethod parse_name(name)#

Decompose a DataDescription name string into component parts

project_id: Optional[str]#
project_name: Optional[str]#
related_data: Optional[List[aind_data_schema.data_description.RelatedData]]#
restrictions: Optional[str]#
schema_version: str#
subject_id: str#
class aind_data_schema.DataProcess(*, name: aind_data_schema.processing.ProcessName, version: str, start_date_time: datetime.datetime, end_date_time: datetime.datetime, input_location: str, output_location: str, code_url: str, code_version: Optional[str] = None, parameters: Dict[str, Any], outputs: Optional[Dict[str, Any]] = None, notes: Optional[str] = None)#

Bases: aind_data_schema.base.AindModel

Description of a single processing step

code_url: str#
code_version: Optional[str]#
end_date_time: datetime.datetime#
input_location: str#
name: aind_data_schema.processing.ProcessName#
notes: Optional[str]#
output_location: str#
outputs: Optional[Dict[str, Any]]#
parameters: Dict[str, Any]#
start_date_time: datetime.datetime#
version: str#
class aind_data_schema.DerivedDataDescription(process_name, *, describedBy: str = 'https://raw.githubusercontent.com/AllenNeuralDynamics/aind-data-schema/main/src/aind_data_schema/data_description.py', schema_version: str = '0.6.3', license: str = 'CC-BY-4.0', creation_time: datetime.time, creation_date: datetime.date, name: Optional[str] = None, institution: aind_data_schema.data_description.Institution, funding_source: List[aind_data_schema.data_description.Funding], data_level: aind_data_schema.data_description.DataLevel = DataLevel.DERIVED_DATA, group: Optional[aind_data_schema.data_description.Group] = None, investigators: List[str], project_name: Optional[str] = None, project_id: Optional[str] = None, restrictions: Optional[str] = None, modality: List[aind_data_schema.data_description.Modality], experiment_type: aind_data_schema.data_description.ExperimentType, subject_id: aind_data_schema.data_description.ConstrainedStrValue, related_data: Optional[List[aind_data_schema.data_description.RelatedData]] = [], data_summary: Optional[str] = None, input_data_name: str)#

Bases: aind_data_schema.data_description.DataDescription

A logical collection of data files derived via processing

creation_date: datetime.date#
creation_time: datetime.time#
data_level: aind_data_schema.data_description.DataLevel#
data_summary: Optional[str]#
describedBy: str#
experiment_type: aind_data_schema.data_description.ExperimentType#
funding_source: List[aind_data_schema.data_description.Funding]#
group: Optional[aind_data_schema.data_description.Group]#
input_data_name: str#
institution: aind_data_schema.data_description.Institution#
investigators: List[str]#
license: str#
modality: List[aind_data_schema.data_description.Modality]#
name: Optional[str]#
classmethod parse_name(name)#

decompose DerivedDataDescription name into parts

project_id: Optional[str]#
project_name: Optional[str]#
related_data: Optional[List[aind_data_schema.data_description.RelatedData]]#
restrictions: Optional[str]#
schema_version: str#
subject_id: str#
class aind_data_schema.EphysRig(*, describedBy: str = 'https://raw.githubusercontent.com/AllenNeuralDynamics/aind-data-schema/main/src/aind_data_schema/ephys/ephys_rig.py', schema_version: str = '0.6.3', rig_id: str, ephys_assemblies: Optional[types.ConstrainedListValue[aind_data_schema.ephys.ephys_rig.EphysAssembly]] = None, stick_microscopes: Optional[List[aind_data_schema.ephys.ephys_rig.StickMicroscopeAssembly]] = None, laser_assemblies: Optional[types.ConstrainedListValue[aind_data_schema.ephys.ephys_rig.LaserAssembly]] = None, cameras: Optional[types.ConstrainedListValue[aind_data_schema.device.CameraAssembly]] = None, visual_monitors: Optional[types.ConstrainedListValue[aind_data_schema.device.Monitor]] = None, mouse_platform: Optional[Union[aind_data_schema.device.Tube, aind_data_schema.device.Treadmill, aind_data_schema.device.Disc]] = None, daqs: Optional[List[Union[aind_data_schema.device.HarpDevice, aind_data_schema.ephys.ephys_rig.NeuropixelsBasestation, aind_data_schema.ephys.ephys_rig.OpenEphysAcquisitionBoard, aind_data_schema.device.DAQDevice]]] = None, additional_devices: Optional[types.ConstrainedListValue[aind_data_schema.device.Device]] = None, notes: Optional[str] = None)#

Bases: aind_data_schema.base.AindCoreModel

Description of an ephys rig

additional_devices: Optional[List[aind_data_schema.device.Device]]#
cameras: Optional[List[aind_data_schema.device.CameraAssembly]]#
daqs: Optional[List[Union[aind_data_schema.device.HarpDevice, aind_data_schema.ephys.ephys_rig.NeuropixelsBasestation, aind_data_schema.ephys.ephys_rig.OpenEphysAcquisitionBoard, aind_data_schema.device.DAQDevice]]]#
ephys_assemblies: Optional[List[aind_data_schema.ephys.ephys_rig.EphysAssembly]]#
laser_assemblies: Optional[List[aind_data_schema.ephys.ephys_rig.LaserAssembly]]#
mouse_platform: Optional[Union[aind_data_schema.device.Tube, aind_data_schema.device.Treadmill, aind_data_schema.device.Disc]]#
notes: Optional[str]#
rig_id: str#
schema_version: str#
stick_microscopes: Optional[List[aind_data_schema.ephys.ephys_rig.StickMicroscopeAssembly]]#
classmethod validate_device_names(values)#

validate that all DAQ channels are connected to devices that actually exist

classmethod validate_probe_names(values)#

validate that all DAQ probe ports are connected to probes that actually exist

visual_monitors: Optional[List[aind_data_schema.device.Monitor]]#
class aind_data_schema.EphysSession(*, describedBy: str = 'https://raw.githubusercontent.com/AllenNeuralDynamics/aind-data-schema/main/src/aind_data_schema/ephys/ephys_session.py', schema_version: str = '0.4.5', experimenter_full_name: List[str], session_start_time: datetime.datetime, session_end_time: datetime.datetime, subject_id: str, session_type: aind_data_schema.ephys.ephys_session.SessionType, session_description: Optional[str] = None, iacuc_protocol: Optional[str] = None, rig_id: str, stick_microscopes: Optional[List[aind_data_schema.ephys.ephys_session.DomeModule]], data_streams: types.ConstrainedListValue[aind_data_schema.ephys.ephys_session.Stream], ccf_coordinate_transform: Optional[str] = None, notes: Optional[str] = None)#

Bases: aind_data_schema.base.AindCoreModel

Description of an ephys recording session

ccf_coordinate_transform: Optional[str]#
data_streams: List[aind_data_schema.ephys.ephys_session.Stream]#
experimenter_full_name: List[str]#
iacuc_protocol: Optional[str]#
notes: Optional[str]#
rig_id: str#
schema_version: str#
session_description: Optional[str]#
session_end_time: datetime.datetime#
session_start_time: datetime.datetime#
session_type: aind_data_schema.ephys.ephys_session.SessionType#
stick_microscopes: Optional[List[aind_data_schema.ephys.ephys_session.DomeModule]]#
subject_id: str#
class aind_data_schema.Funding(*, funder: str, grant_number: Optional[str] = None, fundee: Optional[str] = None)#

Bases: aind_data_schema.base.AindModel

Description of funding sources

fundee: Optional[str]#
funder: str#
grant_number: Optional[str]#
class aind_data_schema.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]]#
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.LightCycle(*, lights_on_time: datetime.time, lights_off_time: datetime.time)#

Bases: aind_data_schema.base.AindModel

Description of vivarium light cycle times

lights_off_time: datetime.time#
lights_on_time: datetime.time#
class aind_data_schema.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]#
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.OphysRig(*, describedBy: str = 'https://raw.githubusercontent.com/AllenNeuralDynamics/aind-data-schema/main/src/aind_data_schema/ophys/ophys_rig.py', schema_version: str = '0.5.1', rig_id: str, temperature_control: Optional[bool] = None, humidity_control: Optional[bool] = None, vibration_control: Optional[bool] = None, patch_cords: Optional[types.ConstrainedListValue[aind_data_schema.ophys.ophys_rig.Patch]], light_sources: types.ConstrainedListValue[Union[aind_data_schema.device.Laser, aind_data_schema.device.LightEmittingDiode]], detectors: Optional[types.ConstrainedListValue[aind_data_schema.ophys.ophys_rig.Detector]] = None, filters: Optional[types.ConstrainedListValue[aind_data_schema.device.Filter]] = None, lenses: Optional[types.ConstrainedListValue[aind_data_schema.device.Lens]] = None, cameras: Optional[types.ConstrainedListValue[aind_data_schema.device.CameraAssembly]] = None, mouse_platform: Optional[Union[aind_data_schema.device.Tube, aind_data_schema.device.Treadmill, aind_data_schema.device.Disc]] = None, visual_monitors: Optional[types.ConstrainedListValue[aind_data_schema.device.Monitor]] = None, daqs: Optional[List[Union[aind_data_schema.device.HarpDevice, aind_data_schema.device.DAQDevice]]] = None, additional_devices: Optional[types.ConstrainedListValue[aind_data_schema.device.Device]] = None, light_path_diagram: Optional[str] = None, notes: Optional[str] = None)#

Bases: aind_data_schema.base.AindCoreModel

Description of an optical physiology rig

additional_devices: Optional[List[aind_data_schema.device.Device]]#
cameras: Optional[List[aind_data_schema.device.CameraAssembly]]#
daqs: Optional[List[Union[aind_data_schema.device.HarpDevice, aind_data_schema.device.DAQDevice]]]#
detectors: Optional[List[aind_data_schema.ophys.ophys_rig.Detector]]#
filters: Optional[List[aind_data_schema.device.Filter]]#
humidity_control: Optional[bool]#
lenses: Optional[List[aind_data_schema.device.Lens]]#
light_path_diagram: Optional[str]#
light_sources: List[Union[aind_data_schema.device.Laser, aind_data_schema.device.LightEmittingDiode]]#
mouse_platform: Optional[Union[aind_data_schema.device.Tube, aind_data_schema.device.Treadmill, aind_data_schema.device.Disc]]#
notes: Optional[str]#
patch_cords: Optional[List[aind_data_schema.ophys.ophys_rig.Patch]]#
rig_id: str#
schema_version: str#
temperature_control: Optional[bool]#
vibration_control: Optional[bool]#
visual_monitors: Optional[List[aind_data_schema.device.Monitor]]#
class aind_data_schema.OphysSession(*, describedBy: str = 'https://raw.githubusercontent.com/AllenNeuralDynamics/aind-data-schema/main/src/aind_data_schema/ophys/ophys_session.py', schema_version: str = '0.2.3', experimenter_full_name: List[str], session_start_time: datetime.datetime, session_end_time: Optional[datetime.datetime] = None, subject_id: int, session_type: str, iacuc_protocol: Optional[str] = None, rig_id: str, light_sources: types.ConstrainedListValue[Union[aind_data_schema.ophys.ophys_session.Laser, aind_data_schema.ophys.ophys_session.LightEmittingDiode]], detectors: Optional[types.ConstrainedListValue[aind_data_schema.ophys.ophys_session.Detector]] = None, cameras: Optional[types.ConstrainedListValue[aind_data_schema.ophys.ophys_session.Camera]] = None, stimulus_presentations: Optional[List[aind_data_schema.stimulus.StimulusPresentation]] = None, notes: Optional[str] = None)#

Bases: aind_data_schema.base.AindCoreModel

Description of an ophys session

cameras: Optional[List[aind_data_schema.ophys.ophys_session.Camera]]#
detectors: Optional[List[aind_data_schema.ophys.ophys_session.Detector]]#
experimenter_full_name: List[str]#
iacuc_protocol: Optional[str]#
light_sources: List[Union[aind_data_schema.ophys.ophys_session.Laser, aind_data_schema.ophys.ophys_session.LightEmittingDiode]]#
notes: Optional[str]#
rig_id: str#
schema_version: str#
session_end_time: Optional[datetime.datetime]#
session_start_time: datetime.datetime#
session_type: str#
stimulus_presentations: Optional[List[aind_data_schema.stimulus.StimulusPresentation]]#
subject_id: int#
class aind_data_schema.Procedures(*, describedBy: str = 'https://raw.githubusercontent.com/AllenNeuralDynamics/aind-data-schema/main/src/aind_data_schema/procedures.py', schema_version: str = '0.7.8', subject_id: str, subject_procedures: Optional[types.ConstrainedListValue[Union[aind_data_schema.procedures.Headframe, aind_data_schema.procedures.Craniotomy, aind_data_schema.procedures.RetroOrbitalInjection, aind_data_schema.procedures.NanojectInjection, aind_data_schema.procedures.IontophoresisInjection, aind_data_schema.procedures.IntraCerebellarVentricleInjection, aind_data_schema.procedures.IntraCisternalMagnaInjection, aind_data_schema.procedures.FiberImplant, aind_data_schema.procedures.WaterRestriction, aind_data_schema.procedures.TrainingProtocol, aind_data_schema.procedures.Perfusion, aind_data_schema.procedures.SubjectProcedure]]] = [], specimen_procedures: Optional[types.ConstrainedListValue[Union[aind_data_schema.procedures.HCRSeries, aind_data_schema.procedures.SpecimenProcedure]]] = [], notes: Optional[str] = None)#

Bases: aind_data_schema.base.AindCoreModel

Description of all procedures performed on a subject

describedBy: str#
notes: Optional[str]#
schema_version: str#
specimen_procedures: Optional[List[Union[aind_data_schema.procedures.HCRSeries, aind_data_schema.procedures.SpecimenProcedure]]]#
subject_id: str#
subject_procedures: Optional[List[Union[aind_data_schema.procedures.Headframe, aind_data_schema.procedures.Craniotomy, aind_data_schema.procedures.RetroOrbitalInjection, aind_data_schema.procedures.NanojectInjection, aind_data_schema.procedures.IontophoresisInjection, aind_data_schema.procedures.IntraCerebellarVentricleInjection, aind_data_schema.procedures.IntraCisternalMagnaInjection, aind_data_schema.procedures.FiberImplant, aind_data_schema.procedures.WaterRestriction, aind_data_schema.procedures.TrainingProtocol, aind_data_schema.procedures.Perfusion, aind_data_schema.procedures.SubjectProcedure]]]#
class aind_data_schema.Processing(*, describedBy: str = 'https://raw.githubusercontent.com/AllenNeuralDynamics/aind-data-schema/main/src/aind_data_schema/processing.py', schema_version: str = '0.2.1', pipeline_version: Optional[str] = None, pipeline_url: Optional[str] = None, data_processes: types.ConstrainedListValue[aind_data_schema.processing.DataProcess])#

Bases: aind_data_schema.base.AindCoreModel

Description of all processes run on data

data_processes: List[aind_data_schema.processing.DataProcess]#
describedBy: str#
pipeline_url: Optional[str]#
pipeline_version: Optional[str]#
schema_version: str#
class aind_data_schema.RawDataDescription(experiment_type, subject_id, *, describedBy: str = 'https://raw.githubusercontent.com/AllenNeuralDynamics/aind-data-schema/main/src/aind_data_schema/data_description.py', schema_version: str = '0.6.3', license: str = 'CC-BY-4.0', creation_time: datetime.time, creation_date: datetime.date, name: Optional[str] = None, institution: aind_data_schema.data_description.Institution, funding_source: List[aind_data_schema.data_description.Funding], data_level: aind_data_schema.data_description.DataLevel = DataLevel.RAW_DATA, group: Optional[aind_data_schema.data_description.Group] = None, investigators: List[str], project_name: Optional[str] = None, project_id: Optional[str] = None, restrictions: Optional[str] = None, modality: List[aind_data_schema.data_description.Modality], related_data: Optional[List[aind_data_schema.data_description.RelatedData]] = [], data_summary: Optional[str] = None)#

Bases: aind_data_schema.data_description.DataDescription

A logical collection of data files as acquired from a rig or instrument

creation_date: datetime.date#
creation_time: datetime.time#
data_level: aind_data_schema.data_description.DataLevel#
data_summary: Optional[str]#
describedBy: str#
experiment_type: aind_data_schema.data_description.ExperimentType#
funding_source: List[aind_data_schema.data_description.Funding]#
group: Optional[aind_data_schema.data_description.Group]#