Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
mitkOverwriteSliceImageFilter.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 mitkOverwriteSliceImageFilter_h_Included
14 #define mitkOverwriteSliceImageFilter_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 
65  itkSetMacro(SliceIndex, unsigned int);
66  itkGetConstMacro(SliceIndex, unsigned int);
67 
74  itkSetMacro(SliceDimension, unsigned int);
75  itkGetConstMacro(SliceDimension, unsigned int);
76 
80  itkSetMacro(TimeStep, unsigned int);
81  itkGetConstMacro(TimeStep, unsigned int);
82 
86  itkSetMacro(CreateUndoInformation, bool);
87  itkGetConstMacro(CreateUndoInformation, bool);
88 
89  itkSetObjectMacro(SliceImage, Image);
90  const Image *GetSliceImage() { return m_SliceImage.GetPointer(); }
91  const Image *GetLastDifferenceImage() { return m_SliceDifferenceImage.GetPointer(); }
92  protected:
93  OverwriteSliceImageFilter(); // purposely hidden
94  ~OverwriteSliceImageFilter() override;
95 
96  void GenerateData() override;
97 
98  template <typename TPixel, unsigned int VImageDimension>
99  void ItkImageSwitch(itk::Image<TPixel, VImageDimension> *image);
100 
101  template <typename TPixel1, unsigned int VImageDimension1, typename TPixel2, unsigned int VImageDimension2>
102  void ItkImageProcessing(const itk::Image<TPixel1, VImageDimension1> *itkImage1,
103  itk::Image<TPixel2, VImageDimension2> *itkImage2);
104 
105  std::string EventDescription(unsigned int sliceDimension, unsigned int sliceIndex, unsigned int timeStep);
106 
109 
110  unsigned int m_SliceIndex;
111  unsigned int m_SliceDimension;
112  unsigned int m_TimeStep;
113  unsigned int m_Dimension0;
114  unsigned int m_Dimension1;
115 
117  };
118 
119 } // namespace
120 
121 #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: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
Writes a 2D slice into a 3D image.