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 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
- extent = [xminwv.to(cunitx).value, xmaxwv.to(cunitx).value, ymin, ymax]
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
@@ -0,0 +1,8 @@
1
+
2
+ from ..version import main, VERSION
3
+
4
+ def test_main(capsys):
5
+ msg = f"Version: {VERSION}\n"
6
+ main()
7
+ captured = capsys.readouterr()
8
+ assert captured.out == msg
teareduce/version.py CHANGED
@@ -9,7 +9,7 @@
9
9
  #
10
10
  """Module to define the version of the teareduce package."""
11
11
 
12
- VERSION = '0.4.3'
12
+ VERSION = '0.4.5'
13
13
 
14
14
 
15
15
  def main():
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: teareduce
3
- Version: 0.4.3
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
- Utilities for astronomical data reduction
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.2.1
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=5j5RFoZOWBkF8CzUSLTR8-fNuuZHOFCMgH2CMOaDu50,4878
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=SH9n_ZVdY2JuLjfax6Is4ri1SsZNjB9mWwd__OBJx0Y,419
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-0.4.3.dist-info/licenses/LICENSE.txt,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
25
- teareduce-0.4.3.dist-info/METADATA,sha256=xj4Kdw08405olw1sdCcZ1ybcK65YPlOA9qxk6ou9sTk,2246
26
- teareduce-0.4.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
27
- teareduce-0.4.3.dist-info/top_level.txt,sha256=7OkwtX9zNRkGJ7ACgjk4ESgC74qUYcS5O2qcO0v-Si4,10
28
- teareduce-0.4.3.dist-info/RECORD,,
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,,