docs: public void convertIntoBundleStructure(List<Se3_F64> motions,
  										   DMatrixRMaj K,
  										   double[] distort,
  										   List<CalibrationObservation> obs ) {
  
  		structure = new SceneStructureMetric(false);
  		observations = new SceneObservations(motions.size(),true);
  
  		structure.initialize(1,motions.size(),layout.size(),1);
  
  		// A single camera is assumed, that's what is being calibrated!
  		structure.setCamera(0,false,cameraGenerator.initalizeCamera(K,distort));
  		// A single rigid planar target is being viewed. It is assumed to be centered at the origin
  		structure.setRigid(0,true,new Se3_F64(),layout.size());
  		// Where the points are on the calibration target
  		SceneStructureMetric.Rigid rigid = structure.rigids[0];
  		for (int i = 0; i < layout.size(); i++) {
  			rigid.setPoint(i,layout.get(i).x,layout.get(i).y,0);
  		}
  
  		// Add the initial estimate of each view's location and the points observed
  		for (int viewIdx = 0; viewIdx < motions.size(); viewIdx++) {
  			structure.setView(viewIdx,false,motions.get(viewIdx));
  			SceneObservations.View v = observations.getViewRigid(viewIdx);
  			structure.connectViewToCamera(viewIdx,0);
  			CalibrationObservation ca = obs.get(viewIdx);
  			for (int j = 0; j < ca.size(); j++) {
  				PointIndex2D_F64 p = ca.get(j);
  				v.add(p.index, (float)p.x, (float)p.y);
  				structure.connectPointToView(p.index,viewIdx);
  			}
  		}
  	}