SIGVIEW supports custom file loader plugins written in Julia. These plugins allow you to extend SIGVIEW with support for additional signal file formats beyond the built-in ones. This provides a flexible and powerful way to integrate proprietary, experimental, or uncommon data formats directly into your analysis workflow.


Once a plugin is installed, its file type automatically appears in the File Open dialog. It will be listed both as a separate filter entry and included in the "All supported formats" filter. No additional configuration is required.


The plugin system is designed to be lightweight and efficient. Plugin metadata (such as supported file extensions and descriptions) is read directly from the script text without executing Julia code. This ensures that SIGVIEW startup remains fast. The actual Julia code is only executed when opening a file that matches the plugin’s extensions.

Plugin Directories

SIGVIEW searches for plugin files (.jl) in two locations:

Application plugins directory: <SIGVIEW install directory>\scripts\plugins\

This directory contains plugins delivered with SIGVIEW. These files may be overwritten during software updates and should not be modified.

User plugins directory: %APPDATA%\Sigview\Plugins\FileLoaders\

This directory is intended for your own plugins. Files placed here are preserved across updates. If the directory does not exist, it can be created manually.

All .jl files in these directories are treated as individual plugins. SIGVIEW scans these directories during startup.

Getting Started

To verify that the plugin system is working, open the File Open dialog (File / Open). Installed plugins will appear as additional file type filters (for example, "MATLAB data files (.MAT)").

Select a supported file and open it. Each signal channel or numeric array detected by the plugin will be loaded into SIGVIEW as a separate signal window.

If a plugin depends on external Julia packages that are not installed, SIGVIEW will automatically detect this and display a dialog offering to install the missing packages. After installation, the file can be opened again.

A maximum of 256 signal channels can be loaded from a single file.

Included Plugins


Sigview ships with the following plugins in the application plugins directory:


MATLAB MAT File Loader (MATFileLoader.jl)

oExtensions: .mat

oRequires: MAT.jl (install with: import Pkg; Pkg.add("MAT"))

oReads all numeric variables from MATLAB .mat files. Vectors become single channels. Matrices are split into channels by column (or by row if there are more columns than rows). Higher-dimensional arrays are flattened.

FLAC Audio File Loader (FLACFileLoader.jl)

oExtensions: .flac

oRequires: FLAC.jl (install with: import Pkg; Pkg.add("FLAC"))

oReads FLAC audio files with proper sample rate detection. Multi-channel FLAC files produce one signal window per channel.

NumPy NPY/NPZ File Loader (NPZFileLoader.jl)

oExtensions: .npy, .npz

oRequires: NPZ.jl (install with: import Pkg; Pkg.add("NPZ"))

oReads Python NumPy array files. NPY files contain a single array, NPZ files contain multiple named arrays. Numeric arrays are loaded as signal channels.

Julia JLD2 File Loader (JLD2FileLoader.jl)

oExtensions: .jld2

oRequires: JLD2.jl (install with: import Pkg; Pkg.add("JLD2"))

oReads Julia's native JLD2 data files. All numeric arrays and scalar values stored in the file are loaded as signal channels.

UFF/UNV File Loader (UFFFileLoader.jl)

oExtensions: .uff, .unv

oRequires: no external packages

oReads Universal File Format Dataset 58 records, widely used in vibration testing and modal analysis. Supports both evenly and unevenly spaced data, real and complex values. Channel names, units, and sampling rates are extracted from the dataset headers.

GDF Biosignal File Loader (GDFFileLoader.jl)

oExtensions: .gdf

oRequires: no external packages

oReads General Data Format (GDF) version 1.x and 2.x biosignal files, used in EEG, BCI, and biomedical recording. Supports all standard GDF data types with digital-to-physical calibration and per-channel sample rates. Channel labels and physical units are extracted from the file header.


Writing a Plugin


For instruction about creating new custom File Plugins, see Writing File Loader Plugins chapter