18 #ifndef __itkCompose3DCovariantVectorImageFilter_h
19 #define __itkCompose3DCovariantVectorImageFilter_h
20 #if !defined( ITK_LEGACY_REMOVE )
29 template<
class TInput >
30 class Compose3DCovariantVector
33 typedef CovariantVector< TInput, 3 > OutputType;
34 Compose3DCovariantVector() {}
35 ~Compose3DCovariantVector() {}
36 bool operator!=(
const Compose3DCovariantVector &)
const
41 bool operator==(
const Compose3DCovariantVector & other)
const
43 return !( *
this != other );
46 inline OutputType operator()(
const TInput & s1,
48 const TInput & s3)
const
77 template<
typename TInputImage,
78 typename TOutputImage =
79 Image< CovariantVector< typename TInputImage::PixelType, 3 >,
80 TInputImage::ImageDimension > >
81 class ITK_EXPORT Compose3DCovariantVectorImageFilter:
83 TernaryFunctorImageFilter< TInputImage, TInputImage,
84 TInputImage, TOutputImage,
85 Functor::Compose3DCovariantVector< typename TInputImage::PixelType > >
89 typedef Compose3DCovariantVectorImageFilter Self;
90 typedef TernaryFunctorImageFilter<
91 TInputImage, TInputImage, TInputImage,
93 Functor::Compose3DCovariantVector<
94 typename TInputImage::PixelType > > Superclass;
96 typedef SmartPointer< Self > Pointer;
97 typedef SmartPointer< const Self > ConstPointer;
99 typedef typename Superclass::OutputImageType OutputImageType;
105 itkTypeMacro(Compose3DCovariantVectorImageFilter,
106 TernaryFunctorImageFilter);
108 #ifdef ITK_USE_CONCEPT_CHECKING
111 ( Concept::HasNumericTraits< typename TInputImage::PixelType > ) );
117 Compose3DCovariantVectorImageFilter() {}
118 virtual ~Compose3DCovariantVectorImageFilter() {}
121 Compose3DCovariantVectorImageFilter(
const Self &);
122 void operator=(
const Self &);
126 #endif //#if !defined( ITK_LEGACY_REMOVE )