diff --git a/docs/source/add_new_device.rst b/docs/source/add_new_device.rst index 4fdfdc02d..5461637af 100644 --- a/docs/source/add_new_device.rst +++ b/docs/source/add_new_device.rst @@ -126,7 +126,7 @@ Startup and Configuration -------------- Integration with Microscope Object Configurations ------------------------------------------------- +------------------------------------------------- - Each microscope configuration in **navigate** that uses the new device should receive a reference to the established communication object. diff --git a/docs/source/advanced.rst b/docs/source/advanced.rst index 016a253e9..ba2cf4b25 100644 --- a/docs/source/advanced.rst +++ b/docs/source/advanced.rst @@ -158,8 +158,8 @@ hardware. **navigate** establishes communication with each device independently, and passes the instance of that device to class that controls it (e.g., in this case, the `CustomDevice` class). This allows **navigate** to be initialized with multiple -microscope :ref:`configurations `, -some of which may share devices. +microscope :ref:`configurations `, some of which may share devices. + .. code-block:: python @@ -470,7 +470,7 @@ Install the plugin using one of two methods: * Install a plugin by putting the whole plugin folder directly into ``navigate/plugins/``. In this example, put ``custom_device`` folder and all its contents into ``navigate/plugins``. - * Alernatively, install this plugin through the menu + * Alternatively, install this plugin through the menu :menuselection:`Plugins --> Install Plugin` by selecting the plugin folder. The plugin is ready to use. For this plugin, you can now specify a CustomDevice in the diff --git a/docs/source/conf.py b/docs/source/conf.py index 463388d9b..d26c21fd2 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -89,7 +89,7 @@ # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This pattern also affects html_static_path and html_extra_path. -exclude_patterns = [] +exclude_patterns = ["**/configurations_archive/*", "*archive*", "**/*_archive.rst"] # -- Options for HTML output ------------------------------------------------- diff --git a/docs/source/contributing/contributing_guidelines.rst b/docs/source/contributing/contributing_guidelines.rst index 1f6092e2b..f7c788631 100644 --- a/docs/source/contributing/contributing_guidelines.rst +++ b/docs/source/contributing/contributing_guidelines.rst @@ -1,3 +1,4 @@ +.. _contributing_guidelines: ======================= Contributing Guidelines ======================= diff --git a/docs/source/contributing/feature_container.rst b/docs/source/contributing/feature_container.rst index 8095d4f28..667bdd870 100644 --- a/docs/source/contributing/feature_container.rst +++ b/docs/source/contributing/feature_container.rst @@ -14,8 +14,8 @@ Once a feature is executed, any features dependent on this feature's execution will execute (for example, move the stage, then snap a picture). Following this, the next set of features in sequence will be executed. -Examples of some existing features include ``navigate.model.features.common_features.ZStackAcquisition``, -which acquires a z-stack, and ``navigate.model.features.autofocus.Autofocus``, +Examples of some existing features include ``navigate.model.features.common_features.ZStackAcquisition``, +which acquires a z-stack, and ``navigate.model.features.autofocus.Autofocus``, which finds the ideal plane of focus of a sample using a discrete cosine transform. ----------------- @@ -30,7 +30,6 @@ Currently Implemented Features ../_autosummary/navigate.model.features.auto_tile_scan ../_autosummary/navigate.model.features.autofocus ../_autosummary/navigate.model.features.common_features - ../_autosummary/navigate.model.features.cva_conpro ../_autosummary/navigate.model.features.image_writer ../_autosummary/navigate.model.features.remove_empty_tiles ../_autosummary/navigate.model.features.restful_features diff --git a/docs/source/implementations/implementations.rst b/docs/source/implementations/implementations.rst index 26812201d..ce755edd2 100644 --- a/docs/source/implementations/implementations.rst +++ b/docs/source/implementations/implementations.rst @@ -1,3 +1,5 @@ +.. _implemented_microscopes: + =========================================== Implemented Microscopes =========================================== @@ -58,10 +60,10 @@ The University of Texas Southwestern Medical Center, Dallas, TX **Relevant Publications**: * `Deconvolution-free subcellular imaging with axially swept light sheet microscopy - `_ + `_ * `Diagonally scanned light-sheet microscopy for fast volumetric imaging of adherent cells - `_ -* `u-track3D: Measuring, navigating, and validating dense particle trajectories in three dimensions `_ + `_ +* `u-track3D: Measuring, navigating, and validating dense particle trajectories in three dimensions `_ * `Robust and automated detection of subcellular morphological motifs in 3D microscopy images `_ .. collapse:: Technical Information @@ -142,7 +144,7 @@ The University of Texas Southwestern Medical Center, Dallas, TX **Relevant Publications**: * `Increasing the field-of-view in oblique plane microscopy via optical tiling - `_ + `_ * `A versatile oblique plane microscope for large-scale and high-resolution imaging of subcellular dynamics `_ @@ -215,8 +217,8 @@ The University of Texas Southwestern Medical Center, Dallas, TX **Relevant Publications**: -* `Adaptive optics in an oblique plane microscope `_ -* `Increasing the field-of-view in oblique plane microscopy via optical tiling `_ +* `Adaptive optics in an oblique plane microscope `_ +* `Increasing the field-of-view in oblique plane microscopy via optical tiling `_ * `A versatile oblique plane microscope for large-scale and high-resolution imaging of subcellular dynamics `_ .. collapse:: Technical Information @@ -428,7 +430,7 @@ The University of Texas Southwestern Medical Center, Dallas, TX **Relevant Publications**: -* `Mechanically sheared Axially Swept Light-Sheet Microscopy `_ +* `Mechanically sheared Axially Swept Light-Sheet Microscopy `_ * `The mesoSPIM initiative: open-source light-sheet microscopes for imaging cleared tissue `_. * `Isotropic imaging across spatial scales with axially swept light-sheet microscopy `_ * `Light-sheet microscopy of cleared tissues with isotropic, subcellular resolution `_. @@ -591,8 +593,8 @@ The University of Texas Southwestern Medical Center, Dallas, TX **Relevant Publications**: -* `Effective elimination of laser interference fringing in fluorescence microscopy by Spinning azimuthal incidence angle `_. -* `Spinning-spot shadowless TIRF microscopy `_ +* `Effective elimination of laser interference fringing in fluorescence microscopy by Spinning azimuthal incidence angle `_. +* `Spinning-spot shadowless TIRF microscopy `_ .. collapse:: Technical Information @@ -824,7 +826,7 @@ Arizona State University, Tempe, AZ **Relevant Publications**: * `Increasing the field-of-view in oblique plane microscopy via optical tiling - `_ + `_ * `A versatile oblique plane microscope for large-scale and high-resolution imaging of subcellular dynamics `_ diff --git a/docs/source/index.rst b/docs/source/index.rst index c584b84b7..da78f0436 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -79,10 +79,12 @@ technology developers. :maxdepth: 1 navigate Plugin Template - navigate Confocal Projection Plugin + navigate Confocal Projection navigate at Scale - navigate MMCore Plugin + navigate Constant Velocity Acquisition + navigate MMCore navigate ilastik Server + navigate Photoactivation .. toctree:: :caption: Reference @@ -96,7 +98,7 @@ technology developers. ============ **navigate** includes key contributions from numerous individuals, both past and present, in `The Dean Lab `_. Please see the accompanying manuscript -for a full list of contributors. :ref:`Outside contributors ` are welcome. +for a full list of contributors. :ref:`Outside contributors ` are welcome. **Funding** ============ diff --git a/docs/source/plugin/plugin_home.rst b/docs/source/plugin/plugin_home.rst index 0c0bf9da9..e05c0475c 100644 --- a/docs/source/plugin/plugin_home.rst +++ b/docs/source/plugin/plugin_home.rst @@ -99,14 +99,14 @@ Plugin Structure: │ └── features/ │ ├── plugin_feature.py │ ├── ... - │ + │ ├── view/ | ├── plugin_name_frame.py | ├── ... │ ├── feature_list.py ├── plugin_acquisition_mode.py - └── plugin_config.yml + └── plugin_config.yml .. note:: @@ -127,7 +127,7 @@ is: name: Plugin Name view: Popup # or Tab - acquisition_modes: + acquisition_modes: - name: Plugin Acquisition file_name: plugin_acquisition_mode.py @@ -137,8 +137,8 @@ Plugin GUI Elements -------------------- **navigate** supports plugins with their own GUIs. A custom plugin GUI can be integrated as a tab or a popup. -Users should specify a view option in ``plugin_config.yml``. If it is a popup, users can find the plugin under -the :guilabel:`Plugins` menu in the **navigate** window. If it is a tab, it will appear next to the +Users should specify a view option in ``plugin_config.yml``. If it is a popup, users can find the plugin under +the :guilabel:`Plugins` menu in the **navigate** window. If it is a tab, it will appear next to the :ref:`Settings Notebooks `. @@ -155,7 +155,7 @@ should be named: ``my_plugin_frame.py`` and ``my_plugin_controller.py``. Plugin Devices ------------------ -The **navigate** plugin architecture allows you to integrate new hardware device. There can be more than one +The **navigate** plugin architecture allows you to integrate new hardware device. There can be more than one device inside a plugin. If they are different kinds of device, please put them into different folders. For each kind of device, there should be a ``device_startup_functions.py`` telling **navigate** how to start the device and indicating the reference name of the device to be used in ``configuration.yaml``. @@ -186,8 +186,8 @@ A function to start the device should be given, return device_object -The template for ``device_startup_functions.py`` can be found in the `plugin template `_. - +The template for ``device_startup_functions.py`` can be found in the +`plugin template `_. ------------------------------------- Plugin Features @@ -195,7 +195,7 @@ Plugin Features **navigate** allows users to add new features. New feature objects and feature lists can each be a plugin or components of a plugin. Features and feature lists are automatically loaded into **navigate**. -Please visit `here `_ for details about how to build a new feature object and feature list. +Please visit `here `_ for details about how to build a new feature object and feature list. ------------------------------------- @@ -204,7 +204,7 @@ Custom Acquisition Modes Navigate offers seamless support for custom acquisition modes, and registering a new mode is straightforward. 1. Download the template for `plugin_acquisition_mode.py -`_ +`_ 2. Update the ``feature_list``. @@ -214,7 +214,7 @@ Navigate offers seamless support for custom acquisition modes, and registering a class PluginAcquisitionMode: def __init__(self, name): self.acquisition_mode = name - + self.feature_list = [ # update here ] @@ -230,7 +230,7 @@ Users should tell **navigate** what to do before and after acquisition using the def end_acquisition_controller(self, controller): # update here - + def prepare_acquisition_model(self, model): # update here @@ -241,11 +241,12 @@ Users should tell **navigate** what to do before and after acquisition using the .. code-block:: none - acquisition_modes: + acquisition_modes: - name: Custom Acquisition file_name: plugin_acquisition_mode.py ----------- -For more plugin examples, please visit `navigate `_ and `Navigate Plugins `_. +For more plugin examples, please visit the plugins in the table of contents menu on +the left. diff --git a/docs/source/quick_start.rst b/docs/source/quick_start.rst index cdffda8db..791211e20 100644 --- a/docs/source/quick_start.rst +++ b/docs/source/quick_start.rst @@ -11,7 +11,7 @@ Installation ------------ 1. *Install Miniconda.* - Download and install Miniconda from the `official website `_. + Download and install Miniconda from the `official website `_. 2. *Create and Activate a Conda Environment.* Launch a Miniconda Prompt (or a Terminal on MacOS) and enter the following. @@ -41,53 +41,52 @@ To save an image to disk, follow these steps: * Launch **navigate** in synthetic hardware mode as described above. -* Next to the the :guilabel:`Acquire` button on the upper left, make sure that the +* Next to the the :guilabel:`Acquire` button on the upper left, make sure that the acquisition mode in the dropdown is set to "Continuous Scan". * Press :guilabel:`Acquire` (:kbd:`ctrl + enter`) and confirm that a synthetic noise image is displayed in the :guilabel:`Camera View` window. .. Note:: - At least one channel must be selected (checkbox marked) in the - :guilabel:`Channel Settings` window, and all of the parameters (e.g., + At least one channel must be selected (checkbox marked) in the + :guilabel:`Channel Settings` window, and all of the parameters (e.g., :guilabel:`Power`) in that row must be populated. -* Select the :guilabel:`Channels` tab. In the :guilabel:`Stack Acquisition Settings` +* Select the :guilabel:`Channels` tab. In the :guilabel:`Stack Acquisition Settings` window in this tab, press the :guilabel:`Set Start Pos/Foc` button. This specifies the starting ``Z`` and ``F`` (e.g., Focus) positions for the stack acquisition. -* Select the :guilabel:`Stage Control` tab (:kbd:`ctrl + 3`), move the ``Z`` stage to - the desired position (e.g., ``100`` μm), go back to the :guilabel:`Channels` tab +* Select the :guilabel:`Stage Control` tab (:kbd:`ctrl + 3`), move the ``Z`` stage to + the desired position (e.g., ``100`` μm), go back to the :guilabel:`Channels` tab (:kbd:`ctrl + 1`), and press the :guilabel:`Set End Pos/Foc` button. This specifies the ending ``Z`` and ``F`` positions for the stack acquisition. -* In the :guilabel:`Stack Acquisition Settings` frame, you can now adjust the step +* In the :guilabel:`Stack Acquisition Settings` frame, you can now adjust the step size, which determines the number of slices in a z-stack. -* In the :guilabel:`Timepoint Settings` window, select :guilabel:`Save Data` +* In the :guilabel:`Timepoint Settings` window, select :guilabel:`Save Data` by marking the checkbox. If the number of timepoints is set to ``1``, only a single stack will be acquired. * Next to the the :guilabel:`Acquire` button on the upper left, change the acquisition - mode in the dropdown to "Z-Stack", and press :guilabel:`Acquire` + mode in the dropdown to "Z-Stack", and press :guilabel:`Acquire` (:kbd:`ctrl + enter`). * A :guilabel:`File Saving Dialog` popup window will appear. - * With the exception of :guilabel:`Notes`, all fields must be populated. Any + * With the exception of :guilabel:`Notes`, all fields must be populated. Any spaces in the fields will be replaced with an underscore. - * :guilabel:`Notes` is saved with the metadata, and can be useful for + * :guilabel:`Notes` is saved with the metadata, and can be useful for describing the experiment. * :guilabel:`Solvent` is useful for tissue clearing experiments. - * :guilabel:`File Type` can be set to :guilabel:`.TIFF`, :guilabel:`OME-TIFF`, - :guilabel:`H5`, or :guilabel:`N5`. The latter two options are pyramidal file - formats that are best used for large datasets and are immediately compatible - with `BigDataViewer `_ and + * :guilabel:`File Type` can be set to :guilabel:`.TIFF`, :guilabel:`OME-TIFF`, + :guilabel:`H5`, or :guilabel:`N5`. The latter two options are pyramidal file + formats that are best used for large datasets and are immediately compatible + with `BigDataViewer `_ and `BigStitcher `_. * Press :guilabel:`Acquire` to begin the acquisition. - * Once complete, the data can be opened using standard image processing + * Once complete, the data can be opened using standard image processing software such as `Fiji `_. .. image:: user_guide/images/save_dialog.png :align: center :alt: File Saving Dialog - diff --git a/docs/source/software_installation.rst b/docs/source/software_installation.rst index 1aff3cd5d..e4576498a 100644 --- a/docs/source/software_installation.rst +++ b/docs/source/software_installation.rst @@ -12,10 +12,9 @@ Operating System Compatibility .. important:: **navigate** is developed for use on Windows-based systems. This is due to the - compatibility of :ref:`device drivers ` for various microscope - hardware components, such as - cameras, stages, and data acquisition cards, which are predominantly designed for the - Windows environment. + compatibility of device drivers for various microscope hardware components, such + as cameras, stages, and data acquisition cards, which are predominantly designed + for the Windows environment. While it is possible to launch the software on a Mac using synthetic hardware mode, users should be aware of known issues with the Tkinter interface. These issues @@ -108,7 +107,7 @@ Quick install **Setup your Python Environment** -Head over to the `miniconda website `_ +Head over to the `miniconda website `_ and install the appropriate version based on your operating system. .. tip:: diff --git a/docs/source/user_guide/case_studies/acquire_exASLM.rst b/docs/source/user_guide/case_studies/acquire_exASLM.rst index b12277efa..8192a90fa 100644 --- a/docs/source/user_guide/case_studies/acquire_exASLM.rst +++ b/docs/source/user_guide/case_studies/acquire_exASLM.rst @@ -22,7 +22,7 @@ unnecessarily results in greater data overhead owing to empty space introduced i To avoid this, we also provide a guide on how to perform two axis stage scanning which removes the need for computational shearing. More information about this microscope and this method, which we refer to as mechanical shearing, can be found -`here `_. +`here `_. .. Constant Velocity Acquisition: diff --git a/docs/source/user_guide/case_studies/acquire_mesospimbt.rst b/docs/source/user_guide/case_studies/acquire_mesospimbt.rst index 938d4b86c..815bf2567 100644 --- a/docs/source/user_guide/case_studies/acquire_mesospimbt.rst +++ b/docs/source/user_guide/case_studies/acquire_mesospimbt.rst @@ -2,7 +2,7 @@ Imaging on a mesoSPIM BT ======================== -This is a case study in using the software to image with a `mesoSPIM BT microscope `_. +This is a case study in using the software to image with a `mesoSPIM BT microscope `_. ----------------- @@ -19,7 +19,7 @@ the beam path. option. .. image:: images/meso_beam_1.png - + #. Go to the :menuselection:`Microscope Configuration --> Waveform Parameters`. A popup named :guilabel:`Waveform Parameter Settings` will appear. Make sure the :guilabel:`Mode` matches "mesoSPIM BT" and the :guilabel:`Magnification` matches the @@ -36,8 +36,8 @@ the beam path. #. :guilabel:`Galvo 0` digitally sweeps the beam across the field of view in the ``X`` direction. To align the axially-swept light sheet parameters, set the :guilabel:`Galvo 0` - :guilabel:`Amplitude` to ``0.0``. - + :guilabel:`Amplitude` to ``0.0``. + .. image:: images/meso_beam_2.png #. The empty filter makes us susceptible to seeing particles scattering light in the @@ -64,8 +64,8 @@ the beam path. #. Go to :guilabel:`Camera Settings` and ensure that :guilabel:`Light-Sheet` is selected under :guilabel:`Sensor Mode`. Slowly increase the wavelength's :guilabel:`Amplitude` until the beam becomes a straight line across the screen. If the beam does not - become straighter, try changing the camera's - :ref:`Readout Direction `. + become straighter, try changing the camera's + :ref:`Readout Direction `. .. image:: images/meso_beam_7.png @@ -79,7 +79,7 @@ the beam path. .. image:: images/meso_beam_9.png #. Once the beam is straight, slowly change the wavelength's :guilabel:`Offset` until - the beam has an even thickness across the field of view. This will also make the + the beam has an even thickness across the field of view. This will also make the beam a bit thinner. .. image:: images/meso_beam_10.png diff --git a/docs/source/user_guide/case_studies/setup_voodoo.rst b/docs/source/user_guide/case_studies/setup_voodoo.rst index 7c20d8516..7f86c68ad 100644 --- a/docs/source/user_guide/case_studies/setup_voodoo.rst +++ b/docs/source/user_guide/case_studies/setup_voodoo.rst @@ -57,7 +57,7 @@ Data Acquisition Card #. We will now begin sequentially adding non-synthetic devices to the configuration file. The first device to add is the NI data acquisition card. Of course, the data acquisition card's drivers must be `installed `_ and functioning. + .com/en/support/downloads/drivers/download.ni-daq-mx.html>`_ and functioning. To confirm that it is functioning, it is best to use the `NI MAX` software and evaluate the card's functionality with an oscilloscope. diff --git a/docs/source/user_guide/gui_walkthrough.rst b/docs/source/user_guide/gui_walkthrough.rst index 1ff34f2af..e83dad9bb 100644 --- a/docs/source/user_guide/gui_walkthrough.rst +++ b/docs/source/user_guide/gui_walkthrough.rst @@ -20,28 +20,14 @@ File .. image:: images/menu_file.png -The :guilabel:`File` menu lets a user create, load and save -:ref:`experiment files `, -which store the states of the GUI and the hardware. The menu also provides an option to load and save :ref:`waveform constants files ` to store the waveform constants used for a given experiment. This is useful if a user wants to -perform an experiment with the same parameters multiple times, but close the software -in between acquisitions. To facilitate reproducibility, `experiment.yml` and `waveform_constants.yml` files are -always saved with the collected image data. - -The :guilabel:`File` menu also provides access to toggle the :guilabel:`Save Data` flag, -also found under :guilabel:`Timepoint Settings` in the -:guilabel:`Channels Settings Notebook`, and to start an acquisition (which can also be -done by pressing :guilabel:`Acquire` in the -:ref:`user_guide/gui_walkthrough:acquisition bar`). Loading and unloading images only -works if there is a -:ref:`synthetic camera `. In -this case, the camera loads images to display in lieu of the simulated noise -usually generated by the synthetic camera. - -:guilabel:`Open Log Files` opens the folder containing the software's log files. This -is helpful for debugging code and configuration problems. - -:guilabel:`Open Configuration Files` opens the folder containing the software's -:ref:`configuration file `. +The :guilabel:`File` menu lets a user create, load and save :ref:`experiment files `, which store the states of the GUI and the hardware. The menu also provides an option to load and save :ref:`waveform constants files ` to store the waveform constants used for a given experiment. This is useful if a user wants to perform an experiment with the same parameters multiple times, but close the software in between acquisitions. To facilitate reproducibility, `experiment.yml` and `waveform_constants.yml` files are always saved with the collected image data. + +The :guilabel:`File` menu also provides access to toggle the :guilabel:`Save Data` flag, also found under :guilabel:`Timepoint Settings` in the +:guilabel:`Channels Settings Notebook`, and to start an acquisition (which can also be done by pressing :guilabel:`Acquire` in the :ref:`user_guide/gui_walkthrough:acquisition bar`). Loading and unloading images only works if there is a :ref:`synthetic camera `. In this case, the camera loads images to display in lieu of the simulated noise usually generated by the synthetic camera. + +:guilabel:`Open Log Files` opens the folder containing the software's log files. This is helpful for debugging code and configuration problems. + +:guilabel:`Open Configuration Files` opens the folder containing the software's :ref:`configuration file `. ----------------- @@ -50,21 +36,19 @@ Microscope Configuration .. image:: images/menu_microscope_configuration.png -The :guilabel:`Microscope Configuration` menu is split into two parts, above and below -the horizontal divider. +The :guilabel:`Microscope Configuration` menu is split into two parts, above and below the horizontal divider. -Above the horizontal divider it lists the names of all -microscopes named in the ``microscopes`` section of the -:ref:`configuration file `. This +Above the horizontal divider it lists the names of all microscopes named in the ``microscopes`` section of the +:ref:`configuration file `. This allows users to readily switch between different microscopes, each with their own hardware configurations. Mousing over a microscope name reveals all zoom values available under the -:ref:`Mechanical Zoom `. +:ref:`Mechanical Zoom `. Selecting one of these zoom values changes the magnification of the microscope. -Below the horizontal divider is access to the -:ref:`Waveform Parameters ` settings -panel and the +Below the horizontal divider is access to the +:ref:`Waveform Parameters ` settings +panel and the :ref:`Configure Microscope ` settings panel. @@ -77,23 +61,23 @@ Stage Control .. image:: images/menu_stage_control.png -The stage control menu is split by horizontal dividers into three parts. +The stage control menu is split by horizontal dividers into three parts. -The top part provides similar functionality to the +The top part provides similar functionality to the :ref:`Stage Control Settings Notebook `. It allows movement -of the stage along ``X``, ``Y``, ``Z``, ``focus`` and ``Theta``. The ``w``, ``s``, -``a`` and ``d`` keys are bound to movement in ``X`` and ``Y``, and these can be used +of the stage along ``X``, ``Y``, ``Z``, ``focus`` and ``Theta``. The ``w``, ``s``, +``a`` and ``d`` keys are bound to movement in ``X`` and ``Y``, and these can be used to scroll around a sample. -The middle part provides similar functionality to the +The middle part provides similar functionality to the :ref:`Multiposition Settings Notebook `. -Here, a user can launch the -:ref:`Tiling Wizard `, -load and export (save) positions stored in the :guilabel:`Multiposition Settings Notebook`, +Here, a user can launch the +:ref:`Tiling Wizard `, +load and export (save) positions stored in the :guilabel:`Multiposition Settings Notebook`, and add the current stage position to the multiposition table. The bottom part of the menu is used to enable and disable the stage limits set in the -configuration file (see the +configuration file (see the :ref:`stage subsection `). ------------------- @@ -127,7 +111,7 @@ Plugins .. image:: images/menu_plugins.png This menu provides an access point for :doc:`plugins <../plugin/plugin_home>` that feature -a popup GUI. +a popup GUI. ------------------- @@ -136,7 +120,7 @@ Window .. image:: images/menu_window.png -This menu is split into two parts by a horizontal divider and provides some GUI controls. +This menu is split into two parts by a horizontal divider and provides some GUI controls. The top part allows the user to switch between the main :ref:`Settings Notebooks `. @@ -154,7 +138,7 @@ Left-to-right, the acquisition bar provides * An :guilabel:`Acquire` button, which starts acquisition. * A drop-down menu providing a selection of acquisition modes. * A progress bar indicating how far the program has made it through an acquisition. The - top bar indicates progress on the current z-stack, whereas the bottom indicates + top bar indicates progress on the current z-stack, whereas the bottom indicates progress for the entire acquisition. * An approximate estimate of how much time is left in the acquisition. * An emergency :guilabel:`Stop Stage` button, which instantly halts all stage movement. @@ -175,9 +159,9 @@ Channels .. image:: images/settings_channels.png -The :guilabel:`Channels` Settings Notebook is a tab (optionally, a popup if -right-clicked on) split into five sections: :guilabel:`Channel Settings`, -:guilabel:`Stack Acquisition Settings (µm)`, :guilabel:`Timepoint Settings`, +The :guilabel:`Channels` Settings Notebook is a tab (optionally, a popup if +right-clicked on) split into five sections: :guilabel:`Channel Settings`, +:guilabel:`Stack Acquisition Settings (µm)`, :guilabel:`Timepoint Settings`, :guilabel:`Multi-Position Acquisition` and :guilabel:`Quick Launch Buttons`. ------------------- @@ -185,26 +169,26 @@ right-clicked on) split into five sections: :guilabel:`Channel Settings`, Channel Settings ^^^^^^^^^^^^^^^^ -This is used to set up acquisition color channels. A channel is considered to be a +This is used to set up acquisition color channels. A channel is considered to be a combination of an illuminating laser wavelength and a detection filter. Each channel has its own power, exposure time, interval and defocus. The checkbox on the left -indicates if a channel should be used (is selected) during acquisition. An acquisition +indicates if a channel should be used (is selected) during acquisition. An acquisition may loop through the channels in sequence. -* :guilabel:`Laser` is the name of the laser, taken from the - :doc:`configuration file `, and usually expressed in +* :guilabel:`Laser` is the name of the laser, taken from the + :doc:`configuration file `, and usually expressed in nanometers. * :guilabel:`Power` is the power of the laser between 0 and 100 percent. * :guilabel:`Filter` is the name of the filter selected in the detection path filter wheel. Filter names are stored in the configuration file. * :guilabel:`Exp. Time (ms)` is the exposure time of the camera in milliseconds. -* :guilabel:`Interval` indicates how often this channel should be used in an - acquisition. For example, in two-color imaging, CH1 may image a process twice as - fast as what is labelled in CH2. Setting the CH2 interval to 2 allows a user to - image the processes in both channels at a similar rate. This will be implemented +* :guilabel:`Interval` indicates how often this channel should be used in an + acquisition. For example, in two-color imaging, CH1 may image a process twice as + fast as what is labelled in CH2. Setting the CH2 interval to 2 allows a user to + image the processes in both channels at a similar rate. This will be implemented in future releases of the software. * :guilabel:`Defocus` indicates the defocus between two channels in micrometers. The - defocus values are always relative to the focus of the first channel imaged. This + defocus values are always relative to the focus of the first channel imaged. This setting is useful for compensating for chromatic aberration. @@ -213,17 +197,17 @@ may loop through the channels in sequence. Stack Acquisition Settings ^^^^^^^^^^^^^^^^^^^^^^^^^^ -These are the settings used for a standard Z-Stack Acquisition. +These are the settings used for a standard Z-Stack Acquisition. :guilabel:`Pos` indicates z-positions. :guilabel:`Foc` indicates focus positions. The z-stack can optionally ramp through ``focus`` along with ``Z``. -:guilabel:`Start` and :guilabel:`End` are always expressed relative to the center of -the z-stack. :guilabel:`Abs Z Start` and :guilabel:`Abs Z Stop` provide true stage -positions at the start and end of the z-stack. +:guilabel:`Start` and :guilabel:`End` are always expressed relative to the center of +the z-stack. :guilabel:`Abs Z Start` and :guilabel:`Abs Z Stop` provide true stage +positions at the start and end of the z-stack. The buttons :guilabel:`Set Start Pos/Foc` and :guilabel:`Set End Pos/Foc` grab the -current ``Z`` and ``focus`` positions from the stage and enter them into the +current ``Z`` and ``focus`` positions from the stage and enter them into the corresponding start and end (stop) GUI boxes. The :guilabel:`Step Size` is expressed in microns and can be modified by the user. Upon @@ -242,16 +226,16 @@ Timepoint Settings These are used for acquiring data over multiple timepoints and for toggling the option to save data. -* :guilabel:`Save Data` tells the software to save acquired data to disk when checked. - If this is selected, a - :ref:`saving popup window ` will - appear when :guilabel:`Acquire` is pressed, unless the user is in "Continuous Scan" +* :guilabel:`Save Data` tells the software to save acquired data to disk when checked. + If this is selected, a + :ref:`saving popup window ` will + appear when :guilabel:`Acquire` is pressed, unless the user is in "Continuous Scan" mode, which is designed for live previews only. -* :guilabel:`Timepoints` indicates how many time points this acquisition should +* :guilabel:`Timepoints` indicates how many time points this acquisition should acquire. * :guilabel:`Stack Acq Time` provides an estimate of how long a single z-stack will take to acquire. -* :guilabel:`Stack Pause (s)` indicates how much waiting time the software should +* :guilabel:`Stack Pause (s)` indicates how much waiting time the software should introduce in between acquisition steps (e.g. in between taking z-stacks). * :guilabel:`Time Interval (hh:mm:ss)` provides an estimate of how long each time point takes to acquire. This is (stack acquisition + stack pause) x number of channels to @@ -261,10 +245,10 @@ to save data. .. Note:: - The :guilabel:`Stack Acq Time` and :guilabel:`Experiment Duration (hh:mm:ss)` do - not account for stage movement time. Thus, for stages with serial communication + The :guilabel:`Stack Acq Time` and :guilabel:`Experiment Duration (hh:mm:ss)` do + not account for stage movement time. Thus, for stages with serial communication protocols, or stages with slow movement, these estimates will be an underestimate. - Future releases will account for stage movement time to provide a more accurate + Future releases will account for stage movement time to provide a more accurate estimate. ------------------- @@ -272,14 +256,14 @@ to save data. Multi-Position Acquisition ^^^^^^^^^^^^^^^^^^^^^^^^^^ -This contains settings to set up acquisition over multiple positions in the sample, +This contains settings to set up acquisition over multiple positions in the sample, e.g. tiling. -* :guilabel:`Enable` indicates that the software should move through the positions - listed in the +* :guilabel:`Enable` indicates that the software should move through the positions + listed in the :ref:`Multiposition Settings Notebook ` during the acquisition. -* :guilabel:`Launch Tiling Wizard` launches the +* :guilabel:`Launch Tiling Wizard` launches the :ref:`Tiling Wizard `. ------------------- @@ -287,9 +271,9 @@ e.g. tiling. Quick Launch Buttons ^^^^^^^^^^^^^^^^^^^^ -This provides access to the +This provides access to the :ref:`Waveform Parameters ` and -:ref:`Autofocus Settings ` +:ref:`Autofocus Settings ` popups. ------------------- @@ -299,8 +283,8 @@ Camera Settings .. image:: images/settings_camera.png -The :guilabel:`Camera Settings` Notebook is a tab (optionally, a popup) that controls -the camera. It is split into three sections: :guilabel:`Camera Modes`, +The :guilabel:`Camera Settings` Notebook is a tab (optionally, a popup) that controls +the camera. It is split into three sections: :guilabel:`Camera Modes`, :guilabel:`Framerate Info` and :guilabel:`Region of Interest Settings`. ------------------- @@ -308,10 +292,10 @@ the camera. It is split into three sections: :guilabel:`Camera Modes`, Camera Modes ^^^^^^^^^^^^ -The :guilabel:`Camera Modes` section is designed for switching between normal mode of +The :guilabel:`Camera Modes` section is designed for switching between normal mode of operation, where the camera exposes all pixels semi-simultaneously, and light-sheet -mode (a.k.a rolling shutter mode), where the camera exposes only a few pixels at a -time, and progressively images from the top to the bottom of the camera chip or vice +mode (a.k.a rolling shutter mode), where the camera exposes only a few pixels at a +time, and progressively images from the top to the bottom of the camera chip or vice versa. * :guilabel:`Sensor Mode` is used to switch between "Normal" and "Light-Sheet" modes. @@ -332,7 +316,7 @@ user to average these values over multiple images. camera. This includes exposure time. * :guilabel:`Framerate (Hz)` displays how long it takes to acquire an image. This is based on an internal "wait ticket" approach, where the software times how long it - waits for a frame to come in after receiving the previous frame. This frequency + waits for a frame to come in after receiving the previous frame. This frequency includes not only camera readout time, but, e.g. how long the software had to wait for the stage to finish moving before taking the next image in a z-stack. It is the most accurate time estimate in the software. @@ -345,10 +329,10 @@ Region of Interest Settings ^^^^^^^^^^^^^^^^^^^^^^^^^^^ These allows the user to set the size of the region of interest in pixels. The -camera can also be told to bin pixels. The corresponding field of view is +camera can also be told to bin pixels. The corresponding field of view is displayed by calculating the number of pixels multiplied by the camera's effective -pixel size, which is set in the -:ref:`Mechanical Zoom ` +pixel size, which is set in the +:ref:`Mechanical Zoom ` section of the configuration file. :guilabel:`Default FOVs` includes buttons to quickly change the FOV to preset values. @@ -364,9 +348,9 @@ Stage Control .. image:: images/settings_stage.png -The :guilabel:`Stage Control` Settings Notebook is a tab (optionally, a popup) that +The :guilabel:`Stage Control` Settings Notebook is a tab (optionally, a popup) that controls the stage positions. It is split into six parts: :guilabel:`Stage Positions`, -:guilabel:`X Y Movement`, :guilabel:`Z Movement`, :guilabel:`Focus Movement`, +:guilabel:`X Y Movement`, :guilabel:`Z Movement`, :guilabel:`Focus Movement`, :guilabel:`Theta Movement`, and includes an emergency :guilabel:`STOP` button, as well as a button to :guilabel:`Enable Joystick`/:guilabel:`Disable Joystick`. @@ -388,10 +372,10 @@ as a button to :guilabel:`Enable Joystick`/:guilabel:`Disable Joystick`. * Any stage axes that are loaded as a `synthetic_stage` will have disabled buttons. -By default, the stage is expected to have ``X``, ``Y``, ``Z``, ``Focus`` and ``Theta`` -(rotation) axes. If a stage does not have one of these axes, the user can choose to -not use that control. See the -:ref:`stage subsection ` +By default, the stage is expected to have ``X``, ``Y``, ``Z``, ``Focus`` and ``Theta`` +(rotation) axes. If a stage does not have one of these axes, the user can choose to +not use that control. See the +:ref:`stage subsection ` for more information. ------------------- @@ -400,13 +384,13 @@ Stage Positions ^^^^^^^^^^^^^^^ The entry boxes report the current position of each stage axis. If a user changes a -value in an entry box, the stage axis will move to that value (provided it is within +value in an entry box, the stage axis will move to that value (provided it is within the stage bounds if stage limits are enabled, see :any:`here `). .. Warning:: If the value in the entry box is changed, the stage will move to that value. Such - actions may result in the stage crashing into the sample or the objective lens. As + actions may result in the stage crashing into the sample or the objective lens. As such, we highly recommend that you keep the stage limits enabled. ------------------- @@ -414,9 +398,9 @@ the stage bounds if stage limits are enabled, see :any:`here `). -.. note:: - +.. note:: + It is not necessary to press this button to use a joystick. The joystick can be - used along with the software controls. However, if a user is running the + used along with the software controls. However, if a user is running the acquisition in "Continuous Scan" mode and uses the joystick without pressing - :guilabel:`Enable Joystick`, the stage positions may not update unless - :guilabel:`STOP` is also pressed. In "Continuous Scan" mode, if a user tries to move - with the joystick and then the software stage controls without first pressing - :guilabel:`STOP`, it is likely the stage will update to the software's position - of choice and undo the joystick movement. + :guilabel:`Enable Joystick`, the stage positions may not update unless + :guilabel:`STOP` is also pressed. In "Continuous Scan" mode, if a user tries to move + with the joystick and then the software stage controls without first pressing + :guilabel:`STOP`, it is likely the stage will update to the software's position + of choice and undo the joystick movement. -.. tip:: +.. tip:: - For a large monitor, it is often helpful to convert the - :guilabel:`Stage Control Settings Notebook` to a popup. + For a large monitor, it is often helpful to convert the + :guilabel:`Stage Control Settings Notebook` to a popup. Right click on the tab and press :guilabel:`Popout Tab`. .. image:: images/popout_right_click.png @@ -489,8 +473,8 @@ Multiposition .. image:: images/settings_multiposition.png -The :guilabel:`Multiposition` Settings Notebook is a tab (optionally, a popup) that -helps the user set up and visualize a multi-position acquisition for tiling a large +The :guilabel:`Multiposition` Settings Notebook is a tab (optionally, a popup) that +helps the user set up and visualize a multi-position acquisition for tiling a large sample. It it split into two parts: buttons and the multi-position table. ------------------- @@ -498,7 +482,7 @@ sample. It it split into two parts: buttons and the multi-position table. Buttons ^^^^^^^ -* :guilabel:`Launch Tiling Wizard` launches the +* :guilabel:`Launch Tiling Wizard` launches the :ref:`Tiling Wizard ` * :guilabel:`Eliminate Empty Positions` is not implemented and does nothing. * :guilabel:`Save Positions To Disk` saves the multi-position table to a file. @@ -510,7 +494,7 @@ Multi-Position Table ^^^^^^^^^^^^^^^^^^^^ The multi-position table lists stage positions that are included in a multi-position -acquisition. +acquisition. * :kbd:`Double-clicking` on the integer to the left of a row moves the stage to that position. @@ -518,17 +502,17 @@ acquisition. * :kbd:`Double-clicking` on a table cell allows the user to edit the stage position in that cell. -* :kbd:`Right-clicking` on the integer to the left of a row yields a popup with four +* :kbd:`Right-clicking` on the integer to the left of a row yields a popup with four options: .. image:: images/multiposition_right_click.png * :guilabel:`Insert New Position` adds an empy row to the table. - * :guilabel:`Add Current Position` adds a row containing the current stage position + * :guilabel:`Add Current Position` adds a row containing the current stage position to the table. * :guilabel:`Add New Position(s)` yields a popup that asks the user how many new rows to add and then inserts that number of empty rows upon confirmation. - * :guilabel:`Delete Position(s)` deletes the selected positions. Selection is + * :guilabel:`Delete Position(s)` deletes the selected positions. Selection is indicated by a blue highlight of the integer to the left of a row. ------------------- @@ -546,13 +530,13 @@ Camera View .. image:: images/display_camera.png -The :guilabel:`Camera View` Notebook is is a tab (optionally, a popup) that is split -into two parts. The left part displays the latest image acquired by the camera. The -right part modifies this display and is split into :guilabel:`LUT`, +The :guilabel:`Camera View` Notebook is is a tab (optionally, a popup) that is split +into two parts. The left part displays the latest image acquired by the camera. The +right part modifies this display and is split into :guilabel:`LUT`, :guilabel:`Image Metrics`, and :guilabel:`Image Display`. :kbd:`Left-clicking` on the image toggles crosshairs that indicate the center of the field of -view. +view. ------------------- @@ -560,12 +544,12 @@ LUT ^^^ The :guilabel:`LUT` section of the camera view allows the user to change the lookup -table the image uses to display. The options are :guilabel:`Gray`, +table the image uses to display. The options are :guilabel:`Gray`, :guilabel:`Gradient` and :guilabel:`Rainbow`. -:guilabel:`Flip XY` transposes the image in the display. This can produce intuitive -results in the display when clicking on the ``X`` or ``Y`` stage movements buttons -(i.e. with :guilabel:`Flip XY` enabled, the sample moves along the direction expected +:guilabel:`Flip XY` transposes the image in the display. This can produce intuitive +results in the display when clicking on the ``X`` or ``Y`` stage movements buttons +(i.e. with :guilabel:`Flip XY` enabled, the sample moves along the direction expected when a stage movement button is clicked). :guilabel:`Autoscale` toggles automatic image histogram scaling on and off. When @@ -586,8 +570,8 @@ releases of the software. :guilabel:`Image Max Counts` displays the maximum pixel count in the image. :guilabel:`Channel` indicates which color channel is displayed. It indexes into -the selected channels in the -:ref:`Channel Settings ` +the selected channels in the +:ref:`Channel Settings ` (i.e. ``0`` is the first selected channel). ------------------- @@ -630,8 +614,8 @@ Settings :guilabel:`Sample Rate` changes the frequency of the samples sent to the DAQ. It is not recommended that a user change this. -:guilabel:`Waveform Template` changes the -:ref:`waveform template ` +:guilabel:`Waveform Template` changes the +:ref:`waveform template ` used to generate the waveforms. ------------------- @@ -648,9 +632,9 @@ File Saving Dialog .. image:: images/save_dialog.png -The file saving dialog pops up if an -:ref:`acquisition mode ` other than -"Continuous Scan" is selected +The file saving dialog pops up if an +:ref:`acquisition mode ` other than +"Continuous Scan" is selected and :ref:`Save Data ` is checked. * :guilabel:`Root Directory` indicates the local directory to which the software will @@ -661,7 +645,7 @@ and :ref:`Save Data ` is checked. * :guilabel:`Label` indicates the dyes used in the acquisition. * :guilabel:`Solvent` indicates the immersion solvent of the tissue/cell. * :guilabel:`File Type` indicates what type of file to save to. -* :guilabel:`Notes` is for any additional information the user wants to store with the +* :guilabel:`Notes` is for any additional information the user wants to store with the file. Waveform Parameters @@ -669,7 +653,7 @@ Waveform Parameters .. image:: images/waveform_parameters.png -This is used to update the waveforms shown in +This is used to update the waveforms shown in :ref:`Waveform Settings `. * For each laser, the :guilabel:`Amplitude` and :guilabel:`Offset` correspond to the @@ -679,14 +663,14 @@ This is used to update the waveforms shown in * The :guilabel:`Galvo 0 Frequency (Hz)` sets the frequency of the waveform sent to the galvo. :guilabel:`Estimate Frequency` estimates the frequency needed for a - sawtooth wave to sweep over the camera region of interest without aliasing with - the light-sheet for a given rolling shutter size and speed (e.g., in a digitally + sawtooth wave to sweep over the camera region of interest without aliasing with + the light-sheet for a given rolling shutter size and speed (e.g., in a digitally scanned light-sheet format). - * Additional galvos from the :ref:`configuration file ` + * Additional galvos from the :ref:`configuration file ` file are incrementally added here (e.g., :guilabel:`Galvo 1 Frequency (Hz)`, ...). * :guilabel:`Percent Delay` introduces a delay before the remote focus waveform starts. * :guilabel:`Percent Smoothing` smooths the remote focus waveform. -* :guilabel:`Settle Duration (ms)` introduces a delay after the remote focus sawtooth +* :guilabel:`Settle Duration (ms)` introduces a delay after the remote focus sawtooth ends. ------------------- @@ -696,8 +680,8 @@ Configure Microscopes .. image:: images/configure_microscopes.png -The :guilabel:`Configure Microscopes` window allows a user with multiple microscopes -defined in their :ref:`configuration file ` +The :guilabel:`Configure Microscopes` window allows a user with multiple microscopes +defined in their :ref:`configuration file ` to select which microscope is primary and launch both microscopes simultaneously. The primary microscope will have control over any hardware shared between both microscopes. This window also provides a GUI interface to look at what hardware is in use. @@ -721,10 +705,10 @@ that it cannot be imaged in a single field of view. (End - Start)/FOV dist. * :guilabel:`% Overlap` indicates the percent of the the that should overlap along each axis. It is a percent of the FOV Dist. -* :guilabel:`Populate Multi-Position Table` puts all of the tiles in the +* :guilabel:`Populate Multi-Position Table` puts all of the tiles in the :ref:`multi-position table `. -For an example of how to use the tiling wizard, see +For an example of how to use the tiling wizard, see :ref:`Tiling a sample larger than the field of view `. ------------------- @@ -741,10 +725,10 @@ The :guilabel:`Autofocus Settings` panel controls parameters of the autofocus stage or to a remote focus device. * :guilabel:`Device Reference` indicates the stage axis, or the DAQ analog output for the remote focus device, to use. -* The :guilabel:`Coarse` and :guilabel:`Fine` rows allow users to select a range and +* The :guilabel:`Coarse` and :guilabel:`Fine` rows allow users to select a range and step size, both in microns (or volts, if using the remote focus device), over which - the autofocus routine should search for an optimal focus value. If coarse and fine - are selected, the coarse search will be performed first and the fine search will + the autofocus routine should search for an optimal focus value. If coarse and fine + are selected, the coarse search will be performed first and the fine search will be performed about the coarse position with the highest value. * :guilabel:`Inverse Power Tent Fit` will attempt to find a more accurate position for the optimal focus based on fitting a power tent to the search values. It will only diff --git a/docs/source/user_guide/hardware/camera.rst b/docs/source/user_guide/hardware/camera.rst index a72ab638c..564c0e04f 100644 --- a/docs/source/user_guide/hardware/camera.rst +++ b/docs/source/user_guide/hardware/camera.rst @@ -86,8 +86,7 @@ ORCA-Lightning ~~~~~~~~~~~~~~~~~~~~~~~~~~~ - :ref:`Install Directions `. -- `ORCA-Lightning Manual `_. +- `ORCA-Lightning Manual `_. .. collapse:: Configuration File @@ -182,7 +181,7 @@ Iris 15 ------------------ - +.. _synthetic_camera: Synthetic Camera ---------------- diff --git a/docs/source/user_guide/hardware/daq.rst b/docs/source/user_guide/hardware/daq.rst index 32fd6ad90..619a480ff 100644 --- a/docs/source/user_guide/hardware/daq.rst +++ b/docs/source/user_guide/hardware/daq.rst @@ -22,7 +22,7 @@ as there are a sufficient number of analog and digital ports, and the sampling r is high enough per port. Prior to installing the card within -the computer, first install the `NI-DAQmx drivers `_. +the computer, first install the `NI-DAQmx drivers `_. Once installed, connect the PCIe or PXIe-based device to the computer. A functioning system should be recognized by the operating system, and visible in the Windows Device Manager as a **NI Data Acquisition Device**. diff --git a/docs/source/user_guide/hardware/dichroic.rst b/docs/source/user_guide/hardware/dichroic.rst index f1f850561..38e32509f 100644 --- a/docs/source/user_guide/hardware/dichroic.rst +++ b/docs/source/user_guide/hardware/dichroic.rst @@ -22,7 +22,7 @@ ASI C60-CUBE-SLDR ~~~~~~~~~~~~~ -The `C60-CUBE-SLDR `_ +The `C60-CUBE-SLDR `_ is a motorized dichroic slider that can be controlled by the ASI Tiger Controller. The example below shows the configuration file with one dichroic turret, and one filter wheel. The same communication instance is used for both the stage and filter diff --git a/docs/source/user_guide/hardware/filter_wheel.rst b/docs/source/user_guide/hardware/filter_wheel.rst index 47c1fb005..5c78ae3b5 100644 --- a/docs/source/user_guide/hardware/filter_wheel.rst +++ b/docs/source/user_guide/hardware/filter_wheel.rst @@ -128,7 +128,7 @@ for the stage. A single communication instance is used for both the stage and fi -------------- LUDL Electronic Products ------------------- +------------------------ MAC6000 ~~~~~~~ @@ -164,7 +164,7 @@ MAC6000 ------------- Analog/Digital Devices ------------------- +---------------------- Some manufacturers provide filter wheels that are controlled by analog or digital signals. Here, each digital signal corresponds to a filter position. The user must specify the diff --git a/docs/source/user_guide/hardware/hardware_home.rst b/docs/source/user_guide/hardware/hardware_home.rst index a14a3d2b7..2f7371d05 100644 --- a/docs/source/user_guide/hardware/hardware_home.rst +++ b/docs/source/user_guide/hardware/hardware_home.rst @@ -1,9 +1,10 @@ -.. _hardware_overview: - ==================== Supported Hardware ==================== +.. _hardware_overview: + + **navigate** provides access to a growing list of hardware devices. Information on how to configure each of these devices, including supported firmware, is provided here. diff --git a/docs/source/user_guide/hardware/pvcam.rst b/docs/source/user_guide/hardware/pvcam.rst index 9f91a9da3..3af3521f1 100644 --- a/docs/source/user_guide/hardware/pvcam.rst +++ b/docs/source/user_guide/hardware/pvcam.rst @@ -9,7 +9,7 @@ Photometrics Drivers likely have to register and agree to Photometrics terms. * Perform the Full Installation of the PVCAM software. * Should a "Base Device" still show up as unknown in the Windows Device Manager, you - may need to install the `Broadcom PCI/PCIe Software Development Kit `_ + may need to install the `Broadcom PCI/PCIe Software Development Kit `_ * Upon successful installation, one should be able to acquire images with the manufacturer-provided PVCamTest software. diff --git a/docs/source/user_guide/hardware/stage.rst b/docs/source/user_guide/hardware/stage.rst index 05b3920e8..83adb1889 100644 --- a/docs/source/user_guide/hardware/stage.rst +++ b/docs/source/user_guide/hardware/stage.rst @@ -202,7 +202,7 @@ MS2000 ------------------ Sutter Instruments -------------- +------------------ MP-285 ~~~~~~ diff --git a/docs/source/user_guide/hardware/zoom.rst b/docs/source/user_guide/hardware/zoom.rst index 7f20f1386..32f1fbf15 100644 --- a/docs/source/user_guide/hardware/zoom.rst +++ b/docs/source/user_guide/hardware/zoom.rst @@ -1,3 +1,4 @@ +.. _mechanical_zoom: =============== Mechanical Zoom =============== diff --git a/docs/source/user_guide/software_configuration.rst b/docs/source/user_guide/software_configuration.rst index 9386650fd..db58745d2 100644 --- a/docs/source/user_guide/software_configuration.rst +++ b/docs/source/user_guide/software_configuration.rst @@ -8,6 +8,7 @@ This section outlines the ``configuration.yaml``, ``experiment.yml``, ----------------- +.. _configuration_file: Initial Configuration ===================== In order for the **navigate** software to function, you will need to configure the @@ -94,10 +95,11 @@ along in this file when reading the next sections. See the :ref:`Setting up an Axially Swept Light-Sheet Microscope ` case study for a general walkthrough of how to build your own configuration file and see -:doc:`Implementations ` for examples of configuration files. +:doc:`Implementations ` for examples of configuration files. ----------------- +.. _multiple_microscopes: Microscope Configurations ------------------------- @@ -163,7 +165,7 @@ Each microscope is expected to have a ``daq``, ``camera``, ``remote_focus_device can be specified as synthetic. Most of the information to set up these devices can be found in the -:doc:`Supported Hardware ` section of the documentation. +:doc:`Supported Hardware ` section of the documentation. Additional explanations of a few specific sections of the microscope configuration are below. Notably, the ``zoom`` section of the ``configuration.yaml`` specifies effective pixel size. @@ -280,7 +282,7 @@ and vice versa, you would then have to import the stages as following: ----------------- Joystick Axes Definition -^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^ If you are using a joystick, it is possible to disable GUI control of the stage axes that the joystick can interact with. The axes that the joystick can interact with @@ -376,6 +378,8 @@ For example, ----------------- +.. _experiment_file: + Experiment File =============== @@ -412,4 +416,4 @@ The REST API configuration file specifies where the REST API should look to get and post data. This is only needed if you are using a plugin that requires the REST API, such as our communication with `ilastik `_. More information on how to setup the REST API for communication with ilastik can be found -:doc:`here `. +:doc:`here `. diff --git a/src/navigate/model/analysis/camera.py b/src/navigate/model/analysis/camera.py index b4614ea8a..43d696bed 100644 --- a/src/navigate/model/analysis/camera.py +++ b/src/navigate/model/analysis/camera.py @@ -98,10 +98,6 @@ def compute_flatfield_map( def compute_noise_sigma(Fn=1.0, qe=0.82, S=0.0, Ib=0.0, Nr=1.4, M=1.0): """Compute the noise model for an sCMOS camera. - Using https://www.hamamatsu.com/content/dam/hamamatsu-photonics/sites/documents/ - 99_SALES_LIBRARY/sys/SCAS0134E_C13440-20CU_tec.pdf - the sCMOS mean noise sigma is given by - Parameters ---------- Fn : float diff --git a/src/navigate/view/custom_widgets/scrollbars.py b/src/navigate/view/custom_widgets/scrollbars.py index 6fb6418c6..43175f6e4 100644 --- a/src/navigate/view/custom_widgets/scrollbars.py +++ b/src/navigate/view/custom_widgets/scrollbars.py @@ -41,11 +41,7 @@ class ScrolledFrame(ttk.Frame): - """A scrollable frame implemented in tkinter. - - Based upon: https://web.archive.org/web/20170514022131id_/http://tkinter.unpythonic - .net/wiki/VerticalScrolledFrame - """ + """A scrollable frame implemented in tkinter.""" def __init__(self, parent, *args, **kw): """Initialize the ScrolledFrame. diff --git a/src/navigate/view/main_window_content/stage_tab.py b/src/navigate/view/main_window_content/stage_tab.py index c3af02e23..6835be6c7 100644 --- a/src/navigate/view/main_window_content/stage_tab.py +++ b/src/navigate/view/main_window_content/stage_tab.py @@ -264,8 +264,6 @@ def toggle_button_states(self, joystick_is_on=False, joystick_axes=[]): joystick_axes : ListProxy A ListProxy containing the axes controlled by the joystick, if any - - """ self.xy_frame.toggle_button_states(joystick_is_on, joystick_axes) self.z_frame.toggle_button_states(joystick_is_on, joystick_axes) @@ -544,6 +542,7 @@ def get_widgets(self): dict A dictionary of the label input widgets for the position entries """ + return self.inputs def get_variables(self): @@ -554,6 +553,7 @@ def get_variables(self): dict A dictionary of the variables for the position entries """ + variables = {} for name in self.inputs: variables[name] = self.inputs[name].get_variable() @@ -570,6 +570,7 @@ def toggle_entry_states(self, joystick_is_on=False, joystick_axes=[]): joystick_axes : ListProxy A ListProxy containing the axes controlled by the joystick, if any """ + frame_back_counter = 0 if joystick_is_on: entry_state = "disabled"