code: public static void process(GrayU8 orig,
  							   GrayS16 derivX, GrayS16 derivY, @Nullable ImageBorder_S32 border ) {
  		InputSanityCheck.reshapeOneIn(orig, derivX, derivY);
  
  		if( BoofConcurrency.USE_CONCURRENT ) {
  			GradientTwo1_Standard_MT.process(orig, derivX, derivY);
  		} else {
  			GradientTwo1_Standard.process(orig, derivX, derivY);
  		}
  
  		if( border != null ) {
  			DerivativeHelperFunctions.processBorderHorizontal(orig, derivX , kernelDeriv_I32, border);
  			DerivativeHelperFunctions.processBorderVertical(orig, derivY , kernelDeriv_I32, border);
  		}
  	}
docs: Computes the derivative of an {@link GrayU8} along the x and y axes.
  
  @param orig   Which which is to be differentiated. Not Modified.
  @param derivX Derivative along the x-axis. Modified.
  @param derivY Derivative along the y-axis. Modified.
  @param border Specifies how the image border is handled. If null the border is not processed.