Dcm2bids After conversion to BIDS bvals are zeros

hi, experts,

I need an advice. After converting DTI data into BIDS format I get bval and bvec files, but both of them are zeros. What is wrong with it? I am not getting any error and on other data it was working fine.


what software are you using to convert into BIDS format?

python on jupyter notebook

sorry which open source tool are you using?

do you mean DCM2BIDS?

yep. So I don’t have any experience using dcm2bids but maybe if you can add a tag to this post with dcm2bids or resubmit this post indicating dcm2bids you’ll get more attention + help.

1 Like

Perhaps providing the JSON BIDS sidecar for the DTI scan would help. You might also want to report the output of running ‘fslhd’ from the command line, e.g. ‘fslhd /path/to/dti.nii’

Dear Chris,
I am attaching print screen. here it is.

Thanks, I also need to see the contents of the BIDS sidecar, it is a text file with the extension .json that is converted when dcm2niix creates the NIfTI image.

Are you sure that this is a DTI scan? A TR of 20.93s seems very long for even a single-band DTI scan (23 minute acquisition for just 66 directions), and the use of anisotropic voxels is discouraged.

sub-001_dwi.txt (1.6 KB)

I would strongly encourage you to use the latest stable release of dcm2niix, which is updated twice per year (spring, fall). Newer versions embody our growing understanding of the how each vendor interprets data, as well as the new meta data stored by the latest scanner software. You may even want to try out the Fall 2021 release candidate. Recent work with GE engineers (in particular Jaemin Shin and Brice Fernandez) allows us to capture more information, specifically I would expect the SliceTiming and PhaseEncodingDirection fields to be populated.

The dcm2niix version used was the Fall 2018 release:

ConversionSoftwareVersion": "v1.0.20181114  GCC7.3.0"

Based on the sample DICOM shared by Chris (Thanks, Chris!), the data was collected on SIGNA HDx 3T (Software release: 14.0_M5_0737.f) using a custom PSD, “epi2_cje_v1”.

As Chris pointed out, the DICOM images report b-values (1200), but no directions (i.e. all zeros), which is strange:
(0043,1039) IS [1200\67108872\0\0] # bval
(0019,10bb) DS [0.000000] # bvecX
(0019,10bc) DS [0.000000] # bvecY
(0019,10bd) DS [0.000000] # bvecZ

Also, I noticed that CV11 (0019,10b2) is set 30, which typically (not always) is used for specifying a custom tensor file (e.g. tensor30.dat) instead of GE product tensor file (tensor.dat). In this case (if you modify PSD to use a custom tensor file (i.e. tensor30.dat), PSD played-out diffusion gradient is from the custom tensor file (tensor30.dat). However, b-vector information in DICOM (0019, 10bb/c/d) is NOT from the custom tensor file specified in PSD. It typically stores information from GE product tensor file. But, it is strange that all values are zeros.

Good news is that GE convention for diffusion gradient direction has always been in “MR physics” logical coordinate. So, if you have access to the tensor file, I can help you to generate bval/bvec file for you.

If you believe that PSD uses a default GE product tensor file (tensor.dat), I can help you to generate bval/bvec file for you.

Thanks, how I can share it with you? Chris already has it.

If you can make it work, that would be great. But then I need to do it myself for hundreds of subjects :wink:


I can be reached at my work email Jaemin[dot]Shin[at]GE[dot]com. If data is collected with the same protocol ( (custom tensor file, # of diffusion directions, # of T2, Freq Dir (RL)), the bval/bvec will be same for ALL hundreds of subjects regardless of oblique angles. That’s what I mean by the “MR physics” logical coordinate.

I have now seen data from two centers where the b-vector data for GE diffusion scans has been set to zero. The common thread appears to be the use of the professional software DICOMAnonymizerPro. I was unable to replicate the issue with the latest free version (2.0.9), though other modifications were consistent with the datasets I saw. I am not sure if this issue is specific to certain versions, specific to certain settings, or specific to the professional version. I urge all users of this software to carefully evaluate their images to ensure it has not corrupted your data. If it has, you should contact the vendor for support. The crucial tags that are set to zero are:

(0019,10bb) DS [0.000000] # bvecX
(0019,10bc) DS [0.000000] # bvecY
(0019,10bd) DS [0.000000] # bvecZ

While data anonymization is important, users need to ensure that it does not remove crucial sequence information. When choosing anonymization software, users should carefully evaluate the changes for a wide range of sequences. I often will compare the original and anonymized data with the tools dcmdump (or gdcmdump) and diff:

dcmdump original.dcm > original.txt
dcmdump anonymized.dcm > anonymized.txt
diff original.txt anonymized.txt

Tremendous costs (financial and time) are put into acquiring these datasets. Careful consideration must be done regrading the curation, storage and sharing.

In general, I would discourage the use of professional anonymization tools where the algorithms are not clear. There are many open source executables and scripts that will do a thorough job and have benefited from community involvement.