NIRALUser / DTIPrep

DTIPrep performs a "Study-specific Protocol" based automatic pipeline for DWI/DTI quality control and preparation
http://www.nitrc.org/projects/dtiprep
Apache License 2.0
19 stars 11 forks source link

Remove ITKv3Compatibility from list of ITK components #4

Closed aghayoor closed 3 years ago

aghayoor commented 9 years ago

Slicer is going to stop support for ITKv3 compatibility; therefore, changes suggested in this issue are needed for future compatibility.

I already started a patch to address this issue: https://github.com/aghayoor/DTIPrep/commit/cde440fd8684c5b2134558c89095d5e6079418d6

However, DTIPrep still needs to go under a drastic refactoring in its registration framework. Here are some suggestions to start these changes:

1) "MultiResolutionMultiImageRegistrationMethod" class is not needed anymore, since "itkImageRegistrationMethodv4" provides multi-resolution and multi-metric/image registration capabilities.

2) "GradientDescentLineSearchOptimizer" class can be removed, since ITKv4 registration framework has the same optimizer: "itkGradientDescentLineSearchOptimizerv4".

3) "MultiImageMetric" class can be removed from the src directory, and the ITK class (itkObjectToObjectMultiMetricv4) can be used as the base class for multi-metric registration process.

4) The "UnivariateEntropyMultiImageMetric" and "VarianceMultiImageMetric" classes should be modified to be compatible with the new multi-metric base class.

5) "MultiImageRegistrationFilter" should be re-written in a way to run ITKv4 registration. Begin with: MultiResolutionMultiImageRegistrationMethod.h --> itkImageRegistrationMethodv4.h GradientDescentLineSearchOptimizer.h --> itkGradientDescentLineSearchOptimizerv4.h itkBSplineDeformableTransform.h --> itkBSplineTransform.h itkBSplineDeformableTransformInitializer.h --> itkBSplineTransformInitializer.h ...

6) Other registration classes in the src directory (like IntraGradientRigidRegistration, RigidRegistration and itkVectorImageRegisterAffineFilter) are also needed to be changed to use "itkImageRegistrationMethodv4" for their registration process.

aghayoor commented 9 years ago

@hjmjohnson : Here are suggestions to update DTIPrep, so it can be built with ITKV3_COMPATIBILITY OFF.

hjmjohnson commented 9 years ago

@fbudin69500 @styner

Martin and Francois,

We were going to just fix DTIPrep so that it works with ITKv4, but it appears to be a bigger issue than we expected. I am guessing that some of this code is not in use, and is perhaps a testing ground for incomplete or no longer used features.

We are willing to assist with advice and perhaps even some changes. At this point we just wanted to let you know that we need to drop DTIPrep from our superbuild system due to these incompatibilities, and we will not be able to supply the level of support that we have in the past.

Regards, Hans

styner commented 9 years ago

Thanks Hans That’s fine, fully understand, we will need time to switch it to ITKv4 (non-ITKv3 compatible). While I am sure that not all of the registration code is being used, most of it should be used. We may start with trying to disable the parts that are no longer used (so we do not need to port those).

Martin

Martin Styner, PhD. MS ETH Associate Professor Neuro Image Analysis and Research Lab Carolina Institute of Developmental Disabilities Departments of Psychiatry and Computer Science CB 7160, University of North Carolina at Chapel Hill Chapel Hill, NC 27599-7160 Cell: 919 260 6674 Fax: 919 962 1799

On Dec 4, 2014, at 2:16 PM, hjmjohnson notifications@github.com<mailto:notifications@github.com> wrote:

@fbudin69500https://github.com/fbudin69500 @stynerhttps://github.com/styner

Martin and Francois,

We were going to just fix DTIPrep so that it works with ITKv4, but it appears to be a bigger issue than we expected. I am guessing that some of this code is not in use, and is perhaps a testing ground for incomplete or no longer used features.

We are willing to assist with advice and perhaps even some changes. At this point we just wanted to let you know that we need to drop DTIPrep from our superbuild system due to these incompatibilities, and we will not be able to supply the level of support that we have in the past.

Regards, Hans

— Reply to this email directly or view it on GitHubhttps://github.com/NIRALUser/DTIPrep/issues/4#issuecomment-65686036.

ihnorton commented 6 years ago

I believe this was fixed by https://github.com/NIRALUser/DTIPrep/pull/45

scalphunters commented 3 years ago

Closing the issue. ITKv3 compatibility is currently on.