Skip to content
d8c91b0
Compare
Choose a tag to compare

New Functions

  • pspm_bf_data
    • New function template to allow users creating their own basis functions from a data vector.

UI Improvements

  • PsPM now has an improved GUI for the main screen and pspm_display.
  • PsPM now uses system specific design for Windows, macOS and Linux.
  • A bug that affects GUI display has been fixed.

Bugfixes

  • pspm_dcm
    • A bug of channel and data referring that leads to incorrect missing epoch processing has been fixed.
    • pspm_dcm now handles empty epochs correctly.
  • pspm_scr_pp
    • A bug that throws warning when GUI is called has been fixed.
  • pspm_split_sessions
    • A bug that leads to GUI crash has been fixed.
    • pspm_split_sessions now accepts correct number of data files and missing epoch files in the GUI.
    • pspm_split_sessions now processes missing epochs correctly.
da746ab
Compare
Choose a tag to compare

New Features

  • PsPM now has an improved GUI with a more eye-friendly colour and typeface.
  • PsPM now has an alternative GUI built by using .mlapp, which has a more modern appearance across different platforms consistently.

New Functions

  • pspm_scr_pp
    • pspm_scr_pp replaces the classic pspm_simple_qa.
    • pspm_scr_pp now allows users to detect clipping, where the results can be exported together with the original outcome.
    • pspm_scr_pp now allows users to just write artefact epochs and leave data unchanged.

Changes

  • General
    • Dialogs have been rewritten for avoiding endless loops.
    • In the menu, pre-processing has been reconstructed, where pupil size convert and gaze convert are now under pupil and eye tracking.
    • PsPM now always generates test data inside the PsPM folder.
  • pspm_interpolate
    • pspm_interpolate now processes data ending with NaN well without throwing warnings.
  • pspm_find_sounds
    • pspm_find_sounds now throws warning when some data was excluded due to the strict parameter setting.
  • pspm_split_sessions
    • pspm_split_sessions is now using pspm_trim for processing data.

Bugfixes

  • pspm_glm
    • A bug that leads to the failure of selecting left/right eye has been fixed.
  • pspm_load1 and pspm_dcm
    • A bug that leads to the failure of exporting statistics has been fixed.
  • pspm_resp_pp
    • A bug that leads to the failure of opening batch for respiration data processing has been fixed.
  • pspm_scr_pp
    • A bug that leads to incorrect matrix construction has been fixed.
397a44d
Compare
Choose a tag to compare

New Features

  • Allow pspm_data_editor to load an epoch file.
  • Allow pspm_simple_qa to suppress classification of discretisation oscillations as artefacts, to expand artefact windows, and to automatically remove small data islands embedded in artefacts.
  • Allow pspm_simple_qa to store the epochs of data that are filtered out into an output .mat file. The accompanying GUI editor is available under 'Artefact removal' in the tools section.
  • Allow pspm_convert_gaze_distance to convert from distance units to degrees or scanpath speed. The accompanying GUI editor is available under 'Gaze Convert' in the data preprocessing section.
  • Add the possibility to select the flank in the 'Import' module of the GUI of PsPM.
  • Add the possibility to import DSV (delimiter separated values) as well as CSV (comma separated values) data files.

Changes

  • Split the data convert functionality in tools into the 'Gaze Convert' and 'Pupil Size convert' in the data preprocessing section.
  • Factor out blink/saccade edge filtering logic out of pspm_get_eyelink to pspm_blink_saccade_filt.
  • Deprecate edge filtering functionality in pspm_get_eyelink.
  • Make pspm_pupil_correct_eyelink use the last gaze channel when there are multiple gaze x (similarly y) channels in the file.
  • Make pspm_extract_segments return NaN percentages and not ratios.

Bugfixes

  • Scale DCM plot XTick by sample rate.
  • Correct index offset when dealing with the descending flank for continuous markers.
  • Allow pspm_display to plot any type of marker channels.
  • Fix pspm_display behaviour when user tries to load data with less channels than the data he/she is currently displaying.
  • Fix pspm_split_sessions behaviour when the intertrial interval in the data is random. Add an option randomITI (0 or 1) which in the latter case it forces the function to evaluate the mean marker distance using all the markers and not per session. Default value: 0.
  • Remove startsWith and endsWith from all functions for a better backward compatibility.
  • Fix bug in pspm_trim which was wrongly defining the starting trimming point index.
f95d48b
Compare
Choose a tag to compare

New Features

  • In pspm_get_events, import.flank can be now set to 'all' what would import all markers and data related to them.
  • pspm_display allows now to display pupil size units and the gaze x & y coordinate units on the y-axis.
  • pspm_extract_segments can be used now with raw data and thus be called easily within another function.

Changes

  • pspm_version has a new URL and thus do not send any warning about version checks anymore.
  • import_eyelink do not import markers which are outside the session end time (END marker).
  • import_eyelink sends a warning whenever two markers have the same timestamp.
  • In pspm_get_eyelink, import.flank set to 'all'.
  • The test of pspm_extract_segments was adapted to the new feature.
  • External functions and libraries were regrouped in one folder called ext.

Bugfixes

  • Fix a bux in pspm_bf_lcrf_gm and pspm_bf_ldrf_gm where the offset was wrongly implemented.
  • Fix a bug in pspm_compute_visual_angle where there was an error in the conversion factor of pixels wrt. to mm.
cad9742
Compare
Choose a tag to compare

New Functions

  • Three new tests (pspm_hb2hp_test.m, pspm_filtfilt_test.m, pspm_butter_test.m)

Changes

  • pspm_display and pspm_ecg_editor do not perform filtering anymore.
  • Treatment of missing data in DCM is now the same regardless of whether they are specified as NaN or via model.missing.
  • Eyelink import parameter blink/saccade edge discard factor default value has been set to 0. This means no extra samples are discarded around blinks/saccades.

Bugfixes

  • Fix a bug in pspm_hb2hp where the function crashed when there is no heartbeat left after lower and upper bound filtering of the heartbeat periods.
  • Fix a bug in import_eyelink which imported more markers than the number of markers in the actual .asc file.
  • Fix a bug in pspm_display which crashed when trying to plot ECG signal that contains NaN.
  • Fix a bug in pspm_prepdata which returned only NaN when input signal contained some NaN values.
  • Fix a bug in pspm_version which crashed when MATLAB was invoked with -nojvm.
  • Fix a bug in pspm_get_viewpoint which returned +,=,+ lines in the marker list and which crashed when given a viewpoint data file containing multiple sessions separated with +,= type of markers.
  • Fix a bug in import_viewpoint which created a new session for every marker containing a + somewhere, e.g.: CS+.
  • Fix a bug in pspm_get_events which was not able to locate a marker if it occurred on the first or last sample in a given data file.
  • Fix a bug in pspm_filtfilt which crashed when the filter parameters were of dimension one.
Compare
Choose a tag to compare

New Functions

  • A new pupil data preprocessing function
  • A new pupil foreshortening error correction function
  • A new QRS detection algorithm for fMRI environments

New Features

  • Previously, Eyelink import used to discard 50 ms worth of samples
    from each side of every blink or saccade period. This behaviour is
    preserved; however, sample discard duration can now be set by the
    user.
  • Channel processing functions now store extensive historical data in
    PsPM files. This data can be printed in table format using the new
    utility function pspm_format_history_from_file
  • Pupil channel is now loaded according to a new precedence order.
    Refer to GLM documentation in this manual to learn more.

Changes

  • Eyelink import now returns times and dates in a slightly different
    format.
  • Newest version of PsPM is now obtained from the version string in
    pspm.sourceforge.net, not from the download link zip file name
  • GLM now uses the LAST channel of a specified modality in a PsPM
    file.
  • Nonlinear SCR model (DCM) now does not use the inter-trial interval
    duration value (ITI) of the last trial when computing session
    specific minimum ITI values. Previously, using these last ITI values
    would lead to abnormally small overall min ITI values in some input
    files, thereby causing the inference and PCA sections to use less
    data for all trials. Now, we prevent this from happening.
  • Eyelink import parameter blink/saccade edge discard factor default
    value has been set to 0. This means no extra samples are discarded
    around blinks/saccades.

