![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include "bauhaus/bauhaus.h"
#include "common/darktable.h"
#include "common/imagebuf.h"
#include "common/dwt.h"
#include "control/control.h"
#include "develop/imageop.h"
#include "develop/imageop_math.h"
#include "develop/imageop_gui.h"
#include "develop/openmp_maths.h"
#include "dtgtk/drawingarea.h"
#include "gui/draw.h"
#include "gui/gtk.h"
#include "iop/iop_api.h"
#include <gtk/gtk.h>
#include <stdlib.h>
#include <strings.h>
Data Structures | |
struct | dt_iop_rawdenoise_params_t |
struct | dt_iop_rawdenoise_gui_data_t |
struct | dt_iop_rawdenoise_data_t |
struct | dt_iop_rawdenoise_global_data_t |
Macros | |
#define | DT_IOP_RAWDENOISE_INSET DT_PIXEL_APPLY_DPI(5) |
#define | DT_IOP_RAWDENOISE_RES 64 |
#define | DT_IOP_RAWDENOISE_BANDS 5 |
#define | BIT16 65536.0 |
Typedefs | |
typedef enum dt_iop_rawdenoise_channel_t | dt_iop_rawdenoise_channel_t |
typedef struct dt_iop_rawdenoise_params_t | dt_iop_rawdenoise_params_t |
typedef struct dt_iop_rawdenoise_gui_data_t | dt_iop_rawdenoise_gui_data_t |
typedef struct dt_iop_rawdenoise_data_t | dt_iop_rawdenoise_data_t |
typedef struct dt_iop_rawdenoise_global_data_t | dt_iop_rawdenoise_global_data_t |
Enumerations | |
enum | dt_iop_rawdenoise_channel_t { DT_RAWDENOISE_ALL = 0 , DT_RAWDENOISE_R = 1 , DT_RAWDENOISE_G = 2 , DT_RAWDENOISE_B = 3 , DT_RAWDENOISE_NONE = 4 } |
Functions | |
int | legacy_params (dt_iop_module_t *self, const void *const old_params, const int old_version, void *new_params, const int new_version) |
const char * | name () |
const char ** | description (struct dt_iop_module_t *self) |
int | flags () |
int | default_group () |
int | default_colorspace (dt_iop_module_t *self, dt_dev_pixelpipe_t *pipe, dt_dev_pixelpipe_iop_t *piece) |
static void | compute_channel_noise (float *const noise, int color, const dt_iop_rawdenoise_data_t *const data) |
static void | wavelet_denoise (const float *const restrict in, float *const restrict out, const dt_iop_roi_t *const roi, const dt_iop_rawdenoise_data_t *const data, const uint32_t filters) |
static float | vstransform (const float value) |
static void | wavelet_denoise_xtrans (const float *const restrict in, float *const restrict out, const dt_iop_roi_t *const restrict roi, const dt_iop_rawdenoise_data_t *const data, const uint8_t(*const xtrans)[6]) |
void | process (struct dt_iop_module_t *self, 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) |
void | init (dt_iop_module_t *module) |
void | reload_defaults (dt_iop_module_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) |
void | gui_update (dt_iop_module_t *self) |
static void | dt_iop_rawdenoise_get_params (dt_iop_rawdenoise_params_t *p, const int ch, const double mouse_x, const double mouse_y, const float rad) |
static gboolean | rawdenoise_draw (GtkWidget *widget, cairo_t *crf, gpointer user_data) |
static gboolean | rawdenoise_motion_notify (GtkWidget *widget, GdkEventMotion *event, gpointer user_data) |
static gboolean | rawdenoise_button_press (GtkWidget *widget, GdkEventButton *event, gpointer user_data) |
static gboolean | rawdenoise_button_release (GtkWidget *widget, GdkEventButton *event, gpointer user_data) |
static gboolean | rawdenoise_leave_notify (GtkWidget *widget, GdkEventCrossing *event, gpointer user_data) |
static gboolean | rawdenoise_scrolled (GtkWidget *widget, GdkEventScroll *event, gpointer user_data) |
static void | rawdenoise_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 BIT16 65536.0 |
#define DT_IOP_RAWDENOISE_BANDS 5 |
#define DT_IOP_RAWDENOISE_INSET DT_PIXEL_APPLY_DPI(5) |
#define DT_IOP_RAWDENOISE_RES 64 |
typedef enum dt_iop_rawdenoise_channel_t dt_iop_rawdenoise_channel_t |
typedef struct dt_iop_rawdenoise_data_t dt_iop_rawdenoise_data_t |
typedef struct dt_iop_rawdenoise_global_data_t dt_iop_rawdenoise_global_data_t |
typedef struct dt_iop_rawdenoise_gui_data_t dt_iop_rawdenoise_gui_data_t |
typedef struct dt_iop_rawdenoise_params_t dt_iop_rawdenoise_params_t |
void cleanup_pipe | ( | struct dt_iop_module_t * | self, |
dt_dev_pixelpipe_t * | pipe, | ||
dt_dev_pixelpipe_iop_t * | piece | ||
) |
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 | ||
) |
References dt_iop_rawdenoise_data_t::curve, dt_dev_pixelpipe_iop_t::data, dt_draw_curve_calc_values(), dt_draw_curve_set_point(), dt_image_is_raw(), DT_IOP_RAWDENOISE_BANDS, DT_RAWDENOISE_NONE, dt_dev_pixelpipe_iop_t::enabled, dt_iop_rawdenoise_data_t::force, dt_dev_pixelpipe_t::image, and dt_iop_rawdenoise_data_t::threshold.
|
static |
References DT_IOP_RAWDENOISE_BANDS, DT_RAWDENOISE_ALL, DT_RAWDENOISE_B, DT_RAWDENOISE_G, DT_RAWDENOISE_R, dt_iop_rawdenoise_data_t::force, and dt_iop_rawdenoise_data_t::threshold.
Referenced by wavelet_denoise(), and wavelet_denoise_xtrans().
int default_colorspace | ( | dt_iop_module_t * | self, |
dt_dev_pixelpipe_t * | pipe, | ||
dt_dev_pixelpipe_iop_t * | piece | ||
) |
References IOP_CS_RAW.
int default_group | ( | ) |
References IOP_GROUP_REPAIR.
const char ** description | ( | struct dt_iop_module_t * | self | ) |
References dt_iop_set_description().
|
static |
References DT_IOP_RAWDENOISE_BANDS, and f().
Referenced by rawdenoise_draw(), and rawdenoise_motion_notify().
int flags | ( | ) |
References IOP_FLAGS_DEPRECATED, and IOP_FLAGS_SUPPORTS_BLENDING.
void gui_cleanup | ( | dt_iop_module_t * | self | ) |
void gui_init | ( | dt_iop_module_t * | self | ) |
References CATMULL_ROM, darktable, dt_iop_module_t::default_params, dt_bauhaus_slider_from_params(), dt_bauhaus_slider_set_digits(), dt_bauhaus_slider_set_soft_max(), DT_BAUHAUS_SPACE, dt_conf_get_int(), dt_draw_curve_add_point(), dt_draw_curve_new(), DT_IOP_RAWDENOISE_BANDS, dt_ui_label_new(), dt_ui_notebook_page(), dtgtk_drawing_area_new_with_aspect_ratio(), FALSE, darktable_t::gui, IOP_GUI_ALLOC, rawdenoise_button_press(), rawdenoise_button_release(), rawdenoise_draw(), rawdenoise_leave_notify(), rawdenoise_motion_notify(), rawdenoise_scrolled(), rawdenoise_tab_switch(), dt_gui_gtk_t::scroll_mask, dt_iop_module_t::timeout_handle, void(), and dt_iop_module_t::widget.
void gui_update | ( | dt_iop_module_t * | self | ) |
References dt_iop_cancel_history_update(), and dt_iop_module_t::widget.
void init | ( | dt_iop_module_t * | module | ) |
void init_pipe | ( | struct dt_iop_module_t * | self, |
dt_dev_pixelpipe_t * | pipe, | ||
dt_dev_pixelpipe_iop_t * | piece | ||
) |
References CATMULL_ROM, dt_iop_rawdenoise_data_t::curve, dt_dev_pixelpipe_iop_t::data, dt_dev_pixelpipe_iop_t::data_size, dt_iop_module_t::default_params, dt_draw_curve_add_point(), dt_draw_curve_new(), DT_IOP_RAWDENOISE_BANDS, DT_RAWDENOISE_NONE, dt_iop_rawdenoise_params_t::x, and dt_iop_rawdenoise_params_t::y.
int legacy_params | ( | dt_iop_module_t * | self, |
const void *const | old_params, | ||
const int | old_version, | ||
void * | new_params, | ||
const int | new_version | ||
) |
const char * name | ( | ) |
void process | ( | struct dt_iop_module_t * | self, |
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 | ||
) |
|
static |
References darktable, dt_iop_module_t::default_params, darktable_t::develop, dt_dev_add_history_item, dt_draw_curve_calc_value(), DT_IOP_RAWDENOISE_BANDS, DT_IOP_RAWDENOISE_INSET, FALSE, dt_iop_module_t::gui_data, height, dt_iop_module_t::params, TRUE, dt_iop_module_t::widget, width, dt_iop_rawdenoise_params_t::x, and dt_iop_rawdenoise_params_t::y.
Referenced by gui_init().
|
static |
References FALSE, dt_iop_module_t::gui_data, and TRUE.
Referenced by gui_init().
|
static |
References darktable_t::bauhaus, darktable, dt_cairo_image_surface_create(), dt_draw_curve_calc_values(), dt_draw_curve_set_point(), dt_draw_grid(), DT_IOP_RAWDENOISE_BANDS, dt_iop_rawdenoise_get_params(), DT_IOP_RAWDENOISE_INSET, DT_IOP_RAWDENOISE_RES, DT_PIXEL_APPLY_DPI, DT_RAWDENOISE_NONE, f(), dt_iop_module_t::gui_data, height, M_PI, dt_bauhaus_t::pango_font_desc, dt_iop_module_t::params, TRUE, and width.
Referenced by gui_init().
|
static |
References dt_iop_module_t::gui_data, and TRUE.
Referenced by gui_init().
|
static |
References dt_iop_queue_history_update(), dt_iop_rawdenoise_get_params(), DT_IOP_RAWDENOISE_INSET, FALSE, dt_iop_module_t::gui_data, height, dt_iop_module_t::params, TRUE, and width.
Referenced by gui_init().
|
static |
References dt_conf_get_int(), dt_conf_set_int(), dt_gui_get_scroll_unit_deltas(), DT_IOP_RAWDENOISE_BANDS, dt_modifier_is(), dtgtk_drawing_area_set_aspect_ratio(), dt_iop_module_t::gui_data, and TRUE.
Referenced by gui_init().
|
static |
References darktable, darktable_t::gui, dt_iop_module_t::gui_data, dt_gui_gtk_t::reset, and dt_iop_module_t::widget.
Referenced by gui_init().
void reload_defaults | ( | dt_iop_module_t * | module | ) |
References dt_iop_module_t::hide_enable_button, and dt_iop_module_t::widget.
|
inlinestatic |
References MAX.
Referenced by wavelet_denoise_xtrans().
|
static |
References BIT16, colors, compute_channel_noise(), dt_alloc_align_float(), dt_free_align, DT_IOP_RAWDENOISE_BANDS, dwt_denoise(), FC(), height, dt_iop_roi_t::height, MAX, size, SQR, width, and dt_iop_roi_t::width.
Referenced by process().
|
static |
References compute_channel_noise(), darktable, dt_alloc_align_float(), dt_free_align, DT_IOP_RAWDENOISE_BANDS, dwt_denoise(), FCxtrans(), height, MIN, darktable_t::num_openmp_threads, size, vstransform(), and width.
Referenced by process().