ENH: Add terminology information to color frame in Editor
In order to expand the semantic meanings of colors in Slicer, add medical terminology support that was originally developed in the Reporting extension. This change adds terminology for the Generic Anatomy Colors color node, shows it in the editor and on mouse over in the Colors module, and allows DICOM Segementation objects to build up new terminologies.
Details: Added terminology files, read them on start up, associate with the generic anatomy colors node. Add accessors to the color logic as well as basic methods to allow creating new terminologies (used by the Reporting extension). Created Python callable utility methods to allow scripted access[1]. Add read only widgets to the Editor, shown if the selected color node has terminology associated with it (using node attributes). Added a test for the terminology functionality to vtkSlicerColorLogicTest (rather than in vtkMRMLColorLogicTest1 since the Colors module logic adds the terminology files). Pass the color logic to the color model so that it can look up terminology information to set the tool tips on the color table entries.
[1] Utility accessor functions:
- GetTerminologyFromLabel takes in the strings defining the color label categorization and the standard term elements and returns the specific term.
- Get the colon concatenated full standard term values via GetSegmentedPropertyCategory, GetSegmentedPropertyType, GetSegmentedPropertyTypeModifier, GetAnatomicRegion, GetAnatomicRegionModifier
Issue #4047