Woolz Image Processing  Version 1.7.5


The core woolz image processing library, libWlz, was developed for the purpose of microscope slide scanning. libWlz holds the basic image processing functionality, supplementary libraries provide functionality for memory allocation and management, numerical algorithms, external format conversion and other commonly used programmatic tools. These are:

  • libAlc - memory allocation and management
  • libAlg - numerical algorithms
  • libWlzExt - image format conversion and meta-data IO
  • libbibfile - IO if "bibtex" format data - standard plain-text meta-data
  • libDlpList- linked-list structures and procedures for management, sorting and query.

The original woolz software set included libraries for classification and chromosome analysis, these are not included in this package. All libraries are developed in ANSI Standard C and have been successfully used on any Unix system tried so far including Solaris, Linux, IRIX, HPUX, MacOSX. It is also availbale under Windows either using Cygwin or directly using the Microsoft C++ compiler. In addition there is a Java mapping available for the woolz library to allow image process from Java code.


Woolz has been generated over many years at the Medical Research Council Human Genetics Unit in Edinburgh. The basic image processing library originally developed has been extended to include a range of numerical algorithms and libraries for standard programming tasks. The code has been converted to ANSI standard C and standardised with respect to nameing conventions and error reporting. Finally the code has been checked for memory errors such array bound exceptions and leaked bytes. The code is maintained by a number of developers at the MRC and version control is under CVS. The code is open-source and freely available for academic non-profit use. For commercial use of the software please contact matec.nosp@m.h@hg.nosp@m.u.mrc.nosp@m..ac..nosp@m.uk.

The libraries are organised to hierarchically and need to be linked accordingly. The dependencies are:

  • libAlc - none, system library libc
  • libAlg - libAlc, system library libm
  • libbibfile - libAlc
  • libhguDlpList - libAlc
  • libWlz - libAlg
  • libWlzExtFF - libWlz, libbibfile, external libraries libtiff and libjpeg


The source code and/or compiled versions of the libraries can be downloaded from the Mouse Atlas Web site (http://www.emouseatlas.org/emap/analysis_tools_resources/software.html). The installation instructions are provided as part of a "README.txt" file which requires the selection of a path (e.g. /opt/MouseAtlas) as the root of all Mouse Atlas software. The code is then installed in standard Unix fashion in src, share, lib, bin and so on.

Software Development History

The Woolz software has been developed over many years by many people with its roots in chromosome spread image analysis and microscopy imaging in the 1970s. The initial development by Dr Denis Rutovitz was in Fortran and defined a number of the key woolz structures, primarily the interval coding of the spatial domains and grey-level values. The current C-coding was initiated in the 1980s, primarily by Dr Jim Piper. The coding has been transformed to its present form in a number of steps as part of early Alvey and EU funded projects and more recently as part of the Mouse Atlas porject at the HGU. This has include a large expansion in some of the grey-level image extgensions to the library. The Woolz image processing library is optimised for efficient for binary and morphological operations. The software has been developed in ANSI standard C.

Originally the code was developed by the Pattern Recognition Section of the Medical Research Council (MRC) Clinical and Population Cytogenetics Unit, since 1995 it has been developed as part of the Edinburgh Mouse Atlas Project (EMAP) at the MRC Human Genetics Unit (HGU). The Woolz software is a series of libraries supporting a range of image processing operations and is built into a number of larger applications such as MAPaint, Reconstruct and the Jave JAtlasViewer. It also underpins the Edinburgh Mouse Atlas of Gene Expression (EMAGE) database defining the spatial content and providing the mapping, comparison, analysis and warping capabilities.

The current Woolz software is primarily maintained by Richard Baldock and Bill Hill at the MRC Human Genetics Unit.