mirror of
https://github.com/wassname/scikit-image.git
synced 2026-08-08 11:26:12 +08:00
Merge pull request #1823 from emmanuelle/structure-gallery
Added sections to gallery of examples
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
Manipulating exposure and color channels
|
||||
----------------------------------------
|
||||
@@ -0,0 +1,2 @@
|
||||
Edges and lines
|
||||
---------------
|
||||
@@ -0,0 +1,2 @@
|
||||
Detection of features and objects
|
||||
---------------------------------
|
||||
@@ -0,0 +1,2 @@
|
||||
Filtering and restoration
|
||||
-------------------------
|
||||
@@ -0,0 +1,2 @@
|
||||
Operations on NumPy arrays
|
||||
--------------------------
|
||||
@@ -0,0 +1,2 @@
|
||||
Segmentation of objects
|
||||
-----------------------
|
||||
@@ -0,0 +1,2 @@
|
||||
Geometrical transformations and registration
|
||||
--------------------------------------------
|
||||
@@ -81,9 +81,9 @@ disk: ::
|
||||
... (nrows / 2)**2)
|
||||
>>> camera[outer_disk_mask] = 0
|
||||
|
||||
.. image:: ../auto_examples/images/plot_camera_numpy_1.png
|
||||
.. image:: ../auto_examples/numpy_operations/images/plot_camera_numpy_1.png
|
||||
:width: 45%
|
||||
:target: ../auto_examples/plot_camera_numpy.html
|
||||
:target: ../auto_examples/numpy_operations/plot_camera_numpy.html
|
||||
|
||||
Boolean arithmetic can be used to define more complex masks: ::
|
||||
|
||||
|
||||
@@ -78,8 +78,8 @@ using an array of labels to encode the regions to be represented with the
|
||||
same color.
|
||||
|
||||
|
||||
.. image: ../auto_examples/images/plot_join_segmentations_1.png
|
||||
:target: ../auto_examples/plot_join_segmentations.html
|
||||
.. image: ../auto_examples/segmentation/images/plot_join_segmentations_1.png
|
||||
:target: ../auto_examples/segmentation/plot_join_segmentations.html
|
||||
:align: center
|
||||
:width: 80%
|
||||
|
||||
@@ -87,9 +87,9 @@ same color.
|
||||
|
||||
.. topic:: Examples:
|
||||
|
||||
* :ref:`example_plot_tinting_grayscale_images.py`
|
||||
* :ref:`example_plot_join_segmentations.py`
|
||||
* :ref:`example_plot_rag_mean_color.py`
|
||||
* :ref:`example_color_exposure_plot_tinting_grayscale_images.py`
|
||||
* :ref:`example_segmentation_plot_join_segmentations.py`
|
||||
* :ref:`example_segmentation_plot_rag_mean_color.py`
|
||||
|
||||
|
||||
Contrast and exposure
|
||||
@@ -157,16 +157,16 @@ details are enhanced in large regions with poor contrast. As a further
|
||||
refinement, histogram equalization can be performed in subregions of the
|
||||
image with :func:`equalize_adapthist`, in order to correct for exposure
|
||||
gradients across the image. See the example
|
||||
:ref:`example_plot_equalize.py`.
|
||||
:ref:`example_color_exposure_plot_equalize.py`.
|
||||
|
||||
.. image:: ../auto_examples/images/plot_equalize_1.png
|
||||
:target: ../auto_examples/plot_equalize.html
|
||||
.. image:: ../auto_examples/color_exposure/images/plot_equalize_1.png
|
||||
:target: ../auto_examples/color_exposure/plot_equalize.html
|
||||
:align: center
|
||||
:width: 90%
|
||||
|
||||
|
||||
.. topic:: Examples:
|
||||
|
||||
* :ref:`example_plot_equalize.py`
|
||||
* :ref:`example_color_exposure_plot_equalize.py`
|
||||
|
||||
|
||||
|
||||
@@ -11,8 +11,8 @@ the coins cannot be done directly from the histogram of grey values,
|
||||
because the background shares enough grey levels with the coins that a
|
||||
thresholding segmentation is not sufficient.
|
||||
|
||||
.. image:: ../auto_examples/applications/images/plot_coins_segmentation_1.png
|
||||
:target: ../auto_examples/applications/plot_coins_segmentation.html
|
||||
.. image:: ../auto_examples/xx_applications/images/plot_coins_segmentation_1.png
|
||||
:target: ../auto_examples/xx_applications/plot_coins_segmentation.html
|
||||
:align: center
|
||||
|
||||
::
|
||||
@@ -26,8 +26,8 @@ Simply thresholding the image leads either to missing significant parts
|
||||
of the coins, or to merging parts of the background with the
|
||||
coins. This is due to the inhomogeneous lighting of the image.
|
||||
|
||||
.. image:: ../auto_examples/applications/images/plot_coins_segmentation_2.png
|
||||
:target: ../auto_examples/applications/plot_coins_segmentation.html
|
||||
.. image:: ../auto_examples/xx_applications/images/plot_coins_segmentation_2.png
|
||||
:target: ../auto_examples/xx_applications/plot_coins_segmentation.html
|
||||
:align: center
|
||||
|
||||
A first idea is to take advantage of the local contrast, that is, to
|
||||
@@ -53,8 +53,8 @@ boundary of the coins, or inside the coins.
|
||||
>>> from scipy import ndimage as ndi
|
||||
>>> fill_coins = ndi.binary_fill_holes(edges)
|
||||
|
||||
.. image:: ../auto_examples/applications/images/plot_coins_segmentation_3.png
|
||||
:target: ../auto_examples/applications/plot_coins_segmentation.html
|
||||
.. image:: ../auto_examples/xx_applications/images/plot_coins_segmentation_3.png
|
||||
:target: ../auto_examples/xx_applications/plot_coins_segmentation.html
|
||||
:align: center
|
||||
|
||||
Now that we have contours that delineate the outer boundary of the coins,
|
||||
@@ -62,8 +62,8 @@ we fill the inner part of the coins using the
|
||||
``ndi.binary_fill_holes`` function, which uses mathematical morphology
|
||||
to fill the holes.
|
||||
|
||||
.. image:: ../auto_examples/applications/images/plot_coins_segmentation_4.png
|
||||
:target: ../auto_examples/applications/plot_coins_segmentation.html
|
||||
.. image:: ../auto_examples/xx_applications/images/plot_coins_segmentation_4.png
|
||||
:target: ../auto_examples/xx_applications/plot_coins_segmentation.html
|
||||
:align: center
|
||||
|
||||
Most coins are well segmented out of the background. Small objects from
|
||||
@@ -83,8 +83,8 @@ has not been segmented correctly at all. The reason is that the contour
|
||||
that we got from the Canny detector was not completely closed, therefore
|
||||
the filling function did not fill the inner part of the coin.
|
||||
|
||||
.. image:: ../auto_examples/applications/images/plot_coins_segmentation_5.png
|
||||
:target: ../auto_examples/applications/plot_coins_segmentation.html
|
||||
.. image:: ../auto_examples/xx_applications/images/plot_coins_segmentation_5.png
|
||||
:target: ../auto_examples/xx_applications/plot_coins_segmentation.html
|
||||
:align: center
|
||||
|
||||
Therefore, this segmentation method is not very robust: if we miss a
|
||||
@@ -128,8 +128,8 @@ separate the coins from the background.
|
||||
|
||||
and here is the corresponding 2-D plot:
|
||||
|
||||
.. image:: ../auto_examples/applications/images/plot_coins_segmentation_6.png
|
||||
:target: ../auto_examples/applications/plot_coins_segmentation.html
|
||||
.. image:: ../auto_examples/xx_applications/images/plot_coins_segmentation_6.png
|
||||
:target: ../auto_examples/xx_applications/plot_coins_segmentation.html
|
||||
:align: center
|
||||
|
||||
The next step is to find markers of the background and the coins based on the
|
||||
@@ -139,8 +139,8 @@ extreme parts of the histogram of grey values::
|
||||
>>> markers[coins < 30] = 1
|
||||
>>> markers[coins > 150] = 2
|
||||
|
||||
.. image:: ../auto_examples/applications/images/plot_coins_segmentation_7.png
|
||||
:target: ../auto_examples/applications/plot_coins_segmentation.html
|
||||
.. image:: ../auto_examples/xx_applications/images/plot_coins_segmentation_7.png
|
||||
:target: ../auto_examples/xx_applications/plot_coins_segmentation.html
|
||||
:align: center
|
||||
|
||||
Let us now compute the watershed transform::
|
||||
@@ -148,8 +148,8 @@ Let us now compute the watershed transform::
|
||||
>>> from skimage.morphology import watershed
|
||||
>>> segmentation = watershed(elevation_map, markers)
|
||||
|
||||
.. image:: ../auto_examples/applications/images/plot_coins_segmentation_8.png
|
||||
:target: ../auto_examples/applications/plot_coins_segmentation.html
|
||||
.. image:: ../auto_examples/xx_applications/images/plot_coins_segmentation_8.png
|
||||
:target: ../auto_examples/xx_applications/plot_coins_segmentation.html
|
||||
:align: center
|
||||
|
||||
With this method, the result is satisfying for all coins. Even if the
|
||||
@@ -165,7 +165,7 @@ We can now label all the coins one by one using ``ndi.label``::
|
||||
|
||||
>>> labeled_coins, _ = ndi.label(segmentation)
|
||||
|
||||
.. image:: ../auto_examples/applications/images/plot_coins_segmentation_9.png
|
||||
:target: ../auto_examples/applications/plot_coins_segmentation.html
|
||||
.. image:: ../auto_examples/xx_applications/images/plot_coins_segmentation_9.png
|
||||
:target: ../auto_examples/xx_applications/plot_coins_segmentation.html
|
||||
:align: center
|
||||
|
||||
|
||||
@@ -69,7 +69,7 @@ touch $MPL_DIR/matplotlibrc
|
||||
echo 'backend : Template' > $MPL_DIR/matplotlibrc
|
||||
|
||||
|
||||
for f in doc/examples/*.py; do
|
||||
for f in doc/examples/*/*.py; do
|
||||
python "$f"
|
||||
if [ $? -ne 0 ]; then
|
||||
exit 1
|
||||
@@ -81,7 +81,7 @@ section_end "Run.doc.examples"
|
||||
|
||||
section "Run.doc.applications"
|
||||
|
||||
for f in doc/examples/applications/*.py; do
|
||||
for f in doc/examples/xx_applications/*.py; do
|
||||
python "$f"
|
||||
if [ $? -ne 0 ]; then
|
||||
exit 1
|
||||
|
||||
Reference in New Issue
Block a user