Biomedical Imaging Group
Logo EPFL
    • Splines Tutorials
    • Splines Art Gallery
    • Wavelets Tutorials
    • Image denoising
    • ERC project: FUN-SP
    • Sparse Processes - Book Preview
    • ERC project: GlobalBioIm
    • The colored revolution of bioimaging
    • Deconvolution
    • SMLM
    • One-World Seminars: Representer theorems
    • A Unifying Representer Theorem
Follow us on Twitter.
Join our Github.
Masquer le formulaire de recherche
Menu
BIOMEDICAL IMAGING GROUP (BIG)
Laboratoire d'imagerie biomédicale (LIB)
  1. School of Engineering STI
  2. Institute IEM
  3.  LIB
  4.  Algorithms
  • Laboratory
    • Laboratory
    • Laboratory
    • People
    • Jobs and Trainees
    • News
    • Events
    • Seminars
    • Resources (intranet)
    • Twitter
  • Research
    • Research
    • Researchs
    • Research Topics
    • Talks, Tutorials, and Reviews
  • Publications
    • Publications
    • Publications
    • Database of Publications
    • Talks, Tutorials, and Reviews
    • EPFL Infoscience
  • Code
    • Code
    • Code
    • Demos
    • Download Algorithms
    • Github
  • Teaching
    • Teaching
    • Teaching
    • Courses
    • Student projects
  • Splines
    • Teaching
    • Teaching
    • Splines Tutorials
    • Splines Art Gallery
    • Wavelets Tutorials
    • Image denoising
  • Sparsity
    • Teaching
    • Teaching
    • ERC project: FUN-SP
    • Sparse Processes - Book Preview
  • Imaging
    • Teaching
    • Teaching
    • ERC project: GlobalBioIm
    • The colored revolution of bioimaging
    • Deconvolution
    • SMLM
  • Machine Learning
    • Teaching
    • Teaching
    • One-World Seminars: Representer theorems
    • A Unifying Representer Theorem

Algorithms

Gitbub Demo 
36 algorithms

The algorithms below are ready to be downloaded and usable on any platform. Some basic algorithms of image processing as written as Demos, they are runnable directly on a browser.

The algorithms 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. In addition, many algorithms have a public open-source repository on github.

GlobalBioIm
GlobalBioIm

A Matlab library for solving inverse problems GPLv3

Website Github
DeepSplines
DeepSplines

A framework to train the activation functions of a neural network MIT

Github
Deconvolution
Deconvolution

3D Decomvolution Microscopy in Java / PSF Generator GPLv3

Website Github
  • Imaging Plugins
    ImageJ / Fiji / Icy
  • Tools
    Basic routines
  • Spline & Wavelets
    Mathematical Imaging
  • Medical Imaging

 

Imaging Plugin

Image Registration

Java  |  Accessible on bigwww.epfl.ch  |  Philippe Thévenaz  |  GPLv3

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.
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.
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.


Fluorescence Microscopy Tools

Java  |  Accessible on bigwww.epfl.ch  |  Daniel Sage  |  GPLv3

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.
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).


3D Deconvolution Microscopy and PSF Generator Github

Java  |  Accessible on bigwww.epfl.ch  |  Daniel Sage  |  GPLv3

3D Deconvolution Microscopy
DeconvolutionLab2 is freely accessible and open-source for 3D deconvolution microscopy; it can be linked to well-known imaging software platforms, ImageJ, Fiji, ICY, Matlab, and it runs as a stand-alone application. The backbone of our software architecture is a library that contains the number-crunching elements of the deconvolution task. It includes the tool for a complete validation pipeline. Inquisitive minds inclined to peruse the code will find it fosters the understanding of deconvolution. At this stage, DeconvolutionLab2 includes a friendly user interface to run the following algortihms: Regularized Inverse Filter, Tikhonov Inverse Filter, Naive Inverse Filter, Richardson-Lucy, Richardson-Lucy Total Variation, Landweber (Linear Least Squares), Non-negative Least Squares, Bounded-Variable Least Squares, Van Cittert, Tikhonov-Miller, Iterative Constraint Tikhonov-Miller, FISTA, ISTA.
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.


