Interactive tools for viewing and labeling ground lines in radar echogram data, built on HoloViews and Panel.
- Interactive point picker for annotating echograms with click-to-add points.
- Layer overlays to visualize existing surface/bottom picks alongside the echogram.
- Snap-to-layer functionality for precise annotations aligned to detected layers.
- Xarray accessor for seamless integration with xopr radar datasets.
pip install "xopr-viewer @ git+https://github.com/developmentseed/xopr-viewer.git"or
uv add "xopr-viewer @ git+https://github.com/developmentseed/xopr-viewer.git"import holoviews as hv
import xopr
from xopr_viewer import GroundingLinePicker
hv.extension("bokeh")
# Load radar frame using xopr
frame = xopr.open_frame("path/to/radar/data")
# Create interactive picker using the xarray accessor
layers = xopr.get_layers(frame)
frame.pick.show(layers=layers)
# Or create a picker directly
image = hv.Image(frame.Data, kdims=["slow_time", "twtt_us"])
picker = GroundingLinePicker(image)
picker.panel()
# Export picks to CSV
picker.to_csv("picks.csv")xopr-viewer is distributed under the terms of the MIT license.