Skip to main content

A package for combining dithered images into a single image

Project description

Powered by Astropy Badge Drizzle's Coverage Status CI Status Documentation Status PyPI Status

The drizzle library is a Python package for combining dithered images into a single image. This library is derived from code used in DrizzlePac. Like DrizzlePac, most of the code is implemented in the C language. The biggest change from DrizzlePac is that this code passes an array that maps the input to output image into the C code, while the DrizzlePac code computes the mapping by using a Python callback. Switching to using an array allowed the code to be greatly simplified.

The DrizzlePac code is currently used in the Space Telescope processing pipelines. This library is forward looking in that it can be used with the new GWCS code.

Requirements

  • Python 3.9 or later

  • Numpy

  • Astropy

The Drizzle Algorithm

This section has been extracted from Chapter 2 of The DrizzlePac Handbook [Driz2012]

There are a family of linear reconstruction techniques that, at two opposite extremes, are represented by the interlacing and shift-and-add techniques, with the Drizzle algorithm representing a continuum between these two extremes.

If the dithers are particularly well-placed, one can simply interlace the pixels from the images onto a finer grid. In the interlacing method, pixels from the independent input images are placed in alternate pixels on the output image according to the alignment of the pixel centers in the original images. However, due to occasional small positioning errors by the telescope, and non-uniform shifts in pixel space across the detector caused by geometric distortion of the optics, true interlacing of images is generally not feasible.

Another standard simple linear technique for combining shifted images, descriptively named “shift-and-add”, has been used for many years to combine dithered infrared data onto finer grids. Each input pixel is block-replicated onto a finer subsampled grid, shifted into place, and added to the output image. Shift-and-add has the advantage of being able to easily handle arbitrary dither positions. However, it convolves the image yet again with the original pixel, thus adding to the blurring of the image and to the correlation of noise in the image. Furthermore, it is difficult to use shift-and-add in the presence of missing data (e.g., from cosmic rays) and geometric distortion.

In response to the limitations of the two techniques described above, an improved method known formally as variable-pixel linear reconstruction, and more commonly referred to as Drizzle, was developed by Andy Fruchter and Richard Hook, initially for the purposes of combining dithered images of the Hubble Deep Field North (HDF-N). This algorithm can be thought of as a continuous set of linear functions that vary smoothly between the optimum linear combination technique (interlacing) and shift-and-add. This often allows an improvement in resolution and a reduction in correlated noise, compared with images produced by only using shift-and-add.

The degree to which the algorithm departs from interlacing and moves towards shift-and-add depends upon how well the PSF is subsampled by the shifts in the input images. In practice, the behavior of the Drizzle algorithm is controlled through the use of a parameter called pixfrac, which can be set to values ranging from 0 to 1, that represents the amount by which input pixels are shrunk before being mapped onto the output image plane.

A key to understanding the use of pixfrac is to realize that a CCD image can be thought of as the true image convolved first by the optics, then by the pixel response function (ideally a square the size of a pixel), and then sampled by a delta-function at the center of each pixel. A CCD image is thus a set of point samples of a continuous two-dimensional function. Hence the natural value of pixfrac is 0, which corresponds to pure interlacing. Setting pixfrac to values greater than 0 causes additional broadening of the output PSF by convolving the original PSF with pixels of non-zero size. Thus, setting pixfrac to its maximum value of 1 is equivalent to shift-and-add, the other extreme of linear combination, in which the output image PSF has been smeared by a convolution with the full size of the original input pixels.

The Drizzle algorithm is conceptually straightforward. Pixels in the original input images are mapped into pixels in the subsampled output image, taking into account shifts and rotations between images and the optical distortion of the camera. However, in order to avoid convolving the image with the large pixel “footprint” of the camera, Drizzle allows the user to shrink the pixel before it is averaged into the output image through the pixfrac parameter.

The flux value of each input pixel is divided up into the output pixels with weights proportional to the area of overlap between the “drop” and each output pixel. If the drop size is too small, not all output pixels have data added to them from each of the input images. One should therefore choose a drop size that is small enough to avoid convolving the image with too large an input pixel footprint, yet sufficiently large to ensure that there is not too much variation in the number of input pixels contributing to each output pixel.

When images are combined using Drizzle, a weight map can be specified for each input image. The weight image contains information about bad pixels in the image (in that bad pixels result in lower weight values). When the final output science image is generated, an output weight map which combines information from all the input weight images, is also saved.

