Intensity graph Z cursor value

Greetings!
I am creating a scanning XY stage program using an intensity graph.  I have a cursor to drag around that moves the XY stepper motor stages; zooms, adjusts Z colors & "contrast", etc.  I have the data showing up fine.
However I can't figure out how to get the Z value (so I don't have to show the big cursor legend).  As you know in the cursor legend as you move a cursor the X Y and Z values are shown.
Can't find a property node for the Z value...  This must be simple 
Thanks!
Steve
Solved!
Go to Solution.

Unless you use custom axis offsets and increments, it is just the value of the 2D array and the indices of the cursor positions, so index array should get what you want. If you use custom axis scaling, you need to apply the linear transform between cursor x, y values and corresponding array indices.
In a better world, the cursor index property should give both indices of the 2D array and the method would directly work also for cases where the axis scaling is custom. This is the reason for my old idea here, so please vote for it!
LabVIEW Champion . Do more with less code and in less time .

Similar Messages

  • Fix axes in intensity graph with cursor

    Hi all,
    I try to use the intensity graph as an xy-input device. The user should be allowed to drag the cursor to enter the value. However, the user can always move the cursor outside the plot area, which causes the corresponding axis to rescale. I want to have strictly fixed upper and lower limits. Is there any way to achieve this? One possible solution would be to reset the min/max values every time the cursor was moved (and coerce the cursor position back into the range). A simpler approach would be appreciated!
    Regards,
    Matthias

    > I try to use the intensity graph as an xy-input device. The user
    > should be allowed to drag the cursor to enter the value. However, the
    > user can always move the cursor outside the plot area, which causes
    > the corresponding axis to rescale. I want to have strictly fixed upper
    > and lower limits. Is there any way to achieve this? One possible
    > solution would be to reset the min/max values every time the cursor
    > was moved (and coerce the cursor position back into the range). A
    > simpler approach would be appreciated!
    >
    You don't say what version of LV you are using, but if it is relatively
    recent, right click on the graph and go to Advanced and uncheck the
    option to have Cursors Scroll Graph. The user can still drag and
    release the cursor und
    er the edge of the graph, but this will not change
    the scales. You can pretty easily filter cursor points that are out of
    range and even write back to the cursor value if you need to. I believe
    that if there is data in the plot and the cursor is set to lock to the
    plot, then it cannot be dragged outside the data either, and that is
    another solution.
    Greg McKaskle

  • Programmatically disabling/enabling cursor in intensity graph

    Hello all,
    I am building a LV interface (LV2011) for a stepper XY stage.  The system "scans" a surface, displaying it on the graph.  I set up to cursors to zoom into a region of interest (ROI).  Pressing a button resizes the scales to the ROI (zooming in on the area).  Sections of code move the XY stage, and read a device.  When done I want to zoom into a ROI and use a THIRD cursor to manually move the XY stage.  I have this working with TWO graphs, based on the "region of interest.vi" I found in the dev zone.  
    What I would like to do is have a boolean toggle controlling ONE GRAPH between setting min/max (cursors 0 and 1) and manual stepper position (cursor 2).  If cursor 2 is visible I want cursors 0 & 1 not showing and visa versa. Can I do this?
    I attached the example - bascially what I did was add a cursor to the 2nd graph, grabbing the XY vales and sending to the stepper controllers. Works great!  I am trying to "combine the two" by resizing the orig graph with a button click (works fine) and then click another button to show the XY stage cursor (and hiding the min/max cursors) - thats the brick wall
    On a seond note - controlling a XY stage using the intensity graph's cursor is really nice; however it would be great if I can control the cursor similar to a slider's "coerce" - has anyone done this?  I assume I have to write a routine in the event that performs some modulo function. Just curious!
    Thanks,
    Steve
    Solved!
    Go to Solution.
    Attachments:
    roi.llb ‏40 KB

    Your exmaple works perfect. Howver I am having probs with Val(sngl) on the XY graph.  On the example you gave, lets say I move the cursor with the mouse - event fires, everyone is happy. If I move the cursor with CODE - nada.  I even read the "Value" of the graph and wrote it to "Val(sngl)" to try to fire the event.  How does one force a trigger on an XY chart when you move a cursor (say cursor idx2) using code?
    Better yet - why when I read the Val and write to Val(sngl) does the event not fire??? I have been searching for a basic XY table with sensor -type project but havent found one yet.  Everyting works great - draginng the cursor moves the XY stage. Now I need to do the auto-scan part  Use code to place the cursor - trigger the even that moves the stage.
    Thanks
    Steve
    Attachments:
    XY_Stage_Rev8.vi ‏53 KB

  • Programmin​g intensity graph cursor to move automatica​lly

    Hi Everyone!
    I want to program the 2 cursors(horizontal and vertical) in the intensity graph(Bright spot.png) to move to the bright spot in the middle of the intensity graph(live video feed from a CCD camera) automatically without dragging the cursor manually to the bright spot, is it possible?
    I've attached part of my block diagram which involves the graph but i'm unable to attach the whole VI because it has some hardware dll in it.(you guys can ignore the formula part of the block diagram, it's not important)
    Attachments:
    Bright spot.png ‏118 KB
    block diagram.png ‏45 KB

    Use "Array Max&Min" to find the peak coordinates, translate them to x and y values, and change your cursor position property node to write and write these values.
    I am actually not sure why you have two cursors. A single cursor with a horizontal and vertical line seems sufficient.
    LabVIEW Champion . Do more with less code and in less time .

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

  • Cursor/Window for Zooming in Intensity Graph

    Does anybody know how to create a non-rectangular window (any shape
    connected by mouse clicks) for zooming (or for data retrieval) if a
    particular area in the graph is of interest in a intensity graph?
    Wouldn't it be really cool if we can select edges in a graph and
    retrieve the information (or data) from the graph?
    The other question of mine is: is there a way that when we're using
    intensity graphs, we can create the custom menu with right mouse button
    click, instead of the standard set of menu items? Any help is greatly
    appreciated. Thanks.
    Sent via Deja.com http://www.deja.com/
    Before you buy.

    [email protected] wrote:
    > Does anybody know how to create a non-rectangular window (any shape
    > connected by mouse clicks) for zooming (or for data retrieval) if a
    > particular area in the graph is of interest in a intensity graph?
    > Wouldn't it be really cool if we can select edges in a graph and
    > retrieve the information (or data) from the graph?
    In my pre-NI days, I had a lot of fun trying to coax image-manipulation and
    -analysis behavior out of LabVIEW intensity graphs. You can do a fair
    amount by making use of cursors and hotkeys and creating pseudo-overlays by
    setting image coordinates to certain colors to create visual cues in
    response to user inputs.
    That being said, I never considered trying to get complex ROI (region of
    interest) info from a user wi
    th an intensity graph, and I'll bet it's a
    pretty tough GUI trick unless you're using IMAQ Vision. If you find
    yourself trying to build features like this into your application, or doing
    a lot of image manipulation in general, you might save yourself time in the
    long run by getting the IMAQ Vision toolkit from NI.
    > The other question of mine is: is there a way that when we're using
    > intensity graphs, we can create the custom menu with right mouse button
    > click, instead of the standard set of menu items? Any help is greatly
    > appreciated. Thanks.
    I'm not aware of a way to suppress the built-in context-sensitive popup
    menus. Sorry!
    Regards,
    John Lum
    National Instruments

  • How can I stop the cursor from being dragged outside the bounds of an intensity graph in LV 7.1?

    Currently, an intensity graph cursor can be dragged outside the graph bounds, and the cursor position continues to change as if the graph had no bounds.

    You can maintain the cursor (and the graph scales...) between defined boundaries programmatically, using an attribute node. Not a very elegant solution, since there is some quivering. See the example.vi.
    Of course, if the user need to modify the scales (zoom in/out...), there will be some additional work ! :-)
    Hope this help.
    Chilly Charly    (aka CC)
             E-List Master - Kudos glutton - Press the yellow button on the left...        
    Attachments:
    Bound_cursor.vi ‏51 KB

  • How to change z-value in a specific region in intensity graph

    Hi all!
    I have an intensity graph and I want to mark a specific region which is dark and then change the z-value(autoscale) so I can see what's in  this region, of course the rest of the intensity graph will be very bright but it's not a problem.  How do I do that?
    Thanks in advance
    Giang

    Easiest method is to change the z scale, unselect autocscale z and rescale the max and min z to the max and minimum region of interest.  This can be easily automated, by using the roi as a subset of the input array and then get max min of the subset and feed it to the z-scale property max min.
    Paul
    Paul Falkenstein
    Coleman Technologies Inc.
    CLA, CPI, AIA-Vision
    Labview 4.0- 2013, RT, Vision, FPGA

  • How to change z-value in specific region in intensity graph

    Hi!
    I have an intensity graph and I want to mark a specific region which is dark and then change the z-value(autoscale) so I can see what in  this region, of course the rest of the intensity graph will be very bright but it's not a problem.  How do I do that?
    Thanks in advance
    Giang

    Assuming you are using LabVIEW, you would be much better off posting to the LabVIEW board since your question has nothing to do with counter/timers.

  • How to read out the scale values of an intensity graph?

    My aim is to read OUT the scale ranges (Max and min values DISPLAYED) of an intensity graph.
    I want to do a scan of an area, display the result in the graph, graphically zoom in on something interesting and then use the zoom coordinates to define the area for the next scan.
    Is that possible, and how?
    If impossible, is there a work-around?
    Solved!
    Go to Solution.

    Use the "XScale.Range" and "YScale.Range" property nodes. 
    www.movimed.com - Custom Imaging Solutions
    Attachments:
    Scale Ranges.vi ‏13 KB

  • Q - How to program the min/max values of an intensity graph

    Hi LabViewers,
    I'm looking for a way to program the min/max Z values of an intensity
    graph for image display properly, but unable to figure it out so far.
    Any idea?
    Chengye

    Right click the graph's control on the block diagram and create a property node.  Right click the node and Change all to Write.  RIght click the node again and select from Properties either the combined ZScale->Range->All elements  -or- you can individually define 2 property nodes for Max and Min (also under Zscale->Range).
    Message Edited by Jonnie 5 on 12-14-2005 03:07 PM
    2006 Ultimate LabVIEW G-eek.

  • I want to select a specific rectangular position from intensity graph to extract the x and y values

    I want to select specfic rectangular postion from an intensity graph to extract the X and Y values at that specific position.
    Is this possible using LabVIEW?
    @nk

    Hi nk,
    Is this possible using LabVIEW?
    Yes.
    I want to select specfic rectangular postion from an intensity graph to extract the X and Y values at that specific position.
    Just select the positions! What's your problem in doing so?
    Btw. when you select positions you already know their XY values!? I don't get the point of your task...
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Cursor values

    hi all
             i am doing one application in that i am using intensity graph . y axis
    401 frequency channel values varies from 25 -75 MHz .so using y axis
    offset and multiplier i plotted the graph.and i added one cursor to
    that plot , when user moves the cursor over the plot i need the channel
    number which varies from 1-401 not the scalled values which varies from
    25- 75 MHz. give some ideas.
    Indrajit
    | [email protected] | [email protected] .

    hi
     here with i attached the vi.
    1) where y axis is having 401 channels of frequencies...varies from 25-75 MHz so i added one more y axis ...
    2) when i am plotting 802 channels instead of 401 channel automatically the another side of y axis want to change the axis values .. because i used the y axis offset is 25 and y axis multipllier is .125. ok but it was not changing ...i used active scale.....property to change the values this was not changing....any one plz help me.......
    Indrajit
    | [email protected] | [email protected] .
    Attachments:
    intensity plot_test_dis.vi ‏32 KB

  • Image processing from .txt file onto an intensity graph

    I am doing a mini project in my class and I was wondering if anyone could help me. It about image processing but I am bit stuck.
    Heres the idea:
    "An image is really nothing more than a 2D array of data. The value of every element in the array corresponds to the brightness of the image at that point.
    In this project you will create a VI which loads a 2D array of data and then displays it on the screen using the Intensity Graph. Three example files (boats.txt, gordon.txt and parrot.txt) are available on the module webpage that you can use. However, you can also use any other black and white image you like, but will need to convert it to a “text image” first. To do this you can use some software called “ImageJ” which is available on the computers and is free to download.
    You can vary the brightness of an image by adding the same value to every element in the array.
    The contrast of an image is adjusted by multiplying every element in the array by the same value. Using numerical controls and simple array mathematics, you should adjust the brightness and contrast of your displayed image.
    Some other ideas that you could try with image manipulation are:
    o Invert an image (change black to white and white to black)"
    First I am having problems putting my picture onto the graph. It is in the write file but the colours are not correct and the image has rotated 90 degrees. I will upload my VI so far when I get back onto my computer.
    Would really appricate the help! Thank you for reading

    Hi charlthedancer,
    Here is an example to get you started.
    Kind regards,
    GajanS
    Attachments:
    Test.vi ‏14 KB

  • Change colors of individual pixels on intensity graph?

    I would like to be able to change the color of a set of individual pixels within an intensity graph, to blue for example, while leaving the color table otherwise as is, for example, gray scale.  The change to blue would be based on location, not on current gray value.  I think I can accomplish this using the mask fx with picture controls, and then convert to intensity graph.  Is there a more direct way?  A good example to demonstrate this capability would be just using a 'mouse down' event on an intensity graph to change the color at the mouse location.  Any thoughts are appreciated.
    Sincerely,
    Don

    Yes, seems to work fine .
    If you have LabVIEW 8.0, there is another possibility. There is a new property that allows drawing any pictures or picture elements on your graph area. Of course you could draw individual pixels, but nothing prevents you from e.g. drawing circles, squares, odd shaped areas, arrows or event text. ... Anything you could do with a plain picture indicator. One example that ships with LabVIEW 8.0 is Envelope.vi, see image.
    Message Edited by altenbach on 06-12-2006 07:31 PM
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    envelope.png ‏32 KB

Maybe you are looking for

  • 2 ipod touches with 1 itunes library??

    My girlfriend and I were wondering how we can set up 2 playlists on itunes with 1 computer. We want to have 1 shared itunes but have different songs on eachother's ipods. Any help with this please?

  • Garageband 10.03

    Just installed a new mini mac upgraded it to Yosemite. I opened GB and cannot select preferences or pretty much anything. It's all greyed out! While I am an advanced DAW user and computer tech, I don't understand why I can't even import a wave file.

  • Tables for Contract data

    Hi all, if you know any tables for contract data(For Contract report), please tell me..... Thanks, kishore.

  • What's the purpose of message type ADRMAS

    Hello, I want to distribute customer master data using message type DEBMAS. I read something about message type ADRMAS. Why should I also use type ADRMAS because DEBMAS already contains address data? Regards, Jan

  • Canon 5d mark III does not recognize the Canon Speedlite 580EX II is connected

    When I choose External Speedlite control/ Flash function settings on the 5D. I get a dialogue that says This menu cannot be displayed. Incompatible flash or flash's power is turned off. Flash is on. If I take a photo, flash fire's. Pictures are ALWAY