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 @@ -87,6 +87,8 @@ private void createUserInterface() {
btnRunOverviewAcq_ = new Button("Run Overview Acquisition", 160, 26);
btnRunOverviewAcq_.setEnabled(false);

btnEditPositionList_.setToolTipText("Open the Micro-Manager position list editor.");

cbxUseX_ = new CheckBox("Slices from stage coordinates", false);
cbxUseY_ = new CheckBox("Grid in Y", false);
cbxUseZ_ = new CheckBox("Grid in Z", false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,9 @@ private void createUserInterface() {
isUsingScanSettings_ = model_.devices().hasStageScanning();

btnCreateConfigGroup_ = new Button("Create Devices Configuration Group", 220, 30);
btnCreateConfigGroup_.setToolTipText("Creates or updates the \"System::Startup\" configuration " +
"group with all editable properties from the Light Sheet Manager device adapter.");
btnCreateConfigGroup_.setToolTipText("Add each editable Light Sheet Manager device "
+ "adapter property missing from the \"System::Startup\" configuration group, "
+ "with the value Undefined. Existing entries are kept.");

final JLabel lblGeometryType = new JLabel("Microscope Geometry: "
+ model_.devices().adapter().geometry());
Expand Down Expand Up @@ -103,6 +104,19 @@ private void createUserInterface() {
cbxReturnToStart_ = new CheckBox("Return to original position after scan",
settings.stageScan().returnToStart());

spnScanAcceleration_.setToolTipText(
"Scales the stage acceleration time. Larger values ramp more gently.");
// these describe the SCAPE stage scan, which the diSPIM engine does not match yet
if (model_.devices().adapter().geometry() == GeometryType.SCAPE) {
spnScanFirstViewAngle_.setToolTipText("Angle between the stage and the Path A "
+ "objective. Stage scans use it to turn the slice step into stage travel.");
cbxScanFromCurrentPosition_.setToolTipText(
"Start the scan at the position instead of centering the scan on it.");
cbxScanNegativeDirection_.setToolTipText("Scan the stage toward decreasing X.");
cbxReturnToStart_.setToolTipText("When a stage scan acquisition ends, move the "
+ "stage back to where it was when the acquisition started.");
}

final Panel pnlLightSheet = new Panel("Light Sheet Scanner");
pnlLightSheet.setMigLayout(
"",
Expand Down Expand Up @@ -150,6 +164,12 @@ private void createUserInterface() {
if (spnSliceAxisFilterFreq_.getDouble() != sliceAxis) {
scanner.setFilterFreqY(spnSliceAxisFilterFreq_.getDouble());
}
// described only here, where there is a scanner for the spinners to write
spnSheetAxisFilterFreq_.setToolTipText("Bessel filter frequency of the sheet "
+ "axis, written to the scanner at once. The computed slice timing "
+ "allows for its delay, except in stage scans.");
spnSliceAxisFilterFreq_.setToolTipText(
"Bessel filter frequency of the slice axis, written to the scanner at once.");
}
spnLiveScanPeriod_ = Spinner.createIntegerSpinner(20, 2, 10000, 100);

Expand Down Expand Up @@ -201,8 +221,9 @@ private void createUserInterface() {

cbxAcquireFailQuietly_ = new CheckBox("Acquisition failures are quiet",
model_.pluginSettings().isAcquireFailQuietly());
cbxAcquireFailQuietly_.setToolTipText("Log acquisition errors instead of showing dialog " +
"boxes, so unattended runs (playlist or scripting) can never hang on an error dialog.");
cbxAcquireFailQuietly_.setToolTipText("Write acquisition errors and warnings, "
+ "including a refused start, to the log instead of a dialog. Questions from "
+ "the acquisition take their default answer.");

add(pnlScanSettings, "wrap");
if (isUsingPLogic_) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@ private void createUserInterface() {
int index = tabbedPane_.getTabCount();
tabbedPane_.addTab(tabName, navigationTab_);
tabbedPane_.setTabComponentAt(index, createTabTitle(tabName));
// tab tooltips go on the tab and not on its title label, which would take the clicks
tabbedPane_.setToolTipTextAt(index,
"Move stages, galvos and piezos, and read their positions.");

// create a setup path tab for each imaging path
final int numImagingPaths = devices_.adapter().numImagingPaths();
Expand Down Expand Up @@ -93,6 +96,7 @@ private void createUserInterface() {
index = tabbedPane_.getTabCount();
tabbedPane_.addTab(tabName, acquisitionTab_);
tabbedPane_.setTabComponentAt(index, createTabTitle(tabName));
tabbedPane_.setToolTipTextAt(index, "Set up and run an acquisition.");

tabName = "Autofocus";
index = tabbedPane_.getTabCount();
Expand All @@ -103,11 +107,14 @@ private void createUserInterface() {
index = tabbedPane_.getTabCount();
tabbedPane_.addTab(tabName, cameraTab_);
tabbedPane_.setTabComponentAt(index, createTabTitle(tabName));
tabbedPane_.setToolTipTextAt(index, "Set the ROI of the active imaging cameras.");

tabName = "Settings";
index = tabbedPane_.getTabCount();
tabbedPane_.addTab(tabName, settingsTab_);
tabbedPane_.setTabComponentAt(index, createTabTitle(tabName));
tabbedPane_.setToolTipTextAt(index, "Microscope details, stage scan settings, "
+ "error reporting and the device configuration group.");

// set acquisition tab to default
final int tabIndex = findTabNameIndex("Acquisition");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
import org.micromanager.data.Datastore;
import org.micromanager.data.internal.DefaultDatastore;
import org.micromanager.data.internal.DefaultSummaryMetadata;
import org.micromanager.data.internal.ndtiff.NDTiffAdapter;
import org.micromanager.internal.MMStudio;
import org.micromanager.lightsheetmanager.api.data.CameraLibrary;
import org.micromanager.lightsheetmanager.api.data.CameraMode;
Expand All @@ -29,7 +28,6 @@
import org.micromanager.lightsheetmanager.model.devices.vendor.ASIScanner;
import org.micromanager.lightsheetmanager.model.utils.NumberUtils;

import java.io.IOException;
import java.util.ArrayList;

/**
Expand Down Expand Up @@ -212,21 +210,15 @@ boolean run() {
String saveDir = acqSettings_.saveDirectory();
String saveName = acqSettings_.saveNamePrefix();

DefaultDatastore result = new DefaultDatastore(studio_);
try {
if (acqSettings_.saveMode() == SaveMode.ND_TIFF) {
DefaultDatastore.setPreferredSaveMode(studio_, Datastore.SaveMode.ND_TIFF);
} else if (acqSettings_.saveMode() == SaveMode.MULTIPAGE_TIFF) {
DefaultDatastore.setPreferredSaveMode(studio_, Datastore.SaveMode.MULTIPAGE_TIFF);
} else if (acqSettings_.saveMode() == SaveMode.SINGLEPLANE_TIFF_SERIES) {
DefaultDatastore.setPreferredSaveMode(studio_, Datastore.SaveMode.SINGLEPLANE_TIFF_SERIES);
} else {
model_.logging().reportError("Unsupported save mode: " + acqSettings_.saveMode());
return false;
}
result.setStorage(new NDTiffAdapter(result, saveDir, true));
} catch (IOException e) {
throw new RuntimeException(e);
if (acqSettings_.saveMode() == SaveMode.ND_TIFF) {
DefaultDatastore.setPreferredSaveMode(studio_, Datastore.SaveMode.ND_TIFF);
} else if (acqSettings_.saveMode() == SaveMode.MULTIPAGE_TIFF) {
DefaultDatastore.setPreferredSaveMode(studio_, Datastore.SaveMode.MULTIPAGE_TIFF);
} else if (acqSettings_.saveMode() == SaveMode.SINGLEPLANE_TIFF_SERIES) {
DefaultDatastore.setPreferredSaveMode(studio_, Datastore.SaveMode.SINGLEPLANE_TIFF_SERIES);
} else {
model_.logging().reportError("Unsupported save mode: " + acqSettings_.saveMode());
return false;
}

//////////////////////////////////////
Expand Down
Loading