gistacking.h
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 GISTACKING_H
00029 #define GISTACKING_H
00030
00031 #include <cxtypes.h>
00032
00033 #include <cpl_macros.h>
00034 #include <cpl_frame.h>
00035 #include <cpl_table.h>
00036 #include <cpl_parameterlist.h>
00037
00038 #include "giimage.h"
00039
00040
00041 #ifdef __cplusplus
00042 extern "C" {
00043 #endif
00044
00045
00046 enum GiStackingMethod {
00047 GISTACKING_METHOD_UNDEFINED = 0,
00048 GISTACKING_METHOD_AVERAGE = 1,
00049 GISTACKING_METHOD_MEDIAN = 2,
00050 GISTACKING_METHOD_MINMAX = 3,
00051 GISTACKING_METHOD_KSIGMA = 4
00052 };
00053
00054 typedef enum GiStackingMethod GiStackingMethod;
00055
00056 struct GiStackingConfig {
00057 GiStackingMethod stackmethod;
00058 cxdouble ksigmalow;
00059 cxdouble ksigmahigh;
00060 cxint rejectmax;
00061 cxint rejectmin;
00062 cxint min_nr_frames;
00063 };
00064
00065 typedef struct GiStackingConfig GiStackingConfig;
00066
00067
00068 GiImage* giraffe_stacking_average(GiImage**, const GiStackingConfig*);
00069 GiImage* giraffe_stacking_median(GiImage**, const GiStackingConfig*);
00070 GiImage* giraffe_stacking_minmax(GiImage**, const GiStackingConfig*);
00071 GiImage* giraffe_stacking_ksigma(GiImage**, const GiStackingConfig*);
00072 GiImage* giraffe_stacking_stack_images(GiImage**, const GiStackingConfig*);
00073 GiStackingConfig* giraffe_stacking_config_create(cpl_parameterlist*);
00074
00075 void giraffe_stacking_config_destroy(GiStackingConfig*);
00076 void giraffe_stacking_config_add(cpl_parameterlist*);
00077
00078
00079 #ifdef __cplusplus
00080 }
00081 #endif
00082
00083 #endif