Presentation on theme: "Quintiles Intelligent Imaging Clear Vision for the Healthcare Industry DICOM Lookup Table Encoding Issues David Clunie I2I2."— Presentation transcript:
Quintiles Intelligent Imaging Clear Vision for the Healthcare Industry DICOM Lookup Table Encoding Issues David Clunie I2I2
LUT Encoding Issues Review LUT encodingReview LUT encoding LUT cascading and linear operationsLUT cascading and linear operations Signed valuesSigned values Bit width of valuesBit width of values Window center/width operationWindow center/width operation –Implicit scaling –Precise definition
LUT Descriptor First value mappedNumber of entriesNumber of bitsFirst value mappedNumber of entriesNumber of bits
LUTs with Linear Transforms ModalityLUT WindowCenter/WidthPresentationLUT PixelData
First value mapped First value mapped may be negativeFirst value mapped may be negative –Value is specified in LUT Descriptor –Index increments sequentially –May wrap around across zero –Constrained by bit width of input values But …But … –Are input values signed or unsigned ? –What is bit width of input values ?
LUT Input Values - Sign ? Are input values signed or unsigned ?Are input values signed or unsigned ? –Modality LUT == Pixel Representation –Same for VOI LUT with no Modality LUT –What about VOI LUT after Modality LUT ? Therefore new questions:Therefore new questions: –are output values of LUT signed ? –are output values of linear ops signed ?
LUT Descriptor VR and Sign Number of entries - always unsignedNumber of entries - always unsigned Number of bits - always unsignedNumber of bits - always unsigned First value mapped - signed or unsignedFirst value mapped - signed or unsigned Implicit VR - only matters internallyImplicit VR - only matters internally Explicit VR - can only be one: US or SSExplicit VR - can only be one: US or SS Dictionary no help US/US or US/SSDictionary no help US/US or US/SS Proposed: always unsigned (and US)Proposed: always unsigned (and US)
LUT Input Values - Width ? What is bit width of input values ?What is bit width of input values ? –Bits Allocated if input is Pixel Data –Bit width of previous LUT (3rd descriptor) –What if follows linear transformation ? –Does it matter ? Wraparound vs. continue countWraparound vs. continue count e.g. 255,256,257 or 255 (== -1),0,1e.g. 255,256,257 or 255 (== -1),0,1 Problem is signed values beyond pixel dataProblem is signed values beyond pixel data
LUT Output Values - Width ? Bit width (== output value range)Bit width (== output value range) –3rd value of LUT descriptor –Normally 8 or 16 bits allocated, i.e. range is from 0 to 2 8 -1 or 2 16 -1 –N.B. For most existing objects including CR one cannot have a 12 bit LUT !@#$ –DX and Sup 33 more flexible
LUT Output Values - Sign ? Not specified in existing DICOMNot specified in existing DICOM Always same as Pixel Representation ?Always same as Pixel Representation ? –What about unsigned CT pixel data -> HU Recommendation is to be always unsignedRecommendation is to be always unsigned
What Does Window Mean ? Not actually definedNot actually defined Common understanding...Common understanding... map values of input selected to full width of display grayscale Linearly or with default gamma or characteristic curve ?Linearly or with default gamma or characteristic curve ?
Usual Meaning of Window Window Center/Width Selects range of values to map DisplaySystem Scaling of selected input values to full grayscale range that display is capable of using monitor chracteristic curve
Window and Presentation LUT There is no output value range for window operationThere is no output value range for window operation Selects range of input values to useSelects range of input values to use Therefore eitherTherefore either –Presentation LUT different for each window –Implicit Scaling i.e. linearly map selected to defined LUT input range
Implicit Scaling Window Center/Width Selects range of values to map PresentationLUT First value mappedNumber of entriesNumber of bits Linear scaling of selected input values to range from first value mapped to first value+number of entries
Precise Meaning of Window What does center mean ?What does center mean ? What does width mean ?What does width mean ? Integer or decimal ? (VR is DS)Integer or decimal ? (VR is DS) Is with odd or even ?Is with odd or even ? What do width of 0 or 1 mean ?What do width of 0 or 1 mean ? Can input range exceed data range ? If so, flatten contrast or clip window ?Can input range exceed data range ? If so, flatten contrast or clip window ?
Proposed Meaning of Window Specify as equationSpecify as equation (C-W/2) <= value <= (C+W/2) Calculation equivalent to floating pointCalculation equivalent to floating point Meaning of width of 0 and 1 equalMeaning of width of 0 and 1 equal Odd width specifies fractional boundsOdd width specifies fractional bounds Exercise:Exercise: –How does one specify identity transform ?
Conclusion LUT encoding is an issue forLUT encoding is an issue for –Existing objects –Softcopy Presentation State Sup. 33 proposes extensive fixesSup. 33 proposes extensive fixes –Precise definitions & extensive examples –Restrictions to unsigned LUT output –Open issue is LUT Descriptor VR –Affect existing image object definitions