docs: public static <T extends ImageGray<T>>
  	InputToBinary<T> blockMinMax(ConfigLength regionWidth, double scale, boolean down,
  								 boolean thresholdFromLocalBlocks, double minimumSpread, Class<T> inputType) {
  		if( BOverrideFactoryThresholdBinary.blockMinMax != null )
  			return BOverrideFactoryThresholdBinary.blockMinMax.handle(regionWidth, scale, down,
  					minimumSpread,thresholdFromLocalBlocks, inputType);
  
  		BlockProcessor processor;
  		if( inputType == GrayU8.class )
  			processor = new ThresholdBlockMinMax_U8(minimumSpread,scale,down);
  		else
  			processor = new ThresholdBlockMinMax_F32((float)minimumSpread,(float)scale,down);
  
  		if( BoofConcurrency.USE_CONCURRENT ) {
  			return new ThresholdBlock_MT(processor, regionWidth, thresholdFromLocalBlocks, inputType);
  		} else {
  			return new ThresholdBlock(processor, regionWidth, thresholdFromLocalBlocks, inputType);
  		}
  	}