background image

 

 

 

 

 

SDK API Manual 

 
 

           

USB3.0 CMOS cameras                            

     

   

 
 
 

 

 

 

USB2.0 CMOS cameras  

 

 

 

SD

K

 A

P

I Manu

al

 -

 R

ev

. 2

.0

.1

.2

 

P

leas

no

te 

th

at

 a

ll 

dat

an

ill

us

tr

at

io

ns

 ar

subj

ec

to

 er

ro

r, 

cha

ng

and 

o

m

is

si

o

ns

 wi

tho

ut 

n

o

ti

ce.

  

 

 

 

 

 

 

 

 

 

 

 

 

3i

Cu

b

iC

u

b

e

 

Summary of Contents for 3iCUBE

Page 1: ...1 SDK API Manual USB3 0 CMOS cameras USB2 0 CMOS cameras SDK API Manual Rev 2 0 1 2 Please note that all data and illustrations are subject to error change and omissions without notice 3iCube iCube ...

Page 2: ...era body Warranty shall be voided for improper usage or fault caused by user or damage caused by other equipments due to negligence Warranty NET GMBH warrants the original components free of defects for one year from purchase date This warranty covers failures and damage due to defect which may occur during normal use It does not cover damages or failure resulting from mishandling abuse misuse or ...

Page 3: ...SYSTEM REQUIREMENTS 11 HARDWARE REQUIREMENTS 11 SOFTWARE REQUIREMENTS 11 USAGE NOTES 12 SOFTWARE 15 SOFTWARE CD 15 SOFTWARE INSTALLATION 17 SOFTWARE AND DRIVER UPDATE 18 PROBLEMS 18 APPLICATIONS 19 ICUBE ICONTROL 19 CALIBRATION OPTIONAL 19 ICUBE DX REGISTRATION 20 ICUBE SDK SAMPLES WINDOWS 21 SDK INTERFACE 22 MICROSOFT VISUAL STUDIO C 22 C BUILDER 22 VISUAL BASIC NET 22 VISUAL BASIC 6 0 22 C 23 ...

Page 4: ...NS 39 SAVE FUNCTIONS 41 TRIGGER FUNCTIONS 43 PARAMETER FUNCTIONS 45 EXPOSURE FUNCTIONS 47 ADDITIONAL PARAMETER FUNCTIONS 49 ERROR CODES 51 DIRECTSHOW INTERFACES 52 SUPPORTED STANDARD DIRECTSHOW INTERFACES 52 ICUBE DIRECTSHOW INTERFACES 52 ICUBE DIRECTSHOW SETTING 53 VIDEO CONTROL PARAMETERS 54 VIDEO STREAM CONTROL PARAMETERS 56 TECHNICAL SUPPORT 57 IMPRINT 58 ...

Page 5: ...e or build Application for cameras or hardware from other venders with this API The EVALUATION VERSION SOFTWARE is provided to you AS IS without warranty The entire risk of the quality and performance of the software is with its users We would appreciate feedback bug report of any kind however we can not guarantee satisfactory response Legal Notice By installing copying or otherwise using the SOFT...

Page 6: ...19 FIGURE 5 ICUBE DX REGISTRATION 20 FIGURE 6 VIDEO CONTROL PARAMETERS 53 FIGURE 7 CAMERA CONTROL PARAMETERS 55 FIGURE 8 VIDEO STREAM CONTROL PARAMETERS 56 List of Tables TABLE 1 STANDARD CAMERA FUNCTION CONTROL 24 TABLE 2 ERROR CODES 51 TABLE 3 VIDEO CONTROL PARAMETERS 54 TABLE 4 CAMERA CONTROL PARAMETERS 55 TABLE 5 VIDEO STREAM CONTROL PARAMETERS 56 ...

Page 7: ... instruction manual may cause harmful interference to radio communication Operation of this equipment in a residential area is likely to cause harmful interference in which case the user will be required to correct the interference at his own expense CE This apparatus has been certified to meet or exceed the standards for CE compliance per Council Directives Pertinent testing documentation is avai...

Page 8: ...foreign matter or if the equipment is dropped or malfunctions fire or electric shock may result Be always sure to disconnect the power cable from the wall socket at once and contact your dealer Unplug Do not use the equipment in locations subject to water splashes Otherwise fire or electric shock may result Do not wet Safety Signs Description WARNING Indicates a potentially hazardous situation tha...

Page 9: ...esult in fire or electric shock Do not handle roughly damaged fabricated bent forcefully pulled twisted bundled placed under heavy objects or heated the power cable and the connection cable Otherwise fire or electric shock may result Avoid CAUTION Observe the following when installing the equipment Do not cover the equipment with a cloth etc Do not place the equipment in a narrow location where he...

Page 10: ... Otherwise its inner image pickup device might get damaged Avoid Avoid short circuiting signal output Otherwise a malfunction may occur Avoid Avoid giving a strong shock against the camera body It might cause a breakdown or damage If your camera is used in a system where its camera connector is subjected to strong repetitive shocks its camera connector is possible to break down If you intend to us...

Page 11: ...um IV processor with a clock frequency of at least 1 5 GHz or higher Software requirements iCube iControl Viewer Software The iControl software allows you to test the functionalities of the 3iCube camera on your own application Apart from controlling the 3iCube camera you can grab images and save them as jpg bmp and tiff files SynView Software Development Kit SDK only USB3 Vision supported complia...

Page 12: ... specifications In a thermal challenging environment the customer needs to ensure sufficient heat dissipation with a thermal connection to the bottom of the camera housing and sufficient airflow Non adequate thermal connection may increase heat induced noise or degrade image quality in other ways and internal components may be adversely affected up to camera outages due to overheating Temperature ...

Page 13: ...up surface If the equipment is not to be used for a long duration turn off power to the camera for safety Check compatibility of lens Depending on lens and lighting an image can be reflected as a ghost into the imaging area This is not a fault of the camera Depending on the lens the performance of the camera might not be brought out fully due to deterioration in resolution and brightness in the pe...

Page 14: ...e noise may be generated on the screen If this occurs move the camera or the cable Following information is only for EU member states The use of the symbol indicates that this product may not be treated as household waste By ensuring this product is disposed correctly you help to prevent potential negative consequences for the environment and human health which could otherwise be caused by inappro...

Page 15: ...33_MultiROI Microsoft Visual Studio multi roi example C C SDK Example C Microsoft Visual Studio examples C Builder Borland C Builder SDK Example iCubeSDKSample_x32_VC6 Visual Studio 6 0 32bit SDK Example iCubeSDKSample_x32_x64_vs2010 Visual Studio 2010 32bit 64bit SDK Example vb 6 Visual Basic 6 0 SDK Example VB NET VB NET SDK Example 06_Tools dxRegistration Register more than one device as direct...

Page 16: ...eb debian packet which uses usbfs interface used for older debian distrutions readme txt describes requirements of usbfs and libudev packets 99 netusbcam rules rules for netusbcam libudev packet 05_Interfaces SDK SDK tar gz SDK packet API NETUSBCAM_API h HelloICube minimal iCube example MultiROI_SIMR_Test multi roi sdk example MultiROITest multi roi sdk example sdk_sample1 QT based SDK example ...

Page 17: ...o your USB 3 0 port and 3iCube 3 Windows plug and play manager recognizes the new hardware 4 Follow the instruction of the Windows plug and play manager 5 After the 3iCube driver is installed you can see on the device Manager imaging devices the recognized 3iCube camera 3iCube NET ICube_Cam Device USB30 Windows german version Windows english version Figure 2 Device manager ...

Page 18: ... file on the device manager imaging devices and select the driver manually Problems Due to heavy real time data transfer and processing system performance especially CPU is crucial for smooth operation Possible performance degradation such as actual frame rate drop may occur for systems with lower performance than of Pentium IV 1 5 GHz computer Faulty cables can drop the frame rate The maximum of ...

Page 19: ... controlling the 3iCube camera you can grab images and save them as jpg bmp and tiff files Figure 3 iControl viewer software Calibration optional The Color Calibration application uses a Macbeth standard color checker to evaluate the predefined color spots and calculate the correction values for the RGB color matrix in the camera Figure 4 Macbeth standard color checker ...

Page 20: ...Choose device to register You will see the connected camera with serial numbers in the ComboBox The selection of the dx capture filter in 2 will change automatically when changing the device 2 Register the selected device The name in the square brackets is the dx friendly name which will appear in amcap for example Additional functionalities are explained in Tools dxRegistration readme txt Figure ...

Page 21: ...MR Multiple Integration Multiple ROI mode allows the user to define an acquisition cycle comprising 1 to 4 ROI cycle s SIMR Single Integration Multiple ROI mode allows 1 2 or 4 areas of interest to be acquired within the same integrated image C Microsoft Visual Studio examples C Builder Borland C Builder SDK Example ICubeSDKSample_x32_VC6 Visual Studio 6 0 32bit SDK Example ICubeSDKSample_x32_x64_...

