https://github.com/jbferet/prosail
R package dedicated to the PROSAIL canopy reflectance model. The package allows running PROSAIL in direct and inverse modes, with various inversion strategies. A tutorial can be found on the gitlab website
https://github.com/jbferet/prosail
prosail prospect radiative-transfer-models remote-sensing vegetation
Last synced: 2 months ago
JSON representation
R package dedicated to the PROSAIL canopy reflectance model. The package allows running PROSAIL in direct and inverse modes, with various inversion strategies. A tutorial can be found on the gitlab website
- Host: GitHub
- URL: https://github.com/jbferet/prosail
- Owner: jbferet
- License: other
- Created: 2021-10-08T12:00:10.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2026-05-06T09:40:36.000Z (3 months ago)
- Last Synced: 2026-05-06T11:18:49.048Z (3 months ago)
- Topics: prosail, prospect, radiative-transfer-models, remote-sensing, vegetation
- Language: R
- Homepage: https://jbferet.gitlab.io/prosail/
- Size: 67.9 MB
- Stars: 23
- Watchers: 1
- Forks: 9
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: NEWS.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# __prosail__ 
# An R package for the simulation of canopy reflectance using the model PROSAIL (PROSPECT+SAIL).
[](https://www.r-project.org/Licenses/MIT)
[](https://gitlab.com/jbferet/prosail/pipelines/latest)
[](https://joss.theoj.org/papers/993d57e5a349d7365161dda9cccfd58f)
# 1 Requirements
## Install `remotes`
Install the package `remotes`:
```
install.packages("remotes")
```
## Install `prospect`
Install the package `prospect` with the following command line in R session:
```
remotes::install_github('jbferet/prospect')
```
## Install liquidSVM (optional)
`prosail` uses Support Vector Regression (SVR) for hybrid inversion.
The default SVM implementation is currently based on the package
[`liquidSVM`](http://pnp.mathematik.uni-stuttgart.de/isa/steinwart/software/R/documentation.html).
[`liquidSVM`](https://arxiv.org/pdf/1702.06899v1.pdf) provides very efficient and
fully-integrated hyper-parameter selection, multithreading and GPU support.
However, this package is not maintained anymore and may cause difficulties during
the installation.
To install `liquidSVM`, please follow installation instructions provided in the
[documentation webpage](http://pnp.mathematik.uni-stuttgart.de/isa/steinwart/software/R/documentation.html).
### !!! WINDOWS USERS !!!
Once `liquidSVM` is installed, you will need to add the 32bit DLL into the R library.
This `i386` directory should be downloaded [here](https://gitlab.com/jbferet/myshareddata/-/tree/master/LiquidSVM_32bits)
and copied into the local directory on your computer, where the binary codes of liquidSVM are installed:
`Path_For_My_R_distribution/library/liquidSVM/libs/`.
### If liquidSVM installation fails
`liquidSVM` is a suggested package, so the installation of `prosail` should
succeed even without `liquidSVM`.
Two main functions using `liquidSVM` as default may be impacted:
`train_prosail_inversion` and `prosail_hybrid_train`.
If `liquidSVM` is not properly installed, `prosail` automatically switches to
the `ksvm` function of the [`kernlab`](https://cran.r-project.org/web/packages/kernlab/kernlab.pdf)
package with nu regression and RBF kernel.
This is also accessible if setting `method <- 'nu-svr'` when calling
`train_prosail_inversion` and `prosail_hybrid_train`.
An SVM implementation based on the R package [`caret`](https://topepo.github.io/caret/)
is also available, with linear (`method <- 'nu-svr'`) or RBF
(`method <- 'nu-svr'`) kernel.
**WARNING : **
**optimal performances are obtained with liquidSVM.**
**caret implementation may need significantly longer time for training and application stages.**
# 2 Install `prosail`
The package `prosail` can then be installed with the following command line in R session:
```
remotes::install_github('jbferet/prosail')
```
**WARNING : **
**many functions have been renamed in v3.0 of the package.**
**The documentation has been updated accordingly.**
**Please refer to the documentation for additional information.**
# 3 Tutorial
The tutorial vignettes start
[here](https://jbferet.gitlab.io/prosail/articles/prosail1.html).
# 4 Acknowledgments / Fundings
This research was supported by the Agence Nationale de la Recherche ([ANR](https://anr.fr/en/open-calls-and-preannouncements/), France) through the young researchers project **BioCop** (ANR-17-CE32-0001)
We thank [Ingo Steinwart](ingo.steinwart@mathematik.uni-stuttgart.de) and [Philipp Thomann](philipp.thomann@mathematik.uni-stuttgart.de) (Institute for Stochastics and Applications, University of Stuttgart, Germany) for the development of the package `liquidSVM`.
# 5 Citation
If you use **prosail**, please consider citing the following references when appropriate :
### PROSPECT
Féret, J.-B. & de Boissieu, F. (2024). `prospect`: an R package to link leaf optical properties with their chemical and structural properties with the leaf model PROSPECT. Journal of Open Source Software, 9(94), 6027, https://doi.org/10.21105/joss.06027
Féret J-B, Gitelson AA, Noble SD & Jacquemoud S, 2017. PROSPECT-D: Towards modeling leaf optical properties through a complete lifecycle. Remote Sensing of Environment, 193, 204–215. https://doi.org/10.1016/j.rse.2017.03.004
Féret J-B, Berger K, de Boissieu F & Malenovský Z, 2021. PROSPECT-PRO for estimating content of nitrogen-containing leaf proteins and other carbon-based constituents. Remote Sensing of Environment, 252, 112173. https://doi.org/10.1016/j.rse.2020.112173
### PROSAIL
Jacquemoud S, Verhoef W, Baret F, Bacour C, Zarco-Tejada PJ, Asner GP, François C & Ustin SL, 2009. PROSPECT+ SAIL models: A review of use for vegetation characterization. Remote Sensing of Environment, 113:S56–S66. https://doi.org/doi:10.1016/j.rse.2008.01.026
Berger K, Atzberger C, Danner M, D’Urso G, Mauser W, Vuolo F & Hank T 2018. Evaluation of the PROSAIL Model Capabilities for Future Hyperspectral Model Environments: A Review Study. Remote Sensing, 10:85. https://doi.org/10.3390/rs10010085
### 4SAIL & 4SAIL2
Verhoef W & Bach H, 2007. Coupled soil–leaf-canopy and atmosphere radiative transfer modeling to simulate hyperspectral multi-angular surface reflectance and TOA radiance data. Remote Sensing of Environment, 109:166-182. https://doi.org/10.1016/j.rse.2006.12.013
Verhoef W, Jia L, Xiao Q & Su Z, 2007. Unified optical-thermal four-stream radiative transfer theory for homogeneous vegetation canopies. IEEE Transactions in Geosciences and Remote Sensing, 45:1808–1822. https://doi.org/10.1109/TGRS.2007.895844
### liquidSVM
Steinwart I & Thomann P (2017). liquidSVM: A Fast and Versatile SVM package. [__ArXiv e-prints 1702.06899__](https://doi.org/10.48550/arXiv.1702.06899), http://www.isa.uni-stuttgart.de/software
### SOILSPECT
Jacquemoud S, Baret F, Hanocq J-F, 1992. Modeling spectral and bidirectional soil reflectance. Remote Sensing of Environment, 41, 123–132. https://doi.org/10.1016/0034-4257(92)90072-R