Image description and association

The frontend steps that run over a whole set of images: creating the two databases, describing every image with all enabled feature types, and associating the images pairwise. They dispatch to the per-feature operations documented on the pages beside this one.

limap.image.create_empty_databases(recon: Reconstruction, database_path: Path, structure_database_path: Path, image_dir: Path | None = None, camera_mode: CameraMode | None = None) None
class limap.image.ImageDescriptionOptions(point_detection: limap.image.point.specs.PointDetectionOptions = <factory>, line_detection: limap.image.line.specs.LineDetectionOptions = <factory>, use_joint_point_line_detection: bool = False, skip_point_detection: bool = False, skip_group_description: bool = False, group_description: limap.image.groups.specs.GroupDescriptionOptions = <factory>)
__init__(point_detection: PointDetectionOptions = <factory>, line_detection: LineDetectionOptions = <factory>, use_joint_point_line_detection: bool = False, skip_point_detection: bool = False, skip_group_description: bool = False, group_description: GroupDescriptionOptions = <factory>) None
group_description: GroupDescriptionOptions
line_detection: LineDetectionOptions
point_detection: PointDetectionOptions
skip_group_description: bool = False
skip_point_detection: bool = False
use_joint_point_line_detection: bool = False
limap.image.image_description(options: ImageDescriptionOptions, recon: Reconstruction, image_path: Path, workspace_path: Path, db_path: Path, structure_db_path: Path) tuple[Path | None, Path | None]

Return point_descriptor_path and line_descriptor_path

class limap.image.ImageAssociationOptions(skip_point_matching: bool = False, geometric_verification: bool = True, pose_guided_point_verification: bool | None = None, use_dense_matching: bool = False, use_dense_matching_for_groups: bool = False, dense_matching_options: limap.image.dense_matcher.specs.DenseMatchingOptions = <factory>, use_joint_point_line_matcher: bool = False, point_descriptor_path: pathlib.Path | None = None, point_matcher: limap.image.point.specs.PointMatcherOptions = <factory>, line_descriptor_path: pathlib.Path | None = None, line_matcher: limap.image.line.specs.LineMatcherOptions = <factory>, skip_line_matching: bool = False, skip_group_matching: bool = False, skip_group_voting: bool = False, group_voting: limap._limap._image._groups.GroupVotingOptions = <factory>, vp_geometric_verification: bool = True, vp_verification_threshold: float = 10.0, plane_geometric_verification: bool = True, plane_verification_threshold: float = 30.0)
__init__(skip_point_matching: bool = False, geometric_verification: bool = True, pose_guided_point_verification: bool | None = None, use_dense_matching: bool = False, use_dense_matching_for_groups: bool = False, dense_matching_options: DenseMatchingOptions = <factory>, use_joint_point_line_matcher: bool = False, point_descriptor_path: Path | None = None, point_matcher: PointMatcherOptions = <factory>, line_descriptor_path: Path | None = None, line_matcher: LineMatcherOptions = <factory>, skip_line_matching: bool = False, skip_group_matching: bool = False, skip_group_voting: bool = False, group_voting: GroupVotingOptions = <factory>, vp_geometric_verification: bool = True, vp_verification_threshold: float = 10.0, plane_geometric_verification: bool = True, plane_verification_threshold: float = 30.0) None
dense_matching_options: DenseMatchingOptions
geometric_verification: bool = True
group_voting: GroupVotingOptions
line_descriptor_path: Path | None = None
line_matcher: LineMatcherOptions
plane_geometric_verification: bool = True
plane_verification_threshold: float = 30.0
point_descriptor_path: Path | None = None
point_matcher: PointMatcherOptions
pose_guided_point_verification: bool | None = None
skip_group_matching: bool = False
skip_group_voting: bool = False
skip_line_matching: bool = False
skip_point_matching: bool = False
use_dense_matching: bool = False
use_dense_matching_for_groups: bool = False
use_joint_point_line_matcher: bool = False
vp_geometric_verification: bool = True
vp_verification_threshold: float = 10.0
limap.image.image_association(options: ImageAssociationOptions, desc_options: ImageDescriptionOptions, recon: Reconstruction, image_path: Path, neighbors: dict[int, list[int]], workspace_path: Path, db_path: Path, structure_db_path: Path) None