18 #ifndef sitkWarpImageFilter_h
19 #define sitkWarpImageFilter_h
100 SITK_RETURN_SELF_TYPE_HEADER
SetOutputSize (
const std::vector<uint32_t> & OutputSize ) { this->m_OutputSize = OutputSize;
return *
this; }
110 SITK_RETURN_SELF_TYPE_HEADER
SetOutputOrigin (
const std::vector<double> & OutputOrigin ) { this->m_OutputOrigin = OutputOrigin;
return *
this; }
120 SITK_RETURN_SELF_TYPE_HEADER
SetOutputSpacing (
const std::vector<double> & OutputSpacing ) { this->m_OutputSpacing = OutputSpacing;
return *
this; }
130 SITK_RETURN_SELF_TYPE_HEADER
SetOutputDirection ( std::vector<double> OutputDirection ) { this->m_OutputDirection = OutputDirection;
return *
this; }
140 SITK_RETURN_SELF_TYPE_HEADER
SetEdgePaddingValue (
double EdgePaddingValue ) { this->m_EdgePaddingValue = EdgePaddingValue;
return *
this; }
147 std::string
GetName()
const {
return std::string (
"WarpImageFilter"); }
150 std::string ToString()
const;
154 Image Execute (
const Image & image,
const Image & displacementField );
158 Image Execute (
const Image & image,
const Image & displacementField,
InterpolatorEnum interpolator,
const std::vector<uint32_t> & outputSize,
const std::vector<double> & outputOrigin,
const std::vector<double> & outputSpacing, std::vector<double> outputDirection,
double edgePaddingValue );
162 void SetOutputParameteresFromImage(
const Image & refImage );
170 template <
class TImageType1,
class TImageType2>
Image DualExecuteInternal (
const Image * image,
const Image * displacementField );
172 template <
class TImageType1,
class TImageType2>
Image DualExecuteInternalVector (
const Image * image,
const Image * displacementField );
201 SITKBasicFilters_EXPORT Image Warp (
const Image & image,
const Image & displacementField,
InterpolatorEnum interpolator =
itk::simple::sitkLinear,
const std::vector<uint32_t> & outputSize = std::vector<uint32_t>(3, 0),
const std::vector<double> & outputOrigin = std::vector<double>(3, 0.0),
const std::vector<double> & outputSpacing = std::vector<double>(3, 1.0), std::vector<double> outputDirection = std::vector<double>(),
double edgePaddingValue = 0.0 );