diff --git a/.gitignore b/.gitignore index 8d47cace3a5bd898da9fb12bed716d60838191a4..57f16fb67c1b1589981416b323d7a9debc728665 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,41 @@ -.idea/ +/build* +/workspace +setting.xml +release/ target/ -.settings/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ +icy.log + +### IntelliJ IDEA ### +.idea/ +*.iws *.iml -.project +*.ipr + +### Eclipse ### +.apt_generated .classpath -**/.DS_Store \ No newline at end of file +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +**/.DS_Store +Icon? \ No newline at end of file diff --git a/pom.xml b/pom.xml index 6cd130b80feb039eeb47a8438566ac32851630f7..40c0e0bf2152e9955b27b660b13a7a9e3f9f62f5 100644 --- a/pom.xml +++ b/pom.xml @@ -8,12 +8,12 @@ <parent> <groupId>org.bioimageanalysis.icy</groupId> <artifactId>pom-icy</artifactId> - <version>2.2.0</version> + <version>3.0.0-a.1</version> </parent> <!-- Project Information --> <artifactId>image-to-workbook</artifactId> - <version>3.0.0</version> + <version>3.0.0-a.1</version> <name>Image to Workbook</name> <description>Convert a 2D Image to workbook</description> @@ -53,6 +53,10 @@ <!-- List of project's dependencies --> <dependencies> + <dependency> + <groupId>org.bioimageanalysis.icy</groupId> + <artifactId>ezplug</artifactId> + </dependency> <dependency> <groupId>org.bioimageanalysis.icy</groupId> <artifactId>workbooks</artifactId> @@ -63,8 +67,7 @@ <repositories> <repository> <id>icy</id> - <name>Icy's Nexus</name> - <url>https://icy-nexus.pasteur.fr/repository/Icy/</url> + <url>https://nexus-icy.pasteur.cloud/repository/icy/</url> </repository> </repositories> </project> \ No newline at end of file diff --git a/src/main/java/plugins/worm/image2workbook/Image2Workbook.java b/src/main/java/plugins/worm/image2workbook/Image2Workbook.java index eafdb28730547e534cfa2ca7af33b2d94d320039..2c111325cf316da147e8e62737922ac035929760 100644 --- a/src/main/java/plugins/worm/image2workbook/Image2Workbook.java +++ b/src/main/java/plugins/worm/image2workbook/Image2Workbook.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010-2023. Institut Pasteur. + * Copyright (c) 2010-2024. Institut Pasteur. * * This file is part of Icy. * Icy is free software: you can redistribute it and/or modify @@ -18,28 +18,30 @@ package plugins.worm.image2workbook; -import icy.canvas.IcyCanvas; -import icy.file.FileUtil; -import icy.gui.dialog.MessageDialog; -import icy.gui.dialog.SaveDialog; -import icy.gui.frame.IcyFrame; -import icy.gui.frame.progress.ToolTipFrame; -import icy.gui.viewer.Viewer; -import icy.gui.viewer.ViewerEvent; -import icy.gui.viewer.ViewerEvent.ViewerEventType; -import icy.gui.viewer.ViewerListener; -import icy.image.IcyBufferedImage; -import icy.painter.Overlay; -import icy.plugin.abstract_.PluginActionable; -import icy.sequence.Sequence; -import icy.sequence.SequenceEvent; -import icy.sequence.SequenceListener; -import icy.system.IcyHandledException; -import icy.type.point.Point5D; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; +import org.bioimageanalysis.icy.common.geom.point.Point5D; +import org.bioimageanalysis.icy.extension.plugin.abstract_.PluginActionable; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.gui.canvas.IcyCanvas; +import org.bioimageanalysis.icy.gui.dialog.MessageDialog; +import org.bioimageanalysis.icy.gui.dialog.SaveDialog; +import org.bioimageanalysis.icy.gui.frame.IcyFrame; +import org.bioimageanalysis.icy.gui.frame.progress.ToolTipFrame; +import org.bioimageanalysis.icy.gui.viewer.Viewer; +import org.bioimageanalysis.icy.gui.viewer.ViewerEvent; +import org.bioimageanalysis.icy.gui.viewer.ViewerListener; +import org.bioimageanalysis.icy.io.FileUtil; +import org.bioimageanalysis.icy.model.image.IcyBufferedImage; +import org.bioimageanalysis.icy.model.overlay.Overlay; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.bioimageanalysis.icy.model.sequence.SequenceEvent; +import org.bioimageanalysis.icy.model.sequence.SequenceListener; +import org.bioimageanalysis.icy.system.IcyHandledException; import org.jdesktop.swingx.JXButton; +import org.jetbrains.annotations.NotNull; import plugins.adufour.vars.gui.swing.WorkbookEditor; import plugins.adufour.vars.lang.VarWorkbook; @@ -55,6 +57,8 @@ import java.io.FileWriter; import java.io.IOException; import java.util.HashMap; +@IcyPluginName("Image to Workbook") +@IcyPluginIcon(path = "/image-to-workbook.png") public class Image2Workbook extends PluginActionable { public static final HashMap<Viewer, MagnifierOverlay> magnifiers = new HashMap<>(); // squence chooser define @@ -166,7 +170,7 @@ public class Image2Workbook extends PluginActionable { VarWorkbook wb; IcyFrame mainFrame; - public MagnifierOverlay(final Viewer viewer, final int initialChannel, final int magnifierScale, final VarWorkbook w, final IcyFrame frame) { + public MagnifierOverlay(final @NotNull Viewer viewer, final int initialChannel, final int magnifierScale, final VarWorkbook w, final IcyFrame frame) { super("Magnifier"); wb = w; mainFrame = frame; @@ -287,7 +291,7 @@ public class Image2Workbook extends PluginActionable { } @Override - public void keyPressed(final KeyEvent e, final Point5D.Double imagePoint, final IcyCanvas canvas) { + public void keyPressed(final KeyEvent e, final Point5D.Double imagePoint, final @NotNull IcyCanvas canvas) { if (canvas.getViewer() != viewer) return; @@ -326,7 +330,7 @@ public class Image2Workbook extends PluginActionable { } @Override - public void sequenceChanged(final SequenceEvent sequenceEvent) { + public void sequenceChanged(final @NotNull SequenceEvent sequenceEvent) { switch (sequenceEvent.getSourceType()) { case SEQUENCE_DATA: case SEQUENCE_COLORMAP: @@ -344,8 +348,8 @@ public class Image2Workbook extends PluginActionable { } @Override - public void viewerChanged(final ViewerEvent event) { - if (event.getType() == ViewerEventType.CANVAS_CHANGED) + public void viewerChanged(final @NotNull ViewerEvent event) { + if (event.getType() == ViewerEvent.ViewerEventType.CANVAS_CHANGED) remove(); } @@ -355,7 +359,7 @@ public class Image2Workbook extends PluginActionable { } public void saveWorkbook() { - final String path = SaveDialog.chooseFile("Save workbook as...", null, "Workbook", ".xls"); + final String path = SaveDialog.chooseFile("Save workbook as...", null, "Workbook", ".xlsx"); if (path == null) return; @@ -404,7 +408,7 @@ public class Image2Workbook extends PluginActionable { } - public void saveAllData(final Sequence sequence) { + public void saveAllData(final @NotNull Sequence sequence) { String pathchanged; String path = SaveDialog.chooseFile("Save current image as...", null, diff --git a/src/main/resources/image-to-workbook.png b/src/main/resources/image-to-workbook.png new file mode 100644 index 0000000000000000000000000000000000000000..275debf629d721e470b2759fdae3f67251b74dc4 Binary files /dev/null and b/src/main/resources/image-to-workbook.png differ