#ifndef _itkComplexBSplineInterpolateImageFunction_txx #define _itkComplexBSplineInterpolateImageFunction_txx #include "itkComplexBSplineInterpolateImageFunction.h" namespace itk { /** * Constructor */ template ComplexBSplineInterpolateImageFunction ::ComplexBSplineInterpolateImageFunction() { m_RealInterpolator = InterpolatorType::New(); m_ImaginaryInterpolator = InterpolatorType::New(); m_RealFilter = RealFilterType::New(); m_ImaginaryFilter = ImaginaryFilterType::New(); this->SetSplineOrder( 3 ); } /** * Standard "PrintSelf" method */ template void ComplexBSplineInterpolateImageFunction ::PrintSelf( std::ostream& os, Indent indent) const { Superclass::PrintSelf( os, indent ); os << indent << "Spline Order: " << m_SplineOrder << std::endl; os << indent << "Real Interpolator: " << m_RealInterpolator << std::endl; os << indent << "Imaginary Interpolator: " << m_ImaginaryInterpolator << std::endl; os << indent << "Complex to Real Filter: " << m_RealFilter << std::endl; os << indent << "Complex to Imaginary Filter: " << m_ImaginaryFilter << std::endl; } template void ComplexBSplineInterpolateImageFunction ::SetInputImage(const TImageType * inputData) { if ( inputData ) { m_RealFilter->SetInput( inputData ); m_ImaginaryFilter->SetInput( inputData ); m_RealInterpolator->SetInputImage( m_RealFilter->GetOutput() ); m_ImaginaryInterpolator->SetInputImage( m_ImaginaryFilter->GetOutput() ); Superclass::SetInputImage( inputData ); } } template void ComplexBSplineInterpolateImageFunction ::SetSplineOrder(unsigned int SplineOrder) { m_SplineOrder = SplineOrder; m_RealInterpolator->SetSplineOrder( SplineOrder ); m_ImaginaryInterpolator->SetSplineOrder( SplineOrder ); } template typename ComplexBSplineInterpolateImageFunction::OutputType ComplexBSplineInterpolateImageFunction ::EvaluateAtContinuousIndex( const ContinuousIndexType & x ) const { return typename ComplexBSplineInterpolateImageFunction::OutputType( m_RealInterpolator->EvaluateAtContinuousIndex( x ), m_ImaginaryInterpolator->EvaluateAtContinuousIndex( x ) ); } } // namespace itk #endif