CameronBodine / PINGMapper

Open-source interface for processing recreation-grade side scan sonar datasets and reproducibly mapping benthic habitat
https://cameronbodine.github.io/PINGMapper/
MIT License
39 stars 3 forks source link

Clip data with AOI #110

Open CameronBodine opened 7 months ago

CameronBodine commented 7 months ago

Is your feature request related to a problem? Please describe. PINGMapper needs a method to filter unwanted data from exports. For example, when collecting data with an ROV/ASV, it is not possible to remotely start and stop a recording for each transect. In a open-water context, multiple transects are often collected in serpentine type pattern, like mowing a lawn. There needs to be a method for easily removing the parts of the sonar data where the vessel is turning.

Describe the solution you'd like Allow the user to provide an AOI (area of interest) shapefile that PINGMapper can use to clip the sonar recording.

Describe alternatives you've considered

103 describes a workflow for first exporting rectified chunks, deleting the ones that should not be included in the mosaic, then creating a mosaic by running ./utils/main_mosaic_transects.py. This is a decent workaround. A better, and more precise, approach would be to clip the meta files, then export the imagery.

Additional context Example recording which could benefit from this approach.

Relevant Issues

103, #88, #121

ToDo:

CameronBodine commented 2 months ago

Example

The objective is to use an AOI to clip pings inside the boundary and only use those to perform the georectification. This will remove artifacts in the mosaic caused by the tight turns of the vessel. In addition, each straight transect should be its own transect, enabling turning each transect on and off in a GIS.

image

CameronBodine commented 2 months ago

Workflow prototype completed. Transects are automatically generated using the aoi. Each transect is combined into individual transect mosaics. Image below shows raw mosaic (left) and 4 transect mosaics (right).

image

To Do: