QuPath

QuPath позволяет просматривать гигапиксельные гистологические слайды, размечать области ткани, детектировать и измерять клетки, разделять красители, обучать классификаторы объектов и пикселей, строить карты плотности и выгружать количественные результаты. Для этого используются пирамидальный просмотрщик, инструменты аннотаций, детекция клеток, цветовая деконволюция, интерактивное машинное обучение, таблицы измерений, проекты и сценарии автоматизации, поэтому один рабочий процесс может охватывать путь от исходного скана до проверяемой таблицы признаков.

Основная область применения QuPath — цифровая патология и анализ биомедицинских изображений: H&E, иммуногистохимия, флуоресцентная микроскопия, тканевые микроматрицы и другие данные, где важны координаты объектов и связь измерений с изображением. Программа рассчитана не на художественную ретушь фотографий, а на воспроизводимое выделение областей интереса, сегментацию структур, подсчёт положительных клеток, оценку окрашенной площади и исследование пространственного распределения детекций на больших слайдах.

Практическая работа обычно начинается с открытия изображения или создания проекта, проверки масштаба и типа изображения, настройки каналов либо векторов красителей и разметки репрезентативных областей. Затем запускают детектор или классификатор, визуально проверяют наложение на разных участках слайда, исправляют параметры, сохраняют алгоритм в проекте и только после этого применяют его к серии изображений. Такой порядок помогает отделить настройку метода от пакетного анализа и вовремя заметить ошибки сегментации, неверную калибровку или нестабильное окрашивание.

Скачать QuPath

Оценка 9.7Рекомендуем
  • Ретушь фото
  • Русский интерфейс
  • Просто для новичков
Скачать бесплатно на Windows
Лучшая альтернатива
QuPath
Оценка 8.5
  • Сложная настройка анализа
  • Не все WSI читаются
  • Карты плотности только 2D
Скачать QuPath
Загрузка начнётся после нажатия

Что именно анализирует QuPath

QuPath строит работу вокруг изображения и объектов, которые существуют поверх него. Аннотация обозначает область, созданную пользователем или полученную из другого результата анализа; детекция обычно соответствует автоматически найденной структуре, например клетке; отдельный тип объектов используется для ядер тканевой микроматрицы. У каждого объекта могут быть геометрия, классификация, имя, цвет, измерения и место в иерархии. Благодаря этому результат не сводится к цветной маске: можно выбрать клетку на слайде, увидеть её измерения, отфильтровать объекты по классу и затем агрегировать значения по аннотации или всему изображению.

Такая объектная модель особенно полезна для цифровой патологии, где важно не только получить число, но и понять, из какого участка слайда оно возникло. Например, область опухоли можно оформить как аннотацию, внутри неё запустить детекцию клеток, присвоить клеткам классы по интенсивности маркера, а затем вычислить долю положительных клеток. Если результат выглядит подозрительно, исследователь возвращается к тем же координатам, проверяет конкретные детекции и меняет настройки, не теряя связь между таблицей и морфологией.

Просмотр целого гистологического слайда в QuPath

Просмотр гигапиксельных слайдов

Просмотрщик QuPath рассчитан на пирамидальные изображения, где один и тот же слайд хранится на нескольких разрешениях. При малом увеличении читаются низкоразрешённые уровни, а при приближении — необходимые тайлы высокого разрешения. Поэтому для навигации по WSI не требуется заранее разворачивать весь скан в оперативную память. В правой верхней части просмотрщика может отображаться миниатюра с текущим полем зрения; щелчок по ней быстро переносит пользователя в другую область. Масштабирование и панорамирование остаются связанными с реальными координатами изображения, что важно для измерений и повторного открытия данных.

Основной инструмент перемещения работает перетаскиванием. Если в данный момент выбран инструмент рисования, клавиша Space временно включает перемещение и после отпускания возвращает прежний инструмент. Это снижает риск случайно дорисовать полигон во время навигации. При работе с очень крупным слайдом полезно сначала осмотреть препарат на малом увеличении, затем перейти к нескольким характерным участкам и только после этого задавать параметры анализа: настройки, хорошо выглядящие на одном поле, могут давать систематические ошибки на другой морфологии или при другом уровне окраски.

Несколько изображений можно открыть в сетке просмотрщиков. Один просмотрщик помечается как активный, а параметры синхронизации позволяют совместно перемещать и масштабировать окна. Такой режим удобен для сопоставления серийных срезов, разных красителей или контрольного и исследуемого изображения. Синхронизация не делает изображения автоматически зарегистрированными, но ускоряет визуальное сравнение областей, если их геометрия уже достаточно близка.

Сетка нескольких синхронизируемых просмотрщиков QuPath

Проекты и организация набора изображений

Для серии слайдов QuPath предлагает проект. Он объединяет список изображений, связанные файлы данных, миниатюры, сценарии, классификаторы и другие элементы анализа. Проект особенно важен там, где один и тот же метод нужно последовательно применить к десяткам или сотням изображений: пользователь получает единый список, может быстро переключаться между слайдами и запускать команды по выбранной группе. Некоторые операции рассчитаны именно на работу внутри проекта, поэтому одиночное открытие файла лучше оставлять для быстрого просмотра или проверки совместимости.

При создании проекта выбирают пустую папку. После этого изображения добавляют, в том числе перетаскиванием. Диалог импорта позволяет при необходимости выбрать механизм чтения изображения, задать тип изображения, поворот и другие параметры открытия. Если один формат поддерживают сразу несколько библиотек, выбор механизма чтения может решить проблему совместимости или скорости. Проект не обязан копировать исходные WSI внутрь своей папки: обычно он хранит ссылки на их расположение и собственные данные анализа.

Из-за такой организации перенос исходных файлов способен разорвать пути. При открытии проекта QuPath показывает отсутствующие изображения и предлагает указать новое местоположение либо выполнить поиск по выбранной папке. После успешного сопоставления пути можно сохранить. Практически это означает, что перед переносом исследования на другой накопитель стоит либо сохранять стабильную структуру каталогов, либо заранее понимать, где лежат исходные слайды; ручное переименование внутренних файлов проекта без необходимости лучше исключить.

Диалог QuPath для восстановления путей к изображениям проекта

Поддерживаемые изображения и выбор механизма чтения

QuPath использует OpenSlide и Bio-Formats для чтения большого числа микроскопических форматов. OpenSlide ориентирован на быстрые двумерные 8-битные RGB-слайды и обычно хорошо подходит для традиционных brightfield WSI. Bio-Formats охватывает более широкий набор типов данных, включая многоканальные изображения, z-стеки и временные серии. Когда один и тот же файл открывается обоими способами, результат и скорость могут отличаться; поэтому в проекте полезно явно выбрать сервер изображения, если автоматический выбор даёт неверные каналы, неполную размерность или проблемы с тайлами.

Наличие расширения в списке поддерживаемых форматов не гарантирует, что любой файл с таким суффиксом откроется корректно. У TIFF много вариантов внутренней структуры и компрессии; MRXS поддерживается не во всех разновидностях; некоторые проприетарные схемы ограничены возможностями библиотек чтения. Формат Philips iSyntax напрямую не поддерживается. Если WSI не открывается, сначала стоит выяснить, действительно ли файл пирамидальный, какой библиотекой он читается и нет ли внутри необычной компрессии, а не менять параметры анализа, которые к чтению пикселей не относятся.

Для Hamamatsu NDPI двумерные brightfield-данные обычно читаются хорошо, но z-стек требует Bio-Formats. CZI также зависит от конкретной компрессии и архитектуры компьютера. На Mac с Apple Silicon нативная сборка QuPath имеет ограничения Bio-Formats для части файлов, в частности для некоторых CZI с JPEG-XR и ряда NDPI-подобных данных; в таких случаях помогает Intel-сборка через Rosetta либо предварительное преобразование в открытый формат. Для долговременного обмена крупными изображениями QuPath умеет работать с OME-TIFF и OME-Zarr, что уменьшает зависимость от фирменных контейнеров.

Калибровка масштаба и тип изображения

Перед количественными измерениями нужно проверить пространственную калибровку. Площадь, длина, радиус карты плотности и параметры многих детекторов имеют смысл только тогда, когда размер пикселя соответствует данным сканера. Если метаданные отсутствуют или неверны, численные пороги в микрометрах оказываются несопоставимыми между слайдами. Для тестового анализа можно работать и без физической шкалы, но перенос параметров на другой набор изображений в таком случае требует особой осторожности.

Вторая базовая настройка — тип изображения. Для большинства задач выбирают вариант brightfield или fluorescence, чтобы QuPath правильно трактовал отношение сигнала и фона и предложил соответствующие каналы. В brightfield интересующие структуры обычно темнее фона, а во флуоресценции сигнал растёт с интенсивностью. Ошибка здесь проявляется не только в отображении: команды, зависящие от разделения красителей или каналов, могут использовать неподходящие преобразования и давать плохую сегментацию.

Яркость, контраст и просмотр каналов

