# Draw Point

This function block draws one or more marker points onto an input image at the coordinates you provide. It is useful for visualizing detected positions, annotations, or measurement results.

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

`Image Any` The source image where points will be drawn (RGB/BGR or grayscale).

`Points` One coordinate or a list of coordinates to draw. Coordinates are in (x, y) or (col, row) format and may be a single tuple or a list of tuples.

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

`Image Any` The image with drawn points overlayed.

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

This function block has no extra UI controls. It uses the connected inputs to determine where and how points are drawn.

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

* Visual markers: Draws filled circle markers with a two-color outline to make points visible on various backgrounds.
* Auto-scaled marker size: Marker size adapts to image resolution so points remain visible on both small and large images.
* Accepts single or multiple points: Works with a single coordinate or a list of coordinates for batch annotation.
* Non-destructive: Produces a copy of the input image with overlays, preserving the original image upstream.

## 📊 Running Mechanism <a href="#evaluation" id="evaluation"></a>

When active, the block reads the provided image and coordinate input, places visible markers on the image at each coordinate, and outputs the annotated image for downstream blocks or display.

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

1. Connect an image-producing block to the `Image Any` input.
2. Provide a single coordinate or a list of coordinates to the `Points` input.
3. Use the resulting `Image Any` output to preview (for example with the `Show Image` block) or to pass the annotated image to export or further processing blocks.

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

* To obtain coordinates from a user click, pair this block with `Get Pixel Mouse` to draw the clicked positions on the image.
* To visualize detected object centers, feed coordinates from `Object Detection`, `Object Detection - Custom`, or `Object_Detection_Tracker` into the `Points` input.
* For contour-based points, use `Find Contour` or `Approximate Contour` to extract points and then draw them with this block.
* Crop to a region of interest first using `Image ROI Select` or `Image ROI` so you only draw points within a specific area.
* Combine with `Draw Detections` when you want both bounding boxes and point markers on the same image.
* If you need to save annotated frames, connect the output to `Image Logger` or `Image Write`.
* Use `Slice Image` or `Image Resize` upstream if marker size or density needs adjustment for presentation or export.

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

* If markers do not appear, verify that the `Points` input contains valid coordinates within the image bounds (0 ≤ x < width, 0 ≤ y < height).
* If only one marker appears when you expect many, ensure the `Points` input is a list of coordinate tuples rather than a single tuple.
* If markers are too small or large for the image, resize the image using `Image Resize` or crop with `Image ROI` before drawing.


---

# 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/detections-shapes/draw/draw-point.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.
