diff --git a/doc/#PsPM_Developers_Guide.lyx# b/doc/#PsPM_Developers_Guide.lyx#
new file mode 100644
index 00000000..3477d743
--- /dev/null
+++ b/doc/#PsPM_Developers_Guide.lyx#
@@ -0,0 +1,39948 @@
+#LyX 2.4 created this file. For more info see https://www.lyx.org/
+\lyxformat 620
+\begin_document
+\begin_header
+\save_transient_properties true
+\origin unavailable
+\textclass article
+\begin_preamble
+\definecolor{colKeys}{rgb}{0,0,1}
+\definecolor{colIdentifier}{rgb}{0,0,0}
+\definecolor{colComments}{rgb}{0.53, 0.66, 0.42}
+\definecolor{colString}{rgb}{0.87, 0.36, 0.51}
+\definecolor{barColor}{rgb}{0.43, 0.5, 0.5}
+% Added by lyx2lyx
+\renewcommand{\textendash}{--}
+\renewcommand{\textemdash}{---}
+\renewcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2 em}}
+\renewcommand*\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}}
+\usepackage{bera}
+\usepackage{enumitem} \setlist[itemize]{noitemsep}
+\end_preamble
+\use_default_options true
+\maintain_unincluded_children no
+\language english
+\language_package default
+\inputencoding utf8
+\fontencoding auto
+\font_roman "default" "default"
+\font_sans "default" "default"
+\font_typewriter "default" "default"
+\font_math "auto" "auto"
+\font_default_family default
+\use_non_tex_fonts false
+\font_sc false
+\font_roman_osf false
+\font_sans_osf false
+\font_typewriter_osf false
+\font_sf_scale 100 100
+\font_tt_scale 100 100
+\use_microtype false
+\use_dash_ligatures true
+\graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
+\paperfontsize 10
+\spacing single
+\use_hyperref false
+\papersize default
+\use_geometry true
+\use_package amsmath 1
+\use_package amssymb 1
+\use_package cancel 1
+\use_package esint 1
+\use_package mathdots 1
+\use_package mathtools 1
+\use_package mhchem 1
+\use_package stackrel 1
+\use_package stmaryrd 1
+\use_package undertilde 1
+\cite_engine basic
+\cite_engine_type default
+\biblio_style plain
+\use_bibtopic false
+\use_indices false
+\paperorientation portrait
+\suppress_date false
+\justification true
+\use_refstyle 1
+\use_formatted_ref 0
+\use_minted 0
+\use_lineno 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
+\leftmargin 1in
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\paragraph_indentation default
+\is_math_indent 0
+\math_numbering_side default
+\quotes_style english
+\dynamic_quotes 0
+\papercolumns 1
+\papersides 1
+\paperpagestyle default
+\tablestyle default
+\listings_params "language=Matlab,float=hbp,basicstyle={\footnotesize\ttfamily},identifierstyle={\color{colIdentifier}},keywordstyle={\color{colKeys}},stringstyle={\color{colString}},commentstyle={\itshape\color{colComments}},columns=fixed,tabsize=2,extendedchars=true,showspaces=false,showstringspaces=false,captionpos=t,backgroundcolor={\color{white}},framexleftmargin=1pt,frame=l"
+\tracking_changes false
+\output_changes false
+\change_bars false
+\postpone_fragile_content false
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
+\docbook_table_output 0
+\docbook_mathml_prefix 1
+\end_header
+
+\begin_body
+
+\begin_layout Title
+PsPM:
+ Psychophysiological Modelling
+\end_layout
+
+\begin_layout Title
+Developer's Guide
+\end_layout
+
+\begin_layout Standard
+\align center
+Version 7.0
+\end_layout
+
+\begin_layout Standard
+\begin_inset VSpace defskip
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\align center
+by the PsPM team
+\begin_inset Foot
+status open
+
+\begin_layout Plain Layout
+\noindent
+If you have comments on or error corrections to this documentation,
+ please send them to the PsPM team or post them on:
+
+\begin_inset CommandInset href
+LatexCommand href
+name "bachlab.org/pspm"
+target "http://bachlab.org/pspm"
+literal "false"
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\size larger
+:
+\end_layout
+
+\begin_layout Standard
+\align center
+Dominik R Bach,
+ Giuseppe Castegnetti,
+ Laure Ciernik,
+ Samuel Gerster,
+ Saurabh Khemka,
+ Christoph Korn,
+ Samuel Maxwell,
+ Tobias Moser,
+ Philipp C Paulus,
+ Ivan Rojkov,
+ Matthias Staib,
+ Eshref Yozdemir,
+ Teddy Zhao and collaborators
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Newpage newpage
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset CommandInset toc
+LatexCommand tableofcontents
+
+\end_inset
+
+
+\begin_inset Newpage newpage
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
+Introduction
+\end_layout
+
+\begin_layout Quote
+Contributed by Teddy Zhao in July 2024
+\end_layout
+
+\begin_layout Standard
+PsychoPhysiological Modelling,
+ abbreviated as PsPM,
+ is a software package for model-based analysis of psychophysiological signals.
+ PsPM can be accessed through either graphical user interface (GUI) or command lines.
+ PsPM is written in MATLAB language,
+ thus it supports cross platform usages,
+ either Windows,
+ macOS or Linux,
+ and can be easily utilised in customised shell scripts.
+ PsPM is actively updated and maintained by bringing new features and fixing bugs,
+ thus the latest version of PsPM is always encouraged for users.
+ The recommended version of MATLAB for running PsPM is MATLAB 2024a (version 24),
+ and the earliest version of MATLAB (https://uk.mathworks.com/support/requirements/previous-releases.html) that could be used for running PsPM version 7.0 is MATLAB 2019a (version 9.6).
+\end_layout
+
+\begin_layout Section
+General
+\end_layout
+
+\begin_layout Quote
+Contributed by Dominik R Bach and Teddy Zhao
+\end_layout
+
+\begin_layout Quote
+Reviewed and revised by Teddy Zhao in March 2023
+\end_layout
+
+\begin_layout Subsection
+Data files
+\end_layout
+
+\begin_layout Standard
+In PsPM,
+ data and information is stored as
+\family typewriter
+struct
+\family default
+ variables and saved as
+\family typewriter
+mat
+\family default
+ files.
+ A data
+\family typewriter
+struct
+\family default
+ may contain mutiple cells,
+ and each cell contains a struct with channel specific fields,
+
+\family typewriter
+infos
+\family default
+ and
+\family typewriter
+data
+\family default
+.
+ Specifically,
+
+\family typewriter
+infos
+\family default
+ is a
+\family typewriter
+struct
+\family default
+ variable with general information,
+ and
+\family typewriter
+data
+\family default
+ is a
+\family typewriter
+cell array
+\family default
+ with the data for each channel.
+ Both
+\family typewriter
+infos
+\family default
+ and
+\family typewriter
+data
+\family default
+ have the following mandatory subfields,
+ whilst
+\family typewriter
+infos
+\family default
+ may have some optional subfields that can be defined if necessary,
+ as is shown in
+\series bold
+Table 1
+\series default
+.
+\end_layout
+
+\begin_layout Standard
+\noindent
+\align center
+
+\series bold
+Table 1
+\series default
+ Description of data fields in PsPM
+\end_layout
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset Tabular
+
+
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Field
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Subfield
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Description
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Mandantory
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+infos
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+duration
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+The duration of the acquired data,
+ normally defined in seconds
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+data
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+header.channeltype
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+The type of the corresponding channel,
+ as defined in the settings.
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+header.sr
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+the sample rate (or frequency) in 1/second (or Hz),
+ or timestamp units in seconds
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+header.units
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+the unit of data,
+ or the `events'
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+data
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+the actual data
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Optional
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+infos
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+sourcefile
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+importfile
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+importdate
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+sourcetype
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+recdate
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+rectime
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+In most cases,
+ only the subfield
+\family typewriter
+data
+\family default
+ in the field
+\family typewriter
+data
+\family default
+ will be modified since new results have been generated and are expected to replace the old data.
+ All the other fields,
+ for both
+\family typewriter
+data
+\family default
+ and
+\family typewriter
+infos
+\family default
+,
+ the content will be kept unchanged.
+ However,
+ some data manipulation functions,
+ for example
+\family typewriter
+pspm_trim
+\family default
+,
+ will update
+\family typewriter
+infos
+\family default
+ to record some file history.
+ Please check the specific descriptions of each function for understanding how
+\family typewriter
+data
+\family default
+ and
+\family typewriter
+infos
+\family default
+ will be updated.
+\end_layout
+
+\begin_layout Subsection
+How to add a new import data type
+\end_layout
+
+\begin_layout Subsubsection
+Add function
+\end_layout
+
+\begin_layout Subparagraph
+
+\series bold
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_get_xxx
+\family default
+ (where
+\family typewriter
+xxx
+\family default
+ is the data type name).
+\end_layout
+
+\begin_layout Subparagraph
+Format
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ import,
+ sourceinfo] = pspm_get_xxx(datafile,
+ import).
+\end_layout
+
+\begin_layout Standard
+The function needs to take an import job and add,
+ for each job.
+\end_layout
+
+\begin_layout Subparagraph
+Fields
+\end_layout
+
+\begin_layout Itemize
+Mandatory
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+\noindent
+\align block
+
+\family typewriter
+.data
+\family default
+ - the actual data for this channel (column vector)
+\end_layout
+
+\begin_layout Description
+\noindent
+\align block
+
+\family typewriter
+.sr
+\family default
+ - the sample rate for this channel (only if
+\family typewriter
+.autosr
+\family default
+ enabled in
+\family typewriter
+pspm_init
+\family default
+)
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+Optional
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+\noindent
+\align block
+
+\family typewriter
+.marker
+\family default
+ For marker channels (
+\family typewriter
+timestamps
+\family default
+ or
+\family typewriter
+continuous
+\family default
+,
+ see
+\family typewriter
+pspm_get_marker
+\family default
+)
+\end_layout
+
+\begin_layout Description
+\noindent
+\align block
+
+\family typewriter
+.markerinfo
+\family default
+ See
+\family typewriter
+pspm_get_marker
+\end_layout
+
+\begin_layout Description
+\noindent
+\align block
+
+\family typewriter
+.minfreq
+\family default
+ Minimum frequency for pulse channels
+\end_layout
+
+\begin_layout Description
+\noindent
+\align block
+
+\family typewriter
+.units
+\family default
+ If data units are defined by the recording software
+\end_layout
+
+\begin_layout Description
+\noindent
+\align block
+
+\family typewriter
+sts
+\family default
+ Set as -1 if import is unsuccessful
+\end_layout
+
+\begin_layout Description
+\noindent
+\align block
+
+\family typewriter
+sourceinfo
+\family default
+ Contains information on the source file,
+ with field
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+\noindent
+\align block
+
+\family typewriter
+.chan
+\family default
+ A cell of string descriptions of the imported source channels,
+ e.
+ g.
+ names,
+ or numbers any optional fields that will be added to
+\family typewriter
+infos.source
+\family default
+ (e.
+ g.
+ recording date & time,
+ and others)
+\family typewriter
+
+\end_layout
+
+\end_deeper
+\end_deeper
+\begin_layout Subparagraph
+
+\series bold
+Notes for multiple blocks
+\end_layout
+
+\begin_layout Standard
+File formats that support multiple block storage within one file can return cell arrays
+\family typewriter
+import{1:blkno}
+\family default
+ and
+\family typewriter
+sourceinfo{1:blkno}
+\family default
+.
+ PsPM will save individual files for each block,
+ with a filename
+\family typewriter
+pspm_fn_blk0x.mat
+\family default
+.
+\end_layout
+
+\begin_layout Subsubsection
+Add information to settings
+\end_layout
+
+\begin_layout Standard
+The file pspm_init contains a block that defines possible import data types.
+ Add a new field here
+\begin_inset Newline newline
+\end_inset
+
+
+\family typewriter
+
+\begin_inset listings
+inline false
+status open
+
+\begin_layout Plain Layout
+
+% Description of data type
+\end_layout
+
+\begin_layout Plain Layout
+
+% ---------------------------------------------
+\end_layout
+
+\begin_layout Plain Layout
+
+defaults.import.datatypes(1) = ...
+
+\end_layout
+
+\begin_layout Plain Layout
+
+struct(`short',
+ `xxx',
+ ...
+ % short name for internal purposes
+\end_layout
+
+\begin_layout Plain Layout
+
+`long',
+ `Datatype description',
+ ...
+ % long name for GUI
+\end_layout
+
+\begin_layout Plain Layout
+
+`ext',
+ `*',
+ ...
+ % data file extension
+\end_layout
+
+\begin_layout Plain Layout
+
+`funct',
+ @pspm_get_xxx,
+ ...
+ % import function
+\end_layout
+
+\begin_layout Plain Layout
+
+`chantypes',
+ {{defaults.chantypes.type}},
+ ...
+ % allowed channel types
+\end_layout
+
+\begin_layout Plain Layout
+
+`chandescription',
+ `channel',
+ ...
+ % description of channels for GUI
+\end_layout
+
+\begin_layout Plain Layout
+
+`multioption',
+ 1,
+ ...
+ % import of multiple channels for GUI
+\end_layout
+
+\begin_layout Plain Layout
+
+`searchoption',
+ 1,
+ ...
+ % allow channel name search for GUI
+\end_layout
+
+\begin_layout Plain Layout
+
+`automarker',
+ 0,
+ ...
+ % marker not stored in separate channel
+\end_layout
+
+\begin_layout Plain Layout
+
+`autosr',
+ 1);
+ % sample rate automatically assigned
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subparagraph
+
+\series bold
+Good to know
+\end_layout
+
+\begin_layout Itemize
+The ``long'' definition is used in the GUI – make sure it's readable.
+\end_layout
+
+\begin_layout Itemize
+If no event channels can be imported,
+ change
+\family typewriter
+.chantypes
+\family default
+.
+\end_layout
+
+\begin_layout Itemize
+If channels have searchable names in the import file,
+ set
+\family typewriter
+.searchoption
+\family default
+ = 1.
+\end_layout
+
+\begin_layout Itemize
+If no channel number needs to be assigned for the marker channel,
+ set
+\family typewriter
+.automarker = 1
+\family default
+.
+\end_layout
+
+\begin_layout Itemize
+If sample rate is contained in import file and determined during import,
+ set
+\family typewriter
+.autosr = 1
+\family default
+.
+\end_layout
+
+\begin_layout Itemize
+If you need external functions – put them into a folder in the `import' subdirectory and add/remove this path within the
+\family typewriter
+pspm_get_xxx
+\family default
+ function.
+\end_layout
+
+\begin_layout Subsection
+How to add a new channel type
+\end_layout
+
+\begin_layout Subsubsection
+Add function
+\end_layout
+
+\begin_layout Subparagraph
+
+\series bold
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_get_xxx
+\family default
+ (where
+\family typewriter
+xxx
+\family default
+ is the channel type)
+\end_layout
+
+\begin_layout Subparagraph
+
+\series bold
+Format
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ data] = pspm_get_channeltype(import)
+\end_layout
+
+\begin_layout Subparagraph
+
+\series bold
+Arguments
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+data
+\family default
+ Data cell of structure readable by
+\family typewriter
+pspm_load_data
+\family default
+.
+\end_layout
+
+\begin_layout Subparagraph
+
+\series bold
+Good to know
+\end_layout
+
+\begin_layout Standard
+For event channels,
+ use the function
+\family typewriter
+pspm_get_events
+\family default
+ to convert various event formats into time stamps (see
+\family typewriter
+pspm_get_marker
+\family default
+ or
+\family typewriter
+pspm_get_hb
+\family default
+ as an example)
+\end_layout
+
+\begin_layout Subsubsection
+Add information to settings
+\end_layout
+
+\begin_layout Standard
+Add information on the new channel type and import function to
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+\begin_inset listings
+inline false
+status open
+
+\begin_layout Plain Layout
+
+defaults.chantypes(k).type = `xxx';% channel type name
+\end_layout
+
+\begin_layout Plain Layout
+
+defaults.chantypes(k).import = @pspm_get_xxx;
+ % conversion function
+\end_layout
+
+\begin_layout Plain Layout
+
+defaults.chantypes(k).data = `xxx';
+ % `wave' or `events'
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+How to add a new GLM type
+\end_layout
+
+\begin_layout Subsubsection
+Add information to settings (Example SCR)
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+\begin_inset listings
+inline false
+status open
+
+\begin_layout Plain Layout
+
+defaults.glm(1) = ...
+
+\end_layout
+
+\begin_layout Plain Layout
+
+struct(`modality',
+ `scr',
+ ...
+ % modality name
+\end_layout
+
+\begin_layout Plain Layout
+
+`cbf',
+ struct(`fhandle',
+ @pspm_bf_scrf,
+ `args',
+ 1),
+ ...
+
+\end_layout
+
+\begin_layout Plain Layout
+
+% default basis function/set
+\end_layout
+
+\begin_layout Plain Layout
+
+`filter',
+ struct(`lpfreq',
+ 5,
+ `lporder',
+ 1,
+ ...
+
+\end_layout
+
+\begin_layout Plain Layout
+
+`hpfreq',
+ 0.05,
+ `hporder',
+ 1,
+ `down',
+ 10,
+ `direction',
+ `uni'));
+
+\end_layout
+
+\begin_layout Plain Layout
+
+% default filter settings
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsubsection
+Add default basis function
+\end_layout
+
+\begin_layout Subparagraph
+
+\series bold
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_bf_xxx
+\end_layout
+
+\begin_layout Subparagraph
+
+\series bold
+Arguments
+\end_layout
+
+\begin_layout Standard
+vector of arguments,
+ first element is time resolution,
+ further arguments as defined in
+\family typewriter
+defaults.glm(n).cbf.args
+\family default
+.
+\end_layout
+
+\begin_layout Subsection
+Warning IDs in PsPM
+\end_layout
+
+\begin_layout Subsubsection
+General
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+invalid_input
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+invalid_channeltype
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+nonexistent_file
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+channel_not_contained_in_file
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+obsolete_function
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+not_allowed_channeltype
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+invalid_data_structure
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+no_matching_channels
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+unknown_action
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+missing_data
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+out_of_range
+\end_layout
+
+\begin_layout Subsubsection
+Function specific
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm_load1
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+
+\family typewriter
+not_saving_data
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+
+\family typewriter
+pspm_interpolate
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+
+\family typewriter
+option_disabled
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+
+\family typewriter
+pspm_trim
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+
+\family typewriter
+marker_out_of_range
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+
+\family typewriter
+pspm_find_channel
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+
+\family typewriter
+multiple_matching_channels
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+
+\family typewriter
+pspm_find_sounds
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+
+\family typewriter
+no_marker_chan
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+no_sound_chan
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+
+\family typewriter
+pspm_get_scr
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+
+\family typewriter
+no_conversion_constant
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+
+\family typewriter
+pspm_pp
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+
+\family typewriter
+invalid_freq
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+
+\family typewriter
+pspm_prepdata
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+
+\family typewriter
+no_low_pass_filtering
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+downsampling_failed
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+nonint_sr
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+
+\family typewriter
+pspm_get_timing
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+
+\family typewriter
+invalid_vector_size
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+event_names_dont_match
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+no_numeric_vector
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+no_integers
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+
+\family typewriter
+pspm_down
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+
+\family typewriter
+rate_below_minimum
+\end_layout
+
+\end_deeper
+\begin_layout Standard
+\begin_inset Newpage pagebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
+Help text
+\end_layout
+
+\begin_layout Quote
+Contributed by Teddy Zhao in September 2024
+\end_layout
+
+\begin_layout Subsection
+Introduction
+\end_layout
+
+\begin_layout Standard
+Help text refers to the descriptive text that is included in the initial couple of lines of source code.
+ Such text is designed to be written by developers and used as references for developers and users.
+ Although written in the source code,
+ the text can be read by PsPM functions,
+ such as
+\family typewriter
+pspm_help
+\family default
+,
+ for exporting to documents that will be part of PsPM reference website.
+ The help text needs to be carefully written to make sure they are accurate and up to date.
+\end_layout
+
+\begin_layout Standard
+Typically,
+ the help text shall be written into sections as
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+Description The general introduction of a function.
+ This is normally describing the use of the function and how it works,
+ such as importing a specific type of data and how information is read and managed.
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+Format The format of a function as how it can be called.
+ If the function has some variable arguments,
+ then the details can be listed as multiple lines.
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+Arguments The list of input variables of a function with their descriptions.
+ Every individual input variable shall be lead by a star mark.
+ Structs and their subfields shall be managed with table symbols.
+ An example of how this is managed is given below.
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+Outputs The list of output variables of a function with their descriptions,
+ similar to Arguments.
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+Developer's_notes This section can be used as a paragraph of technical notes for the function.
+ Such information is typically useful for developing the function,
+ and it is relatively more useful for developers than for users.
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+History The section includes some notes about who has contributed to a function,
+ which may be useful for future checking.
+\end_layout
+
+\begin_layout Standard
+The aforementioned sections are normally required for all the functions,
+ but may be depending on the actual situation.
+ For example,
+ a function that does not have outputs may not need the section
+\shape italic
+Outputs
+\shape default
+.
+\end_layout
+
+\begin_layout Subsection
+Management
+\end_layout
+
+\begin_layout Standard
+Three PsPM functions manage the help text,
+ namely
+\family typewriter
+pspm_help
+\family default
+,
+
+\family typewriter
+pspm_doc
+\family default
+,
+ and
+\family typewriter
+pspm_doc_gen
+\family default
+.
+\end_layout
+
+\begin_layout Subsubsection
+pspm_help
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_help
+\family default
+ is used to obtain the help text from source code and generate a struct of such content.
+ Whilst there is a suggested structure of the help text,
+ it is not required by
+\family typewriter
+pspm_help
+\family default
+ that every section needs to present.
+ The input of
+\family typewriter
+pspm_help
+\family default
+ needs to refer to only one function,
+ and multiple functions cannot be processed with
+\family typewriter
+pspm_help
+\family default
+ in one time.
+ The function may be written as the path,
+ full name,
+ or simply the name without extra name.
+ For example,
+ the input can be written as
+\family typewriter
+~/Documents/pspm/src/pspm_dcm.m
+\family default
+,
+
+\family typewriter
+pspm_dcm.m
+\family default
+,
+ or
+\family typewriter
+pspm_dcm
+\family default
+,
+ and all of them will let
+\family typewriter
+pspm_help
+\family default
+ to understand it will process
+\family typewriter
+pspm_dcm
+\family default
+.
+ The output of
+\family typewriter
+pspm_help
+\family default
+ is a struct.
+ It has the following rules which may need to pay attention to.
+\end_layout
+
+\begin_layout Paragraph
+General
+\end_layout
+
+\begin_layout Enumerate
+It is expected that the source code is written with UTF-8 encoding.
+ This is determined by considering the compatibility between Windows and Unix computers and the requirement of special characters that are used for structuring the parameters.
+\end_layout
+
+\begin_layout Enumerate
+The help text must start from the line following the function definition line,
+ and no empty line is permitted between the definition and help text or inside help text.
+ Following the help text,
+ there must be an empty line that divide the help text and the main code.
+\end_layout
+
+\begin_layout Enumerate
+Every line of help text must start with the comment symbol (%) that is used in Matlab language system.
+ A space following this comment symbol is required to increase readability of help text.
+\end_layout
+
+\begin_layout Enumerate
+It is common practice that one line of code shall not be too long and start a new line if necessary.
+ It is useful to make sure sentences have a full stop if they are expected to be shown to PsPM users.
+\end_layout
+
+\begin_layout Enumerate
+Although not mandatory,
+ it is recommended that the help text shall be written in an understandable way instead of highly technical way so that users can understand what the text mean without too much references.
+\end_layout
+
+\begin_layout Enumerate
+Wherever applicable,
+ please add the full name of some terms and the abbreviation following that.
+ Most academic paper writing rules are useful when considering writing styles here,
+ although PsPM's help text may not be as strict as publications.
+\end_layout
+
+\begin_layout Enumerate
+The output struct of pspm_help consists of the full fields,
+ from
+\shape italic
+Description
+\shape default
+ to
+\shape italic
+History
+\shape default
+.
+\end_layout
+
+\begin_layout Paragraph
+Description
+\end_layout
+
+\begin_layout Enumerate
+\align block
+
+\shape italic
+Description
+\shape default
+ is normally written as one or multiple full sentences.
+ The first sentence normally explain the purpose of the function.
+ For example,
+
+\family typewriter
+pspm_glm
+\family default
+ retains its explaination as
+\shape italic
+pspm_glm specifies a within-subject general linear convolution model (GLM) of predicted signals and calculates amplitude estimates for these responses
+\shape default
+.
+ Further refinement of the functionality can be written following the main sentence.
+
+\end_layout
+
+\begin_layout Enumerate
+\align block
+It is not recommended to add specific details of the function that are used by developers only in
+\shape italic
+Description
+\shape default
+,
+ and such content may be put in
+\shape italic
+Developer's notes
+\shape default
+.
+ This may be used as the cutoff to determine if specific content can be put in
+\shape italic
+Description
+\shape default
+ or
+\shape italic
+Developer's notes
+\shape default
+.
+\end_layout
+
+\begin_layout Enumerate
+
+\shape italic
+Description
+\shape default
+ can be written into multiple paragraphs if they are not really relevant enough.
+ These paragraph settings will be reflected in the exported markdown documents.
+\end_layout
+
+\begin_layout Subsubsection
+pspm_doc
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_help
+\family default
+ is used to generate the help text of a specific function into a markdown document.
+ To use
+\family typewriter
+pspm_help
+\family default
+ for generating help text,
+ the easiest way is to run
+\family typewriter
+pspm_help('pspm_glm')
+\family default
+directly in the command line window,
+ then the help text from
+\family typewriter
+pspm_glm
+\family default
+ will be generated as a markdown file in the current folder.
+ The variable
+\begin_inset Quotes eld
+\end_inset
+
+options
+\begin_inset Quotes erd
+\end_inset
+
+ can be customised for specifying the location,
+ for example.
+\end_layout
+
+\begin_layout Subsubsection
+pspm_doc_gen
+\end_layout
+
+\begin_layout Standard
+The function
+\family typewriter
+pspm_text
+\family default
+ handles the text of warning messages in PsPM.
+ Any help text that is used in PsPM is encouraged to be written in
+\family typewriter
+pspm_text
+\family default
+ and called when it is to be displayed.
+ This is to help make GUI help text and warning messages consistent throughout PsPM.
+ When PsPM is started,
+ the function
+\family typewriter
+pspm_text
+\family default
+ will create a file
+\family typewriter
+pspm_text.mat
+\family default
+ that contains such text.
+ When the GUI or other places of PsPM require displaying such text,
+ PsPM will read text from this
+\family typewriter
+pspm_text.mat
+\family default
+ and then display text at the corresponding places.
+ When PsPM quits,
+ the file
+\family typewriter
+pspm_text.mat
+\family default
+ will be deleted.
+\end_layout
+
+\begin_layout Subsection
+Format
+\end_layout
+
+\begin_layout Subsubsection
+Typical example
+\end_layout
+
+\begin_layout LyX-Code
+\noindent
+● Description
+\end_layout
+
+\begin_layout LyX-Code
+\noindent
+General introduction of the function.
+\end_layout
+
+\begin_layout LyX-Code
+\noindent
+● Format
+\end_layout
+
+\begin_layout LyX-Code
+\noindent
+ [output1,
+ output2,
+ output3] = pspm_xxx(varargin);
+\end_layout
+
+\begin_layout LyX-Code
+\noindent
+ [output1,
+ output2,
+ output3] = pspm_xxx(input1,
+ input2);
+\end_layout
+
+\begin_layout LyX-Code
+\noindent
+● Arguments
+\end_layout
+
+\begin_layout LyX-Code
+\noindent
+ * input1 :
+ description of input1.
+\end_layout
+
+\begin_layout LyX-Code
+\noindent
+ * input2 :
+ description of input2.
+\end_layout
+
+\begin_layout LyX-Code
+\noindent
+ ┌─input3
+\end_layout
+
+\begin_layout LyX-Code
+\noindent
+ ├─.subfield1 :
+ description of subfield1.
+\end_layout
+
+\begin_layout LyX-Code
+\noindent
+ └─.subfield2 :
+ description of subfield2.
+\end_layout
+
+\begin_layout LyX-Code
+\noindent
+● Outputs
+\end_layout
+
+\begin_layout LyX-Code
+\noindent
+ * output1 :
+ description of output1.
+\end_layout
+
+\begin_layout LyX-Code
+\noindent
+ * output2 :
+ description of output2.
+\end_layout
+
+\begin_layout LyX-Code
+\noindent
+ ┌─output3
+\end_layout
+
+\begin_layout LyX-Code
+\noindent
+ ├─.subfield1 :
+ description of subfield1.
+\end_layout
+
+\begin_layout LyX-Code
+\noindent
+ └─.subfield2 :
+ description of subfield2.
+\end_layout
+
+\begin_layout LyX-Code
+\noindent
+● Developer's notes
+\end_layout
+
+\begin_layout LyX-Code
+\noindent
+ A few sentences of technical information for this function.
+\end_layout
+
+\begin_layout LyX-Code
+\noindent
+● History
+\end_layout
+
+\begin_layout LyX-Code
+\noindent
+ Introduced in PsPM version 7.0.
+\end_layout
+
+\begin_layout LyX-Code
+\noindent
+ Written in 2024 by Developer A (University).
+\end_layout
+
+\begin_layout Subsubsection
+Index of commonly used symbols
+\end_layout
+
+\begin_layout Description
+● Used for leading new sessions,
+ such as
+\begin_inset Quotes eld
+\end_inset
+
+Description
+\begin_inset Quotes erd
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+* Used for listing variables.
+\end_layout
+
+\begin_layout Description
+:
+ Used for dividing variables and their descriptions.
+\end_layout
+
+\begin_layout Description
+┌ Table symbols are used for structs.
+ Because structs often have multiple levels of subfields,
+ please make sure
+\begin_inset Quotes eld
+\end_inset
+
+┌
+\begin_inset Quotes erd
+\end_inset
+
+ leads to the name of the struct,
+
+\begin_inset Quotes eld
+\end_inset
+
+├
+\begin_inset Quotes erd
+\end_inset
+
+ leads to the first to the last but one subfield,
+ and
+\begin_inset Quotes eld
+\end_inset
+
+└
+\begin_inset Quotes erd
+\end_inset
+
+ leads to the last subfield.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Newpage pagebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
+Data formats
+\end_layout
+
+\begin_layout Subsection
+Supported channel types
+\end_layout
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset Tabular
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Data format
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+SCR
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+ECG
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Heart Rate
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Heart Beat
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Heart Period
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Respiration
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Pupil Size
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Marker
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Custom
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Sound channel
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Pulse oxymeter
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Gaze x/y,
+ l/r
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+CED Spike
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+MATLAB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Text
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Biopach AcqKnowledge
+\begin_inset Foot
+status open
+
+\begin_layout Plain Layout
+Biopach Acqknowledge is supported by both PsPM's internal importing function and the python package
+\begin_inset Quotes eld
+\end_inset
+
+Bioread
+\begin_inset Quotes erd
+\end_inset
+
+.
+ However,
+ only Biopach AcqKnowledge that is of a version no later than version 3.9.0 is supported by PsPM's internal function.
+ Any version of Biopach AcqKnowledge is supported by the python package
+\begin_inset Quotes eld
+\end_inset
+
+Bioread
+\begin_inset Quotes erd
+\end_inset
+
+.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Biopac AcqKnowledge (exported)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Labchart (any Version,
+ Windows only)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Labchart exported
+\end_layout
+
+\begin_layout Plain Layout
+(
+\begin_inset Formula $\leq$
+\end_inset
+
+ v7.1)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Labchart exported
+\end_layout
+
+\begin_layout Plain Layout
+(
+\begin_inset Formula $\geq$
+\end_inset
+
+ v7.2)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+VarioPort
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Biograph Infiniti (exported)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Mindmedia Biotrace (exported)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Brain Vision
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Windaq (wdq)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Observer XT compatible
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+NeuroScan
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+BioSemi
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Eyelink
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+European Data Format
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Philips Scanphyslog
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+SMI
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+ViewPoint
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Further settings
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Tabular
+
+
+
+
+
+
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Data format
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Datatype
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+File extension
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Manufacturer
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Import multiple channels
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Search channel names
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Automarker
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Ask for sampling rate
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+CED Spike
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+spike
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+.smr
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+CED
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+CED Spike
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+spike
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+.smrx
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+CED
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+MATLAB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+mat
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+.mat
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Text
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+txt
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+.txt
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Biopach AcqKnowledge (
+\begin_inset Formula $\leq$
+\end_inset
+
+ v3.9.0)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+acq
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+.acq
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Biopac
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Biopac AcqKnowledge (exported)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+acqmat
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+.mat
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Biopac
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Labchart (any Version,
+ Windows only)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+labchart
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+.adicht
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+ADInstruments
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Labchart exported
+\end_layout
+
+\begin_layout Plain Layout
+(
+\begin_inset Formula $\leq$
+\end_inset
+
+ v7.1)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+labchartmat_ext
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+.mat
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+ADInstruments
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Labchart exported
+\end_layout
+
+\begin_layout Plain Layout
+(
+\begin_inset Formula $\geq$
+\end_inset
+
+ v7.2)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+labchartmat_in
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+.mat
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+ADInstruments
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+VarioPort
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+vario
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+.vpd
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Becker MediTec
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Biograph Infiniti (exported)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+biograph
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+.txt
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Thought Technology
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Mindmedia Biotrace (exported)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+biotrace
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+.txt
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+MindMedia
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Brain Vision
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+brainvision
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+.eeg
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+BrainProducts
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Windaq (wdq)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+windaq
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+.wdq
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Dataq
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Observer XT compatible
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+observer
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+.any
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Noldus
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+NeuroScan
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+cnt
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+.cnt
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+BioSemi
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+biosemi
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+.bdf
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Eyelink
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+txt
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+.asc
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+European Data Format
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+edf
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+.edf
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+European Data Format
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Philips Scanphyslog
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+txt
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+.log
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Philips
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+SMI
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+txt
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+.txt
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+SensoMotoric Instruments
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+ViewPoint
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+txt
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+.txt
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Arrington Research
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✓
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Note:
+ Automarkers means no channel number has to be specified because markers are always at the same place.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Newpage pagebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
+GUI
+\end_layout
+
+\begin_layout Quote
+Contributed by Gabriel Gräni and Teddy Zhao.
+\end_layout
+
+\begin_layout Quote
+Revised by Teddy Zhao in Feburary 2022.
+\end_layout
+
+\begin_layout Subsection
+MATLABbatch:
+ Getting started
+\end_layout
+
+\begin_layout Enumerate
+Add the trunk folder to the MATLAB path.
+\end_layout
+
+\begin_layout Enumerate
+Type
+\family typewriter
+pspm_init
+\family default
+ into the command window (after the execution of the command the folders
+\family typewriter
+pspm_cfg
+\family default
+ and MATLABbatch should be added to the MATLAB path)
+\end_layout
+
+\begin_layout Enumerate
+Start MATLABbatch by the typing
+\family typewriter
+cfg_ui
+\family default
+ into the command window
+\end_layout
+
+\begin_layout Enumerate
+If the item PsPM exists in the menu bar of MATLABbatch you can skip steps 5 to 7 and continue at step 8
+\end_layout
+
+\begin_layout Enumerate
+Select → File → Add Application
+\end_layout
+
+\begin_layout Enumerate
+Navigate to the folder
+\family typewriter
+pspm_cfg
+\family default
+ on the left hand side of the window and select the file
+\family typewriter
+pspm_cfg.m
+\family default
+ on the right hand side → Press the button Done
+\end_layout
+
+\begin_layout Enumerate
+A new item,
+ called PsPM,
+ will appear in the upper menu bar.
+\end_layout
+
+\begin_layout Enumerate
+By selecting PsPM the desired action can be selected (at the moment,
+ there is only Data Preparation → {Import,
+ Trim} available)
+\end_layout
+
+\begin_layout Subsubsection
+Example function:
+ Trim
+\end_layout
+
+\begin_layout Standard
+This example demonstrates how MATLABbatch can be used to execute a function.
+ For all other functions MATLABbatch behaves in the same manner.
+\end_layout
+
+\begin_layout Itemize
+Select a file by pressing the Select Files Button (under Datafile)
+\end_layout
+
+\begin_layout Itemize
+Select Reference and choose an item in the lower part of the window
+\end_layout
+
+\begin_layout Itemize
+Fill in the desired values in the fields which are marked with "<-X"
+\end_layout
+
+\begin_layout Itemize
+After you have chosen a file and filled in all values correctly,
+ you will see a green arrow on the upper left part of the window
+\end_layout
+
+\begin_layout Itemize
+By pressing on the green arrow the selected file will be trimmed according to the filled in values
+\end_layout
+
+\begin_layout Subsubsection
+Path definition
+\end_layout
+
+\begin_layout Standard
+Since version 7.0,
+
+\family typewriter
+pspm_init
+\family default
+ will conttol the path of PsPM by temporarily freezing the unrelated paths.
+ This is because users reported that they had pre-defined paths and these paths caused issues when running PsPM.
+ The current solution is,
+ PsPM will remember the paths that users have defined but are not used by PsPM,
+ and it will remove such paths from MATLAB before starting up PsPM.
+ Then PsPM will load its own required paths to MATLAB and check these paths can work properly.
+ After running PsPM,
+ if users would like to exit from PsPM,
+ PsPM will remove its own paths and added back the users' defined paths to MATLAB.
+\end_layout
+
+\begin_layout Standard
+The paths required for running PsPM are
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm/pspm_cfg
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm/ext/spm
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm/ext/matlabbatch
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm/ext/matlabbatch/cfg_basicio
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm/ext/vba
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm/ext/vba/subfunctions
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm/ext/vba/stats&plots
+\end_layout
+
+\begin_layout Subsection
+MATLABbatch:
+ How to
+\end_layout
+
+\begin_layout Subsubsection
+Preliminaries
+\end_layout
+
+\begin_layout Itemize
+Add folder of MATLABbatch to the MATLAB path
+\end_layout
+
+\begin_layout Itemize
+Add first application and then load the batch in order to execute a function
+\end_layout
+
+\begin_layout Subsubsection
+Some notes for creating a new application
+\end_layout
+
+\begin_layout Itemize
+Leafs (items) are specified first
+\end_layout
+
+\begin_layout Itemize
+Assigning child items to
+\family typewriter
+.val
+\family default
+ or
+\family typewriter
+.values
+\family default
+ fields of their parent items
+\end_layout
+
+\begin_layout Itemize
+Root node of a tree is specified last
+\end_layout
+
+\begin_layout Itemize
+Some examples of items:
+
+\begin_inset Separator latexpar
+\end_inset
+
+
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+
+\family typewriter
+cfg_item
+\family default
+
+\begin_inset Newline newline
+\end_inset
+
+
+\family typewriter
+
+\begin_inset listings
+inline false
+status open
+
+\begin_layout Plain Layout
+
+item1= cfg_item;
+ % Defines generic configuration item
+\end_layout
+
+\begin_layout Plain Layout
+
+item1.name= `Def 1';
+ % The display name
+\end_layout
+
+\begin_layout Plain Layout
+
+item1.tag = `def1';
+ % The name appearing in the harvested job
+\end_layout
+
+\begin_layout Plain Layout
+
+% structure.
+ This name must be unique
+\end_layout
+
+\begin_layout Plain Layout
+
+% among all items in the val field of the
+\end_layout
+
+\begin_layout Plain Layout
+
+% superior node
+\end_layout
+
+\begin_layout Plain Layout
+
+item1.val = {true};
+ % Value of item (optional)
+\end_layout
+
+\begin_layout Plain Layout
+
+item1.help = {`Help...'};
+ % Help text
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+cfg_entry
+\family default
+
+\begin_inset Newline newline
+\end_inset
+
+
+\family typewriter
+
+\begin_inset listings
+inline false
+status open
+
+\begin_layout Plain Layout
+
+entry1 = cfg_entry;
+ % Defines entry configuration item
+\end_layout
+
+\begin_layout Plain Layout
+
+entry1.name = `Input';
+
+\end_layout
+
+\begin_layout Plain Layout
+
+entry1.tag = `input';
+
+\end_layout
+
+\begin_layout Plain Layout
+
+entry1.strtye = `r';
+ % Type of values which can be entered
+\end_layout
+
+\begin_layout Plain Layout
+
+entry1.num = [1 1];
+ % Expected dimension of the input
+\end_layout
+
+\begin_layout Plain Layout
+
+entry1.help = {`Help...'};
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+cfg_choice
+\family default
+
+\begin_inset Newline newline
+\end_inset
+
+
+\family typewriter
+
+\begin_inset listings
+inline false
+status open
+
+\begin_layout Plain Layout
+
+choice = cfg_item;
+ % Defines choice configuration item
+\end_layout
+
+\begin_layout Plain Layout
+
+choice.name = `Choice';
+\end_layout
+
+\begin_layout Plain Layout
+
+choice.tag = `choice';
+\end_layout
+
+\begin_layout Plain Layout
+
+choice.values = {item1,
+ entry1};
+ % Defines which items will be
+\end_layout
+
+\begin_layout Plain Layout
+
+% selectable in the choice menu.
+
+\end_layout
+
+\begin_layout Plain Layout
+
+choice.help = {`Help...'};
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+cfg_exbranch
+\family default
+
+\begin_inset Newline newline
+\end_inset
+
+
+\family typewriter
+
+\begin_inset listings
+inline false
+status open
+
+\begin_layout Plain Layout
+
+fct = cfg_exbranch;
+ % Defines the branch that has information
+\end_layout
+
+\begin_layout Plain Layout
+
+% about how to run this module fct.name = `Trim';
+
+\end_layout
+
+\begin_layout Plain Layout
+
+fct.tag = `trim';
+
+\end_layout
+
+\begin_layout Plain Layout
+
+fct.val = {choice};
+ % The items that belong to this branch.
+
+\end_layout
+
+\begin_layout Plain Layout
+
+% All items must be filled before this
+\end_layout
+
+\begin_layout Plain Layout
+
+% branch can run or produce virtual
+\end_layout
+
+\begin_layout Plain Layout
+
+% outputs
+\end_layout
+
+\end_inset
+
+
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset listings
+inline false
+status open
+
+\begin_layout Plain Layout
+
+fct.prog = @cfg_run_fct;
+ % A function handle that will be called
+\end_layout
+
+\begin_layout Plain Layout
+
+% with the harvested job to run the
+\end_layout
+
+\begin_layout Plain Layout
+
+% computation
+\end_layout
+
+\begin_layout Plain Layout
+
+trim.vout = @cfg_vout_fct;
+ % A function handle that will be
+\end_layout
+
+\begin_layout Plain Layout
+
+% called with the harvested job to
+\end_layout
+
+\begin_layout Plain Layout
+
+% determine virtual outputs
+\end_layout
+
+\begin_layout Plain Layout
+
+trim.help = {Help...'};
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Itemize
+There exists a number of other item classes.
+ Here is a list of the most important classes:
+
+\family typewriter
+cfg_item
+\family default
+,
+
+\family typewriter
+cfg_entry
+\family default
+,
+
+\family typewriter
+cfg_choice
+\family default
+,
+
+\family typewriter
+cfg_menu
+\family default
+,
+
+\family typewriter
+cfg_exbranch
+\family default
+,
+
+\family typewriter
+cfg_files
+\family default
+,
+
+\family typewriter
+cfg_branch
+\family default
+,
+
+\family typewriter
+cfg_repeat
+\family default
+.
+\begin_inset Newline newline
+\end_inset
+
+For more information call the help function in MATLAB (e.g.
+
+\family typewriter
+help cfg_item
+\family default
+)
+\end_layout
+
+\end_deeper
+\begin_layout Subparagraph
+Note
+\end_layout
+
+\begin_layout Standard
+The inputs to each module have to be described in a tree-like structure.
+\end_layout
+
+\begin_layout Standard
+During data entry,
+ there is no way to change the tree structure based on input data.
+ Add application to the configuration tree by default
+\end_layout
+
+\begin_layout Subsubsection
+Add application to the configuration tree by default
+\end_layout
+
+\begin_layout Standard
+In the following it is shown how an application can be added to the menu bar of MATLABbatch by default (without adding it every time MATLABbatch is started)
+\end_layout
+
+\begin_layout Itemize
+Start MATLABbatch and add the appliaction
+\family typewriter
+cfg_confgui
+\family default
+ in the folder
+\family typewriter
+MATLABbatch/cfg_confgui
+\family default
+ .
+\end_layout
+
+\begin_layout Itemize
+Put Generate code into the Module list by selecting ConfGUI → Generate code in the menu bar
+\end_layout
+
+\begin_layout Itemize
+Fill out all the input fields on the right side:
+
+\begin_inset Separator latexpar
+\end_inset
+
+
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+Output filename:
+ This file will contain the whole menu structure,
+ validity constraints and links to run time code of the appliaction.
+\end_layout
+
+\begin_layout Itemize
+Output directory:
+ All files which are created by the ConfGUI will be stored into this directory (chose a directory which is added to the MATLAB path)
+\end_layout
+
+\begin_layout Itemize
+Root node of config:
+ Name of the root node of the appliaction's configuration tree
+\end_layout
+
+\begin_layout Itemize
+Options:
+
+\begin_inset Separator latexpar
+\end_inset
+
+
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Create Defaults File:
+
+\family typewriter
+Yes
+\end_layout
+
+\begin_layout Enumerate
+Create
+\family typewriter
+mlbatch_appcfg
+\family default
+ File:
+
+\family typewriter
+Yes
+\end_layout
+
+\begin_layout Enumerate
+Create Code for
+\family typewriter
+addpath():
+ No
+\family default
+
+\end_layout
+
+\end_deeper
+\end_deeper
+\begin_layout Itemize
+Finally press the green arrow on the upper left side of the batch editor
+\end_layout
+
+\begin_layout Itemize
+As no error occurred 3 new files (
+\family typewriter
+{Output filename}.m
+\family default
+,
+
+\family typewriter
+{Output filename}_def.m
+\family default
+,
+
+\family typewriter
+cfg_mlbatch_appcfg.m
+\family default
+) should be created and added into the folder {
+\family typewriter
+Output directory
+\family default
+}.
+\end_layout
+
+\begin_layout Itemize
+Each time MATLABbatch is started,
+ it will search for any
+\family typewriter
+cfg_mlbatch_appcfg.m
+\family default
+ file (this file contains the names of the configuration files) and will add the corresponding application to the batch editor.
+
+\end_layout
+
+\begin_layout Subsubsection
+Add modules to module list
+\end_layout
+
+\begin_layout Subparagraph
+Example
+\end_layout
+
+\begin_layout Standard
+Module Import and Trim will be added to the module list
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+\begin_inset listings
+inline false
+status open
+
+\begin_layout Plain Layout
+
+arg1 = `scr.prep.import_data';
+
+\end_layout
+
+\begin_layout Plain Layout
+
+arg2 = `scr.prep.trim';
+
+\end_layout
+
+\begin_layout Plain Layout
+
+mod_cfg_id1 = cfg_util(`tag2mod_cfg_id',arg1);
+
+\end_layout
+
+\begin_layout Plain Layout
+
+mod_cfg_id2 = cfg_util(`tag2mod_cfg_id',arg2);
+
+\end_layout
+
+\begin_layout Plain Layout
+
+cjob = cfg_util(`initjob');
+
+\end_layout
+
+\begin_layout Plain Layout
+
+mod_job_id1 = cfg_util(`addtojob',
+ cjob,
+ mod_cfg_id1);
+
+\end_layout
+
+\begin_layout Plain Layout
+
+mod_job_id2 = cfg_util(`addtojob',
+ cjob,
+ mod_cfg_id2);
+
+\end_layout
+
+\begin_layout Plain Layout
+
+cfg_util(`harvest',
+ cjob,
+ mod_job_id1);
+
+\end_layout
+
+\begin_layout Plain Layout
+
+cfg_util(`harvest',
+ cjob,
+ mod_job_id2);
+
+\end_layout
+
+\begin_layout Plain Layout
+
+cfg_ui(`local_showjob',
+ cfg_ui,
+ cjob);
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsubsection
+Changes
+\end_layout
+
+\begin_layout Itemize
+In the function
+\family typewriter
+private/cfg_onscreen
+\family default
+ at line 36 figure(fg);
+ is commented out in order to prevent the appearance of the GUI for a short time if the function
+\family typewriter
+cfg_ui(`Visible',
+ `off')
+\family default
+ is called.
+\end_layout
+
+\begin_layout Subsection
+MATLABbatch:
+ changing help texts and fieldnames
+\end_layout
+
+\begin_layout Subsubsection
+File structure of MATLABbatch GUI
+\end_layout
+
+\begin_layout Standard
+There exist two files per function:
+ 1 configuration file and 1 run file.
+ The configuration file defines the structure of the corresponding function in the MATLABbatch GUI whereas the run file firstly gathers all entered values and secondly calls the corresponding SCR function.
+ Both types of files are located in the subfolder
+\family typewriter
+pspm_cfg
+\family default
+.
+ The name of a configuration or a run file consists of two parts.
+ The prefix of a configuration filename is called
+\family typewriter
+pspm_cfg_
+\family default
+ whereas the filename of a run file begins with
+\family typewriter
+pspm_cfg_run
+\family default
+.
+ The second part of the filename is named after the function name (eg.
+ for the function
+\family typewriter
+pspm_import.m
+\family default
+ →
+\family typewriter
+pspm_cfg_import.m
+\family default
+,
+
+\family typewriter
+pspm_cfg_run_import.m
+\family default
+).
+\end_layout
+
+\begin_layout Subsubsection
+Edit help texts and fieldname
+\end_layout
+
+\begin_layout Standard
+In order to change any help text or fieldname in a MATLABbatch GUI function the corresponding configuration file has to be opened.
+ For each item in a MATLABbatch GUI function a struct variable which contains several struct fields is defined in the configuration file.
+
+\end_layout
+
+\begin_layout Itemize
+Help text The field
+\family typewriter
+.help
+\family default
+ defines the help text of the item which can be edited in order to change the help text.
+ As soon as MATLABbatch has been closed and opened again,
+ the changes in the help text will be visible in MATLABbatch GUI.
+\end_layout
+
+\begin_layout Itemize
+Fieldname The fieldname of an MATLABbatch GUI item is defined by the struct field
+\family typewriter
+.tag
+\family default
+.
+ In case a fieldname of an item should be changed be careful to verify if no other item,
+ which has the same root node,
+ hold the same fieldname.
+ Otherwise MATLABbatch will not work properly.
+ After the fieldname of an item has been changed the run file (
+\family typewriter
+pspm_cfg_run_functionname.m
+\family default
+) of the corresponding function has to be adapted as well in order to ensure that the function call in the run file is done properly.
+\end_layout
+
+\begin_layout Subsection
+Python support
+\end_layout
+
+\begin_layout Standard
+PsPM provides some features that are enabled by using Python packages,
+ namly HeartPy and Bioread,
+ and descriptions in the GUI.
+ This is controled through
+\family typewriter
+pspm_cfg_python
+\family default
+.
+ Any PsPM functions or features that require Python-enabled features need to call
+\family typewriter
+pspm_cfg_python
+\family default
+ to show Python path specification in the GUI,
+ so that users can select appropriate Python location for calling the packages.
+\end_layout
+
+\begin_layout Subsubsection
+Python packages
+\end_layout
+
+\begin_layout Standard
+The Python packages that are used by PsPM are Bioread and HeartPy,
+ until PsPM version 7.0.
+ This is to support the features of importing .acq data for Bioread and process PPG data for HeartPy.
+ The tested competible version of these packages are Python 3.11,
+ Bioread 3.0.1,
+ and HeartPy 1.2.7.
+ Because some packages may have dependence on other packages such as numpy,
+ here is a list of Python packages that work on both Windows and macOS
+\end_layout
+
+\begin_layout Standard
+\begin_inset listings
+inline false
+status open
+
+\begin_layout Plain Layout
+
+Pillow==10.1.0
+\end_layout
+
+\begin_layout Plain Layout
+
+aigpy==2022.7.8.1
+\end_layout
+
+\begin_layout Plain Layout
+
+bioread==3.0.1
+\end_layout
+
+\begin_layout Plain Layout
+
+certifi==2023.11.17
+\end_layout
+
+\begin_layout Plain Layout
+
+charset-normalizer==3.3.2
+\end_layout
+
+\begin_layout Plain Layout
+
+colorama==0.4.6
+\end_layout
+
+\begin_layout Plain Layout
+
+contourpy==1.2.0
+\end_layout
+
+\begin_layout Plain Layout
+
+cycler==0.12.1
+\end_layout
+
+\begin_layout Plain Layout
+
+docopt==0.6.2
+\end_layout
+
+\begin_layout Plain Layout
+
+fonttools==4.45.1
+\end_layout
+
+\begin_layout Plain Layout
+
+heartpy==1.2.7
+\end_layout
+
+\begin_layout Plain Layout
+
+idna==3.4
+\end_layout
+
+\begin_layout Plain Layout
+
+kiwisolver==1.4.5
+\end_layout
+
+\begin_layout Plain Layout
+
+matplotlib==3.8.2
+\end_layout
+
+\begin_layout Plain Layout
+
+mutagen==1.47.0
+\end_layout
+
+\begin_layout Plain Layout
+
+numpy==1.26.2
+\end_layout
+
+\begin_layout Plain Layout
+
+packaging==23.2
+\end_layout
+
+\begin_layout Plain Layout
+
+pip==24.0
+\end_layout
+
+\begin_layout Plain Layout
+
+prettytable==3.9.0
+\end_layout
+
+\begin_layout Plain Layout
+
+pycryptodome==3.19.0
+\end_layout
+
+\begin_layout Plain Layout
+
+pydub==0.25.1
+\end_layout
+
+\begin_layout Plain Layout
+
+pyparsing==3.1.1
+\end_layout
+
+\begin_layout Plain Layout
+
+python-dateutil==2.8.2
+\end_layout
+
+\begin_layout Plain Layout
+
+requests==2.31.0
+\end_layout
+
+\begin_layout Plain Layout
+
+scipy==1.11.4
+\end_layout
+
+\begin_layout Plain Layout
+
+setuptools==68.2.2
+\end_layout
+
+\begin_layout Plain Layout
+
+six==1.16.0
+\end_layout
+
+\begin_layout Plain Layout
+
+urllib3==2.1.0
+\end_layout
+
+\begin_layout Plain Layout
+
+wcwidth==0.2.12
+\end_layout
+
+\begin_layout Plain Layout
+
+wheel==0.41.3
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsubsection
+HeartPy for processing PPG data
+\end_layout
+
+\begin_layout Standard
+The package
+\family typewriter
+HeartPy
+\family default
+ (stylised to be in line with its official website) (https://pypi.org/project/heartpy/) is designed for analysing PPG signals and used for processing PPG data in PsPM.
+\end_layout
+
+\begin_layout Standard
+The process of using HeartPy to process PPG data is described as following.
+ Initially,
+ PsPM will check if python has been installed in the computer,
+ and this is done by using the function
+\family typewriter
+pspm_check_python
+\family default
+.
+ In this process,
+
+\family typewriter
+pspm_check_python
+\family default
+ requires a path of python that is provided by the user so that it can determine if python has been installed there.
+ Secondly,
+ PsPM checks if HeartPy package has been installed in the defined python path,
+ and this is handled with
+\family typewriter
+pspm_check_python_modules
+\family default
+.
+ If both python and
+\family typewriter
+HeartPy
+\family default
+ have been installed,
+ it is then safe to use function family
+\family typewriter
+py.heartpy
+\family default
+ to do analysis.
+ The details of available functions that are provided by
+\family typewriter
+HeartPy
+\family default
+ can be found at https://python-heart-rate-analysis-toolkit.readthedocs.io/en/latest/heartpy.heartpy.html.
+ The details about how PPG data are processed can be found at
+\family typewriter
+pspm_convert_ppg2hb
+\family default
+.
+\end_layout
+
+\begin_layout Subsubsection
+Bioread for importing biopac data
+\end_layout
+
+\begin_layout Standard
+The package
+\family typewriter
+Bioread
+\family default
+ (https://pypi.org/project/bioread/) supports reading biopac files in any version,
+ and it has been included in PsPM for importing biopac files since version 7.0.
+
+\family typewriter
+Bioread-based
+\family default
+ importing is set as an alternative method in parallel to previous methods,
+ and it is managed in
+\family typewriter
+acqread_python
+\family default
+.
+ Users have to specify the functionality of importing biopac data with python to use this method,
+ but they can also call the function
+\family typewriter
+acqread_python
+\family default
+ in command line or scripts to directly use this feature.
+ The method of checking python and
+\family typewriter
+Bioread
+\family default
+ is identical to what has been checked for
+\family typewriter
+HeartPy
+\family default
+.
+ The generic flowchart of
+\family typewriter
+acqread_python
+\family default
+ is to get the main content and other metadata from original files and then save such information to the corresponding places for meeting PsPM's data storage requirements.
+ Further information is available in
+\family typewriter
+acqread_python
+\family default
+ that is under the path
+\family typewriter
+src/Import/acq
+\family default
+.
+\end_layout
+
+\begin_layout Subsection
+GUI development progress
+\end_layout
+
+\begin_layout Standard
+MATLAB GUIDE
+\begin_inset Flex URL
+status open
+
+\begin_layout Plain Layout
+
+https://uk.mathworks.com/help/matlab/migrate-guide-apps.html
+\end_layout
+
+\end_inset
+
+ was originally used as the framework for designing the GUI of PsPM.
+ However,
+ the framework suffers from the risk that plots may be unexpectedly displayed on such figures since they need to be called by users' command lines.
+ At the same time,
+ GUIDE based GUI will lose support from Mathworks in a future release of MATLAB.
+ Consequently,
+ PsPM is currently slowly being migrated to the new UI designing framework,
+ MATLAB AppDesigner.
+ Instead of creating .fig files,
+ the new AppDesigner frameworks will create .mlapp files.
+ The
+\family typewriter
+.mlapp
+\family default
+ file can be created natively through the new MATLAB GUI guide.
+ Alternatively,
+ it can be generated by converting the classic GUIDE based .fig file through the feature
+\shape italic
+migration
+\shape default
+.
+\end_layout
+
+\begin_layout Standard
+The main GUI has been recreated by using AppDesigner in PsPM version 6.1,
+ where the function lists inherted from the legacy of GUIDE-based GUI.
+ The code has been re-sorted out in MATLAB by following the coding style of AppDesigner.
+ A typical button corresponds to the function shown below
+\begin_inset Newline linebreak
+\end_inset
+
+
+\family typewriter
+
+\begin_inset listings
+inline false
+status open
+
+\begin_layout Plain Layout
+
+function
+\end_layout
+
+\begin_layout Plain Layout
+
+button_Callback(app,
+ event)
+\end_layout
+
+\begin_layout Plain Layout
+
+switch event.Value
+\end_layout
+
+\begin_layout Plain Layout
+
+case 'A'
+\end_layout
+
+\begin_layout Plain Layout
+
+action;
+
+\end_layout
+
+\begin_layout Plain Layout
+
+end
+\end_layout
+
+\begin_layout Plain Layout
+
+end
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+The new GUI is currently using the colour
+\family typewriter
+#7f2534
+\family default
+ for stylishing.
+ The main typeface for UI design is Segoe UI,
+ San Francisco (or Helvetica Neue for Yosemite,
+ Lucida Grande for pre-Yosemite) and DejaVu Sans for Windows,
+ macOS,
+ and Linux,
+ respectively.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Newpage pagebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
+Test environment
+\end_layout
+
+\begin_layout Quote
+Contributed by Linus Rüttimann,
+ Tobias Moser and Teddy Zhao.
+\end_layout
+
+\begin_layout Quote
+Revised and updated by Teddy Zhao in Feburary 2022.
+\end_layout
+
+\begin_layout Subsubsection
+Unittest:
+ General implementation
+\end_layout
+
+\begin_layout Standard
+In PsPM the MATLAB Unit Testing Framework is used for testing of functions.
+ For each tested function there is a MATLAB class with the name
+\family typewriter
+functionname_test
+\family default
+,
+ which contains the unittests for that specific function.
+ Additionally there is a documentation page for each of the test classes,
+ where information about the unittests can be found.
+\end_layout
+
+\begin_layout Standard
+To run the unittests of a test class,
+ an object of the class has to be created
+\end_layout
+
+\begin_layout Standard
+\begin_inset listings
+inline false
+status open
+
+\begin_layout Plain Layout
+
+testCase = functionname_test.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+where
+\family typewriter
+testCase
+\family default
+ is an arbitrary object name and
+\family typewriter
+funtionname_test
+\family default
+ is the name of a test class.
+ Then all the unittest that are contained in the test class can be run with
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+\begin_inset listings
+inline false
+status open
+
+\begin_layout Plain Layout
+
+testCase.run.
+\end_layout
+
+\end_inset
+
+
+\family default
+A specific unittest can be run with
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+\begin_inset listings
+inline false
+status open
+
+\begin_layout Plain Layout
+
+testCase.run(unittest_name').
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Remember that a new test class object must be generated each time the test class has been changed.
+\end_layout
+
+\begin_layout Subsubsection
+parameterised test classes
+\end_layout
+
+\begin_layout Standard
+Parmeterised test classes is a feature provided by the MATLAB test case class.
+ A test class is parameterised when it has
+\end_layout
+
+\begin_layout Itemize
+Test parameters defined (within the property section)
+\end_layout
+
+\begin_layout Itemize
+Test methods implementing the defined test parameters
+\end_layout
+
+\begin_layout Standard
+Each function implementing test parameters will be called multiple times with each possible parameter combination (which is determined by MATLAB).
+ Thus parameterised classes allow to write single tests for different parameter combinations.
+ If one of the following test cases is a parameterised test class,
+ it will be mentioned accordingly.
+\end_layout
+
+\begin_layout Subsection
+Align Channels
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_align_channels_test
+\end_layout
+
+\begin_layout Subparagraph
+Format
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ data,
+ duration] = pspm_align_channels(data,
+ induration)
+\end_layout
+
+\begin_layout Subsubsection
+Setup
+\end_layout
+
+\begin_layout Standard
+This test uses data stored in
+\family typewriter
+ImportTestData/ecg2hb/tpspm_s102_s1.mat
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Invalid input
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_input(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks for warnings given invalid inputs.
+\end_layout
+
+\begin_layout Paragraph
+Lower optional duration
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+lower_optional_duration(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Passes an optional duration that is less than the maximum duration of all channels in the input to
+\family typewriter
+pspm_align_channels
+\family default
+.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Assert that lower optional duration has no effect on the output.
+\end_layout
+
+\begin_layout Enumerate
+Check if all of the returned channels have the same duration.
+\end_layout
+
+\begin_layout Paragraph
+Same optional duration
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+same_optional_duration(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Passes an optional duration that is equal to the maximum duration of all channels in the input to
+\family typewriter
+pspm_align_channels
+\family default
+ and does the exact same checks as in lower duration case.
+\end_layout
+
+\begin_layout Paragraph
+Higher optional duration
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+higher_optional_duration(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Passes an optional duration that is higher than the maximum duration of all channels.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Assert that durations of all returned channels is the same as the passed optional duration.
+\end_layout
+
+\begin_layout Paragraph
+Max duration is passed in marker channel
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+max_duration_is_given_in_events(this)
+\end_layout
+
+\begin_layout Subparagraph
+
+\series bold
+Description
+\end_layout
+
+\begin_layout Standard
+Passes the maximum duration in marker channel to pspm_align_channels.
+\end_layout
+
+\begin_layout Subparagraph
+
+\series bold
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Assert that all returned channels are aligned to the maximum duration passed in marker channel.
+\end_layout
+
+\begin_layout Paragraph
+Various case checks
+\end_layout
+
+\begin_layout Subparagraph
+Function names
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+only_one_channel_longer_others_same(this)
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+only_one_channel_shorter_others_same(this)
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+increasing_channel_lengths(this)
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+two_same_others_shorter(this)
+\end_layout
+
+\begin_layout Subparagraph
+
+\series bold
+Description
+\end_layout
+
+\begin_layout Standard
+In each of these cases check if the returned channels have the same duration that is equal to the maximum duration of all input channels.
+\end_layout
+
+\begin_layout Subsection
+Butter
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_butter_test
+\end_layout
+
+\begin_layout Subparagraph
+
+\series bold
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ b,
+ a] = pspm_butter(order,
+ freqratio,
+ pass)
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Invalid input
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_input(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks for warnings,
+ if the input arguments are invalid and if the signal processing toolbox is installed.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_butter() [no input]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_butter(1,1,`abc') [pass not equal to `high' or `low']
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_butter(2,1) [`Signal processing toolbox is missing' #1]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:toolbox_missing
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_butter(1,1) [`Signal processing toolbox is missing' #2]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:toolbox_missing
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+pspm_bf
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_bf_test
+\end_layout
+
+\begin_layout Subparagraph
+Format
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[bs,
+ x] = pspm_bf_
+\end_layout
+
+\begin_layout Subsubsection
+Setup
+\end_layout
+
+\begin_layout Standard
+This test class is parameterised.
+\end_layout
+
+\begin_layout Paragraph
+
+\series bold
+Method setup parameters
+\end_layout
+
+\begin_layout Standard
+These parameters define which function should be tested
+\series bold
+.
+\end_layout
+
+\begin_layout Description
+
+\series bold
+Basis
+\begin_inset space \space{}
+\end_inset
+
+function
+\series default
+Specifies the basis functions to test (without the
+\family typewriter
+pspm_bf_ prefix
+\family default
+).
+ The current basis function to test is then called via
+\family typewriter
+this.bf()
+\family default
+;
+\end_layout
+
+\begin_layout Paragraph
+Test parameters
+\end_layout
+
+\begin_layout Standard
+These are parameters which define what kind of data or option should be passed to each basis function.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Time res log
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Specifies for the basic test different time resolutions (argument
+\family typewriter
+`td'
+\family default
+) which a basis function should be able to handle (as long as
+\family typewriter
+td <= duration
+\family default
+).
+ The values are logarithmic and have to be translated before passed to the basis function.
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Invalid input
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_input(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks for warnings,
+ if the input arguments are invalid.
+
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+this.bf() [no parameters]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+this.bf(dur+1) [pass `td' > duration of function]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+this.bf(0) [invalid time resolution]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+Basic
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_basic(this,
+ time_res_log)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test for different requirements to verify whether the current basis function is valid or not.
+\end_layout
+
+\begin_layout Subparagraph*
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Test with
+\family typewriter
+td = 0.1
+\family default
+,
+ verify that no warning is issued and determine the duration
+\end_layout
+
+\begin_layout Enumerate
+Test with
+\family typewriter
+td = 0.01
+\family default
+ and check if the new duration is equal to the duration calculated before.
+\end_layout
+
+\begin_layout Enumerate
+Test if function runs through without warning and that the time vector begins at
+\family typewriter
+<= 0
+\family default
+.
+\end_layout
+
+\begin_layout Enumerate
+Test if the function runs through without warning with
+\family typewriter
+td = 10^time_res_log
+\family default
+ (as long as
+\family typewriter
+td < duration
+\family default
+)
+\end_layout
+
+\begin_layout Subsection
+pspm_convert_unit
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_convert_unit_test
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ converted] = pspm_convert_unit(data,
+ from,
+ to)
+\end_layout
+
+\begin_layout Subsubsection
+Setup
+\end_layout
+
+\begin_layout Subparagraph
+Constants
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+inch_to_cm = 2.54
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Invalid input
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_input(testCase)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Pass invalid from or to metrics and check if warnings are issued.
+\end_layout
+
+\begin_layout Paragraph
+Valid input
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+valid_input(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Pass various valid inputs and compare results to manually calculated ones.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+If empty input data is passed,
+ result is also empty.
+\end_layout
+
+\begin_layout Enumerate
+Convert single cm value to m.
+\end_layout
+
+\begin_layout Enumerate
+Various unit conversion checks:
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Conversion between same units (
+\family typewriter
+cm
+\family default
+ to
+\family typewriter
+cm
+\family default
+)
+\end_layout
+
+\begin_layout Enumerate
+
+\family typewriter
+mm
+\family default
+ to
+\family typewriter
+km
+\family default
+ and
+\family typewriter
+km
+\family default
+ to
+\family typewriter
+mm
+\family default
+ conversions
+\end_layout
+
+\begin_layout Enumerate
+
+\family typewriter
+inch
+\family default
+ to
+\family typewriter
+cm
+\family default
+ conversions
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Negative value conversions
+\end_layout
+
+\begin_layout Enumerate
+Convert single dimensional array with multiple elements.
+\end_layout
+
+\begin_layout Enumerate
+Convert each element in 3D array.
+\end_layout
+
+\begin_layout Subsection
+pspm_ecg2hb
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_ecg2hb_test
+\end_layout
+
+\begin_layout Subparagraph
+Format
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,pt_debug] = pspm_ecg2hb(fn,
+ chan,
+ options)
+\end_layout
+
+\begin_layout Subsubsection
+Setup
+\end_layout
+
+\begin_layout Subparagraph
+Constants
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+testdata{0}.chan_struct = struct(`nr',
+ 1,
+ `name',
+ `ecg');
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+testdata{0}.filename = `ImportTestData
+\backslash
+ecg2hb
+\backslash
+test_ecg77.mat';
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+testdata{0}.num_channels = 1
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+testdata{1}.chan_struct = struct(`nr',
+ 3,
+ `name',
+ `ecg');
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+testdata{1}.filename = `ImportTestData
+\backslash
+ecg2hb
+\backslash
+tpspm_s102_s1.mat';
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+testdata{1}.num_channels = 5
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+backup_suffix = `_backup';
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+options = struct(`semi',
+ 0);
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Invalid input arguments
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_input(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Pass invalid input arguments and check if the warnings are as expected.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_ecg2hb() [no arguments]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_ecg2hb(1) [invalid file name]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_ecg2hb(this.fn,
+ `bla') [invalid channel (text)]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_ecg2hb(this.fn,
+ 1) [invalid channel type]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:not_allowed_channeltype
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+o.twthresh = `bla';
+ pspm_ecg2hb(this.fn,
+ this.chan.nr,
+ o) [invalid twthresh (text)]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+o.minHR = 202;
+ pspm_ecg2hb(this.fn,
+ this.chan.nr,
+ o) [invalid minHR (> default_maxHR)]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+o.minHR = 202;
+ o.maxHR = 19;
+ pspm_ecg2hb(this.fn,
+ this.chan.nr,
+ o) [invalid minHR > maxHR]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+o.maxHR = 19;
+ pspm_ecg2hb(this.fn,
+ this.chan.nr,
+ o) [invalid maxHR (< default_minHR)]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+o.debugmode = 5;
+ pspm_ecg2hb(this.fn,
+ this.chan.nr,
+ o) [invalid debugmode (not in [0,1])]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+o.semi = 5;
+ pspm_ecg2hb(this.fn,
+ this.chan.nr,
+ o) [invalid semi (not in [0,1])]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+Valid input arguments
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+valid_input(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Pass valid input arguments and check if there are no warnings.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_ecg2hb(this.fn,
+ this.chan.nr,
+ this.options)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_ecg2hb(this.fn,
+ this.chan.name,
+ this.options)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+this.test_added_data()
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsubsection
+Other Methods
+\end_layout
+
+\begin_layout Paragraph
+Test for added data
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_added_data()
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Check if added hb channels show an expected behaviour.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Standard
+(for each channel)
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Tested Value
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Expected Value
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Sampling rate
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+1
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Unit
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+'events'
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Channel type
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+'hb'
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Amount of data points in data
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+> 1
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Heartbeat indices are monotonically increasing
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+True
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Maximum number of heartbeats per second
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+< 5
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Data is distributed equally (standard deviation)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+< 2s
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Time between end of recording and last data point
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+< 60s
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+pspm_filtfilt
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_filtfilt_test
+\end_layout
+
+\begin_layout Subparagraph
+Format
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+y = pspm_filtfilt(b,a,x)
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Invalid input
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_input(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks for warnings,
+ if the input arguments are invalid.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_filtfilt() [no input]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_filtfilt([1:10],[1:20],[1:10])
+\end_layout
+
+\begin_layout Plain Layout
+
+\family typewriter
+[data length less than 3 times filter order]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+pspm_find_channel
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_find_channel_test
+\end_layout
+
+\begin_layout Subparagraph
+Format
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+chan = pspm_find_channel(headercell,
+ chantype)
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Invalid input arguments
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_inputargs(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks for warnings,
+ if the input arguments are invalid.
+\end_layout
+
+\begin_layout Subparagraph
+Setup
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+headercell = {`heart',
+ `scr',
+ `pupil'};
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_channel(`str',`scr') [no headercell]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_channel(headercell,
+ `str')
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:not_allowed_channeltype
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_channel(headercell,
+ 4) [no string chantype]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+Valid Input Arguments
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+valid_inputargs(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks for correct return value if the input arguments are valid
+\end_layout
+
+\begin_layout Subparagraph
+Setup
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+headercell = {`heart',
+ `scr',
+ `pupil',
+ `mark',
+ `gsr',
+ `eda'};
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Exp.
+ Output
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_channel(headercell,
+ `pupil')
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+3
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_channel(headercell,
+ `resp')
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:no_matching_channels
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_channel(headercell,
+ `scr')
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+-1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:multiple_matching_channels
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_channel(headercell,
+ {`mark',
+ `str',
+ `bla'})
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+4
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_channel(headercell,
+ {`call',
+ `str',
+ `me'})
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+no matching channel,
+ but no warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_channel(headercell,
+ {`scr',
+ `gsr',
+ `eda'})
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+-1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+multiple matching channels,
+ but no warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+pspm_extract_segments
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_extract_segments_test
+\end_layout
+
+\begin_layout Subparagraph
+Format
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ out] = pspm_extract_segments(varargin)
+\end_layout
+
+\begin_layout Subsubsection
+Setup
+\end_layout
+
+\begin_layout Standard
+This test class is parameterised.
+ For manual mode tests,
+ the test data is generated by the function itself and when needed,
+ files will be written to
+\family typewriter
+testdatafile.mat
+\family default
+.
+ For auto mode tests,
+ the test data must be in
+\family typewriter
+ImportTestData/fitted_models
+\family default
+ folder with names as specified in the tests.
+\end_layout
+
+\begin_layout Subparagraph
+Test parameters
+\end_layout
+
+\begin_layout Standard
+These are parameters which define what kind of data should be passed to
+\family typewriter
+pspm_extract_segments
+\family default
+ in auto mode tests and which options should be set.
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+nan_output
+\family default
+ This option defines whether the user wants to output the
+\family typewriter
+NaN
+\family default
+ ratios of the trials for each condition.
+ If so,
+ we values can be printed on the screen (on MATLAB command window) or written to a created file.
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+nan_ratio
+\family default
+ Defines ratio of
+\family typewriter
+NaN
+\family default
+ values in the generated test data
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+nr_trail
+\family default
+ Number of trails in the generated test data
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Invalid input
+\end_layout
+
+\begin_layout Subparagraph
+Format
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_input(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks for warnings,
+ if the input arguments are invalid.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_extract_segments()
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_extract_segments(`a',`b')
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_extract_segments(`manual',fn,0)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_extract_segments(`manual',struct(`a',10),0,timing)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_extract_segments(`manual',[1,3],logical(32),timing)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_extract_segments(`manual',fn,`a',timing)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_extract_segments(`manual',fn,{`a'},timing)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_extract_segments(`auto',{1})
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_extract_segments(`auto',`some')
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+Test manual mode with indicated length
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_manual_length(this,nr_trial,nan_ratio)
+\end_layout
+
+\begin_layout Subparagraph
+Desctiption
+\end_layout
+
+\begin_layout Standard
+Checks for equality of produced segments by
+\family typewriter
+pspm_extract_segments
+\family default
+ with manually computed segments.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Generate segments form test data.
+\end_layout
+
+\begin_layout Enumerate
+Test if function call wirked WarningFree
+\end_layout
+
+\begin_layout Enumerate
+Test if variable
+\family typewriter
+segments
+\family default
+ existis in output
+\end_layout
+
+\begin_layout Enumerate
+Test if correct number of segments were produced
+\end_layout
+
+\begin_layout Enumerate
+Test each segment holds correct data
+\end_layout
+
+\begin_layout Paragraph
+Test manual mode with durations
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_manual_duration(this,nr_trial,nan_ratio)
+\end_layout
+
+\begin_layout Subparagraph
+Desctiption
+\end_layout
+
+\begin_layout Standard
+Checks for equality of produced segments by
+\family typewriter
+pspm_extract_segments
+\family default
+ with manually computed segments.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Generate segments form test data.
+\end_layout
+
+\begin_layout Enumerate
+Test if function call wirked WarningFree
+\end_layout
+
+\begin_layout Enumerate
+Test if variable `segments' existis in output
+\end_layout
+
+\begin_layout Enumerate
+Test if correct number of segments were produced
+\end_layout
+
+\begin_layout Enumerate
+Test each segment holds correct data
+\end_layout
+
+\begin_layout Paragraph
+Test auto mode with GLM using marker onsets
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_auto_mode_glm_with_markers(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Runs
+\family typewriter
+pspm_extract_segments
+\family default
+ with a particular GLM model stored in
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+ImportTestData/fitted_models
+\family default
+ and compares the results to manually calculated results.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Test if length of the returned cell array (from now on called
+\family typewriter
+segments
+\family default
+) is the same as the number of conditions
+\end_layout
+
+\begin_layout Enumerate
+Test if shape of data arrays in each element of
+\family typewriter
+segments
+\family default
+ agrees with the passed durations and number of onsets.
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+segments.trial_idx
+\family default
+ agrees with input data.
+\end_layout
+
+\begin_layout Enumerate
+Test if statistics calculated manually from
+\family typewriter
+segments.data
+\family default
+ is the same as
+\family typewriter
+segments.mean
+\family default
+ and
+\family typewriter
+segments.std
+\family default
+.
+\end_layout
+
+\begin_layout Enumerate
+Compute each statistic field in each element of
+\family typewriter
+segments
+\family default
+ manually using the input data and compare the results to
+\family typewriter
+segments
+\family default
+.
+\end_layout
+
+\begin_layout Paragraph
+Test auto mode with GLM using second onsets
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_auto_mode_glm_with_seconds(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Do the exact same tests as in
+\family typewriter
+test_auto_mode_glm_with_markers
+\family default
+ but this time using seconds to specify onsets.
+\end_layout
+
+\begin_layout Paragraph
+Test auto mode with DCM
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_auto_mode_dcm(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Runs
+\family typewriter
+pspm_extract_segments
+\family default
+ with a particular DCM model stored in
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+ImportTestData/fitted_models
+\family default
+ and compares the results to manually calculated results.
+ In order to get meaningful condition statistic information this test function assigns the same trial name to certain groups of trials.
+\end_layout
+
+\begin_layout Subparagraph
+Note
+\end_layout
+
+\begin_layout Standard
+Since in DCM case onsets are calculated using trial start and end seconds of DCM trials,
+ there is no second/marker distinction in DCM test.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Standard
+Do the exact same tests as in
+\family typewriter
+test_auto_mode_glm_with_markers
+\family default
+ by adapting the computation steps to DCM case.
+\end_layout
+
+\begin_layout Subsection
+pspm_find_sounds
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_find_sounds_test
+\end_layout
+
+\begin_layout Subparagraph
+Format
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ infos] = pspm_find_sounds(file,
+ options)
+\end_layout
+
+\begin_layout Subsubsection
+Setup
+\end_layout
+
+\begin_layout Standard
+This test class is parameterised.
+ The test data is generated by the function itself and when needed,
+ files will be written to
+\family typewriter
+testdatafile.mat
+\family default
+.
+\end_layout
+
+\begin_layout Subparagraph
+Test parameters
+\end_layout
+
+\begin_layout Standard
+These are parameters which define what kind of data should be passed to pspm_find_sounds and which options should be set.
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Channel output
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Specifies whether
+\family typewriter
+`all'
+\family default
+ found markers or only
+\family typewriter
+`corrected'
+\family default
+ markers should be returned.
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Max delay
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Varies the max delay option and defines how far away a marker at most can be.
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Min delay
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Varies the min delay option and defines how far away a marker at least should be.
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Threshold
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Defines the minimum size of a marker to be recognized as a marker event.
+ Passed in percent of the maximum amplitude of the recorded data.
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Resample
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Defines whether the function should resample (and interpolate) the data to a higher sample rate in order to get more exact marker findings.
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Channel action
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Defines whether a newly created marker channel should replace the existing marker channel or should be added as a new marker channel.
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Invalid input
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_input(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks for warnings,
+ if the input arguments are invalid.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_sounds(`')
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:file_not_found
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_sounds(fn) [invalid pspm file]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_sounds(fn) [pspm file without a `snd' channel]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:no_sound_chan
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_sounds(fn,
+ o) [invalid values for positive integer fields]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_sounds(fn,
+ o) [invalid values for positive numeric fields]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_sounds(fn,
+ o) [invalid values for logic fields]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_sounds(fn,
+ o) [invalid channel ids for channel fields]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:out_of_range
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_sounds(fn,
+ o) [enabled diagnostics without a marker channel]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:no_marker_chan
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_sounds(fn,
+ o) [invalid values for channelaction]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_sounds(fn,
+ o) [invalid values for roi]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_sounds(fn,
+ o) [maxdelay < mindelay]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+Test add channel
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_add_channel(this,
+ channeloutput,
+ max_delay,
+ resample,
+ channelaction)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test add channel with different options.
+ Diagnostics is always enabled,
+ Channel output,
+ Max delay,
+ Resample and Channel action are varied.
+ Once
+\family typewriter
+pspm_find_sounds
+\family default
+ is complete,
+ the function tests if the returned data has the expected format.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Generate data with channel
+\family typewriter
+snd
+\family default
+ and
+\family typewriter
+marker
+\family default
+;
+ and count amount of reference markers
+\end_layout
+
+\begin_layout Enumerate
+Set
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+
+\family typewriter
+options
+\family default
+ according to test parameters
+\end_layout
+
+\begin_layout Enumerate
+
+\family typewriter
+diagnostics
+\family default
+ to
+\family typewriter
+1
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Test if function runs through without warning
+\end_layout
+
+\begin_layout Enumerate
+Test if returned data has the correct format
+\end_layout
+
+\begin_layout Enumerate
+Test if channels has been added or replaced
+\end_layout
+
+\begin_layout Enumerate
+Test if added channel has correct amount of data
+\end_layout
+
+\begin_layout Paragraph
+Test region count
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_region_count(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test region of interest in combination with expected sound count.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Enumerate
+Generate data with channel `snd' and `marker'
+\end_layout
+
+\begin_layout Enumerate
+Test if function finds the function finds all markers in the whole file
+\end_layout
+
+\begin_layout Enumerate
+Test if function finds all the markers in the whole file with initial threshold 1
+\end_layout
+
+\begin_layout Enumerate
+Test if function finds half of the markers in half of the file
+\end_layout
+
+\begin_layout Paragraph
+Test threshold
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_threshold(this,
+ threshold)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Vary the threshold option and test whether the functions returnes the expected data.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Generate data with channel
+\family typewriter
+`snd'
+\family default
+ and
+\family typewriter
+`marker'
+\end_layout
+
+\begin_layout Enumerate
+Set
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+
+\family typewriter
+threshold
+\family default
+ according to test parameter
+\end_layout
+
+\begin_layout Enumerate
+
+\family typewriter
+diagnostics
+\family default
+ to
+\family typewriter
+1
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Test if function runs through without warning
+\end_layout
+
+\begin_layout Enumerate
+Test if returned data has the correct format
+\end_layout
+
+\begin_layout Paragraph
+Test plot
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_plot(this,
+ threshold)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test if the plot functions returne the expected data and runs through without warning.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Generate data with channel
+\family typewriter
+snd
+\family default
+ and
+\family typewriter
+marker
+\end_layout
+
+\begin_layout Enumerate
+Set
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+
+\family typewriter
+plot
+\family default
+ to
+\family typewriter
+1
+\end_layout
+
+\begin_layout Enumerate
+
+\family typewriter
+diagnostics
+\family default
+ to
+\family typewriter
+1
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Test if function runs through without warning
+\end_layout
+
+\begin_layout Enumerate
+Test if returned data has the correct format
+\end_layout
+
+\begin_layout Subsection
+pspm_find_valid_fixations
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_find_valid_fixations_test
+\end_layout
+
+\begin_layout Subparagraph
+Format
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ out_file] = pspm_find_valid_fixations(fn,
+ options)
+\end_layout
+
+\begin_layout Subsubsection
+Setup
+\end_layout
+
+\begin_layout Standard
+This test class is parameterised.
+ The test data is generated by the function itself and when needed,
+ files will be written to
+\family typewriter
+testdatafile.mat
+\family default
+.
+\end_layout
+
+\begin_layout Paragraph
+Test parameters
+\end_layout
+
+\begin_layout Standard
+These are parameters which define what kind of data should be passed to
+\family typewriter
+pspm_find_valid_fixations
+\family default
+ and which options should be set.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Distance
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Used for gaze validation;
+ defines the distance between eyes and screen.
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Aspect used
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Used for gaze validation;
+ defines the aspect ratio set in the software.
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Aspect actual
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Used for gaze validation;
+ defines the aspect ratio of the hardware.
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Screen size
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Used for gaze validation;
+ defines the size of the screen in inches.
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Eyes
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Is used for data generation and tells the function for which eyes data should be generated.
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Channel action
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Defines whether to
+\family typewriter
+`add'
+\family default
+ or
+\family typewriter
+`replace'
+\family default
+ existing channels.
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Newfile
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Defines whether to create a new file or extend the existing file.
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Overwrite
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Defines whether to overwrite the existing file or not.
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Interpolate
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Defines whether to interpolate
+\family typewriter
+NaN
+\family default
+ values in validated channels or not.
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Missing
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Defines whether to create a channel which holds information about which positions have been set to
+\family typewriter
+NaN
+\family default
+ (and may have been interpolated afterwards).
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Work eye
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Defines which eyes should be used for fixation validation.
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Work chans
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Defines which channels should be set to NaN during invalid fixations.
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Invalid input
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_input(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks for warnings,
+ if the input arguments are invalid.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_valid_fixations()
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_valid_fixations(`a')
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_valid_fixations(fn,
+ options) [invalid options.validate_fixations]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_valid_fixations(fn,
+ options) [invalid options.box_degree]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_valid_fixations(fn,
+ options) [invalid options.screen_settings]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_valid_fixations(fn,
+ options) [missing fields for options.screen_settings]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_valid_fixations(fn,
+ options) [invalid options.aspect_actual]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_valid_fixations(fn,
+ options) [invalid options.aspect_used]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_valid_fixations(fn,
+ options) [invalid options.bitmap]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_valid_fixations(fn,
+ options) [invalid options.display_size]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_valid_fixations(fn,
+ options) [invalid options.display_size]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_valid_fixations(fn,
+ options) [invalid options.fixation_point]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_valid_fixations(fn,
+ options) [invalid options.channel_action]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_valid_fixations(fn,
+ options) [invalid options.newfile]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_valid_fixations(fn,
+ options) [invalid options.overwrite]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_valid_fixations(fn,
+ options) [invalid options.interpolate]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_valid_fixations(fn,
+ options) [invalid options.missing]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_valid_fixations(fn,
+ options) [invalid eyes]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_valid_fixations(fn,
+ options) [invalid options.channels]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+Test work chans
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_work_chans(this,
+ work_chans)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Tests whether the option
+\family typewriter
+`channels'
+\family default
+ actually works on the specified channels or not.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Generate data with
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+
+\family typewriter
+distance 500
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+aspect_used 16:9
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+aspect_actual 4:3
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+screen_size 20
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+eyes `lr'
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Set options with
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+
+\family typewriter
+overwrite 1
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+channels work_chans
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+channel_action `add'
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Test if function runs through without warning
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+sts==1
+\end_layout
+
+\begin_layout Enumerate
+Test if specified
+\family typewriter
+work_chans
+\family default
+ are added as new processed channels
+\end_layout
+
+\begin_layout Paragraph
+Test work eye
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_work_eye(this,
+ work_eye)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test whether the option
+\family typewriter
+`eyes'
+\family default
+ actually works on the specified eyes or not.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Generate data with
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+
+\family typewriter
+distance 500
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+aspect_used 16:9
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+aspect_actual 4:3
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+screen_size 20
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+eyes `lr'
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Set options with
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+overwrite 1
+\end_layout
+
+\begin_layout Description
+eyes work_eye
+\end_layout
+
+\begin_layout Description
+channel_action `add'
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Test if function runs through without warning
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+sts==1
+\end_layout
+
+\begin_layout Enumerate
+Test if specified eyes have been processed accordingly and test if not specified eyes have ignored.
+\end_layout
+
+\begin_layout Paragraph
+Test missing
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_missing(this,
+ missing)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test whether for each a a new missing channel is created if missing is specified as true.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Generate data with
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+
+\family typewriter
+distance 500
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+aspect_used 16:9
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+aspect_actual 4:3
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+screen_size 20
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+eyes `lr'
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Set options with
+\begin_inset Separator latexpar
+\end_inset
+
+
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+
+\family typewriter
+overwrite 1
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+missing missing
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+channel_action `add'
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Test if function runs through without warning
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+sts==1
+\end_layout
+
+\begin_layout Enumerate
+Depending on the status of
+\family typewriter
+`missing'
+\family default
+,
+ test if there are any missing channels or if there is no missing channel
+\end_layout
+
+\begin_layout Paragraph
+Test interpolate
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_interpolate(this,
+ interpolate)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test whether data is interpolated during periods which are set to
+\family typewriter
+NaN
+\family default
+ by the function.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Generate data with
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+
+\family typewriter
+distance 500
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+aspect_used 16:9
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+aspect_actual 4:3
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+screen_size 20
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+eyes `lr'
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Set options with
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+overwrite 1
+\end_layout
+
+\begin_layout Description
+interpolate interpolate
+\end_layout
+
+\begin_layout Description
+channel_action `add'
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Test if function runs through without warning
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+sts==1
+\end_layout
+
+\begin_layout Enumerate
+Depending on the status of
+\family typewriter
+`interpolate'
+\family default
+ test whether there are some
+\family typewriter
+NaN
+\family default
+ values or if
+\family typewriter
+NaN
+\family default
+ periods have been interpolated accordingly.
+\end_layout
+
+\begin_layout Paragraph
+Test overwrite
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_overwrite(this,
+ overwrite)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test if files are overwritten,
+ if specified with
+\family typewriter
+`overwrite'
+\family default
+ option.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Generate data with
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+
+\family typewriter
+distance 500
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+aspect_used 16:9
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+aspect_actual 4:3
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+screen_size 20
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+eyes `lr'
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Set options with
+\begin_inset Separator latexpar
+\end_inset
+
+
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+
+\family typewriter
+overwrite 1
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+interpolate interpolate
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+channel_action `add'
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Test if function runs through without warning
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+sts==1
+\end_layout
+
+\begin_layout Enumerate
+Test if file has been overwritten or not (tests,
+ if there are any new channels).
+\end_layout
+
+\begin_layout Paragraph
+Test channel action
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_channel_action(this,
+ channel_action)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test if channels are added or replaced (according to
+\family typewriter
+channel_action
+\family default
+).
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Generate data with
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+
+\family typewriter
+distance 500
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+aspect_used 16:9
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+aspect_actual 4:3
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+screen_size 20
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+eyes `lr'
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Set options with
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+
+\family typewriter
+overwrite 1
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+channel_action channel_action
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Test if function runs through without warning
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+sts==1
+\end_layout
+
+\begin_layout Enumerate
+Test if channels have been added or replaced (tests,
+ if there are any new channels).
+\end_layout
+
+\begin_layout Paragraph
+Test newfile
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_newfile(this,
+ newfile)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test whether the output is written to a newfile or to the input file.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Generate data with
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+
+\family typewriter
+distance 500
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+aspect_used 16:9
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+aspect_actual 4:3
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+screen_size 20
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+eyes `lr'
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Set options with
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+
+\family typewriter
+overwrite = 1
+\end_layout
+
+\begin_layout Enumerate
+if
+\family typewriter
+newfile
+\family default
+ enabled
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+search for new file name
+\end_layout
+
+\begin_layout Enumerate
+set options.newfile to new file name
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+if
+\family typewriter
+newfile
+\family default
+ is disabled,
+ set
+\family typewriter
+options.newfile
+\family default
+ to
+\family typewriter
+`'
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Test if function runs through without warning
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+sts==1
+\end_layout
+
+\begin_layout Enumerate
+Test if returned outputfile equals the specified newfile or not (depending on the value of
+\family typewriter
+`newfile'
+\family default
+)
+\end_layout
+
+\begin_layout Paragraph
+Test gaze validation
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_gaze_validation(this,
+ distance,
+ screen_size,
+ aspect_actual,
+ aspect_used,
+ eyes)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test whether gaze validation is done correctly.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Generate data with the according function parameters
+\end_layout
+
+\begin_layout Enumerate
+Iterate to returned degree values generated by the generation function
+\begin_inset Separator latexpar
+\end_inset
+
+
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+set function options
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+overewrite = 1
+\end_layout
+
+\begin_layout Enumerate
+validate_fixation =1
+\end_layout
+
+\begin_layout Enumerate
+screen_settings and distance to function call settings
+\end_layout
+
+\begin_layout Enumerate
+missing = 1
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+depending on the specified degree,
+ test whether function runs through without warnings or not
+\end_layout
+
+\begin_layout Enumerate
+load outputfile and test if (according to degree expectation) gaze validation has been done or not
+\end_layout
+
+\end_deeper
+\begin_layout Paragraph
+Test bitmap validtion
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_bitmap_validation(this,
+ distance,
+ resolution,
+ eyes)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test whether bitmap validation is done correctly.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Generate data with the according function parameters
+\end_layout
+
+\begin_layout Enumerate
+Iterate to returned bitmaps generated by the generation function
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Set function options
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+
+\family typewriter
+missing 1
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Depending on the specified number of valid fixations in the bitmap,
+ test whether function runs through without warnings or not.
+\end_layout
+
+\begin_layout Enumerate
+Load outputfile and test if (according to bitmap expectation) bitmap validation has been done or not.
+\end_layout
+
+\end_deeper
+\begin_layout Subsection
+pspm_gaze_pp
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_gaze_pp_test
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_gaze_pp
+\family default
+ preprocesses gaze signals,
+ gaze
+\family typewriter
+x
+\family default
+ and gaze y channels at % the same time.
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph*
+Invalid input
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_input(this).
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Check if the input is valid.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Test if input as a number is invalid.
+\end_layout
+
+\begin_layout Enumerate
+Test if input as a string is invalid.
+\end_layout
+
+\begin_layout Enumerate
+Test if combining two identical channels is invalid.
+\end_layout
+
+\begin_layout Enumerate
+Test if combining an invalid channel is invalid.
+\end_layout
+
+\begin_layout Paragraph*
+Preprocessed channel
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+preprocessed_channel(this).
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Check if preprocessing a single channel is successful.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+gaze_x_r
+\family default
+ can be pre-processed successfully.
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+gaze_x_l
+\family default
+ can be pre-processed successfully.
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+gaze_y_r
+\family default
+ can be pre-processed successfully.
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+gaze_y_l
+\family default
+ can be pre-processed successfully.
+\end_layout
+
+\begin_layout Paragraph*
+Check upsampling rate
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+upsampling_rate(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Check the upsampling rate after
+\family typewriter
+gaze_pp
+\family default
+.
+\end_layout
+
+\begin_layout Paragraph*
+Check channel combining
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+channel_combining(this).
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test if combing two appropriate channels is successful.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Test if combing
+\family typewriter
+gaze_x_r
+\family default
+ and
+\family typewriter
+gaze_x_l
+\family default
+ is successful.
+\end_layout
+
+\begin_layout Enumerate
+Test if combing
+\family typewriter
+gaze_y_r
+\family default
+ and
+\family typewriter
+gaze_y_l
+\family default
+ is successful.
+\end_layout
+
+\begin_layout Subsection
+pspm_get_ecg
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_get_ecg_test
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ data] = pspm_get_ecg(import)
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Test
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test(this)
+\family default
+.
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test if all fields are returned correctly.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+sts==1
+\family default
+.
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+data.data
+\family default
+ is equal to
+\family typewriter
+import.data
+\family default
+.
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+data.header.chantype
+\family default
+ is
+\family typewriter
+‘ecg'
+\family default
+.
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+data.header.units
+\family default
+ is equal to
+\family typewriter
+import.units
+\family default
+.
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+data.header.sr
+\family default
+ is equal to
+\family typewriter
+import.sr
+\family default
+.
+\end_layout
+
+\begin_layout Subsection
+pspm_get_events
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_get_events_test
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ import] = pspm_get_events(import)
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Check warnings
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+check_warnings(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks for warnings,
+ if the field
+\family typewriter
+‘.markers'
+\family default
+ is missing or contains invalid content.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+Missing marker field
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:nonexistent_field
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+import.marker = ‘foo'
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_field_content
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+Timestamps
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+timestamps(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks for correct output if the input is timestamp data.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+sts==1
+\family default
+.
+\end_layout
+
+\begin_layout Enumerate
+Test if the length of the output data is equal to the length of the input data.
+\end_layout
+
+\begin_layout Paragraph
+Continuous
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+continuous(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks for correct output if the input is continuous data.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Perform three tests with different settings
+\begin_inset Separator latexpar
+\end_inset
+
+
+\end_layout
+
+\begin_deeper
+\begin_layout Standard
+Tests:
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+sts==1
+\family default
+.
+\end_layout
+
+\begin_layout Enumerate
+Test if the length of the field
+\family typewriter
+`markerinfo'
+\family default
+ is equal to the length of the output data.
+\end_layout
+
+\begin_layout Enumerate
+Test if the length of the output data is equal to the expected number of pulses in the input data.
+\end_layout
+
+\begin_layout Standard
+Settings
+\end_layout
+
+\begin_layout Enumerate
+
+\family typewriter
+flank=`both'
+\family default
+ (default)
+\end_layout
+
+\begin_layout Enumerate
+
+\family typewriter
+flank=`both'
+\family default
+ &
+\family typewriter
+data offset=50
+\end_layout
+
+\begin_layout Enumerate
+
+\family typewriter
+flank=`ascending'
+\end_layout
+
+\begin_layout Enumerate
+
+\family typewriter
+flank=`descending'
+\end_layout
+
+\begin_layout Enumerate
+inverted input signal
+\end_layout
+
+\begin_layout Enumerate
+signal with angular flanks
+\end_layout
+
+\begin_layout Enumerate
+check with
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Additional test for setting (b):
+ Test if
+\family typewriter
+data offset
+\family default
+ has been removed in the output data.
+\end_layout
+
+\begin_layout Enumerate
+Additional test for setting (c) and (d):
+ Test if positions returned by output data correspond to flank changes in the input data.
+\end_layout
+
+\begin_layout Enumerate
+Test if markerinfo is not set if it has been set before.
+\end_layout
+
+\begin_layout Subsection
+pspm_get_eyelink
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_get_eyelink_test
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ data] = pspm_get_eyelink(import)
+\end_layout
+
+\begin_layout Subsubsection
+Methods
+\end_layout
+
+\begin_layout Paragraph
+Set import values
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[import_struct,
+ channel typles] = set_import_values(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Helperfunction,
+ which creates an import data set and the expected channel data set
+\end_layout
+
+\begin_layout Paragraph
+Verify basic data structure
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+verify_basic_data_structure(this,
+ data,
+ sourceinfo,
+ channel_types)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Tests if the returned data structure is valid and match a given expected pattern.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Test if all channels are numeric
+\end_layout
+
+\begin_layout Enumerate
+Test if recorded time and date have a valid format
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+blink channels
+\family default
+ have correct unit
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+pupil channels
+\family default
+ have either
+\family typewriter
+`diameter'
+\family default
+ or
+\family typewriter
+`area'
+\family default
+ as unit
+\end_layout
+
+\begin_layout Enumerate
+Test if channels labeled with
+\family typewriter
+`position'
+\family default
+ have unit
+\family typewriter
+`pixel'
+\end_layout
+
+\begin_layout Enumerate
+Test if channels labeled with
+\family typewriter
+`blink'
+\family default
+ have unit
+\family typewriter
+`blink'
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+test_multi_session
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_multi_session(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test if the returned data structure fits into the pattern of a multi session data set.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Calls
+\family typewriter
+`set_import_values(this)'
+\family default
+ to get import data set and expected channel data set.
+\end_layout
+
+\begin_layout Enumerate
+passses returned sets to
+\family typewriter
+`verify_basic_data_structure()'
+\family default
+.
+\end_layout
+
+\begin_layout Paragraph
+test_two_eyes
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_two_eyes(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test if the returned data structure fits into the pattern of a two eyes data set.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Calls
+\family typewriter
+`set_import_values(this)'
+\family default
+ to get import data set and expected channel data set.
+\end_layout
+
+\begin_layout Enumerate
+Passes returned sets to
+\family typewriter
+`verify_basic_data_structure()'
+\family default
+.
+\end_layout
+
+\begin_layout Paragraph
+test_one_eye
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_one_eye(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test if the returned data structure fits into the pattern of a one eye data set.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Create an import data set and the expected channel data set an pass it to
+\family typewriter
+`verify_basic_data_structure()'
+\family default
+.
+\end_layout
+
+\begin_layout Paragraph
+test_track_dist
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+test_track_dist(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test if the returned data structure fits into the pattern of a two eyes data with
+\family typewriter
+eyelink_trackdist
+\family default
+ set.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Call
+\family typewriter
+`set_import_values(this)'
+\family default
+ to get import data set and expected channel data set.
+\end_layout
+
+\begin_layout Enumerate
+Overwrite some import data and channel data.
+\end_layout
+
+\begin_layout Enumerate
+Pass returned sets to
+\family typewriter
+`verify_basic_data_structure()'
+\family default
+.
+\end_layout
+
+\begin_layout Subsection
+pspm_get_hb
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_get_hb_test
+\end_layout
+
+\begin_layout Subparagraph
+Format
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ data] = pspm_get_hb(import)
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Test
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test if all fields are returned correctly.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+sts==1
+\family default
+.
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+data.data
+\family default
+ is equal
+\family typewriter
+import.data
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+data.header.chantype
+\family default
+ is
+\family typewriter
+‘hb'
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+data.header.units
+\family default
+ is
+\family typewriter
+‘events'
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+data.header.sr==1
+\family default
+
+\end_layout
+
+\begin_layout Subsection
+pspm_get_hr
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_get_hr_test
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ data] = pspm_get_hr(import)
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Test
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test if all fields are returned correctly.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+sts==1
+\family default
+.
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+data.data
+\family default
+ is equal
+\family typewriter
+import.data
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+data.header.chantype
+\family default
+ is
+\family typewriter
+‘hr'
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+data.header.units
+\family default
+ is equal
+\family typewriter
+import.units
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+data.header.sr
+\family default
+ is equal
+\family typewriter
+import.sr
+\end_layout
+
+\begin_layout Subsection
+pspm_get_marker
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_get_marker_test
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ data] = pspm_get_marker(import)
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Test
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test if all fields are returned correctly.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+sts==1
+\family default
+.
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+data.data
+\family default
+ is equal to
+\family typewriter
+import.data
+\family default
+.
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+data.header.chantype
+\family default
+ is
+\family typewriter
+‘marker'
+\family default
+.
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+data.header.units
+\family default
+ is
+\family typewriter
+‘events'
+\family default
+.
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+data.header.sr==1
+\family default
+.
+\end_layout
+
+\begin_layout Subsection
+pspm_get_pupil
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_get_pupil_test
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ data] = pspm_get_pupil(import)
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Test
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test if all fields are returned correctly
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+sts==1
+\family default
+.
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+data.data
+\family default
+ is equal
+\family typewriter
+import.data
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+data.header.chantype
+\family default
+ is
+\family typewriter
+‘pupil'
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+data.header.units
+\family default
+ is equal to
+\family typewriter
+import.units
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+data.header.sr
+\family default
+is equal
+\family typewriter
+import.sr
+\end_layout
+
+\begin_layout Subsection
+pspm_get_resp
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_get_resp_test
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ data] = pspm_get_resp(import)
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Test
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+Test if all fields are returned correctly
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+sts==1
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+data.data
+\family default
+ is equal
+\family typewriter
+import.data
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+data.header.chantype
+\family default
+ is
+\family typewriter
+‘resp'
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+data.header.units
+\family default
+ is equal
+\family typewriter
+import.units
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+data.header.sr
+\family default
+ is equal
+\family typewriter
+import.sr
+\end_layout
+
+\begin_layout Subsection
+pspm_get_scr
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_get_scr_test
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ data] = pspm_get_scr(import)
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Standard
+There are three test functions.
+ One for the case that no transfer parameters are defined,
+ one for the case that the transfer parameters are defined in a struct and one for the case that they are defined in a .mat file.
+ They are all performing the following tests,
+ plus eventually some individual tests.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+sts==1
+\end_layout
+
+\begin_layout Enumerate
+Test if the field
+\family typewriter
+data.data
+\family default
+ exists
+\end_layout
+
+\begin_layout Enumerate
+Test if the field
+\family typewriter
+data.data
+\family default
+ is not empty
+\end_layout
+
+\begin_layout Enumerate
+Test if the field
+\family typewriter
+data.header.units
+\family default
+ exists
+\end_layout
+
+\begin_layout Enumerate
+Test if the field
+\family typewriter
+data.header.sr
+\family default
+ exists
+\end_layout
+
+\begin_layout Enumerate
+Test if the field
+\family typewriter
+data.header.chantype
+\family default
+ exists
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+data.header.sr
+\family default
+ is equal to
+\family typewriter
+import.sr
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+data.header.chantype
+\family default
+ is
+\family typewriter
+‘scr'
+\end_layout
+
+\begin_layout Paragraph
+No transfer parameters
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+no_transferparams(testCase)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test if all fields are returned correctly,
+ if no transfer parameters are defined.
+\end_layout
+
+\begin_layout Subparagraph
+Additional Tests
+\end_layout
+
+\begin_layout Standard
+No additional tests
+\end_layout
+
+\begin_layout Paragraph
+Struct transfer parameters
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+stuct_transferparams(testCase)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test if all fields are returned correctly,
+ if the transfer parameters are defined in a struct.
+\end_layout
+
+\begin_layout Subparagraph
+Additional Tests
+\end_layout
+
+\begin_layout Enumerate
+Check for warning if the conversion constant
+\family typewriter
+(import.transfer.c)
+\family default
+ is not defined
+\end_layout
+
+\begin_layout Enumerate
+Checks that there are no warnings if
+\family typewriter
+import.transfer.Rs
+\family default
+ or
+\family typewriter
+import.transfer.offset
+\family default
+ is not defined.
+
+\end_layout
+
+\begin_layout Paragraph
+File transfer parameters
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+file_transferparams(testCase)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test if all fields are returned correctly,
+ if the transfer parameters are defined in a
+\family typewriter
+.mat
+\family default
+ file.
+\end_layout
+
+\begin_layout Subparagraph
+Additional Tests
+\end_layout
+
+\begin_layout Enumerate
+Check for warning if the transfer parameter file doesn't exist.
+
+\end_layout
+
+\begin_layout Subsection
+pspm_get_timing
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_get_timing_test
+\end_layout
+
+\begin_layout Subparagraph
+Functions
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+[sts,
+ multi] = pspm_get_timing(`onsets',
+ intiming,
+ timeunits)
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+[sts,
+ events] = pspm_get_timing(`markervalues',
+ markerinfo,
+ names)
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+[sts,
+ epochs] = pspm_get_timing(`epochs',
+ epochs)
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+[sts,
+ events] = pspm_get_timing(`events',
+ events)
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Invalid input arguments
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_inputargs(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks for warnings,
+ if the input arguments are invalid.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_timing(`epochs') [missing input var]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_timing(`onsets',
+ `str') [no timeunits var]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_timing(`foo') [unknown format]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_timing(`onsets',
+ intiming,
+ `samples') [two sessions with nonmatching number of conditions]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:number_of_elements_dont_match
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_timing(`onsets',
+ intiming,
+ `samples') [two sessions with nonmatching condition names]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:event_names_dont_match
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_timing(`onsets',
+ intiming,
+ `samples') [intiming.onsets{1} is no numeric vector]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:no_numeric_vector
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_timing(`epochs',
+ fn_mat,
+ `samples') [epochs is not an integer array]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:no_integers
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_timing(`markervalues',
+ markerinfo) [no markervalue and no name ]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_timing(`markervalues',
+ markerinfo,
+ markervalue,
+ names) [markervalue is not of numeric type nor a cell array]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_timing(`markervalues',
+ markerinfo,
+ markervalue,
+ names) [markervalue and names are not of the same length]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+Case Epochs
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+case_epochs(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks the function in
+\family typewriter
+‘epochs'
+\family default
+ mode.
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ epochs] = pspm_get_timing(`epochs',
+ epochs)
+\end_layout
+
+\begin_layout Paragraph
+Test 1 (matfile input)
+\end_layout
+
+\begin_layout Subparagraph
+Input
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+mat
+\family default
+ file with variable:
+
+\family typewriter
+epochs = [1 4;
+ 2 5;
+ 3 6]
+\end_layout
+
+\begin_layout Standard
+Check if
+\family typewriter
+sts==1
+\family default
+ and if the return value is equal the input array.
+
+\end_layout
+
+\begin_layout Subsubsection*
+Test 2 (spm input)
+\end_layout
+
+\begin_layout Subparagraph
+Input
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+mat
+\family default
+ file with variable:
+
+\family typewriter
+onsets{1} = [1 2 3]';
+ onsets{2} = [4 5 6]'
+\family default
+;
+\end_layout
+
+\begin_layout Standard
+Check if
+\family typewriter
+sts==1
+\family default
+ and if the return value is equal
+\family typewriter
+[onsets{1},
+ onsets{2}]
+\family default
+.
+
+\end_layout
+
+\begin_layout Subsubsection*
+Test 3 (textfile input)
+\end_layout
+
+\begin_layout Subparagraph
+Input
+\end_layout
+
+\begin_layout Standard
+textfile with variable:
+
+\family typewriter
+epochs = [1 4;
+ 2 5;
+ 3 6]
+\end_layout
+
+\begin_layout Standard
+Check if
+\family typewriter
+sts==1
+\family default
+ and if the return value is equal the input array.
+
+\end_layout
+
+\begin_layout Subsubsection*
+Test 4 (matrix input)
+\end_layout
+
+\begin_layout Subparagraph
+Input
+\end_layout
+
+\begin_layout Standard
+matrix:
+
+\family typewriter
+epochs = [1 4;
+ 2 5;
+ 3 6]
+\end_layout
+
+\begin_layout Standard
+Check if
+\family typewriter
+sts==1
+\family default
+ and if the return value is equal the input array.
+
+\end_layout
+
+\begin_layout Paragraph
+Case onsets
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+case_onsets(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks the function in
+\family typewriter
+‘onsets'
+\family default
+ mode.
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ multi] = pspm_get_timing(`onsets',
+ intiming,
+ timeunits)
+\end_layout
+
+\begin_layout Paragraph
+Test 1
+\end_layout
+
+\begin_layout Subparagraph
+Input
+\end_layout
+
+\begin_layout Standard
+A
+\family typewriter
+.mat
+\family default
+ file with the following variables
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+names = {`name1',
+ `name2'};
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+onsets = {[1 2],
+ [3 4]};
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pmod.name = {`name3',
+ `name4'};
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pmod.param = {[2 3],
+ [4 5]};
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pmod.poly = {2,
+ 2};
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+save(fn_mat,
+ `names',
+ `onsets',
+ `pmod');
+\end_layout
+
+\begin_layout Subparagraph
+Function call
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ outtiming] = pspm_get_timing(`onsets',
+ fn_mat,
+ `samples');
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Standard
+Check if
+\family typewriter
+sts==1
+\family default
+,
+ if onsets and names are unchanged and if
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+outtiming.pmod.param == {[2 3],
+ [4 9],
+ [4 5],
+ [16 25]}
+\end_layout
+
+\begin_layout Paragraph
+Test 2
+\end_layout
+
+\begin_layout Subparagraph
+Input
+\end_layout
+
+\begin_layout Standard
+A
+\family typewriter
+.mat
+\family default
+ file with the variables
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+names = {`name1',
+ `name2'};
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+onsets = {[1 2 3],
+ [3 4 5]};
+ durations = {[3 4 5]',
+ [5 6 7]'};
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pmod.name = {`name3',
+ `name4'};
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pmod.param = {[2 3 4],
+ [4 5 6]};
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pmod.poly = {2,
+ 1};
+\end_layout
+
+\begin_layout Subparagraph
+Function call
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ outtiming] = pspm_get_timing(`onsets',
+ fn_mat,
+ `samples');
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Standard
+Check if
+\family typewriter
+sts==1
+\family default
+,
+ if onsets,
+ names and durations are unchanged and if
+\family typewriter
+outtiming.pmod.param == {[2 3 4],
+ [4 9 16],
+ [4 5 6]}
+\family default
+.
+\end_layout
+
+\begin_layout Paragraph
+Case events
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+case_events(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks the function in
+\family typewriter
+‘events'
+\family default
+ mode.
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ epochs] = pspm_get_timing(`events',
+ events)
+\end_layout
+
+\begin_layout Standard
+Check the function if input is a one element cell array and a multiple element cell array.
+\end_layout
+
+\begin_layout Standard
+Check for warnings (
+\family typewriter
+ID:invalid_vector_size
+\family default
+) if elements have more than two columns and if not all elements have the same number of rows.
+\end_layout
+
+\begin_layout Subsection
+pspm_get_
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Standard
+The datatype import functions are all tested in a similar way.
+ The individual testclasses must inherit the class
+\family typewriter
+‘pspm_get_superclass'
+\family default
+,
+ from which they inherit the main test function
+\family typewriter
+‘valid_datafile'
+\family default
+.
+ They also have to implement the property
+\family typewriter
+‘fhandle'
+\family default
+,
+ which is a function handle to the specific import function.
+\end_layout
+
+\begin_layout Standard
+The tests are performed with the sampledata files that are listed in the SampleDataMasterList.docx file (as at 18.11.2013).
+\end_layout
+
+\begin_layout Subparagraph
+Superclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_get_superclass
+\end_layout
+
+\begin_layout Subparagraph
+Testclasses
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm_get_acq_test
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm_get_acqmat_test
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm_get_biograph_test
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm_get_biosemi_test
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm_get_biotrace_test
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm_get_brainvis_test
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm_get_edf
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm_get_labchartmat_ext_test
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm_get_labchartmat_in_test
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm_get_mat_test
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm_get_obs_test
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm_get_smr_test
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm_get_smrx_test
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm_get_superclass
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm_get_txt_test
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm_get_vario_test
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm_get_eyelink_test
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ import,
+ sourceinfo] = pspm_get_(datafile,
+ import)
+\end_layout
+
+\begin_layout Subsubsection
+Notes
+\end_layout
+
+\begin_layout Subsubsection
+Setup
+\end_layout
+
+\begin_layout Paragraph
+Define testcases
+\end_layout
+
+\begin_layout Standard
+In this method the testcases are defined and the testdata is generated (if needed).
+ Each testcase is a cell in the cellarray
+\family typewriter
+‘testcases'
+\family default
+.
+ Each testcase has the following fields:
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+.pth
+\family default
+:
+ the path to the samplefile
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+.import
+\family default
+:
+ the input variable
+\end_layout
+
+\begin_layout Standard
+For datatypes which support blocks there has to be an additional field:
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+.numofblocks
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Valid datafile
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+valid_datafile(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+The main test function,
+ for tests with valid inputdata.
+ It tests all testcases equally.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+sts==1
+\family default
+.
+\end_layout
+
+\begin_layout Enumerate
+If the datatype supports blocks,
+ test if the number of blocks is correct.
+\end_layout
+
+\begin_layout Enumerate
+Test if number of elements of the returned
+\family typewriter
+‘import'
+\family default
+ variable is correct.
+\end_layout
+
+\begin_layout Enumerate
+Test if each importjob has a field
+\family typewriter
+‘data'
+\family default
+,
+ that is a numeric vector.
+\end_layout
+
+\begin_layout Enumerate
+Test if each importjob has a field
+\family typewriter
+‘sr'
+\family default
+,
+ that is a number.
+\end_layout
+
+\begin_layout Enumerate
+Test if each importjob has a field
+\family typewriter
+‘type'
+\family default
+.
+\end_layout
+
+\begin_layout Enumerate
+Test if all event importjobs have a field
+\family typewriter
+‘marker'
+\family default
+.
+\end_layout
+
+\begin_layout Enumerate
+Test if all importjobs have duration below
+\family typewriter
+1h
+\family default
+.
+\end_layout
+
+\begin_layout Enumerate
+Test if all importjobs have a samplerate between
+\family typewriter
+1
+\family default
+ and
+\family typewriter
+10000
+\family default
+ for continuous channels or between
+\family typewriter
+10^-6
+\family default
+ and
+\family typewriter
+1
+\family default
+ for timestamp channels.
+
+\end_layout
+
+\begin_layout Paragraph
+Invalid datafile
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_datafile(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+The main test function,
+ for tests with invalid inputdata.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Standard
+If the datatype supports multiple channels:
+ Check for warning when trying to import a channel,
+ that is not contained in the file (
+\family typewriter
+`ID:channel_not_contained_in_file'
+\family default
+).
+
+\end_layout
+
+\begin_layout Subsection
+pspm_get_acq
+\end_layout
+
+\begin_layout Standard
+In this section we describe the testcases specific to
+\family typewriter
+pspm_get_acq
+\family default
+ apart from generic
+\family typewriter
+pspm_get
+\family default
+ tests.
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_get_acq_test
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[tss,
+ import,
+ sourceinfo] = pspm_get_acq(datafile,
+ import)
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+get_acq should return the exact same data as Acqknowledge exported mat file
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+get_acq_returns_same_data_as_acqknowledge_exported_mat(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+The data obtained by using
+\family typewriter
+pspm_get_acq
+\family default
+ should be identical with the data obtained by using export
+\family typewriter
+.mat
+\family default
+ file functionality in Acqknowledge software.
+\end_layout
+
+\begin_layout Subparagraph
+Steps
+\end_layout
+
+\begin_layout Enumerate
+Load data stored in
+\family typewriter
+ImportTestData/acq/impedance_acq.acq
+\family default
+ and
+\family typewriter
+ImportTestData/acq/impedance_mat.mat
+\family default
+ separately.
+\end_layout
+
+\begin_layout Enumerate
+Compare the first channel of
+\family typewriter
+impedance_mat
+\family default
+ with the first channel of data obtained by calling
+\family typewriter
+pspm_get_acq
+\family default
+ on
+\family typewriter
+impedance_acq
+\family default
+.
+\end_layout
+
+\begin_layout Subsection
+pspm_glm
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_glm_test
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+glm = pspm_glm(model,
+ options)
+\end_layout
+
+\begin_layout Standard
+There are seven testcase functions.
+ One invalid input arguments test and test 1 to 6.
+ Tests 1 to 5 are of the same kind.
+ There are one or multiple testcases per test function,
+ have a look at the testcase description for more information.
+ In these tests only Kronecker delta functions are used as basis functions,
+ furthermore all conditions,
+ pmods and nuisance regressors are pairwise orthogonal.
+ The data is also not down sampled and not filtered.
+ With these limitations it's easy to calculate the data vectors and the expected stats.
+ For each testcase it is then tested:
+\end_layout
+
+\begin_layout Itemize
+If
+\family typewriter
+numel(glm.names)
+\family default
+ has the expected value.
+\end_layout
+
+\begin_layout Itemize
+If
+\family typewriter
+numel(glm.stats)
+\family default
+ has the expected value.
+\end_layout
+
+\begin_layout Itemize
+If
+\family typewriter
+glm.stats
+\family default
+ has the expected value (with a tolerance of
+\family typewriter
+1%
+\family default
+).
+\end_layout
+
+\begin_layout Standard
+In test 6 the default basis functions are used,
+ and not all conditions and pmods are orthogonal.
+ The data is down sampled and low and high pass filtered.
+ In exchange the stats are not tested for correct values,
+ just for the correct number of elements.
+ The properties
+\family typewriter
+`shiftbf'
+\family default
+ and
+\family typewriter
+`norm'
+\family default
+ are TestParameters,
+ which means that this testclass is parameterised.
+ All functions implmementing these parameters (Test 1 to Test 5) are called several times with all the different values and combinations of the mentioned parameters.
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Subsubsection*
+Invalid input arguments
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_input (this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks for warnings,
+ if the input arguments are invalid.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_glm(model) [no timeunits field]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_glm(model) [no timeunits var]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_glm(model) with model.timeunits = ‘foo' [no valid timeunits field]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_glm(model) with model.timing = zeros(10,2) [no valid timing field]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_glm(model) with model.modality = `foo' [no valid modality field]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_glm(model) with model.channel = `scr' [no valid channel field]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_glm(model) with model.norm = `no' [no valid norm field]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_glm(model) with model.filt.down = `none' [filt.down is not numeric]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_glm(model) with model.bf.fhandle = `foohandle' [non existing bf]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_fhandle
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_glm(model) with numel(model.datafile) != numel(model.timing)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:number_of_elements_dont_match
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_glm(model) with model.missing is struct [non valid missing field]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_glm(model) with numel(model.datafile) != numel(model.missing)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:number_of_elements_dont_match
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_glm(model) with model.nuisance is struct [non valid nuisance field]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_glm(model) with numel(model.datafile) != numel(model.nuisance)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:number_of_elements_dont_match
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_glm(model) with no R variable in the nuisance file
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_glm(model) with R variable in the nuisance file that has not the same length as the datafile
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:number_of_elements_dont_match
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+Test 1
+\end_layout
+
+\begin_layout Subparagraph
+Format
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test1(this,
+ shiftbf)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Basic test with one basis function,
+ one session,
+ no nuisance regressors,
+ no missings and one condition.
+ Timeunits are seconds.
+\end_layout
+
+\begin_layout Subparagraph
+Testcases
+\end_layout
+
+\begin_layout Enumerate
+no pmods
+\end_layout
+
+\begin_layout Enumerate
+one pmod
+\end_layout
+
+\begin_layout Enumerate
+two pmods
+\end_layout
+
+\begin_layout Paragraph
+Test 2
+\end_layout
+
+\begin_layout Subparagraph
+Format
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test2(this,
+ shiftbf)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test with one basis function,
+ one session,
+ no nuisance regressors,
+ no missings and two conditions.
+ Timeunits are seconds.
+\end_layout
+
+\begin_layout Subparagraph
+Testcases
+\end_layout
+
+\begin_layout Enumerate
+no pmods
+\end_layout
+
+\begin_layout Enumerate
+first condition:
+ no pmods;
+ second condition:
+ one pmod
+\end_layout
+
+\begin_layout Enumerate
+first condition:
+ one pmod;
+ second condition:
+ two pmods
+\end_layout
+
+\begin_layout Paragraph
+Test 3
+\end_layout
+
+\begin_layout Subparagraph
+Format
+\end_layout
+
+\begin_layout Standard
+test3(this,
+ shiftbf)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test with one basis function,
+ one session,
+ two nuisance regressors (1Hz cosinus,
+ 1Hz sinus),
+ no missings,
+ one condition and no pmods.
+ Timeunits are seconds.
+\end_layout
+
+\begin_layout Subparagraph
+Testcases
+\end_layout
+
+\begin_layout Standard
+Only one testcase.
+
+\end_layout
+
+\begin_layout Paragraph
+Test 4
+\end_layout
+
+\begin_layout Subparagraph
+Format
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test4(this,
+ shiftbf)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test with one basis function,
+ two sessions,
+ no nuisance regressors,
+ no missings and one condition.
+\end_layout
+
+\begin_layout Subparagraph
+Testcases
+\end_layout
+
+\begin_layout Enumerate
+timeunits are seconds
+\end_layout
+
+\begin_layout Enumerate
+timeunits are samples
+\end_layout
+
+\begin_layout Enumerate
+timeunits are markers
+\end_layout
+
+\begin_layout Paragraph
+Test 5
+\end_layout
+
+\begin_layout Subparagraph
+Format
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test5(this,
+ shiftbf)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test with two basis functions,
+ one session,
+ no nuisance regressors and one condition.
+ Timeunits are seconds.
+\end_layout
+
+\begin_layout Subparagraph
+Testcases
+\end_layout
+
+\begin_layout Enumerate
+no missings
+\end_layout
+
+\begin_layout Enumerate
+with missings
+\end_layout
+
+\begin_layout Paragraph
+Test 6
+\end_layout
+
+\begin_layout Subparagraph
+Format
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test6(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test with default basis function and non-orthogonal conditions and pmods.
+\end_layout
+
+\begin_layout Subparagraph
+Testcase
+\end_layout
+
+\begin_layout Standard
+Default basis functions,
+ no nuisance regressors,
+ no missings,
+ two sessions and two conditions.
+ Timeunits are seconds.
+\end_layout
+
+\begin_layout Itemize
+first condition:
+ two pmods (with pmod(1).poly{1} = 2 and pmod(1).poly{2} = 3)
+\end_layout
+
+\begin_layout Itemize
+second condition:
+ no pmods
+\end_layout
+
+\begin_layout Paragraph
+Test 7
+\end_layout
+
+\begin_layout Subparagraph
+Format
+\end_layout
+
+\begin_layout Standard
+test_extract_missing(this,
+ cutoff,
+ nan_percent)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test with one basis function,
+ one session,
+ no nuisance regressors,
+ no missings and three conditions.
+ Timeunits are seconds.
+\end_layout
+
+\begin_layout Subparagraph
+Testcases
+\end_layout
+
+\begin_layout Standard
+for all combinations of the test parameters
+\family typewriter
+cutoff
+\family default
+ and
+\family typewriter
+nan_percent
+\family default
+.
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+glm
+\family default
+ vector
+\family typewriter
+stats_missing
+\family default
+ has the appropriate length according to the number of conditions.
+\end_layout
+
+\begin_layout Itemize
+percentages in
+\family typewriter
+glm
+\family default
+ vector
+\family typewriter
+stats_missing
+\family default
+ contains the expected value.
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+glm
+\family default
+ vector
+\family typewriter
+stats_exclude
+\family default
+ has the appropriate length according to the number of conditions.
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+glm
+\family default
+ vector
+\family typewriter
+stats_exclude
+\family default
+ contains the expected condistion which should be excluded.
+\end_layout
+
+\begin_layout Subsection
+pspm_hb2hp
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_hb2hp_test
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ infos] = pspm_hb2hp(fn,
+ sr,
+ chan,
+ options)
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Invalid input
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_input(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks for warnings,
+ if the input arguments are invalid.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_hb2hp() [no input]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_hb2hp(2) [not a string filename]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_hb2hp(`abc') [no sample rate]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_hb2hp(`abc',`abc') [not a string sample rate]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_hb2hp(`abc',2,`abc') [not a numeric chanel]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_hb2hp(files{1},100) [call of pspm_load_data fails]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_hb2hp(files{2},
+ 100) [not enough points for interp1]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:too_strict_limits
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_hb2hp(files{3},100,[],options) [pspm_write_channel fails]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+pspm_import
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_import_test
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+outfile = pspm_import(datafile,
+ datatype,
+ import,
+ options)
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Invalid input arguments
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_inputargs(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks for warnings,
+ if the input arguments are invalid.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Test No.
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_import(datafile,
+ datatype) [no import variable]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_import(datafile,
+ datatype,
+ ‘foo') [no cell/struct import var.]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_import(datafile,
+ ‘foo',
+ import) [invalid channeltype]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_channeltype
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_import(5,
+ datatype,
+ import) [no char filename]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+Invalid import variable structure
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_import_struct(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks for warnings,
+ if the structure of the import variable is invalid.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Test No.
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Multiple channel,
+ though not supported
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+ID:invalid_import_struct
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Not allowed channeltype
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+ID:invalid_import_struct
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+No sr given,
+ though autosr is not supported
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+ID:invalid_import_struct
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Nonexistent file
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+ID:nonexistent_file
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+One datafile
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+one_datafile(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks the function,
+ if datafile is a string (import of one datafile) and all inputs are correct.
+ The outfile is checked with the
+\family typewriter
+pspm_load_data
+\family default
+ function.
+ The tests are performed with a spike samplefile and a labchartmat_in samplefile (to check the handling of blocks).
+
+\end_layout
+
+\begin_layout Paragraph
+Multiple datafiles
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+multiple_datafiles(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks the function,
+ if datafile is a cell array of strings (import of multiple datafiles) and all inputs are correct.
+ The outfiles are tested with the
+\family typewriter
+pspm_load_data
+\family default
+ function.
+
+\end_layout
+
+\begin_layout Subsection
+pspm_interpolate
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_interpolate_test
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ outdata] = pspm_interpolate(indata,
+ options)
+\end_layout
+
+\begin_layout Subsubsection
+Setup
+\end_layout
+
+\begin_layout Standard
+This test class is parameterised.
+ The test data is generated by the function itself and when needed,
+ files will be written to
+\family typewriter
+datafile.mat
+\family default
+.
+\end_layout
+
+\begin_layout Paragraph
+Test parameters
+\end_layout
+
+\begin_layout Standard
+These are parameters which define what kind of data should be passed to
+\family typewriter
+pspm_interpolate
+\family default
+ and which options should be set.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Amount
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Specifies how many elements indata (for
+\family typewriter
+pspm_interpolate
+\family default
+) should have.
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Datatype
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Specifies what type of data should be generated.
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+struct
+\family default
+ a valid data struct will be generated
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+inline
+\family default
+ a numeric vector will be generated
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+file
+\family default
+ a valid scr file will be generated
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+all
+\family default
+ all types will sequentially be generated until amount is reached
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Chans
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+If datatype is not inline this specifies how many and which type of data channels the generated data should have.
+ In a second field it also defines which of these channels should be interpolated (this will be passed later in options.channels).
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Nan method
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Specifies how
+\family typewriter
+NaN
+\family default
+ values will be put into the data.
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+start
+\family default
+ range is
+\family typewriter
+1+offset:
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+center
+\family default
+ range is
+\family typewriter
+:
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+end
+\family default
+ range is
+\family typewriter
+:end-offset
+\end_layout
+
+\begin_layout Plain Layout
+The offset is
+\family typewriter
+1
+\family default
+ if
+\family typewriter
+`extrap'
+\family default
+is not defined.
+ This is needed because if there is no data at the end or beginning of the data,
+ the function is unable to interpolate (unless extrapolation is activated).
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Extrap
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Is either true or false and activates or deactivates the extrapolation.
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Interp method
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Specifies the interpolation method.
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Newfile
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+True or false and tells the function to either create a file or add the data as new channel.
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Overwrite
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+True or false and tells the function to either overwrite an existing file or not.
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Replace channel
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+True or false and tells the function to either replace the given channels with the interpolated data or to add the interpolated data as new channel.
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Invalid input
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_input(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks for warnings,
+ if the input arguments are invalid.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Test No.
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_interpolate() [no arguments]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:missing_data
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_interpolate({{}}) [data is not char,
+ struct,
+ numeric]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_interpolate({}) [data empty]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:missing_data
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_interpolate(struct()) [invalid struct]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_data_structure
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+5
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_interpolate(invalid_data) [file which does not exist]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:nonexistent_file
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_interpolate(valid_data,
+ options) [options.channels is larger than valid_data]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_interpolate(valid_data,
+ options) [options.channels is not numeric]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+8
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_interpolate(valid_data,
+ options) [options.method is invalid]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+9
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_interpolate(valid_data,
+ options) [options.newfile is invalid]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+10
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_interpolate(valid_data,
+ options) [options.extrapolate is invalid]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+11
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_interpolate(valid_data,
+ options) [options.overwrite is invalid]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+12
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_interpolate(valid_data,
+ options) [options.replace_channels is invalid]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+13
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_interpolate(invalid_data,
+ options) [try to interpolate an events channel]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_channeltype
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+14
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_interpolate(invalid_data) [try to interpolate with nan from beginning and without extrapolation]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:option_disabled
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+15
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_interpolate(invalid_data,
+ options) [try to interpolate with nan from beginning and with extrapolation]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:out_of_range
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+16
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_interpolate(invalid_data) [try to interpolate with nan from end and without extrapolation]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:option_disabled
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+17
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_interpolate(invalid_data,
+ options) [try to interpolate with nan from end and with extrapolation]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:out_of_range
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+Test datatypes
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_datatypes(this,
+ datatype,
+ amount,
+ chans)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Tries to interpolate with different datatypes,
+ amount of data,
+ channels.
+\end_layout
+
+\begin_layout Subparagraph
+Steps
+\end_layout
+
+\begin_layout Enumerate
+Generate data with datatype,
+ amount,
+ `center',
+ chans,
+ false
+\end_layout
+
+\begin_layout Enumerate
+Test if function issues no warnings
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+sts==1
+\end_layout
+
+\begin_layout Enumerate
+Test if size of outdata equals the size of the data
+\end_layout
+
+\begin_layout Enumerate
+Test if channels to be interpolated have no more
+\family typewriter
+NaN
+\family default
+s
+\end_layout
+
+\begin_layout Enumerate
+Test if channels not to be interpolated still contain
+\family typewriter
+NaN
+\family default
+s
+\end_layout
+
+\begin_layout Paragraph
+Test interpolation variations
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_interpolation_variations(this,
+ interp_method,
+ extrap,
+ nan_method)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Tries to interpolate with different interpolation methods while varying
+\family typewriter
+options.extrapolate
+\family default
+ and the
+\family typewriter
+nan_method
+\family default
+.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Generate data with
+\family typewriter
+`inline',
+ 1,
+ nan_method,
+ {{`scr'},
+ []},
+ extrap
+\end_layout
+
+\begin_layout Enumerate
+Test if function issues no warnings
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+sts==1
+\end_layout
+
+\begin_layout Enumerate
+Test if size of outdata equals the size of the data
+\end_layout
+
+\begin_layout Enumerate
+Test if data has no more
+\family typewriter
+NaN
+\family default
+s
+\end_layout
+
+\begin_layout Subparagraph
+
+\shape italic
+\emph on
+Special case
+\end_layout
+
+\begin_layout Standard
+When extrapolation is on and
+\family typewriter
+nan_method
+\family default
+ is
+\family typewriter
+`start'
+\family default
+ and
+\family typewriter
+interp_method
+\family default
+ is
+\family typewriter
+`previous'
+\family default
+ or nan_method is
+\family typewriter
+`end'
+\family default
+ and
+\family typewriter
+interp_method
+\family default
+ is
+\family typewriter
+`next'
+\family default
+.
+ This should issue a warning because this is not possible (e.g.
+ interpolate with previous value when first
+\family typewriter
+NaN
+\family default
+ is at the beginning of the data set).
+\end_layout
+
+\begin_layout Enumerate
+Generate data as above
+\end_layout
+
+\begin_layout Enumerate
+Test if function issues a warning.
+\end_layout
+
+\begin_layout Paragraph
+Test no nan
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_no_nan(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test whether function works even if there is nothing to interpolate.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Generate data struct() with
+\family typewriter
+pspm_test_data_gen()
+\end_layout
+
+\begin_layout Enumerate
+Test if function issues no warnings
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+sts==1
+\end_layout
+
+\begin_layout Enumerate
+Test if size of outdata equals the size of data
+\end_layout
+
+\begin_layout Enumerate
+Test if outdata equals data
+\end_layout
+
+\begin_layout Enumerate
+Test if data has no
+\family typewriter
+NaN
+\family default
+s
+\end_layout
+
+\begin_layout Paragraph
+Test write
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_write(this,
+ newfile)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Vary the option newfile and test whether new file is created correctly or data is correctly added to a new channel.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Generate data with
+\family typewriter
+`file'
+\family default
+,
+
+\family typewriter
+2
+\family default
+,
+
+\family typewriter
+`center'
+\family default
+,
+
+\family typewriter
+{{`scr',
+ `scr',
+ `scr'},
+ [1,3]}
+\family default
+,
+
+\family typewriter
+false
+\end_layout
+
+\begin_layout Enumerate
+Test if function issues no warnings
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+sts==1
+\end_layout
+
+\begin_layout Enumerate
+Test if size of
+\family typewriter
+outdata
+\family default
+ equals the size of
+\family typewriter
+data
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+outdata
+\family default
+ does not equal
+\family typewriter
+data
+\end_layout
+
+\begin_layout Subparagraph
+New files only
+\end_layout
+
+\begin_layout Enumerate
+Test if new file exists
+\end_layout
+
+\begin_layout Enumerate
+Load old and new file and test if size of data is equal
+\end_layout
+
+\begin_layout Enumerate
+Verify that interpolated channels in the new file are
+\family typewriter
+NaN
+\family default
+ free
+\end_layout
+
+\begin_layout Subparagraph
+Added to existing file only
+\end_layout
+
+\begin_layout Enumerate
+Test if all returned values are numeric (new channel ids)
+\end_layout
+
+\begin_layout Enumerate
+Verify that the added channels are
+\family typewriter
+NaN
+\family default
+ free
+\end_layout
+
+\begin_layout Enumerate
+Test if added channels match the size of the original data channels
+\end_layout
+
+\begin_layout Paragraph
+Test overwrite
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_overwrite(this,
+ overwrite)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Vary overwrite and test whether files are overwritten or not.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Generate data with
+\family typewriter
+`file'
+\family default
+,
+
+\family typewriter
+2
+\family default
+,
+
+\family typewriter
+`center'
+\family default
+,
+
+\family typewriter
+{{`scr',
+ `scr',
+ `scr'},
+ [1,2,3]}
+\family default
+,
+
+\family typewriter
+false
+\end_layout
+
+\begin_layout Enumerate
+Create files with expected filenames
+\end_layout
+
+\begin_layout Enumerate
+Test if function issues no warning
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+sts==1
+\end_layout
+
+\begin_layout Enumerate
+According to overwrite test if file has been overwritten or not
+\end_layout
+
+\begin_layout Paragraph
+Test replace channel
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_replace_channel(this,
+ replace_channels)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Vary
+\family typewriter
+replace_channel
+\family default
+ and test wether channels are overwritten or not.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Generate data with
+\family typewriter
+`file'
+\family default
+,
+
+\family typewriter
+2
+\family default
+,
+
+\family typewriter
+`center'
+\family default
+,
+
+\family typewriter
+{{`scr',
+ `scr',
+ `scr'},
+ [1,2,3]}
+\family default
+,
+ false
+\end_layout
+
+\begin_layout Enumerate
+Test if function issues no warnings
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+sts==1
+\end_layout
+
+\begin_layout Enumerate
+Test if size of
+\family typewriter
+outdata
+\family default
+ equals the size of
+\family typewriter
+data
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+outdata
+\family default
+ does not equal
+\family typewriter
+data
+\end_layout
+
+\begin_layout Enumerate
+According to
+\family typewriter
+replace_channel
+\family default
+ test whether returned channel ids correspond to replaced channels or correspond to added channels.
+\end_layout
+
+\begin_layout Subsubsection
+Other methods
+\end_layout
+
+\begin_layout Subsubsection*
+Generate data
+\end_layout
+
+\begin_layout Standard
+Has all of the Test parameters as parameter implemented and accordingly generates the data.
+ It calls put nan to insert NaN values into the data.
+ The generated data is returned as data to the calling function.
+ Also all return values are stored in the property testdata (for cleanup data).
+\end_layout
+
+\begin_layout Subsubsection*
+Cleanup data
+\end_layout
+
+\begin_layout Standard
+Sits in MethodTeardown and is called once the test class has finished all tests.
+ It then removes all the datafiles which can be found in the property `testdata'.
+\end_layout
+
+\begin_layout Subsubsection*
+Verify NaN free
+\end_layout
+
+\begin_layout Standard
+Helper function to verify whether the data is NaN free or not.
+ It copes with two states.
+ Either a channel should have been interpolated,
+ then it shouldn't contain any NaN values or a channel should not have been interpolated,
+ then the channel should still contain NaN values.
+\end_layout
+
+\begin_layout Subsection
+pspm_load1
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_load1_test
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ data,
+ mdltype] = pspm_load1(fn,
+ action,
+ savedata,
+ options)
+\end_layout
+
+\begin_layout Subsubsection
+Setup
+\end_layout
+
+\begin_layout Standard
+The datafile
+\family typewriter
+fn
+\family default
+ is referring to a datafile which was generated with
+\family typewriter
+pspm_load1_test.generate_testdata(this)
+\family default
+.
+ The function is part of the test object and generates models for all of the available model types (defined in
+\family typewriter
+settings.first
+\family default
+).
+ The models are created with data generated with
+\family typewriter
+pspm_testdata_gen
+\family default
+.
+ Two files belong to each model:
+
+\family typewriter
+model_.mat (fn)
+\family default
+ and
+\family typewriter
+dummy_.mat (dfn)
+\family default
+.
+ The model file on the one hand is the actual model file while on the other hand,
+ the dummy file is a copy of the model file,
+ used by the test to manipulate the test data.
+\end_layout
+
+\begin_layout Paragraph
+Generated aquisition data (pspm_testdata_gen)
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+data{1}.chantype = `scr';
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+data{2}.chantype = `hb';
+\end_layout
+
+\begin_layout Standard
+The duration of the channels is
+\family typewriter
+100s
+\family default
+.
+\end_layout
+
+\begin_layout Paragraph
+Generated GLM model
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+model.timing{1}.names = {`a';'b';'c'};
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+model.timing{1}.onsets = {[10,
+ 20,
+ 30],
+ [15,
+ 25,
+ 35],
+ [18,
+ 28,
+ 38]};
+
+\end_layout
+
+\begin_layout Paragraph
+Generated DCM & SF model
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+model.timing{1} = [10,20;
+ 23,38;
+ 40,70;];
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+model.condition{1}.name = {`a';'b'};
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+model.condition{1}.index = [1;2];
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Invalid model structure (general)
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_model_tructure_general(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Tries to pass invalid data structures,
+ and tests for certain warnings.
+ Applys to all available modeltypes.
+\end_layout
+
+\begin_layout Standard
+Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+empty model file
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_data_structure
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+missing field
+\family typewriter
+`modelfile'
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_data_structure
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+missing field
+\family typewriter
+`modeltype'
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_data_structure
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+missing field
+\family typewriter
+`modality'
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_data_structure
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+missing field
+\family typewriter
+`stats'
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_data_structure
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+missing field
+\family typewriter
+`names'
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_data_structure
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+Invalid model structure (specific)
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_model_structure_general(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Tries to pass invalid data structures,
+ and tests for certain warnings.
+ Model specific.
+\end_layout
+
+\begin_layout Subparagraph
+Tests for GLM
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+field
+\family typewriter
+`stats'
+\family default
+ is not an
+\family typewriter
+n x 1
+\family default
+ vector
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_data_structure
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+unequal amount of numbers and parameters in field
+\family typewriter
+`stats'
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_data_structure
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+options.zscored = 1 & action = `cond'
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subparagraph
+Tests for DCM & SF
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+unequal size for fields in
+\family typewriter
+`trlnames'
+\family default
+ and rows in
+\family typewriter
+`stats'
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_data_structure
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+missing field
+\family typewriter
+`trlnames'
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_data_structure
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+unequal size for fields in
+\family typewriter
+`names'
+\family default
+ and columns in
+\family typewriter
+`stats'
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_data_structure
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+action = `recon'
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subparagraph
+Tests for DCM
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+options.zscored = 1 & pspm_load1(dfn,
+ `none',
+ {},
+ options)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+options.zscored = 1 & pspm_load1(dfn,
+ `cond',
+ {},
+ options)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+options.zscored = 1 & pspm_load1(dfn,
+ `stats',
+ {},
+ options)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subparagraph
+Tests for GLM & SF
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+options.zscored = 1 & pspm_load1(dfn,
+ `cond',
+ {},
+ options)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+Action `none'
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_action_none(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test for all modeltypes if action
+\family typewriter
+`none'
+\family default
+ matches the expected behaviour.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Basic function test
+\end_layout
+
+\begin_layout Enumerate
+Test if returned data is empty.
+\end_layout
+
+\begin_layout Paragraph
+Action `stats'
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_action_stats(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test for all modeltypes if action
+\family typewriter
+`stats'
+\family default
+ matches the expected behaviour.
+\end_layout
+
+\begin_layout Subparagraph
+Tests for all
+\end_layout
+
+\begin_layout Enumerate
+Basic function test
+\end_layout
+
+\begin_layout Enumerate
+Returned data contains field
+\family typewriter
+`stats'
+\end_layout
+
+\begin_layout Enumerate
+Returned data contains field
+\family typewriter
+`names'
+\end_layout
+
+\begin_layout Subparagraph
+Tests for DCM & SF
+\end_layout
+
+\begin_layout Enumerate
+Returned data contains field
+\family typewriter
+`trlnames'
+\end_layout
+
+\begin_layout Enumerate
+Returned data contains field
+\family typewriter
+`condnames'
+\end_layout
+
+\begin_layout Paragraph
+Action `cond'
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_action_cond(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test for all modeltypes if action
+\family typewriter
+`cond'
+\family default
+ matches the expected behaviour.
+\end_layout
+
+\begin_layout Subparagraph
+Tests for all
+\end_layout
+
+\begin_layout Enumerate
+Basic function test
+\end_layout
+
+\begin_layout Enumerate
+Returned data contains field
+\family typewriter
+`stats'
+\end_layout
+
+\begin_layout Enumerate
+Returned data contains field
+\family typewriter
+`names'
+\end_layout
+
+\begin_layout Subparagraph
+Tests for DCM & SF
+\end_layout
+
+\begin_layout Enumerate
+Returned data contains field
+\family typewriter
+`trlnames'
+\end_layout
+
+\begin_layout Enumerate
+Returned data contains field
+\family typewriter
+`condnames'
+\end_layout
+
+\begin_layout Paragraph
+Action `recon'
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_action_recon(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test for all modeltypes if action
+\family typewriter
+`recon'
+\family default
+ matches the expected behaviour.
+\end_layout
+
+\begin_layout Subparagraph
+Tests for GLM
+\end_layout
+
+\begin_layout Enumerate
+Basic function test
+\end_layout
+
+\begin_layout Enumerate
+Returned data contains field
+\family typewriter
+`stats'
+\end_layout
+
+\begin_layout Enumerate
+Returned data contains field
+\family typewriter
+`names'
+\end_layout
+
+\begin_layout Standard
+Tests for
+\family typewriter
+DCM & SF
+\family default
+ already done in specific structure test.
+\end_layout
+
+\begin_layout Paragraph
+Action `savecon'
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_action_savecon(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test for all modeltypes if action
+\family typewriter
+`savecon'
+\family default
+ matches the expected behaviour.
+ Generates a number,
+ passes it within the
+\family typewriter
+`savecon'
+\family default
+ struct and tests if the number is returned correctly.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Basic function test
+\end_layout
+
+\begin_layout Enumerate
+Returned data contains field
+\family typewriter
+`con'
+\end_layout
+
+\begin_layout Enumerate
+Field
+\family typewriter
+`con'
+\family default
+ contains field
+\family typewriter
+`test'
+\end_layout
+
+\begin_layout Enumerate
+Field
+\family typewriter
+`con.test'
+\family default
+ is equal to the randomly generated number
+\end_layout
+
+\begin_layout Paragraph
+Action `con'
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_action_con(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test for all modeltypes if action `con' matches the expected behaviour.
+ Tests if the in `savecon' generated field test is still returned.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Basic function test
+\end_layout
+
+\begin_layout Enumerate
+Returned data contains field
+\family typewriter
+`con'
+\end_layout
+
+\begin_layout Enumerate
+Field
+\family typewriter
+`con'
+\family default
+ contains field
+\family typewriter
+`test'
+\family default
+.
+\end_layout
+
+\begin_layout Paragraph
+Action `all'
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_action_all(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test for all modeltypes if action
+\family typewriter
+`all'
+\family default
+ matches the expected behaviour.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Basic function test
+\end_layout
+
+\begin_layout Enumerate
+Returned data is not empty.
+\end_layout
+
+\begin_layout Paragraph
+Action `save'
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_action_save(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test for all modeltypes if action
+\family typewriter
+`save'
+\family default
+ matches the expected behaviour.
+ Test with
+\family typewriter
+options.overwrite = 1
+\family default
+.
+ Generates random number and writes it into field
+\family typewriter
+`test'
+\family default
+ in model structure.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Basic function test
+\end_layout
+
+\begin_layout Enumerate
+Model structure contains field
+\family typewriter
+`test'
+\end_layout
+
+\begin_layout Enumerate
+Field
+\family typewriter
+`test'
+\family default
+ in model structure equals to the randomly generated number.
+\end_layout
+
+\begin_layout Paragraph
+Options
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_options(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Test for all modeltypes if options passed with options structure cause the expected behaviour.
+ Does also work with a randomly generated number in
+\family typewriter
+.test
+\family default
+ to test whether the data is written or not.
+\end_layout
+
+\begin_layout Subparagraph
+Tests for all
+\end_layout
+
+\begin_layout Enumerate
+
+\family typewriter
+overwrite = 0
+\family default
+ returns warning
+\family typewriter
+ID:not_saving_data
+\family default
+ and field
+\family typewriter
+`test'
+\family default
+ in model struct does not match generated number
+\end_layout
+
+\begin_layout Enumerate
+
+\family typewriter
+overwrite = 1
+\family default
+ field
+\family typewriter
+`test'
+\family default
+ in returned model struct does match generated number
+\end_layout
+
+\begin_layout Subparagraph
+Tests for DCM
+\end_layout
+
+\begin_layout Standard
+with
+\family typewriter
+overwrite = 1
+\end_layout
+
+\begin_layout Enumerate
+
+\family typewriter
+zscored = 0 & action = `stats'
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Basic function test
+\end_layout
+
+\begin_layout Enumerate
+Returned
+\family typewriter
+data.stats
+\family default
+ is not zscored
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+
+\family typewriter
+zscored = 1 & action = `stats'
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Basic function test
+\end_layout
+
+\begin_layout Enumerate
+Returned
+\family typewriter
+data.stats
+\family default
+ is zscored
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+
+\family typewriter
+zscored = 0 & action = `cond'
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Basic function test
+\end_layout
+
+\begin_layout Enumerate
+Returned data is different when callng with
+\family typewriter
+zscroed = 1 & action = `cond'
+\family default
+ (should not zscore,
+ when not specified)
+\end_layout
+
+\end_deeper
+\begin_layout Subsubsection
+Other methods
+\end_layout
+
+\begin_layout Paragraph
+Remove testdata
+\end_layout
+
+\begin_layout Standard
+Removes all the test data generated by the test class.
+ It is called once the class is finished with testing.
+
+\end_layout
+
+\begin_layout Paragraph
+Basic function test
+\end_layout
+
+\begin_layout Standard
+Is called in each test after the tested function has been called.
+ It does two checks:
+\end_layout
+
+\begin_layout Itemize
+Returned modeltype matches the modeltype stored in the returned model structure
+\end_layout
+
+\begin_layout Itemize
+Returned status
+\family typewriter
+sts==1
+\end_layout
+
+\begin_layout Subsection
+pspm_load_data
+\end_layout
+
+\begin_layout Quote
+Reviewed and updated by Teddy on 19 April 2022
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_load_data_test
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ infos,
+ data,
+ filestruct] = pspm_load_data(fn,
+ chan)
+\end_layout
+
+\begin_layout Subsubsection
+Setup
+\end_layout
+
+\begin_layout Standard
+If not otherwise declared,
+ the input variable fn is referring to a datafile which was generated with
+\family typewriter
+pspm_testdata_gen
+\family default
+ and consists out of the following channels:
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+data{1}.chantype `scr';
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+data{2}.chantype `marker';
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+data{3}.chantype `hr';
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+data{4}.chantype `hb';
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+data{5}.chantype `marker';
+
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+data{6}.chantype `resp';
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+data{7}.chantype `scr';
+\end_layout
+
+\begin_layout Standard
+The duration of the channels is
+\family typewriter
+10s
+\family default
+.
+
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Invalid input arguments
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_inputargs(testCase)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks for warnings,
+ if the input arguments are invalid.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+
+
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+#
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Issue
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+No filename
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+/
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+No char filename
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Negative channel number
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+fn,
+ -1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+No allowed ch type
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+fn,
+ `foobar'
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+5
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Missing field in foo struct
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+fn,
+ foo
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Invalid channel option
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+fn,
+ {1}
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Struct has no infos field
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+struct
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+8
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Nonexisting channel
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+fn,
+ 250
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+Invalid datafile
+\end_layout
+
+\begin_layout Subparagraph
+Format
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_datafile(testCase)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks for warnings,
+ if the datafile is invalid.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+
+
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+#
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Issue
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+non-existent datafile
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:nonexistent_file
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+missing ‘infos' variable
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_data_structure
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+missing ‘data' variable
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_data_structure
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+missing ‘data' field in ‘data{2}'
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_data_structure
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+5
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+missing ‘header' field ‘data{3}'
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_data_structure
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+missing ‘sr' field in ‘data{7}.header'
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_data_structure
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+data{4} is a nx2 vector (instead of a nx1 vector)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_data_structure
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+8
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+the length of data{1}.data is incompatible with the duration
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_data_structure
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+9
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+An entry of data{2}.data is larger than ‘duration'
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_data_structure
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+10
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+data{5} has an non-existent chantype (‘scanner')
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_data_structure
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+11
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+duplicates (9) with struct chan input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_data_structure
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+Return all channels
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+valid_datafile_0(testCase)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks the function,
+ if all channels shall be returned (
+\family typewriter
+chan = 0
+\family default
+).
+
+\end_layout
+
+\begin_layout Paragraph
+Return all channels (struct input)
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+valid_datafile_1(testCase)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks the function,
+ if all channels shall be returned (
+\family typewriter
+chan = 0
+\family default
+) and the input is a struct.
+
+\end_layout
+
+\begin_layout Paragraph
+Return one channel
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+valid_datafile_2(testCase)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks the function,
+ if only one channel shall be returned (
+\family typewriter
+chan = 2
+\family default
+).
+
+\end_layout
+
+\begin_layout Paragraph
+Return multiple channels
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+valid_datafile_3(testCase)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks the function,
+ if multiple channels shall be returned (
+\family typewriter
+chan = [3 5]
+\family default
+).
+
+\end_layout
+
+\begin_layout Paragraph
+Return scr channels
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+valid_datafile_4(testCase)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks the function,
+ if only the scr channels shall be returned.
+
+\end_layout
+
+\begin_layout Paragraph
+Return event channels
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+valid_datafile_5(testCase)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks the function,
+ if only the event channels shall be returned.
+
+\end_layout
+
+\begin_layout Paragraph
+Save data
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+valid_datafile_6(testCase)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks the function,
+ if data is to be saved (
+\family typewriter
+chan struct
+\family default
+).
+
+\end_layout
+
+\begin_layout Subsection
+pspm_pp
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_pp_test
+\end_layout
+
+\begin_layout Subparagraph
+Format
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+newfile = pspm_pp(`median',
+ datafile,
+ n,
+ channelnumber)
+\family default
+ or
+\family typewriter
+newfile = pspm_pp(`butter',
+ datafile,
+ freq,
+ channelnumber)
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Invalid input
+\end_layout
+
+\begin_layout Subparagraph
+Format
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_input(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks for warnings,
+ if the input arguments are invalid.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset Tabular
+
+
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+#
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Issue
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Parameters of the function
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+No frequency
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+`butter',
+ `file'
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+No valid first argument
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+`foo',
+ `file',
+ 100
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Freq below
+\family typewriter
+20
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+`butter',
+ `file',
+ 19
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+Median test
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+median_test(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks medianfilter functionality
+\end_layout
+
+\begin_layout Subparagraph
+Setup
+\end_layout
+
+\begin_layout Standard
+Testfile with
+\family typewriter
+3
+\family default
+ channels (
+\family typewriter
+scr
+\family default
+,
+
+\family typewriter
+hb
+\family default
+,
+
+\family typewriter
+scr
+\family default
+).
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Filter one channel
+\family typewriter
+[Input:
+ newfile = pspm_pp(`median',
+ testfile,
+ 50,
+ 3)]
+\end_layout
+
+\begin_deeper
+\begin_layout Standard
+i.
+ Check if
+\family typewriter
+sts == 1
+\family default
+,
+ when data is loaded with
+\family typewriter
+pspm_load_data
+\family default
+.
+
+\end_layout
+
+\begin_layout Standard
+ii.
+ Check if newfile has the same number of channels as testfile
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Filter multiple channel
+\family typewriter
+[Input:
+ newfile = pspm_pp(`median',
+ testfile,
+ 50)]
+\end_layout
+
+\begin_deeper
+\begin_layout Standard
+i.
+ Check if
+\family typewriter
+sts == 1
+\family default
+,
+ when data is loaded with
+\family typewriter
+pspm_load_data
+\family default
+.
+
+\end_layout
+
+\begin_layout Standard
+ii.
+ Check if newfile has the same number of channels as testfile
+\end_layout
+
+\end_deeper
+\begin_layout Paragraph
+Butterworth filter test
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+butter_test(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks Butterworth filter functionality
+\end_layout
+
+\begin_layout Subparagraph
+Setup
+\end_layout
+
+\begin_layout Standard
+Testfile with 3 channels (
+\family typewriter
+scr
+\family default
+,
+
+\family typewriter
+hb
+\family default
+,
+
+\family typewriter
+scr
+\family default
+).
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Filter one channel
+\family typewriter
+[Input:
+ newfile = pspm_pp(`butter',
+ testfile,
+ 40,
+ 3)]
+\end_layout
+
+\begin_deeper
+\begin_layout Standard
+i.
+ Check if
+\family typewriter
+sts == 1,
+
+\family default
+ when data is loaded with
+\family typewriter
+pspm_load_data
+\family default
+.
+
+\end_layout
+
+\begin_layout Standard
+ii.
+ Check if newfile has the same number of channels as testfile
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Filter multiple channel
+\family typewriter
+[Input:
+ newfile = pspm_pp(`butter',
+ testfile,
+ 40)]
+\end_layout
+
+\begin_deeper
+\begin_layout Standard
+i.
+ Check if
+\family typewriter
+sts == 1
+\family default
+,
+ when data is loaded with
+\family typewriter
+pspm_load_data
+\family default
+.
+
+\end_layout
+
+\begin_layout Standard
+ii.
+ Check if newfile has the same number of channels as testfile
+\end_layout
+
+\end_deeper
+\begin_layout Subsection
+pspm_prepdata
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_prepdata_test
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ outdata,
+ newsr] = pspm_prepdata(data,
+ filt)
+\family default
+
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Invalid input
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_input(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks for warnings,
+ if the input arguments are invalid.
+\end_layout
+
+\begin_layout Subparagraph
+\noindent
+Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subparagraph
+\noindent
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_prepdata([1 NaN 3],
+ filt) [NaN values in data]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_prepdata([1 2 3]) [no filt variable]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_prepdata(data,
+ filt) [filt has no hporder field]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_prepdata(`foo',
+ filt) [no numeric data]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_prepdata(data,
+ filt) [with lpfreq = `foo' (not valid)]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+Hipassfilter test
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+hipassfilter_test(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks hipassfilter functionality (without downsampling)
+\end_layout
+
+\begin_layout Subparagraph
+Setup
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+data rand(1000,1)
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+filt.sr 100
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+filt.lpfreq `none'
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+filt.lporder 1
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+filt.hpfreq 20
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+filt.hporder 1
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+filt.down `none'
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Unidirectional tests
+\family typewriter
+[filt.direction = ‘uni']
+\end_layout
+
+\begin_deeper
+\begin_layout Standard
+i.
+ Check if
+\family typewriter
+sts == 1
+\end_layout
+
+\begin_layout Standard
+ii.
+ Check if
+\family typewriter
+newsr == filt.sr
+\end_layout
+
+\begin_layout Standard
+iii.
+ Check if
+\family typewriter
+outdata
+\family default
+ is empty
+\end_layout
+
+\begin_layout Standard
+iv.
+ Check if
+\family typewriter
+length(outdata) == length(data)
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Unidirectional tests
+\family typewriter
+[filt.direction = ‘bi']
+\end_layout
+
+\begin_deeper
+\begin_layout Standard
+i.
+ Check if
+\family typewriter
+sts == 1
+\end_layout
+
+\begin_layout Standard
+ii.
+ Check if
+\family typewriter
+newsr == filt.sr
+\end_layout
+
+\begin_layout Standard
+iii.
+ Check if
+\family typewriter
+outdata
+\family default
+ is empty
+\end_layout
+
+\begin_layout Standard
+iv.
+ Check if
+\family typewriter
+length(outdata) == length(data)
+\end_layout
+
+\end_deeper
+\begin_layout Paragraph
+Lowpassfilter test
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+lowpassfilter_test(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks hipassfilter functionality (without downsampling)
+\end_layout
+
+\begin_layout Subparagraph
+Setup
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+data rand(1000,1)
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+filt.sr 100
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+filt.lpfreq 40
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+filt.lporder 1
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+filt.hpfreq `none'
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+filt.hporder 1
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+filt.down `none'
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Standard
+Same tests as in
+\family typewriter
+hipassfilter_test
+\family default
+.
+ Additionally there is a check for a warning if
+\family typewriter
+filt.lpfreq
+\family default
+ is higher (or equal) than the nyquist frequency
+\end_layout
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_prepdata(data,
+ filt) [filt.sr = 100;
+ filt.lpfreq = 60]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:no_low_pass_filtering
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+Bandpassfilter test
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+bandpassfilter_test(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks bandpassfilter functionality (without downsampling).
+\end_layout
+
+\begin_layout Subparagraph
+Setup
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+data rand(1000,1)
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+filt.sr 200
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+filt.lpfreq 99
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+filt.lporder 1
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+filt.hpfreq 20
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+filt.hporder 1
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+filt.down `none'
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Standard
+Same tests as in hipassfilter_test.
+
+\end_layout
+
+\begin_layout Paragraph
+Integer samplerate ratio downsampling test
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+int_sr_ratio_downsample_test(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks downsampling functionality,
+ if the ratio between filt.sr and filt.down is an integer.
+\end_layout
+
+\begin_layout Subparagraph
+Setup
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+ratio 2 % ratio between filt.sr and filt.down
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+filt.down 100
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+filt.sr ratio*filt.down
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+filt.lpfreq 40
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+filt.lporder 1
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+filt.hpfreq `none'
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+filt.hporder 1
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+filt.direction `uni'
+\end_layout
+
+\begin_layout Standard
+and
+\family typewriter
+data = rand(filt.sr * 10,1)
+\family default
+.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Check if
+\family typewriter
+sts == 1
+\end_layout
+
+\begin_layout Enumerate
+Check if
+\family typewriter
+newsr == filt.down
+\end_layout
+
+\begin_layout Enumerate
+Check if
+\family typewriter
+outdata
+\family default
+ is empty
+\end_layout
+
+\begin_layout Enumerate
+Check if
+\family typewriter
+ratio*length(outdata) == length(data)
+\end_layout
+
+\begin_layout Subsection
+pspm_process_illuminance
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_process_illuminance_test
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ out] = pspm_process_illuminance(ldata,
+ sr,
+ options)
+\end_layout
+
+\begin_layout Subsubsection
+Setup
+\end_layout
+
+\begin_layout Standard
+This test class is parameterised.
+ The test data is generated by the function itself and when needed,
+ files will be written to
+\family typewriter
+datafile.mat
+\family default
+.
+\end_layout
+
+\begin_layout Paragraph
+Test parameters
+\end_layout
+
+\begin_layout Standard
+These are parameters which define what kind of data should be passed to
+\family typewriter
+pspm_process_illuminance
+\family default
+ and which options should be set.
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+\series medium
+bf_dur
+\family roman
+\shape up
+\size normal
+\emph off
+\bar no
+\strikeout off
+\xout off
+\uuline off
+\uwave off
+\noun off
+\color none
+ Defines the duration of the basis function.
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+\series medium
+bf_offset
+\family roman
+\shape up
+\size normal
+\emph off
+\bar no
+\strikeout off
+\xout off
+\uuline off
+\uwave off
+\noun off
+\color none
+ Defines the offset of the basis function.
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+\series medium
+dur
+\family roman
+\shape up
+\size normal
+\emph off
+\bar no
+\strikeout off
+\xout off
+\uuline off
+\uwave off
+\noun off
+\color none
+ Defines the duration of the generated dataset.
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+\series medium
+sr
+\family roman
+\shape up
+\size normal
+\emph off
+\bar no
+\strikeout off
+\xout off
+\uuline off
+\uwave off
+\noun off
+\color none
+ Defines the samplerate of the generated dataset.
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+\series medium
+n_times
+\family roman
+\shape up
+\size normal
+\emph off
+\bar no
+\strikeout off
+\xout off
+\uuline off
+\uwave off
+\noun off
+\color none
+ Defines how many datasets should be generated.
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+\series medium
+mode
+\family roman
+\shape up
+\size normal
+\emph off
+\bar no
+\strikeout off
+\xout off
+\uuline off
+\uwave off
+\noun off
+\color none
+ Defines the whether the dataset should be written to a file,
+ kept as inline variable or should be a mix of both.
+ Can be either
+\family typewriter
+\series default
+\shape default
+\size default
+\emph default
+\bar default
+\strikeout default
+\xout default
+\uuline default
+\uwave default
+\noun default
+\color inherit
+`file'
+\family roman
+\series medium
+\shape up
+\size normal
+\emph off
+\bar no
+\strikeout off
+\xout off
+\uuline off
+\uwave off
+\noun off
+\color none
+,
+
+\family typewriter
+\series default
+\shape default
+\size default
+\emph default
+\bar default
+\strikeout default
+\xout default
+\uuline default
+\uwave default
+\noun default
+\color inherit
+`inline'
+\family roman
+\series medium
+\shape up
+\size normal
+\emph off
+\bar no
+\strikeout off
+\xout off
+\uuline off
+\uwave off
+\noun off
+\color none
+ or
+\family typewriter
+\series default
+\shape default
+\size default
+\emph default
+\bar default
+\strikeout default
+\xout default
+\uuline default
+\uwave default
+\noun default
+\color inherit
+`mixed'
+\family default
+.
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+\series medium
+overwrite
+\family roman
+\shape up
+\size normal
+\emph off
+\bar no
+\strikeout off
+\xout off
+\uuline off
+\uwave off
+\noun off
+\color none
+ Defines whether existing files should be overwritten or not.
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Invalid input
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_input(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks for warnings,
+ if the input arguments are invalid.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset Tabular
+
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Test No.
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_process_illuminance() [no arguments]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_process_illuminance([]) [empty data]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:missing_data
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_process_illuminance(1:10) [missing samplerate]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_process_illuminance(1:10,
+ `a') [invalid ssamplerate]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+5
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_process_illuminance({1:10},
+ 1) [cell,
+ no cell]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_process_illuminance(1:10,
+ {1}) [no cell,
+ cell]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_process_illuminance({1:10,
+ 10:10},
+ {1}) [different sized cells]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+8
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_process_illuminance({1:10,
+ `a'},{1,2}) [invalid file]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:non_existent_file
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+9
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_process_illuminance({1:10,
+ 1:10},
+ {1,
+ `a'}) [invalid samplerate]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+10
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_process_illuminance({1:10},
+ {1},
+ `o') [wrong options]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+11
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_process_illuminance({1:10},
+ {1},
+ opt)[wrong transfer settings]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+12
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_process_illuminance({1:10},
+ {1},
+ opt)[wrong duration]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+13
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_process_illuminance({1:10},
+ {1},
+ opt)[wrong offset]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+14
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_process_illuminance({1:10},
+ {1},
+ opt)[wrong outputfile]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+15
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_process_illuminance({1:10},
+ {1},
+ opt)[format of ldata and opt.fn differs]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+16
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_process_illuminance({1:10},
+ {1},
+ opt)[opt.overwrite is not boolean]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+Test options
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_options(this,
+ sr,
+ dur,
+ bf_dur,
+ bf_offset)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Tries out different combination options to process the generated illuminance data.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Generate data with
+\family typewriter
+sr
+\family default
+ and
+\family typewriter
+dur
+\end_layout
+
+\begin_layout Enumerate
+Set options according to
+\family typewriter
+bf_dur
+\family default
+ and
+\family typewriter
+bf_offset
+\end_layout
+
+\begin_layout Enumerate
+Set expected warning according to
+\family typewriter
+sr*dur
+\family default
+ and
+\family typewriter
+sr*bf_dur
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+expect empty data if
+\family typewriter
+sr*dur < 1
+\end_layout
+
+\begin_layout Enumerate
+expect invalid_input if
+\family typewriter
+sr*bf_dur < 1
+\end_layout
+
+\begin_layout Enumerate
+otherwise expect no warning
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Test if issued warning equals expected warning
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+sts
+\family default
+ equals expected value
+\end_layout
+
+\begin_layout Enumerate
+Test if amount of data elements of input and output data is equal
+\end_layout
+
+\begin_layout Paragraph
+Test multi
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_multi(this,
+ n_times,
+ mode)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Generates n sets of illuminance data and passes it to
+\family typewriter
+pspm_process_illuminance
+\family default
+.
+\end_layout
+
+\begin_layout Subparagraph
+Steps
+\end_layout
+
+\begin_layout Enumerate
+Generate data with
+\family typewriter
+10
+\family default
+ (
+\family typewriter
+sr
+\family default
+),
+ 100 (
+\family typewriter
+dur
+\family default
+),
+
+\family typewriter
+n_times
+\family default
+ (
+\family typewriter
+amount
+\family default
+),
+ mode
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+pspm_process_illuminance
+\family default
+ issues no warning
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+sts==1
+\end_layout
+
+\begin_layout Enumerate
+For
+\family typewriter
+n_times == 1
+\family default
+,
+ test if out has
+\family typewriter
+10×100
+\family default
+ data points
+\end_layout
+
+\begin_layout Enumerate
+For
+\family typewriter
+n_times
+\begin_inset space \space{}
+\end_inset
+
+~= 1
+\family default
+,
+ test if output has same size as input
+\end_layout
+
+\begin_layout Paragraph
+Test overwrite
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_overwrite(this,
+ overwrite)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Generate illuminance file and test overwrite behaviour.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Generate data with
+\family typewriter
+10
+\family default
+ (
+\family typewriter
+sr
+\family default
+),
+
+\family typewriter
+100
+\family default
+ (
+\family typewriter
+dur
+\family default
+),
+
+\family typewriter
+1
+\family default
+ (
+\family typewriter
+amount
+\family default
+),
+
+\family typewriter
+`file'
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+pspm_process_illuminance
+\family default
+ issues no warning
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+sts==1
+\end_layout
+
+\begin_layout Enumerate
+Test if existing file was overwriten or not
+\end_layout
+
+\begin_layout Subsubsection
+Other methods
+\end_layout
+
+\begin_layout Paragraph
+Generate lx
+\end_layout
+
+\begin_layout Standard
+Has some of the Test parameters as parameter implemented and accordingly generates the
+\family typewriter
+lx
+\family default
+ data.
+ According to the calling arguments the output is a cell of files and data vectors.
+ All generated files will be stored in the property
+\family typewriter
+`datafiles'
+\family default
+.
+ They will be removed once all tests have finished.
+\end_layout
+
+\begin_layout Paragraph
+Cleanup
+\end_layout
+
+\begin_layout Standard
+Located in MethodTeardown and is called once the test class has finished all tests.
+ It then removes all the datafiles which can be found in the property
+\family typewriter
+`datafiles'
+\family default
+.
+\end_layout
+
+\begin_layout Subsection
+pspm_pulse_convert
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_pulse_convert_test
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+[sts,
+ wavedata] = pspm_pulse_convert(pulsedata,
+ resamplingrate,
+ samplingrate)
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Invalid input
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_input(testCase)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Pass invalid input arguments and test if the error message is correct.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_pulse_convert()
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_pulse_convert(10^-3 * (1:10000)')
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_pulse_convert(10^-3 * (1:10000)',
+ 10000)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+Valid input
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+valid_input(testCase)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Pass generated,
+ valid data and test if function issues no warning.
+\end_layout
+
+\begin_layout Subparagraph
+Steps
+\end_layout
+
+\begin_layout Enumerate
+Test function without downsampling the data
+\end_layout
+
+\begin_layout Enumerate
+Test function with downsampling the data
+\end_layout
+
+\begin_layout Subsection
+pspm_ren
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_ren_test
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+out_newfilename = pspm_ren(filename,
+ newfilename)
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Invalid input
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_input (this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks for warnings,
+ if the input arguments are invalid.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_ren(`fn') [no newfilename]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_ren({`fn1',
+ `fn2'},
+ {`rfn1',
+ `rfn2',
+ `rfn3'}) [non same size cell arrays]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+Char Valid Input
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+char_valid_input (this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks the function if the input variables are of type char.
+ It uses
+\family typewriter
+pspm_load_data
+\family default
+ to check the files.
+\end_layout
+
+\begin_layout Subparagraph
+Steps
+\end_layout
+
+\begin_layout Enumerate
+Check if
+\family typewriter
+out_newefilename = newfilename
+\end_layout
+
+\begin_layout Enumerate
+Check if
+\family typewriter
+sts==1
+\family default
+ (of
+\family typewriter
+pspm_load_data output
+\family default
+)
+\end_layout
+
+\begin_layout Enumerate
+Check if the field
+\family typewriter
+‘infos.rendata'
+\family default
+ exists
+\end_layout
+
+\begin_layout Enumerate
+Check if the field
+\family typewriter
+‘infos.newname'
+\family default
+ exists
+\end_layout
+
+\begin_layout Enumerate
+Check if the original file has been deleted
+\end_layout
+
+\begin_layout Paragraph
+Cell Valid Input
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+cell_valid_input (this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks the function if the input variables are of type cell.
+ It uses
+\family typewriter
+pspm_load_data
+\family default
+ to check the files.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Standard
+The inputs are two-element cell arrays.
+ For both elements the same tests as in the
+\family typewriter
+char_valid_input
+\family default
+ function are performed individually.
+\end_layout
+
+\begin_layout Subsection
+pspm_resp_pp
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_resp_pp_test
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+sts = pspm_resp_pp(fn,
+ sr,
+ chan,
+ options)
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Regression Test against Revision r660
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+compare_results_to_results_obtained_from_r660_version(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+In r660,
+ there was a bug found in
+\family typewriter
+pspm_resp_pp
+\family default
+ that caused it to crash with index out of bounds error on inputs containing some edgecase.
+ This test specifically checks whether the fixed version returns the same results as the version before the bugfix on data that didn't cause a crash.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Check if the returned channel types have the same name and ordering
+\end_layout
+
+\begin_layout Enumerate
+Check if the returned data is the same
+\end_layout
+
+\begin_layout Subsection
+pspm_scr_pp
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_scr_pp_test
+\end_layout
+
+\begin_layout Subparagraph
+Properties
+\end_layout
+
+\begin_layout Standard
+...
+\end_layout
+
+\begin_layout Subparagraph
+Format
+\end_layout
+
+\begin_layout Standard
+...
+\end_layout
+
+\begin_layout Subsection
+pspm_split_sessions
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_split_sessions_test
+\end_layout
+
+\begin_layout Subparagraph
+Properties
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+expected_number_of_files = 3
+\end_layout
+
+\begin_layout Subparagraph
+Format
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+newdatafile = pspm_split_sessions(datafile,
+ markerchannel,
+ options)
+\end_layout
+
+\begin_layout Subsubsection
+Setup
+\end_layout
+
+\begin_layout Standard
+For the tests a testdatafile with three channels is used (duration is
+\family typewriter
+100s
+\family default
+).
+ The markerchannel data is
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+data = [1 4 9 12 30 31 34 41 43 59 65 72 74 80 89 96]'
+\family default
+.
+\begin_inset Newline newline
+\end_inset
+
+Hence if
+\family typewriter
+MAXSN==10
+\family default
+ and
+\family typewriter
+BRK2NORM==3
+\family default
+ (default values),
+ the datafiles should be split into 3 files.
+ If different values are being used,
+ update the property
+\family typewriter
+‘expected_number_of_files'
+\family default
+ of the testclass object accordingly.
+
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Invalid input
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_input (this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks for warnings,
+ if the input arguments are invalid.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\begin_inset Newline newline
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_split_sessions() [no filename]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_split_sessions (2) [no string filename]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_split_sessions (‘fn',
+ ‘foo') [no numeric marker channel no.]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+One datafile
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+one_datafile(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks the function if the variable
+\family typewriter
+‘datafile'
+\family default
+ is of type char (one datafile).
+ The markerchannel number is not assigned explicitly.
+\end_layout
+
+\begin_layout Subparagraph
+Steps
+\end_layout
+
+\begin_layout Enumerate
+Check if the file has been split into
+\family typewriter
+‘expected_number_of_files'
+\family default
+ files For each output file the following tests are performed:
+\end_layout
+
+\begin_layout Enumerate
+Check if
+\family typewriter
+sts == 1
+\family default
+,
+ when data is loaded with
+\family typewriter
+pspm_load_data
+\family default
+.
+\end_layout
+
+\begin_layout Enumerate
+Check if number of channels is correct.
+\end_layout
+
+\begin_layout Enumerate
+Check it the field
+\family typewriter
+infos.slitdate
+\family default
+ exists
+\end_layout
+
+\begin_layout Enumerate
+Check if the field
+\family typewriter
+infos.splitsn
+\family default
+ exists
+\end_layout
+
+\begin_layout Enumerate
+Check if the field
+\family typewriter
+infos.splitfile
+\family default
+ exists.
+
+\end_layout
+
+\begin_layout Paragraph
+Multiple datafiles
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+multiple_datafiles(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks the function if the variable
+\family typewriter
+‘datafile'
+\family default
+ is of type cell (two datafiles).
+ The markerchannel number is assigned explicitly.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Standard
+For both datafiles the same tests as in the
+\family typewriter
+one_datafile
+\family default
+ function are performed individually.
+ Additionally it is tested if the number of input files does match the number of output files.
+
+\end_layout
+
+\begin_layout Subsection
+pspm_trim
+\end_layout
+
+\begin_layout Standard
+Reviewed and updated by Teddy on 19 April 2022
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_trim_test
+\end_layout
+
+\begin_layout Subparagraph
+Function
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+newdatafile = pspm_trim(datafile,
+ from,
+ to,
+ reference,
+ options)
+\end_layout
+
+\begin_layout Subsubsection
+Setup
+\end_layout
+
+\begin_layout Standard
+If not otherwise declared,
+ the input variable fn is referring to a datafile which was generated with
+\family typewriter
+pspm_testdata_gen
+\family default
+ and consists of the following channels
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+data{1}.chantype `scr'
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+data{2}.chantype `marker'
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+data{3}.chantype `hr'
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+data{4}.chantype `hb'
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+data{5}.chantype `marker'
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+data{6}.chantype `resp'
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+data{7}.chantype `scr'
+\end_layout
+
+\begin_layout Standard
+The duration of the data recording is
+\family typewriter
+10s
+\family default
+.
+
+\end_layout
+
+\begin_layout Subsubsection
+Testcases
+\end_layout
+
+\begin_layout Paragraph
+Invalid input arguments
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+invalid_inputargs(testCase)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks for warnings,
+ if the input arguments are invalid.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset Tabular
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_trim(testCase.fn,
+ [1 2],
+ 5,
+ `marker') [invalid from parameter]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_trim(testCase.fn,
+ 0,
+ `bla',
+ `marker') [invalid to parameter]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_trim(testCase.fn,
+ 0,
+ `[]',
+ `marker') [invalid to parameter]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_trim(fn,
+ 0,
+ 5) [no reference]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_trim(fn,
+ 0,
+ 5,
+ 6) [no char or 2-element numeric reference]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_trim(fn,
+ 0,
+ 5,
+ ‘bla') [invalid char reference]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_trim(fn,
+ 0,
+ 5,
+ [-1 5]) [invalid numeric start reference]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_trim(fn,
+ 0,
+ 5,
+ [5 4]) [invalid numeric start/end reference]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+Testing 'marker' as reference
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+Function name
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+
+\family typewriter
+marker_tests(testCase)
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+
+\series bold
+Description
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+A wrapper function for tests with
+\family typewriter
+reference = `marker'
+\family default
+.
+ It executes the methods
+\family typewriter
+markertest_k
+\family default
+,
+ where the testcases are defined.
+
+\end_layout
+
+\end_deeper
+\begin_layout Subparagraph
+markertest_1
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+Description
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+from and to are set so that the trimming points are out of the range
+\family typewriter
+[0,duration]
+\family default
+.
+ Hence the data should not be trimmed.
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+
+\series bold
+Expected warning
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+
+\family typewriter
+ID:
+ marker_out_of_range
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+
+\series bold
+Input
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+
+\family typewriter
+pspm_trim(fn,
+ -20,
+ 20,
+ `marker')
+\end_layout
+
+\end_deeper
+\begin_layout Subparagraph
+markertest_2
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+Description
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+from and to are set so that the trimming points are exactly
+\family typewriter
+(0,
+ duration)
+\family default
+.
+ Hence the data should not be trimmed.
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+
+\series bold
+Input
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+
+\family typewriter
+from -1 * marker(1)
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+to duration - marker(end)
+\end_layout
+
+\begin_layout Itemize
+then
+\family typewriter
+pspm_trim(fn,
+ from,
+ to,
+ `marker')
+\end_layout
+
+\end_deeper
+\begin_layout Subparagraph
+markertest_3
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+Description
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+from and to are set so that the trimming points in the range [0,duration].
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+
+\series bold
+Input
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+
+\family typewriter
+pspm_trim(fn,
+ 1,
+ -2,
+ `marker')
+\end_layout
+
+\end_deeper
+\begin_layout Paragraph
+Testing 'file' as reference
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+Function name
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+
+\family typewriter
+file_tests(testCase)
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+
+\series bold
+Description
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+A wrapper function for tests with
+\family typewriter
+reference = ‘file'
+\family default
+.
+ It executes the methods
+\family typewriter
+filetest_k
+\family default
+,
+ where the testcases are defined.
+
+\end_layout
+
+\end_deeper
+\begin_layout Subparagraph
+filetest_1
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+Description
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+
+\family typewriter
+from
+\family default
+ and
+\family typewriter
+to
+\family default
+ are set so that the trimming points are out of the range
+\family typewriter
+[0,duration]
+\family default
+.
+ Hence the data should not be trimmed.
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+
+\series bold
+Expected warning
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+
+\family typewriter
+ID:
+ marker_out_of_range
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+
+\series bold
+Input
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+
+\family typewriter
+pspm_trim(fn,
+ -12.5,
+ 50,
+ `marker')
+\end_layout
+
+\end_deeper
+\begin_layout Subparagraph
+filetest_2
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+Description
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+
+\family typewriter
+from
+\family default
+ and
+\family typewriter
+to
+\family default
+ are set so that the trimming points are exactly
+\family typewriter
+(0,
+ duration)
+\family default
+.
+ Hence the data should not be trimmed.
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+
+\series bold
+Input
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+
+\family typewriter
+pspm_trim(fn,
+ 0 ,
+ duration,
+ `marker')
+\end_layout
+
+\end_deeper
+\begin_layout Subparagraph
+filetest_3
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+Description
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+
+\family typewriter
+from
+\family default
+ and
+\family typewriter
+to
+\family default
+ are set so that the trimming points in the range
+\family typewriter
+[0,
+ duration]
+\family default
+.
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+
+\series bold
+Input
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+
+\family typewriter
+pspm_trim(fn,2.1,
+ duration – 2.5,
+ `marker')
+\end_layout
+
+\end_deeper
+\begin_layout Paragraph
+Numeric reference tests
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+Function name
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+
+\family typewriter
+num_tests(testCase)
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+
+\series bold
+Description
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+A wrapper function for tests with
+\family typewriter
+reference = [a b]
+\family default
+ (
+\family typewriter
+a,
+ b
+\family default
+ are two integers with
+\family typewriter
+a
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Input
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Expected warning
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_write_channel() [no parameter]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_write_channel(1) [fn is a number]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_write_channel(`some_file',
+ []) [no action passed]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:unknown_action
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_write_channel(`some_file',
+ [],
+ `') [empty action passed]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:unknown_action
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+options.channel = `some invalid channel'pspm_write_channel(`some_file',
+ [],
+ `add',
+ options) [invalid channel]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+options.channel = -1pspm_write_channel(`some_file',
+ [],
+ `add',
+ options) [negative channel]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+options.channel = 0pspm_write_channel(`some_file',
+ [],
+ `delete',
+ options) [no channel and no data given]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+options.channel = 0pspm_write_channel(`some_file',
+ [],
+ `add',
+ options) [empty newdata]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+options.channel = 0pspm_write_channel(`some_file',
+ 1:3,
+ `add',
+ options) [newdata is not cell and not struct]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+options.channel = 1:5pspm_write_channel(this.testdatafile,
+ [],
+ `delete',
+ options) [more given channels than in file exist]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_input
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+options.channel = `ecg';
+ pspm_write_channel(this.testdatafile,
+ [],
+ `delete',
+ options)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:no_matching_channels
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_write_channel(this.testdatafile,
+ gen_data.data{1},
+ `add') [generated data has the wrong format (two rows in one channel)]
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ID:invalid_data_structure
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+Action `add'
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_add(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks if action
+\family typewriter
+`add'
+\family default
+ behaves as expected.
+ A new channel with
+\family typewriter
+chantype = `hb'
+\family default
+,
+
+\family typewriter
+sr = 200
+\family default
+ and
+\family typewriter
+duration = 500
+\family default
+ is generated.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Load condition before and after and pass it to
+\family typewriter
+`Verify write'
+\end_layout
+
+\begin_layout Paragraph
+Action `add transposed'
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_add_transposed(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks if action
+\family typewriter
+`add'
+\family default
+ behaves as expected,
+ when data has the wrong dimensions.
+ A new channel with
+\family typewriter
+chantype = `rs'
+\family default
+,
+
+\family typewriter
+sr = 200
+\family default
+ and
+\family typewriter
+duration = 500
+\family default
+ is generated.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Transpose generated data
+\end_layout
+
+\begin_layout Enumerate
+Load condition before and after and pass it to
+\family typewriter
+`Verify write'
+\end_layout
+
+\begin_layout Paragraph
+Action `replace'/'add'
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_replace_add(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks if action
+\family typewriter
+`replace'
+\family default
+ behaves as expected.
+ A new channel with
+\family typewriter
+chantype = `hr'
+\family default
+,
+
+\family typewriter
+sr = 10
+\family default
+ and
+\family typewriter
+duration = 500
+\family default
+ is generated.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Running
+\family typewriter
+pspm_write_channel
+\family default
+ with
+\family typewriter
+action = `replace'
+\family default
+ should issue
+\family typewriter
+`ID:no_matching_channels'
+\family default
+ (channeltype should not exist before) and then instead add the channel
+\end_layout
+
+\begin_layout Enumerate
+Load condition before and after and pass it to
+\family typewriter
+`Verify write'
+\end_layout
+
+\begin_layout Paragraph
+Action `replace'
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_replace(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks if action
+\family typewriter
+`replace'
+\family default
+ behaves as expected.
+ A new channel with
+\family typewriter
+chantype = `hr'
+\family default
+,
+
+\family typewriter
+sr = 20
+\family default
+ and
+\family typewriter
+duration = 500
+\family default
+ is generated.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Load condition before and after and pass it to
+\family typewriter
+`Verify write'
+\end_layout
+
+\begin_layout Enumerate
+Test if
+\family typewriter
+`hr'
+\family default
+ channel has sample rate
+\family typewriter
+20
+\end_layout
+
+\begin_layout Paragraph
+Action `delete' (one channel)
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_delete_single(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks if action
+\family typewriter
+`delete'
+\family default
+ behaves as expected.
+ In this test only one channel will be deleted.
+ To test the delete algorithm there will be
+\family typewriter
+7
+\family default
+ channels added which are then also used for
+\family typewriter
+test_delete_multi(this)
+\family default
+.
+ The particular channels are then identified by the sample rate which corresponds to the channel
+\family typewriter
+id * 10
+\family default
+.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Delete channel with
+\family typewriter
+chantype = `hr'
+\family default
+ in newdata.header.chantype
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Verify write
+\end_layout
+
+\begin_layout Enumerate
+Ensure only one channel has been deleted
+\end_layout
+
+\begin_layout Enumerate
+Test if there is no more channel with
+\family typewriter
+chantype = `hr'
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Delete channel with channel number in
+\family typewriter
+options.channel
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Verify Write
+\end_layout
+
+\begin_layout Enumerate
+Ensure only one channel has been deleted
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Test the delete algorithm
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Remove
+\family typewriter
+`resp'
+\family default
+ channel with
+\family typewriter
+options.delete = `last'
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Verify write
+\end_layout
+
+\begin_layout Enumerate
+Ensure only one channel has been deleted
+\end_layout
+
+\begin_layout Enumerate
+Test if last channel was deleted
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Remove
+\family typewriter
+`resp'
+\family default
+ channel with
+\family typewriter
+options.delete = `first'
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Verify write
+\end_layout
+
+\begin_layout Enumerate
+Ensure only one channel has been deleted
+\end_layout
+
+\begin_layout Enumerate
+Test if last entry was not deleted
+\end_layout
+
+\end_deeper
+\end_deeper
+\begin_layout Paragraph
+Action `delete' (multiple channels)
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+test_delete_multi(this)
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+Checks if action
+\family typewriter
+`delete'
+\family default
+ behaves as expected.
+ In this test only multiple channels will be deleted.
+ This test relys on the changes made to the testdatafile by other test functions in this class.
+
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+Delete channel 1 and 2 from testdatafile
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Verify write
+\end_layout
+
+\begin_layout Enumerate
+Ensure two channels have been deleted
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Delete all
+\family typewriter
+`resp'
+\family default
+ channels from
+\family typewriter
+testdatafil
+\family default
+e
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Verify write
+\end_layout
+
+\begin_layout Enumerate
+Test if datafile contains no more
+\family typewriter
+`resp'
+\family default
+ channels
+\end_layout
+
+\end_deeper
+\begin_layout Subsubsection
+Other methods
+\end_layout
+
+\begin_layout Paragraph
+Verify write
+\end_layout
+
+\begin_layout Standard
+Is called after
+\family typewriter
+pspm_write_channel
+\family default
+ has been called (
+\family typewriter
+action = `add'
+\family default
+ or
+\family typewriter
+action = `replace'
+\family default
+) and tests if data was written and a new history entry was made.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+if
+\family typewriter
+action == `add'
+\family default
+,
+ test if there is a new channel
+\end_layout
+
+\begin_layout Enumerate
+if
+\family typewriter
+action == `replace'
+\family default
+,
+ test if there is still the same amount of channels
+\end_layout
+
+\begin_layout Enumerate
+if
+\family typewriter
+action == `delete'
+\family default
+,
+ test if there have been as many channels deleted as given in outinfos.channel
+\end_layout
+
+\begin_layout Enumerate
+test if history has a new entry
+\end_layout
+
+\begin_layout Enumerate
+search for channels with same chantype as added channel (should be only one channel)
+\end_layout
+
+\begin_layout Enumerate
+test if number of data elements in new channel and added channel is equal
+\end_layout
+
+\begin_layout Enumerate
+test if new channel and added channel have same
+\family typewriter
+`sr'
+\family default
+.
+\end_layout
+
+\begin_layout Subsection
+Python
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Subparagraph
+Testclass
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_check_python_test
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_check_python_module_test
+\end_layout
+
+\begin_layout Subparagraph
+Format
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+out = pspm_cfg_python(package_name)
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+sts = pspm_check_python(valid_python_path)
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+sts = pspm_check_python_modules(package_name)
+\end_layout
+
+\begin_layout Subparagraph
+Note
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_cfg_python
+\family default
+ is a UI controller function that handles python path.
+ The function can be called by other UI functions if Python is required for performing relavent processing.
+ The function will ask users to define the path for python that has been installed in the system.
+\end_layout
+
+\begin_layout Subsubsection
+Test for python
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_check_python
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_check_python_test
+\family default
+ is a test function that checks the installation of python in the system by using
+\family typewriter
+pspm_check_python
+\family default
+,
+ and the path of the python package that has been installed is detected by
+\family typewriter
+pspm_py_find_location.py
+\family default
+.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+
+\family typewriter
+test_current_python_environment
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+ensure a Python environment is already configured
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+
+\family typewriter
+test_set_new_python_environment
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Automatically detect the python installed in the system and test if it can be checked successfully by
+\family typewriter
+pspm_check_python
+\family default
+.
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+test_set_invalid_python_environment
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Use an invalid python path to check if
+\family typewriter
+pspm_check_python returns invalid results
+\family default
+.
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+
+\family typewriter
+test_python_environment_already_set
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Test when the specified Python environment is already set as the current.
+\end_layout
+
+\end_deeper
+\begin_layout Subsubsection
+Test for python modules
+\end_layout
+
+\begin_layout Subparagraph
+Function name
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_check_python_module_test
+\end_layout
+
+\begin_layout Subparagraph
+Description
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+pspm_check_python_module_test
+\family default
+ manages to check the modules that is installed in the system by using
+\family typewriter
+pspm_check_python_modules
+\family default
+.
+ Currently,
+ it only tests the module
+\family typewriter
+
+\begin_inset Quotes eld
+\end_inset
+
+math
+\begin_inset Quotes erd
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Subparagraph
+Tests
+\end_layout
+
+\begin_layout Enumerate
+
+\family typewriter
+test_python_environment_with_modules
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+To test the package
+\begin_inset Quotes eld
+\end_inset
+
+math
+\begin_inset Quotes erd
+\end_inset
+
+ that has been installed can be checked successfully by using
+\family typewriter
+pspm_check_python_modules
+\family default
+.
+\end_layout
+
+\end_deeper
+\begin_layout Standard
+\begin_inset Newpage pagebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
+External functions and tools
+\end_layout
+
+\begin_layout Subsection
+VB (Variational Bayes) inversion algorithm by Jean Daunizeau
+\end_layout
+
+\begin_layout Paragraph
+Updated October 2014
+\end_layout
+
+\begin_layout Description
+VBA_ReDisplay.m Fixed try-catch syntax in various places by adding a comma after
+\begin_inset Quotes eld
+\end_inset
+
+try
+\begin_inset Quotes erd
+\end_inset
+
+ to avoid warning in MATLAB > 2007
+\end_layout
+
+\begin_layout Description
+VBA_inv.m In line 42,
+ added warning off/on to suppress the warning
+\family typewriter
+Matrix is singular,
+ close to singular or badly scaled.
+ Results may be inaccurate.
+ RCOND = NaN
+\family default
+.
+\end_layout
+
+\begin_layout Paragraph
+Updated October 2016
+\end_layout
+
+\begin_layout Description
+VBA_ReDisplay.m Fixed try-catch syntax in various places by adding a comma after
+\begin_inset Quotes eld
+\end_inset
+
+try
+\begin_inset Quotes erd
+\end_inset
+
+ to avoid warning in MATLAB > 2007
+\end_layout
+
+\begin_layout Description
+VBA_inv.m In line 48:
+ added warning off/on to suppress the warning
+\begin_inset Quotes eld
+\end_inset
+
+
+\family typewriter
+Matrix is singular,
+ close to singular or badly scaled.
+ Results may be inaccurate.
+ RCOND = NaN
+\family default
+.
+\begin_inset Quotes erd
+\end_inset
+
+
+\end_layout
+
+\begin_layout Description
+VBA_NLStateSpaceModel.m Added resetting warning to preceeding state.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Newpage pagebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
+GitHub actions
+\end_layout
+
+\begin_layout Quote
+Contributed by Teddy Zhao
+\end_layout
+
+\begin_layout Quote
+Updated in March 2022
+\end_layout
+
+\begin_layout Standard
+\begin_inset CommandInset href
+LatexCommand href
+name "GitHub Actions"
+target "https://docs.github.com/en/actions"
+literal "false"
+
+\end_inset
+
+ is a Continuous Integration (CI) environment for testing GitHub repository,
+ which is now used for testing and maintaining PsPM.
+ GitHub Actions is deeply implemented in GitHub,
+ thus there is no further website or facility needed for running GitHub Actions for PsPM.
+\end_layout
+
+\begin_layout Subsection
+Repositories
+\end_layout
+
+\begin_layout Standard
+Until March 2022,
+ code and test data are seperately stored in GitHub,
+ in
+\emph on
+
+\begin_inset CommandInset href
+LatexCommand href
+name "PsPM"
+target "https://github.com/bachlab/PsPM"
+literal "false"
+
+\end_inset
+
+
+\emph default
+and
+\emph on
+
+\begin_inset CommandInset href
+LatexCommand href
+name "PsPM-data"
+target "https://github.com/bachlab/PsPM-data"
+literal "false"
+
+\end_inset
+
+
+\emph default
+,
+ respectively.
+ Both of
+\emph on
+PsPM
+\emph default
+ and
+\emph on
+PsPM-data
+\emph default
+ are under the
+\emph on
+
+\begin_inset CommandInset href
+LatexCommand href
+name "bachlab"
+target "https://github.com/bachlab"
+literal "false"
+
+\end_inset
+
+
+\emph default
+ account.
+
+\emph on
+PsPM
+\emph default
+ is a public repository allowing group members and public visitors to check the code and propose issues.
+
+\emph on
+PsPM-data
+\emph default
+ is a private repository allowing only group members to check the data and propose issues.
+ This is because
+\emph on
+PsPM-data
+\emph default
+ has some research data that may not be appropriate for public vistors.
+ It could be a good idea to find another cloud storage service with University's approval to store research data.
+
+\emph on
+ PsPM-data
+\emph default
+ has all the required test data for running testsuit of
+\emph on
+PsPM
+\emph default
+.
+ To run testsuit of
+\emph on
+PsPM
+\emph default
+,
+ it must be gauranteed that
+\emph on
+PsPM-data
+\emph default
+ is accessible.
+\end_layout
+
+\begin_layout Subsection
+Workflow
+\end_layout
+
+\begin_layout Standard
+To guide the actions of GitHub Actions,
+ a workflow script as a
+\family typewriter
+.yaml
+\family default
+ file is required,
+ which should be storaged at
+\family typewriter
+~/bachlab/PsPM/.github/workflow
+\family default
+.
+ The workflow has been prepared and tested to be running well for maintaining
+\emph on
+PsPM
+\emph default
+.
+ The explainations of key scripts are show below.
+\end_layout
+
+\begin_layout Subparagraph
+Step 1
+\end_layout
+
+\begin_layout Standard
+Import
+\family typewriter
+PsPM
+\end_layout
+
+\begin_layout Standard
+\begin_inset listings
+inline false
+status open
+
+\begin_layout Plain Layout
+
+- name:
+ Check out repository code
+\end_layout
+
+\begin_layout Plain Layout
+
+ uses:
+ actions/checkout@v2
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+This step imports the source code of
+\emph on
+PsPM
+\emph default
+ to the server,
+ in our case,
+ a Ubuntu server.
+\end_layout
+
+\begin_layout Subparagraph
+Step 2
+\end_layout
+
+\begin_layout Standard
+Import
+\family typewriter
+PsPM-data
+\end_layout
+
+\begin_layout Standard
+\begin_inset listings
+inline false
+status open
+
+\begin_layout Plain Layout
+
+- name:
+ Add test data
+\end_layout
+
+\begin_layout Plain Layout
+
+ uses:
+ actions/checkout@v2
+\end_layout
+
+\begin_layout Plain Layout
+
+ with:
+\end_layout
+
+\begin_layout Plain Layout
+
+ repository:
+ bachlab/PsPM-data
+\end_layout
+
+\begin_layout Plain Layout
+
+ token:
+ ${{ secrets.PSPM_PAT }}
+\end_layout
+
+\begin_layout Plain Layout
+
+ path:
+ ImportTestData
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+This step imports the test data in
+\emph on
+PsPM-data
+\emph default
+ to the server.
+ The details of the token is introduced in the next section.
+\end_layout
+
+\begin_layout Subparagraph
+Step 3
+\end_layout
+
+\begin_layout Standard
+Setup MATLAB
+\end_layout
+
+\begin_layout Standard
+\begin_inset listings
+inline false
+status open
+
+\begin_layout Plain Layout
+
+- name:
+ Setup MATLAB
+\end_layout
+
+\begin_layout Plain Layout
+
+ uses:
+ matlab-actions/setup-matlab@v1.0.1
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subparagraph
+Step 4
+\end_layout
+
+\begin_layout Standard
+Setup testing script
+\end_layout
+
+\begin_layout Standard
+\begin_inset listings
+inline false
+status open
+
+\begin_layout Plain Layout
+
+- name:
+ Run script
+\end_layout
+
+\begin_layout Plain Layout
+
+ id:
+ pspm_test_main
+\end_layout
+
+\begin_layout Plain Layout
+
+ uses:
+ matlab-actions/run-command@v1
+\end_layout
+
+\begin_layout Plain Layout
+
+ with:
+\end_layout
+
+\begin_layout Plain Layout
+
+ command:
+ addpath(`test'),
+ addpath(`src'),
+ pspm_test_github_actions
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+The script of testing
+\emph on
+PsPM
+\emph default
+ has been optimised for GitHub Actions,
+ which is saved as
+\family typewriter
+pspm_test_github_actions
+\family default
+.
+ Further modifications should be done here.
+\end_layout
+
+\begin_layout Subparagraph
+Step 5
+\end_layout
+
+\begin_layout Standard
+Save records
+\end_layout
+
+\begin_layout Standard
+\begin_inset listings
+inline false
+status open
+
+\begin_layout Plain Layout
+
+- name:
+ Check status
+\end_layout
+
+\begin_layout Plain Layout
+
+ id:
+ check_status
+\end_layout
+
+\begin_layout Plain Layout
+
+ uses:
+ andstor/file-existence-action@v1
+\end_layout
+
+\begin_layout Plain Layout
+
+ with:
+\end_layout
+
+\begin_layout Plain Layout
+
+ files:
+ "success.txt"
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+This step return a document
+\family typewriter
+success.txt
+\family default
+ if the script does not return any error,
+ indicating the code has passed the test suit.
+\end_layout
+
+\begin_layout Subparagraph
+Step 6
+\end_layout
+
+\begin_layout Standard
+Reture success
+\end_layout
+
+\begin_layout Standard
+\begin_inset listings
+inline false
+status open
+
+\begin_layout Plain Layout
+
+- name:
+ Return running success
+\end_layout
+
+\begin_layout Plain Layout
+
+ if:
+ ${{ steps.check_status.outputs.files_exists == `true' }}
+\end_layout
+
+\begin_layout Plain Layout
+
+ run:
+ exit 0
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subparagraph
+Step 7
+\end_layout
+
+\begin_layout Standard
+Return failure
+\end_layout
+
+\begin_layout Standard
+\begin_inset listings
+inline false
+status open
+
+\begin_layout Plain Layout
+
+- name:
+ Return running failure
+\end_layout
+
+\begin_layout Plain Layout
+
+ if:
+ ${{ steps.check_status.outputs.files_exists != `true' }}
+\end_layout
+
+\begin_layout Plain Layout
+
+ run:
+ exit 1
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Token
+\end_layout
+
+\begin_layout Standard
+Tokens are required to perform GitHub Actions for
+\emph on
+PsPM
+\emph default
+ as the data repository is stored as private.
+ The steps for generating and implementing tokens are described as below.
+\end_layout
+
+\begin_layout Subparagraph
+Step 1
+\end_layout
+
+\begin_layout Standard
+Generate a Personal Access Token (PAT) at https://github.com/settings/tokens,
+ name it as
+\family typewriter
+PSPM_PAT
+\family default
+ with required priviliges.
+\end_layout
+
+\begin_layout Subparagraph
+Step 2
+\end_layout
+
+\begin_layout Standard
+In the YAML file,
+ the script for running GitHub Actions,
+ make sure the PAT file has been mentioned appropriately,
+ like
+\end_layout
+
+\begin_layout Standard
+\begin_inset listings
+inline false
+status open
+
+\begin_layout Plain Layout
+
+token:
+ ${{ secrets.PSPM_PAT }}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subparagraph
+Step 3
+\end_layout
+
+\begin_layout Standard
+In the settings of
+\emph on
+PsPM
+\emph default
+ repository,
+ which can be found at https://github.com/bachlab/PsPM/settings/secrets/actions,
+ make sure
+\emph on
+Repository Secrets
+\emph default
+,
+ which is under
+\emph on
+Actions Secrets
+\emph default
+,
+ has contained
+\family typewriter
+PSPM_PAT
+\family default
+.
+ This operation requires your privilige to access the setting profiles of the correspoding repository.
+\end_layout
+
+\begin_layout Subparagraph
+Step 4
+\end_layout
+
+\begin_layout Standard
+Similar to Step 3,
+ in the settings of
+\emph on
+PsPM-data
+\emph default
+ repository,
+ which can be found at https://github.com/bachlab/PsPM-data/settings/secrets/actions,
+ make sure
+\emph on
+Repository Secrets
+\emph default
+,
+ which is under
+\emph on
+Actions Secrets
+\emph default
+,
+ has contained
+\family typewriter
+PSPM_PAT
+\family default
+.
+ This operation requires your privilige to access the setting profiles of the correspoding repository.
+\end_layout
+
+\begin_layout Standard
+Now the script should be running ok.
+ Please note the PAT must be updated regularly due to security concerns.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Newpage pagebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
+List of functions
+\end_layout
+
+\begin_layout Quote
+Updated 27 October 2024
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+
+
+
+
+
+
+
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Function name
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Main author(s)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Initially
+\end_layout
+
+\begin_layout Plain Layout
+introduced
+\end_layout
+
+\begin_layout Plain Layout
+PsPM version
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Lastly
+\end_layout
+
+\begin_layout Plain Layout
+updated
+\end_layout
+
+\begin_layout Plain Layout
+PsPM version
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Test function
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+Test document
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+f_SCR
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB & JD
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+f_SF
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+g_SCR
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB & TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+scr
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_align_channels
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.1.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_bf_data
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+5.1.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.1.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_bf_FIR
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_bf_hprf
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_bf_hprf_e
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_bf_hprf_f
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_bf_hprf_fc
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_bf_hprf_fc_f
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_bf_lcrf_gm
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_bf_ldrf_gm
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_bf_ldrf_gu
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_bf_psrf_erl
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_bf_psrf_fc
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_rarf_e
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_rarf_fc
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_rfrrf_e
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_rprf_e
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_bf_scrf
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_bf_scrf_f
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_bf_sebrf
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_bf_spsrf_box
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+LC
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_bf_spsrf_gamma
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+LC
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_butter
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.1.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_check_data
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_check_model
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.1.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_check_python_models
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_check_python
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_combine_markerchannels
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.1.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.1.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_convert_area2diameter
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.1.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_convert_au2unit
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_convert_ecg2hb
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+EY
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_convert_ecg2hb_amri
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+EY
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_convert_gaze
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+SM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4.3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_convert_hb2hp
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_convert_pixel2unit_core
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+LC
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_convert_ppg2hb
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+SG & TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_convert_unit
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_convert_visangle2sps_core
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+LC
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_convert_visual_angle_core
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_data_editor
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_dcm_inv
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_dcm
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_denoise_spike
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_display
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+PCP
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_doc
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_doc_gen
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_downsample
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_ecg_editor
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_emg_pp
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_epochs2logical
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.1.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_export
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_extract_segments
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4.3
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_extract_segments_core
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_eye
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_filtfilt
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_channel
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_eye
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+5.1.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_sounds
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+SG
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_valid_fixations
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_format_history
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+EY
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_format_history_from_file
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+EY
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_gaze_pp
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_acq_bioread
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_acq_python
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_acq
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_acqmat
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_biograph
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_biosemi
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_biotrace
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_blink_l
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+LC
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4.0.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_blink_r
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+LC
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4.0.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_brainvis
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_cnt
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_custom
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_ecg
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_edf
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_emg
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_events
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_eyelink
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+CK & TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+5.1.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_gaze_x_l
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_gaze_y_l
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_gaze_x_r
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_gaze_y_r
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_hb
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_hp
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_hr
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_labchart
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_labchartmat_ext
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_labchartmat_in
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_marker
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_markerinfo
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_mat
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_obs
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+LR
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_physlog
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_ppg
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_pupil
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_pupil_l
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_pupil_r
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_resp
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_rf
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_saccade_l
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+LC
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4.0.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_saccade_r
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+LC
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4.0.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_scr
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_smi
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+EY
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_smr
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_smrx
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_sound
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_sps
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+LC
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_sps_l
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+LC
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_sps_r
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+LC
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_timing
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_txt
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_vario
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_viewpoint
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+EY
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_wdq
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_wdq_n
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_glm_recon
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_glm
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_guide
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+1.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.1 (terminated)
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_help_init
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_help_text
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_help
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_import
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_init
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_interp1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_interpolate
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_jobman
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+GG
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_leaky_integrator
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_load_channel
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.1.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_load_data
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_load_gaze
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_load1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_logical2epochs
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+BA
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_merge
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_multi_channel
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_multi2index
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_options
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_overwrite
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_path
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+EY
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_pp
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_prepdata
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_process_illuminance
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_pull_zenodo
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_pulse_convert
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_pupil_correct
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+EY
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_pupil_correct_eyelink
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+EY
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+5.1.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_pupil_pp
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+EY & TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_pupil_pp_options
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+EY
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_quit
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_remove_epochs
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_rename
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_resp_pp
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_rev_con
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_rev_dcm
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_rev_glm
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_review
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+GG
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_scr_pp
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+5.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_select_channels
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_sf_auc
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_sf_dcm
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_sf_mp
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_sf_scl
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_sf_theta
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_sf
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_show_arms
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_show_forum
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_show_help_doc
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_split_sessions
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+LR
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_struct2vec
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_tam
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_time2index
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_transfer_function
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_trim
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_ui_app
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_ui
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_update_channeltype
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_version
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_write_channel
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
+Contributors
+\end_layout
+
+\begin_layout Description
+DB Dominik Bach
+\end_layout
+
+\begin_layout Description
+BA Bernhard Agoué von Raußendorf
+\end_layout
+
+\begin_layout Description
+LC Laure Ciernik
+\end_layout
+
+\begin_layout Description
+JD Jean Daunizeau
+\end_layout
+
+\begin_layout Description
+SG Samuel Gerster
+\end_layout
+
+\begin_layout Description
+GG Gabriel Graeni
+\end_layout
+
+\begin_layout Description
+SK Saurabh Khemka
+\end_layout
+
+\begin_layout Description
+CK Christoph Korn
+\end_layout
+
+\begin_layout Description
+TM Tobias Moser
+\end_layout
+
+\begin_layout Description
+PCP Philipp C Paulus
+\end_layout
+
+\begin_layout Description
+LR Linus Rüttimann
+\end_layout
+
+\begin_layout Description
+EY Eshref Yozdemir
+\end_layout
+
+\begin_layout Description
+TZ Teddy Zhao
+\end_layout
+
+\end_body
+\end_document
diff --git a/doc/PsPM_Developers_Guide.lyx b/doc/PsPM_Developers_Guide.lyx
index 7c7624a3..2381adc4 100644
--- a/doc/PsPM_Developers_Guide.lyx
+++ b/doc/PsPM_Developers_Guide.lyx
@@ -6885,6 +6885,73 @@ After you have chosen a file and filled in all values correctly,
By pressing on the green arrow the selected file will be trimmed according to the filled in values
\end_layout
+\begin_layout Subsubsection
+Path definition
+\end_layout
+
+\begin_layout Standard
+Since version 7.0,
+
+\family typewriter
+pspm_init
+\family default
+ will conttol the path of PsPM by temporarily freezing the unrelated paths.
+ This is because users reported that they had pre-defined paths and these paths caused issues when running PsPM.
+ The current solution is,
+ PsPM will remember the paths that users have defined but are not used by PsPM,
+ and it will remove such paths from MATLAB before starting up PsPM.
+ Then PsPM will load its own required paths to MATLAB and check these paths can work properly.
+ After running PsPM,
+ if users would like to exit from PsPM,
+ PsPM will remove its own paths and added back the users' defined paths to MATLAB.
+\end_layout
+
+\begin_layout Standard
+The paths required for running PsPM are
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm/pspm_cfg
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm/ext/spm
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm/ext/matlabbatch
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm/ext/matlabbatch/cfg_basicio
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm/ext/vba
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm/ext/vba/subfunctions
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+pspm/ext/vba/stats&plots
+\end_layout
+
\begin_layout Subsection
MATLABbatch:
How to
@@ -8751,7 +8818,7 @@ Checks for warnings,
\end_layout
-\begin_layout Standard
+\begin_layout Subparagraph
Tests
\begin_inset Newline linebreak
\end_inset
@@ -9222,6 +9289,10 @@ Pass invalid input arguments and check if the warnings are as expected.
\begin_layout Subparagraph
Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
\end_layout
\begin_layout Standard
@@ -9542,6 +9613,10 @@ Pass valid input arguments and check if there are no warnings.
\begin_layout Subparagraph
Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
\end_layout
\begin_layout Standard
@@ -9674,7 +9749,11 @@ Check if added hb channels show an expected behaviour.
\end_layout
\begin_layout Subparagraph
-Tests (for each channel)
+Tests
+\end_layout
+
+\begin_layout Standard
+(for each channel)
\begin_inset Newline linebreak
\end_inset
@@ -10010,7 +10089,13 @@ ID:invalid_input
\begin_layout Plain Layout
\family typewriter
-pspm_filtfilt([1:10],[1:20],[1:10]) [data length less than 3 times filter order]
+pspm_filtfilt([1:10],[1:20],[1:10])
+\end_layout
+
+\begin_layout Plain Layout
+
+\family typewriter
+[data length less than 3 times filter order]
\end_layout
\end_inset
@@ -10661,7 +10746,7 @@ Tests
\begin_inset Tabular
-
+
@@ -11034,6 +11119,10 @@ Runs
pspm_extract_segments
\family default
with a particular GLM model stored in
+\end_layout
+
+\begin_layout Standard
+
\family typewriter
ImportTestData/fitted_models
\family default
@@ -11146,6 +11235,10 @@ Runs
pspm_extract_segments
\family default
with a particular DCM model stored in
+\end_layout
+
+\begin_layout Standard
+
\family typewriter
ImportTestData/fitted_models
\family default
@@ -16919,8 +17012,8 @@ Tests
\begin_inset Tabular
-
-
+
+
\begin_inset Text
@@ -18238,7 +18331,7 @@ Checks for warnings,
if the structure of the import variable is invalid.
\end_layout
-\begin_layout Standard
+\begin_layout Subparagraph
Tests
\begin_inset Newline linebreak
\end_inset
@@ -18520,10 +18613,6 @@ These are parameters which define what kind of data should be passed to
pspm_interpolate
\family default
and which options should be set.
-\begin_inset Newline linebreak
-\end_inset
-
-
\end_layout
\begin_layout Standard
@@ -20437,10 +20526,6 @@ Tries to pass invalid data structures,
\begin_layout Subparagraph
Tests for GLM
-\begin_inset Newline linebreak
-\end_inset
-
-
\end_layout
\begin_layout Standard
@@ -20560,10 +20645,6 @@ ID:invalid_input
\begin_layout Subparagraph
Tests for DCM & SF
-\begin_inset Newline linebreak
-\end_inset
-
-
\end_layout
\begin_layout Standard
@@ -20709,10 +20790,6 @@ ID:invalid_input
\begin_layout Subparagraph
Tests for DCM
-\begin_inset Newline linebreak
-\end_inset
-
-
\end_layout
\begin_layout Standard
@@ -20835,10 +20912,6 @@ options.zscored = 1 & pspm_load1(dfn,
\begin_layout Subparagraph
Tests for GLM & SF
-\begin_inset Newline linebreak
-\end_inset
-
-
\end_layout
\begin_layout Standard
@@ -22054,7 +22127,7 @@ Tests
-
+
@@ -23275,7 +23348,7 @@ Function name
invalid_input(this)
\end_layout
-\begin_layout Standard
+\begin_layout Subparagraph
Description
\end_layout
@@ -23284,6 +23357,15 @@ Checks for warnings,
if the input arguments are invalid.
\end_layout
+\begin_layout Subparagraph
+\noindent
+Tests
+\begin_inset Newline linebreak
+\end_inset
+
+
+\end_layout
+
\begin_layout Subparagraph
\noindent
\begin_inset Tabular
@@ -23446,11 +23528,6 @@ ID:invalid_input
\end_layout
-\begin_layout Standard
-\noindent
-Tests
-\end_layout
-
\begin_layout Paragraph
Hipassfilter test
\end_layout
@@ -29104,12 +29181,18 @@ Now the script should be running ok.
List of functions
\end_layout
+\begin_layout Quote
+Updated 27 October 2024
+\end_layout
+
\begin_layout Standard
\begin_inset Tabular
-
+
-
-
+
+
+
+
@@ -29117,7 +29200,7 @@ List of functions
\begin_inset Text
\begin_layout Plain Layout
-Function Name
+Function name
\end_layout
\end_inset
@@ -29126,87 +29209,99 @@ Function Name
\begin_inset Text
\begin_layout Plain Layout
-Main Author(s)
+Main author(s)
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-Test Function
+Initially
+\end_layout
+
+\begin_layout Plain Layout
+introduced
+\end_layout
+
+\begin_layout Plain Layout
+PsPM version
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-Test Document
+Lastly
+\end_layout
+
+\begin_layout Plain Layout
+updated
+\end_layout
+
+\begin_layout Plain Layout
+PsPM version
\end_layout
\end_inset
|
- | |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-f_SCR
+Test function
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB & JD
+Test document
\end_layout
\end_inset
|
+ | |
+
\begin_inset Text
\begin_layout Plain Layout
--
+
+\family typewriter
+f_SCR
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+DB & JD
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-f_SF
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+?
\end_layout
\end_inset
@@ -29237,7 +29332,7 @@ DB
\begin_layout Plain Layout
\family typewriter
-g_SCR
+f_SF
\end_layout
\end_inset
@@ -29251,82 +29346,78 @@ DB
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+?
\end_layout
\end_inset
|
- | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+-
\end_layout
\end_inset
|
+ |
+
\begin_inset Text
\begin_layout Plain Layout
-x
+
+\family typewriter
+g_SCR
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+DB
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-scr
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+?
\end_layout
\end_inset
@@ -29335,7 +29426,7 @@ DB
\begin_inset Text
\begin_layout Plain Layout
-x
+-
\end_layout
\end_inset
@@ -29344,7 +29435,7 @@ x
\begin_inset Text
\begin_layout Plain Layout
-x
+-
\end_layout
\end_inset
@@ -29357,7 +29448,7 @@ x
\begin_layout Plain Layout
\family typewriter
-pspm_align_channels
+pspm
\end_layout
\end_inset
@@ -29366,87 +29457,83 @@ pspm_align_channels
\begin_inset Text
\begin_layout Plain Layout
-DB
+DB & TZ
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+?
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+7.0
\end_layout
\end_inset
|
- | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_axpos
+✔
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+✔
\end_layout
\end_inset
|
+ |
+
\begin_inset Text
\begin_layout Plain Layout
--
+
+\family typewriter
+scr
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+DB
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_bf_brf
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-SK & DB
+7.0
\end_layout
\end_inset
@@ -29455,7 +29542,7 @@ SK & DB
\begin_inset Text
\begin_layout Plain Layout
--
+✔
\end_layout
\end_inset
@@ -29464,7 +29551,7 @@ SK & DB
\begin_inset Text
\begin_layout Plain Layout
--
+✔
\end_layout
\end_inset
@@ -29477,7 +29564,7 @@ SK & DB
\begin_layout Plain Layout
\family typewriter
-pspm_bf_FIR
+pspm_align_channels
\end_layout
\end_inset
@@ -29491,82 +29578,78 @@ DB
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+3.1
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+6.1.2
\end_layout
\end_inset
|
- | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_bf_Fourier
+✔
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+✔
\end_layout
\end_inset
|
+ |
+
\begin_inset Text
\begin_layout Plain Layout
--
+
+\family typewriter
+pspm_bf_data
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+DB
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_bf_hprf
+5.1.1
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+6.1.2
\end_layout
\end_inset
@@ -29597,7 +29680,7 @@ DB
\begin_layout Plain Layout
\family typewriter
-pspm_bf_hprf_e
+pspm_bf_FIR
\end_layout
\end_inset
@@ -29606,87 +29689,83 @@ pspm_bf_hprf_e
\begin_inset Text
\begin_layout Plain Layout
-TM
+DB
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+?
\end_layout
\end_inset
|
- | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_bf_hprf_fc
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+-
\end_layout
\end_inset
|
+ |
+
\begin_inset Text
\begin_layout Plain Layout
--
+
+\family typewriter
+pspm_bf_hprf
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+TM
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_bf_hprf_fc_f
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+?
\end_layout
\end_inset
@@ -29711,18 +29790,18 @@ TM
|
| |
-
+
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
-pspm_bf_lcrf_gm
+pspm_bf_hprf_e
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
@@ -29731,87 +29810,83 @@ TM
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+?
\end_layout
\end_inset
|
- | | | |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_bf_ldrf_gm
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+-
\end_layout
\end_inset
|
-
+ | | |
+
+
\begin_inset Text
\begin_layout Plain Layout
--
+
+\family typewriter
+pspm_bf_hprf_f
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+TM
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_bf_ldrf_gu
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+?
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
@@ -29820,7 +29895,7 @@ TM
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
@@ -29837,7 +29912,7 @@ TM
\begin_layout Plain Layout
\family typewriter
-pspm_bf_psrf_fc
+pspm_bf_hprf_fc
\end_layout
\end_inset
@@ -29851,82 +29926,78 @@ TM
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+?
\end_layout
\end_inset
|
- | | | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_rarf_e
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+-
\end_layout
\end_inset
|
+ |
+
\begin_inset Text
\begin_layout Plain Layout
--
+
+\family typewriter
+pspm_bf_hprf_fc_f
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+TM
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_rarf_fc
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+?
\end_layout
\end_inset
@@ -29957,7 +30028,7 @@ TM
\begin_layout Plain Layout
\family typewriter
-pspm_rfrrf_e
+pspm_bf_lcrf_gm
\end_layout
\end_inset
@@ -29971,82 +30042,78 @@ TM
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+?
\end_layout
\end_inset
|
- | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_rprf_e
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+-
\end_layout
\end_inset
|
+ |
+
\begin_inset Text
\begin_layout Plain Layout
--
+
+\family typewriter
+pspm_bf_ldrf_gm
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+TM
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_bf_scrf_f
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+?
\end_layout
\end_inset
@@ -30077,7 +30144,7 @@ DB
\begin_layout Plain Layout
\family typewriter
-pspm_bf_scrf
+pspm_bf_ldrf_gu
\end_layout
\end_inset
@@ -30086,87 +30153,83 @@ pspm_bf_scrf
\begin_inset Text
\begin_layout Plain Layout
-DB
+TM
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+?
\end_layout
\end_inset
|
- | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_bf_spsrf_box
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-LC
+-
\end_layout
\end_inset
|
+ |
+
\begin_inset Text
\begin_layout Plain Layout
--
+
+\family typewriter
+pspm_bf_psrf_erl
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+TM
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_bf_spsrf_gamma
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-LC
+?
\end_layout
\end_inset
@@ -30191,102 +30254,98 @@ LC
|
| |
-
+
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
-pspm_butter
+pspm_bf_psrf_fc
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+TM
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-X
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-X
+?
\end_layout
\end_inset
|
- | | | |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_con1
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+-
\end_layout
\end_inset
|
+ | |
+
\begin_inset Text
\begin_layout Plain Layout
--
+
+\family typewriter
+pspm_rarf_e
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+TM
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_con2
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+?
\end_layout
\end_inset
@@ -30317,7 +30376,7 @@ DB
\begin_layout Plain Layout
\family typewriter
-pspm_contrast
+pspm_rarf_fc
\end_layout
\end_inset
@@ -30326,87 +30385,83 @@ pspm_contrast
\begin_inset Text
\begin_layout Plain Layout
-DB
+TM
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+?
\end_layout
\end_inset
|
- | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_convert_area2diameter
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+-
\end_layout
\end_inset
|
+ |
+
\begin_inset Text
\begin_layout Plain Layout
--
+
+\family typewriter
+pspm_rfrrf_e
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+TM
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_convert_au2mm
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+?
\end_layout
\end_inset
@@ -30437,7 +30492,7 @@ TM
\begin_layout Plain Layout
\family typewriter
-pspm_convert_illum2lum
+pspm_rprf_e
\end_layout
\end_inset
@@ -30451,82 +30506,78 @@ TM
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+?
\end_layout
\end_inset
|
- | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_convert_lux2cdm2
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+-
\end_layout
\end_inset
|
+ |
+
\begin_inset Text
\begin_layout Plain Layout
--
+
+\family typewriter
+pspm_bf_scrf
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+DB
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_convert_mm2visdeg
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+?
\end_layout
\end_inset
@@ -30557,7 +30608,7 @@ TM
\begin_layout Plain Layout
\family typewriter
-pspm_convert_pixel2unit_core
+pspm_bf_scrf_f
\end_layout
\end_inset
@@ -30566,92 +30617,88 @@ pspm_convert_pixel2unit_core
\begin_inset Text
\begin_layout Plain Layout
-LC
+DB
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+?
\end_layout
\end_inset
|
- | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_convert_unit
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+-
\end_layout
\end_inset
|
-
+ | |
+
+
\begin_inset Text
\begin_layout Plain Layout
-x
+
+\family typewriter
+pspm_bf_sebrf
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+TM
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_convert_visangle2sps
+3.1
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-LC
+?
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
@@ -30660,7 +30707,7 @@ LC
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
@@ -30671,22 +30718,22 @@ LC
|
| | | |
-
+
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
-pspm_convert_visual_angle_core
+pspm_bf_spsrf_box
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+LC
\end_layout
\end_inset
@@ -30695,7 +30742,7 @@ DB
\begin_inset Text
\begin_layout Plain Layout
--
+4.0
\end_layout
\end_inset
@@ -30704,69 +30751,65 @@ DB
\begin_inset Text
\begin_layout Plain Layout
--
+?
\end_layout
\end_inset
|
- | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_data_editor
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+-
\end_layout
\end_inset
|
+ |
+
\begin_inset Text
\begin_layout Plain Layout
--
+
+\family typewriter
+pspm_bf_spsrf_gamma
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+LC
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_dcm_inv
+4.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+?
\end_layout
\end_inset
@@ -30797,7 +30840,7 @@ DB
\begin_layout Plain Layout
\family typewriter
-pspm_dcm
+pspm_butter
\end_layout
\end_inset
@@ -30811,87 +30854,83 @@ DB
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+6.1.2
\end_layout
\end_inset
|
- | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_denoise_spike
+✔
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+✔
\end_layout
\end_inset
|
-
+ | |
+
+
\begin_inset Text
\begin_layout Plain Layout
--
+
+\family typewriter
+pspm_check_data
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+DB
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_display
+7.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-PCP
+7.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
@@ -30900,7 +30939,7 @@ PCP
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
@@ -30911,18 +30950,18 @@ PCP
|
| | | |
-
+
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
-pspm_down
+pspm_check_model
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
@@ -30931,78 +30970,1100 @@ DB
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+6.1.1
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+7.0
\end_layout
\end_inset
|
- | | | |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_downsample
+✔
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+✔
\end_layout
\end_inset
|
-
+ | | |
+
+
\begin_inset Text
\begin_layout Plain Layout
--
+
+\family typewriter
+pspm_check_python_models
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+DB
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_ecg2hb
+7.0
\end_layout
\end_inset
|
-
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+ | |
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_check_python
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_combine_markerchannels
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.1.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.1.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_convert_area2diameter
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.1.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_convert_au2unit
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_convert_ecg2hb
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+EY
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_convert_ecg2hb_amri
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+EY
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_convert_gaze
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+SM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4.3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_convert_hb2hp
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_convert_pixel2unit_core
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+LC
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_convert_ppg2hb
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+SG & TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_convert_unit
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_convert_visangle2sps_core
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+LC
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_convert_visual_angle_core
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_data_editor
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_dcm_inv
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_dcm
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_denoise_spike
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_display
+\end_layout
+
+\end_inset
+ |
+
\begin_inset Text
\begin_layout Plain Layout
@@ -31011,11 +32072,3277 @@ PCP
\end_inset
|
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_doc
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_doc_gen
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_downsample
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_ecg_editor
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_emg_pp
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_epochs2logical
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.1.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_export
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_extract_segments
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4.3
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_extract_segments_core
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_eye
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_filtfilt
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_channel
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_eye
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+5.1.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_sounds
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+SG
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_find_valid_fixations
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_format_history
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+EY
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_format_history_from_file
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+EY
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_gaze_pp
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_acq_bioread
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_acq_python
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_acq
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_acqmat
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_biograph
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_biosemi
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_biotrace
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_blink_l
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+LC
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4.0.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_blink_r
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+LC
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4.0.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_brainvis
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_cnt
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_custom
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_ecg
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_edf
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_emg
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_events
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_eyelink
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+CK & TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+5.1.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_gaze_x_l
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_gaze_y_l
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_gaze_x_r
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_gaze_y_r
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_hb
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_hp
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_hr
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_labchart
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_labchartmat_ext
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_labchartmat_in
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_marker
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_markerinfo
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_mat
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_obs
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+LR
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_physlog
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_ppg
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_pupil
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_pupil_l
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_pupil_r
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_resp
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+
\begin_inset Text
\begin_layout Plain Layout
-x
+
+\family typewriter
+pspm_get_rf
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
\end_layout
\end_inset
@@ -31024,7 +35351,7 @@ x
\begin_inset Text
\begin_layout Plain Layout
-x
+-
\end_layout
\end_inset
@@ -31037,7 +35364,7 @@ x
\begin_layout Plain Layout
\family typewriter
-pspm_ecg2hb_amri
+pspm_get_saccade_l
\end_layout
\end_inset
@@ -31046,7 +35373,25 @@ pspm_ecg2hb_amri
\begin_inset Text
\begin_layout Plain Layout
-EY
+LC
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4.0.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
\end_layout
\end_inset
@@ -31055,7 +35400,7 @@ EY
\begin_inset Text
\begin_layout Plain Layout
-x
+-
\end_layout
\end_inset
@@ -31077,7 +35422,7 @@ x
\begin_layout Plain Layout
\family typewriter
-pspm_ecg_editor
+pspm_get_saccade_r
\end_layout
\end_inset
@@ -31086,7 +35431,25 @@ pspm_ecg_editor
\begin_inset Text
\begin_layout Plain Layout
-TM
+LC
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+4.0.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
\end_layout
\end_inset
@@ -31117,7 +35480,7 @@ TM
\begin_layout Plain Layout
\family typewriter
-pspm_exp
+pspm_get_scr
\end_layout
\end_inset
@@ -31129,13 +35492,31 @@ pspm_exp
DB
\end_layout
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
-x
+✔
\end_layout
\end_inset
@@ -31144,7 +35525,7 @@ x
\begin_inset Text
\begin_layout Plain Layout
--
+✔
\end_layout
\end_inset
@@ -31157,7 +35538,7 @@ x
\begin_layout Plain Layout
\family typewriter
-pspm_extract_segments
+pspm_get_smi
\end_layout
\end_inset
@@ -31166,7 +35547,25 @@ pspm_extract_segments
\begin_inset Text
\begin_layout Plain Layout
-TM
+EY
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
\end_layout
\end_inset
@@ -31175,7 +35574,7 @@ TM
\begin_inset Text
\begin_layout Plain Layout
-x
+-
\end_layout
\end_inset
@@ -31184,25 +35583,25 @@ x
\begin_inset Text
\begin_layout Plain Layout
-x
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
-pspm_filtfilt
+pspm_get_smr
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
@@ -31211,82 +35610,194 @@ DB
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+✔
\end_layout
\end_inset
|
| | | |
-
+
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
-pspm_find_channel
+pspm_get_smrx
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+TZ
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+6.2
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+ | |
+
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+pspm_get_sound
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+TM
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+-
\end_layout
\end_inset
|
+
+
\begin_inset Text
\begin_layout Plain Layout
-x
+
+\family typewriter
+pspm_get_sps
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+LC
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_find_data_epochs
+?
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+?
\end_layout
\end_inset
@@ -31317,7 +35828,7 @@ TM
\begin_layout Plain Layout
\family typewriter
-pspm_find_sounds
+pspm_get_sps_l
\end_layout
\end_inset
@@ -31326,105 +35837,101 @@ pspm_find_sounds
\begin_inset Text
\begin_layout Plain Layout
-SG
+LC
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+?
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+?
\end_layout
\end_inset
|
- | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_find_valid_fixations
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+-
\end_layout
\end_inset
|
-
+ | |
+
+
\begin_inset Text
\begin_layout Plain Layout
-x
+
+\family typewriter
+pspm_get_sps_r
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+LC
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_acq_bioread
+?
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+?
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+-
\end_layout
\end_inset
@@ -31437,7 +35944,7 @@ x
\begin_layout Plain Layout
\family typewriter
-pspm_get_acq
+pspm_get_timing
\end_layout
\end_inset
@@ -31451,82 +35958,78 @@ DB
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+?
\end_layout
\end_inset
|
- | | | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_acqmat
+✔
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+✔
\end_layout
\end_inset
|
+ |
+
\begin_inset Text
\begin_layout Plain Layout
-x
+
+\family typewriter
+pspm_get_txt
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+DB
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_biograph
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+?
\end_layout
\end_inset
@@ -31535,7 +36038,7 @@ DB
\begin_inset Text
\begin_layout Plain Layout
-x
+✔
\end_layout
\end_inset
@@ -31544,7 +36047,7 @@ x
\begin_inset Text
\begin_layout Plain Layout
-x
+✔
\end_layout
\end_inset
@@ -31557,7 +36060,7 @@ x
\begin_layout Plain Layout
\family typewriter
-pspm_get_biosemi
+pspm_get_vario
\end_layout
\end_inset
@@ -31571,82 +36074,78 @@ DB
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+?
\end_layout
\end_inset
|
- | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_biotrace
+✔
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+✔
\end_layout
\end_inset
|
+ |
+
\begin_inset Text
\begin_layout Plain Layout
-x
+
+\family typewriter
+pspm_get_viewpoint
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+EY
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_blink_l
+?
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+?
\end_layout
\end_inset
@@ -31677,7 +36176,7 @@ TM
\begin_layout Plain Layout
\family typewriter
-pspm_get_blink_r
+pspm_get_wdq
\end_layout
\end_inset
@@ -31686,7 +36185,25 @@ pspm_get_blink_r
\begin_inset Text
\begin_layout Plain Layout
-TM
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
\end_layout
\end_inset
@@ -31717,7 +36234,7 @@ TM
\begin_layout Plain Layout
\family typewriter
-pspm_get_brainvis
+pspm_get_wdq_n
\end_layout
\end_inset
@@ -31726,87 +36243,83 @@ pspm_get_brainvis
\begin_inset Text
\begin_layout Plain Layout
-DB
+TM
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+?
\end_layout
\end_inset
|
- | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_cell
+✔
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+✔
\end_layout
\end_inset
|
+ |
+
\begin_inset Text
\begin_layout Plain Layout
--
+
+\family typewriter
+pspm_glm_recon
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+DB
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_cnt
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+?
\end_layout
\end_inset
@@ -31837,7 +36350,7 @@ DB
\begin_layout Plain Layout
\family typewriter
-pspm_get_custom
+pspm_glm
\end_layout
\end_inset
@@ -31846,7 +36359,25 @@ pspm_get_custom
\begin_inset Text
\begin_layout Plain Layout
-TM
+DB
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.1
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+7.0
\end_layout
\end_inset
@@ -31855,7 +36386,7 @@ TM
\begin_inset Text
\begin_layout Plain Layout
--
+✔
\end_layout
\end_inset
@@ -31864,109 +36395,105 @@ TM
\begin_inset Text
\begin_layout Plain Layout
--
+✔
\end_layout
\end_inset
|
| |
-
+
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
-pspm_get_ecg
+pspm_guide
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+TZ
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+1.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+6.1 (terminated)
\end_layout
\end_inset
|
- | | | |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_edf
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+-
\end_layout
\end_inset
|
+ | |
+
\begin_inset Text
\begin_layout Plain Layout
-x
+
+\family typewriter
+pspm_help_init
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+TZ
\end_layout
\end_inset
- |
- |
-
-
+ |
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_events
+7.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+7.0
\end_layout
\end_inset
@@ -31975,7 +36502,7 @@ DB
\begin_inset Text
\begin_layout Plain Layout
-x
+-
\end_layout
\end_inset
@@ -31984,7 +36511,7 @@ x
\begin_inset Text
\begin_layout Plain Layout
-x
+-
\end_layout
\end_inset
@@ -31997,7 +36524,7 @@ x
\begin_layout Plain Layout
\family typewriter
-pspm_get_eyelink
+pspm_help_text
\end_layout
\end_inset
@@ -32006,92 +36533,88 @@ pspm_get_eyelink
\begin_inset Text
\begin_layout Plain Layout
-CK & TM
+TZ
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+6.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+7.0
\end_layout
\end_inset
|
- | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_gaze_x_l
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+-
\end_layout
\end_inset
|
-
+ | |
+
+
\begin_inset Text
\begin_layout Plain Layout
--
+
+\family typewriter
+pspm_help
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+TZ
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_gaze_y_l
+7.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+7.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
@@ -32100,7 +36623,7 @@ TM
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
@@ -32117,7 +36640,7 @@ TM
\begin_layout Plain Layout
\family typewriter
-pspm_get_gaze_x_r
+pspm_import
\end_layout
\end_inset
@@ -32126,87 +36649,83 @@ pspm_get_gaze_x_r
\begin_inset Text
\begin_layout Plain Layout
-TM
+DB
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+?
\end_layout
\end_inset
|
- | | | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_gaze_y_r
+✔
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+✔
\end_layout
\end_inset
|
+ |
+
\begin_inset Text
\begin_layout Plain Layout
--
+
+\family typewriter
+pspm_init
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+DB
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_hb
+3.1
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+7.0
\end_layout
\end_inset
@@ -32215,7 +36734,7 @@ DB
\begin_inset Text
\begin_layout Plain Layout
-x
+-
\end_layout
\end_inset
@@ -32224,109 +36743,105 @@ x
\begin_inset Text
\begin_layout Plain Layout
-x
+-
\end_layout
\end_inset
|
| |
-
+
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
-pspm_get_hp
+pspm_interp1
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+TZ
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+6.1
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+?
\end_layout
\end_inset
|
- | | | |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_hr
+✔
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+✔
\end_layout
\end_inset
|
+ | |
+
\begin_inset Text
\begin_layout Plain Layout
-x
+
+\family typewriter
+pspm_interpolate
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+TM
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_labchartmat_ext
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+?
\end_layout
\end_inset
@@ -32335,7 +36850,7 @@ DB
\begin_inset Text
\begin_layout Plain Layout
-x
+✔
\end_layout
\end_inset
@@ -32344,7 +36859,7 @@ x
\begin_inset Text
\begin_layout Plain Layout
-x
+✔
\end_layout
\end_inset
@@ -32357,7 +36872,7 @@ x
\begin_layout Plain Layout
\family typewriter
-pspm_get_labchartmat_in
+pspm_jobman
\end_layout
\end_inset
@@ -32366,92 +36881,88 @@ pspm_get_labchartmat_in
\begin_inset Text
\begin_layout Plain Layout
-DB
+GG
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+?
\end_layout
\end_inset
|
- | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_marker
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+-
\end_layout
\end_inset
|
-
+ | |
+
+
\begin_inset Text
\begin_layout Plain Layout
-x
+
+\family typewriter
+pspm_leaky_integrator
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+?
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_markerinfo
+?
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+?
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
@@ -32460,7 +36971,7 @@ DB
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
@@ -32471,18 +36982,18 @@ DB
|
| | | |
-
+
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
-pspm_get_mat
+pspm_load_channel
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
@@ -32491,82 +37002,78 @@ DB
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+6.1.2
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+7.0
\end_layout
\end_inset
|
- | | | |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_obs
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-LR
+-
\end_layout
\end_inset
|
+ | |
+
\begin_inset Text
\begin_layout Plain Layout
-x
+
+\family typewriter
+pspm_load_data
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+DB
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_physlog
+?
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+?
\end_layout
\end_inset
@@ -32575,7 +37082,7 @@ TM
\begin_inset Text
\begin_layout Plain Layout
--
+✔
\end_layout
\end_inset
@@ -32584,7 +37091,7 @@ TM
\begin_inset Text
\begin_layout Plain Layout
--
+✔
\end_layout
\end_inset
@@ -32597,7 +37104,7 @@ TM
\begin_layout Plain Layout
\family typewriter
-pspm_get_pupil
+pspm_load_gaze
\end_layout
\end_inset
@@ -32611,82 +37118,78 @@ DB
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+6.2
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+?
\end_layout
\end_inset
|
- | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-\family typewriter
-pspm_get_pupil_l
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+
\end_layout
\end_inset
|
+ |
+
\begin_inset Text
\begin_layout Plain Layout
--
+
+\family typewriter
+pspm_load1
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+DB
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_pupil_r
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+?
\end_layout
\end_inset
@@ -32695,7 +37198,7 @@ TM
\begin_inset Text
\begin_layout Plain Layout
--
+✔
\end_layout
\end_inset
@@ -32704,7 +37207,7 @@ TM
\begin_inset Text
\begin_layout Plain Layout
--
+✔
\end_layout
\end_inset
@@ -32717,7 +37220,7 @@ TM
\begin_layout Plain Layout
\family typewriter
-pspm_get_resp
+pspm_logical2epochs
\end_layout
\end_inset
@@ -32726,87 +37229,83 @@ pspm_get_resp
\begin_inset Text
\begin_layout Plain Layout
-DB
+BA
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+7.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+7.0
\end_layout
\end_inset
|
- | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_rf
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+-
\end_layout
\end_inset
|
+ |
+
\begin_inset Text
\begin_layout Plain Layout
--
+
+\family typewriter
+pspm_merge
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+DB
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_saccade_l
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-LC
+?
\end_layout
\end_inset
@@ -32831,107 +37330,103 @@ LC
|
| |
-
+
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
-pspm_get_saccade_r
+pspm_multi_channel
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-LC
+DB
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+?
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+?
\end_layout
\end_inset
|
- | | | |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_scr
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+-
\end_layout
\end_inset
|
-
+ | | |
+
+
\begin_inset Text
\begin_layout Plain Layout
-x
+
+\family typewriter
+pspm_multi2index
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+DB
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_smi
+6.2
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-EY
+?
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
@@ -32940,7 +37435,7 @@ EY
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
@@ -32951,93 +37446,89 @@ EY
|
| | | |
-
+
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
-pspm_get_sps
+pspm_options
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-LC
+TZ
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+6.1
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+7.0
\end_layout
\end_inset
|
- | | | |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_smr
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+-
\end_layout
\end_inset
|
+ | |
+
\begin_inset Text
\begin_layout Plain Layout
-x
+
+\family typewriter
+pspm_overwrite
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+TZ
\end_layout
\end_inset
|
- |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_smrx
+6.0
\end_layout
\end_inset
@@ -33046,12 +37537,12 @@ pspm_get_smrx
\begin_inset Text
\begin_layout Plain Layout
-TZ
+?
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
@@ -33060,7 +37551,7 @@ TZ
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
@@ -33077,7 +37568,7 @@ TZ
\begin_layout Plain Layout
\family typewriter
-pspm_get_sound
+pspm_path
\end_layout
\end_inset
@@ -33086,7 +37577,25 @@ pspm_get_sound
\begin_inset Text
\begin_layout Plain Layout
-TM
+EY
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
\end_layout
\end_inset
@@ -33095,7 +37604,7 @@ TM
\begin_inset Text
\begin_layout Plain Layout
--
+✔
\end_layout
\end_inset
@@ -33117,7 +37626,7 @@ TM
\begin_layout Plain Layout
\family typewriter
-pspm_get_timing
+pspm_pp
\end_layout
\end_inset
@@ -33131,220 +37640,212 @@ DB
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+?
\end_layout
\end_inset
|
- | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_txt
+✔
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+✔
\end_layout
\end_inset
|
-
+ | |
+
+
\begin_inset Text
\begin_layout Plain Layout
-x
+
+\family typewriter
+pspm_prepdata
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+DB
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_vario
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+?
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+✔
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+✔
\end_layout
\end_inset
|
| | | |
-
+
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
-pspm_get_viewpoint
+pspm_process_illuminance
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-EY
+TM
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+3.1
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+?
\end_layout
\end_inset
|
- | | | |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_wdq
+✔
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+-
\end_layout
\end_inset
|
-
+ | | |
+
+
\begin_inset Text
\begin_layout Plain Layout
--
+
+\family typewriter
+pspm_pull_zenodo
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+DB
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_get_wdq_n
+7.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+7.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+-
\end_layout
\end_inset
@@ -33357,7 +37858,7 @@ x
\begin_layout Plain Layout
\family typewriter
-pspm_glm_recon
+pspm_pulse_convert
\end_layout
\end_inset
@@ -33371,82 +37872,78 @@ DB
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+?
\end_layout
\end_inset
|
- | | | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_glm
+✔
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+-
\end_layout
\end_inset
|
+ |
+
\begin_inset Text
\begin_layout Plain Layout
-x
+
+\family typewriter
+pspm_pupil_correct
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+EY
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_hb2hp
+?
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+?
\end_layout
\end_inset
@@ -33455,7 +37952,7 @@ DB
\begin_inset Text
\begin_layout Plain Layout
-x
+✔
\end_layout
\end_inset
@@ -33464,109 +37961,105 @@ x
\begin_inset Text
\begin_layout Plain Layout
-x
+-
\end_layout
\end_inset
|
| |
-
+
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
-pspm_hb2hr
+pspm_pupil_correct_eyelink
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+EY
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+5.1.2
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+?
\end_layout
\end_inset
|
- | | | |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_import
+✔
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+-
\end_layout
\end_inset
|
+ | |
+
\begin_inset Text
\begin_layout Plain Layout
-x
+
+\family typewriter
+pspm_pupil_pp
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+EY & TZ
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_init
+?
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+?
\end_layout
\end_inset
@@ -33575,7 +38068,7 @@ DB
\begin_inset Text
\begin_layout Plain Layout
--
+✔
\end_layout
\end_inset
@@ -33597,7 +38090,7 @@ DB
\begin_layout Plain Layout
\family typewriter
-pspm_interpolate
+pspm_pupil_pp_options
\end_layout
\end_inset
@@ -33606,87 +38099,83 @@ pspm_interpolate
\begin_inset Text
\begin_layout Plain Layout
-TM
+EY
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+?
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+?
\end_layout
\end_inset
|
- | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_jobman
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-GG
+-
\end_layout
\end_inset
|
+ |
+
\begin_inset Text
\begin_layout Plain Layout
--
+
+\family typewriter
+pspm_quit
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+DB
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_job_create
+?
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+?
\end_layout
\end_inset
@@ -33711,107 +38200,103 @@ DB
|
| |
-
+
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
-pspm_load_data
+pspm_remove_epochs
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+TM
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+4.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+?
\end_layout
\end_inset
|
- | | | |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_load1
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+-
\end_layout
\end_inset
|
-
+ | | |
+
+
\begin_inset Text
\begin_layout Plain Layout
-x
+
+\family typewriter
+pspm_rename
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+DB
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_load_single_chan
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-EY
+?
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
@@ -33820,7 +38305,7 @@ EY
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
@@ -33837,7 +38322,7 @@ EY
\begin_layout Plain Layout
\family typewriter
-pspm_merge
+pspm_resp_pp
\end_layout
\end_inset
@@ -33851,82 +38336,78 @@ DB
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+?
\end_layout
\end_inset
|
- | | | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_overwrite
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TZ
+-
\end_layout
\end_inset
|
+ |
+
\begin_inset Text
\begin_layout Plain Layout
--
+
+\family typewriter
+pspm_rev_con
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+DB
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_path
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-EY
+?
\end_layout
\end_inset
@@ -33935,7 +38416,7 @@ EY
\begin_inset Text
\begin_layout Plain Layout
-x
+-
\end_layout
\end_inset
@@ -33957,7 +38438,7 @@ x
\begin_layout Plain Layout
\family typewriter
-pspm_peakscore
+pspm_rev_dcm
\end_layout
\end_inset
@@ -33971,82 +38452,78 @@ DB
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+?
\end_layout
\end_inset
|
- | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_pp
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+-
\end_layout
\end_inset
|
+ |
+
\begin_inset Text
\begin_layout Plain Layout
-x
+
+\family typewriter
+pspm_rev_glm
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+DB
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
-\begin_layout Plain Layout
-
-\family typewriter
-pspm_ppg2hb
+\begin_layout Plain Layout
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-SG
+?
\end_layout
\end_inset
@@ -34077,7 +38554,7 @@ SG
\begin_layout Plain Layout
\family typewriter
-pspm_predval
+pspm_review
\end_layout
\end_inset
@@ -34086,87 +38563,83 @@ pspm_predval
\begin_inset Text
\begin_layout Plain Layout
-DB
+GG
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+?
\end_layout
\end_inset
|
- | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_prepdata
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+-
\end_layout
\end_inset
|
+ |
+
\begin_inset Text
\begin_layout Plain Layout
-x
+
+\family typewriter
+pspm_scr_pp
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+TZ
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_process_illuminance
+5.1
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+?
\end_layout
\end_inset
@@ -34175,7 +38648,7 @@ TM
\begin_inset Text
\begin_layout Plain Layout
-x
+✔
\end_layout
\end_inset
@@ -34184,109 +38657,105 @@ x
\begin_inset Text
\begin_layout Plain Layout
--
+✔
\end_layout
\end_inset
|
| |
-
+
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
-pspm_pulse_convert
+pspm_select_channels
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+?
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+6.2
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+?
\end_layout
\end_inset
|
- | | | |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_pupil_correct_eyelink
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-EY
+-
\end_layout
\end_inset
|
+ | |
+
\begin_inset Text
\begin_layout Plain Layout
-x
+
+\family typewriter
+pspm_sf_auc
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+DB
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_pupil_correct
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-EY
+?
\end_layout
\end_inset
@@ -34295,7 +38764,7 @@ EY
\begin_inset Text
\begin_layout Plain Layout
-x
+-
\end_layout
\end_inset
@@ -34317,7 +38786,7 @@ x
\begin_layout Plain Layout
\family typewriter
-pspm_pupil_pp
+pspm_sf_dcm
\end_layout
\end_inset
@@ -34326,87 +38795,83 @@ pspm_pupil_pp
\begin_inset Text
\begin_layout Plain Layout
-EY
+DB
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+?
\end_layout
\end_inset
|
- | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_pupil_pp_options
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-EY
+-
\end_layout
\end_inset
|
+ |
+
\begin_inset Text
\begin_layout Plain Layout
--
+
+\family typewriter
+pspm_sf_mp
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+DB
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_quit
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+?
\end_layout
\end_inset
@@ -34437,7 +38902,7 @@ DB
\begin_layout Plain Layout
\family typewriter
-pspm_ren
+pspm_sf_scl
\end_layout
\end_inset
@@ -34451,82 +38916,78 @@ DB
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+?
\end_layout
\end_inset
|
- | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_resp_pp
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+-
\end_layout
\end_inset
|
+ |
+
\begin_inset Text
\begin_layout Plain Layout
--
+
+\family typewriter
+pspm_sf_theta
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+DB
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_rev_con
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+?
\end_layout
\end_inset
@@ -34557,7 +39018,7 @@ DB
\begin_layout Plain Layout
\family typewriter
-pspm_rev_dcm
+pspm_sf
\end_layout
\end_inset
@@ -34569,6 +39030,24 @@ pspm_rev_dcm
DB
\end_layout
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+3.0
+\end_layout
+
+\end_inset
+ |
+
+\begin_inset Text
+
+\begin_layout Plain Layout
+?
+\end_layout
+
\end_inset
|
@@ -34597,7 +39076,7 @@ DB
\begin_layout Plain Layout
\family typewriter
-pspm_rev_glm
+pspm_show_arms
\end_layout
\end_inset
@@ -34611,87 +39090,83 @@ DB
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+3.0
\end_layout
\end_inset
|
- | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_rev2
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+-
\end_layout
\end_inset
|
-
+ | |
+
+
\begin_inset Text
\begin_layout Plain Layout
--
+
+\family typewriter
+pspm_show_forum
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+TZ
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_review
+5.1
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-GG
+5.1
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
@@ -34700,7 +39175,7 @@ GG
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
@@ -34711,102 +39186,98 @@ GG
|
| | | |
-
+
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
-pspm_segment_mean
+pspm_show_help_doc
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+TZ
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+5.1
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+5.1
\end_layout
\end_inset
|
- | | | |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_scr_pp
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TZ
+-
\end_layout
\end_inset
|
+ | |
+
\begin_inset Text
\begin_layout Plain Layout
-x
+
+\family typewriter
+pspm_split_sessions
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+LR & TZ
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_sf_auc
+5.1.1
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+?
\end_layout
\end_inset
@@ -34815,7 +39286,7 @@ DB
\begin_inset Text
\begin_layout Plain Layout
--
+✔
\end_layout
\end_inset
@@ -34824,25 +39295,25 @@ DB
\begin_inset Text
\begin_layout Plain Layout
--
+✔
\end_layout
\end_inset
|
| |
-
+
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
-pspm_sf_dcm
+pspm_struct2vec
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
@@ -34851,87 +39322,83 @@ DB
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+7.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+7.0
\end_layout
\end_inset
|
- | | | |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_sf_mp
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+-
\end_layout
\end_inset
|
-
+ | | |
+
+
\begin_inset Text
\begin_layout Plain Layout
--
+
+\family typewriter
+pspm_tam
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+DB
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_sf_scl
+7.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+7.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
@@ -34940,7 +39407,7 @@ DB
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
@@ -34957,7 +39424,7 @@ DB
\begin_layout Plain Layout
\family typewriter
-pspm_sf_theta
+pspm_time2index
\end_layout
\end_inset
@@ -34966,92 +39433,88 @@ pspm_sf_theta
\begin_inset Text
\begin_layout Plain Layout
-DB
+TZ & DB
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+5.1.2
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+7.0
\end_layout
\end_inset
|
- | | | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_sf
+✔
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+✔
\end_layout
\end_inset
|
-
+ | |
+
+
\begin_inset Text
\begin_layout Plain Layout
--
+
+\family typewriter
+pspm_transfer_function
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+DB
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_sf_get_theta
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+?
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
@@ -35060,7 +39523,7 @@ DB
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
@@ -35077,7 +39540,7 @@ DB
\begin_layout Plain Layout
\family typewriter
-pspm_show_arms
+pspm_trim
\end_layout
\end_inset
@@ -35091,227 +39554,219 @@ DB
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+?
\end_layout
\end_inset
|
- | | | | | |
-
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_spike_convert
+✔
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+✔
\end_layout
\end_inset
|
-
+ | |
+
+
\begin_inset Text
\begin_layout Plain Layout
--
+
+\family typewriter
+pspm_ui_app
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+TZ
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_split_sessions
+6.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-LR
+7.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+-
\end_layout
\end_inset
|
| | | |
-
+
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
-pspm_transfer_function
+pspm_ui
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+TZ
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+5.1
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+7.0
\end_layout
\end_inset
|
- | | | |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_time2index
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TZ
+-
\end_layout
\end_inset
|
-
+ | | |
+
+
\begin_inset Text
\begin_layout Plain Layout
-x
+
+\family typewriter
+pspm_update_channeltype
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+DB
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_trim
+6.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-DB
+7.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+-
\end_layout
\end_inset
|
| | | |
-
+
\begin_inset Text
\begin_layout Plain Layout
@@ -35322,91 +39777,87 @@ pspm_version
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+DB
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+3.1
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
--
+3.1
\end_layout
\end_inset
|
- | | | |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-pspm_write_channel
+-
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-TM
+-
\end_layout
\end_inset
|
-
+ | | |
+
+
\begin_inset Text
\begin_layout Plain Layout
-x
+
+\family typewriter
+pspm_write_channel
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-x
+TM
\end_layout
\end_inset
|
- |
-
-
+
\begin_inset Text
\begin_layout Plain Layout
-
-\family typewriter
-set_blinks_saccades_to_nan
+3.0
\end_layout
\end_inset
|
-
+
\begin_inset Text
\begin_layout Plain Layout
-EY
+7.0
\end_layout
\end_inset
@@ -35415,7 +39866,7 @@ EY
\begin_inset Text
\begin_layout Plain Layout
-x
+✔
\end_layout
\end_inset
@@ -35424,7 +39875,7 @@ x
\begin_inset Text
\begin_layout Plain Layout
--
+✔
\end_layout
\end_inset
@@ -35445,6 +39896,10 @@ Contributors
DB Dominik Bach
\end_layout
+\begin_layout Description
+BA Bernhard Agoué von Raußendorf
+\end_layout
+
\begin_layout Description
LC Laure Ciernik
\end_layout
diff --git a/doc/PsPM_Developers_Guide.pdf b/doc/PsPM_Developers_Guide.pdf
index 4a0b462b..3e936feb 100644
Binary files a/doc/PsPM_Developers_Guide.pdf and b/doc/PsPM_Developers_Guide.pdf differ
diff --git a/src/pspm_check_data.m b/src/pspm_check_data.m
index 0b849180..b0ae0870 100644
--- a/src/pspm_check_data.m
+++ b/src/pspm_check_data.m
@@ -8,6 +8,9 @@
% [sts, data] = pspm_check_data(data, infos)
% ● Developer's notes
% This code is taken from pspm_load_data; it could be improved using cellfun.
+% ● History
+% Introducted in Version 7.0
+% Written by Dominik R Bach (Bonn)
global settings
if isempty(settings)
| | | | |