Drizzle has a number of advantages over standard linear reconstruction methods. Since the pixel area can be scaled by the Jacobian of the geometric distortion, it is preserved for surface and absolute photometry. Therefore, the flux in the drizzled image, that was corrected for geometric distortion, can be measured with an aperture size that’s not dependent of its position on the image. Since the Drizzle code anticipates that a given output pixel might not receive any information from an input pixel, missing data does not cause a substantial problem as long as the observer has taken enough dither samples to fill in the missing information.

The blot methods perform the inverse operation of drizzle. That is, blotting performs the inverse mapping to transform the dithered median image back into the coordinate system of the original input image. Blotting is primarily used for identifying cosmic rays in the original image. Like the original drizzle task, blot requires the user to provide the world coordinate system (WCS) transformations as inputs.

[Driz2012]

Gonzaga, S., Hack, W., Fruchter, A., Mack, J., eds. 2012, The DrizzlePac Handbook. (Baltimore, STScI)

The Drizzle Library

The Drizzle library is object-oriented and you use it by first creating an object of the Drizzle class. To create a new Drizzle output image, supply an Astropy WCS object representing the coordinate system of the output image. The other parameters are the linear pixel dimension described in the previous section, the drizzle kernel used, how each input image is scaled (by exposure time or time squared), and the pixel value set in the output image where the input images do not overlap.

After creating a Drizzle object, you add one or more images by calling the add_fits_file method. The arguments are the name of the FITS file containing the input image and optionally the name of a FITS file containing the pixel weighting. Both file names can be followed by an extension name or number in square brackets. Optionally you can pass the name of the header keywords containing the exposure time and units. Two units are understood: counts and cps (counts per second).

The following function is a demonstration of how you can create a new output image:

def drizzle_demo_one(reference, outfile, infiles):
    """
    First demonstration of drizzle

    Parameters
    ==========
    reference
        A file containing the wcs of the output image

    outfile
        The name of the output image

    infiles
        The names of the input images to be combined
    """
    # Get the WCS for the output image
    hdulist = fits.open(reference)
    reference_wcs = wcs.WCS(hdulist[1].header)

    # Initialize the output with the WCS
    driz = drizzle.drizzle.Drizzle(outwcs=reference_wcs)

    # Combine the input images into on drizzle image
    for infile in infiles:
        driz.add_fits_file(infile)

    # Write the drizzled image out
    driz.write(outfile)

Optionally you can supply the input and weight images as Numpy arrays by using the add_image method. If you use this method, you must supply the extra information that would otherwise be read from the FITS image: The WCS of the input image, the exposure time, and image units.

Here is an example of how you would call add_image:

def drizzle_demo_two(reference, outfile, infiles):
    """
    Demonstration of drizzle with add image.

    Parameters
    ==========
    reference
        A file containing the wcs of the output image.

    outfile
        The name of the output image.

    infiles
        The names of the input images to be combined.
    """
    # Get the WCS for the output image
    reflist = fits.open(reference)
    reference_wcs = wcs.WCS(reflist[1].header)

    # Initialize the output with the WCS
    driz = drizzle.drizzle.Drizzle(outwcs=reference_wcs)

    # Combine the input images into on drizzle image
    for infile in infiles:
        # Open the file and read the image and wcs
        # This is a contrived example, we would not do this
        # unless the data came from another source
        # than a FITS file
        imlist = fits.open(reference)
        image = imlist[1].data
        image_wcs = wcs.WCS(imlist[1].header)
        driz.add_image(image, image_wcs)

    # Write the drizzled image out
    driz.write(outfile)

After combining all the input images, you write the output image into a FITS file with the write method. You must pass the name of the output image and optionally the units. You can also supply a set of header cards to be added to the primary header of the output FITS file.

You can also add more images to an existing Drizzle output file by creating a new Drizzle object and passing the existing output file name as the new object is created. In that case the output WCS and all other parameters are read from the file.

Here is a demonstration of adding additional input images to a drizzled image:

def drizzle_demo_three(outfile, infiles):
    """
    Demonstration of drizzle and adding to an existing output.

    Parameters
    ==========
    outfile
        Name of output image that new files will be appended to.

    infiles
        The names of the input images to be added.
    """
    # Re-open the output file
    driz = drizzle.drizzle.Drizzle(infile=outfile)

    # Add the input images to the existing output image
    for infile in infiles:
        driz.add_fits_file(infile)

    # Write the modified drizzled image out
    driz.write(outfile)

