15 #ifndef itkJonesThicknessFilter_h
16 #define itkJonesThicknessFilter_h
17 #include <itkImageToImageFilter.h>
18 #include <itkVector.h>
37 template <
typename TImageType,
typename TScalarType,
unsigned int NDimensions>
43 typedef ImageToImageFilter<TImageType, TImageType>
Superclass;
65 void PrintSelf(std::ostream& os, Indent indent)
const;
68 itkSetMacro(LowVoltage, TScalarType);
69 itkGetMacro(LowVoltage, TScalarType);
72 itkSetMacro(HighVoltage, TScalarType);
73 itkGetMacro(HighVoltage, TScalarType);
76 itkSetMacro(LaplaceEpsionRatio, TScalarType);
77 itkGetMacro(LaplaceEpsionRatio, TScalarType);
80 itkSetMacro(LaplaceMaxIterations,
unsigned long int);
81 itkGetMacro(LaplaceMaxIterations,
unsigned long int);
84 itkSetMacro(WhiteMatterLabel,
short int);
85 itkGetMacro(WhiteMatterLabel,
short int);
88 itkSetMacro(GreyMatterLabel,
short int);
89 itkGetMacro(GreyMatterLabel,
short int);
92 itkSetMacro(CSFMatterLabel,
short int);
93 itkGetMacro(CSFMatterLabel,
short int);
96 itkSetMacro(MinimumStepSize, TScalarType);
97 itkGetMacro(MinimumStepSize, TScalarType);
100 itkSetMacro(MaximumLength, TScalarType);
101 itkGetMacro(MaximumLength, TScalarType);
104 itkSetMacro(Sigma, TScalarType);
105 itkGetMacro(Sigma, TScalarType);
111 itkSetMacro(UseLabels,
bool);
112 itkGetMacro(UseLabels,
bool);
117 itkSetMacro(UseSmoothing,
bool);
118 itkGetMacro(UseSmoothing,
bool);
121 void SetVectorNormalsOverrideImage(VectorNormalImageType*
v);
122 VectorNormalImageType* GetVectorNormalsOverrideImage();
123 VectorNormalImageType* GetVectorNormalsFilterImage();
124 LaplacianImageType* GetLaplacianFilterImage();
132 virtual void GenerateData();
136 void operator=(
const Self&);
138 TScalarType m_LowVoltage;
139 TScalarType m_HighVoltage;
140 TScalarType m_LaplaceEpsionRatio;
141 unsigned long int m_LaplaceMaxIterations;
142 short int m_WhiteMatterLabel;
143 short int m_GreyMatterLabel;
144 short int m_CSFMatterLabel;
145 TScalarType m_MinimumStepSize;
146 TScalarType m_MaximumLength;
148 bool m_DontUseGaussSiedel;
152 CheckFilterPointer m_CheckFilter;
153 LaplaceFilterPointer m_LaplaceFilter;
154 NormalsFilterPointer m_NormalsFilter;
155 IntegrateFilterPointer m_IntegrateFilter;
156 VectorNormalImagePointer m_NormalsOverrideImage;
162 #ifndef ITK_MANUAL_INSTANTIATION
163 #include "itkJonesThicknessFilter.txx"
Integrates streamlines using Eulers method (Lagrangian framework).
Definition: itkIntegrateStreamlinesFilter.h:49
LaplaceFilterType::OutputImageType LaplacianImageType
Definition: itkJonesThicknessFilter.h:56
CheckFilterType::Pointer CheckFilterPointer
Definition: itkJonesThicknessFilter.h:47
SmartPointer< Self > Pointer
Definition: itkScalarImageToNormalizedGradientVectorImageFilter.h:82
SmartPointer< Self > Pointer
Definition: itkLaplacianSolverImageFilter.h:56
IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions > IntegrateFilterType
Definition: itkJonesThicknessFilter.h:52
Definition: niftkITKAffineResampleImage.cxx:74
VectorNormalImageType::Pointer VectorNormalImagePointer
Definition: itkJonesThicknessFilter.h:55
NormalsFilterType::OutputImageType VectorNormalImageType
Definition: itkJonesThicknessFilter.h:54
CheckForThreeLevelsFilter< TImageType > CheckFilterType
Definition: itkJonesThicknessFilter.h:46
NormalsFilterType::Pointer NormalsFilterPointer
Definition: itkJonesThicknessFilter.h:51
LaplaceFilterType::Pointer LaplaceFilterPointer
Definition: itkJonesThicknessFilter.h:49
IntegrateFilterType::Pointer IntegrateFilterPointer
Definition: itkJonesThicknessFilter.h:53
const GLdouble * v
Definition: glew.h:1375
Composite filter to implement Jones et. al. Human Brain Mapping 2005 11:12-32(2000).
Definition: itkJonesThicknessFilter.h:38
ScalarImageToNormalizedGradientVectorImageFilter< TImageType, TScalarType > NormalsFilterType
Definition: itkJonesThicknessFilter.h:50
SmartPointer< Self > Pointer
Definition: itkIntegrateStreamlinesFilter.h:57
SmartPointer< Self > Pointer
Definition: itkJonesThicknessFilter.h:44
LaplacianSolverImageFilter< TImageType, TScalarType > LaplaceFilterType
Definition: itkJonesThicknessFilter.h:48
Simply checks for 3 levels and passes data straight through.
Definition: itkCheckForThreeLevelsFilter.h:39
SmartPointer< const Self > ConstPointer
Definition: itkJonesThicknessFilter.h:45
JonesThicknessFilter Self
Definition: itkJonesThicknessFilter.h:42
Simultaneous itk::Image and itk::Array (and hence vnl_vector) class.
ImageToImageFilter< TImageType, TImageType > Superclass
Definition: itkJonesThicknessFilter.h:43
virtual ~JonesThicknessFilter()
Definition: itkJonesThicknessFilter.h:129
This class takes scalar image as input, and outputs a vector field of image gradient.
Definition: itkScalarImageToNormalizedGradientVectorImageFilter.h:67
SmartPointer< Self > Pointer
Definition: itkCheckForThreeLevelsFilter.h:46
Solves Laplace equation over the cortical volume.
Definition: itkLaplacianSolverImageFilter.h:49