Git Product home page Git Product logo

mvregfus's Introduction

MVRegFus

Multi-View Registration and Fusion

Python module to process multi-view light sheet data. This includes

  1. Image registration

    • view registration
    • time registration (e.g. for drift correction)
    • channel registration (affine chromatic aberration correction)
  2. View fusion

    • weighted additive fusion
    • multi-view deconvolution (Richardson-Lucy)
    • for both fusion types, weights can be:
      • blending weights
      • based on an image quality metric
  • Additional features:

    • processing pipeline is leveraged by dask
      • entire workflow can be executed on laptops, independently of output dataset size (two input views need to fit into memory at once)
      • execution on computational clusters using dask.distributed
    • GPU accelerated multi-view deconvolution (using CuPy)

Notes:

  • currently, (only) czi files from Z1 microscopes are supported out of the box

In toto multi-view reconstruction (ex)sample 1

In toto multi-view reconstruction (ex)sample 2

MVRegFus uses the elastix registration toolkit for performing most image registration.

Installation instructions

  • clone this repository from github: git clone https://github.com/m-albert/MVRegFus.git

  • use anaconda to install an environment from the provided .yml file: conda env create --file MVRegFus/mv_environment.yml

  • install MVRegFus pip install -e ./MVRegFus

  • Download elastix 4.9 (binary version 4.9 suitable for your platform) and place files into a folder 'elastix' next to the project folder, as such:

./MVRegFus
./MVRegFus/bin
...
./elastix
./elastix/bin
./elastix/lib

You're set!

Usage

  • open terminal / anaconda prompt

  • activate the previously installed anaconda environment: conda activate mvregfus (Win,MacOS) or source activate mvregfus (Linux)

  • copy mvregfus/bin/mvregfus_bin.py to <your_mvregfus_bin.py> (can be placed next to data) and use as a template to indicate the location of your files, resolution, etc. (see comments in file). Soon configuration file handling will be added

  • run fusion from the terminal with python <your_mvregfus_bin.py>

Dependencies

Python libraries:

  • numpy, scipy
  • h5py
  • dask
  • distributed
  • dipy
  • SimpleITK
  • scikit-image
  • bcolz
  • tifffile (included)
  • czifile==2019.1.26 (included)
  • cupy (optional)

External:

  • elastix
  • SimpleElastix (optional)

mvregfus's People

Contributors

m-albert avatar max-brambach 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.