| 1 |  |  | """ | 
            
                                                                                                            
                            
            
                                    
            
            
                | 2 |  |  | Utility functions and constants usable in various circumstances. | 
            
                                                                                                            
                            
            
                                    
            
            
                | 3 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 4 |  |  | * ``coordinates_of_segment``, ``coordinates_for_segment`` | 
            
                                                                                                            
                            
            
                                    
            
            
                | 5 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 6 |  |  |     These functions convert polygon outlines for PAGE elements on all hierarchy | 
            
                                                                                                            
                            
            
                                    
            
            
                | 7 |  |  |     levels below page (i.e. region, line, word, glyph) between relative coordinates | 
            
                                                                                                            
                            
            
                                    
            
            
                | 8 |  |  |     w.r.t. a corresponding image and absolute coordinates w.r.t. the top-level image. | 
            
                                                                                                            
                            
            
                                    
            
            
                | 9 |  |  |     This includes rotation and offset correction, based on affine transformations. | 
            
                                                                                                            
                            
            
                                    
            
            
                | 10 |  |  |     (Used by ``Workspace`` methods ``image_from_page`` and ``image_from_segment``) | 
            
                                                                                                            
                            
            
                                    
            
            
                | 11 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 12 |  |  | * ``rotate_coordinates``, ``shift_coordinates``, ``transpose_coordinates``, ``transform_coordinates`` | 
            
                                                                                                            
                            
            
                                    
            
            
                | 13 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 14 |  |  |     These backend functions compose affine transformations for reflection, rotation | 
            
                                                                                                            
                            
            
                                    
            
            
                | 15 |  |  |     and offset correction of coordinates, or apply them to a set of points. They can be | 
            
                                                                                                            
                            
            
                                    
            
            
                | 16 |  |  |     used to pass down the coordinate system along with images (both invariably sharing | 
            
                                                                                                            
                            
            
                                    
            
            
                | 17 |  |  |     the same operations context) when traversing the element hierarchy top to bottom. | 
            
                                                                                                            
                            
            
                                    
            
            
                | 18 |  |  |     (Used by ``Workspace`` methods ``image_from_page`` and ``image_from_segment``). | 
            
                                                                                                            
                            
            
                                    
            
            
                | 19 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 20 |  |  | * ``rotate_image``, ``crop_image``, ``transpose_image`` | 
            
                                                                                                            
                            
            
                                    
            
            
                | 21 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 22 |  |  |     These PIL.Image functions are safe replacements for the ``rotate``, ``crop``, and | 
            
                                                                                                            
                            
            
                                    
            
            
                | 23 |  |  |     ``transpose`` methods. | 
            
                                                                                                            
                            
            
                                    
            
            
                | 24 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 25 |  |  | * ``image_from_polygon``, ``polygon_mask`` | 
            
                                                                                                            
                            
            
                                    
            
            
                | 26 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 27 |  |  |     These functions apply polygon masks to PIL.Image objects. | 
            
                                                                                                            
                            
            
                                    
            
            
                | 28 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 29 |  |  | * ``xywh_from_points``, ``points_from_xywh``, ``polygon_from_points`` etc. | 
            
                                                                                                            
                            
            
                                    
            
            
                | 30 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 31 |  |  |    These functions have the syntax ``X_from_Y``, where ``X``/``Y`` can be | 
            
                                                                                                            
                            
            
                                    
            
            
                | 32 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 33 |  |  |     * ``bbox`` is a 4-tuple of integers x0, y0, x1, y1 of the bounding box (rectangle) | 
            
                                                                                                            
                            
            
                                    
            
            
                | 34 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 35 |  |  |       (used by PIL.Image) | 
            
                                                                                                            
                            
            
                                    
            
            
                | 36 |  |  |     * ``points`` a string encoding a polygon: ``"0,0 100,0 100,100, 0,100"`` | 
            
                                                                                                            
                            
            
                                    
            
            
                | 37 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 38 |  |  |       (used by PAGE-XML) | 
            
                                                                                                            
                            
            
                                    
            
            
                | 39 |  |  |     * ``polygon`` is a list of 2-lists of integers x, y of points forming an (implicitly closed) polygon path: ``[[0,0], [100,0], [100,100], [0,100]]`` | 
            
                                                                                                            
                            
            
                                    
            
            
                | 40 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 41 |  |  |       (used by opencv2 and higher-level coordinate functions in ocrd_utils) | 
            
                                                                                                            
                            
            
                                    
            
            
                | 42 |  |  |     * ``xywh`` a dict with keys for x, y, width and height: ``{'x': 0, 'y': 0, 'w': 100, 'h': 100}`` | 
            
                                                                                                            
                            
            
                                    
            
            
                | 43 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 44 |  |  |       (produced by tesserocr and image/coordinate recursion methods in ocrd.workspace) | 
            
                                                                                                            
                            
            
                                    
            
            
                | 45 |  |  |     * ``x0y0x1y1`` is a 4-list of strings ``x0``, ``y0``, ``x1``, ``y1`` of the bounding box (rectangle) | 
            
                                                                                                            
                            
            
                                    
            
            
                | 46 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 47 |  |  |       (produced by tesserocr) | 
            
                                                                                                            
                            
            
                                    
            
            
                | 48 |  |  |     * ``y0x0y1x1`` is the same as ``x0y0x1y1`` with positions of ``x`` and ``y`` in the list swapped | 
            
                                                                                                            
                            
            
                                    
            
            
                | 49 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 50 |  |  | * ``is_local_filename``, ``safe_filename``, ``abspath``, ``get_local_filename`` | 
            
                                                                                                            
                            
            
                                    
            
            
                | 51 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 52 |  |  |     FS-related utilities | 
            
                                                                                                            
                            
            
                                    
            
            
                | 53 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 54 |  |  | * ``is_string``, ``membername``, ``concat_padded``, ``nth_url_segment``, ``remove_non_path_from_url``, ``parse_json_string_with_comments``, ``parse_json_string_or_file``, ``set_json_key_value_overrides``, ``assert_file_grp_cardinality``, ``make_file_id`` | 
            
                                                                                                            
                            
            
                                    
            
            
                | 55 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 56 |  |  |     String and OOP utilities | 
            
                                                                                                            
                            
            
                                    
            
            
                | 57 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 58 |  |  | * ``MIMETYPE_PAGE``, ``EXT_TO_MIME``, ``MIME_TO_EXT``, ``VERSION`` | 
            
                                                                                                            
                            
            
                                    
            
            
                | 59 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 60 |  |  |     Constants | 
            
                                                                                                            
                            
            
                                    
            
            
                | 61 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 62 |  |  | * ``logging``, ``setOverrideLogLevel``, ``getLevelName``, ``getLogger``, ``initLogging`` | 
            
                                                                                                            
                            
            
                                    
            
            
                | 63 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 64 |  |  |     Exports of ocrd_utils.logging | 
            
                                                                                                            
                            
            
                                    
            
            
                | 65 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 66 |  |  | * ``deprecated_alias`` | 
            
                                                                                                            
                            
            
                                    
            
            
                | 67 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 68 |  |  |     Decorator to mark a kwarg as deprecated | 
            
                                                                                                            
                            
            
                                    
            
            
                | 69 |  |  | """ | 
            
                                                                                                            
                            
            
                                    
            
            
                | 70 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 71 |  |  | from .constants import ( | 
            
                                                                                                            
                            
            
                                    
            
            
                | 72 |  |  |     VERSION, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 73 |  |  |     MIMETYPE_PAGE, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 74 |  |  |     EXT_TO_MIME, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 75 |  |  |     MIME_TO_EXT, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 76 |  |  |     PIL_TO_MIME, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 77 |  |  |     MIME_TO_PIL, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 78 |  |  |     REGEX_PREFIX, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 79 |  |  |     LOG_FORMAT, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 80 |  |  |     LOG_TIMEFMT) | 
            
                                                                                                            
                            
            
                                    
            
            
                | 81 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 82 |  |  | from .deprecate import ( | 
            
                                                                                                            
                            
            
                                    
            
            
                | 83 |  |  |     deprecated_alias) | 
            
                                                                                                            
                            
            
                                    
            
            
                | 84 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 85 |  |  | from .image import ( | 
            
                                                                                                            
                            
            
                                    
            
            
                | 86 |  |  |     adjust_canvas_to_rotation, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 87 |  |  |     adjust_canvas_to_transposition, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 88 |  |  |     bbox_from_points, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 89 |  |  |     bbox_from_polygon, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 90 |  |  |     bbox_from_xywh, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 91 |  |  |     coordinates_for_segment, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 92 |  |  |     coordinates_of_segment, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 93 |  |  |     crop_image, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 94 |  |  |     image_from_polygon, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 95 |  |  |     points_from_bbox, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 96 |  |  |     points_from_polygon, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 97 |  |  |     points_from_x0y0x1y1, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 98 |  |  |     points_from_xywh, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 99 |  |  |     points_from_y0x0y1x1, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 100 |  |  |     polygon_from_bbox, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 101 |  |  |     polygon_from_points, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 102 |  |  |     polygon_from_x0y0x1y1, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 103 |  |  |     polygon_from_xywh, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 104 |  |  |     polygon_mask, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 105 |  |  |     rotate_coordinates, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 106 |  |  |     rotate_image, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 107 |  |  |     shift_coordinates, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 108 |  |  |     transform_coordinates, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 109 |  |  |     transpose_coordinates, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 110 |  |  |     transpose_image, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 111 |  |  |     xywh_from_bbox, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 112 |  |  |     xywh_from_points, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 113 |  |  |     xywh_from_polygon) | 
            
                                                                                                            
                            
            
                                    
            
            
                | 114 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 115 |  |  | from .introspect import ( | 
            
                                                                                                            
                            
            
                                    
            
            
                | 116 |  |  |     set_json_key_value_overrides, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 117 |  |  |     membername) | 
            
                                                                                                            
                            
            
                                    
            
            
                | 118 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 119 |  |  | from .logging import ( | 
            
                                                                                                            
                            
            
                                    
            
            
                | 120 |  |  |     logging, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 121 |  |  |     getLogger, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 122 |  |  |     getLevelName, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 123 |  |  |     initLogging, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 124 |  |  |     setOverrideLogLevel) | 
            
                                                                                                            
                            
            
                                    
            
            
                | 125 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 126 |  |  | from .os import ( | 
            
                                                                                                            
                            
            
                                    
            
            
                | 127 |  |  |     abspath, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 128 |  |  |     pushd_popd, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 129 |  |  |     unzip_file_to_dir) | 
            
                                                                                                            
                            
            
                                    
            
            
                | 130 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 131 |  |  | from .str import ( | 
            
                                                                                                            
                            
            
                                    
            
            
                | 132 |  |  |     assert_file_grp_cardinality, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 133 |  |  |     concat_padded, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 134 |  |  |     get_local_filename, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 135 |  |  |     is_local_filename, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 136 |  |  |     is_string, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 137 |  |  |     make_file_id, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 138 |  |  |     nth_url_segment, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 139 |  |  |     parse_json_string_or_file, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 140 |  |  |     parse_json_string_with_comments, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 141 |  |  |     remove_non_path_from_url, | 
            
                                                                                                            
                            
            
                                    
            
            
                | 142 |  |  |     safe_filename) | 
            
                                                                                                            
                            
            
                                    
            
            
                | 143 |  |  |  |