diff --git a/OpenEphys.Onix1/NeuropixelsV1DataFrame.cs b/OpenEphys.Onix1/NeuropixelsV1DataFrame.cs index 5e786c4..8fde0aa 100644 --- a/OpenEphys.Onix1/NeuropixelsV1DataFrame.cs +++ b/OpenEphys.Onix1/NeuropixelsV1DataFrame.cs @@ -37,8 +37,12 @@ public NeuropixelsV1DataFrame(ulong[] clock, ulong[] hubClock, int[] frameCount, /// Gets the spike-band data as a object. /// /// - /// Spike-band data has 384 rows (channels) with columns representing the samples acquired at 30 kHz. Each sample is a - /// 10-bit, offset binary value encoded as a . + /// Spike-band data has 384 electrodes (rows) with columns representing the samples acquired at 30 kHz. + /// Each sample is a 10-bit, offset binary value encoded as a . To convert to + /// microvolts, the following equation can be used: + /// + /// V_electrode (uV) = 1171.875 uV / AP Gain × (ADC result – 512) + /// /// public Mat SpikeData { get; } @@ -46,8 +50,12 @@ public NeuropixelsV1DataFrame(ulong[] clock, ulong[] hubClock, int[] frameCount, /// Gets the LFP band data as a object. /// /// - /// LFP data has 32 rows (channels) with columns representing the samples acquired at 2.5 kHz. Each sample is a - /// 10-bit, offset binary value encoded as a . + /// LFP-band data has 384 electrodes (rows) with columns representing the samples acquired at 2.5 kHz. + /// Each sample is a 10-bit, offset binary value encoded as a . To convert to + /// microvolts, the following equation can be used: + /// + /// V_electrode (uV) = 1171.875 uV / LFP Gain × (ADC result – 512) + /// /// public Mat LfpData { get; } } diff --git a/OpenEphys.Onix1/NeuropixelsV2eBetaDataFrame.cs b/OpenEphys.Onix1/NeuropixelsV2eBetaDataFrame.cs index e4e35b1..3584f65 100644 --- a/OpenEphys.Onix1/NeuropixelsV2eBetaDataFrame.cs +++ b/OpenEphys.Onix1/NeuropixelsV2eBetaDataFrame.cs @@ -25,6 +25,14 @@ public NeuropixelsV2eBetaDataFrame(ulong[] clock, ulong[] hubClock, Mat amplifie /// /// Gets the amplifier data array. /// + /// + /// Wide band (0.5 Hz - 10 kHz) electrophysiology data array. Each element is an amplified sample from + /// 384 electrodes (rows) acquired at 30 kHz (columns). Each sample is a 14-bit, offset binary value + /// encoded as a . To convert to microvolts, the following equation can be used: + /// + /// V_electrode (µV) = 0.76294 µV/bit × (ADC result – 8192) bits + /// + /// public Mat AmplifierData { get; } /// diff --git a/OpenEphys.Onix1/NeuropixelsV2eDataFrame.cs b/OpenEphys.Onix1/NeuropixelsV2eDataFrame.cs index 3a3ccbc..bd6a7d0 100644 --- a/OpenEphys.Onix1/NeuropixelsV2eDataFrame.cs +++ b/OpenEphys.Onix1/NeuropixelsV2eDataFrame.cs @@ -23,6 +23,14 @@ public NeuropixelsV2eDataFrame(ulong[] clock, ulong[] hubClock, Mat amplifierDat /// /// Gets the amplifier data array. /// + /// + /// Wide band (0.5 Hz - 10 kHz) electrophysiology data array. Each element is an amplified sample from + /// 384 electrodes (rows) acquired at 30 kHz (columns). Each sample is a 12-bit, offset binary value + /// encoded as a . To convert to microvolts, the following equation can be used: + /// + /// V_electrode (µV) = 3.05176 µV/bit × (ADC result – 2048) bits + /// + /// public Mat AmplifierData { get; } internal static unsafe ushort GetProbeIndex(oni.Frame frame) @@ -94,7 +102,7 @@ internal static unsafe void CopyAmplifierBuffer(ushort* amplifierData, ushort[,] { 225, 227, 229, 231, 233, 235, 237, 239, 241, 243, 245, 247, 249, 251, 253, 255 }, // Data Index 38, ADC 15 { 353, 355, 357, 359, 361, 363, 365, 367, 369, 371, 373, 375, 377, 379, 381, 383 }, // Data Index 39, ADC 23 - }; + }; } [StructLayout(LayoutKind.Sequential, Pack = 1)]