Files
ciclovolametrie/main.py
T
davide ffe638842f Aggiunge main.py per eseguire l'intera pipeline in cascata
Legge i .txt grezzi dalla cartella 'raw' ed esegue in sequenza
conversione in CSV, estrazione dell'ultimo ciclo, normalizzazione del
potenziale, calcolo delle colonne derivate dalla corrente e generazione
dei grafici. Aggiunge raw/ (tracciata solo tramite .gitkeep, i file al
suo interno restano ignorati).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-13 23:11:47 +02:00

46 lines
1.4 KiB
Python

"""Esegue in cascata l'intera pipeline di voltammetria ciclica.
Prende i file .txt grezzi dalla cartella 'raw' (nella root del progetto)
e li elabora nell'ordine:
1. cv_to_csv -> CSV a due colonne (Potential/V, Current/A)
2. cv_last_cycle -> isola l'ultimo ciclo completo
3. cv_normalize_potential -> aggiunge il potenziale normalizzato
4. cv_current_over_sqrt_scanrate -> aggiunge le colonne derivate dalla corrente
5. cv_plot -> genera il grafico PNG per ciascun file
Tutti i file intermedi e i risultati vengono creati dentro 'raw'.
"""
import sys
from pathlib import Path
import cv_to_csv
import cv_last_cycle
import cv_normalize_potential
import cv_current_over_sqrt_scanrate
import cv_plot
RAW_DIR = Path(__file__).parent / "raw"
def main() -> None:
if not RAW_DIR.is_dir():
print(f"Cartella 'raw' non trovata: creala e mettici dentro i file .txt da elaborare ({RAW_DIR})")
return
steps = [
("Conversione .txt -> .csv", cv_to_csv),
("Estrazione ultimo ciclo", cv_last_cycle),
("Normalizzazione potenziale", cv_normalize_potential),
("Colonne corrente/velocita' di scansione", cv_current_over_sqrt_scanrate),
("Generazione grafici", cv_plot),
]
for label, module in steps:
print(f"\n=== {label} ===")
module.main(["", str(RAW_DIR)])
if __name__ == "__main__":
main()