From 559af6f0211c794024e9bb78cfecd9cfa8900b83 Mon Sep 17 00:00:00 2001 From: Thomas <thomas.musset@pasteur.fr> Date: Wed, 3 Jul 2024 01:54:25 +0200 Subject: [PATCH] updated pom to v3.0.0-a.1, fix classes accordingly to new architecture, added icon, updated .gitignore --- .gitignore | 42 ++++++++++++--- pom.xml | 14 +++-- .../sequenceblocks/SequenceBlocks.java | 13 +++-- .../sequenceblocks/add/AddOverlays.java | 29 +++++----- .../tprovoost/sequenceblocks/add/AddRois.java | 27 +++++----- .../sequenceblocks/convert/ConvertColor.java | 54 +++++++++---------- .../sequenceblocks/convert/ConvertStack.java | 29 +++++----- .../sequenceblocks/convert/ConvertType.java | 31 +++++------ .../sequenceblocks/convert/Resize.java | 32 ++++++----- .../creation/CombineChannels.java | 29 +++++----- .../creation/CreateSequence.java | 29 +++++----- .../creation/DuplicateSequence.java | 29 +++++----- .../sequenceblocks/extract/CropCZT.java | 45 ++++++++++------ .../sequenceblocks/extract/CropSequence.java | 41 +++++++------- .../extract/ExtractChannel.java | 29 +++++----- .../extract/ExtractMultiChannels.java | 29 +++++----- .../sequenceblocks/extract/ExtractSlice.java | 29 +++++----- .../sequenceblocks/extract/ExtractTime.java | 29 +++++----- .../sequenceblocks/files/IsFileValid.java | 29 +++++----- .../sequenceblocks/files/LoadMetadata.java | 31 +++++------ .../sequenceblocks/files/LoadSequence.java | 29 +++++----- .../sequenceblocks/files/LoadSubSequence.java | 31 +++++------ .../sequenceblocks/files/SaveMetadata.java | 27 +++++----- .../sequenceblocks/files/SaveSequence.java | 33 ++++++------ .../sequenceblocks/images/AddImage.java | 27 +++++----- .../sequenceblocks/images/AsImageArray.java | 29 +++++----- .../sequenceblocks/images/GetImage.java | 29 +++++----- .../sequenceblocks/images/RemoveImage.java | 25 ++++----- .../sequenceblocks/images/SetImage.java | 27 +++++----- .../PositionedSequenceFileImporter.java | 29 ++++++---- .../importer/SequenceFileImporterClose.java | 23 ++++---- .../SequenceFileImporterGetImage.java | 31 +++++------ .../SequenceFileImporterGetMetadata.java | 29 +++++----- .../SequenceFileImporterGetThumbnail.java | 29 +++++----- .../SequenceFileImporterGetTileSize.java | 27 +++++----- .../SequenceFileImporterLoadSequence.java | 31 +++++------ .../importer/SequenceFileImporterOpen.java | 33 ++++++------ .../infos/CreateLinearColormap.java | 25 +++++---- .../sequenceblocks/infos/Dimensions.java | 27 +++++----- .../sequenceblocks/infos/EzVarColormap.java | 4 +- .../sequenceblocks/infos/GetChannelName.java | 26 +++++---- .../sequenceblocks/infos/GetChannelsName.java | 26 +++++---- .../sequenceblocks/infos/GetColormap.java | 28 +++++----- .../sequenceblocks/infos/GetColormaps.java | 28 +++++----- .../sequenceblocks/infos/GetDataType.java | 30 +++++------ .../sequenceblocks/infos/GetFileName.java | 28 +++++----- .../sequenceblocks/infos/GetMetaData.java | 28 +++++----- .../sequenceblocks/infos/GetName.java | 26 +++++---- .../infos/GetOutputFilename.java | 28 +++++----- .../sequenceblocks/infos/GetResolution.java | 28 +++++----- .../sequenceblocks/infos/GetRoisAsRegion.java | 47 +++++++--------- .../infos/GetSequenceProperty.java | 27 +++++----- .../sequenceblocks/infos/ReadMetadata.java | 29 +++++----- .../sequenceblocks/infos/SetChannelName.java | 26 +++++---- .../sequenceblocks/infos/SetChannelsName.java | 24 ++++----- .../sequenceblocks/infos/SetColormap.java | 26 +++++---- .../sequenceblocks/infos/SetColormaps.java | 24 ++++----- .../sequenceblocks/infos/SetName.java | 24 ++++----- .../sequenceblocks/infos/SetResolution.java | 26 +++++---- .../infos/SetSequenceProperty.java | 25 ++++----- .../sequenceblocks/infos/VarColormap.java | 12 ++--- .../loop/SequenceChannelBatch.java | 22 ++++---- .../loop/SequenceFileImporterBatch.java | 20 +++---- .../SequenceFileImporterChannelBatch.java | 12 +++-- .../loop/SequenceFileImporterFrameBatch.java | 12 +++-- .../loop/SequenceFileImporterRegionBatch.java | 16 +++--- .../loop/SequenceFileImporterSeriesBatch.java | 12 +++-- .../loop/SequenceFileImporterSliceBatch.java | 12 +++-- .../loop/SequenceFileImporterTileBatch.java | 14 +++-- .../loop/SequenceFrameBatch.java | 22 ++++---- .../loop/SequenceRegionBatch.java | 24 ++++----- .../loop/SequenceSliceBatch.java | 25 ++++----- .../op/AdditiveFillSequence.java | 35 ++++++------ .../sequenceblocks/op/FillInnerSequence.java | 31 +++++------ .../sequenceblocks/op/FillOuterSequence.java | 41 +++++++------- .../sequenceblocks/remove/RemoveAllRois.java | 27 +++++----- .../sequenceblocks/remove/RemoveChannel.java | 27 +++++----- .../sequenceblocks/remove/RemoveFrame.java | 27 +++++----- .../sequenceblocks/remove/RemoveOverlays.java | 27 +++++----- .../sequenceblocks/remove/RemoveRois.java | 27 +++++----- .../sequenceblocks/remove/RemoveSlice.java | 27 +++++----- src/main/resources/SequenceBlocks.xml | 22 -------- 82 files changed, 1040 insertions(+), 1173 deletions(-) delete mode 100644 src/main/resources/SequenceBlocks.xml diff --git a/.gitignore b/.gitignore index 198c988..57f16fb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,41 @@ -bin/ +/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 -*.eml -*.jar -.project +*.ipr + +### Eclipse ### +.apt_generated .classpath -export.jardesc +.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 381634a..2148e5d 100644 --- a/pom.xml +++ b/pom.xml @@ -7,15 +7,23 @@ <parent> <groupId>org.bioimageanalysis.icy</groupId> <artifactId>pom-icy</artifactId> - <version>2.2.0</version> + <version>3.0.0-a.1</version> </parent> <artifactId>sequence-blocks</artifactId> - <version>3.0.0</version> + <version>3.0.0-a.1</version> <name>SequenceBlocks</name> <dependencies> + <dependency> + <groupId>org.bioimageanalysis.icy</groupId> + <artifactId>kernel-extensions</artifactId> + </dependency> + <dependency> + <groupId>org.bioimageanalysis.icy</groupId> + <artifactId>ezplug</artifactId> + </dependency> <dependency> <groupId>org.bioimageanalysis.icy</groupId> <artifactId>protocols</artifactId> @@ -25,7 +33,7 @@ <repositories> <repository> <id>icy</id> - <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/tprovoost/sequenceblocks/SequenceBlocks.java b/src/main/java/plugins/tprovoost/sequenceblocks/SequenceBlocks.java index e99b35c..2b36e40 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/SequenceBlocks.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/SequenceBlocks.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,16 +18,19 @@ package plugins.tprovoost.sequenceblocks; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginLibrary; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; /** * This class is used as a main class for all the blocks contained in this * package. Each Block has a specified dedicated purpose. More documentation on * the concerned files. * - * @author thomasprovoost + * @author Thomas Provoost */ -public class SequenceBlocks extends Plugin implements PluginLibrary { +@IcyPluginName("Sequence Blocks") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class SequenceBlocks extends Plugin { // } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/add/AddOverlays.java b/src/main/java/plugins/tprovoost/sequenceblocks/add/AddOverlays.java index a6702c0..a32ec9a 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/add/AddOverlays.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/add/AddOverlays.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.tprovoost.sequenceblocks.add; -import icy.painter.Overlay; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.overlay.Overlay; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarArray; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Block to add one or several {@link Overlay} to a Sequence * - * @author Stephane + * @author Stephane Dallongeville */ -public class AddOverlays extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Add Overlays") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class AddOverlays extends Plugin implements SequenceBlock { final protected VarSequence inputSequence = new VarSequence("Sequence", null); final protected VarArray<Overlay> overlays = new VarArray<>("Overlay(s)", Overlay[].class, new Overlay[0]) { @Override - public String getValueAsString() { + public @NotNull String getValueAsString() { final Overlay[] value = getValue(); if (value == null || value.length == 0) @@ -70,7 +72,7 @@ public class AddOverlays extends Plugin implements SequenceBlock, PluginLibrary, } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", inputSequence); inputMap.add("overlay(s)", overlays); } @@ -79,9 +81,4 @@ public class AddOverlays extends Plugin implements SequenceBlock, PluginLibrary, public void declareOutput(final VarList outputMap) { // } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/add/AddRois.java b/src/main/java/plugins/tprovoost/sequenceblocks/add/AddRois.java index 6e3417f..c519609 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/add/AddRois.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/add/AddRois.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,27 +18,29 @@ package plugins.tprovoost.sequenceblocks.add; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.roi.ROI; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.roi.ROI; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarBoolean; import plugins.adufour.vars.lang.VarROIArray; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; import java.util.Arrays; /** * Block to add one or several {@link ROI} to a Sequence * - * @author Stephane + * @author Stephane Dallongeville */ -public class AddRois extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Add ROIs") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class AddRois extends Plugin implements SequenceBlock { final protected VarSequence inputSequence = new VarSequence("Sequence", null); final protected VarROIArray rois = new VarROIArray("Roi(s)"); final protected VarBoolean removePrevious = new VarBoolean("Remove previous", Boolean.FALSE); @@ -58,7 +60,7 @@ public class AddRois extends Plugin implements SequenceBlock, PluginLibrary, Plu } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", inputSequence); inputMap.add("rois(s)", rois); inputMap.add("remove", removePrevious); @@ -68,9 +70,4 @@ public class AddRois extends Plugin implements SequenceBlock, PluginLibrary, Plu public void declareOutput(final VarList outputMap) { // } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/convert/ConvertColor.java b/src/main/java/plugins/tprovoost/sequenceblocks/convert/ConvertColor.java index a145a4e..cd758ec 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/convert/ConvertColor.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/convert/ConvertColor.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,19 +18,21 @@ package plugins.tprovoost.sequenceblocks.convert; -import icy.image.IcyBufferedImageUtil; -import icy.image.lut.LUT; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.sequence.Sequence; -import icy.util.OMEUtil; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.OMEUtil; +import org.bioimageanalysis.icy.model.image.IcyBufferedImageUtil; +import org.bioimageanalysis.icy.model.lut.LUT; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.Contract; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.Var; import plugins.adufour.vars.lang.VarEnum; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; import java.awt.image.BufferedImage; @@ -38,9 +40,11 @@ import java.awt.image.BufferedImage; * Block to render a given Sequence using a specific LUT.<br> * The result can be provided ARGB, RGB or GRAY sequence. * - * @author Stephane + * @author Stephane Dallongeville */ -public class ConvertColor extends Plugin implements SequenceBlock, PluginBundled { +@IcyPluginName("Convert Color") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class ConvertColor extends Plugin implements SequenceBlock { public enum ColorConversion { GRAY, RGB, ARGB } @@ -68,37 +72,27 @@ public class ConvertColor extends Plugin implements SequenceBlock, PluginBundled } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("Sequence", EZseq); inputMap.add("Conversion", EZtype); inputMap.add("Lut", EZlut); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("Out", varOut); } - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } - - public static int getImageType(final ColorConversion value) { - switch (value) { - default: - case ARGB: - return BufferedImage.TYPE_INT_ARGB; - - case RGB: - return BufferedImage.TYPE_INT_RGB; - - case GRAY: - return BufferedImage.TYPE_BYTE_GRAY; - } + @Contract(pure = true) + public static int getImageType(final @NotNull ColorConversion value) { + return switch (value) { + default -> BufferedImage.TYPE_INT_ARGB; + case RGB -> BufferedImage.TYPE_INT_RGB; + case GRAY -> BufferedImage.TYPE_BYTE_GRAY; + }; } - public static Sequence convertColor(final Sequence source, final int imageType, final LUT lut) throws IllegalArgumentException, InterruptedException { + public static @NotNull Sequence convertColor(final @NotNull Sequence source, final int imageType, final LUT lut) throws IllegalArgumentException, InterruptedException { final Sequence result = new Sequence(OMEUtil.createOMEXMLMetadata(source.getOMEXMLMetadata())); // image receiver final BufferedImage imgOut = new BufferedImage(source.getSizeX(), source.getSizeY(), imageType); diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/convert/ConvertStack.java b/src/main/java/plugins/tprovoost/sequenceblocks/convert/ConvertStack.java index cc457d0..f70a890 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/convert/ConvertStack.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/convert/ConvertStack.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,21 +18,24 @@ package plugins.tprovoost.sequenceblocks.convert; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.sequence.Sequence; -import icy.sequence.SequenceUtil; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.bioimageanalysis.icy.model.sequence.SequenceUtil; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarEnum; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** - * @author thomasprovoost + * @author Thomas Provoost */ -public class ConvertStack extends Plugin implements SequenceBlock, PluginBundled { +@IcyPluginName("Convert Stack <-> Time") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class ConvertStack extends Plugin implements SequenceBlock { public enum TypeConversion { STACK, TIME } @@ -62,19 +65,13 @@ public class ConvertStack extends Plugin implements SequenceBlock, PluginBundled } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", inputSequence); inputMap.add("Type Wanted", type); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("out", outputSequence); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } - } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/convert/ConvertType.java b/src/main/java/plugins/tprovoost/sequenceblocks/convert/ConvertType.java index a6afe8a..da84d61 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/convert/ConvertType.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/convert/ConvertType.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,24 +18,26 @@ package plugins.tprovoost.sequenceblocks.convert; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.Sequence; -import icy.sequence.SequenceUtil; -import icy.type.DataType; +import org.bioimageanalysis.icy.common.type.DataType; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.bioimageanalysis.icy.model.sequence.SequenceUtil; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarBoolean; import plugins.adufour.vars.lang.VarEnum; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** - * @author thomasprovoost + * @author Thomas Provoost */ -public class ConvertType extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Convert Type") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class ConvertType extends Plugin implements SequenceBlock { final protected VarEnum<DataType> type = new VarEnum<>("Type Wanted", DataType.UBYTE); final protected VarSequence inputSequence = new VarSequence("sequence", null); final protected VarSequence outputSequence = new VarSequence("converted", null); @@ -56,19 +58,14 @@ public class ConvertType extends Plugin implements SequenceBlock, PluginLibrary, } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", inputSequence); inputMap.add("Type Wanted", type); inputMap.add("Rescale", rescale); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("converted", outputSequence); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/convert/Resize.java b/src/main/java/plugins/tprovoost/sequenceblocks/convert/Resize.java index 5613a6b..35ff8a5 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/convert/Resize.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/convert/Resize.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,11 +18,13 @@ package plugins.tprovoost.sequenceblocks.convert; -import icy.image.IcyBufferedImageUtil.FilterType; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.sequence.Sequence; -import icy.sequence.SequenceUtil; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.image.IcyBufferedImageUtil; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.bioimageanalysis.icy.model.sequence.SequenceUtil; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarBoolean; @@ -30,11 +32,12 @@ import plugins.adufour.vars.lang.VarEnum; import plugins.adufour.vars.lang.VarInteger; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; import javax.swing.*; -public class Resize extends Plugin implements SequenceBlock, PluginBundled { +@IcyPluginName("Resize") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class Resize extends Plugin implements SequenceBlock { protected enum Proportional { NO, TO_WIDTH, TO_HEIGHT } @@ -44,14 +47,14 @@ public class Resize extends Plugin implements SequenceBlock, PluginBundled { final protected VarInteger EZsizeh = new VarInteger("Height", 200); final protected VarEnum<Proportional> EZproportional = new VarEnum<>("Proportional", Proportional.NO); final protected VarBoolean EZscale = new VarBoolean("Scale content", Boolean.TRUE); - final protected VarEnum<FilterType> EZtype = new VarEnum<>("Filter", FilterType.BICUBIC); + final protected VarEnum<IcyBufferedImageUtil.FilterType> EZtype = new VarEnum<>("Filter", IcyBufferedImageUtil.FilterType.BICUBIC); final protected VarSequence varOut = new VarSequence("Out", null); @Override public void run() { final Sequence s; int w, h; - final FilterType type; + final IcyBufferedImageUtil.FilterType type; // EZ PLUG s = EZseq.getValue(); @@ -81,7 +84,7 @@ public class Resize extends Plugin implements SequenceBlock, PluginBundled { } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("Sequence", EZseq); inputMap.add("Width", EZsizew); inputMap.add("Height", EZsizeh); @@ -91,12 +94,7 @@ public class Resize extends Plugin implements SequenceBlock, PluginBundled { } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("Out", varOut); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/creation/CombineChannels.java b/src/main/java/plugins/tprovoost/sequenceblocks/creation/CombineChannels.java index 68d5107..162832a 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/creation/CombineChannels.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/creation/CombineChannels.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,23 +18,25 @@ package plugins.tprovoost.sequenceblocks.creation; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.Sequence; -import icy.sequence.SequenceUtil; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.bioimageanalysis.icy.model.sequence.SequenceUtil; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarBoolean; import plugins.adufour.vars.lang.VarIntegerArrayNative; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** - * @author thomasprovoost + * @author Thomas Provoost */ -public class CombineChannels extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Combine Channels") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class CombineChannels extends Plugin implements SequenceBlock { final protected VarSequence inputSequence = new VarSequence("Sequence 1", null); final protected VarSequence inputSequence2 = new VarSequence("Sequence 2", null); final protected VarSequence outputSequence = new VarSequence("Merged", null); @@ -78,7 +80,7 @@ public class CombineChannels extends Plugin implements SequenceBlock, PluginLibr } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence 1", inputSequence); inputMap.add("Channel 1", channelIdx); inputMap.add("sequence 2", inputSequence2); @@ -88,12 +90,7 @@ public class CombineChannels extends Plugin implements SequenceBlock, PluginLibr } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("out", outputSequence); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/creation/CreateSequence.java b/src/main/java/plugins/tprovoost/sequenceblocks/creation/CreateSequence.java index c99e181..889ccb3 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/creation/CreateSequence.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/creation/CreateSequence.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,21 +18,23 @@ package plugins.tprovoost.sequenceblocks.creation; -import icy.image.IcyBufferedImage; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.image.IcyBufferedImage; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.Var; import plugins.adufour.vars.lang.VarSequence; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** - * @author thomasprovoost + * @author Thomas Provoost */ -public class CreateSequence extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Create Sequence") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class CreateSequence extends Plugin implements SequenceBlock { final protected Var<IcyBufferedImage> in = new Var<>("image (optional)", IcyBufferedImage.class); final protected VarSequence out = new VarSequence("sequence", null); @@ -42,17 +44,12 @@ public class CreateSequence extends Plugin implements SequenceBlock, PluginLibra } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("image (optional)", in); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("sequence", out); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/creation/DuplicateSequence.java b/src/main/java/plugins/tprovoost/sequenceblocks/creation/DuplicateSequence.java index e91fea7..0b8a771 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/creation/DuplicateSequence.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/creation/DuplicateSequence.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,21 +18,23 @@ package plugins.tprovoost.sequenceblocks.creation; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.Sequence; -import icy.sequence.SequenceUtil; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.bioimageanalysis.icy.model.sequence.SequenceUtil; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** - * @author thomasprovoost + * @author Thomas Provoost */ -public class DuplicateSequence extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Duplicate Sequence") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class DuplicateSequence extends Plugin implements SequenceBlock { final protected VarSequence in = new VarSequence("sequence", null); final protected VarSequence out = new VarSequence("duplicated", null); @@ -51,17 +53,12 @@ public class DuplicateSequence extends Plugin implements SequenceBlock, PluginLi } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", in); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("duplicated", out); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/extract/CropCZT.java b/src/main/java/plugins/tprovoost/sequenceblocks/extract/CropCZT.java index 24aceb5..acbbcfa 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/extract/CropCZT.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/extract/CropCZT.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,19 +18,22 @@ package plugins.tprovoost.sequenceblocks.extract; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.sequence.Sequence; -import icy.sequence.SequenceUtil; -import icy.type.rectangle.Rectangle5D; +import org.bioimageanalysis.icy.common.geom.rectangle.Rectangle5D; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.bioimageanalysis.icy.model.sequence.SequenceUtil; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarInteger; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; -public class CropCZT extends Plugin implements SequenceBlock, PluginBundled { +@IcyPluginName("Crop CZT") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class CropCZT extends Plugin implements SequenceBlock { final protected VarSequence varSeq = new VarSequence("Sequence", null); final protected VarInteger varStartC = new VarInteger("Start index C", 0); final protected VarInteger varSizeC = new VarInteger("Size C", 1); @@ -70,12 +73,25 @@ public class CropCZT extends Plugin implements SequenceBlock, PluginBundled { if ((sizeC <= 0) || (sizeZ <= 0) || (sizeT <= 0)) throw new VarException(null, "Size C/Z/T cannot be <= 0 !"); - varOut.setValue(SequenceUtil.getSubSequence(seq, - new Rectangle5D.Integer(startX, startY, startZ, startT, startC, sizeX, sizeY, sizeZ, sizeT, sizeC))); + varOut.setValue(SequenceUtil.getSubSequence( + seq, + new Rectangle5D.Integer( + startX, + startY, + startZ, + startT, + startC, + sizeX, + sizeY, + sizeZ, + sizeT, + sizeC + ) + )); } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("Sequence", varSeq); inputMap.add("Start index C", varStartC); inputMap.add("Size C", varSizeC); @@ -86,12 +102,7 @@ public class CropCZT extends Plugin implements SequenceBlock, PluginBundled { } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("Out", varOut); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/extract/CropSequence.java b/src/main/java/plugins/tprovoost/sequenceblocks/extract/CropSequence.java index af08430..ee874f8 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/extract/CropSequence.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/extract/CropSequence.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,33 +18,35 @@ package plugins.tprovoost.sequenceblocks.extract; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.roi.ROI; -import icy.roi.ROIUtil; -import icy.sequence.Sequence; -import icy.sequence.SequenceUtil; -import icy.type.collection.CollectionUtil; -import icy.util.ShapeUtil.BooleanOperator; +import org.bioimageanalysis.icy.common.collection.CollectionUtil; +import org.bioimageanalysis.icy.common.geom.shape.ShapeUtil; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.roi.ROI; +import org.bioimageanalysis.icy.model.roi.ROIUtil; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.bioimageanalysis.icy.model.sequence.SequenceUtil; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.Var; import plugins.adufour.vars.lang.VarMutable; import plugins.adufour.vars.lang.VarSequence; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; import java.util.ArrayList; import java.util.List; /** - * @author thomasprovoost + * @author Thomas Provoost */ -public class CropSequence extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Crop Sequence") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class CropSequence extends Plugin implements SequenceBlock { final protected VarSequence inputSequence = new VarSequence("Sequence", null); VarMutable inputROIs = new VarMutable("ROI(s)", null) { @Override - public boolean isAssignableFrom(final Var source) { + public boolean isAssignableFrom(final @NotNull Var source) { return (ROI.class == source.getType()) || (ROI[].class == source.getType()); } }; @@ -72,7 +74,7 @@ public class CropSequence extends Plugin implements SequenceBlock, PluginLibrary rois = CollectionUtil.asList((ROI[]) obj); try { - final ROI roi = ROIUtil.merge(rois, BooleanOperator.OR); + final ROI roi = ROIUtil.merge(rois, ShapeUtil.BooleanOperator.OR); outputSequence.setValue(SequenceUtil.getSubSequence(s, roi)); } @@ -82,18 +84,13 @@ public class CropSequence extends Plugin implements SequenceBlock, PluginLibrary } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", inputSequence); inputMap.add("roi", inputROIs); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("cropped", outputSequence); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/extract/ExtractChannel.java b/src/main/java/plugins/tprovoost/sequenceblocks/extract/ExtractChannel.java index 0ec592d..3f3d184 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/extract/ExtractChannel.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/extract/ExtractChannel.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,22 +18,24 @@ package plugins.tprovoost.sequenceblocks.extract; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.Sequence; -import icy.sequence.SequenceUtil; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.bioimageanalysis.icy.model.sequence.SequenceUtil; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarInteger; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** - * @author thomasprovoost + * @author Thomas Provoost */ -public class ExtractChannel extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Extract Channel") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class ExtractChannel extends Plugin implements SequenceBlock { final protected VarSequence inputSequence = new VarSequence("Sequence", null); final protected VarSequence outputSequence = new VarSequence("Extracted", null); final protected VarInteger channelIdx = new VarInteger("Channel", 0); @@ -60,18 +62,13 @@ public class ExtractChannel extends Plugin implements SequenceBlock, PluginLibra } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", inputSequence); inputMap.add("channel", channelIdx); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("extracted", outputSequence); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/extract/ExtractMultiChannels.java b/src/main/java/plugins/tprovoost/sequenceblocks/extract/ExtractMultiChannels.java index b17f34b..4ec8e2d 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/extract/ExtractMultiChannels.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/extract/ExtractMultiChannels.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,24 +18,26 @@ package plugins.tprovoost.sequenceblocks.extract; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.Sequence; -import icy.sequence.SequenceUtil; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.bioimageanalysis.icy.model.sequence.SequenceUtil; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarIntegerArrayNative; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; import java.util.Arrays; /** - * @author thomasprovoost + * @author Thomas Provoost */ -public class ExtractMultiChannels extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Extract Multiple Channels") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class ExtractMultiChannels extends Plugin implements SequenceBlock { final protected VarSequence inputSequence = new VarSequence("Sequence", null); final protected VarSequence outputSequence = new VarSequence("Extracted", null); final protected VarIntegerArrayNative channelIdx = new VarIntegerArrayNative("Channel(s)", new int[]{0}); @@ -57,18 +59,13 @@ public class ExtractMultiChannels extends Plugin implements SequenceBlock, Plugi } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", inputSequence); inputMap.add("Channel", channelIdx); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("extracted", outputSequence); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/extract/ExtractSlice.java b/src/main/java/plugins/tprovoost/sequenceblocks/extract/ExtractSlice.java index 789aec4..154509d 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/extract/ExtractSlice.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/extract/ExtractSlice.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,22 +18,24 @@ package plugins.tprovoost.sequenceblocks.extract; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.Sequence; -import icy.sequence.SequenceUtil; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.bioimageanalysis.icy.model.sequence.SequenceUtil; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarInteger; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** - * @author thomasprovoost + * @author Thomas Provoost */ -public class ExtractSlice extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Extract Slice") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class ExtractSlice extends Plugin implements SequenceBlock { final protected VarSequence inputSequence = new VarSequence("Sequence", null); final protected VarSequence outputSequence = new VarSequence("Extracted", null); final protected VarInteger chosenZ = new VarInteger("Z", 0); @@ -48,18 +50,13 @@ public class ExtractSlice extends Plugin implements SequenceBlock, PluginLibrary } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", inputSequence); inputMap.add("Z pos", chosenZ); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("extracted", outputSequence); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/extract/ExtractTime.java b/src/main/java/plugins/tprovoost/sequenceblocks/extract/ExtractTime.java index 06f3aae..d123fa2 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/extract/ExtractTime.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/extract/ExtractTime.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,22 +18,24 @@ package plugins.tprovoost.sequenceblocks.extract; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.Sequence; -import icy.sequence.SequenceUtil; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.bioimageanalysis.icy.model.sequence.SequenceUtil; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarInteger; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** - * @author thomasprovoost + * @author Thomas Provoost */ -public class ExtractTime extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Extract Time") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class ExtractTime extends Plugin implements SequenceBlock { final protected VarSequence inputSequence = new VarSequence("Sequence", null); final protected VarSequence outputSequence = new VarSequence("Extracted", null); final protected VarInteger chosenT = new VarInteger("T", 0); @@ -48,18 +50,13 @@ public class ExtractTime extends Plugin implements SequenceBlock, PluginLibrary, } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", inputSequence); inputMap.add("T pos", chosenT); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("extracted", outputSequence); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/files/IsFileValid.java b/src/main/java/plugins/tprovoost/sequenceblocks/files/IsFileValid.java index c4a4b5d..5f5532e 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/files/IsFileValid.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/files/IsFileValid.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.tprovoost.sequenceblocks.files; -import icy.file.Loader; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.io.Loader; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.Var; import plugins.adufour.vars.lang.VarBoolean; import plugins.adufour.vars.lang.VarMutable; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; import java.io.File; /** * Block to know if a file represents an image file * - * @author Stephane + * @author Stephane Dallongeville */ -public class IsFileValid extends Plugin implements PluginLibrary, SequenceBlock, PluginBundled { +@IcyPluginName("Is Image File") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class IsFileValid extends Plugin implements SequenceBlock { final protected VarMutable f_in = new VarMutable("File", null) { @Override - public boolean isAssignableFrom(final Var source) { + public boolean isAssignableFrom(final @NotNull Var source) { return String.class == source.getType() || File.class == source.getType(); } }; @@ -61,17 +63,12 @@ public class IsFileValid extends Plugin implements PluginLibrary, SequenceBlock, } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("file", f_in); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("valid", result); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/files/LoadMetadata.java b/src/main/java/plugins/tprovoost/sequenceblocks/files/LoadMetadata.java index 3a513a6..f4e913c 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/files/LoadMetadata.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/files/LoadMetadata.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,31 +18,33 @@ package plugins.tprovoost.sequenceblocks.files; -import icy.file.Loader; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.MetaDataUtil; import ome.xml.meta.OMEXMLMetadata; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.io.Loader; +import org.bioimageanalysis.icy.model.sequence.MetaDataUtil; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.Var; import plugins.adufour.vars.lang.VarInteger; import plugins.adufour.vars.lang.VarMutable; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; import java.io.File; /** * Block to load Sequence metadata from a file * - * @author Stephane + * @author Stephane Dallongeville */ -public class LoadMetadata extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Load Metadata") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class LoadMetadata extends Plugin implements SequenceBlock { final protected VarMutable f_in = new VarMutable("File", null) { @Override - public boolean isAssignableFrom(final Var source) { + public boolean isAssignableFrom(final @NotNull Var source) { return (String.class == source.getType()) || (File.class == source.getType()); } }; @@ -75,18 +77,13 @@ public class LoadMetadata extends Plugin implements SequenceBlock, PluginLibrary } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("file", f_in); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("Metadata", output); outputMap.add("Serie number", numSerie); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/files/LoadSequence.java b/src/main/java/plugins/tprovoost/sequenceblocks/files/LoadSequence.java index 44acd9b..d52e71e 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/files/LoadSequence.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/files/LoadSequence.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,29 +18,31 @@ package plugins.tprovoost.sequenceblocks.files; -import icy.file.Loader; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.io.Loader; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.Var; import plugins.adufour.vars.lang.VarInteger; import plugins.adufour.vars.lang.VarMutable; import plugins.adufour.vars.lang.VarSequence; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; import java.io.File; /** * Block to load a Sequence from a file * - * @author Stephane + * @author Stephane Dallongeville */ -public class LoadSequence extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Load Sequence") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class LoadSequence extends Plugin implements SequenceBlock { final protected VarMutable f_in = new VarMutable("File", null) { @Override - public boolean isAssignableFrom(final Var source) { + public boolean isAssignableFrom(final @NotNull Var source) { return (String.class == source.getType()) || (File.class == source.getType()); } }; @@ -66,19 +68,14 @@ public class LoadSequence extends Plugin implements SequenceBlock, PluginLibrary } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("file", f_in); inputMap.add("serie", serie_in); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("sequence", outputSequence); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/files/LoadSubSequence.java b/src/main/java/plugins/tprovoost/sequenceblocks/files/LoadSubSequence.java index 4e0ed0f..543e476 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/files/LoadSubSequence.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/files/LoadSubSequence.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,26 +18,28 @@ package plugins.tprovoost.sequenceblocks.files; -import icy.file.Loader; -import icy.file.SequenceFileImporter; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.roi.ROI; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.io.Loader; +import org.bioimageanalysis.icy.io.SequenceFileImporter; +import org.bioimageanalysis.icy.model.roi.ROI; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.io.IOBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.*; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; import java.io.File; /** * Block to returns a Sequence with the given parameters from the specified closed) SequenceFileImporter. * - * @author Stephane + * @author Stephane Dallongeville */ -public class LoadSubSequence extends Plugin implements IOBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Load Sub-Sequence") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class LoadSubSequence extends Plugin implements IOBlock { final protected Var<SequenceFileImporter> importer; final protected VarMutable file; final protected VarInteger series; @@ -126,7 +128,7 @@ public class LoadSubSequence extends Plugin implements IOBlock, PluginLibrary, P } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("file", file); inputMap.add("importer", importer); inputMap.add("series", series); @@ -141,12 +143,7 @@ public class LoadSubSequence extends Plugin implements IOBlock, PluginLibrary, P } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("sequence", sequence); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/files/SaveMetadata.java b/src/main/java/plugins/tprovoost/sequenceblocks/files/SaveMetadata.java index 7fadf75..8ad3e5d 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/files/SaveMetadata.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/files/SaveMetadata.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,23 +18,25 @@ package plugins.tprovoost.sequenceblocks.files; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarBoolean; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Block to save Sequence metadata * - * @author Stephane + * @author Stephane Dallongeville */ -public class SaveMetadata extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Save Metadata") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class SaveMetadata extends Plugin implements SequenceBlock { final protected VarSequence sequence = new VarSequence("Sequence", null); final protected VarBoolean success = new VarBoolean("Success", Boolean.FALSE); @@ -48,17 +50,12 @@ public class SaveMetadata extends Plugin implements SequenceBlock, PluginLibrary } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", sequence); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("success", success); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/files/SaveSequence.java b/src/main/java/plugins/tprovoost/sequenceblocks/files/SaveSequence.java index 5946db4..2a334c3 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/files/SaveSequence.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/files/SaveSequence.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,30 +18,32 @@ package plugins.tprovoost.sequenceblocks.files; -import icy.file.FileUtil; -import icy.file.ImageFileFormat; -import icy.file.Saver; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.io.FileUtil; +import org.bioimageanalysis.icy.io.ImageFileFormat; +import org.bioimageanalysis.icy.io.Saver; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.*; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; import java.io.File; /** * Block to save a Sequence into a file * - * @author Stephane + * @author Stephane Dallongeville */ -public class SaveSequence extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Save Sequence") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class SaveSequence extends Plugin implements SequenceBlock { final protected VarMutable f_in = new VarMutable("File", null) { @Override - public boolean isAssignableFrom(final Var source) { + public boolean isAssignableFrom(final @NotNull Var source) { return String.class == source.getType() || File.class == source.getType(); } }; @@ -83,7 +85,7 @@ public class SaveSequence extends Plugin implements SequenceBlock, PluginLibrary } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("file", f_in); inputMap.add("sequence", sequence); inputMap.add("format", format); @@ -95,9 +97,4 @@ public class SaveSequence extends Plugin implements SequenceBlock, PluginLibrary public void declareOutput(final VarList outputMap) { // } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/images/AddImage.java b/src/main/java/plugins/tprovoost/sequenceblocks/images/AddImage.java index bddbd90..a62971e 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/images/AddImage.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/images/AddImage.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,24 +18,26 @@ package plugins.tprovoost.sequenceblocks.images; -import icy.image.IcyBufferedImage; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.image.IcyBufferedImage; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.Var; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Add an image to the Sequence. * - * @author thomasprovoost + * @author Thomas Provoost */ -public class AddImage extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Add Image") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class AddImage extends Plugin implements SequenceBlock { final protected Var<IcyBufferedImage> in = new Var<>("Image", IcyBufferedImage.class); final protected VarSequence varSeq = new VarSequence("Sequence", null); @@ -48,7 +50,7 @@ public class AddImage extends Plugin implements SequenceBlock, PluginLibrary, Pl } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", varSeq); inputMap.add("image", in); } @@ -57,9 +59,4 @@ public class AddImage extends Plugin implements SequenceBlock, PluginLibrary, Pl public void declareOutput(final VarList outputMap) { // } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/images/AsImageArray.java b/src/main/java/plugins/tprovoost/sequenceblocks/images/AsImageArray.java index a9d5193..6833000 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/images/AsImageArray.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/images/AsImageArray.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,24 +18,26 @@ package plugins.tprovoost.sequenceblocks.images; -import icy.image.IcyBufferedImage; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.image.IcyBufferedImage; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarArray; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Returns all images from the Sequence as an image array. * - * @author thomasprovoost + * @author Thomas Provoost */ -public class AsImageArray extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Get Images") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class AsImageArray extends Plugin implements SequenceBlock { final protected VarArray<IcyBufferedImage> out = new VarArray<>("Image array", IcyBufferedImage[].class, null); final protected VarSequence varSeq = new VarSequence("Sequence", null); @@ -48,17 +50,12 @@ public class AsImageArray extends Plugin implements SequenceBlock, PluginLibrary } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", varSeq); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("image array", out); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/images/GetImage.java b/src/main/java/plugins/tprovoost/sequenceblocks/images/GetImage.java index 71c0775..92774af 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/images/GetImage.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/images/GetImage.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,25 +18,27 @@ package plugins.tprovoost.sequenceblocks.images; -import icy.image.IcyBufferedImage; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.image.IcyBufferedImage; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.Var; import plugins.adufour.vars.lang.VarInteger; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Get the image at the given [T,Z] position from the Sequence. * - * @author thomasprovoost + * @author Thomas Provoost */ -public class GetImage extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Get Image") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class GetImage extends Plugin implements SequenceBlock { final protected VarSequence varSeq = new VarSequence("Sequence", null); final protected VarInteger imgIdxT = new VarInteger("T", -1); final protected VarInteger imgIdxZ = new VarInteger("Z", -1); @@ -51,19 +53,14 @@ public class GetImage extends Plugin implements SequenceBlock, PluginLibrary, Pl } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", varSeq); inputMap.add("Idx T", imgIdxT); inputMap.add("Idx Z", imgIdxZ); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("out", out); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/images/RemoveImage.java b/src/main/java/plugins/tprovoost/sequenceblocks/images/RemoveImage.java index ff67393..dfeeccc 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/images/RemoveImage.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/images/RemoveImage.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,23 +18,25 @@ package plugins.tprovoost.sequenceblocks.images; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarInteger; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Remove an image from the Sequence. * - * @author thomasprovoost + * @author Thomas Provoost */ -public class RemoveImage extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Remove Image") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class RemoveImage extends Plugin implements SequenceBlock { VarSequence varSeq = new VarSequence("Sequence", null); VarInteger imgIdxT = new VarInteger("T", 0); VarInteger imgIdxZ = new VarInteger("Z", 0); @@ -49,7 +51,7 @@ public class RemoveImage extends Plugin implements SequenceBlock, PluginLibrary, } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", varSeq); inputMap.add("Idx T", imgIdxT); inputMap.add("Idx Z", imgIdxZ); @@ -59,9 +61,4 @@ public class RemoveImage extends Plugin implements SequenceBlock, PluginLibrary, public void declareOutput(final VarList outputMap) { // } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/images/SetImage.java b/src/main/java/plugins/tprovoost/sequenceblocks/images/SetImage.java index 433321b..f8e9d63 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/images/SetImage.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/images/SetImage.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,25 +18,27 @@ package plugins.tprovoost.sequenceblocks.images; -import icy.image.IcyBufferedImage; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.image.IcyBufferedImage; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.Var; import plugins.adufour.vars.lang.VarInteger; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Set an image at the given [T,Z] position from the Sequence. * - * @author thomasprovoost + * @author Thomas Provoost */ -public class SetImage extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Set Iamge") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class SetImage extends Plugin implements SequenceBlock { Var<IcyBufferedImage> in = new Var<>("Image", IcyBufferedImage.class); VarSequence varSeq = new VarSequence("Sequence", null); VarInteger imgIdxT = new VarInteger("T", 0); @@ -51,7 +53,7 @@ public class SetImage extends Plugin implements SequenceBlock, PluginLibrary, Pl } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", varSeq); inputMap.add("image", in); inputMap.add("Idx T", imgIdxT); @@ -62,9 +64,4 @@ public class SetImage extends Plugin implements SequenceBlock, PluginLibrary, Pl public void declareOutput(final VarList outputMap) { // } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/importer/PositionedSequenceFileImporter.java b/src/main/java/plugins/tprovoost/sequenceblocks/importer/PositionedSequenceFileImporter.java index 3485794..3ee88cc 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/importer/PositionedSequenceFileImporter.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/importer/PositionedSequenceFileImporter.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,19 +18,19 @@ package plugins.tprovoost.sequenceblocks.importer; -import icy.common.exception.UnsupportedFormatException; -import icy.file.SequenceFileImporter; -import icy.sequence.MetaDataUtil; import ome.xml.meta.OMEXMLMetadata; +import org.bioimageanalysis.icy.io.SequenceFileImporter; +import org.bioimageanalysis.icy.model.sequence.MetaDataUtil; +import org.jetbrains.annotations.Contract; +import org.jetbrains.annotations.NotNull; import java.awt.*; -import java.io.IOException; /** * This class allow to use a {@link SequenceFileImporter} while storing a current position information to make its usage * more convenient with Protocols. * - * @author Stephane + * @author Stephane Dallongeville */ public class PositionedSequenceFileImporter { public SequenceFileImporter importer; @@ -41,7 +41,16 @@ public class PositionedSequenceFileImporter { public int c; public Rectangle xyRegion; - public PositionedSequenceFileImporter(final SequenceFileImporter importer, final OMEXMLMetadata metadata, final int s, final int t, final int z, final int c, final Rectangle xyRegion) { + @Contract(pure = true) + public PositionedSequenceFileImporter( + final SequenceFileImporter importer, + final OMEXMLMetadata metadata, + final int s, + final int t, + final int z, + final int c, + final Rectangle xyRegion + ) { super(); this.importer = importer; @@ -53,11 +62,13 @@ public class PositionedSequenceFileImporter { this.c = c; } + @Contract(pure = true) public PositionedSequenceFileImporter(final SequenceFileImporter importer) { this(importer, null, -1, -1, -1, -1, null); } - public PositionedSequenceFileImporter(final PositionedSequenceFileImporter positionedImporter) { + @Contract(pure = true) + public PositionedSequenceFileImporter(final @NotNull PositionedSequenceFileImporter positionedImporter) { this( positionedImporter.importer, positionedImporter.metadata, @@ -69,7 +80,7 @@ public class PositionedSequenceFileImporter { ); } - public OMEXMLMetadata getMetadata() throws UnsupportedFormatException, IOException, InterruptedException { + public OMEXMLMetadata getMetadata() throws Exception { // not yet defined --> take it from importer if possible if ((metadata == null) && (importer.getOpened() != null)) { metadata = importer.getOMEXMLMetaData(); diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterClose.java b/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterClose.java index 57ef466..c6116ef 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterClose.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterClose.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,21 +18,23 @@ package plugins.tprovoost.sequenceblocks.importer; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.io.IOBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.Var; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Block to close currently opened SequenceFileImporter. * - * @author Stephane + * @author Stephane Dallongeville */ -public class SequenceFileImporterClose extends Plugin implements IOBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Close SequenceFileImporter") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class SequenceFileImporterClose extends Plugin implements IOBlock { final protected Var<PositionedSequenceFileImporter> importer; public SequenceFileImporterClose() { @@ -57,7 +59,7 @@ public class SequenceFileImporterClose extends Plugin implements IOBlock, Plugin } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("importer", importer); } @@ -65,9 +67,4 @@ public class SequenceFileImporterClose extends Plugin implements IOBlock, Plugin public void declareOutput(final VarList outputMap) { // } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetImage.java b/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetImage.java index dbfbc9b..fd531d6 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetImage.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetImage.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.tprovoost.sequenceblocks.importer; -import icy.file.SequenceFileImporter; -import icy.image.IcyBufferedImage; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.roi.ROI; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.io.SequenceFileImporter; +import org.bioimageanalysis.icy.model.image.IcyBufferedImage; +import org.bioimageanalysis.icy.model.roi.ROI; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.io.IOBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.Var; import plugins.adufour.vars.lang.VarInteger; import plugins.adufour.vars.lang.VarROIArray; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; import java.awt.*; /** * Block to returns an image from the given parameters and opened SequenceFileImporter. * - * @author Stephane + * @author Stephane Dallongeville */ -public class SequenceFileImporterGetImage extends Plugin implements IOBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Get Image from SequenceFileImporter") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class SequenceFileImporterGetImage extends Plugin implements IOBlock { final protected Var<PositionedSequenceFileImporter> importer; final protected VarInteger series; final protected VarInteger resolution; @@ -111,7 +113,7 @@ public class SequenceFileImporterGetImage extends Plugin implements IOBlock, Plu } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("importer", importer); inputMap.add("series", series); inputMap.add("resolution", resolution); @@ -122,12 +124,7 @@ public class SequenceFileImporterGetImage extends Plugin implements IOBlock, Plu } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("image", image); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetMetadata.java b/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetMetadata.java index 06f9280..1c955c4 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetMetadata.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetMetadata.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,27 +18,29 @@ package plugins.tprovoost.sequenceblocks.importer; -import icy.file.SequenceFileImporter; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.MetaDataUtil; import ome.xml.meta.OMEXMLMetadata; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.io.SequenceFileImporter; +import org.bioimageanalysis.icy.model.sequence.MetaDataUtil; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.io.IOBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.Var; import plugins.adufour.vars.lang.VarInteger; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; import plugins.tprovoost.sequenceblocks.infos.ReadMetadata; /** * Block to returns the metadata from the specified opened SequenceFileImporter. * - * @author Stephane + * @author Stephane Dallongeville * @see ReadMetadata */ -public class SequenceFileImporterGetMetadata extends Plugin implements IOBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Get Metadata from SequenceFileImporter") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class SequenceFileImporterGetMetadata extends Plugin implements IOBlock { final protected Var<PositionedSequenceFileImporter> importer; final protected Var<OMEXMLMetadata> metadata; final protected VarInteger numSeries; @@ -77,18 +79,13 @@ public class SequenceFileImporterGetMetadata extends Plugin implements IOBlock, } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("importer", importer); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("metadata", metadata); outputMap.add("numSerie", numSeries); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetThumbnail.java b/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetThumbnail.java index a8057ce..9e93389 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetThumbnail.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetThumbnail.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,24 +18,26 @@ package plugins.tprovoost.sequenceblocks.importer; -import icy.file.SequenceFileImporter; -import icy.image.IcyBufferedImage; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.io.SequenceFileImporter; +import org.bioimageanalysis.icy.model.image.IcyBufferedImage; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.io.IOBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.Var; import plugins.adufour.vars.lang.VarInteger; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Block to returns a thumbnail from the specified opened SequenceFileImporter. * - * @author Stephane + * @author Stephane Dallongeville */ -public class SequenceFileImporterGetThumbnail extends Plugin implements IOBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Get Thumbnail from SequenceFileImporter") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class SequenceFileImporterGetThumbnail extends Plugin implements IOBlock { final protected Var<PositionedSequenceFileImporter> importer; final protected VarInteger series; final protected Var<IcyBufferedImage> thumbnail; @@ -71,18 +73,13 @@ public class SequenceFileImporterGetThumbnail extends Plugin implements IOBlock, } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("importer", importer); inputMap.add("series", series); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("thumbnail", thumbnail); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetTileSize.java b/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetTileSize.java index 3d7f3c9..c4e5904 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetTileSize.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetTileSize.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,23 +18,25 @@ package plugins.tprovoost.sequenceblocks.importer; -import icy.file.SequenceFileImporter; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.io.SequenceFileImporter; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.io.IOBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.Var; import plugins.adufour.vars.lang.VarInteger; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Block to returns the optimal tile size for region reading from the specified opened SequenceFileImporter. * - * @author Stephane + * @author Stephane Dallongeville */ -public class SequenceFileImporterGetTileSize extends Plugin implements IOBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Get Tile Size from SequenceFileImporter") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class SequenceFileImporterGetTileSize extends Plugin implements IOBlock { final protected Var<PositionedSequenceFileImporter> importer; final protected VarInteger series; final protected VarInteger tileW; @@ -73,19 +75,14 @@ public class SequenceFileImporterGetTileSize extends Plugin implements IOBlock, } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("importer", importer); inputMap.add("series", series); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("tileW", tileW); outputMap.add("tileH", tileH); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterLoadSequence.java b/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterLoadSequence.java index 9a8b57e..3269141 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterLoadSequence.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterLoadSequence.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,13 +18,14 @@ package plugins.tprovoost.sequenceblocks.importer; -import icy.file.Loader; -import icy.file.SequenceFileImporter; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.roi.ROI; import ome.xml.meta.OMEXMLMetadata; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.io.Loader; +import org.bioimageanalysis.icy.io.SequenceFileImporter; +import org.bioimageanalysis.icy.model.roi.ROI; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.io.IOBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.Var; @@ -32,16 +33,17 @@ import plugins.adufour.vars.lang.VarInteger; import plugins.adufour.vars.lang.VarROIArray; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; import java.awt.*; /** * Block to returns a Sequence from the given parameters and opened SequenceFileImporter. * - * @author Stephane + * @author Stephane Dallongeville */ -public class SequenceFileImporterLoadSequence extends Plugin implements IOBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Load Sequence from SequenceFileImporter") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class SequenceFileImporterLoadSequence extends Plugin implements IOBlock { final protected Var<PositionedSequenceFileImporter> importer; final protected VarInteger series; final protected VarInteger resolution; @@ -126,7 +128,7 @@ public class SequenceFileImporterLoadSequence extends Plugin implements IOBlock, } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("importer", importer); inputMap.add("series", series); inputMap.add("resolution", resolution); @@ -139,12 +141,7 @@ public class SequenceFileImporterLoadSequence extends Plugin implements IOBlock, } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("sequence", sequence); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterOpen.java b/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterOpen.java index 374b4af..ea2f5f5 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterOpen.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterOpen.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,12 +18,13 @@ package plugins.tprovoost.sequenceblocks.importer; -import icy.file.Loader; -import icy.file.SequenceFileImporter; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.util.ClassUtil; +import org.bioimageanalysis.icy.common.reflect.ClassUtil; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.io.Loader; +import org.bioimageanalysis.icy.io.SequenceFileImporter; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.io.IOBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.gui.model.ValueSelectionModel; @@ -32,7 +33,6 @@ import plugins.adufour.vars.lang.VarInteger; import plugins.adufour.vars.lang.VarMutable; import plugins.adufour.vars.lang.VarString; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; import java.io.File; import java.util.ArrayList; @@ -43,9 +43,11 @@ import java.util.Map; /** * Block to open a file with a given SequenceFileImporter. * - * @author Stephane + * @author Stephane Dallongeville */ -public class SequenceFileImporterOpen extends Plugin implements IOBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Open File w/ SequenceFileImporter") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class SequenceFileImporterOpen extends Plugin implements IOBlock { final static String ID_AUTO = "Automatic"; final protected VarString importerName; @@ -82,7 +84,7 @@ public class SequenceFileImporterOpen extends Plugin implements IOBlock, PluginL } // initialize importer selector field - importerName.setDefaultEditorModel(new ValueSelectionModel<>(importersName.toArray(new String[0]), importersName.get(0), false)); + importerName.setDefaultEditorModel(new ValueSelectionModel<>(importersName.toArray(new String[0]), importersName.getFirst(), false)); importer = new Var<>("Importer", PositionedSequenceFileImporter.class); file = new VarMutable("File", null) { @@ -132,19 +134,14 @@ public class SequenceFileImporterOpen extends Plugin implements IOBlock, PluginL } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("name", importerName); inputMap.add("file", file); inputMap.add("flag", flag); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("importer", importer); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/infos/CreateLinearColormap.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/CreateLinearColormap.java index 5251a07..96fdfef 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/infos/CreateLinearColormap.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/infos/CreateLinearColormap.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,9 +18,11 @@ package plugins.tprovoost.sequenceblocks.infos; -import icy.image.colormap.LinearColorMap; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.colormap.LinearColorMap; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarColor; @@ -31,20 +33,22 @@ import java.awt.*; /** * Block to create a linear colormap from a color value * - * @author Stephane + * @author Stephane Dallongeville * @see SetColormap */ -public class CreateLinearColormap extends Plugin implements SequenceBlock, PluginBundled { +@IcyPluginName("Create Linear Colormap") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class CreateLinearColormap extends Plugin implements SequenceBlock { private final VarColor color = new VarColor("Color", Color.white); private final VarColormap colormap = new VarColormap("Color map", LinearColorMap.gray_); @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("input", color); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("output", colormap); } @@ -52,9 +56,4 @@ public class CreateLinearColormap extends Plugin implements SequenceBlock, Plugi public void run() { colormap.setValue(new LinearColorMap("color", color.getValue())); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/infos/Dimensions.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/Dimensions.java index 97d49b1..112f498 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/infos/Dimensions.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/infos/Dimensions.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,21 +18,23 @@ package plugins.tprovoost.sequenceblocks.infos; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarInteger; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** - * @author thomasprovoost + * @author Thomas Provoost */ -public class Dimensions extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Get Sequence Dimensions") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class Dimensions extends Plugin implements SequenceBlock { VarSequence varSeq = new VarSequence("Sequence", null); VarInteger sizeZ = new VarInteger("Size Z", 1); VarInteger sizeT = new VarInteger("Size T", 1); @@ -54,21 +56,16 @@ public class Dimensions extends Plugin implements SequenceBlock, PluginLibrary, } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", varSeq); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("width", width); outputMap.add("height", height); outputMap.add("size C", sizeC); outputMap.add("size Z", sizeZ); outputMap.add("size T", sizeT); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/infos/EzVarColormap.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/EzVarColormap.java index 99c314b..de620dc 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/infos/EzVarColormap.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/infos/EzVarColormap.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,7 +18,7 @@ package plugins.tprovoost.sequenceblocks.infos; -import icy.image.colormap.IcyColorMap; +import org.bioimageanalysis.icy.model.colormap.IcyColorMap; import plugins.adufour.ezplug.EzVar; import plugins.tprovoost.sequenceblocks.infos.VarColormap.ColormapSelectionModel; diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetChannelName.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetChannelName.java index 322a46f..114a889 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetChannelName.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetChannelName.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,21 +18,24 @@ package plugins.tprovoost.sequenceblocks.infos; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarInteger; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.lang.VarString; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** - * @author thomasprovoost + * @author Thomas Provoost */ -public class GetChannelName extends Plugin implements SequenceBlock, PluginBundled { +@IcyPluginName("Get Channel Name") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class GetChannelName extends Plugin implements SequenceBlock { private final VarSequence varSequence = new VarSequence("Sequence", null); private final VarInteger varIdx = new VarInteger("Channel", 0); private final VarString varName = new VarString("Name", ""); @@ -51,18 +54,13 @@ public class GetChannelName extends Plugin implements SequenceBlock, PluginBundl } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", varSequence); inputMap.add("index", varIdx); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("name", varName); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetChannelsName.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetChannelsName.java index 2daceba..f5e805f 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetChannelsName.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetChannelsName.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,15 +18,16 @@ package plugins.tprovoost.sequenceblocks.infos; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarArray; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; import java.util.ArrayList; import java.util.List; @@ -34,11 +35,13 @@ import java.util.List; /** * Block to retrieve all channels name from a given sequence * - * @author Stephane + * @author Stephane Dallongeville * @see GetChannelName * @see SetChannelsName */ -public class GetChannelsName extends Plugin implements SequenceBlock, PluginBundled { +@IcyPluginName("Get Channels Name") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class GetChannelsName extends Plugin implements SequenceBlock { private final VarSequence varSequence = new VarSequence("Sequence", null); private final VarArray<String> varNames = new VarArray<>("Names", String[].class, new String[0]); @@ -57,17 +60,12 @@ public class GetChannelsName extends Plugin implements SequenceBlock, PluginBund } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", varSequence); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("names", varNames); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetColormap.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetColormap.java index 95b76ad..d0ef456 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetColormap.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetColormap.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,36 +18,39 @@ package plugins.tprovoost.sequenceblocks.infos; -import icy.image.colormap.LinearColorMap; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.colormap.LinearColorMap; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.BlocksException; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarInteger; import plugins.adufour.vars.lang.VarSequence; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Block to retrieve a channel colormap from a given sequence * - * @author Stephane + * @author Stephane Dallongeville * @see SetColormap */ -public class GetColormap extends Plugin implements SequenceBlock, PluginBundled { +@IcyPluginName("Get Colormap") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class GetColormap extends Plugin implements SequenceBlock { private final VarSequence sequenceIn = new VarSequence("Sequence", null); private final VarInteger numChannel = new VarInteger("Channel", 0); private final VarColormap colormap = new VarColormap("Color map", LinearColorMap.gray_); @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("input", sequenceIn); inputMap.add("numChannel", numChannel); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("output", colormap); } @@ -64,9 +67,4 @@ public class GetColormap extends Plugin implements SequenceBlock, PluginBundled throw new BlocksException("Block 'Get Colormap': illegal channel number for this sequence !", true); } } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetColormaps.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetColormaps.java index 3654a05..be27e35 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetColormaps.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetColormaps.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,16 +18,17 @@ package plugins.tprovoost.sequenceblocks.infos; -import icy.image.colormap.IcyColorMap; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.colormap.IcyColorMap; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarArray; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; import java.util.ArrayList; import java.util.List; @@ -35,20 +36,22 @@ import java.util.List; /** * Block to retrieve all channels colormap from a given sequence * - * @author Stephane + * @author Stephane Dallongeville * @see SetColormaps */ -public class GetColormaps extends Plugin implements SequenceBlock, PluginBundled { +@IcyPluginName("Get Colormaps") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class GetColormaps extends Plugin implements SequenceBlock { private final VarSequence sequenceIn = new VarSequence("Sequence", null); private final VarArray<IcyColorMap> colormaps = new VarArray<>("Color maps", IcyColorMap[].class, new IcyColorMap[0]); @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("input", sequenceIn); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("Colormaps", colormaps); } @@ -65,9 +68,4 @@ public class GetColormaps extends Plugin implements SequenceBlock, PluginBundled colormaps.setValue(cms.toArray(new IcyColorMap[0])); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetDataType.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetDataType.java index 283b759..9de9bc8 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetDataType.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetDataType.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,23 +18,26 @@ package plugins.tprovoost.sequenceblocks.infos; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.sequence.Sequence; -import icy.type.DataType; +import org.bioimageanalysis.icy.common.type.DataType; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarEnum; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Returns the DataType of the Sequence object * - * @author Stephane + * @author Stephane Dallongeville */ -public class GetDataType extends Plugin implements SequenceBlock, PluginBundled { +@IcyPluginName("Get DataType") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class GetDataType extends Plugin implements SequenceBlock { final protected VarSequence varSequence = new VarSequence("Sequence", null); final protected VarEnum<DataType> type = new VarEnum<>("Data type", DataType.UBYTE); @@ -43,21 +46,16 @@ public class GetDataType extends Plugin implements SequenceBlock, PluginBundled final Sequence s = varSequence.getValue(); if (s == null) throw new VarException(varSequence, "Sequence is null"); - type.setValue(s.getDataType_()); + type.setValue(s.getDataType()); } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", varSequence); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("type", type); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetFileName.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetFileName.java index 0bc1e12..37dd5ee 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetFileName.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetFileName.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,24 +18,27 @@ package plugins.tprovoost.sequenceblocks.infos; -import icy.file.FileUtil; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.io.FileUtil; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarBoolean; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.lang.VarString; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Returns the origin filename (from where the sequence has been loaded / saved) * - * @author Stephane + * @author Stephane Dallongeville */ -public class GetFileName extends Plugin implements SequenceBlock, PluginBundled { +@IcyPluginName("Get File Name") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class GetFileName extends Plugin implements SequenceBlock { final protected VarSequence varSequence = new VarSequence("Sequence", null); final protected VarString filename = new VarString("Filename", ""); final protected VarBoolean withFolder = new VarBoolean("Folder", Boolean.TRUE); @@ -61,19 +64,14 @@ public class GetFileName extends Plugin implements SequenceBlock, PluginBundled } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", varSequence); inputMap.add("folder", withFolder); inputMap.add("extension", withExtension); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("name", filename); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } \ No newline at end of file diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetMetaData.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetMetaData.java index 4f51fdf..2844031 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetMetaData.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetMetaData.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,26 +18,29 @@ package plugins.tprovoost.sequenceblocks.infos; -import icy.math.UnitUtil; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.sequence.Sequence; import ome.xml.meta.OMEXMLMetadata; +import org.bioimageanalysis.icy.common.math.UnitUtil; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.*; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; import java.awt.*; /** * Block to return metadata information from a Sequence object. * - * @author Stephane + * @author Stephane Dallongeville * @see ReadMetadata */ -public class GetMetaData extends Plugin implements SequenceBlock, PluginBundled { +@IcyPluginName("Get Metadata") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class GetMetaData extends Plugin implements SequenceBlock { final protected VarSequence varSequence = new VarSequence("Sequence", null); final protected Var<OMEXMLMetadata> metaData = new Var<>("Metadata", OMEXMLMetadata.class); final protected VarString name = new VarString("Name", ""); @@ -84,12 +87,12 @@ public class GetMetaData extends Plugin implements SequenceBlock, PluginBundled } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", varSequence); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("metadata", metaData); outputMap.add("name", name); outputMap.add("seriesIndex", seriesIndex); @@ -108,9 +111,4 @@ public class GetMetaData extends Plugin implements SequenceBlock, PluginBundled outputMap.add("originTMax", originTMax); outputMap.add("originChannel", originChannel); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetName.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetName.java index 46a6ed6..99d6d1a 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetName.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetName.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,22 +18,25 @@ package plugins.tprovoost.sequenceblocks.infos; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.lang.VarString; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Returns the name of the Sequence object * - * @author Stephane + * @author Stephane Dallongeville */ -public class GetName extends Plugin implements SequenceBlock, PluginBundled { +@IcyPluginName("Get Name") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class GetName extends Plugin implements SequenceBlock { final protected VarSequence varSequence = new VarSequence("Sequence", null); final protected VarString name = new VarString("Name", ""); @@ -46,17 +49,12 @@ public class GetName extends Plugin implements SequenceBlock, PluginBundled { } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", varSequence); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("name", name); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetOutputFilename.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetOutputFilename.java index 55e7085..ba636cd 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetOutputFilename.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetOutputFilename.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,24 +18,27 @@ package plugins.tprovoost.sequenceblocks.infos; -import icy.file.FileUtil; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.io.FileUtil; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarBoolean; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.lang.VarString; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Returns the output filename generated from origin filename and internal partitioning information * - * @author Stephane + * @author Stephane Dallongeville */ -public class GetOutputFilename extends Plugin implements SequenceBlock, PluginBundled { +@IcyPluginName("Get Output File Name") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class GetOutputFilename extends Plugin implements SequenceBlock { final protected VarSequence varSequence = new VarSequence("Sequence", null); final protected VarString outFilename = new VarString("Output filename", ""); final protected VarBoolean withFolder = new VarBoolean("Folder", Boolean.TRUE); @@ -56,19 +59,14 @@ public class GetOutputFilename extends Plugin implements SequenceBlock, PluginBu } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", varSequence); inputMap.add("folder", withFolder); inputMap.add("extension", withExtension); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("outFilename", outFilename); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } \ No newline at end of file diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetResolution.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetResolution.java index 0323af8..4e3b0fc 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetResolution.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetResolution.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,25 +18,28 @@ package plugins.tprovoost.sequenceblocks.infos; -import icy.math.UnitUtil; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.common.math.UnitUtil; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarDouble; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Block to return pixel size and time interval information from a Sequence object. * - * @author Stephane + * @author Stephane Dallongeville * @see ReadMetadata * @see GetMetaData */ -public class GetResolution extends Plugin implements SequenceBlock, PluginBundled { +@IcyPluginName("Get Sequence Resolution") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class GetResolution extends Plugin implements SequenceBlock { final protected VarSequence varSequence = new VarSequence("Sequence", null); final protected VarDouble pxSizeX = new VarDouble("Pixel Size X (" + UnitUtil.MICRO_STRING + "m)", 1d); final protected VarDouble pxSizeY = new VarDouble("Pixel Size Y (" + UnitUtil.MICRO_STRING + "m)", 1d); @@ -58,20 +61,15 @@ public class GetResolution extends Plugin implements SequenceBlock, PluginBundle } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", varSequence); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("Pixel Size X (" + UnitUtil.MICRO_STRING + "m)", pxSizeX); outputMap.add("Pixel Size Y (" + UnitUtil.MICRO_STRING + "m)", pxSizeY); outputMap.add("Pixel Size Z (" + UnitUtil.MICRO_STRING + "m)", pxSizeZ); outputMap.add("Time interval T (s)", timeIntT); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetRoisAsRegion.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetRoisAsRegion.java index bc4a279..406c7aa 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetRoisAsRegion.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetRoisAsRegion.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,12 +18,14 @@ package plugins.tprovoost.sequenceblocks.infos; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.roi.ROI; -import icy.sequence.Sequence; -import icy.sequence.SequenceUtil; +import org.bioimageanalysis.extension.kernel.roi.roi2d.ROI2DRectangle; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.roi.ROI; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.bioimageanalysis.icy.model.sequence.SequenceUtil; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarBoolean; @@ -31,8 +33,6 @@ import plugins.adufour.vars.lang.VarEnum; import plugins.adufour.vars.lang.VarROIArray; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.kernel.roi.roi2d.ROI2DRectangle; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; import java.awt.*; import java.util.ArrayList; @@ -43,9 +43,11 @@ import java.util.List; * The <i>origin resolution</i> parameter indicate if we want to rescale ROI to the original image resolution in case we * have a Sequence which represents a sub resolution of the original image. * - * @author Stephane + * @author Stephane Dallongeville */ -public class GetRoisAsRegion extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Get ROIs as Region") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class GetRoisAsRegion extends Plugin implements SequenceBlock { public enum TypeSelection { ALL, SELECTED } @@ -55,6 +57,7 @@ public class GetRoisAsRegion extends Plugin implements SequenceBlock, PluginLibr final protected VarBoolean originResolution = new VarBoolean("Origin resolution", Boolean.TRUE); final protected VarROIArray regionsRois = new VarROIArray("Region ROI(s)", null); + @SuppressWarnings("SwitchStatementWithTooFewBranches") @Override public void run() { final Sequence sequence = inputSequence.getValue(); @@ -64,15 +67,10 @@ public class GetRoisAsRegion extends Plugin implements SequenceBlock, PluginLibr final List<ROI> rois; final List<ROI2DRectangle> result = new ArrayList<>(); - switch (type.getValue()) { - default: - case ALL: - rois = sequence.getROIs(); - break; - case SELECTED: - rois = sequence.getSelectedROIs(); - break; - } + rois = switch (type.getValue()) { + default -> sequence.getROIs(); + case SELECTED -> sequence.getSelectedROIs(); + }; final boolean scale = originResolution.getValue(); @@ -93,19 +91,14 @@ public class GetRoisAsRegion extends Plugin implements SequenceBlock, PluginLibr } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", inputSequence); inputMap.add("type", type); inputMap.add("originResolution", originResolution); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("regionsRois", regionsRois); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetSequenceProperty.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetSequenceProperty.java index 65a6838..a576580 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetSequenceProperty.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetSequenceProperty.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,15 +18,15 @@ package plugins.tprovoost.sequenceblocks.infos; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.lang.VarString; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Block to retrieve value (in String format) of a Sequence property (name, pixel size, custom...)<br> @@ -48,9 +48,11 @@ import plugins.tprovoost.sequenceblocks.SequenceBlocks; * <li><i>virtual</i> = virtual mode enabled on the dataset</li> * </ul> * - * @author Stephane + * @author Stephane Dallongeville */ -public class GetSequenceProperty extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Get Sequence Property") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class GetSequenceProperty extends Plugin implements SequenceBlock { protected VarSequence sequence = new VarSequence("Sequence", null); protected VarString propertyName = new VarString("Property", "name"); protected VarString value = new VarString("Value", ""); @@ -64,18 +66,13 @@ public class GetSequenceProperty extends Plugin implements SequenceBlock, Plugin } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", sequence); inputMap.add("property", propertyName); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("value", value); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/infos/ReadMetadata.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/ReadMetadata.java index 2ac3d0b..6ea1e27 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/infos/ReadMetadata.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/infos/ReadMetadata.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,12 +18,13 @@ package plugins.tprovoost.sequenceblocks.infos; -import icy.math.UnitUtil; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.MetaDataUtil; import ome.xml.meta.OMEXMLMetadata; +import org.bioimageanalysis.icy.common.math.UnitUtil; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.MetaDataUtil; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.Var; @@ -31,16 +32,17 @@ import plugins.adufour.vars.lang.VarDouble; import plugins.adufour.vars.lang.VarInteger; import plugins.adufour.vars.lang.VarString; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; import plugins.tprovoost.sequenceblocks.files.LoadMetadata; /** * Block to return main informations from a metadata object. * - * @author Stephane + * @author Stephane Dallongeville * @see LoadMetadata */ -public class ReadMetadata extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Read Metadata") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class ReadMetadata extends Plugin implements SequenceBlock { final protected Var<OMEXMLMetadata> metadata = new Var<>("Metadata", OMEXMLMetadata.class); final protected VarInteger serie = new VarInteger("Series", 0); @@ -90,13 +92,13 @@ public class ReadMetadata extends Plugin implements SequenceBlock, PluginLibrary } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("Metadata", metadata); inputMap.add("Serie", serie); } @Override - public void declareOutput(final VarList outputMap) { + public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("numSerie", numSerie); outputMap.add("Name", name); outputMap.add("Size X", sizeX); @@ -112,9 +114,4 @@ public class ReadMetadata extends Plugin implements SequenceBlock, PluginLibrary outputMap.add("positiony", positionY); outputMap.add("positionz", positionZ); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } \ No newline at end of file diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetChannelName.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetChannelName.java index 336b7f6..3cbf859 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetChannelName.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetChannelName.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,26 +18,29 @@ package plugins.tprovoost.sequenceblocks.infos; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.sequence.Sequence; -import icy.util.StringUtil; +import org.bioimageanalysis.icy.common.string.StringUtil; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarInteger; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.lang.VarString; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Block to set channel name of the specified sequence * - * @author Stephane + * @author Stephane Dallongeville * @see GetChannelsName * @see SetChannelName */ -public class SetChannelName extends Plugin implements SequenceBlock, PluginBundled { +@IcyPluginName("Set Channel Name") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class SetChannelName extends Plugin implements SequenceBlock { final protected VarSequence varSequence = new VarSequence("Sequence", null); final protected VarString varName = new VarString("Name", ""); final protected VarInteger idx = new VarInteger("Channel", 0); @@ -60,7 +63,7 @@ public class SetChannelName extends Plugin implements SequenceBlock, PluginBundl } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", varSequence); inputMap.add("index", idx); inputMap.add("name", varName); @@ -70,9 +73,4 @@ public class SetChannelName extends Plugin implements SequenceBlock, PluginBundl public void declareOutput(final VarList outputMap) { // } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetChannelsName.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetChannelsName.java index d735499..06ee39f 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetChannelsName.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetChannelsName.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,24 +18,27 @@ package plugins.tprovoost.sequenceblocks.infos; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarArray; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Block to set all channels name of the specified sequence * - * @author Stephane + * @author Stephane Dallongeville * @see GetChannelsName * @see SetChannelName */ -public class SetChannelsName extends Plugin implements SequenceBlock, PluginBundled { +@IcyPluginName("Set Channels Name") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class SetChannelsName extends Plugin implements SequenceBlock { final protected VarSequence varSequence = new VarSequence("Sequence", null); final protected VarArray<String> varNames = new VarArray<>("Names", String[].class, new String[0]); @@ -54,7 +57,7 @@ public class SetChannelsName extends Plugin implements SequenceBlock, PluginBund } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", varSequence); inputMap.add("names", varNames); } @@ -63,9 +66,4 @@ public class SetChannelsName extends Plugin implements SequenceBlock, PluginBund public void declareOutput(final VarList outputMap) { // } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetColormap.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetColormap.java index 5abab03..5ed0eee 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetColormap.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetColormap.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,25 +18,28 @@ package plugins.tprovoost.sequenceblocks.infos; -import icy.image.colormap.IcyColorMap; -import icy.image.colormap.LinearColorMap; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.colormap.IcyColorMap; +import org.bioimageanalysis.icy.model.colormap.LinearColorMap; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.BlocksException; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarInteger; import plugins.adufour.vars.lang.VarSequence; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; -public class SetColormap extends Plugin implements SequenceBlock, PluginBundled { +@IcyPluginName("Set Colormap") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class SetColormap extends Plugin implements SequenceBlock { final protected VarSequence sequenceIn = new VarSequence("Sequence", null); final protected VarInteger numChannel = new VarInteger("Channel", 0); final protected VarColormap colormap = new VarColormap("Color map", LinearColorMap.gray_); @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("input", sequenceIn); inputMap.add("numChannel", numChannel); inputMap.add("colormap", colormap); @@ -61,9 +64,4 @@ public class SetColormap extends Plugin implements SequenceBlock, PluginBundled throw new BlocksException("Block 'Set Colormap': illegal channel number for this sequence !", true); } } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetColormaps.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetColormaps.java index 09c5873..d85adf6 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetColormaps.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetColormaps.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,23 +18,26 @@ package plugins.tprovoost.sequenceblocks.infos; -import icy.image.colormap.IcyColorMap; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.colormap.IcyColorMap; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarArray; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; -public class SetColormaps extends Plugin implements SequenceBlock, PluginBundled { +@IcyPluginName("Set Colormaps") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class SetColormaps extends Plugin implements SequenceBlock { final protected VarSequence sequenceIn = new VarSequence("Input", null); final protected VarArray<IcyColorMap> colormaps = new VarArray<>("Color maps", IcyColorMap[].class, new IcyColorMap[0]); @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("input", sequenceIn); inputMap.add("colormaps", colormaps); } @@ -57,9 +60,4 @@ public class SetColormaps extends Plugin implements SequenceBlock, PluginBundled for (int c = 0; c < Math.min(seq.getSizeC(), cms.length); c++) seq.setColormap(c, cms[c], cms[c].isAlpha()); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetName.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetName.java index 82085ef..4a72abd 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetName.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetName.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,20 +18,23 @@ package plugins.tprovoost.sequenceblocks.infos; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.lang.VarString; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** - * @author thomasprovoost + * @author Thomas Provoost */ -public class SetName extends Plugin implements SequenceBlock, PluginBundled { +@IcyPluginName("Set Name") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class SetName extends Plugin implements SequenceBlock { final protected VarSequence varSequence = new VarSequence("Sequence", null); final protected VarString name = new VarString("Name", ""); @@ -47,7 +50,7 @@ public class SetName extends Plugin implements SequenceBlock, PluginBundled { } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", varSequence); inputMap.add("name", name); } @@ -56,9 +59,4 @@ public class SetName extends Plugin implements SequenceBlock, PluginBundled { public void declareOutput(final VarList outputMap) { // } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetResolution.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetResolution.java index 669aa86..55061bb 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetResolution.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetResolution.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,21 +18,24 @@ package plugins.tprovoost.sequenceblocks.infos; -import icy.math.UnitUtil; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.common.math.UnitUtil; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarDouble; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** - * @author thomasprovoost + * @author Thomas Provoost */ -public class SetResolution extends Plugin implements SequenceBlock, PluginBundled { +@IcyPluginName("Set Resolution") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class SetResolution extends Plugin implements SequenceBlock { final protected VarSequence varSequence = new VarSequence("Sequence", null); final protected VarDouble pxSizeX = new VarDouble("Pixel Size X (" + UnitUtil.MICRO_STRING + "m)", 1d); final protected VarDouble pxSizeY = new VarDouble("Pixel Size Y (" + UnitUtil.MICRO_STRING + "m)", 1d); @@ -63,7 +66,7 @@ public class SetResolution extends Plugin implements SequenceBlock, PluginBundle } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", varSequence); inputMap.add("PxSize X (" + UnitUtil.MICRO_STRING + "m)", pxSizeX); inputMap.add("PxSize Y (" + UnitUtil.MICRO_STRING + "m)", pxSizeY); @@ -75,9 +78,4 @@ public class SetResolution extends Plugin implements SequenceBlock, PluginBundle public void declareOutput(final VarList outputMap) { // } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetSequenceProperty.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetSequenceProperty.java index a1ac68a..4059342 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetSequenceProperty.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetSequenceProperty.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,15 +18,15 @@ package plugins.tprovoost.sequenceblocks.infos; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.lang.VarString; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Block to set value (in String format) of a Sequence property (name, pixel size, custom...)<br> @@ -48,9 +48,11 @@ import plugins.tprovoost.sequenceblocks.SequenceBlocks; * <li><i>virtual</i> = virtual mode enabled on the dataset</li> * </ul> * - * @author Stephane + * @author Stephane Dallongeville */ -public class SetSequenceProperty extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Set Sequence Property") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class SetSequenceProperty extends Plugin implements SequenceBlock { protected VarSequence sequence = new VarSequence("Sequence", null); protected VarString propertyName = new VarString("Property", "name"); protected VarString value = new VarString("Value", ""); @@ -64,7 +66,7 @@ public class SetSequenceProperty extends Plugin implements SequenceBlock, Plugin } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", sequence); inputMap.add("property", propertyName); inputMap.add("value", value); @@ -74,9 +76,4 @@ public class SetSequenceProperty extends Plugin implements SequenceBlock, Plugin public void declareOutput(final VarList outputMap) { // } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/infos/VarColormap.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/VarColormap.java index 41ac152..bb3466f 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/infos/VarColormap.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/infos/VarColormap.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,10 +18,10 @@ package plugins.tprovoost.sequenceblocks.infos; -import icy.gui.component.renderer.ColormapComboBoxRenderer; -import icy.image.colormap.IcyColorMap; -import icy.image.colormap.LinearColorMap; -import icy.util.XMLUtil; +import org.bioimageanalysis.icy.gui.component.renderer.ColormapComboBoxRenderer; +import org.bioimageanalysis.icy.io.xml.XMLUtil; +import org.bioimageanalysis.icy.model.colormap.IcyColorMap; +import org.bioimageanalysis.icy.model.colormap.LinearColorMap; import org.w3c.dom.Node; import plugins.adufour.vars.gui.VarEditor; import plugins.adufour.vars.gui.model.ValueSelectionModel; @@ -33,7 +33,7 @@ import javax.swing.*; /** * Define a specific Var type for ColorMap object * - * @author emilie + * @author Emilie */ public class VarColormap extends Var<IcyColorMap> { public static class ColormapSelectionModel extends ValueSelectionModel<IcyColorMap> { diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceChannelBatch.java b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceChannelBatch.java index 14c7b67..5aa367d 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceChannelBatch.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceChannelBatch.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,22 +18,23 @@ package plugins.tprovoost.sequenceblocks.loop; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.Sequence; -import icy.sequence.SequenceUtil; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.bioimageanalysis.icy.model.sequence.SequenceUtil; import plugins.adufour.blocks.lang.Batch; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Simple batch loop to iterate over all C channel from an input Sequence. * - * @author Stephane + * @author Stephane Dallongeville */ -public class SequenceChannelBatch extends Batch implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Sequence Channel Batch") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class SequenceChannelBatch extends Batch implements SequenceBlock { // important to not initialize here (even with null) and create them in getBatchSource() and getBatchElement() protected VarSequence inputSequence; protected VarSequence element; @@ -79,9 +80,4 @@ public class SequenceChannelBatch extends Batch implements SequenceBlock, Plugin public boolean isStopConditionReached() { return getIterationCounter().getValue() >= inputSequence.getValue().getSizeC(); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterBatch.java b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterBatch.java index 6343962..bef55ba 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterBatch.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterBatch.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,16 +18,15 @@ package plugins.tprovoost.sequenceblocks.loop; -import icy.file.SequenceFileImporter; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.io.SequenceFileImporter; import plugins.adufour.blocks.lang.Batch; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.Var; import plugins.adufour.vars.lang.VarInteger; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; import plugins.tprovoost.sequenceblocks.importer.PositionedSequenceFileImporter; import java.util.List; @@ -35,9 +34,11 @@ import java.util.List; /** * Base abstract class for {@link SequenceFileImporter} batch loop. * - * @author Stephane + * @author Stephane Dallongeville */ -public abstract class SequenceFileImporterBatch extends Batch implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("SequenceFileImporter Batch") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public abstract class SequenceFileImporterBatch extends Batch implements SequenceBlock { // important to not initialize and create them in getBatchSource() and getBatchElement() protected Var<PositionedSequenceFileImporter> positionedImporter; protected Var<PositionedSequenceFileImporter> element; @@ -112,9 +113,4 @@ public abstract class SequenceFileImporterBatch extends Batch implements Sequenc loopVariables.add(series); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterChannelBatch.java b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterChannelBatch.java index bf0d032..d48c525 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterChannelBatch.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterChannelBatch.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,16 +18,20 @@ package plugins.tprovoost.sequenceblocks.loop; -import icy.file.SequenceFileImporter; -import icy.sequence.MetaDataUtil; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.io.SequenceFileImporter; +import org.bioimageanalysis.icy.model.sequence.MetaDataUtil; import plugins.adufour.vars.util.VarException; import plugins.tprovoost.sequenceblocks.importer.PositionedSequenceFileImporter; /** * Simple batch loop to iterate over all C channel from specified opened {@link SequenceFileImporter} object. * - * @author Stephane + * @author Stephane Dallongeville */ +@IcyPluginName("SequenceFileImporter Channel Batch") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") public class SequenceFileImporterChannelBatch extends SequenceFileImporterBatch { @Override public void initializeLoop() { diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterFrameBatch.java b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterFrameBatch.java index 9c55471..12645dc 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterFrameBatch.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterFrameBatch.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,16 +18,20 @@ package plugins.tprovoost.sequenceblocks.loop; -import icy.file.SequenceFileImporter; -import icy.sequence.MetaDataUtil; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.io.SequenceFileImporter; +import org.bioimageanalysis.icy.model.sequence.MetaDataUtil; import plugins.adufour.vars.util.VarException; import plugins.tprovoost.sequenceblocks.importer.PositionedSequenceFileImporter; /** * Simple batch loop to iterate over all T frame from the specified opened {@link SequenceFileImporter} object. * - * @author Stephane + * @author Stephane Dallongeville */ +@IcyPluginName("SequenceFileImporter Frame Batch") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") public class SequenceFileImporterFrameBatch extends SequenceFileImporterBatch { @Override public void initializeLoop() { diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterRegionBatch.java b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterRegionBatch.java index 3cf4b94..2fcabb7 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterRegionBatch.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterRegionBatch.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,10 +18,12 @@ package plugins.tprovoost.sequenceblocks.loop; -import icy.file.SequenceFileImporter; -import icy.roi.ROI; -import icy.sequence.MetaDataUtil; -import icy.type.rectangle.Rectangle2DUtil; +import org.bioimageanalysis.icy.common.geom.rectangle.Rectangle2DUtil; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.io.SequenceFileImporter; +import org.bioimageanalysis.icy.model.roi.ROI; +import org.bioimageanalysis.icy.model.sequence.MetaDataUtil; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.Var; import plugins.adufour.vars.lang.VarInteger; @@ -38,8 +40,10 @@ import java.util.List; * Simple batch loop to iterate over a set of XY region defined by ROIs from the specified opened * {@link SequenceFileImporter} object. * - * @author Stephane + * @author Stephane Dallongeville */ +@IcyPluginName("SequenceFileImporter Region Batch") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") public class SequenceFileImporterRegionBatch extends SequenceFileImporterBatch { // important to not initialize here (even with null) and create them in getBatchSource() and getBatchElement() protected VarROIArray rois; diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterSeriesBatch.java b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterSeriesBatch.java index e9d9950..b7f5857 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterSeriesBatch.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterSeriesBatch.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,8 +18,10 @@ package plugins.tprovoost.sequenceblocks.loop; -import icy.file.SequenceFileImporter; -import icy.sequence.MetaDataUtil; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.io.SequenceFileImporter; +import org.bioimageanalysis.icy.model.sequence.MetaDataUtil; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.Var; import plugins.adufour.vars.util.VarException; @@ -30,8 +32,10 @@ import java.util.List; /** * Simple batch loop to iterate over all series from the specified opened {@link SequenceFileImporter} object. * - * @author Stephane + * @author Stephane Dallongeville */ +@IcyPluginName("SequenceFileImporter Series Batch") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") public class SequenceFileImporterSeriesBatch extends SequenceFileImporterBatch { @Override public void initializeLoop() { diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterSliceBatch.java b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterSliceBatch.java index 2abea99..fbefe0b 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterSliceBatch.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterSliceBatch.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,16 +18,20 @@ package plugins.tprovoost.sequenceblocks.loop; -import icy.file.SequenceFileImporter; -import icy.sequence.MetaDataUtil; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.io.SequenceFileImporter; +import org.bioimageanalysis.icy.model.sequence.MetaDataUtil; import plugins.adufour.vars.util.VarException; import plugins.tprovoost.sequenceblocks.importer.PositionedSequenceFileImporter; /** * Simple batch loop to iterate over all Z slice from specified opened {@link SequenceFileImporter} object. * - * @author Stephane + * @author Stephane Dallongeville */ +@IcyPluginName("SequenceFileImporter Slice Batch") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") public class SequenceFileImporterSliceBatch extends SequenceFileImporterBatch { @Override public void initializeLoop() { diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterTileBatch.java b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterTileBatch.java index ffdeb1c..c94a257 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterTileBatch.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterTileBatch.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,9 +18,11 @@ package plugins.tprovoost.sequenceblocks.loop; -import icy.file.SequenceFileImporter; -import icy.image.ImageUtil; -import icy.sequence.MetaDataUtil; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.io.SequenceFileImporter; +import org.bioimageanalysis.icy.model.image.ImageUtil; +import org.bioimageanalysis.icy.model.sequence.MetaDataUtil; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.Var; import plugins.adufour.vars.lang.VarInteger; @@ -33,8 +35,10 @@ import java.util.List; /** * Simple batch loop to iterate over all XY tile from the specified opened {@link SequenceFileImporter} object. * - * @author Stephane + * @author Stephane Dallongeville */ +@IcyPluginName("SequenceFileImporter Tile Batch") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") public class SequenceFileImporterTileBatch extends SequenceFileImporterBatch { // important to not initialize here (even with null) and create them in getBatchSource() and getBatchElement() protected VarInteger tileW; diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFrameBatch.java b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFrameBatch.java index 8635b25..5e9c733 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFrameBatch.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFrameBatch.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,21 +18,22 @@ package plugins.tprovoost.sequenceblocks.loop; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.Sequence; -import icy.sequence.SequenceUtil; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.bioimageanalysis.icy.model.sequence.SequenceUtil; import plugins.adufour.blocks.lang.Batch; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Simple batch loop to iterate over all T frame from an input Sequence. * - * @author Stephane + * @author Stephane Dallongeville */ -public class SequenceFrameBatch extends Batch implements PluginLibrary, PluginBundled { +@IcyPluginName("Sequence Frame Batch") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class SequenceFrameBatch extends Batch { // important to not initialize and create them in getBatchSource() and getBatchElement() protected VarSequence inputSequence; protected VarSequence element; @@ -77,9 +78,4 @@ public class SequenceFrameBatch extends Batch implements PluginLibrary, PluginBu public boolean isStopConditionReached() { return getIterationCounter().getValue() >= inputSequence.getValue().getSizeT(); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceRegionBatch.java b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceRegionBatch.java index 0409bdd..7c2d175 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceRegionBatch.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceRegionBatch.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,11 +18,11 @@ package plugins.tprovoost.sequenceblocks.loop; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.roi.ROI; -import icy.sequence.Sequence; -import icy.sequence.SequenceUtil; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.roi.ROI; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.bioimageanalysis.icy.model.sequence.SequenceUtil; import plugins.adufour.blocks.lang.Batch; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; @@ -30,16 +30,17 @@ import plugins.adufour.vars.lang.Var; import plugins.adufour.vars.lang.VarROIArray; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; import java.util.List; /** * Simple batch loop to iterate over a set of Region (ROIs) from an input Sequence. * - * @author Stephane + * @author Stephane Dallongeville */ -public class SequenceRegionBatch extends Batch implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Sequence Region Batch") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class SequenceRegionBatch extends Batch implements SequenceBlock { // important to not initialize here (even with null) and create them in getBatchSource() and getBatchElement() protected VarSequence inputSequence; protected VarSequence element; @@ -122,9 +123,4 @@ public class SequenceRegionBatch extends Batch implements SequenceBlock, PluginL loopVariables.add(inputSequence); loopVariables.add(currentRoi); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceSliceBatch.java b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceSliceBatch.java index d5600bb..847d354 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceSliceBatch.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceSliceBatch.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,22 +18,23 @@ package plugins.tprovoost.sequenceblocks.loop; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.Sequence; -import icy.sequence.SequenceUtil; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.bioimageanalysis.icy.model.sequence.SequenceUtil; import plugins.adufour.blocks.lang.Batch; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Simple batch loop to iterate over all Z slice from an input Sequence. * - * @author Stephane + * @author Stephane Dallongeville */ -public class SequenceSliceBatch extends Batch implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Sequence Slice Batch") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class SequenceSliceBatch extends Batch implements SequenceBlock { // important to not initialize here (even with null) and create them in getBatchSource() and getBatchElement() protected VarSequence inputSequence; protected VarSequence element; @@ -67,17 +68,11 @@ public class SequenceSliceBatch extends Batch implements SequenceBlock, PluginLi @Override public void beforeIteration() { // set result in element - element.setValue( - SequenceUtil.extractSlice(inputSequence.getValue(), getIterationCounter().getValue())); + element.setValue(SequenceUtil.extractSlice(inputSequence.getValue(), getIterationCounter().getValue())); } @Override public boolean isStopConditionReached() { return getIterationCounter().getValue() >= inputSequence.getValue().getSizeZ(); } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/op/AdditiveFillSequence.java b/src/main/java/plugins/tprovoost/sequenceblocks/op/AdditiveFillSequence.java index 4e2a833..7774124 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/op/AdditiveFillSequence.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/op/AdditiveFillSequence.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.tprovoost.sequenceblocks.op; -import icy.image.ImageDataIterator; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.roi.ROI; -import icy.sequence.Sequence; -import icy.sequence.SequenceDataIterator; -import icy.type.DataIterator; +import org.bioimageanalysis.icy.common.type.DataIterator; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.image.ImageDataIterator; +import org.bioimageanalysis.icy.model.roi.ROI; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.bioimageanalysis.icy.model.sequence.SequenceDataIterator; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarROIArray; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Block to do additive fill of area inside the ROI regions with the specified value.<br> * The result of this operation is similar to heatmap production from ROIs. * - * @author Stephane + * @author Stephane Dallongeville */ -public class AdditiveFillSequence extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Additive Fill") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class AdditiveFillSequence extends Plugin implements SequenceBlock { final protected VarSequence inputSequence = new VarSequence("Sequence", null); final protected VarROIArray rois = new VarROIArray("Roi(s)"); @@ -66,7 +68,7 @@ public class AdditiveFillSequence extends Plugin implements SequenceBlock, Plugi doAdditiveFill(new SequenceDataIterator(sequence, roi), value); } - public static void doAdditiveFill(final DataIterator it, final double value) throws InterruptedException { + public static void doAdditiveFill(final @NotNull DataIterator it, final double value) throws InterruptedException { it.reset(); while (!it.done()) { @@ -87,7 +89,7 @@ public class AdditiveFillSequence extends Plugin implements SequenceBlock, Plugi } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", inputSequence); inputMap.add("rois", rois); } @@ -96,9 +98,4 @@ public class AdditiveFillSequence extends Plugin implements SequenceBlock, Plugi public void declareOutput(final VarList outputMap) { // } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } \ No newline at end of file diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/op/FillInnerSequence.java b/src/main/java/plugins/tprovoost/sequenceblocks/op/FillInnerSequence.java index 7c86437..b272ca1 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/op/FillInnerSequence.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/op/FillInnerSequence.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,27 +18,29 @@ package plugins.tprovoost.sequenceblocks.op; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.roi.ROI; -import icy.sequence.Sequence; -import icy.sequence.SequenceDataIterator; -import icy.type.DataIteratorUtil; +import org.bioimageanalysis.icy.common.type.DataIteratorUtil; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.roi.ROI; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.bioimageanalysis.icy.model.sequence.SequenceDataIterator; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarDouble; import plugins.adufour.vars.lang.VarROIArray; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Block to fill area inside the ROI regions with the specified value * - * @author Stephane + * @author Stephane Dallongeville */ -public class FillInnerSequence extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Fill Inside ROI") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class FillInnerSequence extends Plugin implements SequenceBlock { final protected VarSequence inputSequence = new VarSequence("Sequence", null); final protected VarROIArray rois = new VarROIArray("Roi(s)"); final protected VarDouble fillValue = new VarDouble("Value", 0d); @@ -65,7 +67,7 @@ public class FillInnerSequence extends Plugin implements SequenceBlock, PluginLi } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", inputSequence); inputMap.add("rois", rois); inputMap.add("value", fillValue); @@ -75,9 +77,4 @@ public class FillInnerSequence extends Plugin implements SequenceBlock, PluginLi public void declareOutput(final VarList outputMap) { // } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } \ No newline at end of file diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/op/FillOuterSequence.java b/src/main/java/plugins/tprovoost/sequenceblocks/op/FillOuterSequence.java index d5acacf..e029008 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/op/FillOuterSequence.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/op/FillOuterSequence.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,31 +18,33 @@ package plugins.tprovoost.sequenceblocks.op; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.roi.ROI; -import icy.roi.ROIUtil; -import icy.sequence.Sequence; -import icy.sequence.SequenceDataIterator; -import icy.type.DataIteratorUtil; -import icy.type.collection.CollectionUtil; -import icy.util.ShapeUtil.BooleanOperator; +import org.bioimageanalysis.extension.kernel.roi.roi3d.ROI3DBox; +import org.bioimageanalysis.icy.common.collection.CollectionUtil; +import org.bioimageanalysis.icy.common.geom.shape.ShapeUtil; +import org.bioimageanalysis.icy.common.type.DataIteratorUtil; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.roi.ROI; +import org.bioimageanalysis.icy.model.roi.ROIUtil; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.bioimageanalysis.icy.model.sequence.SequenceDataIterator; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarDouble; import plugins.adufour.vars.lang.VarROIArray; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.kernel.roi.roi3d.ROI3DBox; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Block to fill area outside the ROI regions with the specified value * - * @author Stephane + * @author Stephane Dallongeville */ -public class FillOuterSequence extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Fill Outside ROI") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class FillOuterSequence extends Plugin implements SequenceBlock { final protected VarSequence inputSequence = new VarSequence("Sequence", null); final protected VarROIArray rois = new VarROIArray("Roi(s)"); final protected VarDouble fillValue = new VarDouble("Value", 0d); @@ -56,7 +58,7 @@ public class FillOuterSequence extends Plugin implements SequenceBlock, PluginLi try { if (rois.getValue() != null) { try { - final ROI roiUnion = ROIUtil.merge(CollectionUtil.asList(rois.getValue()), BooleanOperator.OR); + final ROI roiUnion = ROIUtil.merge(CollectionUtil.asList(rois.getValue()), ShapeUtil.BooleanOperator.OR); final ROI roiSeq = new ROI3DBox(sequence.getBounds5D().toRectangle3D()); final ROI roi = roiSeq.getSubtraction(roiUnion); @@ -77,7 +79,7 @@ public class FillOuterSequence extends Plugin implements SequenceBlock, PluginLi } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", inputSequence); inputMap.add("rois", rois); inputMap.add("value", fillValue); @@ -87,9 +89,4 @@ public class FillOuterSequence extends Plugin implements SequenceBlock, PluginLi public void declareOutput(final VarList outputMap) { // } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } \ No newline at end of file diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveAllRois.java b/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveAllRois.java index 8259bb6..4c63159 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveAllRois.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveAllRois.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,23 +18,25 @@ package plugins.tprovoost.sequenceblocks.remove; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.roi.ROI; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.roi.ROI; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Block to remove all the {@link ROI} from a Sequence * - * @author Stephane + * @author Stephane Dallongeville */ -public class RemoveAllRois extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Remove All ROIs") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class RemoveAllRois extends Plugin implements SequenceBlock { final protected VarSequence inputSequence = new VarSequence("Sequence", null); @Override @@ -47,7 +49,7 @@ public class RemoveAllRois extends Plugin implements SequenceBlock, PluginLibrar } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", inputSequence); } @@ -55,9 +57,4 @@ public class RemoveAllRois extends Plugin implements SequenceBlock, PluginLibrar public void declareOutput(final VarList outputMap) { // } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveChannel.java b/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveChannel.java index b4a1fbb..37f82c1 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveChannel.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveChannel.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,24 +18,26 @@ package plugins.tprovoost.sequenceblocks.remove; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.Sequence; -import icy.sequence.SequenceUtil; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.bioimageanalysis.icy.model.sequence.SequenceUtil; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarInteger; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Block to remove a channel from a Sequence * - * @author Stephane + * @author Stephane Dallongeville */ -public class RemoveChannel extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Remove Channel") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class RemoveChannel extends Plugin implements SequenceBlock { final protected VarSequence inputSequence = new VarSequence("Sequence", null); final protected VarInteger channelIdx = new VarInteger("Channel", 0); @@ -60,7 +62,7 @@ public class RemoveChannel extends Plugin implements SequenceBlock, PluginLibrar } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", inputSequence); inputMap.add("channel", channelIdx); } @@ -69,9 +71,4 @@ public class RemoveChannel extends Plugin implements SequenceBlock, PluginLibrar public void declareOutput(final VarList outputMap) { // } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveFrame.java b/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveFrame.java index 7157722..e4bc694 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveFrame.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveFrame.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,24 +18,26 @@ package plugins.tprovoost.sequenceblocks.remove; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.Sequence; -import icy.sequence.SequenceUtil; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.bioimageanalysis.icy.model.sequence.SequenceUtil; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarInteger; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Block to remove a frame from a Sequence * - * @author Stephane + * @author Stephane Dallongeville */ -public class RemoveFrame extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Remove Frame") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class RemoveFrame extends Plugin implements SequenceBlock { final protected VarSequence inputSequence = new VarSequence("Sequence", null); final protected VarInteger frameInd = new VarInteger("Frame", 0); @@ -49,7 +51,7 @@ public class RemoveFrame extends Plugin implements SequenceBlock, PluginLibrary, } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", inputSequence); inputMap.add("frame", frameInd); } @@ -58,9 +60,4 @@ public class RemoveFrame extends Plugin implements SequenceBlock, PluginLibrary, public void declareOutput(final VarList outputMap) { // } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } \ No newline at end of file diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveOverlays.java b/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveOverlays.java index 16a6de0..c2da52a 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveOverlays.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveOverlays.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,24 +18,26 @@ package plugins.tprovoost.sequenceblocks.remove; -import icy.painter.Overlay; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.overlay.Overlay; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarArray; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Block to remove one or several {@link Overlay} from a {@link Sequence} * - * @author Stephane + * @author Stephane Dallongeville */ -public class RemoveOverlays extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Remove Overlays") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class RemoveOverlays extends Plugin implements SequenceBlock { final protected VarSequence inputSequence = new VarSequence("Sequence", null); final protected VarArray<Overlay> overlays = new VarArray<>("Overlay(s)", Overlay[].class, new Overlay[0]); @@ -59,7 +61,7 @@ public class RemoveOverlays extends Plugin implements SequenceBlock, PluginLibra } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", inputSequence); inputMap.add("overlay(s)", overlays); } @@ -68,9 +70,4 @@ public class RemoveOverlays extends Plugin implements SequenceBlock, PluginLibra public void declareOutput(final VarList outputMap) { // } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveRois.java b/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveRois.java index eb6c415..fda9ddb 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveRois.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveRois.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,26 +18,28 @@ package plugins.tprovoost.sequenceblocks.remove; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.roi.ROI; -import icy.sequence.Sequence; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.roi.ROI; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarROIArray; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; import java.util.Arrays; /** * Block to remove one or several {@link ROI} from a Sequence * - * @author Stephane + * @author Stephane Dallongeville */ -public class RemoveRois extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Remove ROIs") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class RemoveRois extends Plugin implements SequenceBlock { final protected VarSequence inputSequence = new VarSequence("Sequence", null); final protected VarROIArray rois = new VarROIArray("Roi(s)"); @@ -53,7 +55,7 @@ public class RemoveRois extends Plugin implements SequenceBlock, PluginLibrary, } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", inputSequence); inputMap.add("rois(s)", rois); } @@ -62,9 +64,4 @@ public class RemoveRois extends Plugin implements SequenceBlock, PluginLibrary, public void declareOutput(final VarList outputMap) { // } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveSlice.java b/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveSlice.java index 30fafeb..cbb8543 100644 --- a/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveSlice.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveSlice.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,24 +18,26 @@ package plugins.tprovoost.sequenceblocks.remove; -import icy.plugin.abstract_.Plugin; -import icy.plugin.interface_.PluginBundled; -import icy.plugin.interface_.PluginLibrary; -import icy.sequence.Sequence; -import icy.sequence.SequenceUtil; +import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon; +import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName; +import org.bioimageanalysis.icy.model.sequence.Sequence; +import org.bioimageanalysis.icy.model.sequence.SequenceUtil; +import org.jetbrains.annotations.NotNull; import plugins.adufour.blocks.tools.sequence.SequenceBlock; import plugins.adufour.blocks.util.VarList; import plugins.adufour.vars.lang.VarInteger; import plugins.adufour.vars.lang.VarSequence; import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** * Block to remove a Z slice from a Sequence * - * @author Stephane + * @author Stephane Dallongeville */ -public class RemoveSlice extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { +@IcyPluginName("Remove Slice") +@IcyPluginIcon(path = "/SequenceBlocks_icon.png") +public class RemoveSlice extends Plugin implements SequenceBlock { final protected VarSequence inputSequence = new VarSequence("Sequence", null); final protected VarInteger sliceInd = new VarInteger("Slice", 0); @@ -49,7 +51,7 @@ public class RemoveSlice extends Plugin implements SequenceBlock, PluginLibrary, } @Override - public void declareInput(final VarList inputMap) { + public void declareInput(final @NotNull VarList inputMap) { inputMap.add("sequence", inputSequence); inputMap.add("slice", sliceInd); } @@ -58,9 +60,4 @@ public class RemoveSlice extends Plugin implements SequenceBlock, PluginLibrary, public void declareOutput(final VarList outputMap) { // } - - @Override - public String getMainPluginClassName() { - return SequenceBlocks.class.getName(); - } } \ No newline at end of file diff --git a/src/main/resources/SequenceBlocks.xml b/src/main/resources/SequenceBlocks.xml deleted file mode 100644 index 352d4eb..0000000 --- a/src/main/resources/SequenceBlocks.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version='1.0' encoding='ISO-8859-1' standalone='no'?> -<root> -<url><![CDATA[http://www.bioimageanalysis.org/icy/repository/getXMLPluginFile.php?pluginId=182&beta=0]]></url><name>Sequence Blocks</name><version>1.0.0.1</version><required_kernel_version>1.2.5.0</required_kernel_version><kernel_ver>1.2.5.0</kernel_ver><jar_url><![CDATA[http://www.bioimageanalysis.org/icy/repository/getJarFile.php?pluginId=182&beta=0]]></jar_url><icon_url><![CDATA[http://bioimageanalysis.org/icy/image.php?idAttach=1256]]></icon_url><image_url></image_url><description><![CDATA[This plugin allows one to use various basic sequence operations within Blocks.]]></description><classname><![CDATA[plugins.tprovoost.sequenceblocks.SequenceBlocks]]></classname><author><![CDATA[tprovoost - Thomas Provoost]]></author><changelog><![CDATA[- -Version 1.0.0.1 -Date 2012-06-22 15:17:27 - -Added Description to the Blocks. -Corrected Save Sequence block name. - -- -Version 1.0.0.0 -Date 2012-06-21 15:37:19 - -First real version. - -- -Version 0.0.1.0 -Date 2012-06-21 15:00:05 - - - -]]></changelog><dependencies><dependency><classname>plugins.adufour.blocks.Blocks</classname><version>0.0.0.1</version></dependency></dependencies></root> \ No newline at end of file -- GitLab