code: public static <T extends ImageGray<T>>
  	MonocularPlaneVisualOdometry<T> monoPlaneInfinity(int thresholdAdd,
  													  int thresholdRetire,
  
  													  double inlierPixelTol,
  													  int ransacIterations,
  
  													  PointTracker<T> tracker,
  													  ImageType<T> imageType) {
  
  		//squared pixel error
  		double ransacTOL = inlierPixelTol * inlierPixelTol;
  
  		ModelManagerSe2_F64 manager = new ModelManagerSe2_F64();
  		DistancePlane2DToPixelSq distance = new DistancePlane2DToPixelSq();
  		GenerateSe2_PlanePtPixel generator = new GenerateSe2_PlanePtPixel();
  
  		ModelMatcher<Se2_F64, PlanePtPixel> motion =
  				new Ransac<>(2323, manager, generator, distance, ransacIterations, ransacTOL);
  
  		VisOdomMonoPlaneInfinity<T> alg =
  				new VisOdomMonoPlaneInfinity<>(thresholdAdd, thresholdRetire, inlierPixelTol, motion, tracker);
  
  		return new MonoPlaneInfinity_to_MonocularPlaneVisualOdometry<>(alg, distance, generator, imageType);
  	}
docs: Monocular plane based visual odometry algorithm which uses both points on the plane and off plane for motion
  estimation.
  
  @see VisOdomMonoPlaneInfinity
  
  @param thresholdAdd  New points are spawned when the number of on plane inliers drops below this value.
  @param thresholdRetire Tracks are dropped when they are not contained in the inlier set for this many frames
  in a row.  Try 2
  @param inlierPixelTol Threshold used to determine inliers in pixels.  Try 1.5
  @param ransacIterations Number of RANSAC iterations.  Try 200
  @param tracker Image feature tracker
  @param imageType Type of input image it processes
  @param <T>
  @return New instance of