XY graph cursor position bug

I have reproduced the bug mentioned here:
http://forums.lavag.org/Graph-Cursor-XY-Position-Bug-t1366.html&gopid=40859#entry40859
I've reproduced this bug (?) in Labview 8.5, with an XY graph doing
much the same as Jack. The attached zip file contains a stripped down
version of my program (originally written by my coworker, Andrew
MacDonald). Run "RENA3 Data Viewer.vi" and follow the instructions.
As Jack said, changing Cursor.PosX to Cursor.Index solves the problem.
I did not find this bug mentioned anywhere other than the above link.
Fraser
Attachments:
XY Graph Cursor Bug.zip ‏142 KB

Hi Karla,
Sorry if that wasn't as obvious as I thought! :-)  Hopefully the attached image makes it clear.  On the front panel, 'Cursor Channel' is inputted.  This is directly wired to Histogram.Cursor.PosX.  Immediately following, Histogram.Cursor.PosX is read and wired to the front panel indicator 'Cursor.Cursor Position:Cursor X'.  There is always a difference of 15 or 16 between the two values.  If there was no bug, these two values should be identical!  I can only conclude that Labview is doing something funny...
As I mentioned before, changing Cursor.PosX to Cursor.Index fixes the problem.
A bit of background:  my FWHM function outputs the peak channel, and the cursor is supposed to go through the peak so you can have a visual check that it is analyzing the right peak.  I noticed that the line would never go through the peak; the line would always have an offset.  After wasting a couple of hours, it became clear that I was wiring the correct value into 'Cursor.PosX', but something was going wrong beyond that.
Cheers,
Fraser
Message Edited by fjharris on 01-25-2008 11:34 AM
Message Edited by fjharris on 01-25-2008 11:36 AM
Attachments:
Labview Bug.png ‏27 KB

