package cz.cuni.lf1.lge.ThunderSTORM.estimators; import cz.cuni.lf1.lge.ThunderSTORM.estimators.PSF.Molecule; import cz.cuni.lf1.lge.ThunderSTORM.estimators.PSF.PSFModel; public class CentroidFitter implements IOneLocationFitter { @Override public Molecule fit(SubImage img) { double[] coordinates = new double[]{img.detectorX, img.detectorY}; double sum = 0; for(int i = 0; i < img.values.length; i++) { sum += img.values[i]; coordinates[0] += img.values[i] * img.xgrid[i]; coordinates[1] += img.values[i] * img.ygrid[i]; } coordinates[0] = coordinates[0] / sum; coordinates[1] = coordinates[1] / sum; return new Molecule(new PSFModel.Params(new int[]{PSFModel.Params.X, PSFModel.Params.Y}, coordinates, false)); } }