From c8e9733ce369d8891bdac75b98d419b74696e60d Mon Sep 17 00:00:00 2001
From: Thomas <thomas.musset@pasteur.fr>
Date: Thu, 27 Jun 2024 17:32:53 +0200
Subject: [PATCH] updated pom to v2.0.0-a.1, fix classes accordingly to new
 architecture, added icon, updated .gitignore

---
 .gitignore                                    |  44 +++++++++++++++---
 pom.xml                                       |  12 +++--
 .../plugins/adufour/roi/LabelExtractor.java   |  22 +++++----
 src/main/resources/label-extractor.png        | Bin 0 -> 3354 bytes
 4 files changed, 57 insertions(+), 21 deletions(-)
 create mode 100644 src/main/resources/label-extractor.png

diff --git a/.gitignore b/.gitignore
index b2f15ce..57f16fb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,11 +1,41 @@
-.idea/
-.settings/
-build/
+/build*
+/workspace
+setting.xml
+release/
 target/
-bin/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+icy.log
+
+### IntelliJ IDEA ###
+.idea/
+*.iws
 *.iml
-*.jar
+*.ipr
+
+### Eclipse ###
+.apt_generated
 .classpath
+.factorypath
 .project
-export.jardesc
-**/.DS_Store
\ No newline at end of file
+.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 158ce2e..8475dd0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,13 +7,11 @@
     <parent>
         <groupId>org.bioimageanalysis.icy</groupId>
         <artifactId>pom-icy</artifactId>
-        <version>2.2.0</version>
+        <version>3.0.0-a.1</version>
     </parent>
 
     <artifactId>label-extractor</artifactId>
-    <version>2.0.0</version>
-
-    <packaging>jar</packaging>
+    <version>2.0.0-a.1</version>
 
     <name>Label extractor</name>
     <description>
@@ -21,6 +19,10 @@
     </description>
 
     <dependencies>
+        <dependency>
+            <groupId>org.bioimageanalysis.icy</groupId>
+            <artifactId>kernel-extensions</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.bioimageanalysis.icy</groupId>
             <artifactId>ezplug</artifactId>
@@ -34,7 +36,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/adufour/roi/LabelExtractor.java b/src/main/java/plugins/adufour/roi/LabelExtractor.java
index 4b8ad5c..f6cda00 100644
--- a/src/main/java/plugins/adufour/roi/LabelExtractor.java
+++ b/src/main/java/plugins/adufour/roi/LabelExtractor.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,17 +18,19 @@
 
 package plugins.adufour.roi;
 
-import icy.image.IcyBufferedImage;
-import icy.roi.ROI;
-import icy.sequence.Sequence;
-import icy.type.DataType;
-import icy.type.collection.array.Array1DUtil;
+import org.bioimageanalysis.extension.kernel.roi.roi2d.ROI2DArea;
+import org.bioimageanalysis.extension.kernel.roi.roi3d.ROI3DArea;
+import org.bioimageanalysis.icy.common.collection.array.Array1DUtil;
+import org.bioimageanalysis.icy.common.type.DataType;
+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.roi.ROI;
+import org.bioimageanalysis.icy.model.sequence.Sequence;
 import plugins.adufour.blocks.lang.Block;
 import plugins.adufour.blocks.util.VarList;
 import plugins.adufour.ezplug.*;
 import plugins.adufour.vars.lang.VarROIArray;
-import plugins.kernel.roi.roi2d.ROI2DArea;
-import plugins.kernel.roi.roi3d.ROI3DArea;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -42,6 +44,8 @@ import java.util.Map;
  *
  * @author Alexandre Dufour
  */
+@IcyPluginName("Label Extractor")
+@IcyPluginIcon(path = "/label-extractor.png")
 public class LabelExtractor extends EzPlug implements Block, EzStoppable {
     EzVarSequence inSeq = new EzVarSequence("Labeled sequence");
 
@@ -231,7 +235,7 @@ public class LabelExtractor extends EzPlug implements Block, EzStoppable {
         final int slice = width * height;
         final int depth = sequence.getSizeZ();
         final boolean is3D = depth > 1;
-        final DataType dataType = sequence.getDataType_();
+        final DataType dataType = sequence.getDataType();
 
         final Map<Integer, ConnectedComponent> ccs = new HashMap<>();
         final Map<Integer, ROI> roiMap = new HashMap<>();
diff --git a/src/main/resources/label-extractor.png b/src/main/resources/label-extractor.png
new file mode 100644
index 0000000000000000000000000000000000000000..d171741d0b9a24535c02f56e8cdbcd6b1411bff0
GIT binary patch
literal 3354
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

literal 0
HcmV?d00001

-- 
GitLab