Я делаю сегментацию подвздошной кости из последовательности МРТ, используя алгоритм случайного Уокера. Я сегментировал его по простейшему фрагменту последовательности, а затем хочу перебрать последовательность, используя предыдущую сегментацию кости (эродированную и расширенную) в качестве внутреннего и внешнего маркеров. Я использую следующий код для маркировки маркеров:
markers = np.zeros(bone_mark.shape)
out_mark = np.invert(dilation(bone_mark, disk(10)))
in_mark = erosion(bone_mark, disk(5))
markers[out_mark == True] = 1
markers[in_mark == True] = 2
где bone_mark
- сегментация подвздошной кости предыдущего среза. В первый раз все работает нормально, но когда я запускаю это в цикле, вторая итерация не может объединить метки в массиве маркеров. Здесь вы можете увидеть пример изображения маркера в первой и второй итерациях:
Я проверил out_mark
и in_mark
в обеих итерациях, и они в порядке, как и должно быть. Это выглядит загадочно для меня, и я понятия не имею, как решить эту проблему. Не могли бы вы поделиться своими мыслями по этой проблеме?