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

json incompletes #370

Closed
MRIDude opened this issue Jan 28, 2020 · 3 comments
Closed

json incompletes #370

MRIDude opened this issue Jan 28, 2020 · 3 comments

Comments

@MRIDude
Copy link

MRIDude commented Jan 28, 2020

I came across a set of images collected on a VIDA when dcm2niix does not create a complete json more specifically the slice timing was left out. I am using up to date version of dcm2niix. I did look into the DICOM and it has enough information to compute the slice timing. I would like to send you a DICOM.

@neurolabusc
Copy link
Collaborator

First of all, you may want to check the version of dcm2niix you are using, and test out the developmental branch. From my perspective, the Vida was deployed in the field before issues identified during its development were addressed. Therefore, it presents a moving target in terms of support. While it has tremendous potential, users need to be aware that it is a radical departure from previous Siemens MR and therefore there are many opportunities for unintended consequences.

To get the development branch on Unix:

git clone --branch development https://github.com/rordenlab/dcm2niix.git
cd dcm2niix/console
make
./dcm2niix

To get a compiled development build for Windows, select the 'Development' branch from the dcm2niix main page, click the green 'AppVeyor' button and go to 'Artifacts'.

Feel free to send an example to me via Box/DropBox/GoogleDrive (use the email in my avatar). I do not have direct access to Vida hardware, but provide sample dataset where slice time is extracted. Notes on how dcm2niix handles Vida data is provided here. As noted there, be aware that the mosaic images created by Vida are not valid DICOMs and that using the Vida console to anonymize redacts parameters required for complete conversion.

@neurolabusc
Copy link
Collaborator

@MRIDude the sample you sent me is a single 3D volume. dcm2niix will populate the SliceTiming tag for 4D datasets (at least two volumes). The rationale is that slice timing requires multiple volumes, and the fact that some Siemens images incorrectly populated the slice timing fields for the first volume of a 4D series with nonsense volumes (e.g. see here though I have seen this issue with other sequences as well). Therefore, we use the 2nd volume in the series to calculate slice timing.

Therefore, I think that dcm2niix is performing as expected. When you provide data that is suitable for slice time correction, it will provide the values required for that processing.

@neurolabusc
Copy link
Collaborator

@MRIDude thanks for the second dataset. For Siemens XA series, we use TimeAfterStart (0021,1104) to determine scan onset. We typically ignore the tag assumed to be NumberOfPrescans (0021,1004). Here is an example. Unfortunately, your dataset appears to have stored the time after start values into tag 0021,1004. Note these are vendor specific tags, so I guess in theory they can assign them any value they want. While Siemens can use private tags however they wish, if they do not use them consistently it makes supporting their images very difficult. This is an issue with your DICOM data, and will be very hard to diagnose and reverse engineer without support from the vendor. The example above presents a conflicting method for using these tags relative to your own data. My best guess is that this is a software bug in your system. Unfortunately, the XA series does not provide software stepping information (e.g. "service pack 2") that helps identify when these changes occurred (though I have suggested they do this). You really need to work with your Siemens Research Collaboration Manager to resolve this.

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