20 #ifndef __itkInPlaceImageFilter_h
21 #define __itkInPlaceImageFilter_h
61 template <
class TInputImage,
class TOutputImage=TInputImage>
89 itkStaticConstMacro(InputImageDimension,
unsigned int,
90 TInputImage::ImageDimension);
91 itkStaticConstMacro(OutputImageDimension,
unsigned int,
92 TOutputImage::ImageDimension);
99 itkSetMacro(InPlace,
bool);
100 itkGetConstMacro(InPlace,
bool);
101 itkBooleanMacro(InPlace);
111 virtual bool CanRunInPlace()
const
113 return (
typeid(TInputImage) ==
typeid(TOutputImage));
120 virtual void PrintSelf(std::ostream& os,
Indent indent)
const;
134 virtual void AllocateOutputs();
145 virtual void ReleaseInputs();
149 void operator=(
const Self&);
158 #define ITK_TEMPLATE_InPlaceImageFilter(_, EXPORT, x, y) namespace itk { \
159 _(2(class EXPORT InPlaceImageFilter< ITK_TEMPLATE_2 x >)) \
160 namespace Templates { typedef InPlaceImageFilter< ITK_TEMPLATE_2 x > InPlaceImageFilter##y; } \
163 #if ITK_TEMPLATE_EXPLICIT
164 # include "Templates/itkInPlaceImageFilter+-.h"