22 #ifndef __itkDiffusionTensorPrincipalDirectionImageFilter_h_
23 #define __itkDiffusionTensorPrincipalDirectionImageFilter_h_
26 #include <itkImageToImageFilter.h>
27 #include <vnl/vnl_vector_fixed.h>
28 #include <vnl/vnl_matrix.h>
29 #include <vnl/algo/vnl_svd.h>
30 #include <itkVectorContainer.h>
31 #include <itkVectorImage.h>
32 #include <itkDiffusionTensor3D.h>
39 template<
class TTensorPixelType,
class TPDPixelType=
float>
41 public ImageToImageFilter< Image< DiffusionTensor3D<TTensorPixelType>, 3 >, Image< Vector< TPDPixelType, 3 >, 3 > >
49 typedef ImageToImageFilter< Image< DiffusionTensor3D<TTensorPixelType>, 3 >, Image< Vector< TPDPixelType, 3 >, 3 > >
53 itkFactorylessNewMacro(Self)
67 void SetImage( const InputImageType *image );
70 itkSetMacro( MaskImage, ItkUcharImgType::Pointer)
71 itkSetMacro( NormalizeVectors,
bool)
74 itkGetMacro( OutputFiberBundle,
mitk::FiberBundle::Pointer)
75 itkGetMacro( NumDirectionsImage, ItkUcharImgType::Pointer)
78 DiffusionTensorPrincipalDirectionImageFilter();
79 ~DiffusionTensorPrincipalDirectionImageFilter() {}
80 void PrintSelf(std::ostream& os, Indent indent)
const;
88 bool m_NormalizeVectors;
92 float m_MaxEigenvalue;
97 #ifndef ITK_MANUAL_INSTANTIATION
101 #endif //__itkDiffusionTensorPrincipalDirectionImageFilter_h_
itk::SmartPointer< Self > Pointer
DiffusionTensorPrincipalDirectionImageFilter Self
DataCollection - Class to facilitate loading/accessing structured data.
TTensorPixelType TensorComponentType
void PrintSelf(std::ostream &os, Indent indent) const
itk::Image< unsigned char, 3 > ItkUcharImgType
void AfterThreadedGenerateData()
ImageToImageFilter< Image< DiffusionTensor3D< TTensorPixelType >, 3 >, Image< Vector< TPDPixelType, 3 >, 3 > > Superclass
Superclass::OutputImageType OutputImageType
TPDPixelType DirectionPixelType
Extracts principal eigenvectors of the input tensors.
void SetImage(const InputImageType *image)
Superclass::InputImageType InputImageType
vnl_vector_fixed< double, 3 > DirectionType
void ThreadedGenerateData(const OutputImageRegionType &outputRegionForThread, ThreadIdType)
void BeforeThreadedGenerateData()
SmartPointer< Self > Pointer
SmartPointer< const Self > ConstPointer
Superclass::OutputImageRegionType OutputImageRegionType