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

Scarica

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

  1. 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.
  2. 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.
  3. 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.