# lsxi7/minima architecture

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

- Interactive diagram: https://gitdiagram.com/lsxi7/minima
- Repository: https://github.com/lsxi7/minima

## Overview

MINIMA combines an image-matching evaluation/demo runtime with a data engine that synthesizes six image modalities. The matching entry point loads a selected matcher, evaluates matches, and can render visualizations; the data-engine entry point dispatches modality transfers. Infrared transfer has a larger Scepter diffusion/inference implementation. README and source-index references establish the high-level capabilities and some links, but several modality and model internals were not sampled, so those connections are omitted.

Main entry points: [`data_engine/modality_engine.py`](https://github.com/lsxi7/minima/blob/main/data_engine/modality_engine.py) (Modality Dispatcher), [`data_engine/tools/infrared/scepter/modules/inference/diffusion_inference.py`](https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/inference/diffusion_inference.py) (Diffusion Inference), [`demo.py`](https://github.com/lsxi7/minima/blob/main/demo.py) (Matching Demo), [`data_engine/tools/infrared/scepter/modules/inference/stylebooth_inference.py`](https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/inference/stylebooth_inference.py) (StyleBooth Inference)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_matching["Image Matching"]
  node_demo["Matching Demo<br/>[demo.py]"]
  node_model_loader["Matcher Loader<br/>[load_model.py]"]
  node_data_adapters["Input Adapters<br/>[data_io.py]"]
  node_metrics["Match Metrics<br/>[metrics.py]"]
  node_visualization["Match Visualization<br/>[plotting.py]"]
  node_configs["Matcher Configs<br/>[default.py]"]
end

subgraph group_engine["Modality Data Engine"]
  node_modality_cli["Modality Dispatcher<br/>[modality_engine.py]"]
  node_depth["Depth Transfer<br/>[depth_transfer.py]"]
  node_event["Event Transfer<br/>[event_transfer.py]"]
  node_infrared_transfer["Infrared Transfer"]
  node_normal["Normal Transfer<br/>[normal_transfer.py]"]
  node_paint["Paint Transfer<br/>[paint_transfer.py]"]
  node_sketch["Sketch Transfer<br/>[sketch_transfer.py]"]
  node_normal_network["DSINE Normal Models<br/>[v02_kappa.py]"]
  node_paint_network["Paint Network<br/>[network.py]"]
end

subgraph group_infrared["Infrared Generation"]
  node_stylebooth["StyleBooth Inference"]
  node_diffusion_infer["Diffusion Inference"]
  node_control_infer["Control Inference"]
  node_tuner_infer["Tuner Inference<br/>[tuner_inference.py]"]
end

subgraph group_scepter["Scepter Internals"]
  node_diffusion_model["Diffusion Model<br/>[diffusion.py]"]
  node_diffusion_schedule["Diffusion Schedules<br/>[schedules.py]"]
  node_diffusion_solver["Diffusion Solvers<br/>[solvers.py]"]
  node_model_registry["Model Registry<br/>[registry.py]"]
  node_config["Configuration<br/>[config.py]"]
  node_distribution["Distributed Utilities<br/>[distribute.py]"]
  node_filesystem["File System<br/>[file_system.py]"]
  node_local_fs["Local File Client<br/>[local_fs.py]"]
  node_model_utils["Model Utilities<br/>[model.py]"]
  node_probe["Model Probes<br/>[probe.py]"]
end

node_user(("Engineer / User"))

node_user -->|"runs"| node_demo
node_demo -->|"loads matcher"| node_model_loader
node_demo -->|"evaluates matches"| node_metrics
node_demo -->|"renders results"| node_visualization
node_model_loader -->|"wraps inputs"| node_data_adapters
node_model_loader -->|"loads configuration"| node_configs
node_user -->|"chooses modality"| node_modality_cli
node_modality_cli -->|"dispatches depth"| node_depth
node_modality_cli -->|"dispatches event"| node_event
node_modality_cli -->|"dispatches infrared"| node_infrared_transfer
node_modality_cli -->|"dispatches normal"| node_normal
node_modality_cli -->|"dispatches paint"| node_paint
node_modality_cli -->|"dispatches sketch"| node_sketch
node_infrared_transfer -->|"runs inference"| node_stylebooth
node_stylebooth -->|"delegates inference"| node_diffusion_infer
node_stylebooth -->|"registers controls"| node_control_infer
node_stylebooth -->|"registers tuners"| node_tuner_infer
node_diffusion_infer -->|"uses model"| node_diffusion_model
node_diffusion_model -->|"loads schedules"| node_diffusion_schedule
node_diffusion_model -->|"uses solvers"| node_diffusion_solver
node_diffusion_infer -->|"builds models"| node_model_registry
node_control_infer -->|"builds controls"| node_model_registry
node_diffusion_infer -->|"reads configuration"| node_config
node_diffusion_infer -->|"uses distribution"| node_distribution
node_diffusion_infer -->|"loads files"| node_filesystem
node_filesystem -->|"delegates storage"| node_local_fs
node_config -->|"uses helpers"| node_model_utils
node_distribution -->|"uses helpers"| node_model_utils
node_normal -->|"uses DSINE"| node_normal_network
node_paint -->|"uses network"| node_paint_network

click node_demo "https://github.com/lsxi7/minima/blob/main/demo.py"
click node_model_loader "https://github.com/lsxi7/minima/blob/main/load_model.py"
click node_data_adapters "https://github.com/lsxi7/minima/blob/main/src/utils/data_io.py"
click node_metrics "https://github.com/lsxi7/minima/blob/main/src/utils/metrics.py"
click node_visualization "https://github.com/lsxi7/minima/blob/main/src/utils/plotting.py"
click node_configs "https://github.com/lsxi7/minima/blob/main/src/config/default.py"
click node_modality_cli "https://github.com/lsxi7/minima/blob/main/data_engine/modality_engine.py"
click node_depth "https://github.com/lsxi7/minima/blob/main/data_engine/tools/depth/depth_transfer.py"
click node_event "https://github.com/lsxi7/minima/blob/main/data_engine/tools/event/event_transfer.py"
click node_infrared_transfer "https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/infrared_transfer.py"
click node_normal "https://github.com/lsxi7/minima/blob/main/data_engine/tools/normal/normal_transfer.py"
click node_paint "https://github.com/lsxi7/minima/blob/main/data_engine/tools/paint/paint_transfer.py"
click node_sketch "https://github.com/lsxi7/minima/blob/main/data_engine/tools/sketch/sketch_transfer.py"
click node_stylebooth "https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/inference/stylebooth_inference.py"
click node_diffusion_infer "https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/inference/diffusion_inference.py"
click node_control_infer "https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/inference/control_inference.py"
click node_tuner_infer "https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/inference/tuner_inference.py"
click node_diffusion_model "https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/model/network/diffusion/diffusion.py"
click node_diffusion_schedule "https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/model/network/diffusion/schedules.py"
click node_diffusion_solver "https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/model/network/diffusion/solvers.py"
click node_model_registry "https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/model/registry.py"
click node_config "https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/utils/config.py"
click node_distribution "https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/utils/distribute.py"
click node_filesystem "https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/utils/file_system.py"
click node_local_fs "https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/utils/file_clients/local_fs.py"
click node_model_utils "https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/utils/model.py"
click node_probe "https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/utils/probe.py"
click node_normal_network "https://github.com/lsxi7/minima/blob/main/data_engine/tools/normal/dsine/models/dsine/v02_kappa.py"
click node_paint_network "https://github.com/lsxi7/minima/blob/main/data_engine/tools/paint/paint_transformer/network.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_demo,node_model_loader,node_data_adapters,node_metrics,node_visualization,node_configs,node_user toneBlue
class node_modality_cli,node_depth,node_event,node_infrared_transfer,node_normal,node_paint,node_sketch,node_normal_network,node_paint_network toneAmber
class node_stylebooth,node_diffusion_infer,node_control_infer,node_tuner_infer toneMint
class node_diffusion_model,node_diffusion_schedule,node_diffusion_solver,node_model_registry,node_config,node_distribution,node_filesystem,node_local_fs,node_model_utils,node_probe toneRose
```

## Components

### Image Matching

- [Matching Demo](https://github.com/lsxi7/minima/blob/main/demo.py): `demo.py`
- [Matcher Loader](https://github.com/lsxi7/minima/blob/main/load_model.py): `load_model.py`
- [Input Adapters](https://github.com/lsxi7/minima/blob/main/src/utils/data_io.py): `src/utils/data_io.py`
- [Match Metrics](https://github.com/lsxi7/minima/blob/main/src/utils/metrics.py): `src/utils/metrics.py`
- [Match Visualization](https://github.com/lsxi7/minima/blob/main/src/utils/plotting.py): `src/utils/plotting.py`
- [Matcher Configs](https://github.com/lsxi7/minima/blob/main/src/config/default.py): `src/config/default.py`

### Modality Data Engine

- [Modality Dispatcher](https://github.com/lsxi7/minima/blob/main/data_engine/modality_engine.py): `data_engine/modality_engine.py`
- [Depth Transfer](https://github.com/lsxi7/minima/blob/main/data_engine/tools/depth/depth_transfer.py): `data_engine/tools/depth/depth_transfer.py`
- [Event Transfer](https://github.com/lsxi7/minima/blob/main/data_engine/tools/event/event_transfer.py): `data_engine/tools/event/event_transfer.py`
- [Infrared Transfer](https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/infrared_transfer.py): `data_engine/tools/infrared/infrared_transfer.py`
- [Normal Transfer](https://github.com/lsxi7/minima/blob/main/data_engine/tools/normal/normal_transfer.py): `data_engine/tools/normal/normal_transfer.py`
- [Paint Transfer](https://github.com/lsxi7/minima/blob/main/data_engine/tools/paint/paint_transfer.py): `data_engine/tools/paint/paint_transfer.py`
- [Sketch Transfer](https://github.com/lsxi7/minima/blob/main/data_engine/tools/sketch/sketch_transfer.py): `data_engine/tools/sketch/sketch_transfer.py`
- [DSINE Normal Models](https://github.com/lsxi7/minima/blob/main/data_engine/tools/normal/dsine/models/dsine/v02_kappa.py): `data_engine/tools/normal/dsine/models/dsine/v02_kappa.py`
- [Paint Network](https://github.com/lsxi7/minima/blob/main/data_engine/tools/paint/paint_transformer/network.py): `data_engine/tools/paint/paint_transformer/network.py`

### Infrared Generation

- [StyleBooth Inference](https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/inference/stylebooth_inference.py): `data_engine/tools/infrared/scepter/modules/inference/stylebooth_inference.py`
- [Diffusion Inference](https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/inference/diffusion_inference.py): `data_engine/tools/infrared/scepter/modules/inference/diffusion_inference.py`
- [Control Inference](https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/inference/control_inference.py): `data_engine/tools/infrared/scepter/modules/inference/control_inference.py`
- [Tuner Inference](https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/inference/tuner_inference.py): `data_engine/tools/infrared/scepter/modules/inference/tuner_inference.py`

### Scepter Internals

- [Diffusion Model](https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/model/network/diffusion/diffusion.py): `data_engine/tools/infrared/scepter/modules/model/network/diffusion/diffusion.py`
- [Diffusion Schedules](https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/model/network/diffusion/schedules.py): `data_engine/tools/infrared/scepter/modules/model/network/diffusion/schedules.py`
- [Diffusion Solvers](https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/model/network/diffusion/solvers.py): `data_engine/tools/infrared/scepter/modules/model/network/diffusion/solvers.py`
- [Model Registry](https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/model/registry.py): `data_engine/tools/infrared/scepter/modules/model/registry.py`
- [Configuration](https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/utils/config.py): `data_engine/tools/infrared/scepter/modules/utils/config.py`
- [Distributed Utilities](https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/utils/distribute.py): `data_engine/tools/infrared/scepter/modules/utils/distribute.py`
- [File System](https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/utils/file_system.py): `data_engine/tools/infrared/scepter/modules/utils/file_system.py`
- [Local File Client](https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/utils/file_clients/local_fs.py): `data_engine/tools/infrared/scepter/modules/utils/file_clients/local_fs.py`
- [Model Utilities](https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/utils/model.py): `data_engine/tools/infrared/scepter/modules/utils/model.py`
- [Model Probes](https://github.com/lsxi7/minima/blob/main/data_engine/tools/infrared/scepter/modules/utils/probe.py): `data_engine/tools/infrared/scepter/modules/utils/probe.py`

### Other components

- **Engineer / User**

## Connections

- Engineer / User → Matching Demo: runs (evidence: `README.md`)
- Matching Demo → Matcher Loader: loads matcher (evidence: `demo.py`)
- Matching Demo → Match Metrics: evaluates matches (evidence: `demo.py`)
- Matching Demo → Match Visualization: renders results (evidence: `demo.py`)
- Matcher Loader → Input Adapters: wraps inputs (evidence: `load_model.py`)
- Matcher Loader → Matcher Configs: loads configuration (evidence: `load_model.py`)
- Engineer / User → Modality Dispatcher: chooses modality (evidence: `data_engine/modality_engine.py`)
- Modality Dispatcher → Depth Transfer: dispatches depth (evidence: `data_engine/modality_engine.py`)
- Modality Dispatcher → Event Transfer: dispatches event (evidence: `data_engine/modality_engine.py`)
- Modality Dispatcher → Infrared Transfer: dispatches infrared (evidence: `data_engine/modality_engine.py`)
- Modality Dispatcher → Normal Transfer: dispatches normal (evidence: `data_engine/modality_engine.py`)
- Modality Dispatcher → Paint Transfer: dispatches paint (evidence: `data_engine/modality_engine.py`)
- Modality Dispatcher → Sketch Transfer: dispatches sketch (evidence: `data_engine/modality_engine.py`)
- Infrared Transfer → StyleBooth Inference: runs inference (evidence: `data_engine/tools/infrared/infrared_transfer.py`)
- StyleBooth Inference → Diffusion Inference: delegates inference (evidence: `data_engine/tools/infrared/scepter/modules/inference/stylebooth_inference.py`)
- StyleBooth Inference → Control Inference: registers controls (evidence: `data_engine/tools/infrared/scepter/modules/inference/stylebooth_inference.py`)
- StyleBooth Inference → Tuner Inference: registers tuners (evidence: `data_engine/tools/infrared/scepter/modules/inference/stylebooth_inference.py`)
- Diffusion Inference → Diffusion Model: uses model (evidence: `data_engine/tools/infrared/scepter/modules/inference/diffusion_inference.py`)
- Diffusion Model → Diffusion Schedules: loads schedules (evidence: `data_engine/tools/infrared/scepter/modules/model/network/diffusion/diffusion.py`)
- Diffusion Model → Diffusion Solvers: uses solvers (evidence: `data_engine/tools/infrared/scepter/modules/model/network/diffusion/diffusion.py`)
- Diffusion Inference → Model Registry: builds models (evidence: `data_engine/tools/infrared/scepter/modules/inference/diffusion_inference.py`)
- Control Inference → Model Registry: builds controls (evidence: `data_engine/tools/infrared/scepter/modules/inference/control_inference.py`)
- Diffusion Inference → Configuration: reads configuration (evidence: `data_engine/tools/infrared/scepter/modules/inference/diffusion_inference.py`)
- Diffusion Inference → Distributed Utilities: uses distribution (evidence: `data_engine/tools/infrared/scepter/modules/inference/diffusion_inference.py`)
- Diffusion Inference → File System: loads files (evidence: `data_engine/tools/infrared/scepter/modules/inference/diffusion_inference.py`)
- File System → Local File Client: delegates storage (evidence: `data_engine/tools/infrared/scepter/modules/utils/file_system.py`)
- Configuration → Model Utilities: uses helpers (evidence: `data_engine/tools/infrared/scepter/modules/utils/config.py`)
- Distributed Utilities → Model Utilities: uses helpers (evidence: `data_engine/tools/infrared/scepter/modules/utils/distribute.py`)
- Normal Transfer → DSINE Normal Models: uses DSINE (evidence: `data_engine/tools/normal/normal_transfer.py`)
- Paint Transfer → Paint Network: uses network (evidence: `data_engine/tools/paint/paint_transfer.py`)
