Coordinates schemas

Table of contents

  1. How to use this page
  2. Quick type map
  3. Examples
    1. Coordinates payload fragment
  4. Request pattern
  5. Schema reference
    1. CCF_XYZ_Absolute
    2. External_XYZ_Absolute
    3. Stereotaxic_BregmaAbsolute
    4. Stereotaxic_BregmaBrainSurface
    5. Stereotaxic_LambdaAbsolute
    6. Stereotaxic_LambdaBrainSurface

How to use this page

  • Use this page when calling /api/private/modules/procedure/.
  • Set coordinates_system to one schema name from the list below.
  • Send coordinates_details that matches that schema exactly.
  • Also used by /api/private/modules/equipment/ for equipment location/orientation data.

Quick type map

Type valueSchema versionRequired fieldsSchema shape
CCF_XYZ_Absolute1.1.0noneobject
External_XYZ_Absolute1.1.0noneobject
Stereotaxic_BregmaAbsolute1.1.0noneobject
Stereotaxic_BregmaBrainSurface1.1.0noneobject
Stereotaxic_LambdaAbsolute1.1.0noneobject
Stereotaxic_LambdaBrainSurface1.1.0noneobject

Examples

Coordinates payload fragment

{
  "coordinates_system": "CCF_XYZ_Absolute",
  "coordinates_details": {
    "x": {
      "unit": "mm",
      "value": 0
    },
    "xAngle": {
      "unit": "°",
      "value": 0
    },
    "y": {
      "unit": "mm",
      "value": 0
    },
    "yAngle": {
      "unit": "°",
      "value": 0
    }
  }
}

Request pattern

{
  "coordinates_system": "CCF_XYZ_Absolute",
  "coordinates_details": {
    "x": {
      "unit": "mm",
      "value": 0
    },
    "xAngle": {
      "unit": "°",
      "value": 0
    },
    "y": {
      "unit": "mm",
      "value": 0
    },
    "yAngle": {
      "unit": "°",
      "value": 0
    }
  }
}

Schema reference

CCF_XYZ_Absolute

  • Schema title: Common Coordinate Framework XYZ Absolute Coordinates
  • Schema version: 1.1.0
  • Source: brainstem/schemas/Coordinates/CCF_XYZ_Absolute.json
  • Schema shape: object
  • Required fields: none

Example payload for this type:

{
  "x": {
    "unit": "mm",
    "value": 0
  },
  "xAngle": {
    "unit": "°",
    "value": 0
  },
  "y": {
    "unit": "mm",
    "value": 0
  },
  "yAngle": {
    "unit": "°",
    "value": 0
  }
}
FieldExpected valueRequiredConstraints/format
xobject(value:number, unit:enum[nm, µm, mm, m])noformat=”numberUnit”; default={“unit”: “mm”}
xAngleobject(value:number, unit:enum[°])noformat=”numberUnit”; default={“unit”: “°”}
yobject(value:number, unit:enum[nm, µm, mm, m])noformat=”numberUnit”; default={“unit”: “mm”}
yAngleobject(value:number, unit:enum[°])noformat=”numberUnit”; default={“unit”: “°”}
zobject(value:number, unit:enum[nm, µm, mm, m])noformat=”numberUnit”; default={“unit”: “mm”}
zAngleobject(value:number, unit:enum[°])noformat=”numberUnit”; default={“unit”: “°”}

External_XYZ_Absolute

  • Schema title: External XYZ Coordinates with Angles
  • Schema version: 1.1.0
  • Source: brainstem/schemas/Coordinates/External_XYZ_Absolute.json
  • Schema shape: object
  • Required fields: none

Example payload for this type:

{
  "x": {
    "unit": "m",
    "value": 0
  },
  "xAngle": {
    "unit": "°",
    "value": 0
  },
  "y": {
    "unit": "m",
    "value": 0
  },
  "yAngle": {
    "unit": "°",
    "value": 0
  }
}
FieldExpected valueRequiredConstraints/format
xobject(value:number, unit:enum[nm, µm, mm, m])noformat=”numberUnit”; default={“unit”: “m”}
xAngleobject(value:number, unit:enum[°])noformat=”numberUnit”; default={“unit”: “°”}
yobject(value:number, unit:enum[nm, µm, mm, m])noformat=”numberUnit”; default={“unit”: “m”}
yAngleobject(value:number, unit:enum[°])noformat=”numberUnit”; default={“unit”: “°”}
zobject(value:number, unit:enum[nm, µm, mm, m])noformat=”numberUnit”; default={“unit”: “m”}
zAngleobject(value:number, unit:enum[°])noformat=”numberUnit”; default={“unit”: “°”}

Stereotaxic_BregmaAbsolute

  • Schema title: Stereotaxic Bregma-Based Absolute Coordinates
  • Schema version: 1.1.0
  • Source: brainstem/schemas/Coordinates/Stereotaxic_BregmaAbsolute.json
  • Schema shape: object
  • Required fields: none

Example payload for this type:

