ITK  5.0.0
Insight Segmentation and Registration Toolkit
itkBinaryDilateImageFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
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  * http://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 itkBinaryDilateImageFilter_h
19 #define itkBinaryDilateImageFilter_h
20 
21 #include <vector>
22 #include <queue>
25 
26 namespace itk
27 {
65 template< typename TInputImage, typename TOutputImage, typename TKernel >
66 class ITK_TEMPLATE_EXPORT BinaryDilateImageFilter:
67  public BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >
68 {
69 public:
70  ITK_DISALLOW_COPY_AND_ASSIGN(BinaryDilateImageFilter);
71 
73  static constexpr unsigned int InputImageDimension = TInputImage::ImageDimension;
74  static constexpr unsigned int OutputImageDimension = TOutputImage::ImageDimension;
75 
77  static constexpr unsigned int KernelDimension = TKernel::NeighborhoodDimension;
78 
80  using InputImageType = TInputImage;
81  using OutputImageType = TOutputImage;
82  using KernelType = TKernel;
83 
88 
91 
93  itkNewMacro(Self);
94 
97 
99  using KernelIteratorType = typename KernelType::ConstIterator;
100 
102  using InputPixelType = typename InputImageType::PixelType;
103  using OutputPixelType = typename OutputImageType::PixelType;
105  using OffsetType = typename InputImageType::OffsetType;
107 
111 
115  void SetDilateValue(const InputPixelType & value)
116  { this->SetForegroundValue(value); }
117 
122  { return this->GetForegroundValue(); }
123 
124 protected:
126  ~BinaryDilateImageFilter() override = default;
127  void PrintSelf(std::ostream & os, Indent indent) const override;
128 
129  void GenerateData() override;
130 
131  // type inherited from the superclass
132  using NeighborIndexContainer = typename Superclass::NeighborIndexContainer;
133 };
134 } // end namespace itk
135 
136 #ifndef ITK_MANUAL_INSTANTIATION
137 #include "itkBinaryDilateImageFilter.hxx"
138 #endif
139 
140 #endif
Define numeric traits for std::vector.
typename TInputImage::IndexType IndexType
typename TOutputImage::PixelType OutputPixelType
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
Base class for all process objects that output image data.
typename Superclass::NeighborIndexContainer NeighborIndexContainer
typename TInputImage::OffsetType OffsetType
typename OutputImageType::RegionType OutputImageRegionType
TOutputImage OutputImageType
typename TInputImage::PixelType InputPixelType
typename InputImageType::SizeType InputSizeType
typename InputImageType::RegionType InputImageRegionType
typename NumericTraits< InputPixelType >::RealType InputRealType
typename KernelType::ConstIterator KernelIteratorType
Base class for fast binary dilation and erosion.
Control indentation during Print() invocation.
Definition: itkIndent.h:49
void SetDilateValue(const InputPixelType &value)