Similar Messages

  • Mixed Signal Graph: Cursor Position Property for Multi-Plot Cursor

    I'm working 6 waveforms on 3 different plot areas in a mixed signal graph in LV2009.  When I try to pull the Cursor.PosY property from my cursor (in which Watch All Plots is True, and is set to Multi-Plot in the graph properties), it returns the value of only the first plot in the cluster of waveforms fed into the graph.  I've tried changing the active plot, active plot area, nothing changes.  I am able to retrieve each value via the cursor legend, but I cannot pull each of those values into another portion of my program.  Also, I noticed that when setting events in an event structure, any events relating to a cursor drag aren't present as they are in a waveform graph.  My workaround is to create an indicator for the Cursor.PosX property and monitor when that value changes, but I feel there should be an easier way.  Any help is appreciated.
    Thank you in advance!

    Jeanius,
       I am not quite sure why the cursor pos in the Wavegraph reference does not change when you change the active plot, but if you grab a reference to the specific cursor and then change the active plot things you receive the expected behavior.
    Ben J.
    National Instruments
    Applications Engineer
    Attachments:
    MODDEDmixed graph cursor ex.vi ‏41 KB

  • Mixed Signal Graph, Selected Cursors, and Cursor Position Problems

    I'm trying to work around an issue with a single multiplot cursor on a mixed-signal graph (doesn't work right, R&D bug report #100830) by grabbing the selected cursor x-position and updating that position across all four cursors, as seen below:
    However, I'm having two problems. 
    One, the selected cursor is not always the actual selected cursor.  Quite often, especially when selecting and dragging cursors 3 & 4 (indexed 2 & 3), the selected cursor shows up as 0 or 1.
    Two, and the one I'm more concerned about, is the fact that the four cursors X-positions never completely line up.  In every case, whichever cursor is deemed to be "selected", the other three will align to some point (the same for all three) that is offset from the actual value.  Please note that the X-values in my demonstration are identical (1000 points from 0.001 to 1) so I don't see this as being some snap issue where the value is offsetting to the closest available on the other arrays.
    I've attached my scratchpad demo.vi as an illustration. 
    Any help or insight is appreciated.
    Thanks,
    Mike Webster
    Attachments:
    demo.vi ‏47 KB

    I believe I found where the issue resides at least and a workaround.  This is a problem with XY graphs in general when trying to programmatically control the cursor position.  Somehow, the software goes looking for the nearest point instead of the identical point and has some sort of issue with its search algorithm.  Switching from attempting to match position to copying the cursor 'index' completely cleared up the problem I was having.  In the particular application I'm working on, the four graphs have identically spaced data on the X-axis, so this solution should work fine for me.

  • LV7: how to catch 'Value change' event for cursor position in XY graph?

    I try to catch an event when the cursor position of a graph's cursor
    changes. I created a reference for the cursor array and registered a dynamic
    event 'Value change' for it. The event does not fire when the cursor changes
    (either by dragging it with the mouse or by direct entry of a new value in
    the cursor's X or Y fields. In contrast, when I register e.g. the 'Mouse Up'
    event for the cursor array, the event IS detected.
    -Franz

    So this is the same behaviour as that of a regular control which also does
    not fire a 'Value changed' event when it gets updated by e.g. writing to a
    local.
    At least the cursor's behavior is consistent then...
    But unfortunately also the direct user interaction with the cursor's numeric
    field does not fire the event, which is NOT consistent.
    I was trying to catch cursor changes in my event loop and had used a 'Mouse
    Up' event of the graph indicator to look for cursor changes (whose last
    position I had kept in a local or shift reg). In order not to miss a direct
    user interaction in the numeric field I added the dynamic event 'Value
    change' to the same event case, but with no success, it missed the direct
    entry ...
    according to what you say this seems to b
    e a bug then...
    -Franz
    "Greg McKaskle" schrieb im Newsbeitrag
    news:[email protected]..
    > > I try to catch an event when the cursor position of a graph's cursor
    > > changes. I created a reference for the cursor array and registered a
    dynamic
    > > event 'Value change' for it. The event does not fire when the cursor
    changes
    > > (either by dragging it with the mouse or by direct entry of a new value
    in
    > > the cursor's X or Y fields. In contrast, when I register e.g. the 'Mouse
    Up'
    > > event for the cursor array, the event IS detected.
    > >
    >
    > The reason is that value change events fire when user action directly on
    > the control changes its value. They do not fire when other programmatic
    > value changes occur. If you are looking at a value change on the cursor
    > palette, user interaction with the numeric should fire it, but updates
    > due to cursor movement are more like programmatic updates.
    >
    > Additional events will likely be added in future
    releases, and these may
    > make it easier to catch cursor movement events on a graph.
    >
    > Greg McKaskle
    >

  • Photoshop CS4 Snow Leopard Bugs: Cursor Position & Grains

    Currently running OSX Snow Leopard (10.6.1), and just installed the latest Adobe updates this morning (9.22.09).
    There are two bugs in Ps CS4 I've encountered, one minor but aesthetically unpleasant, and the other major and disrupting:
    The first bug occurs at random when Ps is extended to "Full Screen Mode with Menu Ba." As seen in the image at the following link, graininess occurs in Ps's canvas background, and wont disappear until the screen mode is toggled (pressing the "F" key three times): http://img.skitch.com/20090922-tyxk4dfrak4dtf2f4rg7fgyn59.jpg Again, not a major bug, but simply annoying to look at.
    The second, more annoying bug, has to do with the cursor and selection tools. I could not determine when exactly this happens and how it goes away, but a few times throughout the day the selection cursor is a few pixels off. When either the lasso, magic wand, marquee or other similar tools are selected, the actual area from which Ps begins to select is about 10-15 pixels below the cursor position, see image in link for clarification: http://img.skitch.com/20090922-1jyqdtj34xw99ysq4gjxhxx57c.jpg
    I hope this notice gets the bugs fixed. If you're experiencing similar Snow Leopard side-effects and can detect how and when they occur, please let me know. The canvas background pixelation, I can live with...but the cursor selection bug makes my day twice as difficult and slows my workflow down to a snail's pace.

    Not sure about the graininess as I have never seen it but it seems to be the same fix as for the curser being off by 10 pixels. cycle though the screen modes with the F key. this has nothing to do with Snow Leopard as it is present in both Tiger and Leopard as well.
    This bug is only present when you create a new doc in full screen mode. If you are a new convert to Mac from Windows you might want to use the application frame, this will give you the gray background without those two annoyances. You can find the application frame at the bottom of the Window menu. this is a new feature on the Mac version with CS4.

  • Moving xy graph cursor with mouse and programmab​ly controllin​g snap to point

    Hi,
    I have run into a bit of a problem. I am trying to create a program which allows a user to select a location on an XY graph by simply clicking in the vacinity of the plot. Most of it is working, however I find that I can't programmably control the snap to point function reliably.
    I hope this is a clear outline of the problem:
    - The cursor starts in a Free state, so that when the
    user clicks in the plot area, I can set the cursor
    position to the nearest point by setting the
    CursorPosition using the graph's property node.
    - Maybe the user didn't like the chosen location and
    wants to drag the cursor over a bit. Ok, user drags
    the cursor to a new position.
    - Now th
    e cursor position is probably not exactly on
    the plot trace. If, at this point, I set the cursor
    to Snap To Point, the cursor does not snap to the
    nearest point on the graph (relative to its current
    position), but instead to the last place a _mouse_
    action placed it.
    - Immediately after the new location has been set,
    the cursor state has to be reset to free in case I
    need to programmably move the cursor again (I
    can't seem to programmably control the mouse in
    any state but Free)
    How do I go about getting the cursor to snap to the closest point at it's new location? I'm at a loss.
    Any insight you might have would be greatly appreciated.
    Thanks much!
    Tere

    So what is the question about... I have to use XY graph in my program. It is used in Loop while cycle. It shows the statistic of a variable. I am using cursors in this graph to check the actual value of a variable in different period of time. But there are 7 variables and it is extremely hard for user to check each value independently. So I tried to make them moving on the X axis (TIME) together using the property node (cursors reading the position (only X axis, Y axis status lock to plot) of the major cursor and follow it... Everything looks great? But it did not work when I am trying to move the major cursor manually on graph... It works only when I am using the cursor movement buttons... But they work very slowly when there is a lot of data in graph.
    I want to find out is it possible to make seven coursers mouthing together By the X axe and be Locked each at its plot by Y axe manually (Using mouse moving on a graph). Is it possible? If it is than how to do it?

  • XY Graph cursor Error

    Hello
    This error was found, when I started using LabView 8, with my old LabView 6.1 VI's.
    I have encountered a minor error on my Graph display. I noticed my Y-Scale numbers go negative, if I Press and Hold my Graph cursor, while I am moving it.
    I run this same test using New LV 8 XY Graph and numbers do not go negative, but they surely flicker a lot + numbers still change some.
    Have you noticed this before? Is there some new property I need to set up, to make my LabView 6.1 Graph stable? Is this known bug or am I just doing something wrong?
    Here is VI for your testing. My LabView 8 version is 8.0.0.4005.
    Just run it and while moving yellow cursor (press+hold+move), after 1-2 seconds of holding something happens.
    Yours
                                         Kari
    Attachments:
    Cursor Test.vi ‏84 KB

    Hello Karik.
    I experience the exact same problem in the application I'm programming.
    The only solution I have come up with is having the cursors Y-axis
    centered in the visible area of the graph.
    However this is really bad because there is will create a smal "hole"
    in the cursor bar, it looks awfull. I think this is a bug in lv8 since
    in lv7.1 I could tie down the y-axis to like -10000 or something and
    the problem would not appear.
    Hope NI fixes this problem really really soon.
    //Andreas

  • Mcedit: cursor position with tab after upgrade to mc 4.8.5 [SOLVED]

    Hello,
    I upgraded to mc 4.8.5-1 a few days ago. Using mcedit:
    If one (or more) TABs were used in a line the position of the cursor is two chars away (to the right) from where it should be. Simply edit the line and you see what i mean. Never had this effect in former versions.
    If the line includes no tab character the cursor position is ok.
    It seems to be a bug - can someone agree?
    Last edited by LessWire (2012-09-14 23:59:55)

    Bug solved with 4.8.6-1 incoming today - thanks!

  • Qucik Graph Cursor Legend Questions

    Hi all,
    I have a couple of quick questions regarding my graph cursor legend:
    1. Is it possible to move the position of the cursor legend during runtime? I cannot seem to drag it around the graph?
    2. Can I hide/remove the cursor mover? This is not needed and is for this vi as I need to be able to manually drag the cursors only.
    I am accessing the cursor legend during runtime through a right-click and selecting "visable items:.
    Thanks,
    Jack

    Hi please check Using Cursor Legend in this link if it is helpful
    http://zone.ni.com/reference/en-XX/help/371361J-01/lvconcepts/customizing_graphs_and_charts/
    Sorry i don't know exact answer for questions, But did you try property node of Cursor.
    -To access it, right click the graph indicator in Black Diagram and go to create>>Property Node>>Cursor.
    -Lot of options regarding cursor available there, you can make selected property to write or change the parameter. and check this for help on cursor properties
    http://zone.ni.com/reference/en-XX/help/371361J-01/lvprop/cursor_p/
    Thanks
    uday,
    Please Mark the solution as accepted if your problem is solved and help author by clicking on kudoes
    Certified LabVIEW Associate Developer (CLAD) Using LV13

  • Change mouse cursor over graph cursor.

    Is there a way to change the mouse cursor as it moves over graph cursors when using trackmode TrackDragCursor? To indicate that you can position the cursor.

    You could accomplish this with the graph's CursorMouseMove event. For example, create a new project with the NI Measurement Studio AppWizard and follow these steps:
    Add a graph to the dialog. Right-click on the graph in the dialog editor, click "Class Wizard ...", click the Member Variables tab and add a member variable for the graph called m_graph. Click OK.
    Right-click on the graph in the dialog editor and click on "Events ...". Add an event handler for CursorMouseMove called OnCursorMouseMove and add an event handler for PlotAreaMouseMove called OnPlotAreaMouseMove. Click OK.
    Go to the header file for your dialog class and add this to the bottom of the class declaration:
    private:
    bool m_cursorChanged;
    HCURSOR m_defaultCursor;
    HCURSOR m_crossCursor;
    Go to the source file for your dialog class and add this to the end of the
    OnInitDialog method:
    m_graph.TrackMode = CNiGraph::TrackAllEvents;
    m_graph.Cursors.Add();
    m_cursorChanged = false;
    m_defaultCursor = ::LoadCursor(NULL, IDC_ARROW);
    m_crossCursor = ::LoadCursor(NULL, IDC_CROSS);
    Add this to your CursorMouseMove event hander:
    if (!m_cursorChanged)
    :etCursor(m_crossCursor);
    m_cursorChanged = false;
    Add this to your PlotAreaMouseMove event handler:
    if (m_cursorChanged)
    :etCursor(m_defaultCursor);
    m_cursorChanged = true;
    Run the application. You should see that the mouse cursor changes to a cross when you mouse over the cursor.
    Hope this helps.
    - Elton

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

  • Calculate from graph cursor data

    I need to calculate from cursor data in a grpah that has been read from a file and displayed. Specifically, I want to position locked-on-trace cursors and calculate the delta-time or delta-voltage from their positions like one would with a standard scope. Attached is a file of the trace to read, 2 channels, Cursors would be on either ch-1 or 2. Simple read VI attached.
    Attachments:
    Read_and_chart_data.vi ‏31 KB
    s250.txt ‏13 KB

    Here's a very simple example. You just have to use the graph's property node to get the cursor position. If you know the sample rate, you can fine tune it to display actual time.
    Attachments:
    Read_and_chart_data_mod.vi ‏44 KB

  • Bode magnitude graph cursor not following plot

    Hi,
    I was wondering if anyone would be able to shed some light on a problem that I am having regarding an XY graph cursor.
    I have developed a simple VI to determine the characteristics of a low pass filter using a sine wave ramped in frequency and subsequently monitoring the gain of the filter to create a Bode plot.
    Through analysis of the Bode plot I would like to determine the cut-off frequency of the low pass filter under test. I have introduced a cursor into the graph and using a property node I hoped to drive the cursor to the -3dB point in the Y axis and output the cursors corresponding X position thereby determining the cut-off frequency of the filter.
    However the cursor never seems to follow the plot beyond the first step of the loop. It feels as if there is a break in the plot between the 1st and 2nd iteration of the while loop used to ramp the signal generator.
    I've tried to work out why the cursor won't follow the plot to -3dB but so far I am stumped. 
    Any help or advice that you could provide would be greatly appreciated ! I have provided the attached VI for clarity.
    So liberate your minds and give your soul expression. Open up your hearts, I'll sing for you this song. Let the people sing !
    Solved!
    Go to Solution.
    Attachments:
    LPF Auto Test.vi ‏109 KB

    I have corrected your VI.
    First, you needed to put the property node AFTER the while loop, because you need the graph to be done first and then look at the frequency cut off.
    Second, in LV, the property nodes are read from top to bottom. So you need to place the cursor at Y = -3 first, and then read the X position.
    I attached the corrected vi
    Giuliano Franchetto
    Student at the l'Ecole Nationale Supérieure des Mines de Saint-Etienne, cycle ISMIN (FRANCE)
    Attachments:
    LPF Auto Test.vi ‏109 KB

  • Programmatically fire graph cursor move event

    Is it possible to programmatically fire the Graph Cursor Move Event ?  Assigning a value to the Cursor Index or Cursor Position property node does not seem to do it.
    Solved!
    Go to Solution.

    The graph cursor move event contains processing code for data on the graph along with front panel display of those results.  Data is put onto the graph during data acquisition which occurs in another event.  When that data acquisition event finishes I need to cause the processing code to execute once to update the front panel display so its results are shown for the new acquired data.
    I could put the processing code into a different event that fires on say a button value change.  Then the graph cursor move event would fire that button event change by setting its value change property.  The data acquisition event could also fire that button event.

  • Problem when setting cursor position property

    I'm trying to use property nodes to set the cursor position programmatically, following an arrow keypress.  When my actual data file plotted, the position assignment doesn't work properly.  If I clear the data from the graph (right click, clear graph), then the cursor responds properly.  I've attached a zipped file with VI that demonstrates the problem.  Sorry the file is large--I had to include my data file to properly demonstrate the problem.
    Thanks for any advice that help me clear this up,
    Allan
    Solved!
    Go to Solution.
    Attachments:
    My Source Distribution.zip ‏541 KB

    bracker wrote:
    I'm trying to use property nodes to set the cursor position programmatically, following an arrow keypress.  When my actual data file plotted, the position assignment doesn't work properly.  If I clear the data from the graph (right click, clear graph), then the cursor responds properly.  I've attached a zipped file with VI that demonstrates the problem.  Sorry the file is large--I had to include my data file to properly demonstrate the problem.
    Thanks for any advice that help me clear this up,
    Allan
    Include this code in 'Initialize' state.
    I am not allergic to Kudos, in fact I love Kudos.
     Make your LabVIEW experience more CONVENIENT.

Maybe you are looking for