18 #ifndef itkJoinImageFilter_h 19 #define itkJoinImageFilter_h 47 template<
typename TPixel1,
typename TPixel2 >
82 return !( *
this != other );
86 inline JoinType
operator()(
const TPixel1 & A,
const TPixel2 & B)
const 107 template<
unsigned int VDimension >
120 void FirstCopier(JoinType & out,
unsigned int idx,
const TPixel1 & A)
const 127 JoinType & out,
unsigned int idx,
const TPixel1 & A)
const 129 for (
unsigned int i = 0; i <
Dimension1; i++, idx++ )
131 out[idx] =
static_cast< JoinValueType
>( A[i] );
138 JoinType & out,
unsigned int idx,
const TPixel1 & A)
const 139 { out[idx] =
static_cast< JoinValueType
>( A ); }
146 void SecondCopier(JoinType & out,
unsigned int idx,
const TPixel2 & B)
const 153 JoinType & out,
unsigned int idx,
const TPixel2 & B)
const 155 for (
unsigned int i = 0; i <
Dimension2; i++, idx++ )
157 out[idx] =
static_cast< JoinValueType
>( B[i] );
164 JoinType & out,
unsigned int idx,
const TPixel2 & B)
const 166 out[idx] =
static_cast< JoinValueType
>( B );
171 template<
typename TImage1,
typename TImage2 >
208 template<
typename TInputImage1,
typename TInputImage2 >
213 Functor::MakeJoin< TInputImage1,
214 TInputImage2 >::ImageType,
216 Functor::MakeJoin< TInputImage1,
217 TInputImage2 >::FunctorType >
221 itkStaticConstMacro(OutputImageDimension,
unsigned int,
222 TInputImage1::ImageDimension);
247 #ifdef ITK_USE_CONCEPT_CHECKING 265 void operator=(
const Self &) ITK_DELETE_FUNCTION;
static const unsigned int JoinDimension
void SecondCopier(CopierDispatch< 1 >, JoinType &out, unsigned int idx, const TPixel2 &B) const
JoinTraits< ValueType1, ValueType2 >::ValueType JoinValueType
JoinFunctor< typename TImage1::PixelType, typename TImage2::PixelType > FunctorType
TPixelType::ValueType ValueType
virtual ~JoinImageFilter()
JoinType operator()(const TPixel1 &A, const TPixel2 &B) const
Vector< JoinValueType, itkGetStaticConstMacro(JoinDimension) > JoinType
void FirstCopier(JoinType &out, unsigned int idx, const TPixel1 &A) const
BinaryFunctorImageFilter< TInputImage1, TInputImage2, OutputImageType, FunctorType > Superclass
bool operator!=(const JoinFunctor &) const
bool operator==(const JoinFunctor &other) const
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
PixelTraits< TPixel1 >::ValueType ValueType1
Traits for a pixel that define the dimension and component type.
static const unsigned int Dimension2
Join two images, resulting in an image where each pixel has the components of the first image followe...
Functor::MakeJoin< TInputImage1, TInputImage2 >::ImageType OutputImageType
A templated class holding a n-Dimensional vector.
void SecondCopier(CopierDispatchBase, JoinType &out, unsigned int idx, const TPixel2 &B) const
void SecondCopier(JoinType &out, unsigned int idx, const TPixel2 &B) const
FunctorType::JoinType OutputImagePixelType
PixelTraits< TPixel2 >::ValueType ValueType2
Image< typename FunctorType::JoinType, TImage1::ImageDimension > ImageType
void FirstCopier(CopierDispatch< 1 >, JoinType &out, unsigned int idx, const TPixel1 &A) const
Join the components of two pixel types into a single pixel type.
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
#define itkConceptMacro(name, concept)
static const unsigned int Dimension1
Functor::MakeJoin< TInputImage1, TInputImage2 >::FunctorType FunctorType
void FirstCopier(CopierDispatchBase, JoinType &out, unsigned int idx, const TPixel1 &A) const
Templated n-dimensional image class.
Implements pixel-wise generic operation of two images, or of an image and a constant.