Skip to main content

Noise2Sim suppresses both independent and correlated nosies through training a neural networkin a self-supervised learning manner.

Project description

Suppression of Correlated Noises with Similarity-based Unsupervised Deep Learning

Introduction

Noise2Sim is a general unsupervised deep denoising method. On the common benchmark and practical low-dose CT datasets, Noise2Sim performs as effectively as or even better than the supervised learning methods. It has potential in various applications. Details can be found on the project page and in the paper.

News

Jan 6, 2022, noise2sim 0.1.2 released

Dec 24, 2021, noise2sim 0.1.0 released

Installation

Pytorch is required, for example,

conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=11.0 -c pytorch  # install pytorch

Then, Noise2Sim can be easily installed through pip,

pip install noise2sim

Or Noise2Sim can be installed from source,

git clone https://github.com/niuchuangnn/noise2sim.git
cd noise2sim
pip install -e .

Train denoising model with Noise2Sim

Low-dose CT Images

The low-dose CT dataset can be obtained at Low Dose CT Grand Challenge. The preprocessed FDA data can be obtained here.

Arrange the Mayo data like:

├── datasets   
    ├── Mayo                   
        ├── L067                    
        ├── L096
        ...

List training and testing files:

from noise2sim.tools import prepare_ldct
python prepare_ldct.py --patient-folder L067 L096 L109 L143 L192 L286 L291 L310 --output-file ./datasets/Mayo/mayo_train.txt
python prepare_ldct.py --patient-folder L506 L333 --output-file ./datasets/Mayo/mayo_test.txt

Run on 4 GPUs:

python ./scripts/train.py --config-file ./configs/ldct_mayo_unet2.py # for Mayo dataset
python ./scripts/train.py --config-file ./configs/ldct_fda_unet2.py # for FDA dataset

Photon-counting CT Images

The photon-counting datasets can be obtained here, and put it under ./datasets/.

Run on 4 GPUs:

python ./tools/train.py --config-file ./configs/pcct_livemouse_unet2.py # for live mouse dataset
python ./tools/train.py --config-file ./configs/pcct_leg_unet2.py # for live leg dataset
python ./tools/train.py --config-file ./configs/pcct_diedmouse_unet2.py # for died mouse dataset

Natural Images

Download BSD68 test dataset at here, and put them under the folder ./datasets/

Prepare dataset:

python noise2sim.tools.prepare_bsd400_lmdb.py

Run on 1 GPU:

python ./scripts/train.py --config-file ./configs/bsd400_unet2_ps3_ns8_gpu1.py # simultaneous training and testing

Run on 8 GPUs:

python ./sctipts/train.py --config-file ./configs/bsd400_unet2_ps3_ns8_gpu8.py # simultaneous training and testing

The results in the paper were obtained using 8 GPUs, you can obtain similar results with 1 GPU.

Using our pretrained models

Download our pretrained model here, and put these models under results folder. Then, run the corresponding test script as

python scripts/test_ldct.py --config-file ./configs/ldct_mayo_unet2.py # for Mayo dataset
python scripts/test_ldct.py --config-file ./configs/ldct_fda_unet2.py # for FDA dataset
python scripts/test_pcct.py --config-file ./configs/pcct_livemouse_unet2.py # for live mouse dataset
python scripts/test_pcct.py --config-file ./configs/pcct_leg_unet2.py # for chicken leg dataset
python scripts/test_pcct.py --config-file ./configs/pcct_diedmouse_unet2.py # for died mouse dataset

Citation

@inproceedings{noise2sim2021,
  title={Noise2Sim  Similarity-based Self-Learning for Image Denoising},
  author={Niu, Chuang and Wang, Ge},
  booktitle={arXiv:2011.03384},
  year={2020}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

noise2sim-0.1.2.tar.gz (36.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

noise2sim-0.1.2-py3-none-any.whl (51.1 kB view details)

Uploaded Python 3

File details

Details for the file noise2sim-0.1.2.tar.gz.

File metadata

  • Download URL: noise2sim-0.1.2.tar.gz
  • Upload date:
  • Size: 36.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.3 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.13

File hashes

Hashes for noise2sim-0.1.2.tar.gz
Algorithm Hash digest
SHA256 90e8309c985bb6995da49b5084dc1c1f825b8c33a5119832e411d5483813d96a
MD5 c3a7d8a5bc89d0f1662e1f7b0947b076
BLAKE2b-256 bc06a83f380347364b9aa186541e2c4dc62df72d544e8287a48c0e24d33a8119

See more details on using hashes here.

File details

Details for the file noise2sim-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: noise2sim-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 51.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.3 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.13

File hashes

Hashes for noise2sim-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ef240d129542ea8a453a0fc28ac4f9ac36baaebd9d1be1f2f857d98a47a7b99c
MD5 2c9f2200d127dda32dd7eeacb34c32ed
BLAKE2b-256 998aedbd3e7e425d7534ab46f4b27c29ed40c581b4cfcc3d277d76002f8be5e1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page