summaryrefslogtreecommitdiff
path: root/dmagick/c/morphology.d
diff options
context:
space:
mode:
Diffstat (limited to 'dmagick/c/morphology.d')
-rw-r--r--dmagick/c/morphology.d73
1 files changed, 41 insertions, 32 deletions
diff --git a/dmagick/c/morphology.d b/dmagick/c/morphology.d
index 2478387..3abc668 100644
--- a/dmagick/c/morphology.d
+++ b/dmagick/c/morphology.d
@@ -11,28 +11,29 @@ extern(C)
{
enum KernelInfoType
{
- UndefinedKernel,
- UnityKernel,
- GaussianKernel,
+ UndefinedKernel, /* equivelent to UnityKernel */
+ UnityKernel, /* The no-op or 'original image' kernel */
+ GaussianKernel, /* Convolution Kernels, Gaussian Based */
DoGKernel,
LoGKernel,
BlurKernel,
CometKernel,
- LaplacianKernel,
+ LaplacianKernel, /* Convolution Kernels, by Name */
SobelKernel,
FreiChenKernel,
RobertsKernel,
PrewittKernel,
CompassKernel,
KirschKernel,
- DiamondKernel,
+ DiamondKernel, /* Shape Kernels */
SquareKernel,
RectangleKernel,
+ OctagonKernel,
DiskKernel,
PlusKernel,
CrossKernel,
RingKernel,
- PeaksKernel,
+ PeaksKernel, /* Hit And Miss Kernels */
EdgesKernel,
CornersKernel,
ThinDiagonalsKernel,
@@ -41,40 +42,48 @@ extern(C)
RidgesKernel,
ConvexHullKernel,
SkeletonKernel,
- ChebyshevKernel,
+ ChebyshevKernel, /* Distance Measuring Kernels */
ManhattanKernel,
EuclideanKernel,
- UserDefinedKernel
+ UserDefinedKernel /* User Specified Kernel Array */
}
enum MorphologyMethod
{
UndefinedMorphology,
- ConvolveMorphology,
- CorrelateMorphology,
-
- ErodeMorphology,
- DilateMorphology,
- ErodeIntensityMorphology,
- DilateIntensityMorphology,
- DistanceMorphology,
-
- OpenMorphology,
- CloseMorphology,
- OpenIntensityMorphology,
- CloseIntensityMorphology,
- SmoothMorphology,
-
- EdgeInMorphology,
- EdgeOutMorphology,
- EdgeMorphology,
- TopHatMorphology,
- BottomHatMorphology,
-
- HitAndMissMorphology,
- ThinningMorphology,
- ThickenMorphology
+ /* Convolve / Correlate weighted sums */
+ ConvolveMorphology, /* Weighted Sum with reflected kernel */
+ CorrelateMorphology, /* Weighted Sum using a sliding window */
+
+ /* Low-level Morphology methods */
+ ErodeMorphology, /* Minimum Value in Neighbourhood */
+ DilateMorphology, /* Maximum Value in Neighbourhood */
+ ErodeIntensityMorphology, /* Pixel Pick using GreyScale Erode */
+ DilateIntensityMorphology, /* Pixel Pick using GreyScale Dialate */
+ DistanceMorphology, /* Add Kernel Value, take Minimum */
+
+ /* Second-level Morphology methods */
+ OpenMorphology, /* Dilate then Erode */
+ CloseMorphology, /* Erode then Dilate */
+ OpenIntensityMorphology, /* Pixel Pick using GreyScale Open */
+ CloseIntensityMorphology, /* Pixel Pick using GreyScale Close */
+ SmoothMorphology, /* Open then Close */
+
+ /* Difference Morphology methods */
+ EdgeInMorphology, /* Dilate difference from Original */
+ EdgeOutMorphology, /* Erode difference from Original */
+ EdgeMorphology, /* Dilate difference with Erode */
+ TopHatMorphology, /* Close difference from Original */
+ BottomHatMorphology, /* Open difference from Original */
+
+ /* Recursive Morphology methods */
+ HitAndMissMorphology, /* Foreground/Background pattern matching */
+ ThinningMorphology, /* Remove matching pixels from image */
+ ThickenMorphology, /* Add matching pixels from image */
+
+ /* Experimental Morphology methods */
+ VoronoiMorphology
}
struct KernelInfo