VIRCAM Pipeline  2.3.10
casu_inpaint-test.c
1 /* $Id: casu_inpaint-test.c,v 1.2 2015/08/07 13:06:54 jim Exp $
2  *
3  * This file is part of the CASU Pipeline utilities
4  * Copyright (C) 2015 European Southern Observatory
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19  */
20 
21 /*
22  * $Author: jim $
23  * $Date: 2015/08/07 13:06:54 $
24  * $Revision: 1.2 $
25  * $Name: $
26  */
27 
28 #include <stdio.h>
29 #include <stdlib.h>
30 
31 #include <cpl_init.h>
32 #include <cpl_test.h>
33 #include <casu_fits.h>
34 #include <casu_utils.h>
35 #include <casu_mods.h>
36 
37 int main(void) {
38  int status,retval;
39  cpl_image *im;
40  cpl_mask *bpm;
41  casu_fits *ff;
42 
43  /* Initialise */
44 
45  cpl_test_init(PACKAGE_BUGREPORT,CPL_MSG_WARNING);
46 
47  /* Check inherited status */
48 
49  status = CASU_FATAL;
50  retval = casu_inpaint(NULL,64,&status);
51  cpl_test_eq(status,CASU_FATAL);
52  cpl_test_eq(status,retval);
53 
54  /* Create an input file */
55 
56  im = cpl_image_new(1024,1024,CPL_TYPE_FLOAT);
57  cpl_image_fill_noise_uniform(im,990.0,1010.0);
58  cpl_image_fill_window(im,500,500,505,505,7000.0);
59  bpm = cpl_image_get_bpm(im);
60  cpl_mask_threshold_image(bpm,im,6090,7010,CPL_BINARY_1);
61  ff = casu_fits_wrap(im,NULL,NULL,NULL);
62 
63  /* Now test it */
64 
65  status = CASU_OK;
66  retval = casu_inpaint(ff,64,&status);
67  cpl_mask_threshold_image(bpm,im,6090,7010,CPL_BINARY_1);
68  cpl_test_eq(status,CASU_OK);
69  cpl_test_eq(status,retval);
70  cpl_test_rel(1000.0,cpl_image_get_mean_window(im,500,500,505,505),0.001);
71 
72  /* Tidy and exit */
73 
74  casu_fits_delete(ff);
75  return(cpl_test_end(0));
76 }
77 
78 /*
79 
80 $Log: casu_inpaint-test.c,v $
81 Revision 1.2 2015/08/07 13:06:54 jim
82 Fixed copyright to ESO
83 
84 Revision 1.1.1.1 2015/06/12 10:44:32 jim
85 Initial import
86 
87 Revision 1.1 2015/01/09 11:39:55 jim
88 new entry
89 
90 
91 */
void casu_fits_delete(casu_fits *p)
Definition: casu_fits.c:364
casu_fits * casu_fits_wrap(cpl_image *im, casu_fits *model, cpl_propertylist *phu, cpl_propertylist *ehu)
Definition: casu_fits.c:883
int casu_inpaint(casu_fits *in, int nbsize, int *status)
Inpaint pixels or patches in a map.
Definition: casu_inpaint.c:83