Skip to content

tlo-bot/omnisegger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OmniSegger (SuperSegger 2)

Phase image, old SuperSegger segmentation, new OmniSegger segmentation.

OmniSegger is the Supersegger MATLAB-based suite modified to work with improved Omnipose segmentation. Omnipose should be installed before running OmniSegger.

More information about Omnipose can be found at the Omnipose Github and documentation page.


Software Requirements

OmniSegger uses the same MATLAB toolboxes as the original Supersegger:

  • Curve Fitting Toolbox
  • Deep Learning Toolbox (fka Neural Network Toolbox)
  • Global Optimization Toolbox
  • Image Processing Toolbox
  • Optimization Toolbox
  • Parallel Computing Toolbox (not necessary)
  • Statistics and Machine Learning Toolbox

Software Documentation

OmniSegger

The GitHub for the original Supersegger is here. For more detailed documentation, the website for Supersegger can be found here, the wiki, and detailed documentation on functions found here. OmniSegger uses the same MATLAB functions as the original Supersegger.

Quick-start guide for new users \ Original SuperSegger guide to segmentation \ Viewing the results \ The clist

Omnipose

Omnipose options have been preselected to work directly with OmniSegger, but if needed, suggestions for segmentation options are discussed here. Recommended options can also be found on the documentation page.


Installation Instructions

  1. Install MATLAB and git.
  2. Cd to desired folder and clone OmniSegger with git
git clone https://github.com/tlo-bot/supersegger-omnipose.git
  1. Add OmniSegger to MATLAB path, with its subfolders (see "Setting the Path").
  2. Install Omnipose:
    • Find step-by-step instructions here.
    • Further advanced installation instructions for Omnipose can be found here.
    • GPU usage is discussed here. The OmniSegger command defaults to using CPU only.

Setting the Path

In order for Matlab to be able to find OmniSegger, the OmniSegger folder needs to be in your path*. In the Home tab, in the Environment section, click Set Path. The Set Path dialog box appears. Click 'add folder with subfolders' and add the OmniSegger folder.

*note that if the original Supersegger is already installed and on the MATLAB path, you should replace the paths of the original Supersegger folders & subfolders with the paths to the new OmniSegger folders & subfolders.


Running OmniSegger (GUI)

  1. Put images (.tif) into a folder.
  2. Convert image file names to OmniSegger convention (in MATLAB with superSeggerGui, or convertImageNames; or manually with command line).
  3. Run superSeggerGui with the desired parameters. OmniSegger will begin aligning the images.
    • After aligning, OmniSegger will pause for segmentation through Omnipose. The Omnipose command should be displayed on the MATLAB Command Window and also automatically copied to your clipboard.
  4. Open terminal/Anaconda Prompt and activate the Omnipose environment (ie conda activate omnipose)
    • Note that you should see the conda environment change from "(base)" to "(omnipose)"
  5. Paste in the Omnipose command that was generated by MATLAB into the terminal. Wait for Omnipose to segment images and generate masks.
    • Can also change the segmentation command options in this step, if needed. For example, append --use_gpu to utilize the GPU.
  6. Once Omnipose has completed, continue running OmniSegger by pressing the return/Enter key in the MATLAB Command Window.

Running OmniSegger from MATLAB (no GUI) - Recommended!

  1. Configure the analysis parameters in MATLAB: edit processExp. In particular, the 'Calculation Options' section should be edited depending on the desired fluorescence analysis. If not concerned with fluorescence, processExp probably doesn't need to be changed.
  2. Run processExp('dirname') to begin running the segmentation, where 'dirname' is the path to your image files. OmniSegger will begin aligning the images.
    • After aligning, OmniSegger will pause for segmentation through Omnipose. The Omnipose command should be displayed on the MATLAB Command Window and also automatically copied to your clipboard.
  3. Open terminal/Anaconda Prompt and activate the Omnipose environment (ie conda activate omnipose)
    • Note that you should see the conda environment change from "(base)" to "(omnipose)"
  4. Paste in the Omnipose command that was generated by MATLAB into the terminal. Wait for Omnipose to segment images and generate masks.
    • Can also change the segmentation command options in this step, if needed. For example, append --use_gpu to utilize the GPU.
  5. Once Omnipose has completed, continue running OmniSegger by pressing the return/Enter key in the MATLAB Command Window.

Saving clist as Excel file

Only supported when using processExp. Specify savexls=1 input for processExp (ie processExp('dirname',1)). Disabled by default.

If the clist has already been generated, running clist2xls('path/clist.mat') will save the clist as an xls in the xy directory.


ND2 to TIFF

Convert ND2 to individual TIFF images in OmniSegger naming format, and save out the metadata.

Dependencies can be installed to the Omnipose conda environment via: pip install aicsimageio[nd2] bioformats-jar

Usage: python /path/to/OmniSegger/SuperSegger-master/Internal/nd2totiff.py /path/to/your/file.nd2


Running Omnipose directly from MATLAB

Only supported when using processExp. Specify autoomni=1 input for processExp (ie processExp('dirname',[],1)). Disabled by default. See documentation for setup linked below.


Segmentation of alternative imaging modalities

Coming soon!


Troubleshooting & Known Issues