Metadata-Version: 2.1
Name: PartSeg
Version: 0.11.0b2
Summary: PartSeg is python GUI 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: 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.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: Cython (>=0.29.13)
Requires-Dist: PartSegData (==0.9.4)
Requires-Dist: PyOpenGL-accelerate (>=3.1.5)
Requires-Dist: QtPy (>=1.3.1)
Requires-Dist: SimpleITK (>=1.1.0)
Requires-Dist: appdirs (>=1.4.3)
Requires-Dist: czifile (>=2019.4.20)
Requires-Dist: defusedxml (>=0.6.0)
Requires-Dist: h5py (>=2.7.1)
Requires-Dist: imagecodecs
Requires-Dist: napari (>=0.3.3)
Requires-Dist: numpy (>=1.16.0)
Requires-Dist: oiffile (>=2019.1.1)
Requires-Dist: openpyxl (>=2.4.9)
Requires-Dist: packaging (>=17.1)
Requires-Dist: pandas (>=0.22.0)
Requires-Dist: requests (>=2.18.0)
Requires-Dist: scipy (>=0.19.1)
Requires-Dist: sentry-sdk (>=0.14.3)
Requires-Dist: six (>=1.11.0)
Requires-Dist: sympy (>=1.1.1)
Requires-Dist: tifffile (>=2019.7.26)
Requires-Dist: xlrd (>=1.1.0)
Requires-Dist: xlsxwriter
Requires-Dist: dataclasses (>=0.7) ; python_version < "3.7"
Provides-Extra: pyqt
Requires-Dist: PyQt5 (>=5.10.1) ; extra == 'pyqt'
Provides-Extra: pyqt5
Requires-Dist: PyQt5 (>=5.10.1) ; extra == 'pyqt5'
Provides-Extra: pysid2
Requires-Dist: PySide2 (>=5.10.1) ; extra == 'pysid2'
Provides-Extra: pyside
Requires-Dist: PySide2 (>=5.10.1) ; extra == 'pyside'
Provides-Extra: test
Requires-Dist: pytest (>=3.0.0) ; extra == 'test'
Requires-Dist: pytest-cov ; extra == 'test'
Requires-Dist: pytest-qt ; extra == 'test'

# PartSeg
[![Travis Build Status](https://travis-ci.com/4DNucleome/PartSeg.svg?branch=master)](https://travis-ci.com/4DNucleome/PartSeg)
![Tests](https://github.com/4DNucleome/PartSeg/workflows/Tests/badge.svg?branch=master)
[![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=master)](https://dev.azure.com/PartSeg/PartSeg/_build/latest?definitionId=1&branchName=master)
[![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://api.codacy.com/project/badge/Grade/6c6bef8ebb6a4785a7a1a2da88524661)](https://www.codacy.com/manual/Czaki/PartSeg?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=master)
[![Code Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

PartSeg is gui and library for segmentation algorithms.

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

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

## Tutorials
-   Tutorial: **Chromosome 1 (as gui)** [link](https://4dnucleome.cent.uw.edu.pl/PartSeg/tutorials/tutorial_chromosome_1/)
-   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://4dnucleome.cent.uw.edu.pl/PartSeg/tutorials/tutorial_diferrent_neurons/)

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

-   With pip (on linux you need to install `numpy` and `cython` earlier)
    -   From pypi: `pip install PartSeg[pyqt]`
    -   From repository: `pip install git+https://github.com/4DNucleome/PartSeg.git`

## Running
If you download binaries look for `PartSeg_exec` file inside the `PartSeg` folder

If you install from repository or from pip you cat run it with `PartSeg` command or `python -m PartSeg`.
First option do not work on Windows.

PartSeg export few commandline options:
-   `--no_report` - disable reporting errors to authors
-   `--no_dialog` - disable reporting errors to authors and showing error dialog. Use only when running from terminal.
-   `segmentation_analysis` - skip launcher and start analysis gui
-   `segmentation` - skip launcher and start segmentation gui

## Additional remarks
PartSeg use current `imagecodecs-lite` as backed for `tifffile`. You may install full version if `imagecodecs` manually.

## Save Format
Saved project are tar files compressed with gzip or bz2

Metadata are saved in data.json file (in json format)
images/mask are saved as *.npy (numpy array format)

## Interface
Launcher. Chose 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/analysis_gui.png)

Main window of Segmentation Analysis with view on measurement result:

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

Window for creating 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/mask_gui.png)

## Laboratory
Laboratory of functional and structural genomics
[http://4dnucleome.cent.uw.edu.pl/](http://4dnucleome.cent.uw.edu.pl/)


## Changelog

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


