{"id":13716479,"url":"https://github.com/brainglobe/cellfinder-napari","last_synced_at":"2025-10-01T16:30:32.867Z","repository":{"id":37207029,"uuid":"331952422","full_name":"brainglobe/cellfinder-napari","owner":"brainglobe","description":"Efficient cell detection in large images using cellfinder in napari","archived":true,"fork":false,"pushed_at":"2024-01-05T09:13:25.000Z","size":35998,"stargazers_count":22,"open_issues_count":0,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-09-09T19:20:25.638Z","etag":null,"topics":["cell-detection","cellfinder","keras","napari","napari-plugin","object-detection","resnet","tensorflow"],"latest_commit_sha":null,"homepage":"https://brainglobe.info/documentation/cellfinder/index.html","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brainglobe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-01-22T13:21:20.000Z","updated_at":"2025-07-06T09:47:58.000Z","dependencies_parsed_at":"2023-02-16T11:01:38.560Z","dependency_job_id":"949ea09d-69b5-429a-9fd9-852747878a6b","html_url":"https://github.com/brainglobe/cellfinder-napari","commit_stats":{"total_commits":193,"total_committers":7,"mean_commits":"27.571428571428573","dds":0.6113989637305699,"last_synced_commit":"a4ecac01bcf11d72c7f4dd6a854d2910ee411b1f"},"previous_names":[],"tags_count":47,"template":false,"template_full_name":null,"purl":"pkg:github/brainglobe/cellfinder-napari","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brainglobe%2Fcellfinder-napari","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brainglobe%2Fcellfinder-napari/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brainglobe%2Fcellfinder-napari/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brainglobe%2Fcellfinder-napari/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brainglobe","download_url":"https://codeload.github.com/brainglobe/cellfinder-napari/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brainglobe%2Fcellfinder-napari/sbom","scorecard":{"id":250693,"data":{"date":"2025-08-11","repo":{"name":"github.com/brainglobe/cellfinder-napari","commit":"f8e49767af6712cfdfc3aeb906919b405ae50728"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.8,"checks":[{"name":"Code-Review","score":10,"reason":"all changesets reviewed","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"project is archived","details":["Warn: Repository is archived."],"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/test_and_deploy.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/test_and_deploy.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/brainglobe/cellfinder-napari/test_and_deploy.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test_and_deploy.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/brainglobe/cellfinder-napari/test_and_deploy.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test_and_deploy.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/brainglobe/cellfinder-napari/test_and_deploy.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test_and_deploy.yml:55: update your workflow using https://app.stepsecurity.io/secureworkflow/brainglobe/cellfinder-napari/test_and_deploy.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test_and_deploy.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/brainglobe/cellfinder-napari/test_and_deploy.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test_and_deploy.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/brainglobe/cellfinder-napari/test_and_deploy.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_and_deploy.yml:76: update your workflow using https://app.stepsecurity.io/secureworkflow/brainglobe/cellfinder-napari/test_and_deploy.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test_and_deploy.yml:80: update your workflow using https://app.stepsecurity.io/secureworkflow/brainglobe/cellfinder-napari/test_and_deploy.yml/main?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   7 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-17T08:24:26.648Z","repository_id":37207029,"created_at":"2025-08-17T08:24:26.648Z","updated_at":"2025-08-17T08:24:26.648Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277646364,"owners_count":25853240,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-30T02:00:09.208Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cell-detection","cellfinder","keras","napari","napari-plugin","object-detection","resnet","tensorflow"],"created_at":"2024-08-03T00:01:10.895Z","updated_at":"2025-10-01T16:30:32.145Z","avatar_url":"https://github.com/brainglobe.png","language":"Python","funding_links":[],"categories":["Neuroscience"],"sub_categories":[],"readme":"# This package has moved\n\n`cellfinder-napari` has merged with it's backend code and is now available as a [single package called `cellfinder`](https://github.com/brainglobe/cellfinder).\nWe recommend you uninstall `cellfinder-napari` and instead use the functionality provided in the `cellfinder` package.\n\nThese changes are part of our [wider restructuring](https://brainglobe.info/blog/version1/version_1_announcement.html) of the BrainGlobe suite of tools and analysis pipelines, which you can [keep up to date with on our blog](https://brainglobe.info/blog/index.html).\n\n---\n\n# cellfinder-napari\n\n[![License](https://img.shields.io/pypi/l/cellfinder-napari.svg?color=green)](https://github.com/napari/cellfinder-napari/raw/master/LICENSE)\n[![PyPI](https://img.shields.io/pypi/v/cellfinder-napari.svg?color=green)](https://pypi.org/project/cellfinder-napari)\n[![Python Version](https://img.shields.io/pypi/pyversions/cellfinder-napari.svg?color=green)](https://python.org)\n[![tests](https://github.com/brainglobe/cellfinder-napari/workflows/tests/badge.svg)](https://github.com/brainglobe/cellfinder-napari/actions)\n[![codecov](https://codecov.io/gh/brainglobe/cellfinder-napari/branch/main/graph/badge.svg?token=C4uzd0cm2u)](https://codecov.io/gh/brainglobe/cellfinder-napari)\n[![Downloads](https://pepy.tech/badge/cellfinder-napari)](https://pepy.tech/project/cellfinder-napari)\n[![Wheel](https://img.shields.io/pypi/wheel/cellfinder.svg)](https://pypi.org/project/cellfinder)\n[![Development Status](https://img.shields.io/pypi/status/cellfinder-napari.svg)](https://github.com/brainglobe/cellfinder-napari)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black)\n[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat\u0026labelColor=ef8336)](https://pycqa.github.io/isort/)\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026logoColor=white)](https://github.com/pre-commit/pre-commit)\n[![Contributions](https://img.shields.io/badge/Contributions-Welcome-brightgreen.svg)](https://docs.brainglobe.info/cellfinder/contributing)\n[![Website](https://img.shields.io/website?up_message=online\u0026url=https%3A%2F%2Fbrainglobe.info/cellfinder)](https://brainglobe.info/documentation/cellfinder/index.html)\n[![Twitter](https://img.shields.io/twitter/follow/brain_globe?style=social)](https://twitter.com/brain_globe)\n\n### Efficient cell detection in large images (e.g. whole mouse brain images)\n\n`cellfinder-napari` is a front-end to [cellfinder-core](https://github.com/brainglobe/cellfinder-core) to allow ease of use within the [napari](https://napari.org/index.html) multidimensional image viewer. For more details on this approach, please see [Tyson, Rousseau \u0026 Niedworok et al. (2021)](https://doi.org/10.1371/journal.pcbi.1009074). This algorithm can also be used within the original\n[cellfinder](https://github.com/brainglobe/cellfinder) software for\nwhole-brain microscopy analysis.\n\n`cellfinder-napari`, `cellfinder` and `cellfinder-core` were developed by [Charly Rousseau](https://github.com/crousseau) and [Adam Tyson](https://github.com/adamltyson) in the [Margrie Lab](https://www.sainsburywellcome.org/web/groups/margrie-lab), based on previous work by [Christian Niedworok](https://github.com/cniedwor), generously supported by the [Sainsbury Wellcome Centre](https://www.sainsburywellcome.org/web/).\n\n----\n![raw](https://raw.githubusercontent.com/brainglobe/cellfinder-napari/master/resources/cellfinder-napari.gif)\n\n**Visualising detected cells in the cellfinder napari plugin**\n\n----\n## Instructions\n\n### Installation\nOnce you have [installed napari](https://napari.org/index.html#installation).\nYou can install napari either through the napari plugin installation tool, or\ndirectly from PyPI with:\n```bash\npip install cellfinder-napari\n```\n\n### Usage\nFull documentation can be\nfound [here](https://brainglobe.info/documentation/cellfinder/index.html).\n\nThis software is at a very early stage, and was written with our data in mind.\nOver time we hope to support other data types/formats. If you have any\nquestions or issues, please get in touch [on the forum](https://forum.image.sc/tag/brainglobe) or by\n[raising an issue](https://github.com/brainglobe/cellfinder-napari/issues).\n\n\n---\n## Illustration\n\n### Introduction\ncellfinder takes a stitched, but otherwise raw dataset with at least\ntwo channels:\n * Background channel (i.e. autofluorescence)\n * Signal channel, the one with the cells to be detected:\n\n![raw](https://raw.githubusercontent.com/brainglobe/cellfinder/master/resources/raw.png)\n**Raw coronal serial two-photon mouse brain image showing labelled cells**\n\n\n### Cell candidate detection\nClassical image analysis (e.g. filters, thresholding) is used to find\ncell-like objects (with false positives):\n\n![raw](https://raw.githubusercontent.com/brainglobe/cellfinder/master/resources/detect.png)\n**Candidate cells (including many artefacts)**\n\n\n### Cell candidate classification\nA deep-learning network (ResNet) is used to classify cell candidates as true\ncells or artefacts:\n\n![raw](https://raw.githubusercontent.com/brainglobe/cellfinder/master/resources/classify.png)\n**Cassified cell candidates. Yellow - cells, Blue - artefacts**\n\n## Contributing\nContributions to cellfinder-napari are more than welcome. Please see the [developers guide](https://brainglobe.info/developers/index.html).\n\n## Citing cellfinder\n\nIf you find this plugin useful, and use it in your research, please cite the paper outlining the cell detection algorithm:\n\u003e 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\n[https://doi.org/10.1371/journal.pcbi.1009074](https://doi.org/10.1371/journal.pcbi.1009074)\n\n\n**If you use this, or any other tools in the brainglobe suite, please\n [let us know](mailto:code@adamltyson.com?subject=cellfinder-napari), and\n we'd be happy to promote your paper/talk etc.**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrainglobe%2Fcellfinder-napari","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrainglobe%2Fcellfinder-napari","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrainglobe%2Fcellfinder-napari/lists"}