Finding the coordinates (mm) of identical slice locations for two MR datasets acquired in the same scanning session
Asked Answered
D

1

2

I have two MR acquisitions where the first one is a 3D acquisition (1x1x1 mm3) and the second is a 2D acquisition (2.24 x 2.24 x 5.00 mm, axial slices). The high resolution dataset is a full head 3D acquisition that gives 176 slices if resliced in the axial direction (orientation was initially saggital in the acquisition). The 2D acquisition only contains 3 axial slices that were selected to target specific regions in the brain and were acquired continuously.

Is it possible to know, which slices in the 3D high resolution dataset correspond accurately to the 3 slices in the 2D dataset assuming the subject did not move in between scans and that these datasets were acquired in the same scanning session? I am looking at dicoms for these two datasets and trying to use the ImageOrientationPatient and ImagePositionPatient tags to try and find out accurately what the coordinates of the slices in the 2D scan would be with respect to the magnet's isocenter. That way I can tell the exact coordinates of the first slice in 2D acquisition with respect to the magnet's isocenter and assuming the two scans share the same origin, I can then know exactly which axial slice in 3D scan the coordinates correspond to? The problem i am facing is that the ImageOrientationPatient vectors are different for both the acquisitions since the highres was acquire with the sagittal orientation specificiation (though 3d and can obtain slices in any direction) whereas the 2D data was acquired specifically as axial slices.

Could someone who has experience with dicom handling kindly throw some light on how I can link the two scans? Since it was the same scanning session I am assuming the reference position for these two acquisitions should be identical. Is that correct?

Depside answered 3/5, 2016 at 5:35 Comment(0)
B
4

ImagePositionPatient is reliably referencing identical coordinate systems only when all images were taken in one scan. Unfortunately there is no "calibration to the patient" which ensures that a particular coordinate always references the same position in the same patient.

Assuming this is the case in your scan, the task is pretty simple. The full geometry of each scan is defined by:

  • ImagePositionPatient (0020,0032) - the coordinate of the top left pixel of each slice
  • ImageOrientationPatient (0020,0037) - the orientation vectors of each slice, i.e. the axes to which the pixel rows and columns are aligned to

  • PixelSpacing (0028,0030) - the height and width (yes, the y-dimension comes first here!) of each pixel

Now that you precisely know the position of each pixel of each slice in both scans, the remaining task is to express the top left pixels of the 2D scan in the dimensions of the 3D scan. I would use coordinate transformation to do that, but other methods would work as well.

Bloodmobile answered 3/5, 2016 at 6:29 Comment(4)
I agree. That makes sense. I am following this description based on the dicom standard. dicom.nema.org/medical/dicom/current/output/chtml/part03/… They do specify the coordinate transformation there, but I am a little confused on using it.Depside
Yes, this is the correct resource explaining how to calculate the coordinate transformation matrix from the attributes I mentioned. What is the source of your confusion?Bloodmobile
Be sure to compare the frame of reference UID value between series as well. Just because they are the same session, doesn't mean they share the same space (could have been relocalized for instance). If the frame of reference is the same, then I think kritzel_sw's suggestion should work.Fluorene
Thank you very much kritzel_sw and cneller. I was able to get it to work.Depside

© 2022 - 2024 — McMap. All rights reserved.