code: private boolean estimateMotion() {
  		// organize the data
  		List<Stereo2D3D> data = new ArrayList<>();
  
  		for( PointTrack l : candidates ) {
  			LeftTrackInfo info = l.getCookie();
  			PointTrack r = info.right;
  
  			Stereo2D3D stereo = info.location;
  			// compute normalized image coordinate for track in left and right image
  			leftImageToNorm.compute(l.x,l.y,info.location.leftObs);
  			rightImageToNorm.compute(r.x,r.y,info.location.rightObs);
  
  			data.add(stereo);
  		}
  
  		// Robustly estimate left camera motion
  		if( !matcher.process(data) )
  			return false;
  
  		Se3_F64 keyToCurr = matcher.getModelParameters();
  		keyToCurr.invert(currToKey);
  
  		// mark tracks that are in the inlier set
  		int N = matcher.getMatchSet().size();
  		for( int i = 0; i < N; i++ ) {
  			int index = matcher.getInputIndex(i);
  			LeftTrackInfo info = candidates.get(index).getCookie();
  			info.lastInlier = tick;
  		}
  
  //		System.out.println("Inlier set size: "+N);
  
  		return true;
  	}
docs: Given the set of active tracks, estimate the cameras motion robustly
  @return