{"name":"PartSeg","display_name":"PartSeg","visibility":"public","icon":"","categories":[],"schema_version":"0.1.0","on_activate":null,"on_deactivate":null,"contributions":{"commands":[{"id":"PartSeg.load_roi_project","title":"Get PartSeg ROI project Reader","python_name":"PartSegCore.napari_plugins.load_roi_project:napari_get_reader","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"PartSeg.load_image","title":"Get Image Reader","python_name":"PartSegCore.napari_plugins.load_image:napari_get_reader","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"PartSeg.write_tiff_image","title":"Write tiff Image","python_name":"PartSegCore.napari_plugins.save_tiff_layer:napari_write_images","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"PartSeg.write_tiff_labels","title":"Write tiff Labels","python_name":"PartSegCore.napari_plugins.save_tiff_layer:napari_write_labels","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"PartSeg.load_mask_project","title":"Get PartSeg mask project Reader","python_name":"PartSegCore.napari_plugins.load_mask_project:napari_get_reader","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"PartSeg.save_mask_roi","title":"Write Labels as mask project","python_name":"PartSegCore.napari_plugins.save_mask_roi:napari_write_labels","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"PartSeg.load_masked_image","title":"Get Reader for image with mask","python_name":"PartSegCore.napari_plugins.load_masked_image:napari_get_reader","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"PartSeg.SimpleMeasurement","title":"Create Simple Measurement","python_name":"PartSeg.plugins.napari_widgets.simple_measurement_widget:SimpleMeasurement","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"PartSeg.ROIAnalysisExtraction","title":"Create ROI Analysis Extraction","python_name":"PartSeg.plugins.napari_widgets:ROIAnalysisExtraction","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"PartSeg.DoubleThreshold","title":"Create Double Threshold","python_name":"PartSeg.plugins.napari_widgets:DoubleThreshold","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"PartSeg.NoiseFilter","title":"Create Noise Filter","python_name":"PartSeg.plugins.napari_widgets:NoiseFilter","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"PartSeg.BorderSmooth","title":"Create Border Smooth","python_name":"PartSeg.plugins.napari_widgets:BorderSmooth","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"PartSeg.Watershed","title":"Create Watershed","python_name":"PartSeg.plugins.napari_widgets:Watershed","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"PartSeg.ConnectedComponents","title":"Create Connected Components","python_name":"PartSeg.plugins.napari_widgets:ConnectedComponents","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"PartSeg.SplitCoreObjects","title":"Create Split Core Objects","python_name":"PartSeg.plugins.napari_widgets:SplitCoreObjects","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"PartSeg.ROIMaskExtraction","title":"Create ROI Mask Extraction","python_name":"PartSeg.plugins.napari_widgets:ROIMaskExtraction","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"PartSeg.MaskCreate","title":"Create Mask Create","python_name":"PartSeg.plugins.napari_widgets:MaskCreate","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"PartSeg.Measurement","title":"Create Measurement","python_name":"PartSeg.plugins.napari_widgets.measurement_widget:Measurement","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"PartSeg.SearchLabel","title":"Create Search Label","python_name":"PartSeg.plugins.napari_widgets:SearchLabel","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"PartSeg.PartSegGUILauncher","title":"Create Part Seg GUI Launcher","python_name":"PartSeg.plugins.napari_widgets:PartSegGUILauncher","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"PartSeg.ImageColormap","title":"Create Image Colormap","python_name":"PartSeg.plugins.napari_widgets:ImageColormap","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"PartSeg.LabelSelector","title":"Create Label Selector","python_name":"PartSeg.plugins.napari_widgets:LabelSelector","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"PartSeg.Threshold","title":"Create Threshold","python_name":"PartSeg.plugins.napari_widgets:Threshold","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"PartSeg.CopyLabels","title":"Create Copy Labels","python_name":"PartSeg.plugins.napari_widgets:CopyLabelsWidget","short_title":null,"category":null,"icon":null,"enablement":null}],"readers":[{"command":"PartSeg.load_roi_project","filename_patterns":["*.tgz","*.tbz2","*.gz","*.bz2"],"accepts_directories":false},{"command":"PartSeg.load_image","filename_patterns":["*.tif","*.tiff","*.lsm","*.czi","*.oib","*.oif","*.obsep"],"accepts_directories":false},{"command":"PartSeg.load_mask_project","filename_patterns":["*.seg","*.tgz"],"accepts_directories":false},{"command":"PartSeg.load_masked_image","filename_patterns":["*.tif","*.tiff","*.lsm","*.czi","*.oib","*.oif"],"accepts_directories":false}],"writers":[{"command":"PartSeg.write_tiff_image","layer_types":["image+"],"filename_extensions":[".tif",".tiff"],"display_name":"Image as tiff"},{"command":"PartSeg.write_tiff_labels","layer_types":["labels"],"filename_extensions":[".tif",".tiff"],"display_name":"Labels as tiff"},{"command":"PartSeg.save_mask_roi","layer_types":["labels"],"filename_extensions":[".seg",".tgz"],"display_name":"PartSeg mask roi"}],"widgets":[{"command":"PartSeg.SearchLabel","display_name":"Search Label","autogenerate":false},{"command":"PartSeg.Measurement","display_name":"Measurement","autogenerate":false},{"command":"PartSeg.SimpleMeasurement","display_name":"Simple Measurement","autogenerate":false},{"command":"PartSeg.ROIAnalysisExtraction","display_name":"ROI Analysis Extraction","autogenerate":false},{"command":"PartSeg.ROIMaskExtraction","display_name":"ROI Mask Extraction","autogenerate":false},{"command":"PartSeg.MaskCreate","display_name":"Mask Create","autogenerate":false},{"command":"PartSeg.PartSegGUILauncher","display_name":"PartSeg GUI Launcher","autogenerate":false},{"command":"PartSeg.ImageColormap","display_name":"Image Colormap","autogenerate":false},{"command":"PartSeg.LabelSelector","display_name":"Label Selector","autogenerate":false},{"command":"PartSeg.CopyLabels","display_name":"Copy Labels","autogenerate":false},{"command":"PartSeg.BorderSmooth","display_name":"Border Smooth","autogenerate":false},{"command":"PartSeg.ConnectedComponents","display_name":"Connected Components","autogenerate":false},{"command":"PartSeg.NoiseFilter","display_name":"Noise Filter","autogenerate":false},{"command":"PartSeg.DoubleThreshold","display_name":"Double Threshold","autogenerate":false},{"command":"PartSeg.SplitCoreObjects","display_name":"Split Core Objects","autogenerate":false},{"command":"PartSeg.Threshold","display_name":"Threshold","autogenerate":false},{"command":"PartSeg.Watershed","display_name":"Watershed","autogenerate":false}],"sample_data":null,"themes":null,"menus":{},"submenus":null,"keybindings":null,"configuration":[]},"package_metadata":{"metadata_version":"2.1","name":"PartSeg","version":"0.15.2","dynamic":null,"platform":["Linux","Windows","MacOs"],"supported_platform":null,"summary":"PartSeg is python GUI and set of napari plugins for bio imaging analysis especially nucleus analysis,","description":"# PartSeg\n\n![Contributions](https://img.shields.io/badge/Contributions-Welcome-brightgreen.svg)\n![Tests](https://github.com/4DNucleome/PartSeg/workflows/Tests/badge.svg?branch=develop)\n[![PyPI version](https://badge.fury.io/py/PartSeg.svg)](https://badge.fury.io/py/PartSeg)\n[![Anaconda version](https://anaconda.org/conda-forge/partseg/badges/version.svg)](https://anaconda.org/conda-forge/partseg)\n[![Python Version](https://img.shields.io/pypi/pyversions/partseg.svg)](https://pypi.org/project/partseg)\n[![Documentation Status](https://readthedocs.org/projects/partseg/badge/?version=latest)](https://partseg.readthedocs.io/en/latest/?badge=latest)\n[![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)\n[![DOI](https://zenodo.org/badge/166421141.svg)](https://zenodo.org/badge/latestdoi/166421141)\n[![Publication DOI](https://img.shields.io/badge/Publication%20DOI-10.1186%2Fs12859--021--03984--1-blue)](https://doi.org/10.1186/s12859-021-03984-1)\n[![Licence: BSD3](https://img.shields.io/github/license/4DNucleome/PartSeg)](https://github.com/4DNucleome/PartSeg/blob/master/License.txt)\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)\n[![Code Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v1.json)](https://github.com/charliermarsh/ruff)\n[![CodeQL](https://github.com/4DNucleome/PartSeg/actions/workflows/codeql-analysis.yml/badge.svg?branch=develop)](https://github.com/4DNucleome/PartSeg/actions/workflows/codeql-analysis.yml)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/f9b0f1eb2c92486d9efd99ed5b2ef326)](https://www.codacy.com/gh/4DNucleome/PartSeg/dashboard?utm_source=github.com&utm_medium=referral&utm_content=4DNucleome/PartSeg&utm_campaign=Badge_Grade)\n[![codecov](https://codecov.io/gh/4DNucleome/PartSeg/branch/develop/graph/badge.svg?token=nbAbkOAe1C)](https://codecov.io/gh/4DNucleome/PartSeg)\n[![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)\n\nPartSeg is a GUI and a library for segmentation algorithms. PartSeg also provide napari plugins for IO and labels measurement.\n\nThis application is designed to help biologist with segmentation based on threshold and connected components.\n\n![interface](https://raw.githubusercontent.com/4DNucleome/PartSeg/master/images/roi_analysis.png)\n\n## Tutorials\n\n- Tutorial: **Chromosome 1 (as gui)** [link](https://github.com/4DNucleome/PartSeg/blob/master/tutorials/tutorial-chromosome-1/tutorial-chromosome1_16.md)\n- Data for chromosome 1 tutorial [link](https://4dnucleome.cent.uw.edu.pl/PartSeg/Downloads/PartSeg_samples.zip)\n- Tutorial: **Different neuron types (as library)** [link](https://github.com/4DNucleome/PartSeg/blob/master/tutorials/tutorial_neuron_types/Neuron_types_example.ipynb)\n\n## Installation\n\n- From binaries:\n\n - [Windows](https://4dnucleome.cent.uw.edu.pl/PartSeg/Downloads/PartSeg-0.15.2-windows.zip) (build on Windows 10)\n - [Linux](https://4dnucleome.cent.uw.edu.pl/PartSeg/Downloads/PartSeg-0.15.2-linux.zip) (build on Ubuntu 20.04)\n - [MacOS](https://4dnucleome.cent.uw.edu.pl/PartSeg/Downloads/PartSeg-0.15.2-macos.zip) (build on MacOS 11)\n There are reported problems with permissions systems on macOS. If you have problem with starting application please try to run it from terminal.\n\n- With pip:\n\n - From pypi: `pip install PartSeg[all]`\n - From repository: `pip install git+https://github.com/4DNucleome/PartSeg.git`\n\n- With conda:\n\n - `conda install -c conda-forge partseg`\n - `mamba install -c conda-forge partseg` - As mamba is faster than conda\n\n- With napari:\n\n If you do not know how to setup python environment on your system you may use [napari](https://napari.org/) to run PartSeg.\n It is a GUI for scientific image analysis. PartSeg is also a plugin for napari so could be installed from plugin dialog.\n To install napari bundle please download it [napari bundle](https://github.com/napari/napari/releases/latest)\n and follow [installation instructions](https://napari.org/stable/tutorials/fundamentals/installation.html#install-as-a-bundled-app).\n\nInstallation troubleshooting information could be found in wiki: [wiki](https://github.com/4DNucleome/PartSeg/wiki/Instalation-troubleshoot).\nIf this information does not solve problem you can open [issue](https://github.com/4DNucleome/PartSeg/issues).\n\n### Qt 6 support\n\nPartSeg development branch support (and stable since 0.15.0) has experimental Qt6 support. Test are passing but not whole GUI code is covered by tests. Inf you Find any problem please report it.\n\n## Running\n\nIf you downloaded binaries, run the `PartSeg` (or `PartSeg.exe` for Windows) file inside the `PartSeg` folder\n\nIf you installed from repository or from pip, you can run it with `PartSeg` command or `python -m PartSeg`.\nFirst option does not work on Windows.\n\nPartSeg export few commandline options:\n\n- `--no_report` - disable error reporting\n- `--no_dialog` - disable error reporting and error dialog. Use only when running from terminal.\n- `roi` - skip launcher and start *ROI analysis* gui\n- `mask`- skip launcher and start *ROI mask* gui\n\n## napari plugin\n\nPartSeg provides napari plugins for io to allow reading projects format in napari viewer.\n\n## Save Format\n\nSaved projects are tar files compressed with gzip or bz2.\n\nMetadata is saved in data.json file (in json format).\nImages/masks are saved as \\*.npy (numpy array format).\n\n## Interface\n\nLauncher. Choose the program that you will launch:\n\n![launcher](https://raw.githubusercontent.com/4DNucleome/PartSeg/master/images/launcher.png)\n\nMain window of Segmentation Analysis:\n\n![interface](https://raw.githubusercontent.com/4DNucleome/PartSeg/master/images/roi_analysis.png)\n\nMain window of Segmentation Analysis with view on measurement result:\n\n![interface](https://raw.githubusercontent.com/4DNucleome/PartSeg/master/images/roi_analysis2.png)\n\nWindow for creating a set of measurements:\n\n![statistics](https://raw.githubusercontent.com/4DNucleome/PartSeg/master/images/measurement.png)\n\nMain window of Mask Segmentation:\n\n![mask interface](https://raw.githubusercontent.com/4DNucleome/PartSeg/master/images/roi_mask.png)\n\n## Laboratory\n\nLaboratory of Functional and Structural Genomics\n[http://4dnucleome.cent.uw.edu.pl/](http://4dnucleome.cent.uw.edu.pl/)\n\n## Cite as\n\nBokota, G., Sroka, J., Basu, S. et al. PartSeg: a tool for quantitative feature extraction\nfrom 3D microscopy images for dummies. BMC Bioinformatics 22, 72 (2021).\n[https://doi.org/10.1186/s12859-021-03984-1](https://doi.org/10.1186/s12859-021-03984-1)\n\n\n## Changelog\n\n### 0.15.2 - 2023-08-28\n\n#### Bug Fixes\n\n- Fix range threshold selection of algorithms (#1009)\n- When run batch check if file extension is supported by loader (#1016)\n- Do not allow to select and render corrupted batch plans (#1015)\n\n#### Testing\n\n- \\[Automatic\\] Constraints upgrades: `imagecodecs`, `ipykernel`, `magicgui`, `psygnal`, `scipy`, `superqt`, `tifffile` (#1011)\n- \\[Automatic\\] Constraints upgrades: `imageio`, `pyinstaller`, `tifffile` (#1018)\n\n#### Ci\n\n- Use faster version of black (#1010)\n- \\[pre-commit.ci\\] pre-commit autoupdate (#1013)\n\n### 0.15.1 - 2023-08-09\n\n#### Bug Fixes\n\n- Fix possible problem of double registration napari plugin in PartSeg bundle (#974)\n- Bump OS versions for part of testing workflows. (#977)\n- Bump os version for main tests workflow. (#979)\n- Ensure that the module `PartSegCore.channel_class` is present in bundle (#980)\n- Lower npe2 schema version to work with older napari version (#981)\n- Generate test report per platfom (#978)\n- Importing plugins in bundle keeping proper module names (#983)\n- Fix napari repo workflow (#985)\n- Fix bug in read tiff files with double `Q` in axes but one related to dummy dimmension (#992)\n- Fix bug that lead to corupted state when saving calculation plan to excel file (#995)\n- Enable python 3.11 test on CI, fix minor errors (#869)\n\n#### Features\n\n- Allow to save multiple napari image layers to single tiff file (#1000)\n- Add option to export batch project with data (#996)\n\n#### Testing\n\n- \\[Automatic\\] Constraints upgrades: `imageio`, `ipython`, `psygnal`, `scipy`, `sentry-sdk` (#975)\n- \\[Automatic\\] Constraints upgrades: `h5py`, `imagecodecs`, `imageio`, `ipykernel`, `napari`, `numpy`, `pandas`, `pydantic`, `pyinstaller`, `scipy`, `sentry-sdk`, `tifffile`, `vispy` (#986)\n- \\[Automatic\\] Constraints upgrades: `imagecodecs`, `sentry-sdk`, `tifffile` (#997)\n- \\[Automatic\\] Constraints upgrades: `ipykernel`, `pydantic` (#1002)\n- \\[Automatic\\] Constraints upgrades: `numpy`, `pygments`, `sentry-sdk`, `superqt` (#1007)\n\n#### Ci\n\n- \\[pre-commit.ci\\] pre-commit autoupdate (#973)\n- \\[pre-commit.ci\\] pre-commit autoupdate (#982)\n- \\[pre-commit.ci\\] pre-commit autoupdate (#987)\n- \\[pre-commit.ci\\] pre-commit autoupdate (#988)\n- \\[pre-commit.ci\\] pre-commit autoupdate (#991)\n- \\[pre-commit.ci\\] pre-commit autoupdate (#998)\n- \\[pre-commit.ci\\] pre-commit autoupdate (#1004)\n- Change markdown linter from pre-commit to mdformat (#1006)\n\n### 0.15.0 - 2023-05-30\n\n#### Bug Fixes\n\n- Print all exceptions instead of the latest one in exception dialog (#799)\n- Fix ROIExtractionResult `__str__`and `__repr__` to use `ROIExtractionResult` not `SegmentationResult` (#810)\n- Fix code to address changes in the napari repository (#817)\n- Fix the problem with resize of multiline widgets (#832)\n- Fix tox configuration to run all required tests (#840)\n- Fix MSO `step_limit` description in GUI (#843)\n- Fix `redefined-while-unused`import code for python 3.9.7 (#844)\n- Fix warnings reported by Deepsource (#846)\n- Ensure that \"ROI\" layer is in the proper place for proper visualization (#856)\n- Fix tests of napari widgets (#862)\n- Fix build of the bundle for a new psygnal release (#863)\n- Fix minimal requirements pipeline (#877)\n- Fix bug with generation of form for the model with hidden field (#920)\n- Update pyinstaller configuration (#926)\n- Use text icon, not pixmap icon in colormap and labels list (#938)\n- Resolve warnings when testing custom save dialog. (#941)\n- Add padding zeros for component num when load Mask seg file to ROI GUI (#944)\n- Proper calculate bounds for watershed napari widget (#969)\n- Fix bug in the wrong order of axis saved in napari contribution (#972)\n\n#### Dependency\n\n- \\[Automatic\\] Dependency upgrades (#824)\n- \\[Automatic\\] Dependency upgrades (#828)\n- \\[Automatic\\] Dependency upgrades: `ipykernel`, `packaging` (#838)\n- \\[Automatic\\] Dependency upgrades: `imageio`, `ipykernel`, `napari`, `numpy`, `sentry` (#850)\n- \\[Automatic\\] Dependency upgrades: `imagecodecs`, `ipykernel`, `numpy`, `psygnal` (#859)\n- \\[Automatic\\] Dependency upgrades: `pydantic`, `pygments`, `xlsxwriter` (#874)\n- \\[Automatic\\] Dependency upgrades: `imageio`, `packaging`, `scipy`, `xlsxwriter` (#878)\n- \\[Automatic\\] Dependency upgrades: `ipykernel`, `requests`, `sentry`, `xlsxwriter` (#884)\n- \\[Automatic\\] Dependency upgrades: `h5py`, `imagecodecs`, `imageio`, `ipykernel`, `pandas`, `sentry`, `tifffile` (#889)\n- \\[Automatic\\] Dependency upgrades: `ipython`, `pyqt5` (#893)\n- \\[Automatic\\] Dependency upgrades: `imageio`, `ipykernel`, `ipython`, `numpy`, `openpyxl`, `psygnal`, `pydantic`, `pyinstaller`, `pyqt5`, `scipy`, `sentry-sdk`, `tifffile`, `xlsxwriter` (#897)\n- \\[Automatic\\] Dependency upgrades: `imageio`, `psygnal` (#905)\n- \\[Automatic\\] Dependency upgrades: `ipython`, `magicgui`, `scipy`, `sentry-sdk`, `tifffile` (#906)\n- \\[Automatic\\] Dependency upgrades: `imagecodecs`, `imageio`, `ipykernel`, `openpyxl`, `pydantic`, `pyinstaller`, `qtawesome`, `qtconsole`, `sentry-sdk`, `tifffile`, `xlsxwriter` (#908)\n- \\[Automatic\\] Dependency upgrades: `imageio`, `ipykernel`, `ipython`, `pandas`, `psygnal`, `pydantic`, `pygments`, `pyinstaller`, `qtpy`, `sentry-sdk`, `tifffile` (#917)\n\n#### Documentation\n\n- Update README and project metadata (#805)\n\n#### Features\n\n- Add `PARTSEG_SENTRY_URL` env variable support and basic documentation about error reporting (#802)\n- Allow to see underlying exception when show warning caused by exception (#829)\n- Add voxel size measurement and allow to overwrite voxel size in batch (#853)\n- Add alpha support for Qt6 (#866)\n- Add option to create projection alongside z-axis (#919)\n- Add napari image custom representation for better error report via sentry (#861)\n- Add import and export operation for labels and colormaps (#936)\n- Implement napari widgets for colormap and lables control (#935)\n- Add forget all button to multiple files widget (#942)\n- Do not abort processing whole mask segmentation project during exception on single component (#943)\n- Add distance based watersheed to flow methods (#915)\n- Add napari widgets for all group of algoritms (#958)\n- Add napari widget to copy lables along z-axis (#968)\n\n#### Miscellaneous Tasks\n\n- Improve ruff configuration, remove isort (#815)\n- Use `fail_on_no_env` feature from `tox-gh-actions` (#842)\n- Add python 3.11 to list of supported versions (#867)\n- Disable python 3.11 test because of timeout (#870)\n- Bump ruff to 0.0.218, remove flake8 from pre-commit (#880)\n- Replace GabrielBB/xvfb-action@v1 by aganders3/headless-gui, part 2 (#887)\n- Better minimal requirements test (#888)\n- Improve regexp for proper generate list of packages in update report (#894)\n- Add check for PR title (#933)\n- Migrate from `nme` to `local_migrator` (#951)\n\n#### Refactor\n\n- Simplify and refactor github workflows. (#864)\n- Better load Mask project in Roi Analysis (#921)\n- Use more descriptive names in `pylint: disable` (#922)\n- Remove `pkg_resources` usage as it is deprecated (#967)\n- Convert napari plugin to npe2 (#966)\n\n#### Security\n\n- Bump peter-evans/create-pull-request from 4 to 5 (#928)\n\n#### Styling\n\n- Change default theme to dark, remove blinking windows on startup. (#809)\n\n#### Testing\n\n- \\[Automatic\\] Dependency upgrades: `packaging`, `pyinstaller`, `pyopengl-accelerate`, `tifffile`, `xlsxwriter` (#932)\n- \\[Automatic\\] Constraints upgrades: `fonticon-fontawesome6`, `imageio`, `numpy`, `partsegcore-compiled-backend`, `pygments`, `sentry-sdk` (#937)\n- \\[Automatic\\] Constraints upgrades: `imageio`, `ipython`, `pandas`, `requests`, `sentry-sdk` (#948)\n- \\[Automatic\\] Constraints upgrades: `ipython`, `nme`, `qtconsole`, `requests`, `sentry-sdk` (#955)\n- \\[Automatic\\] Constraints upgrades: `ipykernel`, `local-migrator`, `pyinstaller`, `sentry-sdk`, `sympy` (#957)\n- \\[Automatic\\] Constraints upgrades: `sentry-sdk`, `xlsxwriter` (#959)\n- \\[Automatic\\] Constraints upgrades: `requests` (#961)\n\n#### Ci\n\n- Update codecov configuration to wait on two reports before post information (#934)\n- \\[pre-commit.ci\\] pre-commit autoupdate (#945)\n- \\[pre-commit.ci\\] pre-commit autoupdate (#956)\n- \\[pre-commit.ci\\] pre-commit autoupdate (#964)\n\n### 0.14.6 - 2022-11-13\n\n#### Bug Fixes\n\n- Fix bug when loading already created project causing hide of ROI layer (#787)\n\n#### Features\n\n- Improve error message if segmentation do not fit in ROI Mask (#788)\n\n### 0.14.5 - 2022-11-09\n\n#### Bug Fixes\n\n- Fix scalebar color (#774)\n- Fix bug when saving segmentation parameters in mask analysis (#781)\n- Fix multiple errors related to loading a new file in interactive mode (#784)\n\n#### Features\n\n- Add an option for ensuring type in EventedDict and use it to validate profiles structures (#776)\n- Add an option to create an issue from the error report dialog (#782)\n- Add option for the multiline field in algorithm parameters (#766)\n\n#### Refactor\n\n- Optimize CLI actions (#772)\n- Clean warnings about threshold methods (#783)\n\n#### Build\n\n- Bump chanzuckerberg/napari-hub-preview-action from 0.1.5 to 0.1.6 (#775)\n\n### 0.14.4 - 2022-10-24\n\n#### Bug Fixes\n\n- Fix `get_theme` calls to prepare for napari 0.4.17 (#729)\n- Fix sentry tests (#742)\n- Fix reporting error in load settings from the drive (#725)\n- Fix saving pipeline from GUI (#756)\n- Fix profile export/import dialogs (#761)\n- Enable the \"Compare\" button if ROI is available (#765)\n- Fix bug in cut with ROI to not make black artifacts (#767)\n\n#### Features\n\n- Load alternatives labeling when opening PartSeg projects in napari (#731)\n- Add option to toggle scale bar (#733)\n- Allow customizing the settings directory using the `PARTSEG_SETTINGS_DIR` environment variable (#751)\n- Separate recent algorithms from general application settings (#752)\n- Add multiple otsu as threshold method with selection range of components (#710)\n- Add function to load components from Mask Segmentation with a background in ROI Analysis (#768)\n\n#### Miscellaneous Tasks\n\n- Prepare pyinstaller configuration for napari 0.4.17 (#748)\n- Add ruff linter (#754)\n\n#### Testing\n\n- Add new build and inspect wheel action (#747)\n\n#### Build\n\n- Bump actions/checkout from 2 to 3 (#716)\n- Bump actions/download-artifact from 1 to 3 (#709)\n\n### 0.14.3 - 2022-08-18\n\n#### Bug Fixes\n\n- Fix lack of rendering ROI when load image from segmentation (#694)\n- Fix running ROI extraction from napari widget (#695)\n- Delay setting image if an algorithm is still running (#627)\n- Wrong error report when no component is found in restartable segmentation algorithm. (#633)\n- Fix the process of building documentation (#653)\n\n#### Refactor\n\n- Clean potential vulnerabilities (#630)\n\n#### Testing\n\n- Add more tests for common GUI elements (#622)\n- Report coverage per package. (#639)\n- Update conda environment to not use PyQt5 in test (#646)\n- Add tests files to calculate coverage (#655)\n\n### 0.14.2 - 2022-05-05\n\n#### Bug Fixes\n\n- Fix bug in save label colors between sessions (#610)\n- Register PartSeg plugins before starting napari widgets. (#611)\n- Mouse interaction with components works again after highlight. (#620)\n\n#### Refactor\n\n- Limit test run (#603)\n- Filter and solve warnings in tests (#607)\n- Use QAbstractSpinBox.AdaptiveDecimalStepType in SpinBox instead of hardcoded bounds (#616)\n- Clean and test `PartSeg.common_gui.universal_gui_part` (#617)\n\n#### Testing\n\n- Speedup test by setup cache for pip (#604)\n- Setup cache for azure pipelines workflows (#606)\n\n### 0.14.1 - 2022-04-27\n\n#### Bug Fixes\n\n- Update build wheels and sdist to have proper version tag (#583)\n- Fix removing the first measurement entry in the napari Measurement widget (#584)\n- Fix compatibility bug for conda Pyside2 version (#595)\n- Error when synchronization is loaded, and newly loaded image has different dimensionality than currently loaded. (#598)\n\n#### Features\n\n- Use pygments for coloring code in exception window (#591)\n- Add option to calculate Measurement per Mask component (#590)\n\n#### Refactor\n\n- Refactor the creation batch plan widgets and add tests for it (#587)\n- Drop napari bellow 0.4.12 (#592)\n- Update the order of ROI Mask algorithms to be the same as in older PartSeg versions (#600)\n\n### 0.14.0 - 2022-04-14\n\n#### Bug Fixes\n\n- Fix \"Show selected\" rendering mode in PartSeg ROI Mask (#565)\n- Add access by operator `[]` to `pydantic.BaseModel` base structures for keeping backward compatibility (#579)\n\n#### Features\n\n- Allow setting zoom factor from the interface in Search Label napari plugin (#538)\n- Add controlling of zoom factor of search ROI in main GUI (#540)\n- Better serialization mechanism allow for declaration data structure migration locally (#462)\n- Make \\`\\*.obsep\" file possible to load in PartSeg Analysis (#564)\n- Add option to extract measurement profile or ROI extraction profile from the batch plan (#568)\n- Allow import calculation plan from batch result excel file (#567)\n- Improve error reporting when failing to deserialize data (#574)\n- Launch PartSeg GUI from napari #581\n\n#### Refactor\n\n- Store PartSegImage.Image channels as separated arrays (#554)\n- Remove deprecated modules. (#429)\n- Switch serialization backend to `nme` (#569)\n\n#### Testing\n\n- Add test of creating AboutDialog (#539)\n- Setup test for python 3.10. Disable `class_generator` test for this python (#570)\n\n### 0.13.15\n\n#### Bug Fixes\n\n- Using `translation` instead of `translation_grid` for shifting layers. (#474)\n- Bugs in napari plugins (#478)\n- Missing mask when using roi extraction from napari (#479)\n- Fix segmentation fault on macos machines (#487)\n- Fixes for napari 0.4.13 (#506)\n\n#### Documentation\n\n- Create 0.13.15 release (#511)\n- Add categories and preview page workflow for the napari hub (#489)\n\n#### Features\n\n- Assign properties to mask layer in napari measurement widget (#480)\n\n#### Build\n\n- Bump qtpy from 1.11.3 to 2.0.0 in /requirements (#498)\n- Bump pydantic from 1.8.2 to 1.9.0 in /requirements (#496)\n- Bump sentry-sdk from 1.5.1 to 1.5.2 in /requirements (#497)\n- Bump sphinx from 4.3.1 to 4.3.2 in /requirements (#500)\n- Bump pyinstaller from 4.7 to 4.8 in /requirements (#502)\n- Bump pillow from 8.4.0 to 9.0.0 in /requirements (#501)\n- Bump requests from 2.26.0 to 2.27.1 in /requirements (#495)\n- Bump numpy from 1.21.4 to 1.22.0 in /requirements (#499)\n- Bump numpy from 1.22.0 to 1.22.1 in /requirements (#509)\n- Bump sphinx from 4.3.2 to 4.4.0 in /requirements (#510)\n\n### 0.13.14\n\n#### Bug Fixes\n\n- ROI alternative representation (#471)\n- Change additive to translucent in rendering ROI and Mask (#472)\n\n#### Features\n\n- Add morphological watershed segmentation (#469)\n- Add Bilateral image filter (#470)\n\n### 0.13.13\n\n#### Bug Fixes\n\n- Fix bugs in the generation process of the changelog for release. (#428)\n- Restoring ROI on home button click in compare viewer (#443)\n- Fix Measurement name prefix in bundled PartSeg. (#458)\n- Napari widgets registration in pyinstaller bundle (#465)\n- Hide points button if no points are loaded, hide Mask checkbox if no mask is set (#463)\n- Replace Label data instead of adding/removing layers - fix blending layers (#464)\n\n#### Features\n\n- Add threshold information in layer annotation in the Multiple Otsu ROI extraction method (#430)\n- Add option to select rendering method for ROI (#431)\n- Add callback mechanism to ProfileDict, live update of ROI render parameters (#432)\n- Move the info bar on the bottom of the viewer (#442)\n- Add options to load recent files in multiple files widget (#444)\n- Add ROI annotations as properties to napari labels layer created by ROI Extraction widgets (#445)\n- Add signals to ProfileDict, remove redundant synchronization mechanisms (#449)\n- Allow ignoring updates for 21 days (#453)\n- Save all components if no components selected in mask segmentation (#456)\n- Add modal dialog for search ROI components (#459)\n- Add full measurement support as napari widget (#460)\n- Add search labels as napari widget (#467)\n\n#### Refactor\n\n- Export common code for load/save dialog to one place (#437)\n- Change most of call QFileDialog to more generic code (#440)\n\n#### Testing\n\n- Add test for `PartSeg.common_backend` module (#433)\n\n### 0.13.12\n\n#### Bug Fixes\n\n- Importing the previous version of settings (#406)\n- Cutting without masking data (#407)\n- Save in subdirectory in batch plan (#414)\n- Loading plugins for batch processing (#423)\n\n#### Features\n\n- Add randomization option for correlation calculation (#421)\n- Add Imagej TIFF writter for image. (#405)\n- Mask create widget for napari (#395)\n- In napari roi extraction method show information from roi extraction method (#408)\n- Add `*[0-9].tif` button in batch processing window (#412)\n- Better label representation in 3d view (#418)\n\n#### Refactor\n\n- Use Font Awesome instead of custom symbols (#424)\n\n### 0.13.11\n\n#### Bug Fixes\n\n- Adding mask in Prepare Plan for batch (#383)\n- Set proper completion mode in SearchComboBox (#384)\n- Showing warnings on the error with ROI load (#385)\n\n#### Features\n\n- Add CellFromNucleusFlow \"Cell from nucleus flow\" cell segmentation method (#367)\n- When cutting components in PartSeg ROI mask allow not masking outer data (#379)\n- Theme selection in GUI (#381)\n- Allow return points from ROI extraction algorithm (#382)\n- Add measurement to get ROI annotation by name. (#386)\n- PartSeg ROI extraction algorithms as napari plugins (#387)\n- Add Pearson, Mander's, Intensity, Spearman colocalization measurements (#392)\n- Separate standalone napari settings from PartSeg embedded napari settings (#397)\n\n#### Performance\n\n- Use faster calc bound function (#375)\n\n#### Refactor\n\n- Remove CustomApplication (#389)\n\n### 0.13.10\n\n- change tiff save backend to ome-tiff\n- add `DistanceROIROI` and `ROINeighbourhoodROI` measurements\n\n### 0.13.9\n\n- annotation show bugfix\n\n### 0.13.8\n\n- napari deprecation fixes\n- speedup simple measurement\n- bundle plugins initial support\n\n### 0.13.7\n\n- add measurements widget for napari\n- fix bug in pipeline usage\n\n### 0.13.6\n\n- Hotfix release\n- Prepare for a new napari version\n\n### 0.13.5\n\n- Small fixes for error reporting\n- Fix mask segmentation\n\n### 0.13.4\n\n- Bugfix for outdated profile/pipeline preview\n\n### 0.13.3\n\n- Fix saving roi_info in multiple files and history\n\n### 0.13.2\n\n- Fix showing label in select label tab\n\n### 0.13.1\n\n- Add Haralick measurements\n- Add obsep file support\n\n### 0.13.0\n\n- Add possibility of custom input widgets for algorithms\n- Switch to napari Colormaps instead of custom one\n- Add points visualization\n- Synchronization widget for builtin (View menu) napari viewer\n- Drop Python 3.6\n\n### 0.12.7\n\n- Fixes for napari 0.4.6\n\n### 0.12.6\n\n- Fix prev_mask_get\n- Fix cache mechanism on mask change\n- Update PyInstaller build\n\n### 0.12.5\n\n- Fix bug in pipeline execute\n\n### 0.12.4\n\n- Fix ROI Mask windows related build (signal not properly connected)\n\n### 0.12.3\n\n- Fix ROI Mask\n\n### 0.12.2\n\n- Fix windows bundle\n\n### 0.12.1\n\n- History of last opened files\n- Add ROI annotation and ROI alternatives\n- Minor bugfix\n\n### 0.12.0\n\n- Toggle multiple files widget in View menu\n- Toggle Left panel in ROI Analysis in View Menu\n- Rename Mask Segmentation to ROI Mask\n- Add documentation for interface\n- Add Batch processing tutorial\n- Add information about errors to batch processing output file\n- Load image from the batch prepare window\n- Add search option in part of list and combo boxes\n- Add drag and drop mechanism to load list of files to batch window.\n\n### 0.11.5\n\n- add side view to viewer\n- fix horizontal view for Measurements result table\n\n### 0.11.4\n\n- bump to napari 0.3.8 in bundle\n- fix bug with not presented segmentation loaded from project\n- add frame (1 pix) to image cat from base one based on segmentation\n- pin to Qt version to 5.14\n\n### 0.11.3\n\n- prepare for napari 0.3.7\n- split napari io plugin on multiple part\n- better reporting for numpy array via sentry\n- fix setting color for mask marking\n\n### 0.11.2\n\n- Speedup image set in viewer using async calls\n- Fix bug in long name of sheet with parameters\n\n### 0.11.1\n\n- Add screenshot option in View menu\n- Add Voxels measurements\n\n### 0.11.0\n\n- Make sprawl algorithm name shorter\n- Unify capitalisation of measurement names\n- Add simple measurements to mask segmentation\n- Use napari as viewer\n- Add possibility to preview additional output of algorithms (In View menu)\n- Update names of available Algorithm and Measurement to be more descriptive.\n\n### 0.10.8\n\n- fix synchronisation between viewers in Segmentation Analysis\n- fix batch crash on error during batch run, add information about file on which calculation fails\n- add changelog preview in Help > About\n\n### 0.10.7\n\n- in measurements, on empty list of components mean will return 0\n\n### 0.10.6\n\n- fix border rim preview\n- fix problem with size of image preview\n- zoom with scroll and moving if rectangle zoom is not marked\n\n### 0.10.5\n\n- make PartSeg PEP517 compatible.\n- fix multiple files widget on Windows (path normalisation)\n\n### 0.10.4\n\n- fix slow zoom\n\n### 0.10.3\n\n- deterministic order of elements in batch processing.\n\n### 0.10.2\n\n- bugfixes\n\n### 0.10.1\n\n- bugfixes\n\n### 0.10.0\n\n- Add creating custom label coloring.\n- Change execs interpreter to python 3.7.\n- Add masking operation in Segmentation Mask.\n- Change license to BSD.\n- Allow select root type in batch processing.\n- Add median filter in preview.\n\n### 0.9.7\n\n- fix bug in compare mask\n\n### 0.9.6\n\n- fix bug in loading project with mask\n- upgrade PyInstaller version (bug GHSA-7fcj-pq9j-wh2r)\n\n### 0.9.5\n\n- fix bug in loading project in \"Segmentation analysis\"\n\n### 0.9.4\n\n- read mask segmentation projects\n- choose source type in batch\n- add initial support to OIF and CZI file format\n- extract utils to PartSegCore module\n- add automated tests of example notebook\n- reversed mask\n- load segmentation parameters in mask segmentation\n- allow use sprawl in segmentation tool\n- add radial split of mask for measurement\n- add all measurement results in batch, per component sheet\n\n### 0.9.3\n\n- start automated build documentation\n- change color map backend and allow for user to create custom color map.\n- segmentation compare\n- update test engines\n- support of PySide2\n\n### 0.9.2.3\n\n- refactor code to make easier create plugin for mask segmentation\n- create class base updater for update outdated algorithm description\n- fix save functions\n- fix different bugs\n\n### 0.9.2.2\n\n- extract static data to separated package\n- update marker of fix range and add mark of gauss in channel control\n\n### 0.9.2.1\n\n- add VoteSmooth and add choosing of smooth algorithm\n\n### 0.9.2\n\n- add pypi base check for update\n\n- remove resetting image state when change state in same image\n\n- in stack segmentation add options to picking components from segmentation's\n\n- in mask segmentation add:\n\n - preview of segmentation parameters per component,\n - save segmentation parameters in save file\n - new implementation of batch mode.\n\n### 0.9.1\n\n- Add multiple files widget\n\n- Add Calculating distances between segmented object and mask\n\n- Batch processing plan fixes:\n\n - Fix adding pipelines to plan\n - Redesign mask widget\n\n- modify measurement backend to allow calculate multi channel measurements.\n\n### 0.9\n\nBegin of changelog\n","description_content_type":"text/markdown","keywords":"bioimaging,GUI","home_page":"https://4dnucleome.cent.uw.edu.pl/PartSeg/","download_url":null,"author":"Grzegorz Bokota","author_email":"g.bokota@cent.uw.edu.pl","maintainer":null,"maintainer_email":null,"license":"BSD-3-Clause","classifier":["Development Status :: 3 - Alpha","Framework :: napari","License :: OSI Approved :: BSD License","Operating System :: OS Independent","Programming Language :: Python :: 3","Programming Language :: Python :: 3 :: Only","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: Implementation :: CPython","Topic :: Scientific/Engineering :: Bio-Informatics","Topic :: Scientific/Engineering :: Image Processing","Topic :: Scientific/Engineering :: Visualization"],"requires_dist":["IPython >=7.7.0","PartSegCore-compiled-backend <0.16.0,>=0.13.11","PartSegData ==0.10.0","QtAwesome !=1.2.0,>=1.0.3","QtPy >=1.10.0","SimpleITK >=2.0.0","appdirs >=1.4.4","czifile >=2019.5.22","defusedxml >=0.6.0","fonticon-fontawesome6 >=6.1.1","h5py >=3.3.0","imagecodecs >=2020.5.30","imageio >=2.5.0","ipykernel >=5.2.0","local-migrator >=0.1.7","magicgui !=0.5.0,>=0.4.0","mahotas >=1.4.10","napari >=0.4.14","nme >=0.1.7","numpy >=1.18.5","oiffile >=2020.1.18","openpyxl >=2.5.7","packaging >=20.0","pandas >=1.1.0","psygnal >=0.3.1","pydantic <2,>=1.8.1","pygments >=2.4.0","qtconsole >=4.7.7","requests >=2.18.0","scipy >=1.4.1","sentry-sdk >=0.14.3","six >=1.11.0","superqt >=0.3.0","sympy >=1.1.1","tifffile >=2020.9.30","traceback-with-variables >=2.0.4","vispy >=0.9.4","xlrd >=1.1.0","xlsxwriter >=2.0.0","PyOpenGL-accelerate >=3.1.5 ; extra == 'accelerate'","PyOpenGL-accelerate >=3.1.5 ; extra == 'all'","PyQt5 !=5.15.0,>=5.12.3 ; extra == 'all'","autodoc-pydantic ==1.7.2 ; extra == 'docs'","sphinx !=3.0.0,!=3.5.0 ; extra == 'docs'","sphinx-autodoc-typehints ==1.18.3 ; extra == 'docs'","sphinx-qt-documentation ==0.4 ; extra == 'docs'","PyOpenGL-accelerate >=3.1.5 ; extra == 'pyinstaller'","PyQt5 !=5.15.0,>=5.12.3 ; extra == 'pyinstaller'","PyInstaller ; extra == 'pyinstaller'","pydantic <2 ; extra == 'pyinstaller'","PyQt5 !=5.15.0,>=5.12.3 ; extra == 'pyqt'","PyQt5 !=5.15.0,>=5.12.3 ; extra == 'pyqt5'","PyQt6 ; extra == 'pyqt6'","PySide2 !=5.15.0,>=5.12.3 ; extra == 'pyside'","PySide2 !=5.15.0,>=5.12.3 ; extra == 'pyside2'","PySide6 ; extra == 'pyside6'","lxml ; extra == 'test'","pytest >=7.0.0 ; extra == 'test'","pytest-cov ; extra == 'test'","pytest-qt ; extra == 'test'","pytest-timeout ; extra == 'test'","scikit-image ; extra == 'test'"],"requires_python":">=3.8","requires_external":null,"project_url":["Documentation, https://partseg.readthedocs.io/en/stable/","Source Code, https://github.com/4DNucleome/PartSeg","User Support, https://github.com/4DNucleome/PartSeg/issues","Bug Tracker, https://github.com/4DNucleome/PartSeg/issues"],"provides_extra":["accelerate","all","docs","pyinstaller","pyqt","pyqt5","pyqt6","pyside","pyside2","pyside6","test"],"provides_dist":null,"obsoletes_dist":null},"npe1_shim":false}