Skip to content

← utilities package

AlignInstances

Align streams with an instance axis, so that they contain the same "instances" (i.e

., trials) that match a certain criteria (i.e., a Marker or TrialCounter field.) ("instances" refers to elements along an instance axis, which in Neuropype is usually used for trials/epochs after segmenting data, or for event markers.) This node can be used in cases where you have two or more streams of segmented data, and you want to select only those matching trials that appear in all streams. For example, a stream containing a certain signal modality has some trials are missing (i.e., due to bad data being rejected), and you want to drop those same trials from other streams with other modalities which did not go through the same data cleaning process. The original instances (trials) may have a TrialCounter field and you want to ensure that you wind up with the same number of trials across all modalities, and with matching TrialCounter values (meaning they represent the same trials). The node will also sort the instances by the values in the fields specified in matched_fields, so that the instances appear in the same order across streams. The streams can be in a single packet (in which case this node will only have one input wired into data1), or multiple packets wired in. Streams in the incoming packets that do not have an instance axis are passed through unchanged. Version 0.8.0

Ports/Properties

data1

Data to process 1.

  • verbose name: Data1
  • default value: None
  • port type: DataPort
  • value type: Packet (can be None)
  • data direction: INOUT

data2

Data to process 2.

  • verbose name: Data2
  • default value: None
  • port type: DataPort
  • value type: Packet (can be None)
  • data direction: INOUT

data3

Data to process 3.

  • verbose name: Data3
  • default value: None
  • port type: DataPort
  • value type: Packet (can be None)
  • data direction: INOUT

data4

Data to process 4.

  • verbose name: Data4
  • default value: None
  • port type: DataPort
  • value type: Packet (can be None)
  • data direction: INOUT

data5

Data to process 5.

  • verbose name: Data5
  • default value: None
  • port type: DataPort
  • value type: Packet (can be None)
  • data direction: INOUT

data6

Data to process 6.

  • verbose name: Data6
  • default value: None
  • port type: DataPort
  • value type: Packet (can be None)
  • data direction: INOUT

data7

Data to process 7.

  • verbose name: Data7
  • default value: None
  • port type: DataPort
  • value type: Packet (can be None)
  • data direction: INOUT

data8

Data to process 8.

  • verbose name: Data8
  • default value: None
  • port type: DataPort
  • value type: Packet (can be None)
  • data direction: INOUT

data9

Data to process 9.

  • verbose name: Data9
  • default value: None
  • port type: DataPort
  • value type: Packet (can be None)
  • data direction: INOUT

data10

Data to process 10.

  • verbose name: Data10
  • default value: None
  • port type: DataPort
  • value type: Packet (can be None)
  • data direction: INOUT

dataN

Additional input data.

  • verbose name: Datan
  • default value: None
  • port type: DataPort
  • value type: list (can be None)
  • data direction: INOUT

matched_fields

Instances that have the same combination of values for these fields are considered matched. In the result, instance k of each stream will have the same combination of values across all streams (note that the values in each field can be, and likely are, different).

  • verbose name: Matched Fields
  • default value: ['Marker']
  • port type: ListPort
  • value type: list (can be None)

handle_duplicates

How to handle duplicate instances, that is, elements along the instance axis of a stream which have the same value in the matched field(s). One example might be multiple responses to a stim event. In 'take-first' mode, only the first of the duplicated instances is retained from each stream. In the repeat-others mode, all repeated instances are retained, and are repeated in other streams which have no or fewer repeats. For example, one stream has 2 response trials matching a certain Marker field values, while other streams have only one response trial matching the same Marker field values. With repeat-others mode, all streams will end up with 2 matching response trials, while in take-first they will end up with only one.

  • verbose name: Handle Duplicates
  • default value: take-first
  • port type: EnumPort
  • value type: str (can be None)

sort_by

Sort instances by this key.

  • verbose name: Sort By
  • default value: matched-fields
  • port type: EnumPort
  • value type: str (can be None)

skip_marker_streams

Skip processing event (marker) streams. Typically this node is used for segmented data, which may have event data in its instance axis, rather than than so-called 'marker' streams, which are streams that only contain event data and no signal data. However, with this set to False, this node can also be used for event streams.

  • verbose name: Skip Marker Streams
  • default value: True
  • port type: BoolPort
  • value type: bool (can be None)

set_breakpoint

Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

  • verbose name: Set Breakpoint (Debug Only)
  • default value: False
  • port type: BoolPort
  • value type: bool (can be None)

metadata

User-definable meta-data associated with the node. Usually reserved for technical purposes.

  • verbose name: Metadata
  • default value: {}
  • port type: DictPort
  • value type: dict (can be None)