Available Algorithms
The algorithms below are ready to be downloaded. They are generally written in Java for the
Image/Fiji or for the Icy platform, or in ANSIC for any platform. Some algorithms
are delivered as scripts for Matlab, Maple, or Mathematica. They have written
either by students or by the members of the Biomedical Imaging Group.
Please contact the author of the algorithms if you have a specific question.
Check the conditions of use below.
Plugins
Plugins for Icy

Active Cells.
This is a plugin for Icy that implements fast active contours for image segmentation.
Their representation in terms of spline curves allows for a natural and intiutive
manipulation of the active contour through control points. The software allows
one to manage several active contours simultaneously, and to keep record of
their location and size through the ROI persistence capability of Icy.

Active Cells 3D.
This is a plugin for Icy that implements fast active surfaces for 3D image segmentation.
Their representation in terms of spline surfaces allows for a natural and intuitive
manipulation of the surface. The software allows one to manage several active contours
simultaneously, and to have synchronized 2D and 3D viewers simultaneously.

Active Cells SDK.
This is a package for Icy that encapsulates tools to design and implement parametric active
contours. The package provides fast 2D and 3D filters for image preprocessing, and a
framework to create and evolve snakes defined by a set of control points.

Feature Detector.
The Icy Feature Detector plugin implements a series of optimized contour and ridge detectors.
The filters are steerable and are based on the optimization of a Cannylike criterion.
They have a better orientation selectivity than the classical gradient or Hessianbased detectors.

Moving Blobs Generator.
This plugin generates 2D or 3D time sequences with elliptical objects moving over time in them.
Use it to test your cell tracking algorithms.

Potts Segmentation.
The plugin implements a segmentation algorithm based on the Potts model.
It works with graylevel, color or vectorvalued images.
The user can edit segments (e.g. merge or refine) and export the segments to the ROI manager.
A quick preview function is available.

Shape Designer.
This plugin implements a userfriendly way to design shapepriors for the Active Cells plugin.

Stereo Viewer. This is a plugin
for Icy that implements a stereo vision system. Renders 3D stacks simulating a dual view
camera. Each 3D view is rendered in fullscreen in a different monitor.

BEEPS.
This ImageJ plugin smoothes an image without altering its edges. The smoothing is applied by the way of a biexponential filter, itself realized by a pair of onetap recursions. It is therefore very fast; moreover, its computational cost is truly independent of the amount of smoothing. Meanwhile, the preservation of edges is obtained by a range filter akin to the range filter found in a bilateral filter.

Circadian Gene Expression.
This ImageJ plugin (CGE) is a semiautomatic tool to detect
and track moving cell, and to measure the fluorescent protein expression level. CGE extracts the trajectory
of the cells by tracking their displacements, makes the delineation of cell nucleus or whole cell, and
finally yields measurements of various features, like reporter protein expression level, cell displacement.

CosinorJ.
CosinorJ is a Java software tool to quantify circadian oscillatory gene expression profiles.
It fits a cycling function to accurate estimate of the period, mesor, accrophase and amplitude of
any rhythm signals of chronobiology.

DeconvolutionLab.
DeconvolutionLab is a software package (ImageJ plugin) to deconvolve 2D or 3D microscopic images based on the knowledge of the PSF.
It implements a variety of deconvolution algorithms:
1) Inverse filter,
2) Regularized inverse filter,
3) Landweber,
4) Threshold Landweber,
5) TikhonovMiller,
6) RichardsonLucy,
7) RichardsonLucy with TV Regularization.
It also includes a convolution tool to generate simulated dataset with additive noise.

Drop Shape Analysis.
New method based on Bspline snakes (active contours) for measuring highaccuracy contact angles of sessile drops.

ESnake.
This ImageJ plugin (ESnake) implements a fast parametric active contour for segmenting nearly elliptic objects. ESnake outlines the targets using exponential Bsplines, and it allows one to keep record of the curve with the ROI Manager from ImageJ.

