SINFONI Pipeline Reference Manual  2.5.2
sinfo_image_ops.h
1 #ifndef SINFO_IMAGE_OPS_H
2 #define SINFO_IMAGE_OPS_H
3 /*
4  * This file is part of the ESO SINFONI Pipeline
5  * Copyright (C) 2004,2005 European Southern Observatory
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA
20  */
21 /*******************************************************************************
22 * E.S.O. - VLT project
23 *
24 * "@(#) $Id: sinfo_image_ops.h,v 1.9 2008-03-25 08:20:43 amodigli Exp $"
25 *
26 * who when what
27 * -------- -------- ----------------------------------------------
28 * amodigli 04/01/06 created
29 */
30 
31 /************************************************************************
32  * sinfo_image_ops.h
33  * image arithmetic routines
34  *----------------------------------------------------------------------
35  */
36 #include <cpl.h>
37 
38 #include "sinfo_spiffi_types.h"
39 #include "sinfo_spectrum_ops.h"
40 #include "sinfo_recipes.h"
41 /*----------------------------------------------------------------------------
42  * Function ANSI C prototypes
43  *--------------------------------------------------------------------------*/
44 
45 
46 
47 cpl_image *
48 sinfo_image_smooth_y(cpl_image * inp, const int r);
49 
50 cpl_error_code
51 sinfo_image_line_corr(const int width,
52  const int filt_rad,
53  const int kappa,
54  cpl_image* ima,
55  cpl_image** ima_out);
56 
57 
79 cpl_image *
80 sinfo_new_shift_image(
81  cpl_image * image_in,
82  double shift_x,
83  double shift_y,
84  double * interp_kernel) ;
91 Vector *
92 sinfo_new_mean_of_columns( cpl_image * im ) ;
93 
94 
104 double
105 sinfo_new_my_median_image(cpl_image* im);
106 
107 
108 cpl_image *
109 sinfo_new_clean_mean_of_columns( cpl_image * im,
110  float lo_reject,
111  float hi_reject) ;
112 
113 
122 cpl_image *
123 sinfo_new_div_image_by_row( cpl_image * im, Vector * row ) ;
124 
133 cpl_image *
134 sinfo_new_mult_row_to_image( cpl_image *im, Vector *row ) ;
135 
154 cpl_image *
155 sinfo_new_col_tilt ( cpl_image * image, float sigmaFactor ) ;
176 cpl_image *
177 sinfo_new_median_image( cpl_image * im, float fmedian ) ;
178 
189 cpl_image *
190 sinfo_new_compare_images(cpl_image * im1, cpl_image * im2, cpl_image * origim);
201 cpl_image *
202 sinfo_new_thresh_image ( cpl_image * im, float lo_cut, float hi_cut ) ;
203 
215 cpl_image *
216 sinfo_new_promote_image_to_mask(cpl_image * im, int * n_badpixels ) ;
227 cpl_image * sinfo_new_mult_image_by_mask ( cpl_image * im, cpl_image * mask ) ;
228 
251 cpl_image *
252 sinfo_new_interpol_image ( cpl_image * im,
253  cpl_image * mask,
254  int max_radius,
255  int n_pixels ) ;
256 
275 cpl_image *
276 sinfo_interpol_source_image ( cpl_image * im,
277  cpl_image * mask,
278  int max_rad,
279  float ** slit_edges ) ;
280 
290 cpl_image *
291 sinfo_new_stack_row_to_image ( Vector * row, int ly ) ;
292 
293 
310 Stats *
311 sinfo_new_image_stats_on_rectangle ( cpl_image * im,
312  float loReject,
313  float hiReject,
314  int llx,
315  int lly,
316  int urx,
317  int ury ) ;
318 
328 cpl_image *
329 sinfo_new_normalize_to_central_pixel ( cpl_image * image ) ;
330 
361 cpl_image *
362 sinfo_new_mpe_shift_image(
363  cpl_image * image_in,
364  double shift_x,
365  double shift_y,
366  double * interp_kernel) ;
367 
377 void
378 sinfo_new_shift_image_in_cube(
379  cpl_image * image_in,
380  double shift_x,
381  double shift_y,
382  double * interp_kernel,
383  cpl_image * shifted,
384  pixelvalue * first_pass) ;
385 
386 
387 void sinfo_new_del_Stats (Stats *) ;
388 
389 
398 cpl_image *
399 sinfo_new_combine_masks ( cpl_image * firstMask, cpl_image * secondMask ) ;
400 
411 cpl_image *
412 sinfo_new_slice_cube (cpl_imagelist * cube, int x, int y ) ;
413 
414 
425 cpl_image *
426 sinfo_new_div_images_robust ( cpl_image * im1, cpl_image * im2 ) ;
427 
428 
429 
430 cpl_image *
431 sinfo_new_null_edges ( cpl_image * image) ;
432 
433 
434 
435 void
436 sinfo_new_used_cor_map( cpl_image *im, cpl_image *map);
437 
438 
439 cpl_image *
440 sinfo_image_smooth_mean_y(cpl_image * inp,const int r);
441 
442 cpl_image *
443 sinfo_image_smooth_median_y(cpl_image * inp,const int r);
444 
445 cpl_image *
446 sinfo_image_hermite_interpol(cpl_image * inp);
447 
448 cpl_image *
449 sinfo_image_smooth_fft(cpl_image * inp, const int r);
450 
451 #endif