- docs/SPEC.md sostituito da un file per argomento (indice in docs/README.md) - assunzioni A1-A24 con dove nel codice e cosa succede se false - formule in LaTeX corrette (nessuno spazio prima del dollaro di chiusura), simboli e chiavi in tabella - diagrammi Mermaid per il flusso degli algoritmi e le dipendenze dei moduli - figura dei domini sul seed 1 (docs/img/domini_esempio.png) - README ridotto a indice con avvio rapido; CLAUDE.md e docstring allineati Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
3.3 KiB
Uso
1. Installazione
Python ≥ 3.11 e uv (curl -LsSf https://astral.sh/uv/install.sh | sh):
uv venv .venv
uv pip install -e ".[dev]" # numpy, scipy, matplotlib; pytest e ruff per lo sviluppo
Il comando si chiama fitseg: .venv/bin/fitseg, oppure dopo source .venv/bin/activate semplicemente fitseg.
2. Dati di ingresso
I CSV da analizzare vanno nella cartella input/ (la cartella è nel repository, i file *.csv no). Formato: intestazione, tempo
strettamente crescente, una colonna per serie, numeri senza celle vuote (A1, A2); i nomi delle colonne e l'unità del tempo sono in
[dati] di config.toml (configurazione.md).
t_ms,T_C,dT_C
151,22.90,0.20
301,22.63,0.03
I CSV di prova si generano con il repository fratello ../gen_data (modello: ../gen_data/docs/SPEC.md). I test di integrazione usano i seed 1–3:
mkdir -p input
for s in 1 2 3; do
(cd ../gen_data && .venv/bin/python genera.py config.toml --seed $s -o ../EquationMiner/input/gen_$s.csv)
done
3. Comandi
fitseg domini input/gen_1.csv # passo 1: come verrebbero suddivisi i dati (tabella, domini.png, domini.toml), nessun fit
fitseg analizza input/gen_1.csv # tutti i passi: domini, equazioni, sovrapposizione, report
fitseg analizza input/gen_1.csv --domini output/gen_1/01_domini/domini.toml # con i domini corretti a mano
| Opzione | Dove | Significato |
|---|---|---|
--config PATH |
prima del sottocomando | file di configurazione (default config.toml) |
--output DIR |
prima del sottocomando | cartella madre dell'output (default [output] cartella_output); i file vanno in DIR/<nome csv>/ |
--domini FILE |
solo analizza |
usa questi domini invece della proposta automatica |
Flusso consigliato: lancia fitseg domini, guarda 01_domini/domini.png (in particolare lo zoom); se la suddivisione è giusta lancia
fitseg analizza, altrimenti correggi domini.toml e rilancia con --domini.
Correggere i domini a mano
Apri output/<csv>/01_domini/domini.toml, modifica t0_s / t1_s o il tipo (riposo, riscaldamento, raffreddamento), aggiungi o togli blocchi
[[dominio]]. I domini devono restare contigui. Formato e regole: configurazione.md («domini.toml»). Con --domini il file viene
riscritto normalizzato e il grafico rigenerato, quindi domini.png mostra sempre la suddivisione effettivamente usata.
4. Cosa esce
Una cartella per CSV con 01_domini/, 02_sovrapposizione/, 03_report/report.md: output.md. Il report si apre con un visualizzatore Markdown
con supporto matematico (formule in LaTeX).
5. Codici di uscita
| Codice | Significato |
|---|---|
| 0 | ok |
| 2 | uso errato della riga di comando (argparse) |
| 3 | config.toml non valido: file illeggibile, TOML non valido, chiave mancante, valore non ammesso |
| 4 | CSV illeggibile o non valido (colonna mancante, valori non numerici, tempo non crescente) |
| 6 | domini.toml non valido (tipo non ammesso, intervallo vuoto, domini non contigui) |
Gli errori sono stampati su stderr in italiano come Errore: ….
6. Sviluppo
Test e controllo dello stile: test.md. Mappa del codice e come aggiungere un modello: moduli.md.