Wiki » History » Version 16
Frédéric Blanc, 2017-12-22 09:18
1 | 1 | Frédéric Blanc | h1. Wiki |
---|---|---|---|
2 | |||
3 | 13 | Frédéric Blanc | h2. 1) Soft Hyperproto |
4 | 1 | Frédéric Blanc | |
5 | 13 | Frédéric Blanc | !soft_hyperproto.png! |
6 | 1 | Frédéric Blanc | |
7 | 13 | Frédéric Blanc | h2. 2) API VIALUX |
8 | 1 | Frédéric Blanc | |
9 | 13 | Frédéric Blanc | h3. 2.1) +ALP-4.1 basic+ (Accessory Light modulator Package) |
10 | |||
11 | 1 | Frédéric Blanc | ALP-4 basic supports DLP® Discovery™ 4100 based hardware: ALP-4.1 is the software for ViALUX V-9500/V-9600 Modules (VX4100 Boards) and for the DLP® Discovery™ 4100 Developer Kit. |
12 | The ALP basic suite comes with all components required for the use of the DLP® Discovery™ Boards including a software DLL. The following notes describe general software organization rules applicable to the whole library. |
||
13 | The image display on a DMD is divided into two different operations. Data operations load image data in on-chip SRAM memory cells. In a subsequent reset operation the mirrors are flipped to 12° or -12° positions, respectively, according to the SRAM data. |
||
14 | There are two types of data operations. Loading data (AlpbDevLoadRows) transfers image data row by row to the DMD. The clear operation (AlpbDevClear) sets the memory content of whole reset blocks to logic ’0’. |
||
15 | A Reset operation (AlpbDevReset) addresses the micro mirrors in terms of reset blocks. Single blocks, groups of two or four blocks, or even all mirrors (global reset) can be reset at the same time. |
||
16 | The reset operation itself takes the same time to finish, independent of how many mirrors are affected. |
||
17 | ALP-4.1 basic APIs reside in different DLL files: alp41basic.dll. |
||
18 | There are two configurations of the ALP basic DLL having different names. Alp*basic.dll uses the “cdecl” calling convention. The library alp*basicS.dll exports functions using the “stdcall” calling convention |
||
19 | and redirects them to the cdecl DLL. This might be required for development environments that do not support the C calling convention. Function names and argument lists are equal in both configurations. |
||
20 | For C and C++ users a header (alpbasic.h) and a static library ( alp41basic.lib) file is provided together with the DLL. |
||
21 | ALP basic devices are identified in function calls by handles of type ALPB_HDEVICE. This handle is generated by AlpbDevAlloc. |
||
22 | |||
23 | 2 | Frédéric Blanc | %{color:red}Dongle protection |
24 | ALP-4.1 basic is protected by a hard-lock USB key% |
||
25 | 11 | Frédéric Blanc | |
26 | bug api windows7 ? |
||
27 | 1 | Frédéric Blanc | |
28 | 11 | Frédéric Blanc | !hyperproto001.png! |
29 | |||
30 | 13 | Frédéric Blanc | h3. 2.2) +ALP-4.1 high-speed+ |
31 | 2 | Frédéric Blanc | |
32 | 1 | Frédéric Blanc | %{color:red}Dongle protection |
33 | ALP-4.1 high-speed is not protected by a hard-lock USB key any more. The return code |
||
34 | 2 | Frédéric Blanc | ALP_ERROR_DONGLE has been removed.% |
35 | |||
36 | 13 | Frédéric Blanc | h2. 3) NI IMAQdx |
37 | 3 | Frédéric Blanc | |
38 | 14 | Frédéric Blanc | !niimaqmx001.png! |
39 | fig : General Steps for Designing a Vision Application |
||
40 | 15 | Frédéric Blanc | !niimaqmx002.png! |
41 | fig : Inspection Steps for Building a Vision Application |
||
42 | 4 | Frédéric Blanc | *IMAQdxEnumerateCameras* (IMAQdxCameraInformation cameraInformationArray[], uInt32* count, bool32 connectedOnly); |
43 | 3 | Frédéric Blanc | |
44 | This is the information that was mentioned in the LabVIEW Documentation: |
||
45 | |||
46 | *Camera Information Array* is an array of interface files that are on the host computer. This includes cameras that are currently connected or that were previously connected. |
||
47 | |||
48 | 4 | Frédéric Blanc | - *Type* has a value of 3. This designates an NI-IMAQdx interface file. |
49 | 3 | Frédéric Blanc | |
50 | 4 | Frédéric Blanc | - *Version* is the version of the interface file. This number may increment with different versions of the driver as the format of the interface file changes. |
51 | 3 | Frédéric Blanc | |
52 | 4 | Frédéric Blanc | - *Flags* is a bitwise mask of the current interface status. If bit 0 is on (value = 1), the interface represents a camera that is currently connected. If bit 0 is off (value = 0) , the interface represents a disconnected camera. |
53 | 3 | Frédéric Blanc | |
54 | 4 | Frédéric Blanc | - *SerialNumberHigh* is the upper 32-bits of the interface serial number. Every camera has a unique value for SerialNumberHigh. |
55 | 3 | Frédéric Blanc | |
56 | 4 | Frédéric Blanc | - *SerialNumberLow* is the lower 32-bits of the interface serial number. Every camera has a unique value for SerialNumberLow. |
57 | 3 | Frédéric Blanc | |
58 | 4 | Frédéric Blanc | - *BusType* specifies the bus type for the camera. |
59 | 3 | Frédéric Blanc | |
60 | 4 | Frédéric Blanc | - *InterfaceName* is the name of the interface. Use this name when opening the interface. |
61 | 3 | Frédéric Blanc | |
62 | 4 | Frédéric Blanc | - *VendorName* is the vendor name of the camera designated for this interface. VendorName varies from camera to camera. |
63 | |||
64 | 3 | Frédéric Blanc | - *ModelName* is the model name of the camera designated for this interface. ModelName varies from camera to camera. |
65 | 1 | Frédéric Blanc | |
66 | 4 | Frédéric Blanc | - *CameraFileName* is the name of the camera file that this interface uses. The camera file contains all the settings for a given camera. You can configure and save these settings from Measurement & Automation Explorer (MAX). |
67 | 3 | Frédéric Blanc | |
68 | 4 | Frédéric Blanc | - *CameraAttributeURL* is the URL of the XML file that describes the camera attributes. |
69 | 5 | Frédéric Blanc | |
70 | 13 | Frédéric Blanc | h3. 3.2 The camera can be opened in MAX, but it does not acquire images |
71 | 5 | Frédéric Blanc | |
72 | Case 1: The High Performance Driver for Intel Pro/1000 NIC is not installed. |
||
73 | http://www.ni.com/product-documentation/5846/en/ |
||
74 | 6 | Frédéric Blanc | |
75 | |||
76 | .... |
||
77 | 10 | Frédéric Blanc | |
78 | 12 | Frédéric Blanc | !bug_nic.png! |
79 | .... |
||
80 | |||
81 | 6 | Frédéric Blanc | Allied Vision Vimba GigE Driver 2.1.3 |
82 | 10 | Frédéric Blanc | |
83 | https://cloud.laas.fr/index.php/apps/files/?dir=%2FShared%2Fhyperproto%2Fcamera%2Fsofts |
||
84 | |||
85 | 9 | Frédéric Blanc | Jumbo Frames enabled in Network Adapters (size of 9014 bytes) |
86 | 16 | Frédéric Blanc | |
87 | |||
88 | h2. 4) Common Vision Blox CVB (by STEMMER IMAGING) |
||
89 | |||
90 | !cvb001.png! |
||
91 | At the heart of Common Vision Blox is the Image Manager. |
||
92 | Probably the most essential feature of the Image Manager is the implementation of a hardware abstraction layer that allows programmers to access a variety of entirely different image sources (ranging from simple file-based image sources to high performance frame grabbers and covering all relevant interface and acquisition technologies available for machine vision) through the same simple API while still enabling access to a fair amount of hardware specific functionality. |
||
93 | |||
94 | That way, with Common Vision Blox a programmer does have the choice to either write completely hardware independent machine vision applications (that allow for simple drop-in replacement of the acquisition hardware) or take best advantage of the details and features his hardware offers. |
||
95 | |||
96 | For a list of supported acquisition devices you can either have a look at the Drivers folder of your Common Vision Blox DVD, or visit www.commonvisionblox.com. |
||
97 | |||
98 | In addition to the hardware abstraction layer, the Image Manager provides functionality for handling image data like |
||
99 | |||
100 | ·access to image data and properties |
||
101 | |||
102 | ·display images in a fast and interactive display with non-destructive overlay capabilities |
||
103 | |||
104 | ·modify image data by copying them, creating new views on them or using basic transformation functions |
||
105 | |||
106 | ·read and replay AVI, MPG or MP4 streams from disk |
||
107 | |||
108 | ·read/write image files from/to disk in various formats |
||
109 | |||
110 | The Image Manager is the most basic module of Common Vision Blox that may be purchased separately. |
||
111 | |||
112 | |||
113 | |||
114 | The Common Vision Blox CameraSuite in terms of functionality is almost identical to the Common Vision Blox Image Manager, however it is limited to those cameras that are compatible with it and does not come with a dongle to which Common Vision Blox tools may be license (see Licensing Concept). |
||
115 | |||
116 | The CameraSuite can not be purchased individually - it comes for free bundled with those cameras that are supported by the Camera Suite like e.g. the the CVC camera series from STEMMER IMAGING or the AreaScan 3D cameras from VRmagic, as well as all GigE Vision and USB3 Vision cameras sold by STEMMER IMAGING. |
||
117 | |||
118 | |||
119 | |||
120 | If more functionality than what the Image Manager and the CameraSuite offer is required, then we recommended looking at the Common Vision Blox Foundation Package . |
||
121 | |||
122 | This package includes the Image Manager and extends it by adding state-of-the-art image processing functionality which many machine vision applications will need, like |
||
123 | |||
124 | ·arithmetic and logic operations on image data |
||
125 | |||
126 | ·blob analysis |
||
127 | |||
128 | ·color space conversions |
||
129 | |||
130 | ·correlation |
||
131 | |||
132 | ·Fourier transform |
||
133 | |||
134 | ·various filter functions for de-noising, edge detection and morphology operations |
||
135 | |||
136 | ·statistical evaluation of image data |
||
137 | |||
138 | ·advanced transformation functions for image data |
||
139 | |||
140 | |||
141 | |||
142 | Both basic packages, the Image Manger or the Foundation Package, may be combined with a number of more sophisticated Tools for specialized tasks like bar code reading, OCR or print inspection. |
||
143 | |||
144 | These tools are sold independently, offering customers a flexible and cost-effective choice of modules to build their machine vision systems from. |
||
145 | |||
146 | |||
147 | |||
148 | On the Windows™ platform, Common Vision Blox may be used with C/C++, the .Net programming languages, or Delphi. |
||
149 | |||
150 | On the Linux platform it may be used with the C/C++ compilers of the GNU Compiler Collection. |
||
151 | |||
152 | |||
153 | |||
154 | For an explicit list of supported programming environments and versions please refer to the Common Vision Blox Release Notes (located in your start menu and in the doc sub-directory of your Common Vision Blox installation, but also available on www.commonvisionblox.com). |