Cellpose GUI

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

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

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

Скачать Cellpose GUI

Оценка 9.7Рекомендуем
  • Ретушь фото
  • Русский интерфейс
  • Просто для новичков
Скачать бесплатно на Windows
Лучшая альтернатива
Cellpose GUI
Оценка 8.5
  • Нет пакетного запуска в GUI
  • Окно занято при сегментации
  • Для 3D желательно GPU
Скачать Cellpose GUI
Загрузка начнётся после нажатия

Как устроена работа с изображением и масками

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

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

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

Окно Cellpose GUI с панелями просмотра, рисования и сегментации

Выбор ROI, удаление и объединение

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

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

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

Автоматическая сегментация: что делает модель

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

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

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

Пример большого числа цветных ROI в Cellpose GUI

Как интерпретировать карты потоков и вероятности

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

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

Просмотр карты потоков в Cellpose GUI

Просмотр карты вероятности клетки в Cellpose GUI

Просмотр яркости и цветовых каналов

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

Для входных данных Cellpose поддерживает распространённые растровые форматы, включая TIFF, PNG и JPEG. Для научных данных TIFF обычно предпочтительнее, потому что способен хранить многоканальные и многоплоскостные массивы без характерных для JPEG потерь. JPEG можно использовать для обычных двумерных изображений, но компрессия способна создавать блоковые и контурные артефакты, которые особенно нежелательны рядом с мелкими объектами. Если исходник уже есть в TIFF, переводить его в JPEG ради открытия в GUI не нужно.

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

Сегментация флуоресцентного изображения в Cellpose GUI

Другой результат сегментации того же типа данных в Cellpose GUI

Ручное рисование новых масок

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

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

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

Ручное проведение контура объекта в Cellpose GUI

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

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

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

Сохранение проекта и экспорт масок

Основной служебный результат GUI — файл с суффиксом _seg.npy рядом с исходным изображением. В нём хранится не только числовая карта масок, но и сведения, нужные для повторного открытия проекта: имя исходного файла, контуры, выбранные каналы в тех режимах, где они применимы, отметки о ручных ROI, потоки и данные о рисовании по Z. Это делает _seg.npy подходящим форматом для продолжения работы в интерфейсе, тогда как обычный PNG с масками удобнее для передачи конечной разметки в другие программы.

После ручного рисования в двумерном режиме состояние может сохраняться автоматически, однако после запуска модели и при работе с трёхмерным рисованием на автосохранение полагаться нельзя. Сочетание сохранения через меню или Ctrl+S явно записывает _seg.npy. Важное условие — право записи в папку исходного изображения. Если файл открыт из каталога только для чтения, сетевой папки с ограниченными разрешениями или защищённого системного места, визуально выполненная работа может не сохраниться там, где пользователь ожидает.

Отдельная команда экспортирует маски в PNG. Такой файл представляет собой индексированную карту: фон имеет значение ноль, а объекты — последовательные положительные номера. Для обмена с ImageJ предусмотрен экспорт ROI в собственный формат этого приложения. Карты потоков также можно сохранить отдельной командой. Выбор формата зависит от следующего шага: для повторного редактирования в Cellpose удобнее _seg.npy, для анализа маркированных объектов — карта масок, для ручной проверки в ImageJ — набор ROI.

ЗадачаПредпочтительный результатЧто проверить
Продолжить правку в GUI_seg.npyФайл лежит рядом с нужным исходником и снова открывается
Передать числовые маскиPNG с меткамиФон равен нулю, объекты имеют разные положительные номера
Работать с ROI в ImageJАрхив ROIКонтуры соответствуют маскам после экспорта
Диагностировать предсказаниеСохранённые потокиФайлы относятся к тому же запуску модели

Горячие клавиши и навигация без лишних щелчков

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

