if method == "scaled":
// constrained output pixels
self.applyScaling = True
outStats = {"minimum": 0, "maximum": 1.0, "skipFactorX": 10, "skipFactorY": 10}
else:
self.applyScaling = False
// rough estimation of output stats
outStats = {"minimum": -10.0, "maximum": 10.0, "skipFactorX": 10, "skipFactorY": 10}
// repeat stats for all output raster bands
outStats = tuple(outStats for i in xrange(bandCount))
kwargs["output_info"]["bandCount"] = bandCount
kwargs["output_info"]["statistics"] = outStats
kwargs["output_info"]["histogram"] = ()
After Change
// ... and then transpose signature axes to into arrays of each band"s endmembers
// [[vegB, shadowB, npvB, ...], [vegG, shadowG, npvG, ...], [...]]
// assign to coefficients member var to use in np.linalg.lstsq()
self.coefficients = np.array(list(self.signatures.values())).T
// output bandCount is number of endmembers + 1 residuals raster
if self.coefficients.shape[0] != kwargs["raster_info"]["bandCount"]: