Skip to content

rob-luke/fnirs-apps-demo

Repository files navigation

fNIRS Apps Example

fNIRS Apps are standalone neuroimaging pipelines inspired by BIDS Apps.

This repository demonstrates how you can use fNIRS Apps to specify your complete analysis pipleline, from raw data to group level GLM statistical analysis.

This example utilises the boutiques framework. Boutiques is a descriptive command-line framework automating analysis. It allows you to specify the app you wish to run and the parameters you wish to use. Boutiques will validate your parameters before running the app, minimising the risk of error. All fNIRS Apps are registered with boutiques, you can search for fNIRS apps using the bosh tool from boutiques by running:

~ bosh search 'fNIRS Apps'

which will return something like...

[ INFO ] Showing 4 of 4 result(s), exluding 0 deprecated result(s).
ID              TITLE                             DESCRIPTION                                
zenodo.5112758  fNIRS Apps: Sourcedata to BIDS    Create fNIRS BIDS datasets from source d...
zenodo.5112722  fNIRS Apps: Scalp Coupling Index  Compute Scalp Coupling Index and mark BI...
zenodo.5112773  fNIRS Apps: Quality Reports       Generate quality reports for fNIRS data    
zenodo.5113225  fNIRS Apps: GLM Pipeline          A GLM pipeline for fNIRS data              

which includes the app ID (which is automatically updated each time a new version is release), the app names, and brief description.

We must also provide the parameters to be used with each app. These are provided in the attached code as json files.

Combining the above information we would run a single app as:

bosh exec launch zenodo.5112758 01-raw-data-to-bids.json -v /path/to/data:/bids_dataset

In this example we run the following apps in turn with:

  • Convert raw data in vendor format to a BIDS dataset
    bosh exec launch zenodo.5112758 01-raw-data-to-bids.json -v /path/to/data:/bids_dataset
  • Calculate the scalp coupling index for each channel and mark channels with SCI<0.7 as bad
    bosh exec launch zenodo.5112722 02-compute-sci.json -v /path/to/data/:/bids_dataset
  • Generate a data quality report for each file
    bosh exec launch zenodo.5112773 03-generate-quality-reports.json -v /path/to/data/:/bids_dataset
  • Execute a GLM analysis on the dataset, including a group level mixed effects analysis
    bosh exec launch zenodo.5113225 04-run-glm-analysis.json -v /path/to/data/:/bids_dataset

This repository uses GitHub actions to automatically run this entire chain of analysis in the could. It is run each time an app is updated to ensure it does not break. You can view the analysis and output by clicking on the Actions tab at the top of the page. View the github workflow to see how each bosh command is run in turn.

About

Example and automated usage of fNIRS Apps

Topics

Resources

License

Stars

Watchers

Forks