ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkExtractOrthogonalSwath2DImageFilter.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 itkExtractOrthogonalSwath2DImageFilter_h
19#define itkExtractOrthogonalSwath2DImageFilter_h
20
22#include "itkParametricPath.h"
23
24namespace itk
25{
41template <typename TImage>
42class ITK_TEMPLATE_EXPORT ExtractOrthogonalSwath2DImageFilter
43 : public ImageAndPathToImageFilter<TImage, ParametricPath<2>, TImage>
44{
45public:
46 ITK_DISALLOW_COPY_AND_MOVE(ExtractOrthogonalSwath2DImageFilter);
47
53
55 itkNewMacro(Self);
56
58 itkOverrideGetNameOfClassMacro(ExtractOrthogonalSwath2DImageFilter);
59
61 using ImageType = TImage;
62 using ImagePointer = typename ImageType::Pointer;
63 using ImageConstPointer = typename ImageType::ConstPointer;
64 using ImageRegionType = typename ImageType::RegionType;
65 using ImageIndexType = typename ImageType::IndexType;
66 using ImagePixelType = typename ImageType::PixelType;
75 using SizeType = typename ImageType::SizeType;
76
78 static constexpr unsigned int PathDimension = 2;
79 static constexpr unsigned int ImageDimension = TImage::ImageDimension;
80
87 virtual void
88 SetSpacing(const double * spacing);
89
90 virtual void
91 SetSpacing(const float * spacing);
92
93 [[nodiscard]] virtual const double *
94 GetSpacing() const;
95
100 virtual void
101 SetOrigin(const double * origin);
102
103 virtual void
104 SetOrigin(const float * origin);
105
106 [[nodiscard]] virtual const double *
107 GetOrigin() const;
108
111 itkSetMacro(Size, SizeType);
112
115 itkSetMacro(DefaultPixelValue, ImagePixelType);
116
117 //--------------------------------------------------------------------------
118 //
119
121 void
126
127 //
128 //--------------------------------------------------------------------------
129
130protected:
133 {
134 m_Size[0] = 512;
135 m_Size[1] = 16 * 2 + 1; // must be odd
136 m_Origin[0] = m_Origin[1] = 0.0;
137 m_Spacing[0] = m_Spacing[1] = 1.0;
138 }
139
141 void
142 PrintSelf(std::ostream & os, Indent indent) const override;
143
144 //--------------------------------------------------------------------------
145 //
146
148 void
150
152 void
154 {
156 this->GetNonConstImageInput()->SetRequestedRegionToLargestPossibleRegion();
157 this->GetNonConstPathInput()->SetRequestedRegionToLargestPossibleRegion();
158 }
159
160 void
161 GenerateData() override;
162
163 //
164 //--------------------------------------------------------------------------
165
166private:
171};
172} // end namespace itk
173
174#ifndef ITK_MANUAL_INSTANTIATION
175# include "itkExtractOrthogonalSwath2DImageFilter.hxx"
176#endif
177
178#endif
Base class for all data objects in ITK.
virtual void SetRequestedRegionToLargestPossibleRegion()
virtual const double * GetSpacing() const
virtual const double * GetOrigin() const
virtual void SetSpacing(const double *spacing)
virtual void SetOrigin(const double *origin)
~ExtractOrthogonalSwath2DImageFilter() override=default
ImageAndPathToImageFilter< TImage, ParametricPath< 2 >, TImage > Superclass
virtual void SetOrigin(const float *origin)
virtual void SetSpacing(const float *spacing)
void PrintSelf(std::ostream &os, Indent indent) const override
Control indentation during Print() invocation.
Definition itkIndent.h:50
Represent a parametric path through ND Space.
Vector< double, VDimension > VectorType
Index< VDimension > IndexType
ContinuousIndexType OutputType
Offset< VDimension > OffsetType
SmartPointer< const Self > ConstPointer
ContinuousIndex< SpacePrecisionType, VDimension > ContinuousIndexType
Implements transparent reference counting.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Represent a n-dimensional size (bounds) of a n-dimensional image.
Definition itkSize.h:70