background image

1.21 Appendix C. Tested ARM platforms

225

The power (by default 10W) via the micro-USB connector is not sufficient if peripherals (e.g. keyboard, mouse,
cameras, etc...) are connected. To avoid the system from throttling due to over-current, please supply the board
with power through the Barrel Jack connector (4A@5V), when powering the USB/USB3 camera through the USB
bus.

1.21.1.4

NVIDIA Jetson TX2

CPU

ARM Cortex-A57 @ 2GHz
NVIDIA Denver2 @ 2GHz

Cores

4
2

RAM

8GB

USB2.0 Interfaces

1

USB3.0 Interfaces

1

Ethernet

10/100/1000 MBit

PCIe

1x4 + 1x1

|

2x1 + 1x2

Gen 2.0

1.21.1.4.1

General

Note

The above table describes the specification of the NVIDIA Jetson TX2 Developer Kit.

1.21.1.4.2

Test Setup

Test setup

MATRIX VISION GmbH

Summary of Contents for MATRIX VISION mvBlueFOX Series

Page 1: ...mvBlueFOX Technical Manual English Version 3 02...

Page 2: ......

Page 3: ...1 3 13 cJSON 6 1 3 14 Unity 6 1 4 Revisions 7 1 5 Symbols and Conventions 8 1 5 1 Explanation of the warnings 8 1 6 Important Information 9 1 6 1 High Speed USB design guidelines 10 1 6 2 European Un...

Page 4: ...8 8 Using mvBlueFOX cameras In A Docker Container 35 1 8 8 1 Host Preparation 35 1 8 8 2 Building A Docker Image 36 1 8 8 3 Starting The Docker Container 37 1 8 8 4 Validation 38 1 9 Technical Data 38...

Page 5: ...HRTC 70 1 14 Developing applications using the mvIMPACT Acquire SDK 72 1 15 DirectShow interface 73 1 15 1 Supported interfaces 73 1 15 1 1 C example code using the IKsPropertySet interface 73 1 15 2...

Page 6: ...efined image frequency HRTC 164 1 18 10 2 Delay the external trigger signal HRTC 166 1 18 10 3 Creating double acquisitions HRTC 167 1 18 10 4 Take two images after one external trigger HRTC 167 1 18...

Page 7: ...1 1 NVIDIA Jetson AGX Xavier 220 1 21 1 2 NVIDIA Jetson Xavier NX 222 1 21 1 3 NVIDIA Jetson Nano 224 1 21 1 4 NVIDIA Jetson TX2 225 1 21 1 5 i MX8M Mini 226 1 21 2 C 2 ARMhf based devices 228 1 21 2...

Page 8: ......

Page 9: ...Controller p 70 shows how to use the FPGA built in functionality called Hardware Real Time Controller short HRTC Developing applications using the mvIMPACT Acquire SDK p 72 DirectShow developers p 73...

Page 10: ...es the right to change technical data and design and specifications of the described products at any time without notice Copyright MATRIX VISION GmbH All rights reserved The text images and graphical...

Page 11: ...he applications provided by MATRIX VISION GmbH http www matrix vision com using wxWidgets is either part of the packet this document was taken from or can be obtained by contacting MATRIX VISON GmbH 1...

Page 12: ...OFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTI...

Page 13: ...ONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE 1 3 11 CppUnit The C and C code is tested using the CppUnit http cppunit sourceforge net framework which come under GNU LESSER...

Page 14: ...ions The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software THE SOFTWARE IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND EXPRESS O...

Page 15: ...Updated main page 22 August 2022 V3 01 LAN Removed L option of the digital I Os mvBlueFOX MLC p 17 03 May 2021 V3 00 LAN Corrected Symbols and Conventions p 8 03 February 2021 V2 01 LAN Added mvBlueFO...

Page 16: ...ruction of the product All due care and attention has been taken in preparing this manual In view of our policy of continuous product improvement however we can accept no liability for completeness an...

Page 17: ...mear may be caused Please keep the camera closed or mount a lens on it to avoid the CCD or the CMOS from getting dusty Clean the CCD CMOS faceplate with care Do not clean the CCD or the CMOS with stro...

Page 18: ...ng double ply printed circuit boards Be sure that there is 20 mil minimum distance between High Speed USB signal pair and other printed circuit board tracks optimal signal quality 1 6 2 European Union...

Page 19: ...1 6 Important Information 11 MATRIX VISION GmbH...

Page 20: ...12 MATRIX VISION GmbH...

Page 21: ...1 6 Important Information 13 1 6 3 Legal notice 1 6 3 1 For customers in the U S A Class B MATRIX VISION GmbH...

Page 22: ...thority to operate this equipment The shielded interface cable recommended in this manual must be used with this equipment in order to comply with the limits for a computing device pursuant to Subpart...

Page 23: ...Mpix 640 x 480 1 3 CCD 200w 0 4 Mpix 752 x 480 1 3 CMOS 221 0 8 Mpix 1024 x 768 1 3 CCD 202a 1 3 Mpix 1280 x 1024 1 2 CMOS 223 1 4 Mpix 1360 x 1024 1 2 CCD 224 1 9 Mpix 1600 x 1200 1 1 8 CCD 205 5 0 M...

Page 24: ...9031 5 S mount 9033 2 Filter 1 None standard 2 IR CUT 3 Glass 4 Daylight cut 3 Misc 1 None standard 4 Misc 1 None standard 1 7 1 3 mvBlueFOX IGC The mvBlueFOX IGC nomenclature scheme is as follows mv...

Page 25: ...i USB D Digital I Os O 1x IN 1x OUT opto isolated standard T 2x TTL IN 2x TTL OUT E Connector W board to wire standard B board to board A board to wire angled connector 1 Lensholder 1 No holder standa...

Page 26: ...2 0 cable for mvBlueFOX Binder 4pol to USB2 A Length 5m KS USB2 PHR4 01 5 USB connector cable for mvBlueFOX M1xx Length 1 5m KS PHR12 500 Cable for mvBlueFOX M1xx dig I O 12 pin Length 500mm 1 4 brow...

Page 27: ...y multi core Intel or ARM CPUs RAM 4 GB in 32 bit OS 8 GB in 64 bit OS Mainboard USB connectors There is a huge variety of ARM based devices available on the market Some suitable platforms have been t...

