00001 #ifndef SINFO_IMAGE_OPS_H
00002 #define SINFO_IMAGE_OPS_H
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
00033
00034
00035
00036 #include <cpl.h>
00037
00038 #include "sinfo_spiffi_types.h"
00039 #include "sinfo_spectrum_ops.h"
00040 #include "sinfo_recipes.h"
00041
00042
00043
00044
00045
00046
00047 cpl_image *
00048 sinfo_image_smooth_y(cpl_image * inp, const int r);
00049
00050 cpl_error_code
00051 sinfo_image_line_corr(const int width,
00052 const int filt_rad,
00053 const int kappa,
00054 cpl_image* ima,
00055 cpl_image** ima_out);
00056
00057
00079 cpl_image *
00080 sinfo_new_shift_image(
00081 cpl_image * image_in,
00082 double shift_x,
00083 double shift_y,
00084 double * interp_kernel) ;
00091 Vector *
00092 sinfo_new_mean_of_columns( cpl_image * im ) ;
00093
00094
00104 double
00105 sinfo_new_my_median_image(cpl_image* im);
00106
00107
00108 cpl_image *
00109 sinfo_new_clean_mean_of_columns( cpl_image * im,
00110 float lo_reject,
00111 float hi_reject) ;
00112
00113
00122 cpl_image *
00123 sinfo_new_div_image_by_row( cpl_image * im, Vector * row ) ;
00124
00133 cpl_image *
00134 sinfo_new_mult_row_to_image( cpl_image *im, Vector *row ) ;
00135
00154 cpl_image *
00155 sinfo_new_col_tilt ( cpl_image * image, float sigmaFactor ) ;
00176 cpl_image *
00177 sinfo_new_median_image( cpl_image * im, float fmedian ) ;
00178
00189 cpl_image *
00190 sinfo_new_compare_images(cpl_image * im1, cpl_image * im2, cpl_image * origim);
00201 cpl_image *
00202 sinfo_new_thresh_image ( cpl_image * im, float lo_cut, float hi_cut ) ;
00203
00215 cpl_image *
00216 sinfo_new_promote_image_to_mask(cpl_image * im, int * n_badpixels ) ;
00227 cpl_image * sinfo_new_mult_image_by_mask ( cpl_image * im, cpl_image * mask ) ;
00228
00251 cpl_image *
00252 sinfo_new_interpol_image ( cpl_image * im,
00253 cpl_image * mask,
00254 int max_radius,
00255 int n_pixels ) ;
00256
00275 cpl_image *
00276 sinfo_interpol_source_image ( cpl_image * im,
00277 cpl_image * mask,
00278 int max_rad,
00279 float ** slit_edges ) ;
00280
00290 cpl_image *
00291 sinfo_new_stack_row_to_image ( Vector * row, int ly ) ;
00292
00293
00310 Stats *
00311 sinfo_new_image_stats_on_rectangle ( cpl_image * im,
00312 float loReject,
00313 float hiReject,
00314 int llx,
00315 int lly,
00316 int urx,
00317 int ury ) ;
00318
00328 cpl_image *
00329 sinfo_new_normalize_to_central_pixel ( cpl_image * image ) ;
00330
00361 cpl_image *
00362 sinfo_new_mpe_shift_image(
00363 cpl_image * image_in,
00364 double shift_x,
00365 double shift_y,
00366 double * interp_kernel) ;
00367
00377 void
00378 sinfo_new_shift_image_in_cube(
00379 cpl_image * image_in,
00380 double shift_x,
00381 double shift_y,
00382 double * interp_kernel,
00383 cpl_image * shifted,
00384 pixelvalue * first_pass) ;
00385
00386
00387 void sinfo_new_del_Stats (Stats *) ;
00388
00389
00398 cpl_image *
00399 sinfo_new_combine_masks ( cpl_image * firstMask, cpl_image * secondMask ) ;
00400
00411 cpl_image *
00412 sinfo_new_slice_cube (cpl_imagelist * cube, int x, int y ) ;
00413
00414
00425 cpl_image *
00426 sinfo_new_div_images_robust ( cpl_image * im1, cpl_image * im2 ) ;
00427
00428
00429
00430 cpl_image *
00431 sinfo_new_null_edges ( cpl_image * image) ;
00432
00433
00434
00435 void
00436 sinfo_new_used_cor_map( cpl_image *im, cpl_image *map);
00437
00438
00439 cpl_image *
00440 sinfo_image_smooth_mean_y(cpl_image * inp,const int r);
00441
00442 cpl_image *
00443 sinfo_image_smooth_median_y(cpl_image * inp,const int r);
00444
00445 cpl_image *
00446 sinfo_image_hermite_interpol(cpl_image * inp);
00447
00448 cpl_image *
00449 sinfo_image_smooth_fft(cpl_image * inp, const int r);
00450
00451 #endif