docs: private boolean refineWithBundleAdjustment(SceneObservations observations) {
  		if( scaleSBA ) {
  			scaler.applyScale(structure,observations);
  		}
  
  		sba.setVerbose(verbose,verboseLevel);
  		sba.setParameters(structure,observations);
  		sba.configure(converge.ftol,converge.gtol,converge.maxIterations);
  
  		if( !sba.optimize(structure) ) {
  			return false;
  		}
  
  		if( scaleSBA ) {
  			// only undo scaling on camera matrices since observations are discarded
  			for (int i = 0; i < structure.views.length; i++) {
  				DMatrixRMaj P = structure.views[i].worldToView;
  				scaler.pixelScaling.get(i).remove(P,P);
  			}
  			scaler.undoScale(structure,observations);
  		}
  		return true;
  	}