Page 28: ...Before connecting the mvBlueFOX please install the software and driver first All necessary drivers are available from the MATRIX VISION website https www matrix vision com Products Hardware mvBlueFOX...

Page 29: ...availability of new driver versions weekly Deactivate the check box if wxPropView should not check for updates You can activate this again in wxPropView p 68 via the help menu mvBlueFOX installer Sele...

Page 30: ...pView p 68 and mvDeviceConfigure p 68 either as shortcuts on the desktop or in the Windows start menu under MATRIX VISION mvIMPACT Acquire Afterwards you can use mvDeviceConfigure p 68 to update the f...

Page 31: ...going to install the mvIMPACT Acquire package on an ARM device please read this p 34 section first To use a camera device in Linux capture images from it and change its settings a driver is needed co...

Page 32: ...with the respective standard package manager e g apt get if necessary So an Internet connection is recommended Note The installation script install_mvBlueFOX sh and the archive mvBlueFOX x86_64_ABI2...

Page 33: ...mal use of it in the mvIMPACT Acquire GUI manual https www matrix vision com manuals SDK_GUI_Tools index html 1 8 4 Driver concept The driver supplied with the MATRIX VISION product represents the por...

Page 34: ...grabber driver 5 Part of the mvIMPACT SDK installation However new designs should use the NET libs that are now part of mvIMPACT Acquire mv impact acquire dll The namespace mv impact acquire of mv im...

Page 35: ...or NeuroCheck 6 1 the following devices are supported Device Additional software needed mvTITAN G1 mvIMPACT Acquire driver for mvTITAN mvGAMMA devices mvTITAN CL mvIMPACT Acquire driver for mvTITAN mv...

Page 36: ...2016 The adapter needed is part of the Micro Manager release Additional information can be found here https micro manager org wiki MatrixVision 1 8 5 Relationship between driver firmware and FPGA file...

Page 37: ...o that 1 8 5 1 FPGA Until the device gets initialized using the API no FPGA file is loaded in the FPGA on the device Only by opening the device through the API the FPGA file gets downloaded and only t...

Page 38: ...firmware Until mvIMPACT Acquire 2 27 0 each device driver just contained one specific firmware version thus once a device s firmware has been updated using a specific device driver the only way to cha...

Page 39: ...fter power cycling the device it will be active The current firmware version of the device can be obtained either by using one of the applications which are part of the SDK such as mvDeviceConfigure p...

Page 40: ...parameters are accessible via a property offered by the device driver A setting e g might contain the gain to be applied to the analogue to digital conversion process for analogue video sources or th...

Page 41: ...y user application Whenever storing a device family specific setting the device specific or product specific setting of the device used for storing will be deleted if existing See above to find out wh...

Page 42: ...em nowadays use the udev device manager which is responsible for dy namically managing the dev tree In order to be able to use the MATRIX VISION mvBlueFOX3 USB3 Vision camera as non root user a specia...

Page 43: ...When developing machine vision applications using Docker containers it might be required to access mvBlueFOX cameras inside the container With the mvIMPACT Acquire driver stack this can be achieved f...

Page 44: ...it directly to test your device in a Docker container Use it as a base image for your device applications Use it as an inspiration for building your own Dockerfile Before building the Dockerfile pleas...

Page 45: ...n Internet access is required for the docker build If built successfully the newly built image_name will be listed when calling sudo docker images 1 8 8 3 Starting The Docker Container Since the Docke...

Page 46: ...established Now the mvBlueFOX camera can be used inside the Docker container for your machine vision applications 1 9 Technical Data 1 9 1 Power supply Symbol Comment Min Typ Max Unit UUSBPOWER_IN mv...

Page 47: ...t collector of npn phototransistor 8 OUT1 Positive terminal of opto isolated output collector of npn phototransistor 9 IN1 Positive terminal of opto isolated input 1 Voltage between and may be up to 2...

Page 48: ...gitalInputThreshold 10V input behavior of the digital inputs using the DigitalInputThreshold property in Digital I O DigitalInput Threshold Figure 5 wxPropView DigitalInputThreshold Umin V Umax V Imin...

Page 49: ...ash in series to the digital outputs as shown in the following figure however you should only use LEDs together with a current limiter Figure 7 Connecting flash LEDs to DIG OUT 1 9 2 1 2 USB connector...

Page 50: ...R and U version is obsolete New mvBlueFOX versions have both connectors circular connector and standard USB The pin assignment corresponds to the description of R version While mvBlueFOX is connected...

Page 51: ...ral trigger modes auto SW external flash control output using opto isolated outputs opto isolated I O 2 inputs 2 outputs on D Sub 9 connector bus powered no external power supply needed two USB connec...

Page 52: ...Board level version mvBlueFOX Mxxx 1 9 3 1 Dimensions and connectors Figure 10 mvBlueFOX M12x CCD with C mount Figure 11 mvBlueFOX M10x CMOS Lens mount Type FB C Mount 17 526 CS Mount 12 526 MATRIX VI...

Page 53: ...red 2 USB_DATA Data white 3 USB_DATA Data green 4 GND Ground black 1 9 3 1 1 4 pin Wire to Board header USB 2 0 Manufacturer JST Part number B4B PH K Pin Signal Comment 1 FPGA_IO0 Digital In 0 2 FPGA_...

Page 54: ...k damaging the device Provide a protection circuit to the digital I O s of mvBlueFOX M Afterwards connect the digi tal I Os to the FPGA pins See also High Speed USB design guidelines p 10 1 9 3 1 3 Co...

Page 55: ...s inside and accessories p 18 1 9 3 1 5 Characteristics of the mvBlueFOX Mxxx digital I Os Symbol Comment Min Max Unit UDIG_IN Input voltage 0 3 3 6 V 1 9 3 1 5 1 Dig I O max values Symbol Comment Min...

Page 56: ...ed directly via a resistor to the FPGA pins and therefore they are not protected If you connect the digital I Os without providing a protection you will risk damaging the device Provide a protection c...

Page 57: ...of the condensers to external flash LEDs It is possible to connect 2 pushbut tons switches to the 8 pin header CON3 Control connector Additionally 2 LED interfaces are available There are two version...

Page 58: ...d ground 2 LED2 output LED2 anode connector1 3 GND LED1 cathode connector board ground 4 LED1 output LED1 anode connector 5 GND Board ground 6 Input2 Switch to ground for setting Input2 7 GND Board gr...

