# Radar Data Reader & Processor

A graphical utility suite built in Python for a complete workflow of converting, analyzing, and extracting data from proprietary radar files.

---

### Descrizione (Italiano)

**Radar Data Reader & Processor** è un'applicazione desktop progettata per orchestrare l'intero flusso di lavoro di analisi dei dati radar, dalla registrazione grezza all'estrazione di dati strutturati.

L'applicazione guida l'utente attraverso un processo logico in più fasi:

1.  **Analisi di Volo (`Flight Analyzer`)**: Partendo da una serie di file di registrazione grezzi (`.rec`), l'applicazione analizza un intero volo, ne identifica automaticamente i segmenti operativi (es. diverse modalità radar) e ne presenta un sommario dettagliato. L'utente può quindi esportare i dati grezzi dei segmenti di interesse in file binari (`.out`).
2.  **Processamento dei Segmenti (`Segment Processor`)**: Dopo l'esportazione, questa funzionalità permette di processare in blocco tutti i file `.out` generati, estraendo dati specifici in formati standard come **CSV** e **JSON**. L'estrazione è guidata da profili personalizzabili.
3.  **Utility Aggiuntive**: L'applicazione include anche strumenti per l'analisi di un singolo file `.out` e per la conversione manuale da `.rec` a `.out`, fungendo da frontend per l'eseguibile esterno `g_reconvert.exe`.

L'applicazione è pensata per ingegneri e analisti che necessitano di estrarre e visualizzare dati specifici da complessi flussi di dati radar in modo efficiente, strutturato e riproducibile.

### Key Features

*   **Flusso di Lavoro Guidato**: L'interfaccia a schede accompagna l'utente dall'analisi del volo al processing dei dati.
*   **Analisi Automatica dei Segmenti**: Identifica e riassume automaticamente le diverse fasi operative di un volo.
*   **Esportazione Selettiva**: Permette di esportare i dati grezzi solo dei segmenti di interesse.
*   **Processamento in Blocco**: Analizza decine o centinaia di segmenti esportati in una sola operazione.
*   **Profili di Esportazione Potenti**: Un editor avanzato permette di creare profili per selezionare esattamente quali campi dati esportare, con opzioni di traduzione per i valori enumerati.
*   **Output Multi-formato**: Esporta i dati estratti in file CSV o JSON, pronti per essere analizzati con altri strumenti.
*   **Wrapper per Tool Esterno**: Esegue e gestisce un eseguibile C++ (`g_reconvert.exe`) per la conversione dei dati, catturandone l'output in tempo reale.
*   **Logging Integrato**: Una console di log mostra i messaggi dall'applicazione e dal tool esterno.

### Technology Stack

*   **Python 3**
*   **Tkinter** per la GUI
*   **Pandas** e **NumPy** per la manipolazione e analisi dei dati

---

### Description (English)

**Radar Data Reader & Processor** is a desktop application designed to orchestrate the entire radar data analysis workflow, from raw recordings to structured data extraction.

The application guides the user through a logical, multi-step process:

1.  **Flight Analysis (`Flight Analyzer`)**: Starting from a series of raw recording files (`.rec`), the application analyzes an entire flight, automatically identifies its distinct operational segments (e.g., different radar modes), and presents a detailed summary. The user can then export the raw data of the desired segments into binary (`.out`) files.
2.  **Segment Processing (`Segment Processor`)**: After export, this feature batch-processes all the generated `.out` files, extracting specific data into standard formats like **CSV** and **JSON**. The extraction is driven by customizable profiles.
3.  **Additional Utilities**: The application also includes tools for analyzing a single `.out` file and for manual `.rec` to `.out` conversion, acting as a frontend for the external `g_reconvert.exe` executable.

The application is intended for engineers and analysts who need to extract and view specific data from complex radar data streams in an efficient, structured, and reproducible manner.

### Key Features

*   **Guided Workflow**: The tab-based interface guides the user from flight analysis to data processing.
*   **Automatic Segment Analysis**: Automatically identifies and summarizes the different operational phases of a flight.
*   **Selective Export**: Allows exporting the raw data of only the segments of interest.
*   **Batch Processing**: Analyzes tens or hundreds of exported segments in a single operation.
*   **Powerful Export Profiles**: An advanced editor allows creating profiles to select exactly which data fields to export, with translation options for enumerated values.
*   **Multi-format Output**: Exports extracted data to CSV or JSON files, ready for analysis with other tools.
*   **External Tool Wrapper**: Runs and manages a C++ executable (`g_reconvert.exe`) for data conversion, capturing its output in real-time.
*   **Integrated Logging**: A log console displays messages from both the application and the external tool.

### Technology Stack

*   **Python 3**
*   **Tkinter** for the GUI
*   **Pandas** and **NumPy** for data manipulation and analysis