Skip to content

Commit

Permalink
Fixed external links
Browse files Browse the repository at this point in the history
  • Loading branch information
freemansw1 committed Feb 9, 2024
1 parent 997172b commit 99be77c
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions doc/segmentation_parameters.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ A full list of parameters and descriptions can be found in the API Reference: :p
=========================
Basic Operating Procedure
=========================
The *tobac* watershedding segmentation algorithm selects regions of the data :code:`field` with values greater than :code:`threshold` and associates those regions with the features :code:`features` detected by feature detection (see :doc:`feature_detection_overview`). This algorithm uses a *watershedding* approach, which sets the individual features as initial seed points, and then has identified regions grow from those original seed points. For further information on watershedding segmentation, see `the scikit-image documentation <https://scikit-image.org/docs/stable/auto_examples/segmentation/plot_watershed.html>`.
The *tobac* watershedding segmentation algorithm selects regions of the data :code:`field` with values greater than :code:`threshold` and associates those regions with the features :code:`features` detected by feature detection (see :doc:`feature_detection_overview`). This algorithm uses a *watershedding* approach, which sets the individual features as initial seed points, and then has identified regions grow from those original seed points. For further information on watershedding segmentation, see `the scikit-image documentation <https://scikit-image.org/docs/stable/auto_examples/segmentation/plot_watershed.html>`_.

Note that you can run the watershedding segmentation algorithm on any variable that shares a grid with the variable detected in the feature detection step. It is not required that the variable used in feature detection be the same as the one in segmentation (e.g., you can detect updraft features and then run segmentation on total condensate).

Expand Down Expand Up @@ -36,7 +36,7 @@ Projecting 2D Spatial Features into 3D Segmentation
===================================================
When running feature detection on a 2D dataset and then using these detected features to segment data in 3D, there is clearly no information on where to put the seeds in the vertical. This is currently controlled by the :code:`level` parameter. By default, this parameter is :code:`None`, which seeds the full column at every 2D detected feature point. As *tobac* does not run a continuity check, this can result in undesired behavior, such as clouds in multiple layers being detected as one large object.

:code:`level` can also be set to a `slice <https://docs.python.org/3/c-api/slice.html>`, which determines where in the vertical dimension (see `Vertical Coordinate`_) the features are seeded from. Note that :code:`level` operates in *array* coordinates rather than physical coordinates.
:code:`level` can also be set to a `slice <https://docs.python.org/3/c-api/slice.html>`_, which determines where in the vertical dimension (see `Vertical Coordinate`_) the features are seeded from. Note that :code:`level` operates in *array* coordinates rather than physical coordinates.


.. _seg_2d_feature_3d:
Expand All @@ -54,7 +54,7 @@ Projecting 3D Spatial Features into 3D Segmentation
===================================================
When running feature detection on a 3D dataset and then using these detected features to segment data in 3D, there are currently two options for determining how to seed the watershedding algorithm: *column* seeding (set by :code:`seed_3D_flag='column'`) and *box* seeding (set by :code:`seed_3D_flag='box'`). We generally recommend *box* seeding when running feature detection and segmentation in 3D.

**Column** seeding (:code:`seed_3D_flag='column'`) works by setting seed markers throughout some or all of the vertical column at all detected feature centroids (i.e., one column per feature detected). While the default behavior is to seed throughout the full vertical column, the vertical extent of the seeds can be set by passing a `slice <https://docs.python.org/3/c-api/slice.html>` into the :code:`level` parameter. Note that :code:`level` operates in *array* coordinates rather than physical coordinates.
**Column** seeding (:code:`seed_3D_flag='column'`) works by setting seed markers throughout some or all of the vertical column at all detected feature centroids (i.e., one column per feature detected). While the default behavior is to seed throughout the full vertical column, the vertical extent of the seeds can be set by passing a `slice <https://docs.python.org/3/c-api/slice.html>`_ into the :code:`level` parameter. Note that :code:`level` operates in *array* coordinates rather than physical coordinates.

**Box** seeding (:code:`seed_3D_flag='box'`) sets a cube or rectangular seed markers around the detected feature in 3D space. The marker size is user defined (in array coordinates) by :code:`seed_3D_size` as either an integer (for a cube) or a tuple of :code:`(int, int, int)`, ordered :code:`(vertical, hdim_1, hdim_2)`. Note that :code:`seed_3D_size` must be odd number to avoid the box becoming biased to one side. If two seed boxes overlap, the seeded area is marked with the closest feature centroid.

Expand Down

0 comments on commit 99be77c

Please sign in to comment.