18#ifndef itkJoinImageFilter_h
19#define itkJoinImageFilter_h
47template <
typename TPixel1,
typename TPixel2>
100 template <
unsigned int VDimension>
117 FirstCopier(CopierDispatch<Dimension1>(), out, idx, A);
124 for (
unsigned int i = 0; i <
Dimension1; i++, idx++)
146 SecondCopier(CopierDispatch<Dimension2>(), out, idx, B);
153 for (
unsigned int i = 0; i <
Dimension2; i++, idx++)
169template <
typename TImage1,
typename TImage2>
207template <
typename TInputImage1,
typename TInputImage2>
211 typename Functor::MakeJoin<TInputImage1, TInputImage2>::ImageType>
BinaryGeneratorImageFilter()
void SetFunctor(const std::function< ConstRefFunctionType > &f)
Join the components of two pixel types into a single pixel type.
typename PixelTraits< TPixel2 >::ValueType ValueType2
void FirstCopier(CopierDispatch< 1 >, JoinType &out, unsigned int idx, const TPixel1 &A) const
Vector< JoinValueType, Self::JoinDimension > JoinType
void SecondCopier(CopierDispatch< 1 >, JoinType &out, unsigned int idx, const TPixel2 &B) const
JoinType operator()(const TPixel1 &A, const TPixel2 &B) const
void FirstCopier(JoinType &out, unsigned int idx, const TPixel1 &A) const
static constexpr unsigned int JoinDimension
bool operator==(const JoinFunctor &) const
static constexpr unsigned int Dimension2
void SecondCopier(JoinType &out, unsigned int idx, const TPixel2 &B) const
ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(JoinFunctor)
void SecondCopier(CopierDispatchBase, JoinType &out, unsigned int idx, const TPixel2 &B) const
typename JoinTraits< ValueType1, ValueType2 >::ValueType JoinValueType
typename PixelTraits< TPixel1 >::ValueType ValueType1
static constexpr unsigned int Dimension1
void FirstCopier(CopierDispatchBase, JoinType &out, unsigned int idx, const TPixel1 &A) const
Templated n-dimensional image class.
static constexpr unsigned int OutputImageDimension
typename Functor::MakeJoin< TInputImage1, TInputImage2 >::FunctorType FunctorType
BinaryGeneratorImageFilter< TInputImage1, TInputImage2, OutputImageType > Superclass
~JoinImageFilter() override=default
SmartPointer< Self > Pointer
typename Functor::MakeJoin< TInputImage1, TInputImage2 >::ImageType OutputImageType
SmartPointer< const Self > ConstPointer
typename FunctorType::JoinType OutputImagePixelType
typename TPixelType::ValueType ValueType
static constexpr unsigned int Dimension
Implements transparent reference counting.
A templated class holding a n-Dimensional vector.
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Image< typename FunctorType::JoinType, TImage1::ImageDimension > ImageType
JoinFunctor< typename TImage1::PixelType, typename TImage2::PixelType > FunctorType