1 #ifndef __itkTractsToVectorImageFilter_h__
2 #define __itkTractsToVectorImageFilter_h__
8 #include <itkImageSource.h>
9 #include <itkVectorImage.h>
12 #include <vtkSmartPointer.h>
13 #include <vtkPolyData.h>
14 #include <vtkCellArray.h>
15 #include <vtkPoints.h>
16 #include <vtkPolyLine.h>
25 template<
class PixelType >
41 typedef VectorContainer< unsigned int, DirectionContainerType::Pointer >
ContainerType;
47 itkFactorylessNewMacro(Self)
51 itkSetMacro( SizeThreshold,
float)
52 itkGetMacro( SizeThreshold,
float)
53 itkSetMacro( AngularThreshold,
float)
54 itkGetMacro( AngularThreshold,
float)
55 itkSetMacro( NormalizeVectors,
bool)
56 itkGetMacro( NormalizeVectors,
bool)
57 itkSetMacro( UseWorkingCopy,
bool)
58 itkGetMacro( UseWorkingCopy,
bool)
59 itkSetMacro( MaxNumDirections,
unsigned long)
60 itkGetMacro( MaxNumDirections,
unsigned long)
61 itkSetMacro( MaskImage, ItkUcharImgType::Pointer)
63 itkGetMacro( ClusteredDirectionsContainer, ContainerType::Pointer)
64 itkGetMacro( NumDirectionsImage, ItkUcharImgType::Pointer)
65 itkGetMacro( OutputFiberBundle, FiberBundle::Pointer)
66 itkGetMacro( DirectionImageContainer, DirectionImageContainerType::Pointer)
67 itkSetMacro( CreateDirectionImages,
bool)
69 void GenerateData() override;
73 DirectionContainerType::Pointer FastClustering(DirectionContainerType::Pointer inDirs,
std::vector<
double > lengths);
78 vnl_vector_fixed<
double, 3> GetVnlVector(
double point[3]);
79 itk::
Point<
double, 3> GetItkPoint(
double point[3]);
82 TractsToVectorImageFilter();
83 virtual ~TractsToVectorImageFilter();
85 FiberBundle::Pointer m_FiberBundle;
86 float m_AngularThreshold;
88 ItkUcharImgType::Pointer m_MaskImage;
89 bool m_NormalizeVectors;
91 ContainerType::Pointer m_DirectionsContainer;
92 bool m_UseWorkingCopy;
93 unsigned long m_MaxNumDirections;
94 float m_SizeThreshold;
95 bool m_CreateDirectionImages;
98 ContainerType::Pointer m_ClusteredDirectionsContainer;
99 ItkUcharImgType::Pointer m_NumDirectionsImage;
100 DirectionImageContainerType::Pointer m_DirectionImageContainer;
101 FiberBundle::Pointer m_OutputFiberBundle;
106 #ifndef ITK_MANUAL_INSTANTIATION
110 #endif // __itkTractsToVectorImageFilter_h__
Superclass of all classes generating Images (instances of class Image) as output. ...
SmartPointer< Self > Pointer
DataCollection - Class to facilitate loading/accessing structured data.
itk::Vector< float, 3 > OutputVectorType
vnl_vector_fixed< double, 3 > DirectionType
itk::Image< OutputVectorType, 3 > OutputImageType
Image class for storing images.
SmartPointer< const Self > ConstPointer
Base Class for Fiber Bundles;.
VectorContainer< unsigned int, ItkDirectionImageType::Pointer > DirectionImageContainerType
std::vector< OutputImageType::Pointer > OutputImageContainerType
itk::Image< unsigned char, 3 > ItkUcharImgType
Image< Vector< float, 3 >, 3 > ItkDirectionImageType
VectorContainer< unsigned int, DirectionContainerType::Pointer > ContainerType
itk::Image< double, 3 > ItkDoubleImgType
Extracts the voxel-wise main directions of the input fiber bundle.
TractsToVectorImageFilter Self
VectorContainer< unsigned int, DirectionType > DirectionContainerType