# uffHeaderViewer **Repository Path**: schou0419/uffHeaderViewer ## Basic Information - **Project Name**: uffHeaderViewer - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-02 - **Last Updated**: 2026-02-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # UFF Data Viewer A Python-based data visualization tool for Universal File Format (UFF) data, with enhanced support for UFF58b binary format. ## Features - Open and parse UFF (Universal File Format) data files - Robust support for UFF58b binary format with automatic format detection - Parallel processing for faster file parsing - View time-domain signal data for multiple channels - Interactive time-domain selection for analysis - FFT computation and visualization of frequency spectra - Export data to CSV format - PyQt5-based responsive user interface ## Requirements - Python 3.7+ - PyQt5 - NumPy - Matplotlib - concurrent.futures (standard library) ## Installation 1. Clone this repository: ``` git clone https://github.com/yourusername/uff-viewer.git cd uff-viewer ``` 2. Install dependencies: ``` pip install -r requirements.txt ``` ## Usage Launch the application: ``` python main.py ``` Command-line options: ``` python main.py --file path/to/file.uff # Open a specific file at startup ``` ## How to Use 1. Click "Open UFF File" to select a UFF data file 2. Select a channel from the dropdown menu 3. View time-domain data in the top plot 4. Drag to select a region for FFT analysis 5. Click "Update FFT" to compute FFT for the selected region 6. Use the "Export Data" option to save data as CSV ## Keyboard Shortcuts - **Ctrl+O**: Open a UFF file - **Ctrl+E**: Export data to CSV - **Ctrl+R**: Reset view - **Ctrl+Q**: Exit application ## Troubleshooting ### UFF File Format Issues If the application has trouble reading your UFF files: - Ensure the file follows the UFF58 format specification - Check that channel headers have the expected 13 lines - Both ASCII and binary formats are supported - The application automatically detects and handles different binary formats: - Supports both Little Endian and Big Endian byte ordering - Handles IEEE 754 floating point format - Supports different ordinate data types (real/complex, single/double precision) ### Performance Considerations For large UFF files with many channels: - The application uses parallel processing to speed up file parsing - By default, it uses up to 16 worker threads based on available CPU cores - For extremely large files, parsing may still take some time - Memory usage increases with file size and number of channels ## Contributing Contributions are welcome! Please feel free to submit a Pull Request. ## License This project is licensed under the MIT License - see the LICENSE file for details.