How cinnapea/2026-fusion-research works
This is a Qt desktop application for inspecting visible/thermal image datasets, validating paired images, and selecting and rendering preview pairs. The main workflow is user input through the window and application controller, dataset discovery and canonical-manifest loading, pair validation, then preview selection/rendering or validation-report export. Configuration and dataset-specific adapters are distinct supporting capabilities. The README is empty and excerpts are partial, so some controller-to-core wiring is inferred from its includes and exposed operations; uncertain links are omitted.
Main entry points: application_controller.cpp Application controller · opencv_preview_renderer.cpp Preview renderer · mainwindow.cpp Main window · llvip_adapter.cpp LLVIP adapter
Components 21
Desktop application
- Main window
mainwindow.cpp - Application controller
src/application/application_controller.cpp
Dataset setup
- Dataset configuration
src/core/configuration/json_dataset_configuration_loader.cpp - Experiment views
src/core/configuration/json_experiment_view_loader.cpp - LLVIP adapter
src/core/datasets/llvip_adapter.cpp - MSRS adapter
src/core/datasets/msrs_adapter.cpp - RoadScene adapter
src/core/datasets/roadscene_adapter.cpp - Canonical pair lookup
src/core/datasets/canonical_pair_lookup.cpp
Validation and reports
- Manifest reader
src/core/manifests/csv_validation_manifest_reader.cpp - Pair validator
src/core/validation/pair_validator.cpp - Batch validator
src/core/validation/batch_pair_validator.cpp - Image decoder
src/core/imaging/opencv_image_decoder.cpp - Validation report
src/core/manifests/csv_validation_manifest_writer.cpp
Preview generation
- Preview selector
src/core/visualization/preview_pair_selector.cpp - Selection model
src/core/visualization/preview_selection.cpp - Preview renderer
src/core/visualization/opencv_preview_renderer.cpp
Other components
- User
- Dataset image files
- Canonical CSV manifest
- Validation CSV output
- Preview PNG output
Connections 24
- User → Main window: operates
- Main window → Application controller: requests actions
- Application controller → Dataset configuration: loads configuration
- Application controller → Experiment views: loads assignments
- Application controller → LLVIP adapter: discovers pairs
- Application controller → MSRS adapter: discovers pairs
- Application controller → RoadScene adapter: discovers pairs
- LLVIP adapter → Dataset image files: reads layout
- MSRS adapter → Dataset image files: reads layout
- RoadScene adapter → Dataset image files: reads layout
- Application controller → Canonical pair lookup: resolves image
- Application controller → Manifest reader: loads manifest
- Manifest reader → Canonical CSV manifest: reads rows
- Application controller → Batch validator: validates dataset
- Batch validator → Pair validator: validates pairs
- Pair validator → Image decoder: decodes images
- Image decoder → Dataset image files: reads images
- Application controller → Validation report: exports results
- Validation report → Validation CSV output: writes CSV
- Application controller → Preview selector: selects pairs
- Preview selector → Selection model: returns selection
- Application controller → Preview renderer: renders previews
- Preview renderer → Dataset image files: reads sources
- Preview renderer → Preview PNG output: writes PNG