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
00065 cpl_image *
00066 sinfo_new_shift_image(
00067 cpl_image * image_in,
00068 double shift_x,
00069 double shift_y,
00070 double * interp_kernel) ;
00077 Vector *
00078 sinfo_new_mean_of_columns( cpl_image * im ) ;
00079
00080
00090 double
00091 sinfo_new_my_median_image(cpl_image* im);
00092
00093
00094 cpl_image *
00095 sinfo_new_clean_mean_of_columns( cpl_image * im,
00096 float lo_reject,
00097 float hi_reject) ;
00098
00099
00108 cpl_image *
00109 sinfo_new_div_image_by_row( cpl_image * im, Vector * row ) ;
00110
00119 cpl_image *
00120 sinfo_new_mult_row_to_image( cpl_image *im, Vector *row ) ;
00121
00139 cpl_image *
00140 sinfo_new_col_tilt ( cpl_image * image, float sigmaFactor ) ;
00161 cpl_image *
00162 sinfo_new_median_image( cpl_image * im, float fmedian ) ;
00163
00174 cpl_image *
00175 sinfo_new_compare_images(cpl_image * im1, cpl_image * im2, cpl_image * origim);
00186 cpl_image *
00187 sinfo_new_thresh_image ( cpl_image * im, float lo_cut, float hi_cut ) ;
00188
00200 cpl_image *
00201 sinfo_new_promote_image_to_mask(cpl_image * im, int * n_badpixels ) ;
00212 cpl_image * sinfo_new_mult_image_by_mask ( cpl_image * im, cpl_image * mask ) ;
00213
00236 cpl_image *
00237 sinfo_new_interpol_image ( cpl_image * im,
00238 cpl_image * mask,
00239 int max_radius,
00240 int n_pixels ) ;
00241
00260 cpl_image *
00261 sinfo_interpol_source_image ( cpl_image * im,
00262 cpl_image * mask,
00263 int max_rad,
00264 float ** slit_edges ) ;
00265
00275 cpl_image *
00276 sinfo_new_stack_row_to_image ( Vector * row, int ly ) ;
00277
00278
00295 Stats *
00296 sinfo_new_image_stats_on_rectangle ( cpl_image * im,
00297 float loReject,
00298 float hiReject,
00299 int llx,
00300 int lly,
00301 int urx,
00302 int ury ) ;
00303
00313 cpl_image *
00314 sinfo_new_normalize_to_central_pixel ( cpl_image * image ) ;
00315
00346 cpl_image *
00347 sinfo_new_mpe_shift_image(
00348 cpl_image * image_in,
00349 double shift_x,
00350 double shift_y,
00351 double * interp_kernel) ;
00352
00362 void
00363 sinfo_new_shift_image_in_cube(
00364 cpl_image * image_in,
00365 double shift_x,
00366 double shift_y,
00367 double * interp_kernel,
00368 cpl_image * shifted,
00369 pixelvalue * first_pass) ;
00370
00371
00372 void sinfo_new_del_Stats (Stats *) ;
00373
00374
00383 cpl_image *
00384 sinfo_new_combine_masks ( cpl_image * firstMask, cpl_image * secondMask ) ;
00385
00396 cpl_image *
00397 sinfo_new_slice_cube (cpl_imagelist * cube, int x, int y ) ;
00398
00399
00410 cpl_image *
00411 sinfo_new_div_images_robust ( cpl_image * im1, cpl_image * im2 ) ;
00412
00413
00414
00415 cpl_image *
00416 sinfo_new_null_edges ( cpl_image * image) ;
00417
00418
00419
00420 void
00421 sinfo_new_used_cor_map( cpl_image *im, cpl_image *map);
00422
00423
00424
00425 #endif