Participant
index
participant.py

UBC Eye Movement Data Analysis Toolkit
Generic Participant Class
Created on 2011-09-25
 
@author: skardan

 
Modules
       
os
params
string

 
Classes
       
Participant

 
class Participant
    A class that holds the information for one Participant in the experiment
 
  Methods defined here:
__init__(self, pid, eventfile, datafile, fixfile, aoifile=None, prune_length=None)
Inits Participant class
Args:
    pid: Participant id
    
    eventfile: a string containing the name of the "Event-Data.tsv" file for this participant
                
    datafile: a string containing the name of the "All-Data.tsv" file for this participant
    
    fixfile: a string containing the name of the "Fixation-Data.tsv" file for this participant
    
    aoifile: If not None, a string containing the name of the aoifile 
        with definitions of the "AOI"s.
    
    prune_length: If not None, an integer that specifies the time 
        interval (in ms) from the beginning of each Segment in which
        samples are considered in calculations.  This can be used if, 
        for example, you only wish to consider data in the first 
        1000 ms of each Segment. In this case (prune_length = 1000),
        all data beyond the first 1000ms of the start of the "Segment"s
        will be disregarded.
    
Yields:
    a Participant object
export_features(self, featurelist=None, aoifeaturelist=None, aoifeaturelabels=None, id_prefix=False, require_valid=True)
Returns feature names and their values for this Participant
 
Args:
    featurelist: if not None, a list of strings containing the name of the features to be
        returned
    
    aoifeaturelist: if not None, a list of features to be returned for each of the "AOI"s. 
    aoifeaturelabels: if not None, a list of AOI related features to be returned.
    *Note: while aoifeaturelist is a subset of features that will be returned for all 
    "AOI"s, aoifeaturelabels contains the exact AOI feature name, i.e., a feature
    of the form: [AOI name]_[feature name]
    For example for an AOI called 'graph', aoifeaturelabels may contain 'graph_fixationrate'  
 
    id_prefix: a boolean determining if the method should also export the participant id 
    
    require_valid: a boolean determining if only valid segments should be used when
    calculating the features. default = True
    
Returns:
    featnames: a list of feature names sorted alphabetically
    featvals: a corresponding list of feature values
    e.g.
    featnames = ['fixationrate', 'length', 'meanabspathangles']
    featvals  = [0.00268522882294', '1529851', '1.60354714212']
export_features_tsv(self, featurelist=None, aoifeaturelist=None, id_prefix=False, require_valid=True)
Returns feature names and their values for this Participant in a tab separated format
 
Args:
    featurelist: if not None, a list of strings containing the name of the features to be
        returned
    
    aoifeaturelist: if not None, a list of features to be returned for each of the "AOI"s. 
 
    id_prefix: a boolean determining if the method should also export the participant id.
     
    
    require_valid: a boolean determining if only valid segments should be used when
    calculating the features. default = True
    
Returns:
    A two-line string with the first line having the feature names sorted alphabetically
    and separated by a tab '/t', and the second line containing the corresponding values
    separated by a tab '/t'
    For example:
    fixationrate    length    meanabspathangles
    0.00268522882294    1529851    1.60354714212
invalid_segments(self)
Returns a list of invalid segments in this particiapnt's eye gaze data
    
Returns:
    a list of "Segment ids" of invalid Segments in this particiapnt's eye gaze data
print_(self)
Outputs all feature names and their values for this Participant to the console
valid_segments(self)
Returns a list of valid segments in this particiapnt's eye gaze data
    
Returns:
    a list of "Segment ids" of invalid Segments in this particiapnt's eye gaze data

 
Functions
       
export_features_all(participants, featurelist=None, aoifeaturelist=None, aoifeaturelabels=None, id_prefix=False, require_valid=True)
Returns feature names and their values for a list of "Participant"s
 
Args:
    participants: a list of "Participant"s
    featurelist: if not None, a list of strings containing the name of the features to be
        returned
    
    aoifeaturelist: if not None, a list of features to be returned for each of the "AOI"s. 
    aoifeaturelabels: if not None, a list of AOI related features to be returned.
    *Note: while aoifeaturelist is a subset of features that will be returned for all 
    "AOI"s, aoifeaturelabels contains the exact AOI feature name, i.e., a feature
    of the form: [AOI name]_[feature name]
    For example for an AOI called 'graph', aoifeaturelabels may contain 'graph_fixationrate'  
 
    id_prefix: a boolean determining if the method should also export the participant id 
    
    require_valid: a boolean determining if only valid segments should be used when
    calculating the features. default = True
    
Returns:
    featnames: a list of feature names sorted alphabetically
    featvals: a corrsponding list of feature values
    e.g.
    featnames = ['fixationrate', 'length', 'meanabspathangles']
    featvals  = [0.00268522882294', '1529851', '1.60354714212']
partition(externallogfile)
Placeholder for a method that generates the scenes based on some external log files and/or 'Event-Data.tsv" files
read_events(evfile)
Returns a list of Event objects read from an 'Event-Data.tsv' file.
 
Args:
    evfile: a string containing the name of the 'Event-Data.tsv' file exported from 
        Tobii software
 
Returns:
    a list of Event objects
read_participants(segsdir, datadir, prune_length=None, aoifile=None)
Placeholder for a method that generates Participant objects for each participant 
in the experiment
test_validity()
Placeholder for a method that tests the quality of the eye data for each Participant
write_features_tsv(participants, outfile, featurelist=None, aoifeaturelist=None, aoifeaturelabels=None, id_prefix=False)
Returns feature names and their values for a list of "Participant"s in a tsv-format file
 
This method writes to a multi-line tab separated values (tsv) file with the first 
line having the feature names sorted alphabetically and separated by a tab '/t',
and the rest of the lines containing the corresponding values for each participant
separated by a tab '/t'
For example:
fixationrate    length    meanabspathangles
0.0026852294    1529851    1.60354714212
0.00456324344    453455    1.74324423
 
Args:
    participants: a list of "Participant"s
    outfile: a string containing the name of the output file
    featurelist: if not None, a list of strings containing the name of the features to be
        returned
    
    aoifeaturelist: if not None, a list of features to be returned for each of the "AOI"s. 
 
    id_prefix: a boolean determining if the method should also export the participant id 
    
    require_valid: a boolean determining if only valid segments should be used when
    calculating the features. default = True