package cz.cuni.lf1.lge.ThunderSTORM.results; import cz.cuni.lf1.lge.ThunderSTORM.estimators.PSF.Molecule; import cz.cuni.lf1.lge.ThunderSTORM.estimators.PSF.MoleculeDescriptor; import static cz.cuni.lf1.lge.ThunderSTORM.estimators.PSF.MoleculeDescriptor.LABEL_ID; import static cz.cuni.lf1.lge.ThunderSTORM.estimators.PSF.MoleculeDescriptor.LABEL_FRAME; import static cz.cuni.lf1.lge.ThunderSTORM.estimators.PSF.PSFModel.Params.LABEL_X; import static cz.cuni.lf1.lge.ThunderSTORM.estimators.PSF.PSFModel.Params.LABEL_Y; import static cz.cuni.lf1.lge.ThunderSTORM.estimators.PSF.MoleculeDescriptor.Units; import org.junit.Test; import java.util.ArrayList; import java.util.List; import static org.junit.Assert.assertEquals; public class ResultsGroupingTest { @Test public void testGetMergedMolecules() { System.out.println("getMergedMolecules"); // assertEquals(5, ResultsGrouping.getMergedMolecules(generateTable(), 10.0, 0, 3, 0).size()); // radius = 10nm, off_frames = 0, max_frames = 3 assertEquals(3, ResultsGrouping.getMergedMolecules(generateTable(), 10.0, 2, 0, 0).size()); // radius = 10nm, off_frames = 2, max_frames = 0 assertEquals(2, ResultsGrouping.getMergedMolecules(generateTable(), 50.0, 2, 5, 0).size()); // radius = 10nm, off_frames = 2, max_frames = 5 } private GenericTableModel generateTable() { MoleculeDescriptor molDesc = new MoleculeDescriptor(new String[] {LABEL_ID, LABEL_FRAME, LABEL_X, LABEL_Y}, new Units[] {Units.UNITLESS, Units.UNITLESS, Units.NANOMETER, Units.NANOMETER}); List<Molecule> molecules; molecules = new ArrayList<Molecule>(); molecules.add(new Molecule(molDesc, new double[] { 1, 1, 5.0, 5.0})); molecules.add(new Molecule(molDesc, new double[] { 2, 2, 10.0, 5.0})); molecules.add(new Molecule(molDesc, new double[] { 3, 3, 8.0, 7.0})); molecules.add(new Molecule(molDesc, new double[] { 4, 4, 20.0, 20.0})); molecules.add(new Molecule(molDesc, new double[] { 5, 5, 30.0, 30.0})); molecules.add(new Molecule(molDesc, new double[] { 6, 6, 5.0, 5.0})); molecules.add(new Molecule(molDesc, new double[] { 7, 7, 5.0, 5.0})); molecules.add(new Molecule(molDesc, new double[] { 8, 8, 5.0, 5.0})); molecules.add(new Molecule(molDesc, new double[] { 9, 9, 5.0, 5.0})); molecules.add(new Molecule(molDesc, new double[] {10,10, 5.0, 5.0})); // GenericTableModel model = new GenericTableModel(); for (Molecule mol : molecules) { model.addRow(mol); } return model; } }