Install with Orfeo Toolbox

Dependencies

Besides third-parties python packages, this CARS installation depends therefore on OTB and also VLFeat

  • Check OTB install:

    • OTB environment has to be setup:

      • OTB applications are working. Example: otbcli_ReadImageInfo -in some_image.tif

      • OTB_APPLICATION_PATH is set.

      • GDAL must work (gdal-config –version must be available)

  • Check Vlfeat install with following global environment variables:

    • VLFEAT_INCLUDE_DIR: should be set with the path of the vl folder of the VLFeat library.

    • VLFEAT_LIBRARY_DIR: should be set with the parent path of the libvl.so file obtained after the VLFeat library compilation.

See CARS Dockerfile example for detailed steps.

Quick install

  • Clone CARS source code (choose version)

$ git clone --depth 1 https://github.com/CNES/cars.git # For latest version
$ git clone --depth 1 --branch LAST_TAG https://github.com/CNES/cars.git # For latest stable version
  • Install CARS

$ cd cars
$ make install  # Cars is installed in `venv` directory
  • Run CARS in virtualenv

$ source venv/bin/activate
$ source venv/bin/env_cars.sh
$ cars -h

Advanced Install

This chapter further explains the content and behavior of make install (see the Makefile).

Virtualenv

First create a virtualenv and upgrade main pip packages.

$ virtualenv -p python venv/
$ source venv/bin/activate
$ python3 -m pip install --upgrade pip setuptools

Required python packages

CARS python package requires some python packages:

  • numpy, cython: They have to be installed at first, otherwise some dependencies won’t be correctly installed.

  • fiona, rasterio, pygdal: On some systems, they have to be installed from sources to match local GDAL version.

Here are the corresponding commands to install these requirements:

$ virtualenv -p python venv/
$ source venv/bin/activate
$ python3 -m pip install --upgrade cython numpy
$ python3 -m pip install --no-binary fiona fiona
$ python3 -m pip install --no-binary rasterio rasterio
$ python3 -m pip install pygdal=="$(gdal-config --version).*"

To manually install CARS core dense matching correlator, see the Pandora documentation.

CARS OTB Application Compilation

CARS internal OTB remote modules must be built:

$ mkdir -p cars/build
$ cd cars/build
$ cmake -DOTB_BUILD_MODULE_AS_STANDALONE=ON -DCMAKE_BUILD_TYPE=Release -DVLFEAT_INCLUDE_DIR=$VLFEAT_INCLUDE_DIR ../otb_remote_module
$ make

Environment variables

The script env_cars.sh sets several environment variables impacting dask, ITK, OTB, numba and GDAL configurations.

For CARS internal OTB remote modules, the PATH, PYTHONPATH, LD_LIBRARY_PATH and OTB_APPLICATION_PATH environment variables have also to be set.

CARS manual install

Then, to install CARS:

$ cd cars
$ pip install .

You can use pip install .[docs] and/or pip install .[dev] to install specific dependencies that are not required to run CARS.

Follow User guide to run and configure CARS.