ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkReinitializeLevelSetImageFilter.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 itkReinitializeLevelSetImageFilter_h
19#define itkReinitializeLevelSetImageFilter_h
20
23
24namespace itk
25{
52template <typename TLevelSet>
53class ITK_TEMPLATE_EXPORT ReinitializeLevelSetImageFilter : public ImageToImageFilter<TLevelSet, TLevelSet>
54{
55public:
56 ITK_DISALLOW_COPY_AND_MOVE(ReinitializeLevelSetImageFilter);
57
63
65 itkNewMacro(Self);
66
68 itkOverrideGetNameOfClassMacro(ReinitializeLevelSetImageFilter);
69
79
81 static constexpr unsigned int SetDimension = LevelSetType::SetDimension;
82
85 itkSetMacro(LevelSetValue, double);
86 itkGetConstMacro(LevelSetValue, double);
88
91 itkSetMacro(NarrowBanding, bool);
92 itkGetConstMacro(NarrowBanding, bool);
93 itkBooleanMacro(NarrowBanding);
95
97 itkSetClampMacro(InputNarrowBandwidth, double, 0.0, NumericTraits<double>::max());
98 itkGetConstMacro(InputNarrowBandwidth, double);
100
102 itkSetClampMacro(OutputNarrowBandwidth, double, 0.0, NumericTraits<double>::max());
103 itkGetConstMacro(OutputNarrowBandwidth, double);
105
108 void
109 SetNarrowBandwidth(double value)
110 {
111 this->SetInputNarrowBandwidth(value);
112 this->SetOutputNarrowBandwidth(value);
113 }
114
115
117 void
119
122 {
123 return m_InputNarrowBand;
124 }
125
127 NodeContainerPointer
129 {
130 return m_OutputNarrowBand;
131 }
132
133 itkConceptMacro(LevelSetDoubleAdditiveOperatorsCheck, (Concept::AdditiveOperators<PixelType, double>));
134 itkConceptMacro(LevelSetOStreamWritableCheck, (Concept::OStreamWritable<PixelType>));
135
136protected:
139 void
140 PrintSelf(std::ostream & os, Indent indent) const override;
141
146
147 void
148 GenerateData() override;
149
150 virtual void
152
153 virtual void
155
156 virtual void
158
159 void
161
162 void
164
165 void
170
171private:
173
175
177
183};
184} // namespace itk
185
186#ifndef ITK_MANUAL_INSTANTIATION
187# include "itkReinitializeLevelSetImageFilter.hxx"
188#endif
189
190#endif
Base class for all data objects in ITK.
Solve an Eikonal equation using Fast Marching.
Templated n-dimensional image class.
Definition itkImage.h:89
Control indentation during Print() invocation.
Definition itkIndent.h:50
Locate pixels of a particular level set.
Level set type information.
Definition itkLevelSet.h:41
LevelSetNode< PixelType, Self::SetDimension > NodeType
Definition itkLevelSet.h:58
typename TLevelSet::PixelType PixelType
Definition itkLevelSet.h:55
typename TLevelSet::ConstPointer LevelSetConstPointer
Definition itkLevelSet.h:52
typename NodeContainer::Pointer NodeContainerPointer
Definition itkLevelSet.h:64
static constexpr unsigned int SetDimension
Definition itkLevelSet.h:48
VectorContainer< unsigned int, NodeType > NodeContainer
Definition itkLevelSet.h:61
typename TLevelSet::Pointer LevelSetPointer
Definition itkLevelSet.h:51
static constexpr T max(const T &)
void SetInputNarrowBand(NodeContainer *ptr)
~ReinitializeLevelSetImageFilter() override=default
ImageToImageFilter< RealImageType, RealImageType > Superclass
void GenerateInputRequestedRegion() override
void PrintSelf(std::ostream &os, Indent indent) const override
void EnlargeOutputRequestedRegion(DataObject *) override
FastMarchingImageFilter< RealImageType, SpeedImageType > FastMarchingImageFilterType
Implements transparent reference counting.
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....