Glossary

Computing

bash

Bourne-again shell; a commonly-used Unix command language

CLI

command-line interface; see command line

cluster

group of networked high-performance computers that can be remotely accessed for increased computing power; see HPC and server

command line

interface for processing commands to a computer as lines of text; sometimes referred to as command-line interface (CLI); see terminal, and compare to GUI

conda

package manager used for Python and other languages; contrast with pip

container

self-contained virtual computing environment that includes all dependencies for increased portability and reproducibility; see Docker and Singularity

CPU

central processing unit

Docker

platform used for packaging software and computing environments into containers (https://www.docker.com/); typically used on personal computers, but not on multi-user servers due to requiring root privileges; see container and Singularity

GPU

graphical processing unit

GUI

graphical user interface

HPC

high-performance computing; using large-scale computing resources over long periods of time to accomplish a task; sometimes referred to as high-throughput computing (HTC); see parallelization

HTC

high-throughput computing; using large-scale computing resources over long periods of time to accomplish a task; sometimes referred to as high-performance computing (HPC); see parallelization

IDE

integrated development environment; software that integrates a code editor, debugger, compiler, interpreter etc; e.g., PyCharm, Spyder, Jupyter Lab

job scheduler

software that manages tasks submitted by multiple users on a high-performance computing cluster; e.g., Slurm, PBS, HTCondor

MATLAB

commercial, closed-source software for mathematical analysis

mount

mounting remote storage volumes allows you to interact with data stored on a server using local computing resources; particularly useful for visualization; on Mac, using Finder > Go > Connect to server; on Linux, use sshfs

OS

operating system (e.g., Linux, MacOS, Windows)

parallelization

type of computing where multiple sub-tasks are carried out simultaneously, typically by assigning sub-tasks to different CPUs or threads; see job scheduler

pip

package manager for Python; contrast with conda

Python

free and open source software with wide range of functionality

RAM

random-access memory; rapid and dynamic “working” memory used doing processing, in contrast to longer-term data storage (e.g., hard disk), which requires slower read/write processing

server

typically a remote institutional computer system or cluster that provides high-performance computing services for “clients”; see cluster and HPC

shell

command-line interface for interacting with an operating system; e.g., sh, bash, csh, tcsh, zsh

SSH

secure shell; a secure connection to a remote computer or server

terminal

command-line interface for interacting with a computer (or shell); sometimes referred to as a terminal emulator; see command line

text editor

application for editing scripts in an easy way (outside of terminal); e.g., vim, Emacs, gedit, nano, Sublime, Atom

tmux

terminal multiplexer that allows you to attach and detach from persistent sessions on a remote server; also screen

Vim

extension of the “vi” text editor; commonly used on Linux systems; exit Vim by pressing “esc” then “:” then “x” (save and exit) or “q” (exit without saving) then “return”; see text editor

virtualization

see container; OS-level virtualization vs. virtual machine

virtual machine

e.g., Vagrant, VirtualBox

Computing at PNI

apps

use this for navigating the fileserver (e.g. moving or copying files)

bucket/jukebox

PNI’s fileserver. Each lab has a volume on the fileserver, and all the lab volumes are accessible via apps, spock and scotty.

Conquest

location on PNI’s fileserver where files are transferred from the MRI scanner

scotty

use this for interactive sessions on the server. Scotty is well-equipped for developing software to run on spock, as well as facilitating interactive workloads that are a poor fit for the computational clusters (e.g. using a gui).

scratch

location on PNI’s fileserver that is not backed up. This is the ideal place for intermediate files that you are generating but do not need backed up, which ends up saving space.

SLURM

program used to schedule jobs and manage resource utilization on the computational cluster (i.e. spock). SLURM will allocate your job to one or multiple nodes on spock.

spock

PNI’s computational cluster

MRI Acquisition

bandwidth

range of frequencies associated with signal reception; higher bandwidth typically increases noise

BOLD

blood-oxygen-level-dependent; signal indexed by the T2* contrast in fMRI

DICOM

Digital Imaging and Communications in Medicine; common file format for MRI images (as well as other types of medical images, e.g., CT); format for raw images exported from Siemens scanner after data acquisition

EPI

echo-planar imaging; commonly used MRI acquisition technique that relies on multiple gradient echoes to traverse k-space in a zig-zag fashion allowing rapid slice acquisition; see GRE

GRAPPA

generalized autocalibrating partial parallel acquisition; in-plane acceleration technique in k-space; contrast with SENSE; see iPAT

GRE

gradient echo; commonly used MRI acquisition technique where a rephasing gradient is applied at opposite polarity during T2, resulting in a “gradient echo”

iPAT

integrated parallel imaging techniques; refers to a family of techniques for in-plane acceleration, typically either in image space (e.g., SENSE) or in k-space (e.g., GRAPPA); an acceleration factor of iPAT = 2 with EPI means that half the number of echoes are acquired, accelerating acquisition; contrast with multiband and SMS

isotropic

typically used with reference to voxel sizes to indicate that voxels have the same extent in all three dimensions (e.g., 3 x 3 x 3 mm voxels are 3 mm isotropic voxels)

mSENSE

modified sensitivity encoding; Siemens-specific name for in-plane acceleration in image space; see SENSE and iPAT

multiband

simultaneous multislice (SMS) acceleration; contrast with iPAT; see SMS

NIfTI

Neuroimaging Informatics Technology Initiative; common file format for volumetric (f)MRI images; NIfTI images contain less metadata than DICOM images

SENSE

sensitivity encoding; in-plane acceleration technique in image space; Siemens refers to this technique as mSENSE; contrast with GRAPPA; see iPAT

SMS

simultaneous multislice; multiband acceleration technique in which multiple slices are acquired simultaneously; an acceleration factor of SMS = 2 means that two slices are collected simultaneously; contrast with iPAT; see multiband

SNR

signal-to-noise ratio; typically the mean signal value divided by the standard deviation (over time or space)

TE

echo time; time between radio frequency (RF) pulse and receipt of echo signal; corresponds to the duration required to acquire a single slice

TR

repetition time; duration of time between the acquisition of two consecutive functional volumes

tSNR

temporal signal-to-noise ratio; see SNR

voxel

volumetric (3D) pixel; MRI volumes are composed of voxels; voxel size (e.g., 3 mm) determines the spatial resolution of the images

Open science

Anaconda

common Python distribution including many data science packages; relies on the conda Python package manager; contrast with miniconda; see conda

arXiv

open-access preprint server for quantitative science (e.g., mathematics, physics, statistics) manuscripts prior to peer-reviewed publication; hosted by Cornell University

BIDS

Brain Imaging Data Structure; convention for organizing neuroimaging (meta)data that facilitates analysis and sharing

bioRxiv

open-access preprint repository for posting biology (including neuroscience) manuscripts prior to peer-reviewed publication; hosted by Cold Spring Harbor Laboratory (CSHL)

BrainIAK

open-source python toolbox for advanced neuroimaging analysis

BSD License

permissive software license with minimal restriction on re-use and distribution; contrast with GPL

CC

Creative Commons; family of licenses with varying types of restriction; e.g., CC0 (unrestricted release into public domain); CC-BY (requires attribution), CC-SA (requires share-alike)

Code Ocean

open access platform for computational reproducibility

git

free and open-source version control software for tracking code changes

GitHub

web platform for hosting and distributing software developed using git; commercial subsidiary of Microsoft

GNU

GNU’s Not Unix; Unix-like operating system composed of entirely free software (typically released under GPL); see GPL

GPL

GNU General Public License; a free “copyleft” license with share-alike requirements ensuring that derivative work be distributed under the same license, thus restricting commercialization; contrast with BSD License and MIT License

Jupyter

open-source web-based interactive computational environment for Python, R, Julia, etc; includes “Jupyter Notebook” and “Jupyter Lab”; derivative of IPython

LaTeX

typesetting designed for the production of technical and scientific documents

miniconda

lightweight, minimal Python distribution relying on the conda package manager; contrast with Anaconda; see conda

MIT License

permissive software license; contrast with GPL

OpenNeuro

repository for publishing and sharing neuroimaging data in BIDS format

OSF

Open Science Framework, free and open source project management tool (often used for preregistration of research hypotheses and task designs during or before data acquisition)

Overleaf

collaborative LaTex manuscript editor

Protocols.io

open access repository of protocols

PsyArXiv

preprint repository for posting psychology manuscripts prior to peer-reviewed publicationo; hosted by the Center for Open Science