How pui-nantheera/dmat works
DMAT is presented as a framework for atmospheric-turbulence mitigation and object detection, but the available tree and source excerpts primarily support video restoration: paired-video training and trained-model inference. The documented one/two-stage option and Swin3D/Mamba alternatives are represented; detection implementation is not evident in the supplied files. Training and dataset wiring are supported by excerpts, while testing behavior and several model variants are documented or named in the tree but not sampled, so their internal links are limited.
Main entry points: train.py Train model · test.py Video inference · test_folder.py Folder inference · TMT_DC.py TMT model
Components 18
Video workflows
- Train model
code/train.py - Video inference
code/test.py - Folder inference
code/test_folder.py
Training components
- Video dataset
code/data/dataset_video_train.py - Charbonnier loss
code/utils/losses.py - Learning-rate scheduler
code/utils/scheduler.py - Checkpoint utilities
code/utils/general.py
Restoration networks
- TMT model
code/model/TMT_DC.py - Swin 3D
code/model/SwinUnet_3D.py - Mamba 3D
code/model/nnMamba.py - Deformable convolution
code/model/DefConv.py
Auxiliary modules
- Fractal-dimension loss
code/FD/fd_loss.py - FD regression model
code/FD/FD_LOSS_Model.py - Canny edge network
code/FD/net_canny.py
Other components
- User
- Paired videos
- Restored media
- Model checkpoints
Connections 19
- User → Train model: starts training
- Paired videos → Video dataset: provides pairs
- Train model → Video dataset: loads batches
- Video dataset → Train model: returns frames
- Train model → TMT model: trains
- Train model → Charbonnier loss: computes loss
- Train model → Learning-rate scheduler: steps schedule
- Train model → Checkpoint utilities: creates run folders
- Train model → Model checkpoints: saves weights
- User → Video inference: starts inference
- User → Folder inference: starts inference
- Model checkpoints → Video inference: loads weights
- Model checkpoints → Folder inference: loads weights
- Video inference → TMT model: runs model
- Folder inference → TMT model: runs model
- Video inference → Restored media: writes output
- Folder inference → Restored media: writes output
- TMT model → Deformable convolution: uses layers
- Fractal-dimension loss → Canny edge network: uses edges