questions > Dcm2niix - merging split diffusion series
Showing 1-4 of 4 posts
Aug 10, 2018 10:08 AM | Richard Parker - Institute of Psychiatry, Psychology & Neuroscience, King's College London
Dcm2niix - merging split diffusion series
Dear all,
I'm currently working with dcm2niix version v1.0.20170724 on Ubuntu, and I'm having a slight issue with some diffusion data:
The data is acquired from a Philips Achieva system. Due to the scanner setup, the b0 volume has been split from the b=1000 volumes to form a separate series. I would like to modify the dicoms so that dcm2niix merges the volumes together to create a single 4d Nifti volume.
Using the info form this post - https://stackoverflow.com/questions/4472... - I have tried setting a consistent Series Instance UID (0020, 000e) and Series Number (0020, 0011) across all the dicoms, but dcm2niix still interprets the inputs as belonging to two separate acquisitions, and creates two Niftis.
My question is - which dicom tags do I have to change to ensure that dcm2niix appropriately merges these two sets of dicoms?
Note: I realise that an alternative solution to this issue would be to convert both sets dicoms to Nifti separately, then use a tool like fslmerge to perform the concatenation. The problem with this approach is that the version of dcm2niix I'm running doesn't currently produce a bval/bvec pair for the b=1000 series (as it rightly detects a lack of bvalue variation), so further processing is difficult. I've noticed that newer versions of dcm2niix will produce bval/bvec files for diffusion sequences even if they don't have varying b-values, but unfortunately the newest releases won't run on our fairly antiquated servers.
Any help would be greatly appreciated!
Best,
Richard
I'm currently working with dcm2niix version v1.0.20170724 on Ubuntu, and I'm having a slight issue with some diffusion data:
The data is acquired from a Philips Achieva system. Due to the scanner setup, the b0 volume has been split from the b=1000 volumes to form a separate series. I would like to modify the dicoms so that dcm2niix merges the volumes together to create a single 4d Nifti volume.
Using the info form this post - https://stackoverflow.com/questions/4472... - I have tried setting a consistent Series Instance UID (0020, 000e) and Series Number (0020, 0011) across all the dicoms, but dcm2niix still interprets the inputs as belonging to two separate acquisitions, and creates two Niftis.
My question is - which dicom tags do I have to change to ensure that dcm2niix appropriately merges these two sets of dicoms?
Note: I realise that an alternative solution to this issue would be to convert both sets dicoms to Nifti separately, then use a tool like fslmerge to perform the concatenation. The problem with this approach is that the version of dcm2niix I'm running doesn't currently produce a bval/bvec pair for the b=1000 series (as it rightly detects a lack of bvalue variation), so further processing is difficult. I've noticed that newer versions of dcm2niix will produce bval/bvec files for diffusion sequences even if they don't have varying b-values, but unfortunately the newest releases won't run on our fairly antiquated servers.
Any help would be greatly appreciated!
Best,
Richard
Aug 10, 2018 11:08 AM | Chris Rorden
RE: Dcm2niix - merging split diffusion series
First, can I suggest you update to v1.0.20180622. Second, are you sure it is splitting the =0 image, or is it
splitting the isotropic image. The isotropic image is a derived
image, and it is actually a violation of the DICOM standard to use
the same series number as the raw data. Regardless, the derived
images (ADC, isotropic, etc) will all look much nicer once you
preprocess your raw data (e.g. de-Gibbs, denoise, eddy, topup). If
problems still persist, you can post an issue on Github.
Aug 10, 2018 12:08 PM | Richard Parker - Institute of Psychiatry, Psychology & Neuroscience, King's College London
RE: Dcm2niix - merging split diffusion series
Hi Chris,
Thanks for your speedy reply.
Ideally I would use the newest dcm2niix - this is what I use on my local machine, and this version produces a bval/bvec pair for the b=1000 series (and so I can instead merge the nifti volumes). Unfortunately, the newest version doesn't work on our Ubunt10 servers.
The split isn't the notorious derived ADC volume - this was the first thing I checked! (probably should have mentioned this earlier...)
As a potential workaround to my problem - is there an easy way of telling dcm2niix to produce a bval/bvec pair even if no bvalue variation is detected? This would allow me to fix my problem with fslmerge.
Best,
Richard
P.s., I can't share the offending dataset I'm afraid, as it's clinical trial data
Thanks for your speedy reply.
Ideally I would use the newest dcm2niix - this is what I use on my local machine, and this version produces a bval/bvec pair for the b=1000 series (and so I can instead merge the nifti volumes). Unfortunately, the newest version doesn't work on our Ubunt10 servers.
The split isn't the notorious derived ADC volume - this was the first thing I checked! (probably should have mentioned this earlier...)
As a potential workaround to my problem - is there an easy way of telling dcm2niix to produce a bval/bvec pair even if no bvalue variation is detected? This would allow me to fix my problem with fslmerge.
Best,
Richard
P.s., I can't share the offending dataset I'm afraid, as it's clinical trial data
Aug 10, 2018 08:08 PM | Chris Rorden
RE: Dcm2niix - merging split diffusion series
I do think you want to try a recent version of dcm2niix. The
compiled version of dcm2niix provided on Github does not run on
every flavor of Linux.
One option is to compile your own version. The minimal compile below will generate a new executable "dcm2niix" in the console folder:
$ git clone https://github.com/rordenlab/dcm2niix.gi...
$ cd dcm2niix/console
$ make
You can also get a modern compile of dcm2niix built on an older (and therefore typically more compatible) Linux by downloading MRIcroGL
https://github.com/neurolabusc/MRIcroGL/...
I suspect this will resolve your issue
One option is to compile your own version. The minimal compile below will generate a new executable "dcm2niix" in the console folder:
$ git clone https://github.com/rordenlab/dcm2niix.gi...
$ cd dcm2niix/console
$ make
You can also get a modern compile of dcm2niix built on an older (and therefore typically more compatible) Linux by downloading MRIcroGL
https://github.com/neurolabusc/MRIcroGL/...
I suspect this will resolve your issue