Панель Brightness/Contrast меняет способ визуализации, не переписывая исходные пиксели. Для многоканальной флуоресценции можно включать и отключать отдельные каналы, подбирать диапазоны отображения и рассматривать несколько каналов вместе. Числовые клавиши ускоряют переключение каналов. Такой контроль нужен перед созданием классификатора: пользователь видит, не насыщен ли канал, насколько хорошо отделяется маркер от автофлуоресценции и одинаково ли ведёт себя сигнал в разных областях изображения.

Важно различать изменение визуального контраста и изменение данных для анализа. Если пользователь просто растянул отображение, это не означает, что пороги детектора автоматически должны переноситься на новые значения. Команды анализа получают пиксельные данные через сервер изображения и используют собственные преобразования или выбранные каналы. Поэтому проверять настройку следует по наложению результата на изображение и по измерениям объектов, а не только по тому, насколько выразительно выглядит картинка на экране.

Панель яркости и каналов для мультиплексного изображения QuPath

Разделение красителей в brightfield

Для RGB brightfield QuPath применяет цветовую деконволюцию, позволяющую математически разделить вклад до трёх красителей. Метод использует фоновые значения RGB и векторы красителей, описывающие их чистый цвет. Для H&E и H-DAB программа предлагает типичные начальные векторы, но реальное окрашивание зависит от лаборатории, сканера и партии реагентов. Поэтому перед детекцией клеток или подсчётом окрашенной площади следует проверить, что рассчитанные каналы действительно отделяют гематоксилин, DAB или другой хромоген так, как ожидается.

Вектор можно уточнить вручную: нарисовать небольшую прямоугольную область, содержащую максимально чистый пример красителя или фона, затем обновить соответствующее значение в свойствах изображения. Лучше выбирать участок без смеси нескольких красителей, складок и загрязнений. Если в выбранной области присутствует второй цвет, вектор смещается, и компоненты начинают проникать друг в друга. Это особенно заметно при пороговой детекции, когда слабый фон внезапно выглядит как положительное окрашивание.

Ручной выбор области для настройки вектора красителя

Автоматическая оценка векторов

Для двуххромогенных brightfield-изображений команда Estimate stain vectors помогает уточнить векторы по репрезентативной аннотации. Сначала выбирают небольшую область, где одновременно присутствуют необходимые оттенки и, по возможности, чистый фон. Слишком большая область вынуждает сильнее уменьшать изображение для расчёта, а усреднение соседних пикселей ослабляет полезное цветовое различие. После запуска QuPath строит диаграммы рассеяния компонент RGB и показывает текущие направления векторов.

Кнопка Auto предлагает новую оценку, но результат надо проверять визуально: неожиданные зелёные, серые или иные посторонние пиксели могут исказить решение. Для H&E доступно исключение нераспознанных цветов. Когда векторы выглядят разумно, их сохраняют с информативным именем и применяют последовательно к набору изображений с сопоставимым окрашиванием. Менять векторы после того, как уже рассчитаны измерения, опасно: ранее созданные значения не пересчитываются автоматически.

Область для автоматической оценки красителей в QuPath

Диаграммы рассеяния при оценке векторов красителей

Аннотации: ручное выделение областей интереса

Аннотации задают границы, внутри которых будут измеряться площади, детектироваться клетки или обучаться классификаторы. В панели инструментов есть прямоугольник, эллипс, линия, полигон, кисть, wand и другие способы выделения. Полигон удобен для точного контура крупной ткани, кисть — для быстрого дорисовывания сложной границы, а прямоугольники — для стандартизированных контрольных областей. Выбор инструмента зависит от задачи, но геометрия должна соответствовать биологическому смыслу: слишком тесная аннотация может обрезать клетки на границе, а слишком широкая — включить фон и артефакты.

Аннотации можно классифицировать, именовать, перекрашивать и блокировать. Блокировка полезна после утверждения разметки: случайный жест не сдвинет уже проверенный контур. Имена помогают различать одинаковые классы в разных участках, а цветовая кодировка облегчает визуальный контроль. При большом числе объектов следует использовать иерархию и фильтры, а не пытаться ориентироваться только по цветам на слайде.

Отдельный режим точек предназначен для ручного счёта. Он подходит, когда автоматическая сегментация нецелесообразна или нужно получить эталон для проверки алгоритма. Точки можно распределять по классам, сохраняя координаты. Однако ручной счёт не стоит смешивать с автоматически найденными клетками без ясной маркировки: иначе в экспортированной таблице трудно понять происхождение результата.

Иерархия объектов и классы

Внутри изображения QuPath поддерживает иерархию: корневой объект представляет всё изображение, под ним могут находиться аннотации, а внутри аннотаций — детекции. Такая структура позволяет ограничивать расчёты выбранной областью и затем агрегировать измерения по родительскому объекту. Если детекции созданы до изменения аннотации или геометрия объектов была импортирована из другого файла, полезно проверить их место в иерархии, иначе команда может считать объекты за пределами ожидаемой зоны.

Классификация объекта — отдельное свойство, не совпадающее с геометрией. Одну и ту же форму можно пометить как Tumor, Stroma, Ignore или другим пользовательским классом. Иерархические имена классов позволяют задавать более детальные фенотипы, а цвета помогают контролировать распределение. При подготовке данных для машинного обучения классы следует создавать заранее и применять последовательно, чтобы одинаковая биологическая категория не оказалась под несколькими почти одинаковыми названиями.

Детекция клеток и положительных клеток

Один из базовых сценариев QuPath — детекция клеток внутри выбранной аннотации. Команда ищет ядра по выбранному каналу или компоненте красителя, разделяет соприкасающиеся структуры и при необходимости оценивает область клетки вокруг ядра. Настройки включают масштаб анализа, параметры сглаживания и фона, ограничения размеров, пороги сигнала и параметры последующего разделения. Универсального набора значений нет: размер ядер, разрешение сканирования, контраст и тип ткани меняются от исследования к исследованию.

Правильная настройка начинается не с поиска единственного красивого поля, а с нескольких разных зон одной аннотации. Нужно проверить мелкие и крупные ядра, слабое и сильное окрашивание, плотные скопления и разреженные участки. Слишком низкий порог создаёт ложные ядра в фоне, слишком высокий теряет слабые клетки; агрессивное разделение дробит одно ядро, а недостаточное объединяет соседние. После первого запуска следует приблизить несколько характерных мест и оценить контуры, а не ориентироваться только на итоговый процент.

Аннотация области для детекции клеток QuPath

Positive cell detection

Positive cell detection сочетает сегментацию и классификацию по интенсивности. После обнаружения клеток QuPath оценивает выбранный компартмент и применяет порог положительности, что подходит, например, для IHC-маркеров. Пользователь выбирает, по какой части клетки или по какому измерению судить о положительном сигнале. Результат зависит от качества сегментации: если контуры ядер ошибочны, процент положительных клеток может выглядеть правдоподобно, но не отражать реальную морфологию.

Диалог позволяет изменять параметры и сразу оценивать наложение. Полезно сначала настроить саму сегментацию, а затем порог интенсивности, потому что одновременное изменение всех значений затрудняет поиск причины ошибки. Для репрезентативного участка можно сравнить автоматический счёт с ручной проверкой нескольких полей и посмотреть распределение измерений в таблице. Если порог находится в области плотного перекрытия распределений, бинарное разделение требует особенно осторожной биологической интерпретации.

Диалог настройки Positive cell detection

Результаты положительной детекции клеток

Несколько областей и параллельный анализ

Если выбрано несколько аннотаций, детекция может применяться к ним последовательно или параллельно в зависимости от команды. Это удобно для крупных слайдов, разделённых на независимые области ткани. Перед массовым запуском нужно убедиться, что аннотации не перекрываются без необходимости: одинаковая клетка в пересекающихся областях может появиться в анализе дважды. Для каждого типа ткани разумно проверить, действительно ли один набор параметров сегментации подходит одинаково хорошо.

Детекция клеток в нескольких аннотациях QuPath

Таблица детекций и проверка измерений

После детекции команда Show detection measurements открывает таблицу, где строки соответствуют объектам, а столбцы — измерениям. Таблицу можно сортировать, строить гистограммы, выделять строки и видеть соответствующие клетки на слайде. Такая двусторонняя связь полезнее простой выгрузки CSV: экстремальное значение можно сразу проверить на изображении и понять, является ли оно редким биологическим объектом, складкой, фрагментом или ошибкой сегментации.

Набор столбцов зависит от команды и доступных признаков. Для клеток это могут быть геометрические характеристики, интенсивности в ядре или клетке, классификация и другие рассчитанные параметры. Не стоит автоматически включать сотни признаков в последующий анализ без проверки: коррелированные и малоинформативные столбцы усложняют интерпретацию. Сначала определяют биологический вопрос, затем выбирают измерения, которые действительно отражают нужную морфологию или экспрессию.

Классификация клеток и объектов

QuPath поддерживает интерактивное обучение объектных классификаторов. Пользователь создаёт аннотации с примерами классов, программа извлекает измерения у содержащихся в них детекций и строит модель, после чего результат можно просматривать на всём изображении. Такой подход позволяет разделять, например, опухолевые и стромальные клетки на основе комбинации формы, интенсивности и текстуры, если эти признаки действительно различаются. Критически важно, чтобы обучающие области представляли разнообразие данных, а не одну удобную зону.

