ITK  4.9.0
Insight Segmentation and Registration Toolkit
itkShapePriorSegmentationLevelSetImageFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 #ifndef itkShapePriorSegmentationLevelSetImageFilter_h
19 #define itkShapePriorSegmentationLevelSetImageFilter_h
20 
25 #include "itkMath.h"
26 
27 namespace itk
28 {
72 template< typename TInputImage,
73  typename TFeatureImage,
74  typename TOutputPixelType = float >
76  public SegmentationLevelSetImageFilter< TInputImage, TFeatureImage,
77  TOutputPixelType >
78 {
79 public:
80 
82  itkStaticConstMacro(ImageDimension, unsigned int,
83  TInputImage::ImageDimension);
84 
91 
94 
96  typedef typename Superclass::ValueType ValueType;
99 
101  typedef TOutputPixelType OutputPixelType;
102 
106 
110 
115 
120 
125 
127  virtual void SetShapeFunction(ShapeFunctionType *s);
128  itkGetModifiableObjectMacro(ShapeFunction, ShapeFunctionType);
130 
132  itkSetObjectMacro(CostFunction, CostFunctionType);
133  itkGetModifiableObjectMacro(CostFunction, CostFunctionType);
135 
137  itkSetObjectMacro(Optimizer, OptimizerType);
138  itkGetModifiableObjectMacro(Optimizer, OptimizerType);
140 
145  itkSetMacro(InitialParameters, ParametersType);
146  itkGetConstMacro(InitialParameters, ParametersType);
148 
151  {
153  {
155  this->Modified();
156  }
157  }
159 
161  {
163  }
164 
168 
171 
173  itkGetConstReferenceMacro(CurrentParameters, ParametersType);
174 
175 protected:
178 
179  virtual void PrintSelf(std::ostream & os, Indent indent) const ITK_OVERRIDE;
180 
183  virtual void InitializeIteration() ITK_OVERRIDE;
184 
187  void GenerateData() ITK_OVERRIDE;
188 
191 
192 private:
193  ShapePriorSegmentationLevelSetImageFilter(const Self &) ITK_DELETE_FUNCTION;
194  void operator=(const Self &) ITK_DELETE_FUNCTION;
195 
201 
203 };
204 } // end namespace itk
205 
206 #ifndef ITK_MANUAL_INSTANTIATION
207 #include "itkShapePriorSegmentationLevelSetImageFilter.hxx"
208 #endif
209 
210 #endif
virtual void SetShapePriorSegmentationFunction(ShapePriorSegmentationFunctionType *s)
This class is a base for the Optimization methods that optimize a single valued function.
ShapePriorSegmentationLevelSetFunction< OutputImageType, FeatureImageType > ShapePriorSegmentationFunctionType
This function is used in ShapePriorSegmentationLevelSetFilter to segment structures in an image based...
virtual void SetShapeFunction(ShapeFunctionType *s)
Base class for functions which evaluates the signed distance from a shape.
ShapePriorMAPCostFunctionBase< TFeatureImage, TOutputPixelType > CostFunctionType
Represent a node in a level set.
Generic representation for an optimization method.
Definition: itkOptimizer.h:38
Image< TOutputPixelType, itkGetStaticConstMacro(InputImageDimension) > OutputImageType
bool NotExactlyEquals(const TInput1 &x1, const TInput2 &x2)
Definition: itkMath.h:676
virtual void Modified() const
Represents the base class of maximum aprior (MAP) cost function used ShapePriorSegmentationLevelSetIm...
virtual void PrintSelf(std::ostream &os, Indent indent) const override
Define a front-end to the STL &quot;vector&quot; container that conforms to the IndexedContainerInterface.
virtual ShapePriorSegmentationFunctionType * GetShapePriorSegmentationFunction()
Control indentation during Print() invocation.
Definition: itkIndent.h:49
ShapePriorSegmentationFunctionType::ShapeFunctionType ShapeFunctionType
void ExtractActiveRegion(NodeContainerType *ptr)
SegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType > Superclass
A base class which defines the API for implementing a special class of image segmentation filters usi...
A base class which defines the API for implementing a level set segmentation filter with statistical ...