A graph embedded in an image contains numerical information, but that information is not always available in a table. Recovering it correctly takes more than clicking on points: we must establish how image coordinates map to physical quantities, preserve the order of the data, and document their origin.

In this first tutorial, we will use GX-TXT Curve Digitalizer to digitize four points from a teaching graph, check the calibration, and publish the result as a Dataset in the Session. This deliberately simple exercise introduces the method before we move on to more complex families of curves.

1. Prepare the experiment in GX-TXT

We will use a Session created with the standard GX-TXT Generate Session command. The example is identified by the following pair:

  • Generator library: org.giuxlab.gxtxt.numerical_examples
  • Generator: calibrated_digitizer

Create a Session with a name that has not been used before, such as tutorial01_four_points, selecting the desired Project and Location. Disable Copy previous Experiment documentation so the experiment’s own notes are used, then confirm Generate Session.

GX-TXT interface showing the calibrated_digitizer generator selected to create the tutorial Session.
Selecting the GX-TXT generator used to prepare the digitization exercise.

The Session contains two Datasets with different purposes:

DatasetPurpose
digitizer.calibration.imageOriginal image to digitize, 100 × 100 pixels
digitizer.calibration.pointsIndependent table containing the reference values for the exercise

The reference table is provided for comparison: it is not the Dataset we will create with Curve Digitalizer.

2. Open the image and create a configuration

From the Imaging & Documents group, open Curve Digitalizer. Create a configuration named Tutorial 01 - Four points and, in the Source tab, select the digitizer.calibration.image Dataset already registered in the Session.

The advantage of this approach is that we do not import the same file twice. Curve Digitalizer works with the canonical GX-TXT resource, retains a reference to its source, and stores the digitization configuration separately. Pixel coordinates belong to the original image: zooming or panning the canvas does not change point coordinates.

3. Calibrate the graph

Switch to the Calibration tab. We need to transform each pixel position into two scientific coordinates: time and voltage. Enter and apply the following properties:

PropertyX axisY axis
QuantityTimeVoltage
UnitsV
Minimum0−2
Maximum82
Scalelinearlinear

Next, use four-corner calibration. Each Set BL, Set BR, Set TL, or Set TR button prepares the acquisition of one point only: after pressing the button, click the corresponding corner in the image.

CornerReference pixel coordinatesScientific coordinates
BL — Bottom-left(10, 90)(0 s; −2 V)
BR — Bottom-right(90, 90)(8 s; −2 V)
TL — Top-left(10, 10)(0 s; 2 V)
TR — Top-right(90, 10)(8 s; 2 V)

For this ideal geometry, the relationship between raster coordinates (pₓ, pᵧ) and scientific coordinates (t, V) is particularly simple:

t = (pₓ − 10) / 10 s

V = (50 − pᵧ) / 20 V

The sign in the second equation matters: in raster images, the vertical coordinate increases downward, while voltage increases upward on the graph. In practice, the four clicks may differ slightly from the ideal positions; Curve Digitalizer computes the transformation from the points actually selected.

Verify the calibration before acquiring data

Using Verify calibration, select a known reference point corresponding to 2 s and −1 V. Enter these coordinates as the expected values and select the corresponding reference on the image.

In the documented example, Curve Digitalizer displayed approximately 2.003231 s and −1.003236 V, with differences of +0.003231 s and −0.003236 V, respectively. This comparison shows how to read a verification result and assess deviations from a reference. It is not an estimate of the uncertainty of the original electrical measurement.

After the check, clear the temporary marker without acquiring it as a curve point, and accept the calibration we intend to use.

Curve Digitalizer calibration verification panel comparing expected and calculated physical coordinates.
Checking the transformation between image coordinates and physical quantities at a reference point.

4. Acquire the curve points

In the Curves tab, create a curve named Four reference points. For this exercise, open Configuration → Viewer settings → Digitizing and use:

  • Monotonicity: None
  • Point ordering source: Insertion order
  • Snap to dark: disabled during the first acquisition

This ordering choice is intentional. The four points are not entered in increasing time order: the fourth point lies to the left of the third. Automatically sorting by X would change the acquisition sequence that we want to study.

Select Add and locate the four points in the image in the order P1, P2, P3, and P4. The following table shows both the exercise targets and the values actually displayed in one demonstration Session:

PointExpected coordinates (s; V)Digitized coordinates (s; V)
P1(2; −1)(2.003231; −1.003236)
P2(5; 0.5)(5.001616; 0.498382)
P3(6.5; −0.75)(6.500808; −0.750809)
P4(3; 1.25)(2.998384; 1.249191)

