Neuropype Version: 2020.0.6
- ExtractTimestamps: restored
Neuropype Version: 2020.0.5
- CCA: bugfix
Neuropype Version: 2020.0.4
- OSCInput: updated
Neuropype Version: 2020.0.3
Bugfixes/Minor Changes:
- LineNoise: added line_noise_frequency param
- NWayPassthrough: add required_inputs param
- CognionicsInput: support for Quick8r headset; additional diagnostic messages
- New version check bugfix
Neuropype Version: 2020.0.2
Bugfixes/Minor Changes:
- ImportEDF: Support for specifying marker field when not auto-detectable
- ImportVHDR: Support for specifying marker field when not auto-detectable; Support for missing [Marker Infos] field in .vmrk file.
- ImportCSV: Bugfix where importing events failed in some cases
Neuropype Version: 2020.0.1
- Fixed tensorflow version incompatibility issue
Neuropype Version: 2020.0.0
New Nodes:
- Cardiac package:
- RespRate: Calculate the respiration rate from a detected R peak.
- Device_io package:
- CognionicsInput: Receive a data stream from a Cognionics (CGX) EEG device.
- Diagnostics package:
- ComputeImpedance: Compute channel impedance for Cognionics (CGX) EEG devices.
- EstimateLag: Estimate the lag (delay) of the data in seconds
- EstimateUpdateRate: Estimate the update rate of NeuroPype.
- NoDataAlert: Alert if no data is present.
- QualityMetricsCompute: A meta-node (a node that calls other nodes), which generates a set of quality metrics for each signal file.
- SanityCheck: Check data coming from a file for certain criteria.
- OperateConstant: Add, subtract, multiply or divide each element in the data by a given constant.
- ReplaceValues: Use the input dictionary to replace the keys with the values of the dictionary in the data.
- Feature_extraction package:
- CCA: Perform Canonical Correlation Analysis (CCA) and calculate matrices of scores for CCA.
- ExtractComponentWeights: Convert transformation matrix metadata into a data block.
- File_system package:
- GetCurrentWorkingDirectory: None
- WaitForFiles: Wait for file(s) matching a certain criteria to exist in filesystem before continuing operation.
- Formatting package:
- BatchInstances: Group and batch instances based on some some criterion along a new feature axis.
- SelectInstances: Select instances (trials) based on metadata contained in the instance data field.
- Gaze package:
- AdaptiveThreshold: Calculate adaptive threshold.
- ExtractGazeEvents: Detect fixations and saccades in pupil gaze data.
- GazeScreenCoordinateConversion: Perform coordinate conversions on gaze data.
- SanitizeGazeData: Clean up gaze data before extracting gaze events.
- SetGazeMetaData: Used to overwrite the screen related metadata of a packet with gaze data.
- Machine_learning package:
- BalanceClasses: Balance the per-class trial counts in the data.
- Markers package:
- StripLongMarkers: Removes (replaces) event markers that exceed a maximum length.
- TrimMarkerSegment: Trim data before and after specified begin/end markers.
- Neural package:
- ArtifactRemoval: Remove artifacts from EEG data (both offline and streaming).
- InterpolateMissingChannels: Interpolate missing channels in the given data.
- PowerBandRatio: Calculates a ratio of precomputed spectral power bands.
- PowerBands: Computes the standard power bands for various units (dB, PSD, relative PSD, sqrt(PSD), with configurable frequency ranges.
- Spatio-Spectral Decomposition: Extract components that are most representative of a given frequency band.
- NWayPassthrough: Pass the input data through to the output.
- Signal_processing package:
- AlignStreams: Aligns multiple streams in the time domain.
- AlignWindows: Aligns signals in two data packets.
- CumulativeSum: Calculate the cumulative sum of the data over the specified axis.
- Interpolate: Interpolate the given data along a desired axis (offline/online).
- InterpolateGaps: Finds and interpolate gaps in data.
- MSeq: Generates m sequence time series for the given order (m).
- RefSignals: Generates sinusoidal reference signals with given frequencies.
- TRCA: Perform Task-Related Component Analysis (TRCA) of the input data.
- CDF: Evaluate the cumulative distribution function for a given distribution with some fixed parameters element-wise.
- CorrelationFromCovariance: Convert a covariance matrix into a matrix of correlations.
- PDF: Evaluate the probability density function for a given distribution with some fixed parameters element-wise.
- ZTest: Calculate a z-test.
- Tensor_math package:
- FiniteDifferencesCentral: Calculate the discrete n'th derivative of the given data along a chosen axis using central finite differences.
- AlignInstances: Line up streams with instance axes such that their instances and their order match.
- AssignStandardChannelNames: Assigns channel names to incoming channels based on known montages of specific EEG devices, which can be selected from a list.
- DiscardInvalidData: Remove slices of the incoming packets that contain invalid data.
- HoldLastPacket: Holds the most recently received packet.
- InterpolateMissingTimestamps: Interpolate data to repair gaps and jitter in the timestamps.
- Visualization package:
- InspectData: Shows the contents of the data packet in a table, including values, axes, streams, and markers.
New Resources:
- Added new headmodel: ICBM (339 channels, 5003 vertices)
Node Changes:
- Added
Set Breakpoint
property to every node (to pause execution of pipeline on that node) (see also engine/breakpoints.py). See Debugging your Pipelines/Nodes for details. - HeartRate and HeartRateVariability: Now work with both offline and online (streaming) data.
- RespRate: (Respiration Rate): Now works with both offline and online (streaming) data.
- ExportH5: added rename_on_write option (default off)
- ImportFile, ImportXDF: new
use_streamnames
option to retain original stream names on import (instead of renaming to 'eeg', 'eeg-1') - ImportXDF: support for
max_marker_len
option to separate out very long markers into a string table - PathIterator: added support for meta-data filter conditions as a Python expression string
- ExtractStreams: added support for wildcards
- FuseStreams: added stream_name support
- MergeStreams: allow lexigraphic sort of chunks in packet
- Segmentation: time axis stamps in sliding window segmentation case are now relative (vs absolute); no longer requires a marker stream to use "sliding" online segmentation mode
- SetInstanceDetails: added support for transferring properties from chunk.props
- AssignTargets: added new 'conditions' mapping format that takes python expressions; 'auto' mapping format renamed to 'compat'
- MeasureLoss: added option to output two feature axes instead of one
- AddEventMarker: added new trial_end property
- RemoveIntersectingMarkers: added support for not flagging the locking marker itself as the marker to avoid, and for removing markers whose neighborhoods intersect specified other marker
- BandPower: added option to use either Multitaper or Welch spectrum, added baseline removal option and max_gap_length for segmentation
- EventRelatedPotential: added max_gap_length param for segmentation
- LSLInput: added support for connectivity serialization over LSL
- LSLOutput: added support for connectivity serialization over LSL; added optional ignore_signal_changed flag
- RegulateChunkSizes: added reset_on_gap, also_reset_buffer properties
- FixSignalUnit: log indicates whether computed factor is too large/small
- CombineChannels: supports wildcards; returns an error message if a channel group resolves to no source channels
- SelectRoiGroups: now works if exact syntax of the incoming ROIs differs from the predefined one (as long as region names are the same)
- ChannelBaselineCalibration: added support for robust estimation
- ZMQInput: now outputs None once timeout on socket is reached; closes zmq socket when blocking_read is set to False
- GroupedMean: added allow_markers property
- ConcatInputs: required_inputs property to require n inputs to contain data before concatenating
- FoldIntoAxis: now supports a customizable separator character
- OverrideAxis: only_signals now defaults to True; warns if no signal blocks found
- ShiftTimestamps: added timestamp_pairs port to feed in timestamp pairs to shift by
Engine Changes:
- Debugging!:
breakpoints.py
allows a breakpoint to be triggered on an exception when running Neuropype in --debug mode, and/or a breakpoint to be set on each node. See Debugging your Pipelines/Nodes for details. - Added support for writing Neuropype pipelines with Jupyter Notebooks.
- InstanceAxis.append_fields field_data argument is now optional (defaults to all-nan)
- New
Axis.data_without_props
,Axis.get_unique_fields_and_values
methods - New
--on_error=raise
argument (to raise an Exception on error) toserve.py
- New
Chunk.is_marker_stream
method (returns True if stream has as an instance axis and no time axis) - ListPort: a numpy array will validate as (and be converted to) a list
- New AliasPort class: allows an alias to be created for a port, for backward compatibility when renaming a port on a node
Bug Fixes/Minor Tweaks:
- Too many to list!