From ffe638842f63c0149db8fa328724d06e079a3062 Mon Sep 17 00:00:00 2001 From: Davide Grilli Date: Mon, 13 Jul 2026 23:11:47 +0200 Subject: [PATCH] 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 --- main.py | 45 +++++++++++++++++++++++++++++++++++++++++++++ raw/.gitkeep | 0 2 files changed, 45 insertions(+) create mode 100644 main.py create mode 100644 raw/.gitkeep diff --git a/main.py b/main.py new file mode 100644 index 0000000..5ef773a --- /dev/null +++ b/main.py @@ -0,0 +1,45 @@ +"""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() diff --git a/raw/.gitkeep b/raw/.gitkeep new file mode 100644 index 0000000..e69de29