Using pre-built atlases requires nothing beyond R. Creating your own atlases may require external software depending on the pipeline.
| Pipeline | R packages | System tools |
|---|---|---|
| Cortical (annotation, labels) | freesurferformats |
None |
| Cortical (neuromaps volume) | freesurfer, neuromapr |
FreeSurfer |
| Subcortical | freesurfer, magick, chromote,
htmlwidgets, terra, smoothr |
FreeSurfer, ImageMagick |
| Whole-brain | freesurfer, RNifti, magick,
chromote, htmlwidgets, terra,
smoothr |
FreeSurfer, ImageMagick |
| Tract | RNifti, Rvcg |
None |
| GIFTI / CIFTI | gifti or ciftiTools |
Connectome Workbench (CIFTI only) |
The cortical mesh-projection pipeline is the lightest — it runs in
seconds with no system tools and minimal R dependencies. All heavier
packages (freesurfer, magick,
chromote, terra, etc.) are in Suggests and
only loaded when a pipeline actually needs them.
FreeSurfer
is needed by the subcortical, whole-brain, and neuromaps volume
pipelines. The cortical annotation pipeline needs the
freesurferformats R package (not FreeSurfer itself) to read
.annot and .label files.
On macOS, you also need:
Verify your installation:
ImageMagick is used by the subcortical and whole-brain pipelines for image processing — isolating regions from screenshots, tracing contours, and converting them to polygons.
Not needed for cortical or tract pipelines.
Install via your package manager:
The subcortical and whole-brain pipelines take 3D screenshots using
the chromote package, which needs Google Chrome or
Chromium. Chrome is typically already installed. If not,
chromote will attempt to download a suitable version
automatically.
Not needed for cortical or tract pipelines.
ggseg.extra uses the furrr package for parallel processing. By default, processing runs sequentially.
To enable parallel processing, set up a future plan
before running atlas creation functions:
Use multisession, not
multicore. The subcortical pipeline uses chromote to take 3D brain
screenshots via headless Chrome. multicore relies on
process forking, which corrupts chromote’s websocket connections and
causes crashes. multisession spawns independent R worker
processes that each get their own clean Chrome instance.
If plan(multicore) is active when the pipeline runs, it
will automatically switch to multisession and warn you.
To return to sequential processing:
ggseg.extra uses progressr to report progress during long-running operations. Progress reporting is disabled by default.
To enable progress bars:
This gives you a cli-style progress bar that updates as each region or step completes. It works with both sequential and parallel execution.