Scientific Input / Output — graphical interface
Digital Signal Processing Group · University of Brasilia (UnB)
ScyIO UnB helps you read, inspect, convert, and merge scientific data files between common formats used in signal processing and machine-learning workflows. The interface has four working modes in the left column: Read, Convert, Batch, and Merge files. Below those modes, Configuration lets you customize colors and style.
python ScyIO_UnB_GUI.py
(Spyder or a terminal), or run the Windows executable. Conversions and merges
run in the background; watch the status bar and the log panel for progress.
| Mode | Purpose |
|---|---|
| Read | Open one data file, list its variables, and preview values in the Inspector panel. |
| Convert | Convert a single file to another format and write it to a destination folder (same base name, new extension). |
| Batch | Convert all matching files in a folder to a chosen target format. |
| Merge files |
Combine all matching files of one format in a folder into
a single output file
(.mat, .parquet, or .h5).
Unlike Batch, Merge does not create one output per input file.
|
.csv tables (with or without header).mat.h5 / .hdf5.parquet / .pq.sig / .SIG
(requires sampling frequency and sample type).sig files are handled in Convert / Batch, where you must
supply fs and sample type.
d:/Dropbox/Python_Imports/HDF5/).| Source | Targets |
|---|---|
| CSV | MATLAB (.mat), HDF5 (.h5), Parquet (.parquet) |
| MATLAB (.mat) | HDF5 (.h5), Parquet (.parquet) |
| HDF5 (.h5) | Parquet (.parquet) |
| Parquet | HDF5 (.h5) |
| Raw (.sig) | MATLAB (.mat), HDF5 (.h5), Parquet (.parquet) |
When the source is a raw binary file (.sig), extra fields appear:
1024)int → fixed-point int16, or
float → floating-point float32
Output keeps the original stem and adds the new extension, e.g.
DS01IS01.SIG → DS01IS01.mat.
When Source type is Raw (.sig), you must also set:
int (int16) or float (float32)sig; case is ignored).SIG files with
fs = 1024, type = int, extension = sig
to .mat, .h5, or .parquet in the
destination folder.
Use Merge files when you want every file of a given format in a folder written as one combined file. The button is in the left column, directly below Batch.
| Batch | Merge files | |
|---|---|---|
| Input | Many files in a folder | Many files in a folder |
| Output | One converted file per source file | A single combined file for the whole folder |
| Formats | CSV, MAT, HDF5, Parquet, Raw → chosen target | Same format in and out: MAT→MAT, Parquet→Parquet, HDF5→HDF5 |
destination_directory / target_name.| Field | Meaning |
|---|---|
| Source folder | Folder that holds the source files (e.g. all .mat files). |
| Source format | Which file type to collect and merge. |
| Target name | Name of the single output file, including extension
(.mat, .parquet, or .h5). |
| Destination | Folder where that output file is saved. |
| Recursive | If checked, also merge matching files found in subfolders. |
| Source format | What is merged | Default target name |
|---|---|---|
| MATLAB (.mat) | All .mat files → one .mat |
merge_files.mat |
| Parquet (.parquet) | All .parquet files → one .parquet |
merge_files.parquet |
| HDF5 (.h5) | All .h5 / .hdf5 tables → one .h5 |
merge_files.h5 |
source_name / source_path identify
which original file each row came from (when available).
Example 1 — merge all MATLAB files
D:/Dropbox/Python_Imports/TESTE/MATmerge_files.matD:/Dropbox/Python_Imports/TESTED:/Dropbox/Python_Imports/TESTE/merge_files.matExample 2 — merge all Parquet files
D:/Dropbox/Python_Imports/TESTE/PARQUETmerge_files.parquetD:/Dropbox/Python_Imports/TESTED:/Dropbox/Python_Imports/TESTE/merge_files.parquetExample 3 — merge all HDF5 files
D:/Dropbox/Python_Imports/TESTE/HDF5merge_files.h5D:/Dropbox/Python_Imports/TESTED:/Dropbox/Python_Imports/TESTE/merge_files.h5Select Configuration (directly below Merge files) to customize the GUI appearance.
ScyIO_UnB_GUI_config.json in the same folder as the application.
On the next startup the GUI loads this file automatically.fs and sample type;
wrong settings produce incorrect waveforms.
The GUI calls the Python library ScyIO_UnB.py. Scripted examples
are in ScyIO_UnB_Test.py, including:
.mat files into one
.mat.h5 files into one
.h5.parquet files into one
.parquet