---
title: Pathology inputs
description: Slide URL, workflow, tile size, magnification, quality filters, and stain normalization.
---

You provide a whole slide image and pick a workflow. The two inputs that most shape the result are the **slide** itself (its format and quality) and the **workflow** you choose — everything else tunes tiling, quality filtering, and normalization. The slide is read from workspace storage as an S3 URI, so upload it there first. See the [quickstart](/docs/pathology/quickstart) for the end-to-end flow.

## Required input

| Parameter | Type | What it does |
|---|---|---|
| `slide_url` | string (S3 URI) | Path to the whole slide image in workspace storage. Supported: SVS, TIFF, NDPI, or standard images (PNG/JPG). Required. |

## Workflow

| Parameter | Type | Default | What it does |
|---|---|---|---|
| `workflow` | enum | `tile_extraction` | Which analysis to run: `tile_extraction`, `tissue_detection`, `cell_segmentation`, `classification`, or `feature_extraction`. |

Only `tile_extraction`, `tissue_detection`, and `feature_extraction` run. The schema accepts `classification` and `cell_segmentation`, but the backend rejects both with an "Unsupported workflow" error.

## Tile extraction parameters

| Parameter | Type | Default | Range | What it does |
|---|---|---|---|---|
| `tile_size` | integer | `256` | 64–1024 | Edge length in pixels of each square tile. |
| `overlap` | integer | `0` | 0–128 | Pixel overlap between adjacent tiles. |
| `magnification` | enum | `20x` | 5x / 10x / 20x / 40x | Magnification level to tile at. |
| `max_tiles` | integer | `1000` | 1–10000 | Cap on how many tiles to keep. |

## Quality filtering

Tiles that fail either filter are discarded, so a tile set can be much smaller than the raw grid.

| Parameter | Type | Default | What it does |
|---|---|---|---|
| `tissue_threshold` | float | `0.5` | Minimum fraction of a tile that must be tissue (non-background) to keep it. |
| `blur_threshold` | float | `100.0` | Minimum Laplacian variance to keep a tile — lower values are blurrier and get dropped. |

## Stain normalization

| Parameter | Type | Default | What it does |
|---|---|---|---|
| `normalize` | boolean | `true` | Apply stain-color normalization. |
| `normalization_method` | enum | `reinhard` | Method: `reinhard`, `macenko`, or `vahadane`. |

## Output options

| Parameter | Type | Default | What it does |
|---|---|---|---|
| `output_format` | enum | `png` | Tile image format: `png`, `tiff`, or `jpg`. |
| `save_masks` | boolean | `true` | Upload the tissue mask (tissue-detection workflow). |
| `save_features` | boolean | `true` | Upload the feature matrix (feature-extraction workflow). |

## Accepted slide formats

The processor opens SVS, NDPI, and pyramidal TIFF via histolab/OpenSlide, and standard PNG/JPG images via PIL as a fallback. Very large slides are read region by region during tiling.

## Execution profile

Pathology analysis runs on **GPU (A10G)**, **asynchronously**, and can take **10–60 minutes** depending on slide size and workflow. Input is a file path (the slide); outputs are JSON plus downloadable artifacts.

## Read next
