Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
lens.cc File Reference
#include "glib.h"
#include "bauhaus/bauhaus.h"
#include "common/interpolation.h"
#include "common/file_location.h"
#include "common/imagebuf.h"
#include "common/opencl.h"
#include "control/control.h"
#include "develop/develop.h"
#include "develop/imageop.h"
#include "develop/imageop_gui.h"
#include "develop/tiling.h"
#include "dtgtk/button.h"
#include "dtgtk/resetlabel.h"
#include "gui/draw.h"
#include "gui/gtk.h"
#include "iop/iop_api.h"
#include <assert.h>
#include <ctype.h>
#include <gtk/gtk.h>
#include <inttypes.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <lensfun.h>
+ Include dependency graph for lens.cc:

Data Structures

struct  dt_iop_lensfun_modifier_t
 
struct  dt_iop_lensfun_params_t
 
struct  dt_iop_lensfun_gui_data_t
 
struct  dt_iop_lensfun_global_data_t
 
struct  dt_iop_lensfun_data_t
 

Macros

#define LF_SEARCH_SORT_AND_UNIQUIFY   2
 

Typedefs

typedef enum dt_iop_lensfun_modflag_t dt_iop_lensfun_modflag_t
 
typedef struct dt_iop_lensfun_modifier_t dt_iop_lensfun_modifier_t
 
typedef struct dt_iop_lensfun_params_t dt_iop_lensfun_params_t
 
typedef struct dt_iop_lensfun_gui_data_t dt_iop_lensfun_gui_data_t
 
typedef struct dt_iop_lensfun_global_data_t dt_iop_lensfun_global_data_t
 
typedef struct dt_iop_lensfun_data_t dt_iop_lensfun_data_t
 

Enumerations

enum  dt_iop_lensfun_modflag_t {
  LENSFUN_MODFLAG_NONE = 0 ,
  LENSFUN_MODFLAG_ALL = LF_MODIFY_DISTORTION | LF_MODIFY_TCA | LF_MODIFY_VIGNETTING ,
  LENSFUN_MODFLAG_DIST_TCA = LF_MODIFY_DISTORTION | LF_MODIFY_TCA ,
  LENSFUN_MODFLAG_DIST_VIGN = LF_MODIFY_DISTORTION | LF_MODIFY_VIGNETTING ,
  LENSFUN_MODFLAG_TCA_VIGN = LF_MODIFY_TCA | LF_MODIFY_VIGNETTING ,
  LENSFUN_MODFLAG_DIST = LF_MODIFY_DISTORTION ,
  LENSFUN_MODFLAG_TCA = LF_MODIFY_TCA ,
  LENSFUN_MODFLAG_VIGN = LF_MODIFY_VIGNETTING ,
  LENSFUN_MODFLAG_MASK = LF_MODIFY_DISTORTION | LF_MODIFY_TCA | LF_MODIFY_VIGNETTING
}
 

Functions

const char * name ()
 
const char * aliases ()
 
const char ** description (struct dt_iop_module_t *self)
 
int default_group ()
 
int operation_tags ()
 
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)
 
static char * _lens_sanitize (const char *orig_lens)
 
static lfModifier * get_modifier (int *mods_done, int w, int h, const dt_iop_lensfun_data_t *d, int mods_filter, gboolean force_inverse)
 
void process (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)
 
int distort_transform (dt_iop_module_t *self, dt_dev_pixelpipe_iop_t *piece, float *const __restrict points, size_t points_count)
 
int distort_backtransform (dt_iop_module_t *self, dt_dev_pixelpipe_iop_t *piece, float *const __restrict points, size_t points_count)
 
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 *roi_in)
 
void modify_roi_in (struct dt_iop_module_t *self, struct dt_dev_pixelpipe_iop_t *piece, const dt_iop_roi_t *const roi_out, dt_iop_roi_t *roi_in)
 
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)
 
static float get_autoscale (dt_iop_module_t *self, dt_iop_lensfun_params_t *p, const lfCamera *camera)
 
void reload_defaults (dt_iop_module_t *module)
 
void cleanup_global (dt_iop_module_so_t *module)
 
static int precision (double x, double adj)
 
static int ptr_array_insert_sorted (GPtrArray *array, const void *item, GCompareFunc compare)
 
static int ptr_array_find_sorted (const GPtrArray *array, const void *item, GCompareFunc compare)
 
static void ptr_array_insert_index (GPtrArray *array, const void *item, int index)
 
static void camera_set (dt_iop_module_t *self, const lfCamera *cam)
 
static void camera_menu_select (GtkMenuItem *menuitem, gpointer user_data)
 
static void camera_menu_fill (dt_iop_module_t *self, const lfCamera *const *camlist)
 
static void parse_model (const char *txt, char *model, size_t sz_model)
 
static void camera_menusearch_clicked (GtkWidget *button, gpointer user_data)
 
static void camera_autosearch_clicked (GtkWidget *button, gpointer user_data)
 
static void lens_comboentry_focal_update (GtkWidget *widget, dt_iop_module_t *self)
 
static void lens_comboentry_aperture_update (GtkWidget *widget, dt_iop_module_t *self)
 
static void lens_comboentry_distance_update (GtkWidget *widget, dt_iop_module_t *self)
 
static void delete_children (GtkWidget *widget, gpointer data)
 
static void lens_set (dt_iop_module_t *self, const lfLens *lens)
 
static void lens_menu_select (GtkMenuItem *menuitem, gpointer user_data)
 