Page 59: ...2 uF Internal capacitance storage energy 0 190 Ws Flash capacitance charge current output DC current 20 mA Flash 2 IOUT 2 A On voltage at IOUTMAX 0 15 V Off voltage 23 24 25 V 1 9 3 4 1 3 Electrical c...

Page 60: ...optical midpoint and orientation The sensor s optical midpoint is in the center of the board Figure 21 intersection point of the holes diagonals The 0 0 coordinate of the sensor is located at the one...

Page 61: ...C USB2 IO W Cable KS MLC IO W Signal Comment Signal Comment 1 GND Ground GND Ground GND 2 USB_DATA Data USB_DATA Data USB_DATA 3 USB_DATA Data USB_DATA Data USB_DATA 4 USBPOWER _IN Supply voltage USBP...

Page 62: ...version 1 12 44 or newer Manufacturer suitable board to wire connector Molex Part number 0510211200 1 25mm Housing Link http www molex com molex products datasheet jsp part active 0510211200 _CRIMP_HO...

Page 63: ...3 1 3 V LVTTL compliant variant Comment Min Typ Max Unit IIN ILOW INx 0 5 mA UIN VIH 2 3 8 V VIL 0 3 0 8 V TTL input low level high level time Typ 210ns Digital outputs TTL Figure 24 TTL digital outpu...

Page 64: ...to 3 3 V and 5 V systems If a higher voltage is used an external resistor must be placed in series Figure 25 Used input voltage External series resistor 3 3V 5V none 12V 680 Ohm 24V 2 KOhm Comment Min...

Page 65: ...4 mA VIH 0 0 2 0 4 V Voff 30 V 1 9 4 3 LED states State LED Camera is not connected or defect LED off Camera is connected but not initialized or in Power off mode Orange light on Camera is connected a...

Page 66: ...IGC2xx 1 9 5 1 Dimensions and connectors Figure 28 mvBlueFOX IGC Lens protrusion C Mount CS Mount X 10 mm 5 mm Figure 29 mvBlueFOX IGC 3xxx with adjustable backfocus Lens protrusion C Mount X 8 mm 9 5...

Page 67: ...in Signal Comment Color of cable 1 IN0 Opto isolated digital input 0 Positive voltage brown 2 IN0 Opto isolated digital input 0 Negative voltage white 3 OUT0 Opto isolated digital output 0 Positive vo...

Page 68: ...the printed circuit board Because there is no defined tolerance between conductive pattern and mounting holes the general defined tolerance of 0 1 mm is valid Figure 32 1 in the Y direction 0 1 mm 3...

Page 69: ...with trigger see figure In contrast so called pipelined CMOS sensors only support the overlapped mode Even less CMOS sensors support the overlapped mode combined with trigger Please check the sensor s...

Page 70: ...0 MHz Max frames per second 60 100 391 20 16 Binning H V H V H V H V H V Exposure time 44 us 10 s 26 us 10 s 44 us 10 s 33 us 10 s 30 us 10 s ADC on sen sor board reso lution 12 bit up to 10 bit trans...

Page 71: ...s resolution CMOS sen sor 202d 1 only MLC IGC 5 0 Mpixels resolution CMOS sen sor 205 Sensor sup plier Aptina Aptina Aptina Aptina Aptina Aptina Sensor name MT9V034 MT9M001 AR0135 MT9M021 MT9M034 MT9P...

Page 72: ...Programmable readout tim ing with free capture win dows and partial scan X X X X X X Flash control output syn chronous to exposure pe riod X no no no no no More specific data mv BlueFOX Model 200w 0 4...

Page 73: ...bout image errors of image sensors please have a look at Correcting image errors of a sensor p 104 1 10 3 Output sequence of color sensors RGB Bayer Figure 2 Output sequence of RAW data 1 10 4 Bilinea...

Page 74: ...tifacts Note There are more advanced and adaptive methods like edge sensitive ones available if the host is doing this debayering 1 11 Filters MATRIX VISION offers two filters for the mvBlueFOX camera...

Page 75: ...tly in the path of rays in image processing applications The filter is protected against scratches during the transport by a protection film that has to be removed before the installing the filter Tec...

Page 76: ...oth sides 1 12 GUI tools 1 12 1 Introduction MATRIX VISION provides several convenient tools with graphical user interface to set up and work with their devices Please find a short list and descriptio...

Page 77: ...tall remove or configure the MATRIX VISION GigE Vision capture filter driver See also For further information about the tools please follow the link to the separate manual describing the GUI tools in...

Page 78: ...me ID Set internal trigger signal to sensor controller TriggerReset Reset internal trigger signal to sensor controller ExposeSet Set internal expose signal to sensor controller ExposeReset Reset inter...

Page 79: ...ce in Enumerations C developers CameraSettingsBlueFOX C developers In the Use Cases p 91 chapter there are the following HRTC sample Using single camera Achieve a defined image frequency HRTC p 164 De...

Page 80: ...found on the MATRIX VISION website mvIMPACT Acquire C API mvIMPACT Acquire C API mvIMPACT Acquire Java API mvIMPACT Acquire NET API mvIMPACT Acquire Python API Compiled versions CHM format might alrea...

Page 81: ...irectX 9 0 Programmer s Reference Supported property set GUID s AMPROPERTY_PIN_CATEGORY DIRECT_SHOW_ACQUIRE_PROPERTYSET 1 15 1 1 C example code using the IKsPropertySet interface This section provides...

Page 82: ...s Stop props 0x5 propertyName IOSubSystem HardwareRealTimeController HRTCtrl_0 ProgramSize value i 0x5 props 0x40 propertyName ImagingSubsystem Setting Base Camera AutoExposeControl value s Off props...

Page 83: ...ingSubsystem Setting Base ImageProcessing ColorProcessing The property ColorProcessing is from type stringArray Please have a look to the stringArray for the different strings _WRITE_STRING_PROPERTY k...

Page 84: ...ion procedure is needed 1 mvDeviceConfigure needs to be started with elevated rights If no device has been registered the application will more or less depending on the installed devices look like thi...

Page 85: ...tration the column Registered For DirectShow will display yes for every device and the devices will be registered with a default DirectShow friendly name which is displayed in the DirectShow Friendly...

