1 package com.github.celldynamics.quimp.plugin.protanalysis;
2
3 import java.awt.event.ActionEvent;
4 import java.awt.geom.Point2D;
5 import java.io.FileWriter;
6 import java.io.IOException;
7 import java.io.PrintWriter;
8 import java.nio.file.Path;
9 import java.nio.file.Paths;
10 import java.util.HashMap;
11 import java.util.List;
12 import java.util.Map;
13
14 import com.github.celldynamics.quimp.QParamsQconf;
15 import com.github.celldynamics.quimp.QuimpException;
16 import com.github.celldynamics.quimp.filesystem.QconfLoader;
17 import com.github.celldynamics.quimp.plugin.AbstractPluginOptions;
18 import com.github.celldynamics.quimp.plugin.qanalysis.STmap;
19
20
21
22
23
24
25
26
27
28
29
30
31
32 @SuppressWarnings("serial")
33 public class ActionSaveTracks extends ActionTrackPoints {
34
35
36
37
38
39
40 public ActionSaveTracks(ProtAnalysisUi ui) {
41 super(ui);
42 }
43
44 @Override
45 public void actionPerformed(ActionEvent arg0) {
46 PrintWriter pw;
47 if (options.saveTracks.getValue()) {
48 QconfLoader qconfLoader = ui.getModel().getQconfLoader();
49 STmap[] stMap = ((QParamsQconf) qconfLoader.getQp()).getLoadedDataContainer().getQState();
50 HashMap<Integer, List<Point2D>> tmpSelected = extractPoints(stMap);
51 for (Map.Entry<Integer, List<Point2D>> entry : tmpSelected.entrySet()) {
52 Integer cellNo = entry.getKey();
53 List<Point2D> points = entry.getValue();
54 MaximaFinderquimp/plugin/protanalysis/MaximaFinder.html#MaximaFinder">MaximaFinder mf = new MaximaFinder(ui.getImagePlus().getProcessor());
55 mf.setMaxima(points);
56
57 TrackCollection trackCollection = getTracks(stMap, cellNo, mf);
58 try {
59 Path fileToSave = Paths.get(qconfLoader.getQp().getPath(), "tracks_" + cellNo + ".csv");
60 pw = new PrintWriter(new FileWriter(fileToSave.toFile()));
61 trackCollection.saveTracks(pw);
62 pw.flush();
63 pw.close();
64 logger.info("Saved tracks in " + fileToSave.toString());
65 } catch (IOException e) {
66 new QuimpException(e, ui.getModel().getSink()).handleException(null,
67 "Exception thrown when saving maps");
68 break;
69 }
70 }
71 }
72 }
73
74 }