diff --git a/src/main/java/org/mastodon/mamut/clustering/ClusterRootNodesController.java b/src/main/java/org/mastodon/mamut/clustering/ClusterRootNodesController.java index a4abe20ed..23f1dd8b2 100644 --- a/src/main/java/org/mastodon/mamut/clustering/ClusterRootNodesController.java +++ b/src/main/java/org/mastodon/mamut/clustering/ClusterRootNodesController.java @@ -128,13 +128,13 @@ private void runClassification() String getParameters() { StringJoiner joiner = new StringJoiner( ", " ); - joiner.add( "Crop criterion: " + cropCriterion.getName() ); + joiner.add( "Crop criterion: " + cropCriterion ); joiner.add( "Crop start: " + cropStart ); joiner.add( "Crop end: " + cropEnd ); joiner.add( "Number of classes: " + numberOfClasses ); joiner.add( "Minimum cell divisions: " + minCellDivisions ); - joiner.add( "Similarity measure: " + similarityMeasure.getName() ); - joiner.add( "Clustering method: " + clusteringMethod.getName() ); + joiner.add( "Similarity measure: " + similarityMeasure ); + joiner.add( "Clustering method: " + clusteringMethod ); joiner.add( "Resulting lineage trees: " + getRoots().size() ); return joiner.toString(); } @@ -244,7 +244,7 @@ public void setInputParams( final CropCriteria cropCriterion, final int cropStar this.cropStart = cropStart; this.cropEnd = cropEnd; this.minCellDivisions = minCellDivisions; - logger.debug( "Crop criterion {}, start: {}, end: {}", cropCriterion.getName(), this.cropStart, this.cropEnd ); + logger.debug( "Crop criterion {}, start: {}, end: {}", cropCriterion, this.cropStart, this.cropEnd ); } public void setComputeParams( SimilarityMeasure similarityMeasure, ClusteringMethod clusteringMethod, int numberOfClasses ) diff --git a/src/main/java/org/mastodon/mamut/clustering/config/ClusteringMethod.java b/src/main/java/org/mastodon/mamut/clustering/config/ClusteringMethod.java index 198e101ad..70683a2d8 100644 --- a/src/main/java/org/mastodon/mamut/clustering/config/ClusteringMethod.java +++ b/src/main/java/org/mastodon/mamut/clustering/config/ClusteringMethod.java @@ -33,8 +33,6 @@ import com.apporiented.algorithm.clustering.SingleLinkageStrategy; import org.mastodon.mamut.clustering.util.AverageLinkageUPGMAStrategy; -import java.util.NoSuchElementException; - public enum ClusteringMethod { AVERAGE_LINKAGE( "Average linkage", new AverageLinkageUPGMAStrategy() ), @@ -51,19 +49,12 @@ public enum ClusteringMethod this.linkageStrategy = linkageStrategy; } - public String getName() + @Override + public String toString() { return name; } - public static ClusteringMethod getByName(final String name) { - for (final ClusteringMethod method : values()) - if (method.getName().equals(name)) - return method; - - throw new NoSuchElementException(); - } - public LinkageStrategy getLinkageStrategy() { return linkageStrategy; diff --git a/src/main/java/org/mastodon/mamut/clustering/config/CropCriteria.java b/src/main/java/org/mastodon/mamut/clustering/config/CropCriteria.java index b751c95dc..79a0a22b8 100644 --- a/src/main/java/org/mastodon/mamut/clustering/config/CropCriteria.java +++ b/src/main/java/org/mastodon/mamut/clustering/config/CropCriteria.java @@ -28,8 +28,6 @@ */ package org.mastodon.mamut.clustering.config; -import java.util.NoSuchElementException; - public enum CropCriteria { TIMEPOINT( "Timepoint", "time" ), @@ -45,22 +43,14 @@ public enum CropCriteria this.nameShort = nameShort; } - public static CropCriteria getByName( final String name ) + public String getNameShort() { - for ( final CropCriteria criteria : values() ) - if ( criteria.getName().equals( name ) ) - return criteria; - - throw new NoSuchElementException(); + return nameShort; } - public String getName() + @Override + public String toString() { return name; } - - public String getNameShort() - { - return nameShort; - } } diff --git a/src/main/java/org/mastodon/mamut/clustering/config/SimilarityMeasure.java b/src/main/java/org/mastodon/mamut/clustering/config/SimilarityMeasure.java index 1e1d212c1..bdad7bdee 100644 --- a/src/main/java/org/mastodon/mamut/clustering/config/SimilarityMeasure.java +++ b/src/main/java/org/mastodon/mamut/clustering/config/SimilarityMeasure.java @@ -32,7 +32,6 @@ import org.mastodon.mamut.treesimilarity.ZhangUnorderedTreeEditDistance; import org.mastodon.mamut.treesimilarity.tree.Tree; -import java.util.NoSuchElementException; import java.util.function.BiFunction; import java.util.function.BinaryOperator; @@ -53,21 +52,13 @@ public enum SimilarityMeasure this.distanceFunction = distanceFunction; } - public static SimilarityMeasure getByName(final String name) - { - for (final SimilarityMeasure measure : values()) - if (measure.getName().equals(name)) - return measure; - - throw new NoSuchElementException(); - } - public double compute( Tree< Double > tree1, Tree< Double > tree2, BinaryOperator< Double > costFunction ) { return distanceFunction.apply( tree1, tree2, costFunction ); } - public String getName() + @Override + public String toString() { return name; } diff --git a/src/main/java/org/mastodon/mamut/clustering/ui/ClusterRootNodesView.java b/src/main/java/org/mastodon/mamut/clustering/ui/ClusterRootNodesView.java index adb9291ad..fe2d6c4ef 100644 --- a/src/main/java/org/mastodon/mamut/clustering/ui/ClusterRootNodesView.java +++ b/src/main/java/org/mastodon/mamut/clustering/ui/ClusterRootNodesView.java @@ -63,8 +63,8 @@ public class ClusterRootNodesView extends InteractiveCommand + "\n"; @SuppressWarnings("all") - @Parameter(label = "Crop criterion", choices = { "Timepoint", "Number of cells" }, callback = "update") - private String cropCriterion = CropCriteria.TIMEPOINT.getName(); + @Parameter(label = "Crop criterion", callback = "update") + private CropCriteria cropCriterion = CropCriteria.TIMEPOINT; @SuppressWarnings("unused") @Parameter(label = "Crop start", min = "0", callback = "update") @@ -83,18 +83,12 @@ public class ClusterRootNodesView extends InteractiveCommand private int numberOfCellDivisions; @SuppressWarnings("all") - @Parameter( - label = "Similarity measure", choices = { "Normalized Zhang Tree Distance", "Per Branch Spot Zhang Tree Distance", - "Zhang Tree Distance" }, callback = "update" - ) - private String similarityMeasure = SimilarityMeasure.NORMALIZED_DIFFERENCE.getName(); + @Parameter(label = "Similarity measure", callback = "update") + private SimilarityMeasure similarityMeasure = SimilarityMeasure.NORMALIZED_DIFFERENCE; @SuppressWarnings("all") - @Parameter( - label = "Linkage strategy for hierarchical clustering", choices = { "Average linkage", "Single Linkage", - "Complete Linkage" }, callback = "update" - ) - private String clusteringMethod = ClusteringMethod.AVERAGE_LINKAGE.getName(); + @Parameter(label = "Linkage strategy for hierarchical clustering", callback = "update") + private ClusteringMethod clusteringMethod = ClusteringMethod.AVERAGE_LINKAGE; @SuppressWarnings("unused") @Parameter(label = "Feature", choices = "Branch duration", callback = "update") @@ -129,9 +123,8 @@ public void run() @SuppressWarnings("unused") private void update() { - controller.setInputParams( CropCriteria.getByName( cropCriterion ), start, end, numberOfCellDivisions ); - controller.setComputeParams( - SimilarityMeasure.getByName( similarityMeasure ), ClusteringMethod.getByName( clusteringMethod ), numberOfClasses ); + controller.setInputParams( cropCriterion, start, end, numberOfCellDivisions ); + controller.setComputeParams( similarityMeasure, clusteringMethod, numberOfClasses ); controller.setShowDendrogram( showDendrogram ); paramFeedback = ""; diff --git a/src/main/java/org/mastodon/mamut/io/exporter/labelimage/config/LabelOptions.java b/src/main/java/org/mastodon/mamut/io/exporter/labelimage/config/LabelOptions.java index f22d3f07b..8cdf34e6e 100644 --- a/src/main/java/org/mastodon/mamut/io/exporter/labelimage/config/LabelOptions.java +++ b/src/main/java/org/mastodon/mamut/io/exporter/labelimage/config/LabelOptions.java @@ -28,8 +28,6 @@ */ package org.mastodon.mamut.io.exporter.labelimage.config; -import java.util.NoSuchElementException; - public enum LabelOptions { @@ -46,15 +44,8 @@ public enum LabelOptions this.name = name; } - public static LabelOptions getByName( final String name ) - { - for ( final LabelOptions options : values() ) - if ( options.getName().equals( name ) ) - return options; - throw new NoSuchElementException(); - } - - public String getName() + @Override + public String toString() { return name; } diff --git a/src/main/java/org/mastodon/mamut/io/exporter/labelimage/ui/ExportLabelImageView.java b/src/main/java/org/mastodon/mamut/io/exporter/labelimage/ui/ExportLabelImageView.java index cc404bd77..c0c722c4b 100644 --- a/src/main/java/org/mastodon/mamut/io/exporter/labelimage/ui/ExportLabelImageView.java +++ b/src/main/java/org/mastodon/mamut/io/exporter/labelimage/ui/ExportLabelImageView.java @@ -56,8 +56,8 @@ public class ExportLabelImageView implements Command + "\n"; @SuppressWarnings("all") - @Parameter(label = "Label Id", choices = { "Spot track Id", "Branch spot ID", "Spot ID" }) - private String option = LabelOptions.BRANCH_SPOT_ID.getName(); + @Parameter(label = "Label Id") + private LabelOptions option = LabelOptions.BRANCH_SPOT_ID; @SuppressWarnings("all") @Parameter(label = "Frame rate reduction", description = "Only export every n-th. 1 means no reduction. Value must be >= 1.", min = "1") @@ -83,7 +83,6 @@ public class ExportLabelImageView implements Command public void run() { ExportLabelImageController controller = new ExportLabelImageController( projectModel, context ); - LabelOptions selectedOption = LabelOptions.getByName( option ); - controller.saveLabelImageToFile( selectedOption, saveTo, showResult, frameRateReduction ); + controller.saveLabelImageToFile( option, saveTo, showResult, frameRateReduction ); } } diff --git a/src/test/java/org/mastodon/mamut/clustering/config/ClusteringMethodTest.java b/src/test/java/org/mastodon/mamut/clustering/config/ClusteringMethodTest.java index 148383a31..56f8eabcc 100644 --- a/src/test/java/org/mastodon/mamut/clustering/config/ClusteringMethodTest.java +++ b/src/test/java/org/mastodon/mamut/clustering/config/ClusteringMethodTest.java @@ -38,15 +38,9 @@ public class ClusteringMethodTest { @Test - public void testGetName() + public void testToString() { - assertEquals( "Average linkage", ClusteringMethod.AVERAGE_LINKAGE.getName() ); + assertEquals( "Average linkage", ClusteringMethod.AVERAGE_LINKAGE.toString() ); } - @Test - public void testGetByName() - { - assertEquals( ClusteringMethod.AVERAGE_LINKAGE, ClusteringMethod.getByName( "Average linkage" ) ); - assertThrows( NoSuchElementException.class, () -> ClusteringMethod.getByName( "foo" ) ); - } } diff --git a/src/test/java/org/mastodon/mamut/clustering/config/CropCriteriaTest.java b/src/test/java/org/mastodon/mamut/clustering/config/CropCriteriaTest.java index 8fbe11a38..444824c65 100644 --- a/src/test/java/org/mastodon/mamut/clustering/config/CropCriteriaTest.java +++ b/src/test/java/org/mastodon/mamut/clustering/config/CropCriteriaTest.java @@ -38,15 +38,8 @@ public class CropCriteriaTest { @Test - public void testGetName() + public void testToString() { - assertEquals( "Timepoint", CropCriteria.TIMEPOINT.getName() ); - } - - @Test - public void testGetByName() - { - assertEquals( CropCriteria.TIMEPOINT, CropCriteria.getByName( "Timepoint" ) ); - assertThrows( NoSuchElementException.class, () -> CropCriteria.getByName( "foo" ) ); + assertEquals( "Timepoint", CropCriteria.TIMEPOINT.toString() ); } } diff --git a/src/test/java/org/mastodon/mamut/clustering/config/SimilarityMeasureTest.java b/src/test/java/org/mastodon/mamut/clustering/config/SimilarityMeasureTest.java index 7cce4f134..d0924b642 100644 --- a/src/test/java/org/mastodon/mamut/clustering/config/SimilarityMeasureTest.java +++ b/src/test/java/org/mastodon/mamut/clustering/config/SimilarityMeasureTest.java @@ -30,24 +30,14 @@ import org.junit.Test; -import java.util.NoSuchElementException; - import static org.junit.Assert.*; public class SimilarityMeasureTest { @Test - public void testGetName() - { - assertEquals( "Normalized Zhang Tree Distance", SimilarityMeasure.NORMALIZED_DIFFERENCE.getName() ); - } - - @Test - public void testGetByName() + public void testToString() { - assertEquals( SimilarityMeasure.NORMALIZED_DIFFERENCE, SimilarityMeasure.getByName( "Normalized Zhang Tree Distance" ) ); - assertThrows( NoSuchElementException.class, () -> SimilarityMeasure.getByName( "foo" ) ); + assertEquals( "Normalized Zhang Tree Distance", SimilarityMeasure.NORMALIZED_DIFFERENCE.toString() ); } - } diff --git a/src/test/java/org/mastodon/mamut/io/exporter/labelimage/config/LabelOptionsTest.java b/src/test/java/org/mastodon/mamut/io/exporter/labelimage/config/LabelOptionsTest.java index 71e453cc7..ad047cbf2 100644 --- a/src/test/java/org/mastodon/mamut/io/exporter/labelimage/config/LabelOptionsTest.java +++ b/src/test/java/org/mastodon/mamut/io/exporter/labelimage/config/LabelOptionsTest.java @@ -29,29 +29,14 @@ package org.mastodon.mamut.io.exporter.labelimage.config; import org.junit.Test; -import org.mastodon.mamut.io.exporter.labelimage.config.LabelOptions; - -import java.util.NoSuchElementException; import static org.junit.Assert.*; public class LabelOptionsTest { - - @Test - public void getByName() - { - assertEquals( LabelOptions.SPOT_ID, LabelOptions.getByName( "Spot ID" ) ); - assertEquals( LabelOptions.BRANCH_SPOT_ID, LabelOptions.getByName( "Branch spot ID" ) ); - assertEquals( LabelOptions.TRACK_ID, LabelOptions.getByName( "Spot track Id" ) ); - assertThrows( NoSuchElementException.class, () -> LabelOptions.getByName( "Foo" ) ); - } - @Test - public void getName() + public void testToString() { - assertEquals( "Spot ID", LabelOptions.SPOT_ID.getName() ); - assertEquals( "Branch spot ID", LabelOptions.BRANCH_SPOT_ID.getName() ); - assertEquals( "Spot track Id", LabelOptions.TRACK_ID.getName() ); + assertEquals( "Spot ID", LabelOptions.SPOT_ID.toString() ); } }