Image Interpolation with Geometric Contour Stencils
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
sset.h
Go to the documentation of this file.
1 
16 #ifndef _SSET_H_
17 #define _SSET_H_
18 
19 #include "basic.h"
20 #include "pen.h"
21 
22 /* sset is encapsulated by forward declaration */
23 typedef struct ssetstruct sset;
24 
25 
26 sset *NewStencilSet(double StencilRadius,
27  double (*Psf)(double, double, const void*),
28  const void *PsfParam, double PsfRadius);
29 
30 void FreeStencilSet(sset *Set);
31 
32 int AddStencil(sset *Set, double (*Phi)(double, double, const void*),
33  const void *PhiParam, double Rotation,
34  int (*DrawFun)(pen *Pen, const void *Param), const void *DrawParam,
35  const float *DrawColor);
36 
37 int GetNumStencils(const sset *Set);
38 double (*GetPsf(const sset *Set))(double, double, const void*);
39 const void *GetPsfParam(const sset *Set);
40 double GetPsfRadius(const sset *Set);
41 double EvalPhi(const sset *Set, int S, double x, double y);
42 
43 int StencilConfusion(double *ConfusionMatrix, sset *Set);
44 
45 void FitStencils(int *Stencil, const sset *Set,
46  const float *Image, int ImageWidth, int ImageHeight);
47 
48 int DrawContours(const char *FileName, int OutputWidth, int OutputHeight,
49  double ScaleFactor, const int *Stencil, const sset *Set,
50  const float *Input, int InputWidth, int InputHeight);
51 
52 int DrawContoursEps(const char *EpsFile,
53  const int *Stencil, const sset *Set,
54  const float *Input, int InputWidth, int InputHeight);
55 
56 int DrawContoursSvg(const char *SvgFile, const char *BgFile,
57  const int *Stencil, const sset *Set,
58  const float *Input, int InputWidth, int InputHeight);
59 
60 #endif /* _SSET_H_ */