Page 86: ...t click on the device to rename and select Set DirectShow Friendly Name mvDeviceConfigure Set DirectShow Friendly Name 3 Then a dialog will appear Please enter the new name and confirm it with OK mvDe...

Page 87: ...tack with auto assigned names the Windows tool regsvr32 can be used from an elevated command shell The following command line options are available and can be passed during the silent registration EXA...

Page 88: ...ACT_Acquire data logs You can also extract the directory using the following command env grep MVIMPACT_ACQUIRE_DATA_DIR or change the directory directly via cd MVIMPACT_ACQUIRE_DATA_DIR logs For older...

Page 89: ...Mai 21 15 11 mvPropView drwxr xr x 9 user user 4096 Mai 21 15 11 SingleCapture drwxr xr x 9 user user 4096 Mai 21 15 11 SingleCaptureStorage For log file generation you have to execute your app from...

Page 90: ...ry for the clients to operate in an Internet Protocol IP network Digital I O Digital inputs and outputs External trigger External event used to initiate image capture False colors Colors are assigned...

Page 91: ...from the camera and moving them to the user application Gigabit Ethernet GigE The term Gigabit Ethernet defined by the IEEE 802 3 2008 standard represents various technologies for transmitting Etherne...

Page 92: ...rther information please have a look at https en wikipedia org wiki GigE_ Vision The MATRIX VISION GigE Vision capture filter driver as well as the socket based acquisition driver and all MATRIX VISIO...

Page 93: ...resh rate Number of transferred images per second Normally specified in Hz e g 70 Hz Interrupt Interrupt signal sent to the processor The program currently running is interrupted and a predefined func...

Page 94: ...sponse is received on a given address it is considered unused and will be assigned to the interface LLA space is 169 254 x y i e 16bit netmask yielding 64K possible device addresses With Linux you hav...

Page 95: ...t the wished connection using the left mouse button in the Network Manager menu In the LLA case it is just the new created connection Look up table Table of assignments Here new gray scale or colors a...

Page 96: ...he port between the programmer and the hardware The driver concept of MATRIX VISION provides a standardized programming interface to all image processing products made by MATRIX VISION GmbH The advant...

Page 97: ...ure starts the exposure time earlier during readout Note In overlapped trigger mode you have to keep in mind the follow ing formula interval between two trigger events readout time exposure time Pixel...

Page 98: ...protocol It is used by applications to send messages to other hosts on an Internet Protocol IP network Vertical sync Synchronization pulse in video signal for field end recognition Virtual Network Com...

Page 99: ...04 Saving data on the device p 130 Working with several cameras simultaneously p 132 Working with HDR High Dynamic Range Control p 138 Working with I2C devices p 144 Working with LUTs p 157 Working wi...

Page 100: ...u adjust the ImageRequestTimeout_ms either to 0 infinite this is the default value or to a reasonable value that is larger than the actual exposure time in order not to end up with timeouts resulting...

Page 101: ...1 1 Windows 1 Go to https ffmpeg org download html and download the dynamic libraries of FFmpeg ver sion 4 x according to your operating system e g ffmpeg 20200809 6e951d0 win64 shared zip 2 Extract t...

Page 102: ...94 Figure 2 Click Video Stream Recording 3 A setup dialog will then be initialized as follows Please read the setup hints in the text box for more informa tion MATRIX VISION GmbH...

Page 103: ...o stream recording mode Choose a pixel format e g YUV422Packed or YUV422Planar that will be generated by the device driver and used by FFmpeg for video stream encoding Then click on Select an output f...

Page 104: ...96 Figure 4 Enable the video stream recording mode and set up device driver related parameters 5 In the file selector choose a file type e g mp4 or m2v and enter a file name MATRIX VISION GmbH...

Page 105: ...rs accordingly In the check boxes below users are allowed to choose whether to synchronize acquisition stop with recording stop and whether to overwrite the already recorded video stream if the curren...

Page 106: ...has been set up click Apply or Ok to apply the current settings Afterwards a log message in the analysis output will indicate whether the current settings have been applied successfully If successful...

Page 107: ...settings have been applied users can control the recording process via the Start Pause and Stop buttons Start recording Click the Start control button to start recording the video stream The current r...

Page 108: ...igure 8 Start recording Pause recording Click the Pause button to pause a running recording The current recording status will be displayed in the analysis output Figure 9 Pause recording MATRIX VISION...

Page 109: ...Figure 10 Resume recording Stop recording Click the Stop button to stop recording the video stream The current recording status and information will be displayed in the analysis output Once the recor...

Page 110: ...ording is needed please click Cancel in the file selector and re configure parameters in the setup dialog Figure 12 Select a new file when starting to record to an output file with the same file name...

Page 111: ...he same file name as the previous one without overwriting 1 18 1 2 3 Recording Using The API Please refer to the example on how to record a video stream using mvIMPACT Acquire C API Continuous Capture...

Page 112: ...t Based cor rection Storing facility for defective pixel list Flat Field Cor rection Host Flat Field Correction Camera mvBlue COUGAR X X X X mvBlue COUGAR XD If bin ning decimation is on no list is st...

Page 113: ...g Base Camera GenICam Analog Control Gain 0 dB and exposure time Setting Base Camera GenICam Acquisition Control ExposureTime 360 msec to the given operating conditions The total number of defective p...

Page 114: ...want to reset the correction data or repeat the correc tion process you have to set the filter mode to Reset Calibration Data In oder to limit the amount of defective pixels detected the DefectivePix...

Page 115: ...Append Value or Delete Last Value Second with the functions int mvDefectivePixelReadFromDevice void int mvDefectivePixelWriteToDevice void you can exchange the data from the filter with the camera and...

Page 116: ...substitution methods exist 1 Replace 3x1 average which substitutes the detected defective pixels with the average value from the left and right neighboring pixel 3x1 2 Replace 3x3 median which substi...

Page 117: ...s are used to correct an identified defect is the same no static information from a list is used instead they are detected on the fly To use reasonable thresholds knowledge of the noise statistics of...

Page 118: ...ing Base Camera GenICam Image Format Control PixelFormat 4 Set the Filter Mode Calibrate Figure 4 5 Start a Live snap Acquire with Acquisition Mode Continuous 6 Finally you have to activate the correc...

Page 119: ...d to calculate the correction factor You can set the host based flat field correction in the following way 1 All necessary setting can be found under ImageProcessing FlatfieldFilter 2 Stop Continuous...

