Re: [Scilab-users] find and locate local maxima

2021-03-18 Thread Clément David
Hello David,

I merged the change, it is now available on Scilab nightly build and on all CI 
builds after scilab-6.1-windows-64 #4595 
[Jenkins]
 . Feel free to open bugs or reply on this thread if you have comments on this 
new feature.

Thanks,

Clément

From: users  On Behalf Of CHEZE David 227480
Sent: Thursday, March 18, 2021 12:44 PM
To: Users mailing list for Scilab 
Subject: Re: [Scilab-users] find and locate local maxima

Hi all,

I’d be glad obviously to download the whole package to test it and report my 
experience :  I’m not use with the ‘review interface’ is there any way to 
download the whole package or I just retrieve files one by one ?

Thanks,

David



De : users 
mailto:users-boun...@lists.scilab.org>> De la 
part de Stéphane Mottelet
Envoyé : mercredi 17 mars 2021 10:40
À : users@lists.scilab.org
Objet : Re: [Scilab-users] find and locate local maxima


Thanks Clément.

Interested users can readily download the files if they want to test the 
implementation even if it has not been reviewed. Particularly, it has not been 
discussed if we want to stick to the Matlab's implementation and API for this 
particular feature. Comments are welcome.

S.
Le 17/03/2021 à 10:19, Clément David a écrit :
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 
 On 
Behalf Of Claus Futtrup
Sent: Tuesday, March 16, 2021 7:40 PM
To: users@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 
 De la 
part de Clément David
Envoyé : mardi 16 mars 2021 16:27
À : Users mailing list for Scilab 

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 
mailto:users-boun...@lists.scilab.org>> On 
Behalf Of CHEZE David 227480
Sent: Tuesday, March 16, 2021 2:53 PM
To: Users mailing list for Scilab 
mailto:users@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 

Re: [Scilab-users] find and locate local maxima

2021-03-18 Thread CHEZE David 227480
Hi all,

I’d be glad obviously to download the whole package to test it and report my 
experience :  I’m not use with the ‘review interface’ is there any way to 
download the whole package or I just retrieve files one by one ?

Thanks,

David



De : users  De la part de Stéphane Mottelet
Envoyé : mercredi 17 mars 2021 10:40
À : users@lists.scilab.org
Objet : Re: [Scilab-users] find and locate local maxima


Thanks Clément.

Interested users can readily download the files if they want to test the 
implementation even if it has not been reviewed. Particularly, it has not been 
discussed if we want to stick to the Matlab's implementation and API for this 
particular feature. Comments are welcome.

S.
Le 17/03/2021 à 10:19, Clément David a écrit :
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 
 On 
Behalf Of Claus Futtrup
Sent: Tuesday, March 16, 2021 7:40 PM
To: users@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 
 De la 
part de Clément David
Envoyé : mardi 16 mars 2021 16:27
À : Users mailing list for Scilab 

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 
mailto:users-boun...@lists.scilab.org>> On 
Behalf Of CHEZE David 227480
Sent: Tuesday, March 16, 2021 2:53 PM
To: Users mailing list for Scilab 
mailto:users@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@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