Skip to main content

PartSeg is python GUI and set of napari plugins for bio imaging analysis especially nucleus analysis,

Project description


Tests PyPI version Documentation Status Azure Pipelines Build Status DOI Total alerts Language grade: Python Codacy Badge Requirements Status Code Style codecov DeepSource

PartSeg is a GUI and a library for segmentation algorithms. PartSeg also provide napari plugins for IO and labels measurement.

This application is designed to help biologist with segmentation based on threshold and connected components.



  • Tutorial: Chromosome 1 (as gui) link
  • Data for chromosome 1 tutorial link
  • Tutorial: Different neuron types (as library) link


  • From binaries:

    • Windows (build on Windows 10)
    • Linux (build on Ubuntu 18.04)
    • MacOS (build on MacOS Mojave)
  • With pip:

    • From pypi: pip install PartSeg[all]
    • From repository: pip install git+

Installation troubleshooting information could be found in wiki: wiki. If this information does not solve problem you can open issue.


If you downloaded binaries, run the PartSeg (or PartSeg.exe for Windows) file inside the PartSeg folder

If you installed from repository or from pip, you can run it with PartSeg command or python -m PartSeg. First option does not work on Windows.

PartSeg export few commandline options:

  • --no_report - disable error reporting
  • --no_dialog - disable error reporting and error dialog. Use only when running from terminal.
  • segmentation_analysis - skip launcher and start analysis gui
  • segmentation - skip launcher and start segmentation gui

napari plugin

PartSeg provides napari plugins for io to allow reading projects format in napari viewer.

Save Format

Saved projects are tar files compressed with gzip or bz2.

Metadata is saved in data.json file (in json format). Images/masks are saved as *.npy (numpy array format).


Launcher. Choose the program that you will launch:


Main window of Segmentation Analysis:


Main window of Segmentation Analysis with view on measurement result:


Window for creating a set of measurements:


Main window of Mask Segmentation:

mask interface


Laboratory of Functional and Structural Genomics

Cite as

Bokota, G., Sroka, J., Basu, S. et al. PartSeg: a tool for quantitative feature extraction from 3D microscopy images for dummies. BMC Bioinformatics 22, 72 (2021).



