import streamlit as st
from layout import gray_container, card_grid, key_concept, research_question
def render():
"""Module 2: Text-Image Relations in Historical Archives"""
st.title("Module 2: Text-Image Relations in Historical Archives")
col1, col2 = st.columns([1, 1])
with col1:
textual_content = """
Textual Elements
- Typography: Varying fonts, sizes, and styles
- Layout: Columns, margins, and spacing
- Marginalia: Notes, comments, and additions
- Decorative Text: Illuminated letters and calligraphy
"""
gray_container(textual_content)
visual_content = """
Visual Elements
- Illustrations: Diagrams, maps, and artistic representations
- Watermarks: Hidden identifiers that locate documents
- Damage: Tears, stains, and fading affecting legibility
- Material Features: Paper quality and physical dimensions
"""
gray_container(visual_content)
with col2:
interdependence_content = """
Interdependence
The relationship between text and image in historical documents exists on a complex spectrum:
- Text functions as image (decorative headings)
- Images function as text (symbolic representations)
- Layout creates meaning through visual organization
- Material conditions affect both textual and visual elements
"""
gray_container(interdependence_content)
# Display an example image
st.image("https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Book_of_Kells_folio_292r.jpg/800px-Book_of_Kells_folio_292r.jpg",
caption="Book of Kells - Example of text-image integration")
# OCR Challenges section
challenge_content = """
OCR Challenges
These complex text-image relationships create particular challenges for OCR:
"""
gray_container(challenge_content)
# Cards for OCR challenges
cards = [
"""
Distinguishing Text from Decoration
Where does ornamental text end and functional text begin?
""",
"""
Handling Illustrations
Should they be processed as images or described as text?
""",
"""
Interpreting Layout
How to capture the significance of spacing and organization?
""",
"""
Preserving Context
Maintaining the relationship between textual and visual elements
"""
]
card_grid(cards)
# Research question box
research_content = """
Research Question
How do we approach documents where the visual presentation is as meaningful as the textual content itself?
"""
research_question(research_content)