==============================================================================

  Constrained Conditional Denoising Diffusion (CCDD)
  Version 1

==============================================================================


OVERVIEW:

  This code implements the CCDD algorithm for
  hyperspectral-multispectral fusion described in the paper:

    James E. Fowler, "Constrained Conditional Denoising Diffusion for
    Hyperspectral-Multispectral Fusion", IEEE Transactions on
    Computational Imaging, to appear.

  Implementations of both training and reconstruction are provided via
  scripts run_train.py and run_reconstruct.py. Run the script setup.py
  beforehane to download and process the various datasets for training
  and testing.


==============================================================================


USAGE:

  Run setup.py to download the original Pavia University, Chikusei,
  and Los Angeles image sets. This script will also create the
  training and testing datasets for each image set as well.

  Run run_train.py to train the CCDD network; you must specify the
  input trainigng directory as well as the directory for model output.

  Run run_reconstruct.py for inference (image reconstruction); you
  must specify the directory for the input testing data, the directory
  for the already-trained model, and the directory for the
  reconstructed-image results.
  
  
==============================================================================


EXAMPLE:

  python3 setup.py
  python3 run_train.py --sensor rosis Data/Pavia/Training Models/Pavia
  python3 run_reconstruct.py --sensor rosis Data/Pavia/Testing Models/Pavia \
    Results/Pavia


==============================================================================


COPYRIGHT AND LICENSE INFORMATION:

  Copyright (C) 2025  James E. Fowler
  
  The programs and library herein are free software; you can redistribute
  them and/or modify them under the terms of the GNU General Public License
  as published by the Free Software Foundation; either version 2
  of the License, or (at your option) any later version.

  The library and all programs herein are distributed in the hope that
  they will be useful, but WITHOUT ANY WARRANTY; without even the implied
  warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
  the full text of the appropriate license for more details.
  

==============================================================================
