00001 #include <mkl_blas.h>
00002 #include <mkl_service.h>
00003 #include <mkl_lapack.h>
00004 #include <mkl_vml_functions.h>
00005
00006 #include "tinterpolate.h"
00007 #include "finterpolate.h"
00008 #include "gapfill.h"
00009
00010
00011 struct init_files{
00012 char *dist_file_front;
00013 char *dist_file_side;
00014 char *diffrot_coef;
00015 };
00016
00017
00018 struct initial{
00019 float *dist_coef[2][16];
00020 int order_dist_coef;
00021 float *diffrot_coef;
00022 int order2_rot_coef;
00023 int order_int;
00024 int nconst;
00025 char *code_version;
00026 struct fill_struct fills;
00027 };
00028
00029 struct keyword{
00030 int camera;
00031 int focus;
00032 float rsun;
00033 float xx0;
00034 float yy0;
00035 float dist;
00036 float b0;
00037 float p0;
00038 double time;
00039 };
00040
00041
00042
00043 int initialize_interpol(struct initial *const_param, struct init_files *infiles, int nx, int ny, const char *dpath);
00044
00045 int do_interpolate(float **images, char **errors, float *image_out, struct keyword *key, struct keyword *key_out, struct initial *const_param, int nsample, int nx, int ny, float average, const char *dpath);
00046
00047 int do_gapfill(float *image, unsigned char *masks, struct initial *const_param, char *ierror, int nx, int ny);
00048
00049 void free_interpol(struct initial *const_param);
00050
00051 char *interpol_version();
00052
00053
00054
00055
00056
00057