18 #ifndef __itkCompose3DVectorImageFilter_h
19 #define __itkCompose3DVectorImageFilter_h
20 #if !defined( ITK_LEGACY_REMOVE )
29 template<
class TInput >
33 typedef Vector< TInput, 3 > OutputType;
41 bool operator==(
const Compose3DVector & other)
const
43 return !( *
this != other );
46 inline OutputType operator()(
const TInput & s1,
48 const TInput & s3)
const
73 template<
typename TInputImage,
74 typename TOutputImage =
75 Image< Vector< typename TInputImage::PixelType, 3 >,
76 TInputImage::ImageDimension > >
77 class ITK_EXPORT Compose3DVectorImageFilter:
79 TernaryFunctorImageFilter< TInputImage, TInputImage,
80 TInputImage, TOutputImage,
81 Functor::Compose3DVector< typename TInputImage::PixelType > >
85 typedef Compose3DVectorImageFilter Self;
86 typedef TernaryFunctorImageFilter<
87 TInputImage, TInputImage, TInputImage,
89 Functor::Compose3DVector<
90 typename TInputImage::PixelType > > Superclass;
92 typedef SmartPointer< Self > Pointer;
93 typedef SmartPointer< const Self > ConstPointer;
95 typedef typename Superclass::OutputImageType OutputImageType;
101 itkTypeMacro(Compose3DVectorImageFilter,
102 TernaryFunctorImageFilter);
104 #ifdef ITK_USE_CONCEPT_CHECKING
107 ( Concept::HasNumericTraits< typename TInputImage::PixelType > ) );
113 Compose3DVectorImageFilter() {}
114 virtual ~Compose3DVectorImageFilter() {}
117 Compose3DVectorImageFilter(
const Self &);
118 void operator=(
const Self &);
122 #endif //#if !defined( ITK_LEGACY_REMOVE )