ДействиеСочетаниеПрактический смысл
Открыть справкуCtrl+HБыстро проверить доступные команды
Увеличить или уменьшить+ / −Проверять границу без изменения исходника
Сбросить масштабSpaceВернуться к общему виду
Отменить действиеCtrl+ZИсправить случайную правку
Удалить все маскиCtrl+0Начать разметку кадра заново
Загрузить изображениеCtrl+LОткрыть следующий выбранный файл
Сохранить _seg.npyCtrl+SЯвно зафиксировать текущее состояние
Открыть окно обученияCtrl+TПерейти к пользовательской модели
Загрузить _seg.npyCtrl+PПродолжить сохранённую разметку
Загрузить файл масокCtrl+MИмпортировать карту меток того же размера
Сохранить маски PNGCtrl+NПолучить числовую карту объектов
Сохранить ImageJ ROICtrl+RПередать области в ImageJ
Сохранить потокиCtrl+FЗаписать диагностические карты
Следующий или предыдущий файлA / DПеремещаться по изображениям папки
Переключить маскиXСравнить исходник с заливкой ROI
Переключить контурыZПроверить границы без заливки

Команды A и D переключают изображения в текущем каталоге. Это удобно для серии одинаково подготовленных файлов, но не превращает GUI в пакетный процессор: модель всё равно запускается и проверяется в контексте конкретного изображения. Если требуется автоматически обработать сотни файлов без участия человека, такой сценарий лучше строить через командную строку или Python API Cellpose, а GUI оставить для выбора модели, проверки качества и ручной корректировки трудных примеров.

Модели в Cellpose GUI

В интерфейсе доступны встроенные предобученные модели и список пользовательских моделей. Название в раскрывающемся списке определяет нейросеть, которая будет запущена на текущем изображении. Среди встроенных вариантов встречаются семейства CPSAM и DINO. Они отличаются архитектурой и вычислительными характеристиками, поэтому одинаковый кадр может сегментироваться по-разному. Правильный выбор определяется не популярностью названия, а качеством масок на репрезентативных изображениях конкретного эксперимента.

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

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

Пользовательская модель и цикл human-in-the-loop

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

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

Обучение из GUI предназначено для старта от поддерживаемой встроенной модели, а не для произвольной реконфигурации архитектуры. Интерфейс показывает основные параметры учебного процесса и список файлов с количеством масок. Перед подтверждением полезно проверить, что в окно попали именно нужные изображения и что число ROI правдоподобно. Неожиданно нулевой или крайне малый счётчик часто указывает, что рядом нет корректного _seg.npy или маски не были сохранены после правки.

Диалог параметров обучения пользовательской модели Cellpose GUI

Настройка параметров обучения в окне Cellpose GUI

Подготовка учебной папки

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

Имена файлов должны позволять однозначно сопоставить изображение и его разметку. Автоматическая схема с суффиксом _seg.npy этому помогает: GUI создаёт имя на основе исходника. Ручное переименование только одного из двух файлов может нарушить связь. Если набор переносится на другой компьютер, лучше копировать пару изображение + _seg.npy целиком, сохраняя базовые имена. Затем каждую пару стоит открыть выборочно и убедиться, что маски накладываются на правильный кадр.

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

Двумерный рабочий сценарий от открытия до готовой маски

  1. Откройте репрезентативный TIFF, PNG или JPEG и сначала проверьте, что изображение отображается с ожидаемой ориентацией и каналами.
  2. Настройте видимость и контраст только настолько, чтобы уверенно видеть границы; не принимайте визуальную яркость экрана за изменение исходных данных.
  3. Выберите подходящую встроенную или пользовательскую модель и запустите сегментацию.
  4. Оцените общий охват: есть ли крупные пропуски, ложные области на фоне, систематическое слияние соседей или дробление одного объекта.
  5. Приблизьте несколько сложных участков и поочерёдно сравните исходное изображение, маски, контуры, потоки и карту вероятности.
  6. Удалите ложные ROI, объедините очевидно разделённые части и дорисуйте пропущенные объекты.
  7. Явно сохраните _seg.npy, затем при необходимости экспортируйте PNG с масками или ROI для следующего этапа анализа.
  8. Повторно откройте один сохранённый результат и убедитесь, что маски восстановились в правильном положении.

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

Сегментированные объекты в интерфейсе Cellpose GUI

Трёхмерные стеки и режим Z

Для трёхмерных данных Cellpose GUI запускается в режиме Z-stack. Ожидаемый TIFF должен иметь ось плоскостей Z и пространственные размеры Y и X; при многоканальном стеке между ними присутствует ось каналов. Типичные формы — Z × Y × X для одного канала или Z × channels × Y × X для нескольких. Если массив записан с другой последовательностью осей, простое перетаскивание может дать неправильную интерпретацию или ошибку, поэтому структуру TIFF лучше проверить до начала сегментации.

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

