There is an urgent need to improve the reproducibility of (functional) MRI research through transparent reporting, but standardization in this domain is currently lacking. Shared MR images are often only made available after transformation into a derivative data format (e.g. BIDS), and scan session documentation is commonly either manually implemented (e.g. with hand written notes) or neglected entirely.
Scan Session Tool was written to fill this gap, and to be used by neuroscientists, to help them increase transparency and reproducibilty of their MRI research by standardizing scan session documentation and raw data archiving.
Scan Session Tool is a graphical application for documenting (f)MRI scan sessions and automatized data archiving. Information about the scan session itself, used forms and documents, as well as the single measurements can be entered and saved into a protocol file. This information can furthermore be used to copy acquired data (DICOM images as well as optional stimulation protocols and logfiles into a specific hierarchical folder structure for unified archiving purposes, with optional sepcial support for (Turbo-)BrainVoyager.
-
Make sure Python 3 (>=3.6; with Tkinter) is installed.
-
Install pipx:
python3 -m pip install --user pipx python3 -m pipx ensurepath
(On Windows you might need to replace python3
with py -3
).
-
Install Scan Session Tool:
pipx install ScanSessionTool
-
Make sure Python 3 (>=3.6; with Tkinter) is installed.
-
Install Scan Session Tool:
python3 -m pip install ScanSessionTool
(On Windows you might need to replace python3
with py -3
).
Scan Session Tool can be started with the command scansessiontool
.
The full documentation can be found from within the programme, by clicking on the "?" button, or by selecting "Scan Session Tool Help" from the Help menu, as well as at https://fladd.github.io/ScanSessionTool/.
Core functionality of Scan Session Tool can be tested automatically. To do so, first install all dependencies:
python -m pip install -r requirements.txt`
Then, run tests from this directory:
python -m unittest -v
We very much welcome contributions to Scan Session Tool, and there are multiple ways to contribute. Contributions are always handled transparently through the public GitHub interface.
If you encounter bugs or incorrect/unexpected behaviour of Scan Session Tool, please consider creating an issue here on GitHub for it. You can read more about how to do this here. When reporting issues, make sure to report (1) what you were trying to do, (2) what the expected outcome should have been, (3) what the observed outcome is, and (4) how to replicate this behaviour.
We work with the standard GitHub forking workflow and appreciate code contributions in that way. Individuals that have contributed code will be named with their contributions on this page.
To implement bug fixes, please
- fork the main branch of this repository
- commit your changes (potentially in a new branch)
- test you changes
- create a pull request and reference the corresponding GitHub issue, if applicable
Before implementing a new feature, we would encourage you to first discuss the planned feature with us, either in the issue tracker, or GitHub discussions. Once discussed, new features can then be implemented the same way as bug fixes.
- Florian Krause (main developer)
- Nikos Kogias (co-developer)