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>
This commit is contained in:
@@ -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()
|
||||
Reference in New Issue
Block a user