Determining Overlap Between Peaks? 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?

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!

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.

The overlap between two Gaussian peaks is simply the minimum of the two.

Execute from the command line for a rough estimation:

make peak1=100*gauss(x, 20, 20)
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:

Function OverlapFunc(w, inX)
Wave w
Variable inX

return min(w*gauss(inX,w, w), w*gauss(inX,w, w))
End

Then from the command line

make /o  w_coef={100,20,20,50,100,30}
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.