Skip to main content

Morphological image processing for 3D multi-label images.

Project description

Automated Tests PyPI version

fastmorph: multilabel 3D morphological image processing functions.

This is a collection of morphological 3D image operations that are tuned for working with dense 3D labeled images.

We provide the following multithreaded (except where noted) operations:

  • Multi-Label Stenciled Dilation, Erosion, Opening, Closing
  • Grayscale Stenciled Dilation, Erosion, Opening, Closing
  • Multi-Label Spherical Erosion, Dilation, Opening, and Closing
  • Multi-Label Fill Voids (mostly single threaded)

Highlights compared to other libraries:

  • Handles multi-labeled images
  • Multithreaded
  • High performance single-threaded
  • Low memory usage
  • Dilate computes mode of surrounding labels

Disadvantages versus other libraries:

  • Stencil (structuring element) is fixed size 3x3x3 and all on.

Installation

The "spherical" extra dependency enables multilabel spherical dilation, opening, and closing by installing scipy.

pip install "fastmorph[spherical]"

Examples

import fastmorph

# may be binary or unsigned integer 2D or 3D image
labels = np.load("my_labels.npy")


# multi-label capable morphological operators
# they use a 3x3x3 all on structuring element
# dilate picks the mode of surrounding labels

# by default only background (0) labels are filled
morphed = fastmorph.dilate(labels, parallel=2)
# processes every voxel
morphed = fastmorph.dilate(labels, background_only=False, parallel=2)

morphed = fastmorph.erode(labels)
morphed = fastmorph.opening(labels, parallel=2)
morphed = fastmorph.closing(labels, parallel=2)

# You can select grayscale dilation, erosion, opening, and 
# closing by passing in a different Mode enum.
# The options are Mode.grey and Mode.multilabel
morphed = fastmorph.dilate(labels, mode=fastmorph.Mode.grey)
morphed = fastmorph.erode(labels, mode=fastmorph.Mode.grey)

# Radius is specified in physical units, but
# by default anisotropy = (1,1,1) so it is the 
# same as voxels.
morphed = fastmorph.spherical_dilate(labels, radius=1, parallel=2, anisotropy=(1,1,1))
morphed = fastmorph.spherical_open(labels, radius=1, parallel=2, anisotropy=(1,1,1))
morphed = fastmorph.spherical_close(labels, radius=1, parallel=2, anisotropy=(1,1,1))
morphed = fastmorph.spherical_erode(labels, radius=1, parallel=2, anisotropy=(1,1,1))

# Rapid multilabel hole filling. There are two versions that use different techniques
# and have different interfaces for their "aggressive" modes. Both modes fill
# holes appropriately by default.
#
# Generally speaking, fill_holes_v2 will be much faster. v2 uses a 
# mostly linear time contact graph analysis. v1 analyzes a sequence 
# of binary images. v2 exhibits much better scaling behavior and supports 
# returning the filled and hole labels as  CrackleArray compressed objects 
# to save memory.
# 
# The main advantage of v1 is that it includes a morphological closure mode
# that operates on voxels for closing small holes. The downside is that this
# can modify the surface of the object.
#
# v2 allows merging holes that are less than 100% closed, but if this
# threshold is set too high, holes won't be closed. If it is too low,
# improper merging can occur. 
# 
# In both methods, objects that contact the sides or more than one side
# (in the case of fix_borders) cannot be merged.

filled_labels, hole_labels = fastmorph.fill_holes_v2(labels)
# requires: pip install crackle-codec
# returns as compressed CrackleArrays that have speedy access to labels 
# in the compressed state (often hundreds of times smaller than the full array)
filled_labels, hole_labels = fastmorph.fill_holes_v2(labels, return_crackle=True)

# fix_borders runs hole filling for each object on the edge to reduce edge contacts
filled_labels, hole_labels = fastmorph.fill_holes_v2(labels, fix_borders=True)

# merge_threshold (range 0.0 - 1.0) controls how much surface area can be 
# "exposed" for a hole to still be filled. The default (1.0) means a hole
# must be perfectly sealed (typical for hole filling algorithms).
filled_labels, hole_labels = fastmorph.fill_holes_v2(labels, merge_threshold=0.97)

# Note: for boolean images, this function will directly call fill_voids
# and return a scalar for ct 
# For integer images, more processing will be done to deal with multiple labels.
# A dict of { label: num_voxels_filled } for integer images will be returned.
# Note that for multilabel images, by default, if a label is totally enclosed by another,
# a FillError will be raised. If remove_enclosed is True, the label will be overwritten.
filled_labels, ct = fastmorph.fill_holes_v1(labels, return_fill_count=True, remove_enclosed=False)

# If the holes in your segmentation are imperfectly sealed, consider
# using the following options.
filled_labels = fastmorph.fill_holes_v1(
	labels, 
	# runs 2d fill on the sides of the cube for each binary image
	fix_borders=True, 
	# does a dilate and then an erode after filling holes
	morphological_closing=True,
)

Performance

A test run on an M1 Macbook Pro on connectomics.npy.ckl, a 5123 volume with over 2000 dense labels had the following results for multilabel processing.

erode / 1 thread: 1.553 sec
erode / 2 threads: 0.885 sec
erode / 4 threads: 0.651 sec
dilate / background_only=True / 1 thread: 1.100 sec
dilate / background_only=True / 2 threads: 0.632 sec
dilate / background_only=True / 4 threads: 0.441 sec
dilate / background_only=False / 1 thread: 11.783 sec
dilate / background_only=False / 2 threads: 5.944 sec
dilate / background_only=False / 4 threads: 4.291 sec
dilate / background_only=False / 8 threads: 3.298 sec
scipy grey_dilation / 1 thread 14.648 sec
scipy grey_erode / 1 thread: 14.412 sec
skimage expand_labels / 1 thread: 62.248 sec

Test run on an M1 Macbook Pro with ws.npy.ckl a 5123 volume with tens of thousands of components for multilabel processing.

erode / 1 thread: 2.380 sec
erode / 2 threads: 1.479 sec
erode / 4 threads: 1.164 sec
dilate / background_only=True / 1 thread: 1.598 sec
dilate / background_only=True / 2 threads: 1.011 sec
dilate / background_only=True / 4 threads: 0.805 sec
dilate / background_only=False / 1 thread: 25.182 sec
dilate / background_only=False / 2 threads: 13.513 sec
dilate / background_only=False / 4 threads: 8.749 sec
dilate / background_only=False / 8 threads: 6.640 sec
scipy grey_dilation / 1 thread 21.109 sec
scipy grey_erode / 1 thread: 20.305 sec
skimage expand_labels / 1 thread: 63.247 sec

Here is the performance on a completely zeroed 5123 volume for multilabel processing.

erode / 1 thread: 0.462 sec
erode / 2 threads: 0.289 sec
erode / 4 threads: 0.229 sec
dilate / background_only=True / 1 thread: 2.337 sec
dilate / background_only=True / 2 threads: 1.344 sec
dilate / background_only=True / 4 threads: 1.021 sec
dilate / background_only=False / 1 thread: 2.267 sec
dilate / background_only=False / 2 threads: 1.251 sec
dilate / background_only=False / 4 threads: 0.944 sec
dilate / background_only=False / 8 threads: 0.718 sec
scipy grey_dilation / 1 thread 13.516 sec
scipy grey_erode / 1 thread: 13.326 sec
skimage expand_labels / 1 thread: 35.243 sec

Memory Profiles

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

fastmorph-1.8.0.tar.gz (37.4 kB view details)

Uploaded Source

Built Distributions

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

fastmorph-1.8.0-cp313-cp313-win_amd64.whl (184.1 kB view details)

Uploaded CPython 3.13Windows x86-64

fastmorph-1.8.0-cp313-cp313-win32.whl (202.9 kB view details)

Uploaded CPython 3.13Windows x86

