18 #ifndef itkMorphSDTHelperImageFilter_h
19 #define itkMorphSDTHelperImageFilter_h
22 #include "vnl/vnl_math.h"
37 template<
class TInput1,
class TInput2 = TInput1,
class TInput3 = TInput1,
class TOutput = TInput1 >
51 return !( *
this != other );
54 inline TOutput
operator()(
const TInput1 & A,
const TInput2 & B,
const TInput3 & C)
60 return static_cast< TOutput
>( vcl_sqrt( (
double)A +
m_Val ) );
65 return static_cast< TOutput
>( -vcl_sqrt(
m_Val - (
double)B) );
74 template<
class TInputImage1,
class TInputImage2 = TInputImage1,
class TInputImage3 = TInputImage1,
75 class TOutputImage = TInputImage1 >
79 Function::MorphSDTHelper<
80 typename TInputImage1::PixelType,
81 typename TInputImage2::PixelType,
82 typename TInputImage3::PixelType,
83 typename TOutputImage::PixelType > >
90 typename TInputImage1::PixelType,
91 typename TInputImage2::PixelType,
92 typename TInputImage3::PixelType,
93 typename TOutputImage::PixelType >
108 this->GetFunctor().SetVal(val);
112 #ifdef ITK_USE_CONCEPT_CHECKING
116 typename TOutputImage::PixelType > ) );
119 typename TOutputImage::PixelType > ) );
122 typename TInputImage3::PixelType > ) );
131 void operator=(
const Self &);
bool operator==(const MorphSDTHelper &other) const
bool operator!=(const MorphSDTHelper &) const
Implements pixel-wise generic operation of three images.
Base class for all process objects that output image data.
MorphSDTHelperImageFilter()
SmartPointer< Self > Pointer
Implements a pixel-wise operator to form a signed distance transform.
TernaryFunctorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage, Function::MorphSDTHelper< typename TInputImage1::PixelType, typename TInputImage2::PixelType, typename TInputImage3::PixelType, typename TOutputImage::PixelType > > Superclass
MorphSDTHelperImageFilter Self
SmartPointer< const Self > ConstPointer
#define itkConceptMacro(name, concept)
TOutput operator()(const TInput1 &A, const TInput2 &B, const TInput3 &C)
virtual ~MorphSDTHelperImageFilter()