~ubuntu-branches/ubuntu/oneiric/imagemagick/oneiric-updates

« back to all changes in this revision

Viewing changes to magick/morphology.h

  • Committer: Bazaar Package Importer
  • Author(s): Colin Watson
  • Date: 2011-06-15 11:05:28 UTC
  • mfrom: (6.2.11 sid)
  • Revision ID: james.westby@ubuntu.com-20110615110528-08jgo07a4846xh8d
Tags: 8:6.6.0.4-3ubuntu1
* Resynchronise with Debian (LP: #797595).  Remaining changes:
  - Make ufraw-batch (universe) a suggestion instead of a recommendation.
  - Make debian/rules install target depend on check; they cannot reliably
    be run in parallel.
  - Don't set MAKEFLAGS in debian/rules; just pass it to the build.

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
 
27
27
typedef enum
28
28
{
29
 
  UndefinedKernel,    /* equivelent to UnityKernel */
30
 
  UnityKernel,        /* The no-op or 'original image' kernel */
31
 
  GaussianKernel,     /* Convolution Kernels, Gaussian Based */
32
 
  DoGKernel,
33
 
  LoGKernel,
 
29
  UndefinedKernel,    /* also the 'no-op' kernel */
 
30
  GaussianKernel,     /* Convolution Kernels */
34
31
  BlurKernel,
35
32
  CometKernel,
36
 
  LaplacianKernel,    /* Convolution Kernels, by Name */
37
 
  SobelKernel,
38
 
  FreiChenKernel,
39
 
  RobertsKernel,
40
 
  PrewittKernel,
41
 
  CompassKernel,
42
 
  KirschKernel,
43
 
  DiamondKernel,      /* Shape Kernels */
 
33
  LaplacianKernel,
 
34
  LOGKernel,
 
35
  DOGKernel,
 
36
  RectangleKernel,    /* Shape Kernels */
44
37
  SquareKernel,
45
 
  RectangleKernel,
 
38
  DiamondKernel,
46
39
  DiskKernel,
47
40
  PlusKernel,
48
 
  CrossKernel,
49
 
  RingKernel,
50
 
  PeaksKernel,         /* Hit And Miss Kernels */
51
 
  EdgesKernel,
52
 
  CornersKernel,
53
 
  ThinDiagonalsKernel,
54
 
  LineEndsKernel,
55
 
  LineJunctionsKernel,
56
 
  RidgesKernel,
57
 
  ConvexHullKernel,
58
 
  SkeletonKernel,
59
41
  ChebyshevKernel,    /* Distance Measuring Kernels */
60
 
  ManhattanKernel,
 
42
  ManhattenKernel,
61
43
  EuclideanKernel,
62
 
  UserDefinedKernel   /* User Specified Kernel Array */
 
44
  UserDefinedKernel   /* user specified kernel values */
63
45
} KernelInfoType;
64
46
 
65
47
typedef enum
79
61
  CloseMorphology,             /* Erode then Dilate */
80
62
  OpenIntensityMorphology,     /* Pixel Pick using GreyScale Open */
81
63
  CloseIntensityMorphology,    /* Pixel Pick using GreyScale Close */
82
 
  SmoothMorphology,            /* Open then Close */
83
 
/* Difference Morphology methods */
 
64
/* Third-level Morphology methods */
84
65
  EdgeInMorphology,            /* Dilate difference from Original */
85
66
  EdgeOutMorphology,           /* Erode difference from Original */
86
67
  EdgeMorphology,              /* Dilate difference with Erode */
87
68
  TopHatMorphology,            /* Close difference from Original */
88
 
  BottomHatMorphology,         /* Open difference from Original */
89
 
/* Recursive Morphology methods */
90
 
  HitAndMissMorphology,        /* Foreground/Background pattern matching */
91
 
  ThinningMorphology,          /* Remove matching pixels from image */
92
 
  ThickenMorphology            /* Add matching pixels from image */
 
69
  BottomHatMorphology          /* Open difference from Original */
93
70
} MorphologyMethod;
94
71
 
95
 
typedef struct KernelInfo
 
72
typedef struct
96
73
{
97
74
  KernelInfoType
98
75
    type;
99
76
 
100
 
  size_t
 
77
  unsigned long
101
78
    width,
102
79
    height;
103
80
 
104
 
  ssize_t
 
81
  long
105
82
    x,
106
83
    y;
107
84
 
110
87
    minimum,
111
88
    maximum,
112
89
    negative_range,
113
 
    positive_range,
114
 
    angle;
115
 
 
116
 
  struct KernelInfo
117
 
    *next;
118
 
 
119
 
  size_t
 
90
    positive_range;
 
91
 
 
92
  unsigned long
120
93
    signature;
121
94
} KernelInfo;
122
95
 
123
 
 
124
96
extern MagickExport KernelInfo
125
97
  *AcquireKernelInfo(const char *),
126
98
  *AcquireKernelBuiltIn(const KernelInfoType,const GeometryInfo *),
128
100
  *DestroyKernelInfo(KernelInfo *);
129
101
 
130
102
extern MagickExport Image
131
 
  *MorphologyImage(const Image *,const MorphologyMethod,const ssize_t,
 
103
  *MorphologyImage(const Image *,const MorphologyMethod,const long,
132
104
    const KernelInfo *,ExceptionInfo *),
133
105
  *MorphologyImageChannel(const Image *,const ChannelType,
134
 
    const MorphologyMethod,const ssize_t,const KernelInfo *,ExceptionInfo *);
 
106
    const MorphologyMethod,const long,const KernelInfo *,ExceptionInfo *);
135
107
 
136
108
extern MagickExport void
137
 
  ScaleGeometryKernelInfo(KernelInfo *,const char *),
 
109
  ScaleKernelInfo(KernelInfo *,const double,const GeometryFlags),
138
110
  ShowKernelInfo(KernelInfo *);
139
111
 
140
112
#if defined(__cplusplus) || defined(c_plusplus)