Объектный классификатор следует оценивать на участках, не использованных для обучения. Если модель идеально окрашивает обучающие клетки, но путается в другом поле, добавление ещё сотни почти одинаковых примеров обычно хуже, чем включение нового типа вариации. Особое внимание нужно уделять артефактам, краям ткани, некрозу и необычному фону: если они не имеют отдельного класса или исключения, классификатор может принудительно отнести их к ближайшему биологическому классу.

Для простых задач есть классификация по одному измерению и возможность объединять классификаторы в составные схемы. Это удобно для фенотипирования, когда сначала определяется тип клетки, а затем внутри него применяется порог маркера. Важно зафиксировать порядок операций: повторная классификация может заменить прежний класс, если логика не учитывает иерархию. Перед пакетным запуском проверяют несколько объектов каждого итогового класса и сохраняют используемый классификатор в проекте.

Пиксельная классификация

Pixel classifier обучается на размеченных пикселях и формирует карту классов по изображению. В окне настройки выбирают алгоритм, разрешение, набор признаков, тип выхода и область применения. Среди доступных классических методов есть искусственная нейронная сеть, Random Trees и k-ближайших соседей. Для обучения пользователь рисует аннотации, назначает им классы и включает live prediction, после чего карта обновляется и сразу показывает, где модель ошибается.

Обучающие области в окне Pixel classifier

Выбор разрешения влияет одновременно на детализацию, скорость и память. Для грубого разделения ткани и фона нет смысла анализировать каждую исходную точку скана; для мелких структур, напротив, слишком сильное уменьшение уничтожит границы. Признаки могут включать интенсивности и многомасштабные характеристики изображения. Чем сложнее набор признаков, тем дороже расчёт и тем выше риск, что модель начнёт использовать нежелательные различия между слайдами, например особенности окрашивания вместо морфологии.

Live prediction и область применения

Live prediction полезен именно как средство проверки. Пользователь добавляет пример ошибки, обучает модель заново и смотрит, исчезла ли ошибка без ухудшения в других местах. Когда результат достаточно устойчив, классификатор можно применить ко всему изображению либо ограничить аннотацией. Ограничение области снижает объём вычислений и предотвращает бессмысленную классификацию пустого фона. Если карта нужна только внутри опухоли, сначала лучше создать надёжную аннотацию опухоли, а уже затем запускать пиксельную модель внутри неё.

Предпросмотр пиксельной классификации

Ограничение пиксельной классификации выбранной областью

Когда классификатор переобучен

Классические пиксельные классификаторы имеют принципиальное ограничение: они принимают решение по локальным признакам и не обладают пониманием сложной морфологии уровня эксперта. Если отличить две ткани можно только по большой архитектуре, а в небольших окрестностях пиксели похожи, бесконечное добавление примеров не решит проблему. В такой ситуации нужно изменить постановку задачи, использовать другой масштаб, дополнительные объекты, иной алгоритм или специализированную модель.

Признак переобучения — отличная карта на нескольких обучающих областях и нестабильный результат на других слайдах. Следует проверять вариации оттенка, толщины среза, сканера и артефактов. QuPath позволяет обучать пиксельный классификатор на нескольких изображениях проекта, но это увеличивает объём данных и расход памяти. Разнообразие примеров важнее их простого количества: каждый новый фрагмент должен добавлять ситуацию, которую модель раньше видела плохо.

Тренировочные области и тренировочное изображение

Для систематической подготовки примеров можно создавать набор небольших тренировочных областей и собирать их в отдельное тренировочное изображение. Такой подход удобен, когда несколько характерных фрагментов слайда нужно видеть вместе и разделить на обучение, проверку и тестирование. Небольшие репрезентативные поля уменьшают вычислительную нагрузку и позволяют сравнивать разные части данных в одинаковом масштабе.

Создание набора тренировочных областей

Собранное тренировочное изображение для классификатора

Измерение окрашенной площади

Для задач вроде оценки доли DAB-положительной ткани QuPath может обойтись без сегментации каждой клетки. Сначала задают область ткани, затем используют разделённый канал и пороговый классификатор пикселей. Во время настройки программа показывает живые измерения площади и процента в выбранной аннотации. Это позволяет видеть, как изменение порога влияет на итог ещё до создания постоянных объектов.

Абсолютная площадь окраски редко имеет смысл сама по себе, поэтому её обычно нормируют на площадь подходящей ткани. Если в аннотацию попадает большой фон, процент будет искусственно снижен; если исключены слабые участки ткани, наоборот, завышен. Стабильность порога проверяют на нескольких изображениях и фиксируют метод до пакетного запуска. Если оттенки сильно меняются между партиями, лучше сначала разобраться с вариацией окрашивания, а не компенсировать её произвольными порогами для каждого слайда.

Карты плотности и поиск горячих точек

Density map превращает набор детекций или точек в двумерную карту плотности. Каждый пиксель такой карты отражает характеристики объектов в окрестности заданного радиуса. Можно считать количество выбранных объектов на площадь, использовать гауссово взвешивание или вычислять процент объектов вторичного класса среди объектов основного класса. Для Ki67, например, это позволяет визуализировать пространственное изменение доли положительных опухолевых клеток, а не только одно среднее число по всему срезу.

Карта плотности, построенная по детекциям QuPath

Радиус задаётся в калиброванных единицах и определяет пространственный масштаб результата. Малый радиус подчёркивает мелкие вариации, но сильнее реагирует на единичные ошибки детекции; большой сглаживает карту и может скрыть небольшие очаги. Отдельные настройки внешнего вида, включая прозрачность и gamma, меняют визуализацию, но не математическое содержание карты. Поэтому порог или поиск горячих точек следует настраивать по числам и объектам, а не по субъективной яркости цветовой шкалы.

Команда Find hotspots создаёт неперекрывающиеся круговые аннотации в областях с наиболее высокими значениями. Параметр минимального числа объектов помогает не считать горячей точкой область, где высокий процент возник из-за одной-двух клеток. Карты плотности в QuPath рассчитываются в 2D, что нужно учитывать для z-стеков. Они хорошо подходят для пространственного отбора областей, но не заменяют проверку качества исходных детекций: систематические ложные клетки создадут убедительную, но неверную карту.

Горячие точки, выделенные по карте плотности

Пространственные измерения между объектами

Помимо карт плотности QuPath содержит команды пространственного анализа на уровне объектов. Можно рассчитать расстояние от центроида детекции до ближайшей аннотации заданного класса, подписанное расстояние с различием внутренней и внешней стороны границы, а также расстояния между центроидами детекций. Это позволяет исследовать, например, распределение иммунных клеток относительно опухолевой области или сосудистой аннотации без ручного измерения каждой пары.

Есть и признаки на основе триангуляции Делоне, которые описывают соседство и кластеры детекций. Пространственный показатель всегда зависит от качества координат: если сегментация клетки смещена, ошибка переносится и в расстояние. Кроме того, двумерные расстояния на плоском срезе не следует интерпретировать как истинное трёхмерное соседство. Перед статистикой полезно визуально проверить несколько экстремальных значений и убедиться, что ближайший объект выбран так, как предполагает биологическая постановка.

Тканевые микроматрицы

Для tissue microarray QuPath умеет создавать и редактировать сетку ядер, автоматически выполнять dearraying, добавлять или удалять строки и столбцы, отмечать отсутствующие ядра и связывать позиции с картой TMA. После определения сетки каждое ядро становится отдельным объектом, внутри которого можно запускать те же измерения, детекцию клеток и классификацию, что и в обычной аннотации. Это превращает физическое расположение на слайде в структурированный набор результатов по образцам.

Импорт карты TMA полезен, если известны идентификаторы образцов и позиции ядер. Экспорт данных создаёт набор, который можно просматривать в специализированном TMA viewer и сопоставлять с изображениями. Автоматическое dearraying надо проверять вручную: повреждённые, наклонённые или отсутствующие ядра нарушают регулярную геометрию, и смещённая сетка способна приписать результат не тому образцу. Исправление сетки до анализа гораздо безопаснее, чем попытка переименовать результаты после.

Мультиплексная флуоресценция

В мультиплексных данных каждый канал обычно соответствует отдельному маркеру. QuPath позволяет просматривать каналы, выполнять детекцию клеток и создавать классификаторы по измерениям маркеров. Один практический подход — обучить или настроить классификатор для каждого маркера отдельно, затем объединить их в составную схему фенотипирования. Это сохраняет понятную логику: сначала проверяется, как работает каждый маркер, и только затем формируются комбинации.

При большом числе каналов особенно важно контролировать динамический диапазон, фон и регистрацию. QuPath не выполняет спектральное разделение исходной мультиспектральной смеси вместо специализированного этапа подготовки; предполагается, что каналы уже имеют осмысленное содержимое. Если сигнал одного канала протекает в другой, классификатор может обнаруживать физический артефакт вместо фенотипа. Пороговые решения следует проверять по распределениям измерений и на клетках с ожидаемой биологией.

Суперпиксели как промежуточные объекты

Superpixels позволяют разбить ткань на компактные области, к которым затем добавляются признаки и применяется классификатор. Такой метод находится между пиксельной картой и клеточной сегментацией: объект крупнее отдельного пикселя, но не обязан соответствовать биологической клетке. Он полезен для сегментации ткани по текстуре и цвету, когда контуры клеток не являются целью, а анализ каждой точки слишком дорог.

