coldcuts
coldcuts is an R package to automatically generate and plot segmentation drawings in R
Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: arxiv.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.4%) to scientific vocabulary
Keywords
Repository
coldcuts is an R package to automatically generate and plot segmentation drawings in R
Basic Info
- Host: GitHub
- Owner: langleylab
- License: other
- Language: R
- Default Branch: main
- Homepage: https://langleylab.github.io/coldcuts
- Size: 144 MB
Statistics
- Stars: 7
- Watchers: 1
- Forks: 2
- Open Issues: 3
- Releases: 0
Topics
Metadata Files
README.md
coldcuts
coldcuts is an R package that allows you to draw and plot automatically segmentations from 3D voxel arrays.
The name is inspired by one of Italy's best products.
🎓 You can find the documentation and a tutorial to get started at the package's page: https://langleylab.github.io/coldcuts
🗂 You can find additional segmentation files, ontologies and other information at https://langleylab.github.io/coldcuts/articles/segmentations.html
📄 You can read the preprint on arXiv at https://arxiv.org/abs/2201.10116
Citation
If you use coldcuts in your research, cite the preprint:
Giuseppe D'Agostino and Sarah Langley, Automated brain parcellation rendering and visualization in R with coldcuts, arXiv 2022, arXiv:2201.10116
Motivation

When dealing with neuroimaging data, or any other type of numerical data derived from brain tissues, it is important to situate it in its anatomical and structural context. Various authors provide parcellations or segmentations of the brain, according to their best interpretation of which functional and anatomical boundaries make sense for our understanding of the brain. There are several stand-alone tools that allow to visualize and manipulate segmentations. However, neuroimaging data, together with other functional data such as transcriptomics, is often manipulated in a statistical programming language such as R which does not have trivial implementations for the visualization of segmentations.
To bridge this gap, some R packages have been recently published:
- ggseg by Athanasia Mo Mowinckel and Didac Vidal-Piñeiro
- cerebroViz by Ethan Bahl, Tanner Koomar, and Jacob J Michaelson
- fsbrain by Tim Schäfer and Christine Ecker
ggseg and cerebroviz offer 2D (and 3D in the case of ggseg3d) visualizations of human brain segmentations, with the possibility of integration with external datasets. These segmentations are manually curated, which means that new datasets must be manually inserted, and they are limited to the human brain in scope. ggseg in particular has made available several segmentations of human cortical surface atlases.
fsbrain focuses on 3D visualization of human MRI data with external data integration and visualization in both native space and transformed spaces. It does not depend on manually curated datastes (beyond segmentations).
While these tools provide a wealth of beautiful visualization interfaces, we felt the need to implement a tool to systematically create 2D (and potentially 3D) objects that are easily shared and manipulated in R, with the addition of labels, external datasets and simple operations such as subsetting and projecting, with minimal need for manual curation and without limiting ourselves to a particular species.
Thus, coldcuts is our attempt at bridging the gap between imaging/high throughput brain data and R through data visualization.

Installing the package
⬇️ You can install this package using devtools::install_github():
{r}
devtools::install_github("langleylab/coldcuts")
Note: coldcuts uses smoothr to smooth 2D polygons. This package requires the installation of terra which has some system dependencies for spatial data, such as GDAL, GEOS and PROJ that can sometimes be difficult to install, especially in machines on which you do not have admin rights.
One possible workaround when you do not have admin rights is to use conda virtual environments to install GDAL and other libraries using the conda-forge channel: link
Getting started
🏃🏽♀️ You can find a small example to get started here
Owner
- Name: langleylab
- Login: langleylab
- Kind: organization
- Repositories: 7
- Profile: https://github.com/langleylab
CodeMeta (codemeta.json)
{
"@context": [
"https://doi.org/10.5063/schema/codemeta-2.0",
"http://schema.org"
],
"@type": "SoftwareSourceCode",
"identifier": "coldcuts",
"description": "coldcuts automatically generates polygons from 3D segmentations or\n parcellations along all anatomical axes, and provides plotting functions \n to visualize structures and colour them according to user-defined datasets.",
"name": "coldcuts: Automated generation of segmentation polygons for plotting ",
"license": "https://spdx.org/licenses/MIT",
"version": "0.0.0.900",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "R",
"url": "https://r-project.org"
},
"runtimePlatform": "R version 4.1.1 (2021-08-10)",
"author": {},
"contributor": {},
"copyrightHolder": {},
"funder": {},
"maintainer": [
{
"@type": "Person",
"givenName": "Giuseppe",
"familyName": "D'Agostino",
"email": "g.a.dagostino@gmail.com"
}
],
"softwareSuggestions": [
{
"@type": "SoftwareApplication",
"identifier": "nat",
"name": "nat",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=nat"
}
],
"softwareRequirements": [
{
"@type": "SoftwareApplication",
"identifier": "colorspace",
"name": "colorspace",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=colorspace"
},
{
"@type": "SoftwareApplication",
"identifier": "data.table",
"name": "data.table",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=data.table"
},
{
"@type": "SoftwareApplication",
"identifier": "freesurferformats",
"name": "freesurferformats",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=freesurferformats"
},
{
"@type": "SoftwareApplication",
"identifier": "future.apply",
"name": "future.apply",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=future.apply"
},
{
"@type": "SoftwareApplication",
"identifier": "ggplot2",
"name": "ggplot2",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=ggplot2"
},
{
"@type": "SoftwareApplication",
"identifier": "ggraph",
"name": "ggraph",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=ggraph"
},
{
"@type": "SoftwareApplication",
"identifier": "ggrepel",
"name": "ggrepel",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=ggrepel"
},
{
"@type": "SoftwareApplication",
"identifier": "igraph",
"name": "igraph",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=igraph"
},
{
"@type": "SoftwareApplication",
"identifier": "isoband",
"name": "isoband",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=isoband"
},
{
"@type": "SoftwareApplication",
"identifier": "methods",
"name": "methods"
},
{
"@type": "SoftwareApplication",
"identifier": "oro.nifti",
"name": "oro.nifti",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=oro.nifti"
},
{
"@type": "SoftwareApplication",
"identifier": "polylabelr",
"name": "polylabelr",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=polylabelr"
},
{
"@type": "SoftwareApplication",
"identifier": "qualpalr",
"name": "qualpalr",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=qualpalr"
},
{
"@type": "SoftwareApplication",
"identifier": "reshape2",
"name": "reshape2",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=reshape2"
},
{
"@type": "SoftwareApplication",
"identifier": "scales",
"name": "scales",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=scales"
},
{
"@type": "SoftwareApplication",
"identifier": "smoothr",
"name": "smoothr",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=smoothr"
},
{
"@type": "SoftwareApplication",
"identifier": "splancs",
"name": "splancs",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=splancs"
},
{
"@type": "SoftwareApplication",
"identifier": "tidygraph",
"name": "tidygraph",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=tidygraph"
}
],
"codeRepository": "https://github.com/langleylab/coldcuts",
"readme": "https://github.com/langleylab/coldcuts/blob/main/README.md",
"fileSize": "123.403KB",
"contIntegration": "https://github.com/langleylab/coldcuts/actions",
"keywords": [
"imaging",
"neuroscience",
"neuroimaging",
"data-visualization",
"ggplot2",
"r"
]
}
GitHub Events
Total
- Watch event: 1
- Push event: 2
- Pull request event: 1
- Create event: 1
Last Year
- Watch event: 1
- Push event: 2
- Pull request event: 1
- Create event: 1
Dependencies
- JamesIves/github-pages-deploy-action v4.4.1 composite
- actions/checkout v3 composite
- r-lib/actions/setup-pandoc v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
- ComplexHeatmap * imports
- colorspace * imports
- data.table * imports
- freesurferformats * imports
- future.apply * imports
- ggplot2 * imports
- ggraph * imports
- ggrepel * imports
- gridExtra * imports
- igraph * imports
- isoband * imports
- methods * imports
- oro.nifti * imports
- polylabelr * imports
- reshape2 * imports
- splancs * imports
- stringr * imports
- tidygraph * imports
- Rvcg * suggests
- knitr * suggests
- nat * suggests
- rgl * suggests
- rmarkdown * suggests
- smoothr * suggests