MagickCore  6.9.10
Convert, Edit, Or Compose Bitmap Images
morphology.h
Go to the documentation of this file.
1 /*
2  Copyright 1999-2019 ImageMagick Studio LLC, a non-profit organization
3  dedicated to making software imaging solutions freely available.
4 
5  You may not use this file except in compliance with the License.
6  obtain a copy of the License at
7 
8  https://imagemagick.org/script/license.php
9 
10  Unless required by applicable law or agreed to in writing, software
11  distributed under the License is distributed on an "AS IS" BASIS,
12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  See the License for the specific language governing permissions and
14  limitations under the License.
15 
16  MagickCore morphology methods.
17 */
18 #ifndef MAGICKCORE_MORPHOLOGY_H
19 #define MAGICKCORE_MORPHOLOGY_H
20 
21 #include "magick/geometry.h"
22 
23 #if defined(__cplusplus) || defined(c_plusplus)
24 extern "C" {
25 #endif
26 
27 typedef enum
28 {
29  UndefinedKernel, /* equivalent to UnityKernel */
30  UnityKernel, /* The no-op or 'original image' kernel */
31  GaussianKernel, /* Convolution Kernels, Gaussian Based */
36  LaplacianKernel, /* Convolution Kernels, by Name */
43  DiamondKernel, /* Shape Kernels */
51  PeaksKernel, /* Hit And Miss Kernels */
61  ChebyshevKernel, /* Distance Measuring Kernels */
65  UserDefinedKernel, /* User Specified Kernel Array */
68 
69 typedef enum
70 {
72 /* Convolve / Correlate weighted sums */
73  ConvolveMorphology, /* Weighted Sum with reflected kernel */
74  CorrelateMorphology, /* Weighted Sum using a sliding window */
75 /* Low-level Morphology methods */
76  ErodeMorphology, /* Minimum Value in Neighbourhood */
77  DilateMorphology, /* Maximum Value in Neighbourhood */
78  ErodeIntensityMorphology, /* Pixel Pick using GreyScale Erode */
79  DilateIntensityMorphology, /* Pixel Pick using GreyScale Dialate */
80  DistanceMorphology, /* Add Kernel Value, take Minimum */
81 /* Second-level Morphology methods */
82  OpenMorphology, /* Dilate then Erode */
83  CloseMorphology, /* Erode then Dilate */
84  OpenIntensityMorphology, /* Pixel Pick using GreyScale Open */
85  CloseIntensityMorphology, /* Pixel Pick using GreyScale Close */
86  SmoothMorphology, /* Open then Close */
87 /* Difference Morphology methods */
88  EdgeInMorphology, /* Dilate difference from Original */
89  EdgeOutMorphology, /* Erode difference from Original */
90  EdgeMorphology, /* Dilate difference with Erode */
91  TopHatMorphology, /* Close difference from Original */
92  BottomHatMorphology, /* Open difference from Original */
93 /* Recursive Morphology methods */
94  HitAndMissMorphology, /* Foreground/Background pattern matching */
95  ThinningMorphology, /* Remove matching pixels from image */
96  ThickenMorphology, /* Add matching pixels from image */
97 /* Experimental Morphology methods */
98  VoronoiMorphology, /* distance matte channel copy nearest color */
99  IterativeDistanceMorphology /* Add Kernel Value, take Minimum */
101 
102 typedef struct KernelInfo
103 {
106 
107  size_t
110 
111  ssize_t
112  x,
113  y;
114 
115  double
122 
123  struct KernelInfo
124  *next;
125 
126  size_t
128 } KernelInfo;
129 
131  *AcquireKernelInfo(const char *),
133  *CloneKernelInfo(const KernelInfo *),
135 
136 extern MagickExport Image
137  *MorphologyImage(const Image *,const MorphologyMethod,const ssize_t,
138  const KernelInfo *,ExceptionInfo *),
140  const MorphologyMethod,const ssize_t,const KernelInfo *,ExceptionInfo *);
141 
142 extern MagickExport void
143  ScaleGeometryKernelInfo(KernelInfo *,const char *),
144  ScaleKernelInfo(KernelInfo *,const double,const GeometryFlags),
145  ShowKernelInfo(const KernelInfo *),
146  UnityAddKernelInfo(KernelInfo *,const double);
147 
148 #if defined(__cplusplus) || defined(c_plusplus)
149 }
150 #endif
151 
152 #endif
_Image::colorspace
ColorspaceType colorspace
Definition: image.h:158
SquareKernel
@ SquareKernel
Definition: morphology.h:44
QuantumScale
#define QuantumScale
Definition: magick-type.h:120
MagickExport
#define MagickExport
Definition: method-attribute.h:80
KernelInfo::values
double * values
Definition: morphology.h:116
MorphologyPrimitiveDirect
static ssize_t MorphologyPrimitiveDirect(Image *image, const MorphologyMethod method, const ChannelType channel, const KernelInfo *kernel, ExceptionInfo *exception)
Definition: morphology.c:3386
ErodeMorphology
@ ErodeMorphology
Definition: morphology.h:76
_Image::progress_monitor
MagickProgressMonitor progress_monitor
Definition: image.h:264
ScaleKernelInfo
MagickExport void ScaleKernelInfo(KernelInfo *, const double, const GeometryFlags)
CloneImage
MagickExport Image * CloneImage(const Image *image, const size_t columns, const size_t rows, const MagickBooleanType detach, ExceptionInfo *exception)
Definition: image.c:788
GetOptimalKernelWidth2D
MagickExport size_t GetOptimalKernelWidth2D(const double radius, const double sigma)
Definition: gem.c:1663
EdgeInMorphology
@ EdgeInMorphology
Definition: morphology.h:88
ThickenMorphology
@ ThickenMorphology
Definition: morphology.h:96
_Image::matte
MagickBooleanType matte
Definition: image.h:171
SetImageProgress
MagickExport MagickBooleanType SetImageProgress(const Image *image, const char *tag, const MagickOffsetType offset, const MagickSizeType extent)
Definition: monitor.c:136
RelinquishAlignedMemory
MagickExport void * RelinquishAlignedMemory(void *memory)
Definition: memory.c:1040
MorphologyImage
MagickExport Image * MorphologyImage(const Image *, const MorphologyMethod, const ssize_t, const KernelInfo *, ExceptionInfo *)
AspectValue
@ AspectValue
Definition: geometry.h:50
_MagickPixelPacket::red
MagickRealType red
Definition: pixel.h:122
SyncChannels
@ SyncChannels
Definition: magick-type.h:180
magick.h
LineEndsKernel
@ LineEndsKernel
Definition: morphology.h:55
DirectClass
@ DirectClass
Definition: magick-type.h:187
BlueChannel
@ BlueChannel
Definition: magick-type.h:165
MagickMaximumValue
#define MagickMaximumValue
Definition: magick-type.h:116
DestroyCacheView
MagickExport CacheView * DestroyCacheView(CacheView *cache_view)
Definition: cache-view.c:256
GetMagickPixelPacket
MagickExport void GetMagickPixelPacket(const Image *image, MagickPixelPacket *pixel)
Definition: pixel.c:2242
AreaValue
@ AreaValue
Definition: geometry.h:56
ScaleGeometryKernelInfo
MagickExport void ScaleGeometryKernelInfo(KernelInfo *, const char *)
MagickStatusType
unsigned int MagickStatusType
Definition: magick-type.h:127
RedChannel
@ RedChannel
Definition: magick-type.h:160
KernelInfo::angle
double angle
Definition: morphology.h:121
_GeometryInfo::psi
double psi
Definition: geometry.h:111
statistic.h
SetPixelOpacity
#define SetPixelOpacity(pixel, value)
Definition: pixel-accessor.h:81
ZeroKernelNans
MagickExport void ZeroKernelNans(KernelInfo *kernel)
Definition: morphology.c:4987
ChannelType
ChannelType
Definition: magick-type.h:157
MorphologyMethod
MorphologyMethod
Definition: morphology.h:69
ScaleKernelInfo
MagickExport void ScaleKernelInfo(KernelInfo *kernel, const double scaling_factor, const GeometryFlags normalize_flags)
Definition: morphology.c:4780
geometry.h
IsMagickTrue
MagickExport MagickBooleanType IsMagickTrue(const char *value)
Definition: token.c:649
MagickCoreSignature
#define MagickCoreSignature
Definition: method-attribute.h:86
FormatLocaleString
MagickExport ssize_t FormatLocaleString(char *magick_restrict string, const size_t length, const char *magick_restrict format,...)
Definition: locale.c:502
MagickSQ2
#define MagickSQ2
Definition: image-private.h:33
MorphologyApply
MagickExport Image * MorphologyApply(const Image *image, const ChannelType channel, const MorphologyMethod method, const ssize_t iterations, const KernelInfo *kernel, const CompositeOperator compose, const double bias, ExceptionInfo *exception)
Definition: morphology.c:3847
NormalizeValue
@ NormalizeValue
Definition: geometry.h:51
LastKernelInfo
static KernelInfo * LastKernelInfo(KernelInfo *kernel)
Definition: morphology.c:118
ParseKernelArray
static KernelInfo * ParseKernelArray(const char *kernel_string)
Definition: morphology.c:213
channel.h
OctagonKernel
@ OctagonKernel
Definition: morphology.h:46
IndexChannel
@ IndexChannel
Definition: magick-type.h:171
GetCacheViewAuthenticPixels
MagickExport PixelPacket * GetCacheViewAuthenticPixels(CacheView *cache_view, const ssize_t x, const ssize_t y, const size_t columns, const size_t rows, ExceptionInfo *exception)
Definition: cache-view.c:473
memory-private.h
_GeometryInfo::sigma
double sigma
Definition: geometry.h:109
UndefinedKernel
@ UndefinedKernel
Definition: morphology.h:29
magick_restrict
#define magick_restrict
Definition: MagickCore.h:41
CloneKernelInfo
MagickExport KernelInfo * CloneKernelInfo(const KernelInfo *)
RestoreMSCWarning
#define RestoreMSCWarning
Definition: studio.h:381
GetNextToken
MagickExport void GetNextToken(const char *start, const char **end, const size_t extent, char *token)
Definition: token.c:172
DiagonalsKernel
@ DiagonalsKernel
Definition: morphology.h:54
SetPixelRed
#define SetPixelRed(pixel, value)
Definition: pixel-accessor.h:82
KernelInfo::signature
size_t signature
Definition: morphology.h:127
KernelInfo::type
KernelInfoType type
Definition: morphology.h:105
MorphologyImage
MagickExport Image * MorphologyImage(const Image *image, const MorphologyMethod method, const ssize_t iterations, const KernelInfo *kernel, ExceptionInfo *exception)
Definition: morphology.c:4355
image-private.h
MagickSQ2PI
#define MagickSQ2PI
Definition: image-private.h:34
_Image::columns
size_t columns
Definition: image.h:174
artifact.h
UndefinedMorphology
@ UndefinedMorphology
Definition: morphology.h:71
SetPixelGreen
#define SetPixelGreen(pixel, value)
Definition: pixel-accessor.h:77
_GeometryInfo
Definition: geometry.h:105
Maximize
#define Maximize(assign, value)
Definition: morphology.c:92
IndexPacket
Quantum IndexPacket
Definition: pixel.h:129
resource_.h
ThinningMorphology
@ ThinningMorphology
Definition: morphology.h:95
_Image::type
ImageType type
Definition: image.h:334
Magick2PI
#define Magick2PI
Definition: image-private.h:29
GetCacheViewVirtualIndexQueue
const MagickExport IndexPacket * GetCacheViewVirtualIndexQueue(const CacheView *cache_view)
Definition: cache-view.c:638
_GeometryInfo::xi
double xi
Definition: geometry.h:110
GetPixelRed
#define GetPixelRed(pixel)
Definition: pixel-accessor.h:50
XValue
@ XValue
Definition: geometry.h:30
ErodeIntensityMorphology
@ ErodeIntensityMorphology
Definition: morphology.h:78
MorphologyImageChannel
MagickExport Image * MorphologyImageChannel(const Image *image, const ChannelType channel, const MorphologyMethod method, const ssize_t iterations, const KernelInfo *kernel, ExceptionInfo *exception)
Definition: morphology.c:4367
SmoothMorphology
@ SmoothMorphology
Definition: morphology.h:86
NoCompositeOp
@ NoCompositeOp
Definition: composite.h:28
utility.h
_CacheView
Definition: cache-view.c:65
AcquireKernelInfo
MagickExport KernelInfo * AcquireKernelInfo(const char *)
DilateIntensityMorphology
@ DilateIntensityMorphology
Definition: morphology.h:79
KernelInfo::minimum
double minimum
Definition: morphology.h:117
string_.h
DestroyString
MagickExport char * DestroyString(char *string)
Definition: string.c:820
_DoublePixelPacket
Definition: pixel.h:84
ScaleGeometryKernelInfo
MagickExport void ScaleGeometryKernelInfo(KernelInfo *kernel, const char *geometry)
Definition: morphology.c:4675
UserDefinedKernel
@ UserDefinedKernel
Definition: morphology.h:65
morphology.h
enhance.h
MagickTrue
@ MagickTrue
Definition: magick-type.h:194
semaphore.h
UnityAddKernelInfo
MagickExport void UnityAddKernelInfo(KernelInfo *, const double)
Definition: morphology.c:4947
IsNaN
#define IsNaN(a)
Definition: magick-type.h:214
_Image::compose
CompositeOperator compose
Definition: image.h:235
OpenMorphology
@ OpenMorphology
Definition: morphology.h:82
_MagickPixelPacket::index
MagickRealType index
Definition: pixel.h:126
GetPixelIndex
#define GetPixelIndex(indexes)
Definition: pixel-accessor.h:44
SyncCacheViewAuthenticPixels
MagickExport MagickBooleanType SyncCacheViewAuthenticPixels(CacheView *magick_restrict cache_view, ExceptionInfo *exception)
Definition: cache-view.c:1000
_DoublePixelPacket::blue
double blue
Definition: pixel.h:89
_MagickPixelPacket::blue
MagickRealType blue
Definition: pixel.h:124
KernelRank
#define KernelRank
ClampToQuantum
static Quantum ClampToQuantum(const MagickRealType quantum)
Definition: quantum.h:88
HitAndMissMorphology
@ HitAndMissMorphology
Definition: morphology.h:94
SetGeometryInfo
MagickExport void SetGeometryInfo(GeometryInfo *geometry_info)
Definition: geometry.c:1706
ManhattanKernel
@ ManhattanKernel
Definition: morphology.h:62
thread-private.h
hashmap.h
KernelInfo::next
struct KernelInfo * next
Definition: morphology.h:123
AcquireMagickMemory
MagickExport void * AcquireMagickMemory(const size_t size)
Definition: memory.c:473
_DoublePixelPacket::opacity
double opacity
Definition: pixel.h:90
_GeometryInfo::rho
double rho
Definition: geometry.h:108
EuclideanKernel
@ EuclideanKernel
Definition: morphology.h:64
FormatLocaleFile
MagickExport ssize_t FormatLocaleFile(FILE *file, const char *magick_restrict format,...)
Definition: locale.c:407
DiamondKernel
@ DiamondKernel
Definition: morphology.h:43
PrewittKernel
@ PrewittKernel
Definition: morphology.h:40
SetImageAlphaChannel
MagickExport MagickBooleanType SetImageAlphaChannel(Image *image, const AlphaChannelType alpha_type)
Definition: channel.c:652
fact
static size_t fact(size_t n)
Definition: morphology.c:96
MorphologyTag
#define MorphologyTag
LessValue
@ LessValue
Definition: geometry.h:52
_Image
Definition: image.h:152
SetPixelAlpha
#define SetPixelAlpha(pixel, value)
Definition: pixel-accessor.h:67
ShowKernelInfo
MagickExport void ShowKernelInfo(const KernelInfo *)
CrossKernel
@ CrossKernel
Definition: morphology.h:49
MagickMorphologyOptions
@ MagickMorphologyOptions
Definition: option.h:76
GetCacheViewAuthenticIndexQueue
MagickExport IndexPacket * GetCacheViewAuthenticIndexQueue(CacheView *cache_view)
Definition: cache-view.c:564
MorphologyPrimitive
static ssize_t MorphologyPrimitive(const Image *image, Image *result_image, const MorphologyMethod method, const ChannelType channel, const KernelInfo *kernel, const double bias, ExceptionInfo *exception)
Definition: morphology.c:2558
MorphologyImageChannel
MagickExport Image * MorphologyImageChannel(const Image *, const ChannelType, const MorphologyMethod, const ssize_t, const KernelInfo *, ExceptionInfo *)
Definition: morphology.c:4367
OctagonalKernel
@ OctagonalKernel
Definition: morphology.h:63
CopyOpacityCompositeOp
@ CopyOpacityCompositeOp
Definition: composite.h:44
ExpandMirrorKernelInfo
static void ExpandMirrorKernelInfo(KernelInfo *)
Definition: morphology.c:2312
AcquireAuthenticCacheView
MagickExport CacheView * AcquireAuthenticCacheView(const Image *image, ExceptionInfo *exception)
Definition: cache-view.c:111
VoronoiMorphology
@ VoronoiMorphology
Definition: morphology.h:98
_MagickPixelPacket
Definition: pixel.h:104
FileToString
MagickExport char * FileToString(const char *filename, const size_t extent, ExceptionInfo *exception)
Definition: string.c:995
MagickMax
#define MagickMax(x, y)
Definition: image-private.h:26
EdgeOutMorphology
@ EdgeOutMorphology
Definition: morphology.h:89
MagickPI
#define MagickPI
Definition: image-private.h:28
LocaleCompare
MagickExport int LocaleCompare(const char *p, const char *q)
Definition: locale.c:1440
DestroyExceptionInfo
MagickExport ExceptionInfo * DestroyExceptionInfo(ExceptionInfo *exception)
Definition: exception.c:441
_DoublePixelPacket::red
double red
Definition: pixel.h:87
OpacityChannel
@ OpacityChannel
Definition: magick-type.h:168
KernelInfo::y
ssize_t y
Definition: morphology.h:113
DifferenceCompositeOp
@ DifferenceCompositeOp
Definition: composite.h:53
MagickAssumeAligned
#define MagickAssumeAligned(address)
Definition: memory-private.h:43
KernelInfo::maximum
double maximum
Definition: morphology.h:118
PeaksKernel
@ PeaksKernel
Definition: morphology.h:51
quantize.h
_Image::exception
ExceptionInfo exception
Definition: image.h:287
splay-tree.h
GetOpenMPMaximumThreads
static size_t GetOpenMPMaximumThreads(void)
Definition: thread-private.h:111
KernelInfo::height
size_t height
Definition: morphology.h:109
SetPixelBlue
#define SetPixelBlue(pixel, value)
Definition: pixel-accessor.h:71
GeometryFlags
GeometryFlags
Definition: geometry.h:25
KernelInfoType
KernelInfoType
Definition: morphology.h:27
ShowKernelInfo
MagickExport void ShowKernelInfo(const KernelInfo *kernel)
Definition: morphology.c:4867
MagickFalse
@ MagickFalse
Definition: magick-type.h:193
_DoublePixelPacket::index
double index
Definition: pixel.h:91
MagickProgressMonitor
MagickBooleanType(* MagickProgressMonitor)(const char *, const MagickOffsetType, const MagickSizeType, void *)
Definition: monitor.h:26
DisableMSCWarning
#define DisableMSCWarning(nr)
Definition: studio.h:380
KernelInfo
struct KernelInfo KernelInfo
GetPixelBlue
#define GetPixelBlue(pixel)
Definition: pixel-accessor.h:38
RidgesKernel
@ RidgesKernel
Definition: morphology.h:57
pixel-private.h
SameKernelInfo
static MagickBooleanType SameKernelInfo(const KernelInfo *kernel1, const KernelInfo *kernel2)
Definition: morphology.c:2377
image.h
KernelInfo::negative_range
double negative_range
Definition: morphology.h:119
CompositeImageChannel
MagickExport MagickBooleanType CompositeImageChannel(Image *image, const ChannelType channel, const CompositeOperator compose, const Image *composite, const ssize_t x_offset, const ssize_t y_offset)
Definition: composite.c:1599
GetPixelOpacity
#define GetPixelOpacity(pixel)
Definition: pixel-accessor.h:49
EdgeMorphology
@ EdgeMorphology
Definition: morphology.h:90
_DoublePixelPacket::green
double green
Definition: pixel.h:88
ParseKernelName
static KernelInfo * ParseKernelName(const char *kernel_string)
Definition: morphology.c:372
RhoValue
@ RhoValue
Definition: geometry.h:37
TopHatMorphology
@ TopHatMorphology
Definition: morphology.h:91
KernelInfo::width
size_t width
Definition: morphology.h:108
IterativeDistanceMorphology
@ IterativeDistanceMorphology
Definition: morphology.h:99
UnityKernel
@ UnityKernel
Definition: morphology.h:30
RectangleKernel
@ RectangleKernel
Definition: morphology.h:45
AcquireAlignedMemory
MagickExport void * AcquireAlignedMemory(const size_t count, const size_t quantum)
Definition: memory.c:243
DefaultChannels
@ DefaultChannels
Definition: magick-type.h:181
KernelInfo::positive_range
double positive_range
Definition: morphology.h:120
LaplacianKernel
@ LaplacianKernel
Definition: morphology.h:36
LightenCompositeOp
@ LightenCompositeOp
Definition: composite.h:60
registry.h
ParseGeometry
MagickExport MagickStatusType ParseGeometry(const char *geometry, GeometryInfo *geometry_info)
Definition: geometry.c:857
RotateKernelInfo
static void RotateKernelInfo(KernelInfo *, double)
Definition: morphology.c:4470
OpenIntensityMorphology
@ OpenIntensityMorphology
Definition: morphology.h:84
color-private.h
DilateMorphology
@ DilateMorphology
Definition: morphology.h:77
PerceptibleReciprocal
static double PerceptibleReciprocal(const double x)
Definition: pixel-accessor.h:124
QuantumRange
#define QuantumRange
Definition: magick-type.h:86
CMYKColorspace
@ CMYKColorspace
Definition: colorspace.h:39
_Image::bias
double bias
Definition: image.h:218
_Image::rows
size_t rows
Definition: image.h:175
GetCacheViewVirtualPixels
const MagickExport PixelPacket * GetCacheViewVirtualPixels(const CacheView *cache_view, const ssize_t x, const ssize_t y, const size_t columns, const size_t rows, ExceptionInfo *exception)
Definition: cache-view.c:723
cache-view.h
SetMagickPixelPacket
static void SetMagickPixelPacket(const Image *image, const PixelPacket *color, const IndexPacket *index, MagickPixelPacket *pixel)
Definition: pixel-private.h:78
ConvexHullKernel
@ ConvexHullKernel
Definition: morphology.h:58
WidthValue
@ WidthValue
Definition: geometry.h:36
HeightValue
@ HeightValue
Definition: geometry.h:39
_ExceptionInfo::signature
size_t signature
Definition: exception.h:124
EdgesKernel
@ EdgesKernel
Definition: morphology.h:52
CorrelateMorphology
@ CorrelateMorphology
Definition: morphology.h:74
KernelInfo::x
ssize_t x
Definition: morphology.h:112
DistanceMorphology
@ DistanceMorphology
Definition: morphology.h:80
Minimize
#define Minimize(assign, value)
Definition: morphology.c:91
_Image::signature
size_t signature
Definition: image.h:307
MagickBooleanType
MagickBooleanType
Definition: magick-type.h:191
ThinSEKernel
@ ThinSEKernel
Definition: morphology.h:59
StringToDouble
static double StringToDouble(const char *magick_restrict string, char **magick_restrict sentinal)
Definition: string-private.h:42
CloneKernelInfo
MagickExport KernelInfo * CloneKernelInfo(const KernelInfo *kernel)
Definition: morphology.c:2196
AcquireKernelInfo
MagickExport KernelInfo * AcquireKernelInfo(const char *kernel_string)
Definition: morphology.c:484
PercentValue
@ PercentValue
Definition: geometry.h:49
RelinquishMagickMemory
MagickExport void * RelinquishMagickMemory(void *memory)
Definition: memory.c:1077
BlurKernel
@ BlurKernel
Definition: morphology.h:34
_ExceptionInfo
Definition: exception.h:102
CommandOptionToMnemonic
const MagickExport char * CommandOptionToMnemonic(const CommandOption option, const ssize_t type)
Definition: option.c:2292
MagickComposeOptions
@ MagickComposeOptions
Definition: option.h:39
SetPixelIndex
#define SetPixelIndex(indexes, value)
Definition: pixel-accessor.h:78
studio.h
DestroyKernelInfo
MagickExport KernelInfo * DestroyKernelInfo(KernelInfo *kernel)
Definition: morphology.c:2252
SobelKernel
@ SobelKernel
Definition: morphology.h:37
CloseMorphology
@ CloseMorphology
Definition: morphology.h:83
ParseCommandOption
MagickExport ssize_t ParseCommandOption(const CommandOption option, const MagickBooleanType list, const char *options)
Definition: option.c:2586
MagickRealType
MagickDoubleType MagickRealType
Definition: magick-type.h:125
monitor-private.h
prepress.h
AcquireVirtualCacheView
MagickExport CacheView * AcquireVirtualCacheView(const Image *image, ExceptionInfo *exception)
Definition: cache-view.c:153
RingKernel
@ RingKernel
Definition: morphology.h:50
ExpandRotateKernelInfo
static void ExpandRotateKernelInfo(KernelInfo *, const double)
Definition: morphology.c:2405
DestroyImage
MagickExport Image * DestroyImage(Image *image)
Definition: image.c:1187
ChebyshevKernel
@ ChebyshevKernel
Definition: morphology.h:61
NoValue
@ NoValue
Definition: geometry.h:28
DeactivateAlphaChannel
@ DeactivateAlphaChannel
Definition: image.h:36
memory_.h
SigmaValue
@ SigmaValue
Definition: geometry.h:40
SkeletonKernel
@ SkeletonKernel
Definition: morphology.h:60
GetMagickPrecision
MagickExport int GetMagickPrecision(void)
Definition: magick.c:681
BinomialKernel
@ BinomialKernel
Definition: morphology.h:66
CorrelateNormalizeValue
@ CorrelateNormalizeValue
Definition: geometry.h:55
MagickEpsilon
#define MagickEpsilon
Definition: magick-type.h:115
YValue
@ YValue
Definition: geometry.h:33
exception-private.h
ConvolveMorphology
@ ConvolveMorphology
Definition: morphology.h:73
morphology-private.h
DestroyKernelInfo
MagickExport KernelInfo * DestroyKernelInfo(KernelInfo *)
Definition: morphology.c:2252
ThrowFatalException
#define ThrowFatalException(severity, tag)
Definition: exception-private.h:42
MagickKernelOptions
@ MagickKernelOptions
Definition: option.h:62
exception.h
GetPixelIntensity
MagickExport MagickRealType GetPixelIntensity(const Image *image, const PixelPacket *magick_restrict pixel)
Definition: pixel.c:2301
FreiChenKernel
@ FreiChenKernel
Definition: morphology.h:38
PlusKernel
@ PlusKernel
Definition: morphology.h:48
option.h
LoGKernel
@ LoGKernel
Definition: morphology.h:33
SetImageStorageClass
MagickExport MagickBooleanType SetImageStorageClass(Image *image, const ClassType storage_class)
Definition: image.c:2610
CompositeOperator
CompositeOperator
Definition: composite.h:25
GetOptimalKernelWidth1D
MagickExport size_t GetOptimalKernelWidth1D(const double radius, const double sigma)
Definition: gem.c:1622
GetPixelGreen
#define GetPixelGreen(pixel)
Definition: pixel-accessor.h:43
KirschKernel
@ KirschKernel
Definition: morphology.h:42
BottomHatMorphology
@ BottomHatMorphology
Definition: morphology.h:92
list.h
LineJunctionsKernel
@ LineJunctionsKernel
Definition: morphology.h:56
gem.h
CornersKernel
@ CornersKernel
Definition: morphology.h:53
AcquireExceptionInfo
MagickExport ExceptionInfo * AcquireExceptionInfo(void)
Definition: exception.c:106
MaxTextExtent
#define MaxTextExtent
Definition: method-attribute.h:89
CalcKernelMetaData
static void CalcKernelMetaData(KernelInfo *)
Definition: morphology.c:2466
AcquireKernelBuiltIn
MagickExport KernelInfo * AcquireKernelBuiltIn(const KernelInfoType type, const GeometryInfo *args)
Definition: morphology.c:950
CompassKernel
@ CompassKernel
Definition: morphology.h:41
KernelInfo
Definition: morphology.h:102
GaussianKernel
@ GaussianKernel
Definition: morphology.h:31
string-private.h
UnityAddKernelInfo
MagickExport void UnityAddKernelInfo(KernelInfo *kernel, const double scale)
Definition: morphology.c:4947
GetImageArtifact
const MagickExport char * GetImageArtifact(const Image *image, const char *artifact)
Definition: artifact.c:266
token.h
InheritException
MagickExport void InheritException(ExceptionInfo *exception, const ExceptionInfo *relative)
Definition: exception.c:633
DoGKernel
@ DoGKernel
Definition: morphology.h:32
ResourceLimitFatalError
@ ResourceLimitFatalError
Definition: exception.h:78
_MagickPixelPacket::opacity
MagickRealType opacity
Definition: pixel.h:125
AcquireKernelBuiltIn
MagickExport KernelInfo * AcquireKernelBuiltIn(const KernelInfoType, const GeometryInfo *)
_MagickPixelPacket::green
MagickRealType green
Definition: pixel.h:123
RobertsKernel
@ RobertsKernel
Definition: morphology.h:39
GreenChannel
@ GreenChannel
Definition: magick-type.h:163
UndefinedCompositeOp
@ UndefinedCompositeOp
Definition: composite.h:27
GreaterValue
@ GreaterValue
Definition: geometry.h:53
StringToDoubleInterval
static double StringToDoubleInterval(const char *string, const double interval)
Definition: string-private.h:48
CometKernel
@ CometKernel
Definition: morphology.h:35
CloseIntensityMorphology
@ CloseIntensityMorphology
Definition: morphology.h:85
_PixelPacket
Definition: pixel.h:131
SetPixelPacket
static void SetPixelPacket(const Image *image, const MagickPixelPacket *pixel, PixelPacket *color, IndexPacket *index)
Definition: pixel-private.h:103
AcquireQuantumMemory
MagickExport void * AcquireQuantumMemory(const size_t count, const size_t quantum)
Definition: memory.c:544
DiskKernel
@ DiskKernel
Definition: morphology.h:47
MagickOffsetType
ssize_t MagickOffsetType
Definition: magick-type.h:135
GetOpenMPThreadId
static int GetOpenMPThreadId(void)
Definition: thread-private.h:120