После создания суперпикселей можно рассчитать интенсивностные и другие признаки, разметить несколько характерных областей, обучить объектный классификатор и при необходимости объединить соседние области одинакового класса. Параметры размера суперпикселя следует выбирать относительно структуры ткани. Слишком крупные области пересекают разные морфологические зоны и усредняют признаки, слишком мелкие увеличивают число объектов и вычислительную нагрузку.

Экспорт измерений

Для одного изображения удобна таблица измерений: пользователь видит столбцы, сортирует их, проверяет связь строк с объектами и сохраняет результат. Для серии изображений предусмотрен Measurement Exporter, который работает по проекту и формирует сводный файл по выбранным изображениям и типу объектов. Это уменьшает риск вручную экспортировать разные наборы столбцов из разных слайдов. Перед выгрузкой стоит определить, какие поля нужны для последующего анализа, и сохранить единые имена классов.

CSV или текстовая таблица не содержит всей визуальной информации, поэтому ключевые шаги проверки следует завершить до окончательной выгрузки. Воспроизводимый рабочий процесс сохраняет не только итоговые числа, но и проект, классификаторы, параметры и сценарии. Тогда при необычном значении можно открыть исходный слайд, найти соответствующую аннотацию и понять, из каких детекций оно сложилось.

Экспорт изображений и областей

QuPath различает экспорт исходных пикселей и визуализированного содержимого. Команды Original pixels, OME-TIFF и OME-Zarr сохраняют данные изображения, причём OME-TIFF и OME-Zarr поддерживают пирамиды. Доступные форматы зависят от типа пикселей: JPEG и PNG не подходят для большинства многоканальных научных данных, тогда как TIFF способен хранить более подходящие значения. Если выбрана аннотация, экспорт можно ограничить её областью и задать уменьшение.

Для иллюстраций есть экспорт содержимого просмотрщика: на изображение могут попасть текущие цветовые преобразования и видимые объекты. SVG полезен, когда аннотации и ROI желательно сохранить в векторном виде для последующего оформления фигуры. Такой файл не следует путать с исходными измерительными данными: визуализированный RGB-кадр предназначен для презентации результата, а не для повторного количественного анализа исходных каналов.

Для машинного обучения часто нужны тысячи тайлов фиксированного размера. В сценариях QuPath используется TileExporter: он проходит по выбранным областям, задаёт разрешение, размер тайла, перекрытие и правила отбора, затем сохраняет набор фрагментов. Это позволяет использовать QuPath как инструмент разметки и подготовки данных для внешнего алгоритма, не заставляя внешнюю библиотеку самостоятельно читать огромный WSI.

Обмен аннотациями и GeoJSON

Объекты можно импортировать из GeoJSON или файла данных QuPath и экспортировать в GeoJSON. Это удобно для обмена полигонами и точками с геоинформационными или научными инструментами, которые умеют работать с геометрией. При переносе важно сохранять систему координат изображения: полигон сам по себе не содержит гарантии, что он относится к правильному слайду или масштабу. Имена и классификации также следует проверять после импорта.

Для задач сегментации можно создавать бинарные или размеченные изображения, где значение пикселя представляет класс. Такие маски подходят для обучения внешних моделей. При построении маски нужно заранее решить, что делать с перекрывающимися аннотациями, границами и фоном. Если несколько классов претендуют на один пиксель, одноканальная label-map должна иметь однозначное правило приоритета; многоканальная бинарная схема позволяет хранить несколько независимых признаков.

Интеграция с ImageJ

QuPath интегрируется с ImageJ, что полезно, когда нужно отправить выбранную область для обработки алгоритмом, которого нет в QuPath, или использовать привычные инструменты микроскопии. Логика разделения ролей обычно проста: QuPath управляет огромным слайдом, координатами и объектами, а ImageJ получает ограниченную область подходящего размера. Это предотвращает попытку загрузить гигапиксельный WSI целиком в программу, ориентированную на изображения, помещающиеся в память.

Перед передачей региона нужно понимать, какие пиксели и масштаб отправляются. Сильное уменьшение ускоряет анализ, но теряет мелкие структуры; исходное разрешение может создать слишком большой массив. Если результат ImageJ должен вернуться как ROI или измерение, надо проверить соответствие координат. Для повторяемых процедур лучше закрепить обмен в сценарии, а не выполнять длинную последовательность ручных действий.

Расширения и дополнительные алгоритмы

Менеджер расширений открывается через меню Extensions и позволяет находить, устанавливать, обновлять и удалять поддерживаемые дополнения. Расширения добавляют новые команды, провайдеры изображений и алгоритмы. Среди направлений экосистемы QuPath есть интеграция с OMERO, глубокое обучение через Deep Java Library, модели Bioimage Model Zoo, InstanSeg, StarDist и WSInfer. Наличие пункта в каталоге не означает, что любой алгоритм готов к конкретным данным без настройки: модели имеют свои требования к каналам, разрешению и нормализации.

Дополнение можно установить и вручную как JAR в пользовательскую папку, но управляемый каталог удобнее для контроля совместимости. Если после обновления пропала команда, первым делом проверяют, загружено ли соответствующее расширение и совпадают ли его требования с используемым QuPath. Сторонние дополнения следует рассматривать отдельно от базовых функций: их документация, поддержка и набор зависимостей могут отличаться.

Глубокое обучение и модели Bioimage Model Zoo

Интеграция с Bioimage Model Zoo использует описание модели, где указаны входы, выходы, веса, тестовые данные и другие метаданные. При создании пиксельного классификатора пользователь сопоставляет входные каналы, разрешение, размер тайла и способ трактовки выхода. Перед применением к большому слайду можно сравнить расчёт QuPath с тестовыми данными модели. Это важная проверка, потому что различия библиотек, паддинга и тайлинга способны изменить прогноз даже при тех же весах.

Глубокая модель не отменяет необходимости контролировать область применения. Сеть, обученная на одном типе ткани или окрашивании, может давать уверенные, но неверные маски на другом наборе. Результаты следует визуализировать, сравнивать с эталонной разметкой и документировать используемую модель. Если требуется GPU, нужно отдельно проверить поддержку соответствующего движка и драйверов; базовые возможности QuPath не гарантируют ускорение любой модели на любом оборудовании.

Сценарии и автоматизация

QuPath записывает многие выполненные команды в Workflow. Из истории можно получить заготовку сценария и заменить ручные шаги воспроизводимым кодом. Сценарии написаны на Groovy и имеют доступ к текущему ImageData, просмотрщику, объектам, проекту и API анализа. Для пользователя без опыта программирования полезно начать с команды, настроенной через интерфейс, затем посмотреть автоматически записанную строку и постепенно собрать последовательность.

Run for project применяет сценарий к группе изображений проекта. Это мощный этап, который нужно запускать только после теста на нескольких слайдах и проверки сохранения данных. В сценарии следует явно ограничивать нужные объекты, очищать старые детекции только тогда, когда это действительно требуется, и формировать информативный лог. Пакетная автоматизация ускоряет работу, но так же быстро масштабирует ошибку, если неверная настройка попала в начало цепочки.

Полезная структура автоматизированного анализа включает проверку предусловий: есть ли калибровка, соответствует ли тип изображения, найдена ли нужная аннотация, существует ли классификатор, не пуст ли результат. Если условие не выполнено, сценарий лучше завершить с понятным сообщением для конкретного изображения, чем создавать таблицу с пропусками, происхождение которых потом трудно установить.

Командная строка

QuPath поддерживает запуск с параметрами командной строки: можно открыть конкретное изображение или проект, вывести номер выпуска, сбросить настройки, управлять уровнем журнала и запускать подкоманду script. Для Windows есть консольный вариант запуска, который сохраняет вывод в терминале. Это удобно для серверных или повторяемых задач, где графический интерфейс не нужен на каждом шаге.

Подкоманда script принимает сценарий и параметры изображения или проекта. По умолчанию сам факт запуска сценария не означает автоматического сохранения всех изменений, поэтому логика сохранения должна быть предусмотрена явно. Для пакетной обработки стоит сначала протестировать команду на копии проекта и убедиться, что пути, расширения и выходные файлы формируются ожидаемо. Ошибка в относительном пути при сотне изображений создаёт намного больше проблем, чем та же ошибка при одном интерактивном запуске.

Многомерные изображения

Хотя большая часть задач QuPath связана с двумерными слайдами, просмотрщик поддерживает навигацию по z-срезам и временным точкам, если они доступны через сервер изображения. Элементы управления появляются в верхней части просмотрщика. Для z-стеков можно включать проекционное наложение, чтобы быстро оценить информацию по нескольким плоскостям. Это средство визуализации не превращает двумерные алгоритмы в трёхмерные: перед запуском команды надо понимать, на какой плоскости или представлении она работает.

Навигация по z и времени в QuPath

Bio-Formats чаще нужен для многомерных данных, тогда как OpenSlide рассчитан на двумерные RGB-слайды. Если файл открывается, но отображается только одна плоскость или часть каналов, это может быть следствием выбора неподходящего механизма чтения. Сначала следует сравнить метаданные и доступные серии, затем менять сервер изображения. Аналитические результаты из разных z-плоскостей нельзя объединять как будто это независимые двумерные клетки без учёта повторного попадания одной структуры.

