Skip to content

Commit 3d14d53

Browse files
authored
Merge pull request #337 from bls337/main
support multiple cameras and multiple channels together
2 parents 03e2061 + 1d82a04 commit 3d14d53

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

src/main/java/org/micromanager/lightsheetmanager/LightSheetManager.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import org.micromanager.lightsheetmanager.api.data.GeometryType;
77
import org.micromanager.lightsheetmanager.model.DeviceManager;
88
import org.micromanager.lightsheetmanager.model.PluginSettings;
9+
import org.micromanager.lightsheetmanager.model.acquisitions.LSMAcquisitionEvents;
910
import org.micromanager.lightsheetmanager.model.positions.PositionUpdater;
1011
import org.micromanager.lightsheetmanager.model.UserSettings;
1112
import org.micromanager.lightsheetmanager.model.acquisitions.AcquisitionEngine;
@@ -30,7 +31,6 @@ public class LightSheetManager implements LightSheetManagerAPI {
3031
private final DeviceManager deviceManager_;
3132
private final PositionUpdater positionUpdater_;
3233

33-
3434
private AcquisitionEngine acqEngine_;
3535
//private final AcquisitionTableData acqTableData_;
3636

@@ -83,6 +83,10 @@ public boolean setup() {
8383
// load settings
8484
userSettings_.load();
8585

86+
// TODO: put this somewhere better, need to put this value into LSMAcquisitionEvents for now
87+
LSMAcquisitionEvents.isUsingMultipleCameras =
88+
deviceManager_.getDeviceAdapter().getNumSimultaneousCameras() > 1;
89+
8690
// if we made it here then everything loaded correctly
8791
return true;
8892
}

src/main/java/org/micromanager/lightsheetmanager/model/acquisitions/LSMAcquisitionEvents.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ public class LSMAcquisitionEvents {
2323
public static final String POSITION_AXIS = "position";
2424
public static final String CAMERA_AXIS = "channel";
2525

26+
public static int currentChannelIndex_ = 0;
27+
public static boolean isUsingMultipleCameras = false;
2628

2729
public static Iterator<AcquisitionEvent> createTimelapseMultiChannelVolumeAcqEvents(
2830
AcquisitionEvent baseEvent, DefaultAcquisitionSettingsSCAPE acquisitionSettings,
@@ -181,7 +183,11 @@ public boolean hasNext() {
181183
public AcquisitionEvent next() {
182184
AcquisitionEvent cameraEvent = event.copy();
183185
cameraEvent.setCameraDeviceName(cameraDeviceNames_[cameraIndex_]);
184-
cameraEvent.setAxisPosition(CAMERA_AXIS, cameraIndex_);
186+
if (isUsingMultipleCameras) {
187+
cameraEvent.setAxisPosition(CAMERA_AXIS, cameraIndex_ + (currentChannelIndex_ * cameraDeviceNames_.length));
188+
} else {
189+
cameraEvent.setAxisPosition(CAMERA_AXIS, cameraIndex_);
190+
}
185191
cameraIndex_++;
186192
return cameraEvent;
187193
}
@@ -257,7 +263,7 @@ public AcquisitionEvent next() {
257263
channelEvent.setConfigGroup(channelList[index].getGroup());
258264
channelEvent.setConfigPreset(channelList[index].getName());
259265
channelEvent.setChannelName(Integer.toString(index));
260-
//channelEvent.setChannelName(channelList[index].getName());
266+
currentChannelIndex_ = index;
261267

262268
double zPos;
263269
if (channelEvent.getZPosition() == null) {

0 commit comments

Comments
 (0)