iMorph is cross platform 3D image analysis software. It permits the morphological characterization of porous media, and more precisely cellular materials. The first step of the analysis is a macroscopical characterization of the different phases. It allows porosity, tortuosity, and specific surface measurement. The anisotropy is also quantified at the sample scale. In a second step, the software gives a morphological study at the pore scale. Automatic methods for cell extraction give access to shape analysis, classification, and orientation. Moreover, it permits a local voxel classification in order to identify local shape such as shell, plates, and rods. Finally, the software gives a topological description by generating the graphs of both the solid and fluid phase. The human interface is intuitive and can be used by a non-expert of image processing. 3D visualization uses OpenGL libraries and allows interaction with segmented objects. An XML samples database is used to store results belonging to a region of interest in the media.
FeatureC++ is a C++ language extension that supports Feature-Oriented Programming (FOP). FOP studies feature modularity in program families. The idea of FOP is to build software by composing features. Features are basic building blocks that satisfy intuitive user-formulated requirements on the software system. Features refine other features incrementally. This step-wise refinement leads to a layered stack of features. Mixin Layers are one appropriate technique for implementing features.