Help for SingularityΒΆ
π VISWIR Container User GuideΒΆ
Welcome to the VISWIR container! This guide will help you understand how to use the container, its main features, and useful commands.
π Installing and Running the ContainerΒΆ
1οΈβ£ Download and BuildΒΆ
To rebuild the container from the Singularity definition file:
sudo singularity build VISWIR.sif Singularity
2οΈβ£ Running the ContainerΒΆ
To launch the container with mounted directories:
singularity run \
-B /path/to/results:/VISWIR/results \
-B /path/to/logs:/VISWIR/src/logs \
-B /path/to/config:/VISWIR/config \
-B /path/to/data:/VISWIR/data \
VISWIR.sif
You can pass arguments directly to the main script VISWIR_vQuasar.py:
singularity run VISWIR.sif --fast --visible ../data/vis.png --swir ../data/swir.png --out ../results/fused.png
π FeaturesΒΆ
βοΈ Ready-to-use Python environment
βοΈ Dynamic library installation (via install_packages_container.sh)
βοΈ CPU-only PyTorch version (optimized for GPU-free HPC environments)
βοΈ Informative welcome message displayed at startup
βοΈ Easy access to documentation via /VISWIR/HELP.md:
singularity exec VISWIR.sif cat /VISWIR/HELP.md
π₯ Useful CommandsΒΆ
π§ Check installed Python librariesΒΆ
singularity exec VISWIR.sif pip list
π Check PyTorch versionΒΆ
singularity exec VISWIR.sif python -c "import torch; print(torch.__version__)"
π Reinstall / Update Python librariesΒΆ
singularity exec VISWIR.sif /VISWIR/install_packages_container.sh
π Container StructureΒΆ
The container includes the following files:
/VISWIR
βββ config/ (Configuration files)
βββ data/ (Input datasets)
βββ results/ (Processing results)
βββ msc/ (Funding and HPC logos)
βββ src/ (Main source code)
β βββ VISWIR_vQuasar.py # Main entry point
β βββ logs/ # Log files
β β
β βββ fusion/ # Scientific core
β β βββ NIQE/ # NIQE implementation
β β β βββ *.mat # Matlab files for NIQE
β β β βββ niqe.py # NIQE computation
β β βββ fusion.py # Main fusion functions
β β βββ functions.py # Direct support functions
β β βββ metrics.py # Metrics computation (SSIM, NIQE, etc.)
β β βββ detection_module.py # Detection (YOLO + F1)
β β βββ utils.py # Utilities (I/O, normalization, etc.)
β β
β βββ processing/ # Batch/SQL orchestration
β β βββ batch_runner.py # Batch processing
β β βββ sql_runner.py # SQL processing
β β βββ task_manager.py # Task management
β β βββ interruption.py # Interruption handling
β β
β βββ optimization/ # Optimization (Optuna, HPC)
β β βββ optuna_runner.py # Main Optuna loop
β β βββ objective.py # Objective functions
β β βββ visualization.py # Result visualization
β β βββ samplers.py # Sampler/pruner configuration
β β
β βββ realtime/
β β βββ fast_fusion_runner.py # Fast pipeline
β β βββ fast_config.py # Fast configuration
β β βββ fast_detection.py # Fast detection
β β
β βββ common/ # Shared modules
β β βββ logger.py # Centralized logging
β β βββ ui.py # Terminal display
β β βββ results_db.py # Database connection and saving
β β βββ config_loader.py # YAML/JSON loader
β β βββ datatypes.py # Dataclasses (ProcessResult, Config, etc.)
β
βββ test/ (Test scripts)
βββ tools/ (Utilities and SQL)
β
βββ HELP.md (This guide)
βββ install_packages_venv.sh (Local installation via venv)
βββ install_packages_container.sh (Container installation)
βββ LICENSE.txt (Project license)
βββ README.md (Project overview)
βββ requirements.txt (List of Python dependencies)
π Support and ContactΒΆ
If you encounter an issue, check:
π README.md: General project overview.
π HELP_fr.md (this file but in french): Container usage guide.
π Logs are available in /VISWIR/src/logs in case of errors.
π¬ Need help? Contact us at: alexandre.riffard@uca.fr.