Производительность на больших WSI

Пирамидальное чтение решает проблему отображения огромного файла, но не делает любую операцию дешёвой. Детекция миллионов клеток создаёт миллионы объектов и измерений, пиксельный классификатор на высоком разрешении требует обработки большого числа тайлов, а обучение по нескольким изображениям повышает потребление памяти. Поэтому масштаб анализа выбирают по размеру структуры и задаче, а не автоматически на максимальном разрешении.

Если команда начинает обмениваться данными с диском или интерфейс долго не отвечает, следует уменьшить область теста и проверить, не выбран ли избыточно высокий масштаб. Для массовой клеточной детекции полезно сначала обвести репрезентативный участок, подобрать параметры там и только затем расширять обработку. После детекции можно удалить ненужные признаки или промежуточные объекты, если они больше не используются, но до этого стоит сохранить проект или копию результатов.

Производительность также зависит от формата WSI и скорости хранилища. Сетевой ресурс с высокой задержкой может значительно замедлить выдачу тайлов. OME-Zarr рассчитан на масштабируемое хранение, но фактическая скорость всё равно определяется конфигурацией сервера и сети. При нестабильном удалённом подключении воспроизводимый анализ лучше организовать так, чтобы потеря соединения не оставляла проект в неоднозначном состоянии.

Сравнение QuPath с аналогами

ПрограммаЛучше подходит дляГлавное ограничение
QuPathИнтерактивной разметки и количественного анализа WSI, клеток и тканиТребует проверки параметров и качества моделей на каждом наборе данных
HALOКоммерческих высокопроизводительных рабочих процессов цифровой патологииЗакрытая лицензируемая экосистема и модульная комплектация функций
Visiopharm DiscoveryОбучаемого анализа тканей и пакетной обработки в коммерческой средеДоступ и набор возможностей зависят от коммерческой конфигурации
ASAPБыстрого просмотра, аннотирования WSI и визуализации масокМеньше встроенных интерактивных аналитических цепочек уровня QuPath
Orbit Image AnalysisОткрытого анализа больших слайдов, сегментации и работы с OMEROИнтерфейс и рабочие процессы заметно отличаются от патолого-ориентированной логики QuPath
Fiji / ImageJГибкой обработки микроскопических изображений и плагинных алгоритмовУправление гигапиксельными WSI и объектными проектами не является центральной моделью работы

Если основная задача — разметить большие гистологические слайды, обучить классификатор прямо на изображении, связать детекции с аннотациями и затем воспроизводимо выгрузить измерения по проекту, QuPath обычно предлагает наиболее цельный открытый рабочий процесс. ASAP удобен прежде всего как быстрый WSI-viewer с аннотациями и наложениями, Orbit также ориентирован на большие изображения и машинное обучение, а Fiji сильнее там, где требуется широкий набор алгоритмов обработки небольших и средних микроскопических изображений. HALO и Visiopharm подходят организациям, которым нужна коммерческая инфраструктура, готовые модули и поддержка в рамках лицензируемой среды.

Типовой сценарий: Ki67 на H-DAB

  1. Открыть репрезентативный слайд и проверить пространственную калибровку.
  2. Установить подходящий brightfield-тип и проверить разделение гематоксилина и DAB.
  3. При необходимости уточнить векторы красителей на чистых областях.
  4. Создать аннотацию опухолевой ткани, исключив пустой фон и явные артефакты.
  5. Настроить Positive cell detection сначала по качеству сегментации ядер, затем по порогу положительности.
  6. Открыть таблицу детекций, проверить распределения и несколько крайних значений на изображении.
  7. Повторить визуальную проверку в разных морфологических зонах и на нескольких слайдах.
  8. Сохранить параметры или сценарий в проекте и только после этого выполнить пакетный анализ.
  9. Экспортировать нужные измерения по аннотациям или изображениям, сохранив связь с идентификаторами проекта.

В этом сценарии самая частая ошибка — считать конечный процент достаточным доказательством качества. На самом деле один и тот же процент может получиться при двух противоположных дефектах: часть положительных ядер пропущена, а часть фоновых объектов ошибочно добавлена. Поэтому контроль должен включать контуры клеток, измерения интенсивности, распределение классов и несколько полей на разных участках ткани.

Типовой сценарий: H&E и разделение опухоли со стромой

Для H&E можно обучить пиксельный классификатор на нескольких аннотациях Tumor, Stroma, Ignore и других необходимых классов. Разметку лучше делать маленькими репрезентативными фрагментами по всему слайду, а не одним крупным полигоном: тогда пользователь контролирует, какие текстуры и оттенки попадают в обучение. Live prediction сразу показывает, где модель путает железы, строму, воспаление, просветы или артефакты.

После приемлемой классификации карта может использоваться для измерения долей классов, создания объектов или ограничения последующей клеточной детекции. Если задача требует морфологического решения, которое невозможно определить по локальной текстуре, пиксельный классификатор не следует заставлять решать её количеством примеров. Тогда лучше добавить более крупномасштабный этап, использовать объектные признаки или внешнюю модель, специально обученную на соответствующей архитектуре ткани.

Пиксельный классификатор и измерение классов ткани

Типовой сценарий: подготовка датасета для внешней нейросети

QuPath удобно использовать как среду разметки WSI перед обучением модели во внешнем фреймворке. Сначала создают проект, согласуют классы и правила аннотации, затем размечают слайды и проверяют иерархию. Для каждого класса важно определить, что означает граница, как поступать с артефактами и нужно ли выделять неопределённую область. После этого TileExporter формирует тайлы на нужном физическом масштабе, а отдельный label server — маски классов.

Чтобы избежать утечки данных, слайды одного пациента не следует случайно распределять между обучением и тестом как независимые тайлы. QuPath сам не определяет статистическую схему разбиения исследования, поэтому это правило задаётся пользователем в проекте или внешнем коде. В выборке также полезно сохранять тайлы без целевого класса, иначе сеть не научится различать настоящий фон и похожие структуры. Проверка нескольких экспортированных пар изображение-маска обязательна до запуска долгого обучения.

Типовой сценарий: пространственная иммунная инфильтрация

Для анализа иммунной инфильтрации можно детектировать клетки, классифицировать иммунные и опухолевые популяции, затем вычислить расстояния до аннотации опухоли или построить карту плотности выбранного класса. При таком подходе важна граница опухоли: неточная аннотация систематически смещает signed distance и может изменить вывод о внутренней и периферической популяциях. Если опухолевая область создаётся пиксельным классификатором, её качество следует валидировать отдельно.

Плотность объектов лучше считать на физическом масштабе, сопоставимом между слайдами. Радиус не должен меняться просто потому, что одно изображение сканировано при другом увеличении, если физическая калибровка корректна. Для областей с малым количеством клеток полезен минимальный порог объектов, чтобы экстремальный процент не возникал из единичных детекций. Пространственный результат нужно показывать вместе с исходной морфологией, иначе трудно оценить, связан ли кластер с биологией или техническим артефактом.

Типовой сценарий: тканевая микроматрица

На TMA-слайде сначала запускают dearraying и приводят сетку в соответствие с реальными ядрами. Пропущенные позиции маркируют, неправильные границы корректируют, после чего импортируют карту с идентификаторами. Далее внутри каждого ядра выполняют одинаковый анализ — детекцию клеток, измерение окраски или пиксельную классификацию. Результаты агрегируются по ядрам, что упрощает сопоставление с клиническими или экспериментальными метаданными.

Если из одного образца представлены несколько ядер, способ объединения значений нужно определить заранее: среднее, медиана, максимум или другой показатель несут разный смысл. QuPath помогает получить измерения по каждому core, но статистическое правило объединения остаётся частью дизайна исследования. Повреждённые и частично отсутствующие ядра стоит пометить до экспорта, а не смешивать с полноценными значениями.

Типовой сценарий: мультиплексное фенотипирование

Для мультиплексной флуоресценции сначала проверяют каналы и сегментацию клеток. Затем для каждого маркера оценивают распределение интенсивности и задают классификатор, используя отрицательные и положительные примеры. После проверки отдельных маркеров их объединяют в составной классификатор, создавая фенотипы. Такой последовательный подход легче отлаживать, чем сразу строить длинный список комбинаций: если один маркер работает плохо, видно, какой именно этап нужно исправить.

Количество возможных сочетаний растёт экспоненциально, поэтому не каждую комбинацию стоит превращать в отдельный класс. Лучше определить фенотипы, которые действительно нужны для вопроса исследования, а остальные признаки сохранить как измерения. При экспорте следует сохранять исходные интенсивности вместе с итоговым классом, если это возможно: тогда пороги можно проверить статистически и не потерять информацию о пограничных клетках.

Типовые ошибки при открытии файлов

WSI не открывается вообще

Сначала проверяют, открывается ли файл специализированным средством производителя или другой программой чтения и не повреждён ли он. В QuPath затем пробуют другой image server, если формат поддерживают и OpenSlide, и Bio-Formats. Для TIFF важно выяснить, есть ли пирамидальные уровни и поддерживается ли компрессия. Простое переименование расширения не меняет внутреннюю структуру файла и проблему не решает.

