Skip to main content

Remap, mask, renumber, unique, and in-place transposition of 3D labeled images. Point cloud too.

Project description

Build Status PyPI version

fastremap

Renumber and relabel Numpy arrays at C++ speed and physically convert rectangular Numpy arrays between C and Fortran order using an in-place transposition.

import fastremap

uniq, cts = fastremap.unique(labels, return_counts=True) # may be much faster than np.unique
labels, remapping = fastremap.renumber(labels, in_place=True) # relabel values from 1 and refit data type
ptc = fastremap.point_cloud(labels) # dict of coordinates by label

labels = fastremap.refit(labels) # resize the data type of the array to fit extrema
labels = fastremap.refit(labels, value=-35) # resize the data type to fit the value provided

# remap all occurances of 1 -> 2
labels = fastremap.remap(labels, { 1: 2 }, preserve_missing_labels=True, in_place=True)

labels = fastremap.mask(labels, [1,5,13]) # set all occurances of 1,5,13 to 0
labels = fastremap.mask_except(labels, [1,5,13]) # set all labels except 1,5,13 to 0

mapping = fastremap.component_map([ 1, 2, 3, 4 ], [ 5, 5, 6, 7 ]) # { 1: 5, 2: 5, 3: 6, 4: 7 }
mapping = fastremap.inverse_component_map([ 1, 2, 1, 3 ], [ 4, 4, 5, 6 ]) # { 1: [ 4, 5 ], 2: [ 4 ], 3: [ 6 ] }

fastremap.transpose(labels) # physically transpose labels in-place
fastremap.ascontiguousarray(labels) # try to perform a physical in-place transposition to C order
fastremap.asfortranarray(labels) # try to perform a physical in-place transposition to F order

minval, maxval = fastremap.minmax(labels) # faster version of (np.min(labels), np.max(labels))

# computes number of matching adjacent pixel pairs in an image
num_pairs = fastremap.pixel_pairs(labels)  
n_foreground = fastremap.foreground(labels) # number of nonzero voxels

All Available Functions

  • unique: Faster implementation of np.unique.
  • renumber: Relabel array from 1 to N which can often use smaller datatypes.
  • remap: Custom relabeling of values in an array from a dictionary.
  • refit: Resize the data type of an array to the smallest that can contain the most extreme values in it.
  • mask: Zero out labels in an array specified by a given list.
  • mask_except: Zero out all labels except those specified in a given list.
  • component_map: Extract an int-to-int dictionary mapping of labels from one image containing component labels to another parent labels.
  • inverse_component_map: Extract an int-to-list-of-ints dictionary mapping from an image containing groups of components to an image containing the components.
  • remap_from_array: Same as remap, but the map is an array where the key is the array index and the value is the value.
  • remap_from_array_kv: Same as remap, but the map consists of two equal sized arrays, the first containing keys, the second containing values.
  • asfortranarray: Perform an in-place matrix transposition for rectangular arrays if memory is contiguous, standard numpy otherwise.
  • ascontiguousarray: Perform an in-place matrix transposition for rectangular arrays if memory is contiguous, standard numpy algorithm otherwise.
  • minmax: Compute the min and max of an array in one pass.
  • pixel_pairs: Computes the number of adjacent matching memory locations in an image. A quick heuristic for understanding if the image statistics are roughly similar to a connectomics segmentation.
  • foreground: Count the number of non-zero voxels rapidly.
  • point_cloud: Get the X,Y,Z locations of each foreground voxel grouped by label.

pip Installation

pip install fastremap

If not, a C++ compiler is required.

pip install numpy
pip install fastremap --no-binary :all:

Manual Installation

A C++ compiler is required.

sudo apt-get install g++ python3-dev 
mkvirtualenv -p python3 fastremap
pip install numpy

# Choose one:
python setup.py develop  
python setup.py install 

The Problem of Remapping

Python loops are slow, so Numpy is often used to perform remapping on large arrays (hundreds of megabytes or gigabytes). In order to efficiently remap an array in Numpy you need a key-value array where the index is the key and the value is the contents of that index.

