20#ifndef HDRL_PARAMETER_H
21#define HDRL_PARAMETER_H
49#ifdef HDRL_USE_PRIVATE
56 HDRL_PARAMETER_COLLAPSE_MEAN,
57 HDRL_PARAMETER_COLLAPSE_MEDIAN,
58 HDRL_PARAMETER_COLLAPSE_WEIGHTED_MEAN,
59 HDRL_PARAMETER_COLLAPSE_SIGCLIP,
60 HDRL_PARAMETER_COLLAPSE_MINMAX,
61 HDRL_PARAMETER_COLLAPSE_MODE,
62 HDRL_PARAMETER_RECT_REGION,
63 HDRL_PARAMETER_OVERSCAN,
64 HDRL_PARAMETER_BPM_2D,
65 HDRL_PARAMETER_BPM_3D,
66 HDRL_PARAMETER_BPM_FIT,
67 HDRL_PARAMETER_LACOSMIC,
68 HDRL_PARAMETER_STREHL,
70 HDRL_PARAMETER_CATALOGUE,
71 HDRL_PARAMETER_SPECTRUM1D_RESAMPLE_INTERPOLATE,
72 HDRL_PARAMETER_SPECTRUM1D_RESAMPLE_FIT,
73 HDRL_PARAMETER_SPECTRUM1D_RESAMPLE_INTEGRATE,
74 HDRL_PARAMETER_SPECTRUM1D_SHIFT,
75 HDRL_PARAMETER_EFFICIENCY,
76 HDRL_PARAMETER_RESPONSE_TELLURIC_EVALUATION,
77 HDRL_PARAMETER_RESPONSE_FIT,
79 HDRL_PARAMETER_RESAMPLE_OUTGRID,
80 HDRL_PARAMETER_RESAMPLE_METHOD,
81 HDRL_PARAMETER_PERSISTENCE
95#define HDRL_PARAMETER_HEAD void * base
112 hdrl_parameter_enum type;
122} hdrl_parameter_typeobj;
128} hdrl_parameter_empty;
131hdrl_parameter_new(
const hdrl_parameter_typeobj * typeobj);
133const hdrl_parameter_typeobj *
141 const hdrl_parameter_typeobj * type);
145#define HDRL_PARAMETER_SINGLETON(name, type, alloc) \
146hdrl_parameter * name = &(hdrl_parameter){ &type }; \
147static void * alloc(size_t HDRL_UNUSED(n)) \
struct _hdrl_parameter_ hdrl_parameter
Definition hdrl_parameter.h:27
void *() hdrl_alloc(size_t)
Definition hdrl_types.h:38
void() hdrl_free(void *)
Definition hdrl_types.h:39
void hdrl_parameter_destroy(hdrl_parameter *obj)
deep delete of a parameter
Definition hdrl_parameter.c:164
CPL_BEGIN_DECLS void hdrl_parameter_delete(hdrl_parameter *obj)
shallow delete of a parameter
Definition hdrl_parameter.c:148