diff --git a/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettings.java b/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettings.java index ad9df2f..714d10f 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettings.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettings.java @@ -1,5 +1,7 @@ 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; @@ -45,6 +47,62 @@ 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); + + /** + * 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 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); + + /** + * 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. * @@ -112,6 +170,55 @@ interface Builder> { */ SaveMode saveMode(); + /** + * Returns the camera mode. + * + * @return the camera mode. + */ + CameraMode cameraMode(); + + /** + * Returns the imaging camera order. + * + * @return the imaging camera order + */ + 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 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 df42731..cebb810 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsDispim.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsDispim.java @@ -1,7 +1,5 @@ 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,34 +70,6 @@ public interface AcquisitionSettingsDispim extends AcquisitionSettings { */ AcquisitionMode acquisitionMode(); - /** - * Returns the camera mode. - * - * @return the camera mode. - */ - CameraMode cameraMode(); - - /** - * Returns the imaging camera order. - * - * @return the imaging camera order - */ - CameraData[] imagingCameraOrder(); - - /** - * Returns true if using time points. - * - * @return true if using time points. - */ - boolean isUsingTimePoints(); - - /** - * Returns true if using multiple positions. - * - * @return true if using multiple positions. - */ - boolean isUsingMultiplePositions(); - /** * Returns true if using hardware time points. * @@ -114,27 +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(); - - /** - * Returns the post move delay in milliseconds. - * - * @return the post move delay in milliseconds. - */ - int postMoveDelay(); - double liveScanPeriod(); interface Builder> extends AcquisitionSettings.Builder { @@ -147,38 +96,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. - * - * @param order the imaging camera order - * @return {@code this} builder - */ - T imagingCameraOrder(final CameraData[] order); - - /** - * 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 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. * @@ -195,30 +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); - - /** - * 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 e9a9e6c..05e4c87 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsScape.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/AcquisitionSettingsScape.java @@ -1,8 +1,6 @@ package org.micromanager.lightsheetmanager.api; 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,34 +63,6 @@ public interface AcquisitionSettingsScape extends AcquisitionSettings { */ AcquisitionMode acquisitionMode(); - /** - * Returns the camera mode. - * - * @return the camera mode. - */ - CameraMode cameraMode(); - - /** - * Returns the imaging camera order. - * - * @return the imaging camera order - */ - CameraData[] imagingCameraOrder(); - - /** - * Returns true if using time points. - * - * @return true if using time points. - */ - boolean isUsingTimePoints(); - - /** - * Returns true if using multiple positions. - * - * @return true if using multiple positions. - */ - boolean isUsingMultiplePositions(); - /** * Returns true if using hardware time points. * @@ -107,27 +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(); - - /** - * Returns the post move delay in milliseconds. - * - * @return the post move delay in milliseconds. - */ - int postMoveDelay(); - interface Builder> extends AcquisitionSettings.Builder { /** @@ -141,38 +90,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. - * - * @param order the imaging camera order - * @return {@code this} builder - */ - T imagingCameraOrder(final CameraData[] order); - - /** - * 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 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. * @@ -189,30 +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); - - /** - * 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 d220566..395d795 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,8 @@ 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; /** @@ -25,6 +27,13 @@ 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 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(); @@ -38,6 +47,13 @@ public Builder(final AcquisitionSettings settings) { saveDuringAcq_ = settings.isSavingImagesDuringAcquisition(); demoMode_ = settings.demoMode(); saveMode_ = settings.saveMode(); + cameraMode_ = settings.cameraMode(); + 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(); } @@ -97,6 +113,90 @@ 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(); + } + + /** + * 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(); + } + + /** + * 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(); + } + + /** + * 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_; @@ -134,6 +234,13 @@ public ChannelSettings.Builder channelBuilder() { private final boolean saveDuringAcq_; private final boolean demoMode_; private final SaveMode saveMode_; + private final CameraMode cameraMode_; + 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_; @@ -150,6 +257,13 @@ protected BaseAcquisitionSettings(Builder builder) { saveDuringAcq_ = builder.saveDuringAcq_; demoMode_ = builder.demoMode_; saveMode_ = builder.saveMode_; + cameraMode_ = builder.cameraMode_; + 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(); } @@ -204,6 +318,76 @@ public SaveMode saveMode() { return saveMode_; } + /** + * Returns the camera mode. + * + * @return the camera mode + */ + @Override + public CameraMode cameraMode() { + return cameraMode_; + } + + /** + * Returns the imaging camera order. + * + * @return the imaging camera order + */ + @Override + 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 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 936e0cb..495e3a6 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/internal/DispimAcquisitionSettings.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/internal/DispimAcquisitionSettings.java @@ -8,8 +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.CameraMode; import org.micromanager.lightsheetmanager.api.data.AcquisitionMode; import java.util.Arrays; @@ -27,18 +25,9 @@ public class DispimAcquisitionSettings extends BaseAcquisitionSettings implement private final AcquisitionMode acquisitionMode_; - private final CameraMode cameraMode_; - private final CameraData[] imagingCameraOrder_; - - 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_; private DispimAcquisitionSettings(Builder builder) { @@ -55,15 +44,8 @@ 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_; useHardwareTimePoints_ = builder.useHardwareTimePoints_; useAdvancedTiming_ = builder.useAdvancedTiming_; - numTimePoints_ = builder.numTimePoints_; - timePointInterval_ = builder.timePointInterval_; - postMoveDelay_ = builder.postMoveDelay_; liveScanPeriod_= builder.liveScanPeriod_; } @@ -121,26 +103,6 @@ public AcquisitionMode acquisitionMode() { return acquisitionMode_; } - @Override - public CameraMode cameraMode() { - return cameraMode_; - } - - @Override - public CameraData[] imagingCameraOrder() { - return imagingCameraOrder_; - } - - @Override - public boolean isUsingTimePoints() { - return useTimePoints_; - } - - @Override - public boolean isUsingMultiplePositions() { - return useMultiplePositions_; - } - @Override public boolean isUsingHardwareTimePoints() { return useHardwareTimePoints_; @@ -151,21 +113,6 @@ public boolean isUsingAdvancedTiming() { return useAdvancedTiming_; } - @Override - public int numTimePoints() { - return numTimePoints_; - } - - @Override - public double timePointInterval() { - return timePointInterval_; - } - - @Override - public int postMoveDelay() { - return postMoveDelay_; - } - @Override public double liveScanPeriod() { return liveScanPeriod_; @@ -190,15 +137,15 @@ public boolean equals(Object obj) { // Objects.equals(sheetCalibration_, other.sheetCalibration_) && // Objects.equals(sliceCalibration_, other.sliceCalibration_) && acquisitionMode_ == other.acquisitionMode_ && - cameraMode_ == other.cameraMode_ && - Arrays.equals(imagingCameraOrder_, other.imagingCameraOrder_) && - useTimePoints_ == other.useTimePoints_ && - useMultiplePositions_ == other.useMultiplePositions_ && + cameraMode() == other.cameraMode() && + Arrays.equals(imagingCameraOrder(), other.imagingCameraOrder()) && + isUsingTimePoints() == other.isUsingTimePoints() && + isUsingMultiplePositions() == other.isUsingMultiplePositions() && useHardwareTimePoints_ == other.useHardwareTimePoints_ && useAdvancedTiming_ == other.useAdvancedTiming_ && - numTimePoints_ == other.numTimePoints_ && - Double.compare(other.timePointInterval_, timePointInterval_) == 0 && - postMoveDelay_ == other.postMoveDelay_; + numTimePoints() == other.numTimePoints() && + Double.compare(other.timePointInterval(), timePointInterval()) == 0 && + postMoveDelay() == other.postMoveDelay(); } // TODO: finish this @@ -214,15 +161,15 @@ public int hashCode() { // sheetCalibration_, // sliceCalibration_, acquisitionMode_, - cameraMode_, - Arrays.hashCode(imagingCameraOrder_), - useTimePoints_, - useMultiplePositions_, + cameraMode(), + Arrays.hashCode(imagingCameraOrder()), + isUsingTimePoints(), + isUsingMultiplePositions(), useHardwareTimePoints_, useAdvancedTiming_, - numTimePoints_, - timePointInterval_, - postMoveDelay_ + numTimePoints(), + timePointInterval(), + postMoveDelay() ); } @@ -247,18 +194,9 @@ public static class Builder private AcquisitionMode acquisitionMode_ = AcquisitionMode.NO_SCAN; - private CameraMode cameraMode_ = CameraMode.EDGE; - private CameraData[] imagingCameraOrder_ = {}; - - 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 private Builder() { @@ -280,15 +218,8 @@ 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(); useHardwareTimePoints_ = settings.isUsingHardwareTimePoints(); useAdvancedTiming_ = settings.isUsingAdvancedTiming(); - numTimePoints_ = settings.numTimePoints(); - timePointInterval_ = settings.timePointInterval(); - postMoveDelay_ = settings.postMoveDelay(); liveScanPeriod_ = settings.liveScanPeriod(); } @@ -298,30 +229,6 @@ public Builder acquisitionMode(final AcquisitionMode mode) { return this; } - @Override - public Builder imagingCameraOrder(final CameraData[] order) { - imagingCameraOrder_ = order; - return this; - } - - @Override - public Builder cameraMode(final CameraMode mode) { - cameraMode_ = mode; - return this; - } - - @Override - public Builder useTimePoints(final boolean state) { - useTimePoints_ = state; - return this; - } - - @Override - public Builder useMultiplePositions(final boolean state) { - useMultiplePositions_ = state; - return this; - } - @Override public Builder useHardwareTimePoints(final boolean state) { useHardwareTimePoints_ = state; @@ -334,24 +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 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 f60d2d6..b562e3a 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/api/internal/ScapeAcquisitionSettings.java +++ b/src/main/java/org/micromanager/lightsheetmanager/api/internal/ScapeAcquisitionSettings.java @@ -8,8 +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 org.micromanager.lightsheetmanager.api.data.CameraMode; import java.util.Arrays; import java.util.Objects; @@ -25,18 +23,9 @@ public class ScapeAcquisitionSettings extends BaseAcquisitionSettings implements private final AcquisitionMode acquisitionMode_; - private final CameraMode cameraMode_; - private final CameraData[] imagingCameraOrder_; - - 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); timing_ = builder.timingBuilder().build(); @@ -46,15 +35,8 @@ 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_; useHardwareTimePoints_ = builder.useHardwareTimePoints_; useAdvancedTiming_ = builder.useAdvancedTiming_; - numTimePoints_ = builder.numTimePoints_; - timePointInterval_ = builder.timePointInterval_; - postMoveDelay_ = builder.postMoveDelay_; } public static Builder builder() { @@ -106,26 +88,6 @@ public AcquisitionMode acquisitionMode() { return acquisitionMode_; } - @Override - public CameraMode cameraMode() { - return cameraMode_; - } - - @Override - public CameraData[] imagingCameraOrder() { - return imagingCameraOrder_; - } - - @Override - public boolean isUsingTimePoints() { - return useTimePoints_; - } - - @Override - public boolean isUsingMultiplePositions() { - return useMultiplePositions_; - } - @Override public boolean isUsingHardwareTimePoints() { return useHardwareTimePoints_; @@ -136,21 +98,6 @@ public boolean isUsingAdvancedTiming() { return useAdvancedTiming_; } - @Override - public int numTimePoints() { - return numTimePoints_; - } - - @Override - public double timePointInterval() { - return timePointInterval_; - } - - @Override - public int postMoveDelay() { - return postMoveDelay_; - } - @Override public boolean equals(Object obj) { if (this == obj) { @@ -168,15 +115,15 @@ public boolean equals(Object obj) { Objects.equals(sheetCalibration_, other.sheetCalibration_) && Objects.equals(sliceCalibration_, other.sliceCalibration_) && acquisitionMode_ == other.acquisitionMode_ && - cameraMode_ == other.cameraMode_ && - Arrays.equals(imagingCameraOrder_, other.imagingCameraOrder_) && - useTimePoints_ == other.useTimePoints_ && - useMultiplePositions_ == other.useMultiplePositions_ && + cameraMode() == other.cameraMode() && + Arrays.equals(imagingCameraOrder(), other.imagingCameraOrder()) && + isUsingTimePoints() == other.isUsingTimePoints() && + isUsingMultiplePositions() == other.isUsingMultiplePositions() && useHardwareTimePoints_ == other.useHardwareTimePoints_ && useAdvancedTiming_ == other.useAdvancedTiming_ && - numTimePoints_ == other.numTimePoints_ && - Double.compare(other.timePointInterval_, timePointInterval_) == 0 && - postMoveDelay_ == other.postMoveDelay_; + numTimePoints() == other.numTimePoints() && + Double.compare(other.timePointInterval(), timePointInterval()) == 0 && + postMoveDelay() == other.postMoveDelay(); } @Override @@ -190,15 +137,15 @@ public int hashCode() { sheetCalibration_, sliceCalibration_, acquisitionMode_, - cameraMode_, - Arrays.hashCode(imagingCameraOrder_), - useTimePoints_, - useMultiplePositions_, + cameraMode(), + Arrays.hashCode(imagingCameraOrder()), + isUsingTimePoints(), + isUsingMultiplePositions(), useHardwareTimePoints_, useAdvancedTiming_, - numTimePoints_, - timePointInterval_, - postMoveDelay_ + numTimePoints(), + timePointInterval(), + postMoveDelay() ); } @@ -222,18 +169,9 @@ public static class Builder private AcquisitionMode acquisitionMode_ = AcquisitionMode.NO_SCAN; - private CameraMode cameraMode_ = CameraMode.EDGE; - private CameraData[] imagingCameraOrder_ = {}; - - 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() { } @@ -246,15 +184,8 @@ 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(); useHardwareTimePoints_ = settings.isUsingHardwareTimePoints(); useAdvancedTiming_ = settings.isUsingAdvancedTiming(); - numTimePoints_ = settings.numTimePoints(); - timePointInterval_ = settings.timePointInterval(); - postMoveDelay_ = settings.postMoveDelay(); } @Override @@ -267,30 +198,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; - return this; - } - - @Override - public Builder useTimePoints(final boolean state) { - useTimePoints_ = state; - return this; - } - - @Override - public Builder useMultiplePositions(final boolean state) { - useMultiplePositions_ = state; - return this; - } - @Override public Builder useHardwareTimePoints(final boolean state) { useHardwareTimePoints_ = state; @@ -303,24 +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; - } - - @Override - public Builder postMoveDelay(final int postMoveDelay) { - postMoveDelay_ = postMoveDelay; - return this; - } - // getters for sub-builders public TimingSettings.Builder timingBuilder() { return timingBuilder_;