protected boolean projectOntoFundamentalSpace ( DMatrixRMaj F ) { if ( ! svdConstraints . decompose ( F ) ) { return false ; } svdV = svdConstraints . getV ( svdV , false ) ; svdU = svdConstraints . getU ( svdU , false ) ; svdS = svdConstraints . getW ( svdS ) ; SingularOps_DDRM . descendingOrder ( svdU , false , svdS , svdV , false ) ; // the smallest singular value needs to be set to zero, unlike svdS . set ( 2 , 2 , 0 ) ; // recompute F CommonOps_DDRM . mult ( svdU , svdS , temp0 ) ; CommonOps_DDRM . multTransB ( temp0 , svdV , F ) ; return true ; }
Projects the found estimate of F onto Fundamental space .