Release 2025 notes#

Openalea Improvements#

  • OpenAlea Guidelines: guide lines for all the OpenAlea packages

    • openalea namespace is now consistent across packages: openalea/pkg_name replace alinea/pkg_name (modelers)

    • conda packaging:

      • New Mac OS X architecture (M1, …): support osx-arm64 on top of osx-64 architecture (user)

      • all packages have a conda directory with meta.yaml using metadata from pyproject.toml for conda packaging and a environment.yml file (developers)

      • environment.yml is used to build documentation and also to install locally package in development mode

        mamba env create -f conda/environment.yml
        
      • continuous integration (developers):

      • installation via conda is now for all packages in the release:

        mamba install openalea.pkg_name -c openalea3
        
    • all packages but openalea.plantgl are locally pip installable

      • setup.py is replaced by pyproject.toml

      • package can be installed by running pip install . or in editable mode pip install -e . in root directory of the project

      • openalea.ratp is not working in editable mode

    • all packages have documentation (user and reference)

Release Packages#

The foolowing packages are part of the 2025 release.

FSPM formalism and data structure#

  • openalea.plantgl: 3D Plant Geometric Library

  • openalea.lpy: L-System Plant Simulation Environment

  • openalea.mtg: Multiscale Tree Graph datastructure and algorithms

  • openalea.rsml: Data format for Root System, compatible with MTG

Software Platform and Scientific Workflow System#

  • openalea.core: Main Component software formalisms and implementation

  • openalea.visualea: Visual Programming Environment

  • openalea.grapheditor: Generic Graph Edition, interaction and Visualisation with OpenAlea/VisuAlea

  • openalea.scipack: Scientific Python Stack for VisuAlea

  • openalea.oalab: Make your application reusable!

  • openalea.widgets: Jupyter Widgets for MTG, PlantGL, and LPy

Light Interception & Ecophysiology#

  • openalea.caribu: Light Intercetion by Plants

  • openalea.ratp: Radiation, Absorption, Transpiration, and Photosynthesis

  • openalea.spice: Fast Path Tracer for Light Interception

  • openalea.astk: Sky luminance and sky sources from Weather data

FunctionalStructural Plant Models aka FSPM#

  • openalea.hydroroot: Simulating and phenotyping Root Hydraulic Architecture

  • openalea.hydroshoot: Simulating Shoot Hydraulic Transport, Leaf Energy budget, and Gas Exchange Fluxes.

Plant simulation and 3D reconstruction#

  • openalea.adel: 3D reconstruction of Maize and Wheat

  • openalea.weberpenn: 3D Generation of Trees from Parameters


Main changes, GitHub and documentation link are listed for each packages below.

openalea.plantgl 3.22.3#

openalea.lpy 3.15.4#

openalea.core 2.5.0#

openalea.mtg 2.3.0#

openalea.widgets 1.1.2#

import oawidgets
from oawidgets import *

do

import openalea.widgets
from openalea.widgets import *

openalea.scipack 2.5.2#

openalea.grapheditor 2.5.0#

openalea.oalab 2.5.0#

openalea.visualea 2.5.0#

openalea.weberpenn 2.5.0#

openalea.rsml 1.5.0#

import rsml
from rsml import *

do

import openalea.rsml
from openalea.rsml import *

openalea.caribu 8.2.1#

  • https://github.com/openalea/caribu

  • Documentation: https://caribu.readthedocs.io

  • Caribu is a modelling suite for lighting 3D virtual scenes, especially designed for the illumination of virtual plant canopies such as virtual crop fields.

  • Caribu has been split in two packages: openalea.caribu pure python and openalea.libcaribu with c++ code.

  • namespace changed from alinea.caribu to openalea.caribu instead of

import alinea.caribu
from alinea.caribu.caribu import radiosity

do

import openalea.caribu
from openalea.caribu.caribu import radiosity

openalea.astk 3.1.0#

import alinea.astk
from alinea.astk.Weather import Weather

do

import openalea.astk
from openalea.astk.Weather import Weather

openalea.adel 2.1.1#

import alinea.adel
from alinea.adel import *

do

import openalea.adel
from openalea.adel import *

openalea.ratp 2.2.0#

import alinea.pyratp
from alinea.pyratp.skyvault import Skyvault

do

import openalea.ratp
from openalea.ratp.skyvault import Skyvault

openalea.spice 1.1.0#

openalea.hydroroot 2.1.0#

import hydroroot
from hydroroot import *

do

import openalea.hydroroot
from openalea.hydroroot import *

openalea.hydroshoot 5.3.0#

import hydroshoot
from hydroshoot import *

do

import openalea.hydroshoot
from openalea.hydroshoot import *

openalea.wheatfspm#

  • https://github.com/openalea/WheatFspm

  • Documentation: https://wheatfspm.readthedocs.io

  • WheatFspm is a Functional Structural Plant Model (FSPM) of wheat which fully integrates shoot morphogenesis and the metabolism of carbon (C) and nitrogen (N) at organ scale within a 3D representation of plant architecture.

  • It now regroups in one model: CN-Wheat, Elong-Wheat, fspm-wheat, Growth-Wheat, Farquhar-Wheat, Respi-Wheat, Senesc-Wheat

  • namespace changed from fspmwheat to openalea.fspmwheat, idem for cnwheat, elongwheat, farquharwheat, growthwheat, respiwheat, senescwheat instead of

from fspmwheat import *
from cnwheat import *
from elongwheat import *
from farquharwheat import *
from growthwheat import *
from respiwheat import *
from senescwheat import *

do

from openalea.fspmwheat import *
from openalea.cnwheat import *
from openalea.elongwheat import *
from openalea.farquharwheat import *
from openalea.growthwheat import *
from openalea.respiwheat import *
from openalea.senescwheat import *

openalea.phenomenal 1.10.4#

  • https://github.com/openalea/phenomenal

  • Documentation: https://phenomenal.readthedocs.io

  • An automatic open source library for 3D shoot architecture reconstruction and analysis for image-based plant phenotyping

  • optional package openalea.phenotyping_data provides Data from plant phenotyping platform primarly aimed at desmonstrating/testing openalea.phenomenal, needed to run some of the tutorials

  • Calibration has been extented to n-cameras n-calibration targets cases, and with simpler parameterisation