Project

General

Profile

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).