Skip to main content

Automated 3D cell detection in large microscopy images

Project description

Python Version PyPI Downloads Wheel Development Status Tests Coverage Status Code style: black Imports: isort pre-commit Contributions Twitter

cellfinder-core

Standalone cellfinder cell detection algorithm

This package implements the cell detection algorithm from Tyson, Rousseau & Niedworok et al. (2021) without any dependency on data type (i.e. it can be used outside of whole-brain microscopy).

cellfinder-core supports the cellfinder software for whole-brain microscopy analysis, and the algorithm can also be implemented in napari using the cellfinder napari plugin.


Instructions

Installation

cellfinder-core supports Python >=3.7, and works across Linux, Windows, and should work on most versions of macOS (although this is not tested).

Assuming you have a Python environment set up (e.g. using conda), you can install cellfinder-core with:

pip install cellfinder-core

Once you have installed napari. You can install napari either through the napari plugin installation tool, or directly from PyPI with:

pip install cellfinder-napari

N.B. To speed up cellfinder, you need CUDA & cuDNN installed. Instructions here.

Usage

Before using cellfinder-core, it may be useful to take a look at the preprint which outlines the algorithm.

The API is not yet fully documented. For an idea of what the parameters do, see the documentation for the cellfinder whole-brain microscopy image analysis command-line tool (cell candidate detection, cell candidate classification). It may also be useful to try the cellfinder napari plugin so you can adjust the parameters in a GUI.

To run the full pipeline (cell candidate detection and classification)

from cellfinder_core.main import main as cellfinder_run
import tifffile

signal_array = tifffile.imread("/path/to/signal_image.tif")
background_array = tifffile.imread("/path/to/background_image.tif")

voxel_sizes = [5, 2, 2] # in microns
detected_cells = cellfinder_run(signal_array,background_array,voxel_sizes)

The output is a list of imlib Cell objects. Each Cell has a centroid coordinate, and a type:

print(detected_cells[0])
# Cell: x: 132, y: 308, z: 10, type: 2

Cell type 2 is a "real" cell, and Cell type 1 is a "rejected" object (i.e. not classified as a cell):

from imlib.cells.cells import Cell
print(Cell.CELL)
# 2

print(Cell.NO_CELL)
# 1

Saving the results

If you want to save the detected cells for use in other BrainGlobe software (e.g. the cellfinder napari plugin), you can save in the cellfinder XML standard:

from imlib.IO.cells import save_cells
save_cells(detected_cells, "/path/to/cells.xml")

You can load these back with:

from imlib.IO.cells import get_cells
cells = get_cells("/path/to/cells.xml")

Using dask for lazy loading

cellfinder-core supports most array-like objects. Using Dask arrays allows for lazy loading of data, allowing large (e.g. TB) datasets to be processed. cellfinder-core comes with a function (based on napari-ndtiffs) to load a series of image files (e.g. a directory of 2D tiff files) as a Dask array. cellfinder-core can then be used in the same way as with a numpy array.

from cellfinder_core.main import main as cellfinder_run
from cellfinder_core.tools.IO import read_with_dask

signal_array = read_with_dask("/path/to/signal_image_directory")
background_array = read_with_dask("/path/to/background_image_directory")

voxel_sizes = [5, 2, 2] # in microns
detected_cells = cellfinder_run(signal_array,background_array,voxel_sizes)

Running the cell candidate detection and classification separately.

import tifffile
from pathlib import Path

from cellfinder_core.detect import detect
from cellfinder_core.classify import classify
from cellfinder_core.tools.prep import prep_classification

signal_array = tifffile.imread("/path/to/signal_image.tif")
background_array = tifffile.imread("/path/to/background_image.tif")
voxel_sizes = [5, 2, 2] # in microns

home = Path.home()
install_path = home / ".cellfinder" # default

