Rudin-Osher-Fatemi Total Variation Denoising using Split Bregman
Main Page
Modules
Data Structures
Files
File List
Globals
tvreg.h
Go to the documentation of this file.
1
14
#ifndef _TVREG_H_
15
#define _TVREG_H_
16
17
#include "
basic.h
"
18
#include "
num.h
"
19
21
#define TVREGOPT_DEFAULT_LAMBDA 25
22
23
#define TVREGOPT_DEFAULT_TOL 1e-3
24
25
#define TVREGOPT_DEFAULT_GAMMA1 5
26
27
#define TVREGOPT_DEFAULT_GAMMA2 8
28
29
#define TVREGOPT_DEFAULT_MAXITER 100
30
31
/* tvregopt is encapsulated by forward declaration */
32
typedef
struct
tag_tvregopt
tvregopt
;
33
34
int
TvRestore
(num *u,
const
num *f,
int
Width,
int
Height,
int
NumChannels,
35
tvregopt
*Opt);
36
37
tvregopt
*
TvRegNewOpt
();
38
void
TvRegFreeOpt
(
tvregopt
*Opt);
39
void
TvRegSetLambda
(
tvregopt
*Opt, num Lambda);
40
void
TvRegSetVaryingLambda
(
tvregopt
*Opt,
41
const
num *VaryingLambda,
int
LambdaWidth,
int
LambdaHeight);
42
void
TvRegSetKernel
(
tvregopt
*Opt,
43
const
num *Kernel,
int
KernelWidth,
int
KernelHeight);
44
void
TvRegSetTol
(
tvregopt
*Opt, num Tol);
45
void
TvRegSetGamma1
(
tvregopt
*Opt, num Gamma1);
46
void
TvRegSetGamma2
(
tvregopt
*Opt, num Gamma2);
47
void
TvRegSetMaxIter
(
tvregopt
*Opt,
int
MaxIter);
48
int
TvRegSetNoiseModel
(
tvregopt
*Opt,
const
char
*NoiseModel);
49
void
TvRegSetPlotFun
(
tvregopt
*Opt,
50
int
(*PlotFun)(
int
,
int
, num,
const
num*,
int
,
int
,
int
,
void
*),
51
void
*PlotParam);
52
void
TvRegPrintOpt
(
const
tvregopt
*Opt);
53
const
char
*
TvRegGetAlgorithm
(
const
tvregopt
*Opt);
54
55
int
TvRestoreSimplePlot(
int
State,
int
Iter, num Delta,
56
ATTRIBUTE_UNUSED
const
num *u,
57
ATTRIBUTE_UNUSED
int
Width,
58
ATTRIBUTE_UNUSED
int
Height,
59
ATTRIBUTE_UNUSED
int
NumChannels,
60
ATTRIBUTE_UNUSED
void
*Param);
61
62
#endif
/* _TVREG_H_ */
Generated on Fri Jul 5 2013 22:07:05 for Rudin-Osher-Fatemi Total Variation Denoising using Split Bregman by
1.8.3.1