public static <T extends Kernel1D> T derivative( int order, boolean isFloat,
													 double sigma, int radius )
	{
		// zero order is a regular gaussian
		if( order == 0 ) {
			return gaussian(1,isFloat, 32, sigma,radius);
		}

		if( radius <= 0 )
			radius = FactoryKernelGaussian.radiusForSigma(sigma,order);
		else if( sigma <= 0 ) {
			sigma = FactoryKernelGaussian.sigmaForRadius(radius,order);
		}

		Kernel1D_F32 k = derivative1D_F32(order,sigma,radius, true);

		if( isFloat )
			return (T)k;
		return (T)KernelMath.convert(k,MIN_FRAC);
	}
public static < T extends Kernel1D > T derivative ( int order , boolean isFloat , double sigma , int radius ) { if ( order == 0 ) { return gaussian ( 1 , isFloat , 32 , sigma , radius ) ; } if ( radius <= 0 ) radius = FactoryKernelGaussian . radiusForSigma ( sigma , order ) ; else if ( sigma <= 0 ) { sigma = FactoryKernelGaussian . sigmaForRadius ( radius , order ) ; } Kernel1D_F32 k = derivative1D_F32 ( order , sigma , radius , true ) ; if ( isFloat ) return ( T ) k ; return ( T ) KernelMath . convert ( k , MIN_FRAC ) ; }
Creates a 1D Gaussian kernel with the specified properties.

@param order The order of the gaussian derivative.
@param isFloat True for F32 kernel and false for I32.
@param sigma The distributions stdev.  If &le; 0 then the sigma will be computed from the radius.
@param radius Number of pixels in the kernel's radius.  If &le; 0 then the sigma will be computed from the sigma.
@return The computed Gaussian kernel.