Package: hyde-images
Hyperspectral Denoising algorithm toolbox in PythonGeneral User InstallationThis project requires the PyTorch-wavelets package. However, this package does not have a PyPi release.
Therefore, the way to installthispackage as a pip package is as follows. Developers should use the
Development Installation section further down this page.pip install git+https://github.com/fbcotter/pytorch_wavelets
pip install hyde-imagesProject StatusDescriptionImage denoising is the task of recovering the true unknown image from a degraded observed image. It plays an important role in a variety of applications, for example in remote sensing imaging systems in lithological mapping. Hyperspectral Denoising is a Python toolbox aiming to provide, as the name suggests, denoising algorithms for hyperspectral image data. In particular, we provide:A wide variety of hyperspectral denoising algorithms (see Features for details)GPU acceleration for all algorithmsAn inuitive pythonic API designPyTorch compatibilityHigh Level MethodsConventional methodsHyResHyMiNoRFastHyDeL1HyMixDeorrepoWSRRROTVCAFORPDNNeural Methods (see src/hyde/nn)QRNN3DQRNN2DMemNetMemNet3DHSID-CNN (DeNet-like)HSID-CNN-3D (DeNet-like)MemNet + trainable HyRes stepPretrained ModelsPretrained models are available on the github repository but NOT in the pip release.High Level Function UsageThe high level functions (see Features above) are created with torch.nn.Modules. This means that they are classes
which must be initialized before they can be used. An example of the using HyRes with the default parameters is shown
below.importhydeimporttorchinput_tens=torch.tensor(loaded_image,dtype=torch.float32,device="gpu or cpu")hyres=hyde.HyRes()output=hyres(input_tens)Development InstallationIn order to set up the necessary environment:review and uncomment what you need inenvironment.ymland create an environmenthydewith the help ofconda:python -m venv hyde_venvactivate the new environment with:source hyde_venv/bin/activateInstall requirementspip install -r requirements.txt -e .Optional and needed only once aftergit clone:install severalpre-commitgit hooks with:pre-commitinstall# You might also want to run `pre-commit autoupdate`and checkout the configuration under.pre-commit-config.yaml.
The-n, --no-verifyflag ofgit commitcan be used to deactivate pre-commit hooks temporarily.installnbstripoutgit hooks to remove the output cells of committed notebooks with:nbstripout--install--attributesnotebooks/.gitattributesThis is useful to avoid large diffs due to plots in your notebooks.
A simplenbstripout --uninstallwill revert these changes.Then take a look into thescriptsandnotebooksfolders.Project Organization├── AUTHORS.md              <- List of developers and maintainers.
├── CHANGELOG.md            <- Changelog to keep track of new features and fixes.
├── LICENSE.txt             <- License as chosen on the command-line.
├── README.md               <- The top-level README for developers.
├── configs                 <- Directory for configurations of model & application.
├── docs                    <- Directory for Sphinx documentation in rst or md.
├── environment.yml         <- The conda environment file for reproducibility.
├── notebooks               <- Jupyter notebooks. Naming convention is a number (for
│                              ordering), the creator's initials and a description,
│                              e.g. `1.0-fw-initial-data-exploration`.
├── pyproject.toml          <- Build system configuration. Do not change!
├── references              <- Data dictionaries, manuals, and all other materials.
├── scripts                 <- Analysis and production scripts which import the
│                              actual Python package, e.g. train_model.py.
├── setup.cfg               <- Declarative configuration of your project.
├── setup.py                <- Use `pip install -e .` to install for development or
|                              or create a distribution with `tox -e build`.
├── src
│   └── hyde                <- Actual Python package where the main functionality goes.
├── tests                   <- Unit tests which can be run with `py.test`.
├── .coveragerc             <- Configuration for coverage reports of unit tests.
├── .isort.cfg              <- Configuration for git hook that sorts imports.
└── .pre-commit-config.yaml <- Configuration of pre-commit git hooks.LicenseHyperspectral Denoising is distributed under the BSD-3 license, see ourLICENSEfile.NoteThis project has been set up usingPyScaffold4.0.1 and thedsproject extension0.6.1.AcknowledgementsThis work is supported by theHelmholtz Association Initiative and
Networking Fundunder the Helmholtz AI platform grant.