Documentation Index
Fetch the complete documentation index at: https://imcui.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
API Reference
Complete programmatic access to Image Matching WebUI functionality.
Quick Start
from imcui.api import ImageMatchingAPI
from imcui.ui import get_matcher_zoo
# Get available matchers
matchers = get_matcher_zoo()
# Initialize API
api = ImageMatchingAPI(conf=matchers["superpoint-lightglue"])
# Match two images
result = api(image0, image1)
Core API
ImageMatchingAPI
Main API class for image matching operations.
from imcui.api import ImageMatchingAPI
api = ImageMatchingAPI(conf=matcher_config, device="cuda")
result = api(image0, image1)
Parameters:
| Parameter | Type | Required | Default | Description |
|---|
conf | dict | Yes | - | Matcher configuration |
device | str | No | ”cuda” | Device: “cuda”, “cpu”, “mps” |
Returns:
Dictionary containing:
keypoints0, keypoints1: Detected keypoints
matches: Pairwise matches
scores: Confidence scores
H (optional): Homography matrix (if RANSAC enabled)
Matcher Utilities
Get Available Matchers
from imcui.ui import get_matcher_zoo
matchers = get_matcher_zoo()
print(f"Available: {list(matchers.keys())}")
Get Model Names
from imcui.ui import get_available_model_names
models = get_available_model_names()
Matching Functions
Run Matching
from imcui.ui import run_matching
result = run_matching(
image0, image1,
matcher_name="superpoint-lightglue",
device="cuda"
)
Run RANSAC
from imcui.ui import run_ransac
filtered_matches = run_ransac(
kp0, kp1, matches,
ransac_method="CV2_USAC_MAGSAC",
threshold=8.0
)
Filter Matches
from imcui.ui import filter_matches
clean_matches = filter_matches(matches, scores, threshold=0.2)
Geometry Functions
Compute Geometry
from imcui.ui import compute_geometry
H, mask = compute_geometry(
kp0, kp1, matches,
geometry_type="homography",
ransac_method="CV2_USAC_MAGSAC"
)
Geometry Types:
homography - Planar scenes
fundamental - Calibrated cameras
essential - Stereo vision
Visualization Functions
Display Keypoints
from imcui.ui import display_keypoints
result = display_keypoints(
image, keypoints,
color=(0, 255, 0)
)
Display Matches
from imcui.ui import display_matches
result = display_matches(
image0, image1,
kp0, kp1, matches,
color=(0, 255, 0)
)
Plot Images
from imcui.ui import plot_images
plot_images([img0, img1], titles=["Image 0", "Image 1"])
Utility Functions
Get Configuration Path
from imcui import get_default_config_path
config_path = get_default_config_path()
Get Data Path
from imcui import get_example_data_path
data_path = get_example_data_path()
Get Version
from imcui import get_version
version = get_version()
Model Caching
ARC Size-Aware Cache
from imcui.ui import ARCSizeAwareModelCache
cache = ARCSizeAwareModelCache()
model = cache.get_model("superpoint-lightglue")
LRU Cache
from imcui.ui import LRUModelCache
cache = LRUModelCache(max_size=10)
model = cache.get_model("loftr")
Complete Example
from imcui.api import ImageMatchingAPI
from imcui.ui import (
DEVICE,
get_matcher_zoo,
display_matches
)
import cv2
# Load images
img0 = cv2.imread("image0.jpg")
img1 = cv2.imread("image1.jpg")
# Get available matchers
matchers = get_matcher_zoo()
# Initialize API
api = ImageMatchingAPI(
conf=matchers["superpoint-lightglue"],
device=DEVICE
)
# Run matching
result = api(img0, img1)
# Visualize results
result_image = display_matches(
img0, img1,
result["keypoints0"],
result["keypoints1"],
result["matches"]
)
cv2.imwrite("matches.jpg", result_image)
API Updates: All matching algorithms are maintained in the vismatch repository. Check their documentation for the latest algorithms and features.