Create cerebellar atlas from volume segmentation
Source:R/atlas_cerebellar.R
create_cerebellar_from_volume.RdCreates a cerebellar atlas from a NIfTI segmentation volume. Uses the bundled SUIT 3D surface for volume-to-surface sampling and the SUIT flatmap for 2D polygon generation. Per-region 3D meshes are tessellated from the volume for 3D rendering.
Usage
create_cerebellar_from_volume(
input_volume = NULL,
decimate = 0.5,
verbose = get_verbose(),
...,
input_lut = NULL,
atlas_name = NULL,
output_dir = NULL,
min_coverage = NULL,
cleanup = NULL,
skip_existing = NULL
)Arguments
- input_volume
Path to a cerebellar segmentation volume (NIfTI).
- decimate
Mesh decimation factor between 0 and 1. Reduces the number of faces in 3D meshes using quadric edge decimation (via
Rvcg::vcgQEdecim()). A value of 0.5 reduces faces by 50%. Set to NULL to skip decimation. Requires the Rvcg package. Default is 0.5.- verbose
How much to print:
0silent,1progress (the default),2adds FreeSurfer's own output.TRUEandFALSEmean1and0. Falls back tooptions("ggseg.extra.verbose"), thenGGSEG_EXTRA_VERBOSE.- ...
Not used. Present so that a mistyped or misplaced argument is reported against this function rather than silently ignored; anything passed here is an error. Geometry is shaped after the build: see
atlas_polish(), oratlas_simplify(),atlas_smooth()andatlas_dilate()individually.- input_lut
Optional path to a colour lookup table file, or a data.frame with columns
idx,label, and optionallyR,G,B. Either may also carry ahemicolumn ("left","right"or"midline") that sets each region's hemisphere; a row leftNA, or a table without the column, has it read from the label's name, and any other value is an error.write_lut()stores the column in a file. If NULL, labels are auto-generated from volume values.- atlas_name
Name for the atlas. If NULL, derived from the input filename. It also names the folder of intermediate files inside
output_dir, so it must be a single name without path separators.- output_dir
Where to put the intermediate files. Defaults to
tempdir(), fromoptions("ggseg.extra.output_dir")orGGSEG_EXTRA_OUTPUT_DIR.- min_coverage
Smallest share of
corelabels that must end up with 2D geometry, between 0 and 1. A build that falls below it warns and names the labels that have no shape; the warning fires whateververboseis set to, because a region that cannot be drawn is data loss rather than progress chatter. The build itself still returns, so a long pipeline is never thrown away over a threshold. Use0to turn the check off. Defaults to0.8, or tooptions("ggseg.extra.min_coverage"), thenGGSEG_EXTRA_MIN_COVERAGE.- cleanup
Remove the intermediate files afterwards. Default
TRUE, fromoptions("ggseg.extra.cleanup")orGGSEG_EXTRA_CLEANUP.The intermediate files live in a folder named after the atlas inside
output_dir, and the whole folder is removed. A build therefore refuses to start if that folder already holds files it did not write, since removing it would take them too. Choose anotheroutput_diroratlas_name, or passFALSEto build there and keep everything.- skip_existing
Reuse a step's intermediate files when they already exist, instead of running the step. Default
FALSE, fromoptions("ggseg.extra.skip_existing")orGGSEG_EXTRA_SKIP_EXISTING.A cache records which ggseg.extra wrote it, not what it was built from, so reuse cannot tell that the volume or lookup table has changed. Reuse is therefore asked for rather than assumed, and is reported when it happens. To continue an interrupted build, either pass
TRUEor leave the finished steps out ofsteps.
See also
atlas_polish() to simplify and round off the result, which
most builds want next.
Other atlas creation:
create_cerebellar_from_annotation(),
create_cerebellar_from_gifti(),
create_cortical_from_annotation(),
create_cortical_from_cifti(),
create_cortical_from_gifti(),
create_cortical_from_labels(),
create_cortical_from_neuromaps(),
create_subcortical_from_volume(),
create_tract_from_tractography(),
create_tract_from_volume(),
create_wholebrain_from_volume()