Salvataggio del progetto ed esportazione CSV
← Curve Digitizer: digitalizzare le curve dei datasheet
8. Salvataggio, riapertura e formato JSON
Save project
Il progetto viene salvato come file JSON UTF-8. Save project salva nel file corrente; Save project as… permette di scegliere un nuovo nome.
Il programma non incorpora l’immagine nel JSON. Conserva invece il riferimento al file sorgente.
Dati memorizzati
Il progetto contiene almeno:
- formato e versione del progetto;
- percorso dell’immagine;
- larghezza e altezza dell’immagine;
- configurazione degli assi X e Y;
- quattro punti pixel di calibrazione;
- tutte le serie e i rispettivi metadati;
- click manuale di ogni punto;
- pixel effettivo di ogni punto;
- coordinate calibrate;
- note del progetto;
- stato della numerazione dei punti;
- configurazione dello snap.
Esempio semplificato di punto
{
"manual_click_pixel": {
"x": 123.4,
"y": 456.7
},
"pixel": {
"x": 124.0,
"y": 455.0
},
"calibrated": {
"x": 172.9,
"y": 24.4
}
}
Percorso assoluto e relativo
Durante il salvataggio viene scritto il percorso assoluto dell’immagine e, quando possibile, anche un percorso relativo rispetto al file JSON. In apertura il programma prova prima il percorso relativo e poi quello assoluto. Se l’immagine non viene trovata, chiede all’utente di localizzarla manualmente.
Questa soluzione rende conveniente conservare, per esempio, immagine e JSON nella stessa cartella o in una struttura di progetto che venga spostata nel suo insieme.
Ricalcolo all’apertura
Quando un progetto viene aperto, i valori calibrati vengono ricalcolati dai pixel memorizzati usando la calibrazione corrente. Il dato pixel resta quindi la base riproducibile.
Dimensioni dell’immagine
Le dimensioni della sorgente sono salvate nel JSON. Nella versione corrente, però, la riapertura non blocca automaticamente una diversa immagine avente dimensioni differenti. Quando il programma chiede di localizzare manualmente l’immagine, è quindi responsabilità dell’utente selezionare esattamente la stessa sorgente o una copia pixel-identica.
Note del progetto
La scheda Project contiene un campo libero per note, provenienza del datasheet, pagina, revisione, osservazioni sulla calibrazione o qualsiasi informazione utile.
Nota operativa: nella versione corrente la semplice digitazione nel campo Notes non marca immediatamente il progetto come modificato. Dopo aver cambiato le note è quindi consigliabile eseguire esplicitamente Save project prima di chiudere, anche se nella barra del titolo non compare l’asterisco di modifica.
Backup e riproducibilità
Per un lavoro scientifico è consigliabile conservare insieme:
- scansione originale o immagine raster usata;
- progetto JSON;
- CSV esportati;
- eventuali script di fitting o modelli SPICE prodotti successivamente.
9. Esportazione CSV
Requisiti per l’export
Per esportare è necessaria una calibrazione valida e deve esistere almeno una serie. Prima dell’export il programma ricalcola le coordinate calibrate di tutti i punti.
Configurazione delle colonne
File → Export CSV… apre una finestra con:
X name
X unit
Y name
Y unit
Series parameter name
Series parameter unit
Le unità sono etichette: il programma non effettua conversioni numeriche. Se i punti sono stati calibrati in mA, indicare mA; cambiare semplicemente l’etichetta in A non dividerà i valori per 1000.
Nomi delle intestazioni
Nome e unità vengono combinati con underscore. Gli spazi vengono sostituiti da underscore.
Esempio:
X name: Va
X unit: V
Y name: Ia
Y unit: mA
Series parameter name: Vg
Series parameter unit: V
Produce:
Va_V,Vg_V,Ia_mA
Ordine delle colonne
L’ordine è:
- X calibrato;
- valore del parametro della serie;
- Y calibrato.
Esempio
Va_V,Vg_V,Ia_mA
100,-20,12.3
120,-20,18.1
150,-20,26.4
100,-15,22.8
120,-15,31.5
Serie incluse
L’export percorre tutte le serie del progetto e tutti i punti che possiedono coordinate calibrate valide. Una serie nascosta con Show / Hide viene comunque esportata.
Valore parametro
Il valore del parametro viene scritto come memorizzato nella serie. Per analisi numeriche successive è consigliabile inserire un valore semplice e direttamente interpretabile, ad esempio -20, evitando testo come -20 V nominal.
Precisione numerica
I valori X e Y vengono scritti con una rappresentazione compatta fino a circa 12 cifre significative. Questo evita una perdita artificiale di precisione durante il passaggio JSON → CSV; la precisione fisica reale resta naturalmente limitata dalla scansione e dal posizionamento manuale.
Uso successivo
Il CSV è adatto come input per Python, NumPy, pandas, GNU Octave o altri strumenti di fitting. Per un modello SPICE di una famiglia di caratteristiche si può raggruppare il dataset per valore del parametro e ottimizzare una funzione comune su tutte le serie.
Nessuna conversione o ordinamento automatico
Il programma non riordina i punti per X e non converte le unità. L’ordine nel CSV segue l’ordine dei punti nelle serie e l’ordine delle serie nel progetto. Se un algoritmo successivo richiede X crescente, la normalizzazione deve essere eseguita esplicitamente in quella fase, preservando il file originale se necessario.