MF4 Viewer
ASAM MDF4 visualization in VSCode
The extension allows you to visualize an ASAM MDF4 measurement file in Visual
Studio Code. It is inspired by
asammdf and reworked to be used
inside the editor.
To launch the visualization, simply open a file ending with ".mf4" or
".mdf". The file opens directly in the MF4 Viewer custom editor: a channel
tree on the left, an interactive plot area in the center, and a metadata panel
on the right.
The position of the zoom and the cursor is synchronized across all subplots in
stacked mode.
Features
- Custom editor for
*.mf4 / *.mdf — just open the file.
- Channel tree grouped by MDF channel group (collapsible and filterable).
- Stacked mode: one subplot per channel with peak-preserving min/max
decimation and synchronized cursors.
- Overlay mode: all selected channels in a single plot, resampled onto a
common time grid, with a separate Y axis per unit.
- Zoom / pan: drag to box-zoom on X, mouse wheel to zoom, live legend values.
- Metadata panel: file version, start time, and per-channel details (unit,
group, and any embedded metadata when present).
Original Project
The data layout follows the ASAM MDF 4.x standard. The reader is a small,
self-contained TypeScript implementation. Plotting is built on top of
uPlot.
Requirements
None. The extension is self-contained and works out of the box — just install
it and open an .mf4 or .mdf file.
Extension Settings
There are currently no extension settings. Both stacked and overlay modes plot
the raw, unmodified stored values.
Known Issues
- Read-only viewer (no editing or saving of MF4).
- Supports sorted MDF 4.x files with fixed-length numeric channels (as written
by common tools such as asammdf). Variable-length, array, and structured
channels are listed but not plotted.
- In overlay mode, channels from different time bases share one X axis built
from the union of their real timestamps; each channel keeps its own raw
samples (no resampling) and consecutive samples are connected with straight
lines.
Release Notes
Please refer to the version history for the changelog.
Works with
Universal