23#ifndef __vtkSlicerTerminologiesModuleLogic_h
24#define __vtkSlicerTerminologiesModuleLogic_h
29#include "vtkSlicerTerminologiesModuleLogicExport.h"
45 void PrintSelf(ostream& os, vtkIndent indent)
override;
53 CodeIdentifier(std::string codingSchemeDesignator, std::string codeValue, std::string codeMeaning)
54 : CodingSchemeDesignator(codingSchemeDesignator)
55 , CodeValue(codeValue)
56 , CodeMeaning(codeMeaning)
212 std::string terminologyContextName,
213 std::string categoryValue, std::string categorySchemeDesignator, std::string categoryMeaning,
214 std::string typeValue, std::string typeSchemeDesignator, std::string typeMeaning,
215 std::string modifierValue, std::string modifierSchemeDesignator, std::string modifierMeaning,
216 std::string anatomicContextName,
217 std::string regionValue, std::string regionSchemeDesignator, std::string regionMeaning,
218 std::string regionModifierValue, std::string regionModifierSchemeDesignator, std::string regionModifierMeaning );
230 vtkGetStringMacro(UserContextsPath);
231 vtkSetStringMacro(UserContextsPath);
248 char* UserContextsPath{
nullptr};
255 vtkInternal* Internal;
256 friend class vtkInternal;
A set of MRML Nodes that supports serialization and undo/redo.
Information needed to uniquely identify a terminology code.
std::string CodingSchemeDesignator
CodeIdentifier(std::string codingSchemeDesignator, std::string codeValue, std::string codeMeaning)
static CodeIdentifier CodeIdentifierFromTerminologyType(vtkSlicerTerminologyType *type)
Convert terminology type object to code identifier.
void GetLoadedAnatomicContextNames(std::vector< std::string > &anatomicContextNames)
Get context names of loaded anatomic contexts.
~vtkSlicerTerminologiesModuleLogic() override
bool GetTypeModifiersInTerminologyType(std::string terminologyName, CodeIdentifier categoryId, CodeIdentifier typeId, std::vector< CodeIdentifier > &typeModifiers)
bool GetCategoryInTerminology(std::string terminologyName, CodeIdentifier categoryId, vtkSlicerTerminologyCategory *categoryObject)
void GetLoadedTerminologyNames(vtkStringArray *terminologyNames)
Python accessor variant of.
static std::string SerializeTerminologyEntry(vtkSlicerTerminologyEntry *entry)
bool LoadAnatomicContextFromSegmentDescriptorFile(std::string contextName, std::string filePath)
void PrintSelf(ostream &os, vtkIndent indent) override
bool GetRegionInAnatomicContext(std::string anatomicContextName, CodeIdentifier regionId, vtkSlicerTerminologyType *regionObject)
static vtkSlicerTerminologiesModuleLogic * New()
int GetNumberOfTypeModifiersInTerminologyType(std::string terminologyName, vtkSlicerTerminologyCategory *category, vtkSlicerTerminologyType *type)
Get number of type modifiers for the chosen category and type in a terminology.
bool FindRegionsInAnatomicContext(std::string anatomicContextName, std::vector< CodeIdentifier > ®ions, std::string search)
bool GetNthTypeInTerminologyCategory(std::string terminologyName, vtkSlicerTerminologyCategory *category, int typeIndex, vtkSlicerTerminologyType *type)
static const char * GetColorAutoGeneratedAttributeName()
Node attribute name for color auto generated.
bool GetCategoriesInTerminology(std::string terminologyName, std::vector< CodeIdentifier > &categories)
bool GetRegionModifiersInAnatomicRegion(std::string anatomicContextName, CodeIdentifier regionId, std::vector< CodeIdentifier > ®ionModifiers)
int GetNumberOfCategoriesInTerminology(std::string terminologyName)
Get number of categories in a terminology.
bool FindTypesInTerminologyCategory(std::string terminologyName, CodeIdentifier categoryId, std::vector< CodeIdentifier > &types, std::string search)
bool GetTypesInTerminologyCategory(std::string terminologyName, CodeIdentifier categoryId, std::vector< CodeIdentifier > &types)
int GetNumberOfTypesInTerminologyCategory(std::string terminologyName, vtkSlicerTerminologyCategory *category)
Get number of types in the chosen category in a terminology.
static CodeIdentifier CodeIdentifierFromTerminologyCategory(vtkSlicerTerminologyCategory *category)
Convert terminology category object to code identifier.
bool FindCategoriesInTerminology(std::string terminologyName, std::vector< CodeIdentifier > &categories, std::string search)
void LoadUserContexts()
Load terminologies and anatomic contexts from the user settings directory.
std::string LoadTerminologyFromFile(std::string filePath)
void LoadDefaultAnatomicContexts()
Load default anatomic context dictionaries from JSON into.
bool FindTypeInTerminologyBy3dSlicerLabel(std::string terminologyName, std::string slicerLabel, vtkSlicerTerminologyEntry *entry)
void GetLoadedAnatomicContextNames(vtkStringArray *anatomicContextNames)
Python accessor variant of.
bool DeserializeTerminologyEntry(std::string serializedEntry, vtkSlicerTerminologyEntry *entry)
void GetLoadedTerminologyNames(std::vector< std::string > &terminologyNames)
Get context names of loaded terminologies.
bool GetNthCategoryInTerminology(std::string terminologyName, int categoryIndex, vtkSlicerTerminologyCategory *category)
static std::string GetInfoStringFromTerminologyEntry(vtkSlicerTerminologyEntry *entry)
Assemble human readable info string from a terminology entry, for example for tooltips.
bool GetTypeModifierInTerminologyType(std::string terminologyName, CodeIdentifier categoryId, CodeIdentifier typeId, CodeIdentifier modifierId, vtkSlicerTerminologyType *typeModifier)
vtkSlicerTerminologiesModuleLogic()
bool GetNthTypeModifierInTerminologyType(std::string terminologyName, vtkSlicerTerminologyCategory *category, vtkSlicerTerminologyType *type, int typeModifierIndex, vtkSlicerTerminologyType *typeModifier)
void SetMRMLSceneInternal(vtkMRMLScene *newScene) override
static const char * GetNameAutoGeneratedAttributeName()
Node attribute name for name auto generated.
std::string LoadAnatomicContextFromFile(std::string filePath)
bool GetTypeInTerminologyCategory(std::string terminologyName, CodeIdentifier categoryId, CodeIdentifier typeId, vtkSlicerTerminologyType *typeObject)
bool LoadContextFromFile(std::string filePath)
static std::string SerializeTerminologyEntry(std::string terminologyContextName, std::string categoryValue, std::string categorySchemeDesignator, std::string categoryMeaning, std::string typeValue, std::string typeSchemeDesignator, std::string typeMeaning, std::string modifierValue, std::string modifierSchemeDesignator, std::string modifierMeaning, std::string anatomicContextName, std::string regionValue, std::string regionSchemeDesignator, std::string regionMeaning, std::string regionModifierValue, std::string regionModifierSchemeDesignator, std::string regionModifierMeaning)
bool GetRegionsInAnatomicContext(std::string anatomicContextName, std::vector< CodeIdentifier > ®ions)
bool LoadTerminologyFromSegmentDescriptorFile(std::string contextName, std::string filePath)
bool GetRegionModifierInAnatomicRegion(std::string anatomicContextName, CodeIdentifier regionId, CodeIdentifier modifierId, vtkSlicerTerminologyType *regionModifier)
void LoadDefaultTerminologies()
Load default terminology dictionaries from JSON into.
Terminology property category object.
Terminology property type object.