#include "bauhaus/bauhaus.h"
#include "common/bilateral.h"
#include "common/bilateralcl.h"
#include "common/debug.h"
#include "common/gaussian.h"
#include "common/opencl.h"
#include "control/control.h"
#include "develop/develop.h"
#include "develop/imageop.h"
#include "develop/imageop_math.h"
#include "develop/imageop_gui.h"
#include "develop/tiling.h"
#include "dtgtk/togglebutton.h"
#include "gui/gtk.h"
#include "gui/presets.h"
#include "iop/iop_api.h"
#include <assert.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <gtk/gtk.h>
#include <inttypes.h>
Go to the source code of this file.
|
| const char * | name () |
| |
| int | flags () |
| |
| int | default_group () |
| |
| int | default_colorspace (dt_iop_module_t *self, dt_dev_pixelpipe_t *pipe, const dt_dev_pixelpipe_iop_t *piece) |
| |
| const char ** | description (struct dt_iop_module_t *self) |
| |
| int | legacy_params (dt_iop_module_t *self, const void *const old_params, const int old_version, void *new_params, const int new_version) |
| |
| static void | _Lab_scale (const float *i, float *o) |
| |
| static void | _Lab_rescale (const float *i, float *o) |
| |
| static float | sign (float x) |
| |
| __DT_CLONE_TARGETS__ int | process (struct dt_iop_module_t *self, const dt_dev_pixelpipe_t *pipe, const dt_dev_pixelpipe_iop_t *piece, const void *const ivoid, void *const ovoid) |
| |
| void | tiling_callback (struct dt_iop_module_t *self, const struct dt_dev_pixelpipe_t *pipe, const struct dt_dev_pixelpipe_iop_t *piece, struct dt_develop_tiling_t *tiling) |
| |
| void | commit_params (struct dt_iop_module_t *self, dt_iop_params_t *p1, dt_dev_pixelpipe_t *pipe, dt_dev_pixelpipe_iop_t *piece) |
| |
| void | init_pipe (struct dt_iop_module_t *self, dt_dev_pixelpipe_t *pipe, dt_dev_pixelpipe_iop_t *piece) |
| |
| void | cleanup_pipe (struct dt_iop_module_t *self, dt_dev_pixelpipe_t *pipe, dt_dev_pixelpipe_iop_t *piece) |
| |
| void | gui_init (struct dt_iop_module_t *self) |
| |
◆ UNBOUND_A
◆ UNBOUND_B
◆ UNBOUND_BILATERAL
| #define UNBOUND_BILATERAL 128 /* not implemented yet */ |
◆ UNBOUND_DEFAULT
Value:
#define UNBOUND_SHADOWS_L
#define UNBOUND_HIGHLIGHTS_L
#define UNBOUND_HIGHLIGHTS_A
#define UNBOUND_SHADOWS_A
#define UNBOUND_SHADOWS_B
#define UNBOUND_HIGHLIGHTS_B
Definition at line 82 of file shadhi.c.
◆ UNBOUND_GAUSSIAN
| #define UNBOUND_GAUSSIAN 64 |
◆ UNBOUND_HIGHLIGHTS_A
| #define UNBOUND_HIGHLIGHTS_A (UNBOUND_A << 3) /* 16 */ |
◆ UNBOUND_HIGHLIGHTS_B
| #define UNBOUND_HIGHLIGHTS_B (UNBOUND_B << 3) /* 32 */ |
◆ UNBOUND_HIGHLIGHTS_L
| #define UNBOUND_HIGHLIGHTS_L (UNBOUND_L << 3) /* 8 */ |
◆ UNBOUND_L
◆ UNBOUND_SHADOWS_A
◆ UNBOUND_SHADOWS_B
◆ UNBOUND_SHADOWS_L
◆ dt_iop_shadhi_algo_t
◆ dt_iop_shadhi_data_t
◆ dt_iop_shadhi_gui_data_t
◆ dt_iop_shadhi_params1_t
◆ dt_iop_shadhi_params2_t
◆ dt_iop_shadhi_params3_t
◆ dt_iop_shadhi_params4_t
◆ dt_iop_shadhi_params_t
◆ dt_iop_shadhi_algo_t
| Enumerator |
|---|
| SHADHI_ALGO_GAUSSIAN | |
| SHADHI_ALGO_BILATERAL | |
Definition at line 88 of file shadhi.c.
◆ _Lab_rescale()
| static void _Lab_rescale |
( |
const float * |
i, |
|
|
float * |
o |
|
) |
| |
|
inlinestatic |
◆ _Lab_scale()
| static void _Lab_scale |
( |
const float * |
i, |
|
|
float * |
o |
|
) |
| |
|
inlinestatic |
◆ cleanup_pipe()
◆ commit_params()
◆ default_colorspace()
◆ default_group()
◆ description()
◆ flags()
◆ gui_init()
◆ init_pipe()
◆ legacy_params()
| int legacy_params |
( |
dt_iop_module_t * |
self, |
|
|
const void *const |
old_params, |
|
|
const int |
old_version, |
|
|
void * |
new_params, |
|
|
const int |
new_version |
|
) |
| |
Definition at line 222 of file shadhi.c.
References dt_iop_shadhi_params1_t::compress, dt_iop_shadhi_params2_t::compress, dt_iop_shadhi_params3_t::compress, dt_iop_shadhi_params4_t::compress, dt_iop_shadhi_params3_t::flags, dt_iop_shadhi_params4_t::flags, dt_iop_shadhi_params1_t::highlights, dt_iop_shadhi_params2_t::highlights, dt_iop_shadhi_params3_t::highlights, dt_iop_shadhi_params4_t::highlights, dt_iop_shadhi_params2_t::highlights_ccorrect, dt_iop_shadhi_params3_t::highlights_ccorrect, dt_iop_shadhi_params4_t::highlights_ccorrect, dt_iop_shadhi_params4_t::low_approximation, dt_iop_shadhi_params1_t::order, dt_iop_shadhi_params2_t::order, dt_iop_shadhi_params3_t::order, dt_iop_shadhi_params4_t::order, dt_iop_shadhi_params_t::order, dt_iop_shadhi_params1_t::radius, dt_iop_shadhi_params2_t::radius, dt_iop_shadhi_params3_t::radius, dt_iop_shadhi_params4_t::radius, dt_iop_shadhi_params1_t::reserved1, dt_iop_shadhi_params2_t::reserved1, dt_iop_shadhi_params3_t::reserved1, dt_iop_shadhi_params1_t::reserved2, dt_iop_shadhi_params2_t::reserved2, dt_iop_shadhi_params3_t::reserved2, dt_iop_shadhi_params4_t::reserved2, SHADHI_ALGO_BILATERAL, SHADHI_ALGO_GAUSSIAN, dt_iop_shadhi_params1_t::shadows, dt_iop_shadhi_params2_t::shadows, dt_iop_shadhi_params3_t::shadows, dt_iop_shadhi_params4_t::shadows, dt_iop_shadhi_params2_t::shadows_ccorrect, dt_iop_shadhi_params3_t::shadows_ccorrect, dt_iop_shadhi_params4_t::shadows_ccorrect, and dt_iop_shadhi_params4_t::whitepoint.
◆ name()
◆ process()
Definition at line 321 of file shadhi.c.
References __OMP_PARALLEL_FOR__, _Lab_rescale(), _Lab_scale(), ch, dt_iop_buffer_dsc_t::channels, dt_dev_pixelpipe_iop_t::data, dt_dev_pixelpipe_iop_t::dsc_in, dt_bilateral_blur(), dt_bilateral_free(), dt_bilateral_init(), dt_bilateral_slice(), dt_bilateral_splat(), DT_DEV_PIXELPIPE_DISPLAY_MASK, dt_gaussian_blur_4c(), dt_gaussian_free(), dt_gaussian_init(), flags(), g, height, dt_iop_roi_t::height, IS_NULL_PTR, k, dt_dev_pixelpipe_t::mask_display, max, min, out, ovoid, dt_dev_pixelpipe_iop_t::roi_in, dt_dev_pixelpipe_iop_t::roi_out, dt_iop_roi_t::scale, SHADHI_ALGO_BILATERAL, SHADHI_ALGO_GAUSSIAN, sigma, sigma_r, sigma_s, sign, UNBOUND_BILATERAL, UNBOUND_GAUSSIAN, UNBOUND_HIGHLIGHTS_A, UNBOUND_HIGHLIGHTS_B, UNBOUND_HIGHLIGHTS_L, UNBOUND_SHADOWS_A, UNBOUND_SHADOWS_B, UNBOUND_SHADOWS_L, width, and dt_iop_roi_t::width.
◆ sign()
| static float sign |
( |
float |
x | ) |
|
|
inlinestatic |
◆ tiling_callback()
- Todo:
- : check if that's sufficiently large
- Todo:
- the above are worst case values, we might iterate through the dt_iop_retouch_form_data_t to get
Definition at line 473 of file shadhi.c.
References dt_iop_buffer_dsc_t::channels, d, dt_dev_pixelpipe_iop_t::data, dt_dev_pixelpipe_iop_t::dsc_in, dt_bilateral_memory_use(), dt_bilateral_singlebuffer_size(), dt_gaussian_memory_use(), dt_gaussian_singlebuffer_size(), height, dt_iop_roi_t::height, dt_dev_pixelpipe_iop_t::roi_in, dt_iop_roi_t::scale, SHADHI_ALGO_BILATERAL, sigma, sigma_r, sigma_s, void(), width, and dt_iop_roi_t::width.