diff --git a/src/main/java/org/micromanager/lightsheetmanager/model/acquisitions/AcquisitionEngineDispim.java b/src/main/java/org/micromanager/lightsheetmanager/model/acquisitions/AcquisitionEngineDispim.java index 78fd9d3..751506e 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/model/acquisitions/AcquisitionEngineDispim.java +++ b/src/main/java/org/micromanager/lightsheetmanager/model/acquisitions/AcquisitionEngineDispim.java @@ -70,6 +70,16 @@ boolean setup() { return false; // early exit => save location unusable } + // make sure that there are positions in the PositionList; a pure read, so it belongs + // above the hardware changes for the same reason as the save location check + if (acqSettings_.isUsingMultiplePositions()) { + final int numPositions = studio_.positions().getPositionList().getNumberOfPositions(); + if (numPositions == 0) { + studio_.logs().showError("XY positions expected but the position list is empty"); + return false; + } + } + return true; } @@ -401,9 +411,6 @@ public void close() { // Loop 1: XY positions PositionList pl = MMStudio.getInstance().positions().getPositionList(); - if (acqSettings_.isUsingMultiplePositions() && (pl.getNumberOfPositions() == 0)) { - throw new RuntimeException("XY positions expected but position list is empty"); - } String[] cameraNames; if (demoMode) { diff --git a/src/main/java/org/micromanager/lightsheetmanager/model/acquisitions/AcquisitionEngineScape.java b/src/main/java/org/micromanager/lightsheetmanager/model/acquisitions/AcquisitionEngineScape.java index 332aa84..337289a 100644 --- a/src/main/java/org/micromanager/lightsheetmanager/model/acquisitions/AcquisitionEngineScape.java +++ b/src/main/java/org/micromanager/lightsheetmanager/model/acquisitions/AcquisitionEngineScape.java @@ -85,6 +85,16 @@ boolean setup() { return false; // early exit => save location unusable } + // make sure that there are positions in the PositionList; a pure read, so it belongs + // above the hardware changes below for the same reason as the save location check + if (acqSettings_.isUsingMultiplePositions()) { + final int numPositions = studio_.positions().getPositionList().getNumberOfPositions(); + if (numPositions == 0) { + studio_.logs().showError("XY positions expected but the position list is empty"); + return false; + } + } + // // check pixel size // if (core_.getPixelSizeUm() < 1e-6) { // studio_.logs().showError( @@ -120,14 +130,6 @@ boolean setup() { return false; } - // make sure that there are positions in the PositionList - if (acqSettings_.isUsingMultiplePositions()) { - final int numPositions = studio_.positions().getPositionList().getNumberOfPositions(); - if (numPositions == 0) { - studio_.logs().showError(("XY positions expected but the position list is empty")); - return false; - } - } return true; }