Directional Image Analysis Github

Java  |  Accessible on bigwww.epfl.ch  |  Daniel Sage  |  GPLv3

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)
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.
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.


Active Cells: Set of Icy Plugings for Segmentation Source on Icy

Java  |  Accessible on Icy  |  BIG Snake team

Active Cells
This is a plug-in 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 plug-in 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 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.
Potts Segmentation
The plug-in implements a segmentation algorithm based on the Potts model. It works with graylevel, color or vector-valued 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.


Collection of Active Contours 2D/3D Source on Icy

Java  |  Accessible on Icy  |  Anaïs Badoual

Active Tessellation
This plugin implements active contours to segment cell aggregates. They are robust to membrane gaps and to high levels of noise. Their subdivision-based representation allows for an intuitive manipulation of the curves through control points.
Locally Refinable Snake
This plugin implements fast active contours for biomedical image segmentation. Through the interface, one can locally increases the degrees of freedom of the curves. It allows to catch details of intricate shapes.
Subdivision Snake
This plugin implements fast active contours for biomedical image segmentation. They adapt the resolution of their curve to the level of details of their target. Their subdivision-based representation allows for an intuitive manipulation of the curves through control points.
Active Subdivision Surface
This plugin implements active surfaces to segment biomedical volumes They adapt the resolution of their curve to the level of details of their target. Their subdivision-based representation allows for an intuitive manipulation of the curves through control points.
Texture Snake
This plugin implements active contours to segment structures with similar intensity distribution and low contrast with the background. They are trained on-the-fly from small collections of pixels provided by the user. Their parametric representation allows for an intuitive manipulation of the curves through control points.


Basic Snakes

Java  |  Accessible on bigwww.epfl.ch  |  Philippe Thévenaz

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.
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.
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.


Circadian Analysis Tools

Java  |  Accessible on bigwww.epfl.ch  |  Daniel Sage

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.
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.


Extended Depth of FieldGithub

Java  |  Accessible on bigwww.epfl.ch  |  Daniel Sage

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.


NeuronJ

Java  |  Accessible on external website  |  Erik Meijering

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.


Drop Shape Analysis

Java  |  Accessible on bigwww.epfl.ch  |  Daniel Sage

New method based on B-spline snakes (active contours) for measuring high-accuracy contact angles of sessile drops.


RodCellJ

Java  |  Accessible on bigwww.epfl.ch  |  Daniel Schmitter

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.


SpotCaliper

Java  |  Accessible on bigwww.epfl.ch  |  Daniel Sage

SpotCaliper is a wavelet-based image-analysis software providing a fast automatic detection scheme forcircular 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 semi-automated 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

Java  |  Accessible on bigwww.epfl.ch  |  Daniel Sage

This ImageJ plugin determines intra-nuclear 3D cross-distances between fluorescent spots in multi-channel z-stack of image.


SpotTracker

Java  |  Accessible on bigwww.epfl.ch  |  Daniel Sage

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.


UnwarpJ

Java  |  Accessible on bigwww.epfl.ch  |  Philippe Thévenaz

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.


Graylevel Watershed

Java  |  Accessible on bigwww.epfl.ch  |  Daniel Sage  |  6 juin 2018

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.


 

Tools

Stereo Viewer

Java  |  Accessible on Icy  |  Ricard Delgado-Gonzalez

This is a plug-in 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

Java  |  Accessible on bigwww.epfl.ch  |  Philippe Thévenaz

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.


Image Differentials

Java  |  Accessible on bigwww.epfl.ch  |  Philippe Thévenaz

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

Java  |  Accessible on bigwww.epfl.ch  |  Daniel Sage  |  2020

The local normalization tends to uniformize the mean and variance of an image around a local neighborhood. This is especially useful for correct uneven illumination or shading artifacts. Thanks to our fact implementation of the Gaussian filtering, the Local Normalization is running very fast.


MIJ: Matlab-ImageJ connector

Java  |  Accessible on bigwww.epfl.ch  |  Daniel Sage  |  2018

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. Thanks to the Fiji team, MIJ is now super-easy to use using a Matlab script Miji.m which is integrated in Fiji. ImageJ/Fiji becomes a image-processing librairie of Matlab.


