Ниже приведено описание моего предыдущего профессионального опыта:
Апрель 2022 - Ноябрь 2023: Исследователь-постдок в вычислительной биологии, Университет Монпелье, Монпелье, Франция
- Цели:
- лучше понять как единственная клетка (оплодотворённое яйцо) развивается в сложный биологический организм
- смоделировать морфологию эмбриона, включая его форму, при использовании информации о предыдущих этапах его развития
- Результаты:
- форма клеток эмбриона представлена в качестве параметров сферической взвешенной диаграммы Вороного; перенесён из MATLAB на Python оптимизационный модуль, вычисляющий параметры диаграммы Вороного по сделанным изображениям и необходимый для свободного выполнения вычислений на суперкомпьютере Jean Zay
- добавлена обработка формы клеток во время деления, улучшено определение начальных параметров оптимизации для более точного построения сферической взвешенной диаграммы Вороного
- разработана система для хранения в базе данных Neo4j вычисленных параметров диаграмм, а также биологических маркеров клеток
- эволюция параметров диаграмм Вороного, описывающих процесс развития для разных эмбрионов, представлена в виде многомерных траекторий в пространстве
- при помощи программы Transtab создана нейронная сеть для предсказания динамики форм клеток и вероятности их деления на основе предыдущей истории развития и построенных траекторий, она смогла предсказать вероятность деления клеток с точностью около 82%
- навыки:
- Вычислительная биология, Морфология, Численные методы, Диаграммы Вороного, Обработка изображений, Машинное обучение, Базы данных на графах
- технологии:
- Python, NumPy, SciPy, Scikit-image, Matplotlib, Miniconda, Pandas, TensorFlow, Transtab, PyCharm, MATLAB, Neo4j, Cypher, Ubuntu Linux, Bash, Git
Май 2017 - Сентябрь 2021: Аспирант (докторант), Инженер-исследователь, Инрия, Страсбургский университет, Страсбург, Франция
- Цели:
- оценить граничные условия вокруг печени для улучшения аккуратности её моделирования в дополненной реальности, создаваемой для хирургии
- реалистично смоделировать деформацию печени, а также влияние окружающих её органов и тканей в реальном времени
- Результаты:
- выбран метод гиперупругих конечных элементов для моделирования деформаций печени, создана система кубических пружин для граничных условий
- создан компонент, описывающий пружинки с полиномиальной зависимостью между напряжением и деформацией, который был интегрирован в программное обеспечение SOFA
- принято участие в разработке программного модуля на C++, позволяющего оценивать различные параметры модели, используя нелинейные фильтры Калмана
- разработан метод ансцентного фильтра Калмана с уменьшенным порядком как наилучший подход при компромиссе между вычислениями в режиме реального времени и точностью моделирования
- сегментированы и извлечены маркеры из последовательности RGB-D-изображений с целью получения наблюдений, необходимых для процесса оценки фильтром Калмана
- проведена оптимизация с использованием предобуславливания для улучшения производительности корректировочного процесса (время вычисления уменьшилось на 26%)
- реализован подход на основе деформируемой регистрации формы печени (метод диффеоморфного метрического отображения больших деформаций) для получения статистики о местах крепления связок к печени
- проведены эксперименты с целью подтверждения повышения точности моделирования при скорректированных граничных условиях на базе синтетических данных (ошибка уменьшилась на 66%) и реальных (ошибка уменьшилась на 23%)
- навыки:
- Дополненная реальность, Численное моделирование, Метод конечных элементов, Модель массы-пружинки, Фильтры Калмана, Диффеоморфное метрическое отображение
- технологии:
- C++, STL, Eigen, OpenCV, PCL, SOFA, FEBio, Qt, CMake, QtCreator, Python, NumPy, Matplotlib, Deformetrica, Ubuntu Linux, Bash, Git
Май 2014 – Ноябрь 2016: Инженер-программист, Научно-производственный филиал “Энергия ОАО “Завод Энергия”, Санкт-Петербург, Россия
- Цели:
- разработать программное обеспечение для обнаружения различных сигналов в заданном частотном диапазоне, создать базу данных для хранения обнаруженных объектов, собрать статистику об основных параметрах сигналов, используя специализированные утилиты
- Результаты:
- реализован модуль, обнаруживающий шумоподобные сигналы и собирающий базовую информацию о них
- перенесён из MATLAB на C++ программный модуль, определяющий сигналы с псевдослучайной перестройкой рабочей частоты и анализирующий их базовые параметры
- создана компонента, записывающая информацию о найденных сигналах и их параметрах в базу данных на платформе PostgreSQL
- разработан пользовательский интерфейс для отображения развёртки спектра и выделения обнаруженных сигналов
- навыки:
- Цифровая обработка сигналов, Анализ Фурье, БПФ
- технологии:
- C++, Intel IPP, STL, Boost, Qt, CMake, Visual Studio, SQL, PostgreSQL, MATLAB, MS Windows, Git
Август 2010 – Февраль 2014: Инженер-программист, ООО “Биомоделирование”, Санкт-Петербург, Россия
- Цели:
- разработать клиент-серверное программное обеспечение для моделирования формы тела пациента и результатов хирургии с использованием имплантата и экспандера
- реалистично смоделировать биомеханические свойства кожи, жира, мышц, костей и имплантатов
- Результаты:
- создано программное обеспечение, моделирующее помещение имплантата под мягкие ткани, оценены его точность и время вычисления
- реализован графический пользовательский интерфейс, позволяющий выбирать имплантат из каталога и задавать параметры его помещения под ткани
- разработана оригинальная многослойная, нелинейная и анизотропная модель масс-пружинок для описания деформации мягких тканей, которая была реализована в виде программного модуля на C++
- на базе графической библиотеки OpenGL создан модуль для визуализации поведения модели массы-пружинки
- произведена модификация воксельной модели для ускорения поиска и обработки коллизий между имплантатом и мягкими тканями во время моделирования
- навыки:
- Виртуальная реальность, Численное моделирование, Модель масс-пружинок, Обработка изображений, Вычислительная геометрия, Трёхмерная компьютерная графика
- технологии:
- C++, STL, WildMagic, WxWidgets, OpenCV, Bullet physics engine, OpenGL, OGRE, Visual Studio, HTML5/CSS, JavaScript, Wolfram Mathematica, MS Windows, SVN
Июль 2008 – Июль 2010: Стажёр, Младший инженер-программист, Корпорация EMC, Санкт-Петербург, Россия
- Цели:
- участвовать в разработке программного обеспечения (драйвера) для новой системы хранения данных
- Результаты:
- разработаны компоненты низкоуровневого драйвера для системы хранения данных, включая реализацию механизма прямого доступа к диску (Bypass I/O) и модуля сохранения кэша при аварийном завершении системы
- настроено оборудование четырёх систем хранения данных для обеспечения удалённого доступа
- навыки:
- Разработка драйверов систем хранения данных
- технологии:
- C, gdb, make, Valgrind, Linux utils, Vim, Perl, Linux, SVN