Автоматическая 3D-сегментация использует потоки в нескольких ортогональных направлениях и затем формирует объёмные маски. Это вычислительно заметно тяжелее двумерного кадра. Для больших стеков желательно доступное GPU-ускорение и достаточный объём памяти; при нехватке памяти разумнее уменьшить объём задачи или обрабатывать осмысленные части данных, чем многократно запускать один и тот же массив до аварийного завершения. Сначала стоит проверить метод на небольшом репрезентативном стеке.

Ручная разметка по Z

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

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

Ручные изменения в 3D требуют явного сохранения. Это принципиально для долгих сессий, где один объект может размечаться на нескольких плоскостях. После завершения сложной ROI разумно сразу записать _seg.npy, затем перейти к следующему объекту. Такой ритм немного замедляет работу, зато снижает риск потерять десятки минут ручной трассировки из-за закрытия окна, ошибки данных или нехватки памяти.

Интерфейс Cellpose GUI при работе с масками

Параметры stitch threshold, flow3D smooth и anisotropy

Stitch threshold применяется, когда нужно связать двумерные ROI между соседними срезами по их перекрытию. Порог определяет, насколько похожими по IoU должны быть области, чтобы считаться продолжением одного объекта. Слишком низкое значение способно ошибочно связывать близких соседей, слишком высокое — разрывать один объект на отдельные фрагменты по Z. Этот режим концептуально отличается от полноценного вычисления 3D-потоков, поэтому параметры нельзя переносить между двумя подходами без проверки результата.

Flow3D smooth сглаживает трёхмерные потоки. Нулевое значение означает отсутствие такого сглаживания; увеличение может помочь на объёмах, где маски получаются фрагментированными или кольцеобразными из-за нестабильности между срезами. Сглаживание не является универсальной кнопкой улучшить 3D: чрезмерное значение способно стереть локальные особенности формы. Менять его стоит только после того, как проблема повторилась на нескольких объектах и видна именно в поведении объёмных потоков.

Anisotropy особенно важна, когда шаг по Z значительно больше размера пикселя XY. Если физические воксели не кубические, модель должна знать относительный масштаб осей, иначе объект будет восприниматься геометрически искажённым. Правильное значение — это отношение размера пикселя по Z к размеру по XY. Например, если шаг между плоскостями крупнее, отношение больше единицы. Конкретное число берут из параметров микроскопии, а не из визуального впечатления от вытянутой клетки.

Производительность, CPU, GPU и память

Флажок использования GPU имеет смысл только если вычислительный стек действительно видит поддерживаемое устройство. На системах с NVIDIA ускорение обычно связано с корректной установкой CUDA-совместимого PyTorch; на поддерживаемых компьютерах Apple может использоваться MPS. Сам факт наличия дискретной видеокарты не гарантирует, что Cellpose получит к ней доступ. Если запуск на GPU завершается ошибкой, сначала следует проверить, видит ли устройство сам PyTorch, а затем уже параметры GUI.

Для типичной установки документация рекомендует иметь не менее 8 ГБ оперативной памяти, а крупные изображения и 3D-задачи могут потребовать 16–32 ГБ и больше в зависимости от размеров массива. Важен именно размер распакованных данных и промежуточных тензоров, а не только размер TIFF на диске: сильно сжатый файл способен занимать в памяти в разы больше. При нехватке памяти симптомы могут выглядеть как зависание, аварийное закрытие или ошибка выделения тензора.

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

Что означают типичные ошибки результата

СимптомВероятная причинаЧто проверить первым
Много пропущенных клетокВходной сигнал или модель плохо соответствуют даннымКонтраст исходника, масштаб объектов, другую встроенную модель
Две клетки слиты в одну ROIГраница между ними недостаточно выражена для предсказанияПотоки и исходный сигнал в зоне контакта; при единичном случае исправить вручную
Одна клетка раздробленаПотоки или интенсивность неоднородны внутри объектаКарту потоков, качество изображения, устойчивость ошибки на других кадрах
Маски появляются на фонеФон содержит структуру, похожую на объектыКарту вероятности, артефакты и загрязнения, соответствие модели
Маска заметно шире клеткиГраница сигнала неоднозначна или учебные примеры задали иной крайСопоставить контур с исходником и единообразно исправлять эталонные маски
В PNG масок виден градиентПрограмма просмотра показывает номера меток как яркостиИнтерпретировать значения как ID объектов, а не как интенсивность

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

Практические сценарии и диагностика

Модель пропускает слабые клетки

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

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

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

Одна клетка разделена на две ROI

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

После сегментации окно не отвечает

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

Маски не сохраняются рядом с изображением

Проверьте права записи в каталог исходника и выполните явное сохранение через Ctrl+S. Наличие масок на экране ещё не доказывает, что _seg.npy записан. Каталоги только для чтения, защищённые системные места и некоторые сетевые ресурсы могут не позволить создать новый файл. Для проверки перенесите копию изображения в обычную пользовательскую папку, выполните одну правку и сохраните. Если _seg.npy появился и повторно открывается, проблема была в доступе к исходному каталогу, а не в геометрии масок.

Импортированная карта масок смещена

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

В экспортированном PNG странные серые уровни

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

На 3D-стеке программа неверно видит оси

Проверьте фактическую форму TIFF. Для одного канала ожидается последовательность Z, Y, X, для многоканального стека — Z, channels, Y, X. Экспорт из микроскопического ПО иногда записывает каналы и Z в другом порядке. GUI не может надёжно угадать смысл каждой размерности по одному числу. Исправьте порядок осей на этапе подготовки данных и сохраните новый TIFF, после чего откройте его заново. Не продолжайте ручную разметку на неверно интерпретированном массиве, потому что сохранённые ROI будут привязаны к неправильной геометрии.

3D-маски распадаются между срезами

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

Stitch соединяет разных соседей

Порог сшивки определяет требуемое перекрытие ROI между последовательными срезами. Слишком мягкое условие повышает риск связать разные клетки, особенно в плотном объёме. Увеличивайте требование и проверяйте конкретные места ошибочного перехода по Z. Если объекты сильно меняют положение или форму между срезами, сшивка 2D-масок может быть принципиально менее надёжна, чем полноценная 3D-сегментация. Выбирайте подход по структуре данных, а не пытайтесь компенсировать все случаи одним порогом.

GPU отмечен, но ускорения нет

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

Первый запуск модели долго ждёт сеть

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

Нужно размечать сотни файлов подряд

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

Нужно исправить десятки ложных ROI

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

Ручная маска пересекает соседнюю

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

На краю изображения объект обрезан

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

Контраст сильно меняется от кадра к кадру

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

Модель создаёт мелкие точки как объекты

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

Объекты слишком крупные для удобной работы

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

После обучения новая модель хуже

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

Учебный диалог показывает не те файлы

Закройте окно обучения, очистите текущую папку от лишних изображений и старых _seg.npy, затем откройте диалог снова. Интерфейс формирует список из файлов текущего каталога, поэтому организация папки напрямую влияет на состав. Убедитесь, что возле каждого изображения есть окончательная разметка и что имя _seg.npy соответствует исходнику. Не храните в той же папке разные эксперименты только потому, что они имеют одинаковый формат TIFF: визуальная похожесть не гарантирует одинаковое определение целевого объекта.

Нужно передать разметку коллеге

Сначала решите, должен ли коллега продолжать правку или только анализировать готовые объекты. Для продолжения работы передайте исходное изображение вместе с соответствующим _seg.npy. Для статистического анализа часто достаточно PNG с индексированными масками, а для ImageJ удобен экспорт ROI. После копирования откройте один пример на стороне получателя и проверьте совпадение геометрии. Это быстрее, чем обнаруживать позже, что маски были отделены от исходников или автоматически переименованы системой хранения.

Нужно сравнить две модели честно

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

Ортогональный вид показывает вытянутые клетки

Проверьте z-aspect отображения и anisotropy вычисления. Эти параметры связаны с разным физическим шагом по осям, но выполняют разные роли: один помогает корректно видеть геометрию в окне, другой учитывается алгоритмом 3D-сегментации. Неверный визуальный масштаб может создавать впечатление вытянутости даже при правильных данных, а неверная anisotropy способна повлиять на расчёт. Возьмите физические размеры пикселя и шага Z из метаданных микроскопии и используйте их последовательно.

