Classes
Classify ([isLibrary]) |
Analysis methods for imhr.processing.preprocesing. |
Metadata ([isLibrary]) |
Process participants metadata for analysis and export. |
Model ([isLibrary]) |
Run statistical models for analysis. |
Processing () |
Hub for running processing and analyzing raw data. |
Settings ([isLibrary]) |
Default settings for imhr.r33.Processing.. |
imhr.r33.
Classify
(isLibrary=False)[source]¶Bases: imhr.r33._classify.Classify
Analysis methods for imhr.processing.preprocesing.
Parameters: |
|
---|
Methods
Acceleration (time, data_x[, data_y]) |
Calculate the acceleration (deg/sec/sec) for data points in d_x and (optionally) d_y, using the time numpy array for time delta information. |
Velocity (time, config, d_x[, d_y]) |
Calculate the instantaneous velocity (degrees / second) for data points in d_x and (optionally) d_y, using the time numpy array for time delta information. |
VisualAngle (g_x, g_y, config) |
Convert pixel eye-coordinates to visual angle. |
hmm (data, filter_type, config) |
Hidden Makov Model, adapted from https://gitlab.com/nslr/nslr-hmm. |
idt (data, dis_threshold, dur_threshold) |
Identification with Dispersion Threshold. |
ivt (data, v_threshold, config) |
Identification with Velocity Threshold. |
savitzky_golay (y, window_size, order[, …]) |
Smooth (and optionally differentiate) data with a Savitzky-Golay filter. |
simple (df, missing, maxdist, mindur) |
Detects fixations, defined as consecutive samples with an inter-sample distance of less than a set amount of pixels (disregarding missing data). |
Acceleration
(time, data_x, data_y=None)[source]¶Calculate the acceleration (deg/sec/sec) for data points in d_x and (optionally) d_y, using the time numpy array for time delta information.
Parameters: |
|
---|
Velocity
(time, config, d_x, d_y=None)[source]¶Calculate the instantaneous velocity (degrees / second) for data points in d_x and (optionally) d_y, using the time numpy array for time delta information.
Parameters: |
|
---|
Notes
Numpy arrays time, d_x, and d_y must all be 1D arrays of the same length. If both d_x and d_y are provided, then the euclidian distance between each set of points is calculated and used in the velocity calculation. Time must be in seconds.msec units, while d_x and d_y are expected to be in visual degrees. If the position traces are in pixel coordinate space, use the VisualAngleCalc class to convert the data into degrees.
VisualAngle
(g_x, g_y, config)[source]¶Convert pixel eye-coordinates to visual angle.
Parameters: |
|
---|
Notes
hmm
(data, filter_type, config)[source]¶Hidden Makov Model, adapted from https://gitlab.com/nslr/nslr-hmm.
Parameters: |
|
---|---|
Attributes: |
|
Notes
References
[1] | Pekkanen, J., & Lappi, O. (2017). A new and general approach to signal denoising and eye movement classification based on segmented linear regression. Scientific Reports, 7(1). doi:10.1038/s41598-017-17983-x. |
idt
(data, dis_threshold, dur_threshold)[source]¶Identification with Dispersion Threshold.
Parameters: |
|
---|---|
Returns: |
|
Notes
The I-DT algorithm has two parameters: a dispersion threshold and the length of a time window in which the dispersion is calculated. The length of the time window is often set to the minimum duration of a fixation, which is around 100-200 ms.
ivt
(data, v_threshold, config)[source]¶Identification with Velocity Threshold.
In the I-VT model, the velocity value is computed for every eye position sample. The velocity value is then compared to the threshold. If the sampled velocity is less than the threshold, the corresponding eye-position sample is marked as part of a fixation, otherwise it is marked as a part of a saccade.
Parameters: |
|
---|---|
Returns: |
|
Notes
From https://github.com/ecekt/eyegaze. Formula from: https://dl.acm.org/citation.cfm?id=355028
savitzky_golay
(y, window_size, order, deriv=0, rate=1)[source]¶Smooth (and optionally differentiate) data with a Savitzky-Golay filter.
The Savitzky-Golay filter removes high frequency noise from data. It has the advantage of preserving the original shape and features of the signal better than other types of filtering approaches, such as moving averages techniques.
Parameters: |
|
---|---|
Returns: |
|
Notes
The Savitzky-Golay is a type of low-pass filter, particularly suited for smoothing noisy data. The main idea behind this approach is to make for each point a least-square fit with a polynomial of high order over a odd-sized window centered at the point. For more information, see: http://wiki.scipy.org/Cookbook/SavitzkyGolay.
Examples
>>> t = np.linspace(-4, 4, 500)
>>> y = np.exp( -t**2 ) + np.random.normal(0, 0.05, t.shape)
>>> ysg = savitzky_golay(y, window_size=31, order=4)
>>> import matplotlib.pyplot as plt
>>> plt.plot(t, y, label='Noisy signal')
>>> plt.plot(t, np.exp(-t**2), 'k', lw=1.5, label='Original signal')
>>> plt.plot(t, ysg, 'r', label='Filtered signal')
>>> plt.legend()
>>> plt.show()
References
[1] | A. Savitzky, Golay, M. (1964). Smoothing and Differentiation of Data by Simplified Least Squares Procedures. Analytical Chemistry. 36(8), pp 1627-1639. |
[2] | S.A. Teukolsky, W.T. Vetterling, B.P. Flannery Numerical Recipes 3rd Edition: The Art of Scientific Computing. W.H. Press,Cambridge University Press ISBN-13: 9780521880688. |
simple
(df, missing, maxdist, mindur)[source]¶Detects fixations, defined as consecutive samples with an inter-sample distance of less than a set amount of pixels (disregarding missing data).
Parameters: |
|
---|---|
Returns: |
|
Notes
From https://github.com/esdalmaijer/PyGazeAnalyser/blob/master/pygazeanalyser/detectors.py
imhr.r33.
Metadata
(isLibrary=False)[source]¶Bases: imhr.r33._metadata.Metadata
Process participants metadata for analysis and export.
Parameters: |
|
---|
Methods
predict (df) |
Predicting screen size (cm), device (i.e. |
summary (df, path) |
Preparing data for use in analysis. |
predict
(df)[source]¶Predicting screen size (cm), device (i.e. macbook 2018).
Parameters: |
|
---|---|
Returns: |
|
summary
(df, path)[source]¶Preparing data for use in analysis.
Parameters: | |
---|---|
Attributes: | |
Returns: |
|
Notes
You can either get data from all files within a directory (directory), or from a specific subject (subject_session).
Examples
>>> #if using path:
>>> df = getData(path=self.config['path'])
>>> #if getting data for single subject:
>>> df = getData(path=self.config['path'],subject_session=['1099','1', '0'])
imhr.r33.
Model
(isLibrary=False)[source]¶Bases: imhr.r33._model.Model
Run statistical models for analysis.
Parameters: |
|
---|
Methods
anova (config, y, f, df, csv, path, effects) |
Run analysis of variance model using rpy2, seaborn and pandas. |
lmer (config, y, f, df, exclude, csv, path, …) |
Run linear mixed regression model, using rpy2, seaborn and pandas. |
logistic (config, y, f, df, me, exclude, csv, …) |
Run logistic regression model, using rpy2, seaborn and pandas. |
anova
(config, y, f, df, csv, path, effects, is_html=True)[source]¶Run analysis of variance model using rpy2, seaborn and pandas.
Parameters: |
|
---|---|
Returns: |
|
Notes
lmer
(config, y, f, df, exclude, csv, path, effects, is_html=True)[source]¶Run linear mixed regression model, using rpy2, seaborn and pandas.
Parameters: |
|
---|---|
Returns: |
|
Notes
logistic
(config, y, f, df, me, exclude, csv, path, is_html=True)[source]¶Run logistic regression model, using rpy2, seaborn and pandas.
Parameters: |
|
---|---|
Returns: |
|
Notes
imhr.r33.
Processing
[source]¶Bases: imhr.r33._processing.Processing
Hub for running processing and analyzing raw data.
Parameters: |
|
---|
Methods
demographics (source, destination[, isHTML]) |
Output list of demographics for easy html viewing. |
device (source, destination[, isHTML]) |
Output list of variables for easy html viewing. |
html ([df, raw_data, name, path, source, …]) |
Create HTML output. |
preprocessing (source[, isMultiprocessing, cores]) |
Preprocessing data for formatting and initial calculations. |
summary (source, destination[, metadata, isHTML]) |
Generate summary from online raw data. |
variables (source, destination[, isHTML]) |
Output list of variables for easy html viewing. |
demographics
(source, destination, isHTML=True)[source]¶Output list of demographics for easy html viewing.
Parameters: | |
---|---|
Returns: |
|
device
(source, destination, isHTML=True)[source]¶Output list of variables for easy html viewing.
Parameters: | |
---|---|
Returns: |
|
html
(df=None, raw_data=None, name=None, path=None, source=None, figure_title=None, intro=None, footnote=None, script='', **kwargs)[source]¶Create HTML output.
Parameters: |
|
||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Returns: |
|
preprocessing
(source, isMultiprocessing=False, cores=0)[source]¶Preprocessing data for formatting and initial calculations. Steps include: * Dates converted to ISO format. * Variables formatted to camelCase. * Variables naming patterns consistant (i.e. osFullName, browserFullName). * Calculations for stimulus onset error, DotLoc onset error, median response time, median stimulus onset error, median DotLoc onset error
Parameters: |
|
---|---|
Returns: |
|
summary
(source, destination, metadata=None, isHTML=True)[source]¶Generate summary from online raw data.
Parameters: | |
---|---|
Returns: |
|
imhr.r33.
Settings
(isLibrary=False)[source]¶Bases: imhr.r33._settings.Settings
Default settings for imhr.r33.Processing..
Parameters: |
|
---|
Methods
definitions (config) |
Store definitions. |
definitions
(config)[source]¶Store definitions.
Parameters: | |
---|---|
Returns: |
|
Examples