@Override
  public void setCalibration(StereoParameters parameters) {
    stereo.setCalibration(parameters);

    PointTransform_F64 leftPixelToNorm =
        LensDistortionOps.transformRadialToNorm_F64(parameters.left);
    PointTransform_F64 leftNormToPixel =
        LensDistortionOps.transformNormToRadial_F64(parameters.left);

    alg.setPixelToNorm(leftPixelToNorm);
    alg.setNormToPixel(leftNormToPixel);

    tracker.setCalibration(parameters.left);
  }
 @Override
 public boolean isNew(int index) {
   PointTrack t = alg.getTracker().getActiveTracks(null).get(index);
   return alg.getTracker().getNewTracks(null).contains(t);
 }
 @Override
 public List<Point2D_F64> getAllTracks() {
   return (List) alg.getTracker().getActiveTracks(null);
 }
 @Override
 public boolean isInlier(int index) {
   Point2D3DTrack t = alg.getTracker().getActiveTracks(null).get(index).getCookie();
   return alg.getInlierTracks().contains(t);
 }
 @Override
 public long getTrackId(int index) {
   PointTrack t = alg.getTracker().getActiveTracks(null).get(index);
   return t.featureId;
 }
 @Override
 public Point3D_F64 getTrackLocation(int index) {
   PointTrack t = alg.getTracker().getActiveTracks(null).get(index);
   return ((Point2D3D) t.getCookie()).getLocation();
 }
 @Override
 public Se3_F64 getLeftToWorld() {
   return alg.getCurrToWorld();
 }
 @Override
 public void reset() {
   alg.reset();
 }
 @Override
 public boolean process(T leftImage, T rightImage) {
   stereo.setImages(leftImage, rightImage);
   failed = alg.process(leftImage);
   return failed;
 }