Coverage for /home/martinb/.local/share/virtualenvs/camcops/lib/python3.6/site-packages/wand/cdefs/structures.py : 100%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1""":mod:`wand.cdefs.structures` --- MagickWand C-Structures
2~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4.. versionadded:: 0.5.0
5"""
6from ctypes import POINTER, Structure, c_double, c_int, c_size_t
7from wand.cdefs.wandtypes import c_ssize_t, c_magick_real_t, c_magick_size_t
9__all__ = ('AffineMatrix', 'ChannelFeature', 'GeometryInfo', 'KernelInfo',
10 'MagickPixelPacket', 'PixelInfo', 'PointInfo', 'RectangleInfo')
13class AffineMatrix(Structure):
15 _fields_ = [('sx', c_double),
16 ('rx', c_double),
17 ('ry', c_double),
18 ('sy', c_double),
19 ('tx', c_double),
20 ('ty', c_double)]
23class ChannelFeature(Structure):
24 """
25 /*
26 Haralick texture features.
27 */
28 typedef struct _ChannelFeatures
29 {
30 double
31 angular_second_moment[4],
32 contrast[4],
33 correlation[4],
34 variance_sum_of_squares[4],
35 inverse_difference_moment[4],
36 sum_average[4],
37 sum_variance[4],
38 sum_entropy[4],
39 entropy[4],
40 difference_variance[4],
41 difference_entropy[4],
42 measure_of_correlation_1[4],
43 measure_of_correlation_2[4],
44 maximum_correlation_coefficient[4];
45 } ChannelFeatures;
46 """
47 _fields_ = [('angular_second_moment', c_double * 4),
48 ('contrast', c_double * 4),
49 ('correlation', c_double * 4),
50 ('variance_sum_of_squares', c_double * 4),
51 ('inverse_difference_moment', c_double * 4),
52 ('sum_average', c_double * 4),
53 ('sum_variance', c_double * 4),
54 ('sum_entropy', c_double * 4),
55 ('entropy', c_double * 4),
56 ('difference_variance', c_double * 4),
57 ('difference_entropy', c_double * 4),
58 ('measure_of_correlation_1', c_double * 4),
59 ('measure_of_correlation_2', c_double * 4),
60 ('maximum_correlation_coefficient', c_double * 4)]
63class GeometryInfo(Structure):
65 _fields_ = [('rho', c_double),
66 ('sigma', c_double),
67 ('xi', c_double),
68 ('psi', c_double),
69 ('chi', c_double)]
72class KernelInfo(Structure):
73 pass
76KernelInfo._fields_ = [('type', c_int),
77 ('width', c_size_t),
78 ('height', c_size_t),
79 ('x', c_ssize_t),
80 ('y', c_ssize_t),
81 ('values', POINTER(c_double)),
82 ('minimum', c_double),
83 ('maximum', c_double),
84 ('negative_range', c_double),
85 ('positive_range', c_double),
86 ('angle', c_double),
87 ('next', POINTER(KernelInfo)),
88 ('signature', c_size_t)]
91class MagickPixelPacket(Structure):
93 _fields_ = [('storage_class', c_int),
94 ('colorspace', c_int),
95 ('matte', c_int),
96 ('fuzz', c_double),
97 ('depth', c_size_t),
98 ('red', c_magick_real_t),
99 ('green', c_magick_real_t),
100 ('blue', c_magick_real_t),
101 ('opacity', c_magick_real_t),
102 ('index', c_magick_real_t)]
105class OffsetInfo(Structure):
107 _fields_ = [('x', c_double),
108 ('y', c_double)]
111class PixelInfo(Structure):
113 _fields_ = [('storage_class', c_int),
114 ('colorspace', c_int),
115 ('alpha_trait', c_int),
116 ('fuzz', c_double),
117 ('depth', c_size_t),
118 ('count', c_magick_size_t),
119 ('red', c_magick_real_t),
120 ('green', c_magick_real_t),
121 ('blue', c_magick_real_t),
122 ('black', c_magick_real_t),
123 ('alpha', c_magick_real_t),
124 ('index', c_magick_real_t)]
127class PointInfo(Structure):
129 _fields_ = [('x', c_double),
130 ('y', c_double)]
133class RectangleInfo(Structure):
135 _fields_ = [('width', c_size_t),
136 ('height', c_size_t),
137 ('x', c_ssize_t),
138 ('y', c_ssize_t)]
141class CCObjectInfo(Structure):
142 _fields_ = [('_id', c_ssize_t),
143 ('bounding_box', RectangleInfo),
144 ('color', PixelInfo),
145 ('centroid', PointInfo),
146 ('area', c_double),
147 ('census', c_double)]
150# All this will change with IM7, so let's not implement this just yet.
151#
152# class ImageChannelStatistics(Structure):
153# _fields_ = [('maximum', c_double),
154# ('minimum', c_double),
155# ('mean', c_double),
156# ('standard_deviation', c_double),
157# ('variance', c_double),
158# ('kurtosis', c_double),
159# ('skewness', c_double)]
160#
161# class ImageStatistics(Structure):
162# _fields_ = [('red', ImageChannelStatistics),
163# ('green', ImageChannelStatistics),
164# ('blue', ImageChannelStatistics),
165# ('opacity', ImageChannelStatistics)]