Page 22: ...le C Builder Static linking If the user want to use iCubeSDK lib file while compiling add the path lib IcubeSDK lib to library modules Uncomment the define define LIBFILE in the NET_iCube_API h file Uncomment the define define BORLAND_C in the NET_iCube_API h file dynamic linking Comment the define define LIBFILE in the NET_iCube_API h file Visual Basic NET available Visual Basic NET example Inter...

Page 23: ...23 58 23 C available C example Interface definitions ICube cs ...

Page 24: ...SDK_Stop stops the video stream iCube SDK_GetSize get the current frame sizes iCube SDK_GetName get the name of the selected camera iCube SDK_GetBrokenFrames get the number of broken frames since the last start iCube SDK_GetGoodFrames get the number of good frames since the last start iCube SDK SetDisplayMode sets the display mode Version function iCube SDK_GetVersion get the SDK version iCube SDK...

Page 25: ...r mode iCube SDK_GetTrigger gets the current trigger mode Parameter functions iCube SDK_SetCamParameter set parameter value iCube SDK_GetCamParameter get parameter value iCube SDK_GetCamParameterRange get parameter min max values default value auto onepush and enabled information Exposure functions iCube SDK_SetExposure set Exposure time Input iCube SDK_GetExposure get Exposure time Output iCube S...

Page 26: ...SDK_Open int nCamIndex Purpose opens the camera interface Description Parameters int CamIndex Return value Int stat Return value int stat IC_SUCCESS success else error Parameters int nCamIndex index of camera to open void iCube SDK_Close int nCamIndex Purpose closes the camera interface Description Parameters int CamIndex Return value Int stat Return value int stat IC_SUCCESS success else error Pa...

Page 27: ... SDK_IsOpen int nCamIndex Purpose checks for open camera interfaces Description Parameters int CamIndex Return value Return value int stat ON camera is open OFF camera is not open Parameters int nCamIndex index of camera ...

Page 28: ...e below Description Parameters int CamIndex int nMode long CALLBACK CallbackFunc void pCBContext Return value Int stat Return value int stat IC_SUCCESS success else error Parameters int nCamIndex index of camera int nMode defines the grab mode CALLBACK_RAW Data format passed to the callback function color camera 8bit Pixel Bayer raw Data monochrome camera 8bit Pixel Raw Data CALLBACK_RGB Data form...

Page 29: ...int stat IC_SUCCESS success else error Parameters int nCamIndex index of camera HWND ImgHandle handle to preview window bool Preview set unset the use of a preview window If preview mode is set and ImgHandle is NULL a default preview window will be used bool Callback set unset the use of the callback function void iCube SDK_IsStarted int nCamIndex Purpose checks for open image stream Description P...

Page 30: ...t Return value int stat IC_SUCCESS success else error Parameters int nCamIndex index of camera int iCube SDK_GetSize int nCamIndex int pnXRes int pnYRes Purpose get the current frame sizes Description Parameters int CamIndex int pnXRes int pnYRes Return value int stat Return value int stat IC_SUCCESS success else error Parameters int nCamIndex index of camera int pnXRes current width int pnYRes cu...

Page 31: ...rokenFrames int nCamIndex int pnFrames Purpose get the number of broken frames since the last start The broken frames information can also be retrieved via the callback function if the parameter REG_CALLBACK_BR_FRAMES is set to ON In this case a buffersize of 0 indicates a badframe Description Parameters int CamIndex int pnFrames Return value int stat Return value int stat IC_SUCCESS success else ...

Page 32: ...perty Purpose sets the display mode This function has to be called before ICubeSDK_Start Description Parameters int CamIndex int nMode DISP_PROPERTY property Return value int stat Return value int stat IC_SUCCESS success else error Parameters int nCamIndex index of camera int nMode DISPLAY_NORMAL displays the full frame DISPLAY_FIT_TO_WINDOW resizes the displayed frame to the size of the preview w...

Page 33: ... char pVersion Purpose get the firmware version Description Parameters int CamIndex char pVersion Return value int stat Return value int stat IC_SUCCESS success else error Parameters int nCamIndex index of camera char version the version of the camera firmware int iCube SDK_GetSerialNum int nCamIndex char pVersion Pupose get the serial number of the camera Description Parameters int CamIndex char ...

Page 34: ...firmware version This functions returns IC_SUCCESS if the hardware uses a FPGA Description Parameters int CamIndex char pVersion Return value int stat Return value int stat IC_SUCCESS success else error Parameters int nCamIndex index of camera char version the version of the camera fpga firmware ...

