EN FR
EN FR


Section: New Software and Platforms

Software

ALTA Library

Participants: X. Granier & R. Pacanowski & L. Belcour & P. Barla

Keywords: BRDF fitting and analysis

ALTA is a multi-platform software library to analyze, fit and understand BRDFs. It provides a set of command line software to fit measured data to analytical forms, and tools to understand models and data. The targeted audience is composed of all the researchers and professionals who are working on BRDFs, and who want to benchmark new BRDF models and easily compare them with state-of-the-art BRDF models and data. It is also suitable for researchers and professionals who are working on optical measurements, and who want to experiment different fitting procedures and models, or just to perform statistical analysis on their data. The major features in the ALTA library are:

  • Open common BRDF data formats (MERL, ASTM)

  • Non-linear fitting of BRDF (using third party packages)

  • Rational interpolation of BRDF

  • Analytic BRDF models

  • Scripting mechanism to automatize fitting

ALTA has been supported by the ANR ALTA (ANR-11-BS02-006).

Facts:

Eigen

Participants: G. Guennebaud

Keywords: Linear algebra

Efficient numerical computation is central to many computer science domains. In particular, in computer graphics, space transformations and local regressions involve dense linear algebra, data interpolation and differential equations require sparse linear algebra, while more advanced problems involve non-linear optimization or spectral analysis. On the one hand, solutions such as MatLab are limited to prototyping. On the other hand, optimized libraries coming from the HPC (high performance computing) world are often tedious to use and more adapted for very large problems running on clusters. Moreover, all these solutions are very slow at handling very small but numerous problems which often arise in computer graphics, vision, or robotics. As a result, researchers of these domains used to waste a lot of time at either implementing their own half cooked solution, or dealing with dozens of complex to use libraries.

The objective of Eigen is to fill this gap by proposing an easy to use, efficient, and versatile C++ mathematical template library for linear algebra and related algorithms. In particular it provides fixed and dynamic size matrices and vectors, matrix decompositions (LU, LLT, LDLT, QR, eigenvalues, etc.), sparse matrices with iterative and direct solvers, some basic geometry features (transformations, quaternions, axis-angles, Euler angles, hyperplanes, lines, etc.), some non-linear solvers, automatic differentiations, etc. Thanks to expression templates, Eigen provides a very powerful and easy to use API. Explicit vectorization is performed for the SSE, AltiVec and ARM NEON instruction sets, with graceful fallback to non-vectorized code. Expression templates allow to perform global expression optimizations, and to remove unnecessary temporary objects.

Eigen is already a well established library with about 30k unique visitors of the website per month. Eigen is co-developed and maintained with a couple of other researchers and occasional contributors spread over the world. Its development started in 2008, and the last release is the 3.2 version in July 2013. Eigen has been supported by Inria through an ADT started in January 2012, and that ended in September 2013. Eigen received the “high-quality software in geometry processing award” from the Symposium on Geometry Processing 2013. Eigen is continuously and actively developed with this year an important refactoring of the expression evaluation mechanism, a divide & conquer SVD algorithm, support for AVX in collaboration with Google, and many other features.

Facts:

PatateLib

Participants: N. Mellado, G. Ciaudo, S. Boyé, G. Guennebaud, P. Barla

Keywords: multi-scale analysis, material appearance, vector graphics, expressive rendering, 2D animation

Patate is a header only C++/CUDA library for graphics applications released under the MPL license.

It provides a collection of Computer Graphics techniques that incorporate the latest innovations from Inria research teams working in the field. It strives for efficiency and ease-of-use by focusing on low-level core operators and key algorithms, organized in modules, each tackling a specific set of issues. The central goal of the library is to drastically reduce the time and efforts required to turn a research paper into a ready-to-use solution, for both commercial and academic purposes.

Each module is initially developed by a few persons, usually those who have authored the corresponding research papers. An engineer, Gautier Ciaudo, has been recruited via the ADT program to perform unit tests, bug tracking, and make examples. Our first module provides efficient methods for the fitting and analysis of point-clouds in arbitrary dimensions. It may be used for varied purposes such as curvature computation, surface reconstruction, scale-space analysis, image processing, and sketch vectorization. More modules will be developed in 2015 by Simon Boyé.

Facts:

PFSTools

Participant: I. Ihrke

Keywords: high dynamic range image processing, merging, calibration and tone-mapping

The pfstools package is a set of command line programs for reading, writing, manipulating and viewing high-dynamic range (HDR) images and video frames. All programs in the package exchange data using a simple generic high dynamic range image format, pfs , and they use unix pipes to pass data between programs and to construct complex image processing operations.

pfstools come with a library for reading and writing pfs files. The library can be used for writing custom applications that can integrate with the existing pfstools programs. It also offers a good integration with high-level mathematical programming languages, such as MATLAB or GNU Octave. pfstools can be used as an extension for MATLAB or Octave for reading and writing HDR images or simply to effectively store large matrices. The pfstools package integrates existing high dynamic range image formats by providing a simple data format that can be used to exchange data between applications. It is accompanied by the pfscalibration and pfstmo packages.

The pfscalibration package provides algorithms for the photometric calibration of cameras and for the recovery of high dynamic range (HDR) images from a set of low dynamic range (LDR) exposures. Maintenance of the pfscalibration package is performed by Ivo Ihrke since January 2011. A major update to make the software compatible with current digital SLR cameras and their raw file formats, especially for measurement purposes, has been performed. A new set of MATLAB scripts has been developed for improved calibration performance. It is intended to merge these new procedures into the existing software.

The pfstmo package contains the implementation of seven state-of-the-art tone mapping operators suitable for convenient processing of both static images and animations.

The software received wider interest in the Open Source community and third party contributors prepared installation packages which are included in several Linux distributions including Debian, Fedora and Suse.

Facts: