18 #ifndef sitkWarpImageFilter_h
19 #define sitkWarpImageFilter_h
94 SITK_RETURN_SELF_TYPE_HEADER
SetOutputSize ( std::vector<uint32_t> OutputSize ) { this->m_OutputSize = std::move(OutputSize);
return *
this; }
99 std::vector<uint32_t>
GetOutputSize()
const {
return this->m_OutputSize; }\
104 SITK_RETURN_SELF_TYPE_HEADER
SetOutputOrigin ( std::vector<double> OutputOrigin ) { this->m_OutputOrigin = std::move(OutputOrigin);
return *
this; }
114 SITK_RETURN_SELF_TYPE_HEADER
SetOutputSpacing ( std::vector<double> OutputSpacing ) { this->m_OutputSpacing = std::move(OutputSpacing);
return *
this; }
124 SITK_RETURN_SELF_TYPE_HEADER
SetOutputDirection ( std::vector<double> OutputDirection ) { this->m_OutputDirection = OutputDirection;
return *
this; }
134 SITK_RETURN_SELF_TYPE_HEADER
SetEdgePaddingValue (
double EdgePaddingValue ) { this->m_EdgePaddingValue = EdgePaddingValue;
return *
this; }
142 std::string
GetName()
const {
return std::string (
"WarpImageFilter"); }
145 std::string ToString()
const;
150 Image Execute (
const Image & image,
const Image & displacementField );
154 void SetOutputParameteresFromImage(
const Image & refImage );
162 template <
class TImageType1,
class TImageType2>
Image DualExecuteInternal (
const Image * image,
const Image * displacementField );
164 template <
class TImageType1,
class TImageType2>
Image DualExecuteInternalVector (
const Image * image,
const Image * displacementField );
174 std::vector<uint32_t> m_OutputSize{std::vector<uint32_t>(3, 0)};
177 std::vector<double> m_OutputOrigin{std::vector<double>(3, 0.0)};
180 std::vector<double> m_OutputSpacing{std::vector<double>(3, 1.0)};
183 std::vector<double> m_OutputDirection{std::vector<double>()};
185 double m_EdgePaddingValue{0.0};
200 SITKBasicFilters_EXPORT 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 );