Skip to content

RoundedGlint585/TGVDenoising

Repository files navigation

Build Status

TGV Image Denoising

This code repository is an implementation of the total generalized variation method based on this paper

Platforms

  • Linux (Tested)

Requirements

These are the base requirements to build

  • Cmake
  • A C++17-standard-compliant compiler
  • For GPU version you actually need something, that support OpenCL 1.2 (so basically its not always GPU)

Installing

  mkdir build
  cd build
  cmake -D BUILD_RELEASE:BOOL=true ..
  cmake --build .

Running the tests

Compile with Cmake flag -D BUILD_RELEASE:BOOL=false

  mkdir build
  cd build
  cmake -D BUILD_RELEASE:BOOL=false ..
  cmake --build .

How to use

Current solution based on command line interface with keys.

Key Purpose Default Value
-c Use CPU False
-g Use GPU True
-n <Num> Amount of Iterations 1000
-p <Folder Path> Path to folder with data data
-a <Num> Index of gpu if there are a more than 1 0
-r <File name> Name of the result file result
-i <Num> amount of images for GPU 10
-scaleX <Num> scale for X axis for Ply file 1.0
-scaleY <Num> scale for Y axis for Ply file 1.0

So just start program with these keys

File format

Program works with PFM, so perhaps you will have to convert files

Examples

./TGV -g -n 400 -p "data" -a "0" -r "resultFileName" -i 14

./TGV -p "data" -a "0" -r "DenoisedImage" -i 6

Authors

  • Daniil Smolyakov - Initial work and CPU/GPU based code - DanonOfficial

License

This project is licensed under the MIT License - see the LICENSE.md file for details