public void select ( List < Se3_F64 > candidatesAtoB , List < AssociatedPair > observations , Se3_F64 model ) { // use positive depth constraint to select the best one Se3_F64 bestModel = null ; int bestCount = - 1 ; for ( int i = 0 ; i < candidatesAtoB . size ( ) ; i ++ ) { Se3_F64 s = candidatesAtoB . get ( i ) ; int count = 0 ; for ( AssociatedPair p : observations ) { if ( depthCheck . checkConstraint ( p . p1 , p . p2 , s ) ) { count ++ ; } } if ( count > bestCount ) { bestCount = count ; bestModel = s ; } } if ( bestModel == null ) throw new RuntimeException ( "BUG" ) ; model . set ( bestModel ) ; }
Selects the transform which describes a view where observations appear in front of the camera the most