Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,5 +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;
import org.micromanager.lightsheetmanager.api.data.SaveMode;
Expand Down Expand Up @@ -103,6 +104,17 @@ interface Builder<T extends Builder<T>> {
*/
T timePointInterval(final double timePointInterval);

/**
* Sets the acquisition mode.
* <p>
* If the mode is a stage scanning mode,
* set the stage scanning flag to true.
*
* @param mode the acquisition mode
* @return {@code this} builder
*/
T acquisitionMode(final AcquisitionMode mode);

/**
* Returns the autofocus settings builder.
*
Expand Down Expand Up @@ -219,6 +231,13 @@ interface Builder<T extends Builder<T>> {
*/
double timePointInterval();

/**
* Returns the acquisition mode.
*
* @return the acquisition mode.
*/
AcquisitionMode acquisitionMode();

/**
* Returns the autofocus settings.
*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package org.micromanager.lightsheetmanager.api;

import org.micromanager.lightsheetmanager.api.data.AcquisitionMode;

/**
* Acquisition settings for diSPIM microscopes.
*/
Expand Down Expand Up @@ -63,13 +61,6 @@ public interface AcquisitionSettingsDispim extends AcquisitionSettings {
*/
SliceCalibration sliceCalibration(final int view);

/**
* Returns the acquisition mode.
*
* @return the acquisition mode.
*/
AcquisitionMode acquisitionMode();

/**
* Returns true if using hardware time points.
*
Expand All @@ -88,14 +79,6 @@ public interface AcquisitionSettingsDispim extends AcquisitionSettings {

interface Builder<T extends AcquisitionSettings.Builder<T>> extends AcquisitionSettings.Builder<T> {

/**
* Sets the acquisition mode.
*
* @param acqMode the acquisition mode
* @return {@code this} builder
*/
T acquisitionMode(final AcquisitionMode acqMode);

/**
* Sets the acquisition to use hardware time points.
*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package org.micromanager.lightsheetmanager.api;

import org.micromanager.lightsheetmanager.api.data.AcquisitionMode;

/**
* Acquisition settings for SCAPE microscopes.
*/
Expand Down Expand Up @@ -56,13 +54,6 @@ public interface AcquisitionSettingsScape extends AcquisitionSettings {
*/
SliceCalibration sliceCalibration();

/**
* Returns the acquisition mode.
*
* @return the acquisition mode.
*/
AcquisitionMode acquisitionMode();

/**
* Returns true if using hardware time points.
*
Expand All @@ -79,17 +70,6 @@ public interface AcquisitionSettingsScape extends AcquisitionSettings {

interface Builder<T extends AcquisitionSettings.Builder<T>> extends AcquisitionSettings.Builder<T> {

/**
* Sets the acquisition mode.
* <p>
* If the mode is a stage scanning mode,
* set the stage scanning flag to true.
*
* @param mode the acquisition mode
* @return {@code this} builder
*/
T acquisitionMode(final AcquisitionMode mode);

/**
* Sets the acquisition to use hardware time points.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.AcquisitionMode;
import org.micromanager.lightsheetmanager.api.data.CameraData;
import org.micromanager.lightsheetmanager.api.data.CameraMode;
import org.micromanager.lightsheetmanager.api.data.SaveMode;
Expand All @@ -34,6 +35,7 @@ public abstract static class Builder<T extends Builder<T>> implements Acquisitio
private boolean useTimePoints_ = false;
private int numTimePoints_ = 1;
private double timePointInterval_ = 0.0;
private AcquisitionMode acquisitionMode_ = AcquisitionMode.NO_SCAN;

private DefaultAutofocusSettings.Builder afBuilder_ = DefaultAutofocusSettings.builder();
private ChannelSettings.Builder channelBuilder_ = DefaultChannelSettings.builder();
Expand All @@ -54,6 +56,7 @@ public Builder(final AcquisitionSettings settings) {
useTimePoints_ = settings.isUsingTimePoints();
numTimePoints_ = settings.numTimePoints();
timePointInterval_ = settings.timePointInterval();
acquisitionMode_ = settings.acquisitionMode();
afBuilder_ = settings.autofocus().copyBuilder();
channelBuilder_ = settings.channels().copyBuilder();
}
Expand Down Expand Up @@ -197,6 +200,34 @@ public T timePointInterval(final double timePointInterval) {
return self();
}

/**
* Sets the acquisition mode.
* <p>
* If the mode is a stage scanning mode,
* set the stage scanning flag to true.
*
* @param mode the acquisition mode
* @return {@code this} builder
*/
@Override
public T acquisitionMode(final AcquisitionMode mode) {
acquisitionMode_ = mode;
final boolean scanEnabled = (mode == AcquisitionMode.STAGE_SCAN
|| mode == AcquisitionMode.STAGE_SCAN_INTERLEAVED
|| mode == AcquisitionMode.STAGE_SCAN_UNIDIRECTIONAL);
stageScanBuilder().enabled(scanEnabled);
return self();
}

/**
* Returns the geometry-specific stage-scan sub-builder.
* Bridges {@link #acquisitionMode} (base) to each concrete geometry's
* own {@code StageScanSettings.Builder}, which is not itself hoisted yet.
*
* @return the stage-scan sub-builder
*/
protected abstract StageScanSettings.Builder stageScanBuilder();

@Override
public DefaultAutofocusSettings.Builder autofocusBuilder() {
return afBuilder_;
Expand Down Expand Up @@ -241,6 +272,7 @@ public ChannelSettings.Builder channelBuilder() {
private final boolean useTimePoints_;
private final int numTimePoints_;
private final double timePointInterval_;
private final AcquisitionMode acquisitionMode_;

private final DefaultAutofocusSettings autofocus_;
private final ChannelSettings channels_;
Expand All @@ -264,6 +296,7 @@ protected BaseAcquisitionSettings(Builder<?> builder) {
useTimePoints_ = builder.useTimePoints_;
numTimePoints_ = builder.numTimePoints_;
timePointInterval_ = builder.timePointInterval_;
acquisitionMode_ = builder.acquisitionMode_;
autofocus_ = builder.afBuilder_.build();
channels_ = builder.channelBuilder_.build();
}
Expand Down Expand Up @@ -388,6 +421,16 @@ public double timePointInterval() {
return timePointInterval_;
}

/**
* Returns the acquisition mode.
*
* @return the acquisition mode
*/
@Override
public AcquisitionMode acquisitionMode() {
return acquisitionMode_;
}

/**
* Returns the autofocus settings.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.AcquisitionMode;

import java.util.Arrays;
import java.util.Objects;
Expand All @@ -23,8 +22,6 @@ public class DispimAcquisitionSettings extends BaseAcquisitionSettings implement
private final SheetCalibration[] sheetCalibrations_;
private final SliceCalibration[] sliceCalibrations_;

private final AcquisitionMode acquisitionMode_;

private final boolean useHardwareTimePoints_;
private final boolean useAdvancedTiming_;

Expand All @@ -43,7 +40,6 @@ private DispimAcquisitionSettings(Builder builder) {
sheetCalibrations_[i] = builder.shcb_[i].build();
sliceCalibrations_[i] = builder.slcb_[i].build();
}
acquisitionMode_ = builder.acquisitionMode_;
useHardwareTimePoints_ = builder.useHardwareTimePoints_;
useAdvancedTiming_ = builder.useAdvancedTiming_;
liveScanPeriod_= builder.liveScanPeriod_;
Expand Down Expand Up @@ -98,11 +94,6 @@ public SliceCalibration sliceCalibration(final int view) {
return sliceCalibrations_[view-1];
}

@Override
public AcquisitionMode acquisitionMode() {
return acquisitionMode_;
}

@Override
public boolean isUsingHardwareTimePoints() {
return useHardwareTimePoints_;
Expand Down Expand Up @@ -136,7 +127,7 @@ public boolean equals(Object obj) {
Objects.equals(stageScan_, other.stageScan_) &&
// Objects.equals(sheetCalibration_, other.sheetCalibration_) &&
// Objects.equals(sliceCalibration_, other.sliceCalibration_) &&
acquisitionMode_ == other.acquisitionMode_ &&
acquisitionMode() == other.acquisitionMode() &&
cameraMode() == other.cameraMode() &&
Arrays.equals(imagingCameraOrder(), other.imagingCameraOrder()) &&
isUsingTimePoints() == other.isUsingTimePoints() &&
Expand All @@ -160,7 +151,7 @@ public int hashCode() {
stageScan_,
// sheetCalibration_,
// sliceCalibration_,
acquisitionMode_,
acquisitionMode(),
cameraMode(),
Arrays.hashCode(imagingCameraOrder()),
isUsingTimePoints(),
Expand Down Expand Up @@ -192,8 +183,6 @@ public static class Builder
private SheetCalibration.Builder[] shcb_ = new DefaultSheetCalibration.Builder[2];
private SliceCalibration.Builder[] slcb_ = new DefaultSliceCalibration.Builder[2];

private AcquisitionMode acquisitionMode_ = AcquisitionMode.NO_SCAN;

private boolean useHardwareTimePoints_ = false;
private boolean useAdvancedTiming_ = false;

Expand All @@ -217,18 +206,11 @@ public Builder(final DispimAcquisitionSettings settings) {
slcb_[i] = settings.sliceCalibrations_[i].copyBuilder();
shcb_[i] = settings.sheetCalibrations_[i].copyBuilder();
}
acquisitionMode_ = settings.acquisitionMode();
useHardwareTimePoints_ = settings.isUsingHardwareTimePoints();
useAdvancedTiming_ = settings.isUsingAdvancedTiming();
liveScanPeriod_ = settings.liveScanPeriod();
}

@Override
public Builder acquisitionMode(final AcquisitionMode mode) {
acquisitionMode_ = mode;
return this;
}

@Override
public Builder useHardwareTimePoints(final boolean state) {
useHardwareTimePoints_ = state;
Expand Down Expand Up @@ -264,6 +246,7 @@ public SliceSettingsLightSheet.Builder sliceLSBuilder() {
return ssbLS_;
}

@Override
public StageScanSettings.Builder stageScanBuilder() {
return stageScanBuilder_;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,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.AcquisitionMode;

import java.util.Arrays;
import java.util.Objects;
Expand All @@ -21,8 +20,6 @@ public class ScapeAcquisitionSettings extends BaseAcquisitionSettings implements
private final SheetCalibration sheetCalibration_;
private final SliceCalibration sliceCalibration_;

private final AcquisitionMode acquisitionMode_;

private final boolean useHardwareTimePoints_;
private final boolean useAdvancedTiming_;

Expand All @@ -34,7 +31,6 @@ private ScapeAcquisitionSettings(Builder builder) {
stageScan_ = builder.stageScanBuilder().build();
sheetCalibration_ = builder.sheetCalibrationBuilder().build();
sliceCalibration_ = builder.sliceCalibrationBuilder().build();
acquisitionMode_ = builder.acquisitionMode_;
useHardwareTimePoints_ = builder.useHardwareTimePoints_;
useAdvancedTiming_ = builder.useAdvancedTiming_;
}
Expand Down Expand Up @@ -83,11 +79,6 @@ public SliceCalibration sliceCalibration() {
return sliceCalibration_;
}

@Override
public AcquisitionMode acquisitionMode() {
return acquisitionMode_;
}

@Override
public boolean isUsingHardwareTimePoints() {
return useHardwareTimePoints_;
Expand All @@ -114,7 +105,7 @@ public boolean equals(Object obj) {
Objects.equals(stageScan_, other.stageScan_) &&
Objects.equals(sheetCalibration_, other.sheetCalibration_) &&
Objects.equals(sliceCalibration_, other.sliceCalibration_) &&
acquisitionMode_ == other.acquisitionMode_ &&
acquisitionMode() == other.acquisitionMode() &&
cameraMode() == other.cameraMode() &&
Arrays.equals(imagingCameraOrder(), other.imagingCameraOrder()) &&
isUsingTimePoints() == other.isUsingTimePoints() &&
Expand All @@ -136,7 +127,7 @@ public int hashCode() {
stageScan_,
sheetCalibration_,
sliceCalibration_,
acquisitionMode_,
acquisitionMode(),
cameraMode(),
Arrays.hashCode(imagingCameraOrder()),
isUsingTimePoints(),
Expand Down Expand Up @@ -167,8 +158,6 @@ public static class Builder
private SheetCalibration.Builder sheetCalibBuilder_ = DefaultSheetCalibration.builder();
private SliceCalibration.Builder sliceCalibBuilder_ = DefaultSliceCalibration.builder();

private AcquisitionMode acquisitionMode_ = AcquisitionMode.NO_SCAN;

private boolean useHardwareTimePoints_ = false;
private boolean useAdvancedTiming_ = false;

Expand All @@ -183,21 +172,10 @@ public Builder(final ScapeAcquisitionSettings settings) {
stageScanBuilder_ = settings.stageScan().copyBuilder();
sheetCalibBuilder_ = settings.sheetCalibration().copyBuilder();
sliceCalibBuilder_ = settings.sliceCalibration().copyBuilder();
acquisitionMode_ = settings.acquisitionMode();
useHardwareTimePoints_ = settings.isUsingHardwareTimePoints();
useAdvancedTiming_ = settings.isUsingAdvancedTiming();
}

@Override
public Builder acquisitionMode(final AcquisitionMode mode) {
acquisitionMode_ = mode;
final boolean scanEnabled = (mode == AcquisitionMode.STAGE_SCAN
|| mode == AcquisitionMode.STAGE_SCAN_INTERLEAVED
|| mode == AcquisitionMode.STAGE_SCAN_UNIDIRECTIONAL);
stageScanBuilder_.enabled(scanEnabled);
return this;
}

@Override
public Builder useHardwareTimePoints(final boolean state) {
useHardwareTimePoints_ = state;
Expand All @@ -223,6 +201,7 @@ public SliceSettings.Builder sliceBuilder() {
return sliceBuilder_;
}

@Override
public StageScanSettings.Builder stageScanBuilder() {
return stageScanBuilder_;
}
Expand Down
Loading