Skip to content

Pulse Metadata and Updated Visualization Planning #269

@BryonLewis

Description

@BryonLewis

With batbot there will be several new pieces of metadata and visualizations of new data.

Metadata Associated with pulse:

  • Characteristic Frequency
  • Knee
  • Toe
  • Bounding Box
    • min/max frequency and low/high time in ms

New Visualization Items:

  • Drawing of the knee/toe and best fit curve
  • Amplitude - need to determine if this is for the entire full spectrogram or only the compressed items
  • Countours - multiple countours per time range if there are multiple pulses/echoes

Data Storage Options:

Create a special table for computed-pulse-annotation with multiple rows for each recording:

  • foreign key to recording
  • pulse index within recording (order of pulses)
  • Pulse Bounding Box - PostGIS Polygon - start/stop ms and lower/upper frequency
  • Curve Fitting the pulse- PostGIS LineString - the curve fitting the pulse
  • Characteristic Frequency - PostGIS Point,
  • Knee - PostGIS Point
  • Toe - PostGIS Point
  • Species/Confidence Levels - Need to determine if there is a single one or multiple
    • this could be a single pair or multiple pairs with decreasing confidence
  • Contours - Stored as a PostGIS MultiLinestring where for elevation we use the amplitude. Or can be stored as JSONB internally if we don't think we would ever query it

Amplitude would either be it's own separate table because it's more about the time range. It would probably be a long line string or multiple line strings.

The main reason for PostGIS is that we can do filtering and interesting spatial queries on the data. Like finding all high confidence values that are between X and Y frequency.

We can also do partial loading of data, so that as the user moves, we could pull in more data if needed. I.E. we pull in the annotations for the current window of area + some offscreen border and as they drag their mouse we can start pulling in more and caching it.

If we store everything using time and frequency, we should be able to draw contours and other items fairly quickly in geoJS and have the benefit of being able to color, and filter the data.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions