Skills
Research Methods
Statistics & Modeling
Programming
XR / HCI
Detailed methodology notes for technical reviewers below
This page describes how the Research program is implemented—methods, workflow, and computation—not a generic résumé. Where a method produced a concrete result, it links to where it was actually used. The dissertation toolkit fills the sections below; XR and interaction methods are grouped at the end as adjacent work.
Core research methods
Psychophysics
Design and analysis of auditory and visual same–different discrimination (and related tasks) under load; linking physical effort to sensitivity, bias, and dynamics. Descriptive psychometric functions fit with Psignifit (beta-binomial, free guess/lapse) as a behavioral backbone for the dissertation.
Pupillometry
Preprocessing and quality control (blinks, artifacts, valid samples); window-specific validity; gap-aware handling of fragmented missing samples (Kret & Sjak-Shie–style metrics), plus formal missingness diagnostics to check for selection bias before inference.
Interpretation
Pupil measures inform arousal and effort hypotheses; behavior and formal models remain primary for inference (aligned with Research).
Experimental design and data collection
Handgrip dual-task paradigm
Concurrent physical effort (graded isometric grip) with cognitive and perceptual tasks, including same–different discrimination and memory components as required.
Within-subject structure and preregistration
Factorial and repeated-measures layouts; counterbalancing of orders and conditions. Where studies are preregistered, analyses follow registered hypotheses, exclusions, and plans.
Lab implementation
MATLAB and PsychToolbox for stimulus delivery and responses; calibration and exclusion rules documented in materials.
Modeling and statistical inference
Two threads run through the modeling work: separating what you can perceive from how you decide, and evidence-accumulation (sequential-sampling) models—a Wiener DDM for the dissertation and an LBA for the XR verification phase, kept methodologically distinct.
Psychometric function modeling
Separate effects on perceptual evidence (slope/sensitivity) versus criterion (location) under physical effort and load, in a signal-detection framework.
Mixed-effects models
LMMs and GLMMs in R (lme4, emmeans) for repeated measures and individual differences, including probit GLMMs with within-subject (trait/state) decomposition, aligned with the dual-task roadmap.
Hierarchical Bayesian Wiener DDM (dissertation)
Trial-level decomposition (drift rate, boundary separation, starting point, non-decision time) in brms / CmdStan (multi-chain NUTS). Workflow includes PSIS-LOO model comparison with Pareto-k checks, posterior predictive checks, convergence diagnostics (R-hat, ESS, divergences), and ROPE-based equivalence for near-zero effects. This is what localized effort’s cost to evidence quality rather than caution—see Research (code). Scope and caveats (non-decision time constrained by design; pupil–parameter links exploratory) are stated there.
Model scrutiny
Sensitivity analyses, alternative specifications, model comparison, and equivalence testing (TOST, ROPE) to put bounds on null results rather than leaving them as “not significant.”
The XR case study uses hierarchical Bayesian LBA in PyMC for verification-phase RTs after target entry. That framework is separate from the dissertation Wiener DDM and is not interchangeable with it.
Signal processing and machine learning
Spectral analysis of sensor data
Single-trial digital signal processing of continuous grip-force traces: zero-phase Butterworth filtering (scipy.signal), Welch power spectral density, and band-power feature extraction (e.g., 8–12 Hz tremor vs. 0.5–3 Hz tracking). Used to test whether motor dynamics carry trial-level cognitive strain in the Motor strand (code).
Machine learning and validation
Subject-aware cross-validation (grouped folds), ROC-AUC, random-forest and gradient-boosted classifiers, and SHAP feature attribution; probability calibration (Platt scaling) where decisions need well-scaled scores. Predictive claims are held to out-of-sample performance and reported plainly—including when incremental lift is small.
Programming and research computing
R
tidyverse, ggplot2; mixed models (lme4, emmeans); brms and Stan interfaces; loo / posterior / bayesplot for Bayesian workflow; Quarto for analyses and this site.
Python
PyMC and CmdStan for Bayesian modeling; scipy / numpy for signal processing; pandas for data wrangling and feature pipelines.
MATLAB
PsychToolbox for experiment control and stimulus delivery.
High-performance and cloud compute
Long-running MCMC fits on Google Cloud Platform; multi-chain sampling with convergence and reproducibility checks.
Version control
Git and GitHub for versioned scripts and reproducible layout.
Scientific communication and reproducibility
Reproducible reports
Quarto and R Markdown (legacy) so tables and figures rebuild from code; archived releases via Zenodo where applicable.
Writing and rigor
LaTeX for manuscripts; exploratory versus confirmatory reporting kept distinct where both apply.
Traceability
README notes, pinned dependencies where used, and QC logs for pupillometry, signal-processing, and behavioral pipelines.
Additional and adjacent methods
Hand versus gaze interaction (portfolio / preprint)
arXiv:2603.15991 · case study. Adjacent to the dissertation; adds HCI- and XR-relevant breadth.
- Web task: React and TypeScript; remote sessions; display calibration and session checks across devices (platform code).
- Design: ISO 9241-9–style multidirectional tapping; Fitts difficulty and throughput; Williams block counterbalancing; NASA-TLX workload.
- Gaze proxy: physiologically informed gaze simulation (latency, jitter, saccadic suppression) for gaze versus hand comparison without lab eye-tracking.
- Policy-triggered adaptive UI: declutter (gaze) and width inflation (hand). In the analyzed data, only declutter executed and was evaluable (modest timeout reduction; slips still dominated gaze errors). Hand width inflation was not evaluable—targets did not scale in the UI (integration bug); that policy is not validated here.
- LBA fits: Python and PyMC for verification-phase RTs only—see the note under Modeling above.
Other secondary experience: surgeon dashboard (R Shiny, XGBoost); EEG thesis; imaging collaborations under Publications; SST role on About.
Languages
Persian — Native English — Professional French — Basic