![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include "bauhaus/bauhaus.h"#include "common/eaw.h"#include "common/exif.h"#include "common/imagebuf.h"#include "common/nlmeans_core.h"#include "common/noiseprofiles.h"#include "common/opencl.h"#include "control/control.h"#include "develop/blend.h"#include "develop/imageop.h"#include "develop/imageop_math.h"#include "develop/imageop_gui.h"#include "develop/pixelpipe_cache.h"#include "develop/tiling.h"#include "dtgtk/drawingarea.h"#include "gui/draw.h"#include "gui/gtk.h"#include "gui/presets.h"#include "iop/iop_api.h"#include <gtk/gtk.h>#include <math.h>#include <stdlib.h>
Include dependency graph for denoiseprofile.c:Data Structures | |
| struct | dt_iop_denoiseprofile_params_v1_t |
| struct | dt_iop_denoiseprofile_params_v4_t |
| struct | dt_iop_denoiseprofile_params_v5_t |
| struct | dt_iop_denoiseprofile_params_v6_t |
| struct | dt_iop_denoiseprofile_params_v7_t |
| struct | dt_iop_denoiseprofile_params_v8_t |
| struct | dt_iop_denoiseprofile_params_v9_t |
| struct | dt_iop_denoiseprofile_params_v10_t |
| struct | dt_iop_denoiseprofile_params_t |
| struct | dt_iop_denoiseprofile_gui_data_t |
| struct | dt_iop_denoiseprofile_data_t |
| struct | dt_iop_denoiseprofile_global_data_t |
| union | floatint_t |
Macros | |
| #define | USE_NEW_IMPL_CL 0 |
| #define | REDUCESIZE 64 |
| #define | NUM_BUCKETS 4 |
| #define | DT_IOP_DENOISE_PROFILE_INSET DT_PIXEL_APPLY_DPI(5) |
| #define | DT_IOP_DENOISE_PROFILE_RES 64 |
| #define | DT_IOP_DENOISE_PROFILE_V8_BANDS 5 |
| #define | DT_IOP_DENOISE_PROFILE_BANDS 7 |
| #define | DT_IOP_DENOISE_PROFILE_P_FULCRUM 0.05f |
| #define | DT_DENOISE_PROFILE_NONE_V9 4 |
| #define | debug_dump_PFM(p, n, b, w, h, s) |
| #define | MAX_MAX_SCALE DT_IOP_DENOISE_PROFILE_BANDS |
Enumerations | |
| enum | dt_iop_denoiseprofile_mode_t { MODE_NLMEANS = 0 , MODE_WAVELETS = 1 , MODE_VARIANCE = 2 , MODE_NLMEANS_AUTO = 3 , MODE_WAVELETS_AUTO = 4 } |
| enum | dt_iop_denoiseprofile_wavelet_mode_t { MODE_RGB = 0 , MODE_Y0U0V0 = 1 } |
| enum | dt_iop_denoiseprofile_channel_t { DT_DENOISE_PROFILE_ALL = 0 , DT_DENOISE_PROFILE_R = 1 , DT_DENOISE_PROFILE_G = 2 , DT_DENOISE_PROFILE_B = 3 , DT_DENOISE_PROFILE_Y0 = 4 , DT_DENOISE_PROFILE_U0V0 = 5 , DT_DENOISE_PROFILE_NONE = 6 } |
Functions | |
| static dt_noiseprofile_t | dt_iop_denoiseprofile_get_auto_profile (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) |
| void | init_presets (dt_iop_module_so_t *self) |
| const char * | name () |
| const char ** | description (struct dt_iop_module_t *self) |
| int | default_group () |
| int | flags () |
| int | default_colorspace (dt_iop_module_t *self, dt_dev_pixelpipe_t *pipe, const dt_dev_pixelpipe_iop_t *piece) |
| 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) |
| static __DT_CLONE_TARGETS__ void | precondition (const float *const in, float *const buf, const int wd, const int ht, const dt_aligned_pixel_t a, const dt_aligned_pixel_t b) |
| static __DT_CLONE_TARGETS__ void | backtransform (float *const buf, const int wd, const int ht, const dt_aligned_pixel_t a, const dt_aligned_pixel_t b) |
| static __DT_CLONE_TARGETS__ void | precondition_v2 (const float *const in, float *const buf, const int wd, const int ht, const float a, const dt_aligned_pixel_t p, const float b, const dt_aligned_pixel_t wb) |
| static __DT_CLONE_TARGETS__ void | backtransform_v2 (float *const buf, const int wd, const int ht, const float a, const dt_aligned_pixel_t p, const float b, const float bias, const dt_aligned_pixel_t wb) |
| static __DT_CLONE_TARGETS__ void | precondition_Y0U0V0 (const float *const in, float *const buf, const int wd, const int ht, const float a, const dt_aligned_pixel_t p, const float b, const dt_colormatrix_t toY0U0V0) |
| static __DT_CLONE_TARGETS__ void | backtransform_Y0U0V0 (float *const buf, const int wd, const int ht, const float a, const dt_aligned_pixel_t p, const float b, const float bias, const dt_aligned_pixel_t wb, const dt_colormatrix_t toRGB) |
| static __DT_CLONE_TARGETS__ void | compute_wb_factors (dt_aligned_pixel_t wb, const dt_iop_denoiseprofile_data_t *const d, const dt_dev_pixelpipe_iop_t *const piece, const dt_aligned_pixel_t weights) |
| static | __attribute__ ((always_inline)) |
| static __DT_CLONE_TARGETS__ void | set_up_conversion_matrices (dt_colormatrix_t toY0U0V0, dt_colormatrix_t toRGB, const dt_aligned_pixel_t wb) |
| static __DT_CLONE_TARGETS__ int | process_wavelets (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, const dt_iop_roi_t *const roi_in, const dt_iop_roi_t *const roi_out, const eaw_dn_decompose_t decompose, const eaw_synthesize_t synthesize) |
| static int | sign (int a) |
| static float | nlmeans_precondition_cl (const dt_iop_denoiseprofile_data_t *const d, const dt_dev_pixelpipe_iop_t *const piece, dt_aligned_pixel_t wb, float scale, dt_aligned_pixel_t aa, dt_aligned_pixel_t bb, dt_aligned_pixel_t p) |
| static __DT_CLONE_TARGETS__ void | sum_rec (const size_t npixels, const float *in, float *out) |
| static __DT_CLONE_TARGETS__ void | variance_rec (const size_t npixels, const float *in, float *out, const dt_aligned_pixel_t mean) |
| static int | bucket_next (unsigned int *state, unsigned int max) |
| static int | process_nlmeans_cl (struct dt_iop_module_t *self, const dt_dev_pixelpipe_t *pipe, const dt_dev_pixelpipe_iop_t *piece, cl_mem dev_in, cl_mem dev_out, const dt_iop_roi_t *const roi_in, const dt_iop_roi_t *const roi_out) |
| static int | process_wavelets_cl (struct dt_iop_module_t *self, const dt_dev_pixelpipe_t *pipe, const dt_dev_pixelpipe_iop_t *piece, cl_mem dev_in, cl_mem dev_out, const dt_iop_roi_t *const roi_in, const dt_iop_roi_t *const roi_out) |
| int | process_cl (struct dt_iop_module_t *self, const dt_dev_pixelpipe_t *pipe, const dt_dev_pixelpipe_iop_t *piece, cl_mem dev_in, cl_mem dev_out) |
| 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) |
| static unsigned | infer_radius_from_profile (const float a) |
| static float | infer_scattering_from_profile (const float a) |
| static float | infer_shadows_from_profile (const float a) |
| static float | infer_bias_from_profile (const float a) |
| void | init (dt_iop_module_t *module) |
| void | reload_defaults (dt_iop_module_t *module) |
| void | init_global (dt_iop_module_so_t *module) |
| void | cleanup_global (dt_iop_module_so_t *module) |
| void | commit_params (struct dt_iop_module_t *self, dt_iop_params_t *params, 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) |
| static void | profile_callback (GtkWidget *w, dt_iop_module_t *self) |
| static void | mode_callback (GtkWidget *w, dt_iop_module_t *self) |
| void | gui_changed (dt_iop_module_t *self, GtkWidget *w, void *previous) |
| void | gui_update (dt_iop_module_t *self) |
| void | gui_reset (dt_iop_module_t *self) |
| static void | dt_iop_denoiseprofile_get_params (dt_iop_denoiseprofile_params_t *p, const int ch, const double mouse_x, const double mouse_y, const float rad) |
| static gboolean | denoiseprofile_draw_variance (GtkWidget *widget, cairo_t *crf, gpointer user_data) |
| static gboolean | denoiseprofile_draw (GtkWidget *widget, cairo_t *crf, gpointer user_data) |
| static gboolean | denoiseprofile_motion_notify (GtkWidget *widget, GdkEventMotion *event, gpointer user_data) |
| static gboolean | denoiseprofile_button_press (GtkWidget *widget, GdkEventButton *event, gpointer user_data) |
| static gboolean | denoiseprofile_button_release (GtkWidget *widget, GdkEventButton *event, gpointer user_data) |
| static gboolean | denoiseprofile_leave_notify (GtkWidget *widget, GdkEventCrossing *event, gpointer user_data) |
| static gboolean | denoiseprofile_scrolled (GtkWidget *widget, GdkEventScroll *event, gpointer user_data) |
| static void | denoiseprofile_tab_switch (GtkNotebook *notebook, GtkWidget *page, guint page_num, gpointer user_data) |
| void | gui_init (dt_iop_module_t *self) |
| void | gui_cleanup (dt_iop_module_t *self) |
| #define DT_DENOISE_PROFILE_NONE_V9 4 |
| #define DT_IOP_DENOISE_PROFILE_BANDS 7 |
| #define DT_IOP_DENOISE_PROFILE_INSET DT_PIXEL_APPLY_DPI(5) |
| #define DT_IOP_DENOISE_PROFILE_P_FULCRUM 0.05f |
| #define DT_IOP_DENOISE_PROFILE_RES 64 |
| #define DT_IOP_DENOISE_PROFILE_V8_BANDS 5 |
| #define MAX_MAX_SCALE DT_IOP_DENOISE_PROFILE_BANDS |
| #define NUM_BUCKETS 4 |
| #define REDUCESIZE 64 |
| #define USE_NEW_IMPL_CL 0 |
| typedef struct dt_iop_denoiseprofile_data_t dt_iop_denoiseprofile_data_t |
| typedef struct dt_iop_denoiseprofile_gui_data_t dt_iop_denoiseprofile_gui_data_t |
| typedef enum dt_iop_denoiseprofile_mode_t dt_iop_denoiseprofile_mode_t |
| typedef struct dt_iop_denoiseprofile_params_t dt_iop_denoiseprofile_params_t |
| typedef union floatint_t floatint_t |
|
inlinestatic |
References __OMP_PARALLEL_FOR__, for_each_channel, and x.
Referenced by process_wavelets().
|
inlinestatic |
References __OMP_PARALLEL_FOR__, delta, for_each_channel, MAX, p, and x.
Referenced by process_wavelets().
|
inlinestatic |
References __OMP_PARALLEL_FOR__, delta, for_each_channel, k, MAX, p, rgb, and x.
Referenced by process_wavelets().
|
static |
Referenced by process_nlmeans_cl().
| void cleanup_global | ( | dt_iop_module_so_t * | module | ) |
References dt_iop_module_so_t::data, dt_free, dt_opencl_free_kernel(), dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_accu, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_backtransform, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_backtransform_v2, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_decompose, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_dist, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_finish, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_finish_v2, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_horiz, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_init, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_precondition, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_precondition_v2, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_reduce_first, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_reduce_second, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_synthesize, and dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_vert.
| void cleanup_pipe | ( | struct dt_iop_module_t * | self, |
| dt_dev_pixelpipe_t * | pipe, | ||
| dt_dev_pixelpipe_iop_t * | piece | ||
| ) |
References ch, d, dt_dev_pixelpipe_iop_t::data, DT_DENOISE_PROFILE_NONE, dt_draw_curve_destroy(), and dt_free_align.
| void commit_params | ( | struct dt_iop_module_t * | self, |
| dt_iop_params_t * | params, | ||
| dt_dev_pixelpipe_t * | pipe, | ||
| dt_dev_pixelpipe_iop_t * | piece | ||
| ) |
commit is the synch point between core and gui, so it copies params to pipe data.
References dt_noiseprofile_t::a, dt_noiseprofile_t::b, dt_dev_pixelpipe_iop_t::cache_output_on_ram, ch, d, dt_dev_pixelpipe_iop_t::data, DT_DENOISE_PROFILE_NONE, dt_draw_curve_calc_values(), dt_draw_curve_set_point(), DT_IOP_DENOISE_PROFILE_BANDS, dt_iop_denoiseprofile_get_auto_profile(), i, infer_bias_from_profile(), infer_radius_from_profile(), infer_scattering_from_profile(), infer_shadows_from_profile(), k, MODE_NLMEANS_AUTO, MODE_WAVELETS_AUTO, p, and TRUE.
|
static |
| int default_colorspace | ( | dt_iop_module_t * | self, |
| dt_dev_pixelpipe_t * | pipe, | ||
| const dt_dev_pixelpipe_iop_t * | piece | ||
| ) |
References IOP_CS_RGB.
| int default_group | ( | ) |
References IOP_GROUP_REPAIR.
|
static |
References ch, d, darktable, dt_iop_module_t::default_params, darktable_t::develop, dt_dev_add_history_item, dt_draw_curve_calc_value(), DT_IOP_DENOISE_PROFILE_BANDS, DT_IOP_DENOISE_PROFILE_INSET, FALSE, dt_iop_module_t::gui_data, height, k, p, dt_iop_module_t::params, TRUE, dt_iop_module_t::widget, and width.
Referenced by gui_init().
|
static |
References FALSE, dt_iop_module_t::gui_data, and TRUE.
Referenced by gui_init().
|
static |
References darktable_t::bauhaus, ch, darktable, dt_cairo_image_surface_create(), DT_DENOISE_PROFILE_ALL, DT_DENOISE_PROFILE_B, DT_DENOISE_PROFILE_G, DT_DENOISE_PROFILE_NONE, DT_DENOISE_PROFILE_R, DT_DENOISE_PROFILE_U0V0, DT_DENOISE_PROFILE_Y0, dt_draw_curve_calc_values(), dt_draw_curve_set_point(), dt_draw_grid(), DT_IOP_DENOISE_PROFILE_BANDS, DT_IOP_DENOISE_PROFILE_INSET, DT_IOP_DENOISE_PROFILE_RES, dt_iop_denoiseprofile_get_params(), DT_PIXEL_APPLY_DPI, f, dt_iop_module_t::gui_data, height, i, k, M_PI, MODE_RGB, p, dt_bauhaus_t::pango_font_desc, dt_iop_module_t::params, TRUE, and width.
Referenced by gui_init().
|
static |
References darktable, dt_free, FALSE, darktable_t::gui, dt_iop_module_t::gui_data, and dt_gui_gtk_t::reset.
Referenced by gui_init().
|
static |
References dt_iop_module_t::gui_data, and TRUE.
Referenced by gui_init().
|
static |
References darktable, darktable_t::develop, dt_dev_add_history_item, DT_IOP_DENOISE_PROFILE_INSET, dt_iop_denoiseprofile_get_params(), dt_iop_module_t::gui_data, height, p, dt_iop_module_t::params, TRUE, and width.
Referenced by gui_init().
|
static |
|
static |
References darktable, DT_DENOISE_PROFILE_Y0, darktable_t::gui, dt_iop_module_t::gui_data, MODE_Y0U0V0, p, dt_iop_module_t::params, dt_gui_gtk_t::reset, and dt_iop_module_t::widget.
Referenced by gui_init().
| const char ** description | ( | struct dt_iop_module_t * | self | ) |
References dt_iop_set_description().
|
static |
References dt_iop_module_t::dev, dt_noiseprofile_free(), dt_noiseprofile_generic, dt_noiseprofile_get_matching(), dt_noiseprofile_interpolate(), dt_image_t::exif_iso, dt_develop_t::image_storage, and dt_noiseprofile_t::iso.
Referenced by commit_params(), gui_changed(), gui_update(), and legacy_params().
|
static |
References ch, DT_IOP_DENOISE_PROFILE_BANDS, f, k, and p.
Referenced by denoiseprofile_draw(), and denoiseprofile_motion_notify().
| int flags | ( | ) |
References IOP_FLAGS_ALLOW_TILING, and IOP_FLAGS_SUPPORTS_BLENDING.
| void gui_changed | ( | dt_iop_module_t * | self, |
| GtkWidget * | w, | ||
| void * | previous | ||
| ) |
References dt_noiseprofile_t::a, dt_bauhaus_slider_set(), DT_DENOISE_PROFILE_ALL, DT_DENOISE_PROFILE_Y0, dt_iop_denoiseprofile_get_auto_profile(), FALSE, g, dt_iop_module_t::gui_data, infer_bias_from_profile(), infer_radius_from_profile(), infer_scattering_from_profile(), infer_shadows_from_profile(), MODE_NLMEANS_AUTO, MODE_RGB, MODE_WAVELETS_AUTO, MODE_Y0U0V0, p, dt_iop_module_t::params, and TRUE.
| void gui_cleanup | ( | dt_iop_module_t * | self | ) |
References dt_draw_curve_destroy(), dt_noiseprofile_free(), g, dt_iop_module_t::gui_data, and IOP_GUI_FREE.
| void gui_init | ( | dt_iop_module_t * | self | ) |
References darktable_t::bauhaus, CATMULL_ROM, ch, darktable, dt_iop_module_t::default_params, denoiseprofile_button_press(), denoiseprofile_button_release(), denoiseprofile_draw(), denoiseprofile_draw_variance(), denoiseprofile_leave_notify(), denoiseprofile_motion_notify(), denoiseprofile_scrolled(), denoiseprofile_tab_switch(), dt_bauhaus_combobox_add(), dt_bauhaus_combobox_from_params(), dt_bauhaus_combobox_new(), dt_bauhaus_slider_from_params(), dt_bauhaus_slider_set_digits(), dt_bauhaus_slider_set_soft_max(), dt_bauhaus_slider_set_soft_range(), DT_BAUHAUS_SPACE, dt_bauhaus_toggle_from_params(), dt_bauhaus_widget_set_label(), dt_conf_get_bool(), dt_conf_get_int(), dt_draw_curve_add_point(), dt_draw_curve_new(), DT_GUI_MODULE, DT_IOP_DENOISE_PROFILE_BANDS, dt_ui_label_new(), dt_ui_notebook_page(), dtgtk_drawing_area_new_with_aspect_ratio(), FALSE, g, darktable_t::gui, IOP_GUI_ALLOC, k, mode_callback(), p, profile_callback(), dt_gui_gtk_t::scroll_mask, TRUE, void(), and dt_iop_module_t::widget.
| void gui_reset | ( | dt_iop_module_t * | self | ) |
References DT_DENOISE_PROFILE_ALL, DT_DENOISE_PROFILE_Y0, g, dt_iop_module_t::gui_data, MODE_Y0U0V0, p, and dt_iop_module_t::params.
| void gui_update | ( | dt_iop_module_t * | self | ) |
References dt_noiseprofile_t::a, dt_noiseprofile_t::b, dt_bauhaus_combobox_add(), dt_bauhaus_combobox_length(), dt_bauhaus_combobox_set(), dt_bauhaus_slider_set(), DT_DENOISE_PROFILE_ALL, DT_DENOISE_PROFILE_B, DT_DENOISE_PROFILE_Y0, dt_iop_denoiseprofile_get_auto_profile(), FALSE, g, dt_iop_module_t::gui_data, i, infer_bias_from_profile(), infer_radius_from_profile(), infer_scattering_from_profile(), infer_shadows_from_profile(), MODE_NLMEANS, MODE_NLMEANS_AUTO, MODE_RGB, MODE_VARIANCE, MODE_WAVELETS, MODE_WAVELETS_AUTO, MODE_Y0U0V0, p, and dt_iop_module_t::params.
|
inlinestatic |
References MAX.
Referenced by commit_params(), gui_changed(), gui_update(), and reload_defaults().
|
inlinestatic |
References MIN.
Referenced by commit_params(), gui_changed(), gui_update(), and reload_defaults().
|
inlinestatic |
References MIN.
Referenced by commit_params(), gui_changed(), gui_update(), and reload_defaults().
|
inlinestatic |
Referenced by commit_params(), gui_changed(), gui_update(), and reload_defaults().
| void init | ( | dt_iop_module_t * | module | ) |
References ch, d, DT_DENOISE_PROFILE_NONE, dt_iop_default_init(), DT_IOP_DENOISE_PROFILE_BANDS, k, and dt_iop_denoiseprofile_params_t::x.
| void init_global | ( | dt_iop_module_so_t * | module | ) |
References dt_opencl_create_kernel(), dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_accu, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_backtransform, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_backtransform_v2, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_backtransform_Y0U0V0, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_decompose, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_dist, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_finish, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_finish_v2, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_horiz, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_init, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_precondition, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_precondition_v2, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_precondition_Y0U0V0, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_reduce_first, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_reduce_second, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_synthesize, and dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_vert.
| void init_pipe | ( | struct dt_iop_module_t * | self, |
| dt_dev_pixelpipe_t * | pipe, | ||
| dt_dev_pixelpipe_iop_t * | piece | ||
| ) |
References CATMULL_ROM, ch, d, dt_dev_pixelpipe_iop_t::data, dt_dev_pixelpipe_iop_t::data_size, dt_iop_module_t::default_params, dt_calloc_align(), DT_DENOISE_PROFILE_NONE, dt_draw_curve_add_point(), dt_draw_curve_new(), DT_IOP_DENOISE_PROFILE_BANDS, k, dt_iop_denoiseprofile_params_t::x, and dt_iop_denoiseprofile_params_t::y.
| void init_presets | ( | dt_iop_module_so_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 | ||
| ) |
References dt_noiseprofile_t::a, dt_iop_denoiseprofile_params_v1_t::a, dt_iop_denoiseprofile_params_v4_t::a, dt_iop_denoiseprofile_params_v5_t::a, dt_iop_denoiseprofile_params_v6_t::a, dt_iop_denoiseprofile_params_v7_t::a, dt_iop_denoiseprofile_params_v8_t::a, dt_iop_denoiseprofile_params_t::a, dt_noiseprofile_t::b, dt_iop_denoiseprofile_params_v1_t::b, dt_iop_denoiseprofile_params_v4_t::b, dt_iop_denoiseprofile_params_v5_t::b, dt_iop_denoiseprofile_params_v6_t::b, dt_iop_denoiseprofile_params_v7_t::b, dt_iop_denoiseprofile_params_v8_t::b, dt_iop_denoiseprofile_params_t::b, dt_iop_denoiseprofile_params_v8_t::bias, dt_iop_denoiseprofile_params_t::bias, dt_iop_denoiseprofile_params_v7_t::central_pixel_weight, dt_iop_denoiseprofile_params_v8_t::central_pixel_weight, dt_iop_denoiseprofile_params_t::central_pixel_weight, d, dt_iop_module_t::default_params, dt_iop_module_t::dev, DT_DENOISE_PROFILE_NONE, DT_DENOISE_PROFILE_NONE_V9, DT_IOP_DENOISE_PROFILE_BANDS, DT_IOP_DENOISE_PROFILE_V8_BANDS, dt_iop_denoiseprofile_get_auto_profile(), FALSE, dt_iop_denoiseprofile_params_v7_t::fix_anscombe_and_nlmeans_norm, dt_iop_denoiseprofile_params_v8_t::fix_anscombe_and_nlmeans_norm, dt_iop_denoiseprofile_params_t::fix_anscombe_and_nlmeans_norm, IS_NULL_PTR, k, legacy_params(), dt_iop_denoiseprofile_params_v1_t::mode, dt_iop_denoiseprofile_params_v4_t::mode, dt_iop_denoiseprofile_params_v5_t::mode, dt_iop_denoiseprofile_params_v6_t::mode, dt_iop_denoiseprofile_params_v7_t::mode, dt_iop_denoiseprofile_params_v8_t::mode, dt_iop_denoiseprofile_params_t::mode, MODE_NLMEANS, MODE_RGB, MODE_WAVELETS, MODE_WAVELETS_AUTO, MODE_Y0U0V0, n, dt_iop_denoiseprofile_params_v5_t::nbhood, dt_iop_denoiseprofile_params_v6_t::nbhood, dt_iop_denoiseprofile_params_v7_t::nbhood, dt_iop_denoiseprofile_params_v8_t::nbhood, dt_iop_denoiseprofile_params_t::nbhood, dt_iop_denoiseprofile_params_v8_t::overshooting, dt_iop_denoiseprofile_params_t::overshooting, dt_iop_denoiseprofile_params_v1_t::radius, dt_iop_denoiseprofile_params_v4_t::radius, dt_iop_denoiseprofile_params_v5_t::radius, dt_iop_denoiseprofile_params_v6_t::radius, dt_iop_denoiseprofile_params_v7_t::radius, dt_iop_denoiseprofile_params_v8_t::radius, dt_iop_denoiseprofile_params_t::radius, dt_iop_denoiseprofile_params_v6_t::scattering, dt_iop_denoiseprofile_params_v7_t::scattering, dt_iop_denoiseprofile_params_v8_t::scattering, dt_iop_denoiseprofile_params_t::scattering, dt_iop_denoiseprofile_params_v8_t::shadows, dt_iop_denoiseprofile_params_t::shadows, dt_iop_denoiseprofile_params_v1_t::strength, dt_iop_denoiseprofile_params_v4_t::strength, dt_iop_denoiseprofile_params_v5_t::strength, dt_iop_denoiseprofile_params_v6_t::strength, dt_iop_denoiseprofile_params_v7_t::strength, dt_iop_denoiseprofile_params_v8_t::strength, dt_iop_denoiseprofile_params_t::strength, TRUE, dt_iop_denoiseprofile_params_v8_t::use_new_vst, dt_iop_denoiseprofile_params_t::use_new_vst, dt_iop_denoiseprofile_params_t::wavelet_color_mode, dt_iop_denoiseprofile_params_v7_t::wb_adaptive_anscombe, dt_iop_denoiseprofile_params_v8_t::wb_adaptive_anscombe, dt_iop_denoiseprofile_params_t::wb_adaptive_anscombe, dt_iop_denoiseprofile_params_v4_t::x, dt_iop_denoiseprofile_params_v5_t::x, dt_iop_denoiseprofile_params_v6_t::x, dt_iop_denoiseprofile_params_v7_t::x, dt_iop_denoiseprofile_params_v8_t::x, dt_iop_denoiseprofile_params_t::x, dt_iop_denoiseprofile_params_v4_t::y, dt_iop_denoiseprofile_params_v5_t::y, dt_iop_denoiseprofile_params_v6_t::y, dt_iop_denoiseprofile_params_v7_t::y, dt_iop_denoiseprofile_params_v8_t::y, and dt_iop_denoiseprofile_params_t::y.
Referenced by legacy_params().
|
static |
References darktable, darktable_t::develop, dt_bauhaus_combobox_get(), dt_dev_add_history_item, FALSE, g, dt_iop_module_t::gui_data, MODE_NLMEANS, MODE_NLMEANS_AUTO, MODE_RGB, MODE_VARIANCE, MODE_WAVELETS, MODE_WAVELETS_AUTO, MODE_Y0U0V0, p, dt_iop_module_t::params, and TRUE.
Referenced by gui_init().
| const char * name | ( | ) |
Referenced by reload_defaults().
|
static |
References compute_wb_factors(), d, DT_IOP_DENOISE_PROFILE_P_FULCRUM, for_each_channel, i, MAX, and p.
Referenced by process_nlmeans_cl().
|
inlinestatic |
References __OMP_PARALLEL_FOR__, d, and for_each_channel.
Referenced by process_wavelets().
|
inlinestatic |
References __OMP_PARALLEL_FOR__, for_each_channel, MAX, and p.
Referenced by process_wavelets().
|
inlinestatic |
References __OMP_PARALLEL_FOR__, for_each_channel, k, MAX, and p.
Referenced by process_wavelets().
| 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 | ||
| ) |
| int process_cl | ( | struct dt_iop_module_t * | self, |
| const dt_dev_pixelpipe_t * | pipe, | ||
| const dt_dev_pixelpipe_iop_t * | piece, | ||
| cl_mem | dev_in, | ||
| cl_mem | dev_out | ||
| ) |
|
static |
References bucket_next(), d, dt_dev_pixelpipe_iop_t::data, dt_dev_pixelpipe_t::devid, DT_DEBUG_OPENCL, dt_opencl_alloc_device(), dt_opencl_alloc_device_buffer(), dt_opencl_enqueue_kernel_2d(), dt_opencl_enqueue_kernel_2d_with_local(), dt_opencl_local_buffer_opt(), dt_opencl_release_mem_object(), dt_opencl_set_kernel_arg(), dt_print(), error(), FALSE, dt_iop_module_t::global_data, height, dt_iop_roi_t::height, i, IS_NULL_PTR, k, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_accu, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_dist, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_finish, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_finish_v2, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_horiz, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_init, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_precondition, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_precondition_v2, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_vert, nlmeans_denoiseprofile_cl(), nlmeans_precondition_cl(), NUM_BUCKETS, p, P, ROUNDUP, ROUNDUPDHT, ROUNDUPDWD, dt_iop_roi_t::scale, sign, dt_opencl_local_buffer_t::sizex, dt_opencl_local_buffer_t::sizey, state, TRUE, dt_dev_pixelpipe_t::type, void(), width, dt_iop_roi_t::width, and dt_opencl_local_buffer_t::xoffset.
Referenced by process_cl().
|
static |
References __OMP_SIMD__, backtransform(), backtransform_v2(), backtransform_Y0U0V0(), dt_dev_pixelpipe_iop_t::buf_in, dt_iop_buffer_dsc_t::channels, compute_wb_factors(), d, dt_dev_pixelpipe_iop_t::data, debug_dump_PFM, dt_dev_pixelpipe_iop_t::dsc_in, DT_DEV_PIXELPIPE_DISPLAY_MASK, dt_iop_alloc_image_buffers(), dt_iop_copy_image_roi(), DT_IOP_DENOISE_PROFILE_P_FULCRUM, dt_pixelpipe_cache_free_align, for_each_channel, height, dt_iop_roi_t::height, i, k, dt_dev_pixelpipe_t::mask_display, MAX, MAX_MAX_SCALE, MIN, MODE_RGB, out, ovoid, p, precondition(), precondition_v2(), precondition_Y0U0V0(), dt_iop_roi_t::scale, set_up_conversion_matrices(), sigma, t, thrs, TRUE, width, and dt_iop_roi_t::width.
Referenced by process().
|
static |
References dt_dev_pixelpipe_iop_t::buf_in, ch, compute_wb_factors(), d, dt_dev_pixelpipe_iop_t::data, dt_dev_pixelpipe_t::devid, DT_CACHELINE_BYTES, DT_DEBUG_OPENCL, DT_DENOISE_PROFILE_ALL, DT_DENOISE_PROFILE_B, DT_DENOISE_PROFILE_G, DT_DENOISE_PROFILE_R, DT_DENOISE_PROFILE_U0V0, DT_DENOISE_PROFILE_Y0, dt_free, DT_IOP_DENOISE_PROFILE_BANDS, DT_IOP_DENOISE_PROFILE_P_FULCRUM, dt_opencl_alloc_device(), dt_opencl_alloc_device_buffer(), dt_opencl_copy_host_to_device_constant(), dt_opencl_enqueue_copy_image(), dt_opencl_enqueue_kernel_2d(), dt_opencl_enqueue_kernel_2d_with_local(), dt_opencl_local_buffer_opt(), dt_opencl_read_buffer_from_device(), dt_opencl_release_mem_object(), dt_opencl_set_kernel_arg(), dt_pixelpipe_cache_alloc_align, dt_pixelpipe_cache_free_align, dt_print(), error(), FALSE, for_each_channel, dt_iop_module_t::global_data, height, dt_iop_roi_t::height, i, IS_NULL_PTR, k, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_backtransform, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_backtransform_v2, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_backtransform_Y0U0V0, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_decompose, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_precondition, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_precondition_v2, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_precondition_Y0U0V0, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_reduce_first, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_reduce_second, dt_iop_denoiseprofile_global_data_t::kernel_denoiseprofile_synthesize, m, MAX, MIN, MODE_RGB, p, REDUCESIZE, ROUNDUP, ROUNDUPDHT, ROUNDUPDWD, dt_iop_roi_t::scale, set_up_conversion_matrices(), sigma, dt_opencl_local_buffer_t::sizex, dt_opencl_local_buffer_t::sizey, t, thrs, TRUE, width, dt_iop_roi_t::width, and dt_opencl_local_buffer_t::xoffset.
Referenced by process_cl().
|
static |
References dt_noiseprofile_t::a, dt_noiseprofile_t::b, darktable, darktable_t::develop, dt_bauhaus_combobox_get(), dt_dev_add_history_item, g, dt_iop_module_t::gui_data, i, k, p, dt_iop_module_t::params, and TRUE.
Referenced by gui_init().
| void reload_defaults | ( | dt_iop_module_t * | module | ) |
this will be called to init new defaults if a new image is loaded from film strip mode.
References dt_noiseprofile_t::a, d, dt_iop_module_t::dev, dt_bauhaus_combobox_add(), dt_bauhaus_combobox_clear(), dt_bauhaus_slider_set_default(), dt_noiseprofile_free(), dt_noiseprofile_generic, dt_noiseprofile_get_matching(), dt_noiseprofile_interpolate(), g, dt_iop_module_t::gui_data, dt_develop_t::image_storage, infer_bias_from_profile(), infer_radius_from_profile(), infer_scattering_from_profile(), infer_shadows_from_profile(), IS_NULL_PTR, dt_noiseprofile_t::iso, k, dt_noiseprofile_t::name, name(), and dt_iop_denoiseprofile_params_t::radius.
|
static |
Referenced by process_wavelets(), and process_wavelets_cl().
|
static |
|
static |
References for_each_channel, i, out, and sum_rec().
Referenced by sum_rec().
| 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 | ||
| ) |
References dt_dev_pixelpipe_iop_t::buf_in, d, dt_dev_pixelpipe_iop_t::data, DT_IOP_DENOISE_PROFILE_BANDS, dt_iop_roi_t::height, MODE_NLMEANS, MODE_NLMEANS_AUTO, NUM_BUCKETS, P, dt_dev_pixelpipe_iop_t::roi_in, dt_iop_roi_t::scale, t, and dt_iop_roi_t::width.
|
static |
References for_each_channel, i, out, and variance_rec().
Referenced by variance_rec().