-
Notifications
You must be signed in to change notification settings - Fork 197
Incorrect transform after conversion from Philips Enhanced DICOM #2977
Description
I noticed a discrepancy in the Transform (shift of half a voxel along the in-plane dimensions) when converting a Philips DICOM data set using mrconvert vs dcm2niix.
@Lestropie suggested that it might be related to Enhanced DICOM, which turns out to be the case.
The issue seems to be specific to Philips Enhanced DICOM (other vendors and classic DICOM are fine) and can be reproduced using the dcm_qa_* datasets from @neurolabusc.
Using https://github.com/neurolabusc/dcm_qa_philips_enh.git which contains both a classic and an enhanced DICOM version of the same dataset, dcm2niix reports the same transform across DICOM versions, whereas mrconvert reports a shift of half a voxel along the in-plane dimensions for the enhanced DICOM dataset:
- Philips, Classic DICOM, dcm2niix:
************************************************
Image name: "cl/cl_WIP_ADNI_Sag3D_MPRAGE_20210902121816_1301.nii"
************************************************
Dimensions: 170 x 256 x 256
Voxel size: 1 x 1 x 1
Data strides: [ 1 2 3 ]
Format: NIfTI-1.1
Data type: signed 16 bit integer (little endian)
Intensity scaling: offset = 0, multiplier = 133.88156127929688
Transform: 0.9974 -0.03861 0.06086 -88.35
0.03868 0.9993 0 -121.8
-0.06081 0.002354 0.9981 -116.7
comments: TE=2.9;Time=130013.040
- Philips, Enhanced DICOM, dcm2niix:
************************************************
Image name: "enh/enh_WIP_ADNI_Sag3D_MPRAGE_20210902121816_1301.nii"
************************************************
Dimensions: 170 x 256 x 256
Voxel size: 1 x 1 x 1
Data strides: [ 1 2 3 ]
Format: NIfTI-1.1
Data type: signed 16 bit integer (little endian)
Intensity scaling: offset = 0, multiplier = 133.88156127929688
Transform: 0.9974 -0.03861 0.06086 -88.35
0.03868 0.9993 0 -121.8
-0.06081 0.002354 0.9981 -116.7
comments: TE=2.9;Time=130004.570
- Philips, Classic DICOM, mrconvert:
************************************************
Image name: "classic_to_nii_with_mrconvert.nii"
************************************************
Dimensions: 170 x 256 x 256
Voxel size: 0.999999 x 1 x 1
Data strides: [ 3 -1 -2 ]
Format: NIfTI-1.1
Data type: unsigned 16 bit integer (little endian)
Intensity scaling: offset = 0, multiplier = 2.3616604804992676
Transform: 0.9974 -0.03861 0.06086 -88.35
0.03868 0.9993 0 -121.8
-0.06081 0.002354 0.9981 -116.7
comments: d2n_Philips_3T_R5
mrtrix_version: 3.0.4-1213-gb8300082
- Philips, Enhanced DICOM, mrconvert:
************************************************
Image name: "enhanced_to_nii_with_mrconvert.nii"
************************************************
Dimensions: 170 x 256 x 256
Voxel size: 0.999999 x 1 x 1
Data strides: [ 3 -1 -2 ]
Format: NIfTI-1.1
Data type: unsigned 16 bit integer (little endian)
Intensity scaling: offset = 0, multiplier = 2.3616604804992676
Transform: 0.9974 -0.03861 0.06086 -88.34
0.03868 0.9993 0 -121.3
-0.06081 0.002354 0.9981 -116.2
comments: d2n_Philips_3T_R5
mrtrix_version: 3.0.4-1213-gb8300082
Using https://github.com/neurolabusc/dcm_qa_enh.git which contains Enhanced DICOMs from different vendors (Canon, Siemens, and Philips), dcm2niix and mrconvert agree on the Canon and Siemens data, but not on the Philips data (again half a voxel shift along the in-plane dimensions):
- Philips, Enhanced DICOM, dcm2niix:
************************************************
Image name: "Philips/Philips_WIP_AnatBrain_T1W3D_20180526150245_301.nii"
************************************************
Dimensions: 256 x 256 x 32
Voxel size: 1 x 1 x 4
Data strides: [ 1 2 3 ]
Format: NIfTI-1.1
Data type: signed 16 bit integer (little endian)
Intensity scaling: offset = 0, multiplier = 2482.36376953125
Transform: 1 0 2.743e-05 -126.3
0 1 0 -133.7
-2.743e-05 0 1 -38.35
comments: TE=4.6;Time=151207.980
- Philips, Enhanced DICOM, mrconvert:
************************************************
Image name: "Philips/mrconvert.nii"
************************************************
Dimensions: 256 x 256 x 32
Voxel size: 1 x 1 x 4
Data strides: [ -1 -2 3 ]
Format: NIfTI-1.1
Data type: unsigned 16 bit integer (little endian)
Intensity scaling: offset = 0, multiplier = 1.2354090213775635
Transform: 1 0 2.743e-05 -125.8
0 1 -0 -133.2
-2.743e-05 -0 1 -38.35
comments: ROGERS_20180526 (
mrtrix_version: 3.0.4-1213-gb8300082
- Siemens and Canon, Enhanced DICOM show no discrepancy between dcm2niix and mrconvert