3D Counter
A simple plugin for counting objects in 3D images
A simple plugin for counting objects in 3D images
This napari plugin was generated with Cookiecutter using @napari's cookiecutter-napari-plugin template.
Installation
You can install napari-3d-counter
via conda
conda install -c conda-forge napari-3d-counter pyqt
or pip
pip install napari-3d-counter
To install latest development version:
pip install git+https://github.com/pnewstein/napari-3d-counter.git
Count3D Usage
First launch napari with the napari
command or interactively through ipython
import napari
viewer = napari.Veiwer()
Count3D can be launched from the plugin menu of napari, or through the command palette (ctrl shift P)
Adding a cell
You can add a cell of the currently selected cell type by clicking on the viewer.
- Ensure that
Point adder
layer is selected - Ensure that
Add points
tool is selected - Click on the viewer where you would like the point to be added
The counter on the current cell type's button will be incremented
https://github.com/pnewstein/napari-3d-counter/assets/30813691/745d495e-1d18-43dd-aa5e-e9ecd835cdae
Changing cell type
You can change the currently selected cell type by clicking on that cell type's button. This change will be reflected in the GUI. Additionally, the keyboard shortcut for that cell type can be used. Keyboard shortcuts are listed on the button, and are "q", "w", "e", "r", "t", "y" by default
https://github.com/pnewstein/napari-3d-counter/assets/30813691/844d04ce-2795-4226-a98b-d5fe5a0b131e
Undo last added cell
The undo button (shortcut u) will remove last added cell, regardless of cell type
https://github.com/pnewstein/napari-3d-counter/assets/30813691/c04ca5e3-9f48-4dd5-89e5-a9866b353e03
Remove a particular cell
To remove a particular cell, change to the layer containing the cell you would
like to remove. Then select the select points
tool to select the points to
delete, then use Delete selected points
to delete those points
This change will be reflected in the counts.
https://github.com/pnewstein/napari-3d-counter/assets/30813691/d0787cba-9b23-46d5-9cd3-21a4ad73460a
Change appearance of a cell type
Changes to the name or edge color of a points layer will be reflected in the previously added points, as well as the GUI. Features that are editable in this way include: - face color - edge color - symbol - size
https://github.com/pnewstein/napari-3d-counter/assets/30813691/6c495270-d4c4-473e-9091-8d2e0f8e2764
Save configuration
Use the Make launch_cell_count.py
button to create a python script that will
launch napari with 3DCounter added to the dock and current cell type appearances
already loaded
https://github.com/pnewstein/napari-3d-counter/assets/30813691/3448652d-3064-4900-8bbe-e88d75667108
Save cells
Use the "Save cells" button to save the cell coordinates for all layers into a csv file
https://github.com/pnewstein/napari-3d-counter/assets/30813691/38b30f2a-cc83-46c2-8b19-4d44715c07c5
Load cells
Use the "Load cells" button to load the cells from a csv file into new layers
https://github.com/pnewstein/napari-3d-counter/assets/30813691/7df74688-85b1-4b61-aa51-dab179763832
Launch with saved configuration
To run Count3D with custom configuration, paste the following code into your napari ipython console
from napari_3d_counter import Count3D, CellTypeConfig
cell_type_config = [
# The first cell type is called "cq+eve+" and should be green
CellTypeConfig(
name="cq+eve+",
color="g"
),
# The first cell type is called "cq+eve-" and should be cyan
CellTypeConfig(
name="cq+eve-",
color="c"
),
# The first cell type is called "cq-eve+" and should be red
CellTypeConfig(
name="cq-eve+",
color="r"
),
]
# Launch the plugin with configuration
viewer.window.add_dock_widget(Count3D(viewer, cell_type_config=cell_type_config))
Auxiliary plugins
Reconstruct Selected
One use case of Napari 3D Counter is to visualize a subset of labeled cells. For example, automated process label your cells of interest as well as a set of off-target cells, and you would like to visualize only your cells of interest. This can be accomplished by using Napari 3D Counter to count your cells of interest, and some other process to create labels (perhaps nsbatwm) and using Reconstruct Selected to create a new image layer of those labels which have been counted as a particular cell type.
Ingress Points
This plugin takes a points layer and adds the points to the selected cell_type layer. This can be useful if you want to manually count cells after cell identification.
Split on Shapes
This plugin can be used to subset a cell type into several groups based on their x-y location. Simply draw a shape that surrounds your cells (perhaps in a segment) and run this plugin to get a list of cells of each type in each shape.
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 GNU GPL v3.0 license, "napari-3d-counter" is free and open source software
Issues
If you encounter any problems, please file an issue along with a detailed description.
Version:
- 0.5.4
Last updated:
- 2025-08-28
First released:
- 2023-10-18
License:
- GPL-3.0-or-later