Extended Depth of Focus.
The extended depth of focus is a imageprocessing method to obtain in
focus microscopic images of 3D objects and organisms. We freely provide a software as a plugin of ImageJ to produce this infocus image
and the corresponding height map of zstack images.

Fractional spline wavelet transform.
This Java package computes the fractional spline wavelet transform of a signal or an image and its inverse.

Image Differentials. This Java class for ImageJ
implements 6 operations based on the spatial differentiation of an image. It computes the pixelwise gradient,
Laplacian, and Hessian. The class exports public methods for horizontal and vertical gradient and
Hessian operations (for those programmers who wish to use them in their own code).

Local Normalization.
The local normalization tends to uniformize the mean and variance of an image around a local neighborhood.
This is especially useful for correct nonuniform illumination or shading artifacts.

MIJ.
MIJ offers the missing link between two imaging software: ImageJ/Fiji and Matlab.
The goal of the package mij.jar is to provide static methods to exchange images and volumes.
MIJ allows also to access to all builtin functions of ImageJ and to thirdpart plugins of ImageJ.
MIJ is integrated in Fiji with a supereasy script to use it.

MonogenicJ.
This ImageJ plugin performs multiresolution monogenic analyses of 2D images.
It extracts waveletdomain features that characterize the local orientation,
the phase and the dominant frequency of an image patch at various levels of resolution.

MosaicJ.
This Java class for ImageJ performs the assembly of a mosaic of overlapping individual images,
or tiles. It provides a semiautomated solution where the initial rough positioning of the
tiles must be performed by the user, and where the final delicate adjustments are performed by the plugin.

NeuronJ.
This Java class for ImageJ was developed to facilitate the tracing and quantification of neurites
in twodimensional (2D) fluorescence microscopy images. The tracing is done interactively based on the
specification of end points; the optimal path is determined on the fly from the optimization of a cost
function using Dijkstra's shortestpath algorithm.

OrientationJ.
The aim of this ImageJ plugin is to characterize the orientation and isotropy properties of a region of interest (ROI) in an image,
based on the evaluation of the structure tensor in a local neighborhood. OrientationJ has four functionalities: visual
representation of the orientation, quantitative orientation measurement, making distribution
of orientations and corner detection (Harris Corner)

Ovuscule.
The purpose of this ImageJ plugin is to detect elliptical bright blobs in images and to quantify them. It allows one to keep record of their location and size.

PSF Generator.
PSF Generator is a piece of software that allows to generate and visualize various 3D models of a microscope PSF.
The current version has five different models: the Gaussian model, the simulated defocus, the scalarbased diffraction model Born & Wolf,
the scalarbased diffraction model with 3 layers Gibson & Lanni, and finally, the vectorialbased model Richards & Wolf.

PixBleach.
PixBleach is a ImageJ plugin which fits fluorescence photobleaching decay in the temporal sequence for every pixels.
Three common decal models are available: the monoexponential, the biexponential, and the stretched exponential.
Bleach rate (timeconstant) and other fitted parameters can be visualized as 32bit image and exploited for further analysis.

PixFRET.
The ImageJ plugin PixFRET allows to visualize the FRET between two partners in a cell or in a cell
population by computing pixel by pixel the images of a sample acquired in three channels.

Point Picker.
This Java class for ImageJ allows the user to pick some points in an image and to save the list of pixel coordinates
as a text file. It is also possible to read back the text file so as to restore the display of the coordinates.

PureDenoise.
The purpose of this ImageJ plugin is to propose a highquality denoising algorithm of multidimensional fluorescence microscopy images (2D+t, 3D or color).

Resize.
This ImageJ plugin changes the size of an image to any dimension using either interpolation, or leastsquares approximation.

RodCellJ.
RodCellJ is freely available to the community as a package of several ImageJ plugins to simultaneously analyze
the behavior of a large number of rodshaped cells in an extensive manner. The integration of different imageprocessing
techniques in a single package, as well as the development of novel algorithms does not only allow to
speed up the analysis with respect to the usage of existing tools, but also accounts for higher accuracy.

SheppLogan.
The purpose of this ImageJ plugin is to generate sampled versions of the SheppLogan phantom. Their size can be tuned.