These differences are consistent with selecting points graphically rather than at their ideal positions. They must not automatically be interpreted as errors in a physical experiment.

Tutorial raster image displayed in Curve Digitalizer with four numbered digitized points.
The four points acquired from the raster image, preserving their insertion order.

Correct a point and use Undo/Redo

We can now check that edits are reversible. Use Edit → Undo to undo the last acquisition: three points remain visible. Use Redo to return to four. You can also use Move to correct a point position or Delete to remove a point, while retaining the ability to undo the operation.

The key distinction is that point order and point identity are not the same thing. The labels P1–P4 help us describe the exercise; the Dataset uses its own persistent identifiers, separate from the displayed labels.

Before continuing, restore the intended four points, the accepted calibration, and the Insertion order setting. In the Notes tab, you can record the source, calibration choices, and method used.

5. Publish the result as a Dataset

Switch to Publish. For this first experiment, choose the Separate layout and select only one accepted calibration. Use cd.tutorial01 as the base name, check the identifier preview, and click Publish selected calibrations.

In the documented run, the resulting Dataset was:

cd.tutorial01.measurement_1.curves

Its contract is table.generic, and it contains four rows, one for each acquired point.

GX-TXT confirmation screen showing publication of a Dataset containing four digitized points.
Curve Digitalizer publishes a scientific Dataset containing the four acquired points.

The Dataset contains more than two numerical columns. It also stores information that allows other GX-TXT tools to identify points, curves, and coordinates in the source image:

Variable IDContents
xCalibrated time, in seconds
yCalibrated voltage, in volts
curve_idStable curve identifier
curve_labelHuman-readable curve name
point_indexPosition of the point in the sequence
point_idStable identifier for an individual point
pixel_xOriginal raster X coordinate, in pixels
pixel_yOriginal raster Y coordinate, in pixels
GX-TXT Dataset table displaying four digitized rows, scientific coordinates and point identifiers.
The Dataset table displays coordinates, acquisition order, and point identifiers.

A note on uncertainty

For this first exercise, leave the uncertainty model set to none. This means we have not declared or propagated an uncertainty; it does not mean that we have demonstrated zero uncertainty. The width of a drawn line, pixel size, and click precision do not by themselves justify assigning a standard deviation. We will examine uncertainty models and their assumptions in a later tutorial.

6. Examine the resulting Dataset

Select the new Dataset in the Session and inspect its information and variable schema. The row count, X/Y units, identifiers, and raster coordinates should be consistent with what we published.

When supported by the installed GX-TXT version, open Dataset Preview and use the available controls to display the curve, show or hide the geometry, fit the view, and zoom. Control placement can vary between Preview versions: the essential goal here is to verify the canonical Dataset, not to memorize a particular interface layout.

Do not confuse the generator’s independent reference table, digitizer.calibration.points, with the result cd.tutorial01.measurement_1.curves. The former provides the reference; the latter contains the digitization actually published.

7. Save and reopen the Session

Complete the exercise by saving the Session using the normal GX-TXT command. Close Curve Digitalizer, reopen the Session, and launch the viewer again. Select the original configuration and check that the source image, calibration, four-point sequence, and notes are still present.

Also verify that the published Dataset is still available under its identifier. This distinguishes two complementary levels:

  • Curve Digitalizer configuration: stores the operator-editable calibration and digitization work.
  • Published Dataset: stores the scientific values, identifiers, and provenance information available to other GX-TXT modules.
Curve Digitalizer reopened in GX-TXT with all four digitized points still visible in the image.
After saving and reopening the Session, the four digitized points are available again.

Conclusion

We have turned a small raster image into a scientific Dataset through verifiable calibration, ordered point acquisition, reversible editing, and publication with its own identity and provenance.

We will apply the same method to more demanding graphs: electronic component characteristics, curves from scientific publications, and experimental images. In the next tutorial, we will move on to families of curves and multiple calibrations, including assisted tracing.

Materials for the exercise

There is no need to download images, tables, or sample files. GX-TXT includes a dedicated generator that automatically prepares the required Datasets.

Open Generate Session, select the org.giuxlab.gxtxt.numerical_examples library and the calibrated_digitizer generator. Give the new Session a name and confirm generation.

The image to digitize and the reference data will be available in the newly created Session.

#Curve Digitalizer #four-point calibration #graph digitization #GX-TXT #GX-TXT tutorial #raster images #Scientific Datasets

Other steps of this project

Leave a Reply

Your email address will not be published. Required fields are marked *