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);
		}
	}
public static void process ( GrayF32 orig , GrayF32 derivX , GrayF32 derivY , @ Nullable ImageBorder_F32 border ) { InputSanityCheck . reshapeOneIn ( 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 ) ; } }
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.