Pre loader

How to re-sample waveforms data from DataSeries

Welcome to the SciChart Forums!

  • Please read our Question Asking Guidelines for how to format a good question
  • Some reputation is required to post answers. Get up-voted to avoid the spam filter!
  • We welcome community answers and upvotes. Every Q&A improves SciChart for everyone

WPF Forums | JavaScript Forums | Android Forums | iOS Forums

0
0

Hi,

I display a waveform using Scichart DataSeries (IXyDataSeries), where waveform dots are not evenly spaced.

I want to read back a sample of this waveform (example: last 10 seconds displayed on the screen) from IXyDataSeries.

The goal is to get waveforms dots again into an array, but this time I want them to be evenly spaced (Sample rate between X is the same).

This means propably that new points will be generated/deleted by the IXyDataSeries during the resampling.

Does Scichart provide a way to do that ?

Thanks

Version
5.3.0
  • Andrew Burnett-Thompson
    Great thank you!!
  • Nassim Tinkicht
    Is there a way to get an answer or a wpf code example doing this?
  • Andrew Burnett-Thompson
    I was working on it earlier but got distracted. Also its not 100% clear from your question what you want so I was going to post some generic info about DataSeries APIs … Can you clarify?
  • Nassim Tinkicht
    Andrew, I use IXyDataSeries(double Xtime, double Yvalue) to display my waveform, howerver the time is not evenly spaced (Sample rate can vary between each two Xtimes). Once the waveform displayed, I want to read it again ( let’s assume: the last 10 secondes of my displayed waveform) to get points (double Xtime, double Yvalue) where the data are evenly spaced (Same sample rate) I guess this means that new points will be created, some other will be deleted, to respected the “evenly spaced” condition. Is there a way to do this ? I saw a method IxyDataSeries(double,double).ToPointSeries() that seems to do this job, but I don’t know how to use it.
  • Nassim Tinkicht
    Hi Andrew, did you have time to check my question ?
0
0

Sorry this question is still not clear

If you want to access data in a DataSeries, you can do so with these properties

dataSeries.XValues
dataSeries.YValues // cast to IList<double>

if you want to change data in a DataSeries, you can use these methods

dataSeries.Append(..)
dataSeries.Update(..)
dataSeries.Insert(..)
dataSeries.Remove(..)

If you want to reload a DataSeries with new data, you can do so by calling the overloaded constructor (v6+ only)

var dataSeries = new XyDataSeries<double,double>(double[] xValues, double[] yValues);

If there is something else you need, please specify

Best regards,
Andrew

  • Nassim Tinkicht
    Thanks for your answer, I updated my description to make it simpler and more clear.
  • Andrew Burnett-Thompson
    Hi Nassim, there’s no way to read back the last ten seconds of a waveform on screen and then resample it to an evenly spaced waveform. You can access all the DataSeries values via the XValues, YValues properties. From there you can do any kind of signal processing you like and reload the result back into a dataseries for display.
  • You must to post comments
Showing 1 result
Your Answer

Please first to submit.

Try SciChart Today

Start a trial and discover why we are the choice
of demanding developers worldwide

Start TrialCase Studies