natural-pdf 0.1.7__py3-none-any.whl → 0.1.9__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. natural_pdf/__init__.py +3 -0
  2. natural_pdf/analyzers/layout/base.py +1 -5
  3. natural_pdf/analyzers/layout/gemini.py +61 -51
  4. natural_pdf/analyzers/layout/layout_analyzer.py +40 -11
  5. natural_pdf/analyzers/layout/layout_manager.py +26 -84
  6. natural_pdf/analyzers/layout/layout_options.py +7 -0
  7. natural_pdf/analyzers/layout/pdfplumber_table_finder.py +142 -0
  8. natural_pdf/analyzers/layout/surya.py +46 -123
  9. natural_pdf/analyzers/layout/tatr.py +51 -4
  10. natural_pdf/analyzers/text_structure.py +3 -5
  11. natural_pdf/analyzers/utils.py +3 -3
  12. natural_pdf/classification/manager.py +422 -0
  13. natural_pdf/classification/mixin.py +163 -0
  14. natural_pdf/classification/results.py +80 -0
  15. natural_pdf/collections/mixins.py +111 -0
  16. natural_pdf/collections/pdf_collection.py +434 -15
  17. natural_pdf/core/element_manager.py +83 -0
  18. natural_pdf/core/highlighting_service.py +13 -22
  19. natural_pdf/core/page.py +578 -93
  20. natural_pdf/core/pdf.py +912 -460
  21. natural_pdf/elements/base.py +134 -40
  22. natural_pdf/elements/collections.py +712 -109
  23. natural_pdf/elements/region.py +722 -69
  24. natural_pdf/elements/text.py +4 -1
  25. natural_pdf/export/mixin.py +137 -0
  26. natural_pdf/exporters/base.py +3 -3
  27. natural_pdf/exporters/paddleocr.py +5 -4
  28. natural_pdf/extraction/manager.py +135 -0
  29. natural_pdf/extraction/mixin.py +279 -0
  30. natural_pdf/extraction/result.py +23 -0
  31. natural_pdf/ocr/__init__.py +5 -5
  32. natural_pdf/ocr/engine_doctr.py +346 -0
  33. natural_pdf/ocr/engine_easyocr.py +6 -3
  34. natural_pdf/ocr/ocr_factory.py +24 -4
  35. natural_pdf/ocr/ocr_manager.py +122 -26
  36. natural_pdf/ocr/ocr_options.py +94 -11
  37. natural_pdf/ocr/utils.py +19 -6
  38. natural_pdf/qa/document_qa.py +0 -4
  39. natural_pdf/search/__init__.py +20 -34
  40. natural_pdf/search/haystack_search_service.py +309 -265
  41. natural_pdf/search/haystack_utils.py +99 -75
  42. natural_pdf/search/search_service_protocol.py +11 -12
  43. natural_pdf/selectors/parser.py +431 -230
  44. natural_pdf/utils/debug.py +3 -3
  45. natural_pdf/utils/identifiers.py +1 -1
  46. natural_pdf/utils/locks.py +8 -0
  47. natural_pdf/utils/packaging.py +8 -6
  48. natural_pdf/utils/text_extraction.py +60 -1
  49. natural_pdf/utils/tqdm_utils.py +51 -0
  50. natural_pdf/utils/visualization.py +18 -0
  51. natural_pdf/widgets/viewer.py +4 -25
  52. {natural_pdf-0.1.7.dist-info → natural_pdf-0.1.9.dist-info}/METADATA +17 -3
  53. natural_pdf-0.1.9.dist-info/RECORD +80 -0
  54. {natural_pdf-0.1.7.dist-info → natural_pdf-0.1.9.dist-info}/WHEEL +1 -1
  55. {natural_pdf-0.1.7.dist-info → natural_pdf-0.1.9.dist-info}/top_level.txt +0 -2
  56. docs/api/index.md +0 -386
  57. docs/assets/favicon.png +0 -3
  58. docs/assets/favicon.svg +0 -3
  59. docs/assets/javascripts/custom.js +0 -17
  60. docs/assets/logo.svg +0 -3
  61. docs/assets/sample-screen.png +0 -0
  62. docs/assets/social-preview.png +0 -17
  63. docs/assets/social-preview.svg +0 -17
  64. docs/assets/stylesheets/custom.css +0 -65
  65. docs/document-qa/index.ipynb +0 -435
  66. docs/document-qa/index.md +0 -79
  67. docs/element-selection/index.ipynb +0 -915
  68. docs/element-selection/index.md +0 -229
  69. docs/finetuning/index.md +0 -176
  70. docs/index.md +0 -170
  71. docs/installation/index.md +0 -69
  72. docs/interactive-widget/index.ipynb +0 -962
  73. docs/interactive-widget/index.md +0 -12
  74. docs/layout-analysis/index.ipynb +0 -818
  75. docs/layout-analysis/index.md +0 -185
  76. docs/ocr/index.md +0 -209
  77. docs/pdf-navigation/index.ipynb +0 -314
  78. docs/pdf-navigation/index.md +0 -97
  79. docs/regions/index.ipynb +0 -816
  80. docs/regions/index.md +0 -294
  81. docs/tables/index.ipynb +0 -658
  82. docs/tables/index.md +0 -144
  83. docs/text-analysis/index.ipynb +0 -370
  84. docs/text-analysis/index.md +0 -105
  85. docs/text-extraction/index.ipynb +0 -1478
  86. docs/text-extraction/index.md +0 -292
  87. docs/tutorials/01-loading-and-extraction.ipynb +0 -194
  88. docs/tutorials/01-loading-and-extraction.md +0 -95
  89. docs/tutorials/02-finding-elements.ipynb +0 -340
  90. docs/tutorials/02-finding-elements.md +0 -149
  91. docs/tutorials/03-extracting-blocks.ipynb +0 -147
  92. docs/tutorials/03-extracting-blocks.md +0 -48
  93. docs/tutorials/04-table-extraction.ipynb +0 -114
  94. docs/tutorials/04-table-extraction.md +0 -50
  95. docs/tutorials/05-excluding-content.ipynb +0 -270
  96. docs/tutorials/05-excluding-content.md +0 -109
  97. docs/tutorials/06-document-qa.ipynb +0 -332
  98. docs/tutorials/06-document-qa.md +0 -91
  99. docs/tutorials/07-layout-analysis.ipynb +0 -288
  100. docs/tutorials/07-layout-analysis.md +0 -66
  101. docs/tutorials/07-working-with-regions.ipynb +0 -413
  102. docs/tutorials/07-working-with-regions.md +0 -151
  103. docs/tutorials/08-spatial-navigation.ipynb +0 -508
  104. docs/tutorials/08-spatial-navigation.md +0 -190
  105. docs/tutorials/09-section-extraction.ipynb +0 -2434
  106. docs/tutorials/09-section-extraction.md +0 -256
  107. docs/tutorials/10-form-field-extraction.ipynb +0 -512
  108. docs/tutorials/10-form-field-extraction.md +0 -201
  109. docs/tutorials/11-enhanced-table-processing.ipynb +0 -54
  110. docs/tutorials/11-enhanced-table-processing.md +0 -9
  111. docs/tutorials/12-ocr-integration.ipynb +0 -604
  112. docs/tutorials/12-ocr-integration.md +0 -175
  113. docs/tutorials/13-semantic-search.ipynb +0 -1328
  114. docs/tutorials/13-semantic-search.md +0 -77
  115. docs/visual-debugging/index.ipynb +0 -2970
  116. docs/visual-debugging/index.md +0 -157
  117. docs/visual-debugging/region.png +0 -0
  118. natural_pdf/templates/finetune/fine_tune_paddleocr.md +0 -415
  119. natural_pdf/templates/spa/css/style.css +0 -334
  120. natural_pdf/templates/spa/index.html +0 -31
  121. natural_pdf/templates/spa/js/app.js +0 -472
  122. natural_pdf/templates/spa/words.txt +0 -235976
  123. natural_pdf/widgets/frontend/viewer.js +0 -88
  124. natural_pdf-0.1.7.dist-info/RECORD +0 -145
  125. notebooks/Examples.ipynb +0 -1293
  126. pdfs/.gitkeep +0 -0
  127. pdfs/01-practice.pdf +0 -543
  128. pdfs/0500000US42001.pdf +0 -0
  129. pdfs/0500000US42007.pdf +0 -0
  130. pdfs/2014 Statistics.pdf +0 -0
  131. pdfs/2019 Statistics.pdf +0 -0
  132. pdfs/Atlanta_Public_Schools_GA_sample.pdf +0 -0
  133. pdfs/needs-ocr.pdf +0 -0
  134. {natural_pdf-0.1.7.dist-info → natural_pdf-0.1.9.dist-info}/licenses/LICENSE +0 -0