При ручной 3D-разметке интерполяция ошибается

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

Файл модели есть, но не появляется в списке

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

Нужно оценить качество без ручной метрики

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

Нужно восстановить работу после перерыва

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

Сегментация хороша в центре, плоха по краям

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

После импорта масок часть меток исчезла

Убедитесь, что карта содержит целые положительные идентификаторы и фон ноль, а не изображение, в котором цвета масок были сохранены как обычный RGB. Цветной скриншот интерфейса не является картой меток и не подходит для Ctrl+M. Также проверьте разрядность и то, не были ли большие номера объектов обрезаны внешней программой при конвертации. Экспортируйте маски непосредственно из Cellpose и сравните значения, прежде чем применять стороннюю обработку к рабочему набору.

Нужно понять, почему конкретная ROI появилась

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

Нужно закончить сессию без потери правок

Перед закрытием выполните явное сохранение _seg.npy и убедитесь, что файл появился или обновился в каталоге исходника. Если требуется передача результата, сразу создайте нужный экспорт, но не удаляйте _seg.npy до контрольного открытия. Для длинной сессии полезно выборочно перезагрузить один файл и проверить восстановление масок. В 3D это особенно важно, потому что ручные изменения по Z не следует считать автоматически сохранёнными. Только после проверки можно закрывать окно или перемещать данные.

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

ПрограммаЛучше подходит дляГлавное ограничение
Cellpose GUIИнтерактивной сегментации клеток и других объектов с ручной правкой ROI и дообучением CellposeПакетная автоматизация выполняется вне GUI
ilastikИнтерактивной пиксельной классификации и сегментации с обучением на пользовательских меткахРабочий процесс и тип обучения отличаются от объектных масок Cellpose
QuPathЦифровой патологии, аннотаций на больших слайдах и количественного анализа тканейОриентирован прежде всего на whole-slide и патологические рабочие процессы
Fiji/ImageJ + StarDistСегментации ядер и звездо-выпуклых объектов внутри экосистемы ImageJМодель StarDist лучше всего соответствует объектам, описываемым звездо-выпуклой формой
CellProfilerВоспроизводимым конвейерам массового анализа и измерения клеточных изображенийРучная интерактивная коррекция отдельных ROI не является центральным сценарием

Cellpose GUI выгоднее выбирать, когда ключевая задача — получить объектные маски на биомедицинском изображении, быстро проверить их глазами, исправить конкретные ROI и использовать исправления для собственной модели. ilastik удобнее, если метод строится вокруг интерактивной классификации пикселей; QuPath сильнее в больших гистологических слайдах и аннотациях; связка Fiji со StarDist хорошо вписывается в ImageJ-процессы для подходящей формы ядер; CellProfiler предпочтительнее для масштабных воспроизводимых измерительных конвейеров. Выбор определяется не количеством функций, а тем, где должна происходить ручная проверка и какой тип результата нужен дальше.

Совместимость файлов и организация проекта

Для обычных двумерных задач проще всего поддерживать один исходный файл и набор автоматически создаваемых результатов с тем же базовым именем. Это облегчает повторное открытие и предотвращает случайное наложение чужой сегментации. Если данные копируются между Windows, macOS и Linux, лучше избегать зависимых от конкретной системы абсолютных путей в собственной внешней автоматизации и хранить изображение с _seg.npy рядом. Сам формат NumPy переносим, но последующая программа должна понимать структуру Cellpose, а не только факт расширения .npy.

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

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

Результат работы модели в Cellpose GUI на микроскопическом изображении

Работа пользовательской модели в Cellpose GUI

Ограничения, которые важно учитывать заранее

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

Во время сегментации окно может быть занято вычислением и временно не отвечать на действия пользователя. Поэтому не стоит планировать ручную разметку в том же окне одновременно с тяжёлым расчётом. На больших данных производительность зависит от CPU/GPU, памяти, размера изображения и выбранной модели. Для 3D влияние ресурсов выше, а неправильно подготовленная геометрия стека способна дать неверный результат независимо от скорости оборудования.

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

Пример интерфейса Cellpose GUI с сегментированными объектами

Контроль качества перед использованием масок в анализе

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

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

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

