Curve Digitizer: digitalizzare le curve dei datasheet
- Versione
- 0.4.7
- Stato
- In sviluppo
- Licenza
- GPL-3.0-or-later
- Piattaforme
- Linux, Windows, macOS
- Requisiti
- Python 3, Tkinter/Tcl-Tk, Pillow, NumPy
Le curve dei datasheet vecchi esistono solo come disegno: una scansione, spesso storta, a volte fotocopiata due volte. Per farci qualcosa — un fitting, un modello SPICE, un confronto fra due valvole — servono numeri, e i numeri bisogna tirarli fuori a mano. Curve Digitizer serve a questo: si apre l’immagine, si dice al programma dove sono gli assi, si clicca sulla curva e si esce con un CSV.
A cosa serve
Il caso da cui è nato è la digitalizzazione di famiglie di curve caratteristiche — Ia = f(Va) a griglia costante, per dire — da riportare poi in un modello. Lo stesso schema vale per transistor, tiratroni, diodi, sensori: qualunque grafico in cui più curve sono distinte da un parametro.
Il programma non tocca l’immagine sorgente e non inventa niente fra un punto e l’altro. Quello che esce dal CSV sono i punti che hai scelto tu, convertiti nei valori fisici degli assi.
Come funziona, in tre passi
- Calibrazione: si indicano i quattro angoli dell’area dati e si dichiarano gli assi (nome, unità, minimo, massimo, scala lineare o logaritmica). La conversione usa una trasformazione proiettiva, non una semplice proporzione: così regge anche una scansione ruotata o con una deformazione prospettica moderata.
- Acquisizione: si creano le serie, una per curva, ciascuna con il suo parametro, e si clicca lungo la curva. Uno snap opzionale sposta il punto sul pixel più scuro dell’intorno, ma il click originale resta memorizzato a parte.
- Esportazione: il progetto si salva in JSON e i dati escono in CSV, con i pixel e i valori calibrati.
Cosa non fa
Niente OCR, niente riconoscimento automatico della curva, niente smoothing, interpolazione, fitting o generazione automatica di modelli. Sono cose che si fanno dopo, con altri strumenti: qui si tratta solo di leggere il grafico in modo riproducibile. È una scelta, non una mancanza — un punto interpolato che sembra misurato è il modo più rapido per prendersi in giro da soli.
Cosa serve per farlo girare
- Python 3 con Tkinter/Tcl-Tk;
- Pillow per le immagini e NumPy per la matematica della calibrazione;
- immagini PNG, JPG/JPEG o TIFF.
Il manuale
Le pagine qui sotto sono il manuale completo: calibrazione, acquisizione, formato dei file salvati, due procedure d’esempio su una 6BX7 e una 2D21, e il riepilogo dei limiti noti.