hydrac.inversion.inversion

Inversion schemes (hydrac.inversion.inversion)

class hydrac.inversion.inversion.Inversion(o_hac, particletype, method=None, am=3e-06, aM=0.0005, spacing='log', dsigma=None, a0=None, **kwargs)[source]

Bases: object

Inversion class

This class assimilates hydroacoustic objects and invert them according to the specifyed method and desired scattering model. The inversion consists in determining both the size and the concentration of suspended particles. There are as many unknowns as size classes in case the particles follow a size distribution.

Two kinds of inversions are thus possible :

Singlefrequency inversions :
to invert the hydroacoustic data, the user is prompted with a mean diameter and a distribution width to constrain the backscattering model by making it function of the mean diameter. This reduces the problem to two unknowns, the mean size and the concentration. The user is thus prompted with a mean diameter which makes it possible to invert the data.
Multifrequency inversions :
The ratio of the backscattering instensities of the same volume at different frequencies is function of the mean diameter. Hence there is no need to indicate a mean diameter, neither a distribution width, especially for the methods returning the concentration volume distribution (NNLS, Regularization…). However, the user has still the possibility to indicate a distribution width, which is necessary for the multifrequency implicit inversion.

The inversion results are stored in the HAC object and contain various information that can vary from one method to the other, but always contain the concentration values.

Parameters:
o_hac :

Hydroacoustic object derived from the hydrac.instruments.acoustique.Acoustic class. Contains all the data and acquisition settings of the acoustic data to be inverted

particletype : str, {‘TFS’, ‘Thorne2008’, ‘copepDWBA’, …}

Determines the scattering model to be used to invert the data. This str is used as input of the hydrac.model.particle.Particle class, itself input to the class :class:`hydrac.model.scattering.scattering.Scattering (see hydrac.model.scattering.scattering)

method = None : str, {‘NNLS’, ‘implicit’, …}

Inversion method to be used. If none, the user is prompted with an answer. The possible inversion methods differ for the single and multi frequency instruments :

Inversion methods
Singlefrequency Multifrequency
implicit (mean size prompted) implicit
(-) Non-negetive Least Square Algorithm (NNLS)
(-) Attenuation
(-) Regularization
am, aM : float

Minimum, maximum size of the particle to be considered (sphere radius for spherical particles, semi-minor axis for prolate spheroids, section radius for cylindical shaped particles).

spacing : str {lin, log}

Spacing of the size vector to be considered (linear or log-space). This vector is mostly used for the regularization or NNLS methods.

dsigma = None : float

Size distribution width, for averaging of the scattering model over the size distribution to make the form-function or backscattering corss-section function of the mean radius. See https://doi.org/10.1121/1.3242374. Set to None by default and prompted in case of singlefrequency inversion.

a0 = None : float

Mean diameter of the particles if known. Set to None by default for multifrequency inversion. Prompted for single-frequency inversions.

Classes

Inversion(o_hac, particletype[, method, am, …]) Inversion class