Identifying minimal number of cluster centroids from XY co-ordinates


I have an image with ~100 points distributed in space, where each point represents the location of a calcium-release event . Events (red points in the below image) are normally arranged in loose clusters, where the centre point of the cluster should represent the location of the underlying calcium-release site .

flika event points

I need an algorithm or image analysis approach to identify these sites. I need to find the minimal number of sites, where no event is more than a defined distance (eg. 6 pixels) from the site. The aim is to associate every event with a site, even if some sites only contain one event.

I have the XY co-ordinates of each event, and I need the output of the algorithm to be the XY co-ordinates of identified sites.

Does anyone have any suggestions? Thanks in advance.

Maybe try a Gaussian mixture model-based approach. You can then choose the number of clusters/sites using the Bayesian information criterion. See the R package mclust.

1 Like