MagickCore  7.0.7
Convert, Edit, Or Compose Bitmap Images
morphology.c File Reference
Include dependency graph for morphology.c:

Go to the source code of this file.


#define Minimize(assign, value)   assign=MagickMin(assign,value)
#define Maximize(assign, value)   assign=MagickMax(assign,value)
#define KernelRank   3
#define KernelRank   3
#define MorphologyTag   "Morphology/Image"


static size_t fact (size_t n)
static void CalcKernelMetaData (KernelInfo *)
static void ExpandMirrorKernelInfo (KernelInfo *)
static void ExpandRotateKernelInfo (KernelInfo *, const double)
static void RotateKernelInfo (KernelInfo *, double)
static KernelInfoLastKernelInfo (KernelInfo *kernel)
static KernelInfoParseKernelArray (const char *kernel_string)
static KernelInfoParseKernelName (const char *kernel_string, ExceptionInfo *exception)
MagickExport KernelInfoAcquireKernelInfo (const char *kernel_string, ExceptionInfo *exception)
MagickExport KernelInfoAcquireKernelBuiltIn (const KernelInfoType type, const GeometryInfo *args, ExceptionInfo *exception)
MagickExport KernelInfoCloneKernelInfo (const KernelInfo *kernel)
MagickExport KernelInfoDestroyKernelInfo (KernelInfo *kernel)
static MagickBooleanType SameKernelInfo (const KernelInfo *kernel1, const KernelInfo *kernel2)
static ssize_t MorphologyPrimitive (const Image *image, Image *morphology_image, const MorphologyMethod method, const KernelInfo *kernel, const double bias, ExceptionInfo *exception)
static ssize_t MorphologyPrimitiveDirect (Image *image, const MorphologyMethod method, const KernelInfo *kernel, ExceptionInfo *exception)
MagickPrivate ImageMorphologyApply (const Image *image, const MorphologyMethod method, const ssize_t iterations, const KernelInfo *kernel, const CompositeOperator compose, const double bias, ExceptionInfo *exception)
MagickExport ImageMorphologyImage (const Image *image, const MorphologyMethod method, const ssize_t iterations, const KernelInfo *kernel, ExceptionInfo *exception)
MagickExport void ScaleGeometryKernelInfo (KernelInfo *kernel, const char *geometry)
MagickExport void ScaleKernelInfo (KernelInfo *kernel, const double scaling_factor, const GeometryFlags normalize_flags)
MagickPrivate void ShowKernelInfo (const KernelInfo *kernel)
MagickExport void UnityAddKernelInfo (KernelInfo *kernel, const double scale)
MagickPrivate void ZeroKernelNans (KernelInfo *kernel)

Macro Definition Documentation

◆ KernelRank [1/2]

#define KernelRank   3

Referenced by AcquireKernelBuiltIn().

◆ KernelRank [2/2]

#define KernelRank   3

◆ Maximize

#define Maximize (   assign,
)    assign=MagickMax(assign,value)

Definition at line 93 of file morphology.c.

Referenced by CalcKernelMetaData(), and ParseKernelArray().

◆ Minimize

#define Minimize (   assign,
)    assign=MagickMin(assign,value)

Definition at line 92 of file morphology.c.

Referenced by CalcKernelMetaData(), and ParseKernelArray().

◆ MorphologyTag

#define MorphologyTag   "Morphology/Image"

Function Documentation

◆ AcquireKernelBuiltIn()

MagickExport KernelInfo* AcquireKernelBuiltIn ( const KernelInfoType  type,
const GeometryInfo args,
ExceptionInfo exception 

Definition at line 951 of file morphology.c.

References AcquireAlignedMemory(), AcquireKernelInfo(), AcquireMagickMemory(), _KernelInfo::angle, BinomialKernel, BlurKernel, CalcKernelMetaData(), ChebyshevKernel, CometKernel, CompassKernel, ConvexHullKernel, CornersKernel, CorrelateNormalizeValue, CrossKernel, DestroyKernelInfo(), DiagonalsKernel, DiamondKernel, DiskKernel, DoGKernel, EdgesKernel, EuclideanKernel, ExpandMirrorKernelInfo(), ExpandRotateKernelInfo(), fact(), FreiChenKernel, GaussianKernel, GetOptimalKernelWidth1D(), GetOptimalKernelWidth2D(), _KernelInfo::height, KernelRank, KirschKernel, LaplacianKernel, LastKernelInfo(), LineEndsKernel, LineJunctionsKernel, LoGKernel, Magick2PI, MagickAssumeAligned, MagickCoreSignature, MagickEpsilon, MagickMax, MagickPI, MagickSQ2, MagickSQ2PI, ManhattanKernel, _KernelInfo::maximum, _KernelInfo::minimum, _KernelInfo::negative_range, _KernelInfo::next, NormalizeValue, NoValue, OctagonalKernel, OctagonKernel, ParseKernelArray(), PeaksKernel, PlusKernel, _KernelInfo::positive_range, PrewittKernel, _GeometryInfo::psi, RectangleKernel, ResetMagickMemory(), _GeometryInfo::rho, RidgesKernel, RingKernel, RobertsKernel, RotateKernelInfo(), ScaleKernelInfo(), _GeometryInfo::sigma, _KernelInfo::signature, SkeletonKernel, SobelKernel, SquareKernel, ThinSEKernel, _KernelInfo::type, UndefinedKernel, UnityKernel, UserDefinedKernel, _KernelInfo::values, _KernelInfo::width, _KernelInfo::x, _GeometryInfo::xi, and _KernelInfo::y.

Referenced by ParseKernelName().

◆ AcquireKernelInfo()

◆ CalcKernelMetaData()

◆ CloneKernelInfo()

◆ DestroyKernelInfo()

◆ ExpandMirrorKernelInfo()

static void ExpandMirrorKernelInfo ( KernelInfo kernel)

◆ ExpandRotateKernelInfo()

static void ExpandRotateKernelInfo ( KernelInfo kernel,
const double  angle 

◆ fact()

static size_t fact ( size_t  n)

◆ LastKernelInfo()

static KernelInfo* LastKernelInfo ( KernelInfo kernel)

◆ MorphologyApply()

◆ MorphologyImage()

◆ MorphologyPrimitive()

◆ MorphologyPrimitiveDirect()

◆ ParseKernelArray()

◆ ParseKernelName()

◆ RotateKernelInfo()

◆ SameKernelInfo()

static MagickBooleanType SameKernelInfo ( const KernelInfo kernel1,
const KernelInfo kernel2 

◆ ScaleGeometryKernelInfo()

◆ ScaleKernelInfo()

◆ ShowKernelInfo()

MagickPrivate void ShowKernelInfo ( const KernelInfo kernel)

◆ UnityAddKernelInfo()

MagickExport void UnityAddKernelInfo ( KernelInfo kernel,
const double  scale 

◆ ZeroKernelNans()

MagickPrivate void ZeroKernelNans ( KernelInfo kernel)