Короткий контрольный список

  • Исходное изображение открывается с правильной ориентацией, числом каналов и, для 3D, порядком осей.
  • Выбранная модель проверена минимум на нескольких репрезентативных кадрах, а не на одном удобном примере.
  • Масштаб объектов разумен, и зум окна не используется как замена реальному ресайзу входа.
  • После сегментации просмотрены не только маски, но и спорные зоны по контурам, потокам или вероятности.
  • Ложные ROI удалены, пропуски дорисованы, ошибочно разделённые части объединены только после проверки исходника.
  • Правила ручной разметки одинаковы для всего учебного набора.
  • После крупного этапа выполнено явное сохранение _seg.npy в доступный для записи каталог.
  • Для передачи выбран формат, подходящий следующей программе: проект Cellpose, карта меток или ImageJ ROI.
  • Экспорт повторно открыт хотя бы на одном примере, чтобы исключить ошибку имени, геометрии или каталога.
  • Для 3D проверены промежуточные Z-плоскости и ортогональные виды, а физическая anisotropy взята из параметров съёмки.

Разбор элементов интерфейса

В окне панель Views объединяет выбор визуального слоя и управление отображением каналов. Ниже расположен блок Drawing, где задаётся размер кисти, включаются маски и контуры, выбирается режим одиночного штриха и открываются средства множественного удаления ROI. Ещё ниже находится Segmentation с выбором вычислительного устройства, запуском встроенной модели, индикатором числа найденных ROI и дополнительными параметрами. Такая вертикальная структура соответствует естественному порядку проверки: сначала увидеть данные, затем редактировать маски, затем менять условия автоматического расчёта.

В дополнительных настройках 3D видны stitch threshold, flow3D smooth, anisotropy и минимальный размер. Эти параметры не следует менять все одновременно: если результат улучшился, иначе невозможно понять причину. Лучше сохранить исходные настройки, выбрать один повторяющийся дефект, изменить только связанный с ним параметр и снова проверить тот же небольшой объём. После выбора рабочего значения тест повторяют на другом изображении, чтобы не подогнать настройки под один удачный пример.

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

Аннотированное окно Cellpose GUI с основными элементами управления

Когда Cellpose GUI особенно полезен

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

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

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

Итоговый рабочий подход

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

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

Подробный справочник по проверке результата

Исходное изображение

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

Контуры

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

Число ROI

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

Потоки

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

Вероятность

Карта вероятности показывает, где модель видит клеткоподобный сигнал. Сравнивайте её с пропущенными и ложными ROI. Она помогает понять причину решения, но сама не является конечной объектной разметкой.

Масштаб просмотра

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

Ручной штрих

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

Перекрытия

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

Удаление

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

Объединение

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

_seg.npy

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

PNG масок

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

ImageJ ROI

Экспорт ROI полезен, если следующая стадия идёт в ImageJ. После переноса откройте архив на одном исходном изображении и проверьте несколько контуров. Это подтверждает не только сам файл, но и правильность связки с изображением.

Папка моделей

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

GPU

Проверяйте фактическое устройство вычислений, а не только состояние флажка. Ускорение зависит от поддерживаемого backend, драйверов, PyTorch и объёма задачи. На маленьком изображении различие времени может быть незаметно.

Память

Оценивайте распакованный массив, особенно для 3D и нескольких каналов. Файл на диске может быть компактным из-за сжатия, но в памяти занимать значительно больше. Первое тестирование делайте на небольшом репрезентативном объёме.

Z-stack

Перед разметкой подтвердите порядок Z, каналов, Y и X. Ошибка осей делает и автоматические, и ручные результаты бессмысленными. Если структура выглядит неожиданно, исправьте TIFF до начала долгой сессии.

Anisotropy

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

Stitch

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

Flow3D smooth

Сглаживание используют для конкретной проблемы нестабильных 3D-потоков. Изменяйте его постепенно и сравнивайте с нулевым исходным значением на том же стеке. Сильное сглаживание не гарантирует более правдоподобную геометрию.

Обучение

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

Проверочный набор

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

Сравнение моделей

Запускайте варианты на одинаковых входах и фиксируйте одинаковые категории ошибок. Число ROI — полезный, но недостаточный показатель. Отдельно учитывайте слияния, расщепления, пропуски, ложные области и серьёзные ошибки границы.

