This page summarize the on-going work related to the integration of units into Slicer.
There are two developments:
1. Application-level definition of units for controlling issues like display and precision for the GUI widgets displaying the values, see wiki page: https://www.slicer.org/wiki/Documentation/Nightly/Developers/Units 2. Volume node level definition of the quantity and units associated with an image volume. Discussion of this development started in this PR thread: https://github.com/Slicer/Slicer/pull/592
The idea is to add code triples (CodeValue, CodingSchemeDesignator, CodeMeaning) to describe QuantityValue and MeasurementUnits attributes defined for each volume.
Codes for units can/should be taken from UCUM. Codes for quantities can be reused from DICOM (to be populated).
To define abbreviations for units, UCUM CodeValue is sufficient in most cases. When the code value is not acceptable (i.e., for Hounsfeld units), a mapping to a suitable abbreviation should be established in Slicer.
Examples: https://github.com/Slicer/Slicer/pull/592#issuecomment-252913866 and also this one https://github.com/QIICR/dcmqi/blob/master/doc/pm-example.json#L9-L12 show how it can be using DICOM concepts.
- Value scaled depending on current unit: https://github.com/vovythevov/Slicer/tree/Units