This begs the question of what type of image it is and where you
are getting the "pixel value" from.
HU only applies to single channel (grayscale) CT images (that are not
localizers), and these would never have an ARGB pixel value, at least
not in the "stored pixel values" encoded in DICOM data element
(7FE0,0010).
So, if you do indeed have grayscale CT image, then you have to get
access to those "stored pixel values", and not the values that may
be further down your rendering pipeline (e.g., to display on a color
screen). If you are using some kind of toolkit to extract the DICOM
images and display them, then a "getPixelvalue()" call on the
screen buffer (rendered image) is not going to give you what you
need, since the rescale and window values and a color lookup table
will already have been applied.
Take care when you access the "stored pixel values" that you also
account for negative values (sign extension of < 16 bit values to
the native 16 bit integer (short ?) of your platform), after first
masking our any "high bits" that might contain overlays, and after
detecting and treating any "pixel padding values" specially.
This is non-trivial stuff, and better handled by a DICOM toolkit. Are
you using one, and if so which one, in which case someone can give
an answer specific to that toolkit?
David