Surya
Surya Layout Analysis¶
Here we use RT-DETR to detect analyze, its a example, and how it will ideally run.
In [2]:
Copied!
from omnidocs.tasks.layout_analysis.extractors.surya import SuryaLayoutDetector
from omnidocs.tasks.layout_analysis.extractors.surya import SuryaLayoutDetector
c:\Users\laxma\OneDrive\Desktop\CogLab\11-07-2025\Omnidocs\new\Lib\site-packages\transformers\utils\hub.py:111: FutureWarning: Using `TRANSFORMERS_CACHE` is deprecated and will be removed in v5 of Transformers. Use `HF_HOME` instead. warnings.warn(
In [6]:
Copied!
detector = SuryaLayoutDetector(show_log=True)
image_path = "assets/news_paper.png"
annotated_image, layout_output = detector.detect(image_path)
print(f"Detected {len(layout_output.bboxes)} elements")
detector = SuryaLayoutDetector(show_log=True)
image_path = "assets/news_paper.png"
annotated_image, layout_output = detector.detect(image_path)
print(f"Detected {len(layout_output.bboxes)} elements")
INFO [timestamp]2025-07-29 20:16:09[/] | [logger.name]omnidocs.tasks.layout_analysis.extractors.surya[/] | [function]surya.py:55[/] | [info]Initializing SuryaLayoutDetector[/]
INFO [timestamp]2025-07-29 20:16:09[/] | [logger.name]omnidocs.tasks.layout_analysis.extractors.surya[/] | [function]surya.py:55[/] | [info]Initializing SuryaLayoutDetector[/]
INFO [timestamp]2025-07-29 20:16:09[/] | [logger.name]omnidocs.tasks.layout_analysis.extractors.surya[/] | [function]surya.py:62[/] | [info]Using device: cuda[/]
INFO [timestamp]2025-07-29 20:16:09[/] | [logger.name]omnidocs.tasks.layout_analysis.extractors.surya[/] | [function]surya.py:62[/] | [info]Using device: cuda[/]
INFO [timestamp]2025-07-29 20:16:09[/] | [logger.name]omnidocs.tasks.layout_analysis.extractors.surya[/] | [function]surya.py:68[/] | [info]Found surya package at: c:\Users\laxma\OneDrive\Desktop\CogLab\11-07-2025\Omnidocs\new\Lib\site-packages\surya\__init__.py[/]
INFO [timestamp]2025-07-29 20:16:09[/] | [logger.name]omnidocs.tasks.layout_analysis.extractors.surya[/] | [function]surya.py:68[/] | [info]Found surya package at: c:\Users\laxma\OneDrive\Desktop\CogLab\11-07-2025\Omnidocs\new\Lib\site-packages\surya\__init__.py[/]
SUCCESS [timestamp]2025-07-29 20:16:11[/] | [logger.name]omnidocs.tasks.layout_analysis.extractors.surya[/] | [function]logging.py:196[/] | [success]Models initialized successfully[/]
SUCCESS [timestamp]2025-07-29 20:16:11[/] | [logger.name]omnidocs.tasks.layout_analysis.extractors.surya[/] | [function]logging.py:196[/] | [success]Models initialized successfully[/]
Recognizing layout: 100%|██████████| 1/1 [00:05<00:00, 5.97s/it]
INFO [timestamp]2025-07-29 20:16:17[/] | [logger.name]omnidocs.tasks.layout_analysis.extractors.surya[/] | [function]logging.py:150[/] | [info]detect completed in 6.17s[/]
INFO [timestamp]2025-07-29 20:16:17[/] | [logger.name]omnidocs.tasks.layout_analysis.extractors.surya[/] | [function]logging.py:150[/] | [info]detect completed in 6.17s[/]
Detected 65 elements
In [ ]:
Copied!
output_path = "output/surya_result.png"
detector.visualize((annotated_image, layout_output), output_path)
print(f"Saved visualization and json to {output_path}")
output_path = "output/surya_result.png"
detector.visualize((annotated_image, layout_output), output_path)
print(f"Saved visualization and json to {output_path}")
Saved visualization to output/surya_result.png
In [8]:
Copied!
from IPython.display import Image, display
# Display in notebook
display(Image(output_path))
from IPython.display import Image, display
# Display in notebook
display(Image(output_path))