|
| 1 | +--- |
| 2 | +title: nnInterAppose |
| 3 | +description: Plugin to use nnInteractive from Fiji relying on Appose. |
| 4 | +source-url: https://github.com/Image-Analysis-Hub/nnInterappose |
| 5 | +icon: /media/icons/nninteractive.png |
| 6 | +license: BSD-3 Clause license |
| 7 | +categories: [Segmentation, Annotation] |
| 8 | +forum-tag: "" |
| 9 | +dev-status: 'active' |
| 10 | +update-site: 'Appose-Playground' |
| 11 | +team-founder: ["Gaelle Letort"] |
| 12 | +team-maintainer: ["Gaelle Letort"] |
| 13 | +team-developers: ["Gaelle Letort"] |
| 14 | +--- |
| 15 | + |
| 16 | +This plugin install and run [nnInteractive]([https://www.cellpose.org/](https://github.com/MIC-DKFZ/nnInteractive)) on a stack (3D) in Fiji. |
| 17 | +nnInteractive segments objects in 3D based on prompts placed by the user. |
| 18 | + |
| 19 | +This plugin is based on [Appose](https://github.com/apposed/appose), that automatically install python environment and allows python script execution with shared objects with Fiji. |
| 20 | + |
| 21 | +## Installation |
| 22 | + |
| 23 | +You can install the plugin for the unliste update site `Appose-Playground`: |
| 24 | +- In Fiji, go to `Help>Update...` |
| 25 | +- Select `Manage Update Sites` in the window that opens. |
| 26 | +- Click `Add unliste update site`, name it `Appose-Playground` and write its address `https://sites.imagej.net/Appose-Playground`. |
| 27 | +- Select the nnInterappose `.jar` file to install only this plugin, or keep all proposed plugins. |
| 28 | +- Press `Apply changes` and restart Fiji when it's done. |
| 29 | + |
| 30 | +{% include notice icon="warning" content=" You should have a recent version of Fiji, based on Java 21 or more. Download a new version [here (Latest downloads column)](https://imagej.net/software/fiji/downloads) if you're current installation is too old." %} |
| 31 | + |
| 32 | +## Usage |
| 33 | + |
| 34 | +### Image dimensions |
| 35 | +The image must be a 3D (Z slices or T frames) image. |
| 36 | +It does not support 2D image or 3D+time stacks. |
| 37 | +If the image as several channels, only the currently active one will be used. |
| 38 | + |
| 39 | + |
| 40 | +### Starting the plugin |
| 41 | + |
| 42 | +From Fiji: |
| 43 | + |
| 44 | +- Open the image that you want to process. |
| 45 | +- Launch the plugin: `Plugins>Annotation>nnInteractive` |
| 46 | +- Wait for the initialization of the plugin and the network. It will install if necessary a new python environment, activates it and then initialize nnInteractive on your image. |
| 47 | +- When it is ready, an interface will appear to let you select some options and a new image `Composite` will apear, with your image as first chanel, and the resulting segmentations will be added to the second chanel. |
| 48 | + |
| 49 | +### Annotate object(s) |
| 50 | +Once the plugin is initialized, you can quickly annotate/segment object(s) in 3D by placing prompts (some cues to indicate the object of interest) then letting nnInteractive defines the precise contour in 3D. |
| 51 | + |
| 52 | +Two modes are possible in this plugin: either you want to segment only one object, and place several prompts for the same object to define it better, or you want to select several objects at once. |
| 53 | + |
| 54 | +- Choose: |
| 55 | + - `One ROI by object`: to do multiple objects at the same time by placing only one prompt (ROI) by object. |
| 56 | + - `All ROIs for one object`: to do only object at a time with as many prompts (ROIs) as you want for a finer segmentation. Prompts can be positive (object is here) or negative (no object here). |
| 57 | + |
| 58 | +- Draw prompts and add them to the RoiManager: press `1` to add positive prompts, `2` to add negative prompts. |
| 59 | + |
| 60 | +#### Prompts |
| 61 | + |
| 62 | +See [nnInteractive](https://github.com/MIC-DKFZ/nnInteractive) for what prompts are possible and their usage. |
| 63 | + |
| 64 | +In this Fiji plugin, currently possible options to annotate are (other ROIs might be added later, you can also file an issue to ask for one to be added): |
| 65 | +* Rectangle ROI -> nnInteractive bounding boxes |
| 66 | +* Point ROI -> nnInteractive point seed |
| 67 | +* Line ROI -> nnInteractive scribble. In the Fiji side, it can be any type of line ROI (single line, segmented line, or freehand line). |
| 68 | + |
| 69 | + |
| 70 | + |
| 71 | +If you want the prompt to be a positive interaction (see nnInteractive documentation), press `1` to add the current ROI to the ROIManager as a positive one. |
| 72 | +For a negative prompt (relevant in `All ROIs for one object` mode), press `2` to add the current selection to the RoiManager as a negative one. |
| 73 | + |
| 74 | + |
| 75 | +### Segment |
| 76 | +When you have added all the prompts for this iteration, click the button `Segment from ROIs`, or press `0` and wait for the process to finish. |
| 77 | + |
| 78 | +The new label(s) will be added in the second chanel of the Composite image. |
| 79 | + |
| 80 | +By default, all the prompts (ROIs) that you placed are removed after the computation, so that you can start another iteration (segmentation another object). |
| 81 | +However, when segmenting complex objects, it might be necessary to add iteratively prompts, try to segment, remove the result and add prompts to improve it. |
| 82 | +For this, select the option `keep ROIs` so that the prompts will not be removed. |
| 83 | +You can still remove them manually in the ROIManager afterwards. |
| 84 | + |
| 85 | +## Issue |
| 86 | + |
| 87 | +If you encountered a problem using the plugin, or to ask for a new feature, please fill an issue on the [github repository](https://github.com/Image-Analysis-Hub/nnInterappose/issues).Please give as many details as possible. |
| 88 | + |
| 89 | +You can also post a new question on the [imagesc forum](https://forum.image.sc/), mentionning that the question is related to nnInterappose plugin. |
| 90 | + |
| 91 | +To delete a segmented object when the segmentation is not satisfaisante, press `Control` and `left-click on the object. |
| 92 | + |
| 93 | + |
0 commit comments