Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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.