ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkGeodesicActiveContourShapePriorLevelSetFunction.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright NumFOCUS
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 * https://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 itkGeodesicActiveContourShapePriorLevelSetFunction_h
19#define itkGeodesicActiveContourShapePriorLevelSetFunction_h
20
22
23namespace itk
24{
88template <typename TImageType, typename TFeatureImageType = TImageType>
90 : public ShapePriorSegmentationLevelSetFunction<TImageType, TFeatureImageType>
91{
92public:
93 ITK_DISALLOW_COPY_AND_MOVE(GeodesicActiveContourShapePriorLevelSetFunction);
94
100 using FeatureImageType = TFeatureImageType;
101
103 itkNewMacro(Self);
104
106 itkOverrideGetNameOfClassMacro(GeodesicActiveContourShapePriorLevelSetFunction);
107
109 using typename Superclass::ImageType;
110 using typename Superclass::NeighborhoodType;
111 using typename Superclass::ScalarValueType;
112 using typename Superclass::FeatureScalarType;
113 using typename Superclass::RadiusType;
114 using typename Superclass::FloatOffsetType;
115 using typename Superclass::VectorImageType;
116 using typename Superclass::GlobalDataStruct;
117
119 static constexpr unsigned int ImageDimension = Superclass::ImageDimension;
120
122 void
124
126 void
128
131 CurvatureSpeed(const NeighborhoodType & neighborhood,
132 const FloatOffsetType & offset,
133 GlobalDataStruct * gd) const override
134 {
135 return this->PropagationSpeed(neighborhood, offset, gd);
136 }
137
140 void
141 SetDerivativeSigma(const double v)
142 {
144 }
145 double
147 {
148 return m_DerivativeSigma;
149 }
150
151
152 void
162
163protected:
173
175
176 void
177 PrintSelf(std::ostream & os, Indent indent) const override;
178
179private:
181};
182} // end namespace itk
183
184#ifndef ITK_MANUAL_INSTANTIATION
185# include "itkGeodesicActiveContourShapePriorLevelSetFunction.hxx"
186#endif
187
188#endif
void PrintSelf(std::ostream &os, Indent indent) const override
ShapePriorSegmentationLevelSetFunction< TImageType, TFeatureImageType > Superclass
ScalarValueType CurvatureSpeed(const NeighborhoodType &neighborhood, const FloatOffsetType &offset, GlobalDataStruct *gd) const override
Control indentation during Print() invocation.
Definition itkIndent.h:50
virtual void Initialize(const RadiusType &r)
virtual void SetAdvectionWeight(const ScalarValueType a)
virtual void SetPropagationWeight(const ScalarValueType p)
virtual void SetCurvatureWeight(const ScalarValueType c)
ScalarValueType PropagationSpeed(const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *gd) const override
typename ConstNeighborhoodIterator< OutputImageType >::RadiusType RadiusType
ConstNeighborhoodIterator< OutputImageType, DefaultBoundaryConditionType > NeighborhoodType
Implements transparent reference counting.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....