import numpy as np 

original = np.array([ 1, 3, 5, 5, 10 ])
remap = np.array([ 0, -5, 0, 6, 0, 0, 2, 0, 0, 0, -100 ])
# Keys:            0   1  2  3  4  5  6  7  8  9    10

remapped = remap[ original ]
>>> [ -5, 6, 2, 2, -100 ]

If there are 32 or 64 bit labels in the array, this becomes impractical as the size of the array can grow larger than RAM. Therefore, it would be helpful to be able to perform this mapping using a C speed loop. Numba can be used for this in some circumstances. However, this library provides an alternative.

import numpy as np
import fastremap 

mappings = {
  1: 100,
  2: 200,
  -3: 7,
}

arr = np.array([5, 1, 2, -5, -3, 10, 6])
# Custom remapping of -3, 5, and 6 leaving the rest alone
arr = fastremap.remap(arr, mappings, preserve_missing_labels=True) 
# result: [ 5, 100, 200, -5, 7, 10, 6 ]

The Problem of Renumbering

Sometimes a 64-bit array contains values that could be represented by an 8-bit array. However, similarly to the remapping problem, Python loops can be too slow to do this. Numpy doesn't provide a convenient way to do it either. Therefore this library provides an alternative solution.

import fastremap
import numpy as np

arr = np.array([ 283732875, 439238823, 283732875, 182812404, 0 ], dtype=np.int64) 

arr, remapping = fastremap.renumber(arr, preserve_zero=True) # Returns uint8 array
>>> arr = [ 1, 2, 1, 3, 0 ]
>>> remapping = { 0: 0, 283732875: 1, 439238823: 2, 182812404: 3 }

arr, remapping = fastremap.renumber(arr, preserve_zero=False) # Returns uint8 array
>>> arr = [ 1, 2, 1, 3, 4 ]
>>> remapping = { 0: 4, 283732875: 1, 439238823: 2, 182812404: 3 }

arr, remapping = fastremap.renumber(arr, preserve_zero=False, in_place=True) # Mutate arr to use less memory
>>> arr = [ 1, 2, 1, 3, 4 ]
>>> remapping = { 0: 4, 283732875: 1, 439238823: 2, 182812404: 3 }

The Problem of In-Place Transposition

When transitioning between different media, e.g. CPU to GPU, CPU to Network, CPU to disk, it's often necessary to physically transpose multi-dimensional arrays to reformat as C or Fortran order. Tranposing matrices is also a common action in linear algebra, but often you can get away with just changing the strides.

An out-of-place transposition is easy to write, and often faster, but it will spike peak memory consumption. This library grants the user the option of performing an in-place transposition which trades CPU time for peak memory usage. In the special case of square or cubic arrays, the in-place transpisition is both lower memory and faster.

  • fastremap.asfortranarray: Same as np.asfortranarray but will perform the transposition in-place for 1, 2, 3, and 4D arrays. 2D and 3D square matrices are faster to process than with Numpy.
  • fastremap.ascontiguousarray: Same as np.ascontiguousarray but will perform the transposition in-place for 1, 2, 3, and 4D arrays. 2D and 3D square matrices are faster to process than with Numpy.
import fastremap
import numpy as np 

arr = np.ones((512,512,512), dtype=np.float32)
arr = fastremap.asfortranarray(x)

arr = np.ones((512,512,512), dtype=np.float32, order='F')
arr = fastremap.ascontiguousarray(x)

C++ Usage

The in-place matrix transposition is implemented in ipt.hpp. If you're working in C++, you can also use it directly like so:

#include "ipt.hpp"

int main() {

  int sx = 128;
  int sy = 124;
  int sz = 103;
  int sw = 3;

  auto* arr = ....;

  // All primitive number types supported
  // The array will be modified in place, 
  // so these functions are void type.
  ipt::ipt<int>(arr, sx, sy);            // 2D
  ipt::ipt<float>(arr, sx, sy, sz);      // 3D
  ipt::ipt<double>(arr, sx, sy, sz, sw); // 4D

  return 0;
}