{
  "apCoordinate": {
    "unit": "mm",
    "value": 0
  },
  "apAngle": {
    "unit": "°",
    "value": 0
  },
  "mlCoordinate": {
    "unit": "mm",
    "value": 0
  },
  "mlAngle": {
    "unit": "°",
    "value": 0
  }
}
FieldExpected valueRequiredConstraints/format
apAngleobject(value:number, unit:enum[°])noformat=”numberUnit”; default={“unit”: “°”}
apCoordinateobject(value:number, unit:enum[nm, µm, mm, m])noformat=”numberUnit”; default={“unit”: “mm”}
dvAngleobject(value:number, unit:enum[°])noformat=”numberUnit”; default={“unit”: “°”}
dvCoordinateobject(value:number, unit:enum[nm, µm, mm, m])noformat=”numberUnit”; default={“unit”: “mm”}
mlAngleobject(value:number, unit:enum[°])noformat=”numberUnit”; default={“unit”: “°”}
mlCoordinateobject(value:number, unit:enum[nm, µm, mm, m])noformat=”numberUnit”; default={“unit”: “mm”}

Stereotaxic_BregmaBrainSurface

  • Schema title: Stereotaxic Bregma-Based Surface Coordinates with Depth
  • Schema version: 1.1.0
  • Source: brainstem/schemas/Coordinates/Stereotaxic_BregmaBrainSurface.json
  • Schema shape: object
  • Required fields: none

Example payload for this type:

{
  "apCoordinate": {
    "unit": "mm",
    "value": 0
  },
  "apAngle": {
    "unit": "°",
    "value": 0
  },
  "mlCoordinate": {
    "unit": "mm",
    "value": 0
  },
  "mlAngle": {
    "unit": "°",
    "value": 0
  }
}
FieldExpected valueRequiredConstraints/format
apAngleobject(value:number, unit:enum[°])noformat=”numberUnit”; default={“unit”: “°”}
apCoordinateobject(value:number, unit:enum[nm, µm, mm, m])noformat=”numberUnit”; default={“unit”: “mm”}
depthobject(value:number, unit:enum[nm, µm, mm, m])noformat=”numberUnit”; default={“unit”: “mm”}
mlAngleobject(value:number, unit:enum[°])noformat=”numberUnit”; default={“unit”: “°”}
mlCoordinateobject(value:number, unit:enum[nm, µm, mm, m])noformat=”numberUnit”; default={“unit”: “mm”}
rotationobject(value:number, unit:enum[°])noformat=”numberUnit”; default={“unit”: “°”}

Stereotaxic_LambdaAbsolute

  • Schema title: Stereotaxic Lambda-Based Absolute Coordinates
  • Schema version: 1.1.0
  • Source: brainstem/schemas/Coordinates/Stereotaxic_LambdaAbsolute.json
  • Schema shape: object
  • Required fields: none

Example payload for this type:

{
  "apCoordinate": {
    "unit": "mm",
    "value": 0
  },
  "apAngle": {
    "unit": "°",
    "value": 0
  },
  "mlCoordinate": {
    "unit": "mm",
    "value": 0
  },
  "mlAngle": {
    "unit": "°",
    "value": 0
  }
}
FieldExpected valueRequiredConstraints/format
apAngleobject(value:number, unit:enum[°])noformat=”numberUnit”; default={“unit”: “°”}
apCoordinateobject(value:number, unit:enum[nm, µm, mm, m])noformat=”numberUnit”; default={“unit”: “mm”}
dvAngleobject(value:number, unit:enum[°])noformat=”numberUnit”; default={“unit”: “°”}
dvCoordinateobject(value:number, unit:enum[nm, µm, mm, m])noformat=”numberUnit”; default={“unit”: “mm”}
mlAngleobject(value:number, unit:enum[°])noformat=”numberUnit”; default={“unit”: “°”}
mlCoordinateobject(value:number, unit:enum[nm, µm, mm, m])noformat=”numberUnit”; default={“unit”: “mm”}

Stereotaxic_LambdaBrainSurface

  • Schema title: Stereotaxic Lambda-Based Surface Coordinates with Depth
  • Schema version: 1.1.0
  • Source: brainstem/schemas/Coordinates/Stereotaxic_LambdaBrainSurface.json
  • Schema shape: object
  • Required fields: none

Example payload for this type:

{
  "apCoordinate": {
    "unit": "mm",
    "value": 0
  },
  "apAngle": {
    "unit": "°",
    "value": 0
  },
  "mlCoordinate": {
    "unit": "mm",
    "value": 0
  },
  "mlAngle": {
    "unit": "°",
    "value": 0
  }
}
FieldExpected valueRequiredConstraints/format
apAngleobject(value:number, unit:enum[°])noformat=”numberUnit”; default={“unit”: “°”}
apCoordinateobject(value:number, unit:enum[nm, µm, mm, m])noformat=”numberUnit”; default={“unit”: “mm”}
depthobject(value:number, unit:enum[nm, µm, mm, m])noformat=”numberUnit”; default={“unit”: “mm”}
mlAngleobject(value:number, unit:enum[°])noformat=”numberUnit”; default={“unit”: “°”}
mlCoordinateobject(value:number, unit:enum[nm, µm, mm, m])noformat=”numberUnit”; default={“unit”: “mm”}
rotationobject(value:number, unit:enum[°])noformat=”numberUnit”; default={“unit”: “°”}