Page 120: ...You can set the host based flat field correction in the following way 1 All necessary setting can be found under ImageProcessing FlatfieldFilter 2 Stop Continuous acquisition mode 3 Set CalibrationIm...

Page 121: ...based settings are advantageous to achieve highest calculating precision independent of the transmission bit depth lowest latency because all calculations are performed in FPGA on the fly and low CPU...

Page 122: ...ny color optimizations an image can be like this Figure 2 SingleFrame snap without color optimization Figure 3 Corresponding histogram of the horizontal white to black profile As you can see saturatio...

Page 123: ...gure 4 The way to a perfect colored image including these process steps 1 Do a Gamma correction Luminance p 115 2 make a White balance p 118 and 3 Improve the Contrast p 119 4 Improve Saturation p 120...

Page 124: ...There you can find a AutoGainControl and b AutoExposeControl Figure 5 wxPropView Setting Base Camera You can turn them On or Off Using the auto controls you can set limits of the auto control without...

Page 125: ...s 117 Figure 6 After gamma correction Figure 7 Corresponding histogram after gamma correction Note As mentioned above you can do a gamma correction via Setting Base ImageProcessing LUTOperations MATRI...

Page 126: ...reference we can optimize the white balance via Setting Base ImageProcessing WhiteBalanceCalibration Please have a look at White Balancing A Color Camera in the mvIMPACT Acquire SDK GUI Applications...

Page 127: ...stogram after white balance 1 18 2 2 3 Step 3 Contrast Still black is more a darker gray To optimize the contrast you can use Setting Base ImageProcessing LUTControl as shown in Figure 8 The image wil...

Page 128: ...or Transformation Control can be used Setting Base ImageProcessing ColorTwist 1 Click on Color Twist Enable and 2 click on Wizard to start the saturation via Color Transformation Control wizard tool s...

Page 129: ...ct the specific input and output matrix and 7 click on Enable 8 As you can see the correction is done by the host Host Color Correction Controls Note It is not possible to save the settings of the Hos...

Page 130: ...e help of the GainOffsetKnee filter it is possible to correct adjust the overall black level as well as the black level per color channel even when the gain is applied Figure 1 shows the working princ...

Page 131: ...nee filter is located under Setting Base ImageProcessing Figure 2 The GainOffsetKnee filter option in wxPropView 2 Once the GainOffsetKnee filter is activated the configuration field will be displayed...

Page 132: ...e image whereas a negative offset reduces it To visualize the effect an offset of 5 is given as an example which means that the overall black level of the image will be increased by 5 of the max pixel...

Page 133: ...1 18 Use Cases 125 Figure 6 Assign overall master offset to the image Figure 7 The image with 5 overall offset MATRIX VISION GmbH...

Page 134: ...l green channel and blue channel respectively For Bayer images channel 0 3 are used For more description please refer to Figure 3 As an example a gain of 1 0625dB is applied to the red channel As show...

Page 135: ...d using the channel specific Offset_pc Analogous to GainOffset KneeMasterOffset_pc a positive offset increases the black level of the channel whereas a negative offset reduces it To visualize the effe...

Page 136: ...128 Figure 12 Assign individual offset to the red channel Figure 13 The image with 5 offset in the red channel MATRIX VISION GmbH...

Page 137: ...ramming language you are working with the names of classes namespaces and properties might vary slightly For C please refer to the GainOffset KneeChannelParameters class and the Image Processing class...

Page 138: ...ll as the size of the devices non volatile memory reserved for storing mvBlueFOX mvBlueFOX M mvBlueFOX MLC mvBlueFOX3 mvBlueCOUGAR X mvBlueCOUGAR XD mvBlueCOUGAR XT and mvBlueNAOS currently offer 512...

Page 139: ...ries click on the entry you want to adjust and modify the data fields To permanently commit a modification made with the keyboard the ENTER key must be pressed To save the data on the device you have...

Page 140: ...ple cameras Using 2 mvBlueFOX MLC cameras in Master Slave mode p 132 Synchronize the cameras to expose at the same time p 137 1 18 4 1 Using 2 mvBlueFOX MLC cameras in Master Slave mode 1 18 4 1 1 Sce...

Page 141: ...C to set the master camera The following sample shows the HRTC Hardware Real Time Controller p 70 HRTC program which sets the trigger signal and the digital output The sample will lead to a constant f...

Page 142: ...134 Figure 2 wxPropView HRTC program sets the trigger signal and the digital output Do not forget to set HRTC as the trigger source for the master camera MATRIX VISION GmbH...

Page 143: ...r camera 3 Then set the slave with wxPropView p 68 Figure 4 wxPropView Slave camera with TriggerMode OnHighLevel at DigIn 0 1 18 4 1 1 1 Connection using UOW versions opto isolated inputs and outputs...

Page 144: ...kOhm Rin Resistor digital input 3 3 V 5 V 0 kOhm 12 V 0 68 kOhm 24 V 2 kOhm You can add further slaves 1 18 4 1 1 2 Connection using UTW versions TTL inputs and outputs The connection of the mvBlueFOX...

Page 145: ...opto isolated digital inputs and opto isolated digital outputs A predefined frame rate is also possible using HRTC p 164 1 18 4 2 Synchronize the cameras to expose at the same time This can be achiev...

Page 146: ...1 18 5 Working with HDR High Dynamic Range Control There are several use cases concerning High Dynamic Range Control Adjusting sensor of camera models x00w p 138 Adjusting sensor of camera models x02d...

Page 147: ...rcentage compared to the total exposure time is lower Thus the signal increase during T2 is lower as during T1 The max signal level of Knee Point 2 is higher than of Knee Point 1 Phase 2 During T2 all...

Page 148: ...l T2 only 4 and T3 only 1 Thus a high decrease of the very light pixels can be achieved However if you want to divide the integration thresholds into three parts that is S2 2 x S1 and S3 3 x S1 a hund...

Page 149: ...1 exposure 1 56 Phase 2 0 39 of total exposure Fixed4 Phase 1 exposure 0 78 Phase 2 0 195 of total exposure Fixed5 Phase 1 exposure 0 39 Phase 2 0 049 of total exposure User Variable setting of the Kn...

Page 150: ...exposure capture using 3 different exposure times Figure 1 Multiple exposure capture using 3 different exposure times Note The longest exposure time T1 represents the Exposure_us parameter you can se...

