-
Notifications
You must be signed in to change notification settings - Fork 229
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
Incorrect Slice/Vol Order After Site Updated Philips Software (Ingenia version 11.1) #809
Comments
Can you share a sample dataset with my institutional email. dcm2niix validation uses many Philips enhanced DICOM validation datasets including dcm_qa_enh dcm_qa_philips_dwi and dcm_qa_philips. I do not have much experience with dcm4che settings and versions, but I have been contacted by many users who have issues with its legal but unexpected renaming, documented here. I would make two suggestions:
|
Hi Chris, Thanks for getting back to me so quickly and offering to take a look at this. I acquired a DTI and fMRI series with a phantom this morning and transferred the dicoms to a flash drive directly from the scanner console (again in enhanced format). Running dcm2niix on these dicoms produced the same error as above. I just sent the dicoms to your institutional email (re: Philips Dicom Issue). Thanks again for looking into this! Travis |
@wtmccuddy thanks for the exemplar. Can you re-acquire the fMRI and DTI dataset with just a few volumes (e.g. for DTI one b=0 and six directions, for fMRI 7 timepoints). It is hard for a human to parse enhanced DICOMs for huge datasets where dcmdump generates 66mb of ASCII text. Ideally also make the number of slices in a volume a different small prime number. It would also be nice to have a brief description of what was expected, e.g. the fMRI series should have "the fmri dataset was acquired with 64x64 voxels in-plane, 5 slices and 7 timepoints". |
@neurolabusc that's a good point. I was looking at the output of dcmdump (which i just learned about) and wondering how people parse through so much data. I will reacquire and send you a more manageable dataset with the relevant descriptives (hopefully before I leave today). In my scavenging earlier, I did find a difference in the diffusion gradient ordinations when comparing DTI scans from pre and post scanner software update (see below; the first line is pre-update and second is post update):
It appears the x and y gradients have switched places. This would explain the bvec file issues with dcm2niix (if my understanding is correct). Maybe this is also the root of the issue altogether? If so, do you know if this can be changed at the scanner? |
@wtmccuddy I do think you should contact the Philips Clinical Scientist associated with your center. Either my interpetation of DICOM is wrong (possible) or the DimensionIndexSequence (0020,9222) is not specified correctly for your datasets. The sample fMRI dataset you provided should have 40 slices and 120 timepoints. Looking at the variance DimensionIndexValues (0020,9157) the first item is
However, the DimensionIndexSequence suggests the first item is
It is easy to get dcm2niix to convert your data correctly, by changing the '<' to a '>'
However, it will now fail with every previous enhanced DICOM dataset I have seen, including these from Siemens, Canon and Philips. I also note that the independently developed dicm2nii also fails with your fMRI and DTI image. So if this DICOM is legal, it is extremely unconventional and I would not consider it archival quality. |
@wtmccuddy the DTI data is even more problematic. The DimensionIndexValues (0020,9157) do not distinguish between different directions of b-weighted images. This scan should have 48 slices and 49 volumes (one b=0, 48 b=1000). However, for each b=1000 slice there are 48 images that share the identical DimensionIndexValues. This is especially problematic for Philips, where the order of images stored to disk are often completely jumbled.
The only way I can see to salvage this would be to track the private tag MRImageGradientOrientationNumber (2005,1113) across all slices. Again, I really do not think these are archival quality. Adding support for this edge case would degrade the maintainabilty of dcm2niix, and I would be reluctant to do it without insight from a Philips engineer (in particular, if a diffusion image is acquired with multiple b-zeros or multiple samples of each b-weighted image, is the private tag 2005,1113 repeated across identical values or unique. If it is repeated, I am again at a loss as to how to reconstruct images where all slices from a single volume were acquired sequentially. |
This is very helpful. I just sent our Philips contact an email. Thank you for helping better characterize the problem. I think dcm2niix is a very nifty ;) tool which has helped me streamline a number of imaging tasks. I appreciate you pointing me to the line in the script to make a change that will allow it to continue working for now. From your experience working with the different MRI vendors, is this an issue you think might be addressed? Or are vendors typically more reluctant to make changes to the DICOM structure like this? |
@wtmccuddy thanks for the new smaller dataset. This clearly shows that 0020,9157 does not distinguish between volumes. The data should have 17 slices and 7 volumes, but only slice number is incremented with all 7 volumes for each slice sharing an identical 0020,9157. It does seem like one could use MRImageGradientOrientationNumber (2005,1413) to sort this, but this exhibits problems with valid Philips enhanced DICOM DTI data like this one. Your issue mirrors problems with Philips enhanced DICOMs reported for issue 546 - the solution there was to use the new private tag 2005,1596 that was added to Philips software (from R5.6) even though your software reports software version (0002,0013)
|
Hi - I would also be interested in looking into this data set or get your philips contact to contact me as well if they are already dealing with it - could you contact me directly on my philips adresss - matthew dot clemence at philips dot com ? |
@drmclem thanks for offering to look into this. I've sent the dataset to your philips address and cc'd our hosptial Philips consultant who was recently made aware of this issue. @neurolabusc thanks for helping me diagnose the issue and providing the info needed to move forward. Much appreciated! |
@wtmccuddy I am going to close this issue. I acknowledge that dcm2niix has issues with Philips R11.1 data. However, I believe this is because the DICOM images are not truthful. Supporting these images would likely elicit unintended consequences for legitimate data, would be vulnerable to breaking if Philips corrects their images, and would increase the burden of maintaining this codebase. I am happy to meet with the Philips engineers to resolve this and get insights into pro-active solutions. However, this needs up stream support. |
Hi, I think this ticket probably needs to be reopened, although "support Philips 11" is more of a feature request than a bug report, and I realize @neurolabusc is in the middle of wrapping up the fall release. We have started receiving DWIs from a Philips 11 scanner in Boston, and dcm2niix is stacking the slices in the wrong order if the DICOM is enhanced. It reminds me of the early days of Siemens XA, i.e. there will be more data like this coming. If @drmclem, @sandeepganji, or anyone else at Philips could advise, I would really appreciate it. It seems like there might be a compatibility problem between Philips 11 and their older DICOM versions that will need to be acknowledged, but I don't have access to Philips 11 myself or the bandwidth to blindly reverse engineer it. Unenhancing it with dcuncat corrects the stacking, but it adds 7000 to the series number and messes up the "_ADC.nii" image a bit: Normally dcm2niix would kindly shunt the b shell averages ("traces") away from the main output .nii and into a ..._ADC.nii image. In this case (post-dcuncat) it is correctly writing the b = 0 + x, y, z b=1000 volumes to the main.nii, but writing all 5 volumes (ORIGINAL data + the DERIVED b = 1000 average) to the _ADC.nii. I can easily work around that since we never use the _ADC.nii anyway, but the series number change is annoying. dcuncat is completely to blame for that, but it probably has an option to prevent that that I just haven't found yet. But I'd hate to go back to dcuncatting enhanced DICOM; it looks like Philips 11 might have fixed the oververbosity problem. I can't share the data in hand, but we can probably get the site to scan a phantom if we need it and ask nicely. In the meantime I would be happy to run dcmdump, etc. on the DWIs we've received and report the results. For this 40 slice x (4 original + 1 derived) volume DWI, using the original enhanced DICOM, |
@drmclem, @sandeepganji, I do not have access to Philips 11 hardware, so we will need a shared dataset that exhibits the issue, or someone who does have access will need to make a pull request with a patch. I do think it is poor form to store |
To be fair, Philips is still not actually labeling the trace volume as DERIVED using (0008, 0008) Image Type. But to be fair, they should. |
Hi, we would like to reopen this, and I have talked to Spencer Waddle at Philips about helping. Hopefully we can locally scan a phantom with R11, but that is TBD. |
Rob, on MR61 at OPUS we have the following SW releases available on the scanner (R56, R57, R58, R11.1.1.0 and R12.1.0). |
Thanks, Sandeep. I had no trouble finding volunteers in Opus, so hopefully Spencer and I can get one scanned in the next few days. |
Ever since our site updated our Philips 3T Ingenia to version 11.1, dcm2niix has been unable to accurately convert functional scans. Each volume contains one slice location across 40 different TRs instead of 40 slices comprising the whole brain at a single TR (e.g., in the image below, scrolling through the axial slices does not change location of the slice, just the time). I have noticed this with fMRI and DTI data sets where, in the latter, the bvec files are also not ordered appropriately.
The DICOM data are sent in "enhanced" format from the scanner to dcm4chee and then to my workstation. From looking at prior issues on github, I've confirmed the manufacture information is present and there are not excessive missing dicom fields.
This issue is occurring with dcm2niix version v1.0.20240202 on linux (have not tested other versions or OS).
Has anyone else experienced this? I'm sure this is a philips problem and not a dcm2niix problem, but I'm curious to know if someone can figure out the issue and potentially provide a work around option or an update to accommodate the atypical dicom format used by philips.
The text was updated successfully, but these errors were encountered: