![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include "widgets/bauhaus.h"#include "common/opencl.h"#include "control/user_message.h"#include "develop/develop.h"#include "develop/imageop.h"#include "develop/imageop_gui.h"#include "develop/imageop_math.h"#include "develop/tiling.h"#include <assert.h>#include <math.h>#include <stdlib.h>#include <string.h>#include "iop/iop_api.h"#include "iop/highlights/clip.h"#include "iop/highlights/common.h"#include "iop/highlights/inpaint.h"#include "iop/highlights/laplacian.h"#include "iop/highlights/lch.h"#include "iop/highlights/process.h"#include <gtk/gtk.h>#include <inttypes.h>#include "widgets/label.h"
Include dependency graph for highlights.c:Go to the source code of this file.
Data Structures | |
| struct | dt_iop_highlights_gui_data_t |
Typedefs | |
| typedef struct dt_iop_highlights_gui_data_t | dt_iop_highlights_gui_data_t |
Functions | |
| 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 | output_format (dt_iop_module_t *self, dt_dev_pixelpipe_t *pipe, dt_dev_pixelpipe_iop_t *piece, dt_iop_buffer_dsc_t *dsc) |
| void | autoset (struct dt_iop_module_t *self, const struct dt_dev_pixelpipe_t *pipe, const struct dt_dev_pixelpipe_iop_t *piece, const void *input) |
| 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 | _hl_count_thresholds (const int mode, const float user_clip, const dt_aligned_pixel_t pmax, const float clip, dt_aligned_pixel_t thresholds) |
| static size_t | _hl_count_clipped (const dt_dev_pixelpipe_iop_t *piece, const void *const ivoid, const dt_iop_roi_t *const roi_out, const dt_aligned_pixel_t thresholds) |
| static void | _hl_copy_input (const dt_dev_pixelpipe_iop_t *piece, const void *const ivoid, void *const ovoid, const dt_iop_roi_t *const roi_out) |
| static cl_int | _hl_cl_visualize (dt_iop_highlights_global_data_t *gd, const int devid, cl_mem dev_in, cl_mem dev_out, const int width, const int height, const dt_iop_roi_t *const roi_out, const uint32_t filters, const dt_aligned_pixel_t clips) |
| static cl_int | _hl_cl_count_clipped (dt_iop_highlights_global_data_t *gd, const int devid, cl_mem dev_in, const int width, const int height, const dt_aligned_pixel_t thresholds, const int is_raw, size_t *const clipped) |
| static cl_int | _hl_cl_clip (dt_iop_highlights_global_data_t *gd, const int devid, cl_mem dev_in, cl_mem dev_out, const int width, const int height, const dt_iop_roi_t *const roi_out, const uint32_t filters, const int mode, const float clip) |
| static cl_int | _hl_cl_lch_bayer (dt_iop_highlights_global_data_t *gd, const int devid, cl_mem dev_in, cl_mem dev_out, const int width, const int height, const dt_iop_roi_t *const roi_out, const uint32_t filters, const float clip) |
| static cl_int | _hl_cl_lch_xtrans (dt_iop_highlights_global_data_t *gd, const int devid, cl_mem dev_in, cl_mem dev_out, const int width, const int height, const dt_iop_roi_t *const roi_out, const dt_dev_pixelpipe_iop_t *piece, const float clip) |
| 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) |
| 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 const char * | _highlights_mode_name (const dt_iop_highlights_mode_t mode) |
| static gboolean | _highlights_mode_supported (const dt_iop_highlights_mode_t mode, const uint32_t filters) |
| __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 | commit_params (struct dt_iop_module_t *self, dt_iop_params_t *p1, dt_dev_pixelpipe_t *pipe, dt_dev_pixelpipe_iop_t *piece) |
| static gboolean | _highlights_image_supported (const dt_image_t *image) |
| static gboolean | enable (const dt_image_t *image) |
| gboolean | force_enable (struct dt_iop_module_t *self, const gboolean current_state) |
| void | init_global (dt_iop_module_so_t *module) |
| void | cleanup_global (dt_iop_module_so_t *module) |
| 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_changed (dt_iop_module_t *self, GtkWidget *w, void *previous) |
| void | gui_update (struct dt_iop_module_t *self) |
| Refresh GUI controls from current params and configuration. | |
| void | reload_defaults (dt_iop_module_t *module) |
| static void | _visualize_callback (GtkWidget *quad, gpointer user_data) |
| void | gui_focus (struct dt_iop_module_t *self, gboolean in) |
| void | gui_init (struct dt_iop_module_t *self) |
| typedef struct dt_iop_highlights_gui_data_t dt_iop_highlights_gui_data_t |
|
static |
Definition at line 871 of file highlights.c.
References dt_image_is_monochrome(), and dt_image_is_mosaiced().
Referenced by force_enable(), and gui_update().
|
static |
Definition at line 653 of file highlights.c.
References DT_IOP_HIGHLIGHTS_CLIP, DT_IOP_HIGHLIGHTS_HARMONIC, DT_IOP_HIGHLIGHTS_INPAINT, DT_IOP_HIGHLIGHTS_LAPLACIAN, and DT_IOP_HIGHLIGHTS_LCH.
Referenced by commit_params().
|
static |
Definition at line 672 of file highlights.c.
References DT_IOP_HIGHLIGHTS_CLIP, DT_IOP_HIGHLIGHTS_HARMONIC, DT_IOP_HIGHLIGHTS_LAPLACIAN, and TRUE.
Referenced by commit_params().
|
static |
Definition at line 376 of file highlights.c.
References dt_opencl_enqueue_kernel_2d(), dt_opencl_set_kernel_arg(), height, dt_iop_highlights_global_data_t::kernel_highlights_1f_clip, dt_iop_highlights_global_data_t::kernel_highlights_4f_clip, ROUNDUPDHT, ROUNDUPDWD, width, dt_iop_roi_t::x, and dt_iop_roi_t::y.
Referenced by process_cl().
|
static |
Definition at line 332 of file highlights.c.
References dt_opencl_alloc_device_buffer(), dt_opencl_copy_host_to_device_constant(), DT_OPENCL_DEFAULT_ERROR, dt_opencl_enqueue_kernel_2d_with_local(), dt_opencl_read_buffer_from_device(), dt_opencl_release_mem_object(), dt_opencl_set_kernel_arg(), height, IS_NULL_PTR, kernel(), dt_iop_highlights_global_data_t::kernel_highlights_count_clipped, and width.
Referenced by process_cl().
|
static |
Definition at line 403 of file highlights.c.
References dt_opencl_enqueue_kernel_2d(), dt_opencl_set_kernel_arg(), height, dt_iop_highlights_global_data_t::kernel_highlights_1f_lch_bayer, ROUNDUPDHT, ROUNDUPDWD, width, dt_iop_roi_t::x, and dt_iop_roi_t::y.
Referenced by process_cl().
|
static |
Definition at line 420 of file highlights.c.
References dt_dev_pixelpipe_iop_t::dsc_in, dt_opencl_copy_host_to_device_constant(), DT_OPENCL_DEFAULT_ERROR, dt_opencl_enqueue_kernel_2d_with_local(), dt_opencl_local_buffer_opt(), dt_opencl_release_mem_object(), dt_opencl_set_kernel_arg(), height, IS_NULL_PTR, dt_iop_highlights_global_data_t::kernel_highlights_1f_lch_xtrans, ROUNDUP, dt_opencl_local_buffer_t::sizex, dt_opencl_local_buffer_t::sizey, width, dt_iop_roi_t::x, dt_opencl_local_buffer_t::xoffset, dt_iop_buffer_dsc_t::xtrans, and dt_iop_roi_t::y.
Referenced by process_cl().
|
static |
Definition at line 310 of file highlights.c.
References dt_opencl_copy_host_to_device_constant(), DT_OPENCL_DEFAULT_ERROR, dt_opencl_enqueue_kernel_2d(), dt_opencl_release_mem_object(), dt_opencl_set_kernel_arg(), height, IS_NULL_PTR, dt_iop_highlights_global_data_t::kernel_highlights_false_color, ROUNDUPDHT, ROUNDUPDWD, width, dt_iop_roi_t::x, and dt_iop_roi_t::y.
Referenced by process_cl().
|
static |
Definition at line 296 of file highlights.c.
References ch, dt_iop_buffer_dsc_t::channels, dt_dev_pixelpipe_iop_t::dsc_in, dt_iop_image_copy_by_size(), dt_iop_buffer_dsc_t::filters, dt_iop_roi_t::height, ovoid, and dt_iop_roi_t::width.
Referenced by process().
|
static |
Definition at line 266 of file highlights.c.
References __OMP_PARALLEL_FOR__, __OMP_PARALLEL_FOR_SIMD__, ch, dt_iop_buffer_dsc_t::channels, dt_dev_pixelpipe_iop_t::dsc_in, dt_iop_buffer_dsc_t::filters, dt_iop_roi_t::height, k, MIN, and dt_iop_roi_t::width.
Referenced by process().
|
inlinestatic |
Definition at line 232 of file highlights.c.
References DT_IOP_HIGHLIGHTS_CLIP, DT_IOP_HIGHLIGHTS_HARMONIC, DT_IOP_HIGHLIGHTS_INPAINT, DT_IOP_HIGHLIGHTS_LAPLACIAN, DT_IOP_HIGHLIGHTS_LCH, and factor.
Referenced by process(), and process_cl().
Definition at line 1279 of file highlights.c.
References dt_iop_module_t::dev, dt_bauhaus_widget_get_quad_active(), DT_DEV_PIXELPIPE_DISPLAY_NONE, DT_DEV_PIXELPIPE_DISPLAY_PASSTHRU, dt_dev_pixelpipe_update_history_main, dt_gui_widgets_suppressed(), dt_iop_gui_data(), dt_iop_set_cache_bypass(), g, and dt_iop_module_t::request_mask_display.
Referenced by gui_init().
| void autoset | ( | struct dt_iop_module_t * | self, |
| const struct dt_dev_pixelpipe_t * | pipe, | ||
| const struct dt_dev_pixelpipe_iop_t * | piece, | ||
| const void * | input | ||
| ) |
Definition at line 139 of file highlights.c.
References __OMP_PARALLEL_FOR__, dt_dev_pixelpipe_iop_t::dsc_in, FC(), FCxtrans(), dt_iop_buffer_dsc_t::filters, dt_iop_roi_t::height, i, max, MAX, MIN, p, dt_iop_module_t::params, dt_iop_buffer_dsc_t::processed_maximum, dt_dev_pixelpipe_iop_t::roi_out, dt_iop_roi_t::width, dt_iop_roi_t::x, dt_iop_buffer_dsc_t::xtrans, and dt_iop_roi_t::y.
| void cleanup_global | ( | dt_iop_module_so_t * | module | ) |
Definition at line 1055 of file highlights.c.
References dt_iop_module_so_t::data, dt_free, dt_opencl_free_kernel(), dt_iop_highlights_global_data_t::kernel_filmic_bspline_horizontal, dt_iop_highlights_global_data_t::kernel_filmic_bspline_horizontal_local, dt_iop_highlights_global_data_t::kernel_filmic_bspline_vertical, dt_iop_highlights_global_data_t::kernel_filmic_bspline_vertical_local, dt_iop_highlights_global_data_t::kernel_highlights_1f_clip, dt_iop_highlights_global_data_t::kernel_highlights_1f_lch_bayer, dt_iop_highlights_global_data_t::kernel_highlights_1f_lch_xtrans, dt_iop_highlights_global_data_t::kernel_highlights_4f_clip, dt_iop_highlights_global_data_t::kernel_highlights_bilinear_and_mask, dt_iop_highlights_global_data_t::kernel_highlights_bilinear_and_mask_passthrough, dt_iop_highlights_global_data_t::kernel_highlights_bilinear_and_mask_xtrans, dt_iop_highlights_global_data_t::kernel_highlights_box_blur, dt_iop_highlights_global_data_t::kernel_highlights_count_clipped, dt_iop_highlights_global_data_t::kernel_highlights_diffuse_color, dt_iop_highlights_global_data_t::kernel_highlights_false_color, dt_iop_highlights_global_data_t::kernel_highlights_guide_laplacians, dt_iop_highlights_global_data_t::kernel_highlights_normalize_reduce_first, dt_iop_highlights_global_data_t::kernel_highlights_normalize_reduce_first_passthrough, dt_iop_highlights_global_data_t::kernel_highlights_normalize_reduce_first_xtrans, dt_iop_highlights_global_data_t::kernel_highlights_normalize_reduce_second, dt_iop_highlights_global_data_t::kernel_highlights_remosaic_and_replace, dt_iop_highlights_global_data_t::kernel_highlights_remosaic_and_replace_passthrough, dt_iop_highlights_global_data_t::kernel_highlights_remosaic_and_replace_xtrans, dt_iop_highlights_global_data_t::kernel_hl_aniso_iter, dt_iop_highlights_global_data_t::kernel_hl_aniso_iter_block, dt_iop_highlights_global_data_t::kernel_hl_aniso_obs_flags, dt_iop_highlights_global_data_t::kernel_hl_aniso_obs_full, dt_iop_highlights_global_data_t::kernel_hl_aniso_prep, dt_iop_highlights_global_data_t::kernel_hl_aniso_pyr_down, dt_iop_highlights_global_data_t::kernel_hl_aniso_reassemble, dt_iop_highlights_global_data_t::kernel_hl_aniso_rhs, dt_iop_highlights_global_data_t::kernel_hl_aniso_scatter, dt_iop_highlights_global_data_t::kernel_hl_aniso_splat, dt_iop_highlights_global_data_t::kernel_hl_aniso_tensor, dt_iop_highlights_global_data_t::kernel_hl_aniso_weights, dt_iop_highlights_global_data_t::kernel_hl_box3, dt_iop_highlights_global_data_t::kernel_hl_buf_to_img, dt_iop_highlights_global_data_t::kernel_hl_cf_eval_deep, dt_iop_highlights_global_data_t::kernel_hl_cf_eval_joint, dt_iop_highlights_global_data_t::kernel_hl_cf_eval_pair, dt_iop_highlights_global_data_t::kernel_hl_cf_fit_joint, dt_iop_highlights_global_data_t::kernel_hl_cf_fit_pair, dt_iop_highlights_global_data_t::kernel_hl_cf_lref_partials, dt_iop_highlights_global_data_t::kernel_hl_cf_pack_deepmask, dt_iop_highlights_global_data_t::kernel_hl_cf_pack_joint, dt_iop_highlights_global_data_t::kernel_hl_cf_pack_pair, dt_iop_highlights_global_data_t::kernel_hl_cfa_box, dt_iop_highlights_global_data_t::kernel_hl_cfa_down, dt_iop_highlights_global_data_t::kernel_hl_cfa_gnorm, dt_iop_highlights_global_data_t::kernel_hl_cfa_grad, dt_iop_highlights_global_data_t::kernel_hl_cfa_jacobi, dt_iop_highlights_global_data_t::kernel_hl_cfa_jacobi_block, dt_iop_highlights_global_data_t::kernel_hl_cfa_steer, dt_iop_highlights_global_data_t::kernel_hl_cfa_tensor, dt_iop_highlights_global_data_t::kernel_hl_cfa_weights, dt_iop_highlights_global_data_t::kernel_hl_cg_alpha_step, dt_iop_highlights_global_data_t::kernel_hl_cg_ap, dt_iop_highlights_global_data_t::kernel_hl_cg_beta, dt_iop_highlights_global_data_t::kernel_hl_cg_beta_step, dt_iop_highlights_global_data_t::kernel_hl_cg_embed, dt_iop_highlights_global_data_t::kernel_hl_cg_fold, dt_iop_highlights_global_data_t::kernel_hl_cg_op, dt_iop_highlights_global_data_t::kernel_hl_cg_r0, dt_iop_highlights_global_data_t::kernel_hl_cg_r1, dt_iop_highlights_global_data_t::kernel_hl_cg_update, dt_iop_highlights_global_data_t::kernel_hl_cgrad_anchor, dt_iop_highlights_global_data_t::kernel_hl_cgrad_gate, dt_iop_highlights_global_data_t::kernel_hl_cgrad_guard, dt_iop_highlights_global_data_t::kernel_hl_cgrad_hole1c, dt_iop_highlights_global_data_t::kernel_hl_cgrad_plateau, dt_iop_highlights_global_data_t::kernel_hl_cgrad_reproject, dt_iop_highlights_global_data_t::kernel_hl_cgrad_share, dt_iop_highlights_global_data_t::kernel_hl_cgrad_store, dt_iop_highlights_global_data_t::kernel_hl_cgrad_write1c, dt_iop_highlights_global_data_t::kernel_hl_clip0_rehue, dt_iop_highlights_global_data_t::kernel_hl_cmean_finalize, dt_iop_highlights_global_data_t::kernel_hl_cmean_reduce, dt_iop_highlights_global_data_t::kernel_hl_core_blend, dt_iop_highlights_global_data_t::kernel_hl_core_floor, dt_iop_highlights_global_data_t::kernel_hl_dome_blend, dt_iop_highlights_global_data_t::kernel_hl_dome_down, dt_iop_highlights_global_data_t::kernel_hl_dt_cols, dt_iop_highlights_global_data_t::kernel_hl_dt_rows, dt_iop_highlights_global_data_t::kernel_hl_dt_warp, dt_iop_highlights_global_data_t::kernel_hl_fill_down, dt_iop_highlights_global_data_t::kernel_hl_fill_jacobi, dt_iop_highlights_global_data_t::kernel_hl_fill_jacobi_block, dt_iop_highlights_global_data_t::kernel_hl_fill_seed, dt_iop_highlights_global_data_t::kernel_hl_fill_seed_up, dt_iop_highlights_global_data_t::kernel_hl_fill_up, dt_iop_highlights_global_data_t::kernel_hl_grad_reduce, dt_iop_highlights_global_data_t::kernel_hl_hard_floor, dt_iop_highlights_global_data_t::kernel_hl_hf_damp, dt_iop_highlights_global_data_t::kernel_hl_hf_energy, dt_iop_highlights_global_data_t::kernel_hl_hf_eval, dt_iop_highlights_global_data_t::kernel_hl_hf_fit, dt_iop_highlights_global_data_t::kernel_hl_hf_pack, dt_iop_highlights_global_data_t::kernel_hl_knee_apply, dt_iop_highlights_global_data_t::kernel_hl_knee_apply_interp, dt_iop_highlights_global_data_t::kernel_hl_knee_bin, dt_iop_highlights_global_data_t::kernel_hl_knee_jmom, dt_iop_highlights_global_data_t::kernel_hl_knee_joint_reg, dt_iop_highlights_global_data_t::kernel_hl_knee_pair_reg, dt_iop_highlights_global_data_t::kernel_hl_knee_pmom, dt_iop_highlights_global_data_t::kernel_hl_lsb_hole, dt_iop_highlights_global_data_t::kernel_hl_mask_pack, dt_iop_highlights_global_data_t::kernel_hl_mask_to_img1, dt_iop_highlights_global_data_t::kernel_hl_need_self, dt_iop_highlights_global_data_t::kernel_hl_pde_init, dt_iop_highlights_global_data_t::kernel_hl_pde_rhs, dt_iop_highlights_global_data_t::kernel_hl_pde_scatter, dt_iop_highlights_global_data_t::kernel_hl_pyr_getc, dt_iop_highlights_global_data_t::kernel_hl_pyr_getc4, dt_iop_highlights_global_data_t::kernel_hl_pyr_project, dt_iop_highlights_global_data_t::kernel_hl_pyr_putc, dt_iop_highlights_global_data_t::kernel_hl_pyr_putc4, dt_iop_highlights_global_data_t::kernel_hl_ratio_cmean_blend, dt_iop_highlights_global_data_t::kernel_hl_ratio_plane, dt_iop_highlights_global_data_t::kernel_hl_reduce_finalize, dt_iop_highlights_global_data_t::kernel_hl_region_benefit, dt_iop_highlights_global_data_t::kernel_hl_region_gather, dt_iop_highlights_global_data_t::kernel_hl_region_scatter, dt_iop_highlights_global_data_t::kernel_hl_region_stats, dt_iop_highlights_global_data_t::kernel_hl_region_worth_finalize, dt_iop_highlights_global_data_t::kernel_hl_relu, dt_iop_highlights_global_data_t::kernel_hl_ring_vote, dt_iop_highlights_global_data_t::kernel_hl_ring_vote_finalize, dt_iop_highlights_global_data_t::kernel_hl_set_scalar, dt_iop_highlights_global_data_t::kernel_hl_soft_floor, dt_iop_highlights_global_data_t::kernel_hl_vote_reduce, dt_iop_highlights_global_data_t::kernel_hl_window_pack, dt_iop_highlights_global_data_t::kernel_hl_window_unpack, dt_iop_highlights_global_data_t::kernel_interpolate_bilinear, dt_iop_highlights_global_data_t::kernel_sparse_chol_bwd_level, dt_iop_highlights_global_data_t::kernel_sparse_chol_final_level, dt_iop_highlights_global_data_t::kernel_sparse_chol_fwd_level, and dt_iop_highlights_global_data_t::kernel_sparse_chol_update_level.
| void cleanup_pipe | ( | struct dt_iop_module_t * | self, |
| dt_dev_pixelpipe_t * | pipe, | ||
| dt_dev_pixelpipe_iop_t * | piece | ||
| ) |
Definition at line 1207 of file highlights.c.
References dt_dev_pixelpipe_iop_t::data, and dt_free_align.
| 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 | ||
| ) |
Definition at line 791 of file highlights.c.
References _highlights_mode_name(), _highlights_mode_supported(), dt_dev_pixelpipe_iop_t::cache_output_on_ram, d, dt_dev_pixelpipe_iop_t::data, dt_iop_module_t::dev, dt_dev_pixelpipe_iop_t::dsc_in, dt_dev_pixelpipe_iop_t::dsc_out, dt_control_log(), DT_DEBUG_ALWAYS, dt_image_pipe_class(), dt_image_pipe_class_name(), dt_iop_fmt_log, DT_IOP_HIGHLIGHTS_HARMONIC, DT_IOP_HIGHLIGHTS_INPAINT, DT_IOP_HIGHLIGHTS_LAPLACIAN, dt_print(), dt_dev_pixelpipe_iop_t::enabled, dt_iop_buffer_dsc_t::filters, dt_develop_t::gui_attached, dt_develop_t::image_storage, k, m, p, dt_develop_t::pipe, dt_dev_pixelpipe_iop_t::process_cl_ready, dt_dev_pixelpipe_iop_t::process_tiling_ready, dt_iop_buffer_dsc_t::processed_maximum, and TRUE.
| int default_colorspace | ( | dt_iop_module_t * | self, |
| dt_dev_pixelpipe_t * | pipe, | ||
| const dt_dev_pixelpipe_iop_t * | piece | ||
| ) |
Definition at line 127 of file highlights.c.
References dt_iop_buffer_dsc_t::cst, dt_dev_pixelpipe_iop_t::dsc_in, IOP_CS_RAW, and IOP_CS_RGB.
| int default_group | ( | ) |
Definition at line 117 of file highlights.c.
References IOP_GROUP_REPAIR.
| const char ** description | ( | struct dt_iop_module_t * | self | ) |
Definition at line 110 of file highlights.c.
References dt_iop_set_description().
|
static |
Definition at line 879 of file highlights.c.
References dt_image_is_monochrome(), and dt_image_needs_rawprepare().
Referenced by _alternative_mode(), _gui_update_structure_states(), _ioporder_create_graph_node(), _queue_pending_commit(), dt_dev_add_history_item_ext(), dt_dev_add_history_item_real(), dt_dev_history_commit_item_now(), dt_gui_preferences_show(), dt_iop_gui_commit_iop_order_change(), dt_thumbnail_alternative_mode(), dt_thumbtable_set_draw_group_borders(), dt_thumbtable_set_focus_peaking(), dt_thumbtable_set_focus_regions(), force_enable(), and gui_update().
| int flags | ( | ) |
Definition at line 122 of file highlights.c.
References IOP_FLAGS_ALLOW_TILING, and IOP_FLAGS_SUPPORTS_BLENDING.
| gboolean force_enable | ( | struct dt_iop_module_t * | self, |
| const gboolean | current_state | ||
| ) |
Definition at line 884 of file highlights.c.
References _highlights_image_supported(), dt_iop_module_t::dev, dt_image_pipe_class(), dt_image_pipe_class_name(), dt_iop_fmt_log, dt_develop_t::image_storage, and state.
| void gui_changed | ( | dt_iop_module_t * | self, |
| GtkWidget * | w, | ||
| void * | previous | ||
| ) |
Definition at line 1213 of file highlights.c.
References dt_iop_module_t::dev, dt_image_t::dsc, dt_bauhaus_widget_set_quad_visibility(), dt_iop_gui_data(), DT_IOP_HIGHLIGHTS_HARMONIC, DT_IOP_HIGHLIGHTS_LAPLACIAN, dt_iop_buffer_dsc_t::filters, g, dt_develop_t::image_storage, p, and dt_iop_module_t::params.
Referenced by gui_update().
| void gui_focus | ( | struct dt_iop_module_t * | self, |
| gboolean | in | ||
| ) |
Definition at line 1297 of file highlights.c.
References dt_iop_module_t::dev, dt_bauhaus_widget_set_quad_active(), dt_dev_pixelpipe_update_history_main, dt_iop_gui_data(), FALSE, and g.
| void gui_init | ( | struct dt_iop_module_t * | self | ) |
Definition at line 1309 of file highlights.c.
References _visualize_callback(), dt_bauhaus_combobox_from_params(), dt_bauhaus_slider_from_params(), dt_bauhaus_slider_set_digits(), dt_bauhaus_slider_set_format(), dt_bauhaus_slider_set_soft_range(), dt_bauhaus_widget_set_quad_active(), dt_bauhaus_widget_set_quad_paint(), dt_bauhaus_widget_set_quad_toggle(), DT_GUI_BOX_SPACING, dt_ui_label_new(), dtgtk_cairo_paint_showmask(), FALSE, g, dt_iop_module_t::gui, IOP_GUI_ALLOC, TRUE, and dt_iop_module_gui_t::widget.
| void gui_update | ( | struct dt_iop_module_t * | self | ) |
Refresh GUI controls from current params and configuration.
Definition at line 1234 of file highlights.c.
References _highlights_image_supported(), dt_iop_module_t::default_enabled, dt_iop_module_t::dev, dt_bauhaus_combobox_add_full(), DT_BAUHAUS_COMBOBOX_ALIGN_RIGHT, dt_bauhaus_combobox_length(), dt_bauhaus_widget_set_quad_active(), dt_iop_gui_data(), DT_IOP_HIGHLIGHTS_HARMONIC, DT_IOP_HIGHLIGHTS_LAPLACIAN, enable(), dt_iop_module_t::enabled, FALSE, g, dt_iop_module_t::gui, gui_changed(), dt_iop_module_t::hide_enable_button, dt_develop_t::image_storage, supported(), TRUE, and dt_iop_module_gui_t::widget.
| void init_global | ( | dt_iop_module_so_t * | module | ) |
Definition at line 898 of file highlights.c.
References dt_opencl_create_kernel(), dt_iop_highlights_global_data_t::kernel_filmic_bspline_horizontal, dt_iop_highlights_global_data_t::kernel_filmic_bspline_horizontal_local, dt_iop_highlights_global_data_t::kernel_filmic_bspline_vertical, dt_iop_highlights_global_data_t::kernel_filmic_bspline_vertical_local, dt_iop_highlights_global_data_t::kernel_highlights_1f_clip, dt_iop_highlights_global_data_t::kernel_highlights_1f_lch_bayer, dt_iop_highlights_global_data_t::kernel_highlights_1f_lch_xtrans, dt_iop_highlights_global_data_t::kernel_highlights_4f_clip, dt_iop_highlights_global_data_t::kernel_highlights_bilinear_and_mask, dt_iop_highlights_global_data_t::kernel_highlights_bilinear_and_mask_passthrough, dt_iop_highlights_global_data_t::kernel_highlights_bilinear_and_mask_xtrans, dt_iop_highlights_global_data_t::kernel_highlights_box_blur, dt_iop_highlights_global_data_t::kernel_highlights_count_clipped, dt_iop_highlights_global_data_t::kernel_highlights_diffuse_color, dt_iop_highlights_global_data_t::kernel_highlights_false_color, dt_iop_highlights_global_data_t::kernel_highlights_guide_laplacians, dt_iop_highlights_global_data_t::kernel_highlights_normalize_reduce_first, dt_iop_highlights_global_data_t::kernel_highlights_normalize_reduce_first_passthrough, dt_iop_highlights_global_data_t::kernel_highlights_normalize_reduce_first_xtrans, dt_iop_highlights_global_data_t::kernel_highlights_normalize_reduce_second, dt_iop_highlights_global_data_t::kernel_highlights_remosaic_and_replace, dt_iop_highlights_global_data_t::kernel_highlights_remosaic_and_replace_passthrough, dt_iop_highlights_global_data_t::kernel_highlights_remosaic_and_replace_xtrans, dt_iop_highlights_global_data_t::kernel_hl_aniso_iter, dt_iop_highlights_global_data_t::kernel_hl_aniso_iter_block, dt_iop_highlights_global_data_t::kernel_hl_aniso_obs_flags, dt_iop_highlights_global_data_t::kernel_hl_aniso_obs_full, dt_iop_highlights_global_data_t::kernel_hl_aniso_prep, dt_iop_highlights_global_data_t::kernel_hl_aniso_pyr_down, dt_iop_highlights_global_data_t::kernel_hl_aniso_reassemble, dt_iop_highlights_global_data_t::kernel_hl_aniso_rhs, dt_iop_highlights_global_data_t::kernel_hl_aniso_scatter, dt_iop_highlights_global_data_t::kernel_hl_aniso_splat, dt_iop_highlights_global_data_t::kernel_hl_aniso_tensor, dt_iop_highlights_global_data_t::kernel_hl_aniso_weights, dt_iop_highlights_global_data_t::kernel_hl_box3, dt_iop_highlights_global_data_t::kernel_hl_buf_to_img, dt_iop_highlights_global_data_t::kernel_hl_cf_eval_deep, dt_iop_highlights_global_data_t::kernel_hl_cf_eval_joint, dt_iop_highlights_global_data_t::kernel_hl_cf_eval_pair, dt_iop_highlights_global_data_t::kernel_hl_cf_fit_joint, dt_iop_highlights_global_data_t::kernel_hl_cf_fit_pair, dt_iop_highlights_global_data_t::kernel_hl_cf_lref_partials, dt_iop_highlights_global_data_t::kernel_hl_cf_pack_deepmask, dt_iop_highlights_global_data_t::kernel_hl_cf_pack_joint, dt_iop_highlights_global_data_t::kernel_hl_cf_pack_pair, dt_iop_highlights_global_data_t::kernel_hl_cfa_box, dt_iop_highlights_global_data_t::kernel_hl_cfa_down, dt_iop_highlights_global_data_t::kernel_hl_cfa_gnorm, dt_iop_highlights_global_data_t::kernel_hl_cfa_grad, dt_iop_highlights_global_data_t::kernel_hl_cfa_jacobi, dt_iop_highlights_global_data_t::kernel_hl_cfa_jacobi_block, dt_iop_highlights_global_data_t::kernel_hl_cfa_steer, dt_iop_highlights_global_data_t::kernel_hl_cfa_tensor, dt_iop_highlights_global_data_t::kernel_hl_cfa_weights, dt_iop_highlights_global_data_t::kernel_hl_cg_alpha_step, dt_iop_highlights_global_data_t::kernel_hl_cg_ap, dt_iop_highlights_global_data_t::kernel_hl_cg_beta, dt_iop_highlights_global_data_t::kernel_hl_cg_beta_step, dt_iop_highlights_global_data_t::kernel_hl_cg_embed, dt_iop_highlights_global_data_t::kernel_hl_cg_fold, dt_iop_highlights_global_data_t::kernel_hl_cg_op, dt_iop_highlights_global_data_t::kernel_hl_cg_r0, dt_iop_highlights_global_data_t::kernel_hl_cg_r1, dt_iop_highlights_global_data_t::kernel_hl_cg_update, dt_iop_highlights_global_data_t::kernel_hl_cgrad_anchor, dt_iop_highlights_global_data_t::kernel_hl_cgrad_gate, dt_iop_highlights_global_data_t::kernel_hl_cgrad_guard, dt_iop_highlights_global_data_t::kernel_hl_cgrad_hole1c, dt_iop_highlights_global_data_t::kernel_hl_cgrad_plateau, dt_iop_highlights_global_data_t::kernel_hl_cgrad_reproject, dt_iop_highlights_global_data_t::kernel_hl_cgrad_share, dt_iop_highlights_global_data_t::kernel_hl_cgrad_store, dt_iop_highlights_global_data_t::kernel_hl_cgrad_write1c, dt_iop_highlights_global_data_t::kernel_hl_clip0_rehue, dt_iop_highlights_global_data_t::kernel_hl_cmean_finalize, dt_iop_highlights_global_data_t::kernel_hl_cmean_reduce, dt_iop_highlights_global_data_t::kernel_hl_core_blend, dt_iop_highlights_global_data_t::kernel_hl_core_floor, dt_iop_highlights_global_data_t::kernel_hl_dome_blend, dt_iop_highlights_global_data_t::kernel_hl_dome_down, dt_iop_highlights_global_data_t::kernel_hl_dt_cols, dt_iop_highlights_global_data_t::kernel_hl_dt_rows, dt_iop_highlights_global_data_t::kernel_hl_dt_warp, dt_iop_highlights_global_data_t::kernel_hl_fill_down, dt_iop_highlights_global_data_t::kernel_hl_fill_jacobi, dt_iop_highlights_global_data_t::kernel_hl_fill_jacobi_block, dt_iop_highlights_global_data_t::kernel_hl_fill_seed, dt_iop_highlights_global_data_t::kernel_hl_fill_seed_up, dt_iop_highlights_global_data_t::kernel_hl_fill_up, dt_iop_highlights_global_data_t::kernel_hl_grad_reduce, dt_iop_highlights_global_data_t::kernel_hl_hard_floor, dt_iop_highlights_global_data_t::kernel_hl_hf_damp, dt_iop_highlights_global_data_t::kernel_hl_hf_energy, dt_iop_highlights_global_data_t::kernel_hl_hf_eval, dt_iop_highlights_global_data_t::kernel_hl_hf_fit, dt_iop_highlights_global_data_t::kernel_hl_hf_pack, dt_iop_highlights_global_data_t::kernel_hl_knee_apply, dt_iop_highlights_global_data_t::kernel_hl_knee_apply_interp, dt_iop_highlights_global_data_t::kernel_hl_knee_bin, dt_iop_highlights_global_data_t::kernel_hl_knee_jmom, dt_iop_highlights_global_data_t::kernel_hl_knee_joint_reg, dt_iop_highlights_global_data_t::kernel_hl_knee_pair_reg, dt_iop_highlights_global_data_t::kernel_hl_knee_pmom, dt_iop_highlights_global_data_t::kernel_hl_lsb_hole, dt_iop_highlights_global_data_t::kernel_hl_mask_pack, dt_iop_highlights_global_data_t::kernel_hl_mask_to_img1, dt_iop_highlights_global_data_t::kernel_hl_need_self, dt_iop_highlights_global_data_t::kernel_hl_pde_init, dt_iop_highlights_global_data_t::kernel_hl_pde_rhs, dt_iop_highlights_global_data_t::kernel_hl_pde_scatter, dt_iop_highlights_global_data_t::kernel_hl_pyr_getc, dt_iop_highlights_global_data_t::kernel_hl_pyr_getc4, dt_iop_highlights_global_data_t::kernel_hl_pyr_project, dt_iop_highlights_global_data_t::kernel_hl_pyr_putc, dt_iop_highlights_global_data_t::kernel_hl_pyr_putc4, dt_iop_highlights_global_data_t::kernel_hl_ratio_cmean_blend, dt_iop_highlights_global_data_t::kernel_hl_ratio_plane, dt_iop_highlights_global_data_t::kernel_hl_reduce_finalize, dt_iop_highlights_global_data_t::kernel_hl_region_benefit, dt_iop_highlights_global_data_t::kernel_hl_region_gather, dt_iop_highlights_global_data_t::kernel_hl_region_scatter, dt_iop_highlights_global_data_t::kernel_hl_region_stats, dt_iop_highlights_global_data_t::kernel_hl_region_worth_finalize, dt_iop_highlights_global_data_t::kernel_hl_relu, dt_iop_highlights_global_data_t::kernel_hl_ring_vote, dt_iop_highlights_global_data_t::kernel_hl_ring_vote_finalize, dt_iop_highlights_global_data_t::kernel_hl_set_scalar, dt_iop_highlights_global_data_t::kernel_hl_soft_floor, dt_iop_highlights_global_data_t::kernel_hl_vote_reduce, dt_iop_highlights_global_data_t::kernel_hl_window_pack, dt_iop_highlights_global_data_t::kernel_hl_window_unpack, dt_iop_highlights_global_data_t::kernel_interpolate_bilinear, dt_iop_highlights_global_data_t::kernel_sparse_chol_bwd_level, dt_iop_highlights_global_data_t::kernel_sparse_chol_final_level, dt_iop_highlights_global_data_t::kernel_sparse_chol_fwd_level, and dt_iop_highlights_global_data_t::kernel_sparse_chol_update_level.
| void init_pipe | ( | struct dt_iop_module_t * | self, |
| dt_dev_pixelpipe_t * | pipe, | ||
| dt_dev_pixelpipe_iop_t * | piece | ||
| ) |
Definition at line 1201 of file highlights.c.
References dt_dev_pixelpipe_iop_t::data, dt_dev_pixelpipe_iop_t::data_size, and dt_calloc_align().
| 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 161 of file highlights.c.
References dt_iop_highlights_params_t::clip, n, dt_iop_highlights_params_t::noise_level, and dt_iop_highlights_params_t::solid_color.
| const char * name | ( | ) |
Definition at line 105 of file highlights.c.
| void output_format | ( | dt_iop_module_t * | self, |
| dt_dev_pixelpipe_t * | pipe, | ||
| dt_dev_pixelpipe_iop_t * | piece, | ||
| dt_iop_buffer_dsc_t * | dsc | ||
| ) |
Definition at line 133 of file highlights.c.
References default_output_format().
| __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 | ||
| ) |
Definition at line 680 of file highlights.c.
References _hl_copy_input(), _hl_count_clipped(), _hl_count_thresholds(), dt_iop_highlights_params_t::clip, dt_dev_pixelpipe_iop_t::data, dt_iop_module_t::dev, dt_dev_pixelpipe_iop_t::dsc_in, dt_dev_get_roi_filters(), DT_DEV_PIXELPIPE_DISPLAY_MASK, DT_DEV_PIXELPIPE_DISPLAY_PASSTHRU, DT_HL_MIN_CLIPPED_PIXELS, dt_iop_gui_data(), DT_IOP_HIGHLIGHTS_CLIP, DT_IOP_HIGHLIGHTS_HARMONIC, DT_IOP_HIGHLIGHTS_INPAINT, DT_IOP_HIGHLIGHTS_LAPLACIAN, DT_IOP_HIGHLIGHTS_LCH, g, dt_develop_t::gui_attached, dt_iop_roi_t::height, IS_NULL_PTR, dt_dev_pixelpipe_t::mask_display, dt_iop_highlights_params_t::mode, ovoid, dt_develop_t::pipe, process_clip(), process_harmonic(), process_inpaint_bayer(), process_inpaint_xtrans(), process_laplacian(), process_lch_bayer(), process_lch_xtrans(), process_visualize(), dt_iop_buffer_dsc_t::processed_maximum, dt_dev_pixelpipe_iop_t::roi_in, dt_dev_pixelpipe_iop_t::roi_out, dt_iop_roi_t::width, and dt_iop_buffer_dsc_t::xtrans.
| 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 | ||
| ) |
Definition at line 464 of file highlights.c.
References _hl_cl_clip(), _hl_cl_count_clipped(), _hl_cl_lch_bayer(), _hl_cl_lch_xtrans(), _hl_cl_visualize(), _hl_count_thresholds(), d, dt_dev_pixelpipe_iop_t::data, dt_iop_module_t::dev, dt_dev_pixelpipe_t::devid, dt_dev_pixelpipe_iop_t::dsc_in, DT_DEBUG_OPENCL, DT_DEV_PIXELPIPE_DISPLAY_PASSTHRU, DT_HL_MIN_CLIPPED_PIXELS, dt_iop_gui_data(), DT_IOP_HIGHLIGHTS_CLIP, DT_IOP_HIGHLIGHTS_HARMONIC, DT_IOP_HIGHLIGHTS_INPAINT, DT_IOP_HIGHLIGHTS_LAPLACIAN, DT_IOP_HIGHLIGHTS_LCH, DT_OPENCL_DEFAULT_ERROR, dt_opencl_enqueue_copy_image(), dt_print(), error(), FALSE, dt_iop_buffer_dsc_t::filters, g, dt_iop_module_t::global_data, dt_develop_t::gui_attached, height, dt_iop_roi_t::height, IS_NULL_PTR, dt_develop_t::pipe, process_harmonic_cl(), process_laplacian_bayer_cl(), process_laplacian_passthrough_cl(), process_laplacian_xtrans_cl(), dt_iop_buffer_dsc_t::processed_maximum, dt_dev_pixelpipe_iop_t::roi_in, dt_dev_pixelpipe_iop_t::roi_out, TRUE, width, and dt_iop_roi_t::width.
| void reload_defaults | ( | dt_iop_module_t * | module | ) |
Definition at line 1262 of file highlights.c.
References dt_iop_module_t::default_enabled, dt_iop_module_t::dev, dt_image_pipe_class(), dt_image_pipe_class_name(), dt_iop_fmt_log, dt_iop_module_t::hide_enable_button, dt_image_t::id, and dt_develop_t::image_storage.
| 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 | ||
| ) |
Definition at line 577 of file highlights.c.
References d, dt_dev_pixelpipe_iop_t::data, DS_FACTOR, dt_dev_pixelpipe_iop_t::dsc_in, dt_dev_get_module_scale(), DT_IOP_HIGHLIGHTS_HARMONIC, DT_IOP_HIGHLIGHTS_LAPLACIAN, DT_IOP_HIGHLIGHTS_LCH, dt_iop_buffer_dsc_t::filters, dt_iop_roi_t::height, MAX_NUM_SCALES, and dt_dev_pixelpipe_iop_t::roi_in.