00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef FORS_STACK_IMPL_H
00029 #define FORS_STACK_IMPL_H
00030
00031 #include <fors_image.h>
00032 #include <cpl.h>
00033
00034 CPL_BEGIN_DECLS
00035
00036 typedef struct _stack_method
00037 {
00038 enum {AVERAGE, MEDIAN, MINMAX, KSIGMA} method;
00039 const char *method_name;
00040 union {
00041 struct {
00042 int min_reject;
00043 int max_reject;
00044 } minmax;
00045 struct {
00046 double klow;
00047 double khigh;
00048 int kiter;
00049 } ksigma;
00050 } pars;
00051 } stack_method;
00052
00053 void
00054 fors_stack_define_parameters(cpl_parameterlist *parameters,
00055 const char *context, const char *default_method);
00056 stack_method *
00057 fors_stack_method_new(const cpl_parameterlist *parameters, const char *context);
00058
00059 void
00060 fors_stack_method_delete(stack_method **sm);
00061
00062 fors_image *
00063 fors_stack(fors_image_list *images, const stack_method *sm);
00064
00065 fors_image *
00066 fors_stack_const(const fors_image_list *images, const stack_method *sm);
00067
00068 CPL_END_DECLS
00069
00070 #endif