Is there a way to deconvolute this peak, without knowing the convoluting peaks?
10 views (last 30 days)
Show older comments
Teshan Rezel
on 20 Jul 2022
Commented: Bjorn Gustavsson
on 21 Jul 2022
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;
0 Comments
Accepted Answer
Bjorn Gustavsson
on 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 Comments
Bjorn Gustavsson
on 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".
More Answers (0)
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!