From 13d3bb0f26be5b6bacc18c920a9d147582ae8ce8 Mon Sep 17 00:00:00 2001 From: ctrebeau <ctrebeau@pasteur.fr> Date: Thu, 21 Apr 2022 10:46:39 +0200 Subject: [PATCH] Bug fix - use of Fiji via context - Enable classification slider when no input - removal of dots in parameter file --- .../pasteur/ida/zellige/command/Zellige.java | 29 ++++--------------- .../pasteur/ida/zellige/gui/MainAppFrame.java | 13 +++++---- .../ida/zellige/gui/MainController.java | 2 +- .../ida/zellige/gui/SelectionController.java | 4 +-- 4 files changed, 16 insertions(+), 32 deletions(-) diff --git a/src/main/java/fr/pasteur/ida/zellige/command/Zellige.java b/src/main/java/fr/pasteur/ida/zellige/command/Zellige.java index d4c9034b..a4575dec 100644 --- a/src/main/java/fr/pasteur/ida/zellige/command/Zellige.java +++ b/src/main/java/fr/pasteur/ida/zellige/command/Zellige.java @@ -30,37 +30,18 @@ package fr.pasteur.ida.zellige.command; import fr.pasteur.ida.zellige.gui.MainAppFrame; -import net.imagej.DatasetService; import net.imagej.ImageJ; -import net.imagej.display.ImageDisplayService; -import org.scijava.command.Command; -import org.scijava.log.LogService; -import org.scijava.plugin.Parameter; +import org.scijava.command.ContextCommand; import org.scijava.plugin.Plugin; import java.io.File; import java.io.IOException; import java.nio.file.FileSystems; -@Plugin( type = Command.class, menuPath = "Plugins>Zellige>" ) -public class Zellige implements Command +@Plugin( type = Zellige.class, menuPath = "Plugins>Zellige>" ) +public class Zellige extends ContextCommand { - @Parameter - private ImageJ ij; - - @Parameter - private LogService logService; - - @Parameter - private ImageDisplayService imageDisplayService; - - @Parameter - private ImageDisplayService image; - - @Parameter - DatasetService datasetService; - public static void main( String[] args ) throws IOException { @@ -94,8 +75,8 @@ public class Zellige implements Command { // Launch JavaFX interface - MainAppFrame app = new MainAppFrame( ij, image, logService ); - app.setTitle( "Zellige V1.0.1" ); + MainAppFrame app = new MainAppFrame( context() ); + app.setTitle( "Zellige v1.0.1" ); app.init(); } diff --git a/src/main/java/fr/pasteur/ida/zellige/gui/MainAppFrame.java b/src/main/java/fr/pasteur/ida/zellige/gui/MainAppFrame.java index ad564e55..e1803dd3 100644 --- a/src/main/java/fr/pasteur/ida/zellige/gui/MainAppFrame.java +++ b/src/main/java/fr/pasteur/ida/zellige/gui/MainAppFrame.java @@ -40,6 +40,7 @@ import net.imagej.ImageJ; import net.imagej.display.ImageDisplayService; import net.imglib2.type.NativeType; import net.imglib2.type.numeric.RealType; +import org.scijava.Context; import org.scijava.log.LogService; import org.scijava.plugin.Parameter; import org.slf4j.Logger; @@ -57,7 +58,7 @@ public class MainAppFrame extends JFrame { private final static Logger LOGGER = LoggerFactory.getLogger( MainAppFrame.class ); - private final ImageJ ij; + private ImageJ ij; private final ImageDisplayService image; @Parameter private final LogService logService; @@ -99,11 +100,13 @@ public class MainAppFrame extends JFrame logbackLogger.addAppender( appender ); } - public MainAppFrame( ImageJ ij, ImageDisplayService image, LogService logService ) + public MainAppFrame( Context context ) { - this.ij = ij; - this.image = image; - this.logService = logService; +// this.ij = context.; + this.image = context.getService( ImageDisplayService.class ); + ; + this.logService = context.getService( LogService.class ); + ; this.setIconImages( ICONS ); } diff --git a/src/main/java/fr/pasteur/ida/zellige/gui/MainController.java b/src/main/java/fr/pasteur/ida/zellige/gui/MainController.java index 57367c7c..2e952628 100644 --- a/src/main/java/fr/pasteur/ida/zellige/gui/MainController.java +++ b/src/main/java/fr/pasteur/ida/zellige/gui/MainController.java @@ -459,7 +459,7 @@ public class MainController< T extends RealType< T > & NativeType< T > > impleme public void saveParameters() throws IOException { SimpleDateFormat dtf = new SimpleDateFormat( "yyyyMMdd_HHmmss" ); - FileChooser fileChooser = chooseAFile( dtf.format( new Date() ), "Sava Parameters...", "ZelligeParameters", "*.zellige.param.json" ); + FileChooser fileChooser = chooseAFile( dtf.format( new Date() ) + "_zellige_param", "Sava Parameters...", "ZelligeParameters", "*.json" ); File file = fileChooser.showSaveDialog( null ); if ( file != null ) { diff --git a/src/main/java/fr/pasteur/ida/zellige/gui/SelectionController.java b/src/main/java/fr/pasteur/ida/zellige/gui/SelectionController.java index d0620368..35059ae3 100644 --- a/src/main/java/fr/pasteur/ida/zellige/gui/SelectionController.java +++ b/src/main/java/fr/pasteur/ida/zellige/gui/SelectionController.java @@ -87,7 +87,7 @@ public class SelectionController implements Initializable amplitude.sliderProperty().addListener( ( observableValue, number, newValue ) -> { - if ( amplitude.hasChanged( newValue ) ) + if ( amplitude.hasChanged( newValue ) && selectionModel.selectedAmplitudeProperty().getValue() != null ) { disableGUI.setValue( true ); selectionModel.runAmplitudeTask(); @@ -98,7 +98,7 @@ public class SelectionController implements Initializable /* Otsu slider initialization */ otsu.sliderProperty().addListener( ( observableValue, number, newValue ) -> { - if ( otsu.hasChanged( newValue ) ) + if ( otsu.hasChanged( newValue ) && selectionModel.selectedOtsuProperty().getValue() != null ) { disableGUI.setValue( true ); selectionModel.runOtsuTask(); -- GitLab