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
- Nassim Tinkicht asked 4 years ago
- last edited 4 years ago
-
Great thank you!!
-
Is there a way to get an answer or a wpf code example doing this?
-
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?
-
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.
-
Hi Andrew, did you have time to check my question ?
- 2 more comments
- You must login to post comments
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
- Andrew Burnett-Thompson answered 4 years ago
-
Thanks for your answer, I updated my description to make it simpler and more clear.
-
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 login to post comments
Please login first to submit.