Determining Overlap Between Peaks?
vmmr5596
Hi there,
I have a data set that I used MultiPeak Fitting 2 on. I'm interested in determining the amount of overlap present between the resulting peaks (i.e. the area of Peak0 contains x% of Peak1 y% of Peak2, etc.). I know that MPF2 provides the area, for each individual peak, but it would be useful to me to know how much the areas of said peaks intersect.
Does Igor have a built-in feature that determines this?
Any suggestions are welcome.
Best
Nothing built-in or part of MPF2.
The solution to the problem would depend on how you define the area of overlap. I can think of a few ways. Perhaps you could make a picture of what you want to compute and post it?
January 11, 2019 at 03:02 pm - Permalink
Hi John,
Here's how I'm thinking of defining the overlap.
Using Peak3[RED] as a reference, it can be seen that Peak2[GREEN] and Peak1[YELLOW] are overlapping with it. What I'd like to know is how much of Peak3's area overlaps with the area of Peak2 and separately for Peak1.
I suppose what I want is something along the lines of:
Overlap b/n Peaks 3 &1=(Area of Peak3 - Area of Peak 1 present in range of Peak 3)/(Area of Peak3)
Thanks for any and all suggestions!
January 14, 2019 at 03:34 pm - Permalink
The range of a gaussian peak is not defined- the tails are infinite. The tails get smaller, at a rate that allows the integral from -inf to inf to converge. If you are referencing the red and yellow areas, you might ask what is the orange area. You might want two areas- the orange area to the left and right of the point of intersection.
January 14, 2019 at 03:52 pm - Permalink
Is that a XPS/ARPES spectrum? I'm going to be a bit bold here, and having used these techniques is also a bit longer past my present expertise, but are you sure this is a valid approach from a scientific POV?
January 15, 2019 at 02:58 pm - Permalink
In reply to Hi John, Here's how I'm… by vmmr5596
The overlap between two Gaussian peaks is simply the minimum of the two.
Execute from the command line for a rough estimation:
make peak2=50*gauss(x, 100, 30)
duplicate peak2 overlap
overlap=min(peak1, peak2)
Display peak1,peak2, overlap
ModifyGraph mode(overlap)=7, hbFill(overlap)=2
print area(overlap)
6.81566
You can also define an overlap function that takes the Gaussian coefficients as parameters:
Wave w
Variable inX
return min(w[0]*gauss(inX,w[1], w[2]), w[3]*gauss(inX,w[4], w[5]))
End
Then from the command line
print integrate1D(OverlapFunc, -1000,1000,2,0, w_coef) // choose limits wisely
6.83543
I echo Thomas' comment, though, and wonder what significance a determination of 'peak overlap' could have.
January 16, 2019 at 12:59 am - Permalink