The Transfer function is based on the actual underlying data, not on the post-windowed (0-256) values. DicomObjects handles the shading internally, so users simply need to provide the TF values. One thing which might not be immediately clear is that the TF needs to cover the full range of available pixel values before any interpretation based on bit depth, re-scaling or even signed/unsigned are applied. Hence the noticeable 65536 values with the negative values at the very top of the range.
In consideration to the varying rescale slope/intercept, normal TF refactoring values for a typical CT image are as follows:
- 1/0 (unchanged) = 64535 to 65535 and 0 to 1000
- 1/-1024 (unsigned base data) = 0 to 2048
- 0.5/0 (half values) = (63535 to 65535 and 0 to 2000)