Understanding the coordinate system

Hello Everyone,

If possible i would like some help in understanding the coordinate system of Slicer.
I’ve read the documentation on the coordinate system: Coordinate systems - Slicer Wiki
As well as some other sources.

I do not have a background relating to anything technical or computer science related so any help would be appreciated.

From what i understand right now, please correct me if i’m wrong:
You have the world coordinate system in mm related to the scanner with a origin at the center of the scanner as set by the manufacturer. This is the XYZ axis.

You have the anatomical coordinate system in mm, which is in relation to the patient. From what i’ve gathered the origin is arbitrarily chosen by the technitian/physician, in relation to the world coordinate system. This is saved in the DICOM files and used as the 0,0,0 when viewing a file in Slicer. These are LPS coordinates, while slicer works in the RAS system (both still part of the anatomical system, just relating to positive and negative values).

You have the image coordinate system, which is the actual scanned data, which is unitless and contains the voxels along the IJK axes with the density data per voxel. The spacing between each voxel is stored with its data and is a chosen parameter by the technitian. Together with the origin at the top left this can be used to calculate the anatomical coordinates.

To go from the IJK axes to the anatomical axes an affine transformation is used. From what i understand is that for instance if the patient is not alligned with the axes, for instance due to gantry tilt, the spacing in the ijk axes would not coincide with the coordinates in the anatomical axes, so this transformation is needed to correct it. Is this done automatically in slicer/the DICOM files when viewing things in the coronal, axial and sagittal planes?

Moreover, any measurements you make would be around the predifined anatomical axes?

Now this is where i’m truly doubting myself, as my understanding doesn’t hold up to what i see in my DICOM files.

I have a preoperative and postoperative CT scan of the lower body, relating to an osteotomy of the proximal femur, with a reorientation of the femoral head. My final goal is to overlap the left femur of pre and postoperative, create a model of the femur, then measure the angle at which the proximal part of the femur has moved so we can compare it with the original planned model for the operation. I’ve come as far as the measurement, so i wanted to understand the axes along which the measurements take place a little better.

So after reading up i started to compare the scans. Now, unfortunately the CT scans were not created equally.

To see if my understanding held up, i loaded up the preoperative scan of 1 patient, put a point right in the center and saw that what i thought to be true could indeed be so. 0,0,0 seems to be at an anatomical origin, left is left, right is right, etc.

Now when i open up the postoperative in a new instance of slicer is were i started to doubt myself. The scan seems to be placed far to the back and right of the origin and tilted slightly, as if lying on the left side. I also noticed the slices where not oriented in the anatomical planes, instead it says “reformat” and i have to put them in the correct view. this does not change the position of anything else.


Is my understanding correct and is this scan just incorrect, or am i completely missing the right way to look at the data/coordinate systems?

Sorry for the long post and thank you kindly in advance