Summarizing pupillometric dataΒΆ
[2]:
import sys
sys.path.insert(0,"..")
import pypillometry as pp
The pypillometry package provides several functions for summarizing datasets. Simply print()ing a PupilData object gives a readable summary of the main properties of the dataset and also prints the complete history of operations applied to the dataset.
[6]:
d=pp.create_fake_pupildata(ntrials=100)
print(d)
PupilData(fake_nutuheho, 13.9MiB):
 n                 : 113453
 nmiss             : 0
 perc_miss         : 0.0
 nevents           : 200
 nblinks           : 0
 ninterpolated     : 0
 blinks_per_min    : 0.0
 fs                : 1000.0
 duration_minutes  : 1.8908833333333335
 start_min         : 0.0
 end_min           : 1.8908780800185903
 baseline_estimated: False
 response_estimated: False
 History:
 *
By calling the function summary(), summary data is returned in dict form:
[7]:
d.summary()
[7]:
{'name': 'fake_nutuheho',
 'n': 113453,
 'nmiss': 0,
 'perc_miss': 0.0,
 'nevents': 200,
 'nblinks': 0,
 'ninterpolated': 0,
 'blinks_per_min': 0.0,
 'fs': 1000.0,
 'duration_minutes': 1.8908833333333335,
 'start_min': 0.0,
 'end_min': 1.8908780800185903,
 'baseline_estimated': False,
 'response_estimated': False}
Using the package pandas, this allows to rapidly summarize properties of many datasets in a table.
To illustrate, we create a list of datasets, each corresponding to one individual subject:
[8]:
nsubjs=10
datasets=[pp.create_fake_pupildata(ntrials=100) for _ in range(nsubjs)]
We can now call summary() for each of the objects and merge the resulting dict into a table form:
[12]:
import pandas as pd
pd.DataFrame([d.summary() for d in datasets])
[12]:
| name | n | nmiss | perc_miss | nevents | nblinks | ninterpolated | blinks_per_min | fs | duration_minutes | start_min | end_min | baseline_estimated | response_estimated | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | fake_tamofase | 113832 | 0 | 0.0 | 200 | 0 | 0 | 0.0 | 1000.0 | 1.897200 | 0.0 | 1.897196 | False | False | 
| 1 | fake_lobavifu | 114425 | 0 | 0.0 | 200 | 0 | 0 | 0.0 | 1000.0 | 1.907083 | 0.0 | 1.907083 | False | False | 
| 2 | fake_paketomu | 112977 | 0 | 0.0 | 200 | 0 | 0 | 0.0 | 1000.0 | 1.882950 | 0.0 | 1.882941 | False | False | 
| 3 | fake_hiligovi | 114345 | 0 | 0.0 | 200 | 0 | 0 | 0.0 | 1000.0 | 1.905750 | 0.0 | 1.905735 | False | False | 
| 4 | fake_kolavebo | 113732 | 0 | 0.0 | 200 | 0 | 0 | 0.0 | 1000.0 | 1.895533 | 0.0 | 1.895517 | False | False | 
| 5 | fake_ropopodi | 113661 | 0 | 0.0 | 200 | 0 | 0 | 0.0 | 1000.0 | 1.894350 | 0.0 | 1.894346 | False | False | 
| 6 | fake_rilimolo | 114402 | 0 | 0.0 | 200 | 0 | 0 | 0.0 | 1000.0 | 1.906700 | 0.0 | 1.906698 | False | False | 
| 7 | fake_gapudome | 113891 | 0 | 0.0 | 200 | 0 | 0 | 0.0 | 1000.0 | 1.898183 | 0.0 | 1.898178 | False | False | 
| 8 | fake_belobeva | 113932 | 0 | 0.0 | 200 | 0 | 0 | 0.0 | 1000.0 | 1.898867 | 0.0 | 1.898865 | False | False | 
| 9 | fake_rihatofi | 113304 | 0 | 0.0 | 200 | 0 | 0 | 0.0 | 1000.0 | 1.888400 | 0.0 | 1.888393 | False | False |