Watershed 2.2.2__tar.gz → 2.2.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {Watershed-2.2.2 → Watershed-2.2.3}/Examples/README +9 -4
- {Watershed-2.2.2 → Watershed-2.2.3}/Examples/artpic3.jpg +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/Examples/artpic4.jpg +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/Examples/automatic_output_segmentation_for_orchid.jpg +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/Examples/broken_rectangle1.jpg +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/Examples/composite_image_with_all_marks_orchid.jpg +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/Examples/fruitlets2.jpg +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/Examples/marker_assisted_segmentation_for_orchid.jpg +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/Examples/orchid0001.jpg +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/Examples/triangle1.jpg +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/Examples/triangle2.jpg +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/ExamplesImageScanner/DSC00781.JPG +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/ExamplesImageScanner/README +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/ImageScanner/ImageScanner.py +5 -4
- {Watershed-2.2.2 → Watershed-2.2.3}/ImageScanner/__init__.py +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/MANIFEST.in +1 -1
- {Watershed-2.2.2 → Watershed-2.2.3}/Makefile +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/PKG-INFO +6 -18
- {Watershed-2.2.2 → Watershed-2.2.3}/README +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/TestWatershed/TestBinaryDilation.py +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/TestWatershed/TestImageLoadingAndDataExtraction.py +0 -0
- {Watershed-2.2.2/Watershed → Watershed-2.2.3/TestWatershed}/Watershed.py +733 -830
- {Watershed-2.2.2 → Watershed-2.2.3}/TestWatershed/line.jpg +0 -0
- {Watershed-2.2.2/TestWatershed → Watershed-2.2.3/Watershed}/Watershed.py +734 -831
- {Watershed-2.2.2 → Watershed-2.2.3}/Watershed/__init__.py +0 -0
- Watershed-2.2.3/Watershed-2.2.3.html +1558 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/Watershed.egg-info/PKG-INFO +6 -18
- {Watershed-2.2.2 → Watershed-2.2.3}/Watershed.egg-info/SOURCES.txt +1 -1
- {Watershed-2.2.2 → Watershed-2.2.3}/Watershed.egg-info/dependency_links.txt +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/Watershed.egg-info/top_level.txt +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/setup.py +4 -4
- Watershed-2.2.2/Watershed-2.2.2.html +0 -1645
- {Watershed-2.2.2 → Watershed-2.2.3}/Examples/LoG.py +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/Examples/cleanup.py +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/Examples/data_gen.py +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/Examples/dilate_erode.py +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/Examples/distance_mapping.py +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/Examples/distance_mapping2.py +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/Examples/edge_repair.py +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/Examples/extract_image_portion_and_apply_color_filter_demo.py +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/Examples/hist_equalize_demo.py +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/Examples/influence_zones.py +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/Examples/otsu_threshold_hue_demo.py +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/Examples/segment_automatic_and_show_watershed.py +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/Examples/segment_automatic_and_use_contours_to_extract_blobs.py +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/Examples/segment_automatic_and_use_region_growing_to_extract_blobs.py +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/Examples/segment_with_markers_and_show_watershed.py +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/Examples/segment_with_markers_and_use_contours_to_extract_blobs.py +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/Examples/segment_with_markers_and_use_region_growing_to_extract_blobs.py +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/ExamplesImageScanner/AnalyzeScannerDump.py +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/ExamplesImageScanner/AnalyzeScannerDumpShowIntermediateResults.py +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/ExamplesImageScanner/AnalyzeSingleSubimage.py +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/ExamplesImageScanner/AnalyzeSingleSubimageShowIntermediateResults.py +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/ExamplesImageScanner/RunImageScanner.py +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/ExamplesImageScanner/RunImageScannerInteractive.py +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/TestWatershed/Test.py +0 -0
- {Watershed-2.2.2 → Watershed-2.2.3}/setup.cfg +0 -0
|
@@ -30,6 +30,10 @@ See the comment block at the beginning of the above script as to when
|
|
|
30
30
|
dilation followed by erosion can be expected to repair breaks in shape
|
|
31
31
|
boundaries.
|
|
32
32
|
|
|
33
|
+
In the distance maps shown, note that since 0 is used to denote the background
|
|
34
|
+
pixels and holes in the blob and 1 is used to denote the mark, you will see 2
|
|
35
|
+
as the smallest possible distance from the mark and so on.
|
|
36
|
+
|
|
33
37
|
===============================================================================
|
|
34
38
|
|
|
35
39
|
DEMONSTRATING DISTANCE MAPPING
|
|
@@ -60,8 +64,8 @@ binary blob, execute the script
|
|
|
60
64
|
|
|
61
65
|
influence_zones.py
|
|
62
66
|
|
|
63
|
-
For a visually interesting demonstration,
|
|
64
|
-
|
|
67
|
+
For a visually interesting demonstration, YOU MUST PLACE AT LEAST TWO MARKS <<<< two marks needed in a blob
|
|
68
|
+
INSIDE A BLOB. Each mark is dilated into its IZ and the boundaries between
|
|
65
69
|
the IZs constitute the geodesic skeleton of the binary blob.
|
|
66
70
|
|
|
67
71
|
===============================================================================
|
|
@@ -74,7 +78,7 @@ demonstration involving grayscale or color images, execute the script
|
|
|
74
78
|
LoG.py
|
|
75
79
|
|
|
76
80
|
that calculates the Laplacian-of-Gaussian of an image. The LoG is
|
|
77
|
-
calculated by taking a difference of two Gaussian-smoothed images with
|
|
81
|
+
calculated by taking a difference of two Gaussian-smoothed images with <<< calculated as a DoG
|
|
78
82
|
two different values of sigma. The first Gaussian smoothed image is
|
|
79
83
|
calculated with the sigma as set in the constructor and the second with
|
|
80
84
|
a sigma that 20% larger.
|
|
@@ -89,6 +93,7 @@ interaction, execute the script:
|
|
|
89
93
|
|
|
90
94
|
segment_automatic_and_show_watershed.py
|
|
91
95
|
|
|
96
|
+
|
|
92
97
|
As you will notice, when there is no help from the user, the watershed
|
|
93
98
|
algorithm over-segments the image. For an example of the segmentation
|
|
94
99
|
produced by this script, for the following image
|
|
@@ -119,7 +124,7 @@ This script uses region-growing logic to pull out the individual blobs.
|
|
|
119
124
|
MARKER-ASSISTED WATERSHED SEGMENTATION
|
|
120
125
|
|
|
121
126
|
|
|
122
|
-
That brings us to marker
|
|
127
|
+
That brings us to marker-based watershed segmentation in which a user is asked to
|
|
123
128
|
place marker points in an image in order to manually modify the gradient map. To see
|
|
124
129
|
how this works, execute the script:
|
|
125
130
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
__version__ = '2.2.
|
|
1
|
+
__version__ = '2.2.3'
|
|
2
2
|
__author__ = "Avinash Kak (kak@purdue.edu)"
|
|
3
|
-
__date__ = '
|
|
4
|
-
__url__ = 'https://engineering.purdue.edu/kak/distWatershed/Watershed-2.2.
|
|
5
|
-
__copyright__ = "(C)
|
|
3
|
+
__date__ = '2026-October-8'
|
|
4
|
+
__url__ = 'https://engineering.purdue.edu/kak/distWatershed/Watershed-2.2.3.html'
|
|
5
|
+
__copyright__ = "(C) 2026 Avinash Kak. Python Software Foundation."
|
|
6
|
+
|
|
6
7
|
|
|
7
8
|
from Watershed import Watershed
|
|
8
9
|
|
|
File without changes
|
|
@@ -6,7 +6,7 @@ include ImageScanner/__init__.py
|
|
|
6
6
|
include setup.py
|
|
7
7
|
include Makefile
|
|
8
8
|
include README
|
|
9
|
-
include Watershed-2.2.
|
|
9
|
+
include Watershed-2.2.3.html
|
|
10
10
|
include TestWatershed/Watershed.py
|
|
11
11
|
include TestWatershed/TestImageLoadingAndDataExtraction.py
|
|
12
12
|
include TestWatershed/TestBinaryDilation.py
|
|
File without changes
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
Metadata-Version: 1.2
|
|
2
2
|
Name: Watershed
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.3
|
|
4
4
|
Summary: An image segmentation algorithm based on the watershed paradigm
|
|
5
|
-
Home-page: https://engineering.purdue.edu/kak/distWatershed/Watershed-2.2.
|
|
5
|
+
Home-page: https://engineering.purdue.edu/kak/distWatershed/Watershed-2.2.3.html
|
|
6
6
|
Author: Avinash Kak
|
|
7
7
|
Author-email: kak@purdue.edu
|
|
8
8
|
Maintainer: Avinash Kak
|
|
9
9
|
Maintainer-email: kak@purdue.edu
|
|
10
10
|
License: Python Software Foundation License
|
|
11
|
-
Download-URL: https://engineering.purdue.edu/kak/distWatershed/Watershed-2.2.
|
|
11
|
+
Download-URL: https://engineering.purdue.edu/kak/distWatershed/Watershed-2.2.3.tar.gz
|
|
12
12
|
Description:
|
|
13
13
|
|
|
14
14
|
Consult the module API page at
|
|
15
15
|
|
|
16
|
-
https://engineering.purdue.edu/kak/distWatershed/Watershed-2.2.
|
|
16
|
+
https://engineering.purdue.edu/kak/distWatershed/Watershed-2.2.3.html
|
|
17
17
|
|
|
18
18
|
for all information related to this module, including information related
|
|
19
19
|
to the latest changes to the code. The page at the URL shown above lists
|
|
@@ -55,20 +55,8 @@ Description:
|
|
|
55
55
|
segmentation with the module. For a fully automated implemented of the
|
|
56
56
|
BLM algorithm, you would need to delete those two statements.
|
|
57
57
|
|
|
58
|
-
Keywords:
|
|
59
|
-
Platform:
|
|
60
|
-
Platform: l
|
|
61
|
-
Platform: l
|
|
62
|
-
Platform:
|
|
63
|
-
Platform: p
|
|
64
|
-
Platform: l
|
|
65
|
-
Platform: a
|
|
66
|
-
Platform: t
|
|
67
|
-
Platform: f
|
|
68
|
-
Platform: o
|
|
69
|
-
Platform: r
|
|
70
|
-
Platform: m
|
|
71
|
-
Platform: s
|
|
58
|
+
Keywords: image processing,image segmentation,computer vision
|
|
59
|
+
Platform: All platforms
|
|
72
60
|
Classifier: Topic :: Scientific/Engineering :: Image Recognition
|
|
73
61
|
Classifier: Programming Language :: Python :: 2.7
|
|
74
62
|
Classifier: Programming Language :: Python :: 3.8
|
|
File without changes
|
|
File without changes
|
|
File without changes
|