Woolz Image Processing Version 1.4.0
|
Woolz is the name (not an acronym) for a set of image processing software. The Core software is organised as a series of libraries for application development and a set of Command-Line Binaries which can be used for simple image processing or embedded in scripts for more complex operations. Large scale applications with graphical user-interfaces such as Reconstruct or MAPaint are documented elsewhere. The source code is maintained under CVS and is available as open-source under the general GNU licence. Bug and issue reporting is provided by Mantis at http://aberlour.hgu.mrc.ac.uk/mantis/login_page.php, this documentation is generated using Doxygen.
The best way to use this documentation is to open the "Modules" menu-folder in the index on the LHS browser window. If you simply want to use the command-line binaries then select "Basic woolz operations", "Data Format Conversion" or "Extended Applications". These each expand to a list of the binaries available for which there is a manpage-style page available. In each case there will be (not yet complete) example usage and a brief description. If you are interested in using the library functions then consult the library modules and browse for the required function. Example usage is most easily found in the set of binaries available with the source code.
This documentation provide manuals and code documentation for the core libraries and associated command-line binaries. Using these binaries sophisticated image-processing applications can be developed and prototyped using standard unix scripting. In addition the libraries have a Java binding to allow the use of very fast and efficient C-code with a Java interface.
More detail of the code can be found in the sub-sections Command-Line Programmes and Software Libraries. Compiled versions and source code can be obtained from the EMAP web-site genex.hgu.mrc.ac.uk.
The software has been developed over many years by many people with its roots in chromosome spread image analysis and microscopy imaging.The primary code design and develoment is due to Denis Rutovitz (reference here) and the C-code libraries initially implemented by Jim Piper. The image processing library is optimised for 2D image processing and is especially efficient for binary and morphological operations. The software has been developed in C and is now ANSI standard. All source code is open-source under the general GNU licence.
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 code 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 woolz software is organised as a series of software libraries with a hierarchical dependency. The compiled binaries are compiled against these libraries with in some cases link to other non-system libraries such as libtiff and libjpeg. The source code is organised as a series of directories, one for each library and programme group. The set of directories is:
binWlz
- simple command-line binaries which typically execute a single woolz library function binWlzExtFF
- commmand-line binaries for data format conversion binWlzApp
- more complex programmes for image programming libAlc
- library for memory allocation and memory management libAlg
- library of numerical algorithms libWlz
- basic image processing operations, the core of the woolz image processing system. libWlzExtFF
- library for format conversion and I/O to different image standards. libbibfile
- "bibtex" formmat file handling, used for many standard metadata files generated by woolz applications such as MAPaint and Reconstruct libhguDlpList
- library implmenting functions to create and manipulate doubly-linked lists. libReconstruct
- obselete library for image registration and alignment, \ now incorporated into linWlz. libWlzBnd
- library for special Java bindings as part of the Java Woolz automated mapping.