Missing PA bvec/bval Files Using dcm2niix for DWI Preprocessing

Hello everyone,

I am currently trying to preprocess my DWI data and have been following the MRtrix DWI tutorial (MRtrix Tutorial #4: Preprocessing — Andy's Brain Book 1.0 documentation). However, I’ve encountered an issue: I do not have the PA bvec and bval files.

When converting the DICOM files to NIfTI, I used the following command:

dcm2niix -o output/directory -b y -f %f_%p_%s -z n input/directory

I am using the latest version of dcm2niix.

The left is the folders before conversion to NIfTI and the right is the DWI files after conversion to NIfTI.

As you can see from the image, (if I am correct) there are bvec and bval files for the AP direction and for the TRACE, but there are no bvec and bval files for the PA direction.

The MRI scanner used is a SIEMENS MAGNETOM Prisma 3T.

I would greatly appreciate any insights into why these files are missing and how I can generate the PA bvec and bval files.

If it helps to resolve the issue, I can provide my DWI data.

Thank you in advance for your assistance!

This question is underspecified, as you do not provide the sequence PDF. However, my guess here is that the named PA_INVERT_DTI... only includes b=0 images. Therefore, since no b-weighted images were acquired, there is no bvec/bval file. In other words, this sequence was not diffusion weighted. So while it may have all the other properties the same as your AP scan, it uses a different diffusion table. dcm2niix only creates bvec/bval files for series that are diffusion weighted. Since bvec/bval files are text based, it is easy to create a zero-filled file for the b=0 scans that you want to treat as diffusion.

  • Be aware that tools like Eddy work best for full sphere diffusion data, where the influence of eddy currents can be estimated and removed. In contrast, all Siemens product gradient tables are intentionally half sphere. Therefore, it is worth using a custom gradient table.
  • I would carefully look at this advice for setting up diffusion images. Since you have a 64 direction scan, the choice of a reverse phase encoding series with only b=0 seems justified. However, I would note that each Siemens series does a lot of optimization adjustments. This means that having an identical sequence acquired where one has high b-values and the other has no b-weighted can lead to different acquisitions, in particular if you set some settings (like echo time) to be sequence limited (e.g. shortest). This explains why the UK Biobank b-0 series actually includes a single volume with the maximum b-value.

You could get more feedback if you shared the sequence PDFs for these series, or shared text from the JSON file from the series in question. Just looking at the series names, I have the following suggestions for future acquisitions:

  • For your PA sequences: If you are using the CMRR research sequences, use the reverse PE/RO checkbox (Sequence/Special) to reverse the phase-encoding and readout directions instead of the Phase enc. dir in your Routine tab (Figure 5).
  • For your PA sequences: If you are using the Siemens product sequences, you must use the Phase enc. dir in your Routine tab (Figure 5). You need to be careful that the copy references does not revert PA to LR each time this image is acquired. This would result in the PhaseEncodingDirection of your JSON files being in the i (column) not j (row) direction. If you do have this problem, work with the Siemens Research Collaboration Manager to get a hot fix installed.
  • In the Diffusion tab (Figure 6) uncheck the ADC, FA, TRACE and tensor options. You will be able to create much better derived images after post processing (eddy, topup, denoise). The will eliminate the ADC, COLFA. TENSOR and TRACEW images.
  • In the Diffusion tab (Figure 6) check the mosaic tab if you are using a Siemens V* system (e.g. VE11) as this creates one DICOM file per volume rather than one DICOM file per slice. If you are using an XA sytem (e.g. XA30), it is critical that you export as enhanced DICOMs without mosaic storage.
  • For your PA_INVERT_REST series be aware that phase-encoding reversal works best for spin-echo sequences (e.g. DWI) with geometric distortion and will not be as effective for gradient-echo sequences (e.g. T2*) with signal dropout and geometric distortion. You may want to consider a traditional fieldmap.

Thank you very much for your reply!

Could you please let me know how I can provide you with the files you requested?

You can always cut and paste the contents of the JSON text file into this web page (see below). Alternatively, feel free to send a link for a online storage (e.g. dropbox) download of the sequence PDF or the raw DICOMs to my institutional email.

{
	"Modality": "MR",
	"MagneticFieldStrength": 3,
	"ImagingFrequency": 123.247638,
	"Manufacturer": "Siemens",
	"ManufacturersModelName": "TrioTim",
	"InstitutionName": "USC",
	"InstitutionalDepartmentName": "Radiology",
	"InstitutionAddress": "Medical Center Dr 5,Columbia,SC,US,29203",
	"DeviceSerialNumber": "35131",
	"StationName": "MRC35131",
	"PatientPosition": "HFS",
	"ProcedureStepDescription": "Research^MCBI_TESTING",
	"SoftwareVersions": "syngo MR B17",
	"MRAcquisitionType": "2D",
	"SeriesDescription": "ax_asc_35sl",
	"ProtocolName": "ax_asc_35sl",
	"ScanningSequence": "EP",
	"SequenceVariant": "SK",
	"ScanOptions": "FS",
	"SequenceName": "*epfid2d1_64",
	"ImageType": ["ORIGINAL", "PRIMARY", "M", "ND", "MOSAIC"],
	"NonlinearGradientCorrection": false,
	"SeriesNumber": 6,
	"AcquisitionTime": "13:49:35.305000",
	"AcquisitionNumber": 1,
	"SliceThickness": 3,
	"SpacingBetweenSlices": 3.6,
	"SAR": 0.0954132,
	"EchoTime": 0.03,
	"RepetitionTime": 3,
	"FlipAngle": 76,
	"PartialFourier": 1,
	"BaseResolution": 64,
	"ShimSetting": [
		10737,
		-10591,
		3103,
		485,
		9,
		-267,
		-184,
		73	],
	"DelayTime": 0.5,
	"TxRefAmp": 399.953,
	"PhaseResolution": 1,
	"ReceiveCoilName": "HeadMatrix",
	"CoilString": "T:HEA;HEP",
	"PulseSequenceDetails": "%SiemensSeq%\\ep2d_bold",
	"RefLinesPE": 32,
	"CoilCombinationMethod": "Sum of Squares",
	"MatrixCoilMode": "GRAPPA",
	"PercentPhaseFOV": 100,
	"PercentSampling": 100,
	"PhaseEncodingSteps": 64,
	"AcquisitionMatrixPE": 64,
	"ReconMatrixPE": 64,
	"BandwidthPerPixelPhaseEncode": 55.804,
	"ParallelReductionFactorInPlane": 2,
	"EffectiveEchoSpacing": 0.000279998,
	"DerivedVendorReportedEchoSpacing": 0.000559996,
	"TotalReadoutTime": 0.0176399,
	"PixelBandwidth": 2111,
	"DwellTime": 3.7e-06,
	"PhaseEncodingDirection": "j-",
	"SliceTiming": [
		0,
		0.07,
		0.1425,
		0.215,
		0.285,
		0.3575,
		0.43,
		0.5,
		0.5725,
		0.645,
		0.715,
		0.7875,
		0.86,
		0.9325,
		1.0025,
		1.075,
		1.1475,
		1.2175,
		1.29,
		1.3625,
		1.4325,
		1.505,
		1.5775,
		1.6475,
		1.72,
		1.7925,
		1.8625,
		1.935,
		2.0075,
		2.0775,
		2.15,
		2.2225,
		2.295,
		2.365,
		2.4375	],
	"ImageOrientationPatientDICOM": [
		1,
		-1e-16,
		0,
		1e-16,
		0.994151,
		-0.107999	],
	"ImageOrientationText": "Tra>Cor(-6.2)",
	"InPlanePhaseEncodingDirectionDICOM": "COL",
	"ConversionSoftware": "dcm2niix",
	"ConversionSoftwareVersion": "v1.0.20230411"
}

I really have two b=0 images. I made the PA bvec/bval, and now everything is alright!
Thank you very much again, and thank you for your suggestions too!