Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| playground:playground [2021/10/26 20:54] – pseudomoaner | playground:playground [2022/09/03 18:15] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | This is a testpage for the new segmentation page, to be used once the new version of the segmentation module is released. | + | ====== PlayGround ====== |
| - | ====== The Segmentation module ====== | ||
| - | |||
| - | {{logos: | ||
| - | |||
| - | In the first stage of the FAST pipeline, individual objects are segmented from the background. FAST's segmentation routine is integral to its ability to track objects in high-density systems, as it permits automated separation of thousands of closely-packed objects. | ||
| - | |||
| - | The segmentation algorithm is a multi-stage process, outlined below: | ||
| - | |||
| - | {{ : | ||
| - | |||
| - | As can be seen from this diagram, earlier stages are integrated and used as the input to later stages. It is therefore important to optimise parameters for each stage sequentially. The process below runs through each stage and associated parameters in the recommended order. | ||
| - | |||
| - | ===== Setup ===== | ||
| - | |||
| - | To run this module, click the **Segmentation** button on the home panel. This should bring up the following GUI: | ||
| - | |||
| - | {{ : | ||
| - | |||
| - | To begin, you will need to set the channel you wish to use for segmentation using the **segmentation channel** dropdown menu. Channel 1 is typically the brightfield/ | ||
| - | |||
| - | ===== Viewport control ===== | ||
| - | |||
| - | The controls in the top left-hand corner of the GUI allow you to zoom (magnifying glasses) and pan (hand) the image shown in the main viewport. These tools allow the user to verify segmentation quality at high resolution. | ||
| - | |||
| - | Embedded within the segmentation settings are two further viewport controls: the **current time** slider allowing control of the current frame displayed within the viewport, and the **overlay type** dropdown menu allowing selection of a specific overlay. | ||
| - | |||
| - | ===== Parameter selection ===== | ||
| - | |||
| - | The key to a high-quality segmentation is the selection of good parameters. To assist with this process, each of the overlays under the **Overlay type** drop-down menu will allow you to optimise the parameters associated with each stage of the segmentation pipeline. We will begin with the default option, **Texture**. | ||
| - | |||
| - | ==== Texture ==== | ||
| - | |||
| - | In the first stage of the pipeline, a texture metric is applied to the image. This provides a general separation of foreground (textured regions) and background (untextured regions), without necessarily separating closely-packed objects. In this overlay, red indicates regions classified as forground (objects): | ||
| - | |||
| - | {{ : | ||
| - | |||
| - | The texture analysis stage is associated with two parameters: | ||
| - | |||
| - | - **Neighbourhood size**: This determines the spatial scale over which the texture is measured. In general, this value should be around the same as the width of your largest objects (in pixels). | ||
| - | - **Texture Threshold**: | ||
| - | |||
| - | ==== Ridge detection ==== | ||
| - | |||
| - | Ridge detection is the primary means by which closely-packed objects are separated from each other; boundaries between these objects are detected as ridges (dark-bright-dark or bright-dark-bright features) within the image. To begin choosing parameters, select the **Ridges** option from the **Overlays** dropdown menu. | ||
| - | |||
| - | There are three parameters associated with ridge detection: | ||
| - | |||
| - | - **Ridge Scale**: This determines the typical spatial scale of a ridge. Larger values tend to generate smoother ridges, and pick out larger features. Choose values greater than 10. | ||
| - | - **Ridge Threshold**: | ||
| - | - **Minimum Ridge Area**: This specifies the minimum size of a binary ridge. Larger values help to remove small ridges created by noise in the image. | ||
| - | |||
| - | In this overlay, red regions indicate the binary ridges that are subtracted from the binary texture image to generate an initial segmentation: | ||
| - | |||
| - | {{ : | ||
| - | |||
| - | This initial segmentation is next refined by the application of the watershed algorithm. | ||
| - | ==== Watershed ==== | ||
| - | |||
| - | Choosing next the **Watershed** overlay option, your view should now switch to one consisting of red and yellow outlines: | ||
| - | |||
| - | {{ : | ||
| - | |||
| - | These indicate the segmentation boundaries set by the combination of the threshold and ridge detection stages (yellow), and the boundaries added by the morphological watershed stage (red). | ||
| - | |||
| - | As can be seen in the above image, the watershed stage acts to complete the separation of objects that have been mostly (but not completely) separated by texture analysis or ridge detection. The strength of the watershed operation can be controlled by the **Watershed threshold** parameter. Lower values increase the number of cuts made by the algorithm, while higher values reduce the number of cuts. | ||
| - | |||
| - | ==== Final segmentation ==== | ||
| - | |||
| - | When the **Segmentation** overlay is chosen, you will be able to vary the **Object area threshold (low)** and **Object area threshold (high)** parameters. These parameters set the minimum and maximum area (in pixels) an object is allowed to fall between to be included in the final segmentation. In this overlay, each segmented object is indicated by a separate colour: | ||
| - | |||
| - | {{ : | ||
| - | |||
| - | Once you are happy with your final segmentation, | ||
| - | |||
| - | Wait until the loading bar indicating segmentation progress has disappeared, | ||
| - | |||
| - | ===== Video demonstration ===== | ||
| - | |||
| - | {{ youtube> | ||