Skip to content

Structural overhaul of the calibrate subpackage #1789

Description

@leewujung

Partly based on changes/additions in #1507 #1588 #1664, in discussion between @LOCEANlloydizard and @leewujung we decided we're going to refactor the calibrate subpackage. This is exciting because the code would be so much more easier to maintain in the future!

The main tasks are:

  • Create an instruments subpackage to house sonar model-specific code, such as EK80 complex sample handling, splitbeam angle computation, beampattern compensation, and AZFP Sv offset, etc.
  • Dissolve the various CalibrateX objects that have complex inheritance structure, and just keep a uniform API as a dispatcher, following the same approach as the mask subpackage. The API will call functions from the instruments subpackage.
  • Scrub the consolidate.add_splitbeam_angle code to also call functions from the instruments subpackage.
  • Unify the data processing path from EchoData --> Sp --> single target detector (output will always have $$(r, t)$$ and optionally with $$(\theta, \phi)$$ ) --> TS
    • $$(r, t)$$: range and ping time
    • $$(\theta, \phi)$$: alongship and athwartship splitbeam angles

Scribbles from discussions are here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

enhancementThis makes echopype better

Type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions