Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
demosaic.c File Reference
#include "common/darktable.h"
#include "common/imagebuf.h"
#include "common/image_cache.h"
#include "common/interpolation.h"
#include "common/math.h"
#include "common/opencl.h"
#include "control/control.h"
#include "develop/blend.h"
#include "develop/develop.h"
#include "develop/imageop.h"
#include "develop/imageop_math.h"
#include "develop/imageop_gui.h"
#include "develop/masks.h"
#include "develop/openmp_maths.h"
#include "develop/tiling.h"
#include "bauhaus/bauhaus.h"
#include "common/colorspaces.h"
#include "control/conf.h"
#include "common/colorspaces_inline_conversions.h"
#include "gui/gtk.h"
#include "iop/iop_api.h"
#include <memory.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <complex.h>
#include <glib.h>
#include "demosaic/basic.c"
#include "demosaic/passthrough.c"
#include "demosaic/rcd.c"
#include "demosaic/lmmse.c"
#include "demosaic/ppg.c"
#include "demosaic/vng.c"
#include "demosaic/markesteijn.c"
#include "demosaic/dual.c"
+ Include dependency graph for demosaic.c:

Data Structures

struct  dt_iop_demosaic_global_data_t
 
struct  dt_iop_demosaic_data_t
 
struct  dt_iop_demosaic_params_t
 
struct  dt_iop_demosaic_gui_data_t
 

Macros

#define INLINE   inline
 
#define DEMOSAIC_XTRANS   1024
 
#define DEMOSAIC_DUAL   2048
 
#define REDUCESIZE   64
 
#define XTRANS_SNAPPER   3
 
#define BAYER_SNAPPER   2
 

Typedefs

typedef enum dt_iop_demosaic_method_t dt_iop_demosaic_method_t
 
typedef enum dt_iop_demosaic_greeneq_t dt_iop_demosaic_greeneq_t
 
typedef enum dt_iop_demosaic_smooth_t dt_iop_demosaic_smooth_t
 
typedef enum dt_iop_demosaic_lmmse_t dt_iop_demosaic_lmmse_t
 
typedef struct dt_iop_demosaic_global_data_t dt_iop_demosaic_global_data_t
 
typedef struct dt_iop_demosaic_data_t dt_iop_demosaic_data_t
 
typedef enum dt_iop_demosaic_quality_t dt_iop_demosaic_quality_t
 
typedef struct dt_iop_demosaic_params_t dt_iop_demosaic_params_t
 
typedef struct dt_iop_demosaic_gui_data_t dt_iop_demosaic_gui_data_t
 

Enumerations

enum  dt_iop_demosaic_method_t {
  DT_IOP_DEMOSAIC_PPG = 0 ,
  DT_IOP_DEMOSAIC_AMAZE = 1 ,
  DT_IOP_DEMOSAIC_VNG4 = 2 ,
  DT_IOP_DEMOSAIC_RCD = 5 ,
  DT_IOP_DEMOSAIC_LMMSE = 6 ,
  DT_IOP_DEMOSAIC_RCD_VNG = 2048 | DT_IOP_DEMOSAIC_RCD ,
  DT_IOP_DEMOSAIC_AMAZE_VNG = 2048 | DT_IOP_DEMOSAIC_AMAZE ,
  DT_IOP_DEMOSAIC_PASSTHROUGH_MONOCHROME = 3 ,
  DT_IOP_DEMOSAIC_PASSTHROUGH_COLOR = 4 ,
  DT_IOP_DEMOSAIC_VNG = 1024 | 0 ,
  DT_IOP_DEMOSAIC_MARKESTEIJN = 1024 | 1 ,
  DT_IOP_DEMOSAIC_MARKESTEIJN_3 = 1024 | 2 ,
  DT_IOP_DEMOSAIC_FDC = 1024 | 4 ,
  DT_IOP_DEMOSAIC_MARKEST3_VNG = 2048 | DT_IOP_DEMOSAIC_MARKESTEIJN_3 ,
  DT_IOP_DEMOSAIC_PASSTHR_MONOX = 1024 | 3 ,
  DT_IOP_DEMOSAIC_PASSTHR_COLORX = 1024 | 5
}
 
enum  dt_iop_demosaic_greeneq_t {
  DT_IOP_GREEN_EQ_NO = 0 ,
  DT_IOP_GREEN_EQ_LOCAL = 1 ,
  DT_IOP_GREEN_EQ_FULL = 2 ,
  DT_IOP_GREEN_EQ_BOTH = 3
}
 
enum  dt_iop_demosaic_smooth_t {
  DEMOSAIC_SMOOTH_OFF = 0 ,
  DEMOSAIC_SMOOTH_1 = 1 ,
  DEMOSAIC_SMOOTH_2 = 2 ,
  DEMOSAIC_SMOOTH_3 = 3 ,
  DEMOSAIC_SMOOTH_4 = 4 ,
  DEMOSAIC_SMOOTH_5 = 5
}
 
enum  dt_iop_demosaic_lmmse_t {
  LMMSE_REFINE_0 = 0 ,
  LMMSE_REFINE_1 = 1 ,
  LMMSE_REFINE_2 = 2 ,
  LMMSE_REFINE_3 = 3 ,
  LMMSE_REFINE_4 = 4
}
 
enum  dt_iop_demosaic_quality_t {
  DT_DEMOSAIC_FAST = 0 ,
  DT_DEMOSAIC_FAIR = 1 ,
  DT_DEMOSAIC_BEST = 2
}
 

Functions

static float intp (float a, float b, float c)
 
void amaze_demosaic_RT (dt_dev_pixelpipe_iop_t *piece, const float *const in, float *out, const dt_iop_roi_t *const roi_in, const dt_iop_roi_t *const roi_out, const uint32_t filters)
 
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, dt_dev_pixelpipe_iop_t *piece)
 
int legacy_params (dt_iop_module_t *self, const void *const old_params, const int old_version, void *new_params, const int new_version)
 
int input_colorspace (dt_iop_module_t *self, dt_dev_pixelpipe_t *pipe, dt_dev_pixelpipe_iop_t *piece)
 
int output_colorspace (dt_iop_module_t *self, dt_dev_pixelpipe_t *pipe, dt_dev_pixelpipe_iop_t *piece)
 
static const char * method2string (dt_iop_demosaic_method_t method)
 
void distort_mask (struct dt_iop_module_t *self, struct dt_dev_pixelpipe_iop_t *piece, const float *const in, float *const out, const dt_iop_roi_t *const roi_in, const dt_iop_roi_t *const roi_out)
 
void modify_roi_out (struct dt_iop_module_t *self, struct dt_dev_pixelpipe_iop_t *piece, dt_iop_roi_t *roi_out, const dt_iop_roi_t *const roi_in)
 
void modify_roi_in (struct dt_iop_module_t *self, struct dt_dev_pixelpipe_iop_t *piece, const dt_iop_roi_t *roi_out, dt_iop_roi_t *roi_in)
 
void process (struct dt_iop_module_t *self, dt_dev_pixelpipe_iop_t *piece, const void *const i, void *const o, const dt_iop_roi_t *const roi_in, const dt_iop_roi_t *const roi_out)
 
void tiling_callback (struct dt_iop_module_t *self, struct dt_dev_pixelpipe_iop_t *piece, const dt_iop_roi_t *roi_in, const dt_iop_roi_t *roi_out, struct dt_develop_tiling_t *tiling)
 
void init_global (dt_iop_module_so_t *module)
 
void cleanup_global (dt_iop_module_so_t *module)
 
gboolean force_enable (struct dt_iop_module_t *self, const gboolean current_state)
 
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 reload_defaults (dt_iop_module_t *module)
 
void gui_changed (dt_iop_module_t *self, GtkWidget *w, void *previous)
 
void gui_update (struct dt_iop_module_t *self)
 
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)
 

Macro Definition Documentation

◆ BAYER_SNAPPER

#define BAYER_SNAPPER   2

◆ DEMOSAIC_DUAL

#define DEMOSAIC_DUAL   2048

◆ DEMOSAIC_XTRANS

#define DEMOSAIC_XTRANS   1024

◆ INLINE

#define INLINE   inline

◆ REDUCESIZE

#define REDUCESIZE   64

◆ XTRANS_SNAPPER

#define XTRANS_SNAPPER   3

Typedef Documentation

◆ dt_iop_demosaic_data_t

◆ dt_iop_demosaic_global_data_t

◆ dt_iop_demosaic_greeneq_t

◆ dt_iop_demosaic_gui_data_t

◆ dt_iop_demosaic_lmmse_t

◆ dt_iop_demosaic_method_t

◆ dt_iop_demosaic_params_t

◆ dt_iop_demosaic_quality_t

◆ dt_iop_demosaic_smooth_t

Enumeration Type Documentation

◆ dt_iop_demosaic_greeneq_t

Enumerator
DT_IOP_GREEN_EQ_NO 
DT_IOP_GREEN_EQ_LOCAL 
DT_IOP_GREEN_EQ_FULL 
DT_IOP_GREEN_EQ_BOTH 

◆ dt_iop_demosaic_lmmse_t

Enumerator
LMMSE_REFINE_0 
LMMSE_REFINE_1 
LMMSE_REFINE_2 
LMMSE_REFINE_3 
LMMSE_REFINE_4 

◆ dt_iop_demosaic_method_t

Enumerator
DT_IOP_DEMOSAIC_PPG 
DT_IOP_DEMOSAIC_AMAZE 
DT_IOP_DEMOSAIC_VNG4 
DT_IOP_DEMOSAIC_RCD 
DT_IOP_DEMOSAIC_LMMSE 
DT_IOP_DEMOSAIC_RCD_VNG 
DT_IOP_DEMOSAIC_AMAZE_VNG 
DT_IOP_DEMOSAIC_PASSTHROUGH_MONOCHROME 
DT_IOP_DEMOSAIC_PASSTHROUGH_COLOR 
DT_IOP_DEMOSAIC_VNG 
DT_IOP_DEMOSAIC_MARKESTEIJN 
DT_IOP_DEMOSAIC_MARKESTEIJN_3 
DT_IOP_DEMOSAIC_FDC 
DT_IOP_DEMOSAIC_MARKEST3_VNG 
DT_IOP_DEMOSAIC_PASSTHR_MONOX 
DT_IOP_DEMOSAIC_PASSTHR_COLORX 

◆ dt_iop_demosaic_quality_t

Enumerator
DT_DEMOSAIC_FAST 
DT_DEMOSAIC_FAIR 
DT_DEMOSAIC_BEST 

◆ dt_iop_demosaic_smooth_t

Enumerator
DEMOSAIC_SMOOTH_OFF 
DEMOSAIC_SMOOTH_1 
DEMOSAIC_SMOOTH_2 
DEMOSAIC_SMOOTH_3 
DEMOSAIC_SMOOTH_4 
DEMOSAIC_SMOOTH_5 

Function Documentation

◆ _visualize_callback()

static void _visualize_callback ( GtkWidget *  quad,
gpointer  user_data 
)
static

◆ amaze_demosaic_RT()

void amaze_demosaic_RT ( dt_dev_pixelpipe_iop_t piece,
const float *const  in,
float *  out,
const dt_iop_roi_t *const  roi_in,
const dt_iop_roi_t *const  roi_out,
const uint32_t  filters 
)

Referenced by process().

◆ cleanup_global()

void cleanup_global ( dt_iop_module_so_t module)

References dt_iop_module_so_t::data, dt_free_align, dt_opencl_free_kernel(), dt_iop_demosaic_global_data_t::kernel_border_interpolate, dt_iop_demosaic_global_data_t::kernel_color_smoothing, dt_iop_demosaic_global_data_t::kernel_downsample, dt_iop_demosaic_global_data_t::kernel_green_eq_favg_apply, dt_iop_demosaic_global_data_t::kernel_green_eq_favg_reduce_first, dt_iop_demosaic_global_data_t::kernel_green_eq_favg_reduce_second, dt_iop_demosaic_global_data_t::kernel_green_eq_lavg, dt_iop_demosaic_global_data_t::kernel_markesteijn_accu, dt_iop_demosaic_global_data_t::kernel_markesteijn_convert_yuv, dt_iop_demosaic_global_data_t::kernel_markesteijn_differentiate, dt_iop_demosaic_global_data_t::kernel_markesteijn_final, dt_iop_demosaic_global_data_t::kernel_markesteijn_green_minmax, dt_iop_demosaic_global_data_t::kernel_markesteijn_homo_max, dt_iop_demosaic_global_data_t::kernel_markesteijn_homo_max_corr, dt_iop_demosaic_global_data_t::kernel_markesteijn_homo_quench, dt_iop_demosaic_global_data_t::kernel_markesteijn_homo_set, dt_iop_demosaic_global_data_t::kernel_markesteijn_homo_sum, dt_iop_demosaic_global_data_t::kernel_markesteijn_homo_threshold, dt_iop_demosaic_global_data_t::kernel_markesteijn_initial_copy, dt_iop_demosaic_global_data_t::kernel_markesteijn_interpolate_green, dt_iop_demosaic_global_data_t::kernel_markesteijn_interpolate_twoxtwo, dt_iop_demosaic_global_data_t::kernel_markesteijn_recalculate_green, dt_iop_demosaic_global_data_t::kernel_markesteijn_red_and_blue, dt_iop_demosaic_global_data_t::kernel_markesteijn_solitary_green, dt_iop_demosaic_global_data_t::kernel_markesteijn_zero, dt_iop_demosaic_global_data_t::kernel_passthrough_color, dt_iop_demosaic_global_data_t::kernel_passthrough_monochrome, dt_iop_demosaic_global_data_t::kernel_ppg_green, dt_iop_demosaic_global_data_t::kernel_ppg_redblue, dt_iop_demosaic_global_data_t::kernel_pre_median, dt_iop_demosaic_global_data_t::kernel_rcd_border_green, dt_iop_demosaic_global_data_t::kernel_rcd_border_redblue, dt_iop_demosaic_global_data_t::kernel_rcd_populate, dt_iop_demosaic_global_data_t::kernel_rcd_step_1_1, dt_iop_demosaic_global_data_t::kernel_rcd_step_1_2, dt_iop_demosaic_global_data_t::kernel_rcd_step_2_1, dt_iop_demosaic_global_data_t::kernel_rcd_step_3_1, dt_iop_demosaic_global_data_t::kernel_rcd_step_4_1, dt_iop_demosaic_global_data_t::kernel_rcd_step_4_2, dt_iop_demosaic_global_data_t::kernel_rcd_step_5_1, dt_iop_demosaic_global_data_t::kernel_rcd_step_5_2, dt_iop_demosaic_global_data_t::kernel_rcd_write_output, dt_iop_demosaic_global_data_t::kernel_vng_border_interpolate, dt_iop_demosaic_global_data_t::kernel_vng_green_equilibrate, dt_iop_demosaic_global_data_t::kernel_vng_interpolate, dt_iop_demosaic_global_data_t::kernel_vng_lin_interpolate, dt_iop_demosaic_global_data_t::kernel_write_blended_dual, dt_iop_demosaic_global_data_t::kernel_zoom_half_size, dt_iop_demosaic_global_data_t::kernel_zoom_passthrough_monochrome, dt_iop_demosaic_global_data_t::kernel_zoom_third_size, dt_iop_demosaic_global_data_t::lmmse_gamma_in, and dt_iop_demosaic_global_data_t::lmmse_gamma_out.

◆ cleanup_pipe()

void cleanup_pipe ( struct dt_iop_module_t self,
dt_dev_pixelpipe_t pipe,
dt_dev_pixelpipe_iop_t piece 
)

◆ commit_params()

◆ default_colorspace()

int default_colorspace ( dt_iop_module_t self,
dt_dev_pixelpipe_t pipe,
dt_dev_pixelpipe_iop_t piece 
)

References IOP_CS_RAW.

◆ default_group()

int default_group ( )

References IOP_GROUP_TECHNICAL.

◆ description()

const char ** description ( struct dt_iop_module_t self)

◆ distort_mask()

void distort_mask ( struct dt_iop_module_t self,
struct dt_dev_pixelpipe_iop_t piece,
const float *const  in,
float *const  out,
const dt_iop_roi_t *const  roi_in,
const dt_iop_roi_t *const  roi_out 
)

◆ flags()

◆ force_enable()

gboolean force_enable ( struct dt_iop_module_t self,
const gboolean  current_state 
)

◆ gui_changed()

◆ gui_focus()

◆ gui_init()

◆ gui_update()

◆ init_global()

void init_global ( dt_iop_module_so_t module)

References dt_opencl_create_kernel(), dt_iop_demosaic_global_data_t::kernel_border_interpolate, dt_iop_demosaic_global_data_t::kernel_color_smoothing, dt_iop_demosaic_global_data_t::kernel_downsample, dt_iop_demosaic_global_data_t::kernel_green_eq_favg_apply, dt_iop_demosaic_global_data_t::kernel_green_eq_favg_reduce_first, dt_iop_demosaic_global_data_t::kernel_green_eq_favg_reduce_second, dt_iop_demosaic_global_data_t::kernel_green_eq_lavg, dt_iop_demosaic_global_data_t::kernel_markesteijn_accu, dt_iop_demosaic_global_data_t::kernel_markesteijn_convert_yuv, dt_iop_demosaic_global_data_t::kernel_markesteijn_differentiate, dt_iop_demosaic_global_data_t::kernel_markesteijn_final, dt_iop_demosaic_global_data_t::kernel_markesteijn_green_minmax, dt_iop_demosaic_global_data_t::kernel_markesteijn_homo_max, dt_iop_demosaic_global_data_t::kernel_markesteijn_homo_max_corr, dt_iop_demosaic_global_data_t::kernel_markesteijn_homo_quench, dt_iop_demosaic_global_data_t::kernel_markesteijn_homo_set, dt_iop_demosaic_global_data_t::kernel_markesteijn_homo_sum, dt_iop_demosaic_global_data_t::kernel_markesteijn_homo_threshold, dt_iop_demosaic_global_data_t::kernel_markesteijn_initial_copy, dt_iop_demosaic_global_data_t::kernel_markesteijn_interpolate_green, dt_iop_demosaic_global_data_t::kernel_markesteijn_interpolate_twoxtwo, dt_iop_demosaic_global_data_t::kernel_markesteijn_recalculate_green, dt_iop_demosaic_global_data_t::kernel_markesteijn_red_and_blue, dt_iop_demosaic_global_data_t::kernel_markesteijn_solitary_green, dt_iop_demosaic_global_data_t::kernel_markesteijn_zero, dt_iop_demosaic_global_data_t::kernel_passthrough_color, dt_iop_demosaic_global_data_t::kernel_passthrough_monochrome, dt_iop_demosaic_global_data_t::kernel_ppg_green, dt_iop_demosaic_global_data_t::kernel_ppg_redblue, dt_iop_demosaic_global_data_t::kernel_pre_median, dt_iop_demosaic_global_data_t::kernel_rcd_border_green, dt_iop_demosaic_global_data_t::kernel_rcd_border_redblue, dt_iop_demosaic_global_data_t::kernel_rcd_populate, dt_iop_demosaic_global_data_t::kernel_rcd_step_1_1, dt_iop_demosaic_global_data_t::kernel_rcd_step_1_2, dt_iop_demosaic_global_data_t::kernel_rcd_step_2_1, dt_iop_demosaic_global_data_t::kernel_rcd_step_3_1, dt_iop_demosaic_global_data_t::kernel_rcd_step_4_1, dt_iop_demosaic_global_data_t::kernel_rcd_step_4_2, dt_iop_demosaic_global_data_t::kernel_rcd_step_5_1, dt_iop_demosaic_global_data_t::kernel_rcd_step_5_2, dt_iop_demosaic_global_data_t::kernel_rcd_write_output, dt_iop_demosaic_global_data_t::kernel_vng_border_interpolate, dt_iop_demosaic_global_data_t::kernel_vng_green_equilibrate, dt_iop_demosaic_global_data_t::kernel_vng_interpolate, dt_iop_demosaic_global_data_t::kernel_vng_lin_interpolate, dt_iop_demosaic_global_data_t::kernel_write_blended_dual, dt_iop_demosaic_global_data_t::kernel_zoom_half_size, dt_iop_demosaic_global_data_t::kernel_zoom_passthrough_monochrome, dt_iop_demosaic_global_data_t::kernel_zoom_third_size, dt_iop_demosaic_global_data_t::lmmse_gamma_in, and dt_iop_demosaic_global_data_t::lmmse_gamma_out.

◆ init_pipe()

