Higher Edu - Research dev card
Development from the higher education and research community
  • Creation or important update: 22/09/13
  • Minor correction: 22/09/13

Imagine++ : C++ libraries for teaching, image processing and numerical computation

This software was developed (or is under development) within the higher education and research community. Its stability can vary (see fields below) and its working state is not guaranteed.
  • Web site
  • System: UNIX-like, Windows, MacOS X
  • Current version: 4.0.1 - Septembre 2012
  • License(s): not yet chosen
  • Status: stable release, under development
  • Support: maintained, ongoing development
  • Designer(s): R. Keriven, P. Monasse
  • Contact designer(s): monasse @
  • Laboratory, service: LIGM


General software features

4 libraries are proposed:

  • Common: multi-dimensional arrays with shared memory for fast copy, static size vector and matrices.
  • LinAlg: linear algebra with dynamic size vectors and matrices, solution of linear systems, matrix decompositions (SVD, QR, Cholesky).
  • Graphics: windows with tabs, 2D graphics (elementary shapes, bitmaps) and 3D graphics (elementary volumes, triangulated meshes), animations, mouse and keyboard events.
  • Images: input/output in standard formats, geometric transformations, interpolation, standard filters.
Context in which the software is used

The focus is put on easy usage and efficiency. Display relies on Qt and OpenGL, linear algebra on Eigen.

  • Teaching programming: allows writing easily recreational software, with protection from classical errors that are critical for performance by using shallow copy for images and matrices.
  • Research in image processing and computer vision: additional modules for optimization, multi-view geometry and interest point dectection are used internally.
Publications related to the software