> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/function-blocks/blocks-reference/ai-blocks/match-anything-eloftr.md).

# Match Anything (ELOFTR)

This function block performs keypoint matching between two images and returns matched keypoints and confidence scores. It can optionally draw matches as a visualization image for quick inspection.

## 📥 Inputs <a href="#inputs" id="inputs"></a>

`Image A` The first image to be matched.

`Image B` The second image to be matched.

## 📤 Outputs <a href="#outputs" id="outputs"></a>

`Visualization` An annotated image showing matched keypoints and connecting lines (generated only when this output is connected).

`Keypoints A` List of keypoint coordinates detected in `Image A`.

`Keypoints B` List of keypoint coordinates detected in `Image B`.

`Scores` Matching confidence scores for each keypoint pair.

## 🕹️ Controls <a href="#controls" id="controls"></a>

`Show Matches` Toggle to draw lines between matched keypoints on the `Visualization` image.

`Threshold` Slider to set matching threshold (0–100). Higher values filter out lower-confidence matches.

## 🎯 Features <a href="#features" id="features"></a>

* Matches keypoints between two images and provides per-match confidence scores.
* Optional visual output that concatenates images and draws keypoints and matching lines.
* Threshold control lets you tune precision vs recall of matches.
* Uses available hardware (CPU or GPU) to run inference when supported.

## 📝 How it runs <a href="#usage" id="usage"></a>

* Provide two images to `Image A` and `Image B`.
* The block computes matching keypoints and scores between the images.
* If the `Visualization` output is connected, an annotated image showing keypoints and (optionally) connecting lines will be produced.
* `Keypoints A`, `Keypoints B`, and `Scores` return lists that can be consumed by downstream blocks.

## 💡 Tips and Tricks <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Use `Image Resize` before this block to bring both images to comparable sizes for more stable matching.
* If your source images are low resolution, try preprocessing with `Super Resolution` to improve keypoint quality.
* To inspect the output visually, connect `Visualization` to a `Show Image` block for a full-size viewer.
* Use `Image ROI Select` to focus matching on a region of interest and reduce spurious matches from irrelevant areas.
* Export matched keypoints and scores with `Data to JSON` or `CSV Export` for logging or further analysis.
* Combine with `Image Logger` to save visualizations automatically when matches meet a desired condition.

## 🛠️ Troubleshooting <a href="#troubleshooting" id="troubleshooting"></a>

* No matches found: try lowering the `Threshold` to allow more candidate matches, or crop the images with `Image ROI Select` to remove clutter.
* Too many poor matches: raise the `Threshold` to keep only higher-confidence matches.
* Visualization not generated: ensure the `Visualization` output socket is connected — the visual image is created only when requested.
* Missing dependencies or hardware acceleration: this block requires model runtime packages and will run on CPU; if GPU acceleration is expected but not used, check your system GPU availability and the environment where the application runs.
