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.
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.
05-07-2013 01:01 PM
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
Solved! Go to Solution.
05-07-2013 01:30 PM
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
05-07-2013 02:48 PM - edited 05-07-2013 03:02 PM
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.
05-07-2013 07:22 PM
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.
05-08-2013 11:24 AM
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 *
05-08-2013 11:35 AM
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
05-08-2013 02:09 PM - edited 05-08-2013 02:10 PM
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:
Alex
05-08-2013 04:25 PM
@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.
04-29-2015 03:22 PM
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
04-29-2015 04:13 PM - edited 04-29-2015 04:14 PM
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).