How to find boundaries to separate peaks in 3D

43 Views Asked by At

Peaks can be viewed as a grid of gaussians (as shown in the 3D plot below), but the centers are not exactly in straight lines. My questions is how to generate boundaries to separate these peaks. Ideally the boundaries are in valleys between peaks (as shown in the top view plot, white patches are 3D gaussians, blue lines are my hand drawn boundaries). The boundaries doesn't have to be linear. If possible, please write code in python or matlab. thanks in advance 3d plot top view

1

There are 1 best solutions below

0
On

It seems to me that you want something similar to how boundaries between atoms are defined in Bader's Atoms in molecules theory: consider the flow along the gradient vector field of the function (the electron density in their case), and divide space into basins of attraction for that flow.

Like Fig. 4(c) here, for example.

Writing code to do that is not completely trivial, though...