teareduce 0.4.3__py3-none-any.whl → 0.4.5__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- teareduce/imshow.py +35 -6
- teareduce/tests/test_version.py +8 -0
- teareduce/version.py +1 -1
- {teareduce-0.4.3.dist-info → teareduce-0.4.5.dist-info}/METADATA +21 -3
- {teareduce-0.4.3.dist-info → teareduce-0.4.5.dist-info}/RECORD +8 -7
- {teareduce-0.4.3.dist-info → teareduce-0.4.5.dist-info}/WHEEL +0 -0
- {teareduce-0.4.3.dist-info → teareduce-0.4.5.dist-info}/licenses/LICENSE.txt +0 -0
- {teareduce-0.4.3.dist-info → teareduce-0.4.5.dist-info}/top_level.txt +0 -0
teareduce/imshow.py
CHANGED
|
@@ -30,10 +30,15 @@ def imshowme(data, **kwargs):
|
|
|
30
30
|
Instance of Axes.
|
|
31
31
|
img : matplotlib AxesImage
|
|
32
32
|
Instance returned by ax.imshow()
|
|
33
|
+
cax : matplotlib.axes.Axes or None
|
|
34
|
+
Instance of Axes where the color bar is drawn, or None if
|
|
35
|
+
colorbar is False.
|
|
36
|
+
cbar : matplotlib.colorbar.Colorbar or None
|
|
37
|
+
Instance of Colorbar, or None if colorbar is False.
|
|
33
38
|
"""
|
|
34
39
|
fig, ax = plt.subplots()
|
|
35
|
-
img = imshow(fig=fig, ax=ax, data=data, **kwargs)
|
|
36
|
-
return fig, ax, img
|
|
40
|
+
img, cax, cbar = imshow(fig=fig, ax=ax, data=data, **kwargs)
|
|
41
|
+
return fig, ax, img, cax, cbar
|
|
37
42
|
|
|
38
43
|
|
|
39
44
|
def imshow(fig=None, ax=None, data=None,
|
|
@@ -85,7 +90,11 @@ def imshow(fig=None, ax=None, data=None,
|
|
|
85
90
|
------
|
|
86
91
|
img : matplotlib AxesImage
|
|
87
92
|
Instance returned by ax.imshow()
|
|
88
|
-
|
|
93
|
+
cax : matplotlib.axes.Axes or None
|
|
94
|
+
Instance of Axes where the color bar is drawn, or None if
|
|
95
|
+
colorbar is False.
|
|
96
|
+
cbar : matplotlib.colorbar.Colorbar or None
|
|
97
|
+
Instance of Colorbar, or None if colorbar is False.
|
|
89
98
|
"""
|
|
90
99
|
|
|
91
100
|
# protections
|
|
@@ -101,6 +110,7 @@ def imshow(fig=None, ax=None, data=None,
|
|
|
101
110
|
if ylabel is None:
|
|
102
111
|
ylabel = 'Y axis (array index)'
|
|
103
112
|
|
|
113
|
+
wavecalib = False
|
|
104
114
|
if crpix1 is not None and crval1 is not None and cdelt1 is not None and cunit1 is not None:
|
|
105
115
|
if 'extent' in kwargs:
|
|
106
116
|
raise ValueError('extent parameter can not be used with a wavelength calibration scale')
|
|
@@ -112,9 +122,12 @@ def imshow(fig=None, ax=None, data=None,
|
|
|
112
122
|
u_pixel = Unit('pixel')
|
|
113
123
|
xminwv = crval1 + (xmin * u_pixel - crpix1 + 1 * u_pixel) * cdelt1
|
|
114
124
|
xmaxwv = crval1 + (xmax * u_pixel - crpix1 + 1 * u_pixel) * cdelt1
|
|
115
|
-
|
|
125
|
+
xminwv = xminwv.to(cunitx).value
|
|
126
|
+
xmaxwv = xmaxwv.to(cunitx).value
|
|
127
|
+
extent = [xminwv, xmaxwv, ymin, ymax]
|
|
116
128
|
xlabel = f'Wavelength ({cunitx})'
|
|
117
129
|
aspect = 'auto'
|
|
130
|
+
wavecalib = True
|
|
118
131
|
else:
|
|
119
132
|
if 'extent' in kwargs:
|
|
120
133
|
extent = kwargs['extent']
|
|
@@ -143,9 +156,25 @@ def imshow(fig=None, ax=None, data=None,
|
|
|
143
156
|
if title is not None:
|
|
144
157
|
ax.set_title(title)
|
|
145
158
|
|
|
159
|
+
# if a wavelength calibration is provided, display the index scale
|
|
160
|
+
# on the top horizontal axis
|
|
161
|
+
if wavecalib:
|
|
162
|
+
|
|
163
|
+
def index2coord(i):
|
|
164
|
+
return xminwv + (xmaxwv - xminwv) * i / (naxis1 - 1)
|
|
165
|
+
|
|
166
|
+
def coord2index(x):
|
|
167
|
+
return (naxis1 - 1) * (x - xminwv) / (xmaxwv - xminwv)
|
|
168
|
+
|
|
169
|
+
ax_top = ax.secondary_xaxis('top', functions=(coord2index, index2coord))
|
|
170
|
+
ax_top.set_xlabel('X axis (array index)')
|
|
171
|
+
|
|
146
172
|
if colorbar:
|
|
147
173
|
divider = make_axes_locatable(ax)
|
|
148
174
|
cax = divider.append_axes("right", size="5%", pad=0.05, axes_class=Axes)
|
|
149
|
-
fig.colorbar(img, cax=cax, label=cblabel)
|
|
175
|
+
cbar = fig.colorbar(img, cax=cax, label=cblabel)
|
|
176
|
+
else:
|
|
177
|
+
cax = None
|
|
178
|
+
cbar = None
|
|
150
179
|
|
|
151
|
-
return img
|
|
180
|
+
return img, cax, cbar
|
teareduce/version.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: teareduce
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.5
|
|
4
4
|
Summary: Utilities for astronomical data reduction
|
|
5
5
|
Author-email: Nicolás Cardiel <cardiel@ucm.es>
|
|
6
6
|
License: GPL-3.0-or-later
|
|
@@ -30,7 +30,24 @@ Requires-Dist: pytest; extra == "test"
|
|
|
30
30
|
Dynamic: license-file
|
|
31
31
|
|
|
32
32
|
# teareduce
|
|
33
|
-
|
|
33
|
+
|
|
34
|
+
Utilities for astronomical data reduction.
|
|
35
|
+
|
|
36
|
+
This package is not intended to be a general-purpose image reduction code. It
|
|
37
|
+
only includes specific operations required in certain steps of the traditional
|
|
38
|
+
astronomical image reduction process that, at the time of its creation, were
|
|
39
|
+
not available in more established packages such as
|
|
40
|
+
[ccdproc](https://ccdproc.readthedocs.io/en/latest/). In addition, it also
|
|
41
|
+
offers alternative ways to perform certain tasks that we have found to be more
|
|
42
|
+
practical for use in Master’s level classes.
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
## Documentation
|
|
46
|
+
|
|
47
|
+
The documentation for this package is available at [this
|
|
48
|
+
link](https://guaix.fis.ucm.es/~tea/teareduce-cookbook/_build/html/intro.html).
|
|
49
|
+
It includes Juypter notebooks that can be easily downloaded and demonstrate the
|
|
50
|
+
practical use of the defined functionality.
|
|
34
51
|
|
|
35
52
|
## Installing the code
|
|
36
53
|
|
|
@@ -72,5 +89,6 @@ The latest development version is available through [GitHub](https://github.com/
|
|
|
72
89
|
(venv_teareduce) $ ipython
|
|
73
90
|
In [1]: import teareduce as tea
|
|
74
91
|
In [2]: print(tea.__version__)
|
|
75
|
-
0.
|
|
92
|
+
0.4.3
|
|
76
93
|
```
|
|
94
|
+
|
|
@@ -6,7 +6,7 @@ teareduce/ctext.py,sha256=8QP_KW7ueJ34IUyduVpy7nk-x0If5eilawf87icDMJA,2084
|
|
|
6
6
|
teareduce/draw_rectangle.py,sha256=xlwcKIkl7e0U6sa9zWZr8t_WuWAte_UKIqCwZQ41x4Q,1922
|
|
7
7
|
teareduce/elapsed_time.py,sha256=QWakPeiOUA__WpjjFREnodKqW1FZzVGWstab0N3Ro6k,1418
|
|
8
8
|
teareduce/histogram1d.py,sha256=3hlvcI8XPRmZ27H_sFmyL26gIcbJozk07ELBKWtngQk,2835
|
|
9
|
-
teareduce/imshow.py,sha256=
|
|
9
|
+
teareduce/imshow.py,sha256=G_PxvCpv8Loa3jZX0h_9ZG6yTF-QdMojoPLOedo6s-g,5986
|
|
10
10
|
teareduce/numsplines.py,sha256=1PpG-frdc9Qz3VRbC7XyZFWKmhus05ID4REtFnWDmUo,8049
|
|
11
11
|
teareduce/peaks_spectrum.py,sha256=YPCJz8skJmIjWYqT7ZhBJGhnqPayFwy5xb7I9OHlUZI,9890
|
|
12
12
|
teareduce/polfit.py,sha256=CGsrRsz_Du2aKxOcgXi36lpAZO04JyqCCUaxhC0C-Mk,14281
|
|
@@ -15,14 +15,15 @@ teareduce/sdistortion.py,sha256=5ZsZn4vD5Sw2aoqO8-NIOH7H89Zmh7ZDkow6YbAotHU,5916
|
|
|
15
15
|
teareduce/simulateccdexposure.py,sha256=cdbpca6GVuM3d7R1LGzlIZZvjTq_jzrlkk_Cli7aouQ,24636
|
|
16
16
|
teareduce/sliceregion.py,sha256=0h1xYcNG4mkJhR6bdaDe9pF2_MCuGeLJC7WVbbMZy8E,14977
|
|
17
17
|
teareduce/statsummary.py,sha256=mtaM21d5aHvtLjCt_SSDMvD_fjI5nK21ZqxuDtcvldI,5426
|
|
18
|
-
teareduce/version.py,sha256=
|
|
18
|
+
teareduce/version.py,sha256=5hcd5X42P8i74DCHN__pi2mwMbFrq_7s_6ZInGK6sOI,419
|
|
19
19
|
teareduce/wavecal.py,sha256=iiKG_RPW2CllwZxG5fTsyckE0Ec_IeZ6v7v2cQt6OeU,68706
|
|
20
20
|
teareduce/write_array_to_fits.py,sha256=kWDrEH9coJ1yIu56oQJpWtDqJL4c8HGmssE9jle4e94,617
|
|
21
21
|
teareduce/zscale.py,sha256=HuPYagTW55D7RtjPGc7HcibQlCx5oqLYHKoM6WEHG2g,1161
|
|
22
22
|
teareduce/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
23
|
teareduce/tests/test_sliceregion.py,sha256=25dhS7yJ1z_3tgFLw21uOkNKuugyVA-8L1ehafSQjFg,1769
|
|
24
|
-
teareduce
|
|
25
|
-
teareduce-0.4.
|
|
26
|
-
teareduce-0.4.
|
|
27
|
-
teareduce-0.4.
|
|
28
|
-
teareduce-0.4.
|
|
24
|
+
teareduce/tests/test_version.py,sha256=mKLnbXyvVNc1pATq5PxR8qeoFMPAFL_GilFV6IHLOi0,172
|
|
25
|
+
teareduce-0.4.5.dist-info/licenses/LICENSE.txt,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
26
|
+
teareduce-0.4.5.dist-info/METADATA,sha256=n9hHTG2LOCEv2CnYdMi383O1krY9S6tD-rsv0efSdUE,3017
|
|
27
|
+
teareduce-0.4.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
28
|
+
teareduce-0.4.5.dist-info/top_level.txt,sha256=7OkwtX9zNRkGJ7ACgjk4ESgC74qUYcS5O2qcO0v-Si4,10
|
|
29
|
+
teareduce-0.4.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|