Анализ структуры
Поддерживаемые компоненты анализа структуры:
SimpleSorting
- class manuscript.layouts.SimpleSorting(max_splits=10, use_columns=True)[исходный код]
Базовые классы:
BaseLayoutГруппирует обнаруженные слова в строки и задаёт порядок чтения.
- Параметры:
Примеры
>>> from manuscript.layouts import SimpleSorting >>> layout = SimpleSorting(use_columns=False) >>> page = layout.predict(page)
См. также
ReadingSortingУпорядочить обнаруженные регионы и при необходимости определить вложенность.
- predict(page, image=None)[исходный код]
Группирует и сортирует регионы, изменяя исходную страницу.
- Параметры:
page (Page) – Страница, регионы которой нужно упорядочить.
image (numpy.ndarray, optional) – Принимается для совместимости с Pipeline; не используется.
- Результат:
Исходный Page с обновлённой группировкой и порядком дочерних элементов.
- Тип результата:
ReadingSorting
- class manuscript.layouts.ReadingSorting(mode='sort', containment_overlap=0.5, row_overlap=0.5, infer_columns=True)[исходный код]
Базовые классы:
BaseLayoutЗадаёт порядок чтения регионов и при необходимости выстраивает их вложенность.
- Параметры:
mode ({"sort", "containment"}, optional) – «sort» меняет порядок дочерних элементов, сохраняя родителей. «containment» также помещает регионы уровня Page в обнаруженные строки и блоки. По умолчанию «sort».
containment_overlap (float, optional) – Чтобы элемент стал дочерним, его полигон должен быть покрыт полигоном родителя хотя бы на эту долю площади. Значение больше 0 и не больше 1; по умолчанию 0.5.
row_overlap (float, optional) – Минимальное вертикальное пересечение, делённое на меньшую высоту bbox, для объединения регионов в одну строку чтения. Значение в (0, 1]; по умолчанию 0.5.
infer_columns (bool, optional) – Определять колонки по горизонтальным промежуткам и располагать их слева направо. По умолчанию True. В режиме containment также создавать блоки для колонок, если у Page ещё нет текстовых блоков.
Примеры
>>> from manuscript.layouts import ReadingSorting >>> layout = ReadingSorting(mode="containment", containment_overlap=0.5) >>> page = layout.predict(page)
См. также
SimpleSortingСоздать строки и блоки из обнаруженных слов.
- predict(page, image=None)[исходный код]
Меняет порядок и вложенность элементов в исходном дереве документа.
- Параметры:
page (Page) – Страница, регионы которой нужно упорядочить.
image (optional) – Принимается для совместимости с Pipeline; не используется.
- Результат:
Исходный Page с обновлённым порядком дочерних элементов, а в режиме containment — с определёнными родительскими связями и необязательными блоками колонок.
- Тип результата: