Skip to content

Surface component selection improvements#839

Merged
unbohn merged 1 commit into
isofit:devfrom
evan-greenbrg:surface/component_selection
Feb 5, 2026
Merged

Surface component selection improvements#839
unbohn merged 1 commit into
isofit:devfrom
evan-greenbrg:surface/component_selection

Conversation

@evan-greenbrg

@evan-greenbrg evan-greenbrg commented Jan 27, 2026

Copy link
Copy Markdown
Collaborator

The current Euclidean surface component selection does not accurately match surface types for many water surfaces. This PR is a limited attempt to improve the prior selection.

For a green open water pixel:
image

Using the EMIT prior libraries, the surface_liquids prior is selected:
image

With the same reference wavelengths, but using a spectral gradient angle:
image

Inland water remains challenging from a prior standpoint:

image

Is this background? Floating veg? Algae?
image

Changes:

  1. Adding spectral gradient angle matching criteria
  2. Adding hooks to specify selection_metric within surface.json. A couple of ways to do this. I chose not to add another Apply OE hook. Instead, I put this in the surface config. However, to make this backward compatible the existing strategy of default filling the config object from configs.py is still in there for now.

@evan-greenbrg evan-greenbrg marked this pull request as ready for review January 28, 2026 15:08
@evan-greenbrg

Copy link
Copy Markdown
Collaborator Author

Look at alternatives to gaussian smoothing.

@unbohn

unbohn commented Feb 4, 2026

Copy link
Copy Markdown
Collaborator

Thanks for this improvement, @evan-greenbrg! I ran some local tests with the new SGA metric on EMIT snow scenes: no errors and good looking results. This should be ready for merge.

@unbohn unbohn merged commit e45112e into isofit:dev Feb 5, 2026
23 checks passed
@evan-greenbrg evan-greenbrg deleted the surface/component_selection branch May 22, 2026 15:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants