@Override
  public void setImage(MultiSpectral<T> image) {
    gray.reshape(image.width, image.height);
    grayII.reshape(image.width, image.height);
    bandII.reshape(image.width, image.height);

    GConvertImage.average(image, gray);
    GIntegralImageOps.transform(gray, grayII);
    for (int i = 0; i < image.getNumBands(); i++)
      GIntegralImageOps.transform(image.getBand(i), bandII.getBand(i));

    alg.setImage(grayII, bandII);
  }