Page 151: ...e dynamic range of the sensor at the cost of lower signal to noise ratio and vice versa 1 18 5 2 2 2 Possible settings Possible settings of the mvBlueFOX x02d in HDR mode are HDREnable Off Standard mo...

Page 152: ...with I2C devices Note Please find a detailed description of the I2C interface class I2CControl in the mvIMPACT Acquire SDK manuals Working with the I2C interface I2C Control p 145 Using mvBlueFOX MLC...

Page 153: ...or is used Figure 1 wxPropView I2C Interface Control 1 Start wxPropView p 68 2 Initialize the mvBlueFOX device 3 Navigate to Digital I O I2CControl 4 Enter the connection settings to address the I2C d...

Page 154: ...Unexpected driver behaviour i2cc I2CBufferLength write 1 assuming we write to an invalid address assert i2cc I2COperationExecute call DMR_EXECUTION_FAILED Unexpected driver behaviour assert i2cc I2COp...

Page 155: ...all I2COperationExecuteResult i2cc I2COperationExecute call if I2COperationExecuteResult DMR_NO_ERROR printf I2COperationExecute read failed Return value s d n ImpactAcquireException getErrorCode prin...

Page 156: ...manual Lens Type Lens not included accepts M12x0 5mm smaller lenses to M8x0 35 with adapter from your lens supplier Lens Weight 5 grams Travel Range Up to 1 5 mm Housing Dimension 20 x 22 x 16 mm Max...

Page 157: ...or and reduce operation noise Please note that the lens will remain at its position also in open loop mode due to mechanical friction The open loop mode can be set via MotorFocusSendBuffer value 20 0...

Page 158: ...is a wrapper of the MotorFocusControl class which makes the following methods and properties available in the GUI p 68 Properties MotorFocusAbsolutePositionCurrent An integer property read only stori...

Page 159: ...be called using the set properties e g 100 as MotorFocusIncrement value as shown in Figure 2 The following explains the typical adjustment procedure 1 Move the lens mount to the farthest position by a...

Page 160: ...rFocusSend The following example shows how you can get status and position of the motor Furthermore it shows how you can check if the motor is still running int motorRunning 0x4 motorFocusControl moto...

Page 161: ...ing toward target 1 Motor is moving toward a target position appears after com mand 08 or move step command 06 Once the target is reached bit 19 is set to zero 20 Maintenance mode enabled 1 Controller...

Page 162: ...lisec 1000 requested tv_nsec millisec 1000 1000000L nanosleep requested NULL endif class MotorControl private const MotorFocusControl mfc const string version private so as to hide the command strings...

Page 163: ...t bitNr const return bitIsNotSet replyToInt reply bitNr bitNr public explicit MotorControl Device device mfc MotorFocusControl device version initializeAndGetVersion if bitIsNotSet getStatus 21 writeC...

Page 164: ...false return true int main void DeviceManager devMgr Device pDev getDeviceFromUserInput devMgr isDeviceSupportedBySample if pDev cout Unable to continue Press ENTER to end the application endl cin ge...

Page 165: ...pixel which is white in the input image value 255 will become black value 0 in the output image All MATRIX VISION devices use a hardware based LUT which means that no host CPU load is needed and the L...

Page 166: ...st select either Software or Hardware Three LUTMode s are available Gamma You can use Gamma to lift darker image areas and to flatten the brighter ones This compensates the contrast of the object The...

Page 167: ...Direct 3 Right click on LUTs LUT 0 DirectValues 256 and select Set Multiple Elements Via A User Defined Value Range This is one way to get an inverted result It is also possible to use the LUTMode In...

Page 168: ...e and readout one image Now if the trigger signal is still high the sensor will start to expose and readout the next image see Figure 1 upper part This will lead to an acquisition just like using cont...

Page 169: ...as long as the high level takes The first image will start with the low high edge of the signal The integration time of the exposure register will be used OnLowLevel The first image will start with t...

Page 170: ...ng Windows 10 or Windows 7 VLC Media Player with versions 2 2 0 have been tested successfully with older versions of mvIMPACT Acquire Since version 3 0 0 of VLC at least mvIMPACT Acquire 2 34 0 will b...

Page 171: ...o the host device directly or via GigE switch using an Ethernet cable 2 Power the camera using a power supply at the power connector 3 Wait until the status LED turns blue 4 Open the tool mvDeviceConf...

Page 172: ...ng the Hardware Real Time Controller HRTC Using single camera Achieve a defined image frequency HRTC p 164 Delay the external trigger signal HRTC p 166 Creating double acquisitions HRTC p 167 Take two...

Page 173: ...singEdge 0 WaitClocks frame time in us trigger pulse width in us 1 TriggerSet 1 2 WaitClocks trigger pulse width in us 3 TriggerReset 4 Jump 0 So to get e g exactly 10 images per second from the camer...

Page 174: ...developers 1 18 10 2 Delay the external trigger signal HRTC Note Please have a look at the Hardware Real Time Controller HRTC p 70 chapter for basic information 0 WaitDigin DigIn0 On 1 WaitClocks dela...

Page 175: ...r TriggerReset you have to set the camera to ExposeSet immediately Now you have to wait until the first image was read out and then set the second TriggerSet The ExposureTime was set to 200 us 0 WaitD...

Page 176: ...mes after an external trigger HRTC Note Please have a look at the Hardware Real Time Controller HRTC p 70 chapter for basic information The following code shows the solution in combination with a CCD...

Page 177: ...rdwareRealTimeController Filename and select the downloaded file Afterwards click on int Load to load the HRTC program There are timeouts added in line 4 and line 14 to illustrate the different exposu...

Page 178: ...TriggerSource Afterwards you have to configure the HRTC program 1 The HRTC program waits for a rising edge at the digital input 0 step 1 2 If there is a rising edge the trigger will be set step 2 3 A...

Page 179: ...ture Settings In Parallel in the mv IMPACT Acquire SDK GUI Applications manual To see a code sample in C how this can be implemented in an application see the description of the class mvIMPACT acquire...

Page 180: ...to digital input 0 of camera one and digital output 0 is connected to digital input 0 of camera two Each additional camera will then be connected to it predecessor like camera 2 is connected to camer...

Page 181: ...0 8 Mpix 1024 x 768 p 183 mvBlueFOX Model 223 1 4 Mpix 1360 x 1024 p 187 mvBlueFOX Model 224 1 9 Mpix 1600 x 1200 p 192 1 19 1 1 mvBlueFOX Model 220 0 3 Mpix 640 x 480 1 19 1 1 1 Introduction The CCD...

Page 182: ...input is above the trigger threshold OnFallingEdge Each falling edge of trigger signal acquires one image OnRisingEdge Each rising edge of trigger signal acquires one image OnHighExpose Each rising e...

Page 183: ...from readout cells to memory treadout ActiveLines treadline 510 ActiveLines tvshift 1 19 1 1 3 1 Timings Note In partial scan mode readout window ysize 480 lines To calculate the maximum frames per se...

Page 184: ...needed to send data to the CCD controller depending on what is changed exposure abt 2 3ms window abt 4 6ms trigger mode from 5 90ms varies with oldmode newmode combination 2 Time to initialize erase t...

Page 185: ...cific Camera Sensor Data 177 1 19 1 1 5 1 Characteristics These zone definitions apply to both the color and gray scale version of the sensor 1 19 1 1 5 2 Color version 1 19 1 1 5 3 Gray scale version...

Page 186: ...480 1 19 1 2 1 Introduction The CCD sensor is a highly programmable imaging module which will for example enable the following type of applications Industrial applications triggered image acquisition...

Page 187: ...OnFallingEdge will use digital input 0 as input for the trigger signal Input 0 is not restricted to the trigger function It can always also be used as general purpose digital input The input switching...

Page 188: ...rig t_readout t_exposure t_trans t_wait Expose mode Overlapped t_trig t_readout t_trans t_wait t_exposure FPS_max 1 t_exposure t_trig t_readout t_trans t_wait t_exposure FPS_max 1 t_trig t_readout t_t...

Page 189: ...chip after reprogramming this is fixed abt 4 5 ms So for example when reprogramming the capture window you will need average values tregprog change_window init_ccd tregprog 5ms 4 5ms tregprog 9 5ms 1...

Page 190: ...Characteristics These zone definitions apply to both the color and gray scale version of the sensor 1 19 1 2 5 2 Color version 1 19 1 2 5 3 Gray scale version Device Feature And Property List p 183 MA...

Page 191: ...light conditions optimizing image quality using the variable shutter control 1 19 1 3 2 Details of operation The process of getting an image from the CCD sensor can be separated into three different p...

Page 192: ...transferred to memory Shifting out non active lines takes tvshift while shifting out active lines will consume treadline The number of active pixels per line will not have any impact on readout speed...

Page 193: ...ease keep in mind that it will depend on the interface and the used image format if this frame rate can be transferred See also To find out how to achieve any defined freq below or equal to the achiev...

Page 194: ...ixels Chip size 5 80mm H x 4 92mm V Unit cell size 4 65um H x 4 65um V Optical black Horizontal H direction Front 3 pixels rear 40 pixels Vertical V direction Front 7 pixels rear 2 pixels Number of du...

Page 195: ...igital code Digital_code lsb ccd_signal V 256 lsb V exp gain bB 20 lsb least significant bit smallest digital code change Device Feature And Property List p 187 1 19 1 3 7 Device Feature And Property...

Page 196: ...s High camera acquires images with own timing OnFallingEdge Each falling edge of trigger signal acquires one image OnRisingEdge Each rising edge of trigger signal acquires one image OnHighExpose Each...

Page 197: ...max freq please have a look at Achieve a defined image frequency HRTC p 164 1 19 1 4 4 Reprogramming CCD Timing Reprogramming the CCD Controller will happen when the following changes occur Changing t...

Page 198: ...pixels Chip size 7 60mm H x 6 2mm V Unit cell size 4 65um H x 4 65um V Optical black Horizontal H direction Front 2 pixels rear 40 pixels Vertical V direction Front 8 pixels rear 2 pixels Number of d...

Page 199: ...e analog front end contains a programmable gain amplifier which is variable from 0db gain 0 to 30dB gain 255 The 8 most significant bits of the ADC are captured to the frame buffer This will give the...

Page 200: ...ons long time exposure for low light conditions optimizing image quality using the variable shutter control 1 19 1 5 2 Details of operation The process of getting an image from the CCD sensor can be s...

Page 201: ...ip is integrating light Exposure time is adjustable by software in increments of treadline 1 19 1 5 2 3 Readout When exposure is finished the image is transferred to hidden storage cells on the CCD Im...

Page 202: ...posure t_trig t_readout t_trans t_wait t_exposure FPS_max 1 t_trig t_readout t_trans t_wait 1 19 1 5 3 2 Example Frame rate as function of lines exposure time Now when we insert the values using expos...

Page 203: ...after reprogramming this is fixed abt 4 5 ms So for example when reprogramming the capture window you will need average values tregprog change_window init_ccd tregprog 5ms 4 5ms tregprog 9 5ms 1 19 1...

Page 204: ...196 1 19 1 5 5 1 Characteristics These zone definitions apply to both the color and gray scale version of the sensor 1 19 1 5 5 2 Color version 1 19 1 5 5 3 Gray scale version MATRIX VISION GmbH...

Page 205: ...code Digital_code lsb ccd_signal V 256 lsb V exp gain bB 20 lsb least significant bit smallest digital code change Device Feature And Property List p 197 1 19 1 5 7 Device Feature And Property List m...

Page 206: ...peration free running mode Overlapping exposure and readout snapshot mode Sequential exposure and readout 1 19 2 1 2 1 Free running mode In free running mode the sensor reaches its maximum frame rate...

Page 207: ...read out line by line after exposure Note Exposure and read out cycle is carry out in serial that causes that no exposure is possible during read out The step width for the exposure time is 1 us Image...

Page 208: ...tics 1 19 2 1 4 2 Color version 1 19 2 1 4 3 Gray scale version Device Feature And Property List p 200 1 19 2 1 5 Device Feature And Property List mvBlueFOX 200wG Features p 201 mvBlueFOX 200wC Featur...

Page 209: ...readout timing with free capture windows and partial scan many trigger modes free running hardware triggered 1 19 2 2 2 Details of operation The sensor uses following acquisition mode rolling shutter...

Page 210: ...v IMPACT Acquire API C TCameraTriggerMode C mvIMPACT acquire TCameraTriggerMode 1 19 2 2 2 3 Erase exposure and readout After the trigger pulse the complete sensor array is erased This takes some time...

Page 211: ...3 Sensor Data Device Structure Progressive scan CMOS image sensor Image size 6 66 H x5 32 V mm Type 1 2 Number of effective pixels 1280 H x 1024 V Unit cell size 5 2um H x 5 2um V 1 19 2 2 4 Characte...

Page 212: ...ShutterMode FrameShutter i e light exposure takes place on all pixels in parallel although subsequent readout is sequential Therefore the sensor offers two different modes of operation free running mo...

Page 213: ...external trigger signal needed OnLowLevel As long as trigger signal is Low camera acquires images with own timing OnHighLevel As long as trigger signal is High camera acquires images with own timing...

Page 214: ...ght 1650 PixelClock 25 1650 PixelClock FPS_max 1 FrameTime ExposureTime AOI PixelClock MHz Exposure Time us Maximal Frame Rate fps PixelFormat Maximum 40 100 24 6 Mono8 W 1036 x H 776 40 100 30 3 Mono...

Page 215: ...version Device Feature And Property List p 207 1 19 2 3 5 Device Feature And Property List mvBlueFOX ML IGC202vG Features p 207 mvBlueFOX ML IGC202vC Features p 207 1 19 2 3 5 1 mvBlueFOX ML IGC202vG...

Page 216: ...ls in parallel although subsequent readout is sequential Therefore the sensor offers two different modes of operation free running mode Overlapping exposure and readout snapshot mode Sequential exposu...

Page 217: ...s images with own timing See also Using external trigger with CMOS sensors p 160 1 19 2 4 2 4 Erase exposure and readout All pixels are light sensitive at the same period of time The whole pixel core...

Page 218: ...Mono8 W 1036 x H 776 40 100 30 3 Mono8 W 838 x H 627 40 100 37 1 Mono8 W 678 x H 598 40 100 38 9 Mono8 W 550 x H 484 40 100 47 6 Mono8 1 19 2 4 3 Measured frame rates 1 19 2 4 4 Sensor Data Device Str...

Page 219: ...X Model 202d 1 2 Mpix 1280 x 960 1 19 2 5 1 Introduction The CMOS sensor module MT9M034 incorporates the following features resolution to 1280 x 960 gray scale or RGB Bayer mosaic supports window AOI...

Page 220: ...o control when to start an acquisition This mode is used with trigger mode Continuous To calculate the maximum frames per second FPSmax in free running mode you will need following formula FrameTime I...

Page 221: ...r the exposure time is 1 us Image data is then shifted out line by line and transferred to memory To calculate the maximum frames per second FPSmax in snapshot mode you will need following formula Fra...

Page 222: ...lor version 1 19 2 5 4 3 Gray scale version Device Feature And Property List p 214 1 19 2 5 5 Device Feature And Property List mvBlueFOX ML IGC202dG Features p 215 mvBlueFOX ML IGC202dC Features p 215...

Page 223: ...and partial scan many trigger modes free running hardware triggered 1 19 2 6 2 Details of operation The sensor uses two acquisition modes rolling shutter ShutterMode ElectronicRollingShutter and globa...

Page 224: ...e and readout phase The sensor timing in free running mode is fixed so there is no control when to start an acquisition This mode is used with trigger mode Continuous To calculate the maximum frames p...

Page 225: ...posure Note Exposure and read out cycle is carry out in serial that causes that no exposure is possible during read out The step width for the exposure time is 1 us Image data is then shifted out line...

Page 226: ...e scan CMOS image sensor Image size 5 70 H x4 28 V mm Type 1 2 5 Number of effective pixels 2592 H x 1944 V Unit cell size 2 2um H x 2 2um V 1 19 2 6 4 1 Characteristics 1 19 2 6 4 2 Color version 1 1...

Page 227: ...order to get your devices run at maximum performance This chapter contains test results from different ARM platforms as well as the specific information on each platform especially changes that need t...

Page 228: ...delivers limited performance with this device The system hasn t been tested yet with this device Appendices C 1 ARM64 based devices p 220 C 2 ARMhf based devices p 228 1 21 1 C 1 ARM64 based devices...

Page 229: ...ibes the specification of the NVIDIA Jetson AGX Xavier Developer Kit The following tests were conducted on JetPack 4 6 0 1 21 1 1 2 Test Setup Test setup 1 21 1 1 3 Additional Settings mvIMPACT Acquir...

Page 230: ...rring one As a rule of thumb the number of capture buffers should be configured roughly within the range of FPS 2 and FPS 5 In the following test the RequestCount is set to 20 which is roughly FPS 5 C...

Page 231: ...default the value is set to 4 for MATRIX VISION USB2 0 cameras so that the driver can continue capturing image data even if the host application is sometimes slower at processing an image than the cam...

Page 232: ...se request buffers i e RequestCount in SystemSettings by default the value is set to 4 for MATRIX VISION USB2 0 cameras so that the driver can continue capturing image data even if the host applicatio...

Page 233: ...d with power through the Barrel Jack connector 4A 5V when powering the USB USB3 camera through the USB bus 1 21 1 4 NVIDIA Jetson TX2 CPU ARM Cortex A57 2GHz NVIDIA Denver2 2GHz Cores 4 2 RAM 8GB USB2...

Page 234: ...in the range of FPS 2 and FPS 5 In the following test the RequestCount is set to 20 which is roughly FPS 5 Camera Resolution Pixel Format Frame Rate Frames s Bandwidth MB s CPU Load mvBlueFOX IGC200wG...

Page 235: ...ount in SystemSettings by default the value is set to 4 for MATRIX VISION USB2 0 cameras so that the driver can continue capturing image data even if the host application is sometimes slower at proces...

Page 236: ...e Raspberry Pi 4 is a well priced platform regarding its performance CPU Cortex A72 1500MHz Cores 4 RAM 1 2 4 8 GB USB2 0 Interfaces 2 USB3 0 Interfaces 2 Ethernet 10 100 1000 MBit Note For the follow...

Page 237: ...unt in SystemSettings by default the value is set to 4 for MATRIX VISION USB2 0 cameras so that the driver can continue capturing image data even if the host application is sometimes slower at process...

Page 238: ...230 MATRIX VISION GmbH...

Reviews: