vmbpy 1.1.0__py3-none-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
vmbpy/__init__.py ADDED
@@ -0,0 +1,142 @@
1
+ """BSD 2-Clause License
2
+
3
+ Copyright (c) 2023, Allied Vision Technologies GmbH
4
+ All rights reserved.
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, are permitted provided that the following conditions are met:
8
+
9
+ 1. Redistributions of source code must retain the above copyright notice, this
10
+ list of conditions and the following disclaimer.
11
+
12
+ 2. Redistributions in binary form must reproduce the above copyright notice,
13
+ this list of conditions and the following disclaimer in the documentation
14
+ and/or other materials provided with the distribution.
15
+
16
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
20
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
22
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
23
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
+ """
27
+
28
+ # Suppress 'imported but unused' - Error from static style checker.
29
+ # flake8: noqa: F401
30
+
31
+ __version__ = '1.1.0'
32
+
33
+ __all__ = [
34
+ 'VmbSystem',
35
+ 'Stream',
36
+ 'Camera',
37
+ 'LocalDevice',
38
+ 'CameraChangeHandler',
39
+ 'CameraEvent',
40
+ 'AccessMode',
41
+ 'PersistType',
42
+ 'ModulePersistFlags',
43
+ 'Interface',
44
+ 'TransportLayer',
45
+ 'TransportLayerType',
46
+ 'InterfaceChangeHandler',
47
+ 'InterfaceEvent',
48
+ 'PixelFormat',
49
+ 'Frame',
50
+ 'FeatureTypes',
51
+ 'FeatureVisibility',
52
+ 'FrameHandler',
53
+ 'FrameStatus',
54
+ 'PayloadType',
55
+ 'AllocationMode',
56
+ 'Debayer',
57
+ 'intersect_pixel_formats',
58
+ 'MONO_PIXEL_FORMATS',
59
+ 'BAYER_PIXEL_FORMATS',
60
+ 'RGB_PIXEL_FORMATS',
61
+ 'RGBA_PIXEL_FORMATS',
62
+ 'BGR_PIXEL_FORMATS',
63
+ 'BGRA_PIXEL_FORMATS',
64
+ 'YUV_PIXEL_FORMATS',
65
+ 'YCBCR_PIXEL_FORMATS',
66
+ 'COLOR_PIXEL_FORMATS',
67
+ 'OPENCV_PIXEL_FORMATS',
68
+
69
+ 'VmbSystemError',
70
+ 'VmbTransportLayerError',
71
+ 'VmbCameraError',
72
+ 'VmbInterfaceError',
73
+ 'VmbFeatureError',
74
+ 'VmbFrameError',
75
+ 'VmbTimeout',
76
+ 'VmbChunkError',
77
+
78
+ 'IntFeature',
79
+ 'FloatFeature',
80
+ 'StringFeature',
81
+ 'BoolFeature',
82
+ 'EnumEntry',
83
+ 'EnumFeature',
84
+ 'CommandFeature',
85
+ 'RawFeature',
86
+
87
+ 'FeatureContainer',
88
+ 'PersistableFeatureContainer',
89
+
90
+ 'LogLevel',
91
+ 'LogConfig',
92
+ 'Log',
93
+ 'LOG_CONFIG_TRACE_CONSOLE_ONLY',
94
+ 'LOG_CONFIG_TRACE_FILE_ONLY',
95
+ 'LOG_CONFIG_TRACE',
96
+ 'LOG_CONFIG_DEBUG_CONSOLE_ONLY',
97
+ 'LOG_CONFIG_DEBUG_FILE_ONLY',
98
+ 'LOG_CONFIG_DEBUG',
99
+ 'LOG_CONFIG_INFO_CONSOLE_ONLY',
100
+ 'LOG_CONFIG_INFO_FILE_ONLY',
101
+ 'LOG_CONFIG_INFO',
102
+ 'LOG_CONFIG_WARNING_CONSOLE_ONLY',
103
+ 'LOG_CONFIG_WARNING_FILE_ONLY',
104
+ 'LOG_CONFIG_WARNING',
105
+ 'LOG_CONFIG_ERROR_CONSOLE_ONLY',
106
+ 'LOG_CONFIG_ERROR_FILE_ONLY',
107
+ 'LOG_CONFIG_ERROR',
108
+ 'LOG_CONFIG_CRITICAL_CONSOLE_ONLY',
109
+ 'LOG_CONFIG_CRITICAL_FILE_ONLY',
110
+ 'LOG_CONFIG_CRITICAL',
111
+
112
+ 'TraceEnable',
113
+ 'ScopedLogEnable',
114
+ 'RuntimeTypeCheckEnable',
115
+ 'VmbIntEnum',
116
+ 'VmbFlagEnum'
117
+ ]
118
+
119
+ from .camera import AccessMode, Camera, CameraChangeHandler, CameraEvent
120
+ from .error import (VmbCameraError, VmbChunkError, VmbFeatureError, VmbFrameError,
121
+ VmbInterfaceError, VmbSystemError, VmbTimeout, VmbTransportLayerError)
122
+ from .feature import (BoolFeature, CommandFeature, EnumEntry, EnumFeature, FeatureTypes,
123
+ FeatureVisibility, FloatFeature, IntFeature, RawFeature, StringFeature)
124
+ from .featurecontainer import (FeatureContainer, ModulePersistFlags, PersistableFeatureContainer,
125
+ PersistType)
126
+ from .frame import (BAYER_PIXEL_FORMATS, BGR_PIXEL_FORMATS, BGRA_PIXEL_FORMATS, COLOR_PIXEL_FORMATS,
127
+ MONO_PIXEL_FORMATS, OPENCV_PIXEL_FORMATS, RGB_PIXEL_FORMATS, RGBA_PIXEL_FORMATS,
128
+ YCBCR_PIXEL_FORMATS, YUV_PIXEL_FORMATS, AllocationMode, Debayer, Frame,
129
+ FrameStatus, PayloadType, PixelFormat, intersect_pixel_formats)
130
+ from .interface import Interface, InterfaceChangeHandler, InterfaceEvent
131
+ from .localdevice import LocalDevice
132
+ from .stream import FrameHandler, Stream
133
+ from .transportlayer import TransportLayer, TransportLayerType
134
+ from .util import (LOG_CONFIG_CRITICAL, LOG_CONFIG_CRITICAL_CONSOLE_ONLY,
135
+ LOG_CONFIG_CRITICAL_FILE_ONLY, LOG_CONFIG_DEBUG, LOG_CONFIG_DEBUG_CONSOLE_ONLY,
136
+ LOG_CONFIG_DEBUG_FILE_ONLY, LOG_CONFIG_ERROR, LOG_CONFIG_ERROR_CONSOLE_ONLY,
137
+ LOG_CONFIG_ERROR_FILE_ONLY, LOG_CONFIG_INFO, LOG_CONFIG_INFO_CONSOLE_ONLY,
138
+ LOG_CONFIG_INFO_FILE_ONLY, LOG_CONFIG_TRACE, LOG_CONFIG_TRACE_CONSOLE_ONLY,
139
+ LOG_CONFIG_TRACE_FILE_ONLY, LOG_CONFIG_WARNING, LOG_CONFIG_WARNING_CONSOLE_ONLY,
140
+ LOG_CONFIG_WARNING_FILE_ONLY, Log, LogConfig, LogLevel, RuntimeTypeCheckEnable,
141
+ ScopedLogEnable, TraceEnable, VmbIntEnum, VmbFlagEnum)
142
+ from .vmbsystem import VmbSystem
@@ -0,0 +1,134 @@
1
+ """BSD 2-Clause License
2
+
3
+ Copyright (c) 2022, Allied Vision Technologies GmbH
4
+ All rights reserved.
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, are permitted provided that the following conditions are met:
8
+
9
+ 1. Redistributions of source code must retain the above copyright notice, this
10
+ list of conditions and the following disclaimer.
11
+
12
+ 2. Redistributions in binary form must reproduce the above copyright notice,
13
+ this list of conditions and the following disclaimer in the documentation
14
+ and/or other materials provided with the distribution.
15
+
16
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
20
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
22
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
23
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
+
27
+ -------------------------------------------------------------------------
28
+
29
+ NOTE: Vmb naming convention.
30
+ VmbPy is based on VmbC, this submodule contains all wrapped types and functions provided by VmbC to
31
+ make them usable from Python. By convention, all VmbC Types and Functions are prefixed with 'Vmb',
32
+ this convention is kept for all python types interfacing with the C - Layer. VmbC developers should
33
+ be able to understand the interface to VmbC and keeping the name convention helps a lot in that
34
+ regard.
35
+
36
+ However prefixing everything with 'Vmb' is not required in VmbPy, therefore most Types of the public
37
+ API have no prefix.
38
+ """
39
+
40
+ # Suppress 'imported but unused' - Error from static style checker.
41
+ # flake8: noqa: F401
42
+
43
+ __all__ = [
44
+ # Exports from vmb_common
45
+ 'VmbInt8',
46
+ 'VmbUint8',
47
+ 'VmbInt16',
48
+ 'VmbUint16',
49
+ 'VmbInt32',
50
+ 'VmbUint32',
51
+ 'VmbInt64',
52
+ 'VmbUint64',
53
+ 'VmbHandle',
54
+ 'VmbBool',
55
+ 'VmbUchar',
56
+ 'VmbDouble',
57
+ 'VmbError',
58
+ 'VmbCError',
59
+ 'VmbPixelFormat',
60
+ 'decode_cstr',
61
+ 'decode_flags',
62
+
63
+ # Exports from vmb_c
64
+ 'VmbTransportLayer',
65
+ 'VmbAccessMode',
66
+ 'VmbFeatureData',
67
+ 'VmbFeaturePersist',
68
+ 'VmbModulePersistFlags',
69
+ 'VmbFeatureVisibility',
70
+ 'VmbFeatureFlags',
71
+ 'VmbFrameStatus',
72
+ 'VmbPayloadType',
73
+ 'VmbFrameFlags',
74
+ 'VmbVersionInfo',
75
+ 'VmbTransportLayerInfo',
76
+ 'VmbInterfaceInfo',
77
+ 'VmbCameraInfo',
78
+ 'VmbFeatureInfo',
79
+ 'VmbFeatureEnumEntry',
80
+ 'VmbFrame',
81
+ 'VmbFeaturePersistSettings',
82
+ 'G_VMB_C_HANDLE',
83
+ 'VMB_C_VERSION',
84
+ 'EXPECTED_VMB_C_VERSION',
85
+ 'call_vmb_c',
86
+
87
+ # Exports from vmb_image_transform
88
+ 'VmbImage',
89
+ 'VmbImageInfo',
90
+ 'VmbDebayerMode',
91
+ 'VmbTransformInfo',
92
+ 'VMB_IMAGE_TRANSFORM_VERSION',
93
+ 'EXPECTED_VMB_IMAGE_TRANSFORM_VERSION',
94
+ 'call_vmb_image_transform',
95
+ 'PIXEL_FORMAT_TO_LAYOUT',
96
+ 'LAYOUT_TO_PIXEL_FORMAT',
97
+ 'PIXEL_FORMAT_CONVERTIBILITY_MAP',
98
+
99
+ # Exports from wrapped_types
100
+ 'AccessMode',
101
+ 'Debayer',
102
+ 'FeatureFlags',
103
+ 'FeatureVisibility',
104
+ 'FrameStatus',
105
+ 'PayloadType',
106
+ 'PersistType',
107
+ 'ModulePersistFlags',
108
+ 'PixelFormat',
109
+ 'TransportLayerType',
110
+
111
+ # Exports from ctypes
112
+ 'byref',
113
+ 'sizeof',
114
+ 'create_string_buffer'
115
+ ]
116
+
117
+ from ctypes import byref, create_string_buffer, sizeof
118
+
119
+ from .vmb_c import (EXPECTED_VMB_C_VERSION, G_VMB_C_HANDLE, VMB_C_VERSION, VmbAccessMode,
120
+ VmbCameraInfo, VmbFeatureData, VmbFeatureEnumEntry, VmbFeatureFlags,
121
+ VmbFeatureInfo, VmbFeaturePersist, VmbFeaturePersistSettings,
122
+ VmbFeatureVisibility, VmbFrame, VmbFrameFlags, VmbFrameStatus, VmbPayloadType,
123
+ VmbInterfaceInfo, VmbModulePersistFlags, VmbTransportLayer, VmbTransportLayerInfo,
124
+ VmbVersionInfo, call_vmb_c)
125
+ from .vmb_common import (VmbBool, VmbCError, VmbDouble, VmbError, VmbHandle, VmbInt8, VmbInt16,
126
+ VmbInt32, VmbInt64, VmbPixelFormat, VmbUchar, VmbUint8, VmbUint16,
127
+ VmbUint32, VmbUint64, _as_vmb_file_path, _select_vimbax_home, decode_cstr,
128
+ decode_flags)
129
+ from .vmb_image_transform import (EXPECTED_VMB_IMAGE_TRANSFORM_VERSION, LAYOUT_TO_PIXEL_FORMAT,
130
+ PIXEL_FORMAT_CONVERTIBILITY_MAP, PIXEL_FORMAT_TO_LAYOUT,
131
+ VMB_IMAGE_TRANSFORM_VERSION, VmbDebayerMode, VmbImage,
132
+ VmbImageInfo, VmbTransformInfo, call_vmb_image_transform)
133
+ from .wrapped_types import (AccessMode, Debayer, FeatureFlags, FeatureVisibility, FrameStatus,
134
+ PayloadType, ModulePersistFlags, PersistType, PixelFormat, TransportLayerType)
Binary file
@@ -0,0 +1,69 @@
1
+ <?xml version="1.0" standalone="no" ?>
2
+ <Settings>
3
+
4
+ <!--
5
+ Use this to activate logging and set filename for logging (path can be absolute or relative to API)
6
+ Default behavior if omitted: Logging is deactivated
7
+ -->
8
+ <!-- <LogFileName>VmbC.log</LogFileName> -->
9
+
10
+ <!--
11
+ Append messages to log file or reset log file at each API restart (if logging is enabled)
12
+ True: Always append log messages
13
+ False: Reset log file at each API restart
14
+ Default behavior if omitted: Reset log file at each API restart
15
+ -->
16
+ <!-- <AppendLog>False</AppendLog> -->
17
+
18
+ <TlLoading>
19
+ <!--
20
+ Use this to specify paths and directories where VmbC should look for .cti files.
21
+ If this element is used Vimba X will NOT evaluate the GENICAM_GENTL64_PATH or
22
+ GENICAM_GENTL32_PATH variable.
23
+ If this element is missing or empty the values from GENICAM_GENTL64_PATH or
24
+ GENICAM_GENTL32_PATH are used. The paths listed there are not required though.
25
+ If the "required" attribute for a path is set to "true" the VmbC initialization will fail in case
26
+ that path does not contain a transport layer.
27
+ -->
28
+ <CtiPaths>
29
+ <!-- <Path required="false">.</Path> -->
30
+ </CtiPaths>
31
+
32
+ <!--
33
+ Transport layer rules for filtering certain vendors and interfaces. The rules will be applied from top
34
+ to bottom until a matching rule is found. Subsequent rules will be ignored then. The rules will be always
35
+ be applied to all input paths (even if the transport layer is placed next to the VmbC library).
36
+ vendor-type: Vendor (short) name. Can also be set to wildcard *. If vendor-type is not specified it will be replaced by *.
37
+ interface-type: Transport layer interface type. Can also be set to wildcard *. If interface-type is not specified it will be replaced by *.
38
+ Valid interface-types are: GEV, CL, IIDC, UVC, CXP, CLHS, U3V, Custom
39
+ rule: "allow" or "deny". If the rule attribute is missing the TlRule will be discarded.
40
+ In case no TlRule element exists only AVT and NET transport layers are enabled.
41
+ -->
42
+ <TlRule vendor-type="SVS" interface-type="GEV" rule="deny"/>
43
+ <TlRule vendor-type="SVS" interface-type="U3V" rule="allow"/>
44
+ <TlRule vendor-type="EUR" interface-type="CXP" rule="allow"/>
45
+ <TlRule vendor-type="AVT" interface-type="*" rule="allow"/>
46
+ <TlRule vendor-type="NET" interface-type="*" rule="allow"/>
47
+ <TlRule rule="deny"/>
48
+
49
+ <!--
50
+ Poll for interfaces every XXX ms
51
+ Default behavior if omitted: 2500 ms
52
+ -->
53
+ <InterfacePollingPeriod>2000</InterfacePollingPeriod>
54
+
55
+ <!--
56
+ Polling periods in ms for devices selected by interface type and vendor type.
57
+ Default behavior if omitted: 2500 ms
58
+ -->
59
+ <!-- <DevicePollingPeriod tl-vendor="NET" interface-type="GEV">20</DevicePollingPeriod> -->
60
+
61
+ <!--
62
+ Timeout in ms used for updating the interface list
63
+ Default behavior if omitted: No timeout used
64
+ -->
65
+ <!-- <UpdateDeviceListTimeout tl-vendor="NET" interface-type="GEV">50</UpdateDeviceListTimeout> -->
66
+
67
+ </TlLoading>
68
+
69
+ </Settings>