diff --git a/pom.xml b/pom.xml index 9d77153295ced1a88e464d0888acc6985b474c32..c8477fa703d1137465b9862ce8725cf6be13c514 100644 --- a/pom.xml +++ b/pom.xml @@ -7,11 +7,11 @@ <parent> <artifactId>parent-pom-plugin</artifactId> <groupId>org.bioimageanalysis.icy</groupId> - <version>1.0.3</version> + <version>1.0.6</version> </parent> <artifactId>roi-intensity-evolution</artifactId> - <version>2.1.0</version> + <version>2.1.1</version> <packaging>jar</packaging> diff --git a/src/main/java/plugins/nchenouard/roiintensityevolution/ROIAnalysis.java b/src/main/java/plugins/nchenouard/roiintensityevolution/ROIAnalysis.java index 9682b0c8dee1d7e5c3c3ef6bc1e476745289a2a9..994b20cd152a376904a3b45d5cb6e52edda13087 100644 --- a/src/main/java/plugins/nchenouard/roiintensityevolution/ROIAnalysis.java +++ b/src/main/java/plugins/nchenouard/roiintensityevolution/ROIAnalysis.java @@ -40,7 +40,7 @@ public class ROIAnalysis ReentrantLock initLock = new ReentrantLock(); public ROIAnalysis(ROI roi, Sequence sequence, String description, double threshold, boolean overthreshold, - double scaling) + double scaling) throws InterruptedException { try { @@ -87,7 +87,7 @@ public class ROIAnalysis } }; - private void fillSeriesNoLock(double threshold, boolean overthreshold, double areaScale) + private void fillSeriesNoLock(double threshold, boolean overthreshold, double areaScale) throws InterruptedException { for (int c = 0; c < sequence.getSizeC(); c++) { @@ -228,7 +228,7 @@ public class ROIAnalysis } } - public void fillSeries(double threshold, boolean overthreshold, double scale) + public void fillSeries(double threshold, boolean overthreshold, double scale) throws InterruptedException { try { diff --git a/src/main/java/plugins/nchenouard/roiintensityevolution/ROIIntensityEvolution.java b/src/main/java/plugins/nchenouard/roiintensityevolution/ROIIntensityEvolution.java index 198f4bb824c646cddcdca09fba27a1f8282b1aa4..9a294d7d5e3180b0a8e29a821bc8bdbcbcfafef0 100644 --- a/src/main/java/plugins/nchenouard/roiintensityevolution/ROIIntensityEvolution.java +++ b/src/main/java/plugins/nchenouard/roiintensityevolution/ROIIntensityEvolution.java @@ -50,6 +50,7 @@ import icy.gui.frame.IcyFrame; import icy.gui.frame.IcyFrameEvent; import icy.gui.frame.IcyFrameListener; import icy.gui.frame.progress.AnnounceFrame; +import icy.gui.frame.progress.FailedAnnounceFrame; import icy.gui.main.GlobalROIListener; import icy.gui.main.GlobalSequenceListener; import icy.image.IcyBufferedImage; @@ -244,7 +245,7 @@ public class ROIIntensityEvolution extends PluginActionable } public static ArrayList<ROIAnalysis> analyseRoisInSequence(Sequence seq, boolean useRealScales, double threshold, - boolean pixelAboveThreshold) + boolean pixelAboveThreshold) throws InterruptedException { ArrayList<ROI> toFill = seq.getROIs(); ArrayList<ROIAnalysis> analyzed = new ArrayList<ROIAnalysis>(); @@ -913,25 +914,26 @@ public class ROIIntensityEvolution extends PluginActionable seriesToFillCondition.await(); toFill.addAll(seriesToFill); seriesToFill.clear(); + + // fill the series + if (selectedSequence != null) + fillSeries(toFill, selectedSequence); + else + SwingUtilities.invokeLater(ROIIntensityEvolution.this::updateDisplay); } catch (InterruptedException e) { - e.printStackTrace(); + new FailedAnnounceFrame("ROI intensity evolution process interrupted.."); } finally { seriesToFillLock.unlock(); } - // fill the series - if (selectedSequence != null) - fillSeries(toFill, selectedSequence); - else - SwingUtilities.invokeLater(ROIIntensityEvolution.this::updateDisplay); } } } - private void fillSeries(ArrayList<ROI> toFill, Sequence selectedSequence) + void fillSeries(ArrayList<ROI> toFill, Sequence selectedSequence) throws InterruptedException { if (toFill.isEmpty()) return;