aind_data_schema.imaging package#

Submodules#

aind_data_schema.imaging.tile module#

“ Models related to imaging tiles and their transformations

pydantic model aind_data_schema.imaging.tile.AcquisitionTile#

Bases: Tile

Description of acquisition tile

Show JSON schema
{
   "title": "AcquisitionTile",
   "description": "Description of acquisition tile",
   "type": "object",
   "properties": {
      "coordinate_transformations": {
         "items": {
            "discriminator": {
               "mapping": {
                  "affine": "#/$defs/Affine3dTransform",
                  "rotation": "#/$defs/Rotation3dTransform",
                  "scale": "#/$defs/Scale3dTransform",
                  "translation": "#/$defs/Translation3dTransform"
               },
               "propertyName": "type"
            },
            "oneOf": [
               {
                  "$ref": "#/$defs/Scale3dTransform"
               },
               {
                  "$ref": "#/$defs/Translation3dTransform"
               },
               {
                  "$ref": "#/$defs/Rotation3dTransform"
               },
               {
                  "$ref": "#/$defs/Affine3dTransform"
               }
            ]
         },
         "title": "Tile coordinate transformations",
         "type": "array"
      },
      "file_name": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "File name"
      },
      "channel": {
         "$ref": "#/$defs/Channel"
      },
      "notes": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Notes"
      },
      "imaging_angle": {
         "default": 0,
         "title": "Imaging angle",
         "type": "integer"
      },
      "imaging_angle_unit": {
         "allOf": [
            {
               "$ref": "#/$defs/AngleUnit"
            }
         ],
         "default": "degrees",
         "title": "Imaging angle unit"
      }
   },
   "$defs": {
      "Affine3dTransform": {
         "additionalProperties": false,
         "description": "Values to be vector-added to a 3D position. Often needed to specify a Tile's origin.",
         "properties": {
            "type": {
               "const": "affine",
               "default": "affine",
               "title": "Type"
            },
            "affine_transform": {
               "items": {
                  "anyOf": [
                     {
                        "type": "number"
                     },
                     {
                        "type": "string"
                     }
                  ]
               },
               "maxItems": 12,
               "minItems": 12,
               "title": "Affine transform matrix values (top 3x4 matrix)",
               "type": "array"
            }
         },
         "required": [
            "affine_transform"
         ],
         "title": "Affine3dTransform",
         "type": "object"
      },
      "AngleUnit": {
         "description": "Enumeration of Angle Measurements",
         "enum": [
            "radians",
            "degrees"
         ],
         "title": "AngleUnit",
         "type": "string"
      },
      "Channel": {
         "additionalProperties": false,
         "description": "Description of a channel",
         "properties": {
            "channel_name": {
               "title": "Channel",
               "type": "string"
            },
            "light_source_name": {
               "description": "Must match device name",
               "title": "Light source name",
               "type": "string"
            },
            "filter_names": {
               "description": "Must match device names",
               "items": {
                  "type": "string"
               },
               "title": "Filter names",
               "type": "array"
            },
            "detector_name": {
               "description": "Must match device name",
               "title": "Detector name",
               "type": "string"
            },
            "additional_device_names": {
               "default": [],
               "items": {
                  "type": "string"
               },
               "title": "Additional device names",
               "type": "array"
            },
            "excitation_wavelength": {
               "maximum": 1000,
               "minimum": 300,
               "title": "Wavelength",
               "type": "integer"
            },
            "excitation_wavelength_unit": {
               "allOf": [
                  {
                     "$ref": "#/$defs/SizeUnit"
                  }
               ],
               "default": "nanometer",
               "title": "Laser wavelength unit"
            },
            "excitation_power": {
               "maximum": 2000.0,
               "title": "Laser power",
               "type": "number"
            },
            "excitation_power_unit": {
               "allOf": [
                  {
                     "$ref": "#/$defs/PowerUnit"
                  }
               ],
               "default": "milliwatt",
               "title": "Laser power unit"
            },
            "filter_wheel_index": {
               "title": "Filter wheel index",
               "type": "integer"
            },
            "dilation": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Dilation (pixels)"
            },
            "dilation_unit": {
               "allOf": [
                  {
                     "$ref": "#/$defs/SizeUnit"
                  }
               ],
               "default": "pixel",
               "title": "Dilation unit"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            }
         },
         "required": [
            "channel_name",
            "light_source_name",
            "filter_names",
            "detector_name",
            "excitation_wavelength",
            "excitation_power",
            "filter_wheel_index"
         ],
         "title": "Channel",
         "type": "object"
      },
      "PowerUnit": {
         "description": "Unit for power, set or measured",
         "enum": [
            "microwatt",
            "milliwatt",
            "percent"
         ],
         "title": "PowerUnit",
         "type": "string"
      },
      "Rotation3dTransform": {
         "additionalProperties": false,
         "description": "Values to be vector-added to a 3D position. Often needed to specify a device or tile's origin.",
         "properties": {
            "type": {
               "const": "rotation",
               "default": "rotation",
               "title": "Type"
            },
            "rotation": {
               "items": {
                  "anyOf": [
                     {
                        "type": "number"
                     },
                     {
                        "type": "string"
                     }
                  ]
               },
               "maxItems": 9,
               "minItems": 9,
               "title": "3D rotation matrix values (3x3) ",
               "type": "array"
            }
         },
         "required": [
            "rotation"
         ],
         "title": "Rotation3dTransform",
         "type": "object"
      },
      "Scale3dTransform": {
         "additionalProperties": false,
         "description": "Values to be vector-multiplied with a 3D position, equivalent to the diagonals of a 3x3 transform matrix.\nRepresents voxel spacing if used as the first applied coordinate transform.",
         "properties": {
            "type": {
               "const": "scale",
               "default": "scale",
               "title": "Type"
            },
            "scale": {
               "items": {
                  "anyOf": [
                     {
                        "type": "number"
                     },
                     {
                        "type": "string"
                     }
                  ]
               },
               "maxItems": 3,
               "minItems": 3,
               "title": "3D scale parameters",
               "type": "array"
            }
         },
         "required": [
            "scale"
         ],
         "title": "Scale3dTransform",
         "type": "object"
      },
      "SizeUnit": {
         "description": "Enumeration of Length Measurements",
         "enum": [
            "meter",
            "centimeter",
            "millimeter",
            "micrometer",
            "nanometer",
            "inch",
            "pixel"
         ],
         "title": "SizeUnit",
         "type": "string"
      },
      "Translation3dTransform": {
         "additionalProperties": false,
         "description": "Values to be vector-added to a 3D position. Often needed to specify a device or tile's origin.",
         "properties": {
            "type": {
               "const": "translation",
               "default": "translation",
               "title": "Type"
            },
            "translation": {
               "items": {
                  "anyOf": [
                     {
                        "type": "number"
                     },
                     {
                        "type": "string"
                     }
                  ]
               },
               "maxItems": 3,
               "minItems": 3,
               "title": "3D translation parameters",
               "type": "array"
            }
         },
         "required": [
            "translation"
         ],
         "title": "Translation3dTransform",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "coordinate_transformations",
      "channel"
   ]
}

