From 2cead92cccaa9bdc084363b5badae157f495601b Mon Sep 17 00:00:00 2001 From: Brandon Date: Wed, 22 Jul 2026 22:39:53 -0700 Subject: [PATCH 1/4] move cameraMode into BaseAcquisitionSettings --- .../api/AcquisitionSettings.java | 16 +++++++++++ .../api/AcquisitionSettingsDispim.java | 16 ----------- .../api/AcquisitionSettingsScape.java | 16 ----------- .../api/internal/BaseAcquisitionSettings.java | 27 +++++++++++++++++++ .../internal/DispimAcquisitionSettings.java | 20 ++------------ .../internal/ScapeAcquisitionSettings.java | 20 ++------------ 6 files changed, 47 insertions(+), 68 deletions(-) diff --git a/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettings.java b/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettings.java index ad9df2f..0e8e6b3 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettings.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettings.java @@ -1,5 +1,6 @@ package org.micromanager.lightsheetmanager.api; +import org.micromanager.lightsheetmanager.api.data.CameraMode; import org.micromanager.lightsheetmanager.api.data.SaveMode; import org.micromanager.lightsheetmanager.api.internal.DefaultAutofocusSettings; @@ -45,6 +46,14 @@ interface Builder> { */ T saveMode(final SaveMode saveMode); + /** + * Sets the camera mode. + * + * @param mode the camera mode + * @return {@code this} builder + */ + T cameraMode(final CameraMode mode); + /** * Returns the autofocus settings builder. * @@ -112,6 +121,13 @@ interface Builder> { */ SaveMode saveMode(); + /** + * Returns the camera mode. + * + * @return the camera mode. + */ + CameraMode cameraMode(); + /** * Returns the autofocus settings. * diff --git a/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsDispim.java b/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsDispim.java index df42731..c6a2c3a 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsDispim.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsDispim.java @@ -1,7 +1,6 @@ package org.micromanager.lightsheetmanager.api; import org.micromanager.lightsheetmanager.api.data.CameraData; -import org.micromanager.lightsheetmanager.api.data.CameraMode; import org.micromanager.lightsheetmanager.api.data.AcquisitionMode; /** @@ -72,13 +71,6 @@ public interface AcquisitionSettingsDispim extends AcquisitionSettings { */ AcquisitionMode acquisitionMode(); - /** - * Returns the camera mode. - * - * @return the camera mode. - */ - CameraMode cameraMode(); - /** * Returns the imaging camera order. * @@ -147,14 +139,6 @@ interface Builder> extends AcquisitionS */ T acquisitionMode(final AcquisitionMode acqMode); - /** - * Sets the camera mode. - * - * @param cameraMode the camera mode. - * @return {@code this} builder - */ - T cameraMode(final CameraMode cameraMode); - /** * Sets the imaging camera order. * diff --git a/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsScape.java b/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsScape.java index e9a9e6c..463e15d 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsScape.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsScape.java @@ -2,7 +2,6 @@ import org.micromanager.lightsheetmanager.api.data.AcquisitionMode; import org.micromanager.lightsheetmanager.api.data.CameraData; -import org.micromanager.lightsheetmanager.api.data.CameraMode; /** * Acquisition settings for SCAPE microscopes. @@ -65,13 +64,6 @@ public interface AcquisitionSettingsScape extends AcquisitionSettings { */ AcquisitionMode acquisitionMode(); - /** - * Returns the camera mode. - * - * @return the camera mode. - */ - CameraMode cameraMode(); - /** * Returns the imaging camera order. * @@ -141,14 +133,6 @@ interface Builder> extends AcquisitionS */ T acquisitionMode(final AcquisitionMode mode); - /** - * Sets the camera mode. - * - * @param mode the camera mode. - * @return {@code this} builder - */ - T cameraMode(final CameraMode mode); - /** * Sets the imaging camera order. * diff --git a/src/main/java/org/micromanager/lightsheetmanager/api/internal/BaseAcquisitionSettings.java b/src/main/java/org/micromanager/lightsheetmanager/api/internal/BaseAcquisitionSettings.java index d220566..58cca3b 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/internal/BaseAcquisitionSettings.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/internal/BaseAcquisitionSettings.java @@ -11,6 +11,7 @@ import org.micromanager.lightsheetmanager.api.StageScanSettings; import org.micromanager.lightsheetmanager.api.TimingSettings; import org.micromanager.lightsheetmanager.api.VolumeSettings; +import org.micromanager.lightsheetmanager.api.data.CameraMode; import org.micromanager.lightsheetmanager.api.data.SaveMode; /** @@ -25,6 +26,7 @@ public abstract static class Builder> implements Acquisitio private boolean saveDuringAcq_ = false; private boolean demoMode_ = false; private SaveMode saveMode_ = SaveMode.ND_TIFF; + private CameraMode cameraMode_ = CameraMode.EDGE; private DefaultAutofocusSettings.Builder afBuilder_ = DefaultAutofocusSettings.builder(); private ChannelSettings.Builder channelBuilder_ = DefaultChannelSettings.builder(); @@ -38,6 +40,7 @@ public Builder(final AcquisitionSettings settings) { saveDuringAcq_ = settings.isSavingImagesDuringAcquisition(); demoMode_ = settings.demoMode(); saveMode_ = settings.saveMode(); + cameraMode_ = settings.cameraMode(); afBuilder_ = settings.autofocus().copyBuilder(); channelBuilder_ = settings.channels().copyBuilder(); } @@ -97,6 +100,18 @@ public T saveMode(final SaveMode saveMode) { return self(); } + /** + * Sets the camera mode. + * + * @param mode the camera mode + * @return {@code this} builder + */ + @Override + public T cameraMode(final CameraMode mode) { + cameraMode_ = mode; + return self(); + } + @Override public DefaultAutofocusSettings.Builder autofocusBuilder() { return afBuilder_; @@ -134,6 +149,7 @@ public ChannelSettings.Builder channelBuilder() { private final boolean saveDuringAcq_; private final boolean demoMode_; private final SaveMode saveMode_; + private final CameraMode cameraMode_; private final DefaultAutofocusSettings autofocus_; private final ChannelSettings channels_; @@ -150,6 +166,7 @@ protected BaseAcquisitionSettings(Builder builder) { saveDuringAcq_ = builder.saveDuringAcq_; demoMode_ = builder.demoMode_; saveMode_ = builder.saveMode_; + cameraMode_ = builder.cameraMode_; autofocus_ = builder.afBuilder_.build(); channels_ = builder.channelBuilder_.build(); } @@ -204,6 +221,16 @@ public SaveMode saveMode() { return saveMode_; } + /** + * Returns the camera mode. + * + * @return the camera mode + */ + @Override + public CameraMode cameraMode() { + return cameraMode_; + } + /** * Returns the autofocus settings. * diff --git a/src/main/java/org/micromanager/lightsheetmanager/api/internal/DispimAcquisitionSettings.java b/src/main/java/org/micromanager/lightsheetmanager/api/internal/DispimAcquisitionSettings.java index 936e0cb..02938c3 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/internal/DispimAcquisitionSettings.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/internal/DispimAcquisitionSettings.java @@ -9,7 +9,6 @@ import org.micromanager.lightsheetmanager.api.TimingSettings; import org.micromanager.lightsheetmanager.api.VolumeSettings; import org.micromanager.lightsheetmanager.api.data.CameraData; -import org.micromanager.lightsheetmanager.api.data.CameraMode; import org.micromanager.lightsheetmanager.api.data.AcquisitionMode; import java.util.Arrays; @@ -27,7 +26,6 @@ public class DispimAcquisitionSettings extends BaseAcquisitionSettings implement private final AcquisitionMode acquisitionMode_; - private final CameraMode cameraMode_; private final CameraData[] imagingCameraOrder_; private final boolean useTimePoints_; @@ -55,7 +53,6 @@ private DispimAcquisitionSettings(Builder builder) { sliceCalibrations_[i] = builder.slcb_[i].build(); } acquisitionMode_ = builder.acquisitionMode_; - cameraMode_ = builder.cameraMode_; imagingCameraOrder_ = builder.imagingCameraOrder_.clone(); useTimePoints_ = builder.useTimePoints_; useMultiplePositions_ = builder.useMultiplePositions_; @@ -121,11 +118,6 @@ public AcquisitionMode acquisitionMode() { return acquisitionMode_; } - @Override - public CameraMode cameraMode() { - return cameraMode_; - } - @Override public CameraData[] imagingCameraOrder() { return imagingCameraOrder_; @@ -190,7 +182,7 @@ public boolean equals(Object obj) { // Objects.equals(sheetCalibration_, other.sheetCalibration_) && // Objects.equals(sliceCalibration_, other.sliceCalibration_) && acquisitionMode_ == other.acquisitionMode_ && - cameraMode_ == other.cameraMode_ && + cameraMode() == other.cameraMode() && Arrays.equals(imagingCameraOrder_, other.imagingCameraOrder_) && useTimePoints_ == other.useTimePoints_ && useMultiplePositions_ == other.useMultiplePositions_ && @@ -214,7 +206,7 @@ public int hashCode() { // sheetCalibration_, // sliceCalibration_, acquisitionMode_, - cameraMode_, + cameraMode(), Arrays.hashCode(imagingCameraOrder_), useTimePoints_, useMultiplePositions_, @@ -247,7 +239,6 @@ public static class Builder private AcquisitionMode acquisitionMode_ = AcquisitionMode.NO_SCAN; - private CameraMode cameraMode_ = CameraMode.EDGE; private CameraData[] imagingCameraOrder_ = {}; private boolean useTimePoints_ = false; @@ -280,7 +271,6 @@ public Builder(final DispimAcquisitionSettings settings) { shcb_[i] = settings.sheetCalibrations_[i].copyBuilder(); } acquisitionMode_ = settings.acquisitionMode(); - cameraMode_ = settings.cameraMode(); imagingCameraOrder_ = settings.imagingCameraOrder(); useTimePoints_ = settings.isUsingTimePoints(); useMultiplePositions_ = settings.isUsingMultiplePositions(); @@ -304,12 +294,6 @@ public Builder imagingCameraOrder(final CameraData[] order) { return this; } - @Override - public Builder cameraMode(final CameraMode mode) { - cameraMode_ = mode; - return this; - } - @Override public Builder useTimePoints(final boolean state) { useTimePoints_ = state; diff --git a/src/main/java/org/micromanager/lightsheetmanager/api/internal/ScapeAcquisitionSettings.java b/src/main/java/org/micromanager/lightsheetmanager/api/internal/ScapeAcquisitionSettings.java index f60d2d6..83d2072 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/internal/ScapeAcquisitionSettings.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/internal/ScapeAcquisitionSettings.java @@ -9,7 +9,6 @@ import org.micromanager.lightsheetmanager.api.VolumeSettings; import org.micromanager.lightsheetmanager.api.data.AcquisitionMode; import org.micromanager.lightsheetmanager.api.data.CameraData; -import org.micromanager.lightsheetmanager.api.data.CameraMode; import java.util.Arrays; import java.util.Objects; @@ -25,7 +24,6 @@ public class ScapeAcquisitionSettings extends BaseAcquisitionSettings implements private final AcquisitionMode acquisitionMode_; - private final CameraMode cameraMode_; private final CameraData[] imagingCameraOrder_; private final boolean useTimePoints_; @@ -46,7 +44,6 @@ private ScapeAcquisitionSettings(Builder builder) { sheetCalibration_ = builder.sheetCalibrationBuilder().build(); sliceCalibration_ = builder.sliceCalibrationBuilder().build(); acquisitionMode_ = builder.acquisitionMode_; - cameraMode_ = builder.cameraMode_; imagingCameraOrder_ = builder.imagingCameraOrder_.clone(); useTimePoints_ = builder.useTimePoints_; useMultiplePositions_ = builder.useMultiplePositions_; @@ -106,11 +103,6 @@ public AcquisitionMode acquisitionMode() { return acquisitionMode_; } - @Override - public CameraMode cameraMode() { - return cameraMode_; - } - @Override public CameraData[] imagingCameraOrder() { return imagingCameraOrder_; @@ -168,7 +160,7 @@ public boolean equals(Object obj) { Objects.equals(sheetCalibration_, other.sheetCalibration_) && Objects.equals(sliceCalibration_, other.sliceCalibration_) && acquisitionMode_ == other.acquisitionMode_ && - cameraMode_ == other.cameraMode_ && + cameraMode() == other.cameraMode() && Arrays.equals(imagingCameraOrder_, other.imagingCameraOrder_) && useTimePoints_ == other.useTimePoints_ && useMultiplePositions_ == other.useMultiplePositions_ && @@ -190,7 +182,7 @@ public int hashCode() { sheetCalibration_, sliceCalibration_, acquisitionMode_, - cameraMode_, + cameraMode(), Arrays.hashCode(imagingCameraOrder_), useTimePoints_, useMultiplePositions_, @@ -222,7 +214,6 @@ public static class Builder private AcquisitionMode acquisitionMode_ = AcquisitionMode.NO_SCAN; - private CameraMode cameraMode_ = CameraMode.EDGE; private CameraData[] imagingCameraOrder_ = {}; private boolean useTimePoints_ = false; @@ -246,7 +237,6 @@ public Builder(final ScapeAcquisitionSettings settings) { sheetCalibBuilder_ = settings.sheetCalibration().copyBuilder(); sliceCalibBuilder_ = settings.sliceCalibration().copyBuilder(); acquisitionMode_ = settings.acquisitionMode(); - cameraMode_ = settings.cameraMode(); imagingCameraOrder_ = settings.imagingCameraOrder(); useTimePoints_ = settings.isUsingTimePoints(); useMultiplePositions_ = settings.isUsingMultiplePositions(); @@ -267,12 +257,6 @@ public Builder acquisitionMode(final AcquisitionMode mode) { return this; } - @Override - public Builder cameraMode(final CameraMode mode) { - cameraMode_ = mode; - return this; - } - @Override public Builder imagingCameraOrder(final CameraData[] order) { imagingCameraOrder_ = order; From 8dd1116495aca883f311166a54470fdec4e7ff84 Mon Sep 17 00:00:00 2001 From: Brandon Date: Wed, 22 Jul 2026 22:46:21 -0700 Subject: [PATCH 2/4] move imagingCameraOrder into BaseAcquisitionSettings --- .../api/AcquisitionSettings.java | 16 +++++++++++ .../api/AcquisitionSettingsDispim.java | 16 ----------- .../api/AcquisitionSettingsScape.java | 16 ----------- .../api/internal/BaseAcquisitionSettings.java | 27 +++++++++++++++++++ .../internal/DispimAcquisitionSettings.java | 22 ++------------- .../internal/ScapeAcquisitionSettings.java | 22 ++------------- 6 files changed, 47 insertions(+), 72 deletions(-) diff --git a/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettings.java b/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettings.java index 0e8e6b3..ec84628 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettings.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettings.java @@ -1,5 +1,6 @@ package org.micromanager.lightsheetmanager.api; +import org.micromanager.lightsheetmanager.api.data.CameraData; import org.micromanager.lightsheetmanager.api.data.CameraMode; import org.micromanager.lightsheetmanager.api.data.SaveMode; import org.micromanager.lightsheetmanager.api.internal.DefaultAutofocusSettings; @@ -54,6 +55,14 @@ interface Builder> { */ T cameraMode(final CameraMode mode); + /** + * Sets the imaging camera order. + * + * @param order the imaging camera order + * @return {@code this} builder + */ + T imagingCameraOrder(final CameraData[] order); + /** * Returns the autofocus settings builder. * @@ -128,6 +137,13 @@ interface Builder> { */ CameraMode cameraMode(); + /** + * Returns the imaging camera order. + * + * @return the imaging camera order + */ + CameraData[] imagingCameraOrder(); + /** * Returns the autofocus settings. * diff --git a/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsDispim.java b/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsDispim.java index c6a2c3a..6d194b7 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsDispim.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsDispim.java @@ -1,6 +1,5 @@ package org.micromanager.lightsheetmanager.api; -import org.micromanager.lightsheetmanager.api.data.CameraData; import org.micromanager.lightsheetmanager.api.data.AcquisitionMode; /** @@ -71,13 +70,6 @@ public interface AcquisitionSettingsDispim extends AcquisitionSettings { */ AcquisitionMode acquisitionMode(); - /** - * Returns the imaging camera order. - * - * @return the imaging camera order - */ - CameraData[] imagingCameraOrder(); - /** * Returns true if using time points. * @@ -139,14 +131,6 @@ interface Builder> extends AcquisitionS */ T acquisitionMode(final AcquisitionMode acqMode); - /** - * Sets the imaging camera order. - * - * @param order the imaging camera order - * @return {@code this} builder - */ - T imagingCameraOrder(final CameraData[] order); - /** * Sets the acquisition to use time points. * diff --git a/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsScape.java b/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsScape.java index 463e15d..475c7c4 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsScape.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsScape.java @@ -1,7 +1,6 @@ package org.micromanager.lightsheetmanager.api; import org.micromanager.lightsheetmanager.api.data.AcquisitionMode; -import org.micromanager.lightsheetmanager.api.data.CameraData; /** * Acquisition settings for SCAPE microscopes. @@ -64,13 +63,6 @@ public interface AcquisitionSettingsScape extends AcquisitionSettings { */ AcquisitionMode acquisitionMode(); - /** - * Returns the imaging camera order. - * - * @return the imaging camera order - */ - CameraData[] imagingCameraOrder(); - /** * Returns true if using time points. * @@ -133,14 +125,6 @@ interface Builder> extends AcquisitionS */ T acquisitionMode(final AcquisitionMode mode); - /** - * Sets the imaging camera order. - * - * @param order the imaging camera order - * @return {@code this} builder - */ - T imagingCameraOrder(final CameraData[] order); - /** * Sets the acquisition to use time points. * diff --git a/src/main/java/org/micromanager/lightsheetmanager/api/internal/BaseAcquisitionSettings.java b/src/main/java/org/micromanager/lightsheetmanager/api/internal/BaseAcquisitionSettings.java index 58cca3b..c676757 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/internal/BaseAcquisitionSettings.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/internal/BaseAcquisitionSettings.java @@ -11,6 +11,7 @@ import org.micromanager.lightsheetmanager.api.StageScanSettings; import org.micromanager.lightsheetmanager.api.TimingSettings; import org.micromanager.lightsheetmanager.api.VolumeSettings; +import org.micromanager.lightsheetmanager.api.data.CameraData; import org.micromanager.lightsheetmanager.api.data.CameraMode; import org.micromanager.lightsheetmanager.api.data.SaveMode; @@ -27,6 +28,7 @@ public abstract static class Builder> implements Acquisitio private boolean demoMode_ = false; private SaveMode saveMode_ = SaveMode.ND_TIFF; private CameraMode cameraMode_ = CameraMode.EDGE; + private CameraData[] imagingCameraOrder_ = {}; private DefaultAutofocusSettings.Builder afBuilder_ = DefaultAutofocusSettings.builder(); private ChannelSettings.Builder channelBuilder_ = DefaultChannelSettings.builder(); @@ -41,6 +43,7 @@ public Builder(final AcquisitionSettings settings) { demoMode_ = settings.demoMode(); saveMode_ = settings.saveMode(); cameraMode_ = settings.cameraMode(); + imagingCameraOrder_ = settings.imagingCameraOrder(); afBuilder_ = settings.autofocus().copyBuilder(); channelBuilder_ = settings.channels().copyBuilder(); } @@ -112,6 +115,18 @@ public T cameraMode(final CameraMode mode) { return self(); } + /** + * Sets the imaging camera order. + * + * @param order the imaging camera order + * @return {@code this} builder + */ + @Override + public T imagingCameraOrder(final CameraData[] order) { + imagingCameraOrder_ = order; + return self(); + } + @Override public DefaultAutofocusSettings.Builder autofocusBuilder() { return afBuilder_; @@ -150,6 +165,7 @@ public ChannelSettings.Builder channelBuilder() { private final boolean demoMode_; private final SaveMode saveMode_; private final CameraMode cameraMode_; + private final CameraData[] imagingCameraOrder_; private final DefaultAutofocusSettings autofocus_; private final ChannelSettings channels_; @@ -167,6 +183,7 @@ protected BaseAcquisitionSettings(Builder builder) { demoMode_ = builder.demoMode_; saveMode_ = builder.saveMode_; cameraMode_ = builder.cameraMode_; + imagingCameraOrder_ = builder.imagingCameraOrder_.clone(); autofocus_ = builder.afBuilder_.build(); channels_ = builder.channelBuilder_.build(); } @@ -231,6 +248,16 @@ public CameraMode cameraMode() { return cameraMode_; } + /** + * Returns the imaging camera order. + * + * @return the imaging camera order + */ + @Override + public CameraData[] imagingCameraOrder() { + return imagingCameraOrder_; + } + /** * Returns the autofocus settings. * diff --git a/src/main/java/org/micromanager/lightsheetmanager/api/internal/DispimAcquisitionSettings.java b/src/main/java/org/micromanager/lightsheetmanager/api/internal/DispimAcquisitionSettings.java index 02938c3..581bdb8 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/internal/DispimAcquisitionSettings.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/internal/DispimAcquisitionSettings.java @@ -8,7 +8,6 @@ import org.micromanager.lightsheetmanager.api.StageScanSettings; import org.micromanager.lightsheetmanager.api.TimingSettings; import org.micromanager.lightsheetmanager.api.VolumeSettings; -import org.micromanager.lightsheetmanager.api.data.CameraData; import org.micromanager.lightsheetmanager.api.data.AcquisitionMode; import java.util.Arrays; @@ -26,8 +25,6 @@ public class DispimAcquisitionSettings extends BaseAcquisitionSettings implement private final AcquisitionMode acquisitionMode_; - private final CameraData[] imagingCameraOrder_; - private final boolean useTimePoints_; private final boolean useMultiplePositions_; private final boolean useHardwareTimePoints_; @@ -53,7 +50,6 @@ private DispimAcquisitionSettings(Builder builder) { sliceCalibrations_[i] = builder.slcb_[i].build(); } acquisitionMode_ = builder.acquisitionMode_; - imagingCameraOrder_ = builder.imagingCameraOrder_.clone(); useTimePoints_ = builder.useTimePoints_; useMultiplePositions_ = builder.useMultiplePositions_; useHardwareTimePoints_ = builder.useHardwareTimePoints_; @@ -118,11 +114,6 @@ public AcquisitionMode acquisitionMode() { return acquisitionMode_; } - @Override - public CameraData[] imagingCameraOrder() { - return imagingCameraOrder_; - } - @Override public boolean isUsingTimePoints() { return useTimePoints_; @@ -183,7 +174,7 @@ public boolean equals(Object obj) { // Objects.equals(sliceCalibration_, other.sliceCalibration_) && acquisitionMode_ == other.acquisitionMode_ && cameraMode() == other.cameraMode() && - Arrays.equals(imagingCameraOrder_, other.imagingCameraOrder_) && + Arrays.equals(imagingCameraOrder(), other.imagingCameraOrder()) && useTimePoints_ == other.useTimePoints_ && useMultiplePositions_ == other.useMultiplePositions_ && useHardwareTimePoints_ == other.useHardwareTimePoints_ && @@ -207,7 +198,7 @@ public int hashCode() { // sliceCalibration_, acquisitionMode_, cameraMode(), - Arrays.hashCode(imagingCameraOrder_), + Arrays.hashCode(imagingCameraOrder()), useTimePoints_, useMultiplePositions_, useHardwareTimePoints_, @@ -239,8 +230,6 @@ public static class Builder private AcquisitionMode acquisitionMode_ = AcquisitionMode.NO_SCAN; - private CameraData[] imagingCameraOrder_ = {}; - private boolean useTimePoints_ = false; private boolean useMultiplePositions_ = false; private boolean useHardwareTimePoints_ = false; @@ -271,7 +260,6 @@ public Builder(final DispimAcquisitionSettings settings) { shcb_[i] = settings.sheetCalibrations_[i].copyBuilder(); } acquisitionMode_ = settings.acquisitionMode(); - imagingCameraOrder_ = settings.imagingCameraOrder(); useTimePoints_ = settings.isUsingTimePoints(); useMultiplePositions_ = settings.isUsingMultiplePositions(); useHardwareTimePoints_ = settings.isUsingHardwareTimePoints(); @@ -288,12 +276,6 @@ public Builder acquisitionMode(final AcquisitionMode mode) { return this; } - @Override - public Builder imagingCameraOrder(final CameraData[] order) { - imagingCameraOrder_ = order; - return this; - } - @Override public Builder useTimePoints(final boolean state) { useTimePoints_ = state; diff --git a/src/main/java/org/micromanager/lightsheetmanager/api/internal/ScapeAcquisitionSettings.java b/src/main/java/org/micromanager/lightsheetmanager/api/internal/ScapeAcquisitionSettings.java index 83d2072..6187778 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/internal/ScapeAcquisitionSettings.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/internal/ScapeAcquisitionSettings.java @@ -8,7 +8,6 @@ import org.micromanager.lightsheetmanager.api.TimingSettings; import org.micromanager.lightsheetmanager.api.VolumeSettings; import org.micromanager.lightsheetmanager.api.data.AcquisitionMode; -import org.micromanager.lightsheetmanager.api.data.CameraData; import java.util.Arrays; import java.util.Objects; @@ -24,8 +23,6 @@ public class ScapeAcquisitionSettings extends BaseAcquisitionSettings implements private final AcquisitionMode acquisitionMode_; - private final CameraData[] imagingCameraOrder_; - private final boolean useTimePoints_; private final boolean useMultiplePositions_; private final boolean useHardwareTimePoints_; @@ -44,7 +41,6 @@ private ScapeAcquisitionSettings(Builder builder) { sheetCalibration_ = builder.sheetCalibrationBuilder().build(); sliceCalibration_ = builder.sliceCalibrationBuilder().build(); acquisitionMode_ = builder.acquisitionMode_; - imagingCameraOrder_ = builder.imagingCameraOrder_.clone(); useTimePoints_ = builder.useTimePoints_; useMultiplePositions_ = builder.useMultiplePositions_; useHardwareTimePoints_ = builder.useHardwareTimePoints_; @@ -103,11 +99,6 @@ public AcquisitionMode acquisitionMode() { return acquisitionMode_; } - @Override - public CameraData[] imagingCameraOrder() { - return imagingCameraOrder_; - } - @Override public boolean isUsingTimePoints() { return useTimePoints_; @@ -161,7 +152,7 @@ public boolean equals(Object obj) { Objects.equals(sliceCalibration_, other.sliceCalibration_) && acquisitionMode_ == other.acquisitionMode_ && cameraMode() == other.cameraMode() && - Arrays.equals(imagingCameraOrder_, other.imagingCameraOrder_) && + Arrays.equals(imagingCameraOrder(), other.imagingCameraOrder()) && useTimePoints_ == other.useTimePoints_ && useMultiplePositions_ == other.useMultiplePositions_ && useHardwareTimePoints_ == other.useHardwareTimePoints_ && @@ -183,7 +174,7 @@ public int hashCode() { sliceCalibration_, acquisitionMode_, cameraMode(), - Arrays.hashCode(imagingCameraOrder_), + Arrays.hashCode(imagingCameraOrder()), useTimePoints_, useMultiplePositions_, useHardwareTimePoints_, @@ -214,8 +205,6 @@ public static class Builder private AcquisitionMode acquisitionMode_ = AcquisitionMode.NO_SCAN; - private CameraData[] imagingCameraOrder_ = {}; - private boolean useTimePoints_ = false; private boolean useMultiplePositions_ = false; private boolean useHardwareTimePoints_ = false; @@ -237,7 +226,6 @@ public Builder(final ScapeAcquisitionSettings settings) { sheetCalibBuilder_ = settings.sheetCalibration().copyBuilder(); sliceCalibBuilder_ = settings.sliceCalibration().copyBuilder(); acquisitionMode_ = settings.acquisitionMode(); - imagingCameraOrder_ = settings.imagingCameraOrder(); useTimePoints_ = settings.isUsingTimePoints(); useMultiplePositions_ = settings.isUsingMultiplePositions(); useHardwareTimePoints_ = settings.isUsingHardwareTimePoints(); @@ -257,12 +245,6 @@ public Builder acquisitionMode(final AcquisitionMode mode) { return this; } - @Override - public Builder imagingCameraOrder(final CameraData[] order) { - imagingCameraOrder_ = order; - return this; - } - @Override public Builder useTimePoints(final boolean state) { useTimePoints_ = state; From 7f030cd751c57f756e25866afd1c2210576b4e72 Mon Sep 17 00:00:00 2001 From: Brandon Date: Wed, 22 Jul 2026 22:54:45 -0700 Subject: [PATCH 3/4] move multiple position variables into BaseAcquisitionSettings --- .../api/AcquisitionSettings.java | 30 +++++++++++ .../api/AcquisitionSettingsDispim.java | 30 ----------- .../api/AcquisitionSettingsScape.java | 30 ----------- .../api/internal/BaseAcquisitionSettings.java | 52 +++++++++++++++++++ .../internal/DispimAcquisitionSettings.java | 38 ++------------ .../internal/ScapeAcquisitionSettings.java | 38 ++------------ 6 files changed, 90 insertions(+), 128 deletions(-) diff --git a/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettings.java b/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettings.java index ec84628..98f8efa 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettings.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettings.java @@ -63,6 +63,22 @@ interface Builder> { */ T imagingCameraOrder(final CameraData[] order); + /** + * Sets the acquisition to use multiple positions. + * + * @param state true to use multiple positions + * @return {@code this} builder + */ + T useMultiplePositions(final boolean state); + + /** + * Sets the delay after a move when using multiple positions. + * + * @param postMoveDelay the delay in milliseconds + * @return {@code this} builder + */ + T postMoveDelay(final int postMoveDelay); + /** * Returns the autofocus settings builder. * @@ -144,6 +160,20 @@ interface Builder> { */ CameraData[] imagingCameraOrder(); + /** + * Returns true if using multiple positions. + * + * @return true if using multiple positions. + */ + boolean isUsingMultiplePositions(); + + /** + * Returns the post move delay in milliseconds. + * + * @return the post move delay in milliseconds. + */ + int postMoveDelay(); + /** * Returns the autofocus settings. * diff --git a/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsDispim.java b/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsDispim.java index 6d194b7..d7a4392 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsDispim.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsDispim.java @@ -77,13 +77,6 @@ public interface AcquisitionSettingsDispim extends AcquisitionSettings { */ boolean isUsingTimePoints(); - /** - * Returns true if using multiple positions. - * - * @return true if using multiple positions. - */ - boolean isUsingMultiplePositions(); - /** * Returns true if using hardware time points. * @@ -112,13 +105,6 @@ public interface AcquisitionSettingsDispim extends AcquisitionSettings { */ double timePointInterval(); - /** - * Returns the post move delay in milliseconds. - * - * @return the post move delay in milliseconds. - */ - int postMoveDelay(); - double liveScanPeriod(); interface Builder> extends AcquisitionSettings.Builder { @@ -139,14 +125,6 @@ interface Builder> extends AcquisitionS */ T useTimePoints(final boolean state); - /** - * Sets the acquisition to use multiple positions. - * - * @param state true to use multiple positions - * @return {@code this} builder - */ - T useMultiplePositions(final boolean state); - /** * Sets the acquisition to use hardware time points. * @@ -179,14 +157,6 @@ interface Builder> extends AcquisitionS */ T timePointInterval(final double timePointInterval); - /** - * Sets the delay after a move when using multiple positions. - * - * @param postMoveDelay the delay in milliseconds - * @return {@code this} builder - */ - T postMoveDelay(final int postMoveDelay); - T liveScanPeriod(final double liveScanPeriod); /** diff --git a/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsScape.java b/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsScape.java index 475c7c4..767a50b 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsScape.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsScape.java @@ -70,13 +70,6 @@ public interface AcquisitionSettingsScape extends AcquisitionSettings { */ boolean isUsingTimePoints(); - /** - * Returns true if using multiple positions. - * - * @return true if using multiple positions. - */ - boolean isUsingMultiplePositions(); - /** * Returns true if using hardware time points. * @@ -105,13 +98,6 @@ public interface AcquisitionSettingsScape extends AcquisitionSettings { */ double timePointInterval(); - /** - * Returns the post move delay in milliseconds. - * - * @return the post move delay in milliseconds. - */ - int postMoveDelay(); - interface Builder> extends AcquisitionSettings.Builder { /** @@ -133,14 +119,6 @@ interface Builder> extends AcquisitionS */ T useTimePoints(final boolean state); - /** - * Sets the acquisition to use multiple positions. - * - * @param state true to use multiple positions - * @return {@code this} builder - */ - T useMultiplePositions(final boolean state); - /** * Sets the acquisition to use hardware time points. * @@ -173,14 +151,6 @@ interface Builder> extends AcquisitionS */ T timePointInterval(final double timePointInterval); - /** - * Sets the delay after a move when using multiple positions. - * - * @param postMoveDelay the delay in milliseconds - * @return {@code this} builder - */ - T postMoveDelay(final int postMoveDelay); - /** * Creates a new {@link AcquisitionSettingsScape} instance based on the current configuration. * diff --git a/src/main/java/org/micromanager/lightsheetmanager/api/internal/BaseAcquisitionSettings.java b/src/main/java/org/micromanager/lightsheetmanager/api/internal/BaseAcquisitionSettings.java index c676757..d575480 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/internal/BaseAcquisitionSettings.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/internal/BaseAcquisitionSettings.java @@ -29,6 +29,8 @@ public abstract static class Builder> implements Acquisitio private SaveMode saveMode_ = SaveMode.ND_TIFF; private CameraMode cameraMode_ = CameraMode.EDGE; private CameraData[] imagingCameraOrder_ = {}; + private boolean useMultiplePositions_ = false; + private int postMoveDelay_ = 0; private DefaultAutofocusSettings.Builder afBuilder_ = DefaultAutofocusSettings.builder(); private ChannelSettings.Builder channelBuilder_ = DefaultChannelSettings.builder(); @@ -44,6 +46,8 @@ public Builder(final AcquisitionSettings settings) { saveMode_ = settings.saveMode(); cameraMode_ = settings.cameraMode(); imagingCameraOrder_ = settings.imagingCameraOrder(); + useMultiplePositions_ = settings.isUsingMultiplePositions(); + postMoveDelay_ = settings.postMoveDelay(); afBuilder_ = settings.autofocus().copyBuilder(); channelBuilder_ = settings.channels().copyBuilder(); } @@ -127,6 +131,30 @@ public T imagingCameraOrder(final CameraData[] order) { return self(); } + /** + * Sets the acquisition to use multiple positions. + * + * @param state true to use multiple positions + * @return {@code this} builder + */ + @Override + public T useMultiplePositions(final boolean state) { + useMultiplePositions_ = state; + return self(); + } + + /** + * Sets the delay after a move when using multiple positions. + * + * @param postMoveDelay the delay in milliseconds + * @return {@code this} builder + */ + @Override + public T postMoveDelay(final int postMoveDelay) { + postMoveDelay_ = postMoveDelay; + return self(); + } + @Override public DefaultAutofocusSettings.Builder autofocusBuilder() { return afBuilder_; @@ -166,6 +194,8 @@ public ChannelSettings.Builder channelBuilder() { private final SaveMode saveMode_; private final CameraMode cameraMode_; private final CameraData[] imagingCameraOrder_; + private final boolean useMultiplePositions_; + private final int postMoveDelay_; private final DefaultAutofocusSettings autofocus_; private final ChannelSettings channels_; @@ -184,6 +214,8 @@ protected BaseAcquisitionSettings(Builder builder) { saveMode_ = builder.saveMode_; cameraMode_ = builder.cameraMode_; imagingCameraOrder_ = builder.imagingCameraOrder_.clone(); + useMultiplePositions_ = builder.useMultiplePositions_; + postMoveDelay_ = builder.postMoveDelay_; autofocus_ = builder.afBuilder_.build(); channels_ = builder.channelBuilder_.build(); } @@ -258,6 +290,26 @@ public CameraData[] imagingCameraOrder() { return imagingCameraOrder_; } + /** + * Returns true if using multiple positions. + * + * @return true if using multiple positions. + */ + @Override + public boolean isUsingMultiplePositions() { + return useMultiplePositions_; + } + + /** + * Returns the post move delay in milliseconds. + * + * @return the post move delay in milliseconds. + */ + @Override + public int postMoveDelay() { + return postMoveDelay_; + } + /** * Returns the autofocus settings. * diff --git a/src/main/java/org/micromanager/lightsheetmanager/api/internal/DispimAcquisitionSettings.java b/src/main/java/org/micromanager/lightsheetmanager/api/internal/DispimAcquisitionSettings.java index 581bdb8..50af9d7 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/internal/DispimAcquisitionSettings.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/internal/DispimAcquisitionSettings.java @@ -26,13 +26,11 @@ public class DispimAcquisitionSettings extends BaseAcquisitionSettings implement private final AcquisitionMode acquisitionMode_; private final boolean useTimePoints_; - private final boolean useMultiplePositions_; private final boolean useHardwareTimePoints_; private final boolean useAdvancedTiming_; private final int numTimePoints_; private final double timePointInterval_; - private final int postMoveDelay_; private final double liveScanPeriod_; @@ -51,12 +49,10 @@ private DispimAcquisitionSettings(Builder builder) { } acquisitionMode_ = builder.acquisitionMode_; useTimePoints_ = builder.useTimePoints_; - useMultiplePositions_ = builder.useMultiplePositions_; useHardwareTimePoints_ = builder.useHardwareTimePoints_; useAdvancedTiming_ = builder.useAdvancedTiming_; numTimePoints_ = builder.numTimePoints_; timePointInterval_ = builder.timePointInterval_; - postMoveDelay_ = builder.postMoveDelay_; liveScanPeriod_= builder.liveScanPeriod_; } @@ -119,11 +115,6 @@ public boolean isUsingTimePoints() { return useTimePoints_; } - @Override - public boolean isUsingMultiplePositions() { - return useMultiplePositions_; - } - @Override public boolean isUsingHardwareTimePoints() { return useHardwareTimePoints_; @@ -144,11 +135,6 @@ public double timePointInterval() { return timePointInterval_; } - @Override - public int postMoveDelay() { - return postMoveDelay_; - } - @Override public double liveScanPeriod() { return liveScanPeriod_; @@ -176,12 +162,12 @@ public boolean equals(Object obj) { cameraMode() == other.cameraMode() && Arrays.equals(imagingCameraOrder(), other.imagingCameraOrder()) && useTimePoints_ == other.useTimePoints_ && - useMultiplePositions_ == other.useMultiplePositions_ && + isUsingMultiplePositions() == other.isUsingMultiplePositions() && useHardwareTimePoints_ == other.useHardwareTimePoints_ && useAdvancedTiming_ == other.useAdvancedTiming_ && numTimePoints_ == other.numTimePoints_ && Double.compare(other.timePointInterval_, timePointInterval_) == 0 && - postMoveDelay_ == other.postMoveDelay_; + postMoveDelay() == other.postMoveDelay(); } // TODO: finish this @@ -200,12 +186,12 @@ public int hashCode() { cameraMode(), Arrays.hashCode(imagingCameraOrder()), useTimePoints_, - useMultiplePositions_, + isUsingMultiplePositions(), useHardwareTimePoints_, useAdvancedTiming_, numTimePoints_, timePointInterval_, - postMoveDelay_ + postMoveDelay() ); } @@ -231,13 +217,11 @@ public static class Builder private AcquisitionMode acquisitionMode_ = AcquisitionMode.NO_SCAN; private boolean useTimePoints_ = false; - private boolean useMultiplePositions_ = false; private boolean useHardwareTimePoints_ = false; private boolean useAdvancedTiming_ = false; private int numTimePoints_ = 1; private double timePointInterval_ = 0.0; - private int postMoveDelay_ = 0; private double liveScanPeriod_ = 20.0; // TODO: this could go in user settings since it has to do with the live view @@ -261,12 +245,10 @@ public Builder(final DispimAcquisitionSettings settings) { } acquisitionMode_ = settings.acquisitionMode(); useTimePoints_ = settings.isUsingTimePoints(); - useMultiplePositions_ = settings.isUsingMultiplePositions(); useHardwareTimePoints_ = settings.isUsingHardwareTimePoints(); useAdvancedTiming_ = settings.isUsingAdvancedTiming(); numTimePoints_ = settings.numTimePoints(); timePointInterval_ = settings.timePointInterval(); - postMoveDelay_ = settings.postMoveDelay(); liveScanPeriod_ = settings.liveScanPeriod(); } @@ -282,12 +264,6 @@ public Builder useTimePoints(final boolean state) { return this; } - @Override - public Builder useMultiplePositions(final boolean state) { - useMultiplePositions_ = state; - return this; - } - @Override public Builder useHardwareTimePoints(final boolean state) { useHardwareTimePoints_ = state; @@ -312,12 +288,6 @@ public Builder timePointInterval(final double timePointInterval) { return this; } - @Override - public Builder postMoveDelay(final int postMoveDelay) { - postMoveDelay_ = postMoveDelay; - return this; - } - @Override public Builder liveScanPeriod(double liveScanPeriod) { liveScanPeriod_ = liveScanPeriod; diff --git a/src/main/java/org/micromanager/lightsheetmanager/api/internal/ScapeAcquisitionSettings.java b/src/main/java/org/micromanager/lightsheetmanager/api/internal/ScapeAcquisitionSettings.java index 6187778..d26f403 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/internal/ScapeAcquisitionSettings.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/internal/ScapeAcquisitionSettings.java @@ -24,13 +24,11 @@ public class ScapeAcquisitionSettings extends BaseAcquisitionSettings implements private final AcquisitionMode acquisitionMode_; private final boolean useTimePoints_; - private final boolean useMultiplePositions_; private final boolean useHardwareTimePoints_; private final boolean useAdvancedTiming_; private final int numTimePoints_; private final double timePointInterval_; - private final int postMoveDelay_; private ScapeAcquisitionSettings(Builder builder) { super(builder); @@ -42,12 +40,10 @@ private ScapeAcquisitionSettings(Builder builder) { sliceCalibration_ = builder.sliceCalibrationBuilder().build(); acquisitionMode_ = builder.acquisitionMode_; useTimePoints_ = builder.useTimePoints_; - useMultiplePositions_ = builder.useMultiplePositions_; useHardwareTimePoints_ = builder.useHardwareTimePoints_; useAdvancedTiming_ = builder.useAdvancedTiming_; numTimePoints_ = builder.numTimePoints_; timePointInterval_ = builder.timePointInterval_; - postMoveDelay_ = builder.postMoveDelay_; } public static Builder builder() { @@ -104,11 +100,6 @@ public boolean isUsingTimePoints() { return useTimePoints_; } - @Override - public boolean isUsingMultiplePositions() { - return useMultiplePositions_; - } - @Override public boolean isUsingHardwareTimePoints() { return useHardwareTimePoints_; @@ -129,11 +120,6 @@ public double timePointInterval() { return timePointInterval_; } - @Override - public int postMoveDelay() { - return postMoveDelay_; - } - @Override public boolean equals(Object obj) { if (this == obj) { @@ -154,12 +140,12 @@ public boolean equals(Object obj) { cameraMode() == other.cameraMode() && Arrays.equals(imagingCameraOrder(), other.imagingCameraOrder()) && useTimePoints_ == other.useTimePoints_ && - useMultiplePositions_ == other.useMultiplePositions_ && + isUsingMultiplePositions() == other.isUsingMultiplePositions() && useHardwareTimePoints_ == other.useHardwareTimePoints_ && useAdvancedTiming_ == other.useAdvancedTiming_ && numTimePoints_ == other.numTimePoints_ && Double.compare(other.timePointInterval_, timePointInterval_) == 0 && - postMoveDelay_ == other.postMoveDelay_; + postMoveDelay() == other.postMoveDelay(); } @Override @@ -176,12 +162,12 @@ public int hashCode() { cameraMode(), Arrays.hashCode(imagingCameraOrder()), useTimePoints_, - useMultiplePositions_, + isUsingMultiplePositions(), useHardwareTimePoints_, useAdvancedTiming_, numTimePoints_, timePointInterval_, - postMoveDelay_ + postMoveDelay() ); } @@ -206,13 +192,11 @@ public static class Builder private AcquisitionMode acquisitionMode_ = AcquisitionMode.NO_SCAN; private boolean useTimePoints_ = false; - private boolean useMultiplePositions_ = false; private boolean useHardwareTimePoints_ = false; private boolean useAdvancedTiming_ = false; private int numTimePoints_ = 1; private double timePointInterval_ = 0.0; - private int postMoveDelay_ = 0; private Builder() { } @@ -227,12 +211,10 @@ public Builder(final ScapeAcquisitionSettings settings) { sliceCalibBuilder_ = settings.sliceCalibration().copyBuilder(); acquisitionMode_ = settings.acquisitionMode(); useTimePoints_ = settings.isUsingTimePoints(); - useMultiplePositions_ = settings.isUsingMultiplePositions(); useHardwareTimePoints_ = settings.isUsingHardwareTimePoints(); useAdvancedTiming_ = settings.isUsingAdvancedTiming(); numTimePoints_ = settings.numTimePoints(); timePointInterval_ = settings.timePointInterval(); - postMoveDelay_ = settings.postMoveDelay(); } @Override @@ -251,12 +233,6 @@ public Builder useTimePoints(final boolean state) { return this; } - @Override - public Builder useMultiplePositions(final boolean state) { - useMultiplePositions_ = state; - return this; - } - @Override public Builder useHardwareTimePoints(final boolean state) { useHardwareTimePoints_ = state; @@ -281,12 +257,6 @@ public Builder timePointInterval(final double timePointInterval) { return this; } - @Override - public Builder postMoveDelay(final int postMoveDelay) { - postMoveDelay_ = postMoveDelay; - return this; - } - // getters for sub-builders public TimingSettings.Builder timingBuilder() { return timingBuilder_; From 6343686a2166f0e1e8c159f682242fb550ea2775 Mon Sep 17 00:00:00 2001 From: Brandon Date: Wed, 22 Jul 2026 22:59:55 -0700 Subject: [PATCH 4/4] move time point variables into BaseAcquisitionSettings --- .../api/AcquisitionSettings.java | 45 +++++++++++ .../api/AcquisitionSettingsDispim.java | 45 ----------- .../api/AcquisitionSettingsScape.java | 45 ----------- .../api/internal/BaseAcquisitionSettings.java | 78 +++++++++++++++++++ .../internal/DispimAcquisitionSettings.java | 59 ++------------ .../internal/ScapeAcquisitionSettings.java | 59 ++------------ 6 files changed, 135 insertions(+), 196 deletions(-) diff --git a/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettings.java b/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettings.java index 98f8efa..714d10f 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettings.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettings.java @@ -79,6 +79,30 @@ interface Builder> { */ T postMoveDelay(final int postMoveDelay); + /** + * Sets the acquisition to use time points. + * + * @param state true to use time points + * @return {@code this} builder + */ + T useTimePoints(final boolean state); + + /** + * Sets the number of time points. + * + * @param numTimePoints the number of time points + * @return {@code this} builder + */ + T numTimePoints(final int numTimePoints); + + /** + * Sets the time point interval between time points in seconds. + * + * @param timePointInterval the time point interval in seconds + * @return {@code this} builder + */ + T timePointInterval(final double timePointInterval); + /** * Returns the autofocus settings builder. * @@ -174,6 +198,27 @@ interface Builder> { */ int postMoveDelay(); + /** + * Returns true if using time points. + * + * @return true if using time points. + */ + boolean isUsingTimePoints(); + + /** + * Returns the number of time points. + * + * @return the number of time points. + */ + int numTimePoints(); + + /** + * Returns the time point interval in seconds. + * + * @return the time point interval in seconds. + */ + double timePointInterval(); + /** * Returns the autofocus settings. * diff --git a/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsDispim.java b/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsDispim.java index d7a4392..cebb810 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsDispim.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsDispim.java @@ -70,13 +70,6 @@ public interface AcquisitionSettingsDispim extends AcquisitionSettings { */ AcquisitionMode acquisitionMode(); - /** - * Returns true if using time points. - * - * @return true if using time points. - */ - boolean isUsingTimePoints(); - /** * Returns true if using hardware time points. * @@ -91,20 +84,6 @@ public interface AcquisitionSettingsDispim extends AcquisitionSettings { */ boolean isUsingAdvancedTiming(); - /** - * Returns the number of time points. - * - * @return the number of time points. - */ - int numTimePoints(); - - /** - * Returns the time point interval in seconds. - * - * @return the time point interval in seconds. - */ - double timePointInterval(); - double liveScanPeriod(); interface Builder> extends AcquisitionSettings.Builder { @@ -117,14 +96,6 @@ interface Builder> extends AcquisitionS */ T acquisitionMode(final AcquisitionMode acqMode); - /** - * Sets the acquisition to use time points. - * - * @param state true to use time points - * @return {@code this} builder - */ - T useTimePoints(final boolean state); - /** * Sets the acquisition to use hardware time points. * @@ -141,22 +112,6 @@ interface Builder> extends AcquisitionS */ T useAdvancedTiming(final boolean state); - /** - * Sets the number of time points. - * - * @param numTimePoints the number of time points - * @return {@code this} builder - */ - T numTimePoints(final int numTimePoints); - - /** - * Sets the time point interval between time points in seconds. - * - * @param timePointInterval the time point interval in seconds - * @return {@code this} builder - */ - T timePointInterval(final double timePointInterval); - T liveScanPeriod(final double liveScanPeriod); /** diff --git a/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsScape.java b/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsScape.java index 767a50b..05e4c87 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsScape.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsScape.java @@ -63,13 +63,6 @@ public interface AcquisitionSettingsScape extends AcquisitionSettings { */ AcquisitionMode acquisitionMode(); - /** - * Returns true if using time points. - * - * @return true if using time points. - */ - boolean isUsingTimePoints(); - /** * Returns true if using hardware time points. * @@ -84,20 +77,6 @@ public interface AcquisitionSettingsScape extends AcquisitionSettings { */ boolean isUsingAdvancedTiming(); - /** - * Returns the number of time points. - * - * @return the number of time points. - */ - int numTimePoints(); - - /** - * Returns the time point interval in seconds. - * - * @return the time point interval in seconds. - */ - double timePointInterval(); - interface Builder> extends AcquisitionSettings.Builder { /** @@ -111,14 +90,6 @@ interface Builder> extends AcquisitionS */ T acquisitionMode(final AcquisitionMode mode); - /** - * Sets the acquisition to use time points. - * - * @param state true to use time points - * @return {@code this} builder - */ - T useTimePoints(final boolean state); - /** * Sets the acquisition to use hardware time points. * @@ -135,22 +106,6 @@ interface Builder> extends AcquisitionS */ T useAdvancedTiming(final boolean state); - /** - * Sets the number of time points. - * - * @param numTimePoints the number of time points - * @return {@code this} builder - */ - T numTimePoints(final int numTimePoints); - - /** - * Sets the time point interval between time points in seconds. - * - * @param timePointInterval the time point interval in seconds - * @return {@code this} builder - */ - T timePointInterval(final double timePointInterval); - /** * Creates a new {@link AcquisitionSettingsScape} instance based on the current configuration. * diff --git a/src/main/java/org/micromanager/lightsheetmanager/api/internal/BaseAcquisitionSettings.java b/src/main/java/org/micromanager/lightsheetmanager/api/internal/BaseAcquisitionSettings.java index d575480..395d795 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/internal/BaseAcquisitionSettings.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/internal/BaseAcquisitionSettings.java @@ -31,6 +31,9 @@ public abstract static class Builder> implements Acquisitio private CameraData[] imagingCameraOrder_ = {}; private boolean useMultiplePositions_ = false; private int postMoveDelay_ = 0; + private boolean useTimePoints_ = false; + private int numTimePoints_ = 1; + private double timePointInterval_ = 0.0; private DefaultAutofocusSettings.Builder afBuilder_ = DefaultAutofocusSettings.builder(); private ChannelSettings.Builder channelBuilder_ = DefaultChannelSettings.builder(); @@ -48,6 +51,9 @@ public Builder(final AcquisitionSettings settings) { imagingCameraOrder_ = settings.imagingCameraOrder(); useMultiplePositions_ = settings.isUsingMultiplePositions(); postMoveDelay_ = settings.postMoveDelay(); + useTimePoints_ = settings.isUsingTimePoints(); + numTimePoints_ = settings.numTimePoints(); + timePointInterval_ = settings.timePointInterval(); afBuilder_ = settings.autofocus().copyBuilder(); channelBuilder_ = settings.channels().copyBuilder(); } @@ -155,6 +161,42 @@ public T postMoveDelay(final int postMoveDelay) { return self(); } + /** + * Sets the acquisition to use time points. + * + * @param state true to use time points + * @return {@code this} builder + */ + @Override + public T useTimePoints(final boolean state) { + useTimePoints_ = state; + return self(); + } + + /** + * Sets the number of time points. + * + * @param numTimePoints the number of time points + * @return {@code this} builder + */ + @Override + public T numTimePoints(final int numTimePoints) { + numTimePoints_ = numTimePoints; + return self(); + } + + /** + * Sets the time point interval between time points in seconds. + * + * @param timePointInterval the time point interval in seconds + * @return {@code this} builder + */ + @Override + public T timePointInterval(final double timePointInterval) { + timePointInterval_ = timePointInterval; + return self(); + } + @Override public DefaultAutofocusSettings.Builder autofocusBuilder() { return afBuilder_; @@ -196,6 +238,9 @@ public ChannelSettings.Builder channelBuilder() { private final CameraData[] imagingCameraOrder_; private final boolean useMultiplePositions_; private final int postMoveDelay_; + private final boolean useTimePoints_; + private final int numTimePoints_; + private final double timePointInterval_; private final DefaultAutofocusSettings autofocus_; private final ChannelSettings channels_; @@ -216,6 +261,9 @@ protected BaseAcquisitionSettings(Builder builder) { imagingCameraOrder_ = builder.imagingCameraOrder_.clone(); useMultiplePositions_ = builder.useMultiplePositions_; postMoveDelay_ = builder.postMoveDelay_; + useTimePoints_ = builder.useTimePoints_; + numTimePoints_ = builder.numTimePoints_; + timePointInterval_ = builder.timePointInterval_; autofocus_ = builder.afBuilder_.build(); channels_ = builder.channelBuilder_.build(); } @@ -310,6 +358,36 @@ public int postMoveDelay() { return postMoveDelay_; } + /** + * Returns true if using time points. + * + * @return true if using time points. + */ + @Override + public boolean isUsingTimePoints() { + return useTimePoints_; + } + + /** + * Returns the number of time points. + * + * @return the number of time points. + */ + @Override + public int numTimePoints() { + return numTimePoints_; + } + + /** + * Returns the time point interval in seconds. + * + * @return the time point interval in seconds. + */ + @Override + public double timePointInterval() { + return timePointInterval_; + } + /** * Returns the autofocus settings. * diff --git a/src/main/java/org/micromanager/lightsheetmanager/api/internal/DispimAcquisitionSettings.java b/src/main/java/org/micromanager/lightsheetmanager/api/internal/DispimAcquisitionSettings.java index 50af9d7..495e3a6 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/internal/DispimAcquisitionSettings.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/internal/DispimAcquisitionSettings.java @@ -25,13 +25,9 @@ public class DispimAcquisitionSettings extends BaseAcquisitionSettings implement private final AcquisitionMode acquisitionMode_; - private final boolean useTimePoints_; private final boolean useHardwareTimePoints_; private final boolean useAdvancedTiming_; - private final int numTimePoints_; - private final double timePointInterval_; - private final double liveScanPeriod_; private DispimAcquisitionSettings(Builder builder) { @@ -48,11 +44,8 @@ private DispimAcquisitionSettings(Builder builder) { sliceCalibrations_[i] = builder.slcb_[i].build(); } acquisitionMode_ = builder.acquisitionMode_; - useTimePoints_ = builder.useTimePoints_; useHardwareTimePoints_ = builder.useHardwareTimePoints_; useAdvancedTiming_ = builder.useAdvancedTiming_; - numTimePoints_ = builder.numTimePoints_; - timePointInterval_ = builder.timePointInterval_; liveScanPeriod_= builder.liveScanPeriod_; } @@ -110,11 +103,6 @@ public AcquisitionMode acquisitionMode() { return acquisitionMode_; } - @Override - public boolean isUsingTimePoints() { - return useTimePoints_; - } - @Override public boolean isUsingHardwareTimePoints() { return useHardwareTimePoints_; @@ -125,16 +113,6 @@ public boolean isUsingAdvancedTiming() { return useAdvancedTiming_; } - @Override - public int numTimePoints() { - return numTimePoints_; - } - - @Override - public double timePointInterval() { - return timePointInterval_; - } - @Override public double liveScanPeriod() { return liveScanPeriod_; @@ -161,12 +139,12 @@ public boolean equals(Object obj) { acquisitionMode_ == other.acquisitionMode_ && cameraMode() == other.cameraMode() && Arrays.equals(imagingCameraOrder(), other.imagingCameraOrder()) && - useTimePoints_ == other.useTimePoints_ && + isUsingTimePoints() == other.isUsingTimePoints() && isUsingMultiplePositions() == other.isUsingMultiplePositions() && useHardwareTimePoints_ == other.useHardwareTimePoints_ && useAdvancedTiming_ == other.useAdvancedTiming_ && - numTimePoints_ == other.numTimePoints_ && - Double.compare(other.timePointInterval_, timePointInterval_) == 0 && + numTimePoints() == other.numTimePoints() && + Double.compare(other.timePointInterval(), timePointInterval()) == 0 && postMoveDelay() == other.postMoveDelay(); } @@ -185,12 +163,12 @@ public int hashCode() { acquisitionMode_, cameraMode(), Arrays.hashCode(imagingCameraOrder()), - useTimePoints_, + isUsingTimePoints(), isUsingMultiplePositions(), useHardwareTimePoints_, useAdvancedTiming_, - numTimePoints_, - timePointInterval_, + numTimePoints(), + timePointInterval(), postMoveDelay() ); } @@ -216,13 +194,9 @@ public static class Builder private AcquisitionMode acquisitionMode_ = AcquisitionMode.NO_SCAN; - private boolean useTimePoints_ = false; private boolean useHardwareTimePoints_ = false; private boolean useAdvancedTiming_ = false; - private int numTimePoints_ = 1; - private double timePointInterval_ = 0.0; - private double liveScanPeriod_ = 20.0; // TODO: this could go in user settings since it has to do with the live view private Builder() { @@ -244,11 +218,8 @@ public Builder(final DispimAcquisitionSettings settings) { shcb_[i] = settings.sheetCalibrations_[i].copyBuilder(); } acquisitionMode_ = settings.acquisitionMode(); - useTimePoints_ = settings.isUsingTimePoints(); useHardwareTimePoints_ = settings.isUsingHardwareTimePoints(); useAdvancedTiming_ = settings.isUsingAdvancedTiming(); - numTimePoints_ = settings.numTimePoints(); - timePointInterval_ = settings.timePointInterval(); liveScanPeriod_ = settings.liveScanPeriod(); } @@ -258,12 +229,6 @@ public Builder acquisitionMode(final AcquisitionMode mode) { return this; } - @Override - public Builder useTimePoints(final boolean state) { - useTimePoints_ = state; - return this; - } - @Override public Builder useHardwareTimePoints(final boolean state) { useHardwareTimePoints_ = state; @@ -276,18 +241,6 @@ public Builder useAdvancedTiming(final boolean state) { return this; } - @Override - public Builder numTimePoints(final int numTimePoints) { - numTimePoints_ = numTimePoints; - return this; - } - - @Override - public Builder timePointInterval(final double timePointInterval) { - timePointInterval_ = timePointInterval; - return this; - } - @Override public Builder liveScanPeriod(double liveScanPeriod) { liveScanPeriod_ = liveScanPeriod; diff --git a/src/main/java/org/micromanager/lightsheetmanager/api/internal/ScapeAcquisitionSettings.java b/src/main/java/org/micromanager/lightsheetmanager/api/internal/ScapeAcquisitionSettings.java index d26f403..b562e3a 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/internal/ScapeAcquisitionSettings.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/internal/ScapeAcquisitionSettings.java @@ -23,13 +23,9 @@ public class ScapeAcquisitionSettings extends BaseAcquisitionSettings implements private final AcquisitionMode acquisitionMode_; - private final boolean useTimePoints_; private final boolean useHardwareTimePoints_; private final boolean useAdvancedTiming_; - private final int numTimePoints_; - private final double timePointInterval_; - private ScapeAcquisitionSettings(Builder builder) { super(builder); timing_ = builder.timingBuilder().build(); @@ -39,11 +35,8 @@ private ScapeAcquisitionSettings(Builder builder) { sheetCalibration_ = builder.sheetCalibrationBuilder().build(); sliceCalibration_ = builder.sliceCalibrationBuilder().build(); acquisitionMode_ = builder.acquisitionMode_; - useTimePoints_ = builder.useTimePoints_; useHardwareTimePoints_ = builder.useHardwareTimePoints_; useAdvancedTiming_ = builder.useAdvancedTiming_; - numTimePoints_ = builder.numTimePoints_; - timePointInterval_ = builder.timePointInterval_; } public static Builder builder() { @@ -95,11 +88,6 @@ public AcquisitionMode acquisitionMode() { return acquisitionMode_; } - @Override - public boolean isUsingTimePoints() { - return useTimePoints_; - } - @Override public boolean isUsingHardwareTimePoints() { return useHardwareTimePoints_; @@ -110,16 +98,6 @@ public boolean isUsingAdvancedTiming() { return useAdvancedTiming_; } - @Override - public int numTimePoints() { - return numTimePoints_; - } - - @Override - public double timePointInterval() { - return timePointInterval_; - } - @Override public boolean equals(Object obj) { if (this == obj) { @@ -139,12 +117,12 @@ public boolean equals(Object obj) { acquisitionMode_ == other.acquisitionMode_ && cameraMode() == other.cameraMode() && Arrays.equals(imagingCameraOrder(), other.imagingCameraOrder()) && - useTimePoints_ == other.useTimePoints_ && + isUsingTimePoints() == other.isUsingTimePoints() && isUsingMultiplePositions() == other.isUsingMultiplePositions() && useHardwareTimePoints_ == other.useHardwareTimePoints_ && useAdvancedTiming_ == other.useAdvancedTiming_ && - numTimePoints_ == other.numTimePoints_ && - Double.compare(other.timePointInterval_, timePointInterval_) == 0 && + numTimePoints() == other.numTimePoints() && + Double.compare(other.timePointInterval(), timePointInterval()) == 0 && postMoveDelay() == other.postMoveDelay(); } @@ -161,12 +139,12 @@ public int hashCode() { acquisitionMode_, cameraMode(), Arrays.hashCode(imagingCameraOrder()), - useTimePoints_, + isUsingTimePoints(), isUsingMultiplePositions(), useHardwareTimePoints_, useAdvancedTiming_, - numTimePoints_, - timePointInterval_, + numTimePoints(), + timePointInterval(), postMoveDelay() ); } @@ -191,13 +169,9 @@ public static class Builder private AcquisitionMode acquisitionMode_ = AcquisitionMode.NO_SCAN; - private boolean useTimePoints_ = false; private boolean useHardwareTimePoints_ = false; private boolean useAdvancedTiming_ = false; - private int numTimePoints_ = 1; - private double timePointInterval_ = 0.0; - private Builder() { } @@ -210,11 +184,8 @@ public Builder(final ScapeAcquisitionSettings settings) { sheetCalibBuilder_ = settings.sheetCalibration().copyBuilder(); sliceCalibBuilder_ = settings.sliceCalibration().copyBuilder(); acquisitionMode_ = settings.acquisitionMode(); - useTimePoints_ = settings.isUsingTimePoints(); useHardwareTimePoints_ = settings.isUsingHardwareTimePoints(); useAdvancedTiming_ = settings.isUsingAdvancedTiming(); - numTimePoints_ = settings.numTimePoints(); - timePointInterval_ = settings.timePointInterval(); } @Override @@ -227,12 +198,6 @@ public Builder acquisitionMode(final AcquisitionMode mode) { return this; } - @Override - public Builder useTimePoints(final boolean state) { - useTimePoints_ = state; - return this; - } - @Override public Builder useHardwareTimePoints(final boolean state) { useHardwareTimePoints_ = state; @@ -245,18 +210,6 @@ public Builder useAdvancedTiming(final boolean state) { return this; } - @Override - public Builder numTimePoints(final int numTimePoints) { - numTimePoints_ = numTimePoints; - return this; - } - - @Override - public Builder timePointInterval(final double timePointInterval) { - timePointInterval_ = timePointInterval; - return this; - } - // getters for sub-builders public TimingSettings.Builder timingBuilder() { return timingBuilder_;