У меня есть данные, описывающие объем, содержащийся в трехмерных структурах клеточной стенки, как воксельные данные (1 внутри клеточной стенки, 0 снаружи клеточной стенки), так и поверхностные сетки (3D-координаты и связанные триангуляции) . То, что мне нужно, это просто общий контур формы ячейки.
Все ячейки имеют полую область в центре (заполненную 0 для вокселей, так как она находится за пределами клеточной стенки). Для большинства клеток он полностью заключен в клеточную стенку, так что и сетка, и воксели образуют трехмерную оболочку. Это нормально, так как мне несложно заполнить центральную область. Однако в некоторых случаях имеется отверстие, так что внутреннее отверстие имеет прямой «туннель» наружу из клетки, как показано на прикрепленном рисунке. Мне нужно закрыть это, так как мне просто нужен контур всей формы ячейки. Проблема в том, как мне закрыть этот туннель изнутри? Ячейка имеет шероховатую поверхность с множеством незначительных вогнутых областей, которые хорошо видны, хотя эта массивная вогнутая область, простирающаяся до центра ячейки, неприемлема.
Я пытался использовать алгоритм альфа-формы, но все примеры, которые я нашел в 3D, использовали триангуляцию Делоне, которая плохо работает с моими данными (я использовал код из верхнего ответа здесь: Альфа-фигуры в 3D). Может ли это быть возможным решением, если использовать его вместе с моей собственной триангуляцией поверхностной сетки? Или есть способы лучше? По сути, алгоритм трехмерного вогнутого корпуса - это то, что мне нужно, я думаю. Я работаю на Питоне.
Большое спасибо за любые идеи.