Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 1 addition & 5 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,8 @@ build:
tools:
python: "miniconda3-3.12-24.9"

jobs:
pre_install:
- export PREFIX=$CONDA_PREFIX

conda:
environment: doc/environment.yml
environment: conda/environment.yml

sphinx:
# Path to your Sphinx configuration file.
Expand Down
32 changes: 0 additions & 32 deletions CMakeLists.txt

This file was deleted.

3 changes: 0 additions & 3 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
{{# pkglts, license

CeCILL-C FREE SOFTWARE LICENSE AGREEMENT


Expand Down Expand Up @@ -517,4 +515,3 @@ jurisdiction, by the more diligent Party.

Version 1.0 dated 2006-09-05.

#}
28 changes: 0 additions & 28 deletions MANIFEST.in

This file was deleted.

66 changes: 66 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# openalea.caribu

[![Documentation status](https://readthedocs.org/projects/caribu/badge/?version=latest)](https://caribu.readthedocs.io/en/latest/?badge=latest)
[![CI status](https://github.com/openalea/caribu/actions/workflows/openalea-ci.yml/badge.svg)](https://github.com/openalea/caribu/actions/workflows/openalea-ci.yml)
[![Anaconda version](https://anaconda.org/openalea3/openalea.caribu/badges/version.svg)](https://anaconda.org/openalea3/openalea.caribu)
[![Latest release date](https://anaconda.org/openalea3/openalea.caribu/badges/latest_release_date.svg)](https://anaconda.org/openalea3/openalea.caribu)
[![Platforms](https://anaconda.org/openalea3/openalea.caribu/badges/platforms.svg)](https://anaconda.org/openalea3/openalea.caribu)
[![License](https://anaconda.org/openalea3/openalea.caribu/badges/license.svg)](https://anaconda.org/openalea3/openalea.caribu)
[![Downloads](https://anaconda.org/openalea3/openalea.caribu/badges/downloads.svg)](https://anaconda.org/openalea3/openalea.caribu)

---

## What is Caribu?

Caribu is a modelling suite for lighting 3D virtual scenes, especially designed for the illumination of virtual plant canopies such as virtual crop fields.
It uses a special algorithm, the nested radiosity (Chelle et al., 1998), that allows for a precise estimation of light absorption at the level of small canopy elements (typically 1 cm²). It takes into account multiple scattering, allows for infinitisation of the scene (by virtual replication) and performs in a reasonable time (typically a few minutes).

The idea is to mix:
- a projection model (Z-buffer) that solves the first order illumination,
- a model that solves the radiosity equations for the light exchanges between a canopy element and its close neighbourhood,
- and a model that solves turbid medium equations for the exchanges between a canopy element and the rest of the canopy.

**Reference:**
Michael Chelle, Bruno Andrieu, K. Bouatouch. Nested radiosity for plant canopies. *The Visual Computer*, 1998, 14, pp.109-125. [10.1007/s003710050127](https://doi.org/10.1007/s003710050127). [hal-02697207](https://hal.inrae.fr/hal-04945340v1)

## Content

The suite is composed of two main sub-models : MCSail, that computes turbid
medium equations on a layered canopy (derived from the SAIL model (Verhoef, 1984) and Canestra, that computes radiosity
and projection. The suite also includes two utilities : periodise, that
makes a scene suitable for infinite replication and S2v, that transforms a
3D scene in a 1D multi-layer system.

It operates on a special scene object called Caribuscene, composed of a list
of triangles with optical properties representing the plants, a set of
direction and intensities (called light sources) representing the sky and
a pattern delimiting the scene, used for infinitisation.

This model is completed with a set of utilities for visualisation
(using PlantGL), import of caribuscene from files or MTG, and tools for
building light sources from meteorological data

Ref: Wout Verhoef (1984), Light scattering by leaf layers with application to canopy reflectance modeling: the SAIL model. Remote Sensing of Environment, 16, 125-141


## Installation

### Users

```bash
mamba env create -n caribu -c openalea3 -c conda-forge openalea.caribu
```

### Developers

```bash
git clone 'https://github.com/openalea/caribu.git'
cd caribu
# unix (conda required as mamba does not instantiate env vars)
mamba env create -n caribu_dev -f ./conda/environment.yml
```

## License

**Caribu** is released under the open source **CeCILL-C license**.
See the [LICENSE](LICENSE) file.
122 changes: 0 additions & 122 deletions README.rst

This file was deleted.

63 changes: 0 additions & 63 deletions SConstruct

This file was deleted.

4 changes: 0 additions & 4 deletions conda/conda_build_config.yaml

This file was deleted.

12 changes: 10 additions & 2 deletions conda/environment.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
channels:
- openalea3/label/dev
- openalea3/label/rc
- openalea3
- conda-forge
dependencies:
- openalea.mtg
- openalea.plantgl
- python
- pandoc
- openalea.libcaribu
- openalea.plantgl
- openalea.widgets
- pip
- pip:
- -e ..[doc,test]
Loading
Loading