Ansel 0.0
A darktable fork - bloat + design vision
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
bspline.h File Reference
#include "common/darktable.h"
#include "common/dwt.h"
#include "develop/openmp_maths.h"
#include "math.h"
+ Include dependency graph for bspline.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define BSPLINE_FSIZE   5
 
#define B_SPLINE_SIGMA   1.0553651328015339f
 
#define B_SPLINE_TO_LAPLACIAN   3.182727439285017f
 
#define B_SPLINE_TO_LAPLACIAN_2   10.129753952777762f
 

Functions

static float normalize_laplacian (const float sigma)
 
static float equivalent_sigma_at_step (const float sigma, const unsigned int s)
 
static unsigned int num_steps_to_reach_equivalent_sigma (const float sigma_filter, const float sigma_final)
 
static void sparse_scalar_product (const dt_aligned_pixel_t buf, const size_t indices[5], dt_aligned_pixel_t result, const gboolean clip_negatives)
 
static void _bspline_vertical_pass (const float *const restrict in, float *const restrict temp, size_t row, size_t width, size_t height, int mult, const gboolean clip_negatives)
 
static void _bspline_horizontal (const float *const restrict temp, float *const restrict out, size_t col, size_t width, int mult, const gboolean clip_negatives)
 
static void blur_2D_Bspline (const float *const restrict in, float *const restrict out, float *const restrict tempbuf, const size_t width, const size_t height, const int mult, const gboolean clip_negatives)
 
static void decompose_2D_Bspline (const float *const restrict in, float *const restrict HF, float *const restrict LF, const size_t width, const size_t height, const int mult, float *const tempbuf, size_t padded_size)
 

Macro Definition Documentation

◆ B_SPLINE_SIGMA

#define B_SPLINE_SIGMA   1.0553651328015339f

◆ B_SPLINE_TO_LAPLACIAN

#define B_SPLINE_TO_LAPLACIAN   3.182727439285017f

◆ B_SPLINE_TO_LAPLACIAN_2

#define B_SPLINE_TO_LAPLACIAN_2   10.129753952777762f

◆ BSPLINE_FSIZE

#define BSPLINE_FSIZE   5

Function Documentation

◆ _bspline_horizontal()

static void _bspline_horizontal ( const float *const restrict  temp,
float *const restrict  out,
size_t  col,
size_t  width,
int  mult,
const gboolean  clip_negatives 
)
inlinestatic

◆ _bspline_vertical_pass()

static void _bspline_vertical_pass ( const float *const restrict  in,
float *const restrict  temp,
size_t  row,
size_t  width,
size_t  height,
int  mult,
const gboolean  clip_negatives 
)
inlinestatic

◆ blur_2D_Bspline()

static void blur_2D_Bspline ( const float *const restrict  in,
float *const restrict  out,
float *const restrict  tempbuf,
const size_t  width,
const size_t  height,
const int  mult,
const gboolean  clip_negatives 
)
inlinestatic

◆ decompose_2D_Bspline()

static void decompose_2D_Bspline ( const float *const restrict  in,
float *const restrict  HF,
float *const restrict  LF,
const size_t  width,
const size_t  height,
const int  mult,
float *const  tempbuf,
size_t  padded_size 
)
inlinestatic

◆ equivalent_sigma_at_step()

static float equivalent_sigma_at_step ( const float  sigma,
const unsigned int  s 
)
inlinestatic

◆ normalize_laplacian()

static float normalize_laplacian ( const float  sigma)
inlinestatic

References sqf().

◆ num_steps_to_reach_equivalent_sigma()

static unsigned int num_steps_to_reach_equivalent_sigma ( const float  sigma_filter,
const float  sigma_final 
)
inlinestatic

References sqf().

Referenced by process(), and tiling_callback().

◆ sparse_scalar_product()

static void sparse_scalar_product ( const dt_aligned_pixel_t  buf,
const size_t  indices[5],
dt_aligned_pixel_t  result,
const gboolean  clip_negatives 
)
inlinestatic