18 #ifndef sitkWarpImageFilter_h
19 #define sitkWarpImageFilter_h
94 SITK_RETURN_SELF_TYPE_HEADER
SetOutputSize (
const std::vector<uint32_t> & OutputSize ) { this->m_OutputSize = OutputSize;
return *
this; }
99 std::vector<uint32_t>
GetOutputSize()
const {
return this->m_OutputSize; }
104 SITK_RETURN_SELF_TYPE_HEADER
SetOutputOrigin (
const std::vector<double> & OutputOrigin ) { this->m_OutputOrigin = OutputOrigin;
return *
this; }
114 SITK_RETURN_SELF_TYPE_HEADER
SetOutputSpacing (
const std::vector<double> & OutputSpacing ) { this->m_OutputSpacing = 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; }
141 std::string
GetName()
const {
return std::string (
"WarpImageFilter"); }
144 std::string ToString()
const;
148 Image Execute (
const Image & image,
const Image & displacementField );
152 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 );
156 void SetOutputParameteresFromImage(
const Image & refImage );
161 typedef Image (Self::*MemberFunctionType)(
const Image * image,
const Image * displacementField );
164 template <
class TImageType1,
class TImageType2>
Image DualExecuteInternal (
const Image * image,
const Image * displacementField );
166 template <
class TImageType1,
class TImageType2>
Image DualExecuteInternalVector (
const Image * image,
const Image * displacementField );
195 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 );
Self & SetOutputSpacing(const std::vector< double > &OutputSpacing)
std::vector< double > GetOutputSpacing() const
Self & SetInterpolator(InterpolatorEnum Interpolator)
N-D linear interpolation.
#define SITKBasicFilters_EXPORT
typelist::MakeTypeList< BasicPixelID< int8_t >, BasicPixelID< uint8_t >, BasicPixelID< int16_t >, BasicPixelID< uint16_t >, BasicPixelID< int32_t >, BasicPixelID< uint32_t >, BasicPixelID< float >, BasicPixelID< double > >::Type BasicPixelIDTypeList
std::vector< uint32_t > GetOutputSize() const
InterpolatorEnum GetInterpolator() const
BasicPixelIDTypeList PixelIDTypeList
Self & SetOutputOrigin(const std::vector< double > &OutputOrigin)
Self & SetOutputDirection(std::vector< double > OutputDirection)
Warps an image using an input displacement field.
std::vector< double > GetOutputDirection() const
std::vector< uint32_t > m_OutputSize
std::vector< double > GetOutputOrigin() const
double GetEdgePaddingValue() const
The Image class for SimpleITK.
InterpolatorEnum m_Interpolator
std::vector< double > m_OutputSpacing
std::vector< double > m_OutputDirection
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)
Warps an image using an input displacement field.
std::string GetName() const
std::vector< double > m_OutputOrigin
double m_EdgePaddingValue
Self & SetEdgePaddingValue(double EdgePaddingValue)
The base interface for SimpleITK filters that take one input image.
Self & SetOutputSize(const std::vector< uint32_t > &OutputSize)
nsstd::auto_ptr< detail::DualMemberFunctionFactory< MemberFunctionType > > m_DualMemberFactory