OSCR

Pupillary responses to invisible brightness escape from attentional modulation.

Code ↔ Paper

5 matches between paragraphs of the paper and lines of its authors' code, computed by the harvester (lexical-v1). Click a colored paragraph or line to see its counterpart.

The 5 matches
  1. [1] § STAR★Methods › Quantification and statistical analysis › Statistical analysis › Bayes Factor analysis ↔ Analysis_LME/analysis_CFS_pupil_LME_Exp1_Final.r, lines 94–165 · score 0.72 · Bayes Factors, alternative model, additive, BF01, H0, H1
  2. [2] § Results › Experiment 1: Feature-based attention › Pupil responses to luminance, visibility, and feature-based attention ↔ Analysis_LME/analysis_CFS_pupil_LME_Exp1_Final.r, lines 94–165 · score 0.70 · Likelihood ratio, gaze position, reduced model, full model, LRT, LME
  3. [3] § Results › Experiment 1: Feature-based attention › Pupil responses to luminance, visibility, and feature-based attention ↔ Analysis_LME/analysis_CFS_pupil_LME_Exp2_Final.r, lines 50–115 · score 0.69 · Likelihood ratio, gaze position, reduced model, full model, LRT, suppression
  4. [4] § STAR★Methods › Method details › Procedure ↔ Data_csv/analysis_CFS_pupil_Final.m, lines 2–49 · score 0.56 · attend orientation, subjective visibility, attend luminance, eye, objective, Gabor
  5. [5] § STAR★Methods › Quantification and statistical analysis › Statistical analysis › Linear Mixed-Effects (LME) analysis ↔ Analysis_LME/analysis_CFS_pupil_LME_Exp1_Final.r, lines 1–47 · score 0.53 · Linear Mixed, lme4, models, Visible, CFS

Paper

Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC

The paper is loaded when this pane is shown.

The authors' code

R · 166 lines · 6.5 KB · no license · 3 matches

  1. # ==============================================================================
  2. # 1. SETUP & DATA CLEANING
  3. # ==============================================================================
  4. library(lme4) # For the Linear Mixed Effects model
  5. library(lmerTest) # To get p-values for the LME
  6. library(dplyr) # For easy data manipulation
  7. library(bayestestR) # For Bayes Factors
  8. library(emmeans)
  9. setwd("~/Google 雲端硬碟/CFS_Pupil/CFS_Pupil_Luminance/Data/data/LME")
  10. # Load your CSV (Exported from MATLAB)
  11. # Replace '1' with '2' for Experiment 2
  12. data <- read.csv("LME_Data_Exp1.csv")
  13. # --- FILTERING & PREPROCESSING ---
  14. data_clean <- data %>%
  15. # 1. Remove rows with missing data (NaNs)
  16. filter(!is.na(PupilSize) & !is.na(GazeX) & !is.na(GazeY)) %>%
  17. # 2. Center Gaze Coordinates (Critical for correcting Foreshortening)
  18. # Screen Center: (960, 540)
  19. mutate(
  20. GazeX_Cent = GazeX - 960,
  21. GazeY_Cent = GazeY - 540
  22. ) %>%
  23. # 3. Convert Variables to Factors (Categorical)
  24. # IMPORTANT: Check your MATLAB export codes.
  25. # Example: 1=CFS, 2=Visible; 1=Dark, 2=Bright...
  26. mutate(
  27. Visibility = factor(Visibility, levels = c(1, 2), labels = c("CFS", "Visible")),
  28. Luminance = factor(Luminance, levels = c(1, 2), labels = c("Dark", "Bright")),
  29. Attention = factor(Attention, levels = c(1, 2), labels = c("Att_Lum", "Att_Ori")), # Or Spatial Attention labels for Exp2
  30. SubjectID = factor(SubjectID)
  31. )
  32. # ==============================================================================
  33. # 2. RUNNING THE LINEAR MIXED EFFECTS MODEL (LME)
  34. # ==============================================================================
  35. # Formula:
  36. # Pupil ~ (Conditions Interaction) + (Gaze Control) + (Random Effect)
  37. full_model <- lmer(PupilSize ~ Visibility * Luminance * Attention +
  38. GazeX_Cent + GazeY_Cent +
  39. (1 | SubjectID),
  40. data = data_clean)
  41. # Print the ANOVA table (Type III is standard for interactions)
  42. print("--- LME ANOVA Results ---")
  43. print(anova(full_model, type = 3))
  44. summary(full_model)
  45. # ==============================================================================
  46. # 3. CALCULATE ESTIMATED MARGINAL MEANS
  47. # ==============================================================================
  48. # We want to see the mean pupil size for each Task, split by Visibility.
  49. VisAtten <- emmeans(full_model, ~ Attention | Visibility)
  50. print(VisAtten)
  51. pairs(VisAtten, adjust = "bonferroni")
  52. AttenVis <- emmeans(full_model, ~ Visibility | Attention)
  53. print(AttenVis)
  54. pairs(AttenVis, adjust = "bonferroni")
  55. VisLum <- emmeans(full_model, ~ Luminance | Visibility)
  56. print(VisLum)
  57. pairs(VisLum, adjust = "bonferroni")
  58. # ==============================================================================
  59. # 3. (Optional) PLOT THE INTERACTION
  60. # ==============================================================================
  61. # This helps you visually confirm the "crossing" or divergence.
  62. emmip(full_model, Visibility ~ Attention, CIs = TRUE) +
  63. labs(title = "Interaction Plot: Visibility × Attention Task",
  64. y = "Predicted Pupil Size (z-score)",
  65. x = "Attention Task") +
  66. theme_minimal()
  67. emmip(full_model, Visibility ~ Luminance, CIs = TRUE) +
  68. labs(title = "Interaction Plot: Visibility × Luminance",
  69. y = "Predicted Pupil Size (z-score)",
  70. x = "Luminance") +
  71. theme_minimal()
  72. # ==============================================================================
  73. # 4. BAYES FACTOR (Testing the Null Hypothesis)
  74. # ==============================================================================
  75. # The editor wants to know: Does Attention exist under Suppression?
  76. # Standard p-values can't prove the null (no effect). Bayes Factors can.
  77. # We will check if the Null Model is better than the Alternative for the CFS condition.
  78. # A. Subset Data: Look ONLY at CFS trials
  79. data_cfs <- data_clean %>% filter(Visibility == "CFS")
  80. # B. Build Two Models for CFS
  81. # H1 (Alternative): Attention has an effect on Pupil
  82. # H1 (Alternative): Full Model (Includes Interaction: Luminance * Attention)
  83. # This assumes Attention CHANGES how the pupil responds to Luminance.
  84. model_H1 <- lmer(PupilSize ~ Luminance * Attention + GazeX_Cent + GazeY_Cent + (1|SubjectID),
  85. data = data_cfs, REML = FALSE)
  86. # H0 (Null): Additive Model (Luminance + Attention)
  87. # This assumes Luminance works, and Attention might change baseline,
  88. # BUT Attention does NOT change the response to Luminance (No Interaction).
  89. model_H0 <- lmer(PupilSize ~ Luminance + Attention + GazeX_Cent + GazeY_Cent + (1|SubjectID),
  90. data = data_cfs, REML = FALSE)
  91. # C. Calculate Bayes Factor using BIC Approximation
  92. # This method is robust and commonly accepted for LME comparisons
  93. bic_H1 <- BIC(model_H1)
  94. bic_H0 <- BIC(model_H0)
  95. # Formula: BF01 = exp((BIC_H1 - BIC_H0) / 2)
  96. # BF > 1 favors Null (No Attention effect)
  97. # BF < 1 favors Alternative (Attention effect exists)
  98. BF_01 <- exp((bic_H1 - bic_H0) / 2)
  99. print("--- Bayes Factor Analysis (CFS Condition Only) ---")
  100. print(paste("BIC for Null Model (No Attention):", bic_H0))
  101. print(paste("BIC for Alternative Model (With Attention):", bic_H1))
  102. print(paste("Bayes Factor (BF01) favoring Null:", round(BF_01, 2)))
  103. if(BF_01 > 3){
  104. print("Result: Moderate/Strong evidence that Attention does NOT modulate pupil under suppression.")
  105. } else if(BF_01 < 0.33){
  106. print("Result: Evidence supports that Attention DOES modulate pupil.")
  107. } else {
  108. print("Result: Evidence is inconclusive.")
  109. }
  110. # ==============================================================================
  111. # 5. LIKELIHOOD RATIO TEST (LRT) FOR GAZE ARTIFACTS
  112. # ==============================================================================
  113. # NOTE: When comparing models with different Fixed Effects, you MUST use REML=FALSE (Maximum Likelihood).
  114. # If you use REML=TRUE (default), the likelihoods are not comparable.
  115. # 1. The Full Model (Includes Gaze Position)
  116. # This is what you believe is true: Gaze affects Pupil.
  117. m_full <- lmer(PupilSize ~ Visibility * Luminance * Attention +
  118. GazeX_Cent + GazeY_Cent +
  119. (1 | SubjectID),
  120. data = data_clean, REML = FALSE)
  121. # 2. The Reduced Model (Removes Gaze Position)
  122. # This is the Null Hypothesis: Gaze does NOT affect Pupil.
  123. m_reduced <- lmer(PupilSize ~ Visibility * Luminance * Attention +
  124. (1 | SubjectID),
  125. data = data_clean, REML = FALSE)
  126. # 3. Compare them
  127. # This runs the Chi-Square test on the difference in Likelihoods.
  128. lrt_result <- anova(m_reduced, m_full)
  129. print("--- Likelihood Ratio Test Results ---")
  130. print(lrt_result)

analysis_CFS_pupil_LME_Exp1_Final.r, no license · at the source

Overview

  1. Human Information Science Laboratory, Communication Science Laboratories, NTT, Inc., Kanagawa, Japan
  2. Cognitive Informatics Lab, Graduate School of Informatics, Kyoto University, Kyoto, Japan
Institutions: Kyoto University (Japan); NTT (Japan) (Japan)
Journal: iScience, volume 29, issue 6, article 115919
Dates: received 25 November 2025; accepted 24 April 2026; published online 28 April 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1016/j.isci.2026.115919 · PMID 42205707 · PMCID PMC13207345 · OpenAlex W4417167668
Open access: gold, a free copy (OpenAlex)
Status: code verified
Categories: human (organism), cognitive (subfield)
Methods: Statistics, Preprocessing, Physiology & signal measures
Keywords: biological process, biological sciences, biology of human development, systems biology
Topic: Visual perception and processing mechanisms (Cognitive Neuroscience, Neuroscience), according to OpenAlex
Citations: not cited yet (Europe PMC); 37 references in the paper
Research resources: MATLAB 2018b RRID:SCR_001622, Psychophysics Toolbox Version 3 RRID:SCR_002881, RRID:SCR_009602, G∗Power RRID:SCR_013726, R package: lme4 RRID:SCR_015654, R package: lmerTest RRID:SCR_015656, RRID:SCR_015823

Abstract

The pupillary light response (PLR) is traditionally regarded as a reflex to retinal illumination; however, recent studies have shown that it also reflects perceived or attended brightness. We examined whether pupils respond to perceptually invisible luminance under interocular suppression and most importantly, whether attention modulates such response. In experiment 1, a single bright or dark visual Gabor pattern evoked attenuated but reliable PLRs under interocular suppression, which was independent of feature-based attention manipulation. In experiment 2, spatial attention was directed to one of two Gabors (black and white) using a sustained rapid serial visual presentation task. Spatial attention modulated PLRs when the stimuli were visible but not when they were invisible under interocular suppression. These findings demonstrate that while unconscious brightness signals reach subcortical pathways, spatial attentional modulation of the PLR depends on visual awareness, revealing a cortical-subcortical gating mechanism for pupil control.

Reproduced under the paper's license (CC BY), from the paper cited above.

Repository

Its files are read in the Code ↔ Paper reader above, with 5 matches between paragraphs and lines of code.

OSF cgvw8

License: none: the authors keep all their rights
State: the link answers, verified on 30 September 2026
Evidence: files inventoried
Languages: R (2), MATLAB (1)
Size: 11 files, 3 scripts
Software Heritage: not checked
Found in: “Data and code availability”
Holds: README
Not found: license file, CITATION.cff, environment file, tests, continuous integration, documentation
Tools: emmeans (2 files), lme4 (2 files), lmerTest (2 files), tidyverse (2 files), easystats (1 file)
Availability: 1 check, the latest on 30 September 2026: the link answers (HTTP 200)
  • 30 September 2026: the link answers (HTTP 200)
3 files

The paper's code and data availability statement is in the Data section.

Tracing map

Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.

What the map holds:

  • 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
  • 3 scripts, each with its path and the digest of its content;
  • 5 matches between paragraphs of the paper and lines of the code (method lexical-v1);
  • neither the text of the paper nor the code itself.

Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.

Data

No dataset and no data link were found in the paper.

Data and code availability

