From 12a404fcb0023abbc2990cc3afe832dd20d78dc3 Mon Sep 17 00:00:00 2001 From: Thomas <thomas.musset@pasteur.fr> Date: Tue, 10 Dec 2024 15:33:54 +0100 Subject: [PATCH] updated to v2.0.0-a.2, updated to Java 23, fix some errors --- pom.xml | 11 +---- .../java/plugins/fab/trackmanager/Link.java | 2 +- .../PluginTrackManagerProcessor.java | 10 +---- .../fab/trackmanager/TrackDetection.java | 5 --- .../plugins/fab/trackmanager/TrackGroup.java | 1 - .../fab/trackmanager/TrackManager.java | 42 +++++------------- .../fab/trackmanager/TrackManagerPainter.java | 16 ++----- .../plugins/fab/trackmanager/TrackPool.java | 16 +++---- .../blocks/LoadTracksFromXML.java | 3 +- .../trackmanager/blocks/SaveTracksToXML.java | 2 +- .../fab/trackmanager}/track-manager.png | Bin 11 files changed, 27 insertions(+), 81 deletions(-) rename src/main/resources/{ => plugins/fab/trackmanager}/track-manager.png (100%) diff --git a/pom.xml b/pom.xml index 582587f..974c0c6 100644 --- a/pom.xml +++ b/pom.xml @@ -8,11 +8,11 @@ <parent> <groupId>org.bioimageanalysis.icy</groupId> <artifactId>pom-icy</artifactId> - <version>3.0.0-a.1</version> + <version>3.0.0-a.3</version> </parent> <artifactId>track-manager</artifactId> - <version>2.0.0-a.1</version> + <version>2.0.0-a.2</version> <name>Track Manager</name> <description> @@ -34,11 +34,4 @@ <artifactId>spot-detection-utilities</artifactId> </dependency> </dependencies> - - <repositories> - <repository> - <id>icy</id> - <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/fab/trackmanager/Link.java b/src/main/java/plugins/fab/trackmanager/Link.java index a2fc342..ca6271f 100644 --- a/src/main/java/plugins/fab/trackmanager/Link.java +++ b/src/main/java/plugins/fab/trackmanager/Link.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 diff --git a/src/main/java/plugins/fab/trackmanager/PluginTrackManagerProcessor.java b/src/main/java/plugins/fab/trackmanager/PluginTrackManagerProcessor.java index 3468c73..bdd7cd3 100644 --- a/src/main/java/plugins/fab/trackmanager/PluginTrackManagerProcessor.java +++ b/src/main/java/plugins/fab/trackmanager/PluginTrackManagerProcessor.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 @@ -130,18 +130,10 @@ public abstract class PluginTrackManagerProcessor extends Plugin { return mainPanel; } - /*@Override - protected void finalize() throws Throwable { - trackPool = null; - super.finalize(); - }*/ - - @SuppressWarnings("UnstableApiUsage") @Contract(mutates = "this") public final void setTrackPool(final TrackPool trackPool) { this.trackPool = trackPool; } abstract public void displaySequenceChanged(); - } diff --git a/src/main/java/plugins/fab/trackmanager/TrackDetection.java b/src/main/java/plugins/fab/trackmanager/TrackDetection.java index 2fb2b13..cd5b439 100644 --- a/src/main/java/plugins/fab/trackmanager/TrackDetection.java +++ b/src/main/java/plugins/fab/trackmanager/TrackDetection.java @@ -37,11 +37,6 @@ public class TrackDetection extends JPanel { public TrackDetection(final Detection detection) { super(); this.detection = detection; - // if ( detection.getDetectionType() == Detection.DETECTIONTYPE_REAL_DETECTION ) color = - // Color.blue; - // if ( detection.getDetectionType() == Detection.DETECTIONTYPE_VIRTUAL_DETECTION ) color = - // Color.orange; - } public Detection getDetection() { diff --git a/src/main/java/plugins/fab/trackmanager/TrackGroup.java b/src/main/java/plugins/fab/trackmanager/TrackGroup.java index 597e931..2d686fa 100644 --- a/src/main/java/plugins/fab/trackmanager/TrackGroup.java +++ b/src/main/java/plugins/fab/trackmanager/TrackGroup.java @@ -63,7 +63,6 @@ public class TrackGroup { } public TrackSegment getTrackSegmentWithDetection(final Detection detection) { - final ArrayList<TrackSegment> trackSegmentList = getTrackSegmentList(); for (final TrackSegment ts : trackSegmentList) { diff --git a/src/main/java/plugins/fab/trackmanager/TrackManager.java b/src/main/java/plugins/fab/trackmanager/TrackManager.java index 9adf815..e2664d0 100644 --- a/src/main/java/plugins/fab/trackmanager/TrackManager.java +++ b/src/main/java/plugins/fab/trackmanager/TrackManager.java @@ -67,13 +67,8 @@ import java.util.prefs.Preferences; * @author Fabrice de Chaumont */ @IcyPluginName("Track Manager") -@IcyPluginIcon(path = "/track-manager.png") +@IcyPluginIcon(path = "/plugins/fab/trackmanager/track-manager.png") public class TrackManager extends PluginActionable implements AdjustmentListener, ActionListener, SwimmingPoolListener, IcyFrameListener { - /* - * List of active trackEditor shared between trackeditors (not used anymore) - */ - // private static ArrayList<TrackManager> trackManagerList = new ArrayList<TrackManager>(); - /** * is this track manager not used anymore (TODO:Should change to a listener structure.) */ @@ -124,9 +119,7 @@ public class TrackManager extends PluginActionable implements AdjustmentListener trackPool.addTrackProcessor(ptep); // rebuild trackList - rebuildTrackProcessorDisplay(); - } public TrackPool getTrackPool() { @@ -134,7 +127,6 @@ public class TrackManager extends PluginActionable implements AdjustmentListener } void rebuildTrackProcessorDisplay() { - rightContentPanel.removeAll(); for (final PluginTrackManagerProcessor trackProcessor : trackPool.getTrackManagerProcessorList()) { @@ -407,7 +399,6 @@ public class TrackManager extends PluginActionable implements AdjustmentListener // add the trackColor Processor final PluginDescriptor pd = PluginLoader.getPlugin("plugins.fab.trackmanager.processors.TrackProcessorColorTrack"); loadTrackProcessor(pd); - } /** @@ -466,11 +457,9 @@ public class TrackManager extends PluginActionable implements AdjustmentListener } // trackGroupSourceInnerPanel.updateUI(); - } private void initTrackPoolInnerPanel() { - // trackingGroupSourceMenu.removeAll(); // trackGroupSourceInnerPanel.removeAll(); @@ -503,7 +492,6 @@ public class TrackManager extends PluginActionable implements AdjustmentListener } } - } // /** @@ -538,7 +526,7 @@ public class TrackManager extends PluginActionable implements AdjustmentListener // } // } - ///** List of sequences which will be kept synchronize while the t cursor are moving. */ + //** List of sequences which will be kept synchronize while the t cursor are moving. */ // private ArrayList<Sequence> sequenceToKeepSynchronizeInT = new ArrayList<Sequence>(); /** @@ -567,7 +555,7 @@ public class TrackManager extends PluginActionable implements AdjustmentListener // System.out.println("Synchro sequence"); // for (Sequence sequence : sequenceToKeepSynchronizeInT) // { - //// System.out.println("synchro on sequence : " + sequence ); + // System.out.println("synchro on sequence : " + sequence ); // sequence.setT(currentT); // } @@ -582,7 +570,6 @@ public class TrackManager extends PluginActionable implements AdjustmentListener } class CheckBoxResultSource extends JCheckBoxMenuItem implements ActionListener { - // JCheckBox checkBox = new JCheckBox(); // JToggleButton trackTimeOnSequenceButton = new JToggleButton("T"); SwimmingObject result; @@ -630,7 +617,6 @@ public class TrackManager extends PluginActionable implements AdjustmentListener // } // } // ---------- - } // public void setSelected(boolean b) { @@ -642,7 +628,7 @@ public class TrackManager extends PluginActionable implements AdjustmentListener // remove the sequence tracked // if (trackTimeOnSequenceButton.isSelected()) // { - //// sequenceToKeepSynchronizeInT.remove(sequence); + // sequenceToKeepSynchronizeInT.remove(sequence); // } trackingGroupSourceMenu.remove(this); // trackGroupSourceInnerPanel.remove(this); @@ -657,12 +643,12 @@ public class TrackManager extends PluginActionable implements AdjustmentListener // { // if (trackTimeOnSequenceButton.isSelected()) // { - //// if (sequence != null) - //// sequenceToKeepSynchronizeInT.add(sequence); + // if (sequence != null) + // sequenceToKeepSynchronizeInT.add(sequence); // } // else // { - //// sequenceToKeepSynchronizeInT.remove(sequence); + // sequenceToKeepSynchronizeInT.remove(sequence); // } // reSynchroTSequence(); // } @@ -678,7 +664,7 @@ public class TrackManager extends PluginActionable implements AdjustmentListener // if (trackEditor != TrackManager.this) // { // // System.out.println("call ok"); - //// trackEditor.setEnableCheckBoxResultSource(result, false); + // trackEditor.setEnableCheckBoxResultSource(result, false); // } // } @@ -688,8 +674,8 @@ public class TrackManager extends PluginActionable implements AdjustmentListener // trackPool.getDisplaySequence().painterChanged( null ); // for (TrackManager trackEditor : trackManagerList) // { - //// if (trackEditor != TrackManager.this) - //// trackEditor.setEnableCheckBoxResultSource(result, true); + // if (trackEditor != TrackManager.this) + // trackEditor.setEnableCheckBoxResultSource(result, true); // } } @@ -1129,7 +1115,7 @@ public class TrackManager extends PluginActionable implements AdjustmentListener int newX = (int) trackPanel.getDetectDim().getWidth() - 5; if (newX <= 0) newX = 5; - trackPanel.setDetectDim(new Dimension(newX, newX)); + trackPanel.setDetectDim(new Dimension(newX, newX)); // TODO check if 'newX' should be used as 'Y' argument trackPool.fireTrackEditorProcessorChange(); } if (e.getSource() == zoomMoreButton) { @@ -1151,7 +1137,6 @@ public class TrackManager extends PluginActionable implements AdjustmentListener // .getDetectDim().getHeight() + 5)); // trackPool.fireTrackEditorProcessorChange(); // } - } @Override @@ -1179,7 +1164,6 @@ public class TrackManager extends PluginActionable implements AdjustmentListener menuItem.addActionListener(new MenuItemActionListener(plugin, PluginTrackManagerProcessor.class)); } } - } public void moveTrackProcessor(final PluginTrackManagerProcessor trackEditorProcessor, final int i) { @@ -1201,7 +1185,6 @@ public class TrackManager extends PluginActionable implements AdjustmentListener trackPool.fireTrackEditorProcessorChange(); // System.out.println("Demande changement de place."); - } @Override @@ -1291,11 +1274,10 @@ public class TrackManager extends PluginActionable implements AdjustmentListener public void setDisplaySequence(final Sequence sequence) { sequenceSelector.setSelectedSequence(sequence); - } @Override public void run() { - + // } } diff --git a/src/main/java/plugins/fab/trackmanager/TrackManagerPainter.java b/src/main/java/plugins/fab/trackmanager/TrackManagerPainter.java index 6a6687b..422a88e 100644 --- a/src/main/java/plugins/fab/trackmanager/TrackManagerPainter.java +++ b/src/main/java/plugins/fab/trackmanager/TrackManagerPainter.java @@ -496,7 +496,8 @@ public class TrackManagerPainter extends Overlay { // // if ( StringUtil.equals(metadataName, Sequence.ID_PIXEL_SIZE_Z )) // { - //// adjustZScaling( getSequence().getPixelSizeZ() ); + + // adjustZScaling( getSequence().getPixelSizeZ() ); // } // // break; @@ -508,18 +509,7 @@ public class TrackManagerPainter extends Overlay { // { // } - private static class TrackLineSection { - final Detection start; - final Detection end; - - @Contract(pure = true) - public TrackLineSection(final Detection start, final Detection end) { - super(); - - this.start = start; - this.end = end; - } - + private record TrackLineSection(Detection start, Detection end) { @Contract("_ -> param1") public @NotNull Line2D getLine2D(final @NotNull Line2D line) { line.setLine(start.getX(), start.getY(), end.getX(), end.getY()); diff --git a/src/main/java/plugins/fab/trackmanager/TrackPool.java b/src/main/java/plugins/fab/trackmanager/TrackPool.java index 6771976..5d4a648 100644 --- a/src/main/java/plugins/fab/trackmanager/TrackPool.java +++ b/src/main/java/plugins/fab/trackmanager/TrackPool.java @@ -116,19 +116,17 @@ public class TrackPool { * Creates a virtual track */ public void createVirtualTrackWith2Detection(Detection detectionStart, Detection detectionEnd) { - TrackSegment segmentStart = getTrackSegmentWithDetection(detectionStart); TrackSegment segmentEnd = getTrackSegmentWithDetection(detectionEnd); if (segmentStart == segmentEnd) { - MessageDialog.showDialog("Can't link 2 detections belonging to the same track.", - MessageDialog.INFORMATION_MESSAGE); + MessageDialog.showDialog("Can't link 2 detections belonging to the same track.", MessageDialog.INFORMATION_MESSAGE); return; } - if (segmentStart.getOwnerTrackGroup() != segmentStart.getOwnerTrackGroup()) { - MessageDialog.showDialog("The two tracks should be from the same track group.", - MessageDialog.INFORMATION_MESSAGE); + //if (segmentStart.getOwnerTrackGroup() != segmentStart.getOwnerTrackGroup()) { // TODO I think it's an error + if (segmentStart.getOwnerTrackGroup() != segmentEnd.getOwnerTrackGroup()) { + MessageDialog.showDialog("The two tracks should be from the same track group.", MessageDialog.INFORMATION_MESSAGE); return; } @@ -143,8 +141,7 @@ public class TrackPool { // The detection is not the last of the track. // Must split the start track. - final ArrayList<TrackSegment> returnList = splitTrackSegment(segmentStart, - segmentStart.getDetectionIndex(detectionStart), true); + final ArrayList<TrackSegment> returnList = splitTrackSegment(segmentStart, segmentStart.getDetectionIndex(detectionStart), true); // should render 2 segments. The first is the one we want. We take the last detection of the first tracksegment. detectionStart = returnList.getFirst().getLastDetection(); segmentStart = getTrackSegmentWithDetection(detectionStart); @@ -154,8 +151,7 @@ public class TrackPool { // The detection is not the first of the track. // Must split the end track. - final ArrayList<TrackSegment> returnList = splitTrackSegment(segmentEnd, - segmentEnd.getDetectionIndex(detectionEnd) - 1, true); + final ArrayList<TrackSegment> returnList = splitTrackSegment(segmentEnd, segmentEnd.getDetectionIndex(detectionEnd) - 1, true); // should render 2 segments. The second is the one we want. We take the first detection of the second tracksegment. detectionEnd = returnList.get(1).getFirstDetection(); segmentEnd = getTrackSegmentWithDetection(detectionEnd); diff --git a/src/main/java/plugins/fab/trackmanager/blocks/LoadTracksFromXML.java b/src/main/java/plugins/fab/trackmanager/blocks/LoadTracksFromXML.java index e0b91c2..6776f16 100644 --- a/src/main/java/plugins/fab/trackmanager/blocks/LoadTracksFromXML.java +++ b/src/main/java/plugins/fab/trackmanager/blocks/LoadTracksFromXML.java @@ -39,7 +39,7 @@ import java.util.List; * @author Stephane Dallongeville */ @IcyPluginName("Load Tracks From XML") -@IcyPluginIcon(path = "/track-manager.png") +@IcyPluginIcon(path = "/plugins/fab/trackmanager/track-manager.png") public class LoadTracksFromXML extends Plugin implements ROIBlock { final VarMutable file = new VarMutable("XML file", null) { @Override @@ -78,6 +78,5 @@ public class LoadTracksFromXML extends Plugin implements ROIBlock { @Override public void declareOutput(final @NotNull VarList outputMap) { outputMap.add("tracks", tracks); - } } diff --git a/src/main/java/plugins/fab/trackmanager/blocks/SaveTracksToXML.java b/src/main/java/plugins/fab/trackmanager/blocks/SaveTracksToXML.java index e8c88a1..a0da90b 100644 --- a/src/main/java/plugins/fab/trackmanager/blocks/SaveTracksToXML.java +++ b/src/main/java/plugins/fab/trackmanager/blocks/SaveTracksToXML.java @@ -38,7 +38,7 @@ import java.io.File; * @author Stephane Dallongeville */ @IcyPluginName("Save Tracks To XML") -@IcyPluginIcon(path = "/track-manager.png") +@IcyPluginIcon(path = "/plugins/fab/trackmanager/track-manager.png") public class SaveTracksToXML extends Plugin implements ROIBlock { final Var<TrackGroup> tracks = new Var<>("Track group", new TrackGroup(null)); final VarMutable file = new VarMutable("XML file", null) { diff --git a/src/main/resources/track-manager.png b/src/main/resources/plugins/fab/trackmanager/track-manager.png similarity index 100% rename from src/main/resources/track-manager.png rename to src/main/resources/plugins/fab/trackmanager/track-manager.png -- GitLab