GithubHelp home page GithubHelp logo

vb6hobbyst7 / tomo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from vibbits/tomo

0.0 1.0 0.0 8.23 MB

Experimental tool for serial section tomography on SECOM

License: GNU General Public License v3.0

Python 99.98% Batchfile 0.02%

tomo's Introduction

Tomo

Experimental software for serial section array tomography on the Delmic SECOM platform.

Documentation

Please refer to the user manual for documentation on how to use Tomo.

Prerequisites

The normal environment for Tomo, when doing actual microscopy work, is:

  • Ubuntu 16.04 or 18.04 (for Odemis)
  • Odemis v3.0.7
  • Electron microscope with SECOM platform, controlled by Odemis
  • Fiji

However, for software development we can also run Tomo with reduced functionality on a system without microscope and without Odemis.

Installation

For actual microscopy work, Tomo needs to be installed on the computer which runs Odemis and is connected to the electron microscope equiped with the SECOM platform. Since Odemis is not installed in a virtual enviroment, neither is Tomo in this case.

First get the latest Tomo sources from GitHub:

git clone https://github.com/vibbits/tomo.git
cd tomo

Tomo requirements are then installed like this:

pip install -r requirements.txt

Tomo can however also be run in a development environment, on a stand-alone computer without a microscope and without Odemis installed. Stub functions are then used instead of Odemis API calls, but a significant part of Tomo is still functional. This setup is useful for software development of Tomo. Tomo requirements can then be installed in a Conda environment:

conda env create -f environment-dev.yml
conda activate tomo-dev

In both setups we can now start Tomo:

python src/tomo.py

This will open the graphical user interface of Tomo.

Image Registration Plugins

For registration of the LM and EM images, Tomo runs a headless Fiji with a script that calls a Fiji plugin to perform the actual image registration. Tomo currently supports two well-known image registration plugins: StackReg and Linear Stack Alignment with SIFT.

Fiji

As mentioned in the prerequisites above, simply download Fiji from its official website. The location of the resulting Fiji installation can be specified in Tomo's Preferences dialog, as described in the user manual.

Linear Stack Alignment with SIFT

The official Fiji has the Linear Stack Alignment with SIFT plugin already installed. Depending on the specific images that need to be registered, this plugin may suffice. In that case StackReg (see below) is not needed.

StackReg

For some images, StackReg may produce better registration results than Linear Stack Alignment with SIFT. So Tomo also supports StackReg. StackReg is not part of the default set of plugins of Fiji, so we will have to add it ourselves. Unfortunately, StackReg outputs the aligned images but does not output the corresponding transformation matrices used for aligning the images, and they are needed by Tomo. If you wish to use StackReg in Tomo, please follow the procedure below to apply a small patch to StackReg to also have it output the transformations.

# Get ImageJ dependency
wget https://repo1.maven.org/maven2/net/imagej/ij/1.50a/ij-1.50a.jar

# Get and extract StackReg
wget http://bigwww.epfl.ch/thevenaz/stackreg/stackreg.tar
tar xf stackreg.tar

# Apply patch to output the transformation matrices
patch StackReg/StackReg_.java ~/tomo/support/stackreg.patch

# Build StackReg and re-create the JAR with the modified StackReg plugin
mkdir StackReg/classes
javac -classpath ij-1.50a.jar -d StackReg/classes StackReg/StackReg_.java 
jar cvfM StackReg_.jar StackReg/StackReg_.java -C StackReg/classes .

Place the newly created StackReg_.jar file in the plugins folder of your Fiji installation. Finally, download StackReg's ancillary TurboReg plugin and add it to the plugins folder as well.

tomo's People

Contributors

silverviking avatar

Watchers

 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.