Git Product home page Git Product logo

automorph's Introduction

AutoMorph

Automated Morphometrics: image segmentation, 2D and 3D shape extraction, classification, and analysis.

Python Prerequisites

  • python (2.7)
  • scikit-learn
  • scikit-image (v0.9.0+)
  • scipy
  • numpy
  • pillow
  • tifffile
  • pandas
  • matplotlib
  • opencv
  • shapely

The easiest way to get most of these Python modules is to just install Anaconda.

To get the tifffile, opencv, and shapely modules, you can simply install them into your Anaconda installation like so:

conda install tifffile -c conda-forge
conda install opencv -c conda-forge
conda install shapely

You may run into the following error message when running AutoMorph:

ImportError: libopenblas.so.0: cannot open shared object file: No such file or directory

In this situation, you should install Openblas as well:

conda install openblas

Finally, if you choose to install the packages manually instead of using Anaconda, note that scikit-learn and scikit-image and called sklearn and skimage, respectively, in Python repositories.

Additional Prerequisites

  • FIJI or Zerene Stacker
  • LaTeX
  • ImageMagick

Details about these prerequisites and installation can be found in the provided manuals.

Installation

Detailed installation instructions are found in the manuals. In general, you can create symbolic links for the AutoMorph executables like so:

ln -s ${AUTOMORPH_DIR}/segment/segment /usr/local/bin
ln -s ${AUTOMORPH_DIR}/focus/focus /usr/local/bin
ln -s ${AUTOMORPH_DIR}/run2dmorph/run2dmorph /usr/local/bin
ln -s ${AUTOMORPH_DIR}/run3dmorph/run3dmorph /usr/local/bin

Or, you can edit the 'rc' files (.bashrc / .cshrc, depending on shell) to add AutoMorph to your path. There are lines that look like (.bashrc version):

export PATH=${PATH}:${AUTOMORPH_DIR}/segment
export PATH=${PATH}:${AUTOMORPH_DIR}/focus
export PATH=${PATH}:${AUTOMORPH_DIR}/run2dmorph
export PATH=${PATH}:${AUTOMORPH_DIR}/run3dmorph
export PATH=${PATH}:${AUTOMORPH_DIR}/run3dmorph/lib
export PATH=${PATH}:${AUTOMOPRH_DIR}/utilities

In either case, fix the ${AUTOMORPH_DIR}/ bit so that it uses the path you've copied these files into (e.g. /home/me/automorph)

Usage

Please refer to the manuals for more detailed explanations of usage and parameters.

segment

Copy segment/segment_control_file_v2017-06.txt to a directory of your chosing and configure for your run.

Use segment as:

segment <control_file>

If run in sample mode, segment will create a 'sample' directory containing an overview jpg of the full slide with numbered boxes around identified objects. One jpg will be created for each threshold setting in range specified.

If run in final mode, segment will create a 'final' directory containing an overview jpg of the full slide with numbered boxes around identified objects and a directory of images for each object.

focus

Edit focus/focus.cfg to use your software of choice (zerene for Zerene Stacker or fiji for FIJI).

Use focus as (<directory_path> = directory you want to run focus on):

focus <directory_path>

Focus will move the original segmented files to z.stacks/ and (if run sucessfully) the final images can be found in focused/.

Focus can be run with the following optional flags:

-v, --verbose : increases the verbosity of focus, in particular it will print the zerene.log to the screen as ZereneStacker runs. May cause ZereneStacker to run more slowly.

-i, --interactive : runs focusing software with headless mode turned off, to be used if the software isn't running properly. Use only for debugging, since interactive mode severely affects performance.

--reset : will reset the input directory to a pre-focused state, to be used if focus fails for some reason or you want to rerun

Using focus with ZereneStacker

Edit focus/focus.cfg and change the configuration variable zerene_dir to reflect the location of the Zerene Stacker software (and it's executable script) on your system.

run2dmorph

Copy run2dmorph/run2dmorph_control_file_v2017-06.txt to a directory of your choosing and configure for your run.

Use run2dmorph as:

run2dmorph <control_file>

run3dmorph

Copy run3dmorph/run3dmorph_control_file_v2017-06.txt to a directory of your choosing and configure for your run.

Use run3dmorph as:

run3dmorph <control_file>

Run3dmorph can be run with the following optional flags:

--reset : removes any previous run3dmorph output present in the specified output directory

automorph's People

Contributors

kayleanelson avatar ahsiang avatar chull avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.