@@ -1,66 +0,0 @@
1
- # Layout Analysis
2
-
3
- Beyond simple text and lines, `natural-pdf` can use layout analysis models (like YOLO or DETR) to identify semantic regions within a page, such as paragraphs, tables, figures, headers, etc. This provides a higher-level understanding of the document structure.
4
-
5
- Let's analyze the layout of our `01-practice.pdf`.
6
-
7
- ```python
8
- #%pip install "natural-pdf[all]"
9
- ```
10
-
11
- ```python
12
- from natural_pdf import PDF
13
-
14
- # Load the PDF and get the page
15
- pdf = PDF("https://github.com/jsoma/natural-pdf/raw/refs/heads/main/pdfs/01-practice.pdf")
16
- page = pdf.pages[0]
17
-
18
- # Analyze the layout using the default model
19
- # This adds 'detected' Region objects to the page
20
- # It returns an ElementCollection of the detected regions
21
- page.analyze_layout()
22
- detected_regions = page.find_all('region[source="detected"]')
23
- ```
24
-
25
- ```python
26
- # Visualize all detected regions, using default colors based on type
27
- page.clear_highlights() # Clear previous highlights
28
- detected_regions.highlight(group_by='type', include_attrs=['confidence'])
29
-
30
- # Show the image with region overlays
31
- page.to_image(width=900)
32
- ```
33
-
34
- ```python
35
- # Find and visualize only the detected table region(s)
36
- tables = page.find_all('region[type=table]')
37
- tables.show(color='lightgreen', label='Detected Table')
38
- ```
39
-
40
- ```python
41
- # Extract text specifically from the detected table region
42
- table_region = tables.first # Assuming only one table was detected
43
- # Extract text preserving layout
44
- table_text_layout = table_region.extract_text(layout=True)
45
- table_text_layout
46
- ```
47
-
48
- ```python
49
- # Layout-detected regions can also be used for table extraction
50
- # This can be more robust than the basic page.extract_tables()
51
- # especially for tables without clear lines.
52
- table_data = table_region.extract_table()
53
- table_data
54
- ```
55
-
56
- Layout analysis provides structured `Region` objects. You can filter these regions by their predicted `type` and then perform actions like visualization or extracting text/tables specifically from those regions.
57
-
58
- <div class="admonition note">
59
- <p class="admonition-title">Layout Models and Configuration</p>
60
-
61
- * Layout analysis requires external models. Ensure these are installed.
62
- * You can specify different models (`engine='yolo'`, `engine='detr'`, `engine='paddle'`) or configurations (confidence thresholds, specific classes) via arguments to `page.analyze_layout()`. Different models may perform better on different document types.
63
- * The detected regions are added to the page and can be found using selectors like `page.find_all('region[type=paragraph]')`.
64
- </div>
65
-
66
- ```
@@ -1,413 +0,0 @@
1
- {
2
- "cells": [
3
- {
4
- "cell_type": "markdown",
5
- "id": "289614f6",
6
- "metadata": {},
7
- "source": [
8
- "# Working with Regions\n",
9
- "\n",
10
- "Regions are rectangular areas on a page that let you focus on specific parts of a document. They're perfect for extracting text from defined areas, finding elements within certain boundaries, and working with document sections."
11
- ]
12
- },
13
- {
14
- "cell_type": "code",
15
- "execution_count": 1,
16
- "id": "ee7b29db",
17
- "metadata": {
18
- "execution": {
19
- "iopub.execute_input": "2025-04-21T21:32:06.104242Z",
20
- "iopub.status.busy": "2025-04-21T21:32:06.104024Z",
21
- "iopub.status.idle": "2025-04-21T21:32:06.108388Z",
22
- "shell.execute_reply": "2025-04-21T21:32:06.107767Z"
23
- }
24
- },
25
- "outputs": [],
26
- "source": [
27
- "#%pip install \"natural-pdf[all]\""
28
- ]
29
- },
30
- {
31
- "cell_type": "code",
32
- "execution_count": 2,
33
- "id": "392a4d3b",
34
- "metadata": {
35
- "execution": {
36
- "iopub.execute_input": "2025-04-21T21:32:06.110143Z",
37
- "iopub.status.busy": "2025-04-21T21:32:06.109959Z",
38
- "iopub.status.idle": "2025-04-21T21:32:14.111600Z",
39
- "shell.execute_reply": "2025-04-21T21:32:14.111045Z"
40
- }
41
- },
42
- "outputs": [
43
- {
44
- "data": {
45
- "text/plain": [
46
- "' INS-UP70N51NCL41R \\nSite: Durham’s Meatpacking Chicago, Ill. \\nDate: February 3, 1905 \\nViolation Count: 7 \\nSummary: Worst of any, however, were the fertilizer men, and those who served in the cooking rooms.\\nThese people could not be shown to the visitor - for the odor of a fertilizer man would scare any ordinary\\nvisitor at a hundred yards, and as for the other men, who worked in tank rooms full of steam, and in\\nsome of which there were open vats near the level of the floor, their peculiar trouble was that they fell\\n \\n \\n '"
47
- ]
48
- },
49
- "execution_count": 2,
50
- "metadata": {},
51
- "output_type": "execute_result"
52
- }
53
- ],
54
- "source": [
55
- "from natural_pdf import PDF\n",
56
- "\n",
57
- "# Load a PDF\n",
58
- "pdf = PDF(\"https://github.com/jsoma/natural-pdf/raw/refs/heads/main/pdfs/01-practice.pdf\")\n",
59
- "page = pdf.pages[0]\n",
60
- "\n",
61
- "# Create a region in the top portion of the page\n",
62
- "top_region = page.create_region(\n",
63
- " 50, # x0 (left)\n",
64
- " 50, # y0 (top)\n",
65
- " page.width - 50, # x1 (right)\n",
66
- " 200 # y1 (bottom)\n",
67
- ")\n",
68
- "\n",
69
- "# Visualize the region\n",
70
- "top_region.show(color=\"blue\", label=\"Top Region\")\n",
71
- "\n",
72
- "# Extract text from this region\n",
73
- "top_region.extract_text()"
74
- ]
75
- },
76
- {
77
- "cell_type": "markdown",
78
- "id": "326305f6",
79
- "metadata": {},
80
- "source": [
81
- "## Creating Regions from Elements"
82
- ]
83
- },
84
- {
85
- "cell_type": "code",
86
- "execution_count": 3,
87
- "id": "76a034f2",
88
- "metadata": {
89
- "execution": {
90
- "iopub.execute_input": "2025-04-21T21:32:14.113859Z",
91
- "iopub.status.busy": "2025-04-21T21:32:14.113455Z",
92
- "iopub.status.idle": "2025-04-21T21:32:14.187851Z",
93
- "shell.execute_reply": "2025-04-21T21:32:14.187217Z"
94
- }
95
- },
96
- "outputs": [
97
- {
98
- "data": {
99
- "text/plain": [
100
- "' INS-UP70N51NCL41R \\n Site: Durham’s Meatpacking Chicago, Ill. \\n Date: February 3, 1905 \\n Violation Count: 7 \\n \\n \\n '"
101
- ]
102
- },
103
- "execution_count": 3,
104
- "metadata": {},
105
- "output_type": "execute_result"
106
- }
107
- ],
108
- "source": [
109
- "# Find an element to create regions around\n",
110
- "title = page.find('text:contains(\"Jungle Health\")')\n",
111
- "\n",
112
- "# Create regions relative to this element\n",
113
- "below_title = title.below(height=100)\n",
114
- "right_of_title = title.right(width=200) \n",
115
- "above_title = title.above(height=50)\n",
116
- "\n",
117
- "# Visualize these regions\n",
118
- "below_title.show(color=\"green\", label=\"Below\")\n",
119
- "right_of_title.show(color=\"red\", label=\"Right\")\n",
120
- "above_title.show(color=\"orange\", label=\"Above\")\n",
121
- "\n",
122
- "# Extract text from the region below the title\n",
123
- "below_title.extract_text()"
124
- ]
125
- },
126
- {
127
- "cell_type": "markdown",
128
- "id": "ad3b2337",
129
- "metadata": {},
130
- "source": [
131
- "## Finding Elements Within Regions"
132
- ]
133
- },
134
- {
135
- "cell_type": "code",
136
- "execution_count": 4,
137
- "id": "633bdc8b",
138
- "metadata": {
139
- "execution": {
140
- "iopub.execute_input": "2025-04-21T21:32:14.189588Z",
141
- "iopub.status.busy": "2025-04-21T21:32:14.189354Z",
142
- "iopub.status.idle": "2025-04-21T21:32:14.245744Z",
143
- "shell.execute_reply": "2025-04-21T21:32:14.245287Z"
144
- }
145
- },
146
- "outputs": [
147
- {
148
- "data": {
149
- "text/plain": [
150
- "3"
151
- ]
152
- },
153
- "execution_count": 4,
154
- "metadata": {},
155
- "output_type": "execute_result"
156
- }
157
- ],
158
- "source": [
159
- "# Create a region for a specific document section\n",
160
- "form_region = page.create_region(50, 100, page.width - 50, 300)\n",
161
- "\n",
162
- "# Find elements only within this region\n",
163
- "labels = form_region.find_all('text:contains(\":\")') \n",
164
- "\n",
165
- "# Visualize the region and the elements found\n",
166
- "form_region.show(color=(0, 0, 1, 0.2), label=\"Form Region\")\n",
167
- "labels.show(color=\"purple\", label=\"Labels\")\n",
168
- "\n",
169
- "# Count the elements found\n",
170
- "len(labels)"
171
- ]
172
- },
173
- {
174
- "cell_type": "markdown",
175
- "id": "1016d6de",
176
- "metadata": {},
177
- "source": [
178
- "## Expanding and Adjusting Regions"
179
- ]
180
- },
181
- {
182
- "cell_type": "code",
183
- "execution_count": 5,
184
- "id": "ef6db1c1",
185
- "metadata": {
186
- "execution": {
187
- "iopub.execute_input": "2025-04-21T21:32:14.247620Z",
188
- "iopub.status.busy": "2025-04-21T21:32:14.247431Z",
189
- "iopub.status.idle": "2025-04-21T21:32:14.297797Z",
190
- "shell.execute_reply": "2025-04-21T21:32:14.297383Z"
191
- }
192
- },
193
- "outputs": [
194
- {
195
- "data": {
196
- "text/plain": [
197
- "'Summary: Worst of any, however, were the fertilizer men\\nThese people could not be shown to the visitor - for the o\\nvisitor at a hundred yards, and as for the other men, who\\nsome of which there were open vats near the level of the\\ninto the vats; and when they were fished out, there was n\\nexhibiting - sometimes they would be overlooked for days\\nto the world as Durham’s Pure Leaf Lard!\\n '"
198
- ]
199
- },
200
- "execution_count": 5,
201
- "metadata": {},
202
- "output_type": "execute_result"
203
- }
204
- ],
205
- "source": [
206
- "# Find an element to work with\n",
207
- "element = page.find('text:contains(\"Summary:\")')\n",
208
- "\n",
209
- "# Create a tight region around the element\n",
210
- "tight_region = page.create_region(\n",
211
- " element.x0, element.top, \n",
212
- " element.x1, element.bottom\n",
213
- ")\n",
214
- "\n",
215
- "# Expand it to include surrounding content\n",
216
- "expanded_region = tight_region.expand(\n",
217
- " left=10, # Expand 10 points to the left\n",
218
- " right=200, # Expand 200 points to the right\n",
219
- " top=5, # Expand 5 points above\n",
220
- " bottom=100 # Expand 100 points below\n",
221
- ")\n",
222
- "\n",
223
- "# Visualize both regions\n",
224
- "tight_region.show(color=\"red\", label=\"Original\")\n",
225
- "expanded_region.show(color=\"blue\", label=\"Expanded\")\n",
226
- "\n",
227
- "# Extract the content from the expanded region\n",
228
- "expanded_region.extract_text()"
229
- ]
230
- },
231
- {
232
- "cell_type": "markdown",
233
- "id": "3a0a59e5",
234
- "metadata": {},
235
- "source": [
236
- "## Creating Bounded Regions"
237
- ]
238
- },
239
- {
240
- "cell_type": "code",
241
- "execution_count": 6,
242
- "id": "083c200e",
243
- "metadata": {
244
- "execution": {
245
- "iopub.execute_input": "2025-04-21T21:32:14.299580Z",
246
- "iopub.status.busy": "2025-04-21T21:32:14.299178Z",
247
- "iopub.status.idle": "2025-04-21T21:32:14.330220Z",
248
- "shell.execute_reply": "2025-04-21T21:32:14.329836Z"
249
- }
250
- },
251
- "outputs": [
252
- {
253
- "data": {
254
- "text/plain": [
255
- "' Jungle Health and Safety Inspection Service\\n INS-UP70N51NCL41R \\nSite: Durham’s Meatpacking Chicago, Ill. ...'"
256
- ]
257
- },
258
- "execution_count": 6,
259
- "metadata": {},
260
- "output_type": "execute_result"
261
- }
262
- ],
263
- "source": [
264
- "# Find two elements to serve as boundaries\n",
265
- "start_elem = page.find('text:contains(\"Summary:\")')\n",
266
- "end_elem = page.find('text:contains(\"Statute\")')\n",
267
- "\n",
268
- "# Create a region from start to end element\n",
269
- "bounded_region = start_elem.until(end_elem)\n",
270
- "\n",
271
- "# Visualize the bounded region\n",
272
- "bounded_region.show(color=\"green\", label=\"Bounded Region\")\n",
273
- "\n",
274
- "# Extract text from this bounded region\n",
275
- "bounded_region.extract_text()[:200] + \"...\" if len(bounded_region.extract_text()) > 200 else bounded_region.extract_text()"
276
- ]
277
- },
278
- {
279
- "cell_type": "markdown",
280
- "id": "231224fa",
281
- "metadata": {},
282
- "source": [
283
- "## Working with Multiple Regions"
284
- ]
285
- },
286
- {
287
- "cell_type": "code",
288
- "execution_count": 7,
289
- "id": "d520009e",
290
- "metadata": {
291
- "execution": {
292
- "iopub.execute_input": "2025-04-21T21:32:14.331874Z",
293
- "iopub.status.busy": "2025-04-21T21:32:14.331693Z",
294
- "iopub.status.idle": "2025-04-21T21:32:14.410562Z",
295
- "shell.execute_reply": "2025-04-21T21:32:14.410194Z"
296
- }
297
- },
298
- "outputs": [
299
- {
300
- "data": {
301
- "text/plain": [
302
- "{'header': ' \\n \\n \\n Jungle Health and Safety Inspection Service\\n INS-UP70N51NCL41R \\n \\n Site: Durham’s Meatpacking Chicago, Ill. ',\n",
303
- " 'main': 'ruary 3, 1905 \\nCount: 7 ...',\n",
304
- " 'footer': ' Jungle Health and Safety Inspection Service \\n \\n '}"
305
- ]
306
- },
307
- "execution_count": 7,
308
- "metadata": {},
309
- "output_type": "execute_result"
310
- }
311
- ],
312
- "source": [
313
- "# Define multiple regions to extract different parts of the document\n",
314
- "header_region = page.create_region(0, 0, page.width, 100)\n",
315
- "main_region = page.create_region(100, 100, page.width - 100, page.height - 150)\n",
316
- "footer_region = page.create_region(0, page.height - 50, page.width, page.height)\n",
317
- "\n",
318
- "# Visualize all regions\n",
319
- "header_region.show(color=\"blue\", label=\"Header\")\n",
320
- "main_region.show(color=\"green\", label=\"Main Content\")\n",
321
- "footer_region.show(color=\"red\", label=\"Footer\")\n",
322
- "\n",
323
- "# Extract content from each region\n",
324
- "document_parts = {\n",
325
- " \"header\": header_region.extract_text(),\n",
326
- " \"main\": main_region.extract_text()[:100] + \"...\",\n",
327
- " \"footer\": footer_region.extract_text()\n",
328
- "}\n",
329
- "\n",
330
- "# Show what we extracted\n",
331
- "document_parts"
332
- ]
333
- },
334
- {
335
- "cell_type": "markdown",
336
- "id": "3168edfa",
337
- "metadata": {},
338
- "source": [
339
- "## Creating an Image of a Region"
340
- ]
341
- },
342
- {
343
- "cell_type": "code",
344
- "execution_count": 8,
345
- "id": "eb460e68",
346
- "metadata": {
347
- "execution": {
348
- "iopub.execute_input": "2025-04-21T21:32:14.412800Z",
349
- "iopub.status.busy": "2025-04-21T21:32:14.412651Z",
350
- "iopub.status.idle": "2025-04-21T21:32:14.469471Z",
351
- "shell.execute_reply": "2025-04-21T21:32:14.469002Z"
352
- }
353
- },
354
- "outputs": [
355
- {
356
- "data": {
357
- "image/png": "iVBORw0KGgoAAAANSUhEUgAABPsAAADOCAYAAABIHAc6AAChsUlEQVR4Ae2dB6DsRNXH5yGKSpUiCtKLIIgCgtKLAhY6ikgXVJogihQBfTwUCwofXbqiiALSRFBAFFFUpEgVlCIdUVSkWLDkO7+jJ2Zzs3uTvbt79977P3BfspPJZOY3k2Ry5syZaVlK9r9EBERABERABERABERABERABERABERABERABERgohOY2QuQSd83jBU5Y8YMz9b06dOHMXtTPk+qnynfBARABERABERABERABESgxwSij02y+g7qMdweJRd1pPrpEdAeJ6P66THQiZjctGlppomYb+VZBERABERABERABERABERABERABERABERABERgJAEp+0YyUYgIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAITEgCUvZNyGpTpkVABERABERABERABERABERABERABERABERgJAEp+0YyUYgIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAITEgC03w1Xi3QMZSVF441hzJzypQIiIAIiIAIiIAIiIAIiIAIiIAIiMBQEtACKkNZLYPJlBboGAxnXUUEREAEREAEREAEREAEREAEREAEREAEREAEBkFg5kFcRNcYGwFp5MfGr19nh+Wl6qdfhJWuCIiACIiACIiACIjAVCMQfWzKrX72cNZ+1JHqZ7jrZzhzp1wNioB89g2KtK4jAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAn0mIGVfnwEreREQAREQAREQAREQAREQAREQAREQAREQAREYFAEp+wZFWtcRAREQAREQAREQAREQAREQAREQAREQAREQgT4TkLKvz4CVvAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAgMioCUfYMireuIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIQJ8JSNnXZ8BKXgREQAREQAREQAREQAREQAREQAREQAREQAQGRUDKvkGR1nVEQAREQAREQAREQAREQAREQAREQAREQAREoM8EpOzrM2AlLwIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAKDIiBl36BI6zoiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIi0GcCUvb1GbCSFwEREAEREAEREAEREAEREAEREAEREAEREIFBEZh5UBfSdURABERABERABERABERABERABERABERgEASmTZvWk8tkWdaTdJSICAySgJR9g6Sta4mACIiACIiACIiACIiACIiACIiACAyMQDfKul4pCgdWSF1IBEoEpOwrAZmMPx9//PH01FNPpcUXXzzNMsssjYv497//Pd18883p1a9+dZp77rnbnv/vf/87Pfzww+kPf/hDWmKJJdKcc87ZNu5UPXD//fcneC666KLpJS95SSWGf/zjH+nee+/1Y8suu2xlnIkQ+Je//CU9+OCD6UUvepG3h4mQZ9rvs88+m17xilekl73sZSOyTNv+3e9+5+GLLbZYevGLXzwiTqTBvTL//POPON5twEMPPZSee+65tOCCC6Y55pijbTLDyv2vf/1ruuGGG7xN8KzgefS6172uY1naFrJPB/72t7+l3/zmN2m22WZLCy20kF9lonPvEyolKwIiIAIiIAJDTYC+9F133ZX4DqJft/TSS6dlllmmUZ6b9Knq9hcaZaAicnwn8B3B94RkdAIo+lDcNVH4SdE3OlfFGH4C8tk3/HU0phzyglthhRXSa17zmnT33Xd3ldYHPvCBtPrqq6eLL7648nw+4qdPn+7KPV46K6+8cpprrrnS61//+vSjH/2o8pxi4K677upKExQnnf6uueaa4mkTch+FKXWB8rSdoBAhzmtf+9p2USZEOGWkHJtuumlLflE877333t75ajkwBD922GEHz/OnPvWpytx89KMf9eOU6xvf+EZlnI022sjjnHvuuZXHuw3cZZddPN0rrriiYxLtuHc8qY8HUVB++MMfTgsssEBaZ5110o477ph23nnntPbaa7tC7ROf+ER6/vnn+5iD+klfcMEFznjPPffMT6riXtWGh417XgDtiIAIiIAIiMAUInD11Vf7d8tSSy3lfdDddtstbbbZZokBdPoe119/fW0a7d7tVf2Aqv5C7Qs1iPi9733P+yrbbLNNg7MUNRR+dUiEoq+JcrBOuoojAoMmIGXfoIkP8Ho8oHjxPPnkk11f9XOf+1z6yle+0vH8973vfenwww93iyisdVDuoLS79dZb03rrrZd+8pOfdDyfESqs3Ub768YqseOFdXBcCLzxjW9MJ5xwQnrmmWfG5fqdLvrmN7/ZD//4xz+ujFZUtH33u98dEef3v/+9jyJzYMMNNxxxfKoFPPLII2nVVVdNxxxzTKJjzD6DB3S6Z5111vT000+nT37y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is+ZsU6xHn4KyqEIiIAIiIAIiIAIiIAIiIAITFwCUvZN3LpTzkVABEoEWFl1/vnnT0yZxKpvlllmKcXQzzoEWIxj66239kUy8KPIqsEoAeEqEQEREAEREAEREAEREAEREAERGG4CUvYNd/0odyIgAg0IzDXXXGmLLbZocIaitiOArxum8UpEQAREQAREQAREQAREQAREQAQmFgH57JtY9aXcioAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiEBbAlL2tUWjAyIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIwsQhI2Tex6ku5FQEREAEREAEREAEREAEREAEREAEREAEREIG2BKTsa4tGB0RABERABERABERABERABERABERABERABERgYhGYlqWUpcz+lQwdgRkzZgxdnpQhERABERABERABERABERABERABERCB4SYwffr04c6gctc/AtOmJVn29Q+vUhYBERABERABERABERABERABERABERABERCBgRKQsm+guHUxERABERABERABERABERABERABERABERABEegfgZn7l7RS7hUBmd/2imRv04lp1qqf3nJVaiIgAiIgAiIgAiIgAlOXQPSxIaB+9nC2g6gj1c9w189w5k65GhQBWfYNirSuIwIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAJ9JiBlX58BK3kREAEREAEREAEREAEREAEREAEREAEREAERGBQBKfsGRVrXEQEREAEREAEREAEREAEREAEREAEREAEREIE+E5Cyr8+AlbwIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIDIqAlH2DIq3riIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiECfCUjZ12fASl4EREAEREAEREAEREAEREAEREAEREAEREAEBkVAyr5BkdZ1REAEREAEREAEREAEREAEREAEREAEREAERKDPBKTs6zNgJS8CIiACIiACIiACIiACIiACIiACIiACIiACgyIgZd+gSOs6IiACIiACIiACIiACIiACIiACIiACIiACItBnAlL29RmwkhcBERABERABERABERABERABERABERABERCBQRGYeVAX0nVEQAREQAREQAREQAREQAREQAREQAREYBAEpk2b1pPLZFnWk3SUiAgMkoCUfYOkPcGu9e9//zs9+OCD6c9//nNaaqml0qyzztpVCZ588sn00EMPpVe/+tVdp9HVhYfwpN///vcJHvPMM096+ctfPq45/Nvf/pZ+85vfpNlmmy0ttNBC45qXYb/4fffdl55//vkR2ZxlllnS7LPPnuadd97Uq87EiIsMScBf/vIXfx686EUvSkssscS45OqZZ55JjzzySK1rzz333Gn++eevFXcskXi2Pffcc2nBBRdMc8wxx1iS0rkiIAIiIAIiIAI9IPDwww+nW2+9NdHvXm655dLyyy+fXvrSl/Yg5fZJqD/Qns2wHGmqsJvsffthqRflo38ENI23f2zHJeU//OEPrlBDMVf1t+uuu46aLx6EJ5xwgiukFl988bTiiiu6QmPTTTf1j/1RE/hvhJ///OdplVVWSfPNN19aeeWV01xzzeW/CZ+qsscee6TXvOY16aijjhp3BBdccIHnZc899xz3vPQiA0899VTae++90+OPP96L5PI0/vWvf6Ull1zSWVF3xT+UXihtuU9mzJiRUKD2S6644or0yU9+sl/Jj0i3fL2bb77Zy85zYLzkxBNPbOFfrIvy/pFHHjmQbO6yyy6eJ3hNZim3h8lcVpVNBERABERgYhK4+uqr08ILL+x/m2yySeId/cY3vtG/YzbbbLNEX7FfMlX6A/3i1890Q8nXRHlH3Divn3lT2iLQTwKy7Osn3XFI+5ZbbklY4LSTp59+ut2hPPzoo49OH/3oR/03So5lllkm8aF36aWXpl/+8peJa2AN1knuuuuu9Ja3vCVhiYO1y4Ybbpiuu+66dOONN6b1118/XXbZZWmdddbplMSkPDZML41hyksvKpvO3K9//WtX+L3yla/sRZIj0sACstj2sfb77W9/mx544IF02GGH+fW/9rWvjThvrAHnnHNO2m677dJ73vOesSZV6/xBX69WpixStNkXvOAFaemll+542iCs+jpmYBIdHNb2MIkQqygiIAIiIAJjJMC7aocddkjMTFpggQXSGmus4d8gzFL6wQ9+kL71rW+lVVddNX3ve99zZeAYL6fTJxgB+pAo8Ooo8erEmWDFV3anKAEp+yZZxaOIQ3jZnXrqqb5f/IeP5E7CC/Lwww/3KAcccED63Oc+5/uPPvqof1wznfG0005LH/7whzslkw499FBX9GHZ98Mf/jC95CUvSVhIvfvd705YlH3hC1+Yksq+jtB0cEwE+jlaGxm76KKL3Eo1frNFuf6hD30onX766YmO5u67757WWmutYpQx7zOVfpBSdT3uZZ4vL37xiweZlcprrb322un73/9+5bFBB55xxhluKbDooosO+tIDu15VexjYxXUhERABERABEahBgO8evmPe+973ppNPPjnhdiTkjjvu8P7bPffck84880wfoI1jvdpOhf5Ar1iNVzp1FH5S9I1X7ei6/SCgabz9oDqOaYayjw9zPsrLfy984Qs75u7ee+9NYf23zz775HHxR7XVVlv571/84hd5eNXOP/7xj/xDfP/993dFH/FQNMaUUT7UeSFLkitBsYCMKaBYi11//fWJ6c4R1o7TE088ka699lq3mvzd737XLpqH//Of//R4v/rVrzrGi4NMCb/mmmtcwVPlry7isaXOsdy8++67PZi6pUx//etf82h///vfPQylb1koJ/HbtYlO5SQ9zg2rL/yn8bssTcpTPrfTb3zA0Kl82cte5tF+8pOf+DbyRdkoF3WKBWBZYMQ9xT2BlWBZUCZSJgTOlK2qPpqWD8U9o9tsi9LuejPPPLNPV37Vq17l0aPOaFdVEvVQrm9+33nnnYmpNlXlrUqrl2EMXNCuo43An/1oe7QjfldZSMexYruOadzh07RY7+QbJTQWBe3KGteP9ksbYYCkfP1nn33W840Poqr6D0Z1+JavCRPaAj6OytKuPZTj6bcIiIAIiIAIjBcBvl1+/OMf++U/9rGPtSj6CMRn38477+zHL7nkEt+W/6nz/uSdSB+Bdzb+AOmDxzu53B8ops97t1Nfj7jRxyi//4vHiv2PSB9fxvRrfvazn7mf9QjXtppA9LdQ6pVFir4yEf2e8ARsXRlr85JhJGDTAjP+moi9zFgqKDOFQ2YvrcxeAJkpCGonYS+RzD5aPQ17GbacZ6bvHv6JT3yiJbzqB9e0qbyZKQJaDl988cWehk3BawmfiD+6qZ8tt9zSy29Wk3mR7QXtYdtuu212yCGHZLbog/+mHk05m33605/OTBGRx2fn/PPPz2yqah6PuPy99rWvzWyqdEtc6nT77bfP5pxzzjy+WSFl++23n//eeOONW+KbMjB705velMclXRsdzaZPnz6iLZkCz9O2qdp5fFMGZWeddZb/ftvb3panvfrqq3vYd77znTwsdmyquB8zhVgE+bZOOU1Jll87OMw000x5Ok3Kk59U2KENR7pltoVo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xGc1NvJhir/iZX06R93ytJzY5x/2OE8srsO0aVZUto5a2ytSJ8Rj4Q4cMxelSX1xTaa0MJWfe7tqRWXS7nS94rWb7uO3Dh96PBP4o40NSpi2zPOI5yK+87h/+G3KvmTW0C3ZgDV++pgKY5aBLcfa/WCRI1MMevqs8ss0Ye47G/jw67U7r5fh/eLbr/bQy7IrLREQAREQgYlPIPrYlKSb7yDOw3cf30KsnEvftI706/3ZpK9HPpv2P/ATjCsYfBGG77865R1LnKijbutnLNfWuaMTUP2MzmjSx7Bv7ZknfSGnaAHxscTH7FgEpUPRN1+3abEaVaxI1W0aOq+VAHWD4pS/JhK+FOucY5ad+apeo8VHWVO3vRG3bj6alpP4KI+qpEl5qs7vVxhKz7r1SBnCp0s5P03KxzXp+I7W+e10vfL1m/wOJV+Tc3oVl0GLugMXLCJSVgA2zQern8dCOU3P7TZ+v/j2qz10W06dJwIiIAIiIALtCOCbj78m0q/3Z5O+Hvlt2v9gQFEiAiIgAmUCgzOnKF9Zv0VABERABERABERABERABERABERABERABERABHpKQMq+nuJUYiIgAkUCjGRKRGAiEOhVW+1VOhOBmfIoAiIgAiIgAiIgAiIgAiIwnAQ0jXc460W5EoEJTcBWl3U/KXX9nE3owirzE5qALUSRzIF2quPHsk5BbeVeb/u2AEid6IojAiIgAiIgAiIgAiIgAiIgAj0nIGVfz5EqQREQAVtVNvEnEYFhJ2Cr8fY0iyycwqIfEhEQAREQAREQAREQAREQAREYLwKaxjte5HVdERABERABERABERABERABERABERABERABEegxASn7egxUyYmACIiACIiACIiACIiACIiACIiACIiACIjAeBGQsm+8yOu6IiACIiACIiACIiACIiACIiACIiACIiACItBjAlL29RiokhMBERABERABERABERABERABERABERABERCB8SIgZd94kdd1RUAEREAEREAEREAEREAEREAEREAEREAERKDHBKZlKWUps38lQ0dgxowZQ5cnZUgEREAEREAEREAEREAEREAEREAERGC4CUyfPn24M6jc9Y/AtGlJln39w6uURUAEREAEREAEREAEREAEREAEREAEREAERGCgBGYe6NV0sa4ISCPfFba+nxSWl6qfvqPWBURABERABERABERABKYIgehjU1z1s4ez0qOOVD/DXT/DmTvlalAEZNk3KNK6jgiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAj0mYCUfX0GrORFQAREQAREQAREQAREQAREQAREQAREQAREYFAEpOwbFGldRwREQAREQAREQAREQAREQAREQAREQAREQAT6TEDKvj4DVvIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiMCgCUvYNirSuIwIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAJ9JiBlX58BK3kREAEREAEREAEREAEREAEREAEREAEREAERGBQBKfsGRVrXEQEREAEREAEREAEREAEREAEREAEREAEREIE+E5Cyr8+AlbwIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIDIqAlH2DIq3riIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiECfCUjZ12fASl4EREAEREAEREAEREAEREAEREAEREAEREAEBkVg5kFdSNcRAREQAREQAREQAREQAREQAREQAREQgUEQmDZt2pgvk2XZmNNQAiIwHgSk7BsP6rqmCIiACIiACIiACIiACIiACIiACIhAXwmMRVmHspC/saTR18IpcRHoQEDKvg5wJvqhv/71r+nuu+9O8803X1pwwQX9QdWkTP/4xz/Sfffdl2aeeea05JJLNjm1Je7TTz/t6bzmNa9Js8wyS8uxqfbj97//fXryySfTPPPMk17+8pcPrPh/+ctf0vXXX5/uvffe9IpXvCJtsMEG6cUvfnFqFz6ojD300EPpueee8/Y5xxxzDOqyLdcZa53885//TPfcc4+37cUXX7wl7WH4wf336KOPjsjKTDPNlGadddY099xzp5e+9KUjjk+VgGFog1OFtcopAiIgAiIgAoMg8PDDD6dbb7010cdbbrnl0vLLL9/3vo76E4OoWV1DBESgCQH57GtCa4LE/fWvf53WWGONhPJkpZVWSgsttJAr6y6//PJaJXj++efToYcemuacc8607LLLpqWWWirNP//8ad99903/+te/aqVBpLvuuiutvvrqaa655vJ8oODaYost0rXXXls7jckWcY899kgoPY866qiBFQ2F7ate9aq0/vrrpw984ANps802S6HIrQrvV8auuOKK9MlPfrIl+V122cV5cGy8ZKx18qMf/cjLsOWWW45XETpe9wtf+ILnj3ZX/FtmmWX82cB9vvnmm6cf//jHHdOZDAeHtQ1OBrYqgwiIgAiIgAiMN4Grr746Lbzwwv63ySabJPqZb3zjG9Pss8/u/d+nnnqqb1kchj5t3wqnhEVABCYkAVn2Tchqa5/pG264Ib3lLW9JWPOg5HvTm96U+MC9//77/YP+hz/8YVpttdXaJ2BH9tprr3T66ad7nFVWWcWVft///vfTscce6+lccsklo1oJYlG48sorJ6wLsWDbaKON0m9/+9t08cUXJ9L62c9+5orEjhmZhAfHwwT8E5/4RPrTn/7kFp4odbDkotOz++67V4b3A/s555yTtttuu/Se97ynH8mPKc2x1slYzx9T5mucHPnDknOxxRbLz/j3v/+dnn322fTYY48l7unvfe97rvB7/etfn8eZTDvD3AYnE2eVRQREQAREQATGgwDv+R122CHRv1lggQVyw4cHH3ww/eAHP0jf+ta30qqrrur9HRSCEhEQARGY7ASk7JtkNYxiB0Xfm9/85nTllVcmpurxQf/Od77TlX6f/vSn06WXXtq21Lfffnuu6Dv//PP9PCLfcsstacUVV/Rzb775ZlfktU3EDuy5556u6ENxQD6YSox86Utf8lG2TTfdNN10001ufegH9E/fCDzwwAOeNtaa++yzT36dduF5hB7u/PnPf65M7YwzzkiMsi666KKVxydCIApxlOwoUIdZGASouvevueYaV8Si9Ntvv/0So+KTUSZzG5yM9aUyiYAIiIAIiEATAqeeeqor+t773vemk08+Ob3oRS/KT7/jjjv82wW3K2eeeWY67LDD8mO92pkMfdpesVA6IiACw0FA03iHox56kgsUct/97nddsXb22We7oo+EZ5ttNp+Wu/TSS486DZfzEfxbbLXVVr7PPyjt1lprLf+NBVAnQbmIAgH54he/mCv6+M0LmCnG+I779re/TdCUF6ZGP/PMM+lvf/ubs2AaNf71fv7zn+dh7SD94Q9/cNbUPecVham6pBtKjiWWWMJ/Y21ZFY7vuaJ0SrsYL/aZLkzbYFsU/ALilw+JPEVesfrEzx2+47BAI1/ErxLy1+5407xWpV8MC0ZhFYfPO8qGD5iyoOR79atf7Za0caxTWeIY1wihzJSNY/iXYao7jP7+9797ONyqJPJZrruquO3C1l13XVfycZw2F1P12+WpnE4n9lHWftRpk/uG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dNxuBWtbrMqYnoEPTu6nYZB+se9nunXbIO2aDj/x6TRXdeSHoQ6UBxEQAREQARGYTASij02Zuv0Owncfi9nh4og+ch1BWcbKu8xS4a8bi76q6zTtTzTtO955552+gCLfa+H7ryofvQyLOuq2fnqZF6U1koDqZySTKRdiSu6RJllTjsLkLfB8882X+OtWMIlHUTgWYQQMK5iiJcxY0tO5rQSoI5RM/ZAmaTNaRkdqtM4UacZ0yl7muUlee3ld0oop8EwNqRJ8DfbCkpWRZvwhbrDBBkOj6KO8/WLfz3TrtkHaNVN5JCIgAiIgAiIgAhOLAAOk/DWRUPI1OadO3Kb9iaZ9R1znSERABESgTEDKvjIR/RYBERCBGgSYSo1zZKZcILGim//o0T+MBOOPkanA+GChs3jQQQf1KHUlIwIiIAIiIAIiIAIiIAIiIAIiMBkJSNk3GWtVZRIBEeg7ARZp+L//+z+/zrzzzusrtfb6oij3br31VvcXR9r4kcN3n0QEREAEREAEREAEREAEREAEREAE2hGQsq8dGYWLgAiIQAcC2267bWIhnFlmmcVXrUbh1w9BqYjvzNVWW01TSvsBWGmKgAiIgAiIgAiIgAiIgAiIwCQjIGXfJKtQFUcERGAwBBZZZJHEX7+FVdX4k4iACIiACIiACIiACIiACIiACIhAHQIz1YmkOCIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAsNPQMq+4a8j5VAEREAEREAEREAEREAEREAEREAEREAEREAEahGQsq8WJkUSAREQAREQAREQAREQAREQAREQAREQAREQgeEnIGXf8NeRcigCIiACIiACIiACIiACIiACIiACIiACIiACtQhI2VcLkyKJgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIwPATmJallKXM/pUMHYEZM2YMXZ6UIREQAREQAREQAREQAREQAREQAREQgeEmMH369OHOoHLXPwLTpiVZ9vUPr1IWAREQAREQAREQAREQAREQAREQAREQAREQgYESmHmgV9PFuiIgjXxX2Pp+Ulheqn76jloXEAEREAEREAEREAERmCIEoo9NcdXPHs5KjzpS/Qx3/Qxn7pSrQRGQZd+gSOs6IiACIiACIiACIiACIiACIiACIiACIiACItBnAlL29RmwkhcBERABERABERABERABERABERABERABERCBQRGQsm9QpHUdERABERABERABERABERABERABERABERABEegzASn7+gxYyYuACIiACIiACIiACIiACIiACIiACIiACIjAoAhI2Tco0rqOCIiACIiACIiACIiACIiACIiACIiACIiACPSZgJR9fQas5EVABERABERABERABERABERABERABERABERgUASk7BsUaV1HBERABERABERABERABERABERABERABERABPpMQMq+PgNW8iIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIwKAJS9g2KtK4jAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAn0mIGVfnwEreREQAREQAREQAREQAREQAREQAREQAREQAREYFIGZB3UhXUcEREAEREAEREAEREAEREAEREAEREAEBkFg2rRpPblMlmU9SUeJiMAgCUjZN0jaupYIiIAIiIAIiIAIiIAIiIAIiIAIiMBACIxFUdcrZeFACqqLiECJgJR9JSD6OZLA3//+93TzzTenV7/61WnuueceGUEhtQn8+te/Tv/6179Gjf/KV74yzTXXXKPGK0d46KGH0nPPPZcWXHDBNMccc6R//OMf6d57700veclL0qKLLlqOPul/P/300+nRRx8dUc6ZZpopzTrrrN6eX/rSl444PtEDBlHvDz/8cLr11lvT73//+7Tccsul5ZdfPk1kls8++2yiTKPdK0888UT64x//mOabb74077zzTvSmkv72t7+l3/zmN2m22WZLCy200IQoT/E5usQSS6QXvehFbfP9u9/9Lv3hD3/w490+V9sm3sMD5Wd306Qfe+yx9Oc//zktvPDC/mxrer7ii4AIiMBkI0D/96677kqPP/54esUrXpGWXnrptMwyyzQq5l/+8pf04IMP+nuG900nGetzvFPaxWOD6OMVr6d9ERCBiUtAPvsmbt2NyPmuu+6aXvziF4/6d80114w4t1PABz7wgbT66quniy++uFO0Ecf2228//+hAqVL1d9999404Z7IHrLXWWuk1r3nNqH8XXHBBVyh22WUXT/uKK67w87/3ve/572222aar9AZ1Evn95Cc/2fPLfeELX6hkTWcPxcacc86ZNt988/TjH/+459cezwT7We9XX321KxRQKmyyySaJNvfGN74xzT777GmzzTZLTz311IiiE7b33nt7h3vEwSEJOOWUU7yt7LDDDh1ztOOOO3q8k08+uWO8iXKQZw3PpD333HNCZBlFKwNP8Rw977zzOuZ7++23rx23U0L9bsPlZ3envFQd22KLLbycP/rRj6oOK0wEREAEpgwB+il8tyy11FJp0003Tbvttpv3T5Zddtm09tprp+uvv742C4wdeN+QTlGq3gljfY4X0++0388+Xqfr6pgIiMDEIyDLvolXZ21zzEgPVnijySyzzDJalPz45z73ufSVr3wl/91k5+c//3liRKydYFEyVeVVr3qVK0falX/++edvd2jShZ9zzjlpu+22S+95z3t6XrYw20cJvthii+Xp//vf/05YcmENc8kllyQ6Tij8Xv/61+dxtDOSAHWFMgx+CyywQFpjjTXcgpRR7x/84AfpW9/6Vlp11VWdJ8rAEJSBWGOh8MO6aiJLtKmJXIZi3idaecr5Pf/88xMKvSrBqu/73/9+1aHGYZOpDTcuvE4QAREQgQlCgEHeAw880PspDOhuuOGGaZ555kk//OEP3cqPAZH1118/Mci85pprdl0qvRO6RqcTRUAEBkhAyr4Bwu73pc4444x06qmnjrjMP//5T/8ov+2229wKZ7XVVhsRpxyAyTuWHk2t+SIdPsi4HvKrX/3KLYHiWGybKB3jnMmyPemkk9wqqtfloQ0w2jiRpuwy9azf8pa3vCVdeumlIy6DlSuKRpR+WKIyGixpT4DnC4q+9773vQnLtuL0yTvuuCOtvPLK6Z577klnnnlmOuyww/KEaJMSEegHAT7YmK6P24KyfPOb36zlNqF8XtXvfrfhifjsruKkMBEQAREYLwL04Q444IDENwizNs4666yWdwPTerfccst0++23p3e+850+PXe0b5FVVlkl3XLLLT5rqliuqneCnuNFQtoXAREYBgKaxjsMtdCjPLzwhS+snMJ77LHHuuINqyWUTKPJDTfc4CbrKPqYmveyl71stFNGHL///vv9A4zRNHxkVE0vlsPTEdg6BuAr7Nprr03XXXddwmKlSl7+8penxRdfvKPPJqw/n3nmmcqPYKwtOYZCB8G/IL8JJ4ypDw888IAfK/5DvDvvvNOVZb/97W+LhzruY/mJj0EEy1Su9fzzz48455FHHvG08RFXdXzECTUD1l13XVfyER1L1PCnSL7ICx1GfNLBveq6o+WryI9r0DnEAq4OI/yMoYykk1l17WLa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CIjAEBGQsm+IKkNZEQERmFwEWGiERVWGQeaaa65kq+gOQ1aUBxEQAREQAREQAREQAREQAREQgT4SkM++PsJV0iIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIwSAJS9g2Stq4lAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAn0kIGVfH+EqaREQAREQAREQAREQAREQAREQAREQAREQAREYJAEp+wZJW9cSAREQAREQAREQAREQAREQAREQAREQAREQgT4SkLKvj3CVtAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAgMksC0LKUsZfavZOgIzJgxY+jypAyJgAiIgAiIgAiIgAiIgAiIgAiIgAgMN4Hp06cPdwaVu/4RmDYtybKvf3iVsgiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAgMlMDMA72aLtYVAWnku8LW95PC8lL103fUuoAIiIAIiIAIiIAIiMAUIRB9bIqrfvZwVnrUkepnuOtnOHOnXA2KgCz7BkVa1xEBERABERABERABERABERABERABERABERCBPhOQsq/PgJW8CIiACIiACIiACIiACIiACIiACIiACIiACAyKgJR9gyKt64iACIiACIiACIiACIiACIiACIiACIiACIhAnwlI2ddnwEpeBERABERABERABERABERABERABERABERABAZFQMq+QZHWdURABERABERABERABERABERABERABERABESgzwSk7OszYCUvAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAoMiIGXfoEjrOiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiLQZwJS9vUZsJIXAREQAREQAREQAREQAREQAREQAREQAREQgUERkLJvUKR1HREQAREQAREQAREQAREQAREQAREQAREQARHoMwEp+/oMWMmLgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIwKAIzDyoC+k6IiACIiACIiACIiACIiACIiACIiACIjAIAtOmTevJZbIs60k6SkQEBklAyr5B0h7gtf7973+nBx98MP35z39OSy21VJp11lkbX52H2n333ZdmnnnmtOiiizY+P0545plnPJ3ZZ5/d03nBC14Qh6bU9p///Ge65557vMxLLrlkeuELXzgu5X/ooYfSc889lxZccME0xxxzDCwPtKWf/vSniZfu61//+rTccsvVuvbdd9+daIvzzTdfmnfeeWudU4z0t7/9Lf3mN79Js802W1pooYWKh7RfIvDrX/86/etf/yqFjvz5yle+Ms0111xpvNpS5Oivf/1ruuOOO/yPtrHCCiukRRZZJA6PefuXv/wlXX/99enee+9Nr3jFK9IGG2yQXvziF4853bEm8Kc//Sn99re/9WS4h7mX2wn3DvcQwrOc94FEBERABERABCYzgYcffjjdeuut6fe//733N5dffvn00pe+tK9FHu8+UV8LN8ETH4uirlfKwgmOUNmfoAQ0jXeCVly7bPMwO+GEE9I888yTFl988bTiiismlGybbrqpK//anVcM52P/M5/5TJpzzjn9w3CxxRbzF+XHPvax9Pzzzxejdtz/2c9+llZbbTVXKJEPFFwoXA444ID07LPPdjx3Mh588skn02te8xr/e/zxx8etiLvssovn4YorrhhYHj70oQ95/e+www5p++23T1/60pdqXfv2229Pyy67rOeXc7uRCy64wM/fc889uzl96M556qmn0t5775360YbWWmstZxXttN0Wpsh4tCWui7J611139Wfbqquu6vngGcegBEq/Cy+8kGhjEpTTr3rVq9L666+fPvCBD6TNNtss/eMf/2icJvfZJz/5ycbndTph+vTpeT2tu+66naK6gj3qcZ111ukYVwdFQAREQAREYCITuPrqq9PCCy/sf5tsson3D974xjd6f4H3OH2ofsl49Yn6VR6lKwIiMPEJyLJv4tdhSwmOPvro9NGPftTDUK4ts8wyiY/NSy+9NP3yl79Mt9xyiyvcWk4q/Xjf+96XvvzlL3soH5JYylx11VXps5/9bEJhddppp5XOGPkTJc16662XsKrCgg2LmPvvv98tTD7/+c+nO++8M1122WUjT1TIpCOANeNxxx3n5aI9YdVHB6yOnHHGGXk02jEWeiifm8hYRvOaXGdQcem0YoGHwg8Lu34ISi4GCdrJ/PPP3+5Q38OxkIUBzxBGW2lTtImwwnvggQfSO9/5znTEEUckBii6lU984hMJCzosSjfffPM099xzd2RSdZ1zzjknbbfdduk973lP1eGuw4ptGqvDX/ziFz6wU5XgN77xjapghYmACIiACIjApCLAO5eBYWY3LbDAAmmNNdZwgwNmOv3gBz9I3/rWtxIDhN/73vdcGTipCq/CiIAIiEAFASn7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",
358
- "text/plain": [
359
- "<PIL.Image.Image image mode=RGBA size=1275x206>"
360
- ]
361
- },
362
- "execution_count": 8,
363
- "metadata": {},
364
- "output_type": "execute_result"
365
- }
366
- ],
367
- "source": [
368
- "# Find a region of interest\n",
369
- "table_header = page.find('text:contains(\"Statute\")')\n",
370
- "table_region = table_header.below(height=100)\n",
371
- "\n",
372
- "# Visualize the region\n",
373
- "table_region.show(color=\"purple\", label=\"Table Region\")\n",
374
- "\n",
375
- "# Create an image of just this region\n",
376
- "table_region.to_image(resolution=150)"
377
- ]
378
- },
379
- {
380
- "cell_type": "markdown",
381
- "id": "20c711fe",
382
- "metadata": {},
383
- "source": [
384
- "Regions allow you to precisely target specific parts of a document for extraction and analysis. They're essential for handling complex document layouts and isolating the exact content you need. "
385
- ]
386
- }
387
- ],
388
- "metadata": {
389
- "jupytext": {
390
- "cell_metadata_filter": "-all",
391
- "main_language": "python",
392
- "notebook_metadata_filter": "-all",
393
- "text_representation": {
394
- "extension": ".md",
395
- "format_name": "markdown"
396
- }
397
- },
398
- "language_info": {
399
- "codemirror_mode": {
400
- "name": "ipython",
401
- "version": 3
402
- },
403
- "file_extension": ".py",
404
- "mimetype": "text/x-python",
405
- "name": "python",
406
- "nbconvert_exporter": "python",
407
- "pygments_lexer": "ipython3",
408
- "version": "3.10.13"
409
- }
410
- },
411
- "nbformat": 4,
412
- "nbformat_minor": 5
413
- }