Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
thinplate.c File Reference
#include "chart/thinplate.h"
#include "chart/deltaE.h"
#include "iop/svd.h"
#include <assert.h>
#include <float.h>
#include <stdlib.h>
#include <string.h>
+ Include dependency graph for thinplate.c:

Macros

#define MAX(a, b)   ((a) < (b) ? (b) : (a))
 
#define MIN(a, b)   ((a) > (b) ? (b) : (a))
 

Functions

static float __attribute__ ((__unused__))
 
static double thinplate_kernel (const double *x, const double *y)
 
static double compute_error (const tonecurve_t *c, const double **target, const double *residual_L, const double *residual_a, const double *residual_b, const int wd, double *maxerr)
 
static int solve (double *As, double *w, double *v, const double *b, double *coeff, int wd, int s, int S)
 
int thinplate_match (const tonecurve_t *curve, int dim, int N, const double *point, const double **target, int S, int *permutation, double **coeff, double *avgerr, double *maxerr)
 
float thinplate_color_pos (float L, float a, float b)
 

Macro Definition Documentation

◆ MAX

#define MAX (   a,
 
)    ((a) < (b) ? (b) : (a))

◆ MIN

#define MIN (   a,
 
)    ((a) > (b) ? (b) : (a))

Function Documentation

◆ __attribute__()

static float __attribute__ ( (__unused__)  )
inlinestatic

References f().

Referenced by amaze_demosaic_RT(), and is_bigendian().

◆ compute_error()

static double compute_error ( const tonecurve_t c,
const double **  target,
const double residual_L,
const double residual_a,
const double residual_b,
const int  wd,
double maxerr 
)
inlinestatic

◆ solve()

static int solve ( double As,
double w,
double v,
const double b,
double coeff,
int  wd,
int  s,
int  S 
)
inlinestatic

References dsvd(), and S.

Referenced by thinplate_match().

◆ thinplate_color_pos()

float thinplate_color_pos ( float  L,
float  a,
float  b 
)

Referenced by encode_colorchecker().

◆ thinplate_kernel()

static double thinplate_kernel ( const double x,
const double y 
)
inlinestatic

References MAX.

Referenced by thinplate_match().

◆ thinplate_match()

int thinplate_match ( const tonecurve_t curve,
int  dim,
int  N,
const double point,
const double **  target,
int  S,
int *  permutation,
double **  coeff,
double avgerr,
double maxerr 
)