Открывается миниатюра, но нет высокого разрешения

Такое поведение характерно для некоторых частично поддерживаемых форматов: библиотека может прочитать preview, но не основные тайлы. Нужно проверить конкретный вариант формата и механизм чтения. Конвертация в OME-TIFF или OME-Zarr подходящим инструментом часто надёжнее, чем пытаться анализировать неполное представление.

Пропали каналы или z-плоскости

Если многомерный файл открыт через средство, рассчитанное на двумерный RGB, часть размерностей может быть недоступна. Следует открыть свойства изображения, проверить число каналов, z и time и при необходимости выбрать Bio-Formats. Для файлов с несколькими сериями нужно убедиться, что выбрана нужная серия, а не миниатюра или вспомогательное изображение.

Типовые ошибки проектов

После переноса проекта изображения отмечены как отсутствующие

Это означает, что сохранённые пути больше не указывают на исходные WSI. В диалоге восстановления можно указать новый файл для отдельной записи или выбрать папку для поиска совпадающих имён. После проверки соответствий применяют изменения. Если в новом месте есть разные файлы с одинаковыми именами, автоматическое сопоставление надо контролировать вручную.

Проектная папка содержит посторонние файлы

QuPath рекомендует создавать проект в пустой папке и управлять её содержимым через программу. Если туда вручную добавить, переименовать или удалить внутренние элементы, структура может стать непоследовательной. Для внешних таблиц и промежуточных результатов лучше использовать явно выделенные каталоги, а перед крупной реорганизацией сделать копию проекта.

Сценарий работает на одном изображении, но падает на другом

Чаще всего различаются предусловия: нет аннотации нужного класса, изменён тип изображения, отсутствует калибровка, другой набор каналов или классификатор ожидает признаки, которые не рассчитаны. Вместо цепочки без проверок сценарий должен валидировать каждый критический элемент и сообщать имя изображения, на котором условие не выполнено.

Типовые ошибки цветовой деконволюции

DAB попадает в канал гематоксилина

Проверяют фон и векторы красителей. Область для ручной настройки должна содержать как можно более чистый цвет; смешанный участок с несколькими красителями смещает вектор. Для автоматической оценки выбирают небольшую репрезентативную область и смотрят диаграммы рассеяния, а не принимают Auto без проверки.

После изменения векторов старые измерения выглядят странно

Измерения, рассчитанные раньше, не обновляются автоматически только потому, что свойства красителей изменены. Если векторы признаны неверными, зависимые измерения нужно пересчитать. Именно поэтому настройку красителей выполняют до детекции и измерения, а применяемые значения фиксируют для всего сопоставимого набора.

Интенсивность после деконволюции воспринимается как абсолютная концентрация

Цветовая деконволюция полезна для разделения компонентов и детекции, но её значения не следует без дополнительной валидации трактовать как прямую физическую концентрацию красителя. На сигнал влияют окрашивание, сканирование и фон. Для количественных выводов используют проверяемый протокол и контрольные образцы, а не только числовую величину оптической плотности.

Типовые ошибки клеточной сегментации

Одно ядро разбивается на несколько детекций

Проверяют масштаб, сглаживание, параметры watershed и диапазон размеров. На сильно текстурированных ядрах локальные максимумы могут выглядеть как отдельные объекты. Слишком агрессивное разделение повышает число клеток и искажает площадь ядер. Исправление нужно оценивать одновременно на плотных и разреженных участках, иначе настройка для одного случая ухудшит другой.

Соседние ядра сливаются

Причина может быть в недостаточном разделении, низком контрасте или слишком сильном сглаживании. Следует проверить канал детекции и качество разделения красителей, а не только усиливать watershed. Если граница между ядрами физически отсутствует в изображении, алгоритм не сможет восстановить её достоверно без дополнительных признаков.

Появляются детекции в пустом фоне

Сначала ограничивают анализ аннотацией ткани, затем проверяют порог и оценку фона. Пыль, складки и насыщенные артефакты могут иметь интенсивность, похожую на ядра, поэтому для них иногда нужен отдельный класс исключения или предварительная маска. Запуск детекции на всём прямоугольнике WSI без ограничения часто тратит ресурсы и увеличивает число ложных объектов.

Типовые ошибки пиксельной классификации

Карта выглядит хорошо только рядом с обучающими аннотациями

Нужно добавить примеры из других частей слайда и других изображений, уделяя внимание именно тем вариациям, где модель ошибается. Увеличивать количество соседних пикселей того же типа мало полезно. После каждого изменения следует проверять прежние области, чтобы исправление одной ошибки не создало другую.

Модель путает две морфологически разные ткани с похожим цветом

Классические признаки используют ограниченную окрестность и могут не видеть архитектуру крупного масштаба. Попробовать можно другое разрешение или набор признаков, но если различие требует контекста большого поля, следует сменить метод. В таких задачах уместна объектная логика или специально обученная глубокая модель.

Обучение на нескольких изображениях потребляет слишком много памяти

Сокращают число и размер тренировочных областей, используют репрезентативные фрагменты, уменьшают разрешение там, где биологическая структура это допускает, и убирают из обучения дублирующие участки. Цель состоит не в том, чтобы показать модели все пиксели исследования, а в том, чтобы покрыть основные варианты данных.

Типовые ошибки карт плотности

Небольшая группа клеток даёт экстремальный процент

Для процентного типа карты единичная положительная клетка при отсутствии других клеток рядом может дать значение, близкое к максимуму. В QuPath прозрачность и параметр минимального числа объектов помогают не акцентировать такие области, а для hotspots следует задавать минимальное количество объектов. Интерпретировать карту без этого фильтра опасно.

Изменение gamma воспринимается как изменение результата

Gamma относится к визуализации прозрачности карты и не меняет исходные значения плотности. Если цвет стал ярче, статистическая величина не увеличилась. Пороговые решения и выбор hotspots должны основываться на параметрах карты и объектах, а не на том, какой вариант цветовой шкалы кажется контрастнее.

Совместимость с Windows, macOS и Linux

Для Windows QuPath требует 64-битную систему. На macOS есть варианты для Intel и Apple Silicon; нативный Apple Silicon быстрее на соответствующих компьютерах, но часть форматов через Bio-Formats имеет ограничения, поэтому при работе с проблемными CZI или некоторыми NDPI может понадобиться Intel-вариант через Rosetta. Для Linux предоставляется сборка, запускаемая после распаковки и назначения права выполнения файлу запуска.

Пакеты QuPath не имеют подписи издателя для всех систем, поэтому Windows или macOS могут показывать защитное предупреждение. Это не повод отключать системную защиту в целом: следует проверять, что файл получен из официального выпуска, и использовать штатный способ подтверждения запуска. Если программа не стартует после переноса папки или изменения прав, сначала проверяют целостность файлов и права пользователя, а не модифицируют системные политики безопасности.

Что QuPath не предназначен делать

QuPath создавался для исследовательского анализа биомедицинских изображений и прямо не предназначен для клинических, диагностических или терапевтических решений. Наличие точного числа, красивой маски или высокой уверенности классификатора не превращает исследовательский алгоритм в валидированный медицинский тест. Для научной работы всё равно требуются контроль качества, подходящая статистика, независимая проверка и описание метода.

Программа также не является универсальным фоторедактором. Она умеет менять способ отображения каналов и экспортировать визуализированные изображения, но её сильная сторона — объекты, координаты, измерения, классификация и работа с WSI. Для удаления дефектов портрета, художественной цветокоррекции, коллажей или печатного дизайна нужны программы другого класса.

Как построить воспроизводимый рабочий процесс

  • Зафиксировать биологический вопрос и единицу результата: клетка, площадь, core TMA, аннотация или изображение.
  • Проверить формат, каналы, калибровку и тип изображения до любых измерений.
  • Определить правила аннотирования и классы, включая фон, артефакты и неопределённые области.
  • Настроить алгоритм на репрезентативных участках и проверить его на независимых областях.
  • Сохранить классификаторы и сценарии в проекте, а ручные параметры перенести в воспроизводимую последовательность.
  • Проверить несколько слайдов с различной морфологией и интенсивностью окраски до пакетного запуска.
  • Экспортировать только те измерения, смысл которых понятен и качество которых проверено на изображении.
  • Хранить идентификаторы изображений и объектов так, чтобы необычное значение можно было вернуть к исходной морфологии.

Главная практическая ценность QuPath раскрывается именно в таком цикле: разметка, интерактивный анализ, визуальная валидация, автоматизация и возврат от таблицы к изображению. Программа облегчает техническую часть, но не решает за пользователя, какие области репрезентативны, какой порог биологически обоснован и достаточно ли данных для вывода. Чем раньше эти решения оформлены как явные правила, тем меньше риск получить хорошо оформленный, но плохо воспроизводимый результат.

