Software

In the course of my research I have written a few ImageJ and Fiji plugins to implement the algorithms I work on. They have GPL license, so please, feel free to use them and report me any bug, comment or suggestion by e-mail.

Image Segmentation

Trainable Weka Segmentation

The Trainable Weka Segmentation is a Fiji plugin that combines a collection of machine learning algorithms with a set of selected image features to produce pixel-based segmentations. Weka (Waikato Environment for Knowledge Analysis) can itself be called from the plugin. It contains a collection of visualization tools and algorithms for data analysis and predictive modeling, together with graphical user interfaces for easy access to this functionality.

SIOX for Fiji

This is a Fiji plugin based on the SIOX project to segment color images. SIOX stands for Simple Interactive Object Extraction, a method for extracting foreground from still images with very little user interaction. SIOX is fast, noise robust and can therefore also be used for the segmentation of videos. It avoids many of the drawbacks of graph-based segmentation methods but performs about equally well on different benchmarks.

Trainable Weka Segmentation
SIOX segmentation screenshot

Image Registration

bUnwarpJ

bUnwarpJ performs the simultaneous registration (alignment) of two images based on elastic deformations represented by B-splines.

Spline Deformation Generator

SplineDeformationGenerator is a plugin that allows different types of deformations (elastic, fisheye, perspective, barrel and smile effect) over any given image. The images are represented by cubic B-splines, which allows the correct interpolation of non-integer positions and ensures the images' continuity.

Register Virtual Stack Slices

This plugin takes a sequence of image slices stored in a folder, and delivers a list of registered image slices (with enlarged canvas). One of the images in the sequence can be selected by the user as reference and it will remain intact.

The plugin can perform 6 types of image registration techniques:

  • Translation
  • Rigid (translation + rotation)
  • Similarity (translation + rotation + isotropic scaling)
  • Affine
  • Elastic (via bUnwarpJ with cubic B-splines)
  • Moving least squares

All models are aided by automatically extracted SIFT features.

bUnwarpJ scheme
Spline deformation examples
Register Virtual Stack Slices scheme

Image Analysis

Skeletonize3D

Skeletonize3D is a plugin that allows the skeletonization of a 2D or 3D binary (8-bit) image. The general idea is to erode the object's surface iteratively until only the skeleton (centerlines) remains.

Original binary image
3D skeleton image

AnalyzeSkeleton

AnalyzeSkeleton tags all pixel/voxels in a skeleton image (2D or 3D) and then counts all its junctions, triple points and branches and measures their average length.

Analyze Skeleton