-
Notifications
You must be signed in to change notification settings - Fork 228
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
splitting 4D too much #373
Comments
I believe this is a replication of issue 336 and 365. You are using the new GE multi-band (hyper-band) sequences. On MacOS and Linux you can build the developmental branch with these commands:
Windows users should be able to get a compiled version from AppVeyor. Please use the developmental branch until the next stable release. Vendors are continually tweaking their interpretation of DICOM, so we need to constantly update our conversion to support their latest features. |
I'm already using last development build and the bug still happens, but only with 3D phase contrast venography |
Can you send me a link to a sample dataset via Box, DropBox or GoogleDrive (use the email in my avatar). |
This may be related: I have the same issue (that is, instead of a single volume with matirx 256x256x120x1, the image is being split into into 256x256x60x2) with 3D fat/water series that have slice zero pad interpolation enabled (ZIP2). This is a big impact for me since the GE PET/MR system uses this protocol for MR-based attenuation correction (MRAC). In this case, d.locationsInAcquisition = 480 and imagesInAcquisition = 480, because the series outputs 120 slices x 4 images (Water, Fat, InPhase, OutPhase), but these four contrasts are split into separate DICOM series. Furthermore, locationsInAcqusitionGE = 60 (0020,1002), because 60 slices were acquired, even though 120 per DICOM series are reconstructed. This check does not work, because neither 60 nor 480 are the correct number of slices: dcm2niix/console/nii_dicom.cpp Line 6153 in f54be46
The check for interpolated slices does not work, because both d.locationsInAcquisition and imagesInAcquisition are incorrectly set to 480: dcm2niix/console/nii_dicom.cpp Line 6151 in f54be46
|
I have a MATLAB based converter that I use as a test bed for replicating problems. In this code, I compare SliceThickness to SpacingBetweenSlices as a test to see if ZIP2 is enabled. I have re-implemented this in nii_dicom.cpp and verified that it works for my test data. The check goes within the if statement block for checking locationsInAcqusition for GE:
|
@halfSpinDoctor that looks like an elegant solution, and a clear explanation of the issue. I have committed it to the developmental branch. Hopefully GE users can validate this patch for unintended consequences. @lamaresh does this resolve your issue? |
Yes, it works properly now. |
* tag 'v1.0.20200331': (52 commits) Update submodules Update dcm_qa submodule. UIH 3D sequence quirk New release, EstimatedTotalReadoutTime/EstimatedEffectiveEchoSpacing (rordenlab#377) Philips TotalReadoutTime (rordenlab#377) Cleanup Experimental Canon DICOM support (rordenlab#388) Experimental solution for issue 384 (rordenlab#384) Detect catastrophic anonymization (rordenlab#383) Only report "multiple inversion times" if 0018,9079 values differ (e.g. Bangalore data in https://github.com/neurolabusc/dcm_qa_philips) Consistent echo naming (rordenlab#381) Philips partial Fourier (rordenlab#377) Support InversionTImes (0018,9079) tag (rordenlab#380) Philips effective echo spacing formula ambiguous (rordenlab#377) TR for Philips 3D EPI (rordenlab#369) Citation (rordenlab#102) GE PET with variable slice intensity (rordenlab#374) Estimate Philips EffectiveEchoSpacing (nipreps/sdcflows#5) GE slice interpolation (rordenlab#373) 3D EPI TR (rordenlab#369) 3D phase (rordenlab#371) Enhanced ordering (rordenlab#372 (comment)) ...
I report a bug similar to #355
when I try to convert a GE 3D phase-contrast brain venography made by anatomical + angiographic images, each volume is split in 2, resulting in a 4D nii made by 4 volumes instead of 2.
I'm using last development build.
The text was updated successfully, but these errors were encountered: