Skip to content

Commit e8c336c

Browse files
committed
Initial commit of notebook that identifies keywords that are skipped and exist in multiple headers.
1 parent 767d185 commit e8c336c

File tree

1 file changed

+244
-0
lines changed

1 file changed

+244
-0
lines changed
Lines changed: 244 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,244 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "markdown",
5+
"metadata": {},
6+
"source": [
7+
"#### This notebook identifies keywords that are in the purposely skipped list and also exist in multiple headers (e.g. PRIMARY and SCI, SCI and DQ, etc.)"
8+
]
9+
},
10+
{
11+
"cell_type": "code",
12+
"execution_count": 1,
13+
"metadata": {
14+
"collapsed": true
15+
},
16+
"outputs": [],
17+
"source": [
18+
"import glob\n",
19+
"import os\n",
20+
"\n",
21+
"from astropy.io import fits\n",
22+
"\n",
23+
"from jwql.utils.utils import get_config"
24+
]
25+
},
26+
{
27+
"cell_type": "code",
28+
"execution_count": 2,
29+
"metadata": {
30+
"collapsed": true
31+
},
32+
"outputs": [],
33+
"source": [
34+
"filesystem = get_config()['filesystem']"
35+
]
36+
},
37+
{
38+
"cell_type": "code",
39+
"execution_count": 3,
40+
"metadata": {
41+
"collapsed": false
42+
},
43+
"outputs": [],
44+
"source": [
45+
"filenames = glob.glob(os.path.join(filesystem, '*/*.fits'))"
46+
]
47+
},
48+
{
49+
"cell_type": "code",
50+
"execution_count": 4,
51+
"metadata": {
52+
"collapsed": false
53+
},
54+
"outputs": [],
55+
"source": [
56+
"non_unique_keys = []\n",
57+
"for filename in filenames:\n",
58+
" \n",
59+
" header_keys = []\n",
60+
" hdulist = fits.open(filename, mode='readonly')\n",
61+
" for hdu in hdulist:\n",
62+
" keys = list(set(hdu.header))\n",
63+
" for key in keys:\n",
64+
" if key in header_keys:\n",
65+
" non_unique_keys.append(key)\n",
66+
" header_keys.append(key)\n",
67+
" \n",
68+
"non_unique_keys = set(non_unique_keys)"
69+
]
70+
},
71+
{
72+
"cell_type": "code",
73+
"execution_count": 5,
74+
"metadata": {
75+
"collapsed": false
76+
},
77+
"outputs": [
78+
{
79+
"data": {
80+
"text/plain": [
81+
"{'',\n",
82+
" 'BITPIX',\n",
83+
" 'BSCALE',\n",
84+
" 'BUNIT',\n",
85+
" 'BZERO',\n",
86+
" 'CDELT1',\n",
87+
" 'CDELT2',\n",
88+
" 'CDELT3',\n",
89+
" 'CRPIX1',\n",
90+
" 'CRPIX2',\n",
91+
" 'CRPIX3',\n",
92+
" 'CRVAL1',\n",
93+
" 'CRVAL2',\n",
94+
" 'CRVAL3',\n",
95+
" 'CTYPE1',\n",
96+
" 'CTYPE2',\n",
97+
" 'CTYPE3',\n",
98+
" 'CUNIT1',\n",
99+
" 'CUNIT2',\n",
100+
" 'CUNIT3',\n",
101+
" 'DEC_REF',\n",
102+
" 'DEC_V1',\n",
103+
" 'EXTNAME',\n",
104+
" 'EXTVER',\n",
105+
" 'GCOUNT',\n",
106+
" 'NAXIS',\n",
107+
" 'NAXIS1',\n",
108+
" 'NAXIS2',\n",
109+
" 'NAXIS3',\n",
110+
" 'NAXIS4',\n",
111+
" 'PA_APER',\n",
112+
" 'PA_V3',\n",
113+
" 'PC1_1',\n",
114+
" 'PC1_2',\n",
115+
" 'PC1_3',\n",
116+
" 'PC2_1',\n",
117+
" 'PC2_2',\n",
118+
" 'PC2_3',\n",
119+
" 'PC3_3',\n",
120+
" 'PCOUNT',\n",
121+
" 'PHOTMJSR',\n",
122+
" 'PHOTUJA2',\n",
123+
" 'RADESYS',\n",
124+
" 'RA_REF',\n",
125+
" 'RA_V1',\n",
126+
" 'ROLL_REF',\n",
127+
" 'SHUTSTA',\n",
128+
" 'SLITID',\n",
129+
" 'SLIT_DEC',\n",
130+
" 'SLIT_RA',\n",
131+
" 'SLTNAME',\n",
132+
" 'SLTSIZE1',\n",
133+
" 'SLTSIZE2',\n",
134+
" 'SLTSTRT1',\n",
135+
" 'SLTSTRT2',\n",
136+
" 'SOURCEID',\n",
137+
" 'SPORDER',\n",
138+
" 'SRCXPOS',\n",
139+
" 'SRCYPOS',\n",
140+
" 'S_REGION',\n",
141+
" 'TFIELDS',\n",
142+
" 'TFORM1',\n",
143+
" 'TFORM10',\n",
144+
" 'TFORM11',\n",
145+
" 'TFORM12',\n",
146+
" 'TFORM13',\n",
147+
" 'TFORM2',\n",
148+
" 'TFORM3',\n",
149+
" 'TFORM4',\n",
150+
" 'TFORM5',\n",
151+
" 'TFORM6',\n",
152+
" 'TFORM7',\n",
153+
" 'TFORM8',\n",
154+
" 'TFORM9',\n",
155+
" 'TTYPE1',\n",
156+
" 'TTYPE10',\n",
157+
" 'TTYPE11',\n",
158+
" 'TTYPE12',\n",
159+
" 'TTYPE13',\n",
160+
" 'TTYPE2',\n",
161+
" 'TTYPE3',\n",
162+
" 'TTYPE4',\n",
163+
" 'TTYPE5',\n",
164+
" 'TTYPE6',\n",
165+
" 'TTYPE7',\n",
166+
" 'TTYPE8',\n",
167+
" 'TTYPE9',\n",
168+
" 'TUNIT1',\n",
169+
" 'TUNIT2',\n",
170+
" 'TUNIT3',\n",
171+
" 'TUNIT5',\n",
172+
" 'TUNIT6',\n",
173+
" 'TUNIT7',\n",
174+
" 'TUNIT8',\n",
175+
" 'V2_REF',\n",
176+
" 'V3I_YANG',\n",
177+
" 'V3_REF',\n",
178+
" 'VA_SCALE',\n",
179+
" 'VPARITY',\n",
180+
" 'WAVEND',\n",
181+
" 'WAVSTART',\n",
182+
" 'WCSAXES',\n",
183+
" 'XTENSION'}"
184+
]
185+
},
186+
"execution_count": 5,
187+
"metadata": {},
188+
"output_type": "execute_result"
189+
}
190+
],
191+
"source": [
192+
"non_unique_keys"
193+
]
194+
},
195+
{
196+
"cell_type": "markdown",
197+
"metadata": {},
198+
"source": [
199+
"#### These are the keywords that exist in multiple headers and are skipped:\n",
200+
"- NAXIS\n",
201+
"- NAXIS1\n",
202+
"- NAXIS2\n",
203+
"- NAXIS3\n",
204+
"- NAXIS4\n",
205+
"- EXTNAME\n",
206+
"- BUNIT\n",
207+
"- BSCALE\n",
208+
"- BZERO\n",
209+
"- XTENSION"
210+
]
211+
},
212+
{
213+
"cell_type": "code",
214+
"execution_count": null,
215+
"metadata": {
216+
"collapsed": true
217+
},
218+
"outputs": [],
219+
"source": []
220+
}
221+
],
222+
"metadata": {
223+
"anaconda-cloud": {},
224+
"kernelspec": {
225+
"display_name": "Python [conda env:astroconda3]",
226+
"language": "python",
227+
"name": "conda-env-astroconda3-py"
228+
},
229+
"language_info": {
230+
"codemirror_mode": {
231+
"name": "ipython",
232+
"version": 3
233+
},
234+
"file_extension": ".py",
235+
"mimetype": "text/x-python",
236+
"name": "python",
237+
"nbconvert_exporter": "python",
238+
"pygments_lexer": "ipython3",
239+
"version": "3.5.5"
240+
}
241+
},
242+
"nbformat": 4,
243+
"nbformat_minor": 2
244+
}

0 commit comments

Comments
 (0)