Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
hazeremoval.c File Reference
#include "bauhaus/bauhaus.h"
#include "common/box_filters.h"
#include "common/darktable.h"
#include "common/guided_filter.h"
#include "control/control.h"
#include "develop/imageop.h"
#include "develop/imageop_math.h"
#include "develop/imageop_gui.h"
#include "gui/gtk.h"
#include "develop/tiling.h"
#include "iop/iop_api.h"
#include <float.h>
#include <gtk/gtk.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
+ Include dependency graph for hazeremoval.c:

Data Structures

struct  dt_iop_hazeremoval_params_t
 
struct  dt_iop_hazeremoval_gui_data_t
 
struct  dt_iop_hazeremoval_global_data_t
 
struct  tile
 
struct  rgb_image
 
struct  const_rgb_image
 

Typedefs

typedef float rgb_pixel[3]
 
typedef struct dt_iop_hazeremoval_params_t dt_iop_hazeremoval_params_t
 
typedef dt_iop_hazeremoval_params_t dt_iop_hazeremoval_data_t
 
typedef struct dt_iop_hazeremoval_gui_data_t dt_iop_hazeremoval_gui_data_t
 
typedef struct dt_iop_hazeremoval_global_data_t dt_iop_hazeremoval_global_data_t
 
typedef struct tile tile
 
typedef struct rgb_image rgb_image
 
typedef struct const_rgb_image const_rgb_image
 

Functions

const char * name ()
 
const char * aliases ()
 
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)
 
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 *self)
 
void cleanup_global (dt_iop_module_so_t *self)
 
void gui_update (struct dt_iop_module_t *self)
 
void gui_init (dt_iop_module_t *self)
 
void gui_cleanup (dt_iop_module_t *self)
 
static void pointer_swap_f (float *a, float *b)
 
static void dark_channel (const const_rgb_image img1, const gray_image img2, const int w)
 
static void transition_map (const const_rgb_image img1, const gray_image img2, const int w, const float *const A0, const float strength)
 
static float * partition (float *first, float *last, float val)
 
void quick_select (float *first, float *nth, float *last)
 
static float ambient_light (const const_rgb_image img, int w1, rgb_pixel *pA0)
 
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)
 

Typedef Documentation

◆ const_rgb_image

◆ dt_iop_hazeremoval_data_t

◆ dt_iop_hazeremoval_global_data_t

◆ dt_iop_hazeremoval_gui_data_t

◆ dt_iop_hazeremoval_params_t

◆ rgb_image

typedef struct rgb_image rgb_image

◆ rgb_pixel

typedef float rgb_pixel[3]

◆ tile

typedef struct tile tile

Function Documentation

◆ aliases()

const char * aliases ( )

◆ ambient_light()

◆ cleanup_global()

◆ cleanup_pipe()

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

◆ dark_channel()

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

◆ description()

const char ** description ( struct dt_iop_module_t self)

◆ flags()

◆ gui_cleanup()

void gui_cleanup ( dt_iop_module_t self)

References IOP_GUI_FREE.

◆ gui_init()

◆ gui_update()

◆ init_global()

◆ init_pipe()

◆ name()

const char * name ( )

◆ partition()

static float * partition ( float *  first,
float *  last,
float  val 
)
static

References pointer_swap_f().

Referenced by quick_select().

◆ pointer_swap_f()

static void pointer_swap_f ( float *  a,
float *  b 
)
inlinestatic

Referenced by partition(), and quick_select().

◆ process()

◆ quick_select()

void quick_select ( float *  first,
float *  nth,
float *  last 
)

References partition(), and pointer_swap_f().

Referenced by ambient_light().

◆ transition_map()

static void transition_map ( const const_rgb_image  img1,
const gray_image  img2,
const int  w,
const float *const  A0,
const float  strength 
)
static