18 #ifndef sitkWarpImageFilter_h
19 #define sitkWarpImageFilter_h
93 SITK_RETURN_SELF_TYPE_HEADER
SetOutputSize ( std::vector<uint32_t> OutputSize ) { this->m_OutputSize = std::move(OutputSize);
return *
this; }
98 std::vector<uint32_t>
GetOutputSize()
const {
return this->m_OutputSize; }\
103 SITK_RETURN_SELF_TYPE_HEADER
SetOutputOrigin ( std::vector<double> OutputOrigin ) { this->m_OutputOrigin = std::move(OutputOrigin);
return *
this; }
113 SITK_RETURN_SELF_TYPE_HEADER
SetOutputSpacing ( std::vector<double> OutputSpacing ) { this->m_OutputSpacing = std::move(OutputSpacing);
return *
this; }
123 SITK_RETURN_SELF_TYPE_HEADER
SetOutputDirection ( std::vector<double> OutputDirection ) { this->m_OutputDirection = OutputDirection;
return *
this; }
133 SITK_RETURN_SELF_TYPE_HEADER
SetEdgePaddingValue (
double EdgePaddingValue ) { this->m_EdgePaddingValue = EdgePaddingValue;
return *
this; }
141 std::string
GetName()
const {
return std::string (
"WarpImageFilter"); }
144 std::string ToString()
const;
149 Image Execute (
const Image & image,
const Image & displacementField );
153 void SetOutputParameteresFromImage(
const Image & refImage );
161 template <
class TImageType1,
class TImageType2>
Image DualExecuteInternal (
const Image * image,
const Image * displacementField );
163 template <
class TImageType1,
class TImageType2>
Image DualExecuteInternalVector (
const Image * image,
const Image * displacementField );
173 std::vector<uint32_t> m_OutputSize{std::vector<uint32_t>(3, 0)};
176 std::vector<double> m_OutputOrigin{std::vector<double>(3, 0.0)};
179 std::vector<double> m_OutputSpacing{std::vector<double>(3, 1.0)};
182 std::vector<double> m_OutputDirection{std::vector<double>()};
184 double m_EdgePaddingValue{0.0};
199 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 );