65 #ifndef UVES_EXTRACT_PROFILE_H
66 #define UVES_EXTRACT_PROFILE_H
68 #include <uves_extract_iterate.h>
70 typedef struct _uves_extract_profile uves_extract_profile;
72 uves_extract_profile *uves_extract_profile_new(
73 int (*f) (
const double x[],
const double a[],
double *result),
74 int (*dfda)(
const double x[],
const double a[],
double result[]),
79 uves_extract_profile *
80 uves_extract_profile_new_constant(
double slit_length);
82 void uves_extract_profile_delete(uves_extract_profile **p);
85 uves_extract_profile_evaluate(
const uves_extract_profile *profile,
86 const uves_iterate_position *pos);
88 void uves_extract_profile_set(
const uves_extract_profile *p,
89 uves_iterate_position *pos,
92 uves_extract_profile_get_y(uves_iterate_position *pos,
97 uves_extract_profile_get_bin(
const uves_iterate_position *pos,
100 int uves_extract_profile_get_nbins(
double slit_length,
int sampling_factor);
109 #define ORDER_PER_ORDER 0
115 struct _uves_extract_profile
136 int (*f) (
const double x[],
const double a[],
double *result);
137 int (*dfda)(
const double x[],
const double a[],
double result[]);
151 double current_sigma;
161 bool *is_zero_degree;
166 double *current_profile;
167 double *current_ypos;
169 double *current_interpolated;