Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Create an interface to accurately select points on an image
ResourceFunction["ImageLocatorPaneWithZoom"][Dynamic[pts], back] creates a LocatorPane with a zoom area around the mouse. |
"ShowZoomControls" | True | whether the additional controls are visible when the interface is created |
"ZoomLevel" | 2 | starting value of the magnification level of the zoom area |
"ZoomSize" | 0.15 | starting value of the scaled zoom area size (relative to the size of the image) |
"MarkerFunction" | Automatic | function that takes a color and returns Graphics[…] object to show the selected points |
"MarkerSize" | 0.02 | size of the point markers (relative to the size of the image) |
"MarkerColor" | Black | color of the selected points |
"ShowCoordinates" | True | whether to show coordinates in the zoom area |
Get an image:
In[1]:= | ![]() |
Out[1]= | ![]() |
Create an interface that allows you to select a point:
In[2]:= | ![]() |
Points can be added or deleted with + click:
In[3]:= | ![]() |
Out[5]= | ![]() |
Use Graphics with Dynamic elements to add extra content to the image:
In[6]:= | ![]() |
Out[7]= | ![]() |
If you turn on the default locators with Appearance→Automatic, the locators will be drawn in the frame of the main image, so they will not appear in the correct position in the zoom area:
The coordinates of the points are not always on a scale natural to the image. Consider the ImageDimensions of this example image:
In[8]:= | ![]() |
Out[9]= | ![]() |
When converted to Graphics, the coordinates run over a different range:
In[10]:= | ![]() |
Out[10]= | ![]() |
To get coordinates corresponding to pixels, use ImageResolution→Automatic:
In[11]:= | ![]() |
Out[11]= | ![]() |
This work is licensed under a Creative Commons Attribution 4.0 International License