Medical Imaging Interaction Toolkit  2018.4.99-389bf124
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 (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 mitkDiffSliceOperation_h_Included
14 #define mitkDiffSliceOperation_h_Included
15 
18 #include <mitkOperation.h>
19 
20 #include <vtkSmartPointer.h>
21 
22 namespace mitk
23 {
24  class Image;
25 
39  {
40  public:
42 
43  // itkFactorylessNewMacro(Self)
44  // itkCloneMacro(Self)
45 
46  // mitkNewMacro4Param(DiffSliceOperation,mitk::Image,mitk::Image,unsigned int, mitk::PlaneGeometry);
47 
52 
54  DiffSliceOperation(mitk::Image *imageVolume,
55  mitk::Image *slice,
56  SlicedGeometry3D *sliceGeometry,
57  unsigned int timestep,
58  BaseGeometry *currentWorldGeometry);
59 
61  bool IsValid();
62 
64  void SetImage(mitk::Image *image) { this->m_Image = image; }
66  mitk::Image *GetImage() { return this->m_Image; }
68  void SetImage(vtkImageData *slice) { this->m_Slice = slice; }
70  Image::Pointer GetSlice();
71 
73  void SetTimeStep(unsigned int timestep) { this->m_TimeStep = timestep; }
75  unsigned int GetTimeStep() { return this->m_TimeStep; }
77  void SetSliceGeometry(SlicedGeometry3D *sliceGeometry) { this->m_SliceGeometry = sliceGeometry; }
79  SlicedGeometry3D *GetSliceGeometry() { return this->m_SliceGeometry; }
81  void SetCurrentWorldGeometry(BaseGeometry *worldGeometry) { this->m_WorldGeometry = worldGeometry; }
83  BaseGeometry *GetWorldGeometry() { return this->m_WorldGeometry; }
84  protected:
85  ~DiffSliceOperation() override;
86 
88  void OnImageDeleted();
89 
90  CompressedImageContainer::Pointer m_zlibSliceContainer;
91 
93 
94  vtkSmartPointer<vtkImageData> m_Slice;
95 
97 
98  unsigned int m_TimeStep;
99 
101 
103 
104  unsigned long m_DeleteObserverTag;
105 
107  };
108 }
109 #endif
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:29
#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:40
BaseGeometry::Pointer m_WorldGeometry
mitk::BaseGeometry::ConstPointer m_GuardReferenceGeometry
Image class for storing images.
Definition: mitkImage.h:72
mitk::Image::Pointer image
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.