Is there a way to deconvolute this peak, without knowing the convoluting peaks?

11 Ansichten (letzte 30 Tage)
Hi folks, I have peaks that look like the attached figure. Is it possible to perform an operation on the data such that the most likely individual gaussian peaks under the graph can be isolated?
I have managed to draw gaussians in the appropriate places, but I would like to make this an automated way to deal with many more peaks. The gaussians I have are being drawn with higher peaks than the original histogram, which I have tackled by multiplying the standard deviation by a fixed number. However, this is a really "janky" solution and I was hoping for a more elegant and reliable one. I was also hoping to make the gaussians look better, bu spreading them out under the original curve more.
Is this possible?
so far, I have:
clc;
clear;
m = (0:255)';
histogramPath = 'F:\Histogram Analysis.xlsx';
data = readtable(histogramPath,"VariableNamingRule","preserve", "Sheet","Percent-Anisotropic");
x = data.(1)(2:end);
[y1, y2] = findpeaks(x, "NPeaks", 4);
p1 = normpdf(m, y2(1), y1(1)*7);
p2 = normpdf(m, y2(2), y1(2)*4);
p3 = normpdf(m, y2(3), y1(3)*4);
p4 = normpdf(m, y2(4), y1(3)*4);
figure;
hold on;
plot(x);
plot(p1);
plot(p2);
plot(p3);
hold off;

Akzeptierte Antwort

Bjorn Gustavsson
Bjorn Gustavsson am 20 Jul. 2022
You might get some part of the way with deconvblind, from the image processing toolbox, so check the help and documentation to that function. You ought to also temper your expectations a bit - you can only get so far with deconvolution and there is no way I'd believe in a separation of 2 peaks under the wide maxima, there will absolutely not be possible for you to convince me of a separation into multiple peaks that narrow from that broad maxima. The peak on the left - sure deconvolve that one clean and nice that should be doable.
HTH
  6 Kommentare
Teshan Rezel
Teshan Rezel am 21 Jul. 2022
@Bjorn Gustavsson thank you! I've tried using the "Fit Multiple Gaussians" but I get the following.
I'm not sure if I'm doing something wrong, but it doesn't seem to take any inputs apart from the in-built gaussian!
Bjorn Gustavsson
Bjorn Gustavsson am 21 Jul. 2022
@Teshan Rezel, either you've forgotten to attach or inline something or my browser is getting too old, because I cannot see anything of what you refer to with "get the following".

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Produkte


Version

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by