giextract.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 GIEXTRACT_H
00029 #define GIEXTRACT_H
00030
00031 #include <cpl_macros.h>
00032 #include <cpl_parameterlist.h>
00033
00034 #include <giimage.h>
00035 #include <gitable.h>
00036 #include <gilocalization.h>
00037 #include <giextraction.h>
00038
00039
00040 #ifdef __cplusplus
00041 extern "C" {
00042 #endif
00043
00044
00045 enum GiExtractMethod {
00046 GIEXTRACT_SUM,
00047 GIEXTRACT_HORNE,
00048 GIEXTRACT_OPTIMAL
00049 };
00050
00051 typedef enum GiExtractMethod GiExtractMethod;
00052
00053
00054 struct GiExtractConfig {
00055 GiExtractMethod emethod;
00056
00057 cxdouble ron;
00058
00059 struct {
00060 cxchar* model;
00061 cxdouble sigma;
00062 cxint iterations;
00063 } psf;
00064
00065 struct {
00066 cxint ewidth;
00067 cxint mingood;
00068 } horne;
00069
00070 struct {
00071 cxint bkgorder;
00072 cxdouble wfactor;
00073 cxdouble fraction;
00074 } optimal;
00075
00076 };
00077
00078 typedef struct GiExtractConfig GiExtractConfig;
00079
00080
00081
00082
00083
00084
00085 cxint giraffe_extract_spectra(GiExtraction* result, GiImage* image,
00086 GiTable* fibers, GiLocalization* sloc,
00087 GiImage* bpixel, GiImage* slight,
00088 GiExtractConfig* config);
00089
00090
00091
00092
00093
00094 GiExtractConfig* giraffe_extract_config_create(cpl_parameterlist* list);
00095 void giraffe_extract_config_destroy(GiExtractConfig* config);
00096
00097 void giraffe_extract_config_add(cpl_parameterlist *list);
00098
00099 #ifdef __cplusplus
00100 }
00101 #endif
00102
00103 #endif