[Scilab-users] find and locate local maxima

Clément David Clement.David at esi-group.com
Wed Mar 17 10:19:05 CET 2021


Hello all,

I take your question as a way to explain / remind how we validate user contributions into the Scilab source code. Any change to the source code should be pushed to the codereview.scilab.org website (this is a gerrit instant, a git server that help reviewing changes). This help testing on multiple machines/OS/compilers and review the content ; any user can comment and give +1/-1 on a change. After there is no disagreement, we merge it into the Scilab source code.

The “Cannot merge” error is an alert to the reviewer, this commit need to be rebase (refreshed) against the latest source code ; this is not a blocker for the review but rather for a one-click merge 😊.

Regards,

Clément

From: users <users-bounces at lists.scilab.org> On Behalf Of Claus Futtrup
Sent: Tuesday, March 16, 2021 7:40 PM
To: users at lists.scilab.org
Subject: Re: [Scilab-users] find and locate local maxima

Hi Stéphane

It looks very nice and I hope it will be added to Scilab as proposed by your code review. Why does it say in red print "Cannot Merge" ?

/Claus

On 16-03-2021 17:45, Stéphane Mottelet wrote:

Hi

For real life signals you should rather use something like this (Savitsky-Golay filters)

https://codereview.scilab.org/#/c/21499/

S.
Le 16/03/2021 à 17:09, CHEZE David 227480 a écrit :
Hi Clément,

Thank you for your quick reply and solution ! Actually it’s working for simple data but with noisy experimental timeseries, some filtering is required to get perfect regular signal (between the ‘true’ extrema) that could be then managed by the routine. I suppose this is something the Matlab/Octave is handling internally, with some parameters as function’s argument to tune it, maybe it’s not the case .

Regards,

David


De : users <users-bounces at lists.scilab.org><mailto:users-bounces at lists.scilab.org> De la part de Clément David
Envoyé : mardi 16 mars 2021 16:27
À : Users mailing list for Scilab <users at lists.scilab.org><mailto:users at lists.scilab.org>
Objet : Re: [Scilab-users] find and locate local maxima

Hello David,

After reading the Matlab documentation page, it seems pretty simple to implement using Scilab : and $ symbols:

function [pks, locs]=findpeaks(data)
    ii = find(d(1:$-2) < d(2:$-1) & d(2:$-1) >= d(3:$));
    pks = data(ii+2);
    locs = ii + 2;
endfunction

data = [25 8 15 5 6 10 10 3 1 20 7];
plot(data)

[pks,locs] = findpeaks(data);
plot(locs, pks, 'xr');

Note: using oct2py and pims might also be an option for simple cases but these wrappers are complex to use and data need to be copied at language boundaries.

Regards,

Clément

From: users <users-bounces at lists.scilab.org<mailto:users-bounces at lists.scilab.org>> On Behalf Of CHEZE David 227480
Sent: Tuesday, March 16, 2021 2:53 PM
To: Users mailing list for Scilab <users at lists.scilab.org<mailto:users at lists.scilab.org>>
Subject: [Scilab-users] find and locate local maxima

Hi all,

I’m looking for function that could find and locate every local maxima of any discrete time signal (timeseries), similar to Matlab or Octave function findpeaks(), scipy find_peaks(). Is anyone aware if something similar is already available in Scilab ? (I already browsed a little bit and it don’t seem so…)
If not in Scilab macros, any hint to use the Octave or scipy function directly from Scilab?
More globally it seems that Octave Forge could be linked with Python (from oct2py import octave
# Load the Octage-Forge signal package.
octave.eval("pkg load signal")), does someone ever tried to bridge similarly in Scilab ? oct2sci

Kind regards,

David




_______________________________________________

users mailing list

users at lists.scilab.org<mailto:users at lists.scilab.org>

https://antispam.utc.fr/proxy/1/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/lists.scilab.org/mailman/listinfo/users

--

Stéphane Mottelet

Ingénieur de recherche

EA 4297 Transformations Intégrées de la Matière Renouvelable

Département Génie des Procédés Industriels

Sorbonne Universités - Université de Technologie de Compiègne

CS 60319, 60203 Compiègne cedex

Tel : +33(0)344234688

http://www.utc.fr/~mottelet



_______________________________________________

users mailing list

users at lists.scilab.org<mailto:users at lists.scilab.org>

http://lists.scilab.org/mailman/listinfo/users


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20210317/93e30bcf/attachment.htm>


More information about the users mailing list