Multidimensional data arise in several areas of life sciences. Biomedical imaging datasets are inherently 3D like in magnetic resonance (MRI) or gamma rays (positron emission tomography, PET) measurements. There are also various microscopic applications that produce volumetric, multispectral (3D + wavelength) or time-lapse (3D+time+wavelength) data.
During the last 5 years ImageJ has become a standard tool for image processing and feature extraction in life sciences. Since ImageJ can be considered as an already mature software platform with a large contributed plugin base, not all recent technological developments in imaging modalities could be adopted in the data model of ImageJ without breaking backward compatibility.
One of the most notable limitations of present ImageJ is its inconsistent model of multidimensional data sets. The original model for planar images was extended to 3D by the concept of ImageStack having an underlying composite array container while the support for 4D data sets was introduced at a later stage in a rather ad hoc manner. Attempts to overcome various limitations of ImageJ has led to the development of several libraries aiming at providing extended functionality, mostly at the level of handling of multidimensional data sets. Three examples are ImageScience, ImgLib and PixLib. Both ImgLib and PixLib use extensively interfaces and abstract classes which results in modularity and extensibility of the code.
Likewise, ImageJ data model lacks representations of 3D geometric objects. In the current version of the program the only way to manipulate 3D objects is to use an array of 2D Regions of Interest (ROIs), describing the contour of the 3D object in every slice. This situation is addressed in some plugins like 3D Objects Counter or 3D Roi Manager, which can segment, label and quantify 3D objects. The objects are represented as a list of unordered 3D voxels. Other possible representations are simply the labels (as a number) inside a 3D image. Finally one can also be interested in the 3D surface representation of the object in the form of a 3D triangle mesh, accessible via the 3D Viewer. The advantages and drawbacks of each 3D object representation will be presented along with the methods to go from one representation to another.
ImgLib, PixLib, 3D
Presenting author: Thomas Boudier and Dimiter Prodanov
co-authors: Dimiter Prodanov
Knowledge of participant: mid level to advanced