Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitkDiffSliceOperation.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 mitkDiffSliceOperation_h_Included
18 #define mitkDiffSliceOperation_h_Included
19 
22 #include <mitkOperation.h>
23 
24 #include <vtkSmartPointer.h>
25 
26 namespace mitk
27 {
28  class Image;
29 
43  {
44  public:
46 
47  // itkFactorylessNewMacro(Self)
48  // itkCloneMacro(Self)
49 
50  // mitkNewMacro4Param(DiffSliceOperation,mitk::Image,mitk::Image,unsigned int, mitk::PlaneGeometry);
51 
56 
58  DiffSliceOperation(mitk::Image *imageVolume,
59  mitk::Image *slice,
60  SlicedGeometry3D *sliceGeometry,
61  unsigned int timestep,
62  BaseGeometry *currentWorldGeometry);
63 
65  bool IsValid();
66 
68  void SetImage(mitk::Image *image) { this->m_Image = image; }
70  mitk::Image *GetImage() { return this->m_Image; }
72  void SetImage(vtkImageData *slice) { this->m_Slice = slice; }
74  Image::Pointer GetSlice();
75 
77  void SetTimeStep(unsigned int timestep) { this->m_TimeStep = timestep; }
79  unsigned int GetTimeStep() { return this->m_TimeStep; }
81  void SetSliceGeometry(SlicedGeometry3D *sliceGeometry) { this->m_SliceGeometry = sliceGeometry; }
83  SlicedGeometry3D *GetSliceGeometry() { return this->m_SliceGeometry; }
85  void SetCurrentWorldGeometry(BaseGeometry *worldGeometry) { this->m_WorldGeometry = worldGeometry; }
87  BaseGeometry *GetWorldGeometry() { return this->m_WorldGeometry; }
88  protected:
89  virtual ~DiffSliceOperation();
90 
92  void OnImageDeleted();
93 
95 
97 
98  vtkSmartPointer<vtkImageData> m_Slice;
99 
101 
102  unsigned int m_TimeStep;
103 
105 
107 
108  unsigned long m_DeleteObserverTag;
109 
111  };
112 }
113 #endif
itk::SmartPointer< Self > Pointer
BaseGeometry * GetWorldGeometry()
Get the axis where the slice has to be applied in the volume.
void SetTimeStep(unsigned int timestep)
Get timeStep.
Base class of all Operation-classes.
Definition: mitkOperation.h:33
#define MITKSEGMENTATION_EXPORT
DataCollection - Class to facilitate loading/accessing structured data.
vtkSmartPointer< vtkImageData > m_Slice
An Operation for applying an edited slice to the volume.
abstract class, that can be used by Undo to undo an operation.
SlicedGeometry3D::Pointer m_SliceGeometry
class ITK_EXPORT Image
void SetSliceGeometry(SlicedGeometry3D *sliceGeometry)
Set the axis where the slice has to be applied in the volume.
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:44
BaseGeometry::Pointer m_WorldGeometry
mitk::BaseGeometry::ConstPointer m_GuardReferenceGeometry
Image class for storing images.
Definition: mitkImage.h:76
void SetImage(mitk::Image *image)
Set the image volume.
Describes the geometry of a data object consisting of slices.
void SetImage(vtkImageData *slice)
Set thee slice to be applied.
SlicedGeometry3D * GetSliceGeometry()
Get the axis where the slice has to be applied in the volume.
unsigned int GetTimeStep()
Set timeStep.
CompressedImageContainer::Pointer m_zlibSliceContainer
BaseGeometry Describes the geometry of a data object.
mitk::Image * GetImage()
Get th image volume.
void SetCurrentWorldGeometry(BaseGeometry *worldGeometry)
Set the axis where the slice has to be applied in the volume.