|
In our group 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. To navigate easily in our projects, click here to enlarge our software roadmap.
We offer some software titles to download. These are marked with the download icon . Downloads are free but protected by login and password which one may obtain after filling the Registration form.
Main packages
Acquiarium
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 Krontorad
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
i3dcore , i3dalgo and i4dcore
Initiators: Pavel Matula, Petr Matula and Petr Mejzlik
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 (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
Main author: Petr Matula
v3dlib is a cross-platform C++ library written using wxWidgets toolkit for displaying 3D images as maximum and orthogonal projections. This library is extensively used in other GUI applications listed bellow.
LinearFilters library
Main author: Vladimir 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 library
Main author: Jan Hubeny
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).
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.
viewer3d
Main author: Petr Matula
viewer3d is a simple application for viewing 3D images as maximum and orthogonal projections. It is based on v3dlib library.
OpticalFlow demo
Main author: Jan Hubeny
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 generator
Main author: Vladimir 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 toolbox
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).
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.
Main author: Michal Strehovsky
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.
|