LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Front panel, SLM, Image

I need to display an image on the front panel (which would act as second monitor). I have a labview program that generates a 600 by 792 matrix and then it is converted to image using IMAQ ArrayToImage. I want to display this image on the front panel (top left). Also, the image will be changing in real time.

 

Thanks.

0 Kudos
Message 1 of 7
(3,764 Views)

What is your question?

Putnam
Certified LabVIEW Developer

Senior Test Engineer North Shore Technology, Inc.
Currently using LV 2012-LabVIEW 2018, RT8.5


LabVIEW Champion



0 Kudos
Message 2 of 7
(3,759 Views)

How do I display the image on the front panel programmatically ?

 

Thanks.

0 Kudos
Message 3 of 7
(3,734 Views)

How do I display the image/ array on the front panel programmatically ?

This front panel will act as a second monitor which will be displayed on a spatial light modulator.

 

Thanks.

0 Kudos
Message 4 of 7
(3,732 Views)

It is still unclear exactly where your problem lies.  Were I to do this, I would launch a separate, free-running VI and position it in the other terminal (LabVIEW has properties and methods to do this) at the appropriate location.  Communication to the new VI would be via queue.  Commands/data can be processed on the free-running VI using either a standard queue-based command processor or a LabVIEW object based command pattern design.  You can send the data to the free-running VI as either an image or the original array.  I would probably do the latter, since it is probably less data.  The image can be displayed using a picture control.

 

If you need help in launching and communicating with free-running VIs, I wrote a series on it awhile back.  The link points to the last item in the series, which has links to the others.  The LabVIEW help contains an example of a command processor (or search these forums).  An example of the LabVIEW object command pattern can be found here.

 

Let us know if you have further questions, since this was a very high level overview.

0 Kudos
Message 5 of 7
(3,722 Views)

Thank you for your response.

I am trying to use a SLM (Please see this link for specifications: https://jp.hamamatsu.com/products/other/1013/X10468/index_en.html) which is like a second monitor for my computer. Input signal of SLM is DVI. My experimental setup is as shown in Pic1. Based on the oscilloscope signal received the computer runs an algorithm and changes the display on SLM. This is a feedback system and the display has to be changed on SLM in real time, i.e, while the experiment is going on.

            At present I’m using two labview programs- Prog1.vi and Prog2.vi. Prog1.vi is same mentioned in this post: http://forums.ni.com/t5/LabVIEW/How-to-control-a-second-monitor-with-labview/m-p/545912?view=by_date.... What Prog1.vi does is that is places the front panel of Prog2.vi (which reads data from oscilloscope and generates an image of size 600 by 792 pixels using some algorithm) between the bounds of monitor 2. In my case it should display the array/ image being generated by Prog2.vi. So how do I display the image in the front panel of Prog2.vi.

 

Best Regards.

Download All
0 Kudos
Message 6 of 7
(3,718 Views)

Read through the series (especially the items on interprocess communication) I linked to above on using multiple free-running VIs.  It includes examples of the major problem you will encounter - communication between the VIs.  Note that one example in the series had a bug - a bug free version is posted further down.

 

I would probably pass the raw oscilloscope data to the display VI and process it there for each data packet.  This should keep your memory usage down.  You have already solved the issue of converting the oscilloscope data to an image.  You can use the IMAQ indicators or a picture control to show the image.

 

Good luck.  Let us know if you have specific issues during your implementation.

0 Kudos
Message 7 of 7
(3,691 Views)