diff --git a/src/main/java/plugins/adufour/roi/ROIMeasures.java b/src/main/java/plugins/adufour/roi/ROIMeasures.java index 5265bf74841366bddf40687aa90d7fa8e1ae8aaa..dc04f6ff881427f48ff34f5115e2ce1c3d431e1f 100644 --- a/src/main/java/plugins/adufour/roi/ROIMeasures.java +++ b/src/main/java/plugins/adufour/roi/ROIMeasures.java @@ -9,8 +9,10 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; +import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.concurrent.Callable; import java.util.concurrent.Future; @@ -654,6 +656,7 @@ public class ROIMeasures extends EzPlug implements ROIBlock, GlobalSequenceListe } Map<ROIDescriptor, Object>[] haralickTextureValues = null; + Set<String> haralickErrors = new HashSet<>(); if (Measures.INTENSITY_TEXTURE_ASM.isSelected() || Measures.INTENSITY_TEXTURE_CONT.isSelected() || Measures.INTENSITY_TEXTURE_ENT.isSelected() || Measures.INTENSITY_TEXTURE_HOMO.isSelected()) { @@ -673,8 +676,14 @@ public class ROIMeasures extends EzPlug implements ROIBlock, GlobalSequenceListe } catch (UnsupportedOperationException ex) { - System.err.println("Could not compute Haralick texture descriptor"); - ex.printStackTrace(); + final String mess = ex.getMessage(); + + // we don't want to spam output with these errors + if (!haralickErrors.contains(mess)) + { + haralickErrors.add(mess); + System.err.println(mess); + } } } }