Changes for page 5. How to segment your objects with Webilastik
Last modified by puchades on 2022/09/30 16:01
From version 52.1
edited by tomazvieira
on 2022/09/11 17:09
on 2022/09/11 17:09
Change comment:
There is no comment for this version
To version 44.1
edited by tomazvieira
on 2022/09/11 15:28
on 2022/09/11 15:28
Change comment:
Uploaded new attachment "webilastik_bucket_paths.png", version {1}
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 7 removed)
Details
- Page properties
-
- Content
-
... ... @@ -49,24 +49,20 @@ 49 49 50 50 === Opening a Dataset from the data-proxy === 51 51 52 -You can also load Neuroglancer Precomputed Chunks data from the data-proxy (e.g. the [[ana-workshop-event bucket>>https://wiki.ebrains.eu/bin/view/Collabs/ana-workshop-event/Bucket]]); The URLs for this kind of data follow the following scheme:53 -\\##precomputed:~/~/https:~/~/data-proxy.ebrains.eu/api/ v1/buckets/(% style="background-color:#3498db; color:#ffffff" %)my-bucket-name(% style="color: rgb(0, 0, 0); background-color:rgb(255, 255, 255)" %)/(% style="background-color:#9b59b6; color:#ffffff" %)path/inside/your/bucket(%%)##52 +You can also load Neuroglancer Precomputed Chunks data from the data-proxy; The URLs for this kind of data follow the following scheme: 53 +\\##precomputed:~/~/https:~/~/data-proxy.ebrains.eu/api/buckets/(% style="background-color:#3498db; color:#ffffff" %)my-bucket-name(% style="background-color:#9b59b6; color:#ffffff" %)/path/inside/your/bucket(%%)## 54 54 55 - where (% style="background-color:#9b59b6; color:#ffffff" %)path/inside/your/bucket(%%)shouldbe the pathtothefolder containingheataset "info"file.55 +So, for example, to load the sample data inside the (% style="background-color:#3498db; color:#ffffff" %)ana-workshop(%%) bucket, under the path (% style="background-color:#9b59b6; color:#ffffff" %)tg-ArcSwe_mice_precomputed/hbp-00138_122_381_423_s001.precomputed(% style="color:#000000" %) (%%) like in the example below: 56 56 57 57 58 - So, for example, to load the sample data inside the (% style="background-color:#3498db; color:#ffffff" %)ana-workshop-event(%%) bucket, under the path (% style="background-color:#9b59b6; color:#ffffff" %)tg-ArcSwe_mice_precomputed/hbp-00138_122_381_423_s001.precomputed(% style="color:#000000" %) (%%) like inthe example below:58 +[[image:image-20220128142757-1.png]] 59 59 60 -(% style="display:none" %) (%%) 61 - 62 -[[image:webilastik_bucket_paths.png]] 63 - 64 64 === === 65 65 66 66 you would type a URL like this: 67 67 68 68 69 - {{{precomputed://https://data-proxy.ebrains.eu/api/v1/buckets/ana-workshop-event/tg-ArcSwe_mice_precomputed/hbp-00138_122_381_423_s001.precomputed}}}65 +##precomputed:~/~/https:~/~/data-proxy.ebrains.eu/api/buckets/(% style="background-color:#3498db; color:#ffffff" %)ana-workshop(%%)/(% style="background-color:#9b59b6; color:#ffffff" %)tg-ArcSwe_mice_precomputed/hbp-00138_122_381_423_s001.precomputed(%%)## 70 70 71 71 this scheme is the same whether you're loading data into the Neuroglancer viewer or specifying an input URL in the export applet. 72 72 ... ... @@ -100,17 +100,18 @@ 100 100 101 101 Normal ilastik operation can be computationally intensive, requiring dedicated compute resources to be allocated to every user working with it. 102 102 99 + 103 103 The "Session Management" widget allows you to request a compute session where webilastik will run; Select a session duration and click 'Create' to create a new compute session. Eventually the compute session will be allocated, opening up the other workflow widgets. 104 104 105 -Don't forget to close your compute session by clicking the "Close Session" button once you're done to prevent wasting your quota in the HPC. If you have a long running job, though, you can just leave the session and rejoin it later by pasting its session ID in the "Session Id" field of the "Session Management" widget and clicking "rejoin Session". 106 106 103 + 107 107 == Training the Pixel Classifier == 108 108 109 109 === Selecting Image Features === 110 110 111 -Pixel Classification uses different characteristics ("features") of each pixel fromyour image to determine which classthatpixel should belong to. These take into account, for example, color and texture of each pixel as well as that of the neighboring pixels. Each one of this characteristics requires some computational power, which is why you can select only the ones that are sensible for your particular dataset.108 +Pixel Classification uses different characteristics ("features") of your image to determine which class each pixel should belong to. These take into account, for example, color and texture of each pixel as well as that of the neighboring pixels. Each one of this characteristics requires some computational power, which is why you can select only the ones that are sensible for your particular dataset. 112 112 113 -Use the checkboxes in the applet "Select Image Features" applet to select some image features and their corresponding sigma .The higherthesigma,thebiggerthevicinity consideredwhen computing valuesfor each pixel, and thebigger its influenceoverthefinalvalueof that feature.Highersigmas also requiremore computationsto be doneandcan increasethe time required to do predictions.110 +Use the checkboxes in the applet "Select Image Features" applet to select some image features and their corresponding sigma (which determines the radius around the pixel that will be considered when computing that feature). 114 114 115 115 You can read more about image features in [[ilastik's documentation.>>https://www.ilastik.org/documentation/pixelclassification/pixelclassification\]] 116 116 ... ... @@ -120,15 +120,12 @@ 120 120 121 121 === Labeling the image === 122 122 123 -In order to classify the pixels of an image into different classes (e.g.: 'foreground' and 'background') ilastik needs you to provide it with examples of each class.120 +In order to classify the pixels of an image into different classes (e.g.: 'foreground' and 'background') ilastik needs you to provide it with samples of each class. 124 124 122 +To do so, first select a particular resolution of your dataset (your viewer might interpolate between multiple scales of the dataset, but ilastik operates on a single resolution): 125 125 126 - ==== Picking an ImageResolution (formulti-resolution images only) ====124 +[[image:image-20220125165642-1.png]] 127 127 128 -If your data has multiple resolutions (**not the case in any of the sample datasets**), you'll have to pick one of them in the "Training" widget. Neuroglancer interpolates between multiple scales of the dataset, but ilastik operates on a single resolution: 129 - 130 -[[image:image-20220911155827-1.png]] 131 - 132 132 Once you've selected a resolution to train on, you should see a new "training" tab at the top of the viewer: 133 133 134 134 [[image:image-20220125165832-2.png]] ... ... @@ -137,21 +137,16 @@ 137 137 138 138 [[image:image-20220222151117-1.png]] 139 139 140 -==== ==== 141 141 142 - ====PaintingLabels====135 +The status display in this applet will show "training on [datasource url]" when you're in training mode. 143 143 144 - Thestatusdisplayinthe "Training"applet willshow"training on[datasource url]"whenit'sreadyto start painting.137 +Now you can start adding brush strokes. Select a color from the color picker, check the "Enable Brushing" checkbox to enable brushing (and disable navigation), and click and drag over the image to add brush strokes. Ilastik will map each used color to a "class", and will try to figure out a class for every pixel in the image based on the examples provided by the brush strokes. By painting, you provide ilastik with samples of what a pixel in that particular class should look like. The following image shows an example with 2 classes: teal, representing the "foreground" or the "cell class", and magenta, representing the "background" class. 145 145 146 - Now you can start adding brush strokes. By default, webilastik will create two kinds of labels: "Background" and "Foreground". You can rename them to your liking or changetheir colors to somethingmoresuitable for you or your dataset.You can also add more labels if you'd like ilastik to classify thepixels of your image into more than two categories.139 +[[image:image-20220222153157-4.png]] 147 147 148 -Select one of the labels from the "Current Label" dropdown or by using the "Select Label" button, check the "Enable Brushing" checkbox to enable brushing mode (**and disable navigation**), and click and drag over the image to add brush strokes. Ilastik will map each used color to a "class", and will try to figure out a class for every pixel in the image based on the examples provided by the brush strokes. By painting, you provide ilastik with samples of what a pixel in that particular class should look like. The following image shows an example with 2 classes: magenta, representing the "foreground" and green, representing the "background" class. 149 - 150 -[[image:image-20220911162555-3.png]] 151 - 152 152 Once you have some image features selected and some brush annotation of at least 2 colors, you can check "Live Update" and ilastik will automatically use your examples to predict what classes the rest of your dataset should be, displaying the results in a "predictions" tab. 153 153 154 -[[image:image-20220 911163127-4.png]]143 +[[image:image-20220222153610-5.png]] 155 155 156 156 157 157 You can keep adding or removing brush strokes to improve your predictions. ... ... @@ -162,34 +162,26 @@ 162 162 1. Adjust the layer opacity to better view the predictions or underlying raw data; 163 163 1. Advanced users: edit the shader to render the predictions in any arbitrary way; 164 164 165 -The image below shows the "predictions" tab with an opacity set to 0.8 8using the steps described above:154 +The image below shows the "predictions" tab with an opacity set to 0.68 using the steps described above: 166 166 167 -[[image:image-20220 911163504-5.png]]156 +[[image:image-20220125172238-8.png]] 168 168 169 -You can keep adding or removing features to your model, as well as adding and removing annotations, which will automatically refreshthe predictions tab.158 +You can keep adding or removing features to your model, as well as adding and removing annotations, which will automatically update the predictions tab. 170 170 171 171 === Exporting Results and Running Jobs === 172 172 173 -Once you trained your pixel classifier with the previous applets, you can apply it to other datasets or even the same dataset that was used to do the training on. You can export your results in two ways:162 +Once you trained your pixel classifier with the previous applets, you can apply it to other datasets or even the same dataset that was used to do the training on. 174 174 175 - ~1.Asa "PredictionsMap",whichisafloat32imagewithasmanychannelsas thenumberofLabel colorsyou'veused,or;164 +To do so, select a data source by typing in the URL of the data source in the Data Source Url field and select a scale from the data source as they appear beneath the URL field. 176 176 177 - 2.Asa"SimpleSegmentation",whichisone3-channel uint8imageforachof theLabel colorsyou'veused. Theimagwillberedwherethatixel ismorelikelyto belongtothe respectiveLabelandblackeverywhereelse.166 +Then, configure a Data Sink, i.e., a destination that will receive the results of the pixel classification. For now, webilastik will only export to ebrains' data-proxy buckets; Fill in the name of the bucket and then the prefix (i.e.: path within the bucket) where the results in Neuroglancer's precomputed chunks format should be written to. 178 178 179 - To do so, select a data source by typingin theURL of the data sourcein the "Url" field of the "Input" fieldset and select a scale fromthe data source as they appear beneath the URL field. You can also click the "Suggestions..." buttonto select one of the annotated datasources.168 +[[image:image-20220125190311-2.png]] 180 180 181 -Then, configure the Output, i.e., the destination that will receive the results of the pixel classification. For now, webilastik will only export to ebrains' data-proxy buckets: 182 - 183 -1. Fill in the name of the data-proxy bucket where the results in Neuroglancer's precomputed chunks format should be written to; 184 -1. Fill in the directory path inside the bucket where the results should be saved to. This path will also contain the "info" file of the precomputed chunks format. 185 - 186 -[[image:image-20220911170735-7.png]] 187 - 188 - 189 189 Finally, click export button and eventually a new job shall be created if all the parameters were filled in correctly. 190 190 191 191 You'll be able to find your results in the data-proxy GUI, in a url that looks something like this: 192 192 193 -https:~/~/data-proxy.ebrains.eu/your-bucket-name?prefix=your/ info/directory/path174 +https:~/~/data-proxy.ebrains.eu/your-bucket-name?prefix=your/selected/prefix 194 194 195 195 [[image:image-20220125191847-3.png]]
- image-20220911155827-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.tomazvieira - Size
-
... ... @@ -1,1 +1,0 @@ 1 -13.1 KB - Content
- image-20220911162525-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.tomazvieira - Size
-
... ... @@ -1,1 +1,0 @@ 1 -124.5 KB - Content
- image-20220911162555-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.tomazvieira - Size
-
... ... @@ -1,1 +1,0 @@ 1 -154.7 KB - Content
- image-20220911163127-4.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.tomazvieira - Size
-
... ... @@ -1,1 +1,0 @@ 1 -136.9 KB - Content
- image-20220911163504-5.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.tomazvieira - Size
-
... ... @@ -1,1 +1,0 @@ 1 -49.9 KB - Content
- image-20220911165711-6.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.tomazvieira - Size
-
... ... @@ -1,1 +1,0 @@ 1 -138.8 KB - Content
- image-20220911170735-7.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.tomazvieira - Size
-
... ... @@ -1,1 +1,0 @@ 1 -138.9 KB - Content