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 è:

  1. X calibrato;
  2. valore del parametro della serie;
  3. 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.