Ansel 0.0
A darktable fork - bloat + design vision
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
basicadj.c File Reference
+ Include dependency graph for basicadj.c:

Data Structures

struct  dt_iop_basicadj_params_t
 
struct  dt_iop_basicadj_gui_data_t
 
struct  dt_iop_basicadj_data_t
 
struct  dt_iop_basicadj_global_data_t
 

Macros

#define exposure2white(x)   exp2f(-(x))
 

Typedefs

typedef struct dt_iop_basicadj_params_t dt_iop_basicadj_params_t
 
typedef struct dt_iop_basicadj_gui_data_t dt_iop_basicadj_gui_data_t
 
typedef struct dt_iop_basicadj_data_t dt_iop_basicadj_data_t
 
typedef struct dt_iop_basicadj_global_data_t dt_iop_basicadj_global_data_t
 

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 * deprecated_msg ()
 
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)
 
static void _turn_select_region_off (struct dt_iop_module_t *self)
 
static void _turn_selregion_picker_off (struct dt_iop_module_t *self)
 
void gui_changed (dt_iop_module_t *self, GtkWidget *w, void *previous)
 
static void _color_picker_callback (GtkWidget *button, dt_iop_module_t *self)
 
static void _auto_levels_callback (GtkButton *button, dt_iop_module_t *self)
 
static void _select_region_toggled_callback (GtkToggleButton *togglebutton, dt_iop_module_t *self)
 
static void _develop_ui_pipe_finished_callback (gpointer instance, gpointer user_data)
 
static void _signal_profile_user_changed (gpointer instance, uint8_t profile_type, gpointer user_data)
 
int mouse_moved (struct dt_iop_module_t *self, double x, double y, double pressure, int which)
 
int button_released (struct dt_iop_module_t *self, double x, double y, int which, uint32_t state)
 
int button_pressed (struct dt_iop_module_t *self, double x, double y, double pressure, int which, int type, uint32_t state)
 
void gui_post_expose (struct dt_iop_module_t *self, cairo_t *cr, int32_t width, int32_t height, int32_t pointerx, int32_t pointery)
 
void init_global (dt_iop_module_so_t *module)
 
void cleanup_global (dt_iop_module_so_t *module)
 
void color_picker_apply (dt_iop_module_t *self, GtkWidget *picker, dt_dev_pixelpipe_iop_t *piece)
 
static float get_gamma (const float x, const float gamma)
 
static float get_lut_gamma (const float x, const float gamma, const float *const lut)
 
static float get_contrast (const float x, const float contrast, const float middle_grey, const float inv_middle_grey)
 
static float get_lut_contrast (const float x, const float contrast, const float middle_grey, const float inv_middle_grey, const float *const lut)
 
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 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 (struct dt_iop_module_t *self)
 
void gui_focus (struct dt_iop_module_t *self, gboolean in)
 
void change_image (struct dt_iop_module_t *self)
 
void gui_init (struct dt_iop_module_t *self)
 
void gui_cleanup (struct dt_iop_module_t *self)
 
static int64_t doubleToRawLongBits (double d)
 
static double longBitsToDouble (int64_t i)
 
static int ilogbp1 (double d)
 
static double ldexpk (double x, int32_t q)
 
static double xlog (double d)
 
static double gamma2 (double x)
 
static double igamma2 (double x)
 
static void _get_auto_exp_histogram (const float *const img, const int width, const int height, int *box_area, uint32_t **_histogram, unsigned int *_hist_size, int *_histcompr)
 
static void _get_sum_and_average (const uint32_t *const histogram, const int hist_size, float *_sum, float *_avg)
 
static float hlcurve (const float level, const float hlcomp, const float hlrange)
 
static void _get_auto_exp (const uint32_t *const histogram, const unsigned int hist_size, const int histcompr, const float defgain, const float clip, const float midgray, float *_expcomp, float *_bright, float *_contr, float *_black, float *_hlcompr, float *_hlcomprthresh)
 
static void _auto_exposure (const float *const img, const int width, const int height, int *box_area, const float clip, const float midgray, float *_expcomp, float *_bright, float *_contr, float *_black, float *_hlcompr, float *_hlcomprthresh)
 
static void _get_selected_area (struct dt_iop_module_t *self, dt_dev_pixelpipe_iop_t *piece, dt_iop_basicadj_gui_data_t *g, const dt_iop_roi_t *const roi_in, int *box_out)
 
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)
 

Macro Definition Documentation

◆ exposure2white

#define exposure2white (   x)    exp2f(-(x))

Typedef Documentation

◆ dt_iop_basicadj_data_t

◆ dt_iop_basicadj_global_data_t

◆ dt_iop_basicadj_gui_data_t

◆ dt_iop_basicadj_params_t

Function Documentation

◆ _auto_exposure()

static void _auto_exposure ( const float *const  img,
const int  width,
const int  height,
int *  box_area,
const float  clip,
const float  midgray,
float *  _expcomp,
float *  _bright,
float *  _contr,
float *  _black,
float *  _hlcompr,
float *  _hlcomprthresh 
)
static

◆ _auto_levels_callback()

◆ _color_picker_callback()

static void _color_picker_callback ( GtkWidget *  button,
dt_iop_module_t self 
)
static

References _turn_select_region_off().

Referenced by gui_init().

◆ _develop_ui_pipe_finished_callback()

static void _develop_ui_pipe_finished_callback ( gpointer  instance,
gpointer  user_data 
)
static

◆ _get_auto_exp()

static void _get_auto_exp ( const uint32_t *const  histogram,
const unsigned int  hist_size,
const int  histcompr,
const float  defgain,
const float  clip,
const float  midgray,
float *  _expcomp,
float *  _bright,
float *  _contr,
float *  _black,
float *  _hlcompr,
float *  _hlcomprthresh 
)
static

◆ _get_auto_exp_histogram()

static void _get_auto_exp_histogram ( const float *const  img,
const int  width,
const int  height,
int *  box_area,
uint32_t **  _histogram,
unsigned int *  _hist_size,
int *  _histcompr 
)
static

References cleanup(), dt_alloc_align, height, R, and width.

Referenced by _auto_exposure().

◆ _get_selected_area()

◆ _get_sum_and_average()

static void _get_sum_and_average ( const uint32_t *const  histogram,
const int  hist_size,
float *  _sum,
float *  _avg 
)
static

Referenced by _get_auto_exp().

◆ _select_region_toggled_callback()

◆ _signal_profile_user_changed()

◆ _turn_select_region_off()

static void _turn_select_region_off ( struct dt_iop_module_t self)
static

◆ _turn_selregion_picker_off()

static void _turn_selregion_picker_off ( struct dt_iop_module_t self)
static

◆ button_pressed()

◆ button_released()

◆ change_image()

void change_image ( struct dt_iop_module_t self)

References dt_iop_module_t::gui_data.

Referenced by gui_init().

◆ cleanup_global()

◆ cleanup_pipe()

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

◆ color_picker_apply()

◆ 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_RGB.

◆ default_group()

int default_group ( )

References IOP_GROUP_EFFECTS.

◆ deprecated_msg()

const char * deprecated_msg ( )

◆ description()

const char ** description ( struct dt_iop_module_t self)

◆ doubleToRawLongBits()

static int64_t doubleToRawLongBits ( double  d)
inlinestatic

References f().

Referenced by ilogbp1().

◆ flags()

◆ gamma2()

static double gamma2 ( double  x)
inlinestatic

Referenced by _get_auto_exp().

◆ get_contrast()

static float get_contrast ( const float  x,
const float  contrast,
const float  middle_grey,
const float  inv_middle_grey 
)
inlinestatic

Referenced by commit_params(), and get_lut_contrast().

◆ get_gamma()

static float get_gamma ( const float  x,
const float  gamma 
)
inlinestatic

Referenced by commit_params(), and get_lut_gamma().

◆ get_lut_contrast()

static float get_lut_contrast ( const float  x,
const float  contrast,
const float  middle_grey,
const float  inv_middle_grey,
const float *const  lut 
)
inlinestatic

References get_contrast().

Referenced by process().

◆ get_lut_gamma()

static float get_lut_gamma ( const float  x,
const float  gamma,
const float *const  lut 
)
inlinestatic

References get_gamma().

Referenced by process().

◆ gui_changed()

void gui_changed ( dt_iop_module_t self,
GtkWidget *  w,
void previous 
)

◆ gui_cleanup()

◆ gui_focus()

void gui_focus ( struct dt_iop_module_t self,
gboolean  in 
)

◆ gui_init()

◆ gui_post_expose()

◆ gui_update()

void gui_update ( struct dt_iop_module_t self)

◆ hlcurve()

static float hlcurve ( const float  level,
const float  hlcomp,
const float  hlrange 
)
inlinestatic

References R.

Referenced by process().

◆ igamma2()

static double igamma2 ( double  x)
inlinestatic

Referenced by _get_auto_exp().

◆ ilogbp1()

static int ilogbp1 ( double  d)
inlinestatic

References doubleToRawLongBits(), and m.

Referenced by xlog().

◆ init_global()

◆ init_pipe()

◆ ldexpk()

static double ldexpk ( double  x,
int32_t  q 
)
inlinestatic

References longBitsToDouble(), and m.

Referenced by xlog().

◆ legacy_params()

int legacy_params ( dt_iop_module_t self,
const void *const  old_params,
const int  old_version,
void new_params,
const int  new_version 
)

◆ longBitsToDouble()

static double longBitsToDouble ( int64_t  i)
inlinestatic

References f().

Referenced by ldexpk().

◆ mouse_moved()

◆ name()

const char * name ( )

◆ process()

◆ tiling_callback()

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 
)

◆ xlog()

static double xlog ( double  d)
inlinestatic

References ilogbp1(), ldexpk(), and m.

Referenced by _get_auto_exp().