detectcilia
R package to detect cilia and other colored structures in confocal fluorescence microscopy images
Science Score: 52.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
✓Institutional organization owner
Organization sfb-elaine has institutional domain (www.elaine.uni-rostock.de) -
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.1%) to scientific vocabulary
Repository
R package to detect cilia and other colored structures in confocal fluorescence microscopy images
Basic Info
- Host: GitHub
- Owner: SFB-ELAINE
- License: gpl-3.0
- Language: R
- Default Branch: master
- Size: 17 MB
Statistics
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 8
Metadata Files
README.md
detectCilia
detectCilia is an R package to detect cilia (or other colored structures) in confocal fluorescence microscopy images.
Requirements
It is necessary to load a TIF (or a directory of TIF files) or a CZI file of either a z stack or its projection. Both the nuclei and the cilia (or other small structures) need to be labelled and captured in a specific channel.
Example code for using the R package
The following example (script) shows the capabilities of the package. The script is found in inst/testscript.R. The results of the detection will be written in the current directory (output/).
```R
Testscript for using the R package detectCilia +++++++++++++++++++++++++++
Author: Kai Budde-Sagert
Created: 2019/12/01
Last changed: 2025/06/13
Attention: This script was tested with R 4.4.1.
Delete everything in the environment
rm(list = ls())
close all open plots in RStudio
graphics.off()
Install packages
groundhog.day <- "2024-12-01" if(!any(grepl(pattern = "groundhog", x = installed.packages(), ignore.case = TRUE))){ install.packages("groundhog") }
Load packages
library(groundhog) pkgs <- c("BiocManager", "devtools", "dplyr", "magrittr", "readr", "rlang", "reticulate")
groundhog.library(pkgs, groundhog.day)
if(!("EBImage" %in% utils::installed.packages())){ print("Installing EBImage.") BiocManager::install("EBImage") }
require(EBImage)
Install Python package for reading czi files
(Users will be asked to install miniconda when starting for the first time)
if(! "czifile" %in% reticulate::pylistpackages()$package){ reticulate::py_install("czifile") }
Install the R package for reading czi images
devtools::install_github("SFB-ELAINE/readCzi@v0.4.1") require(readCzi)
Install this R package for detecting cilia in microscopy images
devtools::install_github("SFB-ELAINE/detectCilia", upgrade = "ask") require(detectCilia)
Alternatively:
devtools::load_all()
devtools::document()
devtools::check()
FIRST EXAMPLE: Find cilia in TIFs of one z-stack image ------------------
Directory of the images
input_dir <- system.file("extdata", "testImagesTif", package = "detectCilia", mustWork = TRUE)
Directory for the output
outputdirtif <- file.path(getwd(), "output")
Size of a pixel in micrometer
pixel_size <- 0.219645 # in \mu m
Distance between two layers in micrometers
slice_distance <- 0.31607# in \mu m
Manually set mask width here because image is small
nucmaskwidthheightin_pixels <- 100
Obtain all positions of cilia in every z-layer
detectCiliaoutputlist <- detectCilia::detectCilia( inputdirtif = inputdir, outputdir = outputdirtif, pixelsize = pixelsize, slicedistance = slicedistance, nucmaskwidthheightinpixels = nucmaskwidthheightinpixels, numbersizefactor = 0.2)
SECOND EXAMPLE: CZI file ------------------------------------------------
CZI FILE
Directory of the images
input_file <- system.file("extdata", "testImageCzi", "CiliaImage.czi", package = "detectCilia", mustWork = TRUE)
Directory for the output
outputdirczi <- file.path(getwd(), "output")
Obtain all positions of cilia in every z-layer
detectCiliaoutputlist2 <- detectCilia::detectCilia(inputfileczi = inputfile, outputdir = outputdirczi) ```
Owner
- Name: SFB ELAINE - ELectrically Active ImplaNts
- Login: SFB-ELAINE
- Kind: organization
- Location: Rostock, Germany
- Website: https://www.elaine.uni-rostock.de/
- Repositories: 6
- Profile: https://github.com/SFB-ELAINE
Repository of the SFB 1270 ELAINE
Citation (CITATION.cff)
# --------------------------------------------
# CITATION file created with {cffr} R package
# See also: https://docs.ropensci.org/cffr/
# --------------------------------------------
cff-version: 1.2.0
message: 'To cite package "detectCilia" in publications use:'
type: software
license: GPL-3.0-only
title: 'detectCilia: Detect and measure the lengths of primary cilia in microscopy
images'
version: 0.8.5
doi: 10.5281/zenodo.10521546
abstract: The package loads confocal fluorescence microscopy images and automatically
determines the positions and lengths of primary cilia of the cells and counts nuclei.
authors:
- family-names: Budde-Sagert
given-names: Kai
email: kai.budde-sagert@uni-rostock.de
orcid: https://orcid.org/0000-0001-6836-9865
preferred-citation:
type: manual
title: 'detectCilia: R package for detecting the lengths of primary cilia'
authors:
- family-names: Budde-Sagert
given-names: Kai
email: kai.budde-sagert@uni-rostock.de
orcid: https://orcid.org/0000-0001-6836-9865
year: '2024'
notes: R package version 0.8.4
doi: 10.5281/zenodo.10521546
url: https://github.com/SFB-ELAINE/detectCilia
repository-code: https://github.com/SFB-ELAINE/detectCilia
url: https://github.com/SFB-ELAINE/detectCilia
contact:
- family-names: Budde-Sagert
given-names: Kai
email: kai.budde-sagert@uni-rostock.de
orcid: https://orcid.org/0000-0001-6836-9865
references:
- type: article
title: 'Studying the influence of cell culture medium composition on ciliary length
with detectCilia: An R package for automated detection and length measurement
of primary cilia'
authors:
- family-names: Budde-Sagert
given-names: Kai
- family-names: Krueger
given-names: Simone
- family-names: Sehlke
given-names: Clemens
- family-names: Jonitz-Heincke
given-names: Anika
- family-names: David
given-names: Robert
- family-names: Bader
given-names: Rainer
- family-names: Uhrmacher
given-names: Adelinde M.
journal: NN
volume: '0'
issue: '0'
year: '2024'
doi: NN
start: '0'
- type: software
title: 'R: A Language and Environment for Statistical Computing'
notes: Depends
url: https://www.R-project.org/
authors:
- name: R Core Team
institution:
name: R Foundation for Statistical Computing
address: Vienna, Austria
year: '2025'
version: '>= 4.0.0'
- type: software
title: BiocManager
abstract: 'BiocManager: Access the Bioconductor Project Package Repository'
notes: Imports
url: https://bioconductor.github.io/BiocManager/
repository: https://CRAN.R-project.org/package=BiocManager
authors:
- family-names: Morgan
given-names: Martin
email: martin.morgan@roswellpark.org
orcid: https://orcid.org/0000-0002-5874-8148
- family-names: Ramos
given-names: Marcel
email: marcel.ramos@sph.cuny.edu
orcid: https://orcid.org/0000-0002-3242-0582
year: '2025'
doi: 10.32614/CRAN.package.BiocManager
version: '>= 1.30.19'
- type: software
title: dplyr
abstract: 'dplyr: A Grammar of Data Manipulation'
notes: Imports
url: https://dplyr.tidyverse.org
repository: https://CRAN.R-project.org/package=dplyr
authors:
- family-names: Wickham
given-names: Hadley
email: hadley@posit.co
orcid: https://orcid.org/0000-0003-4757-117X
- family-names: François
given-names: Romain
orcid: https://orcid.org/0000-0002-2444-4226
- family-names: Henry
given-names: Lionel
- family-names: Müller
given-names: Kirill
orcid: https://orcid.org/0000-0002-1416-3412
- family-names: Vaughan
given-names: Davis
email: davis@posit.co
orcid: https://orcid.org/0000-0003-4777-038X
year: '2025'
doi: 10.32614/CRAN.package.dplyr
version: '>= 1.0.10'
- type: software
title: EBImage
abstract: 'EBImage: Image processing and analysis toolbox for R'
notes: Imports
url: https://github.com/aoles/EBImage
repository: https://bioconductor.org/
authors:
- family-names: Oleś
given-names: Andrzej
- family-names: Pau
given-names: Gregoire
- family-names: Smith
given-names: Mike
- family-names: Sklyar
given-names: Oleg
- family-names: Huber
given-names: Wolfgang
- family-names: Barry
given-names: with contributions from Joseph
- family-names: Marais
given-names: Philip A.
year: '2025'
doi: 10.18129/B9.bioc.EBImage
version: '>= 4.40.0'
- type: software
title: magrittr
abstract: 'magrittr: A Forward-Pipe Operator for R'
notes: Imports
url: https://magrittr.tidyverse.org
repository: https://CRAN.R-project.org/package=magrittr
authors:
- family-names: Bache
given-names: Stefan Milton
email: stefan@stefanbache.dk
- family-names: Wickham
given-names: Hadley
email: hadley@rstudio.com
year: '2025'
doi: 10.32614/CRAN.package.magrittr
version: '>= 2.0.3'
- type: software
title: readCzi
abstract: 'readCzi: readCzi: R package to read CZI image files, convert them to
tifs, and save metadata'
notes: Imports
url: https://github.com/SFB-ELAINE/readCzi
authors:
- family-names: Budde-Sagert
given-names: Kai
email: kai.budde-sagert@uni-rostock.de
orcid: https://orcid.org/0000-0001-6836-9865
year: '2025'
version: '>= 0.4.0'
- type: software
title: readr
abstract: 'readr: Read Rectangular Text Data'
notes: Imports
url: https://readr.tidyverse.org
repository: https://CRAN.R-project.org/package=readr
authors:
- family-names: Wickham
given-names: Hadley
email: hadley@posit.co
- family-names: Hester
given-names: Jim
- family-names: Bryan
given-names: Jennifer
email: jenny@posit.co
orcid: https://orcid.org/0000-0002-6983-2759
year: '2025'
doi: 10.32614/CRAN.package.readr
version: '>= 2.1.3'
- type: software
title: rlang
abstract: 'rlang: Functions for Base Types and Core R and ''Tidyverse'' Features'
notes: Imports
url: https://rlang.r-lib.org
repository: https://CRAN.R-project.org/package=rlang
authors:
- family-names: Henry
given-names: Lionel
email: lionel@posit.co
- family-names: Wickham
given-names: Hadley
email: hadley@posit.co
year: '2025'
doi: 10.32614/CRAN.package.rlang
version: '>= 1.0.6'
GitHub Events
Total
- Create event: 1
- Release event: 1
- Issues event: 2
- Issue comment event: 1
- Push event: 3
Last Year
- Create event: 1
- Release event: 1
- Issues event: 2
- Issue comment event: 1
- Push event: 3