Intensity Plot Scaling
I need to change the scaling on the intensity plot. However, there have been some changes in Labview 6i and now I can't find how to change Xo and dX programmatically through attribute node. Does anyone know how to get Xo and dX to show up? I have been playing around with the X.increment, X.minor.increment, X.start, X.maximum, and X.minimum, but they don't seem to give the results I need.
In LabVIEW 6i, Xo (offset) and delta X (multiplier) for scaling data can be found in a property node under /X scale/Offset and Multiplier/
Hope this helps. /Mikael
Similar Messages
-
Real-Time updating 2D Polar Intensity Plot
Hello,
I am trying to construct a polar intensity plot. There are a lot of different solutions on the board but 3D graph and pixel by pixel plotting won't cut it for the update time I am looking for.
Think 'weather radar'
My current solution is to use replacePixelLine.vi. I place one end of this line in the center of my picture, and sweep the other end around in a circle. My pixel color data is my intensity levels, I switch data sets everytime I move into another angular bin. Its quick enough to update every ~25ms, which is good for me.
However there is a bad side effect in replacePixelLine.vi that makes all of this pretty much useless. When the line must step diagonally, it moves 1 pixel in both x and y directions, instead of making an L by moving in x, then y. This means that at 45 degrees, this vi draws only 71% of the pixels as 0 degrees. On top of this, instead of scaling the pixel color data, it just lops off what it cannot plot.
Therefore I have a strange situation where my data is plotted in a squarish shape and the angular bins don't 'arc' correctly. The bins are just drawn as straight lines, either horizontally or vertically depending which side of the n*45deg lines you are on.
Is it possible to change internal workings of replacePixelLine?Hi pschmal,
replacePixelLine.vi is not a VI that is shipped with the Vision Development Module. I assume you are using the IMAQ Get Pixel Line and IMAQ Set Pixel Line within a subVI that is named replacePixelLine.vi. Is this true?
Is it possible for you to post a bit of sample code that demonstrates what you are having problems with. It is easier to diagnose and come up with possible workarounds that way. Thanks!
Kristen H. -
How do you update an intensity plot one element at a time?
I would like to use an intensity plot (or other control) to plot data collected from A/D channels. How do you get the Intensity plot to update one element at a time vs. row by row? Tips and suggestions greatly appreciated!
> I would like to use an intensity plot (or other control) to plot data
> collected from A/D channels. How do you get the Intensity plot to
> update one element at a time vs. row by row? Tips and suggestions
> greatly appreciated!
>
You will need to use the intensity graph and keep the buffer yourself.
Init the data with background values and start filling then in using
Replace Array subset. Presumably you are in a loop. Recirculate the
data in a shift register adding new data each iteration and plotting the
array to the intensity graph.
Once you get to the horizontal edge, you need to decide if you split the
data to get rid of the first row and append a new background row to the
end making a strip chart, or do you clear the array and start over from
the initial edge again making a scope chart, or do you mod the index
with the buffer size and erase a row at a time in advance making a sweep
chart.
To update the scales, you don't have to change the data. Just write to
the Offset property each time you scroll and it will relabel the data
with 0 mapping to the offset value.
Greg McKaskle -
Intensity plot and MSnode-win​dow communicat​ion
Two questions:
1) Is there an intensity plot function that can be called from the mathscript window to display 2D arrays (such as a grayscale image), similar to the matlab function "image" or "imagesc"? The only options I saw were to display a 2D array on a 3D plot. Yes, I know the intensity plot is available in the variable display window, but I would really prefer a command-line option.
2) When I wire a variable to a matlab script node and run the VI, that variable becomes available in the matlab command-line window. I find this very convenient. Is it possible to do this (or something like this) with the mathscript node and window? I know I can communicate between the node and window with globals, but I have to go through the trouble of defining globals, and this only works if I create a project for my VI, which is just far too much overhead.
thanks.Hello,
In response to your first question, we currently do not have such a function. However, such functionality is on the roadmap for a future release. As for the second question, each MathScript node is currently sandboxed -- that is, it has its own variable space. This was done so that there is no variable collision between different MathScript nodes. We will be improving the interaction between the MathScript node and the MathScript Window in the future and your suggestion is one idea we are considering. It would most likely be an option on the node and not enabled by default to prevent any variable collisions.
You do not need to create a project in order to use globals to share data between the MathScript node and the MathScript Window. However, the MathScript node and the MathScript Window need to be in the same application instance. Thus, if you are already using projects, make sure you launch the MathScript Window from the same project in which your VI is located. If you are using the default application context (no projects open), then you should be able to share a variable "a" between a MathScript node and the MathScript Window by typing in each:
global a
Grant M.
Staff Software Engineer | LabVIEW Math & Signal Processing | National Instruments -
How to make a 2d intensity plot?
I'm trying to make an intensity plot as a function of x and y positions.... I have a scanning stage that gives me the positions and I am measuring the intensities at those locations... I have put this on a 3d plot and it comes out nice, however, I need it on an intensity plot with multiple colors.... when trying to do this, I get time on one axis... I was wondering how I could change the axis to x and y for the intensity plot... thanks
Have you tried a set up like this
but instead of random numbers you put in your 2d data
- there is always an easy way, but it is always the hardest to find
Attachments:
Intensityplot.vi 14 KB -
Scale x and y axis in intensity plot
Hi All,
I need to plot a 2D array in intensity plot. But I need to change the displayed x and y axis in a different scale (i.e., they are actual single 1D arrays) instead of the index numbers of my 2D array. Any solution to this? Thanks.Hi,
right click the plot, and select property node. For each axis, use the property X scale >> Offset and Multiplier. This will start the scale at Offset (instead of 0), and put a distance between the points of Multiplier (instead of 1).
Let me know if this doesn't work for you.
Joel -
Hi everybody out there.
My licensed Version of LV is 7.1 for windows XP.
I have a big matrix:
first line: wavelenghth (380, 400, 420, ...)
first column: time (a nonlinear scale, e.g. 0,1,2,3,4,50,100,500,1000)
all the other "cells" contain my (relative) intensity signal:
0.01, 0.02, 0.00
0.03, NaN, -0.1
I cut the first row and column and generate an intensity plot.
That looks quite OK.
But what I want to do is the following:
1) How can I create ticks on the axis with my real value (and not the
matrix index)? (I'd like to use the vectors which is left from the
matrix cropping)
2) I need a interactive "tool" to read a cursor, which is placed by user
in this plot (with the intensity plot it is not possible).
=> in other word:
LV creates a nice plot with a axis including the ticks and the user can
put a cross (cursor) in the plot and LV returns the wavelength and the time
Is this possible?
I'm new here, I hope the questions are not off topic.
Thanks a lot,
Thilo KunzIntensity graps require the spacing in x and y to be uniform so labeling the axis ticks will not be trivial. Maybe you can substitute the axis of a hidden slide and set it to "text labels".
The cursor problem is much easier. Just read the cursor index and then index into your array of time values and display it. (Same for the Y axis, except you would need to use cursor position, because cursor index is not available here).
Another possibility would be a picture indicator to make your graph. Here you have full control over any axis labels you want to place. This will require some work, though.
LabVIEW Champion . Do more with less code and in less time . -
hi
i have one data file and i want to plot that data in intensity plot
the data which i have atteched here are looking same as in photo which i have atteched
so i want to plot that data and should match with photo
thanks
Solved!
Go to Solution.
Attachments:
a55.xls 16 KB
intensity.JPG 31 KBHi kabariya,
when you need the same result as in your JPG you should use the very same data. Or you should atleast know more about your existing dataset...
- Your "XLS" file is a simple text file. Don't rename it without a good reason!
- The file contains two columns of data, but they don't seem similar to your JPG...
Best regards,
GerdW
CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
Kudos are welcome -
Has anybody got any idea how I might re-create this Matlab plot in LabVIEW without spending days developing a 2D picture solution to the problem, which although would be most fun is unlikely to be received particularly well by the project manager!
It's fundamentally a circular intensity plots which probably has a particular name which unfortunately I don't know, and the only person who might know is off sick today.
Any thoughts greatfully received.
Thanks,
David
David Clark
CLA | CTA
CLA Design Ltd
Hampshire, England
Solved!
Go to Solution.Here's a quick draft (LV2010). Of course it needs a bit more work.
You would just use a few more image tools to add the straight lines and the text to the image part.
LabVIEW Champion . Do more with less code and in less time .
Attachments:
radar.png 30 KB
Radar.vi 16 KB -
How to choose color marker in intensity plot
Hi There,
I am trying to plot my 2D data file in intensity plot. I want to that color plot should be like Red as maximum value while Green as minimum and 0 value should be yellow. I looked at this example http://digital.ni.com/public.nsf/allkb/1ADFF221E27F5B5886256E6F007C7B58?OpenDocument , but in this example they are deciding marker beforehand. In my file i want to choose marker based on maxima and minima value.
Thanks
Yogesh
Solved!
Go to Solution.Here's a simple example. I did not change anything execpt to show the z-scale markers with 1 decimal digit (default is zero). This is just cosmetic.
Message Edited by altenbach on 05-31-2009 12:50 PM
LabVIEW Champion . Do more with less code and in less time .
Attachments:
SetZMarkers.png 52 KB -
2 x axis scale parallely intensity plot
hi everybody ,
i need to plot a intensity graph which contains 2 x -axis. upper one and lower one it is possible.
Indrajit
| [email protected] | [email protected] .hi kelvin
thanks for your information . but is not working, can you do one thing you just send me a vi which is having a intensity graph with 2 x axis...................otherwise send me the image how i want to do it.plz
waiting for ur reply
Indrajit
| [email protected] | [email protected] . -
A kind of intensity plot.
I am completely new to LabVIEW. I would like to read in a tab-delimited txt file with about 80 columns and 560 rows of data. When a particular piece of data is above a certain "limit," I'd like to plot a '+' sign on a cartesian plane. When the data is below another "limit," I'd like to plot a '-' sign. When the data falls in between the two limits, I'd like nothing to appear on the cartesian plane.
I think I can handle opening the text file, but how should I read in the data. Then, how do I use the 'draw text at point' tool when the value is outside certain limits? Again, I have no experience with LabVIEW in terms of arrays and things. Any ideas on a path forward, where I should start, and how to do what I'm trying to do?
The txt files contain thickness data across a sheet of product. The product has 560 data points across(X-axis) and 80 sets of data from top to bottom(Y-axis).
ThanksHi CrAyZ,
Here's a very simple example of how to accomplish what you asked. I used the "Read From Spreadsheet File.vi" - like Steven suggested - and wrote to a picture-control since you mentioned "draw text at point."
Hope it helps!
"Inside every large program is a small program struggling to get out." (attributed to Tony Hoare)
Attachments:
example2.vi 26 KB
plot.vi 44 KB -
Hi,
Can somone tell me if it is possible to make intensity plots real time.
I am currently
filling a 256 by 256 array one row at a time with data from a counter. I
would like to
plot each row as it comes out without replotting any old rows nor any new
rows of the
array currently empty of data. Using the command PlotIntensity forces me
to replot
the entire 256 by 256 array each time which tremendously slows down the program.
If anyone can help this would be much appreciated
thanks
ken> Can somone tell me if it is possible to make intensity plots real time.
I solved this problem rather nicely by using a canvas and the CanvasScroll
function. You can draw line or blocks of color (after having scaled them
properly, but that is easy) on the right side and then scroll to the left by
the same amount of pixel.
Guillaume Dargaud
CNR/IFA
http://sung3.ifsi.rm.cnr.it/~dargaud/Hack/LabWindows.html
http://sung3.ifsi.rm.cnr.it/~domec/
http://sung3.ifsi.rm.cnr.it/~chooyu/
1. When computing, whatever happens, behave as though you meant it to
happen.
2. When you get to the point where you really understand your computer, it's
probably obsolete.
3. The first place to look for information is in the section of the manual
where you least expect to find
it.
4. When the going gets tough, upgrade.
5. For every action, there is an equal and opposite malfunction.
6. To err is human... to blame your computer for your mistakes is even more
human, it is downright natural.
7. He who laughs last probably made a back-up.
8. If at first you do not succeed, blame your computer.
9. A complex system that does not work is invariably found to have evolved
from a simpler system that worked just fine.
10. The number one cause of computer problems is computer solutions.
11. A computer program will always do what you tell it to do, but rarely
what you want to do.
- Murphy's Laws of Computing. -
Maximum matrix size for surface plot?
Morning,
I've streamed data from an experiment to TDMS, and would like to display it in DIAdem. I have M channels of N data points and would like to display them in a surface plot.
Usually, I'd expect to do the following:
- Build a X axis (Generate Numeric Channel - N points at dX interval)
- Build a Y axis (Generate Numeric Channel - M points at dY interval)
- Build a Z matrix (Convert Matrix from X axis, Y axis and the M channels of N data points)
I can then plot the X Y Z triplets to a surface plot.
Alternatively, I can build the X and Y arrays and plot X Y Z in matrix mode. This has the added benefit of not forcing interpolation, which *always* crashes
Now the kicker. For my dataset, M = 192, N = 290 000 and I'm unable to plot more than the first 20% of the data in X. I suspect that Diadem's limited to displaying 2^16 in surface plots, but no error is returned. Does anyone know if this is the case?
I can decimate my data to fit the limit, but it's never nice to have to throw away data!
(For clarification, the data is a raster scan of a sensor over a surface. I could drop the sampling rate and/or increase the speed over the surface, but that's a secondary concern)
CLDActually, it's the creation of an intensity plot that I'm more interested in, for two reasons. I can split my data into smaller segments and then compare measured data against my CAD model, but it's also handy having the global intensity plot available for human overview. Amusingly, almost any way I try to split the data besides decimating means that the split between datasets will be in some region of interest, which makes it awkward for non programmatic review Meanwhile, the problem with decimation is that I have four channels of data for each of those slices: channels 1 and 2 are analogue signals and averaged to give one plot, channel three is another analogue voltage that is plotted in another, but channel four is a digital waveform with some pretty short pulse widths. Decimate too much and you'll barely see any meaningful data when plotted on an intensity plot for this.
My instinct before starting was that DIAdem would handle the large dataset better than LabVIEW, which it did if I only wanted to plot YT data. However, after changing tack and heading back to LabVIEW I found that it was able to churn through things a bit better.
I'm happy to send an email to describe what I'm doing in a bit more detail, as well as provide some of the resulting plots, as it's a sensitive project. Understandably, even if I could upload the data for someone else to work on, I'm not sure how much use 1.7 Gb of TDMS is to anyone else!
CLD -
Fade colors of intensity graph
Hi everyone,
I've made a program where I read an 2D-array and plot this array in a intensity graph.
I was wondering if the colors in the graph can fade in each other, preferably in vertical position (columns). The idea is that the numeric data becomes visualized like a DNA profile.
I've added a image of the plotted graph.
Thanks.
Solved!
Go to Solution.
Attachments:
Intensity graph plot major.PNG 48 KB
Intensity graph plot minor.PNG 35 KBWithout manipulating the array, no it's not possible. I made an idea on the Idea exchange to fix this, I recommend you vote for it. Anti-Alias or Smooth Intensity Plot
Like the idea says, see this post for workarounds.
Tim Elsey
LabVIEW 2010, 2012
Certified LabVIEW Architect
Maybe you are looking for
-
How to create 2-color Pantone image from jpeg logo
Working in CS3 under XP, I need to convert a jpeg rvb image of a logo into a 2-color pantone image to import it into an Illustrator file. I can isolate the logo's two distinct colors using the select wand and then tried filling the selections with
-
My iphone 4 reboots on its own
Ever since I updated my phone to the IOS 7, my phone reboots at random and until I plug it in, it shows the apple sign. Please help. I'm not eligible for an upgrade yet
-
User Exit IDOC creation - When purchase order gets created
Hi All, The requirement is whenever user creates a Purchase Order in the current SAP system an IDOC needs to get created and be sent to another SAP system where a Sales Order will be created. Can anybody suggest the correct User exit/enhancement at t
-
Hi. I have been trying to use the Mail that the computer has by default but just I can not do it. It opens and accept my emails but eventually refuse to send them over or if it sends them they never arrived. Just I tried again with a photo booth one
-
Strange fonts after updating os-x
after updating to os 10.4.9. safari shows strange fonts (looks like outtaspace) on some websites. not on all websites. also apples mail is displaying these strange things in the adress lines. choosing different fonts (f.e.helvetica) in safaris prefer