Medical Imaging Interaction Toolkit  2024.12.00
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
mitkLabelAnnotation3D.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 mitkLabelAnnotation3D_h
14 #define mitkLabelAnnotation3D_h
15 
16 #include "MitkAnnotationExports.h"
18 #include <mitkVtkAnnotation3D.h>
19 #include <vtkSmartPointer.h>
20 
21 class vtkStringArray;
22 class vtkPolyDataMapper;
23 class vtkPolyData;
24 class vtkActor2D;
25 class vtkProperty2D;
26 class vtkPointSetToLabelHierarchy;
27 class vtkLabelPlacementMapper;
28 class vtkIntArray;
29 
30 namespace mitk
31 {
32  class PointSet;
33 
36  {
37  public:
40  {
41  public:
48 
50  itk::TimeStamp m_LastUpdateTime;
51 
53  LocalStorage();
55  ~LocalStorage();
56  };
57 
59  itkFactorylessNewMacro(Self);
60  itkCloneMacro(Self);
61 
64  void SetLabelVector(const std::vector<std::string> &LabelVector);
65 
68  void SetPriorityVector(const std::vector<int> &PriorityVector);
69 
71  void SetLabelCoordinates(itk::SmartPointer<PointSet> LabelCoordinates);
72 
73  void PointSetModified(const itk::Object *, const itk::EventObject &);
74 
75  protected:
78 
79  vtkProp *GetVtkProp(BaseRenderer *renderer) const override;
80  void UpdateVtkAnnotation(mitk::BaseRenderer *renderer) override;
81 
83  explicit LabelAnnotation3D();
84 
86  ~LabelAnnotation3D() override;
87 
88  private:
90  std::vector<std::string> m_LabelVector;
91 
94  std::vector<int> m_PriorityVector;
95 
97  itk::SmartPointer<PointSet> m_LabelCoordinates;
98 
99  unsigned long m_PointSetModifiedObserverTag;
100 
103 
105  LabelAnnotation3D &operator=(const LabelAnnotation3D &);
106  };
107 
108 } // namespace mitk
109 #endif
mitk::VtkAnnotation3D
The VtkAnnotation3D class is the basis for all VTK based Annotation which create any 3D element as a ...
Definition: mitkVtkAnnotation3D.h:26
mitkLocalStorageHandler.h
mitk::LabelAnnotation3D::LocalStorage::m_Labels
vtkSmartPointer< vtkStringArray > m_Labels
Definition: mitkLabelAnnotation3D.h:45
mitk::LabelAnnotation3D::LocalStorage::m_LabelsActor
vtkSmartPointer< vtkActor2D > m_LabelsActor
Definition: mitkLabelAnnotation3D.h:43
vtkSmartPointer< vtkPolyData >
mitk::LabelAnnotation3D::LocalStorage::m_LabelMapper
vtkSmartPointer< vtkLabelPlacementMapper > m_LabelMapper
Definition: mitkLabelAnnotation3D.h:46
mitk::LabelAnnotation3D::m_LSH
mitk::LocalStorageHandler< LocalStorage > m_LSH
The LocalStorageHandler holds all LocalStorages for the render windows.
Definition: mitkLabelAnnotation3D.h:77
itk::SmartPointer
Definition: mitkIFileReader.h:30
MitkAnnotationExports.h
mitk
Find image slices visible on a given plane.
Definition: RenderingTests.dox:1
mitk::LabelAnnotation3D::LocalStorage::m_PointSetToLabelHierarchyFilter
vtkSmartPointer< vtkPointSetToLabelHierarchy > m_PointSetToLabelHierarchyFilter
Definition: mitkLabelAnnotation3D.h:47
mitk::LocalStorageHandler< LocalStorage >
MITKANNOTATION_EXPORT
#define MITKANNOTATION_EXPORT
Definition: MitkAnnotationExports.h:15
mitk::LabelAnnotation3D::LocalStorage
Internal class holding the vtkActor, etc. for each of the render windows.
Definition: mitkLabelAnnotation3D.h:39
mitk::LabelAnnotation3D::LocalStorage::m_Points
vtkSmartPointer< vtkPolyData > m_Points
Definition: mitkLabelAnnotation3D.h:42
mitk::LabelVector
std::vector< Label::Pointer > LabelVector
Definition: mitkLabel.h:91
mitk::LabelAnnotation3D
Can display a high amount of 3D labels to a PointSet.
Definition: mitkLabelAnnotation3D.h:35
mitk::LabelAnnotation3D::LocalStorage::m_LastUpdateTime
itk::TimeStamp m_LastUpdateTime
Timestamp of last update of stored data.
Definition: mitkLabelAnnotation3D.h:50
mitkClassMacro
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:36
mitk::BaseRenderer
Definition: mitkBaseRenderer.h:56
mitkVtkAnnotation3D.h
mitk::LabelAnnotation3D::LocalStorage::m_Sizes
vtkSmartPointer< vtkIntArray > m_Sizes
Definition: mitkLabelAnnotation3D.h:44
mitk::Annotation::BaseLocalStorage
Base class for mapper specific rendering resources.
Definition: mitkAnnotation.h:39