28#ifndef HDRL_COLLAPSE_H
29#define HDRL_COLLAPSE_H
35#include "hdrl_parameter.h"
52extern hdrl_parameter * HDRL_COLLAPSE_MEAN;
55extern hdrl_parameter * HDRL_COLLAPSE_MEDIAN;
58extern hdrl_parameter * HDRL_COLLAPSE_WEIGHTED_MEAN;
71 hdrl_mode_type, cpl_size);
80 const cpl_parameterlist *,
const char *);
82 const char *,
const char *, hdrl_parameter *, hdrl_parameter *,
89#ifdef HDRL_USE_PRIVATE
90cpl_error_code hdrl_collapse_mode_parameter_verify(
const hdrl_parameter *);
91cpl_error_code hdrl_collapse_minmax_parameter_verify(
const hdrl_parameter *);
92cpl_error_code hdrl_collapse_sigclip_parameter_verify(
const hdrl_parameter *);
94typedef struct hdrl_collapse_imagelist_to_image_s
95 hdrl_collapse_imagelist_to_image_t;
96typedef struct hdrl_collapse_imagelist_to_vector_s
97 hdrl_collapse_imagelist_to_vector_t;
100 cpl_image * reject_low;
101 cpl_image * reject_high;
102} hdrl_sigclip_image_output;
103typedef hdrl_sigclip_image_output hdrl_minmax_image_output;
106 cpl_vector * reject_low;
107 cpl_vector * reject_high;
108} hdrl_sigclip_vector_output;
109typedef hdrl_sigclip_vector_output hdrl_minmax_vector_output;
111hdrl_collapse_imagelist_to_image_t *
112 hdrl_collapse_imagelist_to_image_mean(
void);
113hdrl_collapse_imagelist_to_image_t *
114 hdrl_collapse_imagelist_to_image_weighted_mean(
void);
115hdrl_collapse_imagelist_to_image_t *
116 hdrl_collapse_imagelist_to_image_median(
void);
117hdrl_collapse_imagelist_to_image_t *
118 hdrl_collapse_imagelist_to_image_sigclip(
double,
double,
int);
119hdrl_collapse_imagelist_to_image_t *
120 hdrl_collapse_imagelist_to_image_minmax(
double,
double);
121hdrl_collapse_imagelist_to_image_t *
122 hdrl_collapse_imagelist_to_image_mode(
double,
double,
double,
123 hdrl_mode_type, cpl_size);
124cpl_error_code hdrl_collapse_imagelist_to_image_call(
125 hdrl_collapse_imagelist_to_image_t * f,
126 const cpl_imagelist * data,
127 const cpl_imagelist * errors,
130 cpl_image ** contrib,
133hdrl_collapse_imagelist_to_image_create_eout(
134 hdrl_collapse_imagelist_to_image_t * f,
135 const cpl_image * data);
137hdrl_collapse_imagelist_to_image_delete_eout(
138 hdrl_collapse_imagelist_to_image_t * f,
141hdrl_collapse_imagelist_to_image_unwrap_eout(
142 hdrl_collapse_imagelist_to_image_t * f,
145hdrl_collapse_imagelist_to_image_move_eout(
146 hdrl_collapse_imagelist_to_image_t * f,
150void hdrl_collapse_imagelist_to_image_delete(hdrl_collapse_imagelist_to_image_t *);
152hdrl_collapse_imagelist_to_vector_t *
153 hdrl_collapse_imagelist_to_vector_mean(
void);
154hdrl_collapse_imagelist_to_vector_t *
155 hdrl_collapse_imagelist_to_vector_weighted_mean(
void);
156hdrl_collapse_imagelist_to_vector_t *
157 hdrl_collapse_imagelist_to_vector_median(
void);
158hdrl_collapse_imagelist_to_vector_t *
159 hdrl_collapse_imagelist_to_vector_sigclip(
double,
double,
int);
160hdrl_collapse_imagelist_to_vector_t *
161hdrl_collapse_imagelist_to_vector_minmax(
double,
double);
162hdrl_collapse_imagelist_to_vector_t *
163hdrl_collapse_imagelist_to_vector_mode(
double,
double,
double, hdrl_mode_type, cpl_size);
165cpl_error_code hdrl_collapse_imagelist_to_vector_call(
166 hdrl_collapse_imagelist_to_vector_t * f,
167 const cpl_imagelist * data,
168 const cpl_imagelist * errors,
171 cpl_array ** contrib,
174void * hdrl_collapse_imagelist_to_vector_create_eout(
175 hdrl_collapse_imagelist_to_vector_t * f,
177void hdrl_collapse_imagelist_to_vector_delete_eout(
178 hdrl_collapse_imagelist_to_vector_t * f,
180void hdrl_collapse_imagelist_to_vector_unwrap_eout(
181 hdrl_collapse_imagelist_to_vector_t * f,
183cpl_error_code hdrl_collapse_imagelist_to_vector_move_eout(
184 hdrl_collapse_imagelist_to_vector_t * f,
188void hdrl_collapse_imagelist_to_vector_delete(
189 hdrl_collapse_imagelist_to_vector_t *);
double hdrl_collapse_mode_parameter_get_bin_size(const hdrl_parameter *)
get size of the histogram bins
double hdrl_collapse_mode_parameter_get_histo_min(const hdrl_parameter *)
get min value
cpl_boolean hdrl_collapse_parameter_is_weighted_mean(const hdrl_parameter *)
check if parameter is a weighted mean parameter
double hdrl_collapse_sigclip_parameter_get_kappa_low(const hdrl_parameter *)
get low kappa
CPL_BEGIN_DECLS hdrl_parameter * hdrl_collapse_mean_parameter_create(void)
create a parameter object for mean
hdrl_parameter * hdrl_collapse_sigclip_parameter_create(double, double, int)
create a parameter object for sigclipped mean
hdrl_parameter * hdrl_collapse_weighted_mean_parameter_create(void)
create a parameter object for weighted mean
cpl_boolean hdrl_collapse_parameter_is_mean(const hdrl_parameter *)
check if parameter is a mean parameter
cpl_boolean hdrl_collapse_parameter_is_median(const hdrl_parameter *)
check if parameter is a median parameter
double hdrl_collapse_mode_parameter_get_histo_max(const hdrl_parameter *)
get high value
int hdrl_collapse_sigclip_parameter_get_niter(const hdrl_parameter *)
get maximum number of clipping iterations
cpl_size hdrl_collapse_mode_parameter_get_error_niter(const hdrl_parameter *)
get the error type of the mode
cpl_boolean hdrl_collapse_parameter_is_minmax(const hdrl_parameter *)
check if parameter is a minmax mean parameter
cpl_boolean hdrl_collapse_parameter_is_mode(const hdrl_parameter *)
check if parameter is a mode parameter
cpl_boolean hdrl_collapse_parameter_is_sigclip(const hdrl_parameter *)
check if parameter is a sigclip mean parameter
double hdrl_collapse_sigclip_parameter_get_kappa_high(const hdrl_parameter *)
get high kappa
double hdrl_collapse_minmax_parameter_get_nlow(const hdrl_parameter *)
get low value
hdrl_parameter * hdrl_collapse_median_parameter_create(void)
create a parameter object for median
hdrl_parameter * hdrl_collapse_mode_parameter_create(double, double, double, hdrl_mode_type, cpl_size)
create a parameter object for the mode
cpl_parameterlist * hdrl_collapse_parameter_create_parlist(const char *, const char *, const char *, hdrl_parameter *, hdrl_parameter *, hdrl_parameter *)
Create parameters for the collapse.
hdrl_mode_type hdrl_collapse_mode_parameter_get_method(const hdrl_parameter *)
get the mode determination method
hdrl_parameter * hdrl_collapse_minmax_parameter_create(double, double)
create a parameter object for min-max rejected mean
hdrl_parameter * hdrl_collapse_parameter_parse_parlist(const cpl_parameterlist *, const char *)
parse parameterlist for imagelist reduction method
double hdrl_collapse_minmax_parameter_get_nhigh(const hdrl_parameter *)
get high value