Перед закрытием

Выполните явное сохранение, проверьте наличие результата на диске и при важной работе повторно откройте один проект. В 3D это обязательная привычка. Экспорт в другой формат не отменяет необходимости сохранить редактируемое состояние, если к нему планируется возвращаться.

Матрица решений перед повторным запуском

Качество входа

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

Соответствие модели

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

Единичная ошибка

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

Систематическая ошибка

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

Формат данных

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

Ресурсы

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

Сохранение

Если результат важен, убедитесь в появлении _seg.npy после Ctrl+S. Видимые маски в окне не заменяют проверку файла на диске.

Экспорт

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

Частые вопросы по рабочему процессу Cellpose GUI

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

Да. Если карта меток имеет те же пространственные размеры, что и исходное изображение, её можно загрузить и проверить поверх кадра. Для продолжения именно Cellpose-разметки удобнее _seg.npy, потому что в нём сохраняется больше сведений о проекте. При импорте внешней маски убедитесь, что фон равен нулю, а отдельные объекты представлены разными положительными целыми значениями. RGB-картинка с нарисованными цветами не заменяет label image: цвета на экране — визуализация, а не идентификаторы ROI.

Зачем переключать маски и контуры отдельно?

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

Почему одинаковые клетки окрашены разными цветами?

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

Стоит ли рисовать все пропуски вручную до смены модели?

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

Когда объединение ROI безопаснее перерисовки?

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

Можно ли считать число ROI готовым подсчётом клеток?

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

Что делать, если маски хороши только на одном типе кадра?

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

Как понять, что пользовательская модель действительно полезнее?

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

Нужно ли сохранять после каждого штриха?

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

Почему полезно хранить исходник неизменным?

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

Как проверять модель на очень большом поле?

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

Что значит минимальный размер объекта?

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

Можно ли исправить плохое изображение настройкой насыщенности?

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

Зачем сохранять потоки отдельно?

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

Как работать с изображениями, где клетки касаются края?

Сначала определите правило включения до анализа всего набора. Для подсчёта присутствия краевые объекты иногда оставляют, а для измерения полной площади или формы часто исключают. Cellpose GUI позволяет удалить такую ROI вручную, но не решает методологический вопрос за исследователя. Самое важное — применять одно правило ко всем изображениям и не менять его после просмотра результата, иначе сравнение групп получает систематическое смещение.

Что делать при расхождении между XY и ортогональным видом?

Проверьте физический масштаб осей и корректность порядка Z. Хорошая маска в одной плоскости ещё не гарантирует правдоподобный объём. В ортогональном виде сразу заметны ступени, разрывы и неожиданное вытяжение по глубине. Если отображение искажено, настройте z-aspect для визуальной проверки; если проблема относится к вычислению, проверьте anisotropy. Не смешивайте эти две настройки: одна влияет на восприятие, другая — на геометрию алгоритма.

Когда использовать ручную 3D-интерполяцию?

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

Почему нельзя оценивать 3D только по центральному срезу?

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

Как отличить ошибку модели от нехватки памяти?

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

Нужно ли включать GPU всегда?

Если поддерживаемый ускоритель доступен и корректно настроен, он обычно полезен для тяжёлых вычислений, особенно 3D. Но результат сегментации следует оценивать отдельно от скорости. При проблемах с backend можно временно проверить тот же небольшой пример на CPU и убедиться, что модель и данные в принципе работают. Это диагностический шаг, а не рекомендация постоянно отказываться от ускорения. Для большого объёма успешная GPU-конфигурация существенно практичнее.

Что проверять перед переносом учебной папки?

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

Как документировать ручные исправления?

Минимально полезно фиксировать критерий: что считается объектом, как обрабатываются касающиеся клетки, края кадра, слабые отростки и артефакты. Если работает несколько операторов, добавьте несколько эталонных примеров правильно/неправильно во внутреннюю методику. Сам GUI сохраняет геометрию и признак ручной маски, но не объясняет научное правило. Без такого описания две команды могут одинаково пользоваться программой и получать несовместимые обучающие наборы.

Когда лучше не дообучать модель?

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

Можно ли использовать скриншот масок как результат?

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

Как понять, что пора переходить от GUI к автоматизации?

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