05-30-2011 08:14 AM
Hi,
I want to make use of custom palettes to display 16bit (or SGL) grayscale images with Vision. Unfortunately, this feature is poorly documented, so I just tried myself and it seems to me that the image display property node "user palette" reads only the first 256 entries of a wired palette array. Also, the built-in-palettes, which are accessible through Vision Utilities -> External Display -> IMAQ GetPalette, have only 256 entries.
So am I right that the false-color-plot for graycale images only accepts palettes of not more than 256 colors? If so, is there a particular reason to limit the dynamic range for the image display? A 16bit image could be ultimately displayed with 65536 colors, allowing a high dynamic range and color distinction for different pixel values...
Am I doing anything wrong or do you know a reason or a "workaround" to bypass this limitation?
06-22-2011 03:11 AM
Hi Alexander,
maybe you want to take a look at the following KB, it explains that you have to create your own 16-bit Lookup Tables for your 16-bit images and shows you how to do that.
Image Display with IMAQ/Vision Part I - Look Up Tables:
http://digital.ni.com/public.nsf/allkb/F64F223FDC2D15DD86256F480064FB26?OpenDocument#Link%203
I hope this helps you along.
Best,
Manuel
06-22-2011 10:34 AM - edited 06-22-2011 10:37 AM
Hi Manuel,
thanks for the reply. I already came along that KB page - however, it does not describe my problem. I'm talking about the IMAQ display indicator (Vision developement kit) to show images within Labview programs. That IMAQ display indicator can be supplied by a user-created palette through a property node to be used to map gray-scale images (U8, U16, I16, SGL) to false-colors. Apparently, this IMAQ display supports only 256-colors-palettes (even for more-than-8bit-images), since any larger palette array, which is supplied, is truncated to the first 256 colors.
In particular, I want to apply palettes of e.g. 2048 colors or so to have much smoother color transitions or the ability to display a higher dynamic range at once, respectively. Most false-color-plots in different programs I've seen so far are limited to 256 individual colors, even for 16bit images, and I don't really see a technical reason for it, especially since the pixels are rendered in RGB eventually, anyway... At least it's not an exclusive Labview shortcoming 😉
I could imagine a "workaround" using an RGB U32 IMAQ image together with a self-made routine to convert 16bit-values to RGB-pixels using a "real" 16bit lookup-table (i.e. up to 65536 individual colors). Since that's a bit of overkill (and would have to include rewriting of the dynamic range scaling routines), I thought it would be at least a suggestion for the future to "natively" allow larger lookup-tables with IMAQ display indicators for 16bit (or SGL) gray-scale images...