Adapt ocrd-eynollah-segment for release

This commit is contained in:
kba 2025-09-25 20:11:48 +02:00
parent 5e15c4f248
commit 11de8a025d
2 changed files with 16 additions and 5 deletions

View file

@ -82,13 +82,23 @@
}
},
"resources": [
{
"url": "https://zenodo.org/records/17194824/files/models_layout_v0_5_0.tar.gz?download=1",
"name": "eynollah_layout_v0_5_0",
"type": "archive",
"path_in_archive": "eynollah_layout_v0_5_0",
"size": 3525684179,
"description": "Models for layout detection, reading order detection, textline detection, page extraction, column classification, table detection, binarization, image enhancement",
"version_range": ">= v0.5.0"
},
{
"description": "models for eynollah (TensorFlow SavedModel format)",
"url": "https://github.com/qurator-spk/eynollah/releases/download/v0.3.1/models_eynollah.tar.gz",
"name": "default",
"size": 1894627041,
"type": "archive",
"path_in_archive": "models_eynollah"
"path_in_archive": "models_eynollah",
"version_range": ">= v0.3.0, < v0.5.0"
}
]
},

View file

@ -1,6 +1,7 @@
from functools import cached_property
from typing import Optional
from ocrd_models import OcrdPage
from ocrd import Processor, OcrdPageResult
from ocrd import OcrdPageResultImage, Processor, OcrdPageResult
from .eynollah import Eynollah, EynollahXmlWriter
@ -9,8 +10,8 @@ class EynollahProcessor(Processor):
# already employs GPU (without singleton process atm)
max_workers = 1
@property
def executable(self):
@cached_property
def executable(self) -> str:
return 'ocrd-eynollah-segment'
def setup(self) -> None:
@ -20,7 +21,6 @@ class EynollahProcessor(Processor):
"and parameter 'light_version' (faster+simpler method for main region detection and deskewing)")
self.eynollah = Eynollah(
self.resolve_resource(self.parameter['models']),
logger=self.logger,
allow_enhancement=self.parameter['allow_enhancement'],
curved_line=self.parameter['curved_line'],
right2left=self.parameter['right_to_left'],
@ -33,6 +33,7 @@ class EynollahProcessor(Processor):
headers_off=self.parameter['headers_off'],
tables=self.parameter['tables'],
)
self.eynollah.logger = self.logger
self.eynollah.plotter = None
def shutdown(self):