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
Expand Up @@ -356,32 +356,15 @@ private DefaultAcquisitionSettingsSCAPE(Builder builder) {
postMoveDelay_ = builder.postMoveDelay_;
liveScanPeriod_= builder.liveScanPeriod_;
}
// /**

// /**
// * Creates a Builder populated with settings of this DefaultAcquisitionSettingsDISPIM instance.
// *
// * @return DefaultAcquisitionSettingsDISPIM.Builder pre-populated with settings of this instance.
// */
// @Override
// public DefaultAcquisitionSettingsDISPIM.Builder copyBuilder() {
// return new Builder(
// timingSettings_.copyBuilder(),
// volumeSettings_.copyBuilder(),
// sliceSettings_.copyBuilder(),
// sliceSettingsLS_.copyBuilder(),
// acquisitionMode_,
// channelMode_,
// cameraMode_,
// useChannels_,
// useTimePoints_,
// useAutofocus_,
// useStageScanning_,
// useMultiplePositions_,
// useHardwareTimePoints_,
// useAdvancedTiming_,
// numTimePoints_,
// timePointInterval_,
// postMoveDelay_
// );
// return new Builder(this);
// }

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,13 +144,13 @@ public TimingSettings.Builder useAlternateScanDirection(final boolean state) {

@Override
public String toString() {
return String.format("[scansPerSlice_=%s, delayBeforeScan_=%s, scanDuration_=%s, " +
"delayBeforeLaser_=%s, laserTriggerDuration_=%s, delayBeforeCamera_=%s, " +
"cameraTriggerDuration_=%s, cameraExposure_=%s, sliceDuration_=%s, alternateScanDirection_=%s]",
scansPerSlice_, delayBeforeScan_, scanDuration_, delayBeforeLaser_,
laserTriggerDuration_, delayBeforeCamera_, cameraTriggerDuration_,
cameraExposure_, sliceDuration_, alternateScanDirection_

return String.format("%s[scansPerSlice_=%s, delayBeforeScan_=%s, scanDuration_=%s, "
+ "delayBeforeLaser_=%s, laserTriggerDuration_=%s, delayBeforeCamera_=%s, "
+ "cameraTriggerDuration_=%s, cameraExposure_=%s, sliceDuration_=%s, "
+ "alternateScanDirection_=%s]",
getClass().getSimpleName(), scansPerSlice_, delayBeforeScan_, scanDuration_,
delayBeforeLaser_, laserTriggerDuration_, delayBeforeCamera_,
cameraTriggerDuration_, cameraExposure_, sliceDuration_, alternateScanDirection_
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -835,7 +835,6 @@ public DefaultTimingSettings.Builder getTimingFromPeriodAndLightExposure() {
break;
default:
studio_.logs().showError("Invalid camera mode");
// FIXME: set to invalid!
break;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
import org.micromanager.data.internal.DefaultSummaryMetadata;
import org.micromanager.internal.MMStudio;
import org.micromanager.lightsheetmanager.api.data.AcquisitionMode;
import org.micromanager.lightsheetmanager.api.data.CameraData;
import org.micromanager.lightsheetmanager.api.data.CameraLibrary;
import org.micromanager.lightsheetmanager.api.data.CameraMode;
import org.micromanager.lightsheetmanager.api.data.MultiChannelMode;
Expand Down Expand Up @@ -948,7 +947,7 @@ private boolean doHardwareCalculations(PLogicSCAPE plc) {
// }
// }

final double sliceDuration = getSliceDuration(asb_.timingSettingsBuilder());
final double sliceDuration = getSliceDuration(asb_.timingSettingsBuilder().build());
if (exposureTime + cameraReadoutTime > sliceDuration) {
// should only possible to mess this up using advanced timing settings
// or if there are errors in our own calculations
Expand Down Expand Up @@ -998,7 +997,7 @@ public void recalculateSliceTiming() {
DefaultTimingSettings.Builder tsb = getTimingFromExposure();
asb_.timingSettingsBuilder(tsb);
}
final double sliceDuration = getSliceDuration(asb_.timingSettingsBuilder());
final double sliceDuration = getSliceDuration(asb_.timingSettingsBuilder().build());
asb_.timingSettingsBuilder().sliceDuration(sliceDuration);
//System.out.println(asb_.timingSettingsBuilder());
}
Expand Down Expand Up @@ -1101,7 +1100,7 @@ public DefaultTimingSettings.Builder getTimingFromExposure() {
}

if (!acqSettings_.sliceSettings().isSlicePeriodMinimized()) {
double globalDelay = acqSettings_.sliceSettings().slicePeriod() - getSliceDuration(tsb);
double globalDelay = acqSettings_.sliceSettings().slicePeriod() - getSliceDuration(tsb.build());
if (cameraMode == CameraMode.VIRTUAL_SLIT) {
globalDelay = 0;
}
Expand Down Expand Up @@ -1129,7 +1128,7 @@ public DefaultTimingSettings.Builder getTimingFromExposure() {
tsb.delayBeforeScan(delayBeforeScan);

// update the slice duration based on our new values
tsb.sliceDuration(getSliceDuration(tsb));
tsb.sliceDuration(getSliceDuration(tsb.build()));
return tsb;
}

Expand Down Expand Up @@ -1281,13 +1280,12 @@ public DefaultTimingSettings.Builder getTimingFromPeriodAndLightExposure() {
break;
default:
studio_.logs().showError("Invalid camera mode");
// FIXME: set to invalid!
break;
}

// fix corner case of negative calculated scanDelay
if (delayBeforeScan < 0) {
delayBeforeCamera-= delayBeforeScan;
delayBeforeCamera -= delayBeforeScan;
delayBeforeLaser -= delayBeforeScan;
delayBeforeScan = 0; // same as (-= delayBeforeScan)
}
Expand All @@ -1303,7 +1301,7 @@ public DefaultTimingSettings.Builder getTimingFromPeriodAndLightExposure() {
}

// update the slice duration based on our new values
sliceDuration = getSliceDuration(delayBeforeScan, scanDuration, scansPerSlice, delayBeforeLaser, laserDuration, delayBeforeCamera, cameraDuration);
//sliceDuration = getSliceDuration(delayBeforeScan, scanDuration, scansPerSlice, delayBeforeLaser, laserDuration, delayBeforeCamera, cameraDuration);

tsb.scansPerSlice(scansPerSlice);
tsb.scanDuration(scanDuration);
Expand All @@ -1313,7 +1311,8 @@ public DefaultTimingSettings.Builder getTimingFromPeriodAndLightExposure() {
tsb.delayBeforeCamera(delayBeforeCamera);
tsb.delayBeforeLaser(delayBeforeLaser);
tsb.delayBeforeScan(delayBeforeScan);
tsb.sliceDuration(sliceDuration);

tsb.sliceDuration(getSliceDuration(tsb.build()));
return tsb;
}

Expand All @@ -1334,14 +1333,13 @@ private double getSliceDuration(
);
}

private double getSliceDuration(DefaultTimingSettings.Builder tsb) {
DefaultTimingSettings s = tsb.build();
private double getSliceDuration(final DefaultTimingSettings ts) {
// slice duration is the max out of the scan time, laser time, and camera time
return Math.max(Math.max(
s.delayBeforeScan() + (s.scanDuration() * s.scansPerSlice()), // scan time
s.delayBeforeLaser() + s.laserTriggerDuration() // laser time
ts.delayBeforeScan() + (ts.scanDuration() * ts.scansPerSlice()), // scan time
ts.delayBeforeLaser() + ts.laserTriggerDuration() // laser time
),
s.delayBeforeCamera() + s.cameraTriggerDuration() // camera time
ts.delayBeforeCamera() + ts.cameraTriggerDuration() // camera time
);
}

Expand Down
Loading