Project Description
Ocean sonar systems, such as echosounders, are a core tool for observing marine life, providing unprecedented spatial, temporal, and vertical resolution of animal distributions and behaviour. These systems are now widely deployed on ships, autonomous vehicles, and moorings, generating large and complex multivariate datasets that require advanced processing before they can be scientifically interpreted.
This project builds on Echopype, which standardises and processes sonar data from a wide range of platforms. The goal of this GSoC project is to further develop Echoshader, an open-source companion visualisation tool written in Python, originally developed by a GSoC’22 contributor to facilitate ocean sonar data visualisation; it already provides building blocks such as echogram plots, ship-track maps, and 3D curtain views. Building on these existing components, this project aims to evolve Echoshader into a modular application for interactive exploration of ocean sonar data.
The core of the app will provide a general-purpose viewer, with additional functionalities implemented as independent modules accessible via a tab-based interface, allowing new features to be added with minimal changes to the core while keeping a clear separation between core and optional components. In doing so, we aim to integrate recent developments from engine_echo_data_viz into echoshader. An example of a prototype application can be seen here. This visualisation illustrates one possible representation of the app, intended as inspiration rather than a fixed template. Existing tools in other languages can also inform interface and feature design (e.g., Matecho, ParaView).
This design will enable contributors to extend the application through a simple configuration-driven approach (e.g., YAML-based), where new visualisation modules, overlays, or data variables can be declared and integrated with minimal changes to the core. At present, the application is built on the HoloViz ecosystem (particularly Panel), but we welcome alternative ideas and implementations from contributors.
The application will be demonstrated across multiple types of datasets (from ships, moorings, and autonomous vehicles), including via robust cloud-based deployment.
Expected Outcomes
Software architecture enhancement:
- Development of a core viewer and module dispatcher, enabling new features to be added with minimal changes to the core codebase.
- Implementation of a tab-based application structure, where each functionality is exposed as an independent module within the interface.
- Design and implementation of a configuration-driven system (e.g., YAML-based) to control loaded data variables, overlays, and enabled modules.
- An updated codebase compatible with the latest dependency versions.
- A unified widget system, enabling visualisation components to be used both in notebooks and within the application interface.
New functionalities:
- Incorporate new features prototyped in Jupyter notebooks into Echoshader, including interactive annotation modification and 3D echogram visualization.
- Implementation of overlay systems supporting multiple geometry types (e.g., lines, polygons, points) for detections and annotations.
- Prototype and implement new visualisation features in Echoshader, including support for mooring data and broadband acoustic data.
Demonstration and deployment:
- Demonstrations of Echoshader functionalities on several real-world datasets spanning different platforms.
- A deployable application to enable straightforward installation and cloud or local deployment for the acoustics and broader ocean sciences community.
Skills Required
A keen interest in environmental data, including oceanographic, acoustic, and geospatial data; Fluency in Python programming ; Experience or strong interest in working with large, multi-dimensional datasets and knowledge of xarray, dask, HoloViz, Plotly
Expected Project Size
175 hours
Project Difficulty
Intermediate
Mentor Name(s)
Lloyd Izard, Wu-Jung Lee, Valentina Staneva
Mentor GitHub Handle(s)
@LOCEANlloydizard, @leewujung, @valentina-s
Mentor Contact Email(s)
lloyd.izard@gmail.com, leewj@uw.edu, vms16@uw.edu
Contributor Evaluation/GSoC GitHub Issue Links
We invite contributors to take a look at the echoshader app issue. We also encourage you to introduce yourself by opening a new dedicated issue and selecting "GSoC 2026 discussion". You can use it to communicate with us or to raise any questions or concerns regarding your contribution. Cheers!
Additional Project Background/Links
-
Lee, W.J., Staneva, V., Setiawan, L. D., Mayorga, E., Tuguinay, C., Butala, S., Lucca, B., & Lei, D. (2024). Echostack: A flexible and scalable open-source software suite for echosounder data processing. Proceedings of the 23rd Python in Science Conference (SciPy 2024).
-
Lee, W.J., Setiawan, L., Tuguinay, C., Mayorga, E. and Staneva, V., 2024. Interoperable and scalable echosounder data processing with Echopype. ICES Journal of Marine Science, 81(10), pp.1941-1951.
-
https://github.com/OSOceanAcoustics/echopype
-
https://github.com/OSOceanAcoustics/echopype-examples
-
https://github.com/OSOceanAcoustics/echoshader
-
https://github.com/uw-echospace/engine_echo_data_viz
Previous Project Idea Link(s)
#35
Project Description
Ocean sonar systems, such as echosounders, are a core tool for observing marine life, providing unprecedented spatial, temporal, and vertical resolution of animal distributions and behaviour. These systems are now widely deployed on ships, autonomous vehicles, and moorings, generating large and complex multivariate datasets that require advanced processing before they can be scientifically interpreted.
This project builds on Echopype, which standardises and processes sonar data from a wide range of platforms. The goal of this GSoC project is to further develop Echoshader, an open-source companion visualisation tool written in Python, originally developed by a GSoC’22 contributor to facilitate ocean sonar data visualisation; it already provides building blocks such as echogram plots, ship-track maps, and 3D curtain views. Building on these existing components, this project aims to evolve Echoshader into a modular application for interactive exploration of ocean sonar data.
The core of the app will provide a general-purpose viewer, with additional functionalities implemented as independent modules accessible via a tab-based interface, allowing new features to be added with minimal changes to the core while keeping a clear separation between core and optional components. In doing so, we aim to integrate recent developments from engine_echo_data_viz into echoshader. An example of a prototype application can be seen here. This visualisation illustrates one possible representation of the app, intended as inspiration rather than a fixed template. Existing tools in other languages can also inform interface and feature design (e.g., Matecho, ParaView).
This design will enable contributors to extend the application through a simple configuration-driven approach (e.g., YAML-based), where new visualisation modules, overlays, or data variables can be declared and integrated with minimal changes to the core. At present, the application is built on the HoloViz ecosystem (particularly Panel), but we welcome alternative ideas and implementations from contributors.
The application will be demonstrated across multiple types of datasets (from ships, moorings, and autonomous vehicles), including via robust cloud-based deployment.
Expected Outcomes
Software architecture enhancement:
New functionalities:
Demonstration and deployment:
Skills Required
A keen interest in environmental data, including oceanographic, acoustic, and geospatial data; Fluency in Python programming ; Experience or strong interest in working with large, multi-dimensional datasets and knowledge of xarray, dask, HoloViz, Plotly
Expected Project Size
175 hours
Project Difficulty
Intermediate
Mentor Name(s)
Lloyd Izard, Wu-Jung Lee, Valentina Staneva
Mentor GitHub Handle(s)
@LOCEANlloydizard, @leewujung, @valentina-s
Mentor Contact Email(s)
lloyd.izard@gmail.com, leewj@uw.edu, vms16@uw.edu
Contributor Evaluation/GSoC GitHub Issue Links
We invite contributors to take a look at the echoshader app issue. We also encourage you to introduce yourself by opening a new dedicated issue and selecting "GSoC 2026 discussion". You can use it to communicate with us or to raise any questions or concerns regarding your contribution. Cheers!
Additional Project Background/Links
Lee, W.J., Staneva, V., Setiawan, L. D., Mayorga, E., Tuguinay, C., Butala, S., Lucca, B., & Lei, D. (2024). Echostack: A flexible and scalable open-source software suite for echosounder data processing. Proceedings of the 23rd Python in Science Conference (SciPy 2024).
Lee, W.J., Setiawan, L., Tuguinay, C., Mayorga, E. and Staneva, V., 2024. Interoperable and scalable echosounder data processing with Echopype. ICES Journal of Marine Science, 81(10), pp.1941-1951.
https://github.com/OSOceanAcoustics/echopype
https://github.com/OSOceanAcoustics/echopype-examples
https://github.com/OSOceanAcoustics/echoshader
https://github.com/uw-echospace/engine_echo_data_viz
Previous Project Idea Link(s)
#35