VIRCAM Pipeline  2.3.12
casu_opm-test.c
1 /* $Id: casu_opm-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  casu_fits *ff,*ffc;
41  cpl_mask *bpm_mask;
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_opm(NULL,NULL,5,3,64,1.0,1,&status);
51  cpl_test_eq(status,CASU_FATAL);
52  cpl_test_eq(status,retval);
53 
54  /* Create an image and a confidence map */
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,5000);
59  ff = casu_fits_wrap(im,NULL,NULL,NULL);
60  im = cpl_image_new(1024,1024,CPL_TYPE_INT);
61  cpl_image_fill_noise_uniform(im,95.0,105.0);
62  ffc = casu_fits_wrap(im,NULL,NULL,NULL);
63 
64  /* Do an analysis now */
65 
66  status = CASU_OK;
67  retval = casu_opm(ff,ffc,5,10.0,64,1.0,1,&status);
68  cpl_test_eq(status,CASU_OK);
69  cpl_test_eq(status,retval);
70  bpm_mask = cpl_image_get_bpm(casu_fits_get_image(ff));
71  cpl_test_eq(60,(int)cpl_mask_count(bpm_mask));
72 
73  /* Tidy and exit */
74 
75  casu_fits_delete(ff);
76  casu_fits_delete(ffc);
77  return(cpl_test_end(0));
78 }
79 
80 /*
81 
82 $Log: casu_opm-test.c,v $
83 Revision 1.2 2015/08/07 13:06:54 jim
84 Fixed copyright to ESO
85 
86 Revision 1.1.1.1 2015/06/12 10:44:32 jim
87 Initial import
88 
89 Revision 1.1 2015/01/09 11:39:55 jim
90 new entry
91 
92 
93 */
cpl_image * casu_fits_get_image(casu_fits *p)
Definition: casu_fits.c:436
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_opm(casu_fits *infile, casu_fits *conf, int ipix, float threshold, int nbsize, float filtfwhm, int niter, int *status)
Generate an object mask from an input image.
Definition: casu_opm.c:90