как найти минимальную/максимальную длину оси поперек центроида замкнутой кривой

#python #geometry #medical-imaging

Вопрос:

Я выполняю задачу по сегментации. Теперь я успешно сегментировал область интереса и нашел контур области. Как я могу рассчитать минимальную/максимальную длину оси контура? Ось не обязательно должна быть ортогональной.

Что у меня уже есть: координаты точек на контуре. центроид контура.

Что я уже пробовал: я нашел подходящий эллипс контура. Однако эллипс подгонки может найти только ортогональную ось, которая может не быть минимальной или максимальной длиной по центроиду.

Комментарии:

1. Ищите «штангенциркули»; это пакет, который может сделать именно то, что вам нужно.

Ответ №1:

Поскольку у вас уже есть контур, вы, возможно, захотите сделать это: для альфа = от 0 до 45 градусов поверните контур на альфа, проведите линию по центроиде вашего контура, параллельную оси X, найдите точки пересечения этой линии и контура, то есть одну «ось» под текущим углом альфа. продолжайте вращать контур и найдите больше таких «осей», найдите самую длинную в качестве максимальной оси, самую короткую в качестве минимальной оси.