# vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans architecture

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

- Interactive diagram: https://gitdiagram.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans
- Repository: https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans

## Overview

Lunar Image Registration is a Gradio and CLI prototype for aligning a source lunar image to a reference image. Users provide an image pair, optionally select feature, matching, transform, preprocessing, or sun-angle bridging settings, and receive a warped image, visual comparisons, and alignment metrics; match coordinates can also be exported. The graph preserves the documented processing stages and optional capabilities. Relationships for unsampled implementation details are limited to README statements or source-index references; the README is the evidence for the documented end-to-end pipeline.

Main entry points: [`core/registration.py`](https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/core/registration.py) (Registration orchestrator), [`ui/gradio_app.py`](https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/ui/gradio_app.py) (Gradio interface), [`app/main.py`](https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/app/main.py) (CLI launcher), [`core/bridge_registration.py`](https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/core/bridge_registration.py) (Sun-angle bridging)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interfaces["User interfaces"]
  node_cli["CLI launcher<br/>[main.py]"]
  node_web["Gradio interface<br/>[gradio_app.py]"]
  node_app_entry["Web entry point<br/>[app.py]"]
end

subgraph group_registration["Registration pipeline"]
  node_registrar["Registration orchestrator<br/>[registration.py]"]
  node_preprocess["Image preprocessing<br/>[preprocessing.py]"]
  node_detection["Feature detection"]
  node_matching["Descriptor matching"]
  node_verification["Geometric verification"]
  node_bridge["Sun-angle bridging"]
end

subgraph group_assessment["Assessment and export"]
  node_quality["Quality gate<br/>[quality_gate.py]"]
  node_metrics["Registration metrics<br/>[metrics.py]"]
  node_visuals["Warp and comparisons<br/>[registration.py]"]
  node_export["Match CSV export<br/>[export.py]"]
end

subgraph group_integrations["Optional integrations"]
  node_lroc["LROC sample source"]
end

node_user(("Image user"))
node_results["Alignment results"]

node_user -->|"uploads images"| node_web
node_user -->|"provides image paths"| node_cli
node_web -->|"launches"| node_app_entry
node_cli -->|"runs registration"| node_registrar
node_web -->|"runs registration"| node_registrar
node_registrar -->|"prepares images"| node_preprocess
node_registrar -->|"detects features"| node_detection
node_registrar -->|"matches descriptors"| node_matching
node_registrar -->|"estimates transform"| node_verification
node_registrar -->|"checks transform"| node_quality
node_registrar -->|"computes metrics"| node_metrics
node_registrar -->|"warps and renders"| node_visuals
node_cli -->|"routes optional chain"| node_bridge
node_web -->|"routes optional chain"| node_bridge
node_cli -->|"writes match CSV"| node_export
node_web -->|"writes match CSV"| node_export
node_web -.->|"fetches sample pair"| node_lroc
node_registrar -->|"returns alignment"| node_results
node_web -->|"presents results"| node_results
node_cli -->|"prints results"| node_results

click node_cli "https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/app/main.py"
click node_web "https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/ui/gradio_app.py"
click node_app_entry "https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/app.py"
click node_registrar "https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/core/registration.py"
click node_preprocess "https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/core/preprocessing.py"
click node_detection "https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/core/feature_detection.py"
click node_matching "https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/core/feature_matching.py"
click node_verification "https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/core/geometric_verification.py"
click node_bridge "https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/core/bridge_registration.py"
click node_quality "https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/core/quality_gate.py"
click node_metrics "https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/core/metrics.py"
click node_visuals "https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/core/registration.py"
click node_export "https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/core/export.py"

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_cli,node_web,node_app_entry,node_user toneBlue
class node_registrar,node_preprocess,node_detection,node_matching,node_verification,node_bridge toneAmber
class node_quality,node_metrics,node_visuals,node_export toneMint
class node_lroc toneRose
class node_results toneIndigo
```

## Components

### User interfaces

- [CLI launcher](https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/app/main.py): `app/main.py`
- [Gradio interface](https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/ui/gradio_app.py): `ui/gradio_app.py`
- [Web entry point](https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/app.py): `app.py`

### Registration pipeline

- [Registration orchestrator](https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/core/registration.py): `core/registration.py`
- [Image preprocessing](https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/core/preprocessing.py): `core/preprocessing.py`
- [Feature detection](https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/core/feature_detection.py): `core/feature_detection.py`
- [Descriptor matching](https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/core/feature_matching.py): `core/feature_matching.py`
- [Geometric verification](https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/core/geometric_verification.py): `core/geometric_verification.py`
- [Sun-angle bridging](https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/core/bridge_registration.py): `core/bridge_registration.py`

### Assessment and export

- [Quality gate](https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/core/quality_gate.py): `core/quality_gate.py`
- [Registration metrics](https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/core/metrics.py): `core/metrics.py`
- [Warp and comparisons](https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/core/registration.py): `core/registration.py`
- [Match CSV export](https://github.com/vishalchandravanshiai/-lunar-image-registration-sih2026-tensortitans/blob/main/core/export.py): `core/export.py`

### Optional integrations

- **LROC sample source**

### Other components

- **Image user**
- **Alignment results**

## Connections

- Image user → Gradio interface: uploads images (evidence: `README.md`)
- Image user → CLI launcher: provides image paths (evidence: `README.md`)
- Gradio interface → Web entry point: launches (evidence: `README.md`)
- CLI launcher → Registration orchestrator: runs registration (evidence: `app/main.py`)
- Gradio interface → Registration orchestrator: runs registration (evidence: `ui/gradio_app.py`)
- Registration orchestrator → Image preprocessing: prepares images (evidence: `README.md`)
- Registration orchestrator → Feature detection: detects features (evidence: `README.md`)
- Registration orchestrator → Descriptor matching: matches descriptors (evidence: `README.md`)
- Registration orchestrator → Geometric verification: estimates transform (evidence: `README.md`)
- Registration orchestrator → Quality gate: checks transform (evidence: `core/registration.py`)
- Registration orchestrator → Registration metrics: computes metrics (evidence: `core/registration.py`)
- Registration orchestrator → Warp and comparisons: warps and renders (evidence: `core/registration.py`)
- CLI launcher → Sun-angle bridging: routes optional chain (evidence: `app/main.py`)
- Gradio interface → Sun-angle bridging: routes optional chain (evidence: `ui/gradio_app.py`)
- CLI launcher → Match CSV export: writes match CSV (evidence: `app/main.py`)
- Gradio interface → Match CSV export: writes match CSV (evidence: `ui/gradio_app.py`)
- Gradio interface → LROC sample source: fetches sample pair (evidence: `README.md`)
- Registration orchestrator → Alignment results: returns alignment (evidence: `README.md`)
- Gradio interface → Alignment results: presents results (evidence: `README.md`)
- CLI launcher → Alignment results: prints results (evidence: `app/main.py`)
