peak width calculation methods
Mostrar comentarios más antiguos
Hi
I'm calculating peak width using half-prominence method . For the peak in the rectangle is there is a method to make the horizontal line the finds the widths to shift up or make vertical line like this image

? . I tried both methods for peak width detection (half-width, half-prominence ) but it gave me the same results .
Half-prominence
close all
order =9 ;
framelen =15;
lx = 20;
% generate sinal
x = 1:1:1432;
y = (AV)';
y = sgolayfilt(y,order,framelen);
% get derivatives
dy = diff(y);
dx = diff(x);
dy_dx = [0 dy./dx];
findpeaks(y,x,'Annotate','extents','MinPeakProminence',0.006);
% get peaks with width computed by 'findpeaks'
[pks,locs,peakWidth1,p] = findpeaks(y,x,'MinPeakProminence',0.006);


half-height :
order =7 ;
framelen =11;
x=-AV;
lx = 20;
sgf = sgolayfilt(x,order,framelen);
hold on;
sgf= 0.02-sgf;
findpeaks(sgf,'MinPeakProminence',0.004,'WidthReference','halfheight','Annotate','extents');
[pks,locs,widths,proms]=findpeaks(sgf,'MinPeakProminence',0.004,'WidthReference','halfheight');
pks = -pks;
plot(locs,pks,'g*');
text(locs+.02,pks,num2str((1:numel(pks))'));
Respuesta aceptada
Más respuestas (2)
Matlaber
el 14 de En. de 2019
1 voto
I still cannot get the meaning how the width being calculated.
3 comentarios
lakshman s
el 9 de Mayo de 2020
Is there a way to calculate the endpoints of the width?
Matlaber
el 9 de Mayo de 2020
I am asking that too.
Christian
el 23 de Jun. de 2020
Me too...
1 comentario
Greg Dionne
el 27 de Abr. de 2017
looks like you forgot the medfilt1 in the second call to findpeaks.
You may also try using 'WidthReference' 'halfheight' if you're after FWHM values once you've removed the baseline.
load data.csv
close all
% plot default annotated peaks
order =11 ;
framelen =15;
% generate sinal
y = -(data)';
y = sgolayfilt(y,order,framelen);
%plot(x);
findpeaks(y - medfilt1(y,50),'Annotate','extents','MinPeakProminence',0.003);
% get peaks with width computed by 'findpeaks'
[pks,locs,peakWidth1,p] = findpeaks(y - medfilt1(y,50),'MinPeakProminence',0.003);
Categorías
Más información sobre Descriptive Statistics en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