You can use the methods blot_fits_file and blot_image to transform the drizzled output image into another WCS. Most usually this is the coordinates of one of the input images and is used to identify cosmic rays or other defects. The two methods blot_fits_file and blot_image allow you to retrieve the WCS from the FITS file header or input it directly. The optional parameter interp allows you to selct the method used to resample the pixels on the new grid, and sincscl is used to scale the sinc function if one of the sinc interpolation methods is used. This function demonstrates how both methods are called:

def drizzle_demo_four(outfile, blotfile):
    """
    Demonstration of blot methods.

    Parameters
    ==========
    outfile
        Name of output image that will be converted.

    blotfile
        Name of image containing wcs to be transformed to.
    """
    # Open drizzle using the output file
    # Transform it to another coordinate system
    driz = drizzle.drizzle.Drizzle(infile=outfile)
    driz.blot_fits_file(blotfile)
    driz.write(outfile)

    # Read the WCS and transform using it instead
    # This is a contrived example
    blotlist = fits.open(blotfile)
    blot_wcs = wcs.WCS(blotlist[1].header)
    driz = drizzle.drizzle.Drizzle(infile=outfile)
    driz.blot_image(blot_wcs)
    driz.write(outfile)

The lower level function dodrizzle is present for backwards compatibility with the existing STScI DrizzlePac code and should not be used unless you are also concerned with this compatibility.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

drizzle-1.15.1.tar.gz (105.3 kB view details)

Uploaded Source

Built Distributions

drizzle-1.15.1-cp312-cp312-win_amd64.whl (77.6 kB view details)

Uploaded CPython 3.12 Windows x86-64

drizzle-1.15.1-cp312-cp312-win32.whl (69.6 kB view details)

Uploaded CPython 3.12 Windows x86

