VIRCAM Pipeline 2.3.15
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
37int 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
75 return(cpl_test_end(0));
76}
77
78/*
79
80$Log: casu_inpaint-test.c,v $
81Revision 1.2 2015/08/07 13:06:54 jim
82Fixed copyright to ESO
83
84Revision 1.1.1.1 2015/06/12 10:44:32 jim
85Initial import
86
87Revision 1.1 2015/01/09 11:39:55 jim
88new entry
89
90
91*/
casu_fits * casu_fits_wrap(cpl_image *im, casu_fits *model, cpl_propertylist *phu, cpl_propertylist *ehu)
Definition: casu_fits.c:883
void casu_fits_delete(casu_fits *p)
Definition: casu_fits.c:364
int casu_inpaint(casu_fits *in, int nbsize, int *status)
Inpaint pixels or patches in a map.
Definition: casu_inpaint.c:83