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
00029
00030
00031
00032 #ifndef SINFO_FUNCTION_1D_H
00033 #define SINFO_FUNCTION_1D_H
00034
00035
00036
00037 #include <math.h>
00038 #include "sinfo_local_types.h"
00039 #include "sinfo_pixel_handling.h"
00040 #include "sinfo_msg.h"
00041 #include <cpl.h>
00042
00043
00044
00045
00046
00047 #define LOW_PASS_LINEAR 100
00048 #define LOW_PASS_GAUSSIAN 101
00049
00050
00051
00067 pixelvalue *
00068 sinfo_function1d_new(int nsamples);
00069
00079 void
00080 sinfo_function1d_del(pixelvalue * s);
00097 pixelvalue *
00098 sinfo_function1d_dup(pixelvalue * arr, int ns);
00099
00116 double
00117 sinfo_function1d_find_centroid(
00118 pixelvalue * line,
00119 int npix
00120 );
00121
00144 double
00145 sinfo_function1d_find_locmax(
00146 pixelvalue * line,
00147 int npix,
00148 int where,
00149 int hs
00150 ) ;
00151
00152
00177 pixelvalue *
00178 sinfo_function1d_filter_lowpass(
00179 pixelvalue * input_sig,
00180 int samples,
00181 int filter_type,
00182 int hw
00183 ) ;
00184
00203 pixelvalue *
00204 sinfo_function1d_median_smooth(
00205 pixelvalue * list,
00206 int np,
00207 int hw);
00208
00225 pixelvalue *
00226 sinfo_function1d_remove_lowfreq(
00227 pixelvalue * loc_signal,
00228 int ns);
00229
00251 pixelvalue *
00252 sinfo_function1d_remove_thermalbg(
00253 pixelvalue * pixel_signal,
00254 int ns);
00255
00256
00278 void
00279 sinfo_function1d_interpolate_linear(
00280 pixelvalue * x,
00281 pixelvalue * y,
00282 int len,
00283 pixelvalue * spl_x,
00284 pixelvalue * spl_y,
00285 int spl_len
00286 );
00287
00288
00314 int
00315 sinfo_function1d_natural_spline(
00316 pixelvalue * x,
00317 pixelvalue * y,
00318 int len,
00319 pixelvalue * splX,
00320 pixelvalue * splY,
00321 int splLen
00322 ) ;
00323
00324
00343 pixelvalue
00344 sinfo_function1d_average_reject(
00345 pixelvalue * line,
00346 int npix,
00347 int pix_low,
00348 int pix_high);
00349
00374 double
00375 sinfo_function1d_xcorrelate(
00376 pixelvalue * line_i,
00377 int width_i,
00378 pixelvalue * line_t,
00379 int width_t,
00380 int half_search,
00381 double * delta);
00382
00383 #endif