Voxels Space Orientation and Coordinate Conventions


It is important to note that SCT Images, which are derived from NIFTI images, have their contents indexed in “Fortran order”, meaning that in an image of shape \((N_a, N_b, N_c)\), where we consider the a axis to be the first, two consecutive (in the sense of storage location) elements are in the a dimension, the first. This is by opposition to the C ordering which is more widely used in most software, and where the fastest varying element is indexed last.

Reference Spaces

As in many other tools, SCT follows a standard nomenclature for reference spaces in which the world or local coordinates are expressed.

The string is formed from character label among (relative to a human subject):

  • L / R: left-right

  • P / A: posterior-anterior

  • I / S: inferior-superior

The character position corresponds to the axis index.

SCT uses the “from” convention, which for clarity we postfix by a dash.

The reference space for physical coordinates is LPI- (which is coming from nibabel and NIFTI).

An “image orientation” corresponds to the orientation of the surface/volume with regard to the reference orientation. It is encoded in the (NIFTI) file header.

For example, a RAS image orientation corresponds to a 3D image with:

  • X axis oriented L towards R;

  • Y axis oriented P towards A;

  • Z axis oriented I towards S.


  • nibabel, BIDS are using the “towards” convention, ie. SCT’s LPI(-) is their RAS(+).

Coordinate Conventions

Local/Voxel Coordinates

When voxel coordinates are integers, coordinates are indices. Indices are expressed starting from 0 and up to N-1 where N is the number of voxels in the considered dimension.

When voxel coordinates are real numbers, we are using an integer voxel center convention (consistent with nibabel and NIFTI).

This means that a coordinate such as (i,j,k) == np.round((i,j,k)) expresses the center of a voxel.

NB: Voxel coordinates are called \((i,j,k)\) in the NIFTI documentation.

Global/Physical Coordinates

Physical coordinates are always expressed as real numbers. They are defined from the relation expressed by the transform and unit system expressed in a image header.

Physical coordinates are expressed relative to the LPI- frame, considering the voxel dimensions, affine transform between voxel coordinates and world coordinates, and the physical dimension unit, all of which is encoded in the NIFTI file header.

NB: Voxel coordinates are called \((x,y,z)\) in the NIFTI documentation.