Контрольный список перед пакетным запуском

  • Все изображения проекта открываются и имеют ожидаемые каналы и размерность.
  • Пространственная калибровка проверена для каждого типа файлового провайдера.
  • Тип brightfield или fluorescence задан корректно.
  • Векторы красителей или диапазоны каналов проверены на репрезентативных слайдах.
  • Аннотации не содержат нежелательных перекрытий и правильно классифицированы.
  • Детектор не систематически дробит и не сливает ядра на разных морфологиях.
  • Классификатор проверен вне обучающих областей и на нескольких изображениях.
  • Пороговые значения не подбирались отдельно под итог, который хотелось получить.
  • Сценарий корректно обрабатывает отсутствие нужного объекта или метаданных.
  • Путь экспорта не перезаписывает исходные файлы и формирует уникальные имена результатов.
  • Есть резервная копия проекта перед массовым изменением данных.

Частые вопросы о работе в QuPath

Нужно ли создавать проект для одного слайда?

Для быстрого просмотра необязательно. Если планируется сохранять классификатор, возвращаться к данным, запускать сценарии или сравнивать несколько изображений, проект упрощает структуру и уменьшает число ручных действий. Для исследования с серией WSI проект лучше считать базовым способом организации.

Можно ли редактировать исходные пиксели прямо в QuPath?

Большинство рабочих процессов QuPath не изменяет исходный WSI. Анализ создаёт объекты, измерения, классификаторы и визуальные преобразования поверх изображения. Если нужна новая копия пикселей, используют экспорт исходных данных, OME-TIFF, OME-Zarr, выбранной области или тайлов в зависимости от задачи.

Почему один и тот же порог не работает на всех слайдах?

Причиной может быть вариация окрашивания, экспозиции, сканера, подготовки ткани или неверно заданные векторы красителей. Прежде чем вводить индивидуальный порог для каждого слайда, стоит определить, можно ли стандартизировать предобработку или обучить классификатор на репрезентативной вариации. Иначе сравнение между изображениями становится зависимым от ручной подгонки.

Что лучше: детекция клеток или пиксельная классификация?

Это разные единицы анализа. Детекция нужна, когда результат относится к отдельным клеткам, их количеству, интенсивности и пространственным координатам. Пиксельная классификация эффективнее для областей ткани, окрашенной площади и грубого разделения морфологических зон. В одном процессе их часто комбинируют: пиксельная модель ограничивает область, а клеточный детектор работает внутри неё.

Можно ли использовать только таблицу без визуальной проверки?

Нет, если речь идёт о настройке нового анализа. Таблица помогает находить аномалии, но не показывает причину значения. Связь выделенной строки с объектом в просмотрщике специально полезна для того, чтобы увидеть ложную сегментацию, артефакт или неправильную аннотацию. После валидированного пакетного процесса объём ручной проверки можно планировать статистически, но полностью игнорировать изображение нельзя.

Когда нужен ImageJ, если есть QuPath?

ImageJ полезен для алгоритмов обработки небольших регионов и специализированных плагинов, которых нет в QuPath. QuPath удобнее держит WSI, проекты, аннотации и миллионы объектов. Поэтому программы дополняют друг друга: QuPath выбирает и организует область, ImageJ выполняет подходящую операцию на ограниченном фрагменте.

Когда нужен глубокий классификатор?

Когда простые локальные признаки не описывают нужную морфологию и есть достаточный объём качественно размеченных данных. Перед глубоким обучением стоит проверить, нельзя ли решить задачу прозрачным порогом, объектным классификатором или классическим пиксельным методом. Более сложная модель оправдана не модой, а устойчивым преимуществом на независимой проверке.

Можно ли доверять проценту положительных клеток без ручного эталона?

Для нового набора данных желательно иметь хотя бы ограниченную независимую проверку, выполненную по заранее определённым правилам. Она показывает, какая часть ошибки связана с сегментацией, а какая — с порогом положительности. Если эти ошибки не разделить, улучшение одного этапа может маскироваться ухудшением другого.

Как понять, что параметры можно переносить на весь проект?

Нужно проверить слайды, представляющие ожидаемые крайности: слабое и сильное окрашивание, разную плотность клеток, разные морфологические зоны и типичные артефакты. Если один набор параметров остаётся приемлемым на этих случаях, перенос обоснованнее. Если нет, следует определить причину вариации и изменить метод, а не молча вводить индивидуальные параметры.

Что делать с артефактами ткани?

Их можно исключать аннотациями, выделять отдельным классом или учитывать в обучении как негативные примеры. Выбор зависит от того, должен ли алгоритм автоматически распознавать артефакт. В любом случае правила должны быть одинаковыми для всего исследования: если на одном слайде складка исключается, а на другом считается тканью, итоговые площади и плотности становятся несопоставимыми.

Автоматическое выделение ткани порогом

Для отделения ткани от светлого фона QuPath предлагает Create thresholder. Это специальный пиксельный классификатор, в котором решение определяется фиксированным порогом выбранного канала. Диалог объединяет несколько важных параметров: разрешение анализа, канал, предварительный фильтр, степень сглаживания, сам порог, классы выше и ниже порога и область предпросмотра. Для WSI особенно важен параметр Resolution: ткань обычно можно уверенно отделить на заметно меньшем разрешении, чем исходное, поэтому обработка каждого пикселя полного скана только увеличивает время и создаёт чрезмерно сложную границу.

Канал выбирают так, чтобы нужная структура контрастировала с фоном. Это может быть исходный RGB-компонент, канал яркости или результат цветовой деконволюции. Сглаживание уменьшает влияние шума и мелких отверстий, но слишком большое значение стирает узкие структуры. В режиме предпросмотра QuPath показывает цветное наложение для областей выше и ниже порога; его можно включать и выключать клавишей C. Область предпросмотра влияет на скорость настройки, но не меняет математическое правило классификатора, поэтому сначала удобно смотреть небольшую аннотацию, а после утверждения параметров применять метод к родительским объектам нужного масштаба.

После настройки thresholder лучше сохранить в проекте с понятным именем. Тогда параметры доступны для сценариев и повторного применения. При создании объектов можно выбрать весь слайд, все аннотации или только выбранные аннотации, а также настроить очистку мелких фрагментов и отверстий. Для маски ткани это даёт более управляемую геометрию, чем ручное обведение всего препарата. Однако автоматическая маска всё равно требует проверки по краям, в местах разрывов, около стекла, складок и слабой ткани: ошибка на первом этапе ограничит все последующие детекции.

Как превращать пиксельную карту в объекты и измерения

Пиксельный классификатор в QuPath может использоваться не только как цветное наложение. После сохранения его можно применить для создания аннотаций, добавления измерений к существующим объектам или классификации детекций. Выбор зависит от того, что требуется дальше. Если нужна геометрическая область опухоли, создают аннотации; если требуется только процент классов внутри заранее заданных ROI, достаточно измерений; если карта служит дополнительным признаком для уже найденных объектов, удобнее классифицировать или измерить эти объекты без генерации тысяч лишних полигонов.

При создании геометрии стоит фильтровать мелкие островки и отверстия согласно биологическому смыслу. Очень детальная граница на высоком разрешении выглядит точной, но может затруднить последующие операции и увеличить размер данных, не улучшив вывод. Для крупной области ткани обычно разумнее более плавный контур, а для небольших инвазивных участков — более детальный. Настройку следует выбирать по минимальной структуре, которую действительно нужно сохранить, а не по максимальной технически доступной детализации.

Редактирование и выбор аннотаций

После рисования ROI QuPath позволяет корректировать геометрию и управлять выбранными объектами. Это важно, потому что автоматический анализ часто начинается с вручную утверждённых областей. Аннотации можно дублировать, объединять, разделять, инвертировать относительно других областей и изменять свойства. В режиме выделения пользователь работает с существующей геометрией, а не создаёт новый ROI. Перед массовым редактированием полезно проверить текущий набор выбранных объектов: операция над несколькими полигонами может затронуть гораздо большую часть слайда, чем видно при сильном увеличении.

Классификация аннотации и её имя не должны использоваться как взаимозаменяемые поля. Класс предназначен для логики анализа и фильтрации, имя — для пояснения конкретной области. Например, несколько полигонов могут иметь класс Tumor, но имена центр, инвазивный край и контрольная зона. Такой подход облегчает экспорт и сценарии: код отбирает объекты по стабильному классу, а человек видит более подробное назначение. После утверждения границ их стоит блокировать, чтобы случайный жест кистью не изменил эталонную разметку.

Ручной счёт и эталонные точки

Point tool позволяет вручную отмечать клетки или другие структуры и относить точки к разным классам. Этот режим полезен не только для полностью ручного подсчёта, но и для создания небольшого эталона, с которым сравнивают автоматический детектор. При таком контроле важно заранее определить правило попадания структуры в область, порядок просмотра поля и критерии классов. Иначе два оператора могут получить разные результаты ещё до сравнения с алгоритмом.

Точки хранят координаты, поэтому их можно повторно открыть на изображении и проверить. Для оценки детектора лучше выбирать области разной сложности: плотные клеточные скопления, слабый контраст, край ткани и типичные артефакты. Случайно выбранное идеальное поле почти всегда завышает качество. Если ручные точки используются как истина для чувствительности и точности, автоматические детекции и ручная разметка должны иметь явно различимые классы или сохраняться в отдельных копиях данных, чтобы объекты не смешивались.

Карты измерений и визуальный поиск выбросов

