FiNTA · Filament Network Tracing Algorithm
Измерение волоконных сетей.
FiNTA прослеживает каждое отдельное волокно сети и превращает изображение в числа: длины волокон, ориентации, размеры ячеек, персистентные длины. Откуда взялся снимок, алгоритму безразлично — электронная микроскопия, флуоресценция, конфокальная съёмка, светлое поле, АСМ: достаточно, чтобы волокна были видны. Bitblade Group вместе с командой FiNTA сделала опубликованный алгоритм доступным в виде веб-интерфейса — загрузить изображение, измерить толщину волокна, скачать результат отчётом или сырыми данными.
ПРИМЕРНЫЙ ЗАПУСК
Полный запуск, который можно забрать с собой
Посчитано на снимке клеточного ядра ниже — ровно с теми настройками, на которых основан и тамошний ролик. Семь диаграмм нарисованы по извлечённым данным.
metrics.json и журнал запуска.
ZIP · 40 МБ · 26 файлов — из них 33 МБ анимация
Масштаб задан по масштабной линейке.
ДО / ПОСЛЕ
Одно и то же место, до и после
Слева — снимок, каким он вышел из электронного микроскопа. Потяните за границу.
СНИМОК
ПОСЛЕ 536 ИТЕРАЦИЙ
На снимке — актиновые волокна актинового кортекса над ядром. Диаметр волокна для этого запуска задан в 4 пикселя, порог 1,3 · 536 итераций. Надписи у нижнего края изображения из трассировки исключены.
ПОРЯДОК РАБОТЫ
От снимка к анализу
Загрузить изображение
Любой снимок, на котором различимы отдельные волокна. В оттенках серого или цветной — цветные снимки внутри переводятся в оттенки серого, либо вы целенаправленно трассируете отдельный цветовой канал.
Измерить толщину волокна
Достаточно один раз провести поперёк волокна на снимке. По этому числу можно подобрать хорошие параметры трассировки; попасть в него точно — решающее условие хорошего результата.
Проведя вдоль масштабной линейки, вы вдобавок задаёте масштаб изображения — после этого все результаты выходят в настоящих единицах, а не в пикселях.
Запустить трассировку
Запуск выполняется фоновой задачей на оригинальном скомпилированном двоичном файле FiNTA, а не на переписанной реализации. По желанию он попутно записывает каждую итерацию трассировки отдельным кадром.
Проанализировать и выгрузить
Диаграммы и показатели прямо в браузере, к ним PDF-отчёт и ZIP со всеми артефактами, журналом, использованным файлом настроек и числами в CSV — и то и другое можно скачать здесь.
ВЫБОР КАНАЛА
Один снимок, два ответа
Три пары, каждая — из одного-единственного снимка: слева и справа одно и то же изображение, различается лишь анализируемый цветовой канал. Что именно будет измерено в итоге, решается здесь. Цвет линий, кстати, выбирается свободно и ничего не говорит о канале.
На синем канале лежат ядра. Алгоритм тут же находит их края — чисто и полностью. Это показывает, что FiNTA, хотя и создан для анализа волокон, годится и для другого.
Тот же снимок, красный канал: теперь трассировка идёт по волоконному аппарату всей клетки.
Зелёный канал: актиновые волокна.
Красный: виментиновые волокна.
ТРАССИРОВКА
Посмотреть, как находят волокна
Семь прогонов по снимкам растрового электронного микроскопа, по одному кадру на каждую итерацию трассировки. Красное всегда одно и то же: осевые линии, найденные алгоритмом к этому кадру. Такая же запись возникает для любого собственного прогона, если включена анимация.
Все шесть снимков взяты из работы команды FiNTA. Наложенные на них значения записаны в изображение прибором; значения параметров стоят в файле настроек, с которым считался соответствующий запуск. Все ролики беззвучны и вовсе не содержат звуковой дорожки.
ПРИБОР НЕ ОБЯЗАТЕЛЕН
Это не обязательно микроскоп.
Ни подготовки образца, ни прибора — ночной снимок обычной камерой, и тот же алгоритм проводит те же осевые линии, здесь синим вместо красного. FiNTA требует не определённой техники съёмки, а волокон, которые отделяются от фона.
КОНТРОЛЬНЫЕ ПРОВЕРКИ
Три снимка, которые не являются серией измерений
Они показывают не результат, а метод: что происходит, если подложить ему нечто, ответ для чего известен заранее, — и что происходит, если волокна чёрные на светлом фоне, а не светлые на тёмном.
Простейший пробный камень
Правильная решётка, снятая под углом. Здесь заранее известно, что должно получиться: прямые линии, равные расстояния, прямые углы — и сразу видно, годятся ли выбранные настройки.
Тёмные волокна, светлый фон
Алгоритм ищет светлые гребни. Ветви на фоне неба — противоположный случай, поэтому перед запуском снимок инвертируется. Это настройка, а не особое обращение.
Весь запуск целиком, без сокращений
Больше тысячи итераций на плакучей берёзе, запущенных из двух поставленных вручную точек, а не автоматически. Достаточно долго, чтобы увидеть, как трассировка сначала берёт ствол, затем толстые ветви и в последнюю очередь тонкое плетение по краю кроны.
Цвет линий — это настройка
Здесь тот же алгоритм рисует синим — потому что поверх тёплых искр так виднее. Красный на этой странице лишь самый частый выбор, а не свойство метода.
ИЗМЕРЯЕМЫЕ ВЕЛИЧИНЫ
Данные, которые можно извлечь
Каждое распределение выдаётся диаграммой, таблицей и сырым файлом.
Длины волокон
Распределение по всей сети, при желании — только по тем волокнам, которые ограничивают замкнутые ячейки. Угол пересечения, начиная с которого на разветвлении начинается новое волокно, настраивается. Посмотреть пример.
Ориентации в виде розы направлений
У волокна нет ни головы, ни хвоста, поэтому FiNTA сворачивает каждое соединение в [0°, 180°). На линейной оси 179° и 1° оказались бы на противоположных концах, хотя они почти параллельны. По той же причине на розе нет ни среднего, ни медианы, ни преобладающего направления. Посмотреть пример.
Персистентная длина
Для сети в целом, как в статье, — и вдобавок отдельно по каждому волокну, в зависимости от его длины. В примерном запуске она составляет 524 нм для сети в целом.
Ячейки и разветвления
Площади, периметры и диаметры замкнутых ячеек, а к ним расстояния между точками разветвления. Посмотреть пример.
Карта плотности
Тот единственный вопрос, на который не отвечает никакое среднее: где на снимке сеть вообще находится. С настраиваемым сглаживанием и цветовой шкалой, которая следует за сглаживанием.
Анимация трассировки
По кадру на каждую итерацию трассировки, перекодировано в H.264 и воспроизводится прямо в окне задачи. Полезно, чтобы увидеть, где трассировка обрывается или срезает поворот, — примеры выше и есть такие записи.
ПУБЛИКАЦИЯ
Алгоритм опубликован — и на него можно ссылаться
Алгоритм принадлежит не нам, а перечисленным ниже авторам. По завершении публикации Bitblade Group вместе с командой FiNTA построила этот веб-интерфейс — чтобы исследователи и все прочие заинтересованные могли пользоваться программой простым путём, не собирая её самостоятельно, без командной строки и без собственной вычислительной среды. Счёт идёт, без изменений, по методу из этой работы.
Flormann DAD, Schu M, Terriac E, Thalla D, Kainka L, Koch M, Gad AKB, Lautenschläger F. A novel universal algorithm for filament network tracing and cytoskeleton analysis. FASEB J. 2021 May;35(5):e21582. doi: 10.1096/fj.202100048R. PMID: 33835502.
К публикации (DOI) На PubMed Исходный код на GitHubСсылка в выгрузке
Каждый созданный PDF-отчёт несёт полную ссылку на каждой странице.
КОМАНДА ЗА АЛГОРИТМОМ
Авторы
Разработано в Саарском университете и в INM — Институте новых материалов имени Лейбница, Саарбрюккен, при участии Шеффилда и Фуншала. Сам алгоритм написал и разработал Moritz Schu; вклад остальных указан рядом с их именами и следует заявлению о вкладе в публикации.
Аффилиации приведены так, как указано в публикации. FiNTA распространяется по GNU General Public License v3.0; этот веб-интерфейс ничего в этом не меняет.
ДОСТУП
Начать
Вы заводите учётную запись, загружаете свой снимок и запускаете первый прогон — без установки, без командной строки. Приложение разделено по рабочим пространствам: изображения, прогоны и результаты одного пространства не видны и не адресуемы из другого.
Создать учётную запись Задать вопрос
Что происходит при регистрации. Вы указываете имя и адрес электронной почты, подтверждаете адрес по присланной ссылке — и получаете рабочее пространство, которое видите только вы. Тем, кто работает над одними данными вдвоём и больше, добавляется общее пространство: это решает принадлежность к группе в службе входа, а не что-либо, что можно набрать в браузере. Какие данные при этом возникают, сказано в политике конфиденциальности.
СНИМОК
ОСЕВЫЕ ЛИНИИ
ПЛОТНОСТЬ