Refactoring: Move

Move random content rectangle into its own module
This commit is contained in:
Matthias Bisping 2023-02-01 16:54:08 +01:00
parent 93a52080df
commit cc0094d3f7
2 changed files with 18 additions and 12 deletions

View File

@ -0,0 +1,17 @@
import random
from functools import lru_cache
from synthesis.random import rnd
from synthesis.segment.content_rectangle import ContentRectangle
class RandomContentRectangle(ContentRectangle):
def __init__(self, x1, y1, x2, y2, content=None, seed=None):
super().__init__(x1, y1, x2, y2, content)
self.seed = seed or get_random_seed()
self.random = random.Random(self.seed)
@lru_cache(maxsize=None)
def get_random_seed():
return rnd.randint(0, 2**32 - 1)

View File

@ -30,6 +30,7 @@ from cv_analysis.utils.spacial import area
from synthesis.partitioner.page_partitioner import PagePartitioner
from synthesis.random import rnd
from synthesis.segment.content_rectangle import ContentRectangle
from synthesis.segment.random_content_rectangle import RandomContentRectangle
logger.remove()
logger.add(sys.stderr, level="INFO")
@ -301,18 +302,6 @@ def generate_recursive_random_table(rectangle: Rectangle, **kwargs) -> ContentRe
return block
@lru_cache(maxsize=None)
def get_random_seed():
return rnd.randint(0, 2**32 - 1)
class RandomContentRectangle(ContentRectangle):
def __init__(self, x1, y1, x2, y2, content=None, seed=None):
super().__init__(x1, y1, x2, y2, content)
self.seed = seed or get_random_seed()
self.random = random.Random(self.seed)
class Size(Enum):
SMALL = 120
MEDIUM = 180