Giter VIP home page Giter VIP logo

infant-cluster-effectsize's Introduction

These scripts and the data in BIDS format are part of Meyer, M., Lamers, D., Kayhan, E., Hunnius, S., & Oostenveld, R. (2021). Enhancing reproducibility in developmental EEG research: BIDS, cluster-based permutation tests, and effect sizes, Developmental Cognitive Neuroscience, 52, 101036, https://doi.org/10.1016/j.dcn.2021.101036.

The infant EEG dataset is originally described in Kayhan, E., Meyer, M., O'Reilly, J. X., Hunnius, S., & Bekkering, H. (2019). Nine-month-old infants update their predictive models of a changing environment. Developmental cognitive neuroscience, 38, 100680, https://doi.org/10.1016/j.dcn.2019.100680.

The raw EEG dataset is available at https://doi.org/10.34973/gvr3-6g88.

The processed EEG data (in MATLAB and BIDS format) is available at https://doi.org/10.34973/g4we-5v66.

The MATLAB code should be executed as follows

  • do_setpath
  • do_convert_data_to_BIDS (Only to be done once; It refers to function 'trialfun_BeeG'; The code in this script is referred to as Script Section 1 in the manuscript)
  • do_prepare_neighbours (Only to be done once; The code in this script is not meant to be executed as-is, but is provided for reference)
  • do_complete_analysis, this will call
    • do_singlesubject_analysis for each subject (The code in this script is referred to as Script Section 2 in the manuscript)
    • do_group_analysis (The code in this script is referred to as Script Section 3 in the manuscript)
  • do_convert_results_to_BIDS

Note that the original source data referred to in the do_convert_data_to_BIDS file

infant-cluster-effectsize's People

Contributors

didilamers avatar didisns avatar marlenemeyer avatar robertoostenveld avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

infant-cluster-effectsize's Issues

add subject details file

although you don't have any subject details yet, I suggest you start adding subect details files anyway. that would be around here

https://github.com/DidiLamers/BeeG-analysis/blob/a4e2971ae90f264fab94ab3f38e302e0ef6410df/do_singlesubject_analysis.m#L33

The files would be called K0109.m or sub-K0109.m, would be included as code in this repo, and in the singlesubject analysis script you would simply evaluate them similar to https://github.com/robertoostenveld/Wakeman-and-Henson-2015

The dataset_description.json should be updated

it now contains

{
	"Authors": [
		"Ezgi Kayhan",
		"Marlene Meyer",
		"Jill X O'Reilly",
		"Sabine Hunnius",
		"Harold Bekkering"
	],
	"BIDSVersion": "1.2.0",
	"DatasetType": "raw",
	"License": "ODC-ODbL-1.0",
	"Name": "Nine-month-old infants update their predictive models of a changing environment"
}

I think it is fine that it refers to the original acquisition and paper, but should also contain a DOI to the original paper, to the place where the data is stored (on the Donders Repository), and possibly a reference to the manuscript that we are now making.

count of repetitions

I'd like to re-consider the way we count the repetitions of the bees. at the moment, we re-start the count after an oddball stimulus (ignoring in the count any bees that occur after the cue, like the update/no-update bees). However, since the same stimulus continues after no-update cues, we might need to take that into account.

Either way, we need to change in the script where we determine the repetitions --> we need to move it from after artefact rejection to before, otherwise we do not take into account artifacted trials although infants did see/hear those trials. I can do that once we decided which counting system we prefer

interpolate channels again (do_singlesubjectanalysis)

We now interpolate missing/bad channels after ICA but after that is another step during which we may exclude channels. I think we would interpolate any additional channels, rejected after that again?! Otherwise, now we end up with some participants having all NANs in the timelock data.

exclude participants

in do_group_analysis:
I wonder whether participants should be excluded based on the percentage of trials we reject or rather the number of trials we keep. Since unlike adult experiments, not all infants will have watched all trials, the percentage value might be deceiving. Or should we at least build in a minimum number of trials per condition?

read participants as table

also here I recommend using readtable. Subsequently you can use the table syntax, i.e.participants.participant_id and you don't have to think about which column is which. This stays closer to the idea of tables (rather than matrices) and "data dictionary" json sidecar files.

https://github.com/DidiLamers/BeeG-analysis/blob/a4e2971ae90f264fab94ab3f38e302e0ef6410df/analyze.m#L27

We could even consider implementing a function (in fieldtrip) to read a tsv together with its json sidecar (if available) and then use the json to fill the Variable and Custom Metadata according to https://nl.mathworks.com/help/matlab/ref/table.html. That would be useful for the participants, but also for electrodes, channels, and other tables. I was actually just working on fieldtrip/fieldtrip#1616 and fieldtrip/fieldtrip#1601 where that would also be handy.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.