spectralindices.jl
Access and computation of any spectral index in the Awesome Spectral Indices collection natively in Julia
https://github.com/awesome-spectral-indices/spectralindices.jl
Science Score: 57.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 4 DOI reference(s) in README -
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.2%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Access and computation of any spectral index in the Awesome Spectral Indices collection natively in Julia
Basic Info
- Host: GitHub
- Owner: awesome-spectral-indices
- License: mit
- Language: Julia
- Default Branch: main
- Homepage: https://awesome-spectral-indices.github.io/SpectralIndices.jl/dev/
- Size: 7.69 MB
Statistics
- Stars: 21
- Watchers: 2
- Forks: 2
- Open Issues: 14
- Releases: 23
Topics
Metadata Files
README.md
SpectralIndices.jl
| Documentation | Build Status | Julia | Testing |
|:-----------------:|:----------------:|:---------:|:-----------:|
| |
|
|
|
Overview 📖
SpectralIndices.jl is a Julia package for working with spectral indices commonly used in remote sensing and earth observation applications. It provides a convenient way to compute various spectral indices using Julia's high-performance capabilities.
Features 🚀
- Computation for a wide range of spectral indices
- Computation support for
Float64,Float32andFloat16at index formula level to support fast computation for ML applications - Support for various data types, including but not limited to (see this issue for an updated list and WIP)
- [x] Arrays
- [x] DataFrames
- [x] YAXArrays
- Flexible parameter input options
- Compatibility with multiple remote sensing platforms and sensors
Installation 💻
SpectralIndices.jl is registered in the general registry, please install it using the following:
julia_repl
julia> ]
pkg> add SpectralIndices
or
julia
using Pkg
Pkg.add("SpectralIndices")
Usage 🛠️
```julia using SpectralIndices using DataFrames
Compute NDVI with direct parameter input
result = compute_index("NDVI", N = 0.643, R = 0.175)
Compute NDVI with direct parameter input and direct NDVI call
result = compute_index(NDVI, N = 0.643, R = 0.175)
Compute multiple indices with array inputs
multiresult = computeindex(["NDVI", "SAVI"], N = fill(0.643, 5), R = fill(0.175, 5), L = fill(0.5, 5))
use Dataframes
df = DataFrame(N = [0.643, 0.560], R = [0.175, 0.225]) resultdfsingle = compute_index("NDVI", df)
Multiple inputs in a dataframe
df = DataFrame(N = [0.643, 0.560], R = [0.175, 0.225], L = [0.5, 0.5]) resultdfmultiple = compute_index(["NDVI", "SAVI"], df) ```
To compute at custom Float precision input the bands at the chosen precision and specify the Float type to the compute_index function
```julia
Compute NDVI with direct parameter input
result = compute_index(Float32, "NDVI", N = Float32(0.643), R = Float32(0.175)) ```
Code Structure
Contributing 🤝
Contributions to SpectralIndices.jl are welcome! If you would like to contribute, please see our Contribution Guidelines for more information.
License 📜
SpectralIndices.jl is licensed under the MIT License. See LICENSE for more information.
Acknowledgments ✨
This package is inspired by the Spyndex Python library for spectral indices. The logo is AI-generated by dalle3 through ChatGPT and modified by the talented David Montero.
Support 🆘
If you have any questions, issues, or feature requests, please open an issue or contact us via email.
Citation 🔗
If you use SpectralIndices.jl in your research, please consider citing it using the following DOI:
bibtex
@article{martinuzzi2024spectral,
title = {SpectralIndices.jl: Streamlining spectral indices access and computation for Earth system research},
volume = {XLVIII-4/W12-2024},
ISSN = {2194-9034},
url = {http://dx.doi.org/10.5194/isprs-archives-XLVIII-4-W12-2024-89-2024},
DOI = {10.5194/isprs-archives-xlviii-4-w12-2024-89-2024},
journal = {The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences},
publisher = {Copernicus GmbH},
author = {Martinuzzi, Francesco and Mahecha, Miguel D. and Montero, David and Alonso, Lazaro and Mora, Karin},
year = {2024},
month = jun,
pages = {89–95}
}
Also consider citing the paper introducing the Awesome Spectral Indices collection:
bibtex
@article{montero2023standardized,
title={A standardized catalogue of spectral indices to advance the use of remote sensing in Earth system research},
author={Montero, David and Aybar, C{\'e}sar and Mahecha, Miguel D and Martinuzzi, Francesco and S{\"o}chting, Maximilian and Wieneke, Sebastian},
journal={Scientific Data},
volume={10},
number={1},
pages={197},
year={2023},
publisher={Nature Publishing Group UK London}
}

Owner
- Name: Awesome Spectral Indices
- Login: awesome-spectral-indices
- Kind: organization
- Repositories: 4
- Profile: https://github.com/awesome-spectral-indices
Awesome Spectral Indices Ecosystem Organization
Citation (CITATION.bib)
@article{martinuzzi2024spectral,
title = {SpectralIndices.jl: Streamlining spectral indices access and computation for Earth system research},
volume = {XLVIII-4/W12-2024},
ISSN = {2194-9034},
url = {http://dx.doi.org/10.5194/isprs-archives-XLVIII-4-W12-2024-89-2024},
DOI = {10.5194/isprs-archives-xlviii-4-w12-2024-89-2024},
journal = {The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences},
publisher = {Copernicus GmbH},
author = {Martinuzzi, Francesco and Mahecha, Miguel D. and Montero, David and Alonso, Lazaro and Mora, Karin},
year = {2024},
month = jun,
pages = {89–95}
}
@article{montero2023standardized,
title={A standardized catalogue of spectral indices to advance the use of remote sensing in Earth system research},
author={Montero, David and Aybar, C{\'e}sar and Mahecha, Miguel D and Martinuzzi, Francesco and S{\"o}chting, Maximilian and Wieneke, Sebastian},
journal={Scientific Data},
volume={10},
number={1},
pages={197},
year={2023},
publisher={Nature Publishing Group UK London}
}
GitHub Events
Total
- Create event: 13
- Commit comment event: 8
- Release event: 2
- Issues event: 1
- Watch event: 3
- Delete event: 13
- Issue comment event: 11
- Push event: 53
- Pull request review event: 2
- Pull request review comment event: 2
- Pull request event: 22
Last Year
- Create event: 13
- Commit comment event: 8
- Release event: 2
- Issues event: 1
- Watch event: 3
- Delete event: 13
- Issue comment event: 11
- Push event: 53
- Pull request review event: 2
- Pull request review comment event: 2
- Pull request event: 22
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| MartinuzziFrancesco | m****o@g****m | 169 |
| CompatHelper Julia | c****y@j****g | 7 |
| Lazaro Alonso | l****n@g****m | 3 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 6
- Total pull requests: 44
- Average time to close issues: 5 days
- Average time to close pull requests: 21 days
- Total issue authors: 2
- Total pull request authors: 2
- Average comments per issue: 4.17
- Average comments per pull request: 0.61
- Merged pull requests: 33
- Bot issues: 0
- Bot pull requests: 13
Past Year
- Issues: 0
- Pull requests: 22
- Average time to close issues: N/A
- Average time to close pull requests: 4 days
- Issue authors: 0
- Pull request authors: 2
- Average comments per issue: 0
- Average comments per pull request: 0.73
- Merged pull requests: 13
- Bot issues: 0
- Bot pull requests: 5
Top Authors
Issue Authors
- MartinuzziFrancesco (12)
- gdkrmr (1)
- JuliaTagBot (1)
Pull Request Authors
- MartinuzziFrancesco (71)
- github-actions[bot] (18)
- lazarusA (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- JuliaRegistries/TagBot v1 composite
- actions/cache v1 composite
- actions/checkout v2 composite
- codecov/codecov-action v1 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v1 composite
- julia-actions/setup-julia v1 composite