| Appmaths | RSPhysSE | ANU Home | Search ANU |
The Australian National University
Department of Applied Mathematics
Research School of Physical Sciences and Engineering
 
Mango is a software tool for parallel segmentation and network generation and the pre and post-processing and analysis of associated data. The capabilities of mango include image enhancement, various segmentation methods, cluster identification and removal, euclidean distance transform, medial axis generation, grain identification and characterisation and pore-throat and grain-contact network generation. The core of the software is written in C++ and uses MPI for parallelisation. We work routinely on 2048 cube voxel datasets (8.6 billion voxels) using the ANU supercomputer. The XCT in our Department is the main source of tomographic data which we analyse with mango. However, any 3D data (eg. synchrotron and other techniques) can be used as input. The project is ongoing and is currently at the beta stage. If you have further questions, or you would like to trial the software academically please contact the team: mango@anu.edu.au.

A "Getting Started With Mango" Document is available.
A "User Guide" for Applied Maths users is also available.
The mango bug-traking page is available here


 
Image enhancement

Most data sets suffer from a number of noise artifacts and it is therefore prudent to carry out image enhancement processing prior to segmentation. In our experience, a combination of an anisotropic diffusion filter followed by an unsharp mask leads to good results. The anisotropic diffusion filter removes 'Salt and Pepper' noise but preserves edges and the unsharp mask sharpens the image. On the left you can see the original image at the top and the filtered image at the bottom. The image is a spirulus shell taken with our XCT.




 


Segmentation

Image segmentation is the process of converting a multiphase dataset into one of two or more phases. Typically, a grey level image is devided into a low and high phase object. This seemingly simple process proves to be quite challenging. In order to produce satisfactory segmentations, more sophisticated methods, such as the watershed transform (applied to the gradient image), need to be used. The segmented image on the bottom left was generated using our 'Converging Active Contours' method.





 


Medial Axis

The medial axis is a topological skeleton which represents the shape of an object. In voxelated space, it can be generated by homotopic thinning. The medial axis can be used to create a network of an object. The picture on the left shows a medial axis (colored) of a subset of a bead-pack (grey). The different colors of the medial axis voxels represent the distance to the nearest voxel of the other phase.





 


Grain Partitioning

The watershed transform, when applied to the euclidean distance map of an object, can be used for the purpose of grain partitioning. This works fairly well for 'sphere-like' objects like sand or rice grains. One of the drawbacks of the watershed transform is oversegmentation and usually a merging step needs to be carried out to achieve the desired result. The image on the left is a partitioning of a subset of a sand grain pack.





 


Network Generation

Currently mango can generate networks using a medial axis or a watershed partitioning. A pore-throat network (ie. the network of the void space of an object) is usually generated from the medial axis whereas a grain-contact network is typically created from the grain partitioning. The image shows part of a network generated from a hip bone.