{"name":"napari-nyxus","display_name":"napari-nyxus","visibility":"public","icon":"","categories":[],"schema_version":"0.2.0","on_activate":null,"on_deactivate":null,"contributions":{"commands":[{"id":"napari-nyxus.nyxus_widget","title":"Make nyxus widget with magic_factory","python_name":"napari_nyxus.nyx:widget_factory","short_title":null,"category":null,"icon":null,"enablement":null}],"readers":null,"writers":null,"widgets":[{"command":"napari-nyxus.nyxus_widget","display_name":"Nyxus","autogenerate":false}],"sample_data":null,"themes":null,"menus":{},"submenus":null,"keybindings":null,"configuration":[]},"package_metadata":{"metadata_version":"2.1","name":"napari-nyxus","version":"0.1.3","dynamic":null,"platform":null,"supported_platform":null,"summary":"A napari plugin for calculating features from intensity-label image data","description":"# Nyxus Napari\n\nNyxus Napari is a Napari plugin for running feature calculations on image-segmentation image pairs, using the\nNyxus application to compute features. Nyxus is a feature-rich, highly optimized, Python/C++ application capable \nof analyzing images of arbitrary size and assembling complex regions of interest (ROIs) split across multiple image tiles and files. \n\nFor more information on Nyxus, see https://github.com/PolusAI/nyxus.\n \n# Installation \n\nTo install Napari, it is recommended to first create a separate Conda environment. \n\n```\nconda create -y -n napari-env -c conda-forge python=3.9\nconda activate napari-env\n```\n\nAfter creating the Conda environment,\ninstall Napari using pip\n\n```\npython -m pip install \"napari[all]\"\npython -m pip install \"napari[all]\" --upgrade\n```\n\nor using conda\n\n```\nconda install -c conda-forge napari\nconda update napari\n```\n\nNext, Nyxus must be installed. Note that the version of Nyxus must be greater than or equal to `0.50` to run the Napari plugin.\n\n`pip install nyxus`\n\nor build from source using the instructions at https://github.com/PolusAI/nyxus#building-from-source using the conda build for the\npython API.\n\nAfter installing Napari and Nyxus, the Nyxus Napari plugin can be installed by cloning this repo and then building the plugin from the source. \nAn example of this process is provided below.\n\n```\ngit clone https://github.com/PolusAI/napari-nyxus.git\ncd napari_nyxus\npip install -e .\n```\n\nNapari can then be ran by running \n\n```\nnapari\n````\n\n# Use\nAfter installing the plugin, start Napari by running the command `napari` from the command line. Once the Napari \nGUI is loaded, the Nyxus plugin can be loaded from the `Plugins` menu in the toolbar by going to Plugins -> nyxus-napari.\n\n![](https://github.com/PolusAI/napari-nyxus/raw/main/docs/source/img/plugin_menu.png)\n\nA widget will appear in the Napari viewer to run Nyxus.\n\n![](https://github.com/PolusAI/napari-nyxus/raw/main/docs/source/img/nyxus_loaded.png)\n\nAs shown by the example above, Nyxus will take in Intensity and Segmentation images. These parameters can either be a stack\nof images or a single image pair. To load an image pair, use File -> Open File(s)... and select the images to load.\n\n![](https://github.com/PolusAI/napari-nyxus/raw/main/docs/source/img/open_image.png)\n\n\nNote that this method can also be used to open a stack of image, by using File -> Open Folder... instead of images. \n\nIf the segmentation is loaded as an Image type in the napari viewer, it must first be converted to the Labels type. The image can converted as shown below.\n\n![](https://github.com/PolusAI/napari-nyxus/raw/main/docs/source/img/convert_to_labels.png)\n\nThe loaded files can then be selected with the Intensity and Segmentation drop down menus. Other parameters can also be changed,\nsuch as which features to calculate. For more information on the available features, see https://nyxus.readthedocs.io/en/latest/featurelist.html.\n\n![](https://github.com/PolusAI/napari-nyxus/raw/main/docs/source/img/setup_calculation.png)\n\nAfter running Nyxus, the feature calculations will also appear in the Napari viewer.\n\n![](https://github.com/PolusAI/napari-nyxus/raw/main/docs/source/img/feature_results.png)\n\nThe Nyxus Napari plugin provides functionality to interact with the table containing the feature calculations. First, click on the segmentation image and then select `show selected` in the layer controls. \n\n\nThen, if a value is clicked in the `label` column of the table, the respective ROI will be highlighted in the segmentation image in the viewer.\n\n![](https://github.com/PolusAI/napari-nyxus/raw/main/docs/source/img/click_label.png)\n\nTo select the ROI and have it added to a separate Labels image, the label in the table can be double clicked. Each double clicked label will be added to the same Labels image as show below. To unselect, the ROI, double click its respective label again.\n\n![](https://github.com/PolusAI/napari-nyxus/raw/main/docs/source/img/double_click_label.png)\n\nThis feature can also be used in the opposite way, i.e. if an ROI is clicked in the segmentation image, the respective row in the \nfeature table will be highlighted.\n\nIf one of the column headers are double clicked, a colormap will be generated in the Napari viewer showing the values of the features in the clicked\ncolumn. For example, if `Intensity` features are calculated, the `INTEGRATED_INTENSITY` column can be clicked and the colormap will appear.\n\n![](https://github.com/PolusAI/napari-nyxus/raw/main/docs/source/img/feature_colormap.png)\n\nOnce the colormap is loaded, a slider will appear in the window with the minimum value being the minimum value of the feature colormap and the \nmaximum value of the slider is the maximum value of the colormap. By adjusting the ranges in the slider, a new label image will appear in the viewer\nthat contains the ROIs who's features values fall within the slider values.\n\n![](https://github.com/PolusAI/napari-nyxus/raw/main/docs/source/img/slider_feature.png)\n\nThe new labels resulting from the range slider selector can then be used to run Nyxus on by using the labels image as the `Segmentation` parameter.\n\n![](docs/source/img/run_on_colormap_labels.png)\n\n# Limitations\n\nWhile Nyxus Napari provides batched processing for large sets of images where each individual image will fit into RAM, \nit does not provide functionality to handle large single images that do not fit into RAM or that are larger than the \nlimitations of Napari. For large images, it is recommended to install the Python or CLI version of Nyxus. \nFor more information, see https://github.com/PolusAI/nyxus. \n","description_content_type":"text/markdown","keywords":null,"home_page":"https://github.com/PolusAI/napari-nyxus","download_url":null,"author":"Jesse McKinzie","author_email":"Jesse.McKinzie@axleinfo.com","maintainer":null,"maintainer_email":null,"license":null,"classifier":["Framework :: napari"],"requires_dist":["napari","pandas","numpy","nyxus >=0.5.0","imagecodecs","magicgui","napari-workflows","qtpy","superqt","napari-skimage-regionprops >=0.10.1"],"requires_python":null,"requires_external":null,"project_url":null,"provides_extra":null,"provides_dist":null,"obsoletes_dist":null},"npe1_shim":false}