Dear All,
I try using dwifslpreproc with eddy-cuda and slice-to-volume correction, like
dwifslpreproc predwi_denoised.mif dwi_preprocessed.mif -rpe_header -eddy_options " --mporder=16"
As input, predwi_denoised.mif is generated using mrcat, with successive concatenations of 4 .mif vols generated from DWI sets via mrconvert.
I have 4 dwi vols sets/subject:
set 1: 10Xb0, 60 dirXb700 (70 vols total), pe dir: j-
set 2: 10Xb0, 60 dirXb700 (70 vols total), pe dir: j
set 3: 10Xb0, 60 dirXb3000 (70 vols total), pe dir: j-
set 4: 10Xb0, 60 dirXb3000 (70 vols total), pe dir: j
Below you have listed the slice timing info for individual sets:
mrinfo set1.mif:
SliceTiming: 4.0250,0.0000,4.1500,0.1250,4.2775,0.2500,4.4025,0.3775,4.5275,0.5025,4.6550,0.6275,4.7800,0.7550,4.9050,0.8800,5.0325,1.0050,5.1575,1.1325,5.2825,1.2575,5.4075,1.3825,5.5350,1.5100,5.6600,1.6350,5.7850,1.7600,5.9125,1.8850,6.0375,2.0125,6.1625,2.1375,6.2900,2.2625,6.4150,2.3900,6.5400,2.5150,6.6675,2.6400,6.7925,2.7675,6.9175,2.8925,7.0450,3.0175,7.1700,3.1450,7.2950,3.2700,7.4225,3.3950,7.5475,3.5225,7.6725,3.6475,7.8000,3.7725,7.9250,3.9000
mrinfo set2.mif:
SliceTiming: 4.0275,0.0000,4.1525,0.1275,4.2775,0.2525,4.4025,0.3775,4.5300,0.5050,4.6550,0.6300,4.7800,0.7550,4.9075,0.8800,5.0325,1.0075,5.1575,1.1325,5.2850,1.2575,5.4100,1.3850,5.5350,1.5100,5.6625,1.6350,5.7875,1.7625,5.9125,1.8875,6.0400,2.0125,6.1650,2.1400,6.2900,2.2650,6.4175,2.3900,6.5425,2.5175,6.6675,2.6425,6.7950,2.7675,6.9200,2.8950,7.0450,3.0200,7.1725,3.1450,7.2975,3.2725,7.4225,3.3975,7.5475,3.5225,7.6750,3.6500,7.8000,3.7750,7.9250,3.9000
mrinfo set3.mif:
SliceTiming: 4.8425,0.0000,4.9950,0.1500,5.1450,0.3025,5.2975,0.4525,5.4475,0.6050,5.6000,0.7550,5.7500,0.9075,5.9025,1.0575,6.0550,1.2100,6.2050,1.3600,6.3575,1.5125,6.5075,1.6650,6.6600,1.8150,6.8100,1.9675,6.9625,2.1175,7.1125,2.2700,7.2650,2.4200,7.4150,2.5725,7.5675,2.7225,7.7200,2.8750,7.8700,3.0275,8.0225,3.1775,8.1725,3.3300,8.3250,3.4800,8.4750,3.6325,8.6275,3.7825,8.7775,3.9350,8.9300,4.0850,9.0825,4.2375,9.2325,4.3875,9.3850,4.5400,9.5350,4.6925
mrinfo set4.mif:
SliceTiming: 4.8425,0.0000,4.9950,0.1500,5.1475,0.3025,5.2975,0.4550,5.4500,0.6050,5.6000,0.7575,5.7525,0.9075,5.9025,1.0600,6.0550,1.2100,6.2050,1.3625,6.3575,1.5125,6.5100,1.6650,6.6600,1.8150,6.8125,1.9675,6.9625,2.1200,7.1150,2.2700,7.2650,2.4225,7.4175,2.5725,7.5675,2.7250,7.7200,2.8750,7.8700,3.0275,8.0225,3.1775,8.1750,3.3300,8.3250,3.4825,8.4775,3.6325,8.6275,3.7850,8.7800,3.9350,8.9300,4.0875,9.0825,4.2375,9.2325,4.3900,9.3850,4.5400,9.5375,4.6925
From the above, set1.mif and set2.mif have almost similar (but not identical) slice timing data), but very different from set3.mif and set4.mif.
Interestingly,
mrcat set1.mif set2.mif set12.mif
creates set12.mif having listed the slice timing info of set2.mif (similarly set34.mif lists set4.mif slice timing if using mrinfo), and the overall concat (mrcat set12.mif set34.mif predwi_denoised.mif
) specifies ‘SliceTiming: variable’, hence the error.
Please help, thank you, how can I combine the 4 sets so that slspec data is read properly by dwifslpreproc; if this is not possible, how should I create the slspec file based on such concatenation resulting in dwi_denoised. mif (below I include part of mrinfo output for multiband info etc)
Octavian
mrinfo predwi_denoised.mif -all
Image name: “predwi_denoised”.mif
Dimensions: 128 x 128 x 64 x 280
Voxel size: 2 x 2 x 2 x ?
Data strides: [ -2 -3 4 1 ]
Format: MRtrix
Data type: 32 bit float (little endian)
Intensity scaling: offset = 0, multiplier = 1
Transform: 1 0 -0 -130
0 1 -0 -106.4
-0 -0 1 -44.28
EchoTime: variable
FlipAngle: 90
MultibandAccelerationFactor: 1
PixelBandwidth: 1395
RepetitionTime: variable
SliceEncodingDirection: k
SliceTiming: variable