Histological Staining Area Quantification

imaging-stain-quantification-color-deconvolution/main-workflow

Author(s)
Diana Chiang Jurado
version Version
1
last_modification Last updated
Jun 15, 2026
license License
CC-BY-4.0
galaxy-tags Tags
name:Histology
name:HistologyStaining
name:MassonTrichrome
name:Immunohistochemistry
name:BrightfieldMicroscopy
name:ColorDeconvolution

Features
Tutorial
hands_on Quantitative Analysis of Histological Staining Using Color Deconvolution

Workflow Testing
Tests: ✅
Results: Not yet automated
FAIRness purl PURL
https://gxy.io/GTN:W00381
RO-Crate logo with flask Download Workflow RO-Crate Workflowhub cloud with gears logo View on WorkflowHub
Launch in Tutorial Mode question
galaxy-download Download
flowchart TD
  0["ℹ️ Input Collection\nROI image for staining analysis"];
  style 0 stroke:#2c3143,stroke-width:4px;
  1["Sample ID"];
  2["header for total area"];
  3["Stain intensity normalization CLAHE"];
  0 -->|output| 3;
  4["Show image info"];
  0 -->|output| 4;
  5["Color Deconvolution"];
  3 -->|output| 5;
  b4393dde-25b8-49ad-b48c-5d2df47c1408["Output\nDeconvolved Image"];
  5 --> b4393dde-25b8-49ad-b48c-5d2df47c1408;
  style b4393dde-25b8-49ad-b48c-5d2df47c1408 stroke:#2c3143,stroke-width:4px;
  6["Width Extraction"];
  4 -->|output| 6;
  7["Height Extraction"];
  4 -->|output| 7;
  8["Split Image Channels for Staining Detection"];
  5 -->|output| 8;
  cbd8deec-7ea2-4715-bc9b-c1eea3c787fc["Output\nCollection: Individual Deconvolved Channels"];
  8 --> cbd8deec-7ea2-4715-bc9b-c1eea3c787fc;
  style cbd8deec-7ea2-4715-bc9b-c1eea3c787fc stroke:#2c3143,stroke-width:4px;
  9["Text transformation"];
  6 -->|out_file1| 9;
  10["Text transformation"];
  7 -->|out_file1| 10;
  11["Collection: Extract Stain Channel from Sub-Collections"];
  8 -->|output| 11;
  23ea738b-06ae-4688-ab4a-b29c196a9cfa["Output\nSelected Stain Channel"];
  11 --> 23ea738b-06ae-4688-ab4a-b29c196a9cfa;
  style 23ea738b-06ae-4688-ab4a-b29c196a9cfa stroke:#2c3143,stroke-width:4px;
  12["Paste"];
  9 -->|output| 12;
  10 -->|output| 12;
  13["Threshold Stain Channel Collection"];
  11 -->|output| 13;
  a3923c7b-8253-4578-9647-b11f5bbd91a6["Output\nSelected Stain Channel Thresholded"];
  13 --> a3923c7b-8253-4578-9647-b11f5bbd91a6;
  style a3923c7b-8253-4578-9647-b11f5bbd91a6 stroke:#2c3143,stroke-width:4px;
  14["Compute"];
  12 -->|out_file1| 14;
  15["Generate ROIs of stained region"];
  13 -->|output| 15;
  21505140-b70c-4dab-ba64-46e68c2121c7["Output\nROIs"];
  15 --> 21505140-b70c-4dab-ba64-46e68c2121c7;
  style 21505140-b70c-4dab-ba64-46e68c2121c7 stroke:#2c3143,stroke-width:4px;
  b05b07b2-2e6c-4d58-a92a-88c4c32828c3["Output\nROIs Image"];
  15 --> b05b07b2-2e6c-4d58-a92a-88c4c32828c3;
  style b05b07b2-2e6c-4d58-a92a-88c4c32828c3 stroke:#2c3143,stroke-width:4px;
  16["Extract Image Features"];
  13 -->|output| 16;
  11 -->|output| 16;
  19b9fc98-e80e-48f6-8bd9-a23a59e09e84["Output\nCollection of Tabular: Staining Quantification Results"];
  16 --> 19b9fc98-e80e-48f6-8bd9-a23a59e09e84;
  style 19b9fc98-e80e-48f6-8bd9-a23a59e09e84 stroke:#2c3143,stroke-width:4px;
  17["Cut"];
  14 -->|out_file1| 17;
  18["Prepare Header Source Dataset"];
  16 -->|output| 18;
  19["Extract"];
  16 -->|output| 19;
  20["Extract element identifiers"];
  16 -->|output| 20;
  21["Collapse Collection"];
  17 -->|out_file1| 21;
  22["Header Extraction"];
  18 -->|output| 22;
  23["Collapse Collection into one file"];
  19 -->|out_file1| 23;
  24["Concatenate datasets"];
  2 -->|outfile| 24;
  21 -->|output| 24;
  25["Paste header with Sample ID"];
  1 -->|outfile| 25;
  22 -->|out_file1| 25;
  26["Paste Sample Names with Tabular Results"];
  20 -->|output| 26;
  23 -->|output| 26;
  27["Tabular: Staining Feature Results"];
  25 -->|out_file1| 27;
  26 -->|out_file1| 27;
  28["Paste"];
  27 -->|out_file1| 28;
  24 -->|out_file1| 28;
  29["Percent area computation"];
  28 -->|out_file1| 29;
  1c3f7fd0-bad7-4891-9f95-f1346e44c20f["Output\nTabular File: Staining Feature Results"];
  29 --> 1c3f7fd0-bad7-4891-9f95-f1346e44c20f;
  style 1c3f7fd0-bad7-4891-9f95-f1346e44c20f stroke:#2c3143,stroke-width:4px;

Inputs

Input Label
Input dataset collection ROI image for staining analysis

Outputs

From Output Label
toolshed.g2.bx.psu.edu/repos/imgteam/color_deconvolution/ip_color_deconvolution/0.9+galaxy0 Perform color deconvolution or transformation Color Deconvolution
toolshed.g2.bx.psu.edu/repos/imgteam/split_image/ip_split_image/2.3.5+galaxy1 Split image along axes Split Image Channels for Staining Detection
__EXTRACT_DATASET__ Extract dataset Collection: Extract Stain Channel from Sub-Collections
toolshed.g2.bx.psu.edu/repos/imgteam/2d_auto_threshold/ip_threshold/0.25.2+galaxy0 Threshold image Threshold Stain Channel Collection
toolshed.g2.bx.psu.edu/repos/imgteam/imagej2_analyze_particles_binary/imagej2_analyze_particles_binary/20240614+galaxy1 Analyze particles Generate ROIs of stained region
toolshed.g2.bx.psu.edu/repos/imgteam/2d_feature_extraction/ip_2d_feature_extraction/0.25.2+galaxy1 Extract image features Extract Image Features
toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.1+galaxy0 Compute Percent area computation

Tools

Tool Links
Cut1
Grep1
Paste1
Show beginning1
Show tail1
__EXTRACT_DATASET__
cat1
toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cat/9.5+galaxy3 View in ToolShed
toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sed_tool/9.5+galaxy3 View in ToolShed
toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_text_file_with_recurring_lines/9.5+galaxy3 View in ToolShed
toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.1+galaxy0 View in ToolShed
toolshed.g2.bx.psu.edu/repos/imgteam/2d_auto_threshold/ip_threshold/0.25.2+galaxy0 View in ToolShed
toolshed.g2.bx.psu.edu/repos/imgteam/2d_feature_extraction/ip_2d_feature_extraction/0.25.2+galaxy1 View in ToolShed
toolshed.g2.bx.psu.edu/repos/imgteam/2d_histogram_equalization/ip_histogram_equalization/0.25.2+galaxy0 View in ToolShed
toolshed.g2.bx.psu.edu/repos/imgteam/color_deconvolution/ip_color_deconvolution/0.9+galaxy0 View in ToolShed
toolshed.g2.bx.psu.edu/repos/imgteam/image_info/ip_imageinfo/8.0.0+galaxy0 View in ToolShed
toolshed.g2.bx.psu.edu/repos/imgteam/imagej2_analyze_particles_binary/imagej2_analyze_particles_binary/20240614+galaxy1 View in ToolShed
toolshed.g2.bx.psu.edu/repos/imgteam/split_image/ip_split_image/2.3.5+galaxy1 View in ToolShed
toolshed.g2.bx.psu.edu/repos/iuc/collection_element_identifiers/collection_element_identifiers/0.0.3 View in ToolShed
toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/5.1.0 View in ToolShed

To use these workflows in Galaxy you can either click the links to download the workflows, or you can right-click and copy the link to the workflow which can be used in the Galaxy form to import workflows.

Importing into Galaxy

Below are the instructions for importing these workflows directly into your Galaxy server of choice to start using them!
Hands On: Importing a workflow
  1. Click on galaxy-workflows-activity Workflows in the Galaxy activity bar (on the left side of the screen, or in the top menu bar of older Galaxy instances). You will see a list of all your workflows
  2. Click on galaxy-upload Import at the top-right of the screen
  3. Provide your workflow
    • Option 1: Paste the URL of the workflow into the box labelled “Archived Workflow URL”
    • Option 2: Upload the workflow file in the box labelled “Archived Workflow File”
  4. Click the Import workflow button

Below is a short video demonstrating how to import a workflow from GitHub using this procedure:

Video: Importing a workflow from URL

Version History

Version Commit Time Comments
3 3f242e687 2026-06-11 12:45:41 Update workflow
2 b5def36cc 2026-06-08 11:22:27 Update workflow
1 d62d7436f 2026-04-08 15:38:05 Add new tutorial: Quantitative Analysis of Histological Staining Using Color Deconvolution

For Admins

Installing the workflow tools

wget https://training.galaxyproject.org/training-material/topics/imaging/tutorials/stain-quantification-color-deconvolution/workflows/main_workflow.ga -O workflow.ga
workflow-to-tools -w workflow.ga -o tools.yaml
shed-tools install -g GALAXY -a API_KEY -t tools.yaml
workflow-install -g GALAXY -a API_KEY -w workflow.ga --publish-workflows