copick

A plugin for collaborative annotation in cryoET using copick

  • Kyle Harrington, Utz H. Ermel

License MIT PyPI Python Version tests codecov napari hub

A plugin for collaborative annotation in cryoET using copick

interface.png


This napari plugin was generated with Cookiecutter using @napari's cookiecutter-napari-plugin template.

Installation

You can install napari-copick via pip:

pip install napari-copick

To install latest development version:

pip install git+https://github.com/copick/napari-copick.git

Usage

Using a copick config file

napari-copick run --config path/to/copick_config.json

Using dataset IDs from CZ cryoET Data Portal

napari-copick run --dataset-ids 10440 10441 --overlay-root /path/to/overlay_root

You can specify multiple dataset IDs separated by spaces.

GUI Usage

The plugin provides an intuitive interface with two loading options:

  1. Load Config File: Opens a file dialog to select a copick configuration JSON file
  2. Load from Dataset IDs: Opens a dialog to enter CZ cryoET Data Portal dataset IDs and overlay root path

After loading, you'll see a hierarchical tree of the project structure that you can navigate to access tomograms, segmentations, and picks.

Tomogram Handling

napari-copick now handles multiscale zarr arrays directly:

  • Automatically detects and loads all available resolution levels
  • Creates a proper multiscale image stack using napari's native multiscale API
  • Uses dask for efficient lazy loading of large tomogram data
  • Applies appropriate scaling factors based on the voxel size metadata

This direct zarr handling provides better performance and more flexibility compared to relying on external plugins.

Contributing

Contributions are very welcome. Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.

License

Distributed under the terms of the MIT license, "napari-copick" is free and open source software

Issues

If you encounter any problems, please file an issue along with a detailed description.

Code of Conduct

This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to opensource@chanzuckerberg.com.

Reporting Security Issues

If you believe you have found a security issue, please responsibly disclose by contacting us at security@chanzuckerberg.com.

Version:

  • 1.0.1

Last updated:

  • 2025-07-27

First released:

  • 2025-07-27

License:

  • MIT

Supported data:

  • Information not submitted

Plugin type:

Open extension:

Save extension:

Python versions supported:

Operating system:

  • Information not submitted

Requirements:

  • click
  • copick-shared-ui==0.2.0
  • copick>=1.6.0
  • fsspec
  • magicgui
  • napari
  • napari-ome-zarr
  • numpy
  • pydantic>=2
  • qtpy
  • scikit-image
  • trimesh
  • zarr
  • black>=25.1.0; extra == 'dev'
  • hatch-vcs>=0.4.0; extra == 'dev'
  • hatchling>=1.25.0; extra == 'dev'
  • pre-commit>=4.2.0; extra == 'dev'
  • ruff>=0.12.0; extra == 'dev'
  • napari; extra == 'testing'
  • pyqt6; extra == 'testing'
  • pytest; extra == 'testing'
  • pytest-cov; extra == 'testing'
  • pytest-qt; extra == 'testing'
  • tox; extra == 'testing'
  • tox-gh-actions; extra == 'testing'
  • tox-uv; extra == 'testing'
Website by the napari team, original design by CZI. Go to napari main website.