Dal grafico al Dataset scientifico: il primo esperimento con GX-TXT Curve Digitalizer
Un grafico inserito in un’immagine contiene informazioni numeriche, ma non sempre queste sono disponibili in una tabella. Per recuperarle correttamente non basta fare clic sui punti: occorre stabilire come le coordinate dell’immagine corrispondono alle grandezze fisiche, conservare l’ordine dei dati e documentare da dove provengono.
In questo primo tutorial utilizzeremo GX-TXT Curve Digitalizer per digitalizzare quattro punti di un grafico didattico, controllare la calibrazione e pubblicare il risultato come un Dataset della Session. È un esperimento volutamente semplice, pensato per imparare il metodo prima di affrontare famiglie di curve più complesse.
1. Preparare l’esperimento in GX-TXT
Utilizziamo una Session generata attraverso il normale comando Generate Session di GX-TXT. L’esempio è identificato dalla coppia:
- Generator library:
org.giuxlab.gxtxt.numerical_examples - Generator:
calibrated_digitizer
Creiamo una Session con un nome non ancora utilizzato, per esempio tutorial01_four_points, scegliendo il Project e la Location desiderati. Disattiviamo Copy previous Experiment documentation, in modo da utilizzare le note fornite dall’esperimento, e confermiamo Generate Session.

La Session contiene due Dataset con funzioni differenti:
| Dataset | Ruolo |
|---|---|
digitizer.calibration.image | Immagine originale da digitalizzare, 100 × 100 pixel |
digitizer.calibration.points | Tabella indipendente con i valori di riferimento dell’esercizio |
La tabella di riferimento serve per il confronto: non è il Dataset che creeremo con il Digitalizer.
2. Aprire l’immagine e creare una configurazione
Dal gruppo Imaging & Documents apriamo il viewer Curve Digitalizer. Creiamo una configurazione denominata Tutorial 01 - Four points e, nella scheda Source, scegliamo il Dataset digitizer.calibration.image già registrato nella Session.
Il vantaggio di questo metodo è che non stiamo importando un file una seconda volta. Il Digitalizer lavora sulla risorsa canonica di GX-TXT, conserva il riferimento alla sorgente e registra separatamente la configurazione di digitalizzazione. Le coordinate pixel appartengono all’immagine originale: ingrandire o spostare il canvas non cambia i valori dei punti.
3. Calibrare il grafico
Passiamo alla scheda Calibration. Dobbiamo trasformare la posizione di ciascun pixel in due coordinate scientifiche, tempo e tensione. Impostiamo e applichiamo le seguenti proprietà:
| Proprietà | Asse X | Asse Y |
|---|---|---|
| Quantity | Time | Voltage |
| Unit | s | V |
| Minimum | 0 | −2 |
| Maximum | 8 | 2 |
| Scale | linear | linear |
Utilizziamo quindi la calibrazione a quattro angoli. Ogni pulsante Set BL, Set BR, Set TL o Set TR prepara l’acquisizione di un solo punto: dopo il pulsante, facciamo clic sull’angolo corrispondente dell’immagine.
| Angolo | Coordinate pixel di riferimento | Coordinate scientifiche |
|---|---|---|
| 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) |
Per questa geometria ideale, la relazione tra coordinate raster (pₓ, pᵧ) e coordinate scientifiche (t, V) è particolarmente semplice:
t = (pₓ − 10) / 10 s
V = (50 − pᵧ) / 20 V
Il segno nella seconda relazione è importante: nelle immagini raster la coordinata verticale aumenta verso il basso, mentre nel grafico la tensione cresce verso l’alto. Nella pratica i quattro clic possono risultare leggermente diversi dai punti ideali; il Digitalizer calcola la trasformazione a partire dalle posizioni effettivamente selezionate.
Verificare la calibrazione prima di acquisire i dati
Con Verify calibration scegliamo un punto di controllo noto, al quale corrispondono 2 s e −1 V. Indichiamo queste coordinate come valori attesi e selezioniamo sull’immagine il riferimento corrispondente.
Nell’esempio documentato il Digitalizer ha mostrato circa 2,003231 s e −1,003236 V, con scarti rispettivamente di +0,003231 s e −0,003236 V. Il confronto dimostra come leggere un risultato di verifica e valutare gli scostamenti rispetto al riferimento. Non rappresenta una stima dell’incertezza della misura elettrica originale.
Dopo il controllo cancelliamo il marker temporaneo, senza acquisirlo come punto della curva, e accettiamo la calibrazione che utilizzeremo.

4. Acquisire i punti della curva
Nella scheda Curves creiamo una curva denominata Four reference points. Per questo esercizio, nelle impostazioni Configuration → Viewer settings → Digitizing, utilizziamo:
- Monotonicity:
None - Point ordering source:
Insertion order - Snap to dark: disattivato durante la prima acquisizione
Questa scelta sull’ordinamento è intenzionale. I quattro punti non sono inseriti in ordine crescente di tempo: il quarto torna verso sinistra rispetto al terzo. Ordinando automaticamente per X perderemmo la sequenza di acquisizione che vogliamo studiare.
Selezioniamo Add e individuiamo sull’immagine i quattro punti nell’ordine P1, P2, P3 e P4. La tabella seguente riporta sia gli obiettivi dell’esercizio sia i valori effettivamente visualizzati in una sessione dimostrativa:
| Punto | Coordinate attese (s; V) | Coordinate digitalizzate (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) |
Queste differenze sono compatibili con la normale selezione grafica dei punti rispetto alle posizioni ideali. Non vanno interpretate automaticamente come l’errore di un esperimento fisico.

