-
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
BIDS sidecar field ParallelReductionFactorInPlane too large #672
Comments
@lukeje can you communicate with your Siemens Research Collaboration manager to help out with this. The DICOM header is not internally consistent. While the CSA header suggests
The private tag suggests
whereas the CSA would lead one to expect to see:
Perhaps this was an early E11 release when SMS was still new and not given its own acceleration flag. In general, dcm2niix assumes DICOM headers are consistent and truthful. We can always reverse the precedence between 0051,1011 and the CSA header. However, I would want to understand the reason for the conflict to make sure there are no unintended consequences. |
I just checked a VE12U dataset recorded with a ported version of the sequence and the problem seems to remain there too, i.e. with GRAPPA 2×2 the string in the DICOM is:
This doesn't rule out that Siemens product sequences might have fixed the inconsistency in VE12, though; I'll check when I'm next at the scanner. |
Looking again at the dcm2niix source code, it looks like even if the out-of-plane GRAPPA acceleration factor was stored as |
@lukeje please also take a look at the validation series DKI_b2000_20_2p2mm_iPAT where the CSA slice timing clearly demonstrates a multi-band of two. This is clearly noted in the tag 0051,1011:
However, the explicit SMS tag in the CSA header incorrectly suggests that the MultibandAccelerationFactor is 1:
This dataset appears to provide the opposite interpretation to yours, suggesting that precedence should be given to 0051,1011. Perhaps this reflects the custom CMRR sequences (ConsistencyInfo: |
@lukeje perhaps the issue here is the nomenclature for SMS acceleration of 2D EPI scans and 3D sequences. The BIDS specification clearly defines MultibandAccelerationFactor for EPI scans, but does not (yet) define The main thing I would want is some clarity regarding when we use the field @mharms may have some thoughts on this. |
The creators of the Example dataset for the hMRI toolbox should be admonished, as this provides an example of desired output without a reference input dataset. I am glad BIDS now explicitly encourages Perhaps your earlier link to a DICOM dataset is an attempt to rectify this situation. If you want these fields to be supported, I strongly encourage following the format of the dcm_qa series that provides explicit examples for usage such as slice timing, enhanced DICOM, and gantry tilt, and ASL parameters. These provide a one-to-one mapping from source DICOM images to expected BIDS results. Each commit of dcm2niix is tested with a battery of these validation datasets to avoid regressions, and this allows us to harmonize our use with other tools such as dicm2nii. The other advantage of these datasets is that they help identify gaps in the current DICOM specification, which allows us to work with manufacturers and the DICOM work groups to aid reproducible science. |
@neurolabusc : I think there is a confusion in your earlier post. I'm pretty sure that |
@mharms yes, I realized that when I wrote my comment regarding 2D vs 3D data. So the This suggests we extend the V* conversion:
To be comfortable adding support for this, I would really like to have a concrete example where |
Isn't it the So, if I'm inferring correctly, |
@mharms, yes. And if we are lucky with XA ParallelReductionFactorOutOfPlane is reported by DICOM Tag 0018, 9155. |
I see that it's reported in some structural scans I have as
None of these (0018,9***) field are included in I don't know if it adds anything, but there is a |
Hey Chris, I would appreciate it if you stopped tilting at windmills. I have made a targeted bug report and would appreciate it if you remained on topic. As has become clear, the current behaviour of dcm2niix does not match what would be expected. You are correct that the dataset I am currently converting is related to me trying to prepare a dataset for you in relation to a previous bug report. However the extra fields that were requested there are not relevant here. Indeed, I hope that we (and other members of the hMRI toolbox development team) can work together to include the extra fields from the qMRI "wishlist" in future, after further communication. |
@lukeje I only have a single exemplar, so I would be grateful if can you test out the latest commit to the development branch (v1.0.20230127). It uses the new BIDS tag You can get a pre-compiled copy by selecting the desired operating system and then artifact from AppVeyor, or build it yourself with UNIX:
|
@mr-jaemin can you please test the behavior of the latest commit. I assume that I use the reciprocal of the second item in the 0043,1083 for The exemplar I have is the T1 scan from dcm_qa_ge which reports
which I assume converts to BIDS:
|
@mr-jaemin thanks. Closing this issue as it passes all samples provided. I will deal with compressed sensing and deep learning in a future issue when I have samples from other vendors. |
Sorry for the late reply; yes, the new development branch works as expected. Thanks a lot! |
Describe the bug
The reported ParallelReductionFactorInPlane in the JSON sidecar file for Siemens data is the product of the in-plane and out-of-plane parallel reduction factors.
I think the problem occurs because
accelFactPE
(which is the source of ParallelReductionFactorInPlane for Siemens data) is read from a string which contains the total acceleration, not just the in-plane acceleration.To reproduce
Steps to reproduce the behavior:
B1+_mapping
DICOM dataset from here, measured on a Siemens scanner with GRAPPA 2×2 (i.e. it should giveParallelReductionFactorInPlane = 2
,ParallelReductionFactorOutOfPlane = 2
)Expected behavior
Ideally both ParallelReductionFactorInPlane and ParallelReductionFactorOutOfPlane would be 2, rather than ParallelReductionFactorInPlane being the product of the two in the JSON sidecar files. Note that
AccelFact3D
in the BIDS sidecar is 2, as expected.Note that this data does come from a "user" sequence, but based on this comment in the dcm2niix source code, this is not the only dataset where this is a problem.
Version
Tested with the current master branch:
Tested with the latest development branch:
Troubleshooting
Please try the following steps to resolve your issue:
It is the latest stable release.
No, the development branch did not resolve the issue.
The text was updated successfully, but these errors were encountered: