Our software

In our groupKeyboard icon we have developed several software packages for image acquisition and image analysis. Most of them are written in C++ and use wxWidgets. We also extensively use Matlab and DIPImage for scientific computing, education and prototyping. For linear algebra problems we usually use LAPACK. On this page we present examples of our projects.

We offer some software titles to download. These are marked with the download icon Download designation icon. Downloads are free but protected by login and password which one may obtain after filling the Registration form.

Here's an (click-able) overview to navigate more easily in our projects.

CBIA SW roadmap

Main packages

AcquiariumDownload

Main author: Pavel Matula

Acquiarium is an image acquisition and analysis software for high-resolution 3D cytometry. Its main goal is to provide a tool for high-quality evaluation of spatial arrangement of targets in large number of fluorescently labeled cells. The idea is to link high-throughput acquisition using spinning-disk system with appropriate software tools for automated 3D image analysis. Acquiarium is the successor of FISH software package.

Image analysis part is based on i3dcore/i3dalgo libraries (see below). Image browsing is realized by means of v3dlib library. Batchcrop module is also integrated.

If you are interested in Acquiarium software please proceed to the Acquiarium home page .

FISH

Main author: Michal Kozubek

Our first software package from late 1990s for both automated image acquisition and automated image analysis. This package was optimized for Microsoft Windows NT platform and microscopy hardware available in our lab at that time. The analysis algorithms were optimized for FISH images. The package is still in use for some applications but is not updated or developed any more. It has been replaced by Acquiarium package (see above).

JABS

Main author: Petr Krontorád

JABS (short for just arrays best software) is a stand-alone application used for the analysis of microarray images. It has been optimized for cDNA microararys. It contains comfortable and highly customizable GUI, automatic grid finding (with the possibility of manual correction), many different segmenation algorithms (user can choose the most suitable one), many visualizations (all common plots), many quantitation methods (user can make the choice) and projects (user can save and load current status). It also contains many different normalization and data transformation algortihms.

Libraries

i3dcoreDownload , i3dalgoDownload and i4dcoreDownload

Initiators: Pavel Matula, Petr Matula and Petr Mejzlík

Authors: nearly all group members as well as undergraduate students

i3dcore and i3dalgo are continuously developed templated cross-platform C++ libraries for 3D image processing. They are based on former i3dlib whose development started shortly after our group was formed. We decided to create our own library because none of freely available libraries met our needs. The original effort was to develop a simple C++ library for reading, writing and processing of 3D images acquired using automated fluorescence microscopes. Recently, the original i3dlib library was split into the image representation library i3dcore and image algorithms library i3dalgo. Also we have derived a new i4dcore library from i3dcore for handling 3D time lapse image data.

The i3dcore library offers:

  • Memory and metadata representation/handling of 3D images
  • Reading and writing of 3D images (ICS, TIFF, JPEG, TARGA)

The i3dalgo library offers functions such as:

  • Image filtering (Gauss, Median, diffusion filters)
  • Mathematical morphology (Dilation, Erosion, Reconstructions, EMAX, Watershed)
  • Image segmentation (Global and adaptive thresholding, component labelling, region growing)
  • PDE-based processing (filtering, segmentation)
  • And others

The i4dcore library offers:

  • Memory and metadata representation/handling of time series of 3D images
  • Reading and writing of time series of 3D images (which are supported by i3dcore)

Nowadays, we use both libraries together with other libraries in research as well as education. Most projects listed on this page use these libraries.

v3dlib and v4dlib Download

Main author: Petr Matula

v3dlib and v4dlib are cross-platform C++ libraries written using wxWidgets toolkit for displaying 3D images as maximum and orthogonal projections. The v3dlib library is extensively used in other GUI applications listed bellow.

LinearFilters libraryDownload

Main author: Vladimír Ulman

LinearFilters library aims to provide routines for very fast convolutions with general and specialized linear filters in the spatial domain. The focus has been put on the anisotropic and arbitrarily-oriented Gauss and Gabor filters in up to 4D (3D+time) images. This is achieved in C++ (with the help of LAPACK) according to recent literature as well as our research results.

OpticalFlow libraryDownload

Main author: Jan Hubený

OpticalFlow library contains 3D extension of selected state-of-the-art variational optical flow methods. This library is written in C++ and is multiplatform (tested Linux and Windows). Moreover, we use the sophisticated multigrid framework for solution of the optical flow problems . Therefore we achieve reasonable computation times even for 3D image sequences (seconds for 2D frames, minutes for 3D frames).

Graph Cut libraryDownload

Main author: Ondřej Daněk

Graph Cut library - Gc in short - is a library focusing on combinatorial optimization via graph cuts and its use in digital image analysis, especially for finding optimal solutions to energy minimization based discrete labeling problems such as image segmentation. This research field has become very popular in the last decade and many interesting algorithms are built upon graph cuts. The library is being developed in C++ and places emphasis especially on speed and low memory usage as well as clean and extensible object-oriented design.