Config:
  • extra: str = forbid

  • use_enum_values: bool = True

Fields:
field channel: Channel [Required]#
field imaging_angle: int = 0#
field imaging_angle_unit: AngleUnit = AngleUnit.DEG#
field notes: str | None = None#
pydantic model aind_data_schema.imaging.tile.Channel#

Bases: AindModel

Description of a channel

Show JSON schema
{
   "title": "Channel",
   "description": "Description of a channel",
   "type": "object",
   "properties": {
      "channel_name": {
         "title": "Channel",
         "type": "string"
      },
      "light_source_name": {
         "description": "Must match device name",
         "title": "Light source name",
         "type": "string"
      },
      "filter_names": {
         "description": "Must match device names",
         "items": {
            "type": "string"
         },
         "title": "Filter names",
         "type": "array"
      },
      "detector_name": {
         "description": "Must match device name",
         "title": "Detector name",
         "type": "string"
      },
      "additional_device_names": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "Additional device names",
         "type": "array"
      },
      "excitation_wavelength": {
         "maximum": 1000,
         "minimum": 300,
         "title": "Wavelength",
         "type": "integer"
      },
      "excitation_wavelength_unit": {
         "allOf": [
            {
               "$ref": "#/$defs/SizeUnit"
            }
         ],
         "default": "nanometer",
         "title": "Laser wavelength unit"
      },
      "excitation_power": {
         "maximum": 2000.0,
         "title": "Laser power",
         "type": "number"
      },
      "excitation_power_unit": {
         "allOf": [
            {
               "$ref": "#/$defs/PowerUnit"
            }
         ],
         "default": "milliwatt",
         "title": "Laser power unit"
      },
      "filter_wheel_index": {
         "title": "Filter wheel index",
         "type": "integer"
      },
      "dilation": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Dilation (pixels)"
      },
      "dilation_unit": {
         "allOf": [
            {
               "$ref": "#/$defs/SizeUnit"
            }
         ],
         "default": "pixel",
         "title": "Dilation unit"
      },
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Description"
      }
   },
   "$defs": {
      "PowerUnit": {
         "description": "Unit for power, set or measured",
         "enum": [
            "microwatt",
            "milliwatt",
            "percent"
         ],
         "title": "PowerUnit",
         "type": "string"
      },
      "SizeUnit": {
         "description": "Enumeration of Length Measurements",
         "enum": [
            "meter",
            "centimeter",
            "millimeter",
            "micrometer",
            "nanometer",
            "inch",
            "pixel"
         ],
         "title": "SizeUnit",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "required": [
      "channel_name",
      "light_source_name",
      "filter_names",
      "detector_name",
      "excitation_wavelength",
      "excitation_power",
      "filter_wheel_index"
   ]
}

Config:
  • extra: str = forbid

  • use_enum_values: bool = True

Fields:
field additional_device_names: List[str] = []#
field channel_name: str [Required]#
field description: str | None = None#
field detector_name: str [Required]#

Must match device name

field dilation: int | None = None#
field dilation_unit: SizeUnit = SizeUnit.PX#
field excitation_power: float [Required]#
Constraints:
  • le = 2000

field excitation_power_unit: PowerUnit = PowerUnit.MW#
field excitation_wavelength: int [Required]#
Constraints:
  • ge = 300

  • le = 1000

field excitation_wavelength_unit: SizeUnit = SizeUnit.NM#
field filter_names: List[str] [Required]#

Must match device names

field filter_wheel_index: int [Required]#
field light_source_name: str [Required]#

Must match device name

pydantic model aind_data_schema.imaging.tile.Tile#

Bases: AindModel

Description of an image tile

Show JSON schema
{
   "title": "Tile",
   "description": "Description of an image tile",
   "type": "object",
   "properties": {
      "coordinate_transformations": {
         "items": {
            "discriminator": {
               "mapping": {
                  "affine": "#/$defs/Affine3dTransform",
                  "rotation": "#/$defs/Rotation3dTransform",
                  "scale": "#/$defs/Scale3dTransform",
                  "translation": "#/$defs/Translation3dTransform"
               },
               "propertyName": "type"
            },
            "oneOf": [
               {
                  "$ref": "#/$defs/Scale3dTransform"
               },
               {
                  "$ref": "#/$defs/Translation3dTransform"
               },
               {
                  "$ref": "#/$defs/Rotation3dTransform"
               },
               {
                  "$ref": "#/$defs/Affine3dTransform"
               }
            ]
         },
         "title": "Tile coordinate transformations",
         "type": "array"
      },
      "file_name": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "File name"
      }
   },
   "$defs": {
      "Affine3dTransform": {
         "additionalProperties": false,
         "description": "Values to be vector-added to a 3D position. Often needed to specify a Tile's origin.",
         "properties": {
            "type": {
               "const": "affine",
               "default": "affine",
               "title": "Type"
            },
            "affine_transform": {
               "items": {
                  "anyOf": [
                     {
                        "type": "number"
                     },
                     {
                        "type": "string"
                     }
                  ]
               },
               "maxItems": 12,
               "minItems": 12,
               "title": "Affine transform matrix values (top 3x4 matrix)",
               "type": "array"
            }
         },
         "required": [
            "affine_transform"
         ],
         "title": "Affine3dTransform",
         "type": "object"
      },
      "Rotation3dTransform": {
         "additionalProperties": false,
         "description": "Values to be vector-added to a 3D position. Often needed to specify a device or tile's origin.",
         "properties": {
            "type": {
               "const": "rotation",
               "default": "rotation",
               "title": "Type"
            },
            "rotation": {
               "items": {
                  "anyOf": [
                     {
                        "type": "number"
                     },
                     {
                        "type": "string"
                     }
                  ]
               },
               "maxItems": 9,
               "minItems": 9,
               "title": "3D rotation matrix values (3x3) ",
               "type": "array"
            }
         },
         "required": [
            "rotation"
         ],
         "title": "Rotation3dTransform",
         "type": "object"
      },
      "Scale3dTransform": {
         "additionalProperties": false,
         "description": "Values to be vector-multiplied with a 3D position, equivalent to the diagonals of a 3x3 transform matrix.\nRepresents voxel spacing if used as the first applied coordinate transform.",
         "properties": {
            "type": {
               "const": "scale",
               "default": "scale",
               "title": "Type"
            },
            "scale": {
               "items": {
                  "anyOf": [
                     {
                        "type": "number"
                     },
                     {
                        "type": "string"
                     }
                  ]
               },
               "maxItems": 3,
               "minItems": 3,
               "title": "3D scale parameters",
               "type": "array"
            }
         },
         "required": [
            "scale"
         ],
         "title": "Scale3dTransform",
         "type": "object"
      },
      "Translation3dTransform": {
         "additionalProperties": false,
         "description": "Values to be vector-added to a 3D position. Often needed to specify a device or tile's origin.",
         "properties": {
            "type": {
               "const": "translation",
               "default": "translation",
               "title": "Type"
            },
            "translation": {
               "items": {
                  "anyOf": [
                     {
                        "type": "number"
                     },
                     {
                        "type": "string"
                     }
                  ]
               },
               "maxItems": 3,
               "minItems": 3,
               "title": "3D translation parameters",
               "type": "array"
            }
         },
         "required": [
            "translation"
         ],
         "title": "Translation3dTransform",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "coordinate_transformations"
   ]
}

Config:
  • extra: str = forbid

  • use_enum_values: bool = True

Fields:
field coordinate_transformations: List[Scale3dTransform | aind_data_schema.models.coordinates.Translation3dTransform | aind_data_schema.models.coordinates.Rotation3dTransform | aind_data_schema.models.coordinates.Affine3dTransform[Scale3dTransform | Translation3dTransform | Rotation3dTransform | Affine3dTransform]] [Required]#
field file_name: str | None = None#

Module contents#

imports for imaging subpackage