Page 35: ...PROPERTY property Return value int stat Return value int stat IC_SUCCESS success else error Parameters int nCamIndex index of camera ROI_PROPERTY property pointer to the ROI_PROPERTY structure int iCube SDK_GetResolution int nCamIndex ROI_PROPERTY property Purpose get the resolution and position of the Region of Interest ROI Get the enable disable status of the ROI mode Description Parameters int ...

Page 36: ...ilable only for 4133 and 4203 cameras The correct roi ID 2 4 has to set before this function with ICubeSDK_SetCamParameter nCamIndex REG_ROI_ID roi ID It is not allowed to leave a gap in the roi settings you can not set roi 2 without setting roi 1 See 4133_MultiROI SDK Example Linux this function is not available with the linux api see MultiROITest example Description Parameters int CamIndex ROI_P...

Page 37: ...de highest resolution Description Parameters int CamIndex int nMode Return value int stat Return value int stat IC_SUCCESS success else error Parameters int nCamIndex index of camera int nMode this value sets the basis format see table below Table 2 resolution Mode Resolution 0 320x240 QVGA 1 640x480 VGA 2 752x480 WVGA 3 800x600 SVGA 4 1024x768 XGA 5 1280x1024 SXGA 6 1600x1200 UXGA 7 2048x1536 QXG...

Page 38: ...arameters int nCamIndex index of camera int pMode current format int iCube SDK_GetModeList int nCamIndex int pLength int pList Purpose get the possible formats of the camera Description Parameters int CamIndex int pLenght int pList Return value int stat Return value int stat IC_SUCCESS success else error Parameters int nCamIndex index of camera int pLength number of formats in list int pList forma...

Page 39: ... used The availability of BinSkip modes is camera dependent and can be identified with iCubeSDK_GetBinSkipList Description Parameters int CamIndex int nParameter int nMode Return value int stat Return value int stat IC_SUCCESS success else error Parameters int nCamIndex index of camera int nParameter this value sets how many pixels should skipped or binned BIN_SKIP_OFF BIN_SKIP_2ND_PIXEL or BIN_SK...

Page 40: ...get current skipping mode MODE_BIN get current binning mode int iCube SDK_GetBinSkipList int nCamIndex int nMode int pLength int pList Purpose get the possible skipping or binning formats of the camera Description Parameters int CamIndex int nMode int pLenght int pList Return value int stat Return value int stat IC_SUCCESS success else error Parameters int nCamIndex index of camera int nMode MODE_...

Page 41: ...era is in freerun mode this function returns when the next available frame has been saved If the camera is in trigger mode this function marks the next available frame to be saved If the frame arrives SetTrigger TRIG_SW_DO it will be saved Description Parameters int CamIndex char Name Return value int stat Return value int stat IC_SUCCESS success else error Parameters int nCamIndex index of camera...

Page 42: ..._AVI_STATE get the avi stream save status ON OFF whereat ON means saving is still in progress and OFF saving is finished Description Parameters int nCamIndex char Name int nMode int nTimeInSecs Return value int stat Return value int stat IC_SUCCESS success else error Parameters int nCamIndex index of camera Char name path and name of the file the extension must be avi int nMode currently only AVI_...

Page 43: ...e IMMEDIATE_TRIGGER_RETURN is default and the only possible mode iCube DELAYED_TRIGGER_RETURN is default but it is more common to use IMMEDIATE_TRIGGER_RETURN Description Parameters int nCamIndex int nMode Return value int stat Return value int stat IC_SUCCESS success else error Parameters int nCamIndex index of camera Int nMode TRIG_SW_START starts the software trigger mode TRIG_SW_DO get one sof...

Page 44: ...ex int nMode Purpose gets the current trigger mode Description Parameters int nCamIndex int nMode Return value int stat Return value int stat IC_SUCCESS success else error Parameters int nCamIndex index of camera Int nMode current trigger mode ...

Page 45: ...camera int Type type of parameter to set See Parameter Definitions in API Header unsigned long Value value to set int iCube SDK_GetCamParameter ini nCamIndex int Type unsigned long Value Purpose get parameter value If ICubeSDK_GetCamParameter is used with multi roi applications the correct roi ID 2 4 has to set before this function with ICubeSDK_SetCamParameter nCamIndex REG_ROI_ID roi ID See 4133...

Page 46: ...epush and enabled information Description Parameters int nCamIndex int Type PARAM_PROPERTY property Return value int stat Return value int stat IC_SUCCESS success else error Parameters int nCamIndex index of camera int Type type of parameter to get See Parameter Definitions in API Header PARAM_PROPERTY property pointer to PARAM_PROPERTY structure ...

