hydrac.inversion.run_inversion_NNLS

Non-Negative Laast Square Algorithm method (hydrac.inversion.run_inversion_NNLS)

class hydrac.inversion.run_inversion_NNLS.Run_inversion_NNLS(obj, **kwargs)[source]

Bases: object

NNLS based inversion scheme class

This class uses an Non-Negative Least-Square scheme as descibed in Greenlaw & Johnson. 1983 (“Multiple-frequency acoustical estimation.” Biological Oceanography 2.2-4: 227-252), with a special constrained brought by the Levenberg-Marquardt method. This inversion method can work for multifrequency observations only.

This class calls out the hydrac.inversion.multifrequence, in which the NNLS algorithm is contained (hydrac.inversion.multifrequence.nnls.NNLS).

The system inverted by the NNLS algorithm is underdetermined by nature as the number of size classes contained in the sample volume is infinite in practice, while we only have a few frequency observation at our disposal. Hopwever the Levenberg-Marquardt method allows to solve for such ill-posed systems with an underestimation parameter of 4 (meaning there is 4 times more unknowns than observations).

Parameters:
obj :

Hydroacoustic object defined by hydrac.instruments.acoustique.Acoustic.

elementary_inv(self, BX, model)[source]

Computes the inversion of a single sample profile set of N observations by calling the class hydrac.inversion.multifrequence.nnls.NNLS .

Parameters:
BX :

Subset of the calibrated Intensity 3D - matrix for one sample, thus keeping the information relative to the range in order to account for the potential effects of sediment scattering attenuation.

Intensity (N x Ns x F) –> BX (N x F)

model :

paramcontainer of model presets computed by the package hydrac.model. Contains all the information relative to the particle physical properties, as well as scattering properties.

Classes

Run_inversion_NNLS(obj, **kwargs) NNLS based inversion scheme class