Команда Show measurement maps отображает числовое измерение детекций как цветовую карту прямо в контексте слайда. Это удобный способ найти пространственные зоны с необычной площадью ядер, интенсивностью маркера или другим признаком. В отличие от density map, такая визуализация раскрашивает уже существующие объекты по их собственным значениям, а не вычисляет плотность в окрестности. Поэтому она хорошо подходит для контроля качества признака после детекции.

Measurement manager помогает просматривать и при необходимости удалять измерения детекций, а отдельные таблицы предусмотрены для аннотаций и TMA cores. Grid view полезен, когда нужно быстро сравнить множество аннотаций или ядер микроматрицы. Визуальные карты нельзя использовать вместо статистической проверки шкалы: один экстремальный выброс способен растянуть диапазон и сделать большинство объектов похожими по цвету. Сначала полезно посмотреть гистограмму или распределение, затем выбрать диапазон отображения и открыть несколько крайних объектов на исходном изображении.

View Tracker: запись навигации по слайду

View Tracker записывает перемещение просмотрщика по изображению подобно журналу навигации. Инструмент работает внутри проекта: после начала записи фиксируются положения и масштаб во времени, а при необходимости — курсор и активный инструмент. После остановки данные сохраняются в таблицу проекта, а запись можно воспроизвести. Это полезно для исследований поведения при просмотре цифровых слайдов, обучения и документирования того, какие области фактически изучались человеком.

В режиме анализа View Tracker строит наложение, отражающее время внимания к разным участкам, и позволяет ограничить анализ диапазоном времени или диапазоном увеличения. Цветовая карта показывает длительность присутствия поля зрения, а не биологическую интенсивность изображения, поэтому её смысл принципиально иной, чем у карты плотности клеток. Запись привязана к одному просмотрщику; переход в другой viewer во время записи прекращает текущую сессию. Для передачи такой записи нужно сохранять весь проект, поскольку таблицы находятся в его структуре.

Практический сценарий — сравнить маршрут просмотра эксперта и новичка или проверить, какие зоны слайда чаще изучались перед ручной аннотацией. Но View Tracker сам не делает вывод о качестве решения: длительное внимание может означать как важную морфологию, так и затруднение. Поэтому его данные интерпретируют вместе с задачей, увеличением и конечными действиями пользователя.

Открытие удалённых изображений и OMERO

File → Open URI позволяет работать с изображениями, которые предоставляет совместимый сервер, если установлен подходящий extension. В экосистеме QuPath важное место занимает OMERO: расширение позволяет подключаться к серверу, просматривать доступные изображения и открывать их через сетевой API. Такой подход полезен, когда WSI хранятся централизованно и копировать каждый файл на рабочий компьютер неудобно.

Сетевой доступ добавляет новые точки отказа: права пользователя, доступность сервера, задержка, изменение адреса и ограничения расширения. Если изображение неожиданно перестало открываться, нужно отличить проблему анализа от проблемы подключения. Сценарий, работающий с удалёнными данными, должен корректно обрабатывать недоступность изображения и не считать пустой результат валидным. Для длительной пакетной обработки также важно понимать, какие операции выполняются на клиенте и сколько данных будет передаваться по сети.

Аннотации и результаты могут обмениваться с OMERO в пределах возможностей соответствующего расширения. Перед большим переносом стоит проверить один слайд и убедиться, что координаты, классы и геометрия сохраняются так, как ожидается. Разные системы по-разному трактуют свойства объектов, поэтому визуальная проверка после импорта или отправки остаётся обязательной.

Командный список, горячие клавиши и настройка интерфейса

В QuPath многие действия доступны одновременно через меню, кнопки и сочетания клавиш. Command list помогает найти команду по названию и увидеть назначенное сочетание, что особенно полезно при большом числе расширений. Для повседневной работы стоит запомнить только операции, которые постоянно повторяются: временное перемещение через Space, переключение классификационного наложения, показ детекций, управление заполнением и вызов часто используемых таблиц. Остальные команды быстрее искать по списку, чем запоминать десятки сочетаний.

Preferences позволяет изменить поведение просмотрщика, цвета объектов и другие параметры интерфейса. Такие настройки не должны незаметно менять научную логику проекта. Например, изменение цвета класса помогает восприятию, но не должно заменять сам класс; изменение диапазона отображения канала улучшает видимость, но не переписывает измерение. При совместной работе полезно договориться, какие параметры являются только визуальными, а какие входят в метод анализа и должны быть одинаковыми для всех участников.

Журнал и диагностика проблем

При ошибке расширения, чтения изображения или сценария полезно смотреть не только всплывающее сообщение, но и журнал QuPath. В нём остаются детали исключения, имя команды и технический контекст, по которым легче понять, где произошёл сбой. Для сценариев можно добавлять собственные информативные сообщения: имя текущего изображения, число найденных объектов, путь вывода и причину пропуска. Такой лог превращает пакетную обработку из часть файлов не сработала в конкретный список действий для повторной проверки.

Если после изменения настроек программа ведёт себя непредсказуемо, командная строка поддерживает сброс пользовательских параметров. Этот шаг стоит применять осознанно, предварительно зафиксировав нужные настройки. Ошибка одного проекта редко требует удаления всех пользовательских данных. Сначала проверяют проект, расширения и конкретную команду, затем пробуют новый пустой проект на том же изображении и только после этого переходят к общим настройкам среды.

Дополнительные клеточные и объектные команды

Помимо обычной Cell detection QuPath содержит Positive cell detection, быстрый brightfield-подсчёт и экспериментальную subcellular detection для поиска внутриклеточных точечных структур. Экспериментальная команда требует особенно строгой валидации: мелкие spots чувствительны к шуму, разрешению и фону. Если интересуют субклеточные объекты, сначала нужно убедиться, что клеточные границы корректны, потому что spots распределяются относительно уже найденных клеток.

Команда Add smoothed features может добавить к детекциям признаки, учитывающие значения соседних объектов с весами. Это даёт контекст вокруг клетки без построения отдельной плотностной карты. Такие признаки способны улучшить классификацию, если фенотип связан с микроокружением, но также повышают зависимость соседних наблюдений друг от друга. При статистическом анализе нельзя считать сглаженные значения полностью независимыми клеточными измерениями.

Интенсивностные классы и H-score

Set cell intensity classifications назначает клеткам уровни по одному измерению и может использоваться для процентов положительных клеток или расчёта H-score. В Positive cell detection доступно до нескольких порогов интенсивности, позволяющих разделить клетки на отрицательные, слабые, умеренные и сильные. Для бинарной задачи используют один порог. Пороговые уровни следует выбирать по биологически или методически обоснованному правилу, а не подгонять отдельно по каждому слайду до ожидаемого результата.

H-score объединяет доли клеток разных интенсивностных категорий, поэтому он чувствителен и к сегментации, и к положению нескольких порогов. Ошибка в слабой зоне может изменить распределение сразу нескольких классов. Перед использованием такого сводного показателя нужно проверить гистограмму исходного измерения, посмотреть пограничные клетки на изображении и убедиться, что категории воспроизводимы между репрезентативными слайдами.

Проверка воспроизводимости между изображениями

Воспроизводимость нельзя оценить только по тому, что одна и та же команда запускается без ошибок. Нужен набор контрольных показателей: число детекций на единицу площади, распределение размеров ядер, доля классов, интенсивность фона, число исключённых областей и визуальная доля явных ошибок. Резкий скачок одного показателя на отдельном слайде может быть реальной биологией, но сначала следует исключить техническую причину — другой масштаб, плохое разделение красителей, повреждение ткани или ошибочный механизм чтения.

Полезно заранее выбрать несколько контрольных изображений, представляющих границы вариации набора, и прогонять их после изменения классификатора. Если новая настройка улучшила трудный слайд, но ухудшила контрольный, это заметно сразу. Такой небольшой регрессионный набор особенно важен при сценариях и расширениях: алгоритм может измениться после обновления зависимости, а визуально это не всегда очевидно на одном поле.

Для научной отчётности сохраняют не только результат, но и точное имя классификатора, параметры сценария, классы объектов и правила исключения. Тогда повторный анализ спустя время можно сравнить по содержательным этапам, а не только по конечному CSV. Это снижает риск ситуации, когда два файла результатов называются одинаково, но были получены разными настройками.

Итог: когда QuPath особенно полезен

QuPath особенно полезен, когда изображение слишком велико для обычного покадрового редактора, а результат должен оставаться связанным с координатами, объектами и измерениями. Он сочетает быстрый WSI-viewer, аннотации, детекцию клеток, цветовую деконволюцию, пиксельные и объектные классификаторы, TMA, пространственный анализ, таблицы, экспорт и сценарии. При этом каждую автоматическую операцию можно визуально проверить на исходном слайде, что делает программу удобной средой для разработки воспроизводимых исследовательских методов.

Наиболее надёжный результат получается не от максимального числа функций, а от последовательности: корректно прочитать данные, проверить калибровку и каналы, ограничить область анализа, настроить алгоритм на репрезентативных примерах, валидировать его вне обучения, сохранить параметры и только затем масштабировать обработку. QuPath предоставляет инструменты для каждого этапа, а качество итоговой таблицы определяется тем, насколько строго пользователь контролирует переходы между ними.