Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problems with Philips Dicom to Nifti extraction #165

Closed
garikoitz opened this issue Feb 20, 2018 · 2 comments
Closed

Problems with Philips Dicom to Nifti extraction #165

garikoitz opened this issue Feb 20, 2018 · 2 comments

Comments

@garikoitz
Copy link

Hi!
we have several Philips flat dicoms that look ok when visualized with Philips software but that they fail in the conversion. We see this error in the conversion (this error is from Flywheel, but same output when converted in command line):

[scitran/dcm2niix] running...
[scitran/dcm2niix] Unzipping /flywheel/v0/input/dcm2niix_input/WIP DTI 64dir_b1000 SENSE.zip
Error: Patient position repeats 50 times, but this does not evenly divide number of volumes (65)
Chris Rorden's dcm2niiX version v1.0.20170923 (OpenJPEG build) GCC4.8.4 (64-bit Linux)
Found 2 DICOM image(s)
Warning: Philips R3.2.2 can report different positions for the same slice. Attempting patch.
Converting XYTZ to XYZT with 64 slices (Z) and 65 volumes (T).
Warning: Saving 65 DTI gradients. Validate vectors (images are not axial slices).
Convert 1 DICOM as /flywheel/v0/output/WIP DTI 64dir_b1000 SENSE (128x128x64x65)
Philips Precise RS:RI:SS = 4.05421:0:0.000509404 (see PMC3998685)
R = raw value, P = precise value, D = displayed value
RS = rescale slope, RI = rescale intercept, SS = scale slope
D = R * RS + RI , P = D/(RS * SS)
D scl_slope:scl_inter = 4.05421:0
P scl_slope:scl_inter = 1963.08:0
Using P values ('-p n ' for D values)

Are there options we could select in the software to have the conversion right?
Thanks!

@neurolabusc
Copy link
Collaborator

I have been struggling to deal with the fact that Philips tends to use multiple patient positions for the same data. I think this is technically legal as one is in a private tag, but this subtlety is hard to detect, in particular if one uses implicit VRs.

  1. I would first see if the latest stable release fixes your problem 15-Dec-2017 (v1.0.20171215)
    https://github.com/rordenlab/dcm2niix/releases
  2. If that fails, why not try building from the latest source on Github
  3. If that fails, please tell me. As a stop gap, you could see if the Matlab-based dicm2nii works (though I would still like to know - I do not have access to Philips hardware, so examples where dcm2niix fails are very instructive).

@garikoitz
Copy link
Author

Thanks!
I will try and update results here

yarikoptic added a commit to neurodebian/dcm2niix that referenced this issue Jun 14, 2018
* commit 'v1.0.20171215-29-ga662295':
  Update GE and PAR/REC notes. Add warnings for novel PARREC data, use GE proprietary sliceorder
  Restore support for PAR/REC dwi with included ADC/Isotropic
  Use ImageType (0008,0008) to split phase and magnitude (rordenlab#170)
  Improved GE support
  Further PARREC tuning
  Improved Philips PARREC support
  Better PAR/REC error reporting
  0020,9157 does not necessarily index gradient directions from 1..n (e.g. 2...37 for ADNI 018_S_4868)
  Preliminary attempt to support PAR/REC with arbitrary slice orders (e.g. order reconstructed, not acquired)
  Restore support for compressed DICOM (Jon Clayden)
  Restore ability to handle DICOMs files with Icon Image
  Fixes for Philips rordenlab#165 rordenlab#170
  ENH: minor - consistent formatting (%?=description) of template keywords for -f
  More Philips enhanced support
  Partial solution for rordenlab#165
  Experimental SQ skipping: Philips private use of public tags  rordenlab#165
  Fix for rordenlab#168
  Remove GCC version >= 7.1.0 warning: snprintf output between 1 and 256 bytes into a destination of size 24
  Fix for rordenlab#157
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants