View Javadoc
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   * Action for ROI to/from transfer.
17   * 
18   * @author p.baniukiewicz
19   *
20   */
21  @SuppressWarnings("serial")
22  public class ActionToRoi extends ProtAnalysisAbstractAction {
23  
24    /**
25     * Create action.
26     * 
27     * @param name name
28     * @param desc tooltip
29     * @param ui reference to manager
30     */
31    public ActionToRoi(String name, String desc, ProtAnalysisUi ui) {
32      super(name, desc, ui);
33    }
34  
35    /*
36     * (non-Javadoc)
37     * 
38     * @see
39     * com.github.celldynamics.quimp.plugin.protanalysis.ProtAnalysisAbstractAction#actionPerformed(
40     * java.awt.event.ActionEvent)
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  }