From 97970fe872267171250e02613caf9da57a0dba7e Mon Sep 17 00:00:00 2001 From: Brandon Date: Fri, 12 Dec 2025 16:44:32 -0800 Subject: [PATCH] fix timing settings for galvo scan, fix ASIScanner setAmplitudeY --- .../lightsheetmanager/model/PLogicSCAPE.java | 10 ++++++---- .../model/devices/vendor/SingleAxis.java | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/micromanager/lightsheetmanager/model/PLogicSCAPE.java b/src/main/java/org/micromanager/lightsheetmanager/model/PLogicSCAPE.java index d78b3773..84c6df4c 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/model/PLogicSCAPE.java +++ b/src/main/java/org/micromanager/lightsheetmanager/model/PLogicSCAPE.java @@ -516,7 +516,8 @@ public boolean prepareControllerForAcquisitionSide( final boolean oppositeDirections = false; scanner_.setSPIMAlternateDirections(oppositeDirections); - scanner_.setSPIMScanDuration(settings.timingSettings().scanDuration()); + scanner_.setSPIMScanDuration( + settings.timingSettings().sliceDuration() - settings.timingSettings().delayBeforeScan()); scanner_.sa().setAmplitudeY(sliceAmplitude); scanner_.sa().setOffsetY(sliceCenter); scanner_.setSPIMNumSlices(numSlicesHW); @@ -537,7 +538,7 @@ public boolean prepareControllerForAcquisitionSide( // if we artificially shifted centers due to extra trigger and only moving piezo // then move galvo center back to where it would have been if (settings.cameraMode() == CameraMode.OVERLAP) { - piezoCenter -= piezoAmplitude / (2 * (numSlicesHW - 1)); + piezoCenter -= settings.volumeSettings().sliceStepSize() / 2; } piezoAmplitude = 0.0; } @@ -597,8 +598,9 @@ public boolean prepareControllerForAcquisitionSide( // // width should be increased by ratio (1 + settle_fraction) // sheetWidth += (sheetWidth * settleTime/readoutTime); } - scanner_.sa().setAmplitudeX(sheetWidth); - scanner_.sa().setOffsetX(sheetOffset); + // SCOPE should not modify the x-axis of the galvo + // scanner_.sa().setAmplitudeX(sheetWidth); + // scanner_.sa().setOffsetX(sheetOffset); } return true; } diff --git a/src/main/java/org/micromanager/lightsheetmanager/model/devices/vendor/SingleAxis.java b/src/main/java/org/micromanager/lightsheetmanager/model/devices/vendor/SingleAxis.java index 05f1bf36..0162bfcf 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/model/devices/vendor/SingleAxis.java +++ b/src/main/java/org/micromanager/lightsheetmanager/model/devices/vendor/SingleAxis.java @@ -62,7 +62,7 @@ public double getAmplitudeX() { } public void setAmplitudeY(final double degrees) { - setPropertyFloat(Properties.AMPLITUDE_X, degrees); + setPropertyFloat(Properties.AMPLITUDE_Y, degrees); } public double getAmplitudeY() {