Correggere un punto e usare Undo/Redo
Possiamo ora verificare la reversibilità delle modifiche. Con Edit → Undo annulliamo l’ultima acquisizione: i punti visibili diventano tre. Con Redo torniamo a quattro. Possiamo inoltre utilizzare Move per correggere la posizione di un punto, oppure Delete per rimuoverlo, mantenendo la possibilità di annullare l’operazione.
Il concetto da ricordare è che la sequenza dei punti e la loro identità non sono la stessa cosa. I numeri P1–P4 ci aiutano a raccontare l’esercizio; il Dataset utilizzerà identificativi persistenti propri, distinti dalle etichette visibili.
Prima di procedere ripristiniamo i quattro punti voluti, la calibrazione accettata e il criterio Insertion order. Nella scheda Notes possiamo registrare la sorgente, le scelte di calibrazione e il metodo utilizzato.
5. Pubblicare il risultato come Dataset
Passiamo a Publish. Per il primo esperimento utilizziamo il layout Separate, selezionando una sola calibrazione accettata. Impostiamo come base per il nome cd.tutorial01, controlliamo l’anteprima dell’identificativo e premiamo Publish selected calibrations.
Nella prova documentata il Dataset risultante è:
cd.tutorial01.measurement_1.curves
Il suo contratto è table.generic e comprende quattro righe, una per ciascun punto acquisito.

Il Dataset non contiene soltanto due colonne numeriche. Comprende anche informazioni che consentono ad altri strumenti GX-TXT di riconoscere punti, curve e coordinate dell’immagine sorgente:
| Variable ID | Contenuto |
|---|---|
x | Tempo calibrato, in secondi |
y | Tensione calibrata, in volt |
curve_id | Identificativo stabile della curva |
curve_label | Nome leggibile della curva |
point_index | Posizione del punto nella sequenza |
point_id | Identificativo stabile del singolo punto |
pixel_x | Coordinata X originale nel raster, in pixel |
pixel_y | Coordinata Y originale nel raster, in pixel |

Una precisazione sulle incertezze
Per questa prima esercitazione lasciamo il modello di incertezza su none. Significa che non abbiamo dichiarato né propagato un’incertezza, non che abbiamo dimostrato un’incertezza pari a zero. La larghezza della linea disegnata, la dimensione dei pixel e la precisione dei clic non autorizzano da sole a inventare una deviazione standard. Dedicheremo un tutorial successivo ai modelli di incertezza e alle loro ipotesi.
6. Esaminare il Dataset prodotto
Selezioniamo il nuovo Dataset nella Session e controlliamo le sue informazioni e lo schema delle variabili. Il numero di righe, le unità X/Y, gli identificativi e le coordinate raster devono essere coerenti con quanto abbiamo pubblicato.
Quando la versione di GX-TXT lo consente, possiamo aprire la Dataset Preview e utilizzare i controlli disponibili per visualizzare la curva, mostrare o nascondere la geometria, adattare la vista e applicare lo zoom. La posizione dei comandi dipende dalla versione della Preview: in questa guida il punto essenziale è verificare il Dataset canonico, non memorizzare una particolare disposizione dell’interfaccia.
È importante non confondere la tabella indipendente del generatore, digitizer.calibration.points, con il risultato cd.tutorial01.measurement_1.curves. La prima contiene il riferimento, il secondo la digitalizzazione realmente pubblicata.
7. Salvare e riaprire la Session
Terminiamo l’esercizio salvando la Session con il normale comando GX-TXT. Chiudiamo Curve Digitalizer, riapriamo la Session e apriamo nuovamente il viewer. Selezioniamo la configurazione originale e controlliamo che siano presenti l’immagine sorgente, la calibrazione, la sequenza dei quattro punti e le note.
Verifichiamo inoltre che il Dataset pubblicato sia ancora disponibile con il proprio identificativo. In questo modo distinguiamo due livelli che lavorano insieme:
- Configurazione del Digitalizer: conserva il lavoro di calibrazione e digitalizzazione, modificabile dall’operatore.
- Dataset pubblicato: conserva i valori scientifici, gli identificativi e le informazioni di provenienza, utilizzabili dagli altri moduli GX-TXT.

Conclusione
Abbiamo trasformato una piccola immagine raster in un Dataset scientifico, passando attraverso una calibrazione verificabile, l’acquisizione ordinata dei punti, le correzioni reversibili e una pubblicazione con identità e provenienza proprie.
Questo metodo è lo stesso che utilizzeremo con grafici più impegnativi: caratteristiche elettroniche di componenti, curve tratte da pubblicazioni scientifiche e immagini sperimentali. Nel prossimo tutorial passeremo alle famiglie di curve e alle calibrazioni multiple, utilizzando anche il tracciamento assistito.
Materiale per l’esercizio
Non è necessario scaricare immagini, tabelle o file di esempio. GX-TXT include un generatore dedicato che prepara automaticamente i Dataset necessari.
Aprire la procedura Generate Session, selezionare la libreria org.giuxlab.gxtxt.numerical_examples e il generatore calibrated_digitizer. Assegnare un nome alla nuova Session e confermare la generazione.
L’immagine da digitalizzare e i dati di riferimento saranno disponibili nella Session appena creata.