Tracer is a utility for digitizing data from images of graphs (which could be screenshots or scans). The image is scaled according to the plot axes, and data are created in an attempt to follow a trace across the image between endpoints marked by cursors. The data are extracted at the resolution of the image (one data point per pixel). When the trace does not form a continuous path between the cursors (owing to poor image resolution or dashed or dotted line types), the procedure attempts to search for the next line segment. Tracer distinguishes between different trace colors.

Tracer preview

If you want to digitize data as individual points picked from a graph image, check out the Wavemetrics procedure IgorThief. Look under File > Example experiments > Techniques > Trace Graph.

Note that (unlike Trace Graph) Tracer doesn't make any correction for image skew, i.e. the axes are assumed to run parallel to the edges of the image.

How to use Tracer:

  • Select Tracer from macros menu.
  • Load and display an image using the buttons in the Image Selection area of the Tracer panel.
  • Scale tab: Check boxes for log axes as needed
  • Place cursors on a pair of known x or y values, type those values into the relevant boxes in the Set Scale area of the Tracer panel, then click on 'Set X' or 'Set Y' to set the image scaling. Make sure the cursor positions are accurately reported in the panel before moving on.
  • Color tab: Select trace and background colors in the color selector area of the Tracer panel. To sample colors from the image, look for the eye dropper icon in the color-picker dialog.
  • The 'fuzziness' slider affects how picky the tracer is about colors. You may have to adjust this setting for tracing to work.
  • Extract tab: Select a name for the wave that will be created with the extracted data.
  • Place cursors at start and end of a trace and click on 'Trace' to start digitizing.
  • Play with the gaps, jump threshold, and minimum range settings to deal with incomplete lines and other problems.
  • If needed, you could use interpolate to clean up your traced data.

If you want to help Tracer to take the right path where traces cross one another, you can use the image editing button to touch up the image. Hold down the control key to paint pixels with the trace color, or the option key to paint with the background color. Expand the graph view for more detailed editing.

If tracing fails, be sure to try changing the fuzziness, jump threshold and gaps settings.

If you're tracing a series of open symbols, use the minimum range setting to avoid tracing the symbol stroke.


tracer logo Tracer Preview

Project Details

Current Project Release

Tracer IGOR.7.00.x-4.20

Release File:
Version: IGOR.7.00.x-4.20
Version Date: Wed, 10/14/2020 - 08:36 am
Version Major: 4
Version Patch Level: 2
OS Compatibility: Windows Mac-Intel
Release Notes:

Minor updates for Igor versions >=7

View All Releases

Hi Tony,

this is awesome! IgorThief is one of my favorites, but extracting smooth curves from plots is always a bit tricky!

Thanks a lot!



Edit: Just realised that this exists quite a while! Shame that I missed this all the years!




Igor Pro 8

Learn More

Igor XOP Toolkit

Learn More

Igor NIDAQ Tools MX

Learn More