[vtkusers] vtkImageActor for 10 bit displays?

Jesús Spí­nola jspinola at gmail.com
Fri Nov 4 09:58:43 EDT 2011


Hi David,

thanks for your detailed answer since it's very helpful.

But there's still something that I don't fully understand; reading
documentation of vtkImageMapToColors it says:

"*The vtkImageMapToColors<http://www.vtk.org/doc/release/5.6/html/a00889.html>filter
will take an input image of any valid scalar type, and map the first
component of the image through a lookup table. The result is an image of
type VTK_UNSIGNED_CHAR.*"

So, even if LUT has 1024 values, the output will be 8 bits (256 values), so
for my understanding, data is cut down on the output so the monitor will
receive only 256 shades of gray. Am I wrong or missing something?

Thanks in advance!

On Fri, Nov 4, 2011 at 2:17 PM, David Gobbi <david.gobbi at gmail.com> wrote:

> On Fri, Nov 4, 2011 at 5:43 AM, Jesús Spí­nola <jspinola at gmail.com> wrote:
> >
> > How can you achieve 24bits with vtkImageActor? I can't see how to setup
> the
> > pipeline.
>
> You can make a 24-bit image by using vtkImageMapToColors to apply a
> lookup table.  The lookup table should contain 1024 entries (instead
> of the usual 256) in order to maintain 10-bit fidelity.
>
> When RGB data is sent to a grayscale monitor (e.g. over a DVI cable or
> equivalent) the monitor displays a gray value equal to the luminance,
> which is usually calculated from RGB according to this classic
> formula:
>
> Y = R*0.30 + G*0.59 + B*0.11
>
> This formula comes from the CCIR 601 digital video standard, it
> compensates for the fact that our eyes are more sensitive to green
> light than to red or blue.  Virtually all software or hardware that
> does RGB to YUV conversion uses this formula or something very
> close (including monitors, JPEG software, MPEG software, etc.)
>
> So, if you want a lookup table for 10-bit greyscale, then you need a
> lookup table that adjusts the RGB in order to provide 1024 different
> values of Y (since Y = luminance = value displayed on a grayscale
> monitor):
>
> R G B -> Y
> 0 0 0 -> 0.000 (exactly 0.00)
> 1 0 0 -> 0.300 (close to 0.25)
> 1 0 2 -> 0.520 (close to 0.50)
> 0 1 2 -> 0.810 (close to 0.75)
> 1 1 1 -> 1.000 (exactly 1.00)
> etc. for all 1024 table values
>
> Do you see what I mean by a 24-bit RGB to 10-bit greyscale conversion?
>  The goal is to make a lookup table that uses RGB values that aren't
> pure gray in order to achieve 10-bits of fidelity in luminance.  Then,
> when a grayscale monitor displays the luminance, it can display a full
> 10 bits of grayscale.
>
>  - David
>



-- 
Jesús Spínola
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20111104/bab74542/attachment.htm>


More information about the vtkusers mailing list