00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
#ifndef _itkFlipImageFilter_h
00018
#define _itkFlipImageFilter_h
00019
00020
#include "itkImageToImageFilter.h"
00021
#include "itkFixedArray.h"
00022
00023
namespace itk
00024 {
00025
00047
template <
class TImage>
00048 class ITK_EXPORT FlipImageFilter :
00049
public ImageToImageFilter<TImage,TImage>
00050 {
00051
00052
public:
00054 typedef FlipImageFilter
Self;
00055 typedef ImageToImageFilter<TImage,TImage> Superclass;
00056 typedef SmartPointer<Self> Pointer;
00057 typedef SmartPointer<const Self> ConstPointer;
00058
00060
itkNewMacro(
Self);
00061
00063
itkTypeMacro(FlipImageFilter,
ImageToImageFilter);
00064
00066
itkStaticConstMacro(ImageDimension,
unsigned int, TImage::ImageDimension);
00067
00069 typedef typename Superclass::InputImagePointer
InputImagePointer;
00070 typedef typename Superclass::InputImageConstPointer
InputImageConstPointer;
00071 typedef typename Superclass::OutputImagePointer
OutputImagePointer;
00072 typedef typename Superclass::OutputImageRegionType
OutputImageRegionType;
00073
00075 typedef typename TImage::IndexType
IndexType;
00076 typedef typename IndexType::IndexValueType
IndexValueType;
00077
00079 typedef FixedArray<bool,itkGetStaticConstMacro(ImageDimension)> FlipAxesArrayType;
00080
00083
itkSetMacro( FlipAxes,
FlipAxesArrayType );
00084
itkGetMacro( FlipAxes,
FlipAxesArrayType );
00085
00092
virtual void GenerateOutputInformation();
00093
00099
virtual void GenerateInputRequestedRegion();
00100
00101
protected:
00102 FlipImageFilter();
00103 ~FlipImageFilter() {};
00104 void PrintSelf(std::ostream& os,
Indent indent)
const;
00105
00116
void ThreadedGenerateData(
const OutputImageRegionType& outputRegionForThread,
00117
int threadId );
00118
00119
private:
00120 FlipImageFilter(
const Self&);
00121
void operator=(
const Self&);
00122
00123
FlipAxesArrayType m_FlipAxes;
00124
00125 };
00126
00127 }
00128
00129
#ifndef ITK_MANUAL_INSTANTIATION
00130
#include "itkFlipImageFilter.txx"
00131
#endif
00132
00133
#endif
00134