Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitkOverwriteDirectedPlaneImageFilter.h
Go to the documentation of this file.
1 /*===================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center,
6 Division of Medical and Biological Informatics.
7 All rights reserved.
8 
9 This software is distributed WITHOUT ANY WARRANTY; without
10 even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 A PARTICULAR PURPOSE.
12 
13 See LICENSE.txt or http://www.mitk.org for details.
14 
15 ===================================================================*/
16 
17 #ifndef mitkOverwriteDirectedPlaneImageFilter_h_Included
18 #define mitkOverwriteDirectedPlaneImageFilter_h_Included
19 
20 #include "mitkCommon.h"
21 #include "mitkImageToImageFilter.h"
23 
24 #include <itkImage.h>
25 
26 namespace mitk
27 {
63  {
64  public:
66  itkFactorylessNewMacro(Self) itkCloneMacro(Self)
67 
68 
71  const BaseGeometry *GetPlaneGeometry3D() const
72  {
73  return m_PlaneGeometry;
74  }
75  void SetPlaneGeometry3D(const BaseGeometry *geometry) { m_PlaneGeometry = geometry; }
79  itkSetMacro(TimeStep, unsigned int);
80  itkGetConstMacro(TimeStep, unsigned int);
81 
85  itkSetMacro(CreateUndoInformation, bool);
86  itkGetConstMacro(CreateUndoInformation, bool);
87 
88  itkSetObjectMacro(SliceImage, Image);
89  const Image *GetSliceImage() { return m_SliceImage.GetPointer(); }
90  const Image *GetLastDifferenceImage() { return m_SliceDifferenceImage.GetPointer(); }
91  protected:
92  OverwriteDirectedPlaneImageFilter(); // purposely hidden
94 
95  virtual void GenerateData() override;
96 
97  template <typename TPixel, unsigned int VImageDimension>
98  void ItkSliceOverwriting(itk::Image<TPixel, VImageDimension> *input3D);
99 
100  template <typename TPixel, unsigned int VImageDimension>
101  void ItkImageSwitch(itk::Image<TPixel, VImageDimension> *image);
102 
103  template <typename TPixel1, unsigned int VImageDimension1, typename TPixel2, unsigned int VImageDimension2>
104  void ItkImageProcessing(itk::Image<TPixel1, VImageDimension1> *itkImage1,
105  itk::Image<TPixel2, VImageDimension2> *itkImage2);
106 
107  // std::string EventDescription( unsigned int sliceDimension, unsigned int sliceIndex, unsigned int timeStep );
108 
111 
114  unsigned int m_TimeStep;
115  unsigned int m_Dimension0;
116  unsigned int m_Dimension1;
117 
119  };
120 
121 } // namespace
122 
123 #endif
Superclass of all classes generating some kind of mitk::BaseData.
#define MITKSEGMENTATION_EXPORT
DataCollection - Class to facilitate loading/accessing structured data.
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:44
Image class for storing images.
Definition: mitkImage.h:76
Superclass of all classes having one or more Images as input and generating Images as output...
BaseGeometry Describes the geometry of a data object.