NIRALUser / DTIProcessToolkit

DTIProcess is a DTI processing and analysis toolkit developed in UNC and University of Utah
http://www.nitrc.org/projects/dtiprocess
Apache License 2.0
7 stars 8 forks source link

Prefer using ITK to Copied version of itkFastSymmetricEigenAnalsysImageFilter #7

Closed hjmjohnson closed 9 years ago

hjmjohnson commented 9 years ago

@fbudin69500 @styner @aghayoor

The itkSymmetricEigenAnalsysImageFilter and the local itkFastSymmetricEigenAnalsysImageFilter were nearly identical. Upon inspection it is clear that at some point one of these files was a direct copy of the other.

The local version directly called vnl_symmetric_eigensystem, which is appearently not thread safe. The ITK version uses a the itkSymmetricEigenAnalysis class (A thread safe alternative to vnl_symmetric_eigensystem) to do the computations:

Additionally, itkSymmetricEigenAnalysis has a desired default behavior of ordering eigen values. The ITK version also provides mechanisms for choosing other ordering behavior (And respects the choice given!).

NOTE: The itkSymmetricEigenAnalysis is already used in the maxcurvature.cxx functions.

NOTE: itkSymmetricEigenAnalysis is used in Slicer, so this would allow Slicer and DTIProcess to use the same underlying code.