Core Concept

Engines

The algorithmic building blocks of StrataQuest analysis

View
Definition
An engine is the basic building block of a StrataQuest analysis. It is an algorithm with inputs and outputs: images go in, along with numbers and options you set, and images, events or measurements come out. A layerLoading... arranges engines in six categories, from Pre-Processing to Measurements, and an engine can use the outputs of engines before it.
Modular Architecture
One engine, one job
Pipeline Composition
Outputs become inputs
Six layer categories
Pre-Processing through Measurements
Reproducible Results
Settings saved with the analysis

How It Works

Every engine follows one pattern: inputs, processing, outputs. Inputs are images, either built-in ones (the Original image in brightfield, the channel images in fluorescence) or images produced by other engines in the same layer. StrataQuest works with gray images (8- or 16-bit), 24-bit color images and float images. Parameters tune the result, and the outputs become available to the engines that follow.

A layerLoading... has six categories, and each category accepts its own set of engines. Here are examples for each, named as the Layers Editor shows them:

Some things you'll use every day are not engines. HistogramsLoading..., scattergramsLoading... and phenotype diagrams are diagrams in the analysis results, gatesLoading... and cutoffsLoading... are drawn on diagrams, and phenotypesLoading... are defined there. Raw DataLoading... is the table of a layer's measurements, and all of these read the events and measurements that engines produce.

When an analysis runs, layers go in order of their dependencies, and inside a layer the categories go from 1 to 6. Within a category, engines also run in dependency order. Most engines process each field of viewLoading... separately, usually in parallel; the few that work from a cached image project their results back to the fields so other engines can use them.

Source: StrataQuest 8.1 User Manual §11.1 (pp. 149–160), §12 (pp. 160–216); Engines Reference, "Where it can be found" entry of each chapter (pp. 8–561), §2.1 (p. 8).

Simplified

Every engine takes an input, does one job and hands on its output. A layer lines them up in six stages: prepare the images, find the objects, prune them, fix them by hand, shape the areas to measure, and measure. Charts, gates and tables come afterward and read what the engines produced.

Science Behind It

Separating what you want. Image analysis textbooks often describe segmentation as the central act: dividing an image into the parts you care about and the rest. Many engines are separators in that sense. Background Removal separates signal from uneven background, Spectral Unmixing separates fluorophores, and the detection engines separate objects from their surroundings. Measurement engines then turn each separated object into numbers.

The order is not arbitrary. In microscopy generally, every link in the chain from sample to number limits the next: you can't segment what you didn't capture, and you can't measure what you didn't segment. A StrataQuest layer encodes the later links of that chain. Its categories run in a fixed order, and an engine may take inputs only from earlier categories or from its own, as long as nothing loops back on itself.

Composition. Simple engines combine to answer complex questions. Suppose you want a membrane marker's intensity for each cell: Nuclei finds the cells, Membrane finds the membranes in Pre-Processing, Grow (global) makes a ring around each nucleus, and Standard Measurements or Membrane Measurements reads the marker. None of these engines does anything elaborate; the analysis lives in how they're arranged. Inside a single engine, the Basic Operations Module plays the same game with smaller pieces, chaining basic operations in its Operations Editor.

A protocol you can repeat. In manual scoring, part of the method lives in the scorer's head. A layer of engines with explicit settings writes the whole method down, so it can be saved, reloaded and run on the next sample unchanged. StrataQuest is for research use only. The Engines Reference adds that you are responsible for validating the results of engines marked Experimental.

Simplified

Most engines separate something: signal from background, one dye from another, cells from their surroundings. The stages come in a fixed order because each needs the one before. Written down as a layer with its settings, the whole method can be run again on the next sample.

Practical Example

Here is a multiplex immunofluorescence analysis of tumor and immune cells, engine by engine.

  1. Pre-Processing: Background Removal on each channel, a tumor mask from a Classifier or a threshold, and a Distance Map from that mask.
  2. Detection: Nuclei on DAPI finds the cells.
  3. Post Processing: Remove objects v2 drops debris by Area and Mean Intensity.
  4. Measurements Masks: Grow (global) in Ring mode makes a cytoplasmic ring around each nucleus.
  5. Measurements: Standard Measurements reads CD3, CD8, PD-L1 and CK for each cell, one engine per channel. With the distance map as its Shades image, it also gives each cell's distance from the tumor.

Then the work moves to the diagrams. Cutoffs and gates set each marker's positive population, and phenotypes such as CK+ tumor cells and CD3+CD8+ T cells are defined there.

Phenotype Interactions, added in Measurements, then counts for each tumor cell the T cells within a distance interval you set. Note the difference: a Distance Map gives every pixel its distance to the nearest reference structure, so it answers "how far from the tumor?", while Phenotype Interactions answers "how many of those cells nearby?"

Simplified

A typical analysis removes background, finds the cells, drops debris, draws a ring around each nucleus and measures every marker. Then diagrams sort the cells into types, and an interaction engine counts which cells sit near which.

Connected Terms

Share This Term
Term Connections