core icon indicating copy to clipboard operation
core copied to clipboard

invert_regularised_nnls returns zero emissivity profiles in bolometer demos

Open vsnever opened this issue 1 year ago • 0 comments

It appears that the nnls() method is reimplemented in SciPy 1.12, and due to some changes in the termination criteria, inversion_with_raytransfer.py, inversion_with_voxels.py bolometer demos and admit_tomographic_inversion.py from #427 return zero emissivity profiles.

Normalising the c_matrix and d_vector by d_vector.max() before passing them to nnls(), solves the problem.

Also, the new nnls implementation is much slower if atol is not set. I suggest adding **kwargs to invert_regularised_nnls() so that the user can control maxiter and atol parameters.

vsnever avatar May 14 '24 12:05 vsnever