{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://schema.humancellatlas.org/type/protocol/imaging/8.0.0/imaging_protocol",
  "description": "Information about the imaging protocol",
  "additionalProperties": false,
  "required": [
    "describedBy",
    "schema_type",
    "protocol_core",
    "protocol_type",
    "microscopy_technique",
    "magnification",
    "numerical_aperture",
    "overlapping_tiles",
    "channel",
    "imaging_target",
    "pixel_size"
  ],
  "title": "Imaging Protocol",
  "name": "imaging_protocol",
  "type": "object",
  "properties": {
    "describedBy": {
      "description": "The URL reference to the schema.",
      "type": "string",
      "pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/protocol/imaging/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/imaging_protocol"
    },
    "schema_version": {
      "description": "The version number of the schema in major.minor.patch format.",
      "type": "string",
      "pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$",
      "example": "4.6.1"
    },
    "schema_type": {
      "description": "The type of the metadata schema entity.",
      "type": "string",
      "enum": [
        "protocol"
      ]
    },
    "provenance": {
      "description": "Provenance information provided by the system.",
      "type": "object",
      "$ref": "https://schema.humancellatlas.org/system/1.0.3/provenance"
    },
    "protocol_core": {
      "description": "Core protocol-level information.",
      "type": "object",
      "$ref": "https://schema.humancellatlas.org/core/protocol/5.2.4/protocol_core"
    },
    "microscope_setup_description": {
      "description": "Description of the microscope setup including manufacturer and model information about the stand, camera and objective.",
      "type": "string",
      "user_friendly": "Microscope setup description",
      "example": "Motorized stage (SCAN IM 112 \u00d7 74, Marzhauser), sCMOS camera (Zyla 4.2; Andor), 60x, Plan-Apo, 1.3 NA, silicone oil objective (UPLSAPO60XS2; Olympus)."
    },
    "microscopy_technique": {
      "description": "The type of microscopy. Must be a child term of https://www.ebi.ac.uk/ols/ontologies/efo/terms?iri=http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FOBI_0000272.",
      "type": "object",
      "$ref": "https://schema.humancellatlas.org/module/ontology/1.0.0/microscopy_ontology",
      "user_friendly": "Microscopy technique"
    },
    "magnification": {
      "description": "Magnification of the objective used for imaging.",
      "type": "string",
      "user_friendly": "Magnification",
      "example": "60x"
    },
    "numerical_aperture": {
      "description": "Numerical aperture of the objective.",
      "type": "number",
      "user_friendly": "Numerical aperture",
      "example": "1.3"
    },
    "immersion_medium_type": {
      "description": "Immersion medium used for imaging.",
      "type": "string",
      "user_friendly": "Immersion medium",
      "example": "oil"
    },
    "immersion_medium_refractive_index": {
      "description": "Refractive index of the immersion medium used for imaging.",
      "type": "number",
      "user_friendly": "Refractive index of the immersion medium",
      "example": "1.5"
    },
    "pixel_size": {
      "description": "Pixel size in nanometres (scaling factor).",
      "type": "number",
      "user_friendly": "Pixel size",
      "example": "109"
    },
    "number_of_tiles": {
      "description": "Number of XY tiles in the experiment.",
      "type": "integer",
      "user_friendly": "Number of tiles",
      "example": "2000"
    },
    "tile_size_y": {
      "description": "Y size of the tile in micrometres.",
      "type": "number",
      "user_friendly": "Tile size Y"
    },
    "tile_size_x": {
      "description": "X size of the tile in micrometres.",
      "type": "number",
      "user_friendly": "Tile size X"
    },
    "z_stack_step_size": {
      "description": "Z-stack step size in nanometres.",
      "type": "number",
      "user_friendly": "Z stack step size",
      "example": "200"
    },
    "number_of_z_steps": {
      "description": "Number of steps in a Z stack.",
      "type": "integer",
      "user_friendly": "Number of Z steps",
      "example": "40"
    },
    "overlapping_tiles": {
      "description": "Were tiles collected with overlap?",
      "type": "string",
      "user_friendly": "Overlapping tiles?",
      "example": "no",
      "enum": [
        "yes",
        "no"
      ]
    },
    "channel": {
      "description": "Information about each channel used in the imaging protocol.",
      "type": "array",
      "items": {
        "$ref": "https://schema.humancellatlas.org/module/protocol/1.0.0/channel"
      },
      "user_friendly": "Channel"
    },
    "imaging_target": {
      "description": "Information about each imaging target in the imaging experiment.",
      "type": "array",
      "items": {
        "$ref": "https://schema.humancellatlas.org/module/protocol/1.0.0/imaging_target"
      },
      "user_friendly": "Imaging target"
    }
  }
}
