From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Different 16bit display mappings in single array

Hello all,

 

I'm trying to display images with different intensities in an IMAQ array and I would like to apply different 16-bit display mappings to the images.

More specifically I'd like to apply different given ranges to image displays in the same array.

 

I've setup a small vi to display the issue I'm having. I generate an array of images with random U16 values. When an image is clicked the image is replaced with a new random image and the display mapping is updated.

What I get is that only the clicked image is replaced with a new image, but the display mapping is updated for all images.

Any ideas on how I can apply a different display mapping to the different images?

 

Any help is appreciated,

 

Regards,

Michiel

0 Kudos
Message 1 of 6
(2,355 Views)

Controls in an array all share the same properties. Any control, including IMAQ image controls.

 

BTW clicking will only work 10 times, and only when clicked within 100 ms from each other. Hope that's just the test?

 

As for a solution... I thing you'll have to either use 10 separate images (for instance managed with an array of references) or manipulate the image data to look like you want (by scaling the values).

0 Kudos
Message 2 of 6
(2,328 Views)

Hey Wiebe,

 

Thanks for the answer, although it is what I was afraid of. Yes, the clicking in not part of the application I'm working on, just as a test.

 

Using separate images is more difficult as its a changing number of images that can't al be displayed at once. But probably its the only realistic way. Manipulation is makes the program very slow as the array is in reality 2 dimensional and can become quite large.

 

Could I display them as separate images in the background somewhere and then get the displayed values?

I guess that would be something like this: https://forums.ni.com/t5/LabVIEW-Idea-Exchange/NI-VISION-IMAQ-Display-get-displayed-image-WYSIWYG/id...

 

Or link the separate displayed images to the non-displayed array. That might work. I'll let you know.

 

Thanks and regards,

Michiel

 

0 Kudos
Message 3 of 6
(2,325 Views)

It depends on what you want.

 

Are these always just one color? Not sure why you would use IMAQ for that. Or is this part of the test?

 

If you want to visualize a 2D array of colored values, a intensity graph or 2D array or color boxes will work a lot better.

0 Kudos
Message 4 of 6
(2,322 Views)

Its a 2d array of 16-bit images acquired with a camera. So normally all pixels have different intensities. The single intensity is just for easy generation of a test array.

0 Kudos
Message 5 of 6
(2,318 Views)

Scaling the values is the only way I can think of then...

 

IMAQ ColorUserLookup, IMAQ ColorBCGLookup or similar should be pretty fast. And after all, when visualized in the controls, similar calculations are performed.

0 Kudos
Message 6 of 6
(2,313 Views)