How to use 1) Fine-tune on your dataset python finetune_wms.py \ --data_root /path/to/WMS_Cleaned \ --resume train_log \ --save_dir train_log_wms \ --epochs 10 \ --batch_size 8 \ --crop 256 \ --stride 1 Optional (adds motion-aware weighted L1 on top of RIFE’s loss if the optimizer is exposed by your Model wrapper): --use_motion_weight --motion_lambda 0.5 2) Inference on a pair (get the mid frame) python infer_wms_pair.py \ --img0 /path/to/folder/greyscale_rgb_cyl_20250825_1340.png \ --img1 /path/to/folder/greyscale_rgb_cyl_20250825_1350.png \ --model_dir train_log_wms \ --out out_mid.png 3) Inference on a whole folder (generate frames or an MP4) python infer_wms_sequence.py \ --folder /path/to/folder \ --model_dir train_log_wms \ --exp 2 \ --out_dir wms_interp_frames \ --out_video wms_interp.mp4 \ --fps 30 --exp 1 inserts 1 midframe between each pair (2× fps). --exp 2 inserts 3 midframes (4× fps), etc. Notes that match your setup No renaming needed. The dataset loader recursively scans everything under your root (e.g., CRT_*, ETC_*, VIIRS, HS_*, GFS_*) and builds (I0, It, I1) triplets just by sorted filenames. The val split is automatic and deterministic (hash of the middle file). Works with RGB/greyscale; greyscale is converted to RGB for the model. Models are saved to train_log_wms (same RIFE loader pattern as your inference_* scripts). What it does Recursively scans your dataset folders (no renaming needed), builds (I0, It, I1) triplets by natural filename order. Loads two models: --model_a (baseline, e.g. train_log) and --model_b (fine-tuned, e.g. train_log_wms). Computes PSNR, SSIM, and optional LPIPS (if installed, use --lpips). Writes per-triplet metrics to a CSV, plus: Paired t-test and Cohen’s d for each metric (B vs A). Boxplots (matplotlib only, no seaborn) for PSNR/SSIM (and LPIPS if enabled). Example usage python eval_wms.py \ --data_root /path/to/WMS_Cleaned \ --stride 1 \ --model_a train_log \ --model_b train_log_wms \ --out_dir wms_eval_outputs With LPIPS (if you have lpips installed): python eval_wms.py \ --data_root /path/to/WMS_Cleaned \ --model_a train_log \ --model_b train_log_wms \ --lpips \ --out_dir wms_eval_outputs Outputs Inside wms_eval_outputs/: wms_metrics.csv — per-triplet PSNR/SSIM (/LPIPS) for both models. stats.txt — mean±std, Δ, paired t-test p-values, Cohen’s d for each metric. box_psnr.png, box_ssim.png (and box_lpips.png if enabled). If you want, I can also add a cloud-region evaluation (compute SSIM only inside cloud masks) or a quick qualitative triplet dump (baseline vs fine-tuned vs GT image grids) for the paper figures.