View Javadoc
1   package com.github.celldynamics.quimp.plugin.protanalysis;
2   
3   import java.awt.event.ActionEvent;
4   import java.io.IOException;
5   import java.nio.file.Paths;
6   
7   import com.github.celldynamics.quimp.QParamsQconf;
8   import com.github.celldynamics.quimp.QuimpException;
9   import com.github.celldynamics.quimp.filesystem.FileExtensions;
10  import com.github.celldynamics.quimp.filesystem.QconfLoader;
11  import com.github.celldynamics.quimp.plugin.qanalysis.STmap;
12  import com.github.celldynamics.quimp.utils.graphics.PolarPlot;
13  
14  /**
15   * Action for generating polar plots for selected point.
16   * 
17   * <p>Read:
18   * <ol>
19   * <li>{@link ProtAnalysisOptions#gradientPoint}
20   * </ol>
21   * 
22   * @author p.baniukiewicz
23   *
24   */
25  @SuppressWarnings("serial")
26  public class ActionPolarPlot extends ProtAnalysisAbstractAction {
27  
28    /**
29     * Action creator.
30     * 
31     * @param name name
32     * @param desc description
33     * @param ui reference to outer class.
34     */
35    public ActionPolarPlot(String name, String desc, ProtAnalysisUi ui) {
36      super(name, desc, ui);
37    }
38  
39    /*
40     * (non-Javadoc)
41     * 
42     * @see
43     * com.github.celldynamics.quimp.plugin.protanalysis.ProtAnalysisAbstractAction#actionPerformed(
44     * java.awt.event.ActionEvent)
45     */
46    @Override
47    public void actionPerformed(ActionEvent e) {
48      QconfLoader qconfLoader = ui.getModel().getQconfLoader();
49      STmap[] stMap = ((QParamsQconf) qconfLoader.getQp()).getLoadedDataContainer().getQState();
50      int h = 0;
51      for (STmap mapCell : stMap) {
52        try {
53          PolarPlotcs/quimp/utils/graphics/PolarPlot.html#PolarPlot">PolarPlot pp = new PolarPlot(mapCell, options.gradientPoint);
54          pp.labels = true;
55          String fileToSave = Paths.get(qconfLoader.getQp().getPath(),
56                  qconfLoader.getQp().getFileName() + "_" + h + FileExtensions.polarPlotSuffix)
57                  .toString();
58          pp.generatePlot(fileToSave);
59          logger.info("Polar plot saved in " + fileToSave);
60          h++;
61        } catch (IOException ex) {
62          new QuimpException(ex, ui.getModel().getSink()).handleException(null,
63                  "Problem with saving polar plots");
64          break; // break loop
65        }
66      }
67    }
68  
69  }