docs: static public <D extends ImageGray<D>>
  	void nonMaxSuppressionCrude4(GrayF32 intensity , D derivX , D derivY , GrayF32 output )
  	{
  		if( derivX instanceof GrayF32) {
  			GradientToEdgeFeatures.nonMaxSuppressionCrude4(intensity, (GrayF32) derivX, (GrayF32) derivY,output);
  		} else if( derivX instanceof GrayS16) {
  			GradientToEdgeFeatures.nonMaxSuppressionCrude4(intensity, (GrayS16) derivX, (GrayS16) derivY,output);
  		} else if( derivX instanceof GrayS32) {
  			GradientToEdgeFeatures.nonMaxSuppressionCrude4(intensity, (GrayS32) derivX, (GrayS32) derivY,output);
  		} else {
  			throw new IllegalArgumentException("Unknown input type");
  		}
  	}