Перейти к содержимому
Новость

Human Atlas разбирает тело на 2234 части прямо в браузере

Human Atlas дает отдельно выбрать 2234 анатомические структуры, разнести их в пространстве и найти нужную часть тела через поиск. Но сами анатомические данные не новые: проект строится на BodyParts3D 4.0, а основная работа разработчика здесь связана с тем, как превратить этот массив моделей в удобный браузерный атлас.

BadMadSam
Human Atlas разбирает тело на 2234 части прямо в браузере

Автор: ashemag

В репозитории Human Atlas на GitHub опубликован исходный код интерактивного анатомического атласа на React и Three.js. Его можно открыть в браузере, вращать трехмерную модель человека, скрывать отдельные системы, выбирать конкретные структуры и переходить от собранного тела к разнесенным в пространстве элементам.
Цифра 2234 относится именно к отдельным исходным 3D-мешам. Поиск охватывает 3432 именованных анатомических понятия, причем одно понятие может объединять несколько мешей. Структуры распределены по 15 системам. Поэтому 3432 результата в поиске не означают, что в модели столько же независимых трехмерных деталей.
Интереснее другое: Human Atlas не создает новую анатомическую базу. В основе лежит BodyParts3D 4.0, разработанная Database Center for Life Science. Это референсная модель взрослого мужчины, а не универсальная цифровая копия человеческого тела со всеми возможными анатомическими вариантами. Разработчик прямо ограничивает назначение проекта обучением и не предлагает использовать его для диагностики или хирургического планирования.
Основная техническая работа пришлась на подготовку BodyParts3D к работе в браузере. Геометрия упрощена с относительным пределом ошибки 0,2% для каждой структуры, после обработки в модели осталось около 2,29 млн треугольников. Сжатая геометрия занимает примерно 33 МБ. При этом все 2234 исходных меша сохранены в составе атласа.
Чтобы браузеру не приходилось обслуживать несколько тысяч отдельных объектов отрисовки, геометрия объединена в пакеты. Видимость, выделение и смещение отдельных структур управляются через текстуры на GPU, а отдельные компоненты геометрии используются для точного выбора мышью или касанием. Именно эта часть отличает Human Atlas от простой публикации готового набора OBJ-файлов.
Можно изолировать выбранную структуру, искать ее по названию или исходному идентификатору, включать отдельные системы, а также постепенно увеличивать расстояние между деталями. Предусмотрен интерфейс для смартфонов. Разработчик проверял несколько мобильных размеров окна браузера, но отдельно предупреждает, что производительность на физических мобильных устройствах и работа настоящего мультитача пока не тестировались.
Проект не требует учетной записи или API-ключей и может работать как статический сайт. Исходный код приложения выпущен по лицензии MIT, анатомические данные BodyParts3D используются по CC BY 4.0.
Human Atlas интересен поэтому не количеством анатомических деталей самим по себе. BodyParts3D существует много лет. Здесь старую научную базу сделали гораздо удобнее для обычного браузера: 2234 отдельных меша можно разбирать, искать и изучать без специализированной программы и предварительной загрузки исходного набора моделей.

Источник: GitHub