COMP: Refactor DWIConvert and improve scanner support
// ------------------
From Kent Williams
Source: http://slicer-devel.65872.n3.nabble.com/ANNOUNCE-New-DWIConvert-version-td4028665.html
I'm sure the thronging multitudes who live or die by Diffusion Tensor
Imaging will be dancing in the streets.
DWIConvert, the program for convertion Diffusion Weighted Image datasets
from DICOM to NRRD and FSL image formats has been extensively refactored.
My primary goal was to make the program easier to enhance and maintain.
What was a very long and convoluted single function is now split out into
a set of classes, one per Scanner Manufacturer. All the
scanner-independent code is isolated from the scanner-specific code.
Along the way it has been enhanced in a couple of ways:
- Some fixes to accomodate the surprisingly varied output of Siemens and
GE scanners.
- Addition of a HITACHI scanner type.
The HITACHI scanner code has only been tested on one example dataset; I
don't know how many scanners they make or if different models/software
versions encode Gradient Vectors differently. From some web
documentation, it seems they follow the Supplement 49 standard for
diffusion data, and the user who requested Hitachi scanner support said
that the code worked fine for him.
If you happen to run across another scanner that is not yet supported, the
HITACHI converter would be a good starting point for adding a new device.
In the course of debugging this new version, I first verified that it
passed the included regression tests. Then, I did an exhaustive
comparison of the new version's output with the over 3700 DWI DICOM
datasets we have already converted for the PredictHD Research project. So
I have high confidence that the new version is reliable enough for
production work.
// ----------------
Updating BRAINSTools also fixes various bugs and issues. For a complete
list, see https://github.com/BRAINSia/BRAINSTools/compare/bc4adf7465300b7553a64e35035d05ee8a6407da...8fa5dd3c6d898461df184546faa165baeacbf0aa
From: Kent Williams <norman-k-williams@uiowa.edu>
git-svn-id: http://svn.slicer.org/Slicer4/trunk@22104 3bd1e089-480b-0410-8dfb-8563597acbee |