-
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
XA60 and XA61 no MultibandAccelerationFactor
with cmrr_mbep2d_bold
#870
Comments
@benoitberanger I do not have access to XA60 hardware. If you want me to help, share a small example with my institutional email. Otherwise, submit a pull request to include the required details. |
This is an issue with the source DICOMs and not dcm2niix. The images with multi-band explicitly claim SMS is not enabled in the public tag Parallel Reduction Factor out-of-plane Attribute (0018,9155). dcm2niix assumes that DICOM images are truthful and valid.
|
Here is a sharable DICOM dataset on phantom, made on a 3T Cima.X in XA61. Datasetphantom_check_MBfactor_CimaX_XA61.zip ContentDICOMPatientID =
Other
|
@benoitberanger this dataset clearly illustrates the issue. Consider series 4
Perhaps more telling, if you look at the first and second time points in series 2, you will notice that while BOTH report a ParallelReductionFactorOutOfPlane as 1, the CSA header of the first provides slice timing for single-band, while the subsequent one reports multiband: 1st volume: "SliceTiming": [
0.405,
0,
0.4875,
0.08,
0.5675,
0.1625,
0.65,
0.2425,
0.73,
0.325 ], 2nd volume: "SliceTiming": [
0,
0.725,
0.2425,
0.9675,
0.4825,
0,
0.725,
0.2425,
0.9675,
0.4825 ], So one hypothesis is that the first volume in the series is always a single-band reference, with subsequent volumes applying the multiband. However, if this is the case one should be able to acquire data where the first volume has a longer TR than the subsequent volumes, and the parallel reduction factor changes. I really do think you need to work with the manufacturer to make sure the DICOMs are truthful. |
This is because I did not change the TR after increasing the acceleration. The objective was to check the DICOM info, I kept all parameters equal as much as possible, so a |
@eauerbach Do you have any reason to suspect the problem could come from the sequence itself ? |
Maybe just run a quick test on the product SMS sequence and check whether its values on (0018,9155) are any different? |
@benoitberanger and @mharms the issue is seen in the Siemens product sequences as well as the CMRR research sequences. Therefore, it seems like the root issue must be addressed by the manufacturer. I will see if we can have dcm2niix infer multiband factor from the 2nd volume slice times. dcm2niix already has the core code to do this to deal with a historical issue specific to older CMRR data. However, it is worth noting that dcm2niix assumes that DICOM images are valid and truthful. The public tag (0018,9155) is required for original data with multiband. Therefore, the provided images are not truthful. While I will investigate a kludge to handle this, the opportunity for unintended consequences is great when you disregard explicit details of the specification. Both product and CMRR sequences are incorrect. You can see this by looking at any of the sequences where SMS > 1: dcmdump +P "0018,9155" ./6_PRODUCT_ep2d_bold_p2_sms5/0060_1.3.12.2.1107.5.2.63.213017.2024100310503278136001070.dcm
dcmdump +P "0018,9155" ./18_C2P_cmrr_mbep2d_diff_p2_mb2/0060_1.3.12.2.1107.5.2.63.213017.2024100311034664642502798.dcm
dcmdump +P "0018,9155" ./12_C2P_cmrr_mbep2d_bold_p2_mb5/0060_1.3.12.2.1107.5.2.63.213017.2024100310555488120901609.dcm all report:
|
A ticket to Siemens has been opened by our local Specialist. |
Here is a sharable DICOM dataset on phantom, made on a 7T Terra.X in XA60. Datasetphantom_check_MBfactor_TerraX_XA60.zip ContentDICOMPatientID =
Other
|
@benoitberanger thanks. This demonstrates that the issue is present in XA60 product sequences as well as XA61: dcmdump +P "0018,9155" ./6_PRODUCT_ep2d_bold_p3_sms5/0020_1.3.12.2.1107.5.2.61.237012.2024100414255359638100304.dcm
(0018,9155) FD 1 # ParallelReductionFactorOutOfPlane Another issue is that the first volume provides single-band slice timing: "SliceTiming": [
0.2125,
0,
0.255,
0.0425,
0.295,
0.085,
0.3375,
0.1275,
0.38,
0.17 ], While subsequent volumes report multi-band timing "SliceTiming": [
0.615,
0,
0.615,
0,
0.615,
0,
0.615,
0,
0.615,
0 ], This seems to be a reemergence of historical issues. It seems like three things are required:
|
@benoitberanger please test the latest commit to the development branch (v1.0.20241004). Hopefully this use slice timing from the 2nd volume instead of the first if it has a shorter TA, and will estimate multiband with precedence over the value reported in 0018,9155. Both of these events will generate a warning, to help detect unintended consequences. The one caveat here is that it may not detect multiband if the first volume TA matches the second volume (e.g. your prior examples where multiband was used but the TR was the same as single band). I do hope this kludge resolves the specific issues your data. However, they clearly violate the DICOM specification. I do not consider these images as archival quality and I would suggest that you have your raw DICOMs fixed. All other tools that assume valid and truthful DICOMs will give erroneous results. |
@neurolabusc , I tried the development version of dcm2niix on our faulty multiband DICOM images in XA60 and the json files were correctly generated with the field
|
Like @julfou81, I confirm that 3130690 fixes the $ grep Multiband nifti_*/*/*/*json
nifti_dev/20241003104114_phantom_check_MBfactor_CimaX_XA61/S10_C2P_cmrr_mbep2d_bold_p2_mb2/v_phantom_check_MBfactor_CimaX_XA61_S10_C2P_cmrr_mbep2d_bold_p2_mb2.json: "MultibandAccelerationFactor": 2,
nifti_dev/20241003104114_phantom_check_MBfactor_CimaX_XA61/S12_C2P_cmrr_mbep2d_bold_p2_mb5/v_phantom_check_MBfactor_CimaX_XA61_S12_C2P_cmrr_mbep2d_bold_p2_mb5.json: "MultibandAccelerationFactor": 5,
nifti_dev/20241003104114_phantom_check_MBfactor_CimaX_XA61/S15_PRODUCT_ep2d_diff_p2_sms2_TRACEW/v_phantom_check_MBfactor_CimaX_XA61_S15_PRODUCT_ep2d_diff_p2_sms2_TRACEW.json: "MultibandAccelerationFactor": 2,
nifti_dev/20241003104114_phantom_check_MBfactor_CimaX_XA61/S18_C2P_cmrr_mbep2d_diff_p2_mb2/v_phantom_check_MBfactor_CimaX_XA61_S18_C2P_cmrr_mbep2d_diff_p2_mb2.json: "MultibandAccelerationFactor": 2,
nifti_dev/20241003104114_phantom_check_MBfactor_CimaX_XA61/S4_PRODUCT_ep2d_bold_p2_sms2/v_phantom_check_MBfactor_CimaX_XA61_S4_PRODUCT_ep2d_bold_p2_sms2.json: "MultibandAccelerationFactor": 2,
nifti_dev/20241003104114_phantom_check_MBfactor_CimaX_XA61/S6_PRODUCT_ep2d_bold_p2_sms5/v_phantom_check_MBfactor_CimaX_XA61_S6_PRODUCT_ep2d_bold_p2_sms5.json: "MultibandAccelerationFactor": 5,
nifti_dev/20241004141746_phantom_check_MBfactor_TerraX_XA60/S10_C2P_cmrr_mbep2d_bold_p3_mb2/v_phantom_check_MBfactor_TerraX_XA60_S10_C2P_cmrr_mbep2d_bold_p3_mb2.json: "MultibandAccelerationFactor": 2,
nifti_dev/20241004141746_phantom_check_MBfactor_TerraX_XA60/S12_C2P_cmrr_mbep2d_bold_p3_mb5/v_phantom_check_MBfactor_TerraX_XA60_S12_C2P_cmrr_mbep2d_bold_p3_mb5.json: "MultibandAccelerationFactor": 5,
nifti_dev/20241004141746_phantom_check_MBfactor_TerraX_XA60/S16_PRODUCT_ep2d_diff_p3_sms2/v_phantom_check_MBfactor_TerraX_XA60_S16_PRODUCT_ep2d_diff_p3_sms2.json: "MultibandAccelerationFactor": 2,
nifti_dev/20241004141746_phantom_check_MBfactor_TerraX_XA60/S20_C2P_cmrr_mbep2d_diff_p3_mb2/v_phantom_check_MBfactor_TerraX_XA60_S20_C2P_cmrr_mbep2d_diff_p3_mb2.json: "MultibandAccelerationFactor": 2,
nifti_dev/20241004141746_phantom_check_MBfactor_TerraX_XA60/S4_PRODUCT_ep2d_bold_p3_sms2/v_phantom_check_MBfactor_TerraX_XA60_S4_PRODUCT_ep2d_bold_p3_sms2.json: "MultibandAccelerationFactor": 2,
nifti_dev/20241004141746_phantom_check_MBfactor_TerraX_XA60/S6_PRODUCT_ep2d_bold_p3_sms5/v_phantom_check_MBfactor_TerraX_XA60_S6_PRODUCT_ep2d_bold_p3_sms5.json: "MultibandAccelerationFactor": 5,
nifti_release/20241003104114_phantom_check_MBfactor_CimaX_XA61/S15_PRODUCT_ep2d_diff_p2_sms2_TRACEW/v_phantom_check_MBfactor_CimaX_XA61_S15_PRODUCT_ep2d_diff_p2_sms2_TRACEW.json: "MultibandAccelerationFactor": 2,
nifti_release/20241003104114_phantom_check_MBfactor_CimaX_XA61/S4_PRODUCT_ep2d_bold_p2_sms2/v_phantom_check_MBfactor_CimaX_XA61_S4_PRODUCT_ep2d_bold_p2_sms2.json: "MultibandAccelerationFactor": 2,
nifti_release/20241003104114_phantom_check_MBfactor_CimaX_XA61/S6_PRODUCT_ep2d_bold_p2_sms5/v_phantom_check_MBfactor_CimaX_XA61_S6_PRODUCT_ep2d_bold_p2_sms5.json: "MultibandAccelerationFactor": 5,
nifti_release/20241004141746_phantom_check_MBfactor_TerraX_XA60/S16_PRODUCT_ep2d_diff_p3_sms2/v_phantom_check_MBfactor_TerraX_XA60_S16_PRODUCT_ep2d_diff_p3_sms2.json: "MultibandAccelerationFactor": 2,
nifti_release/20241004141746_phantom_check_MBfactor_TerraX_XA60/S4_PRODUCT_ep2d_bold_p3_sms2/v_phantom_check_MBfactor_TerraX_XA60_S4_PRODUCT_ep2d_bold_p3_sms2.json: "MultibandAccelerationFactor": 2,
nifti_release/20241004141746_phantom_check_MBfactor_TerraX_XA60/S6_PRODUCT_ep2d_bold_p3_sms5/v_phantom_check_MBfactor_TerraX_XA60_S6_PRODUCT_ep2d_bold_p3_sms5.json: "MultibandAccelerationFactor": 5, During the nifti conversion, the warnings are visible :
I'll update the Issue when we have news from Siemens ticket. Best, |
I am closing this issue. The warnings are clearly warranted. I have no idea whether the first volume is actually a single-band or a multi-band. This clearly impacts timing required for fMRI studies. Further, the DICOM headers clearly violate the DICOM specification. These warnings will disappear once the manufacturer updates their images to conform with the specification. I do hope my kludge does not have any unintended consequences for valid images. However, these warnings will also flag any regressions. |
I acquired some test sequences with different acceleration factors on a phantom with Siemens SMS bold sequence. The (0018,9155) field is not present if multiband factor is 1 and GRAPPA is 1. In all the other case the (0018,9155) field is 1.
|
Siemens confirmed the fields (0018,9069) and (0018,9155) are incorrect in Enhanced. |
The classic DICOMs generated by XA30 have a parallel error. The private tag TimeAfterStart (0021,1104) reports the single-band timing for the first volume, but the multiband timing for subsequent volumes. The error is clearly seen with the discrepancy between this tag and the public tag AcquisitionTime (0008,0032). @jeffreyluci provides a nice example, with the same data saved as enhanced and classic, providing further evidence that the classic data is wrong. This dataset is here 500x_Product_EPI_Sag_Ascending. |
Describe the bug
The key
MultibandAccelerationFactor
does not appear in the JSON sidecar on thecmrr_mbep2d_bold
sequence in both XA60 and XA61.To reproduce
dcm2niix -f "%t_%n/S%s_%d/v_%n_S%s_%d" -ba n -o <niftidir> <dicomdir>
Expected behavior
MultibandAccelerationFactor
should be present.Output log
Version
Troubleshooting
The text was updated successfully, but these errors were encountered: