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