Neuropype Version: 2022.0.3
- AccumulateCalibrationData: Reset begin/end buffer times after emitting calibration buffer; fix edge case where current chunk ends of the end calibration marker; calibration data now includes very first and last sample of calibration data
- ImportXDF:
use_streamnames
reverted to False by default - NWayPassthrough: Move spammy log message to verbose
- CognionicsInput: More robust impedance check on/off, additional logging, support for Linux
- NoDataAlert: Send notifs as markers ('no-data' or 'data-ok') (can send over LSL)
Neuropype Version: 2022.0.2
- LSLInput: Bugfix in handling query with localhost and name
- TopoPlotViewer: Change default disc_scale setting
- ChannelDiagnostics: Add output ports for diagnostics data (can send over LSL)
- ComputeImpedance: Fix case where Origin.device_model is unspecified
- TimeSeriesPlot: Change colormap to brg, fix exception when expanding window to fullscreen
- RDetection: Suppress spammy benign index out of range message
- SpectrumPlot: Add auto_line_colors option
- Add timestamp to log messages
Neuropype Version: 2022.0.1
- Support for CGX headset
Quick-20r-v2
- LSLInput: Add new
use_streamnames
property; fix case where query is name='' - FuseStreams: Add new
drop_original_streams
property; bugfix - MarkerStreamWindow: Fix case where window did not close when pipeline was terminated
- ImportXDF, ImportFile:
use_streamnames
is now True by default - Preprocess: Fix bug where montage file was not correctly retrieved
Neuropype Version: 2022.0.0
New Nodes:
- Diagnostics package:
- GateCheck: Check that the data packet meets certain criteria before allowing it to pass through.
- OperateElementwise: Apply an operation to the data, where the data block of the first and second inputs are operands.
- Feature_extraction package:
- DemixingPCA: In addition to systematically capturing the majority of the variance of the data, dPCA also exposes the dependence of the neural representation on task parameters such as stimuli, decisions, or rewards.
- File_system package:
- GetIdentifierFromPath: Extract subject/session identifiers from the source filename.
- Markers package:
- SelectMarkerSpans: Keep or discard spans of data (along time) relative to markers.
- Neural package:
- PhaseAmplitudeCoupling: Calculates the degree of dependence of the amplitude signal on the phase of the phase signal.
- PreprocessEEG: A meta-node that performs a standard EEG preprocessing chain including high/low pass filtering, artifact and bad channel removal, referencing, etc.
- Nirs package:
- BadChannelRemovalNIRSCoV: Remove channels with abnormal data from a continuous NIRS signal, based on CoV.
- BadChannelRemovalNIRSCorr: Remove channels with abnormal data from a continuous NIRS signal, based on channel correlation.
- ConcentrationsToOpticalDensity: Infer NIRS (delta-)optical density from chormophore (HbO, HbR) concentration changes.
- HDDOT: Transform fNIRS optical densities into brain mesh images using optical tomography.
- OptodeAttribution: Attribute channel measures to optodes.
- SubtractDarkIntensity: Subtract dark intensity channels from intensity channels.
- CastValueToType: Cast an input value to a certain type (string, int, float, list, dict).
- Source_localization package:
- ComputeRegions: Perform source localization for given ROIs and optionally groups them based on a mapping
- Signal_processing package:
- PeakFindingContour: Find all peaks in the given data along a given axis.
- PeakFindingWavelet: Find all peaks in the given data along a given axis.
- SavitzkyGolayFilter: Apply a Savitzky-Golay filter to an array.
- Spectral package:
- LombScargleSpectrum: Calculate the power spectrum of the given data using the Lomb-Scargle method, which is intended for unevently sampled data.
- Centroid: Compute a (typically robust) centroid of the given data points enumerated by an axis.
- Histogram: Compute a histogram of data for each element along a given axis.
- Tensor_math package:
- Reverse: Reorder the elements along an axis, and the corresponding data slices, so they are in reverse order.
- GetTimeShifts: Retrieve the time shifts between a chunk's time axis and another set of timestamps.
- MoveToBackend: Move the data to the specified compute backend.
- OverrideDataType: Override the data precision type of the given data.
- PipelineDone: Force a streaming pipeline that also has one or more offline components to declare itself finished when set to True.
- PropagateNaNs: Propagate NaNs within a data packet following a specified rule.
- Visualization package:
- InspectPacket: Shows the contents of a Packet, including data tensor values, axes, streams, and markers.
Renamed Nodes:
The old names are retained as alias nodes in the deprecated
package:
- InspectData --> InspectPacket
- PeakFinding --> PeakFindingWavelet
Deprecated Nodes:
- FindROIs (use SelectROIs instead)
Experiment Recorder
Experiment Recorder is a client application for presenting cognitive tasks (similar to PsychoPy) and saving
Menu Features:
(Features accessible through the Neuropype menu in the Window Taskbar)
- A new
Neuropype Control Panel
client app, which can be used to launch multiple pipelines, view/start/stop all running pipelines (regardless of how they were launched), and view all LSL streams (with an indicator if whether a stream is presently streaming data). These functions are available from theRun Pipeline
,View Running Pipelines
, andView LSL Streams
menu items. Show Logs
: Access the folder with your Neuropype session logsReport Bug/Feedback
: Direct link to our support forum for reporting a bug or asking a question ( (requires a login to your neuropype.io account)
Engine Features:
- A separate log file is created for each Neuropype session (in
~/.neuropype/logs
), and log files older than 30 days (configurable) are automatically purged on startup. - StatisticAxis: added
labels
property for storing error type (i.e.,sem
) etc. - New
is_calibrated
flag (can be set by a node to indicate stream has been calibrated) - Many enhancements and performance improvements for machine learning operations, support for GPU computations, and support for non-EEG signals (i.e., NIRS).
Node Features:
- BarPlot: check for non-singleton axes other than the plotting axis; skip empty packets,
use_last_instance
property deprecated - ChannelRepair: optimizations for high-channel data, can now run on GPU or multi-core CPU efficiently
- CognionicsInput: added support for Quick-20m, AIM devices
- Covariance, Mean: added GPU/multicore support
- CumulativeSum: now works with either streaming or offline data
- ExponentialMovingAverage: support for
forget_factor
- ExportMarkers: export multiple marker streams into their own CSV files
- ExtractStreamProperty: support for extracted nested tags
- GroupedMean: store the mean_type, error_type in the Stastistic.labels field
- ImportFile: skip if file doesn't exist.
- ImportXDF: restore
experiment
,subject
,cap
,acquisition
andmetadata
tags, if present in the XDF file, as stream props on import. Also import Space.positions and .positions_source. - IncrementalWhitening: grouping features and selective updating
- InsertMarkers: make ExtraLimits default
[]
and ignore if empty - InterpolateMissingChannels: added GPU/multicore support, statistical interpolation
- MovingAverage: added subtract option
- ParameterPort: add support for nested value types: list[list], list[dict], dict[str,list], dict[str,dict]; default param changed from StringPort to Port/object to allow passing/validating non-stringified params
- ParseStatsTable: handle stats in Statistic axis
- PathIterator: support recursive searching on local filesystem, including
**
syntax for multi-level folder search; add sort_by param that can be alphabetical or chronological based on timestamp in filename; BIDS handling now outputs dataset level variables - QuantileStandardization: added
axis
parameter to allow for data with instance axis instead of time axis - RandomSubset: added
fraction
property to obtain a random subset that's a fraction of the original data - RecordToXDF: save top-level tags from the LSL/XDF spec ('experiment', 'subject', 'cap', 'acquisition') to XDF (i.e., these can added upstream to an incoming LSL stream or imported file using SetStreamProperties); save user-defined metadata in the
metadata
stream property (which can be set in with SetStreamProperties) to XDF; save Space.positions and Space.positions_source to XDF files - RectangularMovingWindowStandardization: option to apply one stream's scaling to another stream; also made epsilon configurable
- Resample: configurable padding type
- RobustRectangularStandardization: added caching support
- ScrollPlot: increased max # of plottable lines; plot scale no longer thrown off by outlier channels
- SetStreamProperties: set
only_signals
default toFalse
- SignalWhitening: option to constrain the whitening; can perform univariate scaling per channel; can lock scales across all channels (useful for comparisons)
- Spectrogram: no longer tries to imply unit (backward compatible)
- Standardization: support for streaming data; support for pooling stats across multiple axes
- TTest: store the statistic-types in a Statistic axis instead of a Feature axis with
legacy_mode
property for backward compatibility - TimeSeriesPlot: added
max_channels
property; support page-up/page-down keys to show prev/next set of k channels - TopoPlotViewer: new options: control disk opacity, not show channel labels, exit if plot closed
- TrimMarkerSegment: add
on_missing_events
property for handling missing event markers, andtrim_marker_streams
andstream_name
properties; deprecatedrop_marker_in_trimmed_span
property - WelchSpectrum, MultitaperSpectrum:
average_over_time_window
param deprecated - ZScoring: added support for constraining the scale/offset along 1 or 2 additional axes; support for GPU computation
- ZTest: store the statistic-types in a Statistic axis instead of a Feature axis with
legacy_mode
property for backward compatibility - Many bug fixes and updates to node docs and log messages