teareduce 0.4.3__py3-none-any.whl → 0.4.4__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
@@ -101,6 +101,7 @@ def imshow(fig=None, ax=None, data=None,
101
101
  if ylabel is None:
102
102
  ylabel = 'Y axis (array index)'
103
103
 
104
+ wavecalib = False
104
105
  if crpix1 is not None and crval1 is not None and cdelt1 is not None and cunit1 is not None:
105
106
  if 'extent' in kwargs:
106
107
  raise ValueError('extent parameter can not be used with a wavelength calibration scale')
@@ -112,9 +113,12 @@ def imshow(fig=None, ax=None, data=None,
112
113
  u_pixel = Unit('pixel')
113
114
  xminwv = crval1 + (xmin * u_pixel - crpix1 + 1 * u_pixel) * cdelt1
114
115
  xmaxwv = crval1 + (xmax * u_pixel - crpix1 + 1 * u_pixel) * cdelt1
115
- extent = [xminwv.to(cunitx).value, xmaxwv.to(cunitx).value, ymin, ymax]
116
+ xminwv = xminwv.to(cunitx).value
117
+ xmaxwv = xmaxwv.to(cunitx).value
118
+ extent = [xminwv, xmaxwv, ymin, ymax]
116
119
  xlabel = f'Wavelength ({cunitx})'
117
120
  aspect = 'auto'
121
+ wavecalib = True
118
122
  else:
119
123
  if 'extent' in kwargs:
120
124
  extent = kwargs['extent']
@@ -143,6 +147,19 @@ def imshow(fig=None, ax=None, data=None,
143
147
  if title is not None:
144
148
  ax.set_title(title)
145
149
 
150
+ # if a wavelength calibration is provided, display the index scale
151
+ # on the top horizontal axis
152
+ if wavecalib:
153
+
154
+ def index2coord(i):
155
+ return xminwv + (xmaxwv - xminwv) * i / (naxis1 - 1)
156
+
157
+ def coord2index(x):
158
+ return (naxis1 - 1) * (x - xminwv) / (xmaxwv - xminwv)
159
+
160
+ ax_top = ax.secondary_xaxis('top', functions=(coord2index, index2coord))
161
+ ax_top.set_xlabel('X axis (array index)')
162
+
146
163
  if colorbar:
147
164
  divider = make_axes_locatable(ax)
148
165
  cax = divider.append_axes("right", size="5%", pad=0.05, axes_class=Axes)
@@ -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.4'
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.4
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=P-TzdB8pOBnbFIMLu3MvKfBgSN91GsHTSh_02B0HsKI,5418
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=lKO2PdR2DtjUkH9hJBtVk-385YTx5NNIRltW67sZ0dk,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.4.dist-info/licenses/LICENSE.txt,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
26
+ teareduce-0.4.4.dist-info/METADATA,sha256=5njKTz4asc-xYbvhZwu8hZ2kFbjeLsfKnUVY6H8JTqo,3017
27
+ teareduce-0.4.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
28
+ teareduce-0.4.4.dist-info/top_level.txt,sha256=7OkwtX9zNRkGJ7ACgjk4ESgC74qUYcS5O2qcO0v-Si4,10
29
+ teareduce-0.4.4.dist-info/RECORD,,