# Super Resolution

This function block enhances image quality by upscaling input images using pre-trained super-resolution models. Choose a model that fits your speed and quality needs, then feed an image to get an upscaled result.

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

`Image Any` This socket accepts the image you want to enhance.

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

`Image Any` The upscaled/enhanced image produced by the block.

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

`SuperResolution Type` A dropdown to select the upscaling model and scale. Options present different speed vs. quality tradeoffs. Example options include `BEST_x2`, `MEDIUM_x4`, `FAST_x3`, and `FASTEST_x2`. Select the option that fits your hardware and latency requirements.

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

* Upscaling with multiple model choices offering different quality and performance levels.
* Hardware acceleration support for faster processing when a compatible GPU is available.
* Simple one-input / one-output flow for easy insertion into existing pipelines.

## ⚙️ Running mechanism <a href="#how-it-works" id="how-it-works"></a>

* Choose a model from the `SuperResolution Type` control.
* When the block runs, it applies the selected upscaling model to the incoming image and outputs the enlarged image.
* Larger scale factors and higher-quality models will require more processing time and memory.

## 📝 Usage Instructions <a href="#usage" id="usage"></a>

1. Connect an image source to the `Image Any` input.
2. Use the `SuperResolution Type` dropdown to pick a model and scale (for example x2, x3, or x4).
3. Run your scenario to produce the upscaled image on the `Image Any` output.
4. Preview the result with a display or save it with an exporter block.

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

* If your input images are very large and processing is slow, use `Image Resizer` to reduce the image size before upscaling, or choose a lower scale model such as `FASTEST_x2`.
* To inspect the result visually, connect the output to `Show Image` so you can preview the enhanced image interactively.
* If you want to save processed images for later review, connect the output to `Image Logger` or `Image Write`.
* Apply super resolution only to important regions to save resources: crop with `Image ROI Select` or `Get ROI`, run super resolution on the cropped region, then merge back if needed.
* For downstream tasks that benefit from higher-resolution detail (small object recognition or text reading), try connecting the output to `Object Detection (D-FINE)`, `Object Detection`, `OCR (EasyOCR)`, or `OCR` to improve detection and recognition accuracy.
* If you need to maximize detection throughput, balancing quality and speed is key: prefer `MEDIUM_*` or `FAST_*` models when real-time performance is important.

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

* GPU out of memory or long processing times
  * Try a lighter option from the `SuperResolution Type` list such as `FASTEST_x2` or reduce the input image size with `Image Resizer`.
  * Close other GPU-intensive applications before running the pipeline.
* Output looks unchanged or artifacts appear
  * Try a different model/scale setting. Higher-quality models improve detail but may introduce different artifacts depending on image content.
  * Consider preprocessing with `Denoising`, `Blur` or `Image Resize` to improve input quality before upscaling.
* Slow evaluation on many images
  * Use `Batch Processing` to control memory use and throughput, or upscale only selected ROIs using `Image ROI Select`.

## 📊 Evaluation <a href="#evaluation" id="evaluation"></a>

On execution, the block produces a single upscaled image reflecting the chosen model and scale. Performance depends on model choice, image size, and available hardware.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.augelab.com/function-blocks/ai-blocks/super-resolution.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
