diff --git a/src/main/java/plugins/tprovoost/Microscopy/MicroManager/gui/ActionsPanel.java b/src/main/java/plugins/tprovoost/Microscopy/MicroManager/gui/ActionsPanel.java index b1deb6e7afbff2be1cf0b9b04f7263244671cd4b..19a33361ffe7dee4a2d6194bd3e6106b7151adec 100644 --- a/src/main/java/plugins/tprovoost/Microscopy/MicroManager/gui/ActionsPanel.java +++ b/src/main/java/plugins/tprovoost/Microscopy/MicroManager/gui/ActionsPanel.java @@ -46,12 +46,14 @@ public class ActionsPanel extends JPanel implements LiveListener, SequenceListen // internals sequence Sequence liveSequence; + Sequence snapSequence; Sequence albumSequence; // internals final FPSMeter fpsMeter; StackAcquisitionProcessor stackAcquisitionProcessor; long liveDate; + long snapDate; long albumDate; // GUI @@ -76,6 +78,8 @@ public class ActionsPanel extends JPanel implements LiveListener, SequenceListen // use lazy creation (nice for the windows designer) liveSequence = null; liveDate = 0L; + snapSequence = null; + snapDate = 0L; albumSequence = null; albumDate = 0L; @@ -205,6 +209,21 @@ public class ActionsPanel extends JPanel implements LiveListener, SequenceListen return getMMStudio().getCore(); } + public Sequence getSnapSequence() + { + return snapSequence; + } + + public Sequence getLiveSequence() + { + return liveSequence; + } + + public Sequence getAlbumSequence() + { + return albumSequence; + } + public void lock() { mainFrame.lock(); @@ -271,14 +290,15 @@ public class ActionsPanel extends JPanel implements LiveListener, SequenceListen final boolean liveRunning = MicroManager.isLiveRunning(); final LiveSettingsPanel livePanel = mainFrame.livePanel; final String prefix = livePanel.hasCustomAcqName() ? livePanel.getAcqName() : "Image snap"; - final Sequence sequence = new Sequence( - prefix + (livePanel.hasDateSuffix() ? " - " + MMUtils.getDateString() : "")); + snapSequence = new Sequence(prefix + (livePanel.hasDateSuffix() ? " - " + MMUtils.getDateString() : "")); try { if (liveRunning) MicroManager.stopLiveMode(); + snapDate = Calendar.getInstance().getTimeInMillis(); + // 3D acquisition ? if (livePanel.isZStackAcquisition()) { @@ -291,25 +311,22 @@ public class ActionsPanel extends JPanel implements LiveListener, SequenceListen return; // start a new acquisition to set in the new Sequence - stackAcquisitionProcessor = new StackAcquisitionProcessor(sequence, start, end, step, - Calendar.getInstance().getTimeInMillis()); + stackAcquisitionProcessor = new StackAcquisitionProcessor(snapSequence, start, end, step, snapDate); } else { - final long tstart = Calendar.getInstance().getTimeInMillis(); - // set image and associated metadata for (TaggedImage image : MicroManager.snapTaggedImage()) - MMUtils.setImage(sequence, image, tstart); + MMUtils.setImage(snapSequence, image, snapDate); } // get acquisition metadata final JSONObject metadata = MicroManager.getAcquisitionMetaData(); // exist ? --> use them to fill some extras informations if (metadata != null) - MMUtils.setMetadata(sequence, metadata); + MMUtils.setMetadata(snapSequence, metadata); - Icy.getMainInterface().addSequence(sequence); + Icy.getMainInterface().addSequence(snapSequence); } catch (Throwable t) { @@ -327,6 +344,7 @@ public class ActionsPanel extends JPanel implements LiveListener, SequenceListen IcyExceptionHandler.handleException(t, true); } } + } public void doAlbumSnap() @@ -372,7 +390,7 @@ public class ActionsPanel extends JPanel implements LiveListener, SequenceListen { final int t = albumSequence.getSizeT(); // set image position metadata - MMUtils.setImageMetadata(image, t, 0, -1, 1, t + 1, -1); + MMUtils.setImageMetadata(image, t, 0, -1, t + 1, 1, -1); // set image in album MMUtils.setImage(albumSequence, image, albumDate); }