drizzle 2.2.0__cp313-cp313-win_amd64.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.
@@ -0,0 +1,172 @@
1
+ Metadata-Version: 2.4
2
+ Name: drizzle
3
+ Version: 2.2.0
4
+ Summary: A package for combining dithered images into a single image
5
+ Author: STScI
6
+ Project-URL: Homepage, https://github.com/spacetelescope/drizzle
7
+ Project-URL: Bug Tracker, https://github.com/spacetelescope/drizzle/issues
8
+ Project-URL: Documentation, http://spacetelescope.github.io/drizzle/
9
+ Project-URL: Source Code, https://github.com/spacetelescope/drizzle
10
+ Requires-Python: >=3.10
11
+ Description-Content-Type: text/x-rst
12
+ License-File: LICENSE.rst
13
+ Requires-Dist: numpy
14
+ Provides-Extra: test
15
+ Requires-Dist: astropy; extra == "test"
16
+ Requires-Dist: gwcs; extra == "test"
17
+ Requires-Dist: pytest>=9.0; extra == "test"
18
+ Requires-Dist: pytest-cov; extra == "test"
19
+ Requires-Dist: pytest-doctestplus; extra == "test"
20
+ Provides-Extra: docs
21
+ Requires-Dist: tomli; python_version < "3.11" and extra == "docs"
22
+ Requires-Dist: sphinx; extra == "docs"
23
+ Requires-Dist: sphinx-automodapi; extra == "docs"
24
+ Requires-Dist: sphinx-rtd-theme; extra == "docs"
25
+ Requires-Dist: matplotlib; extra == "docs"
26
+ Requires-Dist: pytest-doctestplus; extra == "docs"
27
+ Dynamic: license-file
28
+
29
+ drizzle Documentation
30
+ =====================
31
+
32
+ .. image:: https://img.shields.io/badge/powered%20by-AstroPy-orange.svg?style=flat
33
+ :target: https://www.astropy.org
34
+ :alt: Powered by Astropy Badge
35
+
36
+ .. image:: https://codecov.io/github/spacetelescope/drizzle/branch/main/graphs/badge.svg
37
+ :target: https://codecov.io/gh/spacetelescope/drizzle
38
+ :alt: Drizzle's Coverage Status
39
+
40
+ .. image:: https://github.com/spacetelescope/drizzle/workflows/CI/badge.svg
41
+ :target: https://github.com/spacetelescope/drizzle/actions
42
+ :alt: CI Status
43
+
44
+ .. image:: https://readthedocs.org/projects/spacetelescope-drizzle/badge/?version=latest
45
+ :target: https://spacetelescope-drizzle.readthedocs.io/en/latest/?badge=latest
46
+ :alt: Documentation Status
47
+
48
+ .. image:: https://img.shields.io/pypi/v/drizzle.svg
49
+ :target: https://pypi.org/project/drizzle
50
+ :alt: PyPI Status
51
+
52
+ .. image:: https://zenodo.org/badge/28100377.svg
53
+ :target: https://doi.org/10.5281/zenodo.10672889
54
+ :alt: Zenodo DOI
55
+
56
+ The ``drizzle`` library is a Python package for combining dithered images into a
57
+ single image. This library is derived from code used in DrizzlePac. Like
58
+ DrizzlePac, most of the code is implemented in the C language. The biggest
59
+ change from DrizzlePac is that this code passes an array that maps the input to
60
+ output image into the C code, while the DrizzlePac code computes the mapping by
61
+ using a Python callback. Switching to using an array allowed the code to be
62
+ greatly simplified.
63
+
64
+ The DrizzlePac code is currently used in the Space Telescope processing
65
+ pipelines. This library is forward looking in that it can be used with
66
+ the new GWCS code.
67
+
68
+ Requirements
69
+ ------------
70
+
71
+ - Python 3.10 or later
72
+
73
+ - Numpy
74
+
75
+ - Astropy
76
+
77
+ The Drizzle Algorithm
78
+ ---------------------
79
+
80
+ This section has been extracted from Chapter 3 of
81
+ `The DrizzlePac Handbook <https://hst-docs.stsci.edu/drizzpac>`_ [Driz2025]_
82
+
83
+ There are a family of linear reconstruction techniques that, at two opposite
84
+ extremes, are represented by the interlacing and shift-and-add techniques, with
85
+ the Drizzle algorithm representing a continuum between these two extremes.
86
+
87
+ If the dithers are particularly well-placed, one can simply interlace the pixels
88
+ from the images onto a finer grid. In the interlacing method, pixels from the
89
+ independent input images are placed in alternate pixels on the output image
90
+ according to the alignment of the pixel centers in the original images. However,
91
+ due to occasional small positioning errors by the telescope, and non-uniform
92
+ shifts in pixel space across the detector caused by geometric distortion of the
93
+ optics, true interlacing of images is generally not feasible.
94
+
95
+ Another standard simple linear technique for combining shifted images,
96
+ descriptively named “shift-and-add”, has been used for many years to combine
97
+ dithered infrared data onto finer grids. Each input pixel is block-replicated
98
+ onto a finer subsampled grid, shifted into place, and added to the output image.
99
+ Shift-and-add has the advantage of being able to easily handle arbitrary dither
100
+ positions. However, it convolves the image yet again with the original pixel,
101
+ thus adding to the blurring of the image and to the correlation of noise in the
102
+ image. Furthermore, it is difficult to use shift-and-add in the presence of
103
+ missing data (e.g., from cosmic rays) and geometric distortion.
104
+
105
+ In response to the limitations of the two techniques described above, an
106
+ improved method known formally as variable-pixel linear reconstruction, and more
107
+ commonly referred to as Drizzle, was developed by Andy Fruchter and Richard
108
+ Hook, initially for the purposes of combining dithered images of the Hubble Deep
109
+ Field North (HDF-N). This algorithm can be thought of as a continuous set of
110
+ linear functions that vary smoothly between the optimum linear combination
111
+ technique (interlacing) and shift-and-add. This often allows an improvement in
112
+ resolution and a reduction in correlated noise, compared with images produced by
113
+ only using shift-and-add.
114
+
115
+ The degree to which the algorithm departs from interlacing and moves towards
116
+ shift-and-add depends upon how well the PSF is subsampled by the shifts in the
117
+ input images. In practice, the behavior of the Drizzle algorithm is controlled
118
+ through the use of a parameter called pixfrac, which can be set to values
119
+ ranging from 0 to 1, that represents the amount by which input pixels are shrunk
120
+ before being mapped onto the output image plane.
121
+
122
+ A key to understanding the use of pixfrac is to realize that a CCD image can be
123
+ thought of as the true image convolved first by the optics, then by the pixel
124
+ response function (ideally a square the size of a pixel), and then sampled by a
125
+ delta-function at the center of each pixel. A CCD image is thus a set of point
126
+ samples of a continuous two-dimensional function. Hence the natural value of
127
+ pixfrac is 0, which corresponds to pure interlacing. Setting pixfrac to values
128
+ greater than 0 causes additional broadening of the output PSF by convolving the
129
+ original PSF with pixels of non-zero size. Thus, setting pixfrac to its maximum
130
+ value of 1 is equivalent to shift-and-add, the other extreme of linear
131
+ combination, in which the output image PSF has been smeared by a convolution
132
+ with the full size of the original input pixels.
133
+
134
+ The Drizzle algorithm is conceptually straightforward. Pixels in the original
135
+ input images are mapped into pixels in the subsampled output image, taking into
136
+ account shifts and rotations between images and the optical distortion of the
137
+ camera. However, in order to avoid convolving the image with the large pixel
138
+ “footprint” of the camera, Drizzle allows the user to shrink the pixel before it
139
+ is averaged into the output image through the pixfrac parameter.
140
+
141
+ The flux value of each input pixel is divided up into the output pixels with
142
+ weights proportional to the area of overlap between the “drop” and each output
143
+ pixel. If the drop size is too small, not all output pixels have data added to
144
+ them from each of the input images. One should therefore choose a drop size that
145
+ is small enough to avoid convolving the image with too large an input pixel
146
+ footprint, yet sufficiently large to ensure that there is not too much variation
147
+ in the number of input pixels contributing to each output pixel.
148
+
149
+ When images are combined using Drizzle, a weight map can be specified for each
150
+ input image. The weight image contains information about bad pixels in the image
151
+ (in that bad pixels result in lower weight values). When the final output
152
+ science image is generated, an output weight map which combines information from
153
+ all the input weight images, is also saved.
154
+
155
+ Drizzle has a number of advantages over standard linear reconstruction methods.
156
+ Since the pixel area can be scaled by the Jacobian of the geometric distortion,
157
+ it is preserved for surface and absolute photometry. Therefore, the flux in the
158
+ drizzled image, that was corrected for geometric distortion, can be measured
159
+ with an aperture size that's not dependent of its position on the image. Since
160
+ the Drizzle code anticipates that a given output pixel might not receive any
161
+ information from an input pixel, missing data does not cause a substantial
162
+ problem as long as the observer has taken enough dither samples to fill in the
163
+ missing information.
164
+
165
+ The blot methods perform the inverse operation of drizzle. That is, blotting
166
+ performs the inverse mapping to transform the dithered median image back into
167
+ the coordinate system of the original input image. Blotting is primarily used
168
+ for identifying cosmic rays in the original image. Blot requires the user
169
+ to provide the world coordinate system (WCS)-based transformations in the
170
+ form of a pixel map array as input.
171
+
172
+ .. [Driz2025] Anand, G. S., Mack, J., et al., 2025, “The DrizzlePac Handbook”, Version 3.0, (Baltimore: STScI)
@@ -0,0 +1,16 @@
1
+ drizzle/__init__.py,sha256=oxhs37KR3IX8elCMiPkMMkLDCcb6P67PJHvcDqo5JKg,327
2
+ drizzle/cdrizzle.cp313-win_amd64.pyd,sha256=PUIZMvLmU9YdkEiZ9-14a5zvQnOiyE4cifmtbDSoBaA,129536
3
+ drizzle/resample.py,sha256=ALjSftUgDe1p1RdbktqjssfxPVo-w0QhMcGsYrHRtJs,49090
4
+ drizzle/util.py,sha256=4n7s6YAy1U61acZFybI_CQBp7M4ywyUCJLepoyZtk94,849
5
+ drizzle/utils.py,sha256=Ck_5krIuO73UIv551mK9FuboQFKxOaBhttKNEunLYps,10722
6
+ drizzle/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ drizzle/tests/helpers.py,sha256=mEnfugosXR9KhnZwSRxNf1BvpuVXDnHl0MWbUJvnLCI,6838
8
+ drizzle/tests/test_cdrizzle.py,sha256=0uaThTLkLlzvZ_kDdMLRogSrurvoeMVZPLdWDxrv0O8,726
9
+ drizzle/tests/test_overlap_calc.py,sha256=57RrAVFBVzGs2Ng30UWmneMAFig1Q-f5rF4lHmANOpk,7597
10
+ drizzle/tests/test_resample.py,sha256=jlmb4BcITgooEDVVotELBILAWr5Bzkrc4P7oseCLbkI,66315
11
+ drizzle/tests/test_utils.py,sha256=T019dU06dHg5j7ZRBv6m3oynQvdnD5vZQxn8id61fY8,8138
12
+ drizzle-2.2.0.dist-info/licenses/LICENSE.rst,sha256=sUXj5W73D9TcOw5ZXaDdcthYdY2b2dTJPsxBuZTOYWQ,1505
13
+ drizzle-2.2.0.dist-info/METADATA,sha256=eME9dBaMUkqtzLt_4Ss3gejHK5iKVc4w7HotvuCpTTA,9086
14
+ drizzle-2.2.0.dist-info/WHEEL,sha256=qV0EIPljj1XC_vuSatRWjn02nZIz3N1t8jsZz7HBr2U,101
15
+ drizzle-2.2.0.dist-info/top_level.txt,sha256=MA5uqwTj1sJBi-hCeQj9v3-sZ9nVUTe6bd_zGWTKy5A,8
16
+ drizzle-2.2.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.9.0)
3
+ Root-Is-Purelib: false
4
+ Tag: cp313-cp313-win_amd64
5
+
@@ -0,0 +1,31 @@
1
+ Copyright (C) 2011,2014 Association of Universities for Research in
2
+ Astronomy (AURA)
3
+
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions
6
+ are met:
7
+
8
+ 1. Redistributions of source code must retain the above
9
+ copyright notice, this list of conditions and the following
10
+ disclaimer.
11
+
12
+ 2. Redistributions in binary form must reproduce the above
13
+ copyright notice, this list of conditions and the following
14
+ disclaimer in the documentation and/or other materials
15
+ provided with the distribution.
16
+
17
+ 3. The name of AURA and its representatives may not be used to
18
+ endorse or promote products derived from this software without
19
+ specific prior written permission.
20
+
21
+ THIS SOFTWARE IS PROVIDED BY AURA ``AS IS'' AND ANY EXPRESS OR
22
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
23
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24
+ ARE DISCLAIMED. IN NO EVENT SHALL AURA BE LIABLE FOR ANY DIRECT,
25
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
26
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
29
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
31
+ OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1 @@
1
+ drizzle