docs: public void configure(LensDistortionNarrowFOV distortion, int width , int height , boolean cache ) {
  		if( distortion == null ) {
  			removePerspective.setModel(new PointToPixelTransform_F32(transformHomography));
  			squareDetector.setLensDistortion(width,height,null,null);
  			undistToDist = new DoNothing2Transform2_F64();
  		} else {
  			Point2Transform2_F32 pointSquareToInput;
  			Point2Transform2_F32 pointDistToUndist = distortion.undistort_F32(true, true);
  			Point2Transform2_F32 pointUndistToDist = distortion.distort_F32(true, true);
  			PixelTransform<Point2D_F32> distToUndist = new PointToPixelTransform_F32(pointDistToUndist);
  			PixelTransform<Point2D_F32> undistToDist = new PointToPixelTransform_F32(pointUndistToDist);
  
  			// Sanity check to see if the camera model has no lens distortion. If there is no lens distortion then
  			// there's no need to do distort/undistort the image and everything will run faster
  			Point2D_F32 test = new Point2D_F32();
  			pointDistToUndist.compute(0,0,test);
  			if( test.norm() <= UtilEjml.TEST_F32) {
  				configure(null,width,height,false);
  			} else {
  				if (cache) {
  					distToUndist = new PixelTransformCached_F32(width, height, distToUndist);
  					undistToDist = new PixelTransformCached_F32(width, height, undistToDist);
  				}
  
  				squareDetector.setLensDistortion(width, height, distToUndist, undistToDist);
  
  				pointSquareToInput = new SequencePoint2Transform2_F32(transformHomography, pointUndistToDist);
  
  				// provide intrinsic camera parameters
  				PixelTransform<Point2D_F32> squareToInput = new PointToPixelTransform_F32(pointSquareToInput);
  				removePerspective.setModel(squareToInput);
  
  				this.undistToDist = distortion.distort_F64(true, true);
  			}
  		}
  	}