Skip to main content

Greedy: Fast Deformable Registration for 2D and 3D Medical Images

Project description

Python wrappers for PICSL GreedyReg Image Registration Tool

This project provides a Python interface for the Greedy tool from the Penn Image Computing and Science Laboratory, developers of ITK-SNAP.

Greedy is a fast tool for affine and deformable registration of 3D (and 2D) medical images. Please see Greedy Documentation for complete documentation.

This project makes it possible to interface with Greedy from Python code. You can execute registration pipelines as you would on the command line, and you pass SimpleITK image objects to and from Greedy as inputs or outputs.

Quick Start

Install the package:

pip install picsl_greedy

Download a pair of images and a binary mask to experiment with

DATAURL=https://github.com/pyushkevich/greedy/raw/master/testing/data
curl -L $DATAURL/phantom01_fixed.nii.gz -o phantom01_fixed.nii.gz
curl -L $DATAURL/phantom01_moving.nii.gz -o phantom01_moving.nii.gz
curl -L $DATAURL/phantom01_mask.nii.gz -o phantom01_mask.nii.gz

Perform rigid registration in Python

from picsl_greedy import Greedy3D

g = Greedy3D()

# Perform rigid registration
g.execute('-i phantom01_fixed.nii.gz phantom01_moving.nii.gz '
          '-gm phantom01_mask.nii.gz '
          '-a -dof 6 -n 40x10 -m NMI '
          '-o phantom01_rigid.mat')
          
# Apply rigid transform to moving image
g.execute('-rf phantom01_fixed.nii.gz '
          '-rm phantom01_moving.nii.gz phantom01_resliced.nii.gz '
          '-r phantom01_rigid.mat')

SimpleITK Interface

You can read/write images from disk using the command line options passed to the execute command. But if you want to mix Python-based image processing pipelines and Greedy pipelines, using the disk to store images creates unnecessary overhead. Instead, it is possible to pass SimpleITK to Greedy as image inputs and outputs. It is also possible to pass NumPy arrays as rigid and affine transformations.

To pass objects already available in your Python environment, you can use arbitrary strings instead of filenames in the Greedy command, and then use keyword arguments to associate these strings with SimpleITK images or NumPy arrays:

img_fixed = sitk.ReadImage('phantom01_fixed.nii.gz')
img_moving = sitk.ReadImage('phantom01_moving.nii.gz')
g.execute('-i my_fixed my_moving '
          '-a -dof 6 -n 40x10 -m NMI '
          '-o phantom01_rigid.mat', 
          my_fixed = img_fixed, my_moving = img_moving)

Conversely, to retrieve an image or transform output by Greedy into the Python envirnonment, you can also replace the filename by a string, and use keyword arguments to assign None to that string. You can then retrieve the output using the [] operator:

g.execute('-i phantom01_fixed.nii.gz phantom01_moving.nii.gz '
          '-gm phantom01_mask.nii.gz '
          '-a -dof 6 -n 40x10 -m NMI '
          '-o my_rigid',
          my_rigid=None)
          
mat_rigid = g['my_rigid']

The example below performs affine and deformable registration and then applies reslicing to the moving image without having Greedy write any files to disk.

from picsl_greedy import Greedy3D
import SimpleITK as sitk
import numpy as np

# Load the images
img_fixed = sitk.ReadImage('phantom01_fixed.nii.gz')
img_moving = sitk.ReadImage('phantom01_moving.nii.gz')
img_mask = sitk.ReadImage('phantom01_mask.nii.gz')

g = Greedy3D()

# Perform affine registration
g.execute('-i my_fixed my_moving '
          '-a -dof 6 -n 40x10 -m NMI '
          '-o my_affine',
          my_fixed = img_fixed, my_moving = img_moving, my_mask = img_mask,
          my_affine = None)

# Report the determinant of the affine transform
print('The affine transform determinant is ', np.linalg.det(g['my_affine']))

# Perform deformable registration
g.execute('-i my_fixed my_moving '
          '-it my_affine -n 40x10 -m NCC 2x2x2 -s 2.0vox 0.5vox '
          '-o my_warp',
          my_warp = None)

# Apply the transforms to the moving image
g.execute('-rf my_fixed -rm my_moving my_resliced '
          '-r my_warp my_affine',
          my_resliced = None)

# Save the resliced image
sitk.WriteImage(g['my_resliced'], 'phantom01_warped.nii.gz')

Metric Log

If you would like to access the optimization metric value across iterations, use the method metric_log().

from picsl_greedy import Greedy3D
import SimpleITK as sitk
import numpy as np
import matplotlib.pyplot as plt

# Load the images
img_fixed = sitk.ReadImage('phantom01_fixed.nii.gz')
img_moving = sitk.ReadImage('phantom01_moving.nii.gz')
img_mask = sitk.ReadImage('phantom01_mask.nii.gz')

g = Greedy3D()

# Perform affine registration
g.execute('-i my_fixed my_moving '
          '-a -dof 6 -n 40x10 -m NMI '
          '-o my_affine',
          my_fixed = img_fixed, my_moving = img_moving, my_mask = img_mask,
          my_affine = None)

# Report metric value
ml = g.metric_log()
plt.plot(ml[0]["TotalPerPixelMetric"], label='Coarse')
plt.plot(ml[1]["TotalPerPixelMetric"], label='Fine')
plt.legend()
plt.title('Metric value')
plt.savefig('metric.png')

Propagation

The Propagation tool warps a 3D segmentation from a reference time point to all target time points in a 4D image. This is useful for generating 4D segmentation from sparse 3D segmentation.

Basic Usage (Files on Disk)

from picsl_greedy import Propagation

p = Propagation()

# Propagate segmentation from time point 5 to other time points
p.run('-i img4d.nii.gz '
      '-sr3 seg_tp05.nii.gz '
      '-tpr 5 '
      '-tpt 1,2,3,4,6,7,8,9 '
      '-o /path/to/output '
      '-n 100x100 -m SSD -s 3mm 1.5mm')

Using SimpleITK Images

You can pass SimpleITK images directly to avoid disk I/O overhead. Use arbitrary strings as placeholders and pass the actual images as keyword arguments:

from picsl_greedy import Propagation
import SimpleITK as sitk

# Load images
img4d = sitk.ReadImage('img4d.nii.gz')
seg3d = sitk.ReadImage('seg_tp05.nii.gz')

p = Propagation()

# Run propagation with in-memory images
p.run('-i my_img4d '
      '-sr3 my_seg3d '
      '-tpr 5 '
      '-tpt 1,2,3,4,6,7,8,9 '
      '-n 100x100 -m SSD -s 3mm 1.5mm',
      my_img4d=img4d, my_seg3d=seg3d)

# Retrieve 4D segmentation output
seg4d_out = p['seg4d']
sitk.WriteImage(seg4d_out, 'seg4d_propagated.nii.gz')

# Retrieve 3D segmentation for a specific time point
seg_tp03 = p['seg_03']
sitk.WriteImage(seg_tp03, 'seg_tp03.nii.gz')

# Get list of processed time points
time_points = p.get_time_points()
print(f'Processed time points: {time_points}')

Using 4D Segmentation Input

If your reference segmentation is already embedded in a 4D image, use -sr4 instead of -sr3:

from picsl_greedy import Propagation
import SimpleITK as sitk

img4d = sitk.ReadImage('img4d.nii.gz')
seg4d_sparse = sitk.ReadImage('seg4d_sparse.nii.gz')  # Only time point 5 has segmentation

p = Propagation()

p.run('-i my_img4d '
      '-sr4 my_seg4d '
      '-tpr 5 '
      '-tpt 1,2,3,4,6,7,8,9 '
      '-n 100x100 -m SSD',
      my_img4d=img4d, my_seg4d=seg4d_sparse)

# Get complete 4D segmentation
seg4d_complete = p['seg4d']

Command Line Options

Option Description
-i <image> 4D input image
-sr3 <image> 3D reference segmentation at reference time point
-sr4 <image> 4D reference segmentation (only reference time point used)
-tpr <int> Reference time point
-tpt <list> Target time points (comma-separated)
-o <dir> Output directory (for file-based output)
-sr-op <pattern> Output filename pattern, e.g., Seg_%02d.nii.gz
-n <schedule> Multi-resolution schedule (default: 100x100)
-m <metric> Registration metric: SSD, NCC, NMI (default: SSD)
-s <sigmas> Smoothing kernels (default: 3mm 1.5mm)
-dof <int> Affine degrees of freedom (default: 12)
-threads <int> Number of threads
-V <0|1|2> Verbosity level

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

picsl_greedy-0.0.12-pp310-pypy310_pp73-win_amd64.whl (18.3 MB view details)

