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 @@ -18,6 +18,7 @@
import org.micromanager.data.internal.PropertyKey;
import org.micromanager.lightsheetmanager.LightSheetManager;
import org.micromanager.lightsheetmanager.api.AcquisitionManager;
import org.micromanager.lightsheetmanager.api.AcquisitionSettings;
import org.micromanager.lightsheetmanager.api.TimingSettings;
import org.micromanager.lightsheetmanager.api.data.AcquisitionMode;
import org.micromanager.lightsheetmanager.api.internal.ScapeAcquisitionSettings;
Expand Down Expand Up @@ -479,6 +480,20 @@ public void requestResume() {
}
}

/**
* Returns the number of time points a run acquires.
*
* <p>The time point count keeps its value while time points are off, so that turning them
* back on restores it. Anything that sizes or checks a run reads the count through here,
* which gives 1 in that case.
*
* @param settings the acquisition settings
* @return the time point count, or 1 when time points are off
*/
static int numTimePointsToAcquire(final AcquisitionSettings settings) {
return settings.isUsingTimePoints() ? settings.numTimePoints() : 1;
}

/**
* Higher level stuff in MM may depend on many hidden, poorly documented
* ways on summary metadata generated by the acquisition engine.
Expand All @@ -487,7 +502,7 @@ public void requestResume() {
protected DefaultSummaryMetadata addMMSummaryMetadata(JSONObject summaryMetadata) {
return addMMSummaryMetadata(summaryMetadata, acqSettings_,
studio_.positions().getPositionList(),
acqSettings_.isUsingTimePoints() ? acqSettings_.numTimePoints() : 1);
numTimePointsToAcquire(acqSettings_));
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -503,7 +503,7 @@ private boolean startTimePointAcquisition(final ScapeAcquisitionSettings setting
final boolean separate = datasetTimeIndex >= 0;
// one time point per dataset in separate mode, the whole series otherwise
final int numTimePoints = separate ? 1
: (settings.isUsingTimePoints() ? settings.numTimePoints() : 1);
: numTimePointsToAcquire(settings);

//////////////////////////////////////
// Begin AcqEngJ integration
Expand Down Expand Up @@ -1547,7 +1547,7 @@ private boolean doHardwareCalculations(PLogicScape plc) {
// the port.
if (acqSettings_.isUsingMultiplePositions()) {
if (isUsingHardwareTimePoints
|| (acqSettings_.numTimePoints() > 1
|| (numTimePointsToAcquire(acqSettings_) > 1
&& timepointIntervalMs < timepointDuration * 1.2)) {
// warn the user but allow the acquisition to continue
asb_.useHardwareTimePoints(false);
Expand Down Expand Up @@ -1613,7 +1613,7 @@ private boolean doHardwareCalculations(PLogicScape plc) {
}
}

final int numTimePoints = acqSettings_.isUsingTimePoints() ? acqSettings_.numTimePoints() : 1;
final int numTimePoints = numTimePointsToAcquire(acqSettings_);
if (!acqSettings_.isUsingMultiplePositions() && numTimePoints > 1) {
if (timepointIntervalMs < volumeDuration) {
studio_.logs().showError("Time point interval shorter than the time to collect a single volume.");
Expand Down Expand Up @@ -2072,7 +2072,7 @@ private void updateTotalTimeDurationLabel(final JLabel label) {
}

private double computeTotalTimeDuration() {
final int numTimePoints = acqSettings_.isUsingTimePoints() ? acqSettings_.numTimePoints() : 1;
final int numTimePoints = numTimePointsToAcquire(acqSettings_);
return (numTimePoints - 1) * acqSettings_.timePointIntervalSec() + computeTimePointDuration() / 1000.0;
}

Expand Down
Loading