Minimum-volume constrained non-negative matrix factorisation, adapted into Python from L. Miao and H. Qi, "Endmember Extraction From Highly Mixed Data Using Minimum Volume Constrained Nonnegative Matrix Factorization," in IEEE Transactions on Geoscience and Remote Sensing, vol. 45, no. 3, pp. 765-777, March 2007 (ieeexplore.ieee.org/document/4106058/)