ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkBinaryMaskToNarrowBandPointSetFilter.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 itkBinaryMaskToNarrowBandPointSetFilter_h
19#define itkBinaryMaskToNarrowBandPointSetFilter_h
20
25
26namespace itk
27{
53template <typename TInputImage, typename TOutputMesh>
54class ITK_TEMPLATE_EXPORT BinaryMaskToNarrowBandPointSetFilter : public ImageToMeshFilter<TInputImage, TOutputMesh>
55{
56public:
57 ITK_DISALLOW_COPY_AND_MOVE(BinaryMaskToNarrowBandPointSetFilter);
58
61
63
66
68 itkNewMacro(Self);
69
71 itkOverrideGetNameOfClassMacro(BinaryMaskToNarrowBandPointSetFilter);
72
74 using InputImageType = TInputImage;
75 using InputImageConstPointer = typename InputImageType::ConstPointer;
76 using InputImageRegionType = typename InputImageType::RegionType;
77 using InputImagePixelType = typename InputImageType::PixelType;
78
80
82 using OutputMeshType = TOutputMesh;
83 using PointType = typename OutputMeshType::PointType;
84 using OutputMeshPointer = typename OutputMeshType::Pointer;
85 using OutputMeshConstPointer = typename OutputMeshType::ConstPointer;
86 using PointsContainer = typename OutputMeshType::PointsContainer;
87 using PointIdentifier = typename OutputMeshType::PointIdentifier;
88 using PointsContainerPointer = typename PointsContainer::Pointer;
89 using PointsContainerIterator = typename PointsContainer::Iterator;
90 using PointDataContainer = typename OutputMeshType::PointDataContainer;
91 using PointDataContainerPointer = typename PointDataContainer::Pointer;
92 using PointDataContainerIterator = typename PointDataContainer::Iterator;
93
95 static constexpr unsigned int ImageDimension = TInputImage::ImageDimension;
96
99
108 using NodeType = typename NodeContainer::Element;
109
114
116
118 static constexpr unsigned int PointDimension = TOutputMesh::PointDimension;
119
122 void
123 SetInput(const InputImageType * inputImage);
124
129 itkSetMacro(BandWidth, float);
130 itkGetConstMacro(BandWidth, float);
132
133protected:
136 void
137 PrintSelf(std::ostream & os, Indent indent) const override;
138
140 void
141 GenerateData() override;
142
144 void
146 {}
147
148private:
151
152 float m_BandWidth{};
153};
154} // end namespace itk
155
156#ifndef ITK_MANUAL_INSTANTIATION
157# include "itkBinaryMaskToNarrowBandPointSetFilter.hxx"
158#endif
159
160#endif
ReinitializeLevelSetImageFilter< RealImageType > DistanceFilterType
ImageRegionConstIteratorWithIndex< InputImageType > InputImageIterator
void SetInput(const InputImageType *inputImage)
typename DistanceFilterType::NodeContainerPointer NodeContainerPointer
RescaleIntensityImageFilter< InputImageType, RealImageType > RescaleFilterType
typename OutputMeshType::PointDataContainer PointDataContainer
~BinaryMaskToNarrowBandPointSetFilter() override=default
ImageToMeshFilter< TInputImage, TOutputMesh > Superclass
void PrintSelf(std::ostream &os, Indent indent) const override
A multi-dimensional iterator templated over image type that walks an image region and is specialized ...
void SetInput(unsigned int idx, const InputImageType *input)
Templated n-dimensional image class.
Definition itkImage.h:89
Control indentation during Print() invocation.
Definition itkIndent.h:50
Reinitialize the level set to the signed distance function.
Applies a linear transformation to the intensity levels of the input Image.
Implements transparent reference counting.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....