Go to the documentation of this file.00001
00002 #ifndef FMatrixComputeLinear_h_
00003 #define FMatrixComputeLinear_h_
00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE
00005 #pragma interface
00006 #endif
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #include <vgl/vgl_fwd.h>
00036 #include <mvl/FMatrixCompute.h>
00037 #include <mvl/FMatrix.h>
00038
00039 class FMatrixComputeLinear : public FMatrixCompute
00040 {
00041 bool precondition_;
00042 bool rank2_truncate_;
00043 public:
00044
00045
00046
00047
00048 FMatrixComputeLinear(bool precondition = true, bool rank2_truncate = true);
00049
00050
00051
00052
00053
00054
00055
00056
00057 bool compute(PairMatchSetCorner&, FMatrix* F);
00058
00059
00060
00061 bool compute(vcl_vector<HomgPoint2D>&, vcl_vector<HomgPoint2D>&, FMatrix* F);
00062
00063
00064
00065 bool compute(vcl_vector<vgl_homg_point_2d<double> >&,
00066 vcl_vector<vgl_homg_point_2d<double> >&,
00067 FMatrix& F);
00068
00069
00070 bool compute_preconditioned(vcl_vector<HomgPoint2D>&, vcl_vector<HomgPoint2D>&, FMatrix* F);
00071
00072
00073 bool compute_preconditioned(vcl_vector<vgl_homg_point_2d<double> >&,
00074 vcl_vector<vgl_homg_point_2d<double> >&,
00075 FMatrix& F);
00076
00077 inline FMatrix compute(PairMatchSetCorner& p) { return FMatrixCompute::compute(p); }
00078 inline FMatrix compute(vcl_vector<HomgPoint2D>& p1, vcl_vector<HomgPoint2D>& p2)
00079 { return FMatrixCompute::compute(p1,p2); }
00080 inline FMatrix compute(vcl_vector<vgl_homg_point_2d<double> >& p1,
00081 vcl_vector<vgl_homg_point_2d<double> >& p2)
00082 { return FMatrixCompute::compute(p1,p2); }
00083 };
00084
00085 #endif // FMatrixComputeLinear_h_