15 #ifndef itkLagrangianInitializedRelaxStreamlinesFilter_h
16 #define itkLagrangianInitializedRelaxStreamlinesFilter_h
19 #include <itkContinuousIndex.h>
44 template <
class TImageType,
typename TScalarType,
unsigned int NDimensions>
93 void SetSegmentedImage(
const InputScalarImageType *
image) {this->SetNthInput(2, const_cast<InputScalarImageType *>(image)); }
96 void SetGMPVMap(
const InputScalarImageType *
image) {this->SetNthInput(3, const_cast<InputScalarImageType *>(image)); }
99 itkSetObjectMacro(GreyMatterPVInterpolator, ScalarInterpolatorType);
100 itkGetObjectMacro(GreyMatterPVInterpolator, ScalarInterpolatorType);
106 itkSetMacro(StepSizeThreshold,
double);
107 itkGetMacro(StepSizeThreshold,
double);
114 itkSetMacro(GreyMatterPercentage,
double);
115 itkGetMacro(GreyMatterPercentage,
double);
126 itkGetMacro(MaximumSearchDistance,
double);
129 m_MaximumSearchDistance = d;
130 m_DefaultMaximumSearchDistance =
false;
134 itkSetMacro(DefaultMaximumSearchDistance,
bool);
135 itkGetMacro(DefaultMaximumSearchDistance,
bool);
140 void PrintSelf(std::ostream& os, Indent indent)
const;
146 virtual void InitializeBoundaries(
147 std::vector<InputScalarImageIndexType>& completeListOfGreyMatterPixels,
148 InputScalarImageType* scalarImage,
149 InputVectorImageType* vectorImage,
150 OutputImageType* L0Image,
151 OutputImageType* L1Image,
152 std::vector<InputScalarImageIndexType>& L0greyList,
153 std::vector<InputScalarImageIndexType>& L1greyList
157 OutputImagePixelType LagrangianInitialisation(
158 ContinuousIndexType&
index,
160 double& defaultStepSize,
162 InputVectorImageType* vectorImage,
163 InputScalarImageType* greyMatterPVMap);
170 std::vector<InputScalarImageIndexType>& listOfGreyMatterPixels,
171 InputScalarImageType* segmentedImage,
172 InputVectorImageType* vectorImage,
173 InputScalarImageType* gmPVMapImage,
174 InputScalarImageType* editedPVMap);
177 double GetMaxStepSize(InputScalarImageType*
image);
185 void operator=(
const Self&);
188 double m_StepSizeThreshold;
191 double m_GreyMatterPercentage;
194 double m_MaximumSearchDistance;
197 bool m_DefaultMaximumSearchDistance;
200 ScalarInterpolatorPointer m_GreyMatterPVInterpolator;
203 VectorInterpolatorPointer m_NormalsInterpolator;
208 #ifndef ITK_MANUAL_INSTANTIATION
209 #include "itkLagrangianInitializedRelaxStreamlinesFilter.txx"
Superclass::InputScalarImageType InputScalarImageType
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:69
Superclass::InputVectorImageIndexType InputVectorImageIndexType
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:67
Superclass::OutputImageType OutputImageType
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:76
Superclass::VectorInterpolatorType VectorInterpolatorType
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:84
GLenum GLsizei GLenum GLenum const GLvoid * image
Definition: glew.h:4052
Superclass::ScalarInterpolatorPointType ScalarInterpolatorPointType
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:89
RelaxStreamlinesFilter< TImageType, TScalarType, NDimensions > Superclass
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:52
Definition: niftkITKAffineResampleImage.cxx:74
Superclass::InputVectorImagePixelType InputVectorImagePixelType
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:60
Superclass::OutputImageRegionType OutputImageRegionType
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:82
Superclass::OutputImageConstPointer OutputImageConstPointer
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:79
SmartPointer< const Self > ConstPointer
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:54
void SetGMPVMap(const InputScalarImageType *image)
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:96
Superclass::InputVectorImageType InputVectorImageType
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:64
Superclass::VectorInterpolatorPointType VectorInterpolatorPointType
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:86
Superclass::InputScalarImageRegionType InputScalarImageRegionType
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:75
Superclass::OutputImageSizeType OutputImageSizeType
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:83
Superclass::OutputImageSpacingType OutputImageSpacingType
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:81
Superclass::InputVectorImagePointer InputVectorImagePointer
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:65
LagrangianInitializedRelaxStreamlinesFilter Self
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:51
Implements section 2.3.2 in Bourgeat et. al. ISBI 2008.
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:45
Calculates length between two boundaries, solving PDE by iterative relaxation.
Definition: itkRelaxStreamlinesFilter.h:46
Superclass::InputScalarImagePointer InputScalarImagePointer
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:72
Superclass::InputScalarImageIndexType InputScalarImageIndexType
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:73
VectorInterpolatorType::Pointer VectorInterpolatorPointer
Definition: itkRelaxStreamlinesFilter.h:91
void SetSegmentedImage(const InputScalarImageType *image)
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:93
GLuint index
Definition: glew.h:1798
void SetMaximumSearchDistance(double d)
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:127
ContinuousIndex< TScalarType, NDimensions > ContinuousIndexType
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:90
~LagrangianInitializedRelaxStreamlinesFilter()
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:139
Superclass::InputScalarImageConstPointer InputScalarImageConstPointer
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:74
Superclass::OutputImagePointer OutputImagePointer
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:78
Superclass::InputScalarImagePixelType InputScalarImagePixelType
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:68
Superclass::OutputImagePixelType OutputImagePixelType
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:77
Superclass::ScalarInterpolatorType ScalarInterpolatorType
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:87
Superclass::InputScalarImagePointType InputScalarImagePointType
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:71
Superclass::VectorInterpolatorPointer VectorInterpolatorPointer
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:85
SmartPointer< Self > Pointer
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:53
Superclass::OutputImageIndexType OutputImageIndexType
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:80
Superclass::InputScalarImageSpacingType InputScalarImageSpacingType
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:70
ScalarInterpolatorType::Pointer ScalarInterpolatorPointer
Definition: itkRelaxStreamlinesFilter.h:95
Superclass::InputVectorImageConstPointer InputVectorImageConstPointer
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:66
Superclass::ScalarInterpolatorPointer ScalarInterpolatorPointer
Definition: itkLagrangianInitializedRelaxStreamlinesFilter.h:88