# Determining Overlap Between Peaks?

vmmr5596

Fri, 01/11/2019 - 12:04 pm

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