code: def reduce(self, op):
          
          per_band = [getattr(np.ma, op)(self.image.data[band, np.ma.getmaskarray(self.image)[band, :, :] == np.False_])
                      for band in range(self.num_bands)]
          return per_band
docs: Reduce the raster to a score, using 'op' operation.
  
          nodata pixels are ignored.
          op is currently limited to numpy.ma, e.g. 'mean', 'std' etc
          :returns list of per-band values