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 mitkDiffImageApplier_h_Included
00019 #define mitkDiffImageApplier_h_Included
00020
00021 #include "mitkCommon.h"
00022 #include "MitkExtExports.h"
00023 #include "mitkOperationActor.h"
00024 #include "mitkImage.h"
00025
00026 #include <itkObjectFactory.h>
00027 #include <itkImage.h>
00028
00029 namespace mitk
00030 {
00031
00040 class MitkExt_EXPORT DiffImageApplier : public itk::Object, public OperationActor
00041 {
00042 public:
00043
00044 mitkClassMacro(DiffImageApplier, Object);
00045 itkNewMacro(DiffImageApplier);
00046
00047 virtual void ExecuteOperation( Operation* operation );
00048
00049 static DiffImageApplier* GetInstanceForUndo();
00050
00051 protected:
00052
00053 DiffImageApplier();
00054 virtual ~DiffImageApplier();
00055
00056 template<typename TPixel, unsigned int VImageDimension>
00057 void ItkImageSwitch2DDiff( itk::Image<TPixel,VImageDimension>* image );
00058
00059 template<typename TPixel, unsigned int VImageDimension>
00060 void ItkImageSwitch3DDiff( itk::Image<TPixel,VImageDimension>* image );
00061
00062 template<typename TPixel1, unsigned int VImageDimension1, typename TPixel2, unsigned int VImageDimension2>
00063 void ItkImageProcessing2DDiff( itk::Image<TPixel1,VImageDimension1>* itkImage1, itk::Image<TPixel2,VImageDimension2>* itkImage2 );
00064
00065 template<typename TPixel1, unsigned int VImageDimension1, typename TPixel2, unsigned int VImageDimension2>
00066 void ItkImageProcessing3DDiff( itk::Image<TPixel1,VImageDimension1>* itkImage1, itk::Image<TPixel2,VImageDimension2>* itkImage2 );
00067
00068 template<typename TPixel, unsigned int VImageDimension>
00069 void ItkInvertPixelValues( itk::Image<TPixel,VImageDimension>* itkImage );
00070
00071 Image::Pointer m_Image;
00072 Image::ConstPointer m_SliceDifferenceImage;
00073
00074 unsigned int m_SliceIndex;
00075 unsigned int m_SliceDimension;
00076 unsigned int m_TimeStep;
00077 unsigned int m_Dimension0;
00078 unsigned int m_Dimension1;
00079
00080 double m_Factor;
00081 };
00082
00083 }
00084
00085 #endif
00086
00087