Medical Imaging Interaction Toolkit  2018.4.99-389bf124
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 (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef mitkOverwriteDirectedPlaneImageFilter_h_Included
14 #define mitkOverwriteDirectedPlaneImageFilter_h_Included
15 
16 #include "mitkCommon.h"
17 #include "mitkImageToImageFilter.h"
19 
20 #include <itkImage.h>
21 
22 namespace mitk
23 {
56  {
57  public:
59  itkFactorylessNewMacro(Self);
60  itkCloneMacro(Self);
61 
66  {
67  return m_PlaneGeometry;
68  }
69  void SetPlaneGeometry3D(const BaseGeometry *geometry) { m_PlaneGeometry = geometry; }
73  itkSetMacro(TimeStep, unsigned int);
74  itkGetConstMacro(TimeStep, unsigned int);
75 
79  itkSetMacro(CreateUndoInformation, bool);
80  itkGetConstMacro(CreateUndoInformation, bool);
81 
82  itkSetObjectMacro(SliceImage, Image);
83  const Image *GetSliceImage() { return m_SliceImage.GetPointer(); }
84  const Image *GetLastDifferenceImage() { return m_SliceDifferenceImage.GetPointer(); }
85  protected:
86  OverwriteDirectedPlaneImageFilter(); // purposely hidden
88 
89  void GenerateData() override;
90 
91  template <typename TPixel, unsigned int VImageDimension>
92  void ItkSliceOverwriting(itk::Image<TPixel, VImageDimension> *input3D);
93 
94  template <typename TPixel, unsigned int VImageDimension>
95  void ItkImageSwitch(itk::Image<TPixel, VImageDimension> *image);
96 
97  template <typename TPixel1, unsigned int VImageDimension1, typename TPixel2, unsigned int VImageDimension2>
98  void ItkImageProcessing(itk::Image<TPixel1, VImageDimension1> *itkImage1,
99  itk::Image<TPixel2, VImageDimension2> *itkImage2);
100 
101  // std::string EventDescription( unsigned int sliceDimension, unsigned int sliceIndex, unsigned int timeStep );
102 
105 
108  unsigned int m_TimeStep;
109  unsigned int m_Dimension0;
110  unsigned int m_Dimension1;
111 
113  };
114 
115 } // namespace
116 
117 #endif
const BaseGeometry * GetPlaneGeometry3D() const
Which plane to overwrite.
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:40
Image class for storing images.
Definition: mitkImage.h:72
Superclass of all classes having one or more Images as input and generating Images as output...
mitk::Image::Pointer image
BaseGeometry Describes the geometry of a data object.