--
Made with <3

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

fastremap-1.12.0.tar.gz (399.4 kB view details)

Uploaded Source

Built Distributions

fastremap-1.12.0-cp39-cp39-win_amd64.whl (471.6 kB view details)

Uploaded CPython 3.9 Windows x86-64

fastremap-1.12.0-cp39-cp39-win32.whl (350.8 kB view details)

Uploaded CPython 3.9 Windows x86

fastremap-1.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

fastremap-1.12.0-cp39-cp39-macosx_10_9_universal2.whl (1.2 MB view details)

Uploaded CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)

fastremap-1.12.0-cp38-cp38-win_amd64.whl (474.0 kB view details)

Uploaded CPython 3.8 Windows x86-64

fastremap-1.12.0-cp38-cp38-win32.whl (355.4 kB view details)

Uploaded CPython 3.8 Windows x86

fastremap-1.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

fastremap-1.12.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

fastremap-1.12.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.5+ x86-64

fastremap-1.12.0-cp38-cp38-macosx_10_9_x86_64.whl (626.2 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

fastremap-1.12.0-cp37-cp37m-win_amd64.whl (450.7 kB view details)

Uploaded CPython 3.7m Windows x86-64

fastremap-1.12.0-cp37-cp37m-win32.whl (346.0 kB view details)

Uploaded CPython 3.7m Windows x86

fastremap-1.12.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

fastremap-1.12.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

fastremap-1.12.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.5+ x86-64

fastremap-1.12.0-cp36-cp36m-win_amd64.whl (450.3 kB view details)

Uploaded CPython 3.6m Windows x86-64

fastremap-1.12.0-cp36-cp36m-win32.whl (346.1 kB view details)

Uploaded CPython 3.6m Windows x86

fastremap-1.12.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

fastremap-1.12.0-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

fastremap-1.12.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.5+ x86-64

File details

Details for the file fastremap-1.12.0.tar.gz.

File metadata

  • Download URL: fastremap-1.12.0.tar.gz
  • Upload date:
  • Size: 399.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.8

File hashes

Hashes for fastremap-1.12.0.tar.gz
Algorithm Hash digest
SHA256 a870a5f587da3ada58fdd797400b18f07582a04a24ceaef73caa47027bcb5442
MD5 359ac077188d13a66d1a602f9c7bf258
BLAKE2b-256 3fceaeddf9e9c1c6ecf6dad994ed0b84324843489e9cd40a9377ab71c7a30979

See more details on using hashes here.

File details

Details for the file fastremap-1.12.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: fastremap-1.12.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 471.6 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.8

File hashes

Hashes for fastremap-1.12.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d68fcd0a537386345981397a585e29fae962f7927b65f0dff6777739f2a596cc
MD5 4cebac2c0fab28174ec9bb9be2fb16f6
BLAKE2b-256 6d44633d93d363f43f5c45bdf93102270692929afdd3a1b4ee7850ea529b7a2b

See more details on using hashes here.

File details

Details for the file fastremap-1.12.0-cp39-cp39-win32.whl.

File metadata

  • Download URL: fastremap-1.12.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 350.8 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.8

File hashes

Hashes for fastremap-1.12.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 965100362d7da87a3ed57aefd797d5836adb24b04a97900009b247e4075ab29e
MD5 09e8e75caa3d9dbf54129f45aea7e4be
BLAKE2b-256 ba6adaf341f85798b2ab2b5458b4c5d46850f506c4459e0231183ed5800e6d02

See more details on using hashes here.

File details

Details for the file fastremap-1.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fastremap-1.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c0e832d929d3fe5b128b654c6e54bd7559bf1abffc585f3738a13dc0156225a5
MD5 825178dffc0edae0dc326495ad3f9879
BLAKE2b-256 e352cf14ba7d859675aeb6f18829e8eeea334591172c3bcec2c883be42a987d9

See more details on using hashes here.

File details

Details for the file fastremap-1.12.0-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

  • Download URL: fastremap-1.12.0-cp39-cp39-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.9, macOS 10.9+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.8

File hashes

Hashes for fastremap-1.12.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2880eaf30513f89dd45f49b9649a443778edc18363693ef7fa2682c23cc857c3
MD5 5332f4ab592c1ac84821c7f0a7719d33
BLAKE2b-256 74079e11894f388784f7121fd885578d3371d169c7394ff3c2cf9a5e2cef8584

See more details on using hashes here.

File details

Details for the file fastremap-1.12.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: fastremap-1.12.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 474.0 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.8

File hashes

Hashes for fastremap-1.12.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 d7c33bc40e16df1ffea407aae419bbe0be3cd259e68560d87f065bbb9853f80f
MD5 41ddace4eeb3e92e9a5f7bbf3217f6a6
BLAKE2b-256 6a346404e216e585170e860f48c9b97a8228f633a350157dce15042f037055ac

See more details on using hashes here.

File details

Details for the file fastremap-1.12.0-cp38-cp38-win32.whl.

File metadata

  • Download URL: fastremap-1.12.0-cp38-cp38-win32.whl
  • Upload date:
  • Size: 355.4 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.8

File hashes

Hashes for fastremap-1.12.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 5f861c3f72f8e238676f19d01cf2341d711829a72f2a4770aeb48de0f7a6a960
MD5 d31dcad0c645b786ebf71a485ba44392
BLAKE2b-256 3385eb30e27a8b38659992177d61ac680a597dd68b200bf796e538e16e0c0101

See more details on using hashes here.

File details

Details for the file fastremap-1.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fastremap-1.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 39502d64fc67e5a138223698df15b1d3c85ab8d7262a90a8a6c16d52c7f255b4
MD5 2b191c70eac0409878c8afbc54b11806
BLAKE2b-256 fb3a07c5d78699ea699fc5c5af19fa505c3ee0deb35dc35a1ca270522669b65b

See more details on using hashes here.

File details

Details for the file fastremap-1.12.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for fastremap-1.12.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 7dfb4c2db4bf6685c966c6576bc3c5f7ecebbafc68866a2658c42c9b6f93be47
MD5 cd9ab29f8de278e9a0e17f9e3c3458b7
BLAKE2b-256 40cb500d286f7c273ede1ad6421bcf0cf0e458d938808d7586090458e5b7abc1

See more details on using hashes here.

File details

Details for the file fastremap-1.12.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for fastremap-1.12.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 539dda189d874c469e3462e9f316a8dd79a8ad1eed1ab6d5561a6ec682801b2d
MD5 dbca3b4f50aa375b03b8668d69b1fa45
BLAKE2b-256 e25cecaa6e975bf7be94db541145bca28933438391276c0f7359ebcd372322e2

See more details on using hashes here.

File details

Details for the file fastremap-1.12.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: fastremap-1.12.0-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 626.2 kB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.8

File hashes

Hashes for fastremap-1.12.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 078e0e2255370c2cea73f24c183ae81b8652a48b568870f1f167ee7f29d08d0b
MD5 448a808e172939866b9be6a3fbbfe7ff
BLAKE2b-256 ce9f42cd7a7251455d5815cd0269c587b16935b624bf9b5facb222b2b3c97aab

See more details on using hashes here.

File details

Details for the file fastremap-1.12.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: fastremap-1.12.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 450.7 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.8

File hashes

Hashes for fastremap-1.12.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 dc2ac084350e217ba313f5ed5d79e923e8e6ba6505d1dae2963dfd2980c7e1e1
MD5 aa250865341aaec0ef34874015dc3cb9
BLAKE2b-256 87415208d9a667370115180dc416684969b5e8e49fa66c94186404ee7a2a1102

See more details on using hashes here.

File details

Details for the file fastremap-1.12.0-cp37-cp37m-win32.whl.

File metadata

  • Download URL: fastremap-1.12.0-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 346.0 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.8

File hashes

Hashes for fastremap-1.12.0-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 5ea5e7480ff1733f75f920a7348eb7f8cbd3208f523448d9bbf3460345ce5798
MD5 6f2b61b3615265a71d3884ec3699ab18
BLAKE2b-256 dff68af6b143c19cca88ebfe3c3588e80845adc4a3186ba4833ef6bcfda4b00e

See more details on using hashes here.

File details

Details for the file fastremap-1.12.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fastremap-1.12.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 03503539fad6b757f6c8c3c39a675c0330a4a02730cfebe511c047e2b884467a
MD5 67fc545944acfec2bed6023340793dcf
BLAKE2b-256 9121aaba987e2db2d6add9ce7ff44f6e59cdac72887edba86ed71357acbe118d

See more details on using hashes here.

File details

Details for the file fastremap-1.12.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for fastremap-1.12.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 7636d8b27e8f70bd7f48d0a83917918480e0500da2e5e1d7a90bb1fc7b68f2be
MD5 a11988f2ffc285260902ceecf4c2297d
BLAKE2b-256 85d1ec0721600fcf98acb19a473f837424d6a3de2e0e02c48ce66d79f1faebce

See more details on using hashes here.

File details

Details for the file fastremap-1.12.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for fastremap-1.12.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 40fb982fa9b55cf96a01427d51e61fac122c9517897737e7a6808a86b39896c2
MD5 2386fb66180c04c0ba3f9265d407bf63
BLAKE2b-256 4b858a6c7b2f776b9b03d39d3ec4ac7ce1ad8eac3dd172fbca3c7a6f731ec3e3

See more details on using hashes here.

File details

Details for the file fastremap-1.12.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: fastremap-1.12.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 450.3 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.8

File hashes

Hashes for fastremap-1.12.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 98a7b8c468b5d54d17ad8bc10d69dea22e4839cee89fef6678a420e8d2b74da6
MD5 2e45ea04666de979cb585df790ec938b
BLAKE2b-256 d51be4d64a0cbfcb45fb398d614449dbb5895beb6826a29f65559209b3af7493

See more details on using hashes here.

File details

Details for the file fastremap-1.12.0-cp36-cp36m-win32.whl.

File metadata

  • Download URL: fastremap-1.12.0-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 346.1 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.8

File hashes

Hashes for fastremap-1.12.0-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 dbd799d2ea25dc18ec19c46a38f9a1aeb92687bc7d826dd798d634bfcb5a25be
MD5 0b22570d78c955c0ce4db3ed959f806c
BLAKE2b-256 cd4e04de62fd31bba9cbee72e1157b26bc1ea89020e035253c694b4e1e673684

See more details on using hashes here.

File details

Details for the file fastremap-1.12.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fastremap-1.12.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c87806b996d3e614f4bd55e258178af880c8a7cdf22c14bb22929ac6e08dceaf
MD5 41df0d77aa2dd64f779e9e9da2cc8524
BLAKE2b-256 734dd42cbf308cf07c4df5dc4aa5d501d7c7791e142b245a3ebd0d3901ab3319

See more details on using hashes here.

File details

Details for the file fastremap-1.12.0-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for fastremap-1.12.0-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 92c4b90bea73ce7ccf5fc455ac05abeb420db7d6c314b74c6bbb89396c9b8e9c
MD5 1390193c821746d5be1e1b43420f3292
BLAKE2b-256 60aaa2fb800bfaad4913a5a3ac988d54347f1702becdedf7db53c3b593b050da

See more details on using hashes here.

File details

Details for the file fastremap-1.12.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for fastremap-1.12.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 19c108825da3ea586ec82de48a51f9763bdd7bfc3545f36c184e3a6f7c3762ce
MD5 13a79790740703f4e378d112a91a8d8d
BLAKE2b-256 2a1cfab85b9615d85103938e45a592c3fb7ad7228a926efd412aa2494f25c908

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