Skip to main content

Automated 3D cell detection in large microscopy images

Project description

Python Version PyPI Downloads Wheel Development Status Tests codecov 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

Contributing

Contributions to cellfinder-core are more than welcome. Please see the contributing guide.


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.1.tar.gz (442.4 kB view details)

Uploaded Source

Built Distributions

cellfinder_core-0.3.1-cp310-cp310-win_amd64.whl (693.5 kB view details)

Uploaded CPython 3.10 Windows x86-64

cellfinder_core-0.3.1-cp310-cp310-win32.whl (663.8 kB view details)

Uploaded CPython 3.10 Windows x86

cellfinder_core-0.3.1-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.1-cp310-cp310-musllinux_1_1_i686.whl (2.8 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

cellfinder_core-0.3.1-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.1-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.1-cp310-cp310-macosx_10_9_x86_64.whl (753.7 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

cellfinder_core-0.3.1-cp39-cp39-win_amd64.whl (697.9 kB view details)

Uploaded CPython 3.9 Windows x86-64

cellfinder_core-0.3.1-cp39-cp39-win32.whl (668.0 kB view details)

Uploaded CPython 3.9 Windows x86

cellfinder_core-0.3.1-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.1-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.1-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.1-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.1-cp39-cp39-macosx_10_9_x86_64.whl (754.6 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

cellfinder_core-0.3.1-cp38-cp38-win_amd64.whl (697.6 kB view details)

Uploaded CPython 3.8 Windows x86-64

cellfinder_core-0.3.1-cp38-cp38-win32.whl (261.5 kB view details)

Uploaded CPython 3.8 Windows x86

cellfinder_core-0.3.1-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.1-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.1-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.1-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.1-cp38-cp38-macosx_10_9_x86_64.whl (747.9 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: cellfinder-core-0.3.1.tar.gz
  • Upload date:
  • Size: 442.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for cellfinder-core-0.3.1.tar.gz
Algorithm Hash digest
SHA256 7b107a368903e0470ea7b89b8d2353622db2f455ad1f01f427f64a5c2b8efbec
MD5 070dbcf371df43649d5001d5c4dc3bc7
BLAKE2b-256 4b5294b1d4b3b347ed93671bac32bd8e21e4288c4632704ebedee36ff70504b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cellfinder_core-0.3.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 58c967f5725eb57b9548593804b3ca024116e053f41cdf240aae99a00f7e9222
MD5 5c47400e0083c200ba5f0dbc57a3cea9
BLAKE2b-256 1f9b79198fc63532e080426cfece038552e67b4aabebf253477721b8fe211713

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cellfinder_core-0.3.1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 faee8150b0fea02c09a1568767d8e376de70ee2ec2bd55518638e57563036f04
MD5 6610efa15f9cfc76e56e646866e54901
BLAKE2b-256 16c873c11be536abb8ebb0a4f658a22541dcd9cd9ecd9c23ba9dbd0e305d8842

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cellfinder_core-0.3.1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 c6d28f0f2f6be3b3cad2566452c22b8fb667a3f49e50797e6db0f79e33492b9e
MD5 0da74dc63ee7913708f1a25917dd3594
BLAKE2b-256 3b5c0786dcb6045a0edc2a87bfb8e5cd6b74885ad6b77c42e6b1edf4fd7bc7e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cellfinder_core-0.3.1-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 5755c1b0c14560c0c44601e09d93b101ee34284bc4ede20be86992e0ce2e7bfd
MD5 a57e9e2d7c39afd5cc0de10e81cf2074
BLAKE2b-256 8d28c27789362a5ab1e63c5d4500602d431508cbf8e4aa85f01b283f2f374c16

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cellfinder_core-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c046dd75f9743fabaa5a46d7564a3d566b81c2f6eb6a17731829f7feda48efd9
MD5 184920875451de3fb8a3c1a0423a58d9
BLAKE2b-256 c0d735ffa13075a7e65271d08ee4bf488fb032056ca476b61bebd870589806eb

See more details on using hashes here.

File details

Details for the file cellfinder_core-0.3.1-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.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 afa8d6c64e73c27eeaaf3c8756a0d5af2ae231bea520b57276117822a4753ee6
MD5 a6b2f2dd51e9e0549f4cda1f74d5be17
BLAKE2b-256 94314c21d1d224666c5377f4bf6366eaff7062dc78e3ccc35589b521160e63c6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cellfinder_core-0.3.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fc747efd90394a28d2e8b77b6271b9ef79d832782709bf45bce6f321e2581786
MD5 f007afbb2edd162460af5a987edefe82
BLAKE2b-256 ef839501bd644c5ff1ddb7e73dccd098c0f846faee0fad15a1877fde81ffe0b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cellfinder_core-0.3.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a221e8ce10f384865c6f58fbec88c8b8107c8360d18e4b5169251383f51afcb8
MD5 d166eb0d0233d1465ed81e23887359fb
BLAKE2b-256 6f36747ece265676617010cdb74ad813e21aaed4fa782147112d724cc89ca6d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cellfinder_core-0.3.1-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 025d42ac90248f44c2dba5621f4fd37b9dc2505cb396d5b76ce6249e81f7ac65
MD5 79c958b876d703e36816377e96354e14
BLAKE2b-256 f89ff1c79f8dc2cd6ad77cf276f27fbf3e4c57d1e77957eaec2c2b6665e83a3e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cellfinder_core-0.3.1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f19730958a9a113e9f6880bc14a2231bb700334c2108938b961ad9b46486b656
MD5 c753ac70defb524b8cf91b58e4ce42a3
BLAKE2b-256 ec5db92b0117d8668bc74d42fff5ff2b118201c7366c68f885e9518233edcd89

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cellfinder_core-0.3.1-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 07932e9c8483caadc321e2b43959e769d13016398c66bcc10c1acf925ab87ad6
MD5 bf943f10efde2588fc05a30e198c0b0c
BLAKE2b-256 9d0e159702b4b3c60752bba105b09e83df5c54609d493433fd7f32cd3cf5f51b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cellfinder_core-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c80beb9db9fbe33fda114f07ca721d94e24ee263496fb845b51a6854b2bf2bd9
MD5 20faf417d750a586e300b4354ec377c1
BLAKE2b-256 d6fbec6bb17d170333c7ba284a216a9022f8e6379ce4c641d59f11f08d74ba8b

See more details on using hashes here.

File details

Details for the file cellfinder_core-0.3.1-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.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 76869ba7d4335e1d43008b7169a6f37d10478a955d2964912d3f2ca0fab6d02d
MD5 b821ebf7031c28bb3b46134f5616bb13
BLAKE2b-256 72bc15935017d2f8e1ef5f9c10934969b45d7021ddcc6539f2c325dac609c1bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cellfinder_core-0.3.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 746f9e52de8dbb9696d60967c36959db61fa020fd3db4c0983958fa7903a311c
MD5 db03a38eab618b0cbab4ff9d53bb250b
BLAKE2b-256 a92671736c986d5c02d47ed2612d593bd88c8d50f7c8f9f9791c23bc5c98d352

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cellfinder_core-0.3.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 700de23ac18ec1e5c3e48dd89a93ccf8e669c86a27748616b3db7ef9f04e273a
MD5 b2877109ece96645a1e09d684622526b
BLAKE2b-256 d2fc2bda521ebd3b836400efb9a90613568021d0a8a5fd28f74f6c3bafeeef9f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cellfinder_core-0.3.1-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 bf659f932d8f76de30c77697b7d1ca717560aafea69c1239c419f470ca9b6623
MD5 8dbfe463252ed83e517e6339c8025798
BLAKE2b-256 6d10ec613b04b2b09aeef5f307b45967b0b05e5497cf8b67bffc404bf5ee0bc3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cellfinder_core-0.3.1-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 ce87c5f70cef8b31deba1d8b94b238ddaf8dd0291529044604dff35cf10f6d5c
MD5 839911bc74924726d29bfdcfeeeb3df5
BLAKE2b-256 cbaae63ed46266cd74cdac6fc2d427b4d9de6007d00382fbe0dc2d5294417c7c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cellfinder_core-0.3.1-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 23913a2c5672f7bf9c1b45ad35ecc628367d4f8bd31a59cbecf7a946e5f74d9d
MD5 1a2318f547f102cae758ae84082debb0
BLAKE2b-256 10eb4a547d1d0163476f7f25c4a5d691a0db09d7cddc6ece7158edd2e7104ebe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cellfinder_core-0.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 31baed55ef092a736d76a8120f4e0dff2c6ca251a9636444ec1793ced09a143c
MD5 836ff191c2f594919e9280f51e0ebb6e
BLAKE2b-256 582f90c50634d2e72d6a23e066f5607a3477f97d5cbf8134eb2a965794ea76f0

See more details on using hashes here.

File details

Details for the file cellfinder_core-0.3.1-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.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9303d33e09703fa0bf59906f8f872d7aac7cd49da341295d3b8d020d7332ddde
MD5 b8512af16a999d67184099ccd05c46b5
BLAKE2b-256 625b47bdff308df1f1730e331bf17b29e694afe66f43d37c49d88f094e8780f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cellfinder_core-0.3.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e834162f84730667a52e51187d949074a16be771e2f8b9c3c2dc49aac9d7dec1
MD5 f0c02ec2657c9a0dab08198dcc9a28ee
BLAKE2b-256 8077afe23295fa42a3255fc01df1fe7d15901d83d1e11f41c3099b1005a07f27

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