app
Response Review And Stats
Response Review and Stats opens a Nerve Response Analysis result or a segment table, displays the measurements, and exports a clean CSV for review or downstream statistics. Segment tables can also be aligned and measured again with new baseline and noise windows.
Open Response Review And Stats
From the launcher, select Response Review Stats and choose Open. From a source checkout, run:
labkit_ResponseReviewStats_app
Review An Analysis
- On Setup, choose an analysis JSON or segment CSV.
- The app loads the measurement rows immediately.
- If the input contains waveform segments, set the Baseline and Noise windows. Both ranges are expressed in seconds relative to alignment time.
- Choose Refresh Metrics when you want to reload the source explicitly.
- On Review, inspect the summary and details. Switch the plot between Summary and Aligned.
- On Export, choose a folder and select Export Metrics.
Changing either time window recalculates a loaded segment input automatically. For an analysis JSON that already contains measurements, the app reads those measurements rather than recreating unavailable waveform data.
Accepted Inputs
- JSON exported by Nerve Response Analysis. The app reads its
metricsrecords. - CSV that can be interpreted as waveform segments with time and values.
When segments have different time grids, the app interpolates them onto a shared grid. If no interval is specified in code, it uses the median positive source interval. If the timestamps cannot provide one, it uses 0.0001 seconds. When no window is specified, the grid spans the intersection of the time ranges after each segment's alignment-time shift. Samples outside an aligned segment's original range remain NaN.
The selected input is saved as a portable project source. Older projects are upgraded on load.
Project And Session State
The project saves the source, baseline/noise windows, and last export reference. Metric tables, aligned waveforms, and summaries are recalculated from that source after load.
Measurements And Summary
For each aligned segment, the calculation subtracts the baseline mean and reports positive and negative peaks, peak-to-peak amplitude, noise RMS, and SNR. The summary groups rows by pairId when available; otherwise it uses the segment name. Counts are included so exclusions and missing rows remain visible.
Output Files
Export Metrics writes:
response_review_metrics.csv, one row per measurement;response_review_metrics.labkit.json, recording the input, time windows, output identity, row count, and group count.
Align Segments In MATLAB Code
localTime = (-0.003:0.001:0.012).';
firstValues = zeros(size(localTime));
firstValues(localTime == 0.004) = 2;
firstValues(localTime == 0.008) = -1;
secondValues = 0.8 * firstValues;
segments = struct( ...
"timeSec", {10 + localTime, 20 + localTime}, ...
"values", {firstValues, secondValues}, ...
"name", {"first", "second"}, ...
"alignTimeSec", {10, 20});
options = struct( ...
"sampleIntervalSec", 0.001, ...
"windowSec", [-0.003 0.012], ...
"baselineWindowSec", [-0.003 -0.001], ...
"noiseWindowSec", [-0.003 -0.001], ...
"measurementWindowSec", [0 0.010]);
aligned = response_review_stats.analysisRun.alignSegments(segments, options);
metrics = response_review_stats.analysisRun.measureAlignedSegments( ...
aligned, options);
summary = response_review_stats.analysisRun.summarizeMetrics(metrics);
Each segment supplies timeSec, values, and name. An optional alignTimeSec shifts that segment to the common zero. aligned.values is a samples-by-segments matrix.
Function Reference
The generated pages for alignSegments and measureAlignedSegments define time-window option shapes and defaults, interpolation and empty-sample behavior, output table columns, failures, examples, and related APIs.
Errors And Limitations
- Baseline and noise windows must overlap the available data to produce finite measurements.
- Interpolation makes grids comparable but cannot restore timing precision or bandwidth that is absent from the source.
- An empty input returns an empty result rather than a synthetic summary.
- Keep the chosen windows with any exported amplitude or SNR values.
Related Functions And Apps
response_review_stats.analysisRun.loadMetricsresponse_review_stats.analysisRun.alignSegmentsresponse_review_stats.analysisRun.measureAlignedSegmentsresponse_review_stats.analysisRun.summarizeMetrics- Nerve Response Analysis
Functions And API
Open a function for exact MATLAB syntax, arguments, outputs, behavior, and source.
| Function | Purpose |
|---|---|
response_review_stats.analysisRun.alignSegments | Interpolate segment traces to a shared time grid. |
response_review_stats.analysisRun.measureAlignedSegments | Measure peak-to-peak, noise, and SNR per segment. |
response_review_stats.analysisRun.summarizeMetrics | Compute grouped metric counts and finite means. |
Change history
- 2026-07-20 - App actions require explanatory hover helpfeat | compatible
- 2026-07-19 - App SDK explicit contract replaces the retired UI runtimerefactor | breaking
- 2026-07-17 - Public API help is complete, discoverable, and behavior checkeddocs | compatible
- 2026-07-17 - Explicit layout action contractrefactor | compatible
- 2026-07-16 - Core, neurophysiology, and ECG project validation ownershiprefactor | compatible
- 2026-07-16 - Runtime-owned session defaults across App familiesrefactor | compatible
- 2026-07-16 - Response Review Stats uses one project contractrefactor | compatible
- 2026-07-16 - UI 7 public runtime boundaryrefactor | breaking
- 2026-07-16 - Canonical single-source app projectsrefactor | compatible
- 2026-07-15 - Runtime V2 lifecycle ownership across the app fleetrefactor | breaking
- 2026-07-13 - Managed scientific and conversion constantsrefactor | compatible
- 2026-07-06 - UI 5 facade redesign, app migration, and plot refreshrefactor | breaking
- 2026-07-03 - CSC export and viewport policyfeat | compatible
- 2026-07-03 - UI groups migrationrefactor | compatible
- 2026-07-03 - Declarative app runtimerefactor | compatible
- 2026-07-01 - Debug sample packsfeat | compatible
- 2026-06-30 - Close guards and caught-exception diagnosticsfeat | compatible
- 2026-06-30 - Output folder promptsfeat | compatible
- 2026-06-28 - App diagnostics and hardened UI workflowsfeat | compatible
- 2026-06-24 - File-panel migrationrefactor | breaking
- 2026-06-23 - Version metadata baselinefeat | compatible