LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

X-Y-Z plotting on intensity chart

Solved!
Go to solution

Hi,

 

The VI I am working on measures intensity at a certain point on a wafer, then moves to a different position and rereads the intensity. So my X and Y values are effectively position, and my Z values would be intensity, Iwould like to plot these somehow indicating the regions on the wafer with the highest intensity, I think the intensity chart or graph would work but I cant figure out how to use it. Is there any way I can go from having 3 1-D arrays (double) of equal size X-Y-Z (I also can get single X-Y-Z points in real time, if that is easier), and plot them on something?

 

Thank you very much,

Nick

0 Kudos
Message 1 of 21
(22,968 Views)

Hi Nick!

 

Is this what you're looking for?

 

https://forums.ni.com/t5/LabVIEW/How-to-implement-wafer-mapping-using-LabVIEW/m-p/2409722#M744912

 

 

 

 

Alex

0 Kudos
Message 2 of 21
(22,957 Views)
Solution
Accepted by topic author MAELV

It would be much easier for us to help you if you could attach a small VI containing three typical 1D arrays. Are x and y integers?

 

An intensity graph takes a 2D array where x and y correspond to the row and column indices. Typically you would initialzie an 2D array of sufficient size, place it in a shift register of a FOR loop, and then use "replace array subset" to substitute the Z value for each known XY pair, autoindexing over the input arrays.

 

 

Message 3 of 21
(22,944 Views)

Note that I used an intensity graph, not an intensity chart. Since you mentioned both in the same sentence, I suspect that you are not sure about the difference.

An intensity graph shows a 2D array and the array indices correspond to x and y. They can be mapped to arbitrary units using the offset an multiplier properties.

An intensity chart maintains an internal buffer of a fixed size, adds new data on the right and discards old data on the left once the buffer overflows. Probably not what you want here.

0 Kudos
Message 4 of 21
(22,928 Views)

Altenbach,

 

All of the arrays are doubles, attached is a portion of the VI I am working on, and the arrays of interest are the ones leavingth efor loop in the bottom right corner

 

Thank you!

 

* funny side note, I am at UCLA too, in Eng IV *

0 Kudos
Message 5 of 21
(22,904 Views)

Based on those descriptions I think I am definitely interested in the intensity graph. Do the X and Y arrays have to be integers? Also is there a way to autoscale the Z-intensity colors?

 

Thank you

0 Kudos
Message 6 of 21
(22,899 Views)

Hi MAELV,

 

Are X and Y meant to be integers?

 

An intensity graph, like any plot-graph, is a visual representation of data. The data for an intensity graph in LabVIEW is a 2D array of double precision floating point values (or doubles for short). For an intensity graph, every value corresponds to a color, where a scale on the graph is used to define colors over a range of values. For example, the numbers 0 through 10 may correspond to shades of blue from black through white, where 0 = black, 1 = very dark blue, 2 = dark blue, ..., 8 = light blue, 9 = very light blue, and 10 = white. Values between those noted (integer and otherwise) would be interpolations between those shades of blue. Now, each value of the 2D array of data gets a 1x1 section of the intensity graph, and it's corresponding color is plotted in that section.

 

http://digital.ni.com/public.nsf/allkb/81A6FB1735D0B1DD862570970077E71D

 

 

 

You can autoscale via "right click on intensity plot frontpanel > z-axis > autoscale" or via a intensity plot specific "property node>z-axis>range>maximum", which I prefer:

2013-05-08_autoscale z.png

 

 

 

 

Alex

Message 7 of 21
(22,878 Views)

@MAELV wrote:

Do the X and Y arrays have to be integers? Also is there a way to autoscale the Z-intensity colors?


The array indices of a 2D array are of course integers, but you can cofigure the axis scaling to anything you want. For example if you set x0 (=offset) as -0.3 and dx=0.1 (=multiplier) and wire an array of lenght 5 in the x dimension, the array elements would reflect x= -0.3, -0.2, -0.1, 0.0, 0.1 and the axis would be labeled accordingly.

 

You can set the scaling factors from the properties dialog or via property nodes.

Message 8 of 21
(22,867 Views)

Hello I saw the subject about the intensity graph and have a question.

I have 2 variables that give each time my while loop has runned gives me each one value.

I have to plot them in an intensity graph the one on the x scale the other on on the y scale.

Next to this I have to show like if the combination of the to point happents more times it has to become more red.

For example if X is 200 and Y is 2 then I want a point at the graph in white if it only happents once but if it happents like 20 times it has to become a red point.

I already tried but I'm only using labview for 2 weeks now and I don't the solution hope maybe someone can help?

Kind regards 

0 Kudos
Message 9 of 21
(21,170 Views)

What you want to do is a 2D histogram.

 

See if this helps you. (just ignore the 3D graph and keep only the intensity graph).

0 Kudos
Message 10 of 21
(21,165 Views)