Unusual Intensity Plot

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

Similar Messages

  • 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

  • Intensity plot LV 7

    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 Kunz

    Intensity 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 .

  • Intensity plot

    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 KB

    Hi 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

  • 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

  • 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

  • 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.

  • 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).
    Thanks

    Hi 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

  • 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)
    CLD

    Actually, 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 KB

    Without 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

  • Cursor Misalignme​nt in Intensity Graph (LV6.1)

    Howdy.
    I have an Intensity Graph, with a 2D array of data (about 300x300) and a cursor. The cursor is locked to the plot, which for intensity graphs, means that the cursor is drawn at the lower left corner of the pixel that is being addressed.
    Most of the time this works fine. However, sometimes, the cursor is drawn as being located at one pixel, but the values reported for the cursor are in fact a neighbor (usually the one to the right). The zoom level of the graph is such that a given pixel is larger than a screen pixel (about 3-5 times), so I wouldn't think that it was an aliasing problem, but the problem does go away if I zoom in a little further.
    Has anyone else seen this? Does anyone have a fix?

    I don't have a repeatable set of conditions that lead to this problem, so I don't have a demo vi that exhibits it.
    As to unlocking the cursor, I think that in an intensity plot that is more confusing; the location and value reported for a cursor position are shifted half a pixel down and half left with respect to the way the plot is filled in. In other words, say we have a 10x10 plot shown in 100x100 pixel window. Each intensity value is 10 pixels wide. The axis values line up on the boundaries of these pixels. When the cursor is within half a unit (5 pixels) of the crossing point of these axes, that is, near the intersection of boundaries of four adjacent pixels, the value reported is the pixel location and value in the upper right of these four pixels. This means that with an unlocked cursor, I can be positioning it over (visually) the lower left pixel, but selecting the upper right. In fact 3/4 of any given pixel's visual representation is actually going to select some other pixel. So I've locked the cursor to remove that uncertainty; now it is supposed to be always in the lower left corner of the pixel selected.

Maybe you are looking for

  • Is there a way to Hide data from Users in Cubes?

    Hello All, Is there a way that I can easily hide data from users. For instance, in the XYZ cube we have data loaded through the year 2005. Is there a way for me to still keep the data in the cube; however, just hide 2005 so when users go in they do n

  • File Content Conversion in PI 7.1

    Hi I am working on File (Input file is text file) to Proxy scenario where sender sends the file, Please find the sample data, 1st record is header and last one is trailer, and 2nd and 3rd record formats are different, File will have 2nd and 3rd forma

  • How to Install Win Vista -English Version on my Toshiba Satellite L300-2CZ

    Hello ! I am an Indian, I purchased *"Toshiba Satellite L300-2CZ"* in France. I don't know French Language. I am an software guy. One my family friend purchased it in on-line in 2009. It is good configuration but Bad-luck for me is, it contains *Fren

  • Mixed UOM in query

    We are dealing with several base units of measure in our BW queries. As an alternative to conversion to one common unit of measure for all materials in the BW query, is it possible to subtotal the query results according to similar units of measure?

  • PDFs saved in Excel, Opened in Illustrator CS2

    I've had two issues to tackle, but recently figured out a solution for one of them. My other issue regards overprint. I'm working on a 2-color publication. It seems that when i open a PDF saved in Excel, or paste an excel document, into an Illustrato