Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
shadhi.c File Reference
#include "bauhaus/bauhaus.h"
#include "common/bilateral.h"
#include "common/bilateralcl.h"
#include "common/debug.h"
#include "common/gaussian.h"
#include "common/opencl.h"
#include "control/control.h"
#include "develop/develop.h"
#include "develop/imageop.h"
#include "develop/imageop_math.h"
#include "develop/imageop_gui.h"
#include "develop/tiling.h"
#include "dtgtk/togglebutton.h"
#include "gui/gtk.h"
#include "gui/presets.h"
#include "iop/iop_api.h"
#include <assert.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <gtk/gtk.h>
#include <inttypes.h>
+ Include dependency graph for shadhi.c:

Data Structures

struct  dt_iop_shadhi_params1_t
 
struct  dt_iop_shadhi_params2_t
 
struct  dt_iop_shadhi_params3_t
 
struct  dt_iop_shadhi_params4_t
 
struct  dt_iop_shadhi_params_t
 
struct  dt_iop_shadhi_gui_data_t
 
struct  dt_iop_shadhi_data_t
 
struct  dt_iop_shadhi_global_data_t
 

Macros

#define UNBOUND_L   1
 
#define UNBOUND_A   2
 
#define UNBOUND_B   4
 
#define UNBOUND_SHADOWS_L   UNBOUND_L
 
#define UNBOUND_SHADOWS_A   UNBOUND_A
 
#define UNBOUND_SHADOWS_B   UNBOUND_B
 
#define UNBOUND_HIGHLIGHTS_L   (UNBOUND_L << 3) /* 8 */
 
#define UNBOUND_HIGHLIGHTS_A   (UNBOUND_A << 3) /* 16 */
 
#define UNBOUND_HIGHLIGHTS_B   (UNBOUND_B << 3) /* 32 */
 
#define UNBOUND_GAUSSIAN   64
 
#define UNBOUND_BILATERAL   128 /* not implemented yet */
 
#define UNBOUND_DEFAULT
 

Typedefs

typedef enum dt_iop_shadhi_algo_t dt_iop_shadhi_algo_t
 
typedef struct dt_iop_shadhi_params1_t dt_iop_shadhi_params1_t
 
typedef struct dt_iop_shadhi_params2_t dt_iop_shadhi_params2_t
 
typedef struct dt_iop_shadhi_params3_t dt_iop_shadhi_params3_t
 
typedef struct dt_iop_shadhi_params4_t dt_iop_shadhi_params4_t
 
typedef struct dt_iop_shadhi_params_t dt_iop_shadhi_params_t
 
typedef struct dt_iop_shadhi_gui_data_t dt_iop_shadhi_gui_data_t
 
typedef struct dt_iop_shadhi_data_t dt_iop_shadhi_data_t
 
typedef struct dt_iop_shadhi_global_data_t dt_iop_shadhi_global_data_t
 

Enumerations

enum  dt_iop_shadhi_algo_t {
  SHADHI_ALGO_GAUSSIAN ,
  SHADHI_ALGO_BILATERAL
}
 

Functions

const char * name ()
 
int flags ()
 
int default_group ()
 
int default_colorspace (dt_iop_module_t *self, dt_dev_pixelpipe_t *pipe, dt_dev_pixelpipe_iop_t *piece)
 
const char ** description (struct 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)
 
static void _Lab_scale (const float *i, float *o)
 
static void _Lab_rescale (const float *i, float *o)
 
static float sign (float x)
 
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 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 *p1, 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 init_global (dt_iop_module_so_t *module)
 
void cleanup_global (dt_iop_module_so_t *module)
 
void gui_init (struct dt_iop_module_t *self)
 

Macro Definition Documentation

◆ UNBOUND_A

#define UNBOUND_A   2

◆ UNBOUND_B

#define UNBOUND_B   4

◆ UNBOUND_BILATERAL

#define UNBOUND_BILATERAL   128 /* not implemented yet */

◆ UNBOUND_DEFAULT

#define UNBOUND_DEFAULT
Value:
#define UNBOUND_SHADOWS_L
Definition shadhi.c:49
#define UNBOUND_GAUSSIAN
Definition shadhi.c:55
#define UNBOUND_HIGHLIGHTS_L
Definition shadhi.c:52
#define UNBOUND_HIGHLIGHTS_A
Definition shadhi.c:53
#define UNBOUND_SHADOWS_A
Definition shadhi.c:50
#define UNBOUND_SHADOWS_B
Definition shadhi.c:51
#define UNBOUND_HIGHLIGHTS_B
Definition shadhi.c:54

◆ UNBOUND_GAUSSIAN

#define UNBOUND_GAUSSIAN   64

◆ UNBOUND_HIGHLIGHTS_A

#define UNBOUND_HIGHLIGHTS_A   (UNBOUND_A << 3) /* 16 */

◆ UNBOUND_HIGHLIGHTS_B

#define UNBOUND_HIGHLIGHTS_B   (UNBOUND_B << 3) /* 32 */

◆ UNBOUND_HIGHLIGHTS_L

#define UNBOUND_HIGHLIGHTS_L   (UNBOUND_L << 3) /* 8 */

◆ UNBOUND_L

#define UNBOUND_L   1

◆ UNBOUND_SHADOWS_A

#define UNBOUND_SHADOWS_A   UNBOUND_A

◆ UNBOUND_SHADOWS_B

#define UNBOUND_SHADOWS_B   UNBOUND_B

◆ UNBOUND_SHADOWS_L

#define UNBOUND_SHADOWS_L   UNBOUND_L

Typedef Documentation

◆ dt_iop_shadhi_algo_t

◆ dt_iop_shadhi_data_t

◆ dt_iop_shadhi_global_data_t

◆ dt_iop_shadhi_gui_data_t

◆ dt_iop_shadhi_params1_t

◆ dt_iop_shadhi_params2_t

◆ dt_iop_shadhi_params3_t

◆ dt_iop_shadhi_params4_t

◆ dt_iop_shadhi_params_t

Enumeration Type Documentation

◆ dt_iop_shadhi_algo_t

Enumerator
SHADHI_ALGO_GAUSSIAN 
SHADHI_ALGO_BILATERAL 

Function Documentation

◆ _Lab_rescale()

static void _Lab_rescale ( const float *  i,
float *  o 
)
inlinestatic

Referenced by process().

◆ _Lab_scale()

static void _Lab_scale ( const float *  i,
float *  o 
)
inlinestatic

Referenced by process().

◆ cleanup_global()

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

◆ default_group()

int default_group ( )

References IOP_GROUP_TONES.

◆ description()

const char ** description ( struct dt_iop_module_t self)

◆ flags()

◆ gui_init()

◆ init_global()

◆ init_pipe()

◆ 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 
)

◆ name()

const char * name ( )

◆ process()

◆ sign()

static float sign ( float  x)
inlinestatic

Referenced by process().

◆ tiling_callback()