docs: public void process(T input , GrayU8 output ) {
  		output.reshape(input.width,input.height);
  
  		int requestedBlockWidth = this.requestedBlockWidth.computeI(Math.min(input.width,input.height));
  
  		selectBlockSize(input.width,input.height,requestedBlockWidth);
  
  		stats.reshape(input.width/blockWidth,input.height/blockHeight);
  
  
  		int innerWidth = input.width%blockWidth == 0 ?
  				input.width : input.width-blockWidth-input.width%blockWidth;
  		int innerHeight = input.height%blockHeight == 0 ?
  				input.height : input.height-blockHeight-input.height%blockHeight;
  
  		computeStatistics(input, innerWidth, innerHeight);
  		applyThreshold(input,output);
  	}