previous     up     next


Digital Topology of a binary Object

Many segmentation techniques generate 3-dimensional images, encoding the segmentation as labeled voxels in a 3-dimensional grid. Each structure of interest can then be seen as a digital binary image, for which the inside of the object corresponds to the voxels labeled as 1, and the outside of the object corresponds to the remaining voxels labeled as 0. The voxels labeled as one constitue the foreground object F, and its inverse within the 3-dimensional grid, the voxels labeled as 0, constitute the background object B ( we note B=F ).

Duality background/foreground
: there is a duality between the topology of the foreground object and the topology of the background object. For instance, a handle in the foreground object corresponds to a handle in the background object too. A disconnected component in F corresponds to a cavity in B and retrospectively. This fact is essential to most algorithms, which decide to correct a topological defect by acting either on the foreground or on the background.


The segmentation, presented on the right-hand side, represents an object O constituted of two disconnected components, one of which contains a handle. The larger component has the topology of a torus and the smaller one, the simple topology of a sphere.

Ignoring the larger component (let's call it A) and focusing on the smaller one only (we call it the component B), its inverse background object B will have the topology of a hollow sphere, i.e. a sphere with one single cavity.
On the other hand, the inverse background object of A, i.e. A, has one cavity, which contains one handle. This handle is constitued by the background voxels located within the handle of the initial object A. As a consequence, the topology of the background object O is the one of a sphere with two cavities, one of which contains a handle.

This simple example illustrates the duality existing between the topology of the foreground and backround objects, especially the connection:
handle in X <--> handle in X,
cavity in X <--> disconnected component in X.



Jordan's curve theorem and the necessity for a pair of compatible connectivities :

                                                                                                                                                                                            



Topological numbers:


You can find some code to compute the topological numbers in the file: topological_numbers.h . The following webpage by Gregoire Malandin is certainly of interest.

key points: duality background/foreground, Jordan's curve theorem, compatible connectivities used for the background and the foreground object, topological numbers.

Differential Geometry and Euler Characteristic


Rectangular decomposition of a surface:

Definition of the Euler Characteristic:

Topological invariance of the Euler Characteristic:

Isocontour Extraction

Marching Cube Algorithm:

Topologically consistent Marching Cube Algorithm:

I provide some code to generate a consistent tessellation of a binary object, according to a specific digital connectivity (a pair of two consistent connectivities).

Level Sets

Level sets formulation:

Topologically constrained level sets:

Reeb Graphs

Topology Preserving Deformation Fields

Deformation fields:

Topology preserving Deformation fields: