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
2 changes: 1 addition & 1 deletion docs/source/add_new_device.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
6 changes: 3 additions & 3 deletions docs/source/advanced.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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 <user_guide/software_configuration:configuration file>`,
some of which may share devices.
microscope :ref:`configurations <multiple_microscopes>`, some of which may share devices.


.. code-block:: python

Expand Down Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -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 -------------------------------------------------
Expand Down
1 change: 1 addition & 0 deletions docs/source/contributing/contributing_guidelines.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
.. _contributing_guidelines:
=======================
Contributing Guidelines
=======================
Expand Down
5 changes: 2 additions & 3 deletions docs/source/contributing/feature_container.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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.

-----------------
Expand All @@ -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
Expand Down
22 changes: 12 additions & 10 deletions docs/source/implementations/implementations.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
.. _implemented_microscopes:

===========================================
Implemented Microscopes
===========================================
Expand Down Expand Up @@ -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
<https://www.cell.com/biophysj/pdf/S0006-3495(15)00498-1.pdf>`_
<https://pubmed.ncbi.nlm.nih.gov/26083920/>`_
* `Diagonally scanned light-sheet microscopy for fast volumetric imaging of adherent cells
<https://www.cell.com/biophysj/pdf/S0006-3495(16)00139-9.pdf>`_
* `u-track3D: Measuring, navigating, and validating dense particle trajectories in three dimensions <https://www.cell.com/cell-reports-methods/pdf/S2667-2375(23)00326-0.pdf>`_
<https://pubmed.ncbi.nlm.nih.gov/27028654/>`_
* `u-track3D: Measuring, navigating, and validating dense particle trajectories in three dimensions <https://pubmed.ncbi.nlm.nih.gov/38042149/>`_
* `Robust and automated detection of subcellular morphological motifs in 3D microscopy images <https://www.nature.com/articles/s41592-019-0539-z>`_

.. collapse:: Technical Information
Expand Down Expand Up @@ -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
<https://opg.optica.org/abstract.cfm?uri=boe-13-11-5616>`_
<https://pubmed.ncbi.nlm.nih.gov/36733723/>`_
* `A versatile oblique plane microscope for large-scale and high-resolution imaging of subcellular dynamics
<https://elifesciences.org/articles/57681>`_

Expand Down Expand Up @@ -215,8 +217,8 @@ The University of Texas Southwestern Medical Center, Dallas, TX

**Relevant Publications**:

* `Adaptive optics in an oblique plane microscope <https://www.biorxiv.org/content/10.1101/2024.03.21.586191v1>`_
* `Increasing the field-of-view in oblique plane microscopy via optical tiling <https://opg.optica.org/abstract.cfm?uri=boe-13-11-5616>`_
* `Adaptive optics in an oblique plane microscope <https://pubmed.ncbi.nlm.nih.gov/38562744/>`_
* `Increasing the field-of-view in oblique plane microscopy via optical tiling <https://pubmed.ncbi.nlm.nih.gov/36733723/>`_
* `A versatile oblique plane microscope for large-scale and high-resolution imaging of subcellular dynamics <https://elifesciences.org/articles/57681>`_

.. collapse:: Technical Information
Expand Down Expand Up @@ -428,7 +430,7 @@ The University of Texas Southwestern Medical Center, Dallas, TX

**Relevant Publications**:

* `Mechanically sheared Axially Swept Light-Sheet Microscopy <https://www.biorxiv.org/content/10.1101/2024.04.10.588892>`_
* `Mechanically sheared Axially Swept Light-Sheet Microscopy <https://pubmed.ncbi.nlm.nih.gov/38645073/>`_
* `The mesoSPIM initiative: open-source light-sheet microscopes for imaging cleared tissue <https://www.nature.com/articles/s41592-019-0554-0>`_.
* `Isotropic imaging across spatial scales with axially swept light-sheet microscopy <https://www.nature.com/articles/s41596-022-00706-6>`_
* `Light-sheet microscopy of cleared tissues with isotropic, subcellular resolution <https://www.nature.com/articles/s41592-019-0615-4>`_.
Expand Down Expand Up @@ -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 <https://analyticalsciencejournals.onlinelibrary.wiley.com/doi/10.1002/jemt.20334>`_.
* `Spinning-spot shadowless TIRF microscopy <https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0136055>`_
* `Effective elimination of laser interference fringing in fluorescence microscopy by Spinning azimuthal incidence angle <https://pubmed.ncbi.nlm.nih.gov/16770769/>`_.
* `Spinning-spot shadowless TIRF microscopy <https://pubmed.ncbi.nlm.nih.gov/26308212/>`_

.. collapse:: Technical Information

Expand Down Expand Up @@ -824,7 +826,7 @@ Arizona State University, Tempe, AZ
**Relevant Publications**:

* `Increasing the field-of-view in oblique plane microscopy via optical tiling
<https://opg.optica.org/abstract.cfm?uri=boe-13-11-5616>`_
<https://pubmed.ncbi.nlm.nih.gov/36733723/>`_
* `A versatile oblique plane microscope for large-scale and high-resolution imaging of subcellular dynamics
<https://elifesciences.org/articles/57681>`_