Page 47: ...pose set Exposure time Input Description Parameters int CamIndex float Value Return value int stat Return value int stat IC_SUCCESS success else error Parameters int nCamIndex index of camera FLOAT Value exposure time ms int iCube SDK_GetExposure IN int nCamIndex OUT float Value Pupose get Exposure time Output Description Parameters int CamIndex float Value Return value int stat Return value int s...

Page 48: ...erty Pupose get Exposure time Range Output Description Parameters int CamIndex PARAM_PROPERTY_f property Return value int stat Return value int stat IC_SUCCESS success else error Parameters int nCamIndex index of camera PARAM_PROPERTY_f property pointer to the PARAM_PROPERTY_f ...

Page 49: ...amIndex index of camera int Type type of parameter See Parameter Definitions in API Header int bAuto 1 supported 0 unsupported int iCube SDK_SetParamAuto int nCamIndex int Type int bAuto Purpose if auto mode is supported set unset auto mode of parameter Description Parameters int CamIndex int Type int bAuto Return value int stat Return value int stat IC_SUCCESS success else error Parameters int nC...

Page 50: ...pe of parameter to set See Parameter Definitions in API Header int iCube SDK_SetParamOnePush int nCamIndex int Type Purpose if one push mode is supported set unset one push mode of parameter currently one push is used for white balance Description parameters int CamIndex int Type Return value int stat Return value int stat IC_SUCCESS success else error Parameters int nCamIndex index of camera int ...

Page 51: ...IC_ALREADY_DONE 4 e g Interface already open IC_WRONG_CLOCK_VAL 5 wrong PLL value more information on operation manual camera specification IC_COM_LIB_INIT 6 wrong library called IC_NOT_IF_STARTED 7 parameter not usable when video stream is started IC_WRONG_ROI_ID 8 wrong roi id number IC_IF_NOT_ENABLED 9 parameter not enabled IC_COLOR_CAM_ONLY 10 parameter is only for color cameras IC_DRIVER_VERS...

Page 52: ...ol CameraControl_Exposure These are the interfaces for controlling camera parameters Other implemented interfaces e g IAMStreamConfig are not shown here iCube DirectShow Interface With the iCube DirectShow interface it is possible to control all camera parameters including Trigger mode ROI mode and Bin Skip modes In DirectShow ROI mode is unlike to the SDK a basic format like 640x480 For further d...

Page 53: ...53 58 iCube DirectShow setting Video Control Parameters Figure 7 Video control parameters ...

Page 54: ...e Auto Eeprom Rough Eeprom Fine Eeprom Exp Target Eeprom Gain Eeprom Default Registry default parameters Color Enhancement Color Enhancement enable Eeprom Saturation Eeprom White Balance White Balance Eeprom Red Eeprom Green Eeprom Blue Eeprom Red Offset Eeprom Green Offset Eeprom Blue Offset Eeprom One Push not saved Color correction enable Eeprom TNR enable Eeprom ...

Page 55: ...rol Parameters Trigger Trigger enable not saved Software Trigger not saved Hardware Trigger not saved Trigger Delay Eeprom Push SW trigger not saved Strobe Strobe Delay Eeprom Strobe Length Eeprom Other flip V Registry flip H Registry color enable Registry RAW Data on off Clock Registry ...

Page 56: ...eam control parameters Videoformat Videostandard display only Video Format Registry Framerate calculation PLL H Shutter Resolution Registry Region of Interest Start Position Horizontal Registry Vertical Registry Size Horizontal Registry Vertical Registry Bin Skip Binning Registry Skipping Registry ...

Page 57: ...nce www net france sas fr Italy www net italia it USA www net usa inc com Asia www net japan com Email Europe info net gmbh com France info net france sas fr Italy info net italia it USA info net usa inc com Asia info net japan com Phone Europe 49 8806 92 34 0 France 33 450 452 292 Italy 39 030 5237 163 USA 1 219 934 9042 Asia 81 454 781 020 Fax Europe 49 8806 92 34 77 Italy 39 030 5237 163 USA 1 ...

Page 58: ...ss Lerchenberg 7 D 86923 Finning Germany Contact Phone 49 88 06 92 34 0 Fax 49 88 06 92 34 77 www net gmbh com E mail info net gmbh com VAT ID DE 811948278 Register Court Augsburg HRB 18494 Copyright 2014 NEW ELECTRONIC TECHNOLOGY GMBH All rights reserved ...

Reviews: