{"name":"empanada-napari","display_name":"empanada-napari","visibility":"public","icon":null,"categories":[],"schema_version":"0.1.0","on_activate":null,"on_deactivate":null,"contributions":{"commands":[{"id":"empanada-napari.open_docs","title":"EMPANADA DOCUMENTATION","python_name":"empanada_napari._open_docs:open_documentation","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"empanada-napari.slice_inference_widget","title":"Create 2D Inference (Parameter Testing)","python_name":"empanada_napari._slice_inference:slice_inference_widget","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"empanada-napari.volume_inference_widget","title":"Create 3D Inference","python_name":"empanada_napari._volume_inference:volume_inference_widget","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"empanada-napari.export_batch_segs","title":"Export Segmentations","python_name":"empanada_napari._export_batch_segs:export_batch_segs","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"empanada-napari.label_counter_widget","title":"Count Labels","python_name":"empanada_napari._label_counter_widget:label_counter_widget","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"empanada-napari.merge_labels","title":"Create Merge Labels","python_name":"empanada_napari._merge_split_widget:merge_labels","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"empanada-napari.delete_labels","title":"Create Delete Labels","python_name":"empanada_napari._merge_split_widget:delete_labels","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"empanada-napari.morph_labels","title":"Create Morph Labels","python_name":"empanada_napari._merge_split_widget:morph_labels","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"empanada-napari.split_labels","title":"Create Split Labels","python_name":"empanada_napari._merge_split_widget:split_labels","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"empanada-napari.filter_small_labels","title":"Filter Labels","python_name":"empanada_napari._filter_small_labels:filter_small_labels","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"empanada-napari.jump_to_label","title":"Jump to label","python_name":"empanada_napari._merge_split_widget:jump_to_label","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"empanada-napari.find_next_available_label","title":"Find next available label","python_name":"empanada_napari._merge_split_widget:find_next_available_label","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"empanada-napari.pick_patches","title":"Pick finetune/training patches","python_name":"empanada_napari._pick_patches:pick_patches","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"empanada-napari.store_dataset","title":"Save finetune/training patches","python_name":"empanada_napari._pick_patches:store_dataset","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"empanada-napari.finetuning_widget","title":"Finetune a model","python_name":"empanada_napari._finetune:finetuning_widget","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"empanada-napari.training_widget","title":"Train a model","python_name":"empanada_napari._train:training_widget","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"empanada-napari.register_model_widget","title":"Register a model","python_name":"empanada_napari._register_model:register_model_widget","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"empanada-napari.get_info_widget","title":"Get model info","python_name":"empanada_napari._finetune:get_info_widget","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"empanada-napari.export_model_widget","title":"Export a model","python_name":"empanada_napari._export_import_models:export_model_widget","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"empanada-napari.import_model_widget","title":"Import a model","python_name":"empanada_napari._export_import_models:import_model_widget","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"empanada-napari.archive_model","title":"Archive a model","python_name":"empanada_napari._export_import_models:archive_model","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"empanada-napari.create_tiles","title":"Create Tiles","python_name":"empanada_napari._create_tiles:create_tiles","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"empanada-napari.merge_tiles","title":"Merge Tiles","python_name":"empanada_napari._create_tiles:merge_tiles","short_title":null,"category":null,"icon":null,"enablement":null}],"readers":null,"writers":null,"widgets":[{"command":"empanada-napari.open_docs","display_name":"READ DOCUMENTATION","autogenerate":false,"default_dock_area":"right","tabify":false},{"command":"empanada-napari.slice_inference_widget","display_name":"2D Inference (Parameter Testing)","autogenerate":false,"default_dock_area":"right","tabify":false},{"command":"empanada-napari.volume_inference_widget","display_name":"3D Inference","autogenerate":false,"default_dock_area":"right","tabify":false},{"command":"empanada-napari.export_batch_segs","display_name":"Export Segmentations","autogenerate":false,"default_dock_area":"right","tabify":false},{"command":"empanada-napari.label_counter_widget","display_name":"Count Labels","autogenerate":false,"default_dock_area":"right","tabify":false},{"command":"empanada-napari.merge_labels","display_name":"Merge Labels","autogenerate":false,"default_dock_area":"right","tabify":false},{"command":"empanada-napari.delete_labels","display_name":"Delete Labels","autogenerate":false,"default_dock_area":"right","tabify":false},{"command":"empanada-napari.morph_labels","display_name":"Morph Labels","autogenerate":false,"default_dock_area":"right","tabify":false},{"command":"empanada-napari.split_labels","display_name":"Split Labels","autogenerate":false,"default_dock_area":"right","tabify":false},{"command":"empanada-napari.filter_small_labels","display_name":"Filter Labels","autogenerate":false,"default_dock_area":"right","tabify":false},{"command":"empanada-napari.jump_to_label","display_name":"Jump to label","autogenerate":false,"default_dock_area":"right","tabify":false},{"command":"empanada-napari.find_next_available_label","display_name":"Find next available label","autogenerate":false,"default_dock_area":"right","tabify":false},{"command":"empanada-napari.pick_patches","display_name":"Pick finetune/training patches","autogenerate":false,"default_dock_area":"right","tabify":false},{"command":"empanada-napari.store_dataset","display_name":"Save finetune/training patches","autogenerate":false,"default_dock_area":"right","tabify":false},{"command":"empanada-napari.finetuning_widget","display_name":"Finetune a model","autogenerate":false,"default_dock_area":"right","tabify":false},{"command":"empanada-napari.training_widget","display_name":"Train a model","autogenerate":false,"default_dock_area":"right","tabify":false},{"command":"empanada-napari.register_model_widget","display_name":"Register a model","autogenerate":false,"default_dock_area":"right","tabify":false},{"command":"empanada-napari.get_info_widget","display_name":"Get model info","autogenerate":false,"default_dock_area":"right","tabify":false},{"command":"empanada-napari.export_model_widget","display_name":"Export a model","autogenerate":false,"default_dock_area":"right","tabify":false},{"command":"empanada-napari.import_model_widget","display_name":"Import a model","autogenerate":false,"default_dock_area":"right","tabify":false},{"command":"empanada-napari.archive_model","display_name":"Archive a model","autogenerate":false,"default_dock_area":"right","tabify":false},{"command":"empanada-napari.create_tiles","display_name":"Create Tiles","autogenerate":false,"default_dock_area":"right","tabify":false},{"command":"empanada-napari.merge_tiles","display_name":"Merge Tiles","autogenerate":false,"default_dock_area":"right","tabify":false}],"sample_data":null,"themes":null,"menus":{},"submenus":null,"keybindings":null,"configurations":{}},"package_metadata":{"metadata_version":"2.5","name":"empanada-napari","version":"1.2.5","dynamic":null,"platform":null,"supported_platform":null,"summary":"Napari plugin of algorithms for Panoptic Segmentation of organelles in EM","description":"# empanada-napari\n\n> [!IMPORTANT]\n> **New Version 1.2 Announcement!**\n> * New Models:\n>   * NucleoNet: A base model for EM instance nucleus segmentation\n>   * DropNet: A base model for EM Lipid Droplet instance segmentation\n> * New modules \n>   * Archive Model - archives the model into a hidden archive folder \n>   * Create Tiles - Split big images winto small tiles (with Mask/ optional)\n>   * Merge Tiles - Opposite of split tiles, create full image from tiles created by create tiles\n>   * Morph labels - applies morphological operations to labels\n>   * Count labels - counts and lists the label IDs within the dataset\n>   * Filter labels - removes small pixel/voxel area labels or labels touching the image boundaries\n>   * Export and import a model - export or import locally saved model files to use within empanada-napari\n> * Updated modules\n>   * 2D Inference - now allows ROI inference and filling holes in segmentation label maps\n>   * 3D Inference - allows erosion, dilation and fill holes in segmentation to help tackle big split merge errors\n>   * Export segmentations - now allows 3D segmentations to be exported as a single .tiff image\n>   * Pick and save finetune/training patches - now allows paired grayscale and label mask images to create training patches \n>   * Split label - now allows users to specify new label IDs \n> * Updated documentation\n>   * Check out the updated documentation [here](https://empanada.readthedocs.io/en/latest/index.html)!\n\n**The paper describing this work is now available [on Cell Systems](https://www.cell.com/cell-systems/fulltext/S2405-4712(22)00494-X).**\n\n**Documentation for the plugin, including more detailed installation instructions, can be found [here](https://empanada.readthedocs.io/en/latest/empanada-napari.html).**\n\nempanada is a tool for deep learning-based panoptic segmentation of 2D and 3D electron microscopy images of cells.\nThis plugin allows the running of panoptic segmentation models trained in empanada within [napari](https://napari.org).\nFor help with this plugin please open an [issue](https://github.com/volume-em/empanada-napari/issues), for issues with napari specifically\nraise an [issue here instead](https://github.com/napari/napari/issues).\n\n## Implemented Models\n\n  - *MitoNet*: A generalist mitochondrial instance segmentation model\n  - *NucleoNet*: A base model for EM instance nucleus segmentation\n  - *DropNet*: A base model for EM Lipid Droplet instance segmentation\n\n## Example Datasets\n\nVolume EM datasets for benchmarking mitochondrial instance segmentation are available from\n[EMPIAR-10982](https://www.ebi.ac.uk/empiar/EMPIAR-10982/).\n\n## Installation\n\n### New Users\n\nempanada-napari requires **Python ≥ 3.12** and **napari ≥ 0.9** (including 0.10.x).\n\n#### pip\n\n```shell\npython3.12 -m venv empanada-env\nsource empanada-env/bin/activate   # Windows: empanada-env\\Scripts\\activate\npython -m pip install -U pip\npython -m pip install \"napari[all]>=0.9\"\npython -m pip install empanada-napari\n```\n\n#### conda\n\n```shell\nconda create -n empanada-env python=3.12 -y\nconda activate empanada-env\npython -m pip install -U pip\npython -m pip install \"napari[all]>=0.9\"\npython -m pip install empanada-napari\n```\n\nLaunch napari from the same environment:\n\n```shell\npython -m napari\n```\n\nPrefer `python -m napari` over bare `napari` so the plugin loads from this environment (some systems still have an older `napari` earlier on `PATH`).\n\nLook for **empanada-napari** under the Plugins menu.\n\n\n### Returning Users\n\nCreate or activate a Python 3.12+ environment, then upgrade:\n\n```shell\nconda activate empanada-env\npython -m pip install -U \"napari[all]>=0.9\" empanada-napari\npython -m napari\n```\n\nOlder installs on Python 3.10–3.11 or napari 0.6.x are not compatible with this release. Use a new 3.12+ environment instead of upgrading in place.\n\n\n### Development\n\nClone the repository, then:\n\n```shell\nconda create -n empanada-dev python=3.12 -y\nconda activate empanada-dev\npython -m pip install -U pip\npython -m pip install -e \".[dev]\"\npython -m napari   # launch napari with the plugin\npytest             # run the tests\n```\n\n\n\n![empanada](images/demo.gif)\n\n## GPU Support\n\n**Note: Apple Silicon GPUs are supported through torch's MPS backend when available. The setup instructions below apply to NVIDIA GPUs on Windows and Linux.**\n\nAs for any deep learning models, having a GPU installed on your system will significantly\nincrease model throughput (although we ship CPU optimized versions of all models with the plugin).\n\nThis plugin relies on torch for running models. If a GPU was found on your system, then you will see that the\n\"Use GPU\" checkbox is checked by default in the \"2D Inference\" and \"3D Inference\" plugin widgets. Or if when running\ninference you see a message that says \"Using CPU\" in the terminal that means a GPU is not being used.\n\nMake sure that GPU drivers are correctly installed. In terminal or command prompt:\n\n```shell\nnvidia-smi\n```\n\nIf this returns \"command not found\" then you need to [install the driver from NVIDIA](https://www.nvidia.com/download/index.aspx). Instead, if\nif the driver is installed correctly, you may need to switch to the GPU enabled version of torch.\n\nReinstall torch with a CUDA build matching your system using the selector at\n[pytorch.org](https://pytorch.org/get-started/locally/), for example:\n\n```shell\npip install --upgrade --force-reinstall torch torchvision\n```\n\n\n## Citing this work\n\nIf you use results generated by this plugin in a publication, please cite:\n\n```bibtex\n@article { Conrad2023,\n    author = {Conrad, Ryan and Narayan, Kedar},\n    title = {Instance segmentation of mitochondria in electron microscopy images with a generalist deep learning model trained on a diverse dataset},\n    journal = {Cell Systems},\n    year = {2023},\n    month = {Jan},\n    day = {18},\n    publisher = {Elsevier},\n    volume = {14},\n    number = {1},\n    pages = {58-71.e5},\n    issn = {2405-4712},\n    doi = {10.1016/j.cels.2022.12.006},\n    url = {https://doi.org/10.1016/j.cels.2022.12.006}\n}\n```\n","description_content_type":"text/markdown","keywords":null,"home_page":null,"download_url":null,"author":"Mariam Demir, Kedar Narayan","author_email":"Allan Almeida <almeidaa2@nih.gov>","maintainer":null,"maintainer_email":null,"license":null,"classifier":["Development Status :: 2 - Pre-Alpha","Framework :: napari","Intended Audience :: Developers","Operating System :: OS Independent","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Topic :: Software Development :: Testing"],"requires_dist":["albumentations>=1.2","cztile>=2.0.0","imagecodecs","imagehash","mlflow","napari>=0.10","numba>=0.58.1","numpy>=1.22","opencv-python-headless>=4.11.0.0","openpyxl","pyyaml","scikit-image>=0.19","simpleitk","torch>=1.10","torchvision>=0.2","tqdm","zarr>=2.12","napari[all]>=0.10; extra == 'dev'","pytest; extra == 'dev'","pytest-benchmark; extra == 'dev'","pytest-dependency; extra == 'dev'","pytest-qt; extra == 'dev'","zenodo-get; extra == 'dev'","pytest; extra == 'test'","pytest-benchmark; extra == 'test'","pytest-dependency; extra == 'test'","pytest-qt; extra == 'test'","zenodo-get; extra == 'test'"],"requires_python":">=3.12","requires_external":null,"project_url":["Bug Tracker, https://github.com/volume-em/empanada-napari/issues","Documentation, https://github.com/volume-em/empanada-napari","Source Code, https://github.com/volume-em/empanada-napari","User Support, https://github.com/volume-em/empanada-napari/issues"],"provides_extra":["dev","test"],"provides_dist":null,"obsoletes_dist":null},"npe1_shim":false}