23 #ifndef __vtkSlicerTerminologiesModuleLogic_h 24 #define __vtkSlicerTerminologiesModuleLogic_h 29 #include "vtkSlicerTerminologiesModuleLogicExport.h" 31 #include <vtkVector.h> 45 void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
52 : CodingSchemeDesignator(
"")
56 CodeIdentifier(std::string codingSchemeDesignator, std::string codeValue, std::string codeMeaning)
57 : CodingSchemeDesignator(codingSchemeDesignator)
58 , CodeValue(codeValue)
59 , CodeMeaning(codeMeaning)
71 bool LoadContextFromFile(std::string filePath);
75 std::string LoadTerminologyFromFile(std::string filePath);
79 std::string LoadAnatomicContextFromFile(std::string filePath);
84 bool LoadTerminologyFromSegmentDescriptorFile(std::string contextName, std::string filePath);
87 bool LoadAnatomicContextFromSegmentDescriptorFile(std::string contextName, std::string filePath);
90 void GetLoadedTerminologyNames(std::vector<std::string> &terminologyNames);
92 void GetLoadedTerminologyNames(vtkStringArray* terminologyNames);
94 void GetLoadedAnatomicContextNames(std::vector<std::string> &anatomicContextNames);
96 void GetLoadedAnatomicContextNames(vtkStringArray* anatomicContextNames);
103 bool GetCategoriesInTerminology(std::string terminologyName, std::vector<CodeIdentifier>& categories);
108 bool FindCategoriesInTerminology(std::string terminologyName, std::vector<CodeIdentifier>& categories, std::string search);
119 bool GetTypesInTerminologyCategory(std::string terminologyName,
CodeIdentifier categoryId, std::vector<CodeIdentifier>& types);
124 bool FindTypesInTerminologyCategory(std::string terminologyName,
CodeIdentifier categoryId, std::vector<CodeIdentifier>& types, std::string search);
134 bool GetTypeModifiersInTerminologyType(std::string terminologyName,
CodeIdentifier categoryId,
CodeIdentifier typeId, std::vector<CodeIdentifier>& typeModifiers);
138 bool GetTypeModifierInTerminologyType(std::string terminologyName,
146 bool GetRegionsInAnatomicContext(std::string anatomicContextName, std::vector<CodeIdentifier>& regions);
150 bool FindRegionsInAnatomicContext(std::string anatomicContextName, std::vector<CodeIdentifier>& regions, std::string search);
160 bool GetRegionModifiersInAnatomicRegion(std::string anatomicContextName,
CodeIdentifier regionId, std::vector<CodeIdentifier>& regionModifiers);
164 bool GetRegionModifierInAnatomicRegion(std::string anatomicContextName,
172 bool FindTypeInTerminologyBy3dSlicerLabel(std::string terminologyName, std::string slicerLabel,
vtkSlicerTerminologyEntry* entry);
187 static std::string SerializeTerminologyEntry(
188 std::string terminologyContextName,
189 std::string categoryValue, std::string categorySchemeDesignator, std::string categoryMeaning,
190 std::string typeValue, std::string typeSchemeDesignator, std::string typeMeaning,
191 std::string modifierValue, std::string modifierSchemeDesignator, std::string modifierMeaning,
192 std::string anatomicContextName,
193 std::string regionValue, std::string regionSchemeDesignator, std::string regionMeaning,
194 std::string regionModifierValue, std::string regionModifierSchemeDesignator, std::string regionModifierMeaning );
203 vtkGetStringMacro(UserContextsPath);
204 vtkSetStringMacro(UserContextsPath);
210 virtual void SetMRMLSceneInternal(
vtkMRMLScene* newScene) VTK_OVERRIDE;
213 void LoadDefaultTerminologies();
215 void LoadDefaultAnatomicContexts();
217 void LoadUserContexts();
228 vtkInternal* Internal;
229 friend class vtkInternal;
static vtkSlicerModuleLogic * New()
The Usual vtk class functions.
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
Information needed to uniquely identify a terminology code.
Terminology property type object.
A set of MRML Nodes that supports serialization and undo/redo.
char * UserContextsPath
The path from which the json files are automatically loaded on startup.
CodeIdentifier(std::string codingSchemeDesignator, std::string codeValue, std::string codeMeaning)
std::string CodingSchemeDesignator
Terminology property category object.