Metadata-Version: 2.1
Name: PartSeg
Version: 0.13.12
Summary: PartSeg is python GUI and set of napari plugins for bio imaging analysis especially nucleus analysis,
Home-page: https://4dnucleome.cent.uw.edu.pl/PartSeg/
Author: Grzegorz Bokota
Author-email: g.bokota@cent.uw.edu.pl
License: BSD-3-Clause
Project-URL: Documentation, https://partseg.readthedocs.io/en/stable/
Project-URL: Source Code, https://github.com/4DNucleome/PartSeg
Keywords: bioimaging,GUI
Platform: Linux
Platform: Windows
Platform: MacOs
Classifier: Development Status :: 3 - Alpha
Classifier: Framework :: napari
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Provides-Extra: pyqt
Provides-Extra: pyqt5
Provides-Extra: pyside
Provides-Extra: pyside2
Provides-Extra: test
License-File: License.txt

# PartSeg

![Tests](https://github.com/4DNucleome/PartSeg/workflows/Tests/badge.svg?branch=develop)
[![PyPI version](https://badge.fury.io/py/PartSeg.svg)](https://badge.fury.io/py/PartSeg)
[![Documentation Status](https://readthedocs.org/projects/partseg/badge/?version=latest)](https://partseg.readthedocs.io/en/latest/?badge=latest)
[![Azure Pipelines Build Status](https://dev.azure.com/PartSeg/PartSeg/_apis/build/status/4DNucleome.PartSeg?branchName=develop)](https://dev.azure.com/PartSeg/PartSeg/_build/latest?definitionId=1&branchName=develop)
[![DOI](https://zenodo.org/badge/166421141.svg)](https://zenodo.org/badge/latestdoi/166421141)
[![Total alerts](https://img.shields.io/lgtm/alerts/g/4DNucleome/PartSeg.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/4DNucleome/PartSeg/alerts/)
[![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/4DNucleome/PartSeg.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/4DNucleome/PartSeg/context:python)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/f9b0f1eb2c92486d9efd99ed5b2ef326)](https://www.codacy.com/gh/4DNucleome/PartSeg/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=4DNucleome/PartSeg&amp;utm_campaign=Badge_Grade)
[![Requirements Status](https://requires.io/github/4DNucleome/PartSeg/requirements.svg?branch=develop)](https://requires.io/github/4DNucleome/PartSeg/requirements/?branch=develop)
[![Code Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![codecov](https://codecov.io/gh/4DNucleome/PartSeg/branch/develop/graph/badge.svg?token=nbAbkOAe1C)](https://codecov.io/gh/4DNucleome/PartSeg)
[![DeepSource](https://deepsource.io/gh/4DNucleome/PartSeg.svg/?label=active+issues&show_trend=true&token=RuuHPIzqyqGaU-bKtOKPFWTg)](https://deepsource.io/gh/4DNucleome/PartSeg/?ref=repository-badge)

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.

![interface](https://raw.githubusercontent.com/4DNucleome/PartSeg/master/images/roi_analysis.png)

## Tutorials

-   Tutorial: **Chromosome 1 (as gui)** [link](https://github.com/4DNucleome/PartSeg/blob/master/tutorials/tutorial-chromosome-1/tutorial-chromosome1_16.md)
-   Data for chromosome 1 tutorial [link](https://4dnucleome.cent.uw.edu.pl/PartSeg/Downloads/PartSeg_samples.zip)
-   Tutorial: **Different neuron types (as library)** [link](https://github.com/4DNucleome/PartSeg/blob/master/tutorials/tutorial_neuron_types/Neuron_types_example.ipynb)

## Installation

-   From binaries:
    -   [Windows](https://4dnucleome.cent.uw.edu.pl/PartSeg/Downloads/PartSeg-lastest-windows.zip) (build on Windows 10)
    -   [Linux](https://4dnucleome.cent.uw.edu.pl/PartSeg/Downloads/PartSeg-lastest-linux.zip) (build on Ubuntu 18.04)
    -   [MacOS](https://4dnucleome.cent.uw.edu.pl/PartSeg/Downloads/PartSeg-lastest-macos.zip) (build on MacOS Mojave)

-   With pip:
    -   From pypi: `pip install PartSeg[pyqt]`
    -   From repository: `pip install git+https://github.com/4DNucleome/PartSeg.git`

Installation troubleshooting information could be found in wiki: [wiki](https://github.com/4DNucleome/PartSeg/wiki/Instalation-troubleshoot).
If this information does not solve problem you can open [issue](https://github.com/4DNucleome/PartSeg/issues).

## Running

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).

## Interface

Launcher. Choose the program that you will launch:

![launcher](https://raw.githubusercontent.com/4DNucleome/PartSeg/master/images/launcher.png)

Main window of Segmentation Analysis:

![interface](https://raw.githubusercontent.com/4DNucleome/PartSeg/master/images/roi_analysis.png)

Main window of Segmentation Analysis with view on measurement result:

![interface](https://raw.githubusercontent.com/4DNucleome/PartSeg/master/images/roi_analysis2.png)

Window for creating a set of measurements:

![statistics](https://raw.githubusercontent.com/4DNucleome/PartSeg/master/images/measurement.png)

Main window of Mask Segmentation:

![mask interface](https://raw.githubusercontent.com/4DNucleome/PartSeg/master/images/roi_mask.png)

## Laboratory

Laboratory of Functional and Structural Genomics
[http://4dnucleome.cent.uw.edu.pl/](http://4dnucleome.cent.uw.edu.pl/)

## 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).
[https://doi.org/10.1186/s12859-021-03984-1](https://doi.org/10.1186/s12859-021-03984-1)


## Changelog

### 0.13.12

#### Bug Fixes

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

#### Features

-   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 lebel representation in 3d view (#418)

#### Refactor

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

### 0.13.11

#### Bug Fixes

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

#### Features

-   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 algoritms as napari plugins (#387)
-   Add  Pearson, Mander's, Intensity, Spearman colocalizatiom measurements (#392)
-   Separate standalone napari settings from PartSeg embeded napari settings (#397)

#### Performance

-   Use faster calc bound function (#375)

#### Refactor

-   Remove CustomApplication (#389)

### 0.13.10

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

### 0.13.9

-   annotation show bugfix

### 0.13.8

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

### 0.13.7

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

### 0.13.6

-   Hotfix release
-   Prepare for a new napari version

### 0.13.5

-   Small fixes for error reporting
-   Fix mask segmentation

### 0.13.4

-   Bugfix for outdated profile/pipeline preview

### 0.13.3

-   Fix saving roi_info in multiple files and history

### 0.13.2

-   Fix showing label in select label tab

### 0.13.1

-   Add Haralick measurements
-   Add obsep file support

### 0.13.0

-   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

### 0.12.7

-   Fixes for napari 0.4.6

### 0.12.6

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

### 0.12.5

-   Fix bug in pipeline execute

### 0.12.4

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

### 0.12.3

-   Fix ROI Mask

### 0.12.2

-   Fix windows bundle

### 0.12.1

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

### 0.12.0

-   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.

### 0.11.5

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

### 0.11.4

-   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

### 0.11.3

-   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

### 0.11.2

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

### 0.11.1

-   Add screenshot option in View menu
-   Add Voxels measurements

### 0.11.0

-   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.

### 0.10.8

-   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

### 0.10.7

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

### 0.10.6

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

### 0.10.5

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

### 0.10.4

-   fix slow zoom

### 0.10.3

-   deterministic order of elements in batch processing.

### 0.10.2

-   bugfixes

### 0.10.1

-   bugfixes

### 0.10.0

-   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.

### 0.9.7

-   fix bug in compare mask

### 0.9.6

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

### 0.9.5

-   fix bug in loading project in "Segmentation analysis"

### 0.9.4

-   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

### 0.9.3

-   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

### 0.9.2.3

-   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

### 0.9.2.2

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

### 0.9.2.1

-   add VoteSmooth and add choosing of smooth algorithm

### 0.9.2

-   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.

### 0.9.1

-   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.

### 0.9

Begin of changelog