Resize

Java  |  Accessible on bigwww.epfl.ch  |  Arrate Muñoz Barrutia

This ImageJ plugin changes the size of an image to any dimension using either interpolation, or least-squares approximation.


SheppLogan

Java  |  Accessible on bigwww.epfl.ch  |  Philippe Thévenaz

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


Point Picker

Java  |  Accessible on bigwww.epfl.ch  |  Philippe Thévenaz

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.


Discrete Fourier transform

Java  |  Accessible on bigwww.epfl.ch  |  Philippe Thévenaz

This Java class contains methods to perform Fourier-related 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.


 

Spline & Wavelets

Steerable Wavelets Project

Matlab  |  Accessible on bigwww.epfl.ch  |  Nicolas Chenouard, Zsuzanna Püspöki, Virgine Uhlmann  |  2013-2015

Generalized Riesz-Wavelet Toolbox for Matlab
Functional framework for the design of tight steerable wavelet frames in 2D. A toolbox that contains Matlab routines for computing the forward and backward generalized Riesz-wavelet transform of high order is provided. We have included utilities for orientation computation, coefficients steering, basic denoising, frame learning
Steerable wavelets in 2D. Circular Waveletss
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.
Steerable Wavelets Transform Toolbox
A complete parametric framework and set of Java tools for computing steerable wavelet frames in 2-D.


Fractional spline and fractals

Matlab  |  Accessible on bigwww.epfl.ch  |  Thierry Blu  |  2006

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 and fractals
A Matlab package is available for computing the fractional spline wavelet transform of a signal or an image and its inverse.


Generalized Daubechies wavelets

Matlab  |  Accessible on bigwww.epfl.ch  |  Cédric Vonesch  |  2010

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


MLTL deconvolution

Matlab  |  Accessible on bigwww.epfl.ch  |  Cédric Vonesch  |  2009

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.


Binary Compressed Imaging

Matlab  |  Accessible on bigwww.epfl.ch  |  Aurélien Bourquard  |  2014

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


OWT SURE-LET Denoising

Matlab  |  Florian Luisier

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.


Routines for Spline Processing

ANSI C  |  Accessible on bigwww.epfl.ch  |  Philippe Thévenaz, Michael Unser

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.


 

Medical Imaging

Realistic Analytical Phantoms for Parallel MRI

Matlab  |  Accessible on bigwww.epfl.ch  |  Matthieu Guerquin-Kern  |  2014

This package is a collection of Matlab functions that implements analytical multi-channel MRI simulations of realistic phantoms. It should be useful for testing the validity of the numerical implementations of the parallel MRI forward model. It also provides a realistic setting that avoids the inverse crime situation which can often result in over-optimistic reconstruction performances. To facilitate the design of new phantoms, graphical interface tools are provided. For purposes of adequate visualization, exporting to the popular vector graphics formats SVG 1.1 and PDF (via the PGF/Tikz LATEX package) is supported.


MRI Simulation and Reconstruction

Matlab  |  Accessible on bigwww.epfl.ch  |  Matthieu Guerquin-Kern  |  2014

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. The analytical phantom simulation tools allow sound validations of reconstruction methods. The reconstruction framework is rather general and should be easy to adapt to any linear inverse problem. Wavelet transform and wavelet coefficients can be easily manipulated like Matlab's matrices and vectors.


WSPM

Matlab  |  Accessible on bigwww.epfl.ch  |  Dimitri Van de Ville  |  15 October 2008

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.


  • Laboratory
  • Research
  • Publications
  • Code
    • Demos
    • Download Algorithms
    • Github
  • Teaching
Logo EPFL, Ecole polytechnique fédérale de Lausanne
Emergencies: +41 21 693 3000 Services and resources Contact Map Webmaster email

Follow EPFL on social media

Follow us on Facebook. Follow us on Twitter. Follow us on Instagram. Follow us on Youtube. Follow us on LinkedIn.
Accessibility Disclaimer Privacy policy

© 2023 EPFL, all rights reserved