start_plane=0
end_plane=-1
trained_model=None
model_weights=None
model="resnet50_tv"
batch_size=32
n_free_cpus=2
network_voxel_sizes=[5, 1, 1]
soma_diameter=16
ball_xy_size=6
ball_z_size=15
ball_overlap_fraction=0.6
log_sigma_size=0.2
n_sds_above_mean_thresh=10
soma_spread_factor=1.4
max_cluster_size=100000
cube_width=50
cube_height=50
cube_depth=20
network_depth="50"

model_weights = prep_classification(
    trained_model, model_weights, install_path, model, n_free_cpus
)

cell_candidates = detect.main(
    signal_array,
    start_plane,
    end_plane,
    voxel_sizes,
    soma_diameter,
    max_cluster_size,
    ball_xy_size,
    ball_z_size,
    ball_overlap_fraction,
    soma_spread_factor,
    n_free_cpus,
    log_sigma_size,
    n_sds_above_mean_thresh,
)

if len(cell_candidates) > 0: # Don't run if there's nothing to classify
    classified_cells = classify.main(
        cell_candidates,
        signal_array,
        background_array,
        n_free_cpus,
        voxel_sizes,
        network_voxel_sizes,
        batch_size,
        cube_height,
        cube_width,
        cube_depth,
        trained_model,
        model_weights,
        network_depth,
    )

Training the network

The training data needed are matched pairs (signal & background) of small (usually 50 x 50 x 100um) images centered on the coordinate of candidate cells. These can be generated however you like, but I recommend using the Napari plugin.

cellfinder-core comes with a 50-layer ResNet trained on ~100,000 data points from serial two-photon microscopy images of mouse brains (available here).

Training the network is likely simpler using the command-line interface or the Napari plugin, but it is possible through the Python API.

from pathlib import Path
from cellfinder_core.train.train_yml import run as run_training