Bugfixes

  • Fix a bug in pspm_extract_segments where trial onsets were not
    assigned to conditions correctly
  • Fix a bug in Viewpoint import where files in DOS format were being
    parsed incorrectly
  • Fix a bug in Eyelink import where blink/saccade periods where
    misaligned, causing the function to discard useful data and return
    noise instead

Improvements

  • New utility functions to make PsPM more compatible across different
    operating systems
  • An optimized Eyelink import function that is significantly faster
    and more memory efficient than previous versions
  • An optimized SMI event import function that is significantly faster
    than the previous version
  • Multiple new tests to validate the correctness of the functions
  • API unification: Now all preprocessing functions use
    channel_action variable to choose what to do with the new channel.
Compare
Choose a tag to compare

This is a hotfix release that fixes a few issues with 4.1.0 release.

Changes

  • pspm_get_eyelink now uses the scaling factor from [@hayes:2015a]
    for area based arbitrary units to milimeters conversion.
  • pspm_get_smi does not perform pixel to milimeters conversion for
    pupil data anymore. Pupil values are returned as is in pixel units.
  • pspm_get_smi performs pixel to milimeters conversion for gaze data
    only if the stimulus resolution in pixels are given as an extra
    option.

Improvements

  • pspm_get_viewpoint is now able to import blink and saccade
    channels from sample files as well. In order to enable this feature,
    event files must be stored asynchronously in the datafile. See
    ViewPoint EyeTracker section in this manual for further information.
Compare
Choose a tag to compare

New Functions

  • pspm_convert_pixel2unit: Allows to transfer gaze data from pixel
    to units. This facilitates the use of pspm_find_valid_fixations
    which needs data in unit values.
  • pspm_compute_visual_angle: Computes visual angle from gaze data.
  • pspm_convert_visangle2sps: Convert visual angles from Eyelink to
    Scanpath speed.
  • pspm_bf_spsrf_box: SPSRF basis function with box car.
  • pspm_bf_spsrf_gamma: SPSRF basis function with gamma function.

New Features

  • pspm_extract_segments supports DCM files/structures.
  • GLM for SPS.
  • pspm_find_valid_fixations can now take a bitmap as input.
  • A new way to trim data: Start and end times can be chosen according
    to marker name or value.
  • A new function to import SMI iView X EyeTracker files into PsPM.
  • A new function to import ViewPoint EyeTracker files into PsPM.

Changes

  • pspm_find_valid_fixations now computes a circle around the
    fixation points when run in fixations mode.

Bugfixes

  • Heart period response function (bf_hprf) coefficients are fixed
    according to the manual
  • pspm_extract_segments bugfixes:
    • Fix bugs related to conditions appearing in different sessions.
  • pspm_get_eyelink now imports markers between two recording
    sessions (previously these markers were "lost")
  • pspm_compute_visual_angle: Fix bug in range computation.
  • pspm_ecg2hb: Fix out of bounds error occurring for highly noisy
    data with many outliers.
  • pspm_get_acq: Fix incorrect linear transformation during ACQ
    import.
  • pspm_convert_unit: Fix incorrect transformations between metric
    units and inches.
  • pspm_resp_pp: Fix out of bounds error during convolution in
    cushion mode.
  • pspm_pp in 'simple_qa' mode now uses the default values specified
    in pspm_simple_qa.
  • Various further bugfixes.

Improvements

  • Blink and saccade channels can be imported with PsPM Eyelink import.
  • GLM structure holds the missing data percentage of each condition
    after segment extraction. Further, the decision to exclude
    conditions can be made depending on the percentage of missing data.
  • pspm_extract_segments now works both with GLM files and already
    loaded structures
  • PsPM now checks if SPM is already in MATLAB path. If so, user is
    asked to remove it from path before initializing PsPM.
  • pspm_load1 now returns statistics about conditions with high NaN
    ratios.
  • pspm_extract_segments now is able to use data stored in GLM/DCM
    structures instead of relying the existence of original data files.
  • Multiple new tests to validate the correctness of the functions.
Compare
Choose a tag to compare

Bugfixes

  • Fix error when calling 'Convert data' from GUI
  • Fix taking square root if pupil data is recorded in AREA
Compare
Choose a tag to compare

Bugfixes

  • Fix not working options in Matlabbatch module 'Preprocess heart
    data'