Skip to content

Commit 624410b

Browse files
committedMay 22, 2017
minor changes (fixed bug of table reading)
1 parent 8f74da7 commit 624410b

File tree

5 files changed

+20
-20
lines changed

5 files changed

+20
-20
lines changed
 

‎src/main/java/GuiFreeRun.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ public static void runSegmentation(MaarsParameters parameters){
153153
public static void main(String[] args) {
154154
new ImageJ();
155155
String configFileName = "maars_config.xml";
156-
String dir = "/Volumes/Macintosh/curioData/MAARSdata/102/12-06-1";
156+
String dir = "/media/tong/MAARSData/MAARSData/rad21/16-06-2";
157157
MaarsParameters parameters = loadMaarsParameters(configFileName, dir);
158158
parameters.setSavingPath(dir);
159159
//executeAnalysis(fluoAnalysisDialog.getParameters());

‎src/main/java/edu/univ_tlse3/maars/MAARS.java

+16-16
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
import java.util.HashMap;
3030
import java.util.Map;
3131
import java.util.concurrent.*;
32-
import java.util.regex.Pattern;
3332

3433
/**
3534
* Main MAARS program
@@ -116,17 +115,17 @@ static void saveAll(SetOfCells soc, ImagePlus mergedImg, String pathToFluoDir,
116115
}
117116
}
118117

119-
private static void findAbnormalCells(String pathToSegDir,
120-
SetOfCells soc) {
121-
String mitoDir = pathToSegDir + "_MITOSIS";
118+
private static void findAbnormalCells(String mitoDir,
119+
SetOfCells soc,
120+
HashMap map) {
122121
if (FileUtils.exists(mitoDir)) {
123122
PrintWriter out = null;
124123
try {
125124
out = new PrintWriter(mitoDir + File.separator + "abnormalCells.txt");
126125
} catch (FileNotFoundException e) {
127126
IOUtils.printErrorToIJLog(e);
128127
}
129-
HashMap map = FileUtils.readTable(mitoDir+File.separator+"mitosis_time_board.txt");
128+
130129
for (Object cellNb : map.keySet()) {
131130
int cellNbInt = Integer.parseInt(String.valueOf(cellNb));
132131
int anaBOnsetFrame = Integer.valueOf(((String[]) map.get(cellNb))[2]);
@@ -141,7 +140,7 @@ private static void findAbnormalCells(String pathToSegDir,
141140
if (laggingTimePoint > anaBOnsetFrame && laggingTimePoint<lastAnaphaseFrame) {
142141
out.println("Lagging :" + cellNb + "_laggingTimePoint_" + laggingTimePoint + "_anaBonset_" + anaBOnsetFrame);
143142
IJ.log("Lagging :" + cellNb + "_laggingTimePoint_" + laggingTimePoint + "_anaBonset_" + anaBOnsetFrame);
144-
IJ.openImage(pathToSegDir + "_MITOSIS" + File.separator + "croppedImgs"
143+
IJ.openImage(mitoDir + File.separator + "croppedImgs"
145144
+ File.separator + cellNb + "_GFP.tif").show();
146145
}
147146
}
@@ -157,18 +156,22 @@ private static void findAbnormalCells(String pathToSegDir,
157156
}
158157
}
159158

160-
static void analyzeMitosisDynamic(SetOfCells soc, MaarsParameters parameters, String pathToSegDir, Boolean showChromLagging) {
159+
static HashMap getMitoticCellNbs(String mitoDir){
160+
return FileUtils.readTable(mitoDir+File.separator+"mitosis_time_board.txt");
161+
}
162+
163+
static void analyzeMitosisDynamic(SetOfCells soc, MaarsParameters parameters, String pathToSegDir) {
161164
// TODO need to find a place for the metadata, maybe in images
162165
IJ.log("Start python analysis");
166+
String mitoDir = pathToSegDir+ "_MITOSIS";
163167
ArrayList<String> script = PythonPipeline.getPythonScript(pathToSegDir, parameters.getDetectionChForMitosis(),
164168
parameters.getCalibration(), parameters.getMinimumMitosisDuration(),
165169
String.valueOf((Math.round(Double.parseDouble(parameters.getFluoParameter(MaarsParameters.TIME_INTERVAL)) / 1000))));
166-
PythonPipeline.savePythonScript(pathToSegDir + "_MITOSIS" + File.separator, script);
170+
PythonPipeline.savePythonScript(mitoDir + File.separator, script);
167171
IJ.log("Script generated");
168-
PythonPipeline.runPythonScript(pathToSegDir+ "_MITOSIS" + File.separator);
169-
if (showChromLagging) {
170-
MAARS.findAbnormalCells(pathToSegDir, soc);
171-
}
172+
PythonPipeline.runPythonScript(mitoDir + File.separator);
173+
HashMap map = MAARS.getMitoticCellNbs(mitoDir);
174+
MAARS.findAbnormalCells(mitoDir, soc, map);
172175
}
173176

174177

@@ -252,14 +255,12 @@ public void run() {
252255
// if (FileUtils.exists(savingPath + File.separator + BF + "_1" + File.separator + "ROI.zip")) {
253256
if (true) {
254257
String pathToFluoDir = savingPath + File.separator + FLUO + "_1";
255-
// parameters.setSavingPath(pathToFluoDir);
256258
// from Roi initialize a set of cell
257259
soc_.reset();
258260
soc_.loadCells(savingPath + File.separator + BF + "_1");
259261
soc_.setRoiMeasurementIntoCells(ms.getRoiMeasurements());
260262

261263
// ----------------start acquisition and analysis --------//
262-
// FluoAcqSetting fluoAcq = new FluoAcqSetting(parameters);
263264
redirectLog(savingPath);
264265
int frame = 0;
265266
Boolean do_analysis = Boolean.parseBoolean(parameters.getFluoParameter(MaarsParameters.DO_ANALYSIS));
@@ -373,11 +374,10 @@ public void run() {
373374
if (IJ.isWindows()) {
374375
savingPath = FileUtils.convertPathToLinuxType(savingPath + File.separator + BF + "_1");
375376
}
376-
MAARS.analyzeMitosisDynamic(soc_, parameters, savingPath, true);
377+
MAARS.analyzeMitosisDynamic(soc_, parameters, savingPath);
377378
}
378379
ReportingUtils.logMessage("it took " + (double) (System.currentTimeMillis() - startWriting) / 1000
379380
+ " sec for writing results");
380-
mergedImg = null;
381381
}
382382
// RemoteNotification.mailNotify("tongli.bioinfo@gmail.com");
383383
}

‎src/main/java/edu/univ_tlse3/maars/MAARSNoAcq.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ public void run() {
333333
if (IJ.isWindows()) {
334334
pathToSegDir = FileUtils.convertPathToLinuxType(pathToSegDir);
335335
}
336-
MAARS.analyzeMitosisDynamic(soc_, parameters, pathToSegDir, true);
336+
MAARS.analyzeMitosisDynamic(soc_, parameters, pathToSegDir);
337337
}
338338
}
339339
}

‎src/main/java/edu/univ_tlse3/utils/FileUtils.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ public static HashMap<String,String[]> readTable(String path){
180180
String[] splited;
181181
while ((str = in.readLine()) != null) {
182182
splited = str.split("\t");
183-
table.put(splited[0], Arrays.copyOfRange(splited, 1, splited.length-1));
183+
table.put(splited[0], Arrays.copyOfRange(splited, 1, splited.length));
184184
}
185185
in.close();
186186
} catch (IOException e) {

‎src/main/resources/maars_default_config.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<TIME_INTERVAL>20000.</TIME_INTERVAL>
1414
<TIME_LIMIT>30</TIME_LIMIT>
1515
<DO_ANALYSIS>true</DO_ANALYSIS>
16-
<PROJECTED>true</PROJECTED>
16+
<PROJECTED>false</PROJECTED>
1717
</FLUO_ANALYSIS_PARAMETERS>
1818
<GENERAL_ACQUISITION_PARAMETERS>
1919
<CHANNEL_GROUP>Illumination</CHANNEL_GROUP>

0 commit comments

Comments
 (0)
Please sign in to comment.