18#ifndef itkAbsoluteValueDifferenceImageFilter_h
19#define itkAbsoluteValueDifferenceImageFilter_h
57template <
typename TInput1,
typename TInput2,
typename TOutput>
72 const auto dA =
static_cast<double>(A);
73 const auto dB =
static_cast<double>(B);
74 const double diff = dA - dB;
75 const double absdiff = (diff > 0.0) ? diff : -diff;
77 return static_cast<TOutput
>(absdiff);
82template <
typename TInputImage1,
typename TInputImage2,
typename TOutputImage>
98 typename TInputImage2::PixelType,
99 typename TOutputImage::PixelType>;
114#if !defined(ITK_WRAPPING_PARSER)
SmartPointer< const Self > ConstPointer
BinaryGeneratorImageFilter< TInputImage1, TInputImage2, TOutputImage > Superclass
Functor::AbsoluteValueDifference2< typename TInputImage1::PixelType, typename TInputImage2::PixelType, typename TOutputImage::PixelType > FunctorType
SmartPointer< Self > Pointer
AbsoluteValueDifferenceImageFilter Self
AbsoluteValueDifferenceImageFilter()
~AbsoluteValueDifferenceImageFilter() override=default
BinaryGeneratorImageFilter()
void SetFunctor(const std::function< ConstRefFunctionType > &f)
bool operator==(const AbsoluteValueDifference2 &) const
TOutput operator()(const TInput1 &A, const TInput2 &B) const
ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(AbsoluteValueDifference2)
Implements transparent reference counting.
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....