Expand Down
8 changes: 5 additions & 3 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -79,10 +79,12 @@ technology developers.
:maxdepth: 1

navigate Plugin Template <https://github.com/TheDeanLab/navigate-plugin-template>
navigate Confocal Projection Plugin <https://github.com/TheDeanLab/navigate-confocal-projection>
navigate Confocal Projection <https://github.com/TheDeanLab/navigate-confocal-projection>
navigate at Scale <https://github.com/TheDeanLab/navigate-at-scale>
navigate MMCore Plugin <https://github.com/TheDeanLab/navigate-mmcore-plugin>
navigate Constant Velocity Acquisition <https://github.com/TheDeanLab/navigate-constant-velocity-acquisition>
navigate MMCore <https://github.com/TheDeanLab/navigate-mmcore-plugin>
navigate ilastik Server <https://github.com/TheDeanLab/navigate-ilastik-server>
navigate Photoactivation <https://github.com/TheDeanLab/navigate-photoactivation>

.. toctree::
:caption: Reference
Expand All @@ -96,7 +98,7 @@ technology developers.
============
**navigate** includes key contributions from numerous individuals, both past and
present, in `The Dean Lab <https://www.dean-lab.org>`_. Please see the accompanying manuscript
for a full list of contributors. :ref:`Outside contributors <contributing/contributing_guidelines>` are welcome.
for a full list of contributors. :ref:`Outside contributors <contributing_guidelines>` are welcome.

**Funding**
============
Expand Down
29 changes: 15 additions & 14 deletions docs/source/plugin/plugin_home.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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::
Expand All @@ -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

Expand All @@ -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 <user_guide/gui_walkthrough:settings notebooks>`.


Expand All @@ -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``.
Expand Down Expand Up @@ -186,16 +186,16 @@ 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 <https://github.com/TheDeanLab/navigate-plugin-template/blob/main/src/plugins-template/model/devices/plugin_device/device_startup_functions.py>`_.

The template for ``device_startup_functions.py`` can be found in the
`plugin template <https://github.com/TheDeanLab/navigate-plugin-template/blob/main/plugins_template/model/devices/plugin_device/device_startup_functions.py>`_.
-------------------------------------

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 <https://thedeanlab.github.io/**navigate**/feature_container/feature_container_home.html>`_ for details about how to build a new feature object and feature list.
Please visit `here <https://thedeanlab.github.io/navigate/contributing/feature_container.html>`_ for details about how to build a new feature object and feature list.

-------------------------------------

Expand All @@ -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
<https://github.com/TheDeanLab/navigate-plugin-template/blob/main/plugins-template/plugin_acquisition_mode.py>`_
<https://github.com/TheDeanLab/navigate-plugin-template/blob/main/plugins_template/plugin_acquisition_mode.py>`_

2. Update the ``feature_list``.

Expand All @@ -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
]
Expand All @@ -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

Expand All @@ -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 <https://github.com/TheDeanLab/navigate/tree/develop/src/navigate/plugins>`_ and `Navigate Plugins <https://github.com/TheDeanLab/navigate-plugins>`_.
For more plugin examples, please visit the plugins in the table of contents menu on
the left.
35 changes: 17 additions & 18 deletions docs/source/quick_start.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Installation
------------

1. *Install Miniconda.*
Download and install Miniconda from the `official website <https://docs.conda.io/en/latest/miniconda.html#latest-miniconda-installer-links>`_.
Download and install Miniconda from the `official website <https://docs.conda.io/en/latest/miniconda.html>`_.

2. *Create and Activate a Conda Environment.*
Launch a Miniconda Prompt (or a Terminal on MacOS) and enter the following.
Expand Down Expand Up @@ -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 <https://imagej.net/plugins/bdv/>`_ 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 <https://imagej.net/plugins/bdv/>`_ and
`BigStitcher <https://imagej.net/plugins/bigstitcher/index>`_.
* 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 <https://imagej.net/software/fiji/>`_.

.. image:: user_guide/images/save_dialog.png
:align: center
:alt: File Saving Dialog

9 changes: 4 additions & 5 deletions docs/source/software_installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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 <firmware_overview>` 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
Expand Down Expand Up @@ -108,7 +107,7 @@ Quick install

**Setup your Python Environment**

Head over to the `miniconda website <https://docs.conda.io/en/latest/miniconda.html#latest-miniconda-installer-links>`_
Head over to the `miniconda website <https://docs.conda.io/en/latest/miniconda.html>`_
and install the appropriate version based on your operating system.

.. tip::
Expand Down
2 changes: 1 addition & 1 deletion docs/source/user_guide/case_studies/acquire_exASLM.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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 <https://www.biorxiv.org/content/10.1101/2024.04.10.588892v1>`_.
`here <https://pubmed.ncbi.nlm.nih.gov/38645073/>`_.

.. Constant Velocity Acquisition:

Expand Down
Loading
Loading