From 49521b8cbed1cfcb5a0834838bc5ccd49aca3273 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Fri, 24 Mar 2023 14:02:18 -0400 Subject: [PATCH 1/5] Add github action to codespell master on push and PRs --- .github/workflows/codespell.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 .github/workflows/codespell.yml diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml new file mode 100644 index 0000000..5768d7c --- /dev/null +++ b/.github/workflows/codespell.yml @@ -0,0 +1,19 @@ +--- +name: Codespell + +on: + push: + branches: [master] + pull_request: + branches: [master] + +jobs: + codespell: + name: Check for spelling errors + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Codespell + uses: codespell-project/actions-codespell@v1 From bf42caa91bb97fbe8b6595c6f52d2753a45ab5a6 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Fri, 24 Mar 2023 14:02:18 -0400 Subject: [PATCH 2/5] Add rudimentary .codespellrc --- .codespellrc | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .codespellrc diff --git a/.codespellrc b/.codespellrc new file mode 100644 index 0000000..c8bd388 --- /dev/null +++ b/.codespellrc @@ -0,0 +1,6 @@ +[codespell] +skip = .git,*.pdf,*.svg,versioneer.py,*.psyexp +# TE -- echo time +# whos -- some command in debug workflow +# Sepulcre -- name +ignore-words-list = te,whos,sepulcre From c6fbe1cc395df9e7502d8d8903dd30a02d8a95b4 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Fri, 24 Mar 2023 14:04:30 -0400 Subject: [PATCH 3/5] ttest typo --- docs/content_pages/05-03-surfaceBased.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content_pages/05-03-surfaceBased.rst b/docs/content_pages/05-03-surfaceBased.rst index cdc18b5..08de083 100644 --- a/docs/content_pages/05-03-surfaceBased.rst +++ b/docs/content_pages/05-03-surfaceBased.rst @@ -93,7 +93,7 @@ Group Level Analysis This part is the same for surfaces and volumes. Which AFNI command you use will depend on your specific analysis of interest. Two straightforward options are: -* 3dttest++: `See documentation here `_. AFNI’s command for performing ttests on imaging data. +* 3dttest++: `See documentation here `_. AFNI’s command for performing t-tests on imaging data. * 3dANOVA2: See `documentation here `_. Performs a two-factor ANOVA. Usually one factor is your IV of interest and the other is subject as a random variable. Regardless of what option you choose, make sure you output the results as a .gii file. This will store your stats on the same surfaces that we’ve been using up until now. From adc539d2c6c93ffbfc37a49f948408ff50c60758 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Fri, 24 Mar 2023 14:07:01 -0400 Subject: [PATCH 4/5] ambigous typos fixed --- .../extra_files/sampleMaterials/RealTimeGreenEyesDisplay.m | 2 +- docs/content_pages/04-03-registration.rst | 2 +- .../pygers_workshops/fall_2020/workshop_notes_week2.rst | 2 +- docs/extra_files/sampleMaterials/RealTimeGreenEyesDisplay.m | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/_static/extra_files/sampleMaterials/RealTimeGreenEyesDisplay.m b/docs/_static/extra_files/sampleMaterials/RealTimeGreenEyesDisplay.m index 359b6bf..087f8f0 100755 --- a/docs/_static/extra_files/sampleMaterials/RealTimeGreenEyesDisplay.m +++ b/docs/_static/extra_files/sampleMaterials/RealTimeGreenEyesDisplay.m @@ -82,7 +82,7 @@ function RealTimeGreenEyesDisplay(debug, useButtonBox, fmri, rtData, subjectNum, disdaqs = 15; % how many seconds to drop at the beginning of the run TR = 1.5; % seconds per volume % story duration is 11 minutes 52 seconds -% sotry ends at 11 minutes 36.5 seconds +% story ends at 11 minutes 36.5 seconds audioDur = 712; % seconds how long the entire autioclip is runDur = audioDur; nTRs_run = ceil(runDur/TR); diff --git a/docs/content_pages/04-03-registration.rst b/docs/content_pages/04-03-registration.rst index 1478740..57deee4 100644 --- a/docs/content_pages/04-03-registration.rst +++ b/docs/content_pages/04-03-registration.rst @@ -104,7 +104,7 @@ For volumetric transformations, fmriprep uses a combination of Freesurfer, FSL, * Transformations: this is really a two step transformation so you need two different matrices * MNI → T1w .h5 transformation as described above - * T1w → EPI transformation: fmriprep saves this transformation in the :blue:`derivatives/work/fmriprep_wf` directory. Specifically, for subject 001 and task-story run 01, thie file would be located in + * T1w → EPI transformation: fmriprep saves this transformation in the :blue:`derivatives/work/fmriprep_wf` directory. Specifically, for subject 001 and task-story run 01, this file would be located in .. code-block:: bash diff --git a/docs/content_pages/pygers_workshops/fall_2020/workshop_notes_week2.rst b/docs/content_pages/pygers_workshops/fall_2020/workshop_notes_week2.rst index ca1d8a0..521ba7e 100644 --- a/docs/content_pages/pygers_workshops/fall_2020/workshop_notes_week2.rst +++ b/docs/content_pages/pygers_workshops/fall_2020/workshop_notes_week2.rst @@ -352,7 +352,7 @@ Refresh your GitHub page online. You should be able to see the contents inside : - Comment out `module load anacondapy/5.3.1` - Set the **scanner_dir** to the location where the data lives: - for PNI folks, the location is :blue:`/jukebox/norman/pygers/conquest` - - fot non-PNI folks, this should be the path to where you downloaded and saved the sample data + - for non-PNI folks, this should be the path to where you downloaded and saved the sample data - Edit **project_dir** to where you have the sample_study directory (e.g., /jukebox/LAB/YOURNAME/pygers_workshop/sample_study) Now, you need to commit and push the changes to your globals.sh file: diff --git a/docs/extra_files/sampleMaterials/RealTimeGreenEyesDisplay.m b/docs/extra_files/sampleMaterials/RealTimeGreenEyesDisplay.m index 359b6bf..087f8f0 100755 --- a/docs/extra_files/sampleMaterials/RealTimeGreenEyesDisplay.m +++ b/docs/extra_files/sampleMaterials/RealTimeGreenEyesDisplay.m @@ -82,7 +82,7 @@ function RealTimeGreenEyesDisplay(debug, useButtonBox, fmri, rtData, subjectNum, disdaqs = 15; % how many seconds to drop at the beginning of the run TR = 1.5; % seconds per volume % story duration is 11 minutes 52 seconds -% sotry ends at 11 minutes 36.5 seconds +% story ends at 11 minutes 36.5 seconds audioDur = 712; % seconds how long the entire autioclip is runDur = audioDur; nTRs_run = ceil(runDur/TR); From 84c8e9359e0ce62163a4b3c155dca99f2b8c8dd3 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Fri, 24 Mar 2023 14:10:28 -0400 Subject: [PATCH 5/5] [DATALAD RUNCMD] run codespell throughout === Do not change lines below === { "chain": [], "cmd": "codespell -w", "exit": 0, "extra_inputs": [], "inputs": [], "outputs": [], "pwd": "." } ^^^ Do not change lines above ^^^ --- dataladhandbook_support/_version.py | 2 +- dataladhandbook_support/directives.py | 2 +- .../extra_files/sampleMaterials/RealTimeGreenEyesDisplay.m | 2 +- docs/content_pages/01-04-faq.rst | 2 +- docs/content_pages/01-05-overview.rst | 4 ++-- docs/content_pages/03-02-converting.rst | 4 ++-- docs/content_pages/03-06-sampleProjectWithDatalad.rst | 2 +- docs/content_pages/05-02-mvpa.rst | 2 +- docs/content_pages/06-03-usefulLicenses.rst | 2 +- docs/content_pages/06-04-contributing.rst | 2 +- docs/content_pages/06-06-resources.rst | 2 +- docs/content_pages/hack_pages/git.rst | 2 +- .../pygers_workshops/fall_2020/workshop_notes_week2.rst | 2 +- docs/content_pages/research_tools/osf.rst | 2 +- docs/extra_files/sampleMaterials/RealTimeGreenEyesDisplay.m | 2 +- 15 files changed, 17 insertions(+), 17 deletions(-) diff --git a/dataladhandbook_support/_version.py b/dataladhandbook_support/_version.py index 2350d9d..b45326c 100644 --- a/dataladhandbook_support/_version.py +++ b/dataladhandbook_support/_version.py @@ -268,7 +268,7 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): # TAG-NUM-gHEX mo = re.search(r'^(.+)-(\d+)-g([0-9a-f]+)$', git_describe) if not mo: - # unparseable. Maybe git-describe is misbehaving? + # unparsable. Maybe git-describe is misbehaving? pieces["error"] = ("unable to parse git-describe output: '%s'" % describe_out) return pieces diff --git a/dataladhandbook_support/directives.py b/dataladhandbook_support/directives.py index d2352fa..8c67f52 100644 --- a/dataladhandbook_support/directives.py +++ b/dataladhandbook_support/directives.py @@ -51,7 +51,7 @@ class FindOutMore(BaseAdmonition): node_class = nodes.admonition # empty is no allowed has_content = True - # needs at least a one word titel + # needs at least a one word title required_arguments = 1 def run(self): diff --git a/docs/_static/extra_files/sampleMaterials/RealTimeGreenEyesDisplay.m b/docs/_static/extra_files/sampleMaterials/RealTimeGreenEyesDisplay.m index 087f8f0..c796f7e 100755 --- a/docs/_static/extra_files/sampleMaterials/RealTimeGreenEyesDisplay.m +++ b/docs/_static/extra_files/sampleMaterials/RealTimeGreenEyesDisplay.m @@ -77,7 +77,7 @@ function RealTimeGreenEyesDisplay(debug, useButtonBox, fmri, rtData, subjectNum, fprintf(['* debug: ' num2str(debug) '\n']); fprintf('*********************************************\n\n'); -%% Initalizing scanner parameters +%% Initializing scanner parameters disdaqs = 15; % how many seconds to drop at the beginning of the run TR = 1.5; % seconds per volume diff --git a/docs/content_pages/01-04-faq.rst b/docs/content_pages/01-04-faq.rst index dc3d9ef..4b524f3 100644 --- a/docs/content_pages/01-04-faq.rst +++ b/docs/content_pages/01-04-faq.rst @@ -184,7 +184,7 @@ PNI's `reference protocols .. Best Practices FAQ .. Glossary of Terms -.. Aquisition +.. Acquisition .. ReproIn .. PNI Pre-Scan Checklist .. Scanning Checklist .. Best Practices FAQ .. ` -.. :raw-html:`Overview of conducting fMRI research Design Experiment Aquisition ` +.. :raw-html:`Overview of conducting fMRI research Design Experiment Acquisition ` diff --git a/docs/content_pages/03-02-converting.rst b/docs/content_pages/03-02-converting.rst index e6b7944..cc76bf1 100644 --- a/docs/content_pages/03-02-converting.rst +++ b/docs/content_pages/03-02-converting.rst @@ -164,7 +164,7 @@ SessionID (second input) should match how your runs were named on the scanner (e .. TIP:: If you need to, run :blue:`step1_preproc.sh` line by line to check that the correct paths will go into :blue:`run_heudiconv.py`. If there is a problem with your paths, check your :blue:`globals.sh` file. -We recommended running :blue:`step1_preproc.sh` in a tmux window so you don’t run into issues with losing connection to the server, etc. After ssh-ing into the server, create a new tmux window OR attach to an exisiting tmux window. After creating a new window, you can attach to that specific window/session in the future. In other words, you don't have to create a new window every time you run :blue:`step1_preproc.sh`. +We recommended running :blue:`step1_preproc.sh` in a tmux window so you don’t run into issues with losing connection to the server, etc. After ssh-ing into the server, create a new tmux window OR attach to an existing tmux window. After creating a new window, you can attach to that specific window/session in the future. In other words, you don't have to create a new window every time you run :blue:`step1_preproc.sh`. * Create a new tmux window: ``tmux new -s [name]`` * Attach to an existing window: ``tmux a -t [name]`` * NOTE: replace ``[name]`` with whatever you want to name your tmux window -- we recommend naming it *step1*. @@ -219,7 +219,7 @@ The script takes one input: .. NOTE:: * This script will need to be customized for your study! Edit this script once at the beginning of your project so that all the filenames match your naming scheme, and so the fieldmaps are being applied to the correct functional runs. If you did not collect fieldmaps, then you can ignore the steps specific to fieldmaps. - * If an individual subject deviates from your standard (e.g., has an extra set of fieldmaps or is missing functional runs), then you will need to edit :blue:`step2_preproc.sh` again to accomodate these differences. + * If an individual subject deviates from your standard (e.g., has an extra set of fieldmaps or is missing functional runs), then you will need to edit :blue:`step2_preproc.sh` again to accommodate these differences. * **Sample project**: The sample dataset does NOT include fieldmaps. Therefore, when you edit the :blue:`step2_preproc.sh` for the sample project, you can comment out the lines of code dealing with the fieldmaps. You should still run :blue:`step2_preproc.sh` to delete the extra (scout and dup) files. diff --git a/docs/content_pages/03-06-sampleProjectWithDatalad.rst b/docs/content_pages/03-06-sampleProjectWithDatalad.rst index 1573d78..f630a94 100644 --- a/docs/content_pages/03-06-sampleProjectWithDatalad.rst +++ b/docs/content_pages/03-06-sampleProjectWithDatalad.rst @@ -366,7 +366,7 @@ Now we will add the :blue:`/data/bids` directory as its own (sub)dataset. Ultima # create a new dataset (datalad) [sample_project]$ datalad create -c text2git --description "Princeton pygers sample dataset raw BIDS files" -f -d^ ./data/bids - # edit the unuseful commit message + # edit the useless commit message (datalad) [sample_project]$ git commit --amend # edit commit message to say: [DATALAD] Add BIDS dataset diff --git a/docs/content_pages/05-02-mvpa.rst b/docs/content_pages/05-02-mvpa.rst index cd37f78..39736dd 100644 --- a/docs/content_pages/05-02-mvpa.rst +++ b/docs/content_pages/05-02-mvpa.rst @@ -38,7 +38,7 @@ In this case, you would set up a GLM with the motion confounds (or whichever oth **(2b) - Regressing out motion and setting up a GLM with task stimuli** -In this case, you want to do MVPA on *beta coefficients* instead of BOLD activation. You need to set up your design matrix so that each trial/TR is separate. However many stimulus labels you set (plus constrasts) will determine how many betas your model will calculate. So if you want to train on faces vs. scenes, do not only make 1 face label and 1 scene label. If you did this, you will only get 1 beta value/voxel for face and 1 beta value/voxel for scene. This is usually not enough samples to train for MVPA, unless you’re doing some across subject analysis. Thus, you should probably make face_TR1, face_TR2, etc. separate labels so you get an abbreviate time series out of your results to use for MVPA. +In this case, you want to do MVPA on *beta coefficients* instead of BOLD activation. You need to set up your design matrix so that each trial/TR is separate. However many stimulus labels you set (plus contrasts) will determine how many betas your model will calculate. So if you want to train on faces vs. scenes, do not only make 1 face label and 1 scene label. If you did this, you will only get 1 beta value/voxel for face and 1 beta value/voxel for scene. This is usually not enough samples to train for MVPA, unless you’re doing some across subject analysis. Thus, you should probably make face_TR1, face_TR2, etc. separate labels so you get an abbreviate time series out of your results to use for MVPA. Scikit-learn ------------ diff --git a/docs/content_pages/06-03-usefulLicenses.rst b/docs/content_pages/06-03-usefulLicenses.rst index 8c9c1ab..1d78f61 100644 --- a/docs/content_pages/06-03-usefulLicenses.rst +++ b/docs/content_pages/06-03-usefulLicenses.rst @@ -12,7 +12,7 @@ Research tools for Princeton researchers .. role:: blue .. role:: red -The `Princeton University Library `_ and `Princeton Research Data Service `_ have purchsaed institutional memberships to a number of reearch tools which can help researchers open their workflows. Below you will find a list of research tools that are currently supported. To recieve the benefits of a Princeton affiliation, simply create an account with your Princeton email address. +The `Princeton University Library `_ and `Princeton Research Data Service `_ have purchsaed institutional memberships to a number of reearch tools which can help researchers open their workflows. Below you will find a list of research tools that are currently supported. To receive the benefits of a Princeton affiliation, simply create an account with your Princeton email address. * `Code Ocean `_ * `Open Science Framework `_ diff --git a/docs/content_pages/06-04-contributing.rst b/docs/content_pages/06-04-contributing.rst index 20d92fc..8674774 100644 --- a/docs/content_pages/06-04-contributing.rst +++ b/docs/content_pages/06-04-contributing.rst @@ -330,7 +330,7 @@ Now that you have a general sense of how the repo is organized (and how you will * However, this sometimes doesn't happen right away. The moderators might want you to make some changes before accepting your merge request. If this is the case, they will contact you. -10. If your pull request gets approved and is merged to the offical handbook, **delete the branch** for the feature that was just approved. You can do this from the terminal or from the GitHub page for your forked repo. +10. If your pull request gets approved and is merged to the official handbook, **delete the branch** for the feature that was just approved. You can do this from the terminal or from the GitHub page for your forked repo. *On terminal*: diff --git a/docs/content_pages/06-06-resources.rst b/docs/content_pages/06-06-resources.rst index 7f63b41..91ddec7 100644 --- a/docs/content_pages/06-06-resources.rst +++ b/docs/content_pages/06-06-resources.rst @@ -53,7 +53,7 @@ Useful Toolboxes * `PySurfer `_ Python library for visualizing cortical surface representations of neuroimaging data. * `scikit-learn `_ - Software machine learning library for Python that featurs various classification, regression, and clustering algorithms. + Software machine learning library for Python that features various classification, regression, and clustering algorithms. * `SciPy `_ Python-based ecosystem of open-source software for mathematics, science, and engineering. Its core packages include NumPy, SciPy, Matplotlib, iPython, and pandas. diff --git a/docs/content_pages/hack_pages/git.rst b/docs/content_pages/hack_pages/git.rst index 99f3721..63aa2ac 100644 --- a/docs/content_pages/hack_pages/git.rst +++ b/docs/content_pages/hack_pages/git.rst @@ -141,7 +141,7 @@ As one last step, examine ``git log`` in both your original and second computer General Git workflow ==================== -Initialize Git in an empty or exisiting code directory on computer1 (``git init``). Setup a corresponding new repository on GitHub. Add GitHub as the remote to your computer1 repo (``git remote add origin ``). Clone the GitHub repo to computer2 (``git clone ``). +Initialize Git in an empty or existing code directory on computer1 (``git init``). Setup a corresponding new repository on GitHub. Add GitHub as the remote to your computer1 repo (``git remote add origin ``). Clone the GitHub repo to computer2 (``git clone ``). Keep everything synchronized! Follow this workflow when working from computer1 or computer2 (or computer3, etc.). diff --git a/docs/content_pages/pygers_workshops/fall_2020/workshop_notes_week2.rst b/docs/content_pages/pygers_workshops/fall_2020/workshop_notes_week2.rst index 521ba7e..1f24b72 100644 --- a/docs/content_pages/pygers_workshops/fall_2020/workshop_notes_week2.rst +++ b/docs/content_pages/pygers_workshops/fall_2020/workshop_notes_week2.rst @@ -168,7 +168,7 @@ In the following, we'll work through a simple exercise of version control with G # note that floats break this script # check your python version then try division with remainder - # if you're using python 3, the ouput should be a fractional float + # if you're using python 3, the output should be a fractional float # if you're using python 2, the default is integer division (yikes) # let's make an adjustment to our script diff --git a/docs/content_pages/research_tools/osf.rst b/docs/content_pages/research_tools/osf.rst index 0b4dd6f..bfa1476 100644 --- a/docs/content_pages/research_tools/osf.rst +++ b/docs/content_pages/research_tools/osf.rst @@ -40,7 +40,7 @@ Create an account ========================================= 1. Go to `OSF `_ 2. Click 'Sign in through institution' -3. Create an accout with your Princeton email address +3. Create an account with your Princeton email address Getting started =============== diff --git a/docs/extra_files/sampleMaterials/RealTimeGreenEyesDisplay.m b/docs/extra_files/sampleMaterials/RealTimeGreenEyesDisplay.m index 087f8f0..c796f7e 100755 --- a/docs/extra_files/sampleMaterials/RealTimeGreenEyesDisplay.m +++ b/docs/extra_files/sampleMaterials/RealTimeGreenEyesDisplay.m @@ -77,7 +77,7 @@ function RealTimeGreenEyesDisplay(debug, useButtonBox, fmri, rtData, subjectNum, fprintf(['* debug: ' num2str(debug) '\n']); fprintf('*********************************************\n\n'); -%% Initalizing scanner parameters +%% Initializing scanner parameters disdaqs = 15; % how many seconds to drop at the beginning of the run TR = 1.5; % seconds per volume