Last modified by puchades on 2022/09/30 16:01

From version 39.1
edited by tomazvieira
on 2022/09/11 11:59
Change comment: Uploaded new attachment "webilastik_click_and_drag.png", version {1}
To version 52.1
edited by tomazvieira
on 2022/09/11 17:09
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -10,31 +10,63 @@
10 10  (% class="wikigeneratedid" %)
11 11  Webilastik is a web application that can be accessed on [[https:~~/~~/app.ilastik.org>>https://app.ilastik.org]]. We suggest using it via the Chrome (or Chromium) web browser for now, since most of the testing has been done in this browser and subtle differences between browsers might cause unexpected behavior in the application.
12 12  
13 -=== Opening a sample Dataset ===
13 +(% class="wikigeneratedid" %)
14 +You can find the webilastik application at [[https:~~/~~/app.ilastik.org/>>url:https://app.ilastik.org/]]. You can also go directly to the [[application page>>https://app.ilastik.org/public/nehuba/index.html#!%7B%22layout%22:%22xy%22%7D]].
14 14  
15 -Go to [[https:~~/~~/app.ilastik.org/>>https://app.ilastik.org/]] and load a [[Neuroglancer Precomputed Chunks dataset>>https://github.com/google/neuroglancer/tree/master/src/neuroglancer/datasource/precomputed]]. You can e.g. use a sample data set that is already in the server by pasting the following URL into Neuroglancer's prompt:
16 +Webilastik is an overlay on top of other data viewers. In particular, this implementation uses [[Neuroglancer>>https://github.com/google/neuroglancer]] as an underlying data viewer, so if you're familiar with its controls you can still use them when using webilastik.
16 16  
18 +=== Moving the controls window ===
19 +
20 +You can move the webilastik controls around the screen by clicking and dragging on the header:
21 +
22 +[[image:webilastik_click_and_drag.png]]
23 +
24 +
25 +=== Opening a Dataset ===
26 +
27 +Like in vanilla Neuroglancer, you add datasets to the viewer by clicking the "+" button at the top of the viewer:
28 +
29 +[[image:webilastik_click_plus_sign_in_neuroglancer.png||height="200"]]
30 +
31 +
32 +You should be presented with a popup prompt where you can type in the URL of a dataset you want to view, in the format typically used by Neuroglancer. There are a few sample datasets hosted in webilastik:
33 +
34 +precomputed:~/~/https:~/~/app.ilastik.org/public/images/mouse1.precomputed
35 +
36 +precomputed:~/~/https:~/~/app.ilastik.org/public/images/mouse2.precomputed
37 +
38 +precomputed:~/~/https:~/~/app.ilastik.org/public/images/mouse3.precomputed
39 +
17 17  precomputed:~/~/https:~/~/app.ilastik.org/public/images/c_cells_2.precomputed
18 18  
42 +precomputed:~/~/https:~/~/app.ilastik.org/public/images/c_cells_3.precomputed
43 +
44 +
45 +After you type or paste the URL into the "Source" field, neuroglancer should recognize the shape and number of channels in the image. You can the click "Add Layer" to open the dataset in the viewer.
46 +
19 19  [[image:image-20220125164204-2.png]]
20 20  
21 21  
22 22  === Opening a Dataset from the data-proxy ===
23 23  
24 -You can also load Neuroglancer Precomputed Chunks data from the data-proxy; The URLs for this kind of data follow the following scheme:
25 -\\##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(%%)##
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(%%)##
26 26  
27 -So, for example, to load the sample data inside the (% style="background-color:#3498db; color:#ffffff" %)quint-demo(%%) 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:
55 +where (% style="background-color:#9b59b6; color:#ffffff" %)path/inside/your/bucket(%%)  should be the path to the folder containing the dataset "info" file.
28 28  
29 29  
30 -[[image:image-20220128142757-1.png]]
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 in the example below:
31 31  
32 -=== ===
60 +(% style="display:none" %) (%%)
33 33  
62 +[[image:webilastik_bucket_paths.png]]
63 +
64 +=== ===
65 +
34 34  you would type a URL like this:
35 35  
36 36  
37 -##precomputed:~/~/https:~/~/data-proxy.ebrains.eu/api/buckets/(% style="background-color:#3498db; color:#ffffff" %)quint-demo(%%)/(% style="background-color:#9b59b6; color:#ffffff" %)tg-ArcSwe_mice_precomputed/hbp-00138_122_381_423_s001.precomputed(%%)##
69 +{{{precomputed://https://data-proxy.ebrains.eu/api/v1/buckets/ana-workshop-event/tg-ArcSwe_mice_precomputed/hbp-00138_122_381_423_s001.precomputed}}}
38 38  
39 39  this scheme is the same whether you're loading data into the Neuroglancer viewer or specifying an input URL in the export applet.
40 40  
... ... @@ -48,6 +48,7 @@
48 48  
49 49  [[image:image-20220125164557-4.png]]
50 50  
83 +You can also click the
51 51  
52 52  ==== A Note on Neuroglancer and 2D data ====
53 53  
... ... @@ -57,13 +57,27 @@
57 57  
58 58  [[image:image-20220222161022-1.png]]
59 59  
93 +(% class="wikigeneratedid" %)
94 +Alternatively, once you have a compute session running you can also click the "Reset" button in the lower-right corner of the viewer to move the viewer back to the center of your datasets:
95 +
96 +(% class="wikigeneratedid" %)
97 +[[image:webilastik_click_recenter_button.png]]
98 +
99 +== Allocating a Compute Session ==
100 +
101 +Normal ilastik operation can be computationally intensive, requiring dedicated compute resources to be allocated to every user working with it.
102 +
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 +
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 +
60 60  == Training the Pixel Classifier ==
61 61  
62 62  === Selecting Image Features ===
63 63  
64 -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.
111 +Pixel Classification uses different characteristics ("features") of each pixel from your image to determine which class that 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.
65 65  
66 -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).
113 +Use the checkboxes in the applet "Select Image Features" applet to select some image features and their corresponding sigma. The higher the sigma, the bigger the vicinity considered when computing values for each pixel, and the bigger its influence over the final value of that feature. Higher sigmas also require more computations to be done and can increase the time required to do predictions.
67 67  
68 68  You can read more about image features in [[ilastik's documentation.>>https://www.ilastik.org/documentation/pixelclassification/pixelclassification\]]
69 69  
... ... @@ -73,12 +73,15 @@
73 73  
74 74  === Labeling the image ===
75 75  
76 -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.
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.
77 77  
78 -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):
79 79  
80 -[[image:image-20220125165642-1.png]]
126 +==== Picking an Image Resolution (for multi-resolution images only) ====
81 81  
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 +
82 82  Once you've selected a resolution to train on, you should see a new "training" tab at the top of the viewer:
83 83  
84 84  [[image:image-20220125165832-2.png]]
... ... @@ -87,16 +87,21 @@
87 87  
88 88  [[image:image-20220222151117-1.png]]
89 89  
140 +==== ====
90 90  
91 -The status display in this applet will show "training on [datasource url]" when you're in training mode.
142 +==== Painting Labels ====
92 92  
93 -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.
144 +The status display in the "Training" applet will show "training on [datasource url]" when it's ready to start painting.
94 94  
95 -[[image:image-20220222153157-4.png]]
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 change their colors to something more suitable for you or your dataset. You can also add more labels if you'd like ilastik to classify the pixels of your image into more than two categories.
96 96  
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 +
97 97  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.
98 98  
99 -[[image:image-20220222153610-5.png]]
154 +[[image:image-20220911163127-4.png]]
100 100  
101 101  
102 102  You can keep adding or removing brush strokes to improve your predictions.
... ... @@ -107,26 +107,34 @@
107 107  1. Adjust the layer opacity to better view the predictions or underlying raw data;
108 108  1. Advanced users: edit the shader to render the predictions in any arbitrary way;
109 109  
110 -The image below shows the "predictions" tab with an opacity set to 0.68 using the steps described above:
165 +The image below shows the "predictions" tab with an opacity set to 0.88 using the steps described above:
111 111  
112 -[[image:image-20220125172238-8.png]]
167 +[[image:image-20220911163504-5.png]]
113 113  
114 -You can keep adding or removing features to your model, as well as adding and removing annotations, which will automatically update the predictions tab.
169 +You can keep adding or removing features to your model, as well as adding and removing annotations, which will automatically refresh the predictions tab.
115 115  
116 116  === Exporting Results and Running Jobs ===
117 117  
118 -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.
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:
119 119  
120 -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.
175 +~1. As a "Predictions Map", which is a float32 image with as many channels as the number of Label colors you've used, or;
121 121  
122 -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.
177 +2. As a "Simple Segmentation", which is one 3-channel uint8 image for each of the Label colors you've used. The imag will be red where that pixel is more likely to belong to the respective Label and black everywhere else.
123 123  
124 -[[image:image-20220125190311-2.png]]
179 +To do so, select a data source by typing in the URL of the data source in the "Url" field of the "Input" fieldset and select a scale from the data source as they appear beneath the URL field. You can also click the "Suggestions..." button to select one of the annotated datasources.
125 125  
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 +
126 126  Finally, click export button and eventually a new job shall be created if all the parameters were filled in correctly.
127 127  
128 128  You'll be able to find your results in the data-proxy GUI, in a url that looks something like this:
129 129  
130 -https:~/~/data-proxy.ebrains.eu/your-bucket-name?prefix=your/selected/prefix
193 +https:~/~/data-proxy.ebrains.eu/your-bucket-name?prefix=your/info/directory/path
131 131  
132 132  [[image:image-20220125191847-3.png]]
image-20220911155827-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.tomazvieira
Size
... ... @@ -1,0 +1,1 @@
1 +13.1 KB
Content
image-20220911162525-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.tomazvieira
Size
... ... @@ -1,0 +1,1 @@
1 +124.5 KB
Content
image-20220911162555-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.tomazvieira
Size
... ... @@ -1,0 +1,1 @@
1 +154.7 KB
Content
image-20220911163127-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.tomazvieira
Size
... ... @@ -1,0 +1,1 @@
1 +136.9 KB
Content
image-20220911163504-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.tomazvieira
Size
... ... @@ -1,0 +1,1 @@
1 +49.9 KB
Content
image-20220911165711-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.tomazvieira
Size
... ... @@ -1,0 +1,1 @@
1 +138.8 KB
Content
image-20220911170735-7.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.tomazvieira
Size
... ... @@ -1,0 +1,1 @@
1 +138.9 KB
Content
webilastik_bucket_paths.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.tomazvieira
Size
... ... @@ -1,0 +1,1 @@
1 +64.7 KB
Content
webilastik_click_recenter_button.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.tomazvieira
Size
... ... @@ -1,0 +1,1 @@
1 +1.6 MB
Content