Skip to content
Sander W. van der Laan edited this page Jan 8, 2024 · 10 revisions

Welcome to slideToolKit

The devil's in the detail: ever larger biobanks and comprehensive genomics studies call for accurate, reproducible, and 'deep' phenotyping of a disease trait. Detailed analysis of histology is a powerful way of phenotyping human tissues. Microscope-assisted manual assessment of histological slides is time-consuming, liable to sampling variation, optical illusions, observer variation, and prone to human-error, which makes external validation cumbersome. Computerized quantification of digitized histological slides is often preferred as a more precise and reproducible, and sometimes more sensitive approach. Relatively few free toolkits are available for fully digitized microscopic slides, usually known as whole slide images (WSI).

We developed slideToolKit as a fast method to handle large quantities of low contrast whole slide images using advanced cell detecting (machine-learning) algorithms. At the core slideToolKit uses CellProfiler to analyze the whole slide images efficiently. slideToolKit was developed for modern personal computers (macOS, Linux) and high-performance clusters (HPCs) and is available as an open-source project on GitHub. slideToolKit provides a free, powerful and versatile collection of tools for automated feature analysis of whole slide images to create reproducible and meaningful phenotypic datasets for downstream analyses.

A typical slideToolKit workflow consists of four consecutive steps:

  1. Acquisition, whole slide images are collected, for example as .ndpi, .TIF, or .svs files, example with high-throughput pathology microscopy; if needed images are converted to tiff-files.
  2. Preparation, files are organized into folders, renamed when necessary.
  3. Masking, normalization, tiling, and normalization, creates multiple manageable tiles to count.
  4. Analysis, tissue is analyzed and results are stored in a data set.

The slideToolKit workflow. Using this method, two consecutive measurements of 303 slides showed an intraclass correlation of 0.99 (Vrijenhoek J.E.P. et al.).

This wiki

In this wiki you can find extensive instructions for installation on different operating systems (CentOS 6+, Ubuntu and Mac OS X Mountain Lion+). We also provide a quickstart instruction for a project, along with detailed descriptions and usage examples of the various tools provided for each step in the slideToolKit workflow. Questions and answers are collected through a FAQs that will fill-up over time.

Citations

If you want to use our work, you should use one of these citations below.

  • Introduction to slideToolKit and its usage.
    Nelissen B.G.L., van Herwaarden J.A., Moll F.L., van Diest P.J., and Pasterkamp G. (2014) SlideToolkit: An Assistive Toolset for the Histological Quantification of Whole Slide Images. PLoS One. 2014 Nov 5;9(11):e110289. doi: 10.1371/journal.pone.0110289. Direct link.
  • Analysis of slideToolKit and the intraclass correlation.
    Vrijenhoek J.E.P., Nelissen B.G.L., Velema E., Vons K., de Vries J.P.P.M., Eijkemans M.J.C., den Ruijter H.M., de Borst G.J., Moll F.L., and Pasterkamp G (2014) High Reproducibility of Histological Characterization by Whole Virtual Slide Quantification; An Example Using Carotid Plaque Specimens. PLoS One. 2014 Dec 26;9(12):e115907. doi: 10.1371/journal.pone.0115907. Direct link.
  • Main ExpressScan paper providing a comprehensive analysis of Glycophorin C through slideToolKit.
    Mekke J.M., Sakkers T.R., Verwer M.C., van den Dungen N.A.M, Song Y., Miller C., Pasterkamp G., Mokry M., den Ruijter H.M., de Kleijn D.P.V., de Borst G.J., Haitjema S., and van der Laan S.W. The accumulation of erythrocytes quantified and visualized by Glycophorin C in carotid atherosclerotic plaque reflects intraplaque hemorrhage and pre-procedural neurological symptoms. Sci Rep. 2023 13, 17104. doi: https://doi.org/10.1101/2021.07.15.21260570

Overview

Welcome to slideToolKit

Manual

Introduction
General instructions

slideToolKit scripts

slide2Tiles
slideAppend.sh
slideAppendGCT.sh
slideConvert
slideDirectory
slideDupIdentify.py
slideEMask
slideEntropySegmentation.py
slideExtract.py
slideExtractTiles.py
slideInfo
slideInfo.py
slideJobChecker
slideLookup
slideMacro
slideMacro.py
slideMask
slideNormalize
slideRename
slideRename.py
slideThumb
slideThumb.py

slideQuantify v1

slideQuantify_v1
slideQuantify_v1_1_expresshist_mask.sh
slideQuantify_v1_2_expresshist_tile.sh
slideQuantify_v1_3_tile_normalizing.sh
slideQuantify_v1_4_cellprofiler.sh
slideQuantify_v1_5_wrapup.sh

slideQuantify v2

slideQuantify_v2
slideQuantify_v2_1_entropy_segmentation.sh
slideQuantify_v2_2_extract_tiles.sh
slideQuantify_v2_3_tile_normalizing.sh
slideQuantify_v2_4_cellprofiler.sh
slideQuantify_v2_5_wrapup.sh

slideQuantifyOSX

slideQuantifyOSX
slideQuantify_cellprofiler.sh
slideQuantify_mask.sh
slideQuantify_normalizing.sh
slideQuantify_tiling.sh
slideQuantify_wrapup.sh

Other scripts

slideToolKitTest.py

Installation

macOSX

Conda version (default/preferred)
Homebrew version

Linux

Rocky 8 Conda version (default/preferred)

Legacy

Ubuntu 16.04 LTS
Ubuntu 12.04 CentOS7 Conda version with modules
Administrator version

Conda vs brew

Clone this wiki locally