Snakuscule. The purpose of this ImageJ
plugin is to detect circular bright blobs in images and to quantify them. It allows one to keep record of their location and size.

SpotCaliper
SpotCaliper is a waveletbased imageanalysis software providing a fast automatic detection scheme for
circular patterns (spots), combined with the precise estimation of their size. It is
implemented as an ImageJ plugin with a complete user interface. The user is allowed to edit the results
by modifying the measurements (in a semiautomated way), extract or load data, or do further analysis.
The fine tuning of the detections includes the possibility of adjusting or removing the original detections,
as well as adding further spots.

SpotDistance
This ImageJ plugin determines intranuclear 3D crossdistances between fluorescent spots in multichannel zstack of image.

SpotTracker
This ImageJ plugin is a robust and fast computational procedure for tracking fluorescent
markers in timelapse microscopy. The algorithm is optimized for finding the timetrajectory of single particles in very noisy image sequences.

StackReg. This Java class for ImageJ
performs the recursive registration (alignment) of a stack of images, so that each slice acts as template for the next one.

Steerable Wavelets Transform Toolbox.
A complete parametric framework and set of Java tools for computing steerable wavelet frames in 2D.

SteerableJ.
This ImageJ plugin implements a series of optimized contour and ridge detectors.
The filters are steerable and are based on the optimization of a Cannylike criterion.
They have a better orientation selectivity than the classical gradient or Hessianbased detectors.
See also the Icy plugin: Feature Detector.

TurboReg.
This Java class for ImageJ performs the registration (alignment) of two images. The registration criterion
is leastsquares. The geometric deformation model can be translational, conformal, affine, and bilinear.

UnwarpJ.
This Java class for ImageJ performs the elastic registration (alignment) of two images.
The registration criterion includes a vectorspline regularization term to constrain
the deformation to be physically realistic. The deformation model is made of cubic
splines, which ensures smoothness and versatility.

Watershed.
This Java plugin is able to segment an image using the watershed algorithm by directly flooding graylevel images.
This implementation is in contrast with the classical approach working on the distance map image obtaining after thresholding.
The grayscale watershed segmentation is useful to segment particles in contact when the model of shape is unknown a priori.

WingJ.
WingJ is an opensource Java application using ImageJ.
WingJ allows to automatically infer a model of the morphological structure of the developing Drosophila wing
from confocal fluorescence images. In addition it provides valuable information on the morphology of wing,
using a parametric structure model for systematic spatial quantification of gene expression.
Standalone
ANSI C
Most often, the ANSIC pieces of code are not a complete program, but rather an element in a library of routines.

Affine transformation.
This ANSIC routine performs an affine transformation on an image or a volume. It proceeds by resampling a continuous spline model.

Registration. This ANSIC routine performs the registration
(alignment) of two images or two volumes. The criterion is leastsquares. The geometric deformation
model can be translational, rotational, and affine.

Shifted linear interpolation.
This ANSIC program illustrates how to perform shifted linear interpolation.

Spline interpolation.
This ANSIC program illustrates how to perform spline interpolation, including the computation of the socalled spline coefficients.

Spline pyramids.
This software package implements the basic REDUCE and EXPAND operators for the reduction and enlargement of signals and images
by factors of two based on polynomial spline representation of the signal.
Java
These pieces of Java code are selfcontained. They do not depend on external libraries or software environments such as Icy, ImageJ, or Fiji. They typically contain a few utility methods stored in one or several files, perhaps a class, and sometimes a package.

Discrete Fourier transform.
This Java class contains methods to perform Fourierrelated operations on discrete sequences, images, and volumes. The operations can be tailored to real or complex data and include forward and backward Fourier transforms, convolutions, and polar/rectangular view of complex numbers.
Maple

Hexsplines
A novel spline family for hexagonal lattices. A Maple 7.0 worksheet is available for
obtaining the analytical formula of any hexspline (any order, regular, nonregular, derivatives, and so on).
Mathematica

