code: public static <T extends ImageGray<T>> ImageDistort<T,T>
  	rectifyImage( FMatrixRMaj rectify , BorderType borderType, Class<T> imageType)
  	{
  		boolean skip = borderType == BorderType.SKIP;
  		if( skip ) {
  			borderType = BorderType.EXTENDED;
  		}
  		InterpolatePixelS<T> interp = FactoryInterpolation.bilinearPixelS(imageType, borderType);
  
  		FMatrixRMaj rectifyInv = new FMatrixRMaj(3,3);
  		CommonOps_FDRM.invert(rectify,rectifyInv);
  		PointTransformHomography_F32 rectifyTran = new PointTransformHomography_F32(rectifyInv);
  
  		// don't bother caching the results since it is likely to only be applied once and is cheap to compute
  		ImageDistort<T,T> ret = FactoryDistort.distortSB(false, interp, imageType);
  		ret.setRenderAll(!skip);
  
  		ret.setModel(new PointToPixelTransform_F32(rectifyTran));
  
  		return ret;
  	}
docs: Creates an {@link ImageDistort} for rectifying an image given its rectification matrix.
  Lens distortion is assumed to have been previously removed.
  
  @param rectify Transform for rectifying the image.
  @param imageType Type of single band image the transform is to be applied to.
  @return ImageDistort for rectifying the image.