ITK  6.0.0
Insight Toolkit
itkFloodFilledImageFunctionConditionalIterator.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 itkFloodFilledImageFunctionConditionalIterator_h
19#define itkFloodFilledImageFunctionConditionalIterator_h
20
22
23namespace itk
24{
37template <typename TImage, typename TFunction>
39 : public FloodFilledImageFunctionConditionalConstIterator<TImage, TFunction>
40{
41public:
42
46
48 using typename Superclass::FunctionType;
49
51 using typename Superclass::FunctionInputType;
52
54 using typename Superclass::IndexType;
55
57 using typename Superclass::SeedsContainerType;
58
60 using typename Superclass::SizeType;
61
63 using typename Superclass::RegionType;
64
66 using typename Superclass::ImageType;
67
69 using typename Superclass::InternalPixelType;
70
72 using typename Superclass::PixelType;
73
78 static constexpr unsigned int NDimensions = Superclass::NDimensions;
79
84 : Superclass(imagePtr, fnPtr, startIndex)
85 {}
86
91 FunctionType * fnPtr,
92 std::vector<IndexType> & startIndex)
93 : Superclass(imagePtr, fnPtr, startIndex)
94 {}
95
100 : Superclass(imagePtr, fnPtr)
101 {}
102
104 const PixelType
105 Get() const override
106 {
107 return const_cast<ImageType *>(this->m_Image.GetPointer())->GetPixel(this->m_IndexStack.front());
108 }
109
111 void
112 Set(const PixelType & value)
113 {
114 const_cast<ImageType *>(this->m_Image.GetPointer())->GetPixel(this->m_IndexStack.front()) = value;
115 }
116
119};
120} // end namespace itk
121
122#endif
A base class for other iterators where membership in the set of output pixels is conditional upon som...
typename TImage::IndexType IndexType
typename TImage::PixelType PixelType
Iterates over a flood-filled image function with read-only access to pixels.
Iterates over a flood-filled image function with write access to pixels.
FloodFilledImageFunctionConditionalIterator(ImageType *imagePtr, FunctionType *fnPtr)
FloodFilledImageFunctionConditionalIterator(ImageType *imagePtr, FunctionType *fnPtr, IndexType startIndex)
~FloodFilledImageFunctionConditionalIterator() override=default
FloodFilledImageFunctionConditionalIterator(ImageType *imagePtr, FunctionType *fnPtr, std::vector< IndexType > &startIndex)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....