28 #ifndef __itkInPlaceImageFilter_h
29 #define __itkInPlaceImageFilter_h
71 template<
class TInputImage,
class TOutputImage = TInputImage >
98 itkStaticConstMacro(InputImageDimension,
unsigned int,
99 TInputImage::ImageDimension);
100 itkStaticConstMacro(OutputImageDimension,
unsigned int,
101 TOutputImage::ImageDimension);
109 itkSetMacro(InPlace,
bool);
110 itkGetConstMacro(InPlace,
bool);
111 itkBooleanMacro(InPlace);
122 virtual bool CanRunInPlace()
const;
128 virtual void PrintSelf(std::ostream & os,
Indent indent)
const;
142 virtual void AllocateOutputs()
144 this->InternalAllocateOutputs(IsSame<TInputImage, TOutputImage>());
156 virtual void ReleaseInputs();
162 itkGetConstMacro(RunningInPlace,
bool);
166 void operator=(
const Self &);
169 void InternalAllocateOutputs(
const FalseType& )
171 this->m_RunningInPlace =
false;
172 this->Superclass::AllocateOutputs();
175 void InternalAllocateOutputs(
const TrueType& );
184 #define ITK_TEMPLATE_InPlaceImageFilter(_, EXPORT, TypeX, TypeY) \
187 _( 2 ( class EXPORT InPlaceImageFilter< ITK_TEMPLATE_2 TypeX > ) ) \
188 namespace Templates \
190 typedef InPlaceImageFilter< ITK_TEMPLATE_2 TypeX > InPlaceImageFilter##TypeY; \
194 #if ITK_TEMPLATE_EXPLICIT
195 #include "Templates/itkInPlaceImageFilter+-.h"
199 #include "itkInPlaceImageFilter.hxx"