MagickCore
6.9.10
Convert, Edit, Or Compose Bitmap Images
|
Go to the documentation of this file.
18 #ifndef MAGICKCORE_MORPHOLOGY_H
19 #define MAGICKCORE_MORPHOLOGY_H
23 #if defined(__cplusplus) || defined(c_plusplus)
148 #if defined(__cplusplus) || defined(c_plusplus)
ColorspaceType colorspace
Definition: image.h:158
@ SquareKernel
Definition: morphology.h:44
#define QuantumScale
Definition: magick-type.h:120
#define MagickExport
Definition: method-attribute.h:80
double * values
Definition: morphology.h:116
static ssize_t MorphologyPrimitiveDirect(Image *image, const MorphologyMethod method, const ChannelType channel, const KernelInfo *kernel, ExceptionInfo *exception)
Definition: morphology.c:3386
@ ErodeMorphology
Definition: morphology.h:76
MagickProgressMonitor progress_monitor
Definition: image.h:264
MagickExport void ScaleKernelInfo(KernelInfo *, const double, const GeometryFlags)
MagickExport Image * CloneImage(const Image *image, const size_t columns, const size_t rows, const MagickBooleanType detach, ExceptionInfo *exception)
Definition: image.c:788
MagickExport size_t GetOptimalKernelWidth2D(const double radius, const double sigma)
Definition: gem.c:1663
@ EdgeInMorphology
Definition: morphology.h:88
@ ThickenMorphology
Definition: morphology.h:96
MagickBooleanType matte
Definition: image.h:171
MagickExport MagickBooleanType SetImageProgress(const Image *image, const char *tag, const MagickOffsetType offset, const MagickSizeType extent)
Definition: monitor.c:136
MagickExport void * RelinquishAlignedMemory(void *memory)
Definition: memory.c:1040
MagickExport Image * MorphologyImage(const Image *, const MorphologyMethod, const ssize_t, const KernelInfo *, ExceptionInfo *)
@ AspectValue
Definition: geometry.h:50
MagickRealType red
Definition: pixel.h:122
@ SyncChannels
Definition: magick-type.h:180
@ LineEndsKernel
Definition: morphology.h:55
@ DirectClass
Definition: magick-type.h:187
@ BlueChannel
Definition: magick-type.h:165
#define MagickMaximumValue
Definition: magick-type.h:116
MagickExport CacheView * DestroyCacheView(CacheView *cache_view)
Definition: cache-view.c:256
MagickExport void GetMagickPixelPacket(const Image *image, MagickPixelPacket *pixel)
Definition: pixel.c:2242
@ AreaValue
Definition: geometry.h:56
MagickExport void ScaleGeometryKernelInfo(KernelInfo *, const char *)
unsigned int MagickStatusType
Definition: magick-type.h:127
@ RedChannel
Definition: magick-type.h:160
double angle
Definition: morphology.h:121
double psi
Definition: geometry.h:111
#define SetPixelOpacity(pixel, value)
Definition: pixel-accessor.h:81
MagickExport void ZeroKernelNans(KernelInfo *kernel)
Definition: morphology.c:4987
ChannelType
Definition: magick-type.h:158
MorphologyMethod
Definition: morphology.h:70
MagickExport void ScaleKernelInfo(KernelInfo *kernel, const double scaling_factor, const GeometryFlags normalize_flags)
Definition: morphology.c:4780
MagickExport MagickBooleanType IsMagickTrue(const char *value)
Definition: token.c:649
#define MagickCoreSignature
Definition: method-attribute.h:86
MagickExport ssize_t FormatLocaleString(char *magick_restrict string, const size_t length, const char *magick_restrict format,...)
Definition: locale.c:502
#define MagickSQ2
Definition: image-private.h:33
MagickExport const IndexPacket * GetCacheViewVirtualIndexQueue(const CacheView *cache_view)
Definition: cache-view.c:638
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
Definition: geometry.h:51
static KernelInfo * LastKernelInfo(KernelInfo *kernel)
Definition: morphology.c:118
static KernelInfo * ParseKernelArray(const char *kernel_string)
Definition: morphology.c:213
@ OctagonKernel
Definition: morphology.h:46
@ IndexChannel
Definition: magick-type.h:171
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
double sigma
Definition: geometry.h:109
@ UndefinedKernel
Definition: morphology.h:29
#define magick_restrict
Definition: MagickCore.h:41
MagickExport KernelInfo * CloneKernelInfo(const KernelInfo *)
#define RestoreMSCWarning
Definition: studio.h:381
MagickExport void GetNextToken(const char *start, const char **end, const size_t extent, char *token)
Definition: token.c:172
@ DiagonalsKernel
Definition: morphology.h:54
#define SetPixelRed(pixel, value)
Definition: pixel-accessor.h:82
size_t signature
Definition: morphology.h:127
KernelInfoType type
Definition: morphology.h:105
MagickExport Image * MorphologyImage(const Image *image, const MorphologyMethod method, const ssize_t iterations, const KernelInfo *kernel, ExceptionInfo *exception)
Definition: morphology.c:4355
#define MagickSQ2PI
Definition: image-private.h:34
size_t columns
Definition: image.h:174
@ UndefinedMorphology
Definition: morphology.h:71
#define SetPixelGreen(pixel, value)
Definition: pixel-accessor.h:77
Definition: geometry.h:106
#define Maximize(assign, value)
Definition: morphology.c:92
Quantum IndexPacket
Definition: pixel.h:129
@ ThinningMorphology
Definition: morphology.h:95
ImageType type
Definition: image.h:334
#define Magick2PI
Definition: image-private.h:29
double xi
Definition: geometry.h:110
#define GetPixelRed(pixel)
Definition: pixel-accessor.h:50
@ XValue
Definition: geometry.h:30
@ ErodeIntensityMorphology
Definition: morphology.h:78
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
Definition: morphology.h:86
@ NoCompositeOp
Definition: composite.h:28
Definition: cache-view.c:66
MagickExport KernelInfo * AcquireKernelInfo(const char *)
@ DilateIntensityMorphology
Definition: morphology.h:79
double minimum
Definition: morphology.h:117
MagickExport char * DestroyString(char *string)
Definition: string.c:820
MagickExport void ScaleGeometryKernelInfo(KernelInfo *kernel, const char *geometry)
Definition: morphology.c:4675
@ UserDefinedKernel
Definition: morphology.h:65
@ MagickTrue
Definition: magick-type.h:194
MagickExport void UnityAddKernelInfo(KernelInfo *, const double)
Definition: morphology.c:4947
#define IsNaN(a)
Definition: magick-type.h:214
CompositeOperator compose
Definition: image.h:235
@ OpenMorphology
Definition: morphology.h:82
MagickRealType index
Definition: pixel.h:126
#define GetPixelIndex(indexes)
Definition: pixel-accessor.h:44
MagickExport MagickBooleanType SyncCacheViewAuthenticPixels(CacheView *magick_restrict cache_view, ExceptionInfo *exception)
Definition: cache-view.c:1000
double blue
Definition: pixel.h:89
MagickRealType blue
Definition: pixel.h:124
@ HitAndMissMorphology
Definition: morphology.h:94
MagickExport void SetGeometryInfo(GeometryInfo *geometry_info)
Definition: geometry.c:1706
@ ManhattanKernel
Definition: morphology.h:62
struct KernelInfo * next
Definition: morphology.h:123
MagickExport void * AcquireMagickMemory(const size_t size)
Definition: memory.c:473
double opacity
Definition: pixel.h:90
double rho
Definition: geometry.h:108
@ EuclideanKernel
Definition: morphology.h:64
MagickExport ssize_t FormatLocaleFile(FILE *file, const char *magick_restrict format,...)
Definition: locale.c:407
@ DiamondKernel
Definition: morphology.h:43
@ PrewittKernel
Definition: morphology.h:40
MagickExport MagickBooleanType SetImageAlphaChannel(Image *image, const AlphaChannelType alpha_type)
Definition: channel.c:652
static size_t fact(size_t n)
Definition: morphology.c:96
@ LessValue
Definition: geometry.h:52
#define SetPixelAlpha(pixel, value)
Definition: pixel-accessor.h:67
MagickExport void ShowKernelInfo(const KernelInfo *)
@ CrossKernel
Definition: morphology.h:49
@ MagickMorphologyOptions
Definition: option.h:76
MagickExport IndexPacket * GetCacheViewAuthenticIndexQueue(CacheView *cache_view)
Definition: cache-view.c:564
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
MagickExport Image * MorphologyImageChannel(const Image *, const ChannelType, const MorphologyMethod, const ssize_t, const KernelInfo *, ExceptionInfo *)
Definition: morphology.c:4367
@ OctagonalKernel
Definition: morphology.h:63
@ CopyOpacityCompositeOp
Definition: composite.h:44
static void ExpandMirrorKernelInfo(KernelInfo *)
Definition: morphology.c:2312
MagickExport CacheView * AcquireAuthenticCacheView(const Image *image, ExceptionInfo *exception)
Definition: cache-view.c:111
@ VoronoiMorphology
Definition: morphology.h:98
MagickExport char * FileToString(const char *filename, const size_t extent, ExceptionInfo *exception)
Definition: string.c:995
#define MagickMax(x, y)
Definition: image-private.h:26
@ EdgeOutMorphology
Definition: morphology.h:89
#define MagickPI
Definition: image-private.h:28
MagickExport int LocaleCompare(const char *p, const char *q)
Definition: locale.c:1440
MagickExport ExceptionInfo * DestroyExceptionInfo(ExceptionInfo *exception)
Definition: exception.c:441
double red
Definition: pixel.h:87
@ OpacityChannel
Definition: magick-type.h:168
ssize_t y
Definition: morphology.h:113
@ DifferenceCompositeOp
Definition: composite.h:53
#define MagickAssumeAligned(address)
Definition: memory-private.h:43
double maximum
Definition: morphology.h:118
@ PeaksKernel
Definition: morphology.h:51
ExceptionInfo exception
Definition: image.h:287
static size_t GetOpenMPMaximumThreads(void)
Definition: thread-private.h:111
size_t height
Definition: morphology.h:109
#define SetPixelBlue(pixel, value)
Definition: pixel-accessor.h:71
static Quantum ClampToQuantum(const MagickRealType value)
Definition: quantum.h:87
GeometryFlags
Definition: geometry.h:26
KernelInfoType
Definition: morphology.h:28
MagickExport void ShowKernelInfo(const KernelInfo *kernel)
Definition: morphology.c:4867
@ MagickFalse
Definition: magick-type.h:193
double index
Definition: pixel.h:91
MagickBooleanType(* MagickProgressMonitor)(const char *, const MagickOffsetType, const MagickSizeType, void *)
Definition: monitor.h:26
#define DisableMSCWarning(nr)
Definition: studio.h:380
struct KernelInfo KernelInfo
#define GetPixelBlue(pixel)
Definition: pixel-accessor.h:38
@ RidgesKernel
Definition: morphology.h:57
static MagickBooleanType SameKernelInfo(const KernelInfo *kernel1, const KernelInfo *kernel2)
Definition: morphology.c:2377
double negative_range
Definition: morphology.h:119
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
#define GetPixelOpacity(pixel)
Definition: pixel-accessor.h:49
MagickExport const char * CommandOptionToMnemonic(const CommandOption option, const ssize_t type)
Definition: option.c:2292
@ EdgeMorphology
Definition: morphology.h:90
double green
Definition: pixel.h:88
static KernelInfo * ParseKernelName(const char *kernel_string)
Definition: morphology.c:372
@ RhoValue
Definition: geometry.h:37
@ TopHatMorphology
Definition: morphology.h:91
size_t width
Definition: morphology.h:108
@ IterativeDistanceMorphology
Definition: morphology.h:99
@ UnityKernel
Definition: morphology.h:30
@ RectangleKernel
Definition: morphology.h:45
MagickExport void * AcquireAlignedMemory(const size_t count, const size_t quantum)
Definition: memory.c:243
@ DefaultChannels
Definition: magick-type.h:181
double positive_range
Definition: morphology.h:120
@ LaplacianKernel
Definition: morphology.h:36
@ LightenCompositeOp
Definition: composite.h:60
MagickExport MagickStatusType ParseGeometry(const char *geometry, GeometryInfo *geometry_info)
Definition: geometry.c:857
static void RotateKernelInfo(KernelInfo *, double)
Definition: morphology.c:4470
@ OpenIntensityMorphology
Definition: morphology.h:84
@ DilateMorphology
Definition: morphology.h:77
static double PerceptibleReciprocal(const double x)
Definition: pixel-accessor.h:124
#define QuantumRange
Definition: magick-type.h:86
@ CMYKColorspace
Definition: colorspace.h:39
double bias
Definition: image.h:218
size_t rows
Definition: image.h:175
static void SetMagickPixelPacket(const Image *image, const PixelPacket *color, const IndexPacket *index, MagickPixelPacket *pixel)
Definition: pixel-private.h:78
@ ConvexHullKernel
Definition: morphology.h:58
@ WidthValue
Definition: geometry.h:36
@ HeightValue
Definition: geometry.h:39
size_t signature
Definition: exception.h:124
@ EdgesKernel
Definition: morphology.h:52
@ CorrelateMorphology
Definition: morphology.h:74
ssize_t x
Definition: morphology.h:112
@ DistanceMorphology
Definition: morphology.h:80
#define Minimize(assign, value)
Definition: morphology.c:91
size_t signature
Definition: image.h:307
MagickBooleanType
Definition: magick-type.h:192
@ ThinSEKernel
Definition: morphology.h:59
static double StringToDouble(const char *magick_restrict string, char **magick_restrict sentinal)
Definition: string-private.h:42
MagickExport KernelInfo * CloneKernelInfo(const KernelInfo *kernel)
Definition: morphology.c:2196
MagickExport KernelInfo * AcquireKernelInfo(const char *kernel_string)
Definition: morphology.c:484
@ PercentValue
Definition: geometry.h:49
MagickExport void * RelinquishMagickMemory(void *memory)
Definition: memory.c:1077
@ BlurKernel
Definition: morphology.h:34
Definition: exception.h:103
@ MagickComposeOptions
Definition: option.h:39
#define SetPixelIndex(indexes, value)
Definition: pixel-accessor.h:78
MagickExport KernelInfo * DestroyKernelInfo(KernelInfo *kernel)
Definition: morphology.c:2252
@ SobelKernel
Definition: morphology.h:37
@ CloseMorphology
Definition: morphology.h:83
MagickExport ssize_t ParseCommandOption(const CommandOption option, const MagickBooleanType list, const char *options)
Definition: option.c:2586
MagickDoubleType MagickRealType
Definition: magick-type.h:125
MagickExport const char * GetImageArtifact(const Image *image, const char *artifact)
Definition: artifact.c:266
MagickExport CacheView * AcquireVirtualCacheView(const Image *image, ExceptionInfo *exception)
Definition: cache-view.c:153
@ RingKernel
Definition: morphology.h:50
static void ExpandRotateKernelInfo(KernelInfo *, const double)
Definition: morphology.c:2405
MagickExport Image * DestroyImage(Image *image)
Definition: image.c:1187
@ ChebyshevKernel
Definition: morphology.h:61
@ NoValue
Definition: geometry.h:28
@ DeactivateAlphaChannel
Definition: image.h:36
@ SigmaValue
Definition: geometry.h:40
@ SkeletonKernel
Definition: morphology.h:60
MagickExport int GetMagickPrecision(void)
Definition: magick.c:681
@ BinomialKernel
Definition: morphology.h:66
@ CorrelateNormalizeValue
Definition: geometry.h:55
#define MagickEpsilon
Definition: magick-type.h:115
@ YValue
Definition: geometry.h:33
@ ConvolveMorphology
Definition: morphology.h:73
MagickExport KernelInfo * DestroyKernelInfo(KernelInfo *)
Definition: morphology.c:2252
#define ThrowFatalException(severity, tag)
Definition: exception-private.h:42
@ MagickKernelOptions
Definition: option.h:62
MagickExport MagickRealType GetPixelIntensity(const Image *image, const PixelPacket *magick_restrict pixel)
Definition: pixel.c:2301
@ FreiChenKernel
Definition: morphology.h:38
@ PlusKernel
Definition: morphology.h:48
@ LoGKernel
Definition: morphology.h:33
MagickExport MagickBooleanType SetImageStorageClass(Image *image, const ClassType storage_class)
Definition: image.c:2610
CompositeOperator
Definition: composite.h:26
MagickExport size_t GetOptimalKernelWidth1D(const double radius, const double sigma)
Definition: gem.c:1622
#define GetPixelGreen(pixel)
Definition: pixel-accessor.h:43
@ KirschKernel
Definition: morphology.h:42
@ BottomHatMorphology
Definition: morphology.h:92
@ LineJunctionsKernel
Definition: morphology.h:56
@ CornersKernel
Definition: morphology.h:53
MagickExport ExceptionInfo * AcquireExceptionInfo(void)
Definition: exception.c:106
#define MaxTextExtent
Definition: method-attribute.h:89
static void CalcKernelMetaData(KernelInfo *)
Definition: morphology.c:2466
MagickExport KernelInfo * AcquireKernelBuiltIn(const KernelInfoType type, const GeometryInfo *args)
Definition: morphology.c:950
@ CompassKernel
Definition: morphology.h:41
MagickExport const 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
Definition: morphology.h:103
@ GaussianKernel
Definition: morphology.h:31
MagickExport void UnityAddKernelInfo(KernelInfo *kernel, const double scale)
Definition: morphology.c:4947
MagickExport void InheritException(ExceptionInfo *exception, const ExceptionInfo *relative)
Definition: exception.c:633
@ DoGKernel
Definition: morphology.h:32
@ ResourceLimitFatalError
Definition: exception.h:78
MagickRealType opacity
Definition: pixel.h:125
MagickExport KernelInfo * AcquireKernelBuiltIn(const KernelInfoType, const GeometryInfo *)
MagickRealType green
Definition: pixel.h:123
@ RobertsKernel
Definition: morphology.h:39
@ GreenChannel
Definition: magick-type.h:163
@ UndefinedCompositeOp
Definition: composite.h:27
@ GreaterValue
Definition: geometry.h:53
static double StringToDoubleInterval(const char *string, const double interval)
Definition: string-private.h:48
@ CometKernel
Definition: morphology.h:35
@ CloseIntensityMorphology
Definition: morphology.h:85
static void SetPixelPacket(const Image *image, const MagickPixelPacket *pixel, PixelPacket *color, IndexPacket *index)
Definition: pixel-private.h:103
MagickExport void * AcquireQuantumMemory(const size_t count, const size_t quantum)
Definition: memory.c:544
@ DiskKernel
Definition: morphology.h:47
ssize_t MagickOffsetType
Definition: magick-type.h:135
static int GetOpenMPThreadId(void)
Definition: thread-private.h:120