From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, 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: 

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,952 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,941 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,928 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,912 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,888 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,883 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,862 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,851 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,154 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,149 Views)