Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 28 additions & 14 deletions content/post/2025-07-02-DataPipeOSF/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,46 +34,60 @@ DataPipe is a tool that allows you to collect and save data in OSF (Open Science
1. **Create an OSF Project**: Start by creating a new project in [OSF](https://osf.io/). This will be the container for your data and any related files. You can set up an account if you don't have one already, quite easily!

- Go to the OSF homepage and log in or create an account. You can easily sign up through institutional access.
- Click on "Create a New Project" and fill in the necessary details such as project title, description, and visibility settings. ***DO NOT SET IT AS PUBLIC*** as the data being saved will not be anonymized and may contain sensitive information.
- Click on "Create New Project" and fill in the necessary details such as project title, description, and visibility settings. Choose "Germany - Frankfurt" as the server location; this is important for data privacy and compliance with regulations such as GDPR.***DO NOT SET YOUR PROJECT AS PUBLIC*** as the data being saved will not be anonymized and may contain sensitive information.

2. **Create OSF Token**: You will need to create a token to grant DataPipe the necessary permissions to access your OSF project.

- Go to your OSF account settings and navigate to the "personal access tokens" section.
- Click on "Create a new token" and give it a name (e.g., "DataPipe Token").
- Go to your OSF "Settings" tab and navigate to the "Personal Access Tokens" section.
- Click on "Create Token" and give it a name (e.g., "DataPipe Token").
- Set the permissions for the token, ensuring it has access to read and write data in your project.
- Copy the generated token; you will need it later.

3. **Link OSF to DataPipe**: In DataPipe, you will need to link your OSF project using the token you created.
3. **Link OSF to DataPipe**: In [DataPipe](https://pipe.jspsych.org/), you will need to link your OSF project using the token you created.

- Open DataPipe, click Account on the top right corner and select settings.
- Click on the 'Set OSF Token' button and paste the token you copied earlier.
- Open DataPipe, click "Account" in the top-right corner and select "Settings".
- Click on the "Set OSF Token" button and paste the token you copied earlier from OSF.

4. **Create new experiment on DataPipe**: Now that your OSF project is linked, you can create a new experiment in DataPipe.

- Click on "Create New Experiment" in DataPipe.
- In the "My Experiments" DataPipe tab, click on the "Create New Experiment" button.
- Give the experiment a name - I recommend using the same name as your OSF project for consistency.
- Add the OSF project ID to the experiment settings. You can find the project ID in the URL of your OSF project (it is the alphanumeric string after osf.io/)
- Create a new OSF Data component called 'data'. This will create a folder - named data - in your OSF project where all the data collected will be saved.
- Choose Germany - Frankfurt as the server location for your DataPipe experiment. This is important for data privacy and compliance with regulations such as GDPR.
- Create a New OSF Data Component called "data". This will create a folder - named "data" - in your OSF project where all the data collected will be saved.
- Again, choose "Germany - Frankfurt" as the server location for your DataPipe experiment.

5. **Configure Data Collection**: Once the experiment is set up on DataPipe enable data collection on the Status section. You can optionally enable base64 data collection if you wish to encode any video, audio or image files as strings. 'Condition assignment' can also be enabled- this makes DataPipe loop through the conditions when it requests the data. When deciding whether these features are suitable, it's best to consider how you will preprocess the data. It's advised that you only enable the minimum needed as a security measure.
5. **Configure Data Collection**: Once the experiment is set up on DataPipe, enable data collection on the "Status" section. You can optionally enable base64 data collection if you wish to encode any video, audio, or image files as strings. "Condition assignment" can also be enabled - this makes DataPipe loop through the conditions when it requests the data. When deciding whether these features are suitable, it's best to consider how you will preprocess the data. It's advised that you only enable the minimum needed as a security measure.

6. **Save the data from the experiment hosted on GitHub**: If you are using a GitHub repository to host your experiment, you can save the data collected by writing the below code to the experiment HTML file. This bit of code should be called at the end of your experiment to ensure that all data is saved to the OSF project
6. **Save the data from the experiment hosted on GitHub**: If you are using a GitHub repository to host your experiment, you can save the data collected by writing the following code within the experiment HTML file. Here is what that code might look like...

- Here is what the code should look like in your experiment HTML file:
- Ensure you load the jsPsych DataPipe plugin, along with the rest of your plugins, within the head of the HTML script:

``` javascript
<script src="https://unpkg.com/@jspsych-contrib/plugin-pipe"></script>
```

- After initializing your jsPsych timeline, to generate a random participant ID for your study, you can code the following:

``` javascript
// Initialize timeline
var timeline = []
participant_ID = jsPsych.randomization.randomID(10)
```

- This next bit of code should be called at the end of your experiment (albeit before running the timeline) to ensure that all data is saved to the OSF project, using the unique participant ID generated from the step above:

``` javascript
// Save data via DataPipe
timeline.push({
type: jsPsychPipe,
action: "save",
experiment_id: "xxxxxxxxxx", // This in generated in the DataPipe interface
filename: `${participantID}.csv`,
filename: `${participant_ID}.csv`,
data_string: () => jsPsych.data.get().csv(),
})
```

- On the experiment created on DataPipe, there is an 'Experiment ID' field. This is the ID you need to add to the `experiment_id` field in the code above.
- On the experiment created in DataPipe, there is an 'Experiment ID' field. This is the ID you need to add to the `experiment_id` field in the code above.

- The `filename` field can be customized to include the participant ID or any other identifier you prefer.

Expand Down
6 changes: 3 additions & 3 deletions content/post/2025-12-20-Interoception/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Hello👋! We are [Róisín](https://realitybending.github.io/authors/roisin-sha

**Interoception**, essentially referring to one's sensation of their internal body, is a fundamental phenomenon that we rely on in everyday life, and recent research highlights it as a trans-diagnostic underpinning of a variety of somatic and psychological difficulties.

**While we know interoception is very important, the specifics are still being worked out**. Debates continue on what the exactly interoceptions is, is not, and what it encompasses in terms of modalities or processes. Is it limited to visceral sensations (i.e., from internal organs)? Does it include proprioception (i.e., body position sense)? Pain? What about tactile sensations (i.e., touch and skin)? Does it include the interaction with higher-order processes like attention and beliefs?
**While we know interoception is very important, the specifics are still being worked out**. Debates continue on what exactly interoception is, is not, and what it encompasses in terms of modalities or processes. Is it limited to visceral sensations (i.e., from internal organs)? Does it include proprioception (i.e., body position sense)? Pain? What about tactile sensations (i.e., touch and skin)? Does it include the interaction with higher-order processes like attention and beliefs?


This chaotic and moving landscape has been accompanied by the development and repurposing of different interoception (and interoception-adjacent) questionnaires, each with their own philosophies and approach. Carefully choosing a good measure of interoception is crucial to avoid adding to the [**jingle-jangle fallacy**](https://en.wikipedia.org/wiki/Jingle-jangle_fallacies) plaguing the field, in which discrepancies and contradictions of results *"related to interoception"* are driven by differences in what aspect of it is actually being measured.
Expand All @@ -34,7 +34,7 @@ Moreover, unlike *exteroception* (vision, audition, etc.), where researchers can

### 😨 Body Perception Questionnaire (BPQ)

The **BPQ** is one of the earliest interoception scales, originally built by [Porges in 1993](https://terpconnect.umd.edu/~sporges/body/body.txt). This questionnaire focuses on the autonomic nervous system, involved in stress responses, and thus is mainly concerned with internal sensing when there are problems (e.g., 'tremor in my lips', 'general jitteriness' being two items for body awareness). This makes the scale beneficial in clinical contexts to investigate maladaptive interoception, particularly in patients who have a dysregulated autonomic nervous systems. However, if you are interested in interoception in a wider context, other questionnaires may be more appropriate.
The **BPQ** is one of the earliest interoception scales, originally built by [Porges in 1993](https://terpconnect.umd.edu/~sporges/body/body.txt). This questionnaire focuses on the autonomic nervous system, involved in stress responses, and thus is mainly concerned with internal sensing when there are problems (e.g., 'tremor in my lips', 'general jitteriness' being two items for body awareness). This makes the scale beneficial in clinical contexts to investigate maladaptive interoception, particularly in patients who have a dysregulated autonomic nervous system. However, if you are interested in interoception in a wider context, other questionnaires may be more appropriate.


<figure>
Expand All @@ -58,7 +58,7 @@ More recently, the **Interoceptive Accuracy Scale (IAS)** [(Murphy et al., 2019)

The **Multimodal Interoception Questionnaire (Mint;** [**Makowski et al., 2025**](https://doi.org/10.31234/osf.io/8qrht_v1)) is the most recent interoception questionnaire, designed with the intention of addressing the caveats and limitations by building on established measures and synthesising the previous research and advances. Fundamentally, the Mint takes a "**context-by-modality**" approach to item development, encompassing a wide range of (seven) **modalities** of interoceptive experience (cardiac, respiratory, gastric, etc.) and also controlling for the **contexts** in which these may appear (covering negative (*anxious*) and positive (*sexual*) arousal states). The Mint also incorporates both adaptive and maladaptive aspects of interoception (interoceptive confusion), as well as items targeting different levels of processing.

Importantly, this questionnaire was developed with the aim of addressing some of the methodological shortcomings of previous interoception questionnaires, such as limiting *interpretation Variance*, *state Dependency* (the fact that respondents "anchor" their answers to their current physiological state rather than their general trait), and *recency effects* (recent, salient physical experiences disproportionately influencing scores), in particular by providing a clear contextual reference for each item. The validation study shows displayed strong correlations with the above questionnaires (suggesting that it can be used as a comprehensive replacement), while also demonstrating a superior predictive power for a variety of clinical conditions.
Importantly, this questionnaire was developed with the aim of addressing some of the methodological shortcomings of previous interoception questionnaires, such as limiting *interpretation Variance*, *state Dependency* (the fact that respondents "anchor" their answers to their current physiological state rather than their general trait), and *recency effects* (recent, salient physical experiences disproportionately influencing scores), in particular by providing a clear contextual reference for each item. The validation study displayed shows strong correlations with the above questionnaires (suggesting that it can be used as a comprehensive replacement), while also demonstrating a superior predictive power for a variety of clinical conditions.



Expand Down