docs: private void setupMetricBundleAdjustment(List<AssociatedTriple> inliers) {
  		// Construct bundle adjustment data structure
  		structure = new SceneStructureMetric(false);
  		observations = new SceneObservations(3);
  
  		structure.initialize(3,3,inliers.size());
  		for (int i = 0; i < listPinhole.size(); i++) {
  			CameraPinhole cp = listPinhole.get(i);
  			BundlePinholeSimplified bp = new BundlePinholeSimplified();
  
  			bp.f = cp.fx;
  
  			structure.setCamera(i,false,bp);
  			structure.setView(i,i==0,worldToView.get(i));
  			structure.connectViewToCamera(i,i);
  		}
  		for (int i = 0; i < inliers.size(); i++) {
  			AssociatedTriple t = inliers.get(i);
  
  			observations.getView(0).add(i,(float)t.p1.x,(float)t.p1.y);
  			observations.getView(1).add(i,(float)t.p2.x,(float)t.p2.y);
  			observations.getView(2).add(i,(float)t.p3.x,(float)t.p3.y);
  
  			structure.connectPointToView(i,0);
  			structure.connectPointToView(i,1);
  			structure.connectPointToView(i,2);
  		}
  		// Initial estimate for point 3D locations
  		triangulatePoints(structure,observations);
  	}