• Raw data have been deposited on the Open Science Framework and are publicly available (DOI: https://doi.org/10.17605/OSF.IO/CGVW8). • The analysis codes have been deposited on the Open Science Framework and are publicly available (DOI: https://doi.org/10.17605/OSF.IO/CGVW8). • Any additional information required to reanalyze the data reported in this paper is available from the lead contact upon request.

Reproduced under the paper's license (CC BY), from the paper cited above.

Versions

The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.

Version 1, 30 September 2026: the first record

Recorded: type, language, journal, volume, issue, pages, dates, 2 authors, 4 keywords, 36 references, 7 RRIDs.

Cite

This paper

Yang, Y.-H., & Liao, H.-I. (2026). Pupillary responses to invisible brightness escape from attentional modulation. iScience, 29(6), 115919. https://doi.org/10.1016/j.isci.2026.115919

BibTeX

@article{yang2026pupillary,
author = {Yang, Yung-Hao and Liao, Hsin-I},
title = {{Pupillary responses to invisible brightness escape from attentional modulation}},
journal = {iScience},
year = {2026},
month = apr,
volume = {29},
number = {6},
pages = {115919},
publisher = {Elsevier},
issn = {2589-0042},
doi = {10.1016/j.isci.2026.115919},
url = {https://doi.org/10.1016/j.isci.2026.115919},
pmid = {42205707},
pmcid = {PMC13207345}
}

RIS

TY - JOUR
AU - Yang, Yung-Hao
AU - Liao, Hsin-I
TI - Pupillary responses to invisible brightness escape from attentional modulation
T2 - iScience
J2 - iScience
PY - 2026
DA - 2026/04/28
VL - 29
IS - 6
SP - 115919
SN - 2589-0042
PB - Elsevier
DO - 10.1016/j.isci.2026.115919
UR - https://doi.org/10.1016/j.isci.2026.115919
LA - en
ER -

CSL-JSON

{
"id": "10.1016/j.isci.2026.115919",
"type": "article-journal",
"title": "Pupillary responses to invisible brightness escape from attentional modulation",
"container-title": "iScience",
"author": [
{
"family": "Yang",
"given": "Yung-Hao"
},
{
"family": "Liao",
"given": "Hsin-I"
}
],
"container-title-short": "iScience",
"volume": "29",
"issue": "6",
"page": "115919",
"DOI": "10.1016/j.isci.2026.115919",
"PMID": "42205707",
"PMCID": "PMC13207345",
"ISSN": "2589-0042",
"publisher": "Elsevier",
"URL": "https://doi.org/10.1016/j.isci.2026.115919",
"language": "en",
"issued": {
"date-parts": [
[
2026,
4,
28
]
]
}
}

The tracing map gets a citation of its own once an author has validated it and it has a DOI.

Similar papers

The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.

[1] doi:10.1371/journal.pone.0355165 [code]
Pupillary dynamics during hands-off L2 driving and transitions of control under high cognitive load.
Journal: PloS one
In common: easystats, emmeans, lmerTest, 2 other tools, cognitive, 3 references
[2] doi:10.1038/s44271-026-00524-6 [code]
Emergent blink rate in early childhood is associated with neural origins of executive function.
Journal: Communications psychology
In common: easystats, emmeans, lmerTest, 2 other tools, cognitive
[3] doi:10.1073/pnas.2603114123 [code]
The human hippocampus can pattern separate memories by meaning.
Journal: Proceedings of the National Academy of Sciences of the United States of America
In common: easystats, emmeans, lmerTest, 2 other tools, cognitive
[4] doi:10.1016/j.isci.2026.116747 [code]
Age and loneliness relate to reduced trust learning and alterations in amygdala function.
Journal: iScience
In common: easystats, emmeans, lmerTest, 2 other tools, cognitive
[5] doi:10.1016/j.neuroimage.2026.122115 [code]
Midfrontal theta power relates to response speeding following frustrative nonreward.
Journal: NeuroImage
In common: easystats, emmeans, lmerTest, 2 other tools, cognitive
[6] doi:10.1016/j.isci.2026.116047 [code]
Deciding to simulate: Cognitive mechanisms of predicting the decisions of others.
Journal: iScience
In common: easystats, emmeans, lmerTest, 2 other tools, cognitive
[7] doi:10.1038/s41598-026-58866-4 [code]
A neurocognitive interactive activation model of semantic priming in lexical decisions.
Journal: Scientific reports
In common: easystats, emmeans, lmerTest, 2 other tools, cognitive
[8] doi:10.1038/s41467-026-73865-9 [code]
Histamine shapes the neurocomputational dynamics of human learning.
Journal: Nature communications
In common: easystats, emmeans, lmerTest, 2 other tools, cognitive
[9] doi:10.1093/braincomms/fcag153 [code]
Dual-site theta stimulation modulates connectivity, but not sequence memory in older adults.
Journal: Brain communications
In common: easystats, emmeans, lmerTest, 2 other tools, cognitive
[10] doi:10.1371/journal.pbio.3003666 [code]
Emotion regulation success involves systematic gradient-based reconfigurations of large-scale activation patterns in the human brain.
Journal: PLoS biology
In common: easystats, emmeans, lmerTest, 2 other tools, cognitive

Contribute

The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.

Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.

Request its removal

To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).

Discussion, reproductions, activity

Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.

Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.

Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.