ITK  5.4.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 
23 namespace itk
24 {
37 template <typename TImage, typename TFunction>
39  : public FloodFilledImageFunctionConditionalConstIterator<TImage, TFunction>
40 {
41 public:
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
itk::ConditionalConstIterator::IndexType
typename TImage::IndexType IndexType
Definition: itkConditionalConstIterator.h:51
itk::FloodFilledImageFunctionConditionalConstIterator
Iterates over a flood-filled image function with read-only access to pixels.
Definition: itkFloodFilledImageFunctionConditionalConstIterator.h:35
itk::ConditionalConstIterator::ImageType
TImage ImageType
Definition: itkConditionalConstIterator.h:60
itk::FloodFilledImageFunctionConditionalIterator::FloodFilledImageFunctionConditionalIterator
FloodFilledImageFunctionConditionalIterator(ImageType *imagePtr, FunctionType *fnPtr)
Definition: itkFloodFilledImageFunctionConditionalIterator.h:99
itk::FloodFilledFunctionConditionalConstIterator::RegionType
typename TImage::RegionType RegionType
Definition: itkFloodFilledFunctionConditionalConstIterator.h:62
itk::FloodFilledImageFunctionConditionalIterator::~FloodFilledImageFunctionConditionalIterator
~FloodFilledImageFunctionConditionalIterator() override=default
itk::FloodFilledFunctionConditionalConstIterator::FunctionType
TFunction FunctionType
Definition: itkFloodFilledFunctionConditionalConstIterator.h:47
itk::FloodFilledFunctionConditionalConstIterator::PixelType
typename TImage::PixelType PixelType
Definition: itkFloodFilledFunctionConditionalConstIterator.h:71
itk::FloodFilledImageFunctionConditionalIterator
Iterates over a flood-filled image function with write access to pixels.
Definition: itkFloodFilledImageFunctionConditionalIterator.h:38
itk::FloodFilledFunctionConditionalConstIterator::InternalPixelType
typename TImage::InternalPixelType InternalPixelType
Definition: itkFloodFilledFunctionConditionalConstIterator.h:68
itk::FloodFilledFunctionConditionalConstIterator::SizeType
typename TImage::SizeType SizeType
Definition: itkFloodFilledFunctionConditionalConstIterator.h:59
itk::FloodFilledImageFunctionConditionalConstIterator::NDimensions
static constexpr unsigned int NDimensions
Definition: itkFloodFilledImageFunctionConditionalConstIterator.h:75
itk::FloodFilledImageFunctionConditionalIterator::NDimensions
static constexpr unsigned int NDimensions
Definition: itkFloodFilledImageFunctionConditionalIterator.h:78
itk::ConditionalConstIterator::m_Image
ImageType::ConstWeakPointer m_Image
Definition: itkConditionalConstIterator.h:115
itkFloodFilledImageFunctionConditionalConstIterator.h
itk::FloodFilledFunctionConditionalConstIterator::m_IndexStack
std::queue< IndexType > m_IndexStack
Definition: itkFloodFilledFunctionConditionalConstIterator.h:267
itk::FloodFilledFunctionConditionalConstIterator::FunctionInputType
typename TFunction::InputType FunctionInputType
Definition: itkFloodFilledFunctionConditionalConstIterator.h:50
itk::FloodFilledFunctionConditionalConstIterator::SeedsContainerType
typename std::vector< IndexType > SeedsContainerType
Definition: itkFloodFilledFunctionConditionalConstIterator.h:56
itk::ConditionalConstIterator
A base class for other iterators where membership in the set of output pixels is conditional upon som...
Definition: itkConditionalConstIterator.h:38
itk::FloodFilledFunctionConditionalConstIterator
Iterates over a flood-filled spatial function.
Definition: itkFloodFilledFunctionConditionalConstIterator.h:39
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition: itkAnnulusOperator.h:24
itk::FloodFilledFunctionConditionalConstIterator::ImageType
TImage ImageType
Definition: itkFloodFilledFunctionConditionalConstIterator.h:65
itk::FloodFilledImageFunctionConditionalIterator::FloodFilledImageFunctionConditionalIterator
FloodFilledImageFunctionConditionalIterator(ImageType *imagePtr, FunctionType *fnPtr, std::vector< IndexType > &startIndex)
Definition: itkFloodFilledImageFunctionConditionalIterator.h:90
itk::FloodFilledFunctionConditionalConstIterator::IndexType
typename TImage::IndexType IndexType
Definition: itkFloodFilledFunctionConditionalConstIterator.h:53
itk::FloodFilledImageFunctionConditionalIterator::Get
const PixelType Get() const override
Definition: itkFloodFilledImageFunctionConditionalIterator.h:105
itk::FloodFilledImageFunctionConditionalIterator::Set
void Set(const PixelType &value)
Definition: itkFloodFilledImageFunctionConditionalIterator.h:112
itk::ConditionalConstIterator::PixelType
typename TImage::PixelType PixelType
Definition: itkConditionalConstIterator.h:66
itk::FloodFilledImageFunctionConditionalIterator::FloodFilledImageFunctionConditionalIterator
FloodFilledImageFunctionConditionalIterator(ImageType *imagePtr, FunctionType *fnPtr, IndexType startIndex)
Definition: itkFloodFilledImageFunctionConditionalIterator.h:83