ITK  6.0.0
Insight Toolkit
itkPathAndImageToPathFilter.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 itkPathAndImageToPathFilter_h
19#define itkPathAndImageToPathFilter_h
20
21#include "itkPathToPathFilter.h"
22
23namespace itk
24{
38template <typename TInputPath, typename TInputImage, typename TOutputPath>
39class ITK_TEMPLATE_EXPORT PathAndImageToPathFilter : public PathToPathFilter<TInputPath, TOutputPath>
40{
41public:
42 ITK_DISALLOW_COPY_AND_MOVE(PathAndImageToPathFilter);
43
49
51 itkNewMacro(Self);
52
54 itkOverrideGetNameOfClassMacro(PathAndImageToPathFilter);
55
57 using InputPathType = TInputPath;
60 using InputPathInputType = typename InputPathType::InputType;
61 using InputPathOutputType = typename InputPathType::OutputType;
63 using InputPathOffsetType = typename InputPathType::OffsetType;
64 using InputImageType = TInputImage;
67 using InputImagePixelType = typename InputImageType::PixelType;
68 using OutputPathType = TOutputPath;
70 using OutputPathInputType = typename OutputPathType::InputType;
71 using OutputPathOutputType = typename OutputPathType::OutputType;
73 using OutputPathOffsetType = typename OutputPathType::OffsetType;
74
76 static constexpr unsigned int InputImageDimension = TInputImage::ImageDimension;
77
79 virtual void
80 SetPathInput(const TInputPath * path);
81
82 const InputPathType *
84
86 virtual void
87 SetImageInput(const TInputImage * image);
88
89 const InputImageType *
91
92protected:
94 ~PathAndImageToPathFilter() override = default;
95
96 void
97 PrintSelf(std::ostream & os, Indent indent) const override;
98
106 void
108};
109} // end namespace itk
112#ifndef ITK_MANUAL_INSTANTIATION
113# include "itkPathAndImageToPathFilter.hxx"
114#endif
115
116#endif
Control indentation during Print() invocation.
Definition: itkIndent.h:50
Light weight base class for most itk classes.
Base class for filters that take both a path and an image as input and produce a path as output.
typename OutputPathType::OffsetType OutputPathOffsetType
typename InputPathType::InputType InputPathInputType
typename InputPathType::ConstPointer InputPathConstPointer
typename InputImageType::RegionType InputImageRegionType
typename OutputPathType::IndexType OutputPathIndexType
virtual void SetPathInput(const TInputPath *path)
typename InputPathType::Pointer InputPathPointer
~PathAndImageToPathFilter() override=default
typename OutputPathType::Pointer OutputPathPointer
typename InputPathType::OutputType InputPathOutputType
typename InputPathType::OffsetType InputPathOffsetType
void PrintSelf(std::ostream &os, Indent indent) const override
typename InputPathType::IndexType InputPathIndexType
typename OutputPathType::OutputType OutputPathOutputType
void GenerateInputRequestedRegion() override
typename InputImageType::ConstPointer InputImagePointer
const InputPathType * GetPathInput()
virtual void SetImageInput(const TInputImage *image)
typename InputImageType::PixelType InputImagePixelType
typename OutputPathType::InputType OutputPathInputType
const InputImageType * GetImageInput()
Base class for filters that take a path as input and produce a path as output.
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....