This code repository is an implementation of the total generalized variation method based on this paper
- Linux (Tested)
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)
mkdir build
cd build
cmake -D BUILD_RELEASE:BOOL=true ..
cmake --build .
Compile with Cmake flag -D BUILD_RELEASE:BOOL=false
mkdir build
cd build
cmake -D BUILD_RELEASE:BOOL=false ..
cmake --build .
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
Program works with PFM, so perhaps you will have to convert files
./TGV -g -n 400 -p "data" -a "0" -r "resultFileName" -i 14
./TGV -p "data" -a "0" -r "DenoisedImage" -i 6
- Daniil Smolyakov - Initial work and CPU/GPU based code - DanonOfficial
This project is licensed under the MIT License - see the LICENSE.md file for details