code: public void gaussianDerivToDirectDeriv() {
  		T blur = GeneralizedImageOps.createSingleBand(imageType, width, height);
  		T blurDeriv = GeneralizedImageOps.createSingleBand(imageType, width, height);
  		T gaussDeriv = GeneralizedImageOps.createSingleBand(imageType, width, height);
  
  		BlurStorageFilter<T> funcBlur = FactoryBlurFilter.gaussian(ImageType.single(imageType),sigma,radius);
  		ImageGradient<T,T> funcDeriv = FactoryDerivative.three(imageType,imageType);
  		ImageGradient<T,T> funcGaussDeriv = FactoryDerivative.gaussian(sigma,radius,imageType,imageType);
  
  		funcBlur.process(input,blur);
  		funcDeriv.process(blur,blurDeriv,derivY);
  
  		funcGaussDeriv.process(input,gaussDeriv,derivY);
  
  		printIntensity("Blur->Deriv",blurDeriv);
  		printIntensity("Gauss Deriv",gaussDeriv);
  	}
docs: Compare computing the image