Optimization of waveform drawing

Hello, I am trying to build a heart rate monitor that uses Labview to plot the locations of data seprate twelve in real time and I have a problem with the speed at which I can get waveform cards that I use to cool off. They seem to be nervous or jumpy, adding no smooth plots in one sample to the other. I'm drawn to a fairly high rate, but the refresh rate has drastically increased when I stack the plots, resulting in four tables of waveform handling 3 plots of each rather than separate the 12 tables of waveform. This makes me think he has more to do with waveform objects how I rather than the amount of data I'm plotting.

I tried to use reporter Panel updates, but they slow down just my code even more. It also seems that the rest of my code run fast as lightning.

Thank you!

Dear jlawrence6809,

I wonder what is the way that you want to update the lines? (see the attachment, pls)

See you soon

Tags: NI Software

Similar Questions

  • Missing pieces of waveform

    Hello

    I try to display 3 waveforms on a graph using samples of data in real-time. Waveforms draw ok in what concerns the samples being synchronized between them, but the waveforms of the parts are missing. (see attachment page, there is only one form of wave shown for clarity)

    I use the mode of scanning and lack of the sections between points, however when I put it in one of the 2 other modes the missing lines appear and the graph is drawn normally. I really need to use the scan to the Visual mode if you really need to get to this sorting.

    I am in a position the surface of a round tree and take a sample of all degrees, so obviously the list is long of 360 samples and then starts early at 0 degrees. This program runs ok for about 6 months and then the computer is dead, it sort so just on a new machine and this popped up problem...

    Thanks in advance!

    Darren.

    Hello

    It turns out that the problem was caused because I had moved the graph of waveform at the back of the view, as soon as I have it changed to 'Move forward' the problem disappeared.

    See you soon,.

    Darren.

  • How to draw a picture of waveforms?

    The computer on which I build my VI doesn't have internet access, so I can't post my code (so I'm going to use as much detail as possible)

    I take the DAQ measures for four devices that come as (I think) an array of dynamic data type. I split the signal and I have each its own dynamic data type output channel. After an interval of time specified by the user, a timed, while the loop will trigger data acquisition to a measurement and write the data to a file and plot the data. Writing file was easy, but I'm stuck on the appearance of tracing.

    What I have: given that efficiency will not be a problem (average time delay of ~ 15 minutes), I created a dynamic data type shift register. Each iteration of the while loop, I add the data newly acquired an array of dynamic data by using the function BuildArray. I have to be able to take this and it draw in a graph, but each time I try it tells me that the dimensions of the source and the receiver do not match. Also, I need it for each of the four data sets (and put them on the same plot).

    What can I do to get plottable data in my shift register?

    I can't open files .VI, then I would really appreciate if I could get answers in images of diagrams or text. Thank you.

    Hi nc61,

    stay away from DDT (dynamic data type) and you'll be fine. Especially trying to collect data by setting up arrays of DDT (which probably is not what you really want)...

    -Use DAQmxRead to get the data tables or waveform (s). BuildArray use for simple data or functions of wave shape of waveforms to collect data on the move of the registry. It will be easy with these tracking data!

    -There's the finder of the fine example known in the LabVIEW Help menu. Try it...

  • How to draw a box under a trace of waveform?

    Hi all

    I have a graph of waveform of 3000 point showing a series of peaks.  For one of these peaks, for which I know the beginning and end clues, I would draw a box under the waveform on the graph, to highlight its position programmatically.  I don't know if there is a way to do it.

    I figured out how to draw cursors at the beginning and at the end, but finally I do for multiple peaks, and forest of cursors quickly becomes confused.  A simple shaded box works much better.

    Any ideas?

    Many thanks in advance,

    RipRock99

    A great thank you GerdW!

    The code LV was very close to what I wanted to do and is easy to use to determine how to make my code produces the result I wanted.  Basically, I added another form of wave to my chart, using my known indices x to set the values of Y for the areas I wanted to be gray as + infinity and leaving the rest to =-infinity.  I then plotted this second graph on top of the original waveform and the property node to set the fill indicator for - infinite.

    That does not answer the general question of how to draw a filled rectangle with the coordinates on a graph, but this does not fix what I wanted to achieve.

    Bravo and thanks,

    RipRock99

    PS: I'm including a preview of the result and a snapshot of the code used to define the property node programmatically.  I do not understand my code just as it is complicated, and I would also need to add a large set of data.  I hope that the pictures are enough to help someone else referencing this Council!

  • Draw text on the graphic waveform Plot

    I need to understand how to draw text on a waveform graph during execution. This could be a text box, a picture of the text, a label and an additional plot with text... etc.

    Yes, I know a graph would be better than this, but need to use a graphic for my application.

    The graph is updated every second, and new data are added to the history of the ranking. (Which means that the chart bigger every second) So if I draw the text above or behind the table, I'll have to update their location every second. I'll have to use card to XY Coords in an event, (mousedown or mouseup) to place the text (or image of the text) in the field where the user clicked.

    Step 1 to resolve this problem is to find first class, learn how to draw or text on the plot of the graph area.

    Does anyone have ideas of how this could be accomplished, or some ideas of a sneaky work around to make this work?

    Example:

    Unfortunately, graphics (graphic and graphic waveform XY) have support Annotation and slider, exposed programmatically through properties, but the array of waveform is not.

    What you could do is to place an indicator of 2D image that corresponds to the size of the chart above.  Make the value of the image that you draw be transparent and just print the text with transparent backgrounds.  However, I do not know the considerations on the performance of it - many times user interface elements, overlap (portions of even transparent) can cause problems of performance due to forcing redesigns... then again maybe a graph is always be redrawn in any case.

  • Waveform table, draw and dynamics of double data

    Hi all!

    I would get separate plots on a single waveform chart.

    In fact, I'm simulating 4 signals (but in reality, it would be the signal from sensors) and I would get 4 plots.

    In the end, I only get 3 plots and no 4.

    It's very strange... Yet, I chose 'Stack slots' and ' 4 plots illustrated.

    In fact, I see that the last data has been merged with the first.

    How can I fix it?

    Thank you!

    I don't know how you got in this State but try to go into the properties of the graph (diagram of front right click and click Properties in the menu) and on the appearance tab, uncheck "stack slots", uncheck "Show Displays digital (s), press the"OK"button, then go to the properties again and select again these two boxes and press OK.» It should correct the problem.

  • (Multi ^ n) draw graphs of waveform

    I'm using LabView 8.2 and I need a graph of waveforms non-sinusoidales twenty bunk on this one (actually two waveforms taken ten times each, so - what counts, but no, I can't just average to them).  With the help of table build to make a standard multiplot with Express waveform graph does not, however, apparently because the VI express can handle only two waveforms at the same time.

    Suggestions?

    Hi DJDDA,

    right click on "table of generation" before the chart and select "concatenate entries.

  • Draw a waveform of a string

    Hi everyone, I have to draw a waverform of a string (like this: + 1.328546E-13A,-003.1000,+6.898991E-14A,-003.0000,+4.529815E-14A,-002.9000,...) and then save the data in a file.txt.

    The second value(-003.1000,-003.0000,-002.9000...) must be the first one(+1.328546E-13A,+6.898991E-14A,...) the y-axis and the x-axis.

    The chain just a picoammeter and I'm using a serial connection.

    I work with labview to 2012.

    Could someone help me?

    Thank you for the help

    Here is my solution maybe someone could it need

  • Need to draw a few lines on the waveform plot and arrow

    any suggestion, thank you.

    If you want to draw you can draw pictures by using one of the images of the plot. There are three: front, middle and back. Look around, as many examples exist on how to do this, including a couple that ship with LabVIEW. Help-> find example.

  • Video editing in Photoshop - unsatisfied desires (waveform in the drawing tour - mitigation, ease-out - audio)

    Hello, I edit videos in Photoshop CC (available first, but no option, see below). I edit screencasts in numbers almost industrial, and while in the aspects most Photoshop CC seems more useful than the first my specific needs, there are a few things that I sorely lacking:

    • Audio track should show the waveform
    • Mitigation, ease-out for dynamic expansion or objects in motion (as opposed to the strictly linear change)
    • To show a contour round or square drawn as if by a pencil on paper

    Is - this somehow availabe/feasible in video editing Photoshop CC? I am aware that this wish list is answered by creation, but I use it for other reasons.

    These features mentioned above should be availabe in Photoshop for the creative cloud subscribers who subscribe to the entire suite (not only Photoshop/Lightroom)?

    PS.

    And I'm not going to use first, please accept. In fact, I used Camtasia video editor about 10 months, which was very nice for screencasts and addressed to all my points above. But in Camtasia, upscale footage seemed blurred, while Photoshop pixel replication value creates much better enlargements of dishes GUIs.

    Hi and thanks for joining in.

    We are fundamentally user-volunteers and our staff offering technical and even technical support for Photoshop, but we don't make decisions on what is programmed.

    To make known your wishes, go here: Photoshop community customer family

    Also have you considered first? It's not cloud as Pro, you own it outright. It can have only the features you need.

    Gene

  • I want to draw a waveform where I have a constant slope (defined by me) and new data are plotted on the graph with the slope defined already in the background.

    I want my table to have a constant slope already mapped out before she continues start tracing data in real-time... so that I can compare my new data point to point with the ideal slope that I already have in the background

    Hi raza,.

    as I said: it is not a problem to have two plots on a graph. But you need to use a graphic instead of a chart!

    Like this:

    have a constant ground created before the loop and a variable field created in the loop!

  • Utilities Pro PC - Optimizer Pro

    Hello.

    In the search for the 'Bank' on my HP Pavilion (windows 8) recommended for Apps (for a free program 'type of office'), I seem to have carried over to downloaded a piece of malware called PC Optimizer Pro at the same time.

    I tried to add/remove software n my control panel and also followed some info I found online on the deletion of the registry files however, I'm not 100% convinced that it is all removed, especially since when I did try and delete the software from the control panel I found myself with 4 files namely;

    OptProReminder.exe and OptProCrash.dll OptProCrash_x64.dll OptProCrashSvc.dll

    When I try and delete these it is said that they are currently in use and cannot be deleted.

    Can anyone help please - a 'guide of the fool"appreciated not a computer boff

    Thank you very much

    Amanda

    Hi Amanda,.

    Welcome to the HP Support Forums, I hope you enjoy your experience! To help you get the most out of the Forums of HP, I would like to draw your attention to the Guide of the Forums HP first time here? Learn how to publish and more.

    I saw your post about the problem with PC Optimizer Pro. I found a link to a forum of the third when the user boopme recommend Revo Uninstaller Freeware that worked for the original poster. As the Revo is not software HP that I can't really recommend that and use it at your own risk. It just seems to be the only solution that I can't find where you don't have to download a bunch of questionable software.

    Thank you

  • How to optimize this code?

    Hi all

    The function I want to achieve is very simple. The reading of data from data acquisition, play the sound file if a rising edge is detected and stop playing if a front down is detected.

    Attachment is my code, it works, but if I stop the program and restart it, the program will be somewhat stuck (but), so all I can do is to put an end to the task and to reopen the program. I put two structures case for each channel, I believe that the problem is caused by the second case structure.

    I am a beginner of labview, could someone optimize me this code?

    Thank you!

    First, use the charts to your advantage.  You can do this fairly simple dynamic conversion of the Data Type in a table of waveforms.  Trigger detection can treat an array of waveforms.  You can then process all detections of relaxation in a loop, updated what trigger (and level), that you are looking for dynamically.

  • Waveform WebGraph Interaction

    My goal is to create a graph of waveform with the following criteria.

    1. Click/double click on the chart to draw the cursor at the nearest location.
    2. Draw a rectangle to zoom.
    3. Indicate a way to zoom out.

    With the code below, I can double click to draw the cursor to the closest place and draw a rectangle to zoom.  However, I can't figure out how to zoom out.

    What I am doing wrong?

    (Measurement Studio 8.5 & Visual Studio 2008)

    Imports NationalInstruments
    Imports NationalInstruments.UI
    Imports System.Drawing

    Partial Public Class PlotData
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If not IsPostBack then ' generate initial random signals
    myGraph.PlotY (GenerateData (1000))
    End If
    End Sub

    Protected Sub myGraph_PlotAreaClick (ByVal sender As Object, ByVal e As NationalInstruments.UI.ClickEventArgs) Handles myGraph.PlotAreaClick
    Dim plotX As Double, foot As Double

    InverseMap (myGraph, provable, e.Y, plotX, foot)
    myGraph.Cursors (0). MoveCursor (plotX, foot)

    "To display the click coordinates and plot
    cursor_lbl. Text = "X:" & "Y:" & provable, e.Y & "pX:" & plotX & "pY:" & foot
    End Sub

    Private Shared Function GenerateData(ByVal dataLength As Integer) As Double()

    Sun data (dataLength) As Double
    Dim rnd As New Random()

    For i As Integer = 0 To dataLength - 1
    Data = Tower. NextDouble() * Math.Sin ((i / 3.15))
    Next

    Return data
    End Function

    Private static void InverseMap(ByVal graph As NationalInstruments.UI.WebForms.WaveformGraph, ByVal xClick As Integer, ByVal yClick As Integer, ByRef xPlot As Double, ByRef yPlot As Double)
    Dim ACE Double, Double xMin xMax
    Dim yMin As Double, yMax As Double
    Dim plotLeft As Double, plotRight As Double
    Dim plotTop As Double, plotBottom As Double

    xMin = graphics. XAxes (0). Range.Minimum
    xMax = graphics. XAxes (0). Range.Maximum
    yMin = graphics. YAxes (0). Range.Minimum
    yMax = graphics. YAxes (0). Range.Maximum

    With the chart. PlotAreaBounds
    plotLeft =. Left
    plotRight =. Right
    plotTop =. Back to top
    plotBottom =. Bottom
    Ends with

    xPlot = ((xMax-xMin) * ((xClick-plotLeft) / (plotRight - plotLeft))) + xMin
    yPlot = ((yMax-yMin) * ((plotBottom-yClick) / (plotBottom - plotTop))) + yMin

    End Sub
    End Class


    InteractionMode = "ZoomX, ZoomY, PlotAreaClick" >

    Hi Steven,

    The solution that I can think of is to use a special key (i.e. Control) as well as with a mouse click to zoom out. It will take some work on your part.

    The plot are click event does not provide any information on if there is a press of a key. To do this, you manually from the client-side information on the side go server you had pressed the button control key while you click. This can be done using a HTML hidden field.

    How to pass the CTRL button information from the client to the server?

    (1) adds a hidden field (say with the attributes id and name the value "ControlKeyPressed") inside the form that is rendered by default in the .aspx file.

    (2) at the end of the form, write the key down and key events on the document.

    (3) in the javascript event handlers, when you press the control key, the value of the hidden field as 'Y', in all other cases, the hidden field value is set to 'n'.

    The .aspx code would look like,




    onplotareaclick = "WaveformGraph1_PlotAreaClick" >













    Now, when there is a PlotAreaClick event triggered on the server (here meaning the c# /VB code), the server manages the parameters that the client had sent. You can access the parameters as follows,

    Dim str As String = Context.Request.Params ["ControlKeyPressed"] as string

    Now, your PlotAreaClick handler would look like,

    protected void WaveformGraph1_PlotAreaClick (object sender, e ClickEventArgs)
    {
    If (IsPlotAreaClick())
    {
    //--------------------------------------------------------------------------------------
    Important note:
    You will need to keep a stack to remember the beaches of x / axes there before setting the new ranges.
    Keep the battery in a session variable or a variable application or make the battery a static variable.
    First, push the current x / go to the battery.
    //--------------------------------------------------------------------------------------

    Then, complete the tasks that you intend to do.
    The new range computed value x / there axes.

    WaveformGraph1.XAxes [0]. Range = new range (0, 1); It's your new calculated range.
    WaveformGraph1.YAxes [0]. Range = new range (0, 1); It's your new calculated range.
    }
    on the other
    {
    Pop the stack item and assign the range x / there axes.

    WaveformGraph1.XAxes [0]. Range = new range (0, 10); Here, you use the skip value of battery.
    WaveformGraph1.YAxes [0]. Range = new range (0, 10); Here, you use the skip value of battery.
    }
    }

    Private Boolean IsPlotAreaClick()
    {
    Dim str As String = Context.Request.Params ["ControlKeyPressed"] as string

    If the value of the parameter is 'Y', then it means that the action was a zoom out, not a ground area click.

    If (str == 'Y')
    Returns false;
    otherwise returns true;
    }

    I hope this helps.

  • How to trace datetime against temperature table of waveform

    Hi guys,.

    I try to draw data from my table and to draw a time value date on the x axis and the value of the temperature which resemble 32.5 c

    on the y axis on a cat of waveform. I'm new to studio measure, anyone have an example on how to proceed?

    I have a loop that loop and gets the data from each row (time and temperature) and I want to draw in each loop, I leave,

    If the graph will be a building, and the user can see until I read all the records.

    Hi lil_racoon,

    Thank you for the additional information.  After looking at what you're trying to do, I think that the enclosed code will achieve your goal.  Try to adapt it to the work of your application.

    Thank you

Maybe you are looking for