orcasound / bioacoustic-dashboard

Insights & visualizations for bioacoustians monitoring hydrophone networks
MIT License
3 stars 0 forks source link

🐋 → 🎤 → 📊
Bioacoustic Dashboard

Insights & visualizations for bioacoustians monitoring hydrophone networks.

Overview

This project comprises of:

  1. A back-end API for storing and retrieving pre-processed data for many hydrophone sites.
  2. A front-end web application for viewing metrics for a selected hydrophone site.

Architecture goals

The finished product will be made open source. In order to facilitate a low barrier to entry for future contributors, we will aim to select tools and frameworks that:

In potential future applications of this dashboard we don't know exactly what data will be stored, what metrics will be displayed, or where a version of this dashboard may be embedded, so we will aim to provide flexibility wherever possible to allow this product to be built upon and used in a variety of contexts.

Front-end dashboard application

UX overview

The dashboard's primary function is to facilitate the viewing of charts and metrics for a single hydrophone site. The layout will be fairly simple and include:

Chart types

The initial batch of charts will include:

  1. Callrate histogram
    • A bar chart displaying call detection rates for 24h periods.
    • User can select which signal type they want to display.
    • User can select to over-plot a rolling average.
  2. Bubble scatter plot
    • A scatter chart displaying compiled acoustic activity events.
    • Plot also visualizes sunrise/sunset times (or day/night boundaries) as well as lunar phases.
    • User can select the signal type they want to display as well as activating/removing additional info.
  3. SPL-timeline/exceedance
    • A line chart displaying noise levels and noise exceedance percentiles resolved at least in 24h steps, or better depending on performance.
    • User can select whether to view noise levels or exceedance levels.
    • User can select the noise band to display.
    • For exceedance, user can select one of the hard-coded thresholds they want to see.
  4. Bi-weekly static graphics
    • Pre-computed PNG plots are shown for a selected time period.
    • User can select date window for display from calendar-type selection.
    • Once image is loaded, user has option to view “previous/next” image” in historical order.

Technical considerations

Technical stack

Back-end metrics API

Outline

The front-end Dashboard will need to fetch data from an API that can then be rendered in to charts and other visualisations. This project will provide an API specification outlining available endpoints, parameters, and return values. With this specification developers could produce their own API if they wish. Alternatively, relevant code and instructions will be provided to spin up an 'out of the box' API instance with minimal effort.

Technical considerations

Technical stack

To fulfill the architecture goals, the API will be built on a Cloudflare stack. Cloudflare services were chosen because:

Notable services: