ITK  6.0.0
Insight Toolkit
itkTobogganImageFilter.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 itkTobogganImageFilter_h
19#define itkTobogganImageFilter_h
20
23
24namespace itk
25{
38template <typename TInputImage, typename TOutputImage = Image<IdentifierType, TInputImage::ImageDimension>>
39class ITK_TEMPLATE_EXPORT TobogganImageFilter : public ImageToImageFilter<TInputImage, TOutputImage>
40{
41public:
42 ITK_DISALLOW_COPY_AND_MOVE(TobogganImageFilter);
43
46
48 using InputImageType = TInputImage;
49
51 static constexpr unsigned int NDimensions = TInputImage::ImageDimension;
52
54 using OutputImageType = TOutputImage;
55
57 using OutputImagePixelType = typename OutputImageType::PixelType;
58
60 using InputImagePixelType = typename InputImageType::PixelType;
61
63 enum
64 {
65 ImageDimension = InputImageType::ImageDimension
66 };
67
75
78
80 using ScalarType = typename InputImageType::PixelType;
81
84
86 itkOverrideGetNameOfClassMacro(TobogganImageFilter);
87
89 itkNewMacro(Self);
90
92 void
93 GenerateData() override;
94
95 void
97
98 void
100
103
104#ifdef ITK_USE_CONCEPT_CHECKING
105 // Begin concept checking
108 // End concept checking
109#endif
110
111protected:
113 ~TobogganImageFilter() override = default;
114 void
115 PrintSelf(std::ostream & os, Indent indent) const override;
116}; // end of class
117} // end namespace itk
118
119#ifndef ITK_MANUAL_INSTANTIATION
120# include "itkTobogganImageFilter.hxx"
121#endif
122
123#endif
Const version of NeighborhoodIterator, defining iteration of a local N-dimensional neighborhood of pi...
Base class for all data objects in ITK.
Base class for filters that take an image as input and produce an image as output.
Control indentation during Print() invocation.
Definition: itkIndent.h:50
Light weight base class for most itk classes.
toboggan image segmentation The Toboggan segmentation takes a gradient magnitude image as input and p...
void GenerateData() override
typename InputImageType::PixelType InputImagePixelType
typename InputImageType::ConstPointer InputImageConstPointer
typename OutputImageType::Pointer OutputImagePointer
~TobogganImageFilter() override=default
typename InputImageType::IndexType IndexType
typename InputImageType::SizeType SizeType
void EnlargeOutputRequestedRegion(DataObject *) override
void PrintSelf(std::ostream &os, Indent indent) const override
typename OutputImageType::PixelType OutputImagePixelType
void GenerateInputRequestedRegion() override
typename InputImageType::RegionType RegionType
typename InputImageType::Pointer InputImagePointer
typename InputImageType::PixelType ScalarType
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....