# list of training yml files
yaml_files = [Path("/path/to/training_yml.yml)]

# where to save the output
output_directory = Path("/path/to/saved_training_data")

home = Path.home()
install_path = home / ".cellfinder"  # default

run_training(
    output_directory,
    yaml_files,
    install_path=install_path,
    learning_rate=0.0001,
    continue_training=True, # by default use supplied model
    test_fraction=0.1,
    batch_size=32,
    save_progress=True,
    epochs=10,
)

More info

More documentation about cellfinder and other BrainGlobe tools can be found here.

This software is at a very early stage, and was written with our data in mind. Over time we hope to support other data types/formats. If you have any questions or issues, please get in touch on the forum or by raising an issue.


Illustration

Introduction

cellfinder takes a stitched, but otherwise raw dataset with at least two channels:

  • Background channel (i.e. autofluorescence)
  • Signal channel, the one with the cells to be detected:

raw Raw coronal serial two-photon mouse brain image showing labelled cells

Cell candidate detection

Classical image analysis (e.g. filters, thresholding) is used to find cell-like objects (with false positives):

raw Candidate cells (including many artefacts)

Cell candidate classification

A deep-learning network (ResNet) is used to classify cell candidates as true cells or artefacts:

raw Cassified cell candidates. Yellow - cells, Blue - artefacts


Citing cellfinder

If you find this plugin useful, and use it in your research, please cite the preprint outlining the cell detection algorithm:

Tyson, A. L., Rousseau, C. V., Niedworok, C. J., Keshavarzi, S., Tsitoura, C., Cossell, L., Strom, M. and Margrie, T. W. (2021) “A deep learning algorithm for 3D cell detection in whole mouse brain image datasets’ PLOS Computational Biology, 17(5), e1009074 https://doi.org/10.1371/journal.pcbi.1009074

If you use this, or any other tools in the brainglobe suite, please let us know, and we'd be happy to promote your paper/talk etc.


The BrainGlobe project is generously supported by the Sainsbury Wellcome Centre and the Institute of Neuroscience, Technical University of Munich, with funding from Wellcome, the Gatsby Charitable Foundation and the Munich Cluster for Systems Neurology - Synergy.

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

cellfinder-core-0.3.0.tar.gz (437.3 kB view details)

Uploaded Source

Built Distributions

cellfinder_core-0.3.0-cp310-cp310-win_amd64.whl (691.5 kB view details)

Uploaded CPython 3.10 Windows x86-64

cellfinder_core-0.3.0-cp310-cp310-win32.whl (661.8 kB view details)

Uploaded CPython 3.10 Windows x86

cellfinder_core-0.3.0-cp310-cp310-musllinux_1_1_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

cellfinder_core-0.3.0-cp310-cp310-musllinux_1_1_i686.whl (2.9 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

cellfinder_core-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

cellfinder_core-0.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (2.3 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

cellfinder_core-0.3.0-cp310-cp310-macosx_10_9_x86_64.whl (748.0 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

cellfinder_core-0.3.0-cp39-cp39-win_amd64.whl (691.4 kB view details)

Uploaded CPython 3.9 Windows x86-64

cellfinder_core-0.3.0-cp39-cp39-win32.whl (661.8 kB view details)

Uploaded CPython 3.9 Windows x86

cellfinder_core-0.3.0-cp39-cp39-musllinux_1_1_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

cellfinder_core-0.3.0-cp39-cp39-musllinux_1_1_i686.whl (2.9 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

cellfinder_core-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

cellfinder_core-0.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (2.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

cellfinder_core-0.3.0-cp39-cp39-macosx_10_9_x86_64.whl (748.0 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

cellfinder_core-0.3.0-cp38-cp38-win_amd64.whl (691.1 kB view details)

Uploaded CPython 3.8 Windows x86-64

cellfinder_core-0.3.0-cp38-cp38-win32.whl (259.5 kB view details)

Uploaded CPython 3.8 Windows x86

cellfinder_core-0.3.0-cp38-cp38-musllinux_1_1_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

cellfinder_core-0.3.0-cp38-cp38-musllinux_1_1_i686.whl (2.9 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

cellfinder_core-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

cellfinder_core-0.3.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (2.3 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

cellfinder_core-0.3.0-cp38-cp38-macosx_10_9_x86_64.whl (741.1 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

File details

Details for the file cellfinder-core-0.3.0.tar.gz.

File metadata

  • Download URL: cellfinder-core-0.3.0.tar.gz
  • Upload date:
  • Size: 437.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for cellfinder-core-0.3.0.tar.gz
Algorithm Hash digest
SHA256 c0fc7c93b098b7033222450dcc4d02ae2a97f4e6ebea3f4ffa1f62f6febf3c23
MD5 a702cda181441e10333eedc3e198a8ea
BLAKE2b-256 237e2d7fe29ee2a4969e364ac745c8d484466be31420aa3e4139f2a8926c51fd

See more details on using hashes here.

File details

Details for the file cellfinder_core-0.3.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for cellfinder_core-0.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4df7c94ac6a1af06da6cc9ffd928c5e256f765679ff9344f493b6da9bd737e9a
MD5 e058a4bb859477ab258254c68b1c813b
BLAKE2b-256 243710e2b5e4b5f546614f5f67a1069245228aba6e02bfbe848624bf2668474d

See more details on using hashes here.

File details

Details for the file cellfinder_core-0.3.0-cp310-cp310-win32.whl.

File metadata

File hashes

Hashes for cellfinder_core-0.3.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 4702d8be3cf49323f5f1c1dbf1c05292dc74b84b91087eb6c5672107f5d7be21
MD5 fbf107cff1222d4f649dfa7804f6ad50
BLAKE2b-256 944c7fad3054d87aefca0b34511a3784de805a0828d41bb2b84934997786212f

See more details on using hashes here.

File details

Details for the file cellfinder_core-0.3.0-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for cellfinder_core-0.3.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 2128161a8c877085087f5c76fa026ecbce33bd7428e4e4037d4c0112da4b8436
MD5 734a010c1e7ba28e0431e25293af4bea
BLAKE2b-256 65000af8c7d0a0893adcf6821816a88cde543518d9b0629f083a93ba18d3c6c0

See more details on using hashes here.

File details

Details for the file cellfinder_core-0.3.0-cp310-cp310-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for cellfinder_core-0.3.0-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 64f3e18301f92ba5918d9a6127a0da7e25866f7acd1306f1f817277d6f761fec
MD5 cb5be62b2dc741ff851861e4726ed2ad
BLAKE2b-256 e980383b94890af9a9433dfd0dc7e8d7bdde9413463c47b3facddcfa45aa5358

See more details on using hashes here.

File details

Details for the file cellfinder_core-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cellfinder_core-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 959e994e0678b5001f1b4875ec6462473ae869bed5e1973607f9db5c18f48cd7
MD5 ce4ccc951ee96cfb4739c41d9ed752fe
BLAKE2b-256 0e87acac01c9db3c8e16353a0d4d13f2d550984b5bee7c5985651007b343cb62

See more details on using hashes here.

File details

Details for the file cellfinder_core-0.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for cellfinder_core-0.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6df58f0a107f356112ef3b79aaddd92d31effb4566bb24105185af749800ae56
MD5 04f4b5ff6f8608c647c94aa8859095ef
BLAKE2b-256 a66f6819b6a4d86dfa4ab578313ceb2507ea39d8533c37c4da4a7d0eacb654cc

See more details on using hashes here.

File details

Details for the file cellfinder_core-0.3.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cellfinder_core-0.3.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 259661a68a9cbb6d1e8f77f24e7d2b3e808abcdc0007b3f3b3c57af5fc4ac561
MD5 b04b8e0350bd6d114140ecfde37e8c7b
BLAKE2b-256 1676015c9223701d94646200085d55d4aa2c9447d4be3e1d152ee21226c7cf1d

See more details on using hashes here.

File details

Details for the file cellfinder_core-0.3.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for cellfinder_core-0.3.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 663ef790a2fd1d8f6d36541c262f8452018575076ffae6f86c60939721fe2ae7
MD5 0e8f138b93f1790ef42399c569619dc0
BLAKE2b-256 203c4de3e86eae57fb38e3072d9d78f0a965d57596e5cc490cecf4b0dbe5c013

See more details on using hashes here.

File details

Details for the file cellfinder_core-0.3.0-cp39-cp39-win32.whl.

File metadata

File hashes

Hashes for cellfinder_core-0.3.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 65b57c38e1fe495bcd9d56e5abee7d1ecc89bc1a2a7ce9ed393defb71921bbc7
MD5 2cd7c714a757df455db68aaf6b62358a
BLAKE2b-256 299181927df6662d91d1c58c3471001f68e8b5bb3edb6e2d0c96cc3b2008529a

See more details on using hashes here.

File details

Details for the file cellfinder_core-0.3.0-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for cellfinder_core-0.3.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 c29362c78e77e8fb1f311444e31b29140793ca94e69a3ac9ff9635058931a8cd
MD5 c8bf04f06df1d9dff7518f03d81ec77c
BLAKE2b-256 009221e4060fb27369c9a109973c2074566fba8106c77dc1db5fb1bf7dea63cf

See more details on using hashes here.

File details

Details for the file cellfinder_core-0.3.0-cp39-cp39-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for cellfinder_core-0.3.0-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 66a56234721a2f9889c7d108c0d87767d3ad6d268a78eefef79ba85276fc5fe6
MD5 64599145c174a2a5065b45f9d5a4ccf7
BLAKE2b-256 fa250af580ca863fc2fb85c92c9dad3f426190db2dbecea7c9e771200db30e0e

See more details on using hashes here.

File details

Details for the file cellfinder_core-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cellfinder_core-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9533e077392145c9d75ce38c340daba094bb019b94cbdd1c67a149eb9404e8a7
MD5 189335551f15a14cfd93aeb3838d51ac
BLAKE2b-256 b7a17c0a97b403bb79b9496e5f6a411b349eafdd4e4c50b5b9cfa56c8b9b7aaa

See more details on using hashes here.

File details

Details for the file cellfinder_core-0.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for cellfinder_core-0.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f54ef6e2ebcb9b31fda5d365ff565a92d595148a25f260f2a825e59ba3490cc3
MD5 068c975a2d3bc2fc62f9467db7f96f49
BLAKE2b-256 92bb0c6407082cde36cf2279d3b487f1261cddc3197d02184b135e9e38366d3c

See more details on using hashes here.

File details

Details for the file cellfinder_core-0.3.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cellfinder_core-0.3.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7e416354dc8cde37c94731caa4d3b8a0a7cf835e6ba8580f40ee9f61f6ae3f42
MD5 0a3eff292bf9673271e35ba6bbcae28c
BLAKE2b-256 3bdd49927a92c91f2d9f0ad0de81731cef0035f8504818b795e085571dbc2275

See more details on using hashes here.

File details

Details for the file cellfinder_core-0.3.0-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for cellfinder_core-0.3.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 15bfce11fafc7b0ca645a5d471859f1ec4c4609ff2c67f1665b49e290babb91f
MD5 38e307606ba74cd550773a51aeef89f0
BLAKE2b-256 cf58fabc4a623a77435c2e30ef21ffa3d9913861dabbebfe0a8a78afb8930fb7

See more details on using hashes here.

File details

Details for the file cellfinder_core-0.3.0-cp38-cp38-win32.whl.

File metadata

File hashes

Hashes for cellfinder_core-0.3.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 20cee4ce3da5c5ed62442767df439224f57700d76fb54fc409af2c6b7cd338ea
MD5 58d957c45ff552b6b1796469e20cb55d
BLAKE2b-256 5cbed3d0527946a9b82c88a17dbc67f2a584dcae0af6e7a7fe1c0f180d92640b

See more details on using hashes here.

File details

Details for the file cellfinder_core-0.3.0-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for cellfinder_core-0.3.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 3431a63e68f0ced58dd4f901fc311c9fac545d93438cea941d50a5d683baac94
MD5 3b041a8c739d5ef146d9c5ef6b1d3161
BLAKE2b-256 cbe2cf52b69dcde5c383843c2c7569878ad603a0c6c2eb8ca34e1866cf389d4f

See more details on using hashes here.

File details

Details for the file cellfinder_core-0.3.0-cp38-cp38-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for cellfinder_core-0.3.0-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 b5c40e6b011c3c7239786a0b74b755022835a4d7cbb12fecf6350618fe4621b0
MD5 dd8479a7f37bdfdd80f9003ba1c31cbe
BLAKE2b-256 17e3dd6100171d891b57e668fb0880e2f416404135a70a5b4b6988c8bb6f6a46

See more details on using hashes here.

File details

Details for the file cellfinder_core-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cellfinder_core-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 10d0afb07035a5e67ca832e1c652cb14b5bcc092ba6e9db21ba8e8d81073ac56
MD5 d7d2cffdb204b55b1f60f688bd371647
BLAKE2b-256 e563ad96fc1512f33c64582e5f5ab4d7e16e5a2f646b0ef1edc798798f2cee53

See more details on using hashes here.

File details

Details for the file cellfinder_core-0.3.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for cellfinder_core-0.3.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 62a107bd6d9519333149061ff806d20e37b6a86f0926502e80748826476648c5
MD5 d660e6051c2b4f72fda8df7cb6714483
BLAKE2b-256 dc857ee9950ac67b69b4e7bbe5b48384931b056fe39ae7c7e2ab149f904ca7b9

See more details on using hashes here.

File details

Details for the file cellfinder_core-0.3.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cellfinder_core-0.3.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 22e15d5d915a1f5b044e63ff291afeb88473180449a22d2a85aca739871e72db
MD5 fc58324963c6857f1ed39b6256cac03e
BLAKE2b-256 21901064218c4ef311f1280271286efe6993404189743acdf2c3a40e9c597e16

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