Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef mitkOverwriteSliceImageFilter_h_Included
00019 #define mitkOverwriteSliceImageFilter_h_Included
00020
00021 #include "mitkCommon.h"
00022 #include "MitkExtExports.h"
00023 #include "mitkImageToImageFilter.h"
00024
00025 #include <itkImage.h>
00026
00027 namespace mitk
00028 {
00029
00055 class MitkExt_EXPORT OverwriteSliceImageFilter : public ImageToImageFilter
00056 {
00057 public:
00058
00059 mitkClassMacro(OverwriteSliceImageFilter, ImageToImageFilter);
00060 itkNewMacro(OverwriteSliceImageFilter);
00061
00065 itkSetMacro(SliceIndex, unsigned int);
00066 itkGetConstMacro(SliceIndex, unsigned int);
00067
00073 itkSetMacro(SliceDimension, unsigned int);
00074 itkGetConstMacro(SliceDimension, unsigned int);
00075
00079 itkSetMacro(TimeStep, unsigned int);
00080 itkGetConstMacro(TimeStep, unsigned int);
00081
00085 itkSetMacro(CreateUndoInformation, bool);
00086 itkGetConstMacro(CreateUndoInformation, bool);
00087
00088 itkSetObjectMacro(SliceImage, Image);
00089 const Image* GetSliceImage() { return m_SliceImage.GetPointer(); }
00090
00091 const Image* GetLastDifferenceImage() { return m_SliceDifferenceImage.GetPointer(); }
00092
00093 protected:
00094
00095 OverwriteSliceImageFilter();
00096 virtual ~OverwriteSliceImageFilter();
00097
00098 virtual void GenerateData();
00099
00100 template<typename TPixel, unsigned int VImageDimension>
00101 void ItkImageSwitch( itk::Image<TPixel,VImageDimension>* image );
00102
00103 template<typename TPixel1, unsigned int VImageDimension1, typename TPixel2, unsigned int VImageDimension2>
00104 void ItkImageProcessing( itk::Image<TPixel1,VImageDimension1>* itkImage1, itk::Image<TPixel2,VImageDimension2>* itkImage2 );
00105
00106 std::string EventDescription( unsigned int sliceDimension, unsigned int sliceIndex, unsigned int timeStep );
00107
00108 Image::ConstPointer m_SliceImage;
00109 Image::Pointer m_SliceDifferenceImage;
00110
00111 unsigned int m_SliceIndex;
00112 unsigned int m_SliceDimension;
00113 unsigned int m_TimeStep;
00114 unsigned int m_Dimension0;
00115 unsigned int m_Dimension1;
00116
00117 bool m_CreateUndoInformation;
00118 };
00119
00120 }
00121
00122 #endif
00123
00124