1 package com.github.celldynamics.quimp.plugin.protanalysis;
2
3 import java.awt.event.ActionEvent;
4
5 import com.github.celldynamics.quimp.QParamsQconf;
6 import com.github.celldynamics.quimp.filesystem.QconfLoader;
7 import com.github.celldynamics.quimp.geom.MapCoordConverter;
8 import com.github.celldynamics.quimp.plugin.protanalysis.Prot_Analysis.PointHashSet;
9 import com.github.celldynamics.quimp.plugin.qanalysis.STmap;
10
11 import ij.gui.PointRoi;
12 import ij.gui.Roi;
13 import ij.plugin.frame.RoiManager;
14
15
16
17
18
19
20
21 @SuppressWarnings("serial")
22 public class ActionToRoi extends ProtAnalysisAbstractAction {
23
24
25
26
27
28
29
30
31 public ActionToRoi(String name, String desc, ProtAnalysisUi ui) {
32 super(name, desc, ui);
33 }
34
35
36
37
38
39
40
41
42 @Override
43 public void actionPerformed(ActionEvent e) {
44 PointHashSet points = ui.getModel().selected;
45 RoiManager rm = RoiManager.getRoiManager();
46 rm.reset();
47 QconfLoader qconfLoader = ui.getModel().getQconfLoader();
48 STmap[] stMap = ((QParamsQconf) qconfLoader.getQp()).getLoadedDataContainer().getQState();
49 int i = 0;
50 for (PointCoords p : points) {
51 int tmpIndex = MapCoordConverter.findPointIndex(stMap[p.cellNo].getxMap()[p.frame],
52 stMap[p.cellNo].getyMap()[p.frame], p.point.getX(), p.point.getY(), Double.MAX_VALUE);
53 Roi roi = new PointRoi(tmpIndex, (double) p.frame / (stMap[p.cellNo].getT() - 1)
54 * stMap[p.cellNo].getVerticalResolution());
55 roi.setName(ProtAnalysisOptions.roiPrefix + p.cellNo + "_" + i++);
56 rm.addRoi(roi);
57 }
58
59 }
60
61 }