Current modules

File module

Operations

Description

MorphologyModule.py

removeSmallObjects

“Remove small items from the image. This is typically done for reducing small pixilar noise, dust, etc”

fillSmallHoles

“Fill in small/medium sized “”holes”” in images. For example, lumen spaces in tubules often are detected as background and removed from the final mask. This module will fill them in.”

LightDarkModule.py

getIntensityThresholdOtsu

Thresholds the image based on dynamic Otsu threshold

getIntensityThresholdPercent

Thresholds the image based on user supplied values. This is good for detecting where the issue is on the slide (non-white) and where folded tissue may be (very dark)

HistogramModule.py

getHistogram

Makes a histogram image in rgb space

compareToTemplates

Compares the image’s histogram to template images provided by the user

DeconvolutionModule.py

seperateStains

Performs stain deconvolution using skimage’s built in matricies

ClassificationModule.py

pixelWise

Applies an RGB based classifier to the image whose values come from a user inputed TSV

byExampleWithFeatures

“Computes features of template images provided by the user which have associated binary masks indicating positive and negative classes. Trained classifier is then used on images. Excellent for, e.g., pen detection (with texture) , cracks, etc”

BubbleRegionByRegion.py

roiWise

Detect contours of lines of airbubbles on slide. Contains exemplar of how to use HistoQC to iteratively loop over very large images at high mag. (work in progress)

BrightContrastModule.py

getBrightnessGray

“Computes the average value of the image in gray colorspace, which ultimately represents how bright the image is perceived”

getBrightnessByChannelinColorSpace

Computes a triplet (one per color channel) in the desired color space. Useful for detecting outliers

getContrast

Computes both RMS and Michelson contrast metrics

PenMarkingModule.py

identifyPenMarking

“Identities pen markings on a pixel by pixel basis by using user supplied tsv file of color values. This is usually suitable when the marking is very different from the staining (e.g., green/blue marker on pink tissue). DEPRECATED - Use ClassificationModule PixelWise”

BlurDetectionModule.py

identifyBlurryRegions

Uses a laplace matrix to determine which regions in the image are likely blurry

BasicModule.py

getBasicStats

Pulls out metadata from image header

getMag

Pulls out base magnification. This is required by HistoQC. In the future we’ll add ability to predict magnification

finalComputations

Computes the final number of pixels available in the output image. Too high or low of a number often indicate incorrect processing or image outliers

finalProcessingSpur

“Removes spurious morphology from the final mask. Essentially small “”arms”” of tissue are rounded off and removed”

finalProcessingArea

“Removes larger islands from the output mask, e.g., isolated pieces of tissue”

SaveModule.py

saveFinalMask

Saves both the output mask from HistoQC but also the overlay on the original image

saveThumbnails

Save thumbnails for easier viewing. This needs to be completed for the UI to work

AnnotationModule.py

xmlMask

Loads an Aperio XML file to mask out regions of the image, limitating artifact detection and metric computation to solely regions of interest

LocalTextureEstimationModule.py

estimateGreyComatrixFeatures

Estimate grey comatrix features for background or final images