Uploaded PyPyWindows x86-64

picsl_greedy-0.0.12-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (39.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

picsl_greedy-0.0.12-pp310-pypy310_pp73-macosx_11_0_arm64.whl (28.2 MB view details)

Uploaded PyPymacOS 11.0+ ARM64

picsl_greedy-0.0.12-pp310-pypy310_pp73-macosx_10_15_x86_64.whl (34.2 MB view details)

Uploaded PyPymacOS 10.15+ x86-64

picsl_greedy-0.0.12-pp39-pypy39_pp73-win_amd64.whl (18.3 MB view details)

Uploaded PyPyWindows x86-64

picsl_greedy-0.0.12-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (39.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

picsl_greedy-0.0.12-pp39-pypy39_pp73-macosx_11_0_arm64.whl (28.2 MB view details)

Uploaded PyPymacOS 11.0+ ARM64

picsl_greedy-0.0.12-pp39-pypy39_pp73-macosx_10_15_x86_64.whl (34.2 MB view details)

Uploaded PyPymacOS 10.15+ x86-64

picsl_greedy-0.0.12-pp38-pypy38_pp73-win_amd64.whl (18.3 MB view details)

Uploaded PyPyWindows x86-64

picsl_greedy-0.0.12-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (39.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

picsl_greedy-0.0.12-pp38-pypy38_pp73-macosx_11_0_arm64.whl (28.2 MB view details)

Uploaded PyPymacOS 11.0+ ARM64

picsl_greedy-0.0.12-pp38-pypy38_pp73-macosx_10_13_x86_64.whl (34.2 MB view details)

Uploaded PyPymacOS 10.13+ x86-64

picsl_greedy-0.0.12-cp313-cp313-win_amd64.whl (18.2 MB view details)

Uploaded CPython 3.13Windows x86-64

picsl_greedy-0.0.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (39.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

picsl_greedy-0.0.12-cp313-cp313-macosx_11_0_arm64.whl (28.2 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

picsl_greedy-0.0.12-cp313-cp313-macosx_10_13_x86_64.whl (34.2 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

picsl_greedy-0.0.12-cp312-cp312-win_amd64.whl (18.2 MB view details)

Uploaded CPython 3.12Windows x86-64

picsl_greedy-0.0.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (39.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

picsl_greedy-0.0.12-cp312-cp312-macosx_11_0_arm64.whl (28.2 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

picsl_greedy-0.0.12-cp312-cp312-macosx_10_13_x86_64.whl (34.2 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

picsl_greedy-0.0.12-cp311-cp311-win_amd64.whl (18.2 MB view details)

Uploaded CPython 3.11Windows x86-64

picsl_greedy-0.0.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (39.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

picsl_greedy-0.0.12-cp311-cp311-macosx_11_0_arm64.whl (28.2 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

picsl_greedy-0.0.12-cp311-cp311-macosx_10_13_x86_64.whl (34.2 MB view details)

Uploaded CPython 3.11macOS 10.13+ x86-64

picsl_greedy-0.0.12-cp310-cp310-win_amd64.whl (18.2 MB view details)

Uploaded CPython 3.10Windows x86-64

picsl_greedy-0.0.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (39.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

picsl_greedy-0.0.12-cp310-cp310-macosx_11_0_arm64.whl (28.2 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

picsl_greedy-0.0.12-cp310-cp310-macosx_10_13_x86_64.whl (34.2 MB view details)

Uploaded CPython 3.10macOS 10.13+ x86-64

picsl_greedy-0.0.12-cp39-cp39-win_amd64.whl (18.2 MB view details)

Uploaded CPython 3.9Windows x86-64

picsl_greedy-0.0.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (39.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

picsl_greedy-0.0.12-cp39-cp39-macosx_11_0_arm64.whl (28.2 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

picsl_greedy-0.0.12-cp39-cp39-macosx_10_13_x86_64.whl (34.2 MB view details)

Uploaded CPython 3.9macOS 10.13+ x86-64

picsl_greedy-0.0.12-cp38-cp38-win_amd64.whl (18.3 MB view details)

Uploaded CPython 3.8Windows x86-64

picsl_greedy-0.0.12-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (39.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

picsl_greedy-0.0.12-cp38-cp38-macosx_11_0_arm64.whl (28.2 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

picsl_greedy-0.0.12-cp38-cp38-macosx_10_13_x86_64.whl (34.2 MB view details)

Uploaded CPython 3.8macOS 10.13+ x86-64

File details

Details for the file picsl_greedy-0.0.12-pp310-pypy310_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 2dba01cb8c29bc8aa2ddb57f9b573d7e9a6fbaeef37e2f05301e89b77a0291d3
MD5 c865ee6a006def589e3787475f2cc1f2
BLAKE2b-256 5bc40e345bb0e2b474c317b50a4a5f7553181a448f2ef9ee96bf5b10d8cf2ff2

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-pp310-pypy310_pp73-win_amd64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e90b52ecd0ffb839c3c11f9fd4d454512821102461d25be71b6d04ab3be611ac
MD5 04688d9668962b1e7936d9fb1eaf00b2
BLAKE2b-256 c2e5b3a5004852b7de0ac20df0e6a6fef29e81182a17a4716c10df36af9e427c

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-pp310-pypy310_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0aad97795db6b824fcd97bb323fe580a43a732d44d2a5923831faa7a7c859d8c
MD5 1db4848a6819035efd00ea8cdb7be4d3
BLAKE2b-256 874f5ca7d22f89e5a28854197543c660a09bb9d6b2bd7d97ba18f6f5f48cba3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-pp310-pypy310_pp73-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-pp310-pypy310_pp73-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 66fde733055ed28e28ad7c9926754d3c8b73790b0fa94cc315dffb3a5bfa004c
MD5 59d45ed63bd4d1175098f63dac218160
BLAKE2b-256 7590ac2f4241ec2a93daec626305825a66455e8b2deebfb812734d9d7925ef7e

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-pp310-pypy310_pp73-macosx_10_15_x86_64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-pp39-pypy39_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 e33329fded490bfb14df7124e04f43bb2353da4b4037d16e1db77bd7d1d2982d
MD5 95b342c83bfbaafda6cd4fb1bc9ddfa3
BLAKE2b-256 7b8befbceb94bbb3dae3fb71c7c70674fe409f739f1d5005090ef33c7133b99a

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-pp39-pypy39_pp73-win_amd64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 224eb89458f7af675ccaa8b399b5afb0dc6b32a8a5ace8c1cd2f08824e8d974c
MD5 c0858af4e402e0f8af526250eb8cd662
BLAKE2b-256 50352f2f9ab1b1f0e2562ad08ff699fa9f47ac0310d2396851dde28142feb9fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-pp39-pypy39_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c3032416d358495d88cf042adfd35a5146e951192c9a34274ec5828cbecbe8c6
MD5 0070a47d415f3658efff53add4106d69
BLAKE2b-256 4edb089864f17acbec83dc4c93e4ccdde1c9fc13eeadcec6f4385bb87ce96ce3

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-pp39-pypy39_pp73-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-pp39-pypy39_pp73-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-pp39-pypy39_pp73-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 c7fe924abfd745649ad220224eedeb824a8acf7ccbbf2e3f11541ce3acc364cc
MD5 f77c165d2a21767680e4f42643cfb91a
BLAKE2b-256 2d5f1692b3cc8736ba6f79f26958f4bc5b353805f88a165f6ec4fb31fce691a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-pp39-pypy39_pp73-macosx_10_15_x86_64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-pp38-pypy38_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 c4ddf8e9fb07c617e7d333db30de5d0f4a83612b2c1463393109b899bbdcf5f6
MD5 4ad7c22cc2121913e10f4ffc151a541a
BLAKE2b-256 a8980c441521c0a18e0bb1b2956e9ca88d464df3560069008c924ce862e9b5d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-pp38-pypy38_pp73-win_amd64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e6c0c5e0319b8970a837b918232fb036d856ee0016ea704751fba08ffe9c5002
MD5 c77773c895f77f69e0b148a506fc2214
BLAKE2b-256 8cb5250e322e2c5e3b18023e8627586b60f921edf65b37404bab473a355a0848

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-pp38-pypy38_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-pp38-pypy38_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5a17d6550e4df0746428f76030ec599eed9fa273231f8c7c78b5b78bc96703d0
MD5 99f91a8dc18e9fcc9a7ddaaf98810233
BLAKE2b-256 82643480eaa5fa6683eecdafaf9b4ad15e56bfa8f34bc04eecd245bb06552c72

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-pp38-pypy38_pp73-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-pp38-pypy38_pp73-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-pp38-pypy38_pp73-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 22b2fcefea1a292907e481f96faf1b3b3ff8699a515bcf0bc40d16f9fa829070
MD5 b8f75bd70b078c520c2f4db1ac23b409
BLAKE2b-256 d247c3ad506c08029b1e10217ef8023d8f7e7071894b1b96423a31f3ca08c240

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-pp38-pypy38_pp73-macosx_10_13_x86_64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 fa23d6ddf0c657601d67c2365f0363d2a3bb699991196c0d33ceea889c1422ac
MD5 e8a6afd5a242302fe9c1b85268fcbd37
BLAKE2b-256 7b1fe988288da33f19105008c8fefb01c75ca60ffb5d23ce70710fe7cdfe6e18

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-cp313-cp313-win_amd64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b33697342821e22a2c7b46d1f30b4e32946df14dc63a2c022d2120ec1103418c
MD5 b6d803135027e0755e8f58f3f46f281d
BLAKE2b-256 69767a119dde586752abc04ee7d21a6f79698e4714f32931cf4b93fb7242c511

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 115f9496ba672e09984d33201c58cbddf7536b591f9b994a17d07fbc5329e9cc
MD5 00b91a6f5b08536bd28da1a724554db8
BLAKE2b-256 86f45b0c2a7b99b877734779ed26f1ce56369662756a10039dde59ee2804c53e

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 da0a2937ad6f5fdc0c92560f5a0902ba38ea52e4be351eab35b7da8e0a1b6f27
MD5 eb118f2f7d714357f787add040ec3800
BLAKE2b-256 7e653a7dd7ee6c7fc10902d04b50c01ef5c6bd00e7309aece50908b6f81992c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 bef532a884fd70a81a6e10f3eb26fa326265935d7fc010f8465b48c28f87ded7
MD5 d5d663940f2c2706ff4a7df62c26d0e6
BLAKE2b-256 3b51ca20557ad77a8442e1d38e33c88ff7029671ee00561d07b8b924a00a243a

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-cp312-cp312-win_amd64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d8f4894cb0c7929308ecd8b4d9465f6ce0980f8e8857ab2a44904661558a6c78
MD5 296c5ffee33296f31d329b036f2382ec
BLAKE2b-256 cf7006f3e9b472dd3efcb0a1708c1b791dfecc4bb37c0571bada51adcb05c58f

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a2a35f90587a1b416c9e1c550361421f5932a7085983d94e2bd51efdfac69f2f
MD5 b2cf2086acc47fe4a956285f8b9f83b2
BLAKE2b-256 cc28c7d3356ea9872a1cfc26b76a5616263758c2a0f2de79b424a6932a7fc9bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 565a860058eac57655c54c5c62346e6584a5b4284554147fc0f8af80302a6b60
MD5 9d64f2ac213aee0509525b8caeaa62e1
BLAKE2b-256 df913a3662ab271b6cfda88e0661fd894b0d40f6c992b59921cf7fcd70b17183

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9b5120ab7c71730497eac466cc44f7685d2efd1cb5a7f1ba006ca2dcf2bfd121
MD5 0c62649ab99f5079e0259817e7b4afc0
BLAKE2b-256 a2e2997f1f286b9c3400dde0eba9f85780d8fbdf17e5cefe42b1235d6ffb21bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-cp311-cp311-win_amd64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c62658b90647d23f5b800dc713e1aec40fcb00e59a6c153293b0c4cecf44fa82
MD5 b762a55481fade468c4460166f69b3e2
BLAKE2b-256 35027b0b7cc2b1f0855b50e0f66eb29dc420872dd74b544fd2f394e0623e43b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 53c0222e3415f856a4f5bc48d3a5d833771fa3ef91fd26aea9b413a675bd84ce
MD5 52401e704e6512ae78ed4d8378b92123
BLAKE2b-256 3f70504fd97c26f26dade44846a858ea42eccf014737843ace0bcd4a1448c148

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-cp311-cp311-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-cp311-cp311-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 57c2c6ccf5245bc95819caa65a31537719abee177e6f6a75db2d4765e919f1ad
MD5 63091460199a724a86ef5db93067ebf2
BLAKE2b-256 8decd037d18f33c38f98757902183d52fc89b47d60234b8af64bf051b2aa0483

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-cp311-cp311-macosx_10_13_x86_64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0cddcd65513d269338a52636b0a3d76d8518f752301c790c8fc5bab6befbd232
MD5 ff354f7f80d078993278c08d55a4a8eb
BLAKE2b-256 9231450482692d2e52ecb06105289021c41988454a95abff0c121b6431f73c6d

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-cp310-cp310-win_amd64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c2a7c1b54dbfc95e97e5196360fb7eab2bb170c1c9bcb7b41de4346b8a24005d
MD5 a40db84fe7cf2f6bcb0bd24aa8d52326
BLAKE2b-256 c497c887ba1eeadaabadbbc08b01aeb2b1ad9e2e1eee3d845dce778bfa1622d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 16cd2d8c114c3dc679a4428176335b99c174efd55891df5b7b7d67c4f764bbe1
MD5 e85dee0f5c5d91d2ce75d76884daca3e
BLAKE2b-256 4bb3ead42e0b528ee7834be30b963efb554cc2b5cbd9d8404593003aca982da5

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-cp310-cp310-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-cp310-cp310-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 f1a7ad24808b0e234f5c13a5cf4dd4930bfa98eea0b3555dd4a0fb0bff7dbbe0
MD5 7c50d0a916df68569d420d2c0200bb2d
BLAKE2b-256 ae69c0f7fe6f0a31e7b01c30ca60870340fae220b3fe12c05cb881353b7aed6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-cp310-cp310-macosx_10_13_x86_64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 6d094fea5fb9babafb7ac2f62038793135ceabf02431c97e8f99a0790a22e8e6
MD5 04124853a272d5e56121dfb59abcd38b
BLAKE2b-256 d2f451a48fb79dfafc5d5b3ca86f6957072c167eabaa8ec08c77483c58ff6b81

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-cp39-cp39-win_amd64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 eba214a7236cada707a4bfeefdc57dd2393060501272c342e3c4fe90417c08ae
MD5 4a3cd3c288270d752ebebb56cdb2f2da
BLAKE2b-256 76bd5463044c47a6d98cfd1626539d69dcb81226fd62edfaa9ffff36e173c604

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 83cf151e7ce2924d3ef653cbb9decf32628b78c179ce7dc5b9142c95a5710b9e
MD5 5a03ea60255d7d520206370fb3fbf853
BLAKE2b-256 2b74c188a04b1594c05e7d15cac2b56d77b43be15e76b7ab800b9affbe3e0845

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-cp39-cp39-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-cp39-cp39-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 3840f86dbd1cc17636a1aaacfc5c372c5c72156bbd2f6552698c2d6111f12d80
MD5 c3f760ad85bf4a10ce189c61ac7938e5
BLAKE2b-256 df211d73f694d30645298edc6be8d135ff4adc14b66266a9bd903af33aef83c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-cp39-cp39-macosx_10_13_x86_64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 909c6be0dab01a4e84a4a77f239e2cc05474dbf30c3fbb7702768ccd27694d76
MD5 39cb240b1ea70fa586e730dbc72b97bb
BLAKE2b-256 b981687073ce9ceee438b923522d2e42001290fae201dd50c96259181da0b34d

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-cp38-cp38-win_amd64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 30abcd367e4a39b4f6e8d8fee859daed975196e883f1eef6a5091b07cda957a0
MD5 701258cef719861ca7caac525d7214bf
BLAKE2b-256 654066ffc2048d41bebf5c02fc9941d082ca7392280bb52015f206618cd2f283

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ccd9259133d25bd179df16d0671ab4ae380a44ae602f268ac96084e448cf2f08
MD5 785ea82469a7d961b650c9ee9e0eaf39
BLAKE2b-256 ac646e3a301731dbc9455d992a001f048bce88b5742bab2571fba884224bbc50

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-cp38-cp38-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file picsl_greedy-0.0.12-cp38-cp38-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for picsl_greedy-0.0.12-cp38-cp38-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 0dfe075fcf31a5beb5e3ccd305c60f5d7126df4317f999da553ccad1d1062a44
MD5 ccd91342c0e14dfa04e7c393eda9eb10
BLAKE2b-256 c8eb943bd2cd36db4b88f73ef419ba4d35f333a5622f6f6d1b22f051c53ae893

See more details on using hashes here.

Provenance

The following attestation bundles were made for picsl_greedy-0.0.12-cp38-cp38-macosx_10_13_x86_64.whl:

Publisher: build_wheels.yml on pyushkevich/greedy_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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