NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
niftkLookupTableProviderService.h
Go to the documentation of this file.
1 /*=============================================================================
2 
3  NifTK: A software platform for medical image computing.
4 
5  Copyright (c) University College London (UCL). All rights reserved.
6 
7  This software is distributed WITHOUT ANY WARRANTY; without even
8  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
9  PURPOSE.
10 
11  See LICENSE.txt in the top level directory for details.
12 
13 =============================================================================*/
14 
15 #ifndef niftkLookupTableProviderService_h
16 #define niftkLookupTableProviderService_h
17 
18 #include <string>
19 #include <vector>
20 
21 // Microservices
22 #include <mitkServiceInterface.h>
23 
26 
27 class vtkLookupTable;
28 
29 namespace niftk
30 {
31 
32 class LookupTableContainer;
33 
39 {
43  virtual unsigned int GetNumberOfLookupTables() = 0;
44 
48  virtual bool CheckName(const QString& name) = 0;
49 
57  virtual vtkLookupTable* CreateLookupTable(const QString& lookupTableName,
58  float lowestValueOpacity,
59  float highestValueOpacity) = 0;
60 
64  virtual NamedLookupTableProperty::Pointer CreateLookupTableProperty(const QString& lookupTableName,
65  float lowestValueOpacity,
66  float highestValueOpacity) = 0;
67 
71  virtual LabeledLookupTableProperty::Pointer CreateLookupTableProperty(const QString& lookupTableName) = 0;
72 
76  virtual void AddNewLookupTableContainer(const LookupTableContainer* container) = 0;
77 
81  virtual void ReplaceLookupTableContainer(const LookupTableContainer* container, const QString& lookupTableName) = 0;
82 
86  virtual std::vector<QString> GetTableNames() = 0;
87 
91  virtual bool GetIsScaled(const QString& lookupTableName) = 0;
92 
93 };
94 
95 }
96 
98 
99 #endif
virtual vtkLookupTable * CreateLookupTable(const QString &lookupTableName, float lowestValueOpacity, float highestValueOpacity)=0
Returns a pointer to a new instance of a lookup table, as specified by the index, which the client is...
virtual void ReplaceLookupTableContainer(const LookupTableContainer *container, const QString &lookupTableName)=0
Replace the LookupTableContainer of the given name with another.
Service to provide lookup tables.
Definition: niftkLookupTableProviderService.h:38
virtual std::vector< QString > GetTableNames()=0
Returns the display names of all table.
virtual NamedLookupTableProperty::Pointer CreateLookupTableProperty(const QString &lookupTableName, float lowestValueOpacity, float highestValueOpacity)=0
Same as CreateLookupTable, but wraps it into a niftk::NamedLookupTableProperty.
Class to contain a vtkLookupTable and to store meta-data attributes like display name, which order to display it in in GUI, etc.
Definition: niftkLookupTableContainer.h:34
virtual bool CheckName(const QString &name)=0
Returns if a LookupTable with the given name exists.
virtual void AddNewLookupTableContainer(const LookupTableContainer *container)=0
Add a new LookupTableContainer to the LookupTableManager.
MITK_DECLARE_SERVICE_INTERFACE(niftk::IGIDataSourceFactoryServiceI,"uk.ac.ucl.cmic.IGIDataSourceFactoryServiceI")
virtual bool GetIsScaled(const QString &lookupTableName)=0
Returns whether the given table should be scaled to the window and level.
GLuint const GLchar * name
Definition: glew.h:1798
Definition: niftkExceptionObject.h:21
virtual unsigned int GetNumberOfLookupTables()=0
Returns the number of lookup tables that this service knows about.