diff --git a/README.md b/README.md index ab92546..61568e4 100644 --- a/README.md +++ b/README.md @@ -29,21 +29,22 @@ [jet-img]: https://img.shields.io/badge/%E2%9C%88%EF%B8%8F%20tested%20with%20-%20JET.jl%20-%20red [jet-url]: https://github.com/aviatesk/JET.jl -## Overview +## 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 +## Features 🚀 -- Compute a wide range of spectral indices. +- Computation for a wide range of spectral indices +- Computation support for `Float64`, `Float32` and `Float16` at index formula level to support fast computation for ML applications - Support for various data types, including but not limited to (see this [issue](https://github.com/awesome-spectral-indices/SpectralIndices.jl/issues/8) for an updated list and WIP) - [x] Arrays - [x] DataFrames - [x] YAXArrays -- Flexible parameter input options. -- Compatibility with multiple remote sensing platforms and sensors. +- Flexible parameter input options +- Compatibility with multiple remote sensing platforms and sensors -## Installation +## Installation 💻 SpectralIndices.jl is registered in the general registry, please install it using the following: ```julia_repl julia> ] @@ -55,7 +56,7 @@ using Pkg Pkg.add("SpectralIndices") ``` -## Usage +## Usage 🛠️ You can compute spectral indices either by specifying the index and its parameters or using predefined SpectralIndex instances. @@ -78,6 +79,12 @@ df = DataFrame(N = [0.643, 0.560], R = [0.175, 0.225], L = [0.5, 0.5]) result_df_multiple = 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)) +``` + ### Using `compute` ```julia # Define a SpectralIndex instance @@ -89,31 +96,25 @@ result = compute(NDVI, N = 0.643, R = 0.175) #NDVI is autmatically in namespace array_result = compute(NDVI, N = fill(0.643, (5, 5)), R = fill(0.175, (5, 5))) ``` -### Direct computation -SpectralIndices.jl also allows for direct computation using function calls: -```julia -result = NDVI(0.643, 0.175) -``` - For more advanced usage and detailed documentation, please refer to the documentation. -## Contributing +## Contributing 🤝 Contributions to SpectralIndices.jl are welcome! If you would like to contribute, please see our Contribution Guidelines for more information. -## License +## License 📜 SpectralIndices.jl is licensed under the MIT License. See [LICENSE](https://github.com/awesome-spectral-indices/SpectralIndices.jl/blob/main/LICENSE) for more information. -## Acknowledgments +## Acknowledgments ✨ This package is inspired by the [Spyndex](https://github.com/awesome-spectral-indices/spyndex) Python library for spectral indices. The logo is AI-generated by dalle3 through ChatGPT and modified by the talented [David Montero](https://github.com/davemlz). -## Support +## Support 🆘 If you have any questions, issues, or feature requests, please open an issue or contact us via email. -## Citation +## Citation 🔗 If you use SpectralIndices.jl in your research, please consider citing it using the following DOI: