PerceptionPnrf 1.2.1
dotnet add package PerceptionPnrf --version 1.2.1
NuGet\Install-Package PerceptionPnrf -Version 1.2.1
<PackageReference Include="PerceptionPnrf" Version="1.2.1" />
<PackageVersion Include="PerceptionPnrf" Version="1.2.1" />
<PackageReference Include="PerceptionPnrf" />
paket add PerceptionPnrf --version 1.2.1
#r "nuget: PerceptionPnrf, 1.2.1"
#:package PerceptionPnrf@1.2.1
#addin nuget:?package=PerceptionPnrf&version=1.2.1
#tool nuget:?package=PerceptionPnrf&version=1.2.1
Perception.Pnrf
.NET parser for the PNRF binary measurement format (HBK Perception).
PNRF files (.pnrf) are produced by HBK Perception data acquisition software and contain high-speed analog waveforms, digital events, CAN/fieldbus data, and SPT harmonic analysis results.
Installation
dotnet add package Perception.Pnrf
Usage
using PerceptionPnrf;
using PerceptionPnrf.Models;
using var pnrf = new PnrfFile("measurement.pnrf");
foreach (var rec in pnrf.Recorders)
{
Console.WriteLine($"Recorder: {rec.LogicalName}");
foreach (var ch in rec.Channels.Where(c => c.Segments.Count > 0))
{
var seg = ch.Segments[0];
Console.WriteLine($" {ch.LogicalName}: {seg.SampleCount} samples, unit={ch.Units}");
// High-performance read into caller-provided buffer (zero allocation)
var buffer = new double[1000];
ch.ReadSamples(segmentIndex: 0, offset: 0, buffer.AsSpan());
}
}
See the Sample application for a comprehensive demonstration including:
- Full and partial (windowed) reads
- High-performance chunked reads with buffer reuse
- MATD (sparse async) channels with ZOH interpolation
- Event channels (MEWD bit extraction)
- SPT (spectrum) channels
- Multi-segment traversal
Status
The API surface mirrors the Python implementation (perception-pnrf on PyPI).
Specification
The full reverse-engineered format specification is available in the spec/ directory of the source repository.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.