![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include "common/eaw.h"
#include "common/darktable.h"
#include "common/math.h"
#include "control/control.h"
#include "common/dwt.h"
Data Structures | |
struct | _aligned_pixel |
Macros | |
#define | SUM_PIXEL_CONTRIBUTION(ii, jj) |
#define | SUM_PIXEL_PROLOGUE |
#define | SUM_PIXEL_EPILOGUE |
#define | SUM_PIXEL_CONTRIBUTION(ii, jj) |
#define | SUM_PIXEL_EPILOGUE |
Typedefs | |
typedef struct _aligned_pixel | _aligned_pixel |
Functions | |
static void | weight (const float *c1, const float *c2, const float sharpen, dt_aligned_pixel_t weight) |
void | eaw_decompose (float *const restrict out, const float *const restrict in, float *const restrict detail, const int scale, const float sharpen, const int32_t width, const int32_t height) |
void | eaw_synthesize (float *const out, const float *const in, const float *const restrict detail, const float *const restrict threshold, const float *const restrict boost, const int32_t width, const int32_t height) |
static float | dn_weight (const float *c1, const float *c2, const float inv_sigma2) |
void | eaw_dn_decompose (float *const restrict out, const float *const restrict in, float *const restrict detail, dt_aligned_pixel_t sum_squared, const int scale, const float inv_sigma2, const int32_t width, const int32_t height) |
#define SUM_PIXEL_CONTRIBUTION | ( | ii, | |
jj | |||
) |
#define SUM_PIXEL_CONTRIBUTION | ( | ii, | |
jj | |||
) |
#define SUM_PIXEL_EPILOGUE |
#define SUM_PIXEL_EPILOGUE |
#define SUM_PIXEL_PROLOGUE |
typedef struct _aligned_pixel _aligned_pixel |
|
inlinestatic |
References c1, c2, dot(), fast_mexp2f(), for_each_channel, and MAX.
void eaw_decompose | ( | float *const restrict | out, |
const float *const restrict | in, | ||
float *const restrict | detail, | ||
const int | scale, | ||
const float | sharpen, | ||
const int32_t | width, | ||
const int32_t | height | ||
) |
References dwt_interleave_rows(), height, SUM_PIXEL_CONTRIBUTION, SUM_PIXEL_EPILOGUE, SUM_PIXEL_PROLOGUE, and width.
Referenced by process().
void eaw_dn_decompose | ( | float *const restrict | out, |
const float *const restrict | in, | ||
float *const restrict | detail, | ||
dt_aligned_pixel_t | sum_squared, | ||
const int | scale, | ||
const float | inv_sigma2, | ||
const int32_t | width, | ||
const int32_t | height | ||
) |
References dwt_interleave_rows(), for_each_channel, height, SUM_PIXEL_CONTRIBUTION, SUM_PIXEL_EPILOGUE, SUM_PIXEL_PROLOGUE, _aligned_pixel::v, and width.
Referenced by process().
void eaw_synthesize | ( | float *const | out, |
const float *const | in, | ||
const float *const restrict | detail, | ||
const float *const restrict | threshold, | ||
const float *const restrict | boost, | ||
const int32_t | width, | ||
const int32_t | height | ||
) |
|
inlinestatic |
References c1, c2, dt_fast_expf(), for_each_channel, and weight().
Referenced by HashTablePermutohedral< KD, VD >::Value::add(), HashTablePermutohedral< KD, VD >::Value::addTo(), apply_correction(), auto_detect_WB(), blur_line(), dt_control_merge_hdr_process(), dt_iop_colorreconstruct_bilateral_slice(), dt_iop_colorreconstruct_bilateral_splat(), get_clusters(), get_clusters(), get_theta(), init_gaussian_kernel(), inpaint_noise(), lin_interpolate(), line_detect(), local_laplacian_internal(), mask_clipped_pixels(), nlmeans_denoise(), process(), process(), ransac(), region2rect(), vng_interpolate(), and weight().