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

Data Structures

struct  dt_iop_nlmeans_params_v1_t
 
struct  dt_iop_nlmeans_params_t
 
struct  dt_iop_nlmeans_gui_data_t
 
struct  dt_iop_nlmeans_global_data_t
 

Macros

#define USE_NEW_IMPL_CL   0
 
#define NUM_BUCKETS   4
 

Typedefs

typedef struct dt_iop_nlmeans_params_v1_t dt_iop_nlmeans_params_v1_t
 
typedef struct dt_iop_nlmeans_params_t dt_iop_nlmeans_params_t
 
typedef struct dt_iop_nlmeans_gui_data_t dt_iop_nlmeans_gui_data_t
 
typedef dt_iop_nlmeans_params_t dt_iop_nlmeans_data_t
 
typedef struct dt_iop_nlmeans_global_data_t dt_iop_nlmeans_global_data_t
 

Functions

const char * name ()
 
const char * aliases ()
 
const char ** description (struct dt_iop_module_t *self)
 
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 default_group ()
 
int flags ()
 
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)
 
static void process_cpu (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(*denoiser)(const float *const inbuf, float *const outbuf, const dt_iop_roi_t *const roi_in, const dt_iop_roi_t *const roi_out, const dt_nlmeans_param_t *const params))
 
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_global (dt_iop_module_so_t *module)
 
void cleanup_global (dt_iop_module_so_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_init (dt_iop_module_t *self)
 

Macro Definition Documentation

◆ NUM_BUCKETS

#define NUM_BUCKETS   4

◆ USE_NEW_IMPL_CL

#define USE_NEW_IMPL_CL   0

Typedef Documentation

◆ dt_iop_nlmeans_data_t

◆ dt_iop_nlmeans_global_data_t

◆ dt_iop_nlmeans_gui_data_t

◆ dt_iop_nlmeans_params_t

◆ dt_iop_nlmeans_params_v1_t

Function Documentation

◆ aliases()

const char * aliases ( )

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

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 
)

commit is the synch point between core and gui, so it copies params to pipe data.

References dt_iop_nlmeans_params_t::chroma, dt_dev_pixelpipe_iop_t::data, dt_iop_nlmeans_params_t::luma, and MAX.

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

◆ description()

const char ** description ( struct dt_iop_module_t self)

◆ flags()

int 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()

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 
)

References nlmeans_denoise(), and process_cpu().

◆ process_cpu()

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