Skip to content

← signal_processing package

WindowFunction

Apply a window function to the given data along some axis.

This node will basically multiply a window function (e.g., a bell curve) element-by-element with the data along that axis. This can be used to get a soft weighting of different places in the data, instead of a sharp-edged data range. The most common use case of this node is to apply it along the time axis on data that has previously been segmented using the Segmentation node. For more information on the different window functions and their tradeoffs, follow the below "more..." link. More Info... Version 1.1.0

Ports/Properties

data

Data to process.

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

axis

Axis along which the window function should be applied. The window will be multiplied element-by-element with the data along the axis.

  • verbose name: Apply Window Function Along Axis
  • default value: time
  • port type: ComboPort
  • value type: str (can be None)

func

Type of window function to use. Different functions have different spectral and temporal localization characteristics (see documentation of the node). One of the simplest well-behaved smooth windows is the Hann window (the default).

  • verbose name: Window Function
  • default value: hann
  • port type: EnumPort
  • value type: str (can be None)

param

Window parameter. Some of the window functions are parametric, and in those cases this parameter must be specified. Needed for kaiser, gaussian, slepian, and chebwin.

  • verbose name: Window Parameter (Parametric Windows Only)
  • default value: None
  • port type: FloatPort
  • value type: float (can be None)

apply_to_range

The range of data to select along the desired axis. The simplest form is a list of indices (with unit set to indices), which must be formatted as in [0,1,2,5,6] (indices count from 0). Another option is to use an inclusive range of the form 3...4 (inclusive means that both 3 and 4 are included in the range). And finally, you can also generally use Python's "slice" syntax, as in 0: 3 -- but this is more error prone as the range is half-open, that is, it does not include the last value of the slice (so the previous slice gives the same result as using the indices [0,1,2]). In slices, you can also use negative numbers, which count from the end, or you can omit the value before or after the :, which is then assumed to stand for the first element (if the value before the colon is omitted) or the last element (if the value after the colon is omitted). For instance, -3: retains the last 3 items along te axis. You can also give these values in units other than array indices, such as in seconds, Hz, channel names, and so on. See Unit for the most common examples.

  • verbose name: Apply To Range
  • default value: :
  • port type: Port
  • value type: object (can be None)

range_unit

Unit in which the selection is given. Depending on the axis, different units are applicable. For axes such as time, frequency, or space, you usually want to use not array indices but other units of measurement: for instance, for the time axis, you generally want to set the unit to 'seconds' -- then, a range like 10:50 is interpreted as "all the data starting at 10 seconds and up to (but not including) 50 seconds". For the frequency axis, the most useful unit would be 'Hz'. For channels, it is often desirable to be able to give channel names, e.g., ['C3','C4',CZ'], or 'A1':'A32', in which case you should set the unit to 'names'. If 'auto' then the most commonly used unit for the given axis is used (names for space and feature, seconds for time, Hz for frequency, etc.)

  • verbose name: Unit Of Measurement For Range
  • default value: indices
  • port type: EnumPort
  • value type: str (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)