# pyotb: Orfeo ToolBox for Python
[![latest release](https://forgemia.inra.fr/orfeo-toolbox/pyotb/-/badges/release.svg)](https://forgemia.inra.fr/orfeo-toolbox/pyotb/-/releases)
[![pipeline status](https://forgemia.inra.fr/orfeo-toolbox/pyotb/badges/develop/pipeline.svg)](https://forgemia.inra.fr/orfeo-toolbox/pyotb/-/commits/develop)
[![coverage report](https://forgemia.inra.fr/orfeo-toolbox/pyotb/badges/develop/coverage.svg)](https://forgemia.inra.fr/orfeo-toolbox/pyotb/-/commits/develop)
[![read the docs status](https://readthedocs.org/projects/pyotb/badge/?version=master)](https://pyotb.readthedocs.io/en/master/)
**pyotb** wraps the [Orfeo Toolbox](https://www.orfeo-toolbox.org/) in a pythonic, developer friendly
fashion.
## Key features
- Easy use of Orfeo ToolBox (OTB) applications from python
- Simplify common sophisticated I/O features of OTB
- Lazy execution of operations thanks to OTB streaming mechanism
- Interoperable with popular python libraries ([numpy](https://numpy.org/) and
[rasterio](https://rasterio.readthedocs.io/))
- Extensible
Documentation hosted at [pyotb.readthedocs.io](https://pyotb.readthedocs.io/).
## Example
Building a simple pipeline with OTB applications
```py
import pyotb
# RigidTransformResample, with input parameters as dict
resampled = pyotb.RigidTransformResample({
"in": "https://myserver.ia/input.tif", # Note: no /vsicurl/
"interpolator": "linear",
"transform.type.id.scaley": 0.5,
"transform.type.id.scalex": 0.5
})
# OpticalCalibration, with input parameters as args
calib = pyotb.OpticalCalibration(resampled)
# BandMath, with input parameters as kwargs
ndvi = pyotb.BandMath(calib, exp="ndvi(im1b1, im1b4)")
# Pythonic slicing
roi = ndvi[20:586, 9:572]
# Pipeline execution. The actual computation happens here!
roi.write("output.tif", "float")
```
Raw data
{
"_id": null,
"home_page": null,
"name": "pyotb",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "gis, remote sensing, otb, orfeotoolbox, orfeo toolbox",
"author": "Nicolas Nar\u00e7on, Vincent Delbar",
"author_email": "R\u00e9mi Cresson <remi.cresson@inrae.fr>",
"download_url": "https://files.pythonhosted.org/packages/39/28/24909e2e5ced0373f6fb6cca862e22cde4e6cb3e6b3c4802e55a68aba2d8/pyotb-2.1.0.tar.gz",
"platform": null,
"description": "# pyotb: Orfeo ToolBox for Python\n\n[![latest release](https://forgemia.inra.fr/orfeo-toolbox/pyotb/-/badges/release.svg)](https://forgemia.inra.fr/orfeo-toolbox/pyotb/-/releases)\n[![pipeline status](https://forgemia.inra.fr/orfeo-toolbox/pyotb/badges/develop/pipeline.svg)](https://forgemia.inra.fr/orfeo-toolbox/pyotb/-/commits/develop)\n[![coverage report](https://forgemia.inra.fr/orfeo-toolbox/pyotb/badges/develop/coverage.svg)](https://forgemia.inra.fr/orfeo-toolbox/pyotb/-/commits/develop)\n[![read the docs status](https://readthedocs.org/projects/pyotb/badge/?version=master)](https://pyotb.readthedocs.io/en/master/)\n\n**pyotb** wraps the [Orfeo Toolbox](https://www.orfeo-toolbox.org/) in a pythonic, developer friendly \nfashion. \n\n## Key features\n\n- Easy use of Orfeo ToolBox (OTB) applications from python\n- Simplify common sophisticated I/O features of OTB\n- Lazy execution of operations thanks to OTB streaming mechanism\n- Interoperable with popular python libraries ([numpy](https://numpy.org/) and \n[rasterio](https://rasterio.readthedocs.io/))\n- Extensible\n\nDocumentation hosted at [pyotb.readthedocs.io](https://pyotb.readthedocs.io/).\n\n## Example\n\nBuilding a simple pipeline with OTB applications\n\n```py\nimport pyotb\n\n# RigidTransformResample, with input parameters as dict\nresampled = pyotb.RigidTransformResample({\n \"in\": \"https://myserver.ia/input.tif\", # Note: no /vsicurl/\n \"interpolator\": \"linear\", \n \"transform.type.id.scaley\": 0.5,\n \"transform.type.id.scalex\": 0.5\n})\n\n# OpticalCalibration, with input parameters as args\ncalib = pyotb.OpticalCalibration(resampled)\n\n# BandMath, with input parameters as kwargs\nndvi = pyotb.BandMath(calib, exp=\"ndvi(im1b1, im1b4)\")\n\n# Pythonic slicing\nroi = ndvi[20:586, 9:572]\n\n# Pipeline execution. The actual computation happens here!\nroi.write(\"output.tif\", \"float\")\n```\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Library to enable easy use of the Orfeo ToolBox (OTB) in Python",
"version": "2.1.0",
"project_urls": {
"documentation": "https://pyotb.readthedocs.io",
"homepage": "https://github.com/orfeotoolbox/pyotb",
"repository": "https://forgemia.inra.fr/orfeo-toolbox/pyotb"
},
"split_keywords": [
"gis",
" remote sensing",
" otb",
" orfeotoolbox",
" orfeo toolbox"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "7236a5730c0a7080630492dc35a434ae954dce9d1eba7e88608a86b6ceb647a4",
"md5": "8c55b322f48b1e095c186af231e8f835",
"sha256": "4d03e46a35adf75d931f7752c50074dc30e61ac2e2942ea5214a0b42f574f2c9"
},
"downloads": -1,
"filename": "pyotb-2.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8c55b322f48b1e095c186af231e8f835",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 40656,
"upload_time": "2024-10-09T17:58:28",
"upload_time_iso_8601": "2024-10-09T17:58:28.599819Z",
"url": "https://files.pythonhosted.org/packages/72/36/a5730c0a7080630492dc35a434ae954dce9d1eba7e88608a86b6ceb647a4/pyotb-2.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "392824909e2e5ced0373f6fb6cca862e22cde4e6cb3e6b3c4802e55a68aba2d8",
"md5": "033520d12970f523c38b29d19759e7ac",
"sha256": "6eae3dae6410015e6edc20b9da2cceca2b139754318ef08c506f9006429be70d"
},
"downloads": -1,
"filename": "pyotb-2.1.0.tar.gz",
"has_sig": false,
"md5_digest": "033520d12970f523c38b29d19759e7ac",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 45626,
"upload_time": "2024-10-09T17:58:30",
"upload_time_iso_8601": "2024-10-09T17:58:30.452784Z",
"url": "https://files.pythonhosted.org/packages/39/28/24909e2e5ced0373f6fb6cca862e22cde4e6cb3e6b3c4802e55a68aba2d8/pyotb-2.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-09 17:58:30",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "orfeotoolbox",
"github_project": "pyotb",
"travis_ci": false,
"coveralls": true,
"github_actions": false,
"lcname": "pyotb"
}