# muhammedska/seka architecture

> Architecture diagram of the GitHub repository muhammedska/seka, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/muhammedska/seka
- Repository: https://github.com/muhammedska/seka

## Overview

This tree contains several independent desktop tools rather than one integrated application: a Shotty screenshot utility, a coordinate-driven page-capture/PDF tool, and a minimal screenshot launcher. The principal workflow shown in the source is selecting a screen region, capturing images, and assembling them into a PDF. Separate image-upscaling experiments and model files are present, but their relationship to the applications is not established. The graph reflects sampled calls; unsampled UI and processing details are intentionally limited.

Main entry points: [`ztrinatör.py`](https://github.com/muhammedska/seka/blob/main/ztrinat%C3%B6r.py) (Scanner interface), [`move/app.py`](https://github.com/muhammedska/seka/blob/main/move/app.py) (Tray application), [`ztrinatörAI.py`](https://github.com/muhammedska/seka/blob/main/ztrinat%C3%B6rAI.py) (AI capture workflow), [`move/shotty_gui.py`](https://github.com/muhammedska/seka/blob/main/move/shotty_gui.py) (Capture interface)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_shotty["Shotty Screenshots"]
  node_shotty_app["Tray application<br/>[app.py]"]
  node_shotty_ui["Capture interface<br/>[shotty_gui.py]"]
  node_shotty_utils["Screen utilities<br/>[utils.py]"]
  node_image_files[("Captured images")]
end

subgraph group_scanner["Page Capture"]
  node_scanner_ui["Scanner interface<br/>[ztrinatör.py]"]
  node_scanner_screen(("Desktop capture"))
  node_page_images[("Page image files")]
  node_pdf_output["PDF output"]
  node_ai_scanner["AI capture workflow<br/>[ztrinatörAI.py]"]
end

subgraph group_launcher["Screenshot Launcher"]
  node_launcher_ui["Main window<br/>[main.py]"]
  node_snapshot_ui["Snapshot window<br/>[main.py]"]
  node_snapshot_layout["Snapshot layout<br/>[snapshot.ui]"]
end

subgraph group_imaging["Image Processing"]
  node_upscale_experiments["Upscaling experiments<br/>[test3.py]"]
  node_edsr_model["EDSR weights<br/>[EDSR_x4.pb]"]
  node_realesrgan_model["RealESRGAN weights"]
end

node_user(("Desktop user"))
node_screen(("Desktop screen"))

node_user -->|"uses tray"| node_shotty_app
node_shotty_app -->|"opens capture"| node_shotty_ui
node_shotty_app -->|"captures screen"| node_shotty_utils
node_shotty_utils -->|"reads pixels"| node_screen
node_shotty_ui -->|"saves captures"| node_image_files
node_user -->|"sets coordinates"| node_scanner_ui
node_scanner_ui -->|"captures region"| node_scanner_screen
node_scanner_ui -->|"writes pages"| node_page_images
node_scanner_ui -->|"creates PDF"| node_pdf_output
node_user -->|"starts capture"| node_ai_scanner
node_ai_scanner -->|"captures region"| node_scanner_screen
node_ai_scanner -->|"writes images"| node_page_images
node_user -->|"opens launcher"| node_launcher_ui
node_launcher_ui -->|"opens snapshot"| node_snapshot_ui
node_snapshot_ui -->|"loads layout"| node_snapshot_layout
node_user -.->|"runs experiments"| node_upscale_experiments
node_upscale_experiments -.->|"loads model"| node_edsr_model

click node_shotty_app "https://github.com/muhammedska/seka/blob/main/move/app.py"
click node_shotty_ui "https://github.com/muhammedska/seka/blob/main/move/shotty_gui.py"
click node_shotty_utils "https://github.com/muhammedska/seka/blob/main/move/utils.py"
click node_scanner_ui "https://github.com/muhammedska/seka/blob/main/ztrinat%C3%B6r.py"
click node_ai_scanner "https://github.com/muhammedska/seka/blob/main/ztrinat%C3%B6rAI.py"
click node_launcher_ui "https://github.com/muhammedska/seka/blob/main/main.py"
click node_snapshot_ui "https://github.com/muhammedska/seka/blob/main/main.py"
click node_snapshot_layout "https://github.com/muhammedska/seka/blob/main/UI/snapshot.ui"
click node_upscale_experiments "https://github.com/muhammedska/seka/blob/main/test3.py"
click node_edsr_model "https://github.com/muhammedska/seka/blob/main/EDSR_x4.pb"
click node_realesrgan_model "https://github.com/muhammedska/seka/blob/main/weights/RealESRGAN_x4plus.pth"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_shotty_app,node_shotty_ui,node_shotty_utils,node_image_files,node_user,node_screen toneBlue
class node_scanner_ui,node_scanner_screen,node_page_images,node_pdf_output,node_ai_scanner toneAmber
class node_launcher_ui,node_snapshot_ui,node_snapshot_layout toneMint
class node_upscale_experiments,node_edsr_model,node_realesrgan_model toneRose
```

## Components

### Shotty Screenshots

- [Tray application](https://github.com/muhammedska/seka/blob/main/move/app.py): `move/app.py`
- [Capture interface](https://github.com/muhammedska/seka/blob/main/move/shotty_gui.py): `move/shotty_gui.py`
- [Screen utilities](https://github.com/muhammedska/seka/blob/main/move/utils.py): `move/utils.py`
- **Captured images**

### Page Capture

- [Scanner interface](https://github.com/muhammedska/seka/blob/main/ztrinat%C3%B6r.py): `ztrinatör.py`
- **Desktop capture**
- **Page image files**
- **PDF output**
- [AI capture workflow](https://github.com/muhammedska/seka/blob/main/ztrinat%C3%B6rAI.py): `ztrinatörAI.py`

### Screenshot Launcher

- [Main window](https://github.com/muhammedska/seka/blob/main/main.py): `main.py`
- [Snapshot window](https://github.com/muhammedska/seka/blob/main/main.py): `main.py`
- [Snapshot layout](https://github.com/muhammedska/seka/blob/main/UI/snapshot.ui): `UI/snapshot.ui`

### Image Processing

- [Upscaling experiments](https://github.com/muhammedska/seka/blob/main/test3.py): `test3.py`
- [EDSR weights](https://github.com/muhammedska/seka/blob/main/EDSR_x4.pb): `EDSR_x4.pb`
- [RealESRGAN weights](https://github.com/muhammedska/seka/blob/main/weights/RealESRGAN_x4plus.pth): `weights/RealESRGAN_x4plus.pth`

### Other components

- **Desktop user**
- **Desktop screen**

## Connections

- Desktop user → Tray application: uses tray
- Tray application → Capture interface: opens capture
- Tray application → Screen utilities: captures screen
- Screen utilities → Desktop screen: reads pixels
- Capture interface → Captured images: saves captures
- Desktop user → Scanner interface: sets coordinates
- Scanner interface → Desktop capture: captures region
- Scanner interface → Page image files: writes pages
- Scanner interface → PDF output: creates PDF
- Desktop user → AI capture workflow: starts capture
- AI capture workflow → Desktop capture: captures region
- AI capture workflow → Page image files: writes images
- Desktop user → Main window: opens launcher
- Main window → Snapshot window: opens snapshot
- Snapshot window → Snapshot layout: loads layout
- Desktop user → Upscaling experiments: runs experiments
- Upscaling experiments → EDSR weights: loads model
