[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