ITK  6.0.0
Insight Toolkit
itkShapedFloodFilledImageFunctionConditionalIterator.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 itkShapedFloodFilledImageFunctionConditionalIterator_h
19#define itkShapedFloodFilledImageFunctionConditionalIterator_h
20
22
23namespace itk
24{
37template <typename TImage, typename 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::SizeType;
58
60 using typename Superclass::RegionType;
61
63 using typename Superclass::ImageType;
64
66 using typename Superclass::InternalPixelType;
67
69 using typename Superclass::PixelType;
70
75 static constexpr unsigned int NDimensions = Superclass::NDimensions;
76
81 : Superclass(imagePtr, fnPtr, startIndex)
82 {}
83
88 FunctionType * fnPtr,
89 std::vector<IndexType> & startIndex)
90 : Superclass(imagePtr, fnPtr, startIndex)
91 {}
92
97 : Superclass(imagePtr, fnPtr)
98 {}
99
101 const PixelType
102 Get() const override
103 {
104 return const_cast<ImageType *>(this->m_Image.GetPointer())->GetPixel(this->m_IndexStack.front());
105 }
106
108 void
109 Set(const PixelType & value)
110 {
111 const_cast<ImageType *>(this->m_Image.GetPointer())->GetPixel(this->m_IndexStack.front()) = value;
112 }
113
116};
117} // end namespace itk
118
119#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 spatial function with read-only access to pixels.
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.
ShapedFloodFilledImageFunctionConditionalIterator(ImageType *imagePtr, FunctionType *fnPtr, IndexType startIndex)
ShapedFloodFilledImageFunctionConditionalIterator(ImageType *imagePtr, FunctionType *fnPtr, std::vector< IndexType > &startIndex)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....