CLARCS
 
   

Overview

About CLARCS

CLARCS is a C++ library for surface processing and analysis which has been developed at IRISA (http://www.irisa.fr) since 2007. The library is mainly composed of three basic algorithms allowing :

  • (i) the rigid/affine/non-linear registration of two point sets,
  • (ii) the computation of the mid-sagittal plane of one point set,
  • (iii) the computation of a mean point set from several point sets, and the variability around this mean.
These algorithms are building bricks that can be combined to allow higher-order surface processing such as computation of pointwise asymmetry fields and statistical analysis thereof within or between populations.

Features

  • 3 main methods are available to compute the symmetry plane of a surface: ICP with trimmed estimator, improved EM-ICP, symmetric EM-ICP
  • Several rigid and affine registration methods
  • Several non linear registration methods
  • An improved surface smoothing method
  • Statistical analysis of surfaces

Applications

At this time, CLARCS has been successfully used in 2 fields of applications : Medicine and Paleontology.
In medicine, 3 applications have been tested for the moment :
  • The quantification of skull asymmetries in craniosynostoses
  • The quantification of skull asymmetries in deformational plagiocephaly
  • Building statistical shape models of deep grey nuclei
In paleontology, the application of CLARCS has been around endocast assymetry analysis.

Dependencies

CLARCS is mainly based on 4 external libraries :

  • The Visualization ToolKit (VTK, http://www.vtk.org) is used for the KdTree research, for surface read/writes methods and for visualization helpers. Thanks to VTK, CLARCS is compatible with various file format (OBJ, VTK, etc)
  • Boost (http://www.boost.org) is used for matrix and vector computation.
  • Blas and Lapack (http://www.netlib.org) are used for fast matrix computing.