◆ input_colorspace()

int input_colorspace ( dt_iop_module_t self,
dt_dev_pixelpipe_t pipe,
dt_dev_pixelpipe_iop_t piece 
)

References IOP_CS_RAW.

◆ intp()

static float intp ( float  a,
float  b,
float  c 
)
inlinestatic

◆ legacy_params()

◆ method2string()

◆ modify_roi_in()

◆ modify_roi_out()

void modify_roi_out ( struct dt_iop_module_t self,
struct dt_dev_pixelpipe_iop_t piece,
dt_iop_roi_t roi_out,
const dt_iop_roi_t *const  roi_in 
)

References dt_iop_roi_t::x, and dt_iop_roi_t::y.

◆ name()

const char * name ( )
Todo:
: handle all the branching uniformingly

◆ output_colorspace()

int output_colorspace ( dt_iop_module_t self,
dt_dev_pixelpipe_t pipe,
dt_dev_pixelpipe_iop_t piece 
)

References IOP_CS_RGB.

◆ process()

void process ( struct dt_iop_module_t self,
dt_dev_pixelpipe_iop_t piece,
const void *const  i,
void *const  o,
const dt_iop_roi_t *const  roi_in,
const dt_iop_roi_t *const  roi_out 
)

References amaze_demosaic_RT(), dt_iop_demosaic_data_t::CAM_to_RGB, dt_times_t::clock, dt_iop_demosaic_data_t::color_smoothing, color_smoothing(), darktable, dt_dev_pixelpipe_iop_t::data, DEMOSAIC_DUAL, demosaic_ppg(), dt_iop_demosaic_data_t::demosaicing_method, dt_iop_module_t::dev, double(), dt_alloc_align_float(), dt_colorspaces_cygm_to_rgb(), DT_DEBUG_DEMOSAIC, DT_DEBUG_PERF, dt_dev_clear_rawdetail_mask(), DT_DEV_DETAIL_MASK_DEMOSAIC, DT_DEV_PIXELPIPE_DISPLAY_PASSTHRU, DT_DEV_PIXELPIPE_DISPLAY_PASSTHRU_MONO, DT_DEV_PIXELPIPE_FULL, dt_dev_write_rawdetail_mask(), dt_free_align, dt_get_times(), DT_IMAGE_4BAYER, DT_IOP_DEMOSAIC_AMAZE, DT_IOP_DEMOSAIC_FDC, DT_IOP_DEMOSAIC_LMMSE, DT_IOP_DEMOSAIC_MARKEST3_VNG, DT_IOP_DEMOSAIC_MARKESTEIJN, DT_IOP_DEMOSAIC_PASSTHROUGH_COLOR, DT_IOP_DEMOSAIC_PASSTHROUGH_MONOCHROME, DT_IOP_DEMOSAIC_RCD, DT_IOP_DEMOSAIC_VNG4, DT_IOP_GREEN_EQ_BOTH, DT_IOP_GREEN_EQ_FULL, DT_IOP_GREEN_EQ_LOCAL, DT_IOP_GREEN_EQ_NO, dual_demosaic(), dt_iop_demosaic_data_t::dual_thrs, dt_image_t::exif_iso, FALSE, dt_image_t::flags, dt_iop_module_t::global_data, dt_iop_demosaic_data_t::green_eq, green_equilibration_favg(), green_equilibration_lavg(), dt_develop_t::gui_attached, dt_iop_module_t::gui_data, dt_iop_roi_t::height, dt_develop_t::image_storage, lmmse_demosaic(), dt_iop_demosaic_global_data_t::lmmse_gamma_in, dt_iop_demosaic_global_data_t::lmmse_gamma_out, dt_iop_demosaic_data_t::lmmse_refine, dt_iop_demosaic_data_t::median_thrs, method2string(), passthrough_color(), passthrough_monochrome(), dt_dev_pixelpipe_iop_t::pipe, rcd_demosaic(), darktable_t::unmuted, dt_times_t::user, vng_interpolate(), dt_iop_roi_t::width, dt_iop_roi_t::x, xtrans_fdc_interpolate(), xtrans_markesteijn_interpolate(), and dt_iop_roi_t::y.

◆ reload_defaults()

◆ tiling_callback()