Supplemental programs

batchcrop

Main author: Petr Matula

Batchcrop is a multi-platform semi-automatic tool for cutting regions of interest out of many (typically big) 3D images. The tool can optionally decompose RGB images into grayscale images.

viewer3dDownload  and viewer4d Download

Main author: Petr Matula

viewer3d is a simple application for viewing 3D images as maximum and orthogonal projections. It is based on v3dlib library. User manual can be found here.

viewer4d is an advanced version based on the v4dlib. It is especially suitable to inspect 2D, 3D (stack of 2D images), and 4D (usually a time-lapse sequence, or collection of results of image processing parametric study, of 3D images). Presentation of the viewer4d features as well as short tutoring demonstration videos are available here.

OpticalFlow demoDownload

Main author: Jan Hubený

ofd (Optical Flow Demo) is a simple wxWidgets application for the demonstration of variational optical flow methods. It is build upon OpticalFlow library (see above). The user can set every parameter of the methods. The application visualizes the computed flow in several ways. It performs the backward registration of frames using the computed flow.

Ground truth optical flow generatorDownload

Main author: Vladimír Ulman

For the purpose of evaluation of any optical flow computation method, we have developed a generator of pseudo-real image sequences accompanied with so-called ground truth flow fields. Any tested method can compute its flow field on the generated image data and the result can be quantitavely compared to the ground truth. This program is a command-line tool.

Simulation toolboxDownload

Main author: David Svoboda

For the purposes of the evaluation of algorithm correctness it is best to test its behavior on data with available ground truth information. Unfortunately ground truth is usually not availbale in fluorescence microscopy. Therefore we have been working on simulation software that can generate both ground truth images (artificial objects similar to cells) as well as images of these artificial objects after passing the optical and/or electronic set-up. The latter images are the input of the algorithm. The algorithm results (e.g., segmenattaion or measurement results) are then compared to ground truth data (e.g., true boundary or true measurement values).

TRAgen: 2D sequence generator for biomedical tracking Download

Main author: Vladimír Ulman

Similarily to the main Simulation toolbox above, this tool allows for generating 2D image sequences showing simulated living cell populations together with ground-truth images for evaluation of cell tracking tasks. The simulated events include namely cell motion, cell division, cell death, and cell clustering up to tissue-level density. TRAgen features complete cell cycle with shape changes due to rounding and elongation of a cell just before its division.

AOGMMeasure Download

Main authors: Pavel Matula and Martin Maška

AOGMMeasure is a standalone console application intended for computing a cell tracking accuracy measure based on matching acyclic oriented graphs. For a given reference and computed graph, the measure assesses how difficult it is to transform the computed graph into the reference one. The difficulty is measured as a weighted sum of the lowest number of graph operations needed to make the graphs identical.

HEp-2 Cells Classifier

Main authors: Roman Stoklasa, Tomáš Majtner

HEp-2 Cells Classifier is an implementation of a k-nearest neighbor classifier build on top of the MESSIF framework. It was developed for the Contest on HEp-2 Cells Classification, which was hosted by the 21st International Conference on Pattern Recognition (ICPR) in 2012.

RSurf Texture Descriptor

Main authors: Tomáš Majtner, Roman Stoklasa

RSurf is a texture-based image descriptor originaly designed for the classification of HEp-2 cell images. It considers input 2D image as a topographic surface on which various properties (height, length, integral and number of sign changes of the second derivative) of each slope in the image are computed and the statistics of them are derived.

Optic project

Main author: Jakub Kulaviak

Optic project is a stand-alone application used for the optimization of light throughput and contrast in fluorescence microscopy. It contains the database of spectral behaviour of light sources, filters, mirrors, fluorochormes as well as light detectors. We offer this application for public use.

TransMap viewer

Main author: Michal Strehovský

TransMap Viewer is a tool designed for visualization of gene expression data acquired using microarray technology. TransMap Viewer employs transcription maps to uncover clustering of highly expressed genes in chromosomal domains.

FTutor

Main author: Petr Sečkář

FTutor is a software that provides educational tool for Fourier transform and its application in the field of digital image processing. It aims to attractively, yet clearly, explain how Fourier transform works, and uncover the potential that lies behind using this transformation.

ExosomeAnalyzer

Main author: Martin Maška, Jakub Jozef Pálenik

ExosomeAnalyzer is a stand-alone application used for detection and segmentation of exosomes (or microvesicules) in TEM images and measurement of their shape and size parameters.

ImageJ plugin for cell segmentation

Main author: Jan Ježek

ImageJ plugin for cell segmentation is designed for an automatic and semi-automatic segmentation of organelles in cells in TEM images and measurement of their parameters. It was primarily developed for endoplasmatic reticulum (ER) stress analysis.