code: public void pruneObservationsBehindCamera() {
  		Point3D_F64 X = new Point3D_F64();
  
  		for (int viewIndex = 0; viewIndex < observations.views.length; viewIndex++) {
  			SceneObservations.View v = observations.views[viewIndex];
  			SceneStructureMetric.View view = structure.views[viewIndex];
  
  			for (int pointIndex = 0; pointIndex < v.point.size; pointIndex++) {
  				SceneStructureMetric.Point f = structure.points[v.getPointId(pointIndex)];
  
  				// Get feature location in world
  				f.get(X);
  
  				if( !f.views.contains(viewIndex))
  					throw new RuntimeException("BUG!");
  
  				// World to View
  				view.worldToView.transform(X, X);
  
  				// Is the feature behind this view and can't be seen?
  				if( X.z <= 0 ) {
  					v.set(pointIndex, Float.NaN, Float.NaN);
  				}
  			}
  		}
  
  		removeMarkedObservations();
  	}
docs: Check to see if a point is behind the camera which is viewing it. If it is remove that observation
  since it can't possibly be observed.