fastmorph-1.8.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (356.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

fastmorph-1.8.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (332.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

fastmorph-1.8.0-cp313-cp313-macosx_11_0_arm64.whl (251.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

fastmorph-1.8.0-cp313-cp313-macosx_10_13_x86_64.whl (301.0 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

fastmorph-1.8.0-cp312-cp312-win_amd64.whl (184.1 kB view details)

Uploaded CPython 3.12Windows x86-64

fastmorph-1.8.0-cp312-cp312-win32.whl (202.9 kB view details)

Uploaded CPython 3.12Windows x86

fastmorph-1.8.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (357.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

fastmorph-1.8.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (331.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

fastmorph-1.8.0-cp312-cp312-macosx_11_0_arm64.whl (251.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

fastmorph-1.8.0-cp312-cp312-macosx_10_13_x86_64.whl (301.0 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

fastmorph-1.8.0-cp311-cp311-win_amd64.whl (184.0 kB view details)

Uploaded CPython 3.11Windows x86-64

fastmorph-1.8.0-cp311-cp311-win32.whl (202.1 kB view details)

Uploaded CPython 3.11Windows x86

fastmorph-1.8.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (354.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

fastmorph-1.8.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (332.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

fastmorph-1.8.0-cp311-cp311-macosx_11_0_arm64.whl (251.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

fastmorph-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl (299.9 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

fastmorph-1.8.0-cp310-cp310-win_amd64.whl (181.8 kB view details)

Uploaded CPython 3.10Windows x86-64

fastmorph-1.8.0-cp310-cp310-win32.whl (200.9 kB view details)

Uploaded CPython 3.10Windows x86

fastmorph-1.8.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (352.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

fastmorph-1.8.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (334.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

fastmorph-1.8.0-cp310-cp310-macosx_11_0_arm64.whl (250.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

fastmorph-1.8.0-cp310-cp310-macosx_10_9_x86_64.whl (298.7 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

fastmorph-1.8.0-cp39-cp39-win_amd64.whl (184.7 kB view details)

Uploaded CPython 3.9Windows x86-64

fastmorph-1.8.0-cp39-cp39-win32.whl (201.1 kB view details)

Uploaded CPython 3.9Windows x86

fastmorph-1.8.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (354.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

fastmorph-1.8.0-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (333.1 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

fastmorph-1.8.0-cp39-cp39-macosx_11_0_arm64.whl (250.2 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

fastmorph-1.8.0-cp39-cp39-macosx_10_9_x86_64.whl (298.8 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

Details for the file fastmorph-1.8.0.tar.gz.

File metadata

  • Download URL: fastmorph-1.8.0.tar.gz
  • Upload date:
  • Size: 37.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for fastmorph-1.8.0.tar.gz
Algorithm Hash digest
SHA256 a42c54fbd5e84f635ccae5357897c1ee98ab06126717527c81f071109a09a29a
MD5 2d527c40111112d6aec37e047c783a47
BLAKE2b-256 0cf6cbd98a7ecc6c34d3dab020f6f5c7a5265800d7bd233441e49f80797b4533

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: fastmorph-1.8.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 184.1 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for fastmorph-1.8.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 831bbc9dcf8660c9876cd61bf9de10f9424c2c5654869338097c31e53e3af36f
MD5 b7b2df005f342e0c8e6ed0b2ab7e9918
BLAKE2b-256 5c724559cc2e06e665f967fa23eebc0af66c1eeb461a71463c1dde202e0a0cd0

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp313-cp313-win32.whl.

File metadata

  • Download URL: fastmorph-1.8.0-cp313-cp313-win32.whl
  • Upload date:
  • Size: 202.9 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for fastmorph-1.8.0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 8f926faa01b62ec3d4f9f0311eee08890c5b7aae871e34a71e391a7aeb461a7f
MD5 1cbeb16b773275ed3aa22c18e42bd00b
BLAKE2b-256 bd567f6ed7d5b3e1b11adbd44bb1bf4811c6da94d36ba5ff6f461180c648f22d

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastmorph-1.8.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 135dd10d56c6b00b1a4903256d9680bd093995e603294a8c3ba56f9132b0d93e
MD5 1e36f7e0c49a92d620b7c95de7f8e507
BLAKE2b-256 8d3e103cee06bf8716508bb5b348c49fc0776a80adef4d24880917ef3214ee0f

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastmorph-1.8.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6a12f0f05deb13dcf52505665f273c6f7baf16bb512294cc7511e42a5a3b99f7
MD5 02b9de11f0248463e544fc6dff48f03a
BLAKE2b-256 6a972014f047ef2ff49d8088f2429b6b7f37138bfbc513e6316c09c5b05c5f9e

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastmorph-1.8.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 506f0a7bad7639847afcc0eb118d7d82ea900fb1587c18e4fb33c593f45e5282
MD5 e76fde25b6d08d3ea5d32033854bdf59
BLAKE2b-256 3efd2c3fd2ed64ed47f4140c547e817193efb49e96a85313fa943306059c5b3e

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for fastmorph-1.8.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 dc17a7e734150ba9bc443c91db2e6d162a39430b4b1ae35606281bb07a6cb7c3
MD5 63c2c754723a6e8201b1b76ada1851c5
BLAKE2b-256 8c2c57288773c5519fc11b1ff75804b5e4cd90b7f6a2694b9217b6695cddeeea

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: fastmorph-1.8.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 184.1 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for fastmorph-1.8.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fa32c3df02dc8ade053b5c38096cafbd44b21d0f7233f1dd38e975817b0b2275
MD5 e22b93e5fcda1e3c32b76ef18e0c33e4
BLAKE2b-256 93717a0babde0367e6deff99462cd2394973a8bfdedf1811ea902d87b1f06ba1

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp312-cp312-win32.whl.

File metadata

  • Download URL: fastmorph-1.8.0-cp312-cp312-win32.whl
  • Upload date:
  • Size: 202.9 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for fastmorph-1.8.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 a5ee13145897c5e2c700a7d48e33915ec1cc3d334a6f33db7af43d262a59d246
MD5 1adf24e0cd0c1f8743458caf85a57169
BLAKE2b-256 11add1a29ac077adc6817994578256d9f0e4dce4fd1de6544be08895fcc21593

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastmorph-1.8.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d393267600fd0901cd005b56987c35418eaddbd3381c4120e437dbff6f2e18d0
MD5 f3b7d78c0ad0d0ea11900468a2321fb5
BLAKE2b-256 d7650e8b17e23b3efa683246f3c1123acc64e3c9f1fc04c805686b0058450051

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastmorph-1.8.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d5ba19bba93f5cdb81cf1cda647241d25505ccb3c70cbcb66fdacda3aad0c7be
MD5 8e4a76f74b26297dbda593a4e4e91a0f
BLAKE2b-256 8876c2853e0dea7dffc63958b24b4b7043ffa855df503ef9dae09d4e02934f55

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastmorph-1.8.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5ec37f13e3a3b8e9a45e7bada22d73c5f0a5da18614db64f71870e545b657dd5
MD5 fbf312223809baa28a3cc2db37663a88
BLAKE2b-256 f684ff8e07b2c5d8c16bcca56b6562e6bf26e9422178386bee607be1981d0adb

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for fastmorph-1.8.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 7b076d403e74e783ddf2c77cbb6e67065a97e67dd082441d255922328492696b
MD5 6a726c692e4cb66b75c10fbbe8e80340
BLAKE2b-256 e141f4a95d7ba135a0ff4f8e9e1330cb629bc7787735daadebf4941219261df8

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: fastmorph-1.8.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 184.0 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for fastmorph-1.8.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 df5a828d94d003a8684b6ce8ff858c420e74166f1dd7f2b90005f4e8cd9fd07c
MD5 ed8e54d5f8ed49af4f7e049970284fc4
BLAKE2b-256 1de763a08e2d0a4491c9aff0eb37877be67b5c56d8e2a0d75c9494e1647a8717

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp311-cp311-win32.whl.

File metadata

  • Download URL: fastmorph-1.8.0-cp311-cp311-win32.whl
  • Upload date:
  • Size: 202.1 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for fastmorph-1.8.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 6f3543b88f577cacd421e7023b42db567ca5f58b024676ac3b0382c65003463b
MD5 6ca72897a03d6160e23fc2843ab8dd18
BLAKE2b-256 97dad3d1ef44146400a9d8a9555b4f849a87b2b5141442bfc9e76eb34f45fbc1

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastmorph-1.8.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 07e1a1243ddf39f2051fb20c71a1f18f0cf830a69ab65253e5ee056ba5055a7c
MD5 8d22866d6bd9b221bc90e8e481ebdf2d
BLAKE2b-256 5b4f493dd0165cbbfcc61be855122688c2bcd4197248a6e2b1f8f03a2ad66811

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastmorph-1.8.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b872e14cb7ff67ba4116fee4387380fce6674dc7a2906511e48d1d31f0def7b6
MD5 11eb83f2a5c1ec75921fc49b653fdd7e
BLAKE2b-256 fe6a5c28dbdac4f90d0f81a688f98986d90ec79d8c6d30251c12feffb375f0fe

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastmorph-1.8.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f5c76cb15d46bf4dcd508a260b019a0839c59f212298b8aefeabe920f11b5b90
MD5 044d21c968d74ea235a7f6f79b537586
BLAKE2b-256 e26e2412570a243ed23e682e67215030dd4be8cac072b6d62e470692c38d10aa

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fastmorph-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9a2de5d41f60ee4e15146de5b923bd37bba806d74425d1480f18e8a0e2fc88c8
MD5 7381e500f445bf01e5a19553b40f2079
BLAKE2b-256 84ea53d6613165772d0e729082b71b96642342037e917c5c7bebc457017c2b92

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: fastmorph-1.8.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 181.8 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for fastmorph-1.8.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 53cdc8c404ccf7d4d7a4be6f90a3e62e11d9f51da6b07b9af0664624d6631484
MD5 e21275e4f522ebcf2020c55f96fa0213
BLAKE2b-256 f39b5f28d8319646f055c7226db53b8e530a3439c6b6a61d9d699fbab0401623

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp310-cp310-win32.whl.

File metadata

  • Download URL: fastmorph-1.8.0-cp310-cp310-win32.whl
  • Upload date:
  • Size: 200.9 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for fastmorph-1.8.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 23118557963ec9e82eced97f67acaa6e2f156952f605c8968cfadb1db98232ee
MD5 493bf799931e57eb97152f805140119d
BLAKE2b-256 4d16cd2b28d8cac943a68dc3ec9b5f25d6429b45c3936fc5709f2a9c0e18e09e

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastmorph-1.8.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3d01fd40586661474b0e2b650d106fafc263a7873976ed07aeb09236bf31d3a7
MD5 055aea2096b690de35071d3e9658fe9b
BLAKE2b-256 d2bcec96fcce99b27e8a214d15fc4000b60f23ad555638de58d43002c5229af6

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastmorph-1.8.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 27bf47704b9c0edfebf6a83eb7be497a2168866aa0a397abfbef4935416d62a4
MD5 8e5420e105b935a8a0d242f7f7b0aea8
BLAKE2b-256 c1feefceaf38cf84996d320a0dcb776b967e74b8505c3ea20fb922b56f6bd37a

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastmorph-1.8.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7fd95d2587e7cf0a7c01f9484722092a9f04fc953e2eb38047a2eb4ede97f999
MD5 8129bf5ecb1f260bb35093a9f5502339
BLAKE2b-256 4641892d88eb976dafd3909154ce2247e648b20035ef9f7a44645766a754a7c8

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fastmorph-1.8.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 00897c6a5b452f14cc68219b9337d2a74ae62e0c8c2b5034bd1dbb5fc332bc80
MD5 d6a13835ac1abb1fc20f0b3b49be982f
BLAKE2b-256 a4293c7d4e0227f7dda9e8be59f61b154281a10f8d4ac2bef80de30cbe6b5297

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: fastmorph-1.8.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 184.7 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for fastmorph-1.8.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 5304adf1ba282ea4e6913bf87ed64535e3afb0472705120ec89af87b539dc900
MD5 8932845d31a27369ec4f3db0e11508ad
BLAKE2b-256 e22829ccb1a82617aaec05252e6bcdd18a0e5d4bbdfd855ad9dcbb8862bf10d3

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp39-cp39-win32.whl.

File metadata

  • Download URL: fastmorph-1.8.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 201.1 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for fastmorph-1.8.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 aadbff6759f09e2b95192eca15d3442e8076e63c9ecdf48c61ad3f7954a0e158
MD5 6a9eae5c36a294266704b46f08914099
BLAKE2b-256 1c3def630c9fda7748d3241481cdfc16f37835703e92fb62212b1da8351fc8e3

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastmorph-1.8.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3157f4ff37b45b88646e5f17e2e1c7749d00d17abe6ac6ff03f0eeb8d1a253c6
MD5 3f90e205f03cb2c601ab17e392abfabb
BLAKE2b-256 6fa0529b6eebdf2fc7b3fe18c3511b709bf8452b3346bdc47e94bc8cf6e05a98

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastmorph-1.8.0-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 78ca5e761a06a997cbd5be4ba5ad520f9db2306512facf489acb477c962f73f9
MD5 4bb23f66cb154a071a32ea6c434d3783
BLAKE2b-256 d0a2b070a60fb5a757c4aa29d7c83a4c97e7f85c87c987d2cde631f9458b7bf2

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastmorph-1.8.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 795a43ea0cfc761c4342f4fe76c55c918d3da40082e650ca7e3f10d9bef5db69
MD5 89a02505d4d3ac2f7f05d4414736b1ec
BLAKE2b-256 e7e5f6845dc8e2b1d87178dcc1bebc5fb8aa7f6c3735bcb7463e9014aca8b989

See more details on using hashes here.

File details

Details for the file fastmorph-1.8.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fastmorph-1.8.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0ec762dfa5583c8b6ac1499f58482ab9a6ce45df507de40c46174e900bc88f7e
MD5 e57b2bb0e1e75d68d9b3ebb0050df021
BLAKE2b-256 66335e370dc80ee0c551c6b6740d1134bf3311993e312b59112954bece467d8c

See more details on using hashes here.

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