Available Algorithms
The algorithms below are ready to be downloaded. They are generally written in JAVA or in ANSI-C, 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.
JAVA: Plug-ins for ImageJ and Fiji
JAVA classes are usually meant to be integrated into the public-domain software ImageJ and
into the image-processing package Fiji.
Few plugins have been ported into the software package Icy.
-
BEEPS.
This ImageJ plugin smoothes an image without altering its edges. The smoothing is applied by the way of a bi-exponential filter, itself realized by a pair of one-tap 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 semi-automatic 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.
-
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) Tikhonov-Miller,
6) Richardson-Lucy,
7) Richardson-Lucy with TV Regularization.
It also includes a convolution tool to generate simulated dataset with additive noise.
-
Drop Shape Analysis.
New method based on B-spline snakes (active contours) for measuring high-accuracy contact angles of sessile drops.
-
E-Snake.
This ImageJ plugin (ESnake) implements a fast parametric active contour for segmenting nearly elliptic objects. ESnake outlines the targets using exponential B-splines, 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 image-processing 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 in-focus image
and the corresponding height map of z-stack images.
-
Feature Detector.
The Icy Feature Detector plug-in implements a series of optimized contour and ridge detectors.
The filters are steerable and are based on the optimization of a Canny-like criterion.
They have a better orientation selectivity than the classical gradient or Hessian-based detectors.
-
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 pixel-wise 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.
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.
-
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 built-in functions of ImageJ and to third-part plugins of ImageJ.
MIJ is integrated in Fiji with a super-easy script to use it.
-
MonogenicJ.
This ImageJ plugin performs multiresolution monogenic analyses of 2D images.
It extracts wavelet-domain 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 semi-automated 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 two-dimensional (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 shortest-path 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.
-
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 mono-exponential, the bi-exponential, and the stretched exponential.
Bleach rate (time-constant) and other fitted parameters can be visualized as 32-bit image and exploited for further analysis.
-
PixFRET.
The ImageJ plug-in 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.
-
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 scalar-based diffraction model Born & Wolf,
the scalar-based diffraction model with 3 layers Gibson & Lanni, and finally, the vectorial-based model Richards & Wolf.
-
PureDenoise.
The purpose of this ImageJ plugin is to propose a high-quality 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 least-squares 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 rod-shaped cells in an extensive manner. The integration of different image-processing
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 Shepp-Logan 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.
-
SpotDistance
This ImageJ plugin determines intra-nuclear 3D cross-distances between fluorescent spots in multi-channel z-stack of image.
-
SpotTracker
This ImageJ plugin is a robust and fast computational procedure for tracking fluorescent
markers in time-lapse microscopy. The algorithm is optimized for finding the time-trajectory 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.
-
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 Canny-like criterion.
They have a better orientation selectivity than the classical gradient or Hessian-based 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 least-squares. 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 vector-spline 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.
Matlab
-
Continuous-Time ARMA Identification.
A Matlab package for estimating Gaussian continuous-time 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/f-type 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 wavelet-domain regularization.
-
MRI Phantom
This package is a collection of Matlab functions that implements analytical multi-channel MRI simulations of realistic phantoms.
-
MRI Simulation and Reconstruction
This package is a collection of Matlab functions that provides 1) analytical and rasterized multi-channel MRI simulations of realistic phantoms and 2) a collection of basic and state-of-the-art reconstruction methods including an efficient wavelet-based non-linear one. Demonstration and testing scripts are included. A detailed documentation is provided.
-
OWT SURE-LET Denoising
This Matlab package implements the interscale orthonormal wavelet thresholding
algorithm based on the SURE-LET (Stein's Unbiased Risk Estimate/Linear Expansion of Thresholds) principle.
-
Symmetric Exponential B-spline.
A Matlab package for calculating symmetric exponential splines: Sobolev reproducing kernels, B-splines and interpolation functions.
-
Steerable wavelets.
1.
Generalized Riesz-Wavelet Toolbox for Matlab.
Functional framework for the design of tight steerable wavelet frames in 2D.
2.
Generalized Riesz-Wavelet Toolbox for Matlab in 3D.
Functional framework for the design of tight steerable wavelet frames in 3D.
3.
Steerable wavelets in 2D. Circular Wavelts.
A complete parametric framework and set of matlab tools for computing steerable wavelet frames in 2-D.
Specific designs include Simoncelli's pyramid, Marr and monogenic wavelets, Prolate spheroidal wavelets,
and curvelets.
-
WSPM
Wavelet-based statistical parametric mapping, a toolbox for SPM that incorporates powerful
wavelet processing and spatial domain statistical testing for the analysis of fMRI data.
ANSI C
Most often, the ANSI-C pieces of code are not a complete program, but rather an element in a library of routines.
-
Affine transformation.
This ANSI-C routine performs an affine transformation on an image or a volume. It proceeds by resampling a continuous spline model.
-
Registration. This ANSI-C routine performs the registration
(alignment) of two images or two volumes. The criterion is least-squares. The geometric deformation
model can be translational, rotational, and affine.
-
Shifted linear interpolation.
This ANSI-C program illustrates how to perform shifted linear interpolation.
-
Spline interpolation.
This ANSI-C program illustrates how to perform spline interpolation, including the computation of the so-called 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.
Mathematica
-
E-splines.
A Mathematica package is made available for the symbolic computation of
exponential spline related quantities: B-splines, Gram sequence, Green function, and localization filter.
Maple
-
Hex-splines
A novel spline family for hexagonal lattices. A Maple 7.0 worksheet is available for
obtaining the analytical formula of any hex-spline (any order, regular, non-regular, derivatives, and so on).
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.
© 2013 EPFL • • 06.05.2013