drizzle-1.15.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (303.6 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

drizzle-1.15.1-cp312-cp312-macosx_11_0_arm64.whl (77.3 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

drizzle-1.15.1-cp312-cp312-macosx_10_9_x86_64.whl (83.8 kB view details)

Uploaded CPython 3.12 macOS 10.9+ x86-64

drizzle-1.15.1-cp311-cp311-win_amd64.whl (77.6 kB view details)

Uploaded CPython 3.11 Windows x86-64

drizzle-1.15.1-cp311-cp311-win32.whl (69.5 kB view details)

Uploaded CPython 3.11 Windows x86

drizzle-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (303.2 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

drizzle-1.15.1-cp311-cp311-macosx_11_0_arm64.whl (77.4 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

drizzle-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl (83.7 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

drizzle-1.15.1-cp310-cp310-win_amd64.whl (77.6 kB view details)

Uploaded CPython 3.10 Windows x86-64

drizzle-1.15.1-cp310-cp310-win32.whl (69.5 kB view details)

Uploaded CPython 3.10 Windows x86

drizzle-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (301.9 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

drizzle-1.15.1-cp310-cp310-macosx_11_0_arm64.whl (77.3 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

drizzle-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl (83.7 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

drizzle-1.15.1-cp39-cp39-win_amd64.whl (77.6 kB view details)

Uploaded CPython 3.9 Windows x86-64

drizzle-1.15.1-cp39-cp39-win32.whl (69.5 kB view details)

Uploaded CPython 3.9 Windows x86

drizzle-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (301.4 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

drizzle-1.15.1-cp39-cp39-macosx_11_0_arm64.whl (77.3 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

drizzle-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl (83.7 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

File details

Details for the file drizzle-1.15.1.tar.gz.

File metadata

  • Download URL: drizzle-1.15.1.tar.gz
  • Upload date:
  • Size: 105.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for drizzle-1.15.1.tar.gz
Algorithm Hash digest
SHA256 c773d2be6ac84a5b892ebe42c4f49f545b7f26ff6cbc4a6e60333d887e5d780a
MD5 a722bb7f90f20446f02f81a340c3fdef
BLAKE2b-256 f39ea290e1f3d1cadf102fceab537b133feb169407648bcbc080857762b25801

See more details on using hashes here.

File details

Details for the file drizzle-1.15.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for drizzle-1.15.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a9f0218d71d7e982ab533ed3480ed8b42ac50b47c1c038c5441c65537956f7c5
MD5 d5ecaa43603604f4bbbc2f0af47cdd91
BLAKE2b-256 6e0a1b7977aded24ea6121e838206db215446d70c5314dcb01e8fc6e9e0c4543

See more details on using hashes here.

File details

Details for the file drizzle-1.15.1-cp312-cp312-win32.whl.

File metadata

  • Download URL: drizzle-1.15.1-cp312-cp312-win32.whl
  • Upload date:
  • Size: 69.6 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for drizzle-1.15.1-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 cb93925c6be9f71bece73a179f4de5d8e5af35c6bf01ae7e8cc28842b5483b22
MD5 9fedfb390cccb91615825f7292fcd4e5
BLAKE2b-256 d4f04b5bb57a7ed355b267f9644ec23bfde318257e316bc58058e8a8e1f226af

See more details on using hashes here.

File details

Details for the file drizzle-1.15.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for drizzle-1.15.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3b64dc74f80b9a8059fc30018843c6630ceebc95f8fd0149b9a8aa322aeb2bbc
MD5 3a0cc041f9c12e7c02ae4a0d18ec87ca
BLAKE2b-256 75b86db6479c607473f2abfadf2a2522dae6098061eff95475efd8396467947f

See more details on using hashes here.

File details

Details for the file drizzle-1.15.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for drizzle-1.15.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 79a6ed25ed73d452f906234d89069f61880bf37706584d59a1d52d1c87de2181
MD5 418611097eb532cb1984b357870c22dc
BLAKE2b-256 c028e0eb1f3250d2b5d9c74de2e2bf3263b8b0e221f6b18ab48ae2e2119b778e

See more details on using hashes here.

File details

Details for the file drizzle-1.15.1-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for drizzle-1.15.1-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4d17b0b8f96cd25dd205ce559cf136f21842df54868d14fcbbd14e63360d3234
MD5 ce6aedcb2666d365042189f49bf918cc
BLAKE2b-256 0e54cc1ac798d746202a13be7206732d1ab8d746b277b8a1c1aac826b1f5e22e

See more details on using hashes here.

File details

Details for the file drizzle-1.15.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for drizzle-1.15.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b03e9257c52f6ad1f76be609011d2e9862962bbd72068f966574bfd965e09066
MD5 d4c3ae3ad9021d23b717f3f2d2509d3d
BLAKE2b-256 9fd889710b286b535c5b8f96000f390e3a6ec035e7feba61994a2f16ddb0e3cc

See more details on using hashes here.

File details

Details for the file drizzle-1.15.1-cp311-cp311-win32.whl.

File metadata

  • Download URL: drizzle-1.15.1-cp311-cp311-win32.whl
  • Upload date:
  • Size: 69.5 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for drizzle-1.15.1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 22a24c091012f6845e26cc281ccae45daa200e626038b324f4d75bcc823375ab
MD5 eb33cbcbdfc480e75d186dcd97f5392b
BLAKE2b-256 12a69916508768eaa6c829b9176afbfde6cd2320a6370c18ccc3d0b42f9071de

See more details on using hashes here.

File details

Details for the file drizzle-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for drizzle-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5080b7ec4fc724b00ea360449ddf8e78850f625d397ee20ee6a4b6327316a6c1
MD5 c6910e9337220e7b09c8895b181585a7
BLAKE2b-256 cb8280853c7c5046eca7f5838f2004f2f69f8535018e9c1ade566045e5b39cba

See more details on using hashes here.

File details

Details for the file drizzle-1.15.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for drizzle-1.15.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 99987f16750053b23b944e26ab478a00d1e9519eefcc47855addf20e93da707d
MD5 008b36464322b995abc1366fbf0fd97b
BLAKE2b-256 96b1dc1ed5143eb22d50a6d5437997a0b4321be7d57dc4628134b3b2379aa23f

See more details on using hashes here.

File details

Details for the file drizzle-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for drizzle-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ad1e35ba158170aabb542f8be4bcdc58e6cec63b7749876c73ff98fc4ffd2f93
MD5 d3bfbebb8625ec88ff6a97d90382c406
BLAKE2b-256 3ac5e71165c4bfa2c2b23501d862205e9ce2e1948cc9874f240f5e668f34ed10

See more details on using hashes here.

File details

Details for the file drizzle-1.15.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for drizzle-1.15.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 fc8109a5e38781d82259f2578c5c3389693f6b6cfc2b998887e6bd02fd99d07a
MD5 30945c754ac737eae1c022da46c6b1f8
BLAKE2b-256 5f88b58cd0bbdbaa219d585fcde7627ab31c8f5f1cec86ab3c8c62894e0baf2f

See more details on using hashes here.

File details

Details for the file drizzle-1.15.1-cp310-cp310-win32.whl.

File metadata

  • Download URL: drizzle-1.15.1-cp310-cp310-win32.whl
  • Upload date:
  • Size: 69.5 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for drizzle-1.15.1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 035231162c14786770c61164db5b692909e077f7bc3f9f46366c44164faec865
MD5 bddaf593b226ed11f5464c3460c70aeb
BLAKE2b-256 c0fc9ea33030fb523cd6b8bb60dc966a57bc1cfcbdd80d61257b1c3adf638d08

See more details on using hashes here.

File details

Details for the file drizzle-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for drizzle-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b5bd8074a4c7799bf5ac460872cdc38851f2b2319467dadfc903bfc8a14d3910
MD5 33ae34ea5b111820c24a9e68dba5d76a
BLAKE2b-256 595ef483ea46d273fc495b17bc10a538f14f798a16b73331fcbbdcb1a4479994

See more details on using hashes here.

File details

Details for the file drizzle-1.15.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for drizzle-1.15.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 16314797ff408ae7de5ae4ca0c8fc70a62d229dd249c35cc767f376dbf054d4a
MD5 4436c0f88f34701e42678b03650edc71
BLAKE2b-256 25b77ba4f57ad38321baa0982ef056cb6ed6743973932efb7e2f7d31d19f0c58

See more details on using hashes here.

File details

Details for the file drizzle-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for drizzle-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 206659bdfe34458a73664ebd8db6a7bd0547db146324e8e9077987c43698b8fd
MD5 3e88eedd3050321e8a98f376bde94779
BLAKE2b-256 acfd0f5e637d42cea49c05a0af1c51397bb5091a8765ec5697314170cd1cb04d

See more details on using hashes here.

File details

Details for the file drizzle-1.15.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: drizzle-1.15.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 77.6 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for drizzle-1.15.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 7873c66950eabd1a651ce130f9aab59e606e9477368e38d1c361e8e23e4b9ae8
MD5 be41e081870ed5f952ad522742169356
BLAKE2b-256 30a49ff8b892d1ab5285d688e72feb8dbfac6ff99a2f1cb1e5286b883b969dfc

See more details on using hashes here.

File details

Details for the file drizzle-1.15.1-cp39-cp39-win32.whl.

File metadata

  • Download URL: drizzle-1.15.1-cp39-cp39-win32.whl
  • Upload date:
  • Size: 69.5 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for drizzle-1.15.1-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 44537249afe9cb989e6c1606539dba00326bb5b5ef03157899a2a9ec3f08b170
MD5 6151e89be291257010cf9fd3cb43eabb
BLAKE2b-256 58cc3591f6a084b437439747250dab993a90d36c101fed564af2fae902a7ab41

See more details on using hashes here.

File details

Details for the file drizzle-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for drizzle-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0cfd1f56e138a3bedae4f89deef1d9106f7a54d5d07ae6a6759917d9058ae7b7
MD5 ea9aaf2f70b368888d508054647564cf
BLAKE2b-256 1e1668908aebed305802cf538062137d5cf941abe2ed3922bac093c016c7d1ce

See more details on using hashes here.

File details

Details for the file drizzle-1.15.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for drizzle-1.15.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ed86016b18de61f241d2c8ff0e369be391ecc0f095bce6dba71ce35918a5437f
MD5 36e02e83b9d91932ef039c672c55e85c
BLAKE2b-256 ad24be7d595b5f589277fd2c3039cd4943fa80225c74944a0f95ed19ff89344e

See more details on using hashes here.

File details

Details for the file drizzle-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for drizzle-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 af3943b80ed842a1a66aa05be0299eb2ecc28a27bb4a88381c49fb5befa6ba84
MD5 ea35933033165004fc308f8fb2004b53
BLAKE2b-256 37b1fba1bf7d7269ddfa93e3e61e616cf35fe2ba1a9e39fa1849c75e24848624

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page