code: public static void process(GrayF32 orig, GrayF32 derivX, GrayF32 derivY, @Nullable ImageBorder_F32 border) {
  		InputSanityCheck.reshapeOneIn(orig, derivX, derivY);
  
  //		GradientSobel_Outer.process_F32(orig, derivX, derivY);
  		if( BoofConcurrency.USE_CONCURRENT ) {
  			GradientSobel_UnrolledOuter_MT.process_F32_sub(orig, derivX, derivY);
  		} else {
  			GradientSobel_UnrolledOuter.process_F32_sub(orig, derivX, derivY);
  		}
  
  		if( border != null ) {
  			border.setImage(orig);
  			ConvolveJustBorder_General_SB.convolve(kernelDerivX_F32, border,derivX);
  			ConvolveJustBorder_General_SB.convolve(kernelDerivY_F32, border,derivY);
  		}
  	}
docs: Computes the derivative in the X and Y direction using an integer Sobel edge detector.
  
  @param orig   Input image.  Not modified.
  @param derivX Storage for image derivative along the x-axis. Modified.
  @param derivY Storage for image derivative along the y-axis. Modified.
  @param border Specifies how the image border is handled. If null the border is not processed.