Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

External Reference Object Display #136

Open
holmbergius opened this issue Jan 2, 2025 · 2 comments
Open

External Reference Object Display #136

holmbergius opened this issue Jan 2, 2025 · 2 comments
Assignees
Labels
dependencies Pull requests that update a dependency file enhancement New feature or request
Milestone

Comments

@holmbergius
Copy link
Contributor

holmbergius commented Jan 2, 2025

Feature description and context

This feature request covers the need to display fixed reference objects ("fixed" means they have a GPS coordinate) inside the boundaries of an image displayed in Scout. A fixed object might be the known position of a Giant Sequoia tree for which a GPS coordinate is available. Displaying a fixed reference object can help orient the image annotator or ground truth reviewer, such as:

  • seeing that an ML model missed a known Giant Sequoia tree position and looking to see if the tree has subsequently fallen
  • seeing known Giant Sequoia positions anbd verifying bounding box and label accuracy

For a reference objct to be displayed, both the reference object and the image must have relevant GPS data, such as EXIF or GeoTIFF.

Reference objects should be simply defined and referenced by Scout in an external CSV file of the format:

Dceimal Latitude, Decimcal Longitude, Scout Label, Reference ID Type, Reference ID, Display Icon

This feature is important for Wild Me's commitment to monitoring Giant Sequoias.

Feature sign-off requirements

  • Scout users can define a CSV of reference objects and point Scout at it at Docker container start
  • Where an image has GPS boundaries and a reference object from the CSV occurs inside those boundaries, the Display Icon, Reference ID Type, Reference ID, and Scout Label are displayed at the coordinate poisition. This display respects pan and zoom level and cleanly alters text and icon display accordingly.
  • Users can annotate over a reference object but cannot delete or change it in the interface.

Design

Visual display definition is needed before this ticket can advance to development.

  • Figma link (static or prototype; specify)
  • Component list/reference
  • Navigation sitemap
  • Product theme references and any known in-line customization that may be needed
  • Are there images needed for design? (attach below in zip)
@holmbergius holmbergius added this to the 2.5.0 milestone Jan 2, 2025
@holmbergius holmbergius changed the title External Reference Oject Display External Reference Object Display Jan 2, 2025
@erinz2020 erinz2020 self-assigned this Jan 3, 2025
@holmbergius
Copy link
Contributor Author

holmbergius commented Jan 3, 2025

Open question: @LashaO Do you know what is the most likely way that image location metadata (bounding box coordinates) will be imported so that we can tell if an image reference point occurs in an image? Is it GeoTIFF or TIFF (especially for PlanetLabs) with associated external metadata? We may be have some ticket pre-requisites needed before this ticket can complete.

@LashaO
Copy link
Contributor

LashaO commented Jan 4, 2025

GeoTIFF should be the way to go for most of the imagery that is already orthorectified. Orthorectification is a sensible pre-requisite we can set for the Scout imports for this feature.

See #134 for an example from Sentinel-2. This is akin to what we can expect from Planet and Maxar. The metadata can be used to transform pixel coordinates of an image to GPS coordinates. Basically, it is an affine transform that is applied to pixel coordinates to obtain GPS coordinates. It can be easily implemented from scratch or using a library.

The GPS coordinates will be in a specific Coordinate Reference System (CRS). There are multiple CRS standards and aligning different CRS (from different imagery sources) would require further transformation. It is best to use something like proj4 for that.

I currently have no evidence-based preference for any JS libraries for parsing or transforming GeoTIFF data. Here is a big list for reference:
https://github.com/joewdavies/awesome-frontend-gis

@holmbergius holmbergius added enhancement New feature or request dependencies Pull requests that update a dependency file labels Jan 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants