File: vimos_imaging_utils.h

package info (click to toggle)
cpl-plugin-vimos 4.1.1%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 28,228 kB
  • sloc: ansic: 169,271; cpp: 16,177; sh: 4,344; python: 3,678; makefile: 1,138; perl: 10
file content (158 lines) | stat: -rw-r--r-- 5,347 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
/* $Id: vimos_utils.h,v 1.15 2015/11/27 12:15:33 jim Exp $
 *
 * This file is part of the VIMOS Pipeline
 * Copyright (C) 2015 European Southern Observatory
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

/*
 * $Author: jim $
 * $Date: 2015/11/27 12:15:33 $
 * $Revision: 1.15 $
 * $Name:  $
 */


/* Includes */

#ifndef VIMOS_IMAGING_UTILS_H
#define VIMOS_IMAGING_UTILS_H

#include <casu_fits.h>
#include <casu_tfits.h>

#define SZ_ALLDESC 4096
#define VIMOS_NEXTN 4

/* Detector names and the order that we will store them in MEFs */

static const char *vimos_newnames[VIMOS_NEXTN] = {"BRIAN","Keith","Tom",
                                                  "DAVID"};
static const char *vimos_oldnames[VIMOS_NEXTN] = {"CCD-59B","CCD-59A","CCD-60A",
                                                  "CCD-60B"};

/* underscan and overscan regions (xmin,xmax,ymin,ymax) */

static int underlim[4] = {1,50,1,2440};
static int overlim[4] = {2099,2148,1,2440};

/* trim regions (xmin,xmax,ymin,ymax) for each detector in turn */

static int trimreg_new[4][4] = {{1,2048,190,2375},
                                {1,2026,200,2438},
                                {1,2048,75,2300},
                                {1,2048,30,2234}};
static int trimreg_old[4][4] = {{76,2048,100,2390},
                                {1,1950,59,2370},
                                {1,2048,55,2300},
                                {51,2048,50,2260}};

/* Group of 4 structure */

typedef struct {
    cpl_frame         *inf[4];
    char              name[32];
} groupof4;

/* Function prototypes */

cpl_table *vimos_create_diffimg_stats(int nrows);
void vimos_difference_image(cpl_image *master, cpl_image *prog, 
                            unsigned char *bpm, int ncells, int oper, 
                            float *global_diff, float *global_rms, 
                            cpl_image **diffim, 
                            cpl_table **diffimstats);
cpl_frameset *vimos_get_det_frameset(cpl_frameset *in, cpl_size *labels, 
                                            cpl_size nlab, char *testname);
cpl_frameset *vimos_get_obs_frameset(cpl_frameset *in, cpl_size *labels, 
                                     cpl_size nlab, cpl_size ilab,
                                     char *vimos_names[]);
int vimos_compare_names(const cpl_frame *fr1, const cpl_frame *fr2);
int vimos_compare_mjds(const cpl_frame *fr1, const cpl_frame *fr2);
int vimos_compare_lsts(const cpl_frame *fr1, const cpl_frame *fr2);
int vimos_compare_tpl_start(const cpl_frame *fr1, const cpl_frame *fr2);
int vimos_load_names(cpl_frame *frm, char *vimos_names[]);
int vimos_load_trimreg(cpl_propertylist *p, int *which);
void vimos_wcsfit(casu_fits **in, casu_tfits **incat, int nf,
                  char *catname, char *catpath, int cdssearch,
                  char *cacheloc, int keepme, int trim, 
                  casu_tfits **mstds);
int vimos_testfrms(cpl_frameset *frms, int nextn_expected, int isimg, 
                          int checkwcs);
int vimos_testfrm_1(cpl_frame *fr, int nextn_expected, int isimg,
                           int checkwcs);
int vimos_testrdgn(cpl_frame *fr, cpl_frame *readgain);
void vimos_getrdgn(cpl_frame *readgain, char *extname, float *readnoise,
                          float *gain);
void vimos_get_groupsof4(cpl_frameset *fset, char *vimos_names[],
                                groupof4 **gr, int *ng);
void vimos_free_groupsof4(int *ng, groupof4 **gr);
void vimos_copywcs(cpl_propertylist *p1, cpl_propertylist *p2);

#endif

/* 

$Log: vimos_utils.h,v $
Revision 1.15  2015/11/27 12:15:33  jim
detabbed some lines

Revision 1.14  2015/09/15 10:39:05  jim
added vimos_wcscopy

Revision 1.13  2015/08/07 13:07:15  jim
Fixed copyright to ESO

Revision 1.12  2015/05/01 09:02:22  jim
Modified to pass detector name information differently so that Mac compiler
doesn't gripe

Revision 1.11  2015/03/13 10:22:59  jim
Fixed some compiler warnings

Revision 1.10  2015/02/14 12:37:22  jim
Expanded and modified vimos_wcsfit

Revision 1.9  2015/01/29 12:07:20  jim
Removed some support routines from recipes to here. Modified comments

Revision 1.8  2014/12/11 12:27:28  jim
new version

Revision 1.7  2013/11/21 12:49:18  jim
Fixed to have separate trim regions for old and new chipsets

Revision 1.6  2013/11/21 09:39:08  jim
detabbed

Revision 1.5  2013/11/05 05:55:46  jim
added trimreg global

Revision 1.4  2013/10/25 15:20:38  jim
Fixed static declarations

Revision 1.3  2013/10/25 09:32:29  jim
fixed some docs

Revision 1.2  2013-10-24 09:16:28  jim
Changes made to remove compiler warnings

Revision 1.1.1.1  2013-10-24 08:36:12  jim
Initial import


*/