Bug Fixes

  • Fix bugs in the generation process of the changelog for release. (#428)
  • Restoring ROI on home button click in compare viewer (#443)
  • Fix Measurement name prefix in bundled PartSeg. (#458)
  • Napari widgets registration in pyinstaller bundle (#465)
  • Hide points button if no points are loaded, hide Mask checkbox if no mask is set (#463)
  • Replace Label data instead of adding/removing layers - fix blending layers (#464)


  • Add threshold information in layer annotation in the Multiple Otsu ROI extraction method (#430)
  • Add option to select rendering method for ROI (#431)
  • Add callback mechanism to ProfileDict, live update of ROI render parameters (#432)
  • Move the info bar on the bottom of the viewer (#442)
  • Add options to load recent files in multiple files widget (#444)
  • Add ROI annotations as properties to napari labels layer created by ROI Extraction widgets (#445)
  • Add signals to ProfileDict, remove redundant synchronization mechanisms (#449)
  • Allow ignoring updates for 21 days (#453)
  • Save all components if no components selected in mask segmentation (#456)
  • Add modal dialog for search ROI components (#459)
  • Add full measurement support as napari widget (#460)
  • Add search labels as napari widget (#467)


  • Export common code for load/save dialog to one place (#437)
  • Change most of call QFileDialog to more generic code (#440)


  • Add test for PartSeg.common_backend module (#433)


Bug Fixes

  • Importing the previous version of settings (#406)
  • Cutting without masking data (#407)
  • Save in subdirectory in batch plan (#414)
  • Loading plugins for batch processing (#423)


  • Add randomization option for correlation calculation (#421)
  • Add Imagej TIFF writter for image. (#405)
  • Mask create widget for napari (#395)
  • In napari roi extraction method show information from roi extraction method (#408)
  • Add *[0-9].tif button in batch processing window (#412)
  • Better label representation in 3d view (#418)


  • Use Font Awesome instead of custom symbols (#424)


Bug Fixes

  • Adding mask in Prepare Plan for batch (#383)
  • Set proper completion mode in SearchComboBox (#384)
  • Showing warnings on the error with ROI load (#385)


  • Add CellFromNucleusFlow "Cell from nucleus flow" cell segmentation method (#367)
  • When cutting components in PartSeg ROI mask allow not masking outer data (#379)
  • Theme selection in GUI (#381)
  • Allow return points from ROI extraction algorithm (#382)
  • Add measurement to get ROI annotation by name. (#386)
  • PartSeg ROI extraction algorithms as napari plugins (#387)
  • Add Pearson, Mander's, Intensity, Spearman colocalization measurements (#392)
  • Separate standalone napari settings from PartSeg embedded napari settings (#397)


  • Use faster calc bound function (#375)


  • Remove CustomApplication (#389)


  • change tiff save backend to ome-tiff
  • add DistanceROIROI and ROINeighbourhoodROI measurements


  • annotation show bugfix


  • napari deprecation fixes
  • speedup simple measurement
  • bundle plugins initial support


  • add measurements widget for napari
  • fix bug in pipeline usage


  • Hotfix release
  • Prepare for a new napari version


  • Small fixes for error reporting
  • Fix mask segmentation


  • Bugfix for outdated profile/pipeline preview


  • Fix saving roi_info in multiple files and history


  • Fix showing label in select label tab


  • Add Haralick measurements
  • Add obsep file support


  • Add possibility of custom input widgets for algorithms
  • Switch to napari Colormaps instead of custom one
  • Add points visualization
  • Synchronization widget for builtin (View menu) napari viewer
  • Drop Python 3.6


  • Fixes for napari 0.4.6


  • Fix prev_mask_get
  • Fix cache mechanism on mask change
  • Update PyInstaller build


  • Fix bug in pipeline execute


  • Fix ROI Mask windows related build (signal not properly connected)


  • Fix ROI Mask


  • Fix windows bundle


  • History of last opened files
  • Add ROI annotation and ROI alternatives
  • Minor bugfix


  • Toggle multiple files widget in View menu
  • Toggle Left panel in ROI Analysis in View Menu
  • Rename Mask Segmentation to ROI Mask
  • Add documentation for interface
  • Add Batch processing tutorial
  • Add information about errors to batch processing output file
  • Load image from the batch prepare window
  • Add search option in part of list and combo boxes
  • Add drag and drop mechanism to load list of files to batch window.


  • add side view to viewer
  • fix horizontal view for Measurements result table


  • bump to napari 0.3.8 in bundle
  • fix bug with not presented segmentation loaded from project
  • add frame (1 pix) to image cat from base one based on segmentation
  • pin to Qt version to 5.14


  • prepare for napari 0.3.7
  • split napari io plugin on multiple part
  • better reporting for numpy array via sentry
  • fix setting color for mask marking


  • Speedup image set in viewer using async calls
  • Fix bug in long name of sheet with parameters


  • Add screenshot option in View menu
  • Add Voxels measurements


  • Make sprawl algorithm name shorter
  • Unify capitalisation of measurement names
  • Add simple measurements to mask segmentation
  • Use napari as viewer
  • Add possibility to preview additional output of algorithms (In View menu)
  • Update names of available Algorithm and Measurement to be more descriptive.


  • fix synchronisation between viewers in Segmentation Analysis
  • fix batch crash on error during batch run, add information about file on which calculation fails
  • add changelog preview in Help > About


  • in measurements, on empty list of components mean will return 0


  • fix border rim preview
  • fix problem with size of image preview
  • zoom with scroll and moving if rectangle zoom is not marked


  • make PartSeg PEP517 compatible.
  • fix multiple files widget on Windows (path normalisation)


  • fix slow zoom


  • deterministic order of elements in batch processing.


  • bugfixes


  • bugfixes


  • Add creating custom label coloring.
  • Change execs interpreter to python 3.7.
  • Add masking operation in Segmentation Mask.
  • Change license to BSD.
  • Allow select root type in batch processing.
  • Add median filter in preview.


  • fix bug in compare mask


  • fix bug in loading project with mask
  • upgrade PyInstaller version (bug GHSA-7fcj-pq9j-wh2r)


  • fix bug in loading project in "Segmentation analysis"


  • read mask segmentation projects
  • choose source type in batch
  • add initial support to OIF and CZI file format
  • extract utils to PartSegCore module
  • add automated tests of example notebook
  • reversed mask
  • load segmentation parameters in mask segmentation
  • allow use sprawl in segmentation tool
  • add radial split of mask for measurement
  • add all measurement results in batch, per component sheet


  • start automated build documentation
  • change color map backend and allow for user to create custom color map.
  • segmentation compare
  • update test engines
  • support of PySide2

  • refactor code to make easier create plugin for mask segmentation
  • create class base updater for update outdated algorithm description
  • fix save functions
  • fix different bugs

  • extract static data to separated package
  • update marker of fix range and add mark of gauss in channel control

  • add VoteSmooth and add choosing of smooth algorithm


  • add pypi base check for update

  • remove resetting image state when change state in same image

  • in stack segmentation add options to picking components from segmentation's

  • in mask segmentation add:

    • preview of segmentation parameters per component,
    • save segmentation parameters in save file
    • new implementation of batch mode.


  • Add multiple files widget

  • Add Calculating distances between segmented object and mask

  • Batch processing plan fixes:

    • Fix adding pipelines to plan
    • Redesign mask widget
  • modify measurement backend to allow calculate multi channel measurements.


Begin of changelog

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for PartSeg, version 0.13.13
Filename, size File type Python version Upload date Hashes
Filename, size PartSeg-0.13.13-py3-none-any.whl (330.1 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size PartSeg-0.13.13.tar.gz (389.1 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page