/elf

Utils and convenience functions for large-scale bio-image analysis.

Primary LanguagePythonMIT LicenseMIT

Build Status Anaconda-Server Badge

elf

This repository implements common functionality for (large-scale) bio-medical image analysis:

  • evaluation: evaluation of partitions via rand index and variation of information
  • io: common interface for different libraries / formats
  • parallel: parallel / larger than memory implementation of common numpy functions
  • segmentation: graph-partition based segmentation
  • skeleton: skeletonization
  • transformation: helper functions for affine transformations
  • wrapper: volume wrappers for on-the-fly transformations
  • tracking: graph based tracking algorithms

and more.

See examples for some usage examples. For processing large data on a cluster, check out cluster_tools, which uses a lot of elf functionality internally.

It is used by several down-stream dependencies:

Installation

Install the package from source and in development mode via

pip install -e .

or via conda

conda install -c conda-forge python-elf

Functionality overview

Segmentation: elf implements graph-based segmentation using the implementations of multict, lifted multicut and other graph partitioning approaches from nifty. Check out the examples to see how to use this functionality for segmenting your data.

Tracking: elf implements graph-based tracking using the implementations from motile. Checkout the examples to see how to use this functionality to track your data.

In order to use this functionality you will need to install motile. You can do this via

conda install -c conda-forge -c funkelab -c gurobi ilpy

and then

pip install motile