#include <AffineMetric.h>

Public Member Functions | |
| AffineMetric () | |
| Construct and AffineMetric from the matrix A. | |
| AffineMetric (vnl_double_3x3 const &A) | |
| Construct and AffineMetric from the 3x3 matrix A. | |
| virtual vgl_point_2d< double > | homg_to_image (vgl_homg_point_2d< double > const &) const |
| Convert conditioned point p to image coordinates. | |
| virtual vnl_double_2 | homg_to_image (const HomgPoint2D &p) const |
| Convert conditioned point p to image coordinates. | |
| virtual vgl_homg_point_2d< double > | image_to_homg (vgl_point_2d< double > const &) const |
| Condition the 2D point p. | |
| virtual HomgPoint2D | image_to_homg (const vnl_double_2 &) const |
| Condition the 2D point p. | |
| virtual HomgPoint2D | image_to_homg (double x, double y) const |
| Condition 2D point (x,y). | |
| virtual vgl_homg_point_2d< double > | homg_to_imagehomg (vgl_homg_point_2d< double > const &) const |
| Convert homogeneous point in conditioned coordinates to one in image coordinates. | |
| virtual vgl_homg_point_2d< double > | imagehomg_to_homg (vgl_homg_point_2d< double > const &) const |
| Inverse-transform p. | |
| virtual HomgPoint2D | homg_to_imagehomg (const HomgPoint2D &p) const |
| Transform p. | |
| virtual HomgPoint2D | imagehomg_to_homg (const HomgPoint2D &p) const |
| Inverse-transform p. | |
| void | set (vnl_double_3x3 const &A) |
| void | set (vnl_matrix< double > const &A) |
| void | set (double a11, double a13, double a22, double a23, double a33) |
| set [a11 0 a13; 0 a22 a23; 0 0 a33]. | |
| virtual vnl_double_3x3 | get_C () const |
| Return forward transformation matrix. | |
| virtual vnl_double_3x3 | get_C_inverse () const |
| Return inverse transformation matrix. | |
| virtual bool | is_linear () const |
| Declare that this is a linear transformation. | |
| virtual bool | can_invert_distance () const |
| Declare that this is not an isometry. | |
| vcl_ostream & | print (vcl_ostream &s) const |
| Send a human-readable representation to ostream. | |
| virtual vgl_homg_line_2d< double > | homg_to_image_line (vgl_homg_line_2d< double > const &) const |
| Convert homogeneous line in conditioned coordinates to one in image coordinates. | |
| virtual HomgLine2D | homg_to_image_line (const HomgLine2D &) const |
| virtual vgl_homg_line_2d< double > | image_to_homg_line (vgl_homg_line_2d< double > const &) const |
| virtual HomgLine2D | image_to_homg_line (const HomgLine2D &) const |
| virtual HomgLineSeg2D | image_to_homg_line (const HomgLineSeg2D &) const |
| virtual vgl_line_segment_2d < double > | image_to_homg_line (vgl_line_segment_2d< double > const &l) const |
| virtual HomgLineSeg2D | homg_line_to_image (const HomgLineSeg2D &) const |
| virtual vgl_line_segment_2d < double > | homg_line_to_image (vgl_line_segment_2d< double > const &l) const |
| Convert homogeneous line segment in conditioned coordinates to one in image coordinates. | |
| virtual double | perp_dist_squared (const HomgPoint2D &, const HomgLine2D &) const |
| virtual double | perp_dist_squared (vgl_homg_point_2d< double > const &, vgl_homg_line_2d< double > const &) const |
| Compute perpendicular distance in image coordinates between point p and line l, expressed in conditioned coordinates. | |
| virtual HomgPoint2D | perp_projection (const HomgLine2D &l, const HomgPoint2D &p) const |
| virtual vgl_homg_point_2d< double > | perp_projection (vgl_homg_line_2d< double > const &l, vgl_homg_point_2d< double > const &p) const |
| Project point onto line. | |
| virtual double | distance_squared (const HomgPoint2D &, const HomgPoint2D &) const |
| virtual double | distance_squared (const HomgLineSeg2D &segment, const HomgLine2D &line) const |
| virtual double | distance_squared (const vgl_homg_point_2d< double > &, const vgl_homg_point_2d< double > &) const |
| Get perpendicular distance in image. | |
| virtual double | distance_squared (vgl_line_segment_2d< double > const &segment, vgl_homg_line_2d< double > const &line) const |
| Get distance between a line segment and an infinite line. | |
| virtual bool | is_within_distance (const HomgPoint2D &, const HomgPoint2D &, double distance) const |
| virtual bool | is_within_distance (vgl_homg_point_2d< double > const &, vgl_homg_point_2d< double > const &, double distance) const |
| virtual double | image_to_homg_distance (double image_distance) const |
| Convert a distance in image coordinates to one in conditioned coordinates. | |
| virtual double | homg_to_image_distance (double image_distance) const |
| Convert a distance in image coordinates to one in conditioned coordinates. | |
Static Public Member Functions | |
| static FMatrix | decondition (const FMatrix &F, const ImageMetric *c1, const ImageMetric *c2) |
Private Attributes | |
| vnl_double_3x3 | A_ |
| vnl_double_3x3 | A_inverse_ |
Friends | |
| vcl_ostream & | operator<< (vcl_ostream &o, const ImageMetric &m) |
Definition at line 24 of file AffineMetric.h.
| AffineMetric::AffineMetric | ( | ) |
Construct and AffineMetric from the matrix A.
The last row of A should be (0,0,lambda).
Definition at line 23 of file AffineMetric.cxx.
| AffineMetric::AffineMetric | ( | vnl_double_3x3 const & | A | ) |
Construct and AffineMetric from the 3x3 matrix A.
The last row of A should be (0,0,lambda).
Definition at line 32 of file AffineMetric.cxx.
| virtual bool AffineMetric::can_invert_distance | ( | ) | const [inline, virtual] |
Declare that this is not an isometry.
Reimplemented from ImageMetric.
Definition at line 61 of file AffineMetric.h.
| FMatrix ImageMetric::decondition | ( | const FMatrix & | F, |
| const ImageMetric * | c1, | ||
| const ImageMetric * | c2 | ||
| ) | [static, inherited] |
Definition at line 309 of file ImageMetric.cxx.
| double ImageMetric::distance_squared | ( | const HomgPoint2D & | p1, |
| const HomgPoint2D & | p2 | ||
| ) | const [virtual, inherited] |
Reimplemented in SimilarityMetric.
Definition at line 222 of file ImageMetric.cxx.
| double ImageMetric::distance_squared | ( | const HomgLineSeg2D & | segment, |
| const HomgLine2D & | line | ||
| ) | const [virtual, inherited] |
Reimplemented in SimilarityMetric.
Definition at line 237 of file ImageMetric.cxx.
| double ImageMetric::distance_squared | ( | const vgl_homg_point_2d< double > & | p1, |
| const vgl_homg_point_2d< double > & | p2 | ||
| ) | const [virtual, inherited] |
Get perpendicular distance in image.
Reimplemented in SimilarityMetric.
Definition at line 216 of file ImageMetric.cxx.
| double ImageMetric::distance_squared | ( | vgl_line_segment_2d< double > const & | segment, |
| vgl_homg_line_2d< double > const & | line | ||
| ) | const [virtual, inherited] |
Get distance between a line segment and an infinite line.
The metric used is the maximum of the two endpoint perp distances.
Reimplemented in SimilarityMetric.
Definition at line 229 of file ImageMetric.cxx.
| virtual vnl_double_3x3 AffineMetric::get_C | ( | ) | const [inline, virtual] |
Return forward transformation matrix.
Reimplemented from ImageMetric.
Definition at line 52 of file AffineMetric.h.
| virtual vnl_double_3x3 AffineMetric::get_C_inverse | ( | ) | const [inline, virtual] |
Return inverse transformation matrix.
Reimplemented from ImageMetric.
Definition at line 55 of file AffineMetric.h.
| HomgLineSeg2D ImageMetric::homg_line_to_image | ( | const HomgLineSeg2D & | l | ) | const [virtual, inherited] |
Definition at line 156 of file ImageMetric.cxx.
| vgl_line_segment_2d< double > ImageMetric::homg_line_to_image | ( | vgl_line_segment_2d< double > const & | l | ) | const [virtual, inherited] |
Convert homogeneous line segment in conditioned coordinates to one in image coordinates.
Definition at line 148 of file ImageMetric.cxx.
| vgl_point_2d< double > AffineMetric::homg_to_image | ( | vgl_homg_point_2d< double > const & | p | ) | const [virtual] |
Convert conditioned point p to image coordinates.
Reimplemented from ImageMetric.
Definition at line 116 of file AffineMetric.cxx.
| vnl_double_2 AffineMetric::homg_to_image | ( | const HomgPoint2D & | p | ) | const [virtual] |
Convert conditioned point p to image coordinates.
Reimplemented from ImageMetric.
Definition at line 122 of file AffineMetric.cxx.
| double ImageMetric::homg_to_image_distance | ( | double | image_distance | ) | const [virtual, inherited] |
Convert a distance in image coordinates to one in conditioned coordinates.
This is only possible for similarity transformations, but where it does make sense it can mean significant increases in speed.
Reimplemented in SimilarityMetric.
Definition at line 259 of file ImageMetric.cxx.
| vgl_homg_line_2d< double > ImageMetric::homg_to_image_line | ( | vgl_homg_line_2d< double > const & | l | ) | const [virtual, inherited] |
Convert homogeneous line in conditioned coordinates to one in image coordinates.
Definition at line 94 of file ImageMetric.cxx.
| HomgLine2D ImageMetric::homg_to_image_line | ( | const HomgLine2D & | l | ) | const [virtual, inherited] |
Definition at line 107 of file ImageMetric.cxx.
| vgl_homg_point_2d< double > AffineMetric::homg_to_imagehomg | ( | vgl_homg_point_2d< double > const & | p | ) | const [virtual] |
Convert homogeneous point in conditioned coordinates to one in image coordinates.
Reimplemented from ImageMetric.
Definition at line 69 of file AffineMetric.cxx.
| HomgPoint2D AffineMetric::homg_to_imagehomg | ( | const HomgPoint2D & | p | ) | const [virtual] |
| vgl_homg_point_2d< double > AffineMetric::image_to_homg | ( | vgl_point_2d< double > const & | p | ) | const [virtual] |
Condition the 2D point p.
Default implementation is simply to return p in homogeneous coordinates
Reimplemented from ImageMetric.
Definition at line 90 of file AffineMetric.cxx.
| HomgPoint2D AffineMetric::image_to_homg | ( | const vnl_double_2 & | p | ) | const [virtual] |
Condition the 2D point p.
Default implementation is simply to return p in homogeneous coordinates
Reimplemented from ImageMetric.
Definition at line 110 of file AffineMetric.cxx.
| HomgPoint2D AffineMetric::image_to_homg | ( | double | x, |
| double | y | ||
| ) | const [virtual] |
Condition 2D point (x,y).
Reimplemented from ImageMetric.
Definition at line 100 of file AffineMetric.cxx.
| double ImageMetric::image_to_homg_distance | ( | double | image_distance | ) | const [virtual, inherited] |
Convert a distance in image coordinates to one in conditioned coordinates.
This is only possible for similarity transformations, but where it does make sense it can mean significant increases in speed.
Reimplemented in SimilarityMetric.
Definition at line 268 of file ImageMetric.cxx.
| vgl_homg_line_2d< double > ImageMetric::image_to_homg_line | ( | vgl_homg_line_2d< double > const & | l | ) | const [virtual, inherited] |
Definition at line 120 of file ImageMetric.cxx.
| HomgLine2D ImageMetric::image_to_homg_line | ( | const HomgLine2D & | l | ) | const [virtual, inherited] |
Definition at line 133 of file ImageMetric.cxx.
| HomgLineSeg2D ImageMetric::image_to_homg_line | ( | const HomgLineSeg2D & | l | ) | const [virtual, inherited] |
Definition at line 171 of file ImageMetric.cxx.
| vgl_line_segment_2d< double > ImageMetric::image_to_homg_line | ( | vgl_line_segment_2d< double > const & | l | ) | const [virtual, inherited] |
Definition at line 164 of file ImageMetric.cxx.
| vgl_homg_point_2d< double > AffineMetric::imagehomg_to_homg | ( | vgl_homg_point_2d< double > const & | p | ) | const [virtual] |
Inverse-transform p.
Reimplemented from ImageMetric.
Definition at line 80 of file AffineMetric.cxx.
| HomgPoint2D AffineMetric::imagehomg_to_homg | ( | const HomgPoint2D & | p | ) | const [virtual] |
Inverse-transform p.
Reimplemented from ImageMetric.
Definition at line 85 of file AffineMetric.cxx.
| virtual bool AffineMetric::is_linear | ( | ) | const [inline, virtual] |
Declare that this is a linear transformation.
Reimplemented from ImageMetric.
Definition at line 58 of file AffineMetric.h.
| bool ImageMetric::is_within_distance | ( | const HomgPoint2D & | p1, |
| const HomgPoint2D & | p2, | ||
| double | distance | ||
| ) | const [virtual, inherited] |
Definition at line 251 of file ImageMetric.cxx.
| bool ImageMetric::is_within_distance | ( | vgl_homg_point_2d< double > const & | p1, |
| vgl_homg_point_2d< double > const & | p2, | ||
| double | distance | ||
| ) | const [virtual, inherited] |
Definition at line 244 of file ImageMetric.cxx.
| double ImageMetric::perp_dist_squared | ( | const HomgPoint2D & | p, |
| const HomgLine2D & | l | ||
| ) | const [virtual, inherited] |
Reimplemented in SimilarityMetric.
Definition at line 187 of file ImageMetric.cxx.
| double ImageMetric::perp_dist_squared | ( | vgl_homg_point_2d< double > const & | p, |
| vgl_homg_line_2d< double > const & | l | ||
| ) | const [virtual, inherited] |
Compute perpendicular distance in image coordinates between point p and line l, expressed in conditioned coordinates.
Reimplemented in SimilarityMetric.
Definition at line 181 of file ImageMetric.cxx.
| HomgPoint2D ImageMetric::perp_projection | ( | const HomgLine2D & | l, |
| const HomgPoint2D & | p | ||
| ) | const [virtual, inherited] |
Definition at line 202 of file ImageMetric.cxx.
| vgl_homg_point_2d< double > ImageMetric::perp_projection | ( | vgl_homg_line_2d< double > const & | l, |
| vgl_homg_point_2d< double > const & | p | ||
| ) | const [virtual, inherited] |
Project point onto line.
Definition at line 193 of file ImageMetric.cxx.
| vcl_ostream & AffineMetric::print | ( | vcl_ostream & | s | ) | const [virtual] |
Send a human-readable representation to ostream.
print to vcl_ostream.
Reimplemented from ImageMetric.
Definition at line 131 of file AffineMetric.cxx.
| void AffineMetric::set | ( | vnl_double_3x3 const & | A | ) |
Definition at line 40 of file AffineMetric.cxx.
| void AffineMetric::set | ( | vnl_matrix< double > const & | A | ) |
| void AffineMetric::set | ( | double | a11, |
| double | a13, | ||
| double | a22, | ||
| double | a23, | ||
| double | a33 | ||
| ) |
set [a11 0 a13; 0 a22 a23; 0 0 a33].
Definition at line 49 of file AffineMetric.cxx.
| vcl_ostream& operator<< | ( | vcl_ostream & | o, |
| const ImageMetric & | m | ||
| ) | [friend, inherited] |
Definition at line 109 of file ImageMetric.h.
vnl_double_3x3 AffineMetric::A_ [private] |
Definition at line 26 of file AffineMetric.h.
vnl_double_3x3 AffineMetric::A_inverse_ [private] |
Definition at line 27 of file AffineMetric.h.
1.7.5.1