MagickCore  6.9.12-38
Convert, Edit, Or Compose Bitmap Images
segment.h
Go to the documentation of this file.
1 /*
2  Copyright 1999-2021 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. You may
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 image segment methods.
17 */
18 #ifndef MAGICKCORE_SEGMENT_H
19 #define MAGICKCORE_SEGMENT_H
20 
21 #if defined(__cplusplus) || defined(c_plusplus)
22 extern "C" {
23 #endif
24 
26  GetImageDynamicThreshold(const Image *,const double,const double,
29  const double,const double);
30 
31 #if defined(__cplusplus) || defined(c_plusplus)
32 }
33 #endif
34 
35 #endif
_Image::colorspace
ColorspaceType colorspace
Definition: image.h:158
MagickExport
#define MagickExport
Definition: method-attribute.h:80
ExtentPacket
struct _ExtentPacket ExtentPacket
_Image::debug
MagickBooleanType debug
Definition: image.h:290
_Image::filename
char filename[MaxTextExtent]
Definition: image.h:278
_Image::progress_monitor
MagickProgressMonitor progress_monitor
Definition: image.h:264
_Cluster::id
ssize_t id
Definition: segment.c:147
SetImageProgress
MagickExport MagickBooleanType SetImageProgress(const Image *image, const char *tag, const MagickOffsetType offset, const MagickSizeType extent)
Definition: monitor.c:136
_Cluster
Definition: segment.c:136
_MagickPixelPacket::red
MagickRealType red
Definition: pixel.h:122
_ZeroCrossing::crossings
short crossings[256]
Definition: segment.c:175
GetMagickModule
#define GetMagickModule()
Definition: log.h:29
DestroyCacheView
MagickExport CacheView * DestroyCacheView(CacheView *cache_view)
Definition: cache-view.c:256
GetMagickPixelPacket
MagickExport void GetMagickPixelPacket(const Image *image, MagickPixelPacket *pixel)
Definition: pixel.c:2233
MagickStatusType
unsigned int MagickStatusType
Definition: magick-type.h:127
ConsolidateCrossings
static void ConsolidateCrossings(ZeroCrossing *zero_crossing, const size_t number_crossings)
Definition: segment.c:710
_ExtentPacket::index
ssize_t index
Definition: segment.c:130
_IntervalTree::mean_stability
MagickRealType mean_stability
Definition: segment.c:160
MagickCoreSignature
#define MagickCoreSignature
Definition: method-attribute.h:86
_ExtentPacket::left
ssize_t left
Definition: segment.c:131
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
SegmentImage
MagickExport MagickBooleanType SegmentImage(Image *image, const ColorspaceType colorspace, const MagickBooleanType verbose, const double cluster_threshold, const double smooth_threshold)
Definition: segment.c:1798
magick_restrict
#define magick_restrict
Definition: MagickCore.h:41
Tau
#define Tau
Definition: segment.c:119
WeightingExponent
#define WeightingExponent
Definition: segment.c:116
quantum-private.h
IntervalTree
struct _IntervalTree IntervalTree
image-private.h
monitor.h
_Image::columns
size_t columns
Definition: image.h:174
AcquireImageColormap
MagickExport MagickBooleanType AcquireImageColormap(Image *image, const size_t colors)
Definition: colormap.c:103
Stability
static void Stability(IntervalTree *node)
Definition: segment.c:1335
IndexPacket
Quantum IndexPacket
Definition: pixel.h:129
resource_.h
GetPixelRed
#define GetPixelRed(pixel)
Definition: pixel-accessor.h:50
ResourceLimitError
@ ResourceLimitError
Definition: exception.h:55
_PixelPacket::blue
Quantum blue
Definition: pixel.h:143
Classify
static MagickBooleanType Classify(Image *image, short **extrema, const MagickRealType cluster_threshold, const MagickRealType weighting_exponent, const MagickBooleanType verbose)
Definition: segment.c:244
Green
static const int Green
Definition: segment.c:183
_CacheView
Definition: cache-view.c:66
_IntervalTree::left
ssize_t left
Definition: segment.c:156
_IntervalTree::stability
MagickRealType stability
Definition: segment.c:161
_IntervalTree
Definition: segment.c:151
string_.h
quantum.h
ThrowBinaryImageException
#define ThrowBinaryImageException(severity, tag, context)
Definition: exception-private.h:35
SyncImage
MagickExport MagickBooleanType SyncImage(Image *image)
Definition: image.c:3666
_IntervalTree::right
ssize_t right
Definition: segment.c:157
MagickTrue
@ MagickTrue
Definition: magick-type.h:201
DerivativeHistogram
static void DerivativeHistogram(const MagickRealType *histogram, MagickRealType *derivative)
Definition: segment.c:883
SyncCacheViewAuthenticPixels
MagickExport MagickBooleanType SyncCacheViewAuthenticPixels(CacheView *magick_restrict cache_view, ExceptionInfo *exception)
Definition: cache-view.c:1000
_MagickPixelPacket::blue
MagickRealType blue
Definition: pixel.h:124
_Cluster::blue
ExtentPacket blue
Definition: segment.c:143
OptimalTau
static MagickRealType OptimalTau(const ssize_t *, const double, const double, const double, const double, short *)
Definition: segment.c:1513
InitializeIntervalTree
static IntervalTree * InitializeIntervalTree(const ZeroCrossing *zero_crossing, const size_t number_crossings)
Definition: segment.c:1347
thread-private.h
MeanStability
static void MeanStability(IntervalTree *node)
Definition: segment.c:1305
TraceEvent
@ TraceEvent
Definition: log.h:38
_Image::colormap
PixelPacket * colormap
Definition: image.h:180
FormatLocaleFile
MagickExport ssize_t FormatLocaleFile(FILE *file, const char *magick_restrict format,...)
Definition: locale.c:402
GetVirtualPixels
MagickExport const PixelPacket * GetVirtualPixels(const Image *image, const ssize_t x, const ssize_t y, const size_t columns, const size_t rows, ExceptionInfo *exception)
Definition: cache.c:3450
ActiveNodes
static void ActiveNodes(IntervalTree **list, ssize_t *number_nodes, IntervalTree *node)
Definition: segment.c:1487
_Image
Definition: image.h:153
InitializeList
static void InitializeList(IntervalTree **list, ssize_t *number_nodes, IntervalTree *node)
Definition: segment.c:1294
_ExtentPacket
Definition: segment.c:125
GetCacheViewAuthenticIndexQueue
MagickExport IndexPacket * GetCacheViewAuthenticIndexQueue(CacheView *cache_view)
Definition: cache-view.c:564
_IntervalTree::child
struct _IntervalTree * child
Definition: segment.c:165
AcquireAuthenticCacheView
MagickExport CacheView * AcquireAuthenticCacheView(const Image *image, ExceptionInfo *exception)
Definition: cache-view.c:111
_ZeroCrossing::tau
MagickRealType tau
Definition: segment.c:171
_MagickPixelPacket
Definition: pixel.h:105
MagickAbsoluteValue
#define MagickAbsoluteValue(x)
Definition: image-private.h:35
ImageError
@ ImageError
Definition: exception.h:69
MagickMax
#define MagickMax(x, y)
Definition: image-private.h:36
MagickPI
#define MagickPI
Definition: image-private.h:40
ColorspaceType
ColorspaceType
Definition: colorspace.h:26
_Image::colors
size_t colors
Definition: image.h:177
quantize.h
GetImageDynamicThreshold
MagickExport MagickBooleanType GetImageDynamicThreshold(const Image *image, const double cluster_threshold, const double smooth_threshold, MagickPixelPacket *pixel, ExceptionInfo *exception)
Definition: segment.c:940
_Image::exception
ExceptionInfo exception
Definition: image.h:287
SegmentImageTag
#define SegmentImageTag
MagickFalse
@ MagickFalse
Definition: magick-type.h:200
MagickProgressMonitor
MagickBooleanType(* MagickProgressMonitor)(const char *, const MagickOffsetType, const MagickSizeType, void *)
Definition: monitor.h:26
GetPixelBlue
#define GetPixelBlue(pixel)
Definition: pixel-accessor.h:38
image.h
SafeMargin
static const int SafeMargin
Definition: segment.c:185
_ExtentPacket::right
ssize_t right
Definition: segment.c:132
_Cluster::red
ExtentPacket red
Definition: segment.c:141
_IntervalTree::sibling
struct _IntervalTree * sibling
Definition: segment.c:163
ZeroCrossHistogram
static void ZeroCrossHistogram(MagickRealType *, const MagickRealType, short *)
Definition: segment.c:1897
_PixelPacket::red
Quantum red
Definition: pixel.h:145
PerceptibleReciprocal
static double PerceptibleReciprocal(const double x)
Definition: pixel-accessor.h:124
_Cluster::green
ExtentPacket green
Definition: segment.c:142
_Image::rows
size_t rows
Definition: image.h:175
DefineRegion
static ssize_t DefineRegion(const short *, ExtentPacket *)
Definition: segment.c:827
_PixelPacket::green
Quantum green
Definition: pixel.h:144
ScaleSpace
static void ScaleSpace(const ssize_t *, const MagickRealType, MagickRealType *)
Definition: segment.c:1723
cache.h
colorspace.h
SegmentImage
MagickExport MagickBooleanType SegmentImage(Image *, const ColorspaceType, const MagickBooleanType, const double, const double)
Definition: segment.c:1798
_ExtentPacket::center
MagickRealType center
Definition: segment.c:127
_Image::signature
size_t signature
Definition: image.h:307
FreeNodes
static void FreeNodes(IntervalTree *)
Definition: segment.c:1504
MagickBooleanType
MagickBooleanType
Definition: magick-type.h:199
Cluster
struct _Cluster Cluster
DeltaTau
#define DeltaTau
Definition: segment.c:111
RelinquishMagickMemory
MagickExport void * RelinquishMagickMemory(void *memory)
Definition: memory.c:1162
_ExceptionInfo
Definition: exception.h:103
SetPixelIndex
#define SetPixelIndex(indexes, value)
Definition: pixel-accessor.h:78
studio.h
SegmentPower
#define SegmentPower(ratio)
Definition: segment.c:117
_ZeroCrossing::histogram
MagickRealType histogram[256]
Definition: segment.c:172
MagickRealType
MagickDoubleType MagickRealType
Definition: magick-type.h:125
monitor-private.h
ThrowClassifyException
#define ThrowClassifyException(severity, tag, label)
AcquireVirtualCacheView
MagickExport CacheView * AcquireVirtualCacheView(const Image *image, ExceptionInfo *exception)
Definition: cache-view.c:153
AcquireCriticalMemory
MagickExport void * AcquireCriticalMemory(const size_t size)
Definition: memory.c:626
TreeLength
static const int TreeLength
Definition: segment.c:186
TransformImageColorspace
MagickExport MagickBooleanType TransformImageColorspace(Image *image, const ColorspaceType colorspace)
Definition: colorspace.c:1510
Blue
static const int Blue
Definition: segment.c:182
ZeroCrossing
struct _ZeroCrossing ZeroCrossing
_Cluster::count
ssize_t count
Definition: segment.c:146
memory_.h
color.h
GetImageDynamicThreshold
MagickExport MagickBooleanType GetImageDynamicThreshold(const Image *, const double, const double, MagickPixelPacket *, ExceptionInfo *)
MagickEpsilon
#define MagickEpsilon
Definition: magick-type.h:115
exception-private.h
ThrowMagickException
MagickExport MagickBooleanType ThrowMagickException(ExceptionInfo *exception, const char *module, const char *function, const size_t line, const ExceptionType severity, const char *tag, const char *format,...)
Definition: exception.c:1149
ThrowFatalException
#define ThrowFatalException(severity, tag)
Definition: exception-private.h:42
exception.h
_Cluster::next
struct _Cluster * next
Definition: segment.c:137
Red
static const int Red
Definition: segment.c:184
GetPixelGreen
#define GetPixelGreen(pixel)
Definition: pixel-accessor.h:43
LogMagickEvent
MagickExport MagickBooleanType LogMagickEvent(const LogEventType type, const char *module, const char *function, const size_t line, const char *format,...)
Definition: log.c:1420
MaxDimension
#define MaxDimension
Definition: segment.c:110
_ZeroCrossing
Definition: segment.c:169
GetCacheViewVirtualPixels
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
colorspace-private.h
InitializeHistogram
static void InitializeHistogram(const Image *, ssize_t **, ExceptionInfo *)
Definition: segment.c:1229
ResourceLimitFatalError
@ ResourceLimitFatalError
Definition: exception.h:78
MagickMin
#define MagickMin(x, y)
Definition: image-private.h:37
segment.h
_MagickPixelPacket::green
MagickRealType green
Definition: pixel.h:123
_PixelPacket
Definition: pixel.h:132
AcquireQuantumMemory
MagickExport void * AcquireQuantumMemory(const size_t count, const size_t quantum)
Definition: memory.c:665
MagickOffsetType
ssize_t MagickOffsetType
Definition: magick-type.h:135
_IntervalTree::tau
MagickRealType tau
Definition: segment.c:153
colormap.h