README.txt 3.47 KB
Newer Older
1 2 3 4 5 6 7 8 9
This is the repository for the ALTA library. ALTA is a set of cross-platform
command line executables and shared object plugins allowing to analyze, fit 
and understand BRDF data and models.

ALTA targets: people working on BRDFs and willing to benchmark new BRDF models
and compare them with state-of-the-art BRDF models and  data easily; people 
working on optical measurements and wanting to experiment different fitting 
procedures and models; or people wanting to perform statistical analysis on
your BRDF data.
PACANOWSKI Romain's avatar
PACANOWSKI Romain committed
10 11


12 13 14 15
1. Repository Organization
==========================

data/:      contains the data for which the fitting techniques are tested
Laurent Belcour's avatar
Laurent Belcour committed
16 17
            against. Files are separated by dimension of the input domain
            (e.g. 1d, 2d, 3d, ...).
18 19
configs/:   contains platform dependent configuration files for scons.
documents/: contains the documentation in doxygen format.
Laurent Belcour's avatar
Laurent Belcour committed
20 21
external/:  contains any third party library that needs to be used by ALTA.
            Contains a modified QuadProg++ library using Eigen. You can
22 23
            download and compile automaticaly some third party libraries using
            provided python scripts obtain_[libname].py.
24
sources/:   contains all the source files. 
25 26


27 28 29
2. Building
===========

30
ALTA uses SCons, a Python-based build system:
31

32
  http://scons.org/
33

34 35 36 37
To build ALTA, run a command like the following from the top-level source
directory (noted ${ALTA} in the remainder of this document):

  $ scons
38

39 40 41
If you want to use a specifi configuration (i.e. change the default compiler,
specify where some libaries should be found) you can use a configuration file
using the '--cfg [file]' option:
42

43 44 45 46
  $ scons --cfg=[config-file.py]

Here, 'config-file.py' must be replaced with a suitable configuration file for
your platform. For instance, when building with GCC on GNU/Linux, you may run:
47

48
  $ scons --cfg=configs/scons/config-linux-gcc.py
49

50 51 52
ALTA provide a Python interface for non command-line experts. However, this
interface is not build automatically. To build the Python interface, please
run the following command at the root of the repository:
53

54
  $ scons python
55

56 57
You can as well use a plateform specific configuration file using the '--cfg'
option.
58

59

60 61
3. Dependencies:
================
62

Laurent Belcour's avatar
Laurent Belcour committed
63
 ALTA core: Eigen
64
 Plugin rational_eigen:     Eigen 3.x
65
 Plugin rational_quadprog:  Quadprog++
Laurent Belcour's avatar
Laurent Belcour committed
66
 Plugin rational_cgal:      The CGAL library
67
 Plugin rational_parallel:  The OpenMP library, Quadprog++ library and Eigen
Laurent Belcour's avatar
Laurent Belcour committed
68
 Plugin rational_matlab:    Matlab engine (matlab.prf required)
69
 Plugin rational_parsec_*:  PLASMA coreblas, PaRSEC runtime
Laurent Belcour's avatar
Laurent Belcour committed
70
 Plugin nonlinear_eigen:    Eigen
Laurent Belcour's avatar
Laurent Belcour committed
71 72 73
 Plugin nonlinear_ceres:    CERES library and its dependencies
 Plugin nonlinear_nlopt:    NLOpt library and its dependencies
 Plugin nonlinear_ipopt:    IpOpt library and its dependencies
74

75

76 77
4. Use ALTA
===========
78

79 80 81
Once ALTA is compiled with its plugins, you can access the executables and
library in ${ALTA}/sources/build. To access them directly from the shell, you
can source the `setpath.sh` script at the root:
82

83
  $ source setpath.sh
84

85 86
This will expose the binary and plugins to the systeme and allow you to run
ALTA commands from anywhere.
87

88
For further use of ALTA, please refer to the documentation and tutorials.
89 90


91 92
5. Generate the documentation using Doxygen
===========================================
93

94 95
If you have doxygen installed on your system, you can build the documentation
(a static website) using the scons script:
96

97
  $ scons doc
98

99
The static website is then available at:
100

101
  ${ALTA}/documents/doxygen/html/index.html