Refactoring: Move
Move random content rectangle into its own module
This commit is contained in:
parent
93a52080df
commit
cc0094d3f7
17
synthesis/segment/random_content_rectangle.py
Normal file
17
synthesis/segment/random_content_rectangle.py
Normal 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)
|
||||
13
test/fixtures/page_generation/page.py
vendored
13
test/fixtures/page_generation/page.py
vendored
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user