code: double medianTriangulationAngle( Motion edge ) {
  
  		GrowQueue_F64 angles = new GrowQueue_F64(edge.associated.size());
  		angles.size = edge.associated.size();
  
  		for (int i = 0; i < edge.associated.size(); i++) {
  			AssociatedIndex a = edge.associated.get(i);
  			Point2D_F64 normA = edge.viewSrc.observationNorm.get( a.src );
  			Point2D_F64 normB = edge.viewDst.observationNorm.get( a.dst );
  
  			double acute = triangulationAngle(normA,normB,edge.a_to_b);
  			angles.data[i] = acute;
  		}
  
  		angles.sort();
  		return angles.getFraction(0.5);
  	}
docs: Compares the angle that different observations form when their lines intersect. Returns
  the median angle. Used to determine if this edge is good for triangulation
  @param edge edge
  @return median angle between observations in radians