]> granicus.if.org Git - imagemagick/blobdiff - magick/morphology.h
(no commit message)
[imagemagick] / magick / morphology.h
index ba483014d527e65c4b6ee496399482fddea2cd92..f215ccad025bfb944ebaf92ac2102dfe519e2cd4 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  Copyright 1999-2010 ImageMagick Studio LLC, a non-profit organization
+  Copyright 1999-2011 ImageMagick Studio LLC, a non-profit organization
   dedicated to making software imaging solutions freely available.
   
   You may not use this file except in compliance with the License.
@@ -26,15 +26,16 @@ extern "C" {
 
 typedef enum
 {
-  UndefinedKernel,    /* also the 'no-op' kernel */
+  UndefinedKernel,    /* equivalent to UnityKernel */
+  UnityKernel,        /* The no-op or 'original image' kernel */
   GaussianKernel,     /* Convolution Kernels, Gaussian Based */
-  DOGKernel,
-  LOGKernel,
+  DoGKernel,
+  LoGKernel,
   BlurKernel,
-  DOBKernel,
   CometKernel,
   LaplacianKernel,    /* Convolution Kernels, by Name */
   SobelKernel,
+  FreiChenKernel,
   RobertsKernel,
   PrewittKernel,
   CompassKernel,
@@ -42,6 +43,7 @@ typedef enum
   DiamondKernel,      /* Shape Kernels */
   SquareKernel,
   RectangleKernel,
+  OctagonKernel,
   DiskKernel,
   PlusKernel,
   CrossKernel,
@@ -49,13 +51,16 @@ typedef enum
   PeaksKernel,         /* Hit And Miss Kernels */
   EdgesKernel,
   CornersKernel,
+  DiagonalsKernel,
   LineEndsKernel,
   LineJunctionsKernel,
-  ThinningKernel,
+  RidgesKernel,
   ConvexHullKernel,
+  ThinSEKernel,
   SkeletonKernel,
   ChebyshevKernel,    /* Distance Measuring Kernels */
-  ManhattenKernel,
+  ManhattanKernel,
+  OctagonalKernel,
   EuclideanKernel,
   UserDefinedKernel   /* User Specified Kernel Array */
 } KernelInfoType;
@@ -87,7 +92,9 @@ typedef enum
 /* Recursive Morphology methods */
   HitAndMissMorphology,        /* Foreground/Background pattern matching */
   ThinningMorphology,          /* Remove matching pixels from image */
-  ThickenMorphology            /* Add matching pixels from image */
+  ThickenMorphology,           /* Add matching pixels from image */
+/* Experimental Morphology methods */
+  VoronoiMorphology
 } MorphologyMethod;
 
 typedef struct KernelInfo
@@ -95,11 +102,11 @@ typedef struct KernelInfo
   KernelInfoType
     type;
 
-  unsigned long
+  size_t
     width,
     height;
 
-  long
+  ssize_t
     x,
     y;
 
@@ -114,10 +121,11 @@ typedef struct KernelInfo
   struct KernelInfo
     *next;
 
-  unsigned long
+  size_t
     signature;
 } KernelInfo;
 
+
 extern MagickExport KernelInfo
   *AcquireKernelInfo(const char *),
   *AcquireKernelBuiltIn(const KernelInfoType,const GeometryInfo *),
@@ -125,14 +133,13 @@ extern MagickExport KernelInfo
   *DestroyKernelInfo(KernelInfo *);
 
 extern MagickExport Image
-  *MorphologyImage(const Image *,const MorphologyMethod,const long,
+  *MorphologyImage(const Image *,const MorphologyMethod,const ssize_t,
     const KernelInfo *,ExceptionInfo *),
   *MorphologyImageChannel(const Image *,const ChannelType,
-    const MorphologyMethod,const long,const KernelInfo *,ExceptionInfo *);
+    const MorphologyMethod,const ssize_t,const KernelInfo *,ExceptionInfo *);
 
 extern MagickExport void
-  ScaleKernelInfo(KernelInfo *,const double,const GeometryFlags),
-  UnityAddKernelInfo(KernelInfo *,const double),
+  ScaleGeometryKernelInfo(KernelInfo *,const char *),
   ShowKernelInfo(KernelInfo *);
 
 #if defined(__cplusplus) || defined(c_plusplus)