diff options
Diffstat (limited to 'text_recognizer/tests/support')
-rw-r--r-- | text_recognizer/tests/support/__init__.py | 2 | ||||
-rw-r--r-- | text_recognizer/tests/support/create_emnist_lines_support_files.py | 51 | ||||
-rw-r--r-- | text_recognizer/tests/support/create_emnist_support_files.py | 30 | ||||
-rw-r--r-- | text_recognizer/tests/support/create_iam_lines_support_files.py | 50 | ||||
-rw-r--r-- | text_recognizer/tests/support/emnist_lines/Knox Ky<eos>.png | bin | 0 -> 2301 bytes | |||
-rw-r--r-- | text_recognizer/tests/support/emnist_lines/ancillary beliefs and<eos>.png | bin | 0 -> 5424 bytes | |||
-rw-r--r-- | text_recognizer/tests/support/emnist_lines/they<eos>.png | bin | 0 -> 1391 bytes | |||
-rw-r--r-- | text_recognizer/tests/support/iam_lines/He rose from his breakfast-nook bench<eos>.png | bin | 0 -> 5170 bytes | |||
-rw-r--r-- | text_recognizer/tests/support/iam_lines/and came into the livingroom, where<eos>.png | bin | 0 -> 3617 bytes | |||
-rw-r--r-- | text_recognizer/tests/support/iam_lines/his entrance. He came, almost falling<eos>.png | bin | 0 -> 3923 bytes | |||
-rw-r--r-- | text_recognizer/tests/support/iam_paragraphs/a01-000u.jpg | bin | 0 -> 14890 bytes |
11 files changed, 133 insertions, 0 deletions
diff --git a/text_recognizer/tests/support/__init__.py b/text_recognizer/tests/support/__init__.py new file mode 100644 index 0000000..a265ede --- /dev/null +++ b/text_recognizer/tests/support/__init__.py @@ -0,0 +1,2 @@ +"""Support file modules.""" +from .create_emnist_support_files import create_emnist_support_files diff --git a/text_recognizer/tests/support/create_emnist_lines_support_files.py b/text_recognizer/tests/support/create_emnist_lines_support_files.py new file mode 100644 index 0000000..9abe143 --- /dev/null +++ b/text_recognizer/tests/support/create_emnist_lines_support_files.py @@ -0,0 +1,51 @@ +"""Module for creating EMNIST Lines test support files.""" +# flake8: noqa: S106 + +from pathlib import Path +import shutil + +import numpy as np + +from text_recognizer.datasets import EmnistLinesDataset +import text_recognizer.util as util + + +SUPPORT_DIRNAME = Path(__file__).parents[0].resolve() / "emnist_lines" + + +def create_emnist_lines_support_files() -> None: + """Create EMNIST Lines test images.""" + shutil.rmtree(SUPPORT_DIRNAME, ignore_errors=True) + SUPPORT_DIRNAME.mkdir() + + # TODO: maybe have to add args to dataset. + dataset = EmnistLinesDataset( + init_token="<sos>", + pad_token="_", + eos_token="<eos>", + transform=[{"type": "ToTensor", "args": {}}], + target_transform=[ + { + "type": "AddTokens", + "args": {"init_token": "<sos>", "pad_token": "_", "eos_token": "<eos>"}, + } + ], + ) # nosec: S106 + dataset.load_or_generate_data() + + for index in [5, 7, 9]: + image, target = dataset[index] + if len(image.shape) == 3: + image = image.squeeze(0) + print(image.sum(), image.dtype) + + label = "".join(dataset.mapper(label) for label in target[1:]).strip( + dataset.mapper.pad_token + ) + print(label) + image = image.numpy() + util.write_image(image, str(SUPPORT_DIRNAME / f"{label}.png")) + + +if __name__ == "__main__": + create_emnist_lines_support_files() diff --git a/text_recognizer/tests/support/create_emnist_support_files.py b/text_recognizer/tests/support/create_emnist_support_files.py new file mode 100644 index 0000000..f9ff030 --- /dev/null +++ b/text_recognizer/tests/support/create_emnist_support_files.py @@ -0,0 +1,30 @@ +"""Module for creating EMNIST test support files.""" +from pathlib import Path +import shutil + +from text_recognizer.datasets import EmnistDataset +from text_recognizer.util import write_image + +SUPPORT_DIRNAME = Path(__file__).parents[0].resolve() / "emnist" + + +def create_emnist_support_files() -> None: + """Create support images for test of CharacterPredictor class.""" + shutil.rmtree(SUPPORT_DIRNAME, ignore_errors=True) + SUPPORT_DIRNAME.mkdir() + + dataset = EmnistDataset(train=False) + dataset.load_or_generate_data() + + for index in [5, 7, 9]: + image, label = dataset[index] + if len(image.shape) == 3: + image = image.squeeze(0) + image = image.numpy() + label = dataset.mapper(int(label)) + print(index, label) + write_image(image, str(SUPPORT_DIRNAME / f"{label}.png")) + + +if __name__ == "__main__": + create_emnist_support_files() diff --git a/text_recognizer/tests/support/create_iam_lines_support_files.py b/text_recognizer/tests/support/create_iam_lines_support_files.py new file mode 100644 index 0000000..50f9e3d --- /dev/null +++ b/text_recognizer/tests/support/create_iam_lines_support_files.py @@ -0,0 +1,50 @@ +"""Module for creating IAM Lines test support files.""" +# flake8: noqa +from pathlib import Path +import shutil + +import numpy as np + +from text_recognizer.datasets import IamLinesDataset +import text_recognizer.util as util + + +SUPPORT_DIRNAME = Path(__file__).parents[0].resolve() / "iam_lines" + + +def create_emnist_lines_support_files() -> None: + """Create IAM Lines test images.""" + shutil.rmtree(SUPPORT_DIRNAME, ignore_errors=True) + SUPPORT_DIRNAME.mkdir() + + # TODO: maybe have to add args to dataset. + dataset = IamLinesDataset( + init_token="<sos>", + pad_token="_", + eos_token="<eos>", + transform=[{"type": "ToTensor", "args": {}}], + target_transform=[ + { + "type": "AddTokens", + "args": {"init_token": "<sos>", "pad_token": "_", "eos_token": "<eos>"}, + } + ], + ) + dataset.load_or_generate_data() + + for index in [0, 1, 3]: + image, target = dataset[index] + if len(image.shape) == 3: + image = image.squeeze(0) + print(image.sum(), image.dtype) + + label = "".join(dataset.mapper(label) for label in target[1:]).strip( + dataset.mapper.pad_token + ) + print(label) + image = image.numpy() + util.write_image(image, str(SUPPORT_DIRNAME / f"{label}.png")) + + +if __name__ == "__main__": + create_emnist_lines_support_files() diff --git a/text_recognizer/tests/support/emnist_lines/Knox Ky<eos>.png b/text_recognizer/tests/support/emnist_lines/Knox Ky<eos>.png Binary files differnew file mode 100644 index 0000000..b7d0618 --- /dev/null +++ b/text_recognizer/tests/support/emnist_lines/Knox Ky<eos>.png diff --git a/text_recognizer/tests/support/emnist_lines/ancillary beliefs and<eos>.png b/text_recognizer/tests/support/emnist_lines/ancillary beliefs and<eos>.png Binary files differnew file mode 100644 index 0000000..14a8cf3 --- /dev/null +++ b/text_recognizer/tests/support/emnist_lines/ancillary beliefs and<eos>.png diff --git a/text_recognizer/tests/support/emnist_lines/they<eos>.png b/text_recognizer/tests/support/emnist_lines/they<eos>.png Binary files differnew file mode 100644 index 0000000..7f05951 --- /dev/null +++ b/text_recognizer/tests/support/emnist_lines/they<eos>.png diff --git a/text_recognizer/tests/support/iam_lines/He rose from his breakfast-nook bench<eos>.png b/text_recognizer/tests/support/iam_lines/He rose from his breakfast-nook bench<eos>.png Binary files differnew file mode 100644 index 0000000..6eeb642 --- /dev/null +++ b/text_recognizer/tests/support/iam_lines/He rose from his breakfast-nook bench<eos>.png diff --git a/text_recognizer/tests/support/iam_lines/and came into the livingroom, where<eos>.png b/text_recognizer/tests/support/iam_lines/and came into the livingroom, where<eos>.png Binary files differnew file mode 100644 index 0000000..4974cf8 --- /dev/null +++ b/text_recognizer/tests/support/iam_lines/and came into the livingroom, where<eos>.png diff --git a/text_recognizer/tests/support/iam_lines/his entrance. He came, almost falling<eos>.png b/text_recognizer/tests/support/iam_lines/his entrance. He came, almost falling<eos>.png Binary files differnew file mode 100644 index 0000000..a731245 --- /dev/null +++ b/text_recognizer/tests/support/iam_lines/his entrance. He came, almost falling<eos>.png diff --git a/text_recognizer/tests/support/iam_paragraphs/a01-000u.jpg b/text_recognizer/tests/support/iam_paragraphs/a01-000u.jpg Binary files differnew file mode 100644 index 0000000..d9753b6 --- /dev/null +++ b/text_recognizer/tests/support/iam_paragraphs/a01-000u.jpg |