SimpleITK  
sitkWarpImageFilter.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* 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 sitkWarpImageFilter_h
19#define sitkWarpImageFilter_h
20
21/*
22 * WARNING: DO NOT EDIT THIS FILE!
23 * THIS FILE IS AUTOMATICALLY GENERATED BY THE SIMPLEITK BUILD PROCESS.
24 * Please look at sitkDualImageFilterTemplate.h.jinja to make changes.
25 */
26
27#include <memory>
28
29#include "sitkImageFilter.h"
31#include "sitkBasicFilters.h"
33
34namespace itk::simple {
35
77public:
79
82
86
89
90
91
92
96 void
98 { this->m_Interpolator = Interpolator; }
99
103 GetInterpolator() const { return this->m_Interpolator; }
104
105
109 void
110 SetOutputSize(std::vector<uint32_t> OutputSize )
111 { this->m_OutputSize = std::move(OutputSize); }
112
115 std::vector<uint32_t>
116 GetOutputSize() const { return this->m_OutputSize; }
117
118
122 void
123 SetOutputOrigin(std::vector<double> OutputOrigin )
124 { this->m_OutputOrigin = std::move(OutputOrigin); }
125
128 std::vector<double>
129 GetOutputOrigin() const { return this->m_OutputOrigin; }
130
131
135 void
136 SetOutputSpacing(std::vector<double> OutputSpacing )
137 { this->m_OutputSpacing = std::move(OutputSpacing); }
138
141 std::vector<double>
142 GetOutputSpacing() const { return this->m_OutputSpacing; }
143
144
148 void
149 SetOutputDirection(std::vector<double> OutputDirection )
150 { this->m_OutputDirection = OutputDirection; }
151
154 std::vector<double>
155 GetOutputDirection() const { return this->m_OutputDirection; }
156
157
161 void
162 SetEdgePaddingValue(double EdgePaddingValue )
163 { this->m_EdgePaddingValue = EdgePaddingValue; }
164
167 double
168 GetEdgePaddingValue() const { return this->m_EdgePaddingValue; }
169
170
172 std::string GetName() const { return std::string("WarpImageFilter"); }
173
175 std::string ToString() const;
176
177
179 Image Execute(const Image &image, const Image &displacementField);
182 const Image & refImage
183 );
184
185
186private:
187
189 using MemberFunctionType = Image (Self::*)(const Image *
190 image, const Image *
191 displacementField);
192
194 template <class TImageType1, class TImageType2> Image DualExecuteInternal(const Image *
195 image, const Image *
196 displacementField);
197
199 template <class TImageType1, class TImageType2> Image DualExecuteInternalVector(const Image *
200 image, const Image *
201 displacementField);
202
203
205
206
207
209
210 std::vector<uint32_t> m_OutputSize{ std::vector<uint32_t>(3, 0) };
211
212 std::vector<double> m_OutputOrigin{ std::vector<double>(3, 0.0) };
213
214 std::vector<double> m_OutputSpacing{ std::vector<double>(3, 1.0) };
215
216 /* Passing a zero sized array, defaults to identiy matrix. The size of the array must exactly match the direction matrix for the dimension of the image. */
217 std::vector<double> m_OutputDirection{ std::vector<double>() };
218
219 double m_EdgePaddingValue{ 0.0 };
220
221
222
223
224
225
226
227};
228
229
239 const Image &image, const Image &displacementField, InterpolatorEnum interpolator = itk::simple::sitkLinear, std::vector<uint32_t> outputSize = std::vector<uint32_t>(3, 0), std::vector<double> outputOrigin = std::vector<double>(3, 0.0), std::vector<double> outputSpacing = std::vector<double>(3, 1.0), std::vector<double> outputDirection = std::vector<double>(), double edgePaddingValue = 0.0
240);
241
243
244}
245#endif
The Image class for SimpleITK.
Definition sitkImage.h:77
std::vector< uint32_t > m_OutputSize
Image DualExecuteInternalVector(const Image *image, const Image *displacementField)
std::vector< double > GetOutputDirection() const
std::vector< double > GetOutputOrigin() const
InterpolatorEnum GetInterpolator() const
Image(Self::*)(const Image * image, const Image * displacementField) MemberFunctionType
void SetInterpolator(InterpolatorEnum Interpolator)
BasicPixelIDTypeList PixelIDTypeList
std::vector< double > m_OutputSpacing
Image DualExecuteInternal(const Image *image, const Image *displacementField)
void SetOutputOrigin(std::vector< double > OutputOrigin)
void SetEdgePaddingValue(double EdgePaddingValue)
void SetOutputSize(std::vector< uint32_t > OutputSize)
void SetOutputSpacing(std::vector< double > OutputSpacing)
std::vector< double > m_OutputOrigin
std::vector< double > GetOutputSpacing() const
std::vector< double > m_OutputDirection
std::string ToString() const
void SetOutputParameteresFromImage(const Image &refImage)
std::vector< uint32_t > GetOutputSize() const
void SetOutputDirection(std::vector< double > OutputDirection)
static const detail::DualMemberFunctionFactory< MemberFunctionType > & GetMemberFunctionFactory()
Image Execute(const Image &image, const Image &displacementField)
A class used to instantiate and generate function objects of templated member functions with two temp...
@ sitkLinear
N-D linear interpolation.
Image Warp(const Image &image, const Image &displacementField, InterpolatorEnum interpolator=itk::simple::sitkLinear, std::vector< uint32_t > outputSize=std::vector< uint32_t >(3, 0), std::vector< double > outputOrigin=std::vector< double >(3, 0.0), std::vector< double > outputSpacing=std::vector< double >(3, 1.0), std::vector< double > outputDirection=std::vector< double >(), double edgePaddingValue=0.0)
Warps an image using an input displacement field.
typelist2::typelist< BasicPixelID< int8_t >, BasicPixelID< uint8_t >, BasicPixelID< int16_t >, BasicPixelID< uint16_t >, BasicPixelID< int32_t >, BasicPixelID< uint32_t >, BasicPixelID< float >, BasicPixelID< double > > BasicPixelIDTypeList
#define SITKBasicFilters_EXPORT