Open-EO / Open-EO/openeo-python-client

revisit "spectral indices" API

Open
#256 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

architecture clean up documentation usability
Dominant language
Python
Stars
217
Forks
56
Avg merge
1d 22h
Merged PRs (30d)
2

Description

in #255 a new feature was added to easily calculate (multiple) spectral indices on a given data cube (EP-4053).

I think there is room to streamline this initial/experimental API:

  • there are 6 very similar functions : compute_and_rescale_indices, append_and_rescale_indices, compute_indices, append_indices, compute_index, append_index I think these can be combined to a smaller set with just additional arguments/options
  • the API to set up rescaling is a bit cumbersome:
    • if you discard the input data (instead of appending indices), you still have to specify input/output ranges for "collection"
    • you have to repeat the output_range, while you probably use the same for each index and input band
    • the index_dict has no explicit order of indices while this might be important for the user
  • the feature needs some more documentation/examples

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the spectral-indices feature introduced in #255 and its current six functions, then inspect the existing documentation and examples. Clarify the intended consolidated API, rescaling behavior, and index ordering before changing anything. Done means the API is streamlined and the supported usage is documented with examples.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.