diff --git a/.classpath b/.classpath index 373b83c7ad36b985d889e4699104d78f14456193..f31c84e7ce44c2258c6866e15c14dbcda6aa1406 100644 --- a/.classpath +++ b/.classpath @@ -1,10 +1,48 @@ <?xml version="1.0" encoding="UTF-8"?> <classpath> - <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="src/main/java"/> + <classpathentry kind="src" path="src/main/resources"/> + <classpathentry kind="src" path="src/test/java"/> <classpathentry kind="lib" path="/Icy-App/plugins/adufour/ezplug/EzPlug.jar"/> <classpathentry kind="lib" path="/Icy-App/plugins/adufour/blocks/Blocks.jar"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> <classpathentry kind="var" path="ICY_JAR"/> - <classpathentry kind="output" path="bin"/> - <referencedentry kind="lib" path="D:/Stephane/Documents/dev/GIT/Icy-App/lib/scifio.jar" sourcepath="D:/Stephane/Documents/dev/GIT/bioformats"/> + <classpathentry kind="lib" path="F:/SDKs/Java/jdk1.8.0_241/lib/tools.jar"/> + <classpathentry kind="var" path="USER_HOME/SDKs/Java/jdk1.8.0_251/lib/tools.jar"/> + <classpathentry kind="var" path="USER_HOME/SDKs/Java/jdk1.8.0_251/lib/tools.jar"/> + <classpathentry kind="var" path="USER_HOME/SDKs/Java/jdk1.8.0_251/lib/tools.jar"/> + <classpathentry kind="var" path="USER_HOME/SDKs/Java/jdk1.8.0_251/lib/tools.jar"/> + <classpathentry kind="var" path="USER_HOME/SDKs/Java/jdk1.8.0_251/lib/tools.jar"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: org.bioimageanalysis.icy:icy-kernel:2.1.0"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: net.sf.ehcache:ehcache:2.10.6"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: org.slf4j:slf4j-api:1.7.25"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: org.bioimageanalysis.icy:icy-bioformats:6.3.1"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: org.bioimageanalysis.icy:icy-insubstantial:7.3.7"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: org.bioimageanalysis.icy:icy-vtk:6.3.0.1"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: net.imagej:ij:1.52q"/> + <classpathentry kind="lib" path="D:/SDKs/Java/jdk1.8.0_241/lib/tools.jar"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: javax.media:jai-core:1.1.3"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: javax.media:jai-codec:1.1.3"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: org.jogamp.jogl:jogl-all:2.1.5-01"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: org.jogamp.jogl:jogl-all-natives-linux-amd64:2.1.5"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: org.jogamp.jogl:jogl-all-natives-linux-i586:2.1.5"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: org.jogamp.jogl:jogl-all-natives-macosx-universal:2.1.5"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: org.jogamp.jogl:jogl-all-natives-windows-amd64:2.1.5"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: org.jogamp.jogl:jogl-all-natives-windows-i586:2.1.5"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: org.jogamp.gluegen:gluegen-rt:2.1.5-01"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: org.jogamp.gluegen:gluegen-rt-natives-linux-amd64:2.1.5"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: org.jogamp.gluegen:gluegen-rt-natives-linux-i586:2.1.5"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: org.jogamp.gluegen:gluegen-rt-natives-macosx-universal:2.1.5"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: org.jogamp.gluegen:gluegen-rt-natives-windows-amd64:2.1.5"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: org.jogamp.gluegen:gluegen-rt-natives-windows-i586:2.1.5"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: org.javassist:javassist:3.22.0-GA"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: net.sourceforge.jexcelapi:jxl:2.6.12"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: log4j:log4j:1.2.14"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: org.swinglabs.swingx:swingx-all:1.6.5-1"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: org.bioimageanalysis.icy:icy-blocks:1.0.1"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: org.bioimageanalysis.icy:icy-protocols:3.0.9"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: org.bioimageanalysis.icy:icy-javadocparser:1.0.0"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: com.nativelibs4java:ochafik-util:0.12"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Maven: org.bioimageanalysis.icy:icy-ezplug:3.15.13"/> + <classpathentry kind="output" path="target/classes"/> </classpath> diff --git a/.gitignore b/.gitignore index 88e283fbbe38edf75f524ead36b103a8eeb25e1a..18c1c4b324adf41df851fd5281471dcb9e2d0373 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,10 @@ -bin -*.jar +bin/ +target/ +.settings/ +pluginfile-sequence-blocks*.jar +.idea/ +*.iml +*.eml +.project +.classpath diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..7c8b1fb42f70ad23b8a1d5ad9c6125d1d67acb2e --- /dev/null +++ b/pom.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <artifactId>pom-icy</artifactId> + <groupId>org.bioimageanalysis.icy</groupId> + <version>1.0.4</version> + </parent> + + <artifactId>icy-sequence-blocks</artifactId> + <version>2.0.15</version> + + <name>SequenceBlocks</name> + + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <jdk.version>1.8</jdk.version> + + <maven.compiler.source>1.8</maven.compiler.source> + <maven.compiler.target>1.8</maven.compiler.target> + </properties> + + <dependencies> + <dependency> + <groupId>org.bioimageanalysis.icy</groupId> + <artifactId>icy-kernel</artifactId> + <version>2.1.0</version> + </dependency> + <dependency> + <groupId>org.bioimageanalysis.icy</groupId> + <artifactId>icy-blocks</artifactId> + <version>1.0.1</version> + </dependency> + </dependencies> + + <repositories> + <repository> + <id>icy</id> + <url>https://icy-nexus.pasteur.fr/repository/Icy/</url> + </repository> + </repositories> +</project> \ No newline at end of file diff --git a/src/plugins/tprovoost/sequenceblocks/SequenceBlocks.java b/src/main/java/plugins/tprovoost/sequenceblocks/SequenceBlocks.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/SequenceBlocks.java rename to src/main/java/plugins/tprovoost/sequenceblocks/SequenceBlocks.java diff --git a/src/plugins/tprovoost/sequenceblocks/add/AddOverlays.java b/src/main/java/plugins/tprovoost/sequenceblocks/add/AddOverlays.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/add/AddOverlays.java rename to src/main/java/plugins/tprovoost/sequenceblocks/add/AddOverlays.java diff --git a/src/plugins/tprovoost/sequenceblocks/add/AddRois.java b/src/main/java/plugins/tprovoost/sequenceblocks/add/AddRois.java similarity index 92% rename from src/plugins/tprovoost/sequenceblocks/add/AddRois.java rename to src/main/java/plugins/tprovoost/sequenceblocks/add/AddRois.java index d389298426610e460c616cc5bc049e11d4945a2c..cbf26c84a61aa965af654edd9d7f4973873a6d8e 100644 --- a/src/plugins/tprovoost/sequenceblocks/add/AddRois.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/add/AddRois.java @@ -16,11 +16,9 @@ import plugins.adufour.vars.util.VarException; import plugins.tprovoost.sequenceblocks.SequenceBlocks; /** - * Block to add one or several {@link ROI} to a Sequence. + * Block to add one or several {@link ROI} to a Sequence * - * class: plugins.tprovoost.sequenceblocks.add.AddRois - * - * @author Stephane Dallongeville + * @author Stephane */ public class AddRois extends Plugin implements SequenceBlock, PluginLibrary, PluginBundled { diff --git a/src/plugins/tprovoost/sequenceblocks/convert/ConvertColor.java b/src/main/java/plugins/tprovoost/sequenceblocks/convert/ConvertColor.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/convert/ConvertColor.java rename to src/main/java/plugins/tprovoost/sequenceblocks/convert/ConvertColor.java diff --git a/src/plugins/tprovoost/sequenceblocks/convert/ConvertStack.java b/src/main/java/plugins/tprovoost/sequenceblocks/convert/ConvertStack.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/convert/ConvertStack.java rename to src/main/java/plugins/tprovoost/sequenceblocks/convert/ConvertStack.java diff --git a/src/plugins/tprovoost/sequenceblocks/convert/ConvertType.java b/src/main/java/plugins/tprovoost/sequenceblocks/convert/ConvertType.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/convert/ConvertType.java rename to src/main/java/plugins/tprovoost/sequenceblocks/convert/ConvertType.java diff --git a/src/plugins/tprovoost/sequenceblocks/convert/Resize.java b/src/main/java/plugins/tprovoost/sequenceblocks/convert/Resize.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/convert/Resize.java rename to src/main/java/plugins/tprovoost/sequenceblocks/convert/Resize.java diff --git a/src/plugins/tprovoost/sequenceblocks/creation/CombineChannels.java b/src/main/java/plugins/tprovoost/sequenceblocks/creation/CombineChannels.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/creation/CombineChannels.java rename to src/main/java/plugins/tprovoost/sequenceblocks/creation/CombineChannels.java diff --git a/src/plugins/tprovoost/sequenceblocks/creation/CreateSequence.java b/src/main/java/plugins/tprovoost/sequenceblocks/creation/CreateSequence.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/creation/CreateSequence.java rename to src/main/java/plugins/tprovoost/sequenceblocks/creation/CreateSequence.java diff --git a/src/plugins/tprovoost/sequenceblocks/creation/DuplicateSequence.java b/src/main/java/plugins/tprovoost/sequenceblocks/creation/DuplicateSequence.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/creation/DuplicateSequence.java rename to src/main/java/plugins/tprovoost/sequenceblocks/creation/DuplicateSequence.java diff --git a/src/plugins/tprovoost/sequenceblocks/extract/CropCZT.java b/src/main/java/plugins/tprovoost/sequenceblocks/extract/CropCZT.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/extract/CropCZT.java rename to src/main/java/plugins/tprovoost/sequenceblocks/extract/CropCZT.java diff --git a/src/plugins/tprovoost/sequenceblocks/extract/CropSequence.java b/src/main/java/plugins/tprovoost/sequenceblocks/extract/CropSequence.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/extract/CropSequence.java rename to src/main/java/plugins/tprovoost/sequenceblocks/extract/CropSequence.java diff --git a/src/plugins/tprovoost/sequenceblocks/extract/ExtractChannel.java b/src/main/java/plugins/tprovoost/sequenceblocks/extract/ExtractChannel.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/extract/ExtractChannel.java rename to src/main/java/plugins/tprovoost/sequenceblocks/extract/ExtractChannel.java diff --git a/src/plugins/tprovoost/sequenceblocks/extract/ExtractMultiChannels.java b/src/main/java/plugins/tprovoost/sequenceblocks/extract/ExtractMultiChannels.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/extract/ExtractMultiChannels.java rename to src/main/java/plugins/tprovoost/sequenceblocks/extract/ExtractMultiChannels.java diff --git a/src/plugins/tprovoost/sequenceblocks/extract/ExtractSlice.java b/src/main/java/plugins/tprovoost/sequenceblocks/extract/ExtractSlice.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/extract/ExtractSlice.java rename to src/main/java/plugins/tprovoost/sequenceblocks/extract/ExtractSlice.java diff --git a/src/plugins/tprovoost/sequenceblocks/extract/ExtractTime.java b/src/main/java/plugins/tprovoost/sequenceblocks/extract/ExtractTime.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/extract/ExtractTime.java rename to src/main/java/plugins/tprovoost/sequenceblocks/extract/ExtractTime.java diff --git a/src/plugins/tprovoost/sequenceblocks/files/IsFileValid.java b/src/main/java/plugins/tprovoost/sequenceblocks/files/IsFileValid.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/files/IsFileValid.java rename to src/main/java/plugins/tprovoost/sequenceblocks/files/IsFileValid.java diff --git a/src/plugins/tprovoost/sequenceblocks/files/LoadMetadata.java b/src/main/java/plugins/tprovoost/sequenceblocks/files/LoadMetadata.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/files/LoadMetadata.java rename to src/main/java/plugins/tprovoost/sequenceblocks/files/LoadMetadata.java diff --git a/src/plugins/tprovoost/sequenceblocks/files/LoadSequence.java b/src/main/java/plugins/tprovoost/sequenceblocks/files/LoadSequence.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/files/LoadSequence.java rename to src/main/java/plugins/tprovoost/sequenceblocks/files/LoadSequence.java diff --git a/src/plugins/tprovoost/sequenceblocks/files/LoadSubSequence.java b/src/main/java/plugins/tprovoost/sequenceblocks/files/LoadSubSequence.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/files/LoadSubSequence.java rename to src/main/java/plugins/tprovoost/sequenceblocks/files/LoadSubSequence.java diff --git a/src/plugins/tprovoost/sequenceblocks/files/SaveMetadata.java b/src/main/java/plugins/tprovoost/sequenceblocks/files/SaveMetadata.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/files/SaveMetadata.java rename to src/main/java/plugins/tprovoost/sequenceblocks/files/SaveMetadata.java diff --git a/src/plugins/tprovoost/sequenceblocks/files/SaveSequence.java b/src/main/java/plugins/tprovoost/sequenceblocks/files/SaveSequence.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/files/SaveSequence.java rename to src/main/java/plugins/tprovoost/sequenceblocks/files/SaveSequence.java diff --git a/src/plugins/tprovoost/sequenceblocks/images/AddImage.java b/src/main/java/plugins/tprovoost/sequenceblocks/images/AddImage.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/images/AddImage.java rename to src/main/java/plugins/tprovoost/sequenceblocks/images/AddImage.java diff --git a/src/plugins/tprovoost/sequenceblocks/images/AsImageArray.java b/src/main/java/plugins/tprovoost/sequenceblocks/images/AsImageArray.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/images/AsImageArray.java rename to src/main/java/plugins/tprovoost/sequenceblocks/images/AsImageArray.java diff --git a/src/plugins/tprovoost/sequenceblocks/images/GetImage.java b/src/main/java/plugins/tprovoost/sequenceblocks/images/GetImage.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/images/GetImage.java rename to src/main/java/plugins/tprovoost/sequenceblocks/images/GetImage.java diff --git a/src/plugins/tprovoost/sequenceblocks/images/RemoveImage.java b/src/main/java/plugins/tprovoost/sequenceblocks/images/RemoveImage.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/images/RemoveImage.java rename to src/main/java/plugins/tprovoost/sequenceblocks/images/RemoveImage.java diff --git a/src/plugins/tprovoost/sequenceblocks/images/SetImage.java b/src/main/java/plugins/tprovoost/sequenceblocks/images/SetImage.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/images/SetImage.java rename to src/main/java/plugins/tprovoost/sequenceblocks/images/SetImage.java diff --git a/src/plugins/tprovoost/sequenceblocks/importer/PositionedSequenceFileImporter.java b/src/main/java/plugins/tprovoost/sequenceblocks/importer/PositionedSequenceFileImporter.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/importer/PositionedSequenceFileImporter.java rename to src/main/java/plugins/tprovoost/sequenceblocks/importer/PositionedSequenceFileImporter.java diff --git a/src/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterClose.java b/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterClose.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterClose.java rename to src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterClose.java diff --git a/src/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetImage.java b/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetImage.java similarity index 91% rename from src/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetImage.java rename to src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetImage.java index 7794f12ee8b40c846ca82ac3fb96fc0a7be69933..3720a15cafe134f661fc1b06283f41292e2f9546 100644 --- a/src/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetImage.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetImage.java @@ -38,11 +38,11 @@ public class SequenceFileImporterGetImage extends Plugin implements IOBlock, Plu super(); importer = new Var<PositionedSequenceFileImporter>("Importer", PositionedSequenceFileImporter.class); - series = new VarInteger("Series", -1); + series = new VarInteger("Series", 0); resolution = new VarInteger("Resolution (0=full, 1=1/2, ..)", 0); region = new VarROIArray("XY region (ROI)", null); - zIndex = new VarInteger("Z (slice) index", -1); - tIndex = new VarInteger("T (frame) index", -1); + zIndex = new VarInteger("Z (slice) index", 0); + tIndex = new VarInteger("T (frame) index", 0); cIndex = new VarInteger("C (channel) index", -1); image = new Var<IcyBufferedImage>("Image", IcyBufferedImage.class); @@ -71,7 +71,7 @@ public class SequenceFileImporterGetImage extends Plugin implements IOBlock, Plu Rectangle rect = ((rois != null) && (rois.length > 0)) ? rois[0].getBounds5D().toRectangle2D().getBounds() : null; - // undefined values ? use internal position if any defined + // default values ? use internal position if any defined if ((s == 0) && (pi.s != -1)) s = pi.s; if ((z == 0) && (pi.z != -1)) @@ -83,10 +83,6 @@ public class SequenceFileImporterGetImage extends Plugin implements IOBlock, Plu if ((rect == null) && (pi.xyRegion != null)) rect = pi.xyRegion; - // still undefined ? --> set default value for series - if (s == -1) - s = 0; - try { image.setValue(imp.getImage(s, res, rect, z, t, c)); diff --git a/src/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetMetadata.java b/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetMetadata.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetMetadata.java rename to src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetMetadata.java diff --git a/src/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetThumbnail.java b/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetThumbnail.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetThumbnail.java rename to src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetThumbnail.java diff --git a/src/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetTileSize.java b/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetTileSize.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetTileSize.java rename to src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterGetTileSize.java diff --git a/src/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterLoadSequence.java b/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterLoadSequence.java similarity index 93% rename from src/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterLoadSequence.java rename to src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterLoadSequence.java index 666f65cc710b68cabe97b37fd1ecaaf4b2c604b5..34c8ba2d6a387750d1b97aef4b1300a5f8c6dda8 100644 --- a/src/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterLoadSequence.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterLoadSequence.java @@ -43,7 +43,7 @@ public class SequenceFileImporterLoadSequence extends Plugin implements IOBlock, importer = new Var<PositionedSequenceFileImporter>("Importer", PositionedSequenceFileImporter.class); - series = new VarInteger("Series", -1); + series = new VarInteger("Series", 0); resolution = new VarInteger("Resolution (0=full, 1=1/2, ..)", 0); region = new VarROIArray("XY region (ROI)", null); minZIndex = new VarInteger("Z min (slice)", -1); @@ -80,8 +80,8 @@ public class SequenceFileImporterLoadSequence extends Plugin implements IOBlock, Rectangle rect = ((rois != null) && (rois.length > 0)) ? rois[0].getBounds5D().toRectangle2D().getBounds() : null; - // undefined values ? use internal position if any defined - if ((s == -1) && (pi.s != -1)) + // default values ? use internal position if any defined + if ((s == 0) && (pi.s != -1)) s = pi.s; if ((minZ == -1) && (maxZ == -1) && (pi.z != -1)) { @@ -93,14 +93,10 @@ public class SequenceFileImporterLoadSequence extends Plugin implements IOBlock, minT = pi.t; maxT = pi.t; } - if ((c == -1) && (pi.c != -1)) + if ((c == 0) && (pi.c != -1)) c = pi.c; if ((rect == null) && (pi.xyRegion != null)) rect = pi.xyRegion; - - // still undefined ? --> set default value for series - if (s == -1) - s = 0; try { diff --git a/src/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterOpen.java b/src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterOpen.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterOpen.java rename to src/main/java/plugins/tprovoost/sequenceblocks/importer/SequenceFileImporterOpen.java diff --git a/src/plugins/tprovoost/sequenceblocks/infos/CreateLinearColormap.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/CreateLinearColormap.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/infos/CreateLinearColormap.java rename to src/main/java/plugins/tprovoost/sequenceblocks/infos/CreateLinearColormap.java diff --git a/src/plugins/tprovoost/sequenceblocks/infos/Dimensions.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/Dimensions.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/infos/Dimensions.java rename to src/main/java/plugins/tprovoost/sequenceblocks/infos/Dimensions.java diff --git a/src/plugins/tprovoost/sequenceblocks/infos/EzVarColormap.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/EzVarColormap.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/infos/EzVarColormap.java rename to src/main/java/plugins/tprovoost/sequenceblocks/infos/EzVarColormap.java diff --git a/src/plugins/tprovoost/sequenceblocks/infos/GetChannelName.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetChannelName.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/infos/GetChannelName.java rename to src/main/java/plugins/tprovoost/sequenceblocks/infos/GetChannelName.java diff --git a/src/plugins/tprovoost/sequenceblocks/infos/GetChannelsName.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetChannelsName.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/infos/GetChannelsName.java rename to src/main/java/plugins/tprovoost/sequenceblocks/infos/GetChannelsName.java diff --git a/src/plugins/tprovoost/sequenceblocks/infos/GetColormap.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetColormap.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/infos/GetColormap.java rename to src/main/java/plugins/tprovoost/sequenceblocks/infos/GetColormap.java diff --git a/src/plugins/tprovoost/sequenceblocks/infos/GetColormaps.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetColormaps.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/infos/GetColormaps.java rename to src/main/java/plugins/tprovoost/sequenceblocks/infos/GetColormaps.java diff --git a/src/plugins/tprovoost/sequenceblocks/infos/GetDataType.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetDataType.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/infos/GetDataType.java rename to src/main/java/plugins/tprovoost/sequenceblocks/infos/GetDataType.java diff --git a/src/plugins/tprovoost/sequenceblocks/infos/GetFileName.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetFileName.java similarity index 97% rename from src/plugins/tprovoost/sequenceblocks/infos/GetFileName.java rename to src/main/java/plugins/tprovoost/sequenceblocks/infos/GetFileName.java index 2bf3699ee50a8651b20df613489457db5bc6e286..477a91549d9c19cffc6ad3aa69f178a3ca2b3cc5 100644 --- a/src/plugins/tprovoost/sequenceblocks/infos/GetFileName.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetFileName.java @@ -42,7 +42,7 @@ public class GetFileName extends Plugin implements SequenceBlock, PluginBundled result = FileUtil.getFileName(result); // remove extension ? if (!withExtension.getValue().booleanValue()) - result = FileUtil.setExtension(result, ""); + FileUtil.setExtension(result, ""); filename.setValue(result); } diff --git a/src/plugins/tprovoost/sequenceblocks/infos/GetMetaData.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetMetaData.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/infos/GetMetaData.java rename to src/main/java/plugins/tprovoost/sequenceblocks/infos/GetMetaData.java diff --git a/src/plugins/tprovoost/sequenceblocks/infos/GetName.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetName.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/infos/GetName.java rename to src/main/java/plugins/tprovoost/sequenceblocks/infos/GetName.java diff --git a/src/plugins/tprovoost/sequenceblocks/infos/GetOutputFilename.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetOutputFilename.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/infos/GetOutputFilename.java rename to src/main/java/plugins/tprovoost/sequenceblocks/infos/GetOutputFilename.java diff --git a/src/plugins/tprovoost/sequenceblocks/infos/GetResolution.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetResolution.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/infos/GetResolution.java rename to src/main/java/plugins/tprovoost/sequenceblocks/infos/GetResolution.java diff --git a/src/plugins/tprovoost/sequenceblocks/infos/GetRoisAsRegion.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/GetRoisAsRegion.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/infos/GetRoisAsRegion.java rename to src/main/java/plugins/tprovoost/sequenceblocks/infos/GetRoisAsRegion.java diff --git a/src/plugins/tprovoost/sequenceblocks/infos/ReadMetadata.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/ReadMetadata.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/infos/ReadMetadata.java rename to src/main/java/plugins/tprovoost/sequenceblocks/infos/ReadMetadata.java diff --git a/src/plugins/tprovoost/sequenceblocks/infos/SetChannelName.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetChannelName.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/infos/SetChannelName.java rename to src/main/java/plugins/tprovoost/sequenceblocks/infos/SetChannelName.java diff --git a/src/plugins/tprovoost/sequenceblocks/infos/SetChannelsName.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetChannelsName.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/infos/SetChannelsName.java rename to src/main/java/plugins/tprovoost/sequenceblocks/infos/SetChannelsName.java diff --git a/src/plugins/tprovoost/sequenceblocks/infos/SetColormap.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetColormap.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/infos/SetColormap.java rename to src/main/java/plugins/tprovoost/sequenceblocks/infos/SetColormap.java diff --git a/src/plugins/tprovoost/sequenceblocks/infos/SetColormaps.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetColormaps.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/infos/SetColormaps.java rename to src/main/java/plugins/tprovoost/sequenceblocks/infos/SetColormaps.java diff --git a/src/plugins/tprovoost/sequenceblocks/infos/SetName.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetName.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/infos/SetName.java rename to src/main/java/plugins/tprovoost/sequenceblocks/infos/SetName.java diff --git a/src/plugins/tprovoost/sequenceblocks/infos/SetResolution.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/SetResolution.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/infos/SetResolution.java rename to src/main/java/plugins/tprovoost/sequenceblocks/infos/SetResolution.java diff --git a/src/plugins/tprovoost/sequenceblocks/infos/VarColormap.java b/src/main/java/plugins/tprovoost/sequenceblocks/infos/VarColormap.java similarity index 97% rename from src/plugins/tprovoost/sequenceblocks/infos/VarColormap.java rename to src/main/java/plugins/tprovoost/sequenceblocks/infos/VarColormap.java index d1776836e52a74e0452f8cc35bfb7b1add7c1203..017f8b950f6b668f493e16b8085eebd77cd6913a 100644 --- a/src/plugins/tprovoost/sequenceblocks/infos/VarColormap.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/infos/VarColormap.java @@ -50,7 +50,7 @@ public class VarColormap extends Var<IcyColorMap> // create the var editor (combo box type here) final ComboBox<IcyColorMap> result = new ComboBox<IcyColorMap>(this); // get the editor component - final JComboBox<?> combo = result.getEditorComponent(); + final JComboBox combo = result.getEditorComponent(); // and set a specific renderer combo.setRenderer(new ColormapComboBoxRenderer(combo)); diff --git a/src/plugins/tprovoost/sequenceblocks/loop/SequenceChannelBatch.java b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceChannelBatch.java similarity index 92% rename from src/plugins/tprovoost/sequenceblocks/loop/SequenceChannelBatch.java rename to src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceChannelBatch.java index 763ccaa66f8f588bbfdb8c9077948077494654e1..f227dcdf5f39c9831fca6562ccaf1e5788b66547 100644 --- a/src/plugins/tprovoost/sequenceblocks/loop/SequenceChannelBatch.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceChannelBatch.java @@ -17,10 +17,15 @@ import plugins.tprovoost.sequenceblocks.SequenceBlocks; */ public class SequenceChannelBatch extends Batch implements SequenceBlock, PluginLibrary, PluginBundled { - // important to not initialize here (even with null) and create them in getBatchSource() and getBatchElement() + // important to not initialize and create them in getBatchSource() and getBatchElement() protected VarSequence inputSequence; protected VarSequence element; + public SequenceChannelBatch() + { + super(); + } + @Override public VarSequence getBatchSource() { diff --git a/src/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterBatch.java b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterBatch.java similarity index 63% rename from src/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterBatch.java rename to src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterBatch.java index 48ef8fb78bc0c06d0580986a67f365c3b701a6e0..782c76cf22a1fcc65214f96af01bd64148f79d4c 100644 --- a/src/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterBatch.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterBatch.java @@ -1,15 +1,11 @@ package plugins.tprovoost.sequenceblocks.loop; -import java.util.List; - import icy.file.SequenceFileImporter; import icy.plugin.interface_.PluginBundled; import icy.plugin.interface_.PluginLibrary; 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; @@ -21,10 +17,9 @@ import plugins.tprovoost.sequenceblocks.importer.PositionedSequenceFileImporter; */ public abstract class SequenceFileImporterBatch extends Batch implements SequenceBlock, PluginLibrary, PluginBundled { - // important to not initialize here (even with null) and create them in getBatchSource() and getBatchElement() + // important to not initialize and create them in getBatchSource() and getBatchElement() protected Var<PositionedSequenceFileImporter> positionedImporter; protected Var<PositionedSequenceFileImporter> element; - protected VarInteger series; // internal protected int limit; @@ -63,42 +58,8 @@ public abstract class SequenceFileImporterBatch extends Batch implements Sequenc if (imp.getOpened() == null) throw new VarException(positionedImporter, "Importer is not opened !"); - // create new positioned importer for element initialization - final PositionedSequenceFileImporter pi = new PositionedSequenceFileImporter(value); - - final int s = series.getValue().intValue(); - - // defined series ? --> set series position - if (s != -1) - pi.s = s; - - // init element with a copy of current positioned importer (and eventually set serie position) - element.setValue(pi); - } - - @Override - public void declareInput(VarList inputMap) - { - super.declareInput(inputMap); - - // lazy creation - if (series == null) - series = new VarInteger("Series", -1); - - inputMap.add("series", series); - } - - @Override - public void declareLoopVariables(List<Var<?>> loopVariables) - { - // need to be called after - super.declareLoopVariables(loopVariables); - - // lazy creation - if (series == null) - series = new VarInteger("Series", -1); - - loopVariables.add(series); + // init element with a copy of current positioned importer + element.setValue(new PositionedSequenceFileImporter(value)); } @Override diff --git a/src/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterChannelBatch.java b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterChannelBatch.java similarity index 91% rename from src/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterChannelBatch.java rename to src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterChannelBatch.java index afc3b0405731be0aab4532d1fec43677f797bbe9..46640c56371c0c1eade6faae2c6d3a23d531ce35 100644 --- a/src/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterChannelBatch.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterChannelBatch.java @@ -17,8 +17,7 @@ public class SequenceFileImporterChannelBatch extends SequenceFileImporterBatch { super.initializeLoop(); - // can take position from element which should have been initialized here - final PositionedSequenceFileImporter pi = element.getValue(); + final PositionedSequenceFileImporter pi = positionedImporter.getValue(); try { diff --git a/src/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterFrameBatch.java b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterFrameBatch.java similarity index 91% rename from src/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterFrameBatch.java rename to src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterFrameBatch.java index ba8bf1066324d59de57918deaf474eb654dae72b..e91d5f4ff98aba478bb7aa82b97957726f288141 100644 --- a/src/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterFrameBatch.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterFrameBatch.java @@ -17,8 +17,7 @@ public class SequenceFileImporterFrameBatch extends SequenceFileImporterBatch { super.initializeLoop(); - // can take position from element which should have been initialized here - final PositionedSequenceFileImporter pi = element.getValue(); + final PositionedSequenceFileImporter pi = positionedImporter.getValue(); try { diff --git a/src/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterRegionBatch.java b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterRegionBatch.java similarity index 94% rename from src/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterRegionBatch.java rename to src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterRegionBatch.java index 05f05183d8836780a5e821f1701ded158786fcc3..0bbd8bb263a02730c16eb1c2aa4fac2fd7dad8cd 100644 --- a/src/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterRegionBatch.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterRegionBatch.java @@ -24,7 +24,6 @@ import plugins.tprovoost.sequenceblocks.importer.PositionedSequenceFileImporter; */ public class SequenceFileImporterRegionBatch extends SequenceFileImporterBatch { - // important to not initialize here (even with null) and create them in getBatchSource() and getBatchElement() protected VarROIArray rois; protected VarInteger inputRoisResolution; protected VarInteger inputRoisMargin; @@ -35,8 +34,7 @@ public class SequenceFileImporterRegionBatch extends SequenceFileImporterBatch { super.initializeLoop(); - // can take position from element which should have been initialized here - final PositionedSequenceFileImporter pi = element.getValue(); + final PositionedSequenceFileImporter pi = positionedImporter.getValue(); // can iterate over XY dimension ? if ((pi.xyRegion == null) && (rois.getValue() != null)) @@ -116,8 +114,6 @@ public class SequenceFileImporterRegionBatch extends SequenceFileImporterBatch @Override public void declareLoopVariables(List<Var<?>> loopVariables) { - super.declareLoopVariables(loopVariables); - // lazy creation if (rois == null) rois = new VarROIArray("XY regions (ROIs)"); @@ -129,6 +125,8 @@ public class SequenceFileImporterRegionBatch extends SequenceFileImporterBatch loopVariables.add(rois); loopVariables.add(inputRoisResolution); loopVariables.add(inputRoisMargin); + + super.declareLoopVariables(loopVariables); } @Override diff --git a/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterSeriesBatch.java b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterSeriesBatch.java new file mode 100644 index 0000000000000000000000000000000000000000..255c14ceb98dbccc3ec8b09e5a4db47f420a240f --- /dev/null +++ b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterSeriesBatch.java @@ -0,0 +1,48 @@ +package plugins.tprovoost.sequenceblocks.loop; + +import icy.file.SequenceFileImporter; +import icy.sequence.MetaDataUtil; +import plugins.adufour.vars.util.VarException; +import plugins.tprovoost.sequenceblocks.importer.PositionedSequenceFileImporter; + +/** + * Simple batch loop to iterate over all series from the specified opened {@link SequenceFileImporter} object. + * + * @author Stephane + */ +public class SequenceFileImporterSeriesBatch extends SequenceFileImporterBatch +{ + @Override + public void initializeLoop() + { + super.initializeLoop(); + + final PositionedSequenceFileImporter pi = positionedImporter.getValue(); + + try + { + // force series iteration as by default series is set to 0 + limit = MetaDataUtil.getNumSeries(pi.getMetadata()); + } + catch (Exception e) + { + throw new VarException(element, + "Error while initializing SequenceFileImporter series batch: " + e.getMessage()); + } + } + + @Override + public void beforeIteration() + { + // set current position S + element.getValue().s = getIterationCounter().getValue().intValue(); + // force element changed event so loop get correctly executed + element.valueChanged(element, element.getValue(), element.getValue()); + } + + @Override + public boolean isStopConditionReached() + { + return getIterationCounter().getValue().intValue() >= limit; + } +} diff --git a/src/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterSliceBatch.java b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterSliceBatch.java similarity index 91% rename from src/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterSliceBatch.java rename to src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterSliceBatch.java index 93a5514285f7563ec343e5d173322757dc65f535..061b76de2ce25f577b22617ab6d0e5ec2b1049a7 100644 --- a/src/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterSliceBatch.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterSliceBatch.java @@ -17,8 +17,7 @@ public class SequenceFileImporterSliceBatch extends SequenceFileImporterBatch { super.initializeLoop(); - // can take position from element which should have been initialized here - final PositionedSequenceFileImporter pi = element.getValue(); + final PositionedSequenceFileImporter pi = positionedImporter.getValue(); try { diff --git a/src/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterTileBatch.java b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterTileBatch.java similarity index 68% rename from src/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterTileBatch.java rename to src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterTileBatch.java index 57d3af77dfe12a277bbc5710fe1efe70b8fcbdf8..5386fb6de960654e2274d0f96aebebc51482b1a6 100644 --- a/src/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterTileBatch.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterTileBatch.java @@ -6,10 +6,7 @@ import java.util.List; import icy.file.SequenceFileImporter; import icy.image.ImageUtil; import icy.sequence.MetaDataUtil; -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.importer.PositionedSequenceFileImporter; @@ -20,19 +17,25 @@ import plugins.tprovoost.sequenceblocks.importer.PositionedSequenceFileImporter; */ public class SequenceFileImporterTileBatch extends SequenceFileImporterBatch { - // important to not initialize here (even with null) and create them in getBatchSource() and getBatchElement() - protected VarInteger tileW; - protected VarInteger tileH; + protected final VarInteger tileW; + protected final VarInteger tileH; protected List<Rectangle> tiles; + public SequenceFileImporterTileBatch() + { + super(); + + tileW = new VarInteger("Tile width (-1 = auto)", 0); + tileH = new VarInteger("Tile height (-1 = auto)", 0); + } + @Override public void initializeLoop() { super.initializeLoop(); - // can take position from element which should have been initialized here - final PositionedSequenceFileImporter pi = element.getValue(); + final PositionedSequenceFileImporter pi = positionedImporter.getValue(); // can iterate over XY dimension ? if (pi.xyRegion == null) @@ -60,7 +63,7 @@ public class SequenceFileImporterTileBatch extends SequenceFileImporterBatch } catch (Exception e) { - throw new VarException(element, + throw new VarException(positionedImporter, "Error while initializing SequenceFileImporter tile batch: " + e.getMessage()); } @@ -85,37 +88,6 @@ public class SequenceFileImporterTileBatch extends SequenceFileImporterBatch else limit = 1; } - - @Override - public void declareInput(VarList inputMap) - { - super.declareInput(inputMap); - - // lazy creation - if (tileW == null) - tileW = new VarInteger("Tile width (-1 = auto)", -1); - if (tileH == null) - tileH = new VarInteger("Tile height (-1 = auto)", -1); - - inputMap.add("tileWidht", tileW); - inputMap.add("tileHeight", tileH); - } - - @Override - public void declareLoopVariables(List<Var<?>> loopVariables) - { - // need to be called after - super.declareLoopVariables(loopVariables); - - // lazy creation - if (tileW == null) - tileW = new VarInteger("Tile width (-1 = auto)", -1); - if (tileH == null) - tileH = new VarInteger("Tile height (-1 = auto)", -1); - - loopVariables.add(tileW); - loopVariables.add(tileH); - } @Override public void beforeIteration() diff --git a/src/plugins/tprovoost/sequenceblocks/loop/SequenceFrameBatch.java b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFrameBatch.java similarity index 91% rename from src/plugins/tprovoost/sequenceblocks/loop/SequenceFrameBatch.java rename to src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFrameBatch.java index 0737a24c90b4b4c36ab9692f875098398f82614f..d06b0a6c91a7b520f7eb72e5bdeb9e26a14cf6e2 100644 --- a/src/plugins/tprovoost/sequenceblocks/loop/SequenceFrameBatch.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceFrameBatch.java @@ -16,7 +16,7 @@ import plugins.tprovoost.sequenceblocks.SequenceBlocks; */ public class SequenceFrameBatch extends Batch implements PluginLibrary, PluginBundled { - // important to not initialize here (even with null) and create them in getBatchSource() and getBatchElement() + // important to not initialize and create them in getBatchSource() and getBatchElement() protected VarSequence inputSequence; protected VarSequence element; @@ -40,7 +40,7 @@ public class SequenceFrameBatch extends Batch implements PluginLibrary, PluginBu { // initialize element if needed if (element == null) - element = new VarSequence("Frame Sequence", null); + element = new VarSequence("Channel Sequence", null); return element; } diff --git a/src/plugins/tprovoost/sequenceblocks/loop/SequenceRegionBatch.java b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceRegionBatch.java similarity index 70% rename from src/plugins/tprovoost/sequenceblocks/loop/SequenceRegionBatch.java rename to src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceRegionBatch.java index 4612efc37d930d0a0944c51631c5f7b009bf7ac3..548ba91b6ad96f97bda809d1c73ab7538d72fd88 100644 --- a/src/plugins/tprovoost/sequenceblocks/loop/SequenceRegionBatch.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceRegionBatch.java @@ -4,7 +4,6 @@ import java.util.List; import icy.plugin.interface_.PluginBundled; import icy.plugin.interface_.PluginLibrary; -import icy.roi.ROI; import icy.sequence.Sequence; import icy.sequence.SequenceUtil; import plugins.adufour.blocks.lang.Batch; @@ -23,55 +22,36 @@ import plugins.tprovoost.sequenceblocks.SequenceBlocks; */ public class SequenceRegionBatch extends Batch implements SequenceBlock, PluginLibrary, PluginBundled { - // important to not initialize here (even with null) and create them in getBatchSource() and getBatchElement() + // important to not initialize and create them in getBatchSource() and getBatchElement() protected VarSequence inputSequence; protected VarSequence element; - protected VarROIArray rois; - protected VarROIArray currentRoi; + protected final VarROIArray rois; public SequenceRegionBatch() { super(); - } - - @Override - public VarROIArray getBatchSource() - { - if (rois == null) - rois = new VarROIArray("ROI(s)"); - - return rois; - } - - @Override - public VarSequence getBatchElement() - { - if (element == null) - element = new VarSequence("Region Sequence", null); - return element; + rois = new VarROIArray("ROI(s)"); } @Override - public void declareInput(VarList inputMap) + public VarSequence getBatchSource() { - super.declareInput(inputMap); - + // initialize variable if needed if (inputSequence == null) inputSequence = new VarSequence("Sequence", null); - inputMap.add(inputSequence.getName(), inputSequence); + return inputSequence; } @Override - public void declareOutput(VarList outputMap) + public VarSequence getBatchElement() { - super.declareOutput(outputMap); - - if (currentRoi == null) - currentRoi = new VarROIArray("Current ROI"); + // initialize element if needed + if (element == null) + element = new VarSequence("Channel Sequence", null); - outputMap.add(currentRoi.getName(), currentRoi); + return element; } @Override @@ -90,10 +70,8 @@ public class SequenceRegionBatch extends Batch implements SequenceBlock, PluginL public void beforeIteration() { // set result in element - final ROI roi = rois.getValue()[getIterationCounter().getValue().intValue()]; - - element.setValue(SequenceUtil.getSubSequence(inputSequence.getValue(), roi)); - currentRoi.setValue(new ROI[] {roi}); + element.setValue(SequenceUtil.getSubSequence(inputSequence.getValue(), + rois.getValue()[getIterationCounter().getValue().intValue()])); } @Override @@ -102,12 +80,20 @@ public class SequenceRegionBatch extends Batch implements SequenceBlock, PluginL return getIterationCounter().getValue().intValue() >= rois.getValue().length; } + @Override + public void declareInput(VarList inputMap) + { + super.declareInput(inputMap); + + inputMap.add("ROIs", rois); + } + @Override public void declareLoopVariables(List<Var<?>> loopVariables) { super.declareLoopVariables(loopVariables); - loopVariables.add(inputSequence); - loopVariables.add(currentRoi); + + loopVariables.add(rois); } @Override diff --git a/src/plugins/tprovoost/sequenceblocks/loop/SequenceSliceBatch.java b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceSliceBatch.java similarity index 91% rename from src/plugins/tprovoost/sequenceblocks/loop/SequenceSliceBatch.java rename to src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceSliceBatch.java index e8c2003095f9ea416acb141df9c53a3fed7ed56d..d1bc6897915d2fb04e82c3327e30e83da2c8b802 100644 --- a/src/plugins/tprovoost/sequenceblocks/loop/SequenceSliceBatch.java +++ b/src/main/java/plugins/tprovoost/sequenceblocks/loop/SequenceSliceBatch.java @@ -17,7 +17,7 @@ import plugins.tprovoost.sequenceblocks.SequenceBlocks; */ public class SequenceSliceBatch extends Batch implements SequenceBlock, PluginLibrary, PluginBundled { - // important to not initialize here (even with null) and create them in getBatchSource() and getBatchElement() + // important to not initialize and create them in getBatchSource() and getBatchElement() protected VarSequence inputSequence; protected VarSequence element; @@ -36,7 +36,7 @@ public class SequenceSliceBatch extends Batch implements SequenceBlock, PluginLi { // initialize element if needed if (element == null) - element = new VarSequence("Slice Sequence", null); + element = new VarSequence("Channel Sequence", null); return element; } diff --git a/src/plugins/tprovoost/sequenceblocks/op/AdditiveFillSequence.java b/src/main/java/plugins/tprovoost/sequenceblocks/op/AdditiveFillSequence.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/op/AdditiveFillSequence.java rename to src/main/java/plugins/tprovoost/sequenceblocks/op/AdditiveFillSequence.java diff --git a/src/plugins/tprovoost/sequenceblocks/op/FillInnerSequence.java b/src/main/java/plugins/tprovoost/sequenceblocks/op/FillInnerSequence.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/op/FillInnerSequence.java rename to src/main/java/plugins/tprovoost/sequenceblocks/op/FillInnerSequence.java diff --git a/src/plugins/tprovoost/sequenceblocks/op/FillOuterSequence.java b/src/main/java/plugins/tprovoost/sequenceblocks/op/FillOuterSequence.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/op/FillOuterSequence.java rename to src/main/java/plugins/tprovoost/sequenceblocks/op/FillOuterSequence.java diff --git a/src/plugins/tprovoost/sequenceblocks/remove/RemoveAllRois.java b/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveAllRois.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/remove/RemoveAllRois.java rename to src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveAllRois.java diff --git a/src/plugins/tprovoost/sequenceblocks/remove/RemoveChannel.java b/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveChannel.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/remove/RemoveChannel.java rename to src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveChannel.java diff --git a/src/plugins/tprovoost/sequenceblocks/remove/RemoveFrame.java b/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveFrame.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/remove/RemoveFrame.java rename to src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveFrame.java diff --git a/src/plugins/tprovoost/sequenceblocks/remove/RemoveOverlays.java b/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveOverlays.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/remove/RemoveOverlays.java rename to src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveOverlays.java diff --git a/src/plugins/tprovoost/sequenceblocks/remove/RemoveRois.java b/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveRois.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/remove/RemoveRois.java rename to src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveRois.java diff --git a/src/plugins/tprovoost/sequenceblocks/remove/RemoveSlice.java b/src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveSlice.java similarity index 100% rename from src/plugins/tprovoost/sequenceblocks/remove/RemoveSlice.java rename to src/main/java/plugins/tprovoost/sequenceblocks/remove/RemoveSlice.java diff --git a/res/SequenceBlocks.xml b/src/main/resources/SequenceBlocks.xml similarity index 100% rename from res/SequenceBlocks.xml rename to src/main/resources/SequenceBlocks.xml diff --git a/res/SequenceBlocks_icon.png b/src/main/resources/SequenceBlocks_icon.png similarity index 100% rename from res/SequenceBlocks_icon.png rename to src/main/resources/SequenceBlocks_icon.png diff --git a/src/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterSeriesBatch.java b/src/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterSeriesBatch.java deleted file mode 100644 index ffb8e57b7eec5d8a0c220be797cf52e763cae911..0000000000000000000000000000000000000000 --- a/src/plugins/tprovoost/sequenceblocks/loop/SequenceFileImporterSeriesBatch.java +++ /dev/null @@ -1,77 +0,0 @@ -package plugins.tprovoost.sequenceblocks.loop; - -import java.util.List; - -import icy.file.SequenceFileImporter; -import icy.sequence.MetaDataUtil; -import plugins.adufour.blocks.util.VarList; -import plugins.adufour.vars.lang.Var; -import plugins.adufour.vars.util.VarException; -import plugins.tprovoost.sequenceblocks.importer.PositionedSequenceFileImporter; - -/** - * Simple batch loop to iterate over all series from the specified opened {@link SequenceFileImporter} object. - * - * @author Stephane - */ -public class SequenceFileImporterSeriesBatch extends SequenceFileImporterBatch -{ - @Override - public void initializeLoop() - { - super.initializeLoop(); - - // can take position from element which should have been initialized here - final PositionedSequenceFileImporter pi = element.getValue(); - - try - { - // can iterate over S dimension ? - if (pi.s == -1) - limit = MetaDataUtil.getNumSeries(pi.getMetadata()); - else - limit = 1; - } - catch (Exception e) - { - throw new VarException(element, - "Error while initializing SequenceFileImporter series batch: " + e.getMessage()); - } - } - - @Override - public void declareInput(VarList inputMap) - { - super.declareInput(inputMap); - - // we don't want it here - inputMap.remove(series); - } - - @Override - public void declareLoopVariables(List<Var<?>> loopVariables) - { - super.declareLoopVariables(loopVariables); - - // we don't want it here - loopVariables.remove(series); - } - - @Override - public void beforeIteration() - { - // set current position S - if (positionedImporter.getValue().s == -1) - { - element.getValue().s = getIterationCounter().getValue().intValue(); - // force element changed event so loop get correctly executed - element.valueChanged(element, element.getValue(), element.getValue()); - } - } - - @Override - public boolean isStopConditionReached() - { - return getIterationCounter().getValue().intValue() >= limit; - } -}