static void lens_menu_fill (dt_iop_module_t *self, const lfLens *const *lenslist)
 
static void lens_menusearch_clicked (GtkWidget *button, gpointer user_data)
 
static void lens_autosearch_clicked (GtkWidget *button, gpointer user_data)
 
static void target_geometry_changed (GtkWidget *widget, gpointer user_data)
 
static void modflags_changed (GtkWidget *widget, gpointer user_data)
 
void gui_changed (dt_iop_module_t *self, GtkWidget *w, void *previous)
 
static void autoscale_pressed (GtkWidget *button, gpointer user_data)
 
static void corrections_done (gpointer instance, gpointer user_data)
 
void gui_init (struct dt_iop_module_t *self)
 
void gui_update (struct dt_iop_module_t *self)
 
void gui_cleanup (struct dt_iop_module_t *self)
 

Macro Definition Documentation

◆ LF_SEARCH_SORT_AND_UNIQUIFY

#define LF_SEARCH_SORT_AND_UNIQUIFY   2

Typedef Documentation

◆ dt_iop_lensfun_data_t

◆ dt_iop_lensfun_global_data_t

◆ dt_iop_lensfun_gui_data_t

◆ dt_iop_lensfun_modflag_t

◆ dt_iop_lensfun_modifier_t

◆ dt_iop_lensfun_params_t

Enumeration Type Documentation

◆ dt_iop_lensfun_modflag_t

Enumerator
LENSFUN_MODFLAG_NONE 
LENSFUN_MODFLAG_ALL 
LENSFUN_MODFLAG_DIST_TCA 
LENSFUN_MODFLAG_DIST_VIGN 
LENSFUN_MODFLAG_TCA_VIGN 
LENSFUN_MODFLAG_DIST 
LENSFUN_MODFLAG_TCA 
LENSFUN_MODFLAG_VIGN 
LENSFUN_MODFLAG_MASK 

Function Documentation

◆ _lens_sanitize()

static char * _lens_sanitize ( const char *  orig_lens)
static

Referenced by reload_defaults().

◆ aliases()

const char * aliases ( )

◆ autoscale_pressed()

static void autoscale_pressed ( GtkWidget *  button,
gpointer  user_data 
)
static

◆ camera_autosearch_clicked()

◆ camera_menu_fill()

static void camera_menu_fill ( dt_iop_module_t self,
const lfCamera *const *  camlist 
)
static

◆ camera_menu_select()

static void camera_menu_select ( GtkMenuItem *  menuitem,
gpointer  user_data 
)
static

◆ camera_menusearch_clicked()

◆ camera_set()

static void camera_set ( dt_iop_module_t self,
const lfCamera *  cam 
)
static

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

◆ corrections_done()

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

◆ delete_children()

static void delete_children ( GtkWidget *  widget,
gpointer  data 
)
static

References void().

Referenced by lens_set().

◆ description()

const char ** description ( struct dt_iop_module_t self)

◆ distort_backtransform()

◆ distort_mask()

◆ distort_transform()

◆ flags()

int flags ( )

◆ get_autoscale()

◆ get_modifier()

◆ gui_changed()

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

◆ gui_cleanup()

◆ gui_init()

◆ gui_update()

◆ init_global()

◆ init_pipe()

◆ legacy_params()

◆ lens_autosearch_clicked()

◆ lens_comboentry_aperture_update()

static void lens_comboentry_aperture_update ( GtkWidget *  widget,
dt_iop_module_t self 
)
static

◆ lens_comboentry_distance_update()

static void lens_comboentry_distance_update ( GtkWidget *  widget,
dt_iop_module_t self 
)
static

◆ lens_comboentry_focal_update()

static void lens_comboentry_focal_update ( GtkWidget *  widget,
dt_iop_module_t self 
)
static

◆ lens_menu_fill()

static void lens_menu_fill ( dt_iop_module_t self,
const lfLens *const *  lenslist 
)
static

◆ lens_menu_select()

static void lens_menu_select ( GtkMenuItem *  menuitem,
gpointer  user_data 
)
static

◆ lens_menusearch_clicked()

◆ lens_set()

◆ modflags_changed()

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

◆ name()

const char * name ( )

◆ operation_tags()

int operation_tags ( )

References IOP_TAG_DISTORT.

◆ parse_model()

static void parse_model ( const char *  txt,
char *  model,
size_t  sz_model 
)
static

◆ precision()

static int precision ( double  x,
double  adj 
)
static

gui stuff: inspired by ufraws lensfun tab:

Referenced by _update_slider(), dt_bauhaus_slider_set_normalized(), gui_post_expose(), and lens_set().

◆ process()

◆ ptr_array_find_sorted()

static int ptr_array_find_sorted ( const GPtrArray *  array,
const void item,
GCompareFunc  compare 
)
static

References m.

Referenced by camera_menu_fill(), and lens_menu_fill().

◆ ptr_array_insert_index()

static void ptr_array_insert_index ( GPtrArray *  array,
const void item,
int  index 
)
static

Referenced by camera_menu_fill(), and lens_menu_fill().

◆ ptr_array_insert_sorted()

static int ptr_array_insert_sorted ( GPtrArray *  array,
const void item,
GCompareFunc  compare 
)
static

References m.

Referenced by camera_menu_fill(), and lens_menu_fill().

◆ reload_defaults()

◆ target_geometry_changed()

static void target_geometry_changed ( GtkWidget *  widget,
gpointer  user_data 
)
static

◆ 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 
)
Todo:
: check if that's sufficiently large