Esplines.
A Mathematica package is made available for the symbolic computation of
exponential spline related quantities: Bsplines, Gram sequence, Green function, and localization filter.
Matlab

Binary Compressed Imaging.
This Matlab package implements the forward model as well as the reconstruction of the binary compressed imaging.

ContinuousTime ARMA Identification.
A Matlab package for estimating Gaussian continuoustime ARMA parameters from sampled data. No sampling interval constraints are imposed.

Fractional spline and fractals.
A Matlab package is available for computing the fractional smoothing spline estimator of a signal and for
generating fBms (fractional Brownian motion). This spline estimator provides the minimum mean squares error
reconstruction of a fBm (or 1/ftype signal) corrupted by additive noise.

Fractional spline wavelet transform.
A Matlab package is available for computing the fractional spline wavelet transform of a signal or an image and its inverse.

Generalized Daubechies wavelets.
This is a set of Matlab routines for computing generalized Daubechies wavelet filters.

MLTL deconvolution
This Matlab package implements the MultiLevel Thresholded Landweber (MLTL) algorithm,
an accelerated version of the TL algorithm that was specifically developped for deconvolution
problems with a waveletdomain regularization.

MRI Phantom
This package is a collection of Matlab functions that implements analytical multichannel MRI simulations of realistic phantoms.

MRI Simulation and Reconstruction
This package is a collection of Matlab functions that provides 1) analytical and rasterized multichannel MRI simulations of realistic phantoms and 2) a collection of basic and stateoftheart reconstruction methods including an efficient waveletbased nonlinear one. Demonstration and testing scripts are included. A detailed documentation is provided.

OWT SURELET Denoising
This Matlab package implements the interscale orthonormal wavelet thresholding
algorithm based on the SURELET (Stein's Unbiased Risk Estimate/Linear Expansion of Thresholds) principle.

Steerable wavelets.
1.
Generalized RieszWavelet Toolbox for Matlab.
Functional framework for the design of tight steerable wavelet frames in 2D.
2.
Generalized RieszWavelet Toolbox for Matlab in 3D.
Functional framework for the design of tight steerable wavelet frames in 3D.
3.
Steerable wavelets in 2D. Circular Wavelets.
A complete parametric framework and set of matlab tools for computing steerable wavelet frames in 2D.
Specific designs include Simoncelli's pyramid, Marr and monogenic wavelets, Prolate spheroidal wavelets,
and curvelets.

Symmetric Exponential Bspline.
A Matlab package for calculating symmetric exponential splines: Sobolev reproducing kernels, Bsplines and interpolation functions.

WSPM
Waveletbased statistical parametric mapping, a toolbox for SPM that incorporates powerful
wavelet processing and spatial domain statistical testing for the analysis of fMRI data.
Legal Blurb
Warning & Notice Of Disclaimers

**WARNING** By accessing this computer system you are consenting to system monitoring for law enforcement and other purposes.
Unauthorized use of, or access to, this computer system may subject you to criminal prosecution and penalities.

The information, opinions, data, and statements contained herein are not necessarily those of the
Lausanne Federal Institute of Technology (EPFL) and should not be interpreted, acted on or represented as such

The Swiss Government, EPFL and their employees and contractors do not make any warranty,
express or implied, including the warranties of merchantability and fitness for a particular
purpose with respect to documents available from this server. In addition, the Swiss Government,
EPFL and their employees and contractors assume no legal liability for the accuracy, completeness,
or usefulness of any information, apparatus, product, or process disclosed herein and do not
represent that use of such information, apparatus, product or process would not infringe on
privately owned rights.

Reference herein to any specific commercial product, process, or service by trade name,
trademark, manufacturer, or otherwise, does not necessarily constitute or imply its
endorsement, recommendation, or favoring by the Swiss Government, EPFL or any of
their employees or contractors.

Documents on this server are sponsored by the EPFL, along with private companies and other
organizations. Accordingly, other parties may retain all rights to publish or reproduce these
documents or to allow others to do so. Documents available from this server may be protected
under the Swiss and foreign Copyright laws. Permission to reproduce may be required.
© 2016 EPFL • • 11.05.2016