191

Click here to load reader

Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

  • Upload
    leliem

  • View
    301

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

Prontocam SDKManual

Prontocam SDK Manual

Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0

API MANUAL VERSION 1.0

Released November, 2006.

Rm.1417, Daerung Techno Town 8th, 481-11,

Gasan-dong, Keumchun-gu, Seoul, Korea

Tel : 82-2-859-5411 Fax : 82-2-859-5410

Page 2: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

2

License Statement

Limited License for Application Manual The demo application of the IMI Tech Camera API(Prontocam) use limited cameras manufactured by IPS system only and my

not be operable with other cameras. Prontocam is fully functional for camera manufactured by IPS system with no restriction.

However restrictions apply for illegal use of the application, modification, reverse and any other act that violates regulation and

the laws concerning the intellectual property.

Please refer to the standard EULA documents for details concerned with API License.

Note IPS system Camera Demo Application (Prontocam) only supports IPS system hardware and strictly forbidden to use or modify

the application for cameras or hardware from other venders. 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 SOFTWARE, you agree to be bound by the terms of the End User License

Agreements (EULA). The SOFTWARE includes IPS system and IPS system suppliers’ intellectual property. Please read IPS

system and IPS system suppliers’ EULA before installing the SOFTWARE. If you do not accept the terms of the license

agreements, please do not install copy or use this SOFTWARE.

Page 3: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

3

Prontocam SDK Manual

1. Introduction.................................................................................................................. 9

1.1. System Requirements............................................................................................................................................. 9

1.2. Installation .......................................................................................................................................................... 10

1.3. Driver Setup ........................................................................................................................................................ 12

2. Getting started............................................................................................................ 15

2.1. Visual Basic ......................................................................................................................................................... 15

2.2. Visual C++ .......................................................................................................................................................... 17

2.3. VB.NET................................................................................................................................................................ 20

2.4. Visual C#............................................................................................................................................................. 22

3. Reference.................................................................................................................... 25

3.1. Properties ............................................................................................................................................................ 25

3.1.1. Acquire....................................................................................................................................................... 27

3.1.2. Asynch ....................................................................................................................................................... 28

3.1.3. AutoExposure ............................................................................................................................................. 29

3.1.4. AutoExposureRef ........................................................................................................................................ 30

3.1.5. BackColor ................................................................................................................................................... 31

3.1.6. Bayer ......................................................................................................................................................... 32

3.1.7. BayerLayout ............................................................................................................................................... 33

3.1.8. BitShift ....................................................................................................................................................... 34

3.1.9. Brightness .................................................................................................................................................. 35

3.1.10. BrightnessControl........................................................................................................................................ 36

3.1.11. Camera ...................................................................................................................................................... 37

3.1.12. Display ....................................................................................................................................................... 38

3.1.13. Edge .......................................................................................................................................................... 39

3.1.14. Flip ............................................................................................................................................................ 40

3.1.15. Focus ......................................................................................................................................................... 41

3.1.16. FocusControl .............................................................................................................................................. 42

3.1.17. Gain........................................................................................................................................................... 43

Page 4: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

4

3.1.18. GainControl ................................................................................................................................................ 44

3.1.19. Hue............................................................................................................................................................ 45

3.1.20. HueControl ................................................................................................................................................. 46

3.1.21. Gamma ...................................................................................................................................................... 47

3.1.22. GammaControl............................................................................................................................................ 48

3.1.23. Iris............................................................................................................................................................. 49

3.1.24. IrisControl .................................................................................................................................................. 50

3.1.25. Magnification .............................................................................................................................................. 51

3.1.26. Mode ......................................................................................................................................................... 52

3.1.27. Overlay ...................................................................................................................................................... 53

3.1.28. OverlayColor............................................................................................................................................... 54

3.1.29. OverlayFont................................................................................................................................................ 55

3.1.30. PacketSize .................................................................................................................................................. 56

3.1.31. Palette ....................................................................................................................................................... 57

3.1.32. Rate........................................................................................................................................................... 59

3.1.33. Saturation .................................................................................................................................................. 60

3.1.34. SaturationControl........................................................................................................................................ 61

3.1.35. ScrollX........................................................................................................................................................ 62

3.1.36. ScrollY........................................................................................................................................................ 63

3.1.37. Sharpness .................................................................................................................................................. 64

3.1.38. SharpnessControl........................................................................................................................................ 65

3.1.39. Shutter....................................................................................................................................................... 66

3.1.40. ShutterControl ............................................................................................................................................ 67

3.1.41. SizeX.......................................................................................................................................................... 68

3.1.42. SizeY.......................................................................................................................................................... 69

3.1.43. StartX ........................................................................................................................................................ 70

3.1.44. StartY......................................................................................................................................................... 71

3.1.45. Trigger ....................................................................................................................................................... 72

3.1.46. TriggerCounter ........................................................................................................................................... 73

3.1.47. 3.1.47 TriggerMode..................................................................................................................................... 74

3.1.48. TriggerPolarity ............................................................................................................................................ 76

3.1.49. TriggerSource............................................................................................................................................. 77

3.1.50. ScrollBars ................................................................................................................................................... 78

3.1.51. SwapBytes.................................................................................................................................................. 79

3.1.52. WhiteBalanceUB ......................................................................................................................................... 80

3.1.53. WhiteBalanceVR.......................................................................................................................................... 82

3.1.54. WhiteBalanceControl ................................................................................................................................... 84

Page 5: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

5

3.1.55. Zoom ......................................................................................................................................................... 85

3.1.56. ZoomControl............................................................................................................................................... 86

3.2. Methods .............................................................................................................................................................. 87

3.2.1. Draw.......................................................................................................................................................... 88

3.2.2. GetBrightnessMin........................................................................................................................................ 89

3.2.3. GetBrightnessMax ....................................................................................................................................... 90

3.2.4. GetBytesPerPixel ......................................................................................................................................... 91

3.2.5. GetCameraList ............................................................................................................................................ 92

3.2.6. GetComponentData..................................................................................................................................... 93

3.2.7. GetComponentLine ..................................................................................................................................... 95

3.2.8. 3.2.8 GetDIB .............................................................................................................................................. 96

3.2.9. GetExposureMin.......................................................................................................................................... 97

3.2.10. GetExposureMax ......................................................................................................................................... 98

3.2.11. GetF7Info................................................................................................................................................... 99

3.2.12. GetFocusMin............................................................................................................................................. 100

3.2.13. GetFocusMax ............................................................................................................................................ 101

3.2.14. GetGainMin............................................................................................................................................... 102

3.2.15. GetGainMax.............................................................................................................................................. 103

3.2.16. GetGammaMin.......................................................................................................................................... 104

3.2.17. GetGammaMax ......................................................................................................................................... 105

3.2.18. GetHeight................................................................................................................................................. 106

3.2.19. GetHueMin ............................................................................................................................................... 107

3.2.20. GetHueMax............................................................................................................................................... 108

3.2.21. GetImageData .......................................................................................................................................... 109

3.2.22. GetImageLine ........................................................................................................................................... 111

3.2.23. GetImagePointer....................................................................................................................................... 113

3.2.24. GetImageWindow ..................................................................................................................................... 115

3.2.25. GetIrisMin ................................................................................................................................................ 117

3.2.26. GetIrisMax................................................................................................................................................ 118

3.2.27. GetIsoSpeed............................................................................................................................................. 119

3.2.28. GetMaxChannel......................................................................................................................................... 120

3.2.29. GetModeList ............................................................................................................................................. 121

3.2.30. GetPicture ................................................................................................................................................ 122

3.2.31. GetPixel.................................................................................................................................................... 123

3.2.32. GetRateList............................................................................................................................................... 124

3.2.33. GetRawData ............................................................................................................................................. 125

3.2.34. GetRGBPixel ............................................................................................................................................. 127

Page 6: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

6

3.2.35. GetSaturationMin ...................................................................................................................................... 128

3.2.36. GetSaturationMax ..................................................................................................................................... 129

3.2.37. GetSharpnessMin ...................................................................................................................................... 130

3.2.38. GetSharpnessMax ..................................................................................................................................... 131

3.2.39. GetShutterMin .......................................................................................................................................... 132

3.2.40. GetShutterMax.......................................................................................................................................... 133

3.2.41. GetSlopeExposure..................................................................................................................................... 134

3.2.42. GetSlopeReset .......................................................................................................................................... 135

3.2.43. GetTriggerInfo.......................................................................................................................................... 136

3.2.44. GetWhiteBalanceMin ................................................................................................................................. 137

3.2.45. GetWhiteBalanceMax................................................................................................................................. 138

3.2.46. GetWidth.................................................................................................................................................. 139

3.2.47. GetZoomMin............................................................................................................................................. 140

3.2.48. GetZoomMax ............................................................................................................................................ 141

3.2.49. Grab ........................................................................................................................................................ 142

3.2.50. LoadChannel............................................................................................................................................. 143

3.2.51. OverlayClear............................................................................................................................................. 144

3.2.52. OverlayEllipse ........................................................................................................................................... 145

3.2.53. OverlayLine .............................................................................................................................................. 146

3.2.54. OverlayPixel.............................................................................................................................................. 147

3.2.55. OverlayRectangle...................................................................................................................................... 148

3.2.56. OverlayText .............................................................................................................................................. 149

3.2.57. SaveImage ............................................................................................................................................... 150

3.2.58. SaveChannel............................................................................................................................................. 151

3.2.59. SetImageWindow...................................................................................................................................... 152

3.2.60. SetIsoSpeed ............................................................................................................................................. 154

3.2.61. SetSlopeExposure ..................................................................................................................................... 155

3.2.62. SetSlopeReset........................................................................................................................................... 157

3.2.63. ShowProperties......................................................................................................................................... 159

3.2.64. SoftTrigger ............................................................................................................................................... 160

3.2.65. StartCapture ............................................................................................................................................. 161

3.2.66. StopCapture ............................................................................................................................................. 163

3.2.67. ReadRegister ............................................................................................................................................ 164

3.2.68. WriteRegister............................................................................................................................................ 165

3.3. Events ............................................................................................................................................................... 166

3.3.1. MouseDblClick .......................................................................................................................................... 167

3.3.2. MouseDown.............................................................................................................................................. 168

Page 7: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

7

3.3.3. MouseMove .............................................................................................................................................. 169

3.3.4. MouseUp .................................................................................................................................................. 170

3.3.5. FormatChanged ........................................................................................................................................ 171

3.3.6. FrameAcquired ......................................................................................................................................... 172

3.3.7. FrameAcquiredX ....................................................................................................................................... 173

3.3.8. FrameDropped.......................................................................................................................................... 174

3.3.9. Scroll........................................................................................................................................................ 175

3.3.10. Timeout ................................................................................................................................................... 176

3.4. Property Pages................................................................................................................................................... 177

3.4.1. Source ..................................................................................................................................................... 178

3.4.2. Format ..................................................................................................................................................... 181

3.4.3. Exposure .................................................................................................................................................. 183

3.4.4. Color ........................................................................................................................................................ 184

3.4.5. Advanced ................................................................................................................................................. 185

4. Samples..................................................................................................................... 187

5. TWAIN....................................................................................................................... 188

6. Troubleshooting........................................................................................................ 190

Page 8: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION
Page 9: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

9

1. Introduction Prontocam is an SDK and ActiveX control designed for rapid application development tools, such as Visual Basic, VB.NET,

Visual C++, C#, Java, Delphi, Python, etc. Provided is DcamViewer application allowing customers to operate multiple

cameras and save images in a number of formats. Also included is a TWAIN driver for interfacing to third-party imaging

software. With Prontocam your application immediately supports 1394 digital cameras compliant with DCAM 1.30 and 1.31

specifications.

In general, with Prontocam you can :

Acquire and display live video from one or several 1394 cameras.

Select among multiple camera sources.

Set a desired video format and triggering mode.

Select among several hardware and software trigger sources.

Grab 8-, and 16-bit monochrome images or 24- and 48-bit color images.

Perform automatic color interpolation of a monochrome video generated by Bayer cameras.

Choose among several available frame rates.

Select the desired size and position of the scan area.

Adjust multiple camera parameters in real time: brightness, gain, shutter speed, gamma, sharpness, hue,

saturation.

Control focus, iris, tilt and pan in cameras with motorized lenses.

Activate automatic or one-push control over selected camera parameters, such as exposure and white balance.

Save camera settings in memory channels and reload them on demand.

Control non-standard camera features by direct access to 1394 registers.

Choose among several palettes for pseudo-color display.

Choose between synchronous and asynchronous acquisition modes.

Get an instant access to pixel values and pixel arrays.

Retrieve individual color planes from RGB images.

Import live video to a PictureBox object.

Perform image processing on captured frames and display processed video in real-time.

Save images in BMP, TIF and JPEG formats with adjustable compression.

Perform time-lapse capture to an AVI file or series of images.

Interface to third-party imaging applications using the included TWAIN driver.

Prontocam uses multiple threads to support video acquisition, therefore it does not require separate components for thread

management. This document gives a detailed description of Prontocam, its properties and methods; it also explains

how to use the Prontocam objects to perform the most common tasks.

1.1. System Requirements Hardware requirements:

· Pentium II 400 MHz or better CPU recommended.

· 64 Mb or more RAM recommended.

· A graphic card supporting 65535 colors or higher.

· One or more FireWire (1394) boards or FireWire PCMCIA notebook card installed on the system.

· One or more DCAM-compatible 1394 cameras connected to the system.

Note - Prontocam only supports the cameras that comply with IIDC 1394-based Digital Camera Specification v 1.30. DV

camcorders and some other cameras that have the 1394 (FireWire) physical interface, but are not DCAM-compliant will not

be recognized by Prontocam. Software requirements: · Windows 98/2000/XP .NET FrameWork (for .NET compatibility)

Page 10: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

10

t

1.2. Installation To install Pron ocam, perform the following steps:

① Save and exit out of all currently running applications.

② Insert Prontocam CD into the CD-ROM drive. The setup program should start automatically.

The Windows Installer box with a status bar will appear while setup prepares to start the installation process.

③ After the setup program has verified your system has the appropriate installer files, you are ready to start

installing Prontocam. The Welcome dialog box will appear. After reading the preliminary information, click

Next.

④ The License Agreement dialog box will appear. To accept the license and continue, click I Agree, and then

click Next. Note that the Next button is not available until you click I Agree. If you do not accept the license,

click I Do Not Agree, and setup will terminate.

⑤ User Information window will appear, type your informations and the serial “ips”, then Next click.

⑥ The Select Installation Folder dialog box will appear. The dafault location of Prontocam files is C:₩Program

Files₩IPSCam. If you want to change the location, enter the path for the desired folder and then click Next.

Page 11: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

⑦ When Confirm Installation dialog box appears, click Next. Prontocam will begin installing on your system.

⑧ Once installation is finished, the Installation Complete dialog box will appear. Click Close to exit the installer.

Note that depending on your operation system you might need to reboot your system at this point. You will be

prompted if a reboot is required; if a message appears, follow the on-screen instructions.

⑨ If you are installing Prontocam on Windows XP SP2 system, it is recommended to apply the following hotfix from

Microsoft:

http://support.microsoft.com/kb/885222

⑩ Continue with 1394 driver setup.

11

Page 12: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

1.3. Driver Setup Driver setup

In order for Prontocam to recognize 1394 digital cameras that are connected to your system, the 1394 Digital Camera

Driver must be installed for each camera. This chapter explains how to install the 1394 digital camera drivers in your system

under the Windows 98/2000/Windows XP operating system. If your 1394 camera comes with its own DCAM-compatible

system software, do not use it, as it will not be compatible with Prontocam .

To install the 1394 Digital Camera Driver, perform the following steps:

① Make sure Prontocam is installed on your system.

② Connect your camera to the 1394 (FireWire) port. If no driver was previously installed for the camera, the

Found New Hardware dialog will appear as shown below. .

If the dialog does not show up, proceed to section 4

③ Choose not to connect to Windows Update and click Next. On the next dialog select Install the software

automatically. Ignore the warning message that the driver is not signed up with Microsoft and click Continue

Anyway.

④ Click Finish to complete the installation of the 1394 Digital Camera driver for the selected camera. Verify that

your camera is now listed in the device manager as IPS Digital Camera :

12

Page 13: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

13

⑤ If the New Hardware Found dialog didn't appear after you connected your camera, right click on My Computer

and click Properties. Select the Hardware tab and click Device Manager . If there is no compatible driver

installed, your camera will appear in the device list as a Generic 1394 Camera with a question or exclamation

mark next to it:

If the system already has a compatible third party driver installed, the camera will appear under Imaging

Devices with the third party driver's name next to it:

In order for the camera to work properly with Prontocam software, its driver must be changed to the IPS Digital

Camera Driver.

⑥ Right click on your device and select Properties . Choose the Driver tab and then click Update Driver .

⑦ Select either Display a list of the known drivers for this device so that I can choose a specific driver

(Windows 2000) or Install from a list or specific location (Windows XP) and click Next .Then select Don't

search, I will choose the driver to install and click Next . On the next dialog, click Have disk :

Page 14: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

⑧ Provide the path to IPS Digital Camera Driver folder where 1394Dcam.inf is located (typically C:₩Program

Files₩IPSCam₩Driver).Click OK :

⑨ From the list of the drivers select IPS Digi al Camera and click Next . Ignore the warning message that the

driver is not signed up with Microsoft:

t

⑩ Click Finish to complete the installation of the IPS Digital Camera driver for the selected camera.Verify that your

camera is now listed in the device manager as IPS Digital Camera.

The driver installation is now complete. You might need to restart the system for the changes to come into effect.

Note - Prontocam supports only the cameras that comply with IIDC 1394-based Digital Camera Specification. DV

camcorders and some other cameras that have the 1394 (FireWire) physical interface, but are not DCAM-compliant will not

be recognized by Prontocam.

Note - the Prontocam installation package includes version 6.2 of the CMU 1394 Digital Camera driver. Starting from version

6.3 the CMU driver is distributed under the terms of the GNU Lesser General Public License.

14

Page 15: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

2. Getting started This chapter describes how to create a simple application with Prontocam control using various development platforms.

Visual Basic

Visual C++

VB.NET

Visual C#

2.1. Visual Basic This chapter shows you how to get started with Prontocam control in VB 6.0. With just a few mouse clicks and one line of

code, you will be able to display a live video image in your Visual Basic program and report a value of a selected pixel in

real time.

. Creating the Project

Assuming that you have already run the Prontocam installation program and started Visual Basic, the next step is to create

a project. Begin by selecting the New Project command from the file menu, and select Standard EXE as your project type.

Then use the Project / Components... command and select Prontocam Control from the list. You will see Prontocam icon

appear at the bottom of the toolbox:

Creating the Control

Click the Prontocam icon in the Toolbox and draw a rectangular area on the form. A rectangle with the text "Prontocam

Control" will apear on the form, and the Project window on the right will display Prontocam's properties.

Selecting the Camera

In the properties window, click the Camera property. The list box will display all DCAM-compatible 1394 cameras

conntected to your system. Select the one you intend to use:

15

Page 16: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

Selecting the Video Mode

In the properties window, click the Mode property. The list box will display all the video modes provided by the selected

camera. Choose the one you intend to use:

Activating continuous acquisition

In the properties window, click the Acquire property and set it to "On". If the selected camera is connected to the board,

the live video will appear on the form in the Prontocam control's window.

Adding a label

Click the label icon on the toolbox and draw a small rectangular area on the form outside of the Prontocam window. A label

Label 1 will appear on the form.

Adding the FrameAcquired event

Double-click in the control window. The code window will appear with the empty FrameAcquired subroutine in it. It is now

arlier:

rivate Sub Prontocam1_FrameAcquired()

e added to the code

Running the application

You are now ready to hit F5 and watch your program display a live video and report a real-time pixel

value in the coordinates x = 64, y = 32.

time to enter the single line of code mentioned e

P

'the following line needs to b

Label1.Caption = Prontocam1.GetPixel (64, 32)

End Sub

16

Page 17: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

2.2. Visual C++ This chapter shows you how to get started with Prontocam control in Visual C++. With just a few mouse clicks and a few

lines of code, you will be able to display a live video image in your C++ program and report a value of a pixel pointed by a

mouse cursor in real time.

. Creating the Project

VC++ 6.0

In the development environment select the New command from the file menu, and then select Projects/MFC

AppWizard.exe . In the Project name field on the right type the name of your application, for instance MyProntocam and

click OK . When MFC AppWizard appears, select Dialog based radio button and click Finish . The project will be created, and

the program dialog MyProntocam will be displayed for editing.

VC++ 7.0 (.NET)

In the .NET development environment select New -> Project. The New Project Dialog box will appear. Select Visual C++

projects on the left and MFC Application on the right. In the Name filed below type the name of your application, for

instance MyProntocam and click OK . When MFC Application Wizard appears, click Application Type , select Dialog based

radio button and click Finish . The project will be created, and the program dialog MyProntocam will be displayed for editing.

Creating the Control

17

r Right click in the dialog and select Inse t ActiveX control from a shortcut menu. From the list of controls select Prontocam

class and press OK . A white rectangle with the text "Prontocam Control" will appear on the dialog.

Generating the class for the Control

VC++ 6.0

Right click in the dialog and select Class Wizard from the shortcut menu. When MFC Class Wizard appears, click the Member

Variables tab. In the Control ID window click IDC_PRONTOCAM1 and then click Add Variable. Confirm generating the new

CProntocam class. When the Add Member Variable dialog appears, enter the name for the Prontocam object, for instance

m_Prontocam . Click OK to close the Wizard.

VC++ 7.0 (.NET)

Right click on the Prontocam control in the program dialog and select Add Variable from the shortcut menu. Add Member

Variable Wizard will appear. In the Variable name field enter the name for the Prontocam object, for instance

m_Prontocam , and click finish. The Wizard will generate a wrapper class for Prontocam control and add a corresponding

member variable to the main dialog class.

Selecting the Camera

Right click on the Prontocam control in the program dialog and select Properties from the shortcut menu. (In .NET select

Property pages from the View menu). This will display the Prontocam Class Properties tab dialog. Click the Source tab. The

Camera list box will contain the names of the DCAM cameras connected to your system. Select the one you intend to use.

Page 18: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

Selecting the Video Mode and Frame Rate

Switch to the Format tab. Click the arrow next to the Mode box. The list box will display all the video modes available for

the chosen camera. Select the one you intend to use. Then select the desired frame rate from the Rate list box.

Adjusting the Exposure settings

Switch to the Exposure tab. Using the slider controls adjust the Shutter, Gain and Iris settings. Note that the availability of

e controls depends on the selected camera. th

Modifying the Control's appearance

Switch to the Source tab. Select 3D look and Scroll bars check boxes:

ding the Start button

trols toolbox click on the Button icon and then draw a rectangular area on the program dialog. A button

n and select Properties from the shortcut menu. In the Caption field type

art" and double click on the button. The Add Member Function dialog box will appear. After clicking OK the source code

nButton1 added. Insert one line to the function body:

++ 6.0

{

ntrol notification handler code here

C++ 7.0

void CMyProntocamDlg::OnBnClickedButton1()

{

// TODO: Add your control notification handler code here

Ad

In the Con

"Button1" will appear. Right click on the butto

"St

window will be displayed with the new member function O

VC

void CMyProntocamDlg::OnButton1()

// TODO: Add your co

m_Prontocam.SetAcquire(TRUE);

}

V

18

Page 19: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

19

m_Prontocam.put_Acquire(TRUE);

}

This will activate continuous acquisition when the button is clicked.

Adding text boxes

In the Controls toolbox click on the Edit Box icon and then draw a small rectangular area on the program dialog. Repeat this

two more times. Your final design of the program dialog will be similar to this:

nt

ontrol in the program dialog and select Events. . from the shortcut menu. Highlight the

nt handler OnMouseMoveProntocam1 will be added to the source

de. Add the following lines to the body of the function:

ouseMoveProntocam1(short x, short y)

SetDlgItemInt(IDC_EDIT3,m_Prontocam.GetPixel(x,y));

}

Running the application

From the Build menu of the development environment select Execute MyProntocam.exe. This will build and run the

application. The application dialog will appear on the screen with a black image window and empty text boxes. Click the

Start button to activate the continuous video acquisition and move the mouse cursor over the image window. You are now

able to watch and scroll the live image and analyze pixel coordinates and values - all in real time!

Adding the MouseMove eve

Right click on the Prontocam c

MouseMove event and click Add and Edit. The new eve

co

void CMyProntocamDlg::OnM

{

// TODO: Add your control notification handler code here

SetDlgItemInt(IDC_EDIT1,x);

SetDlgItemInt(IDC_EDIT2,y);

Page 20: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

2.3. VB.NET This chapter shows you how to get started with Prontocam control in VB.NET. With just a few mouse clicks and a few lines

of code, you will be able to display a live video image in your VB.NET program, access the array of pixel values and display

them in a table in real time.

. Creating the Project

In the .NET development environment select New -> Project. The New Project Dialog box will appear. Select Visual Basic

projects on the left and Windows Application on the right. In the Name filed below type the name of your application, for

instance MyProntocam and click OK . The project will be created, and the main application form will be displayed for editing.

Creating the Control

In the Toolbox select Components. From the Tools menu select Customize Toolbox and then select Prontocam Class from

the list. You will see Prontocam icon appear at the bottom of the toolbox. Click the Prontocam icon in the Toolbox and draw

a rectangular area on the form. A rectangle with the text "Prontocam Control" will appear on the form, and the Properties

window on the right will display Prontocam's properties.

Selecting the Camera

In the properties window, click the Camera property. The list box will display all DCAM compatible

cameras connected to your system. Select the one you intend to use:

Selecting the Video Mode

In the Properties window, click the Mode property. The list box will display all the video modes

the one you intend to use: available for the chosen camera. Select

e Start and Stop buttons

program dialog. A

t". Double click on the

function Button1_Click will be added to the Form1.vb source code. Insert one line to the function body:

b Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

Adding th

In the Toolbox select Windows Form , click on the Button icon and then draw a rectangular area on the

button "Button1" will appear. Go to the Property window and change the Text property to "Star

button. A new

Private Su

20

Page 21: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

21

utton1.Click

rue

AxProntocam1.Acquire = False

End Sub

Adding the Grid

From the Tools menu select Customize Toolbox and then select Microsoft Flex Grid Control from the list. A FlexGrid icon will

appear at the bottom of the toolbox. Click the icon and draw a rectangular area on the form. Go to the Property window

and set both Cols and Rows property to 5. You will see a corresponding number of raws and columns added to the grid on

the main form. Your final design of the main form will be similar to this:

B

AxProntocam1.Acquire = T

End Sub

Repeat the same procedure for the Stop button adding the following line to the Button2_Click function:

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

Button1.Click

Adding the FrameAcquired event

tocam control window. The code window will appear with an empty AxProntocam1_FrameAcquired

nter the code that will retrieve an image data array and display pixel values in the grid

ontocam1_FrameAcquired(ByVal sender As System.Object, ByVal e As

AcquiredEvent) Handles

ntocam1.FrameAcquired

As Array

Integer

im Y As Integer

Data

Next

End Sub

ar on the screen with a black image window and empty text boxes. Click the Start button to

activate the continuous video acquisition. The live image will appear in the control window and the real-time pixel values

able.

Double-click in the Pron

subroutine in it. It is now time to e

cells:

Private Sub AxPr

AxPRONTOCAMLib._IProntocamEvents_Frame

AxPro

Dim A

Dim X As

D

A = AxProntocam1.GetImage

For y = 1 To 4

For x = 1 To 4

AxMSFlexGrid1.set_TextMatrix(Y, X, A(X, Y))

Next

Running the application

From the Debug menu of the development environment select Start or press F5. This will build and run the application. The

application dialog will appe

will be displayed in the t

Page 22: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

22

2.4. his chapter shows you how to get started with Prontocam control in Visual C#. With just a few mouse clicks and a few

able to display a live video image in your C# program and report a value of a pixel pointed by a

. Creating the Project

pplication, for

stance MyProntocam and click OK . The project will be created, and the main application form will be displayed for editing.

ols menu select Customize Toolbox and then select Prontocam Class from

the list. You will see Prontocam icon appear at the bottom of the toolbox.

Visual C# T

lines of code, you will be

mouse cursor in real time.

In the .NET development environment select New -> Project. The New Project Dialog box will appear. Select Visual C#

projects on the left and Windows Application on the right. In the Name filed below type the name of your a

in

Creating the Control

In the Toolbox select Components. From the To

Click the Prontocam icon in the Toolbox and draw a rectangular area on the form. A rectangle with the text "Prontocam

Control" will appear on the form, and the Propertie indow on the right will display Prontocam's properties.

roperty. The list box will display all DCAM compatible cameras connected to

your system. Select the one you intend to use:

s w

Selecting the Camera

In the properties window, click the Camera p

Selecting the Video Mode

In the Properties window, click the Mode property. The list box will display all the video modes available for the chosen

camera. Select the one you intend to use:

Page 23: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

Modifying the Control's appearance

In the Properties window scroll up to the DCAM Source category and set the Edge and ScrollBars fields to "Yes"

Adding the Start button

In the Toolbox select Windows Form , click on the Button icon and then draw a rectangular area on the program dialog. A

button "Button1" will appear. Go to the Property window and change the Text property to "Start". Double click on the

button. A new member function button1_Click will be added to the Form1 source window. Insert one line to the function

body:

private void button1_Click(object sender, System.EventArgs e)

{

axProntocam1.Acquire=true;

}

This will activate continuous acquisition when the button is clicked.

This will activate continuous acquisition when the button is clicked.

Adding text boxes

In the Toolbox click on the TextBox icon and then draw a small rectangular area on the program

dialog. Repeat this two more times. Your final design of the main form will be similar to this:

form. In the Property window click the Event button. In

Adding the MouseMove event

Click on the Prontocam control on the main

the list of events double-click the MouseMoveEvent .

The new event handler axProntocam1_MouseMoveEvent will be added to the source code. Add the

following lines to the body of the function:

private void axProntocam1_MouseMoveEvent(object sender,

AxPRONTOCAMLib._IProntocamEvents_MouseMoveEvent e)

23

Page 24: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

24

textBox1.Text=ToString(e.x);

textBox2.Text=e.y;

textBox3.Text=axProntocam1.GetPixel(e.x,e.y);

}

Running the application

From the Debug menu of the development environment select Start or press F5. This will build and

run the application. The application dialog will appear on the screen with a black image window and

empty text boxes. Click the Start button to activate the continuous video acquisition and move the

mouse cursor over the image window. You are now able to watch and scroll the live image and analyze

pixel coordinates and values - all in real time!

{

Page 25: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

25

3. Reference Properties

Methods

Events

Property Pages

3.1. Properties Prontocam properties are divided into four categories and can be modified in a Property Window of your development

environment, or in Prontocam property pages. Appearance Category

BackColor Returns or sets the background color of the control window

Display Enables/disables automatic live display in the control window.

Edge Enables/disables the 3D look of the control window

ScrollBars Enables/disables the scroll bars in the control window

ScrollX Returns or sets the current horizontal scroll position for the live video

ScrollY Returns or sets the current vertical scroll position for the live video

Flip Flips the current frame horizontally or/and vertically

Overlay Enables/disables the overlay

OverlayColor Returns or sets the color of the overlay graphics

OverlayFont Returns or sets the font for drawing text in the overlay

Dcam Source Category

Camera Returns or sets the index of the currently selected camera

Trigger Enables/disables the hardware trigger

TriggerSource Returns or sets the trigger source

TriggerMode Returns or sets the trigger mode

TriggerCounter Returns or sets the trigger counter for trigger modes 2 and 3

TriggerPolarity Returns or sets the trigger polarity

Acquire Enables/disables the continuous acquisition mode

Asynch Enables/disables the asynchronous mode for video acquisition

Palette Returns or sets the number of the current live video palette

Magnification Returns or sets the magnification factor for the live video display

Dcam Format Category

Mode Returns or sets the currently selected video mode

Rate Returns or sets the current frame rate

PacketSize Returns or sets the number of bytes in an isochronous packet

SizeX Returns or sets the width of the partial scan window

SizeY Returns or sets the height of the partial scan window

StartX Returns or sets the horizontal offset of the partial scan window

StartY Returns or sets the vertical offset of the partial scan window

SwapBytes Enables/disables byte swapping for 16- and 48-bit video modes

BitShift Returns or sets the bit shift for 16- and 48-bit video modes

Page 26: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

26

Dcam Exposure Category

Shutter Returns or sets the shutter value

ShutterControl Returns or sets the shutter control mode

Gain Returns or sets the gain value

GainControl Returns or sets the gain control mode

Iris Returns or sets the shutter value

IrisControl Returns or sets the iris control mode

AutoExposure Enables/disables the autoexposure mode

AutoExposureRef Returns or sets the autoexposure reference value

Dcam Color Category

Saturation Returns or sets the saturation value

SaturationControl Returns or sets the saturation control mode

Hue Returns or sets the hue value

HueControl Returns or sets the hue control mode

WhiteBalanceUB Returns or sets the U/B value of the white color

WhiteBalanceVR Returns or sets the V/R value of the white color

WhiteBalanceControl Returns or sets the white balance control mode

Bayer Enables/disables the Bayer conversion mode and selects conversion method

BayerLayout Returns or sets the pixel layout in the Bayer array

Dcam Advanced Category

Brightness Returns or sets the brightness value

BrightnessControl Returns or sets the brightness control mode

Gamma Returns or sets the gamma value

GammaControl Returns or sets the gamma control mode

Sharpness Returns or sets the sharpness value

SharpnessControl Returns or sets the sharpness control mode

Focus Returns or sets the focus value

FocusControl Returns or sets the focus control mode

Zoom Returns or sets the zoom value

ZoomControl Returns or sets the zoom control mode

Page 27: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

27

3.1.1. Acquire

Description

Enables/disables the continuous acquisition mode. If the acquisition mode is enabled and the Display

property is turned on, the live video will be displayed in the control window.

Syntax

[VB]

objProntocam.Acquire [= Value]

[C/C++]

HRESULT get_Acquire ( bool *pAcquire );

HRESULT put_Acquire( bool pAcquire );

Data Type [VB]

Boolean

Parameters [C/C++]

pAcquire [out,retval]

Pointer to the Boolean that is TRUE if the continuous acquisition is enable, or FALSE otherwise

Acquire [in]

Set to TRUE to enable the continuous acquisition, or set to FALSE otherwise

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example activates the continuous acquisition mode upon clicking the Start button:

Private Sub cmdStart_Click()

On Error GoTo err_cmdStart

Prontocam1.Acquire=True

Exit Sub

err_cmdStart:

MsgBox Err.Description

End Sub

Remarks

If this property is set to TRUE, the control will continuously acquire the video into the internal image memory. The

FrameAcquired event will be generated upon completing each frame. To access the content of the image memory, use

GetPixel, GetLine, GetImageWindow and GetImageData methods.

Note that this property works in both the design and rin-time modes. If your development environment doesn't close the

design view prior to going to the run-time mode, a conflict will occur between two Prontocam objects trying to acquire the

video from the same camera. In order to prevent this, it is recommended to keep the Acquire property set to FALSE in the

design mode and turn it on by an explicit command in the program code (see the example above).

Page 28: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

28

3.1.2. Asynch

Description

Enables/disables the asynchronous mode for video acquisition.

Syntax

[VB]

objProntocam.Asynch [= Value]

[C/C++]

HRESULT get_Asynch ( bool *pAsynch );

HRESULT put_Asynch( bool pAsynch );

Data Type [VB]

Boolean

Parameters [C/C++]

pAsynch [out,retval]

Pointer to the Boolean that is TRUE if the asynchronous acquisition is enable, or FALSE otherwise

Asynch [in]

Set to TRUE to enable the asynchronous acquisition, or set to FALSE for synchronous acquisition

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example sets the acquisition in the asynchronous mode:

Prontocam1.Asynch = True

MsgBox Prontocam1.Asynch

Remarks

If this property is set to TRUE, the camera will continuously transfer pixels into the internal image memory, allowing your

application to perform other tasks while the acquisition of the next frame occurs. The asynchronous mode provides the

fastest and most efficient setup for real-time image processing. However, if processing occurs at a slower rate than pixels

are acquired, using this mode may result in the decomposition of images and loss of data.

Setting the Asynch property to FALSE will set the board to the synchronous mode. In this mode the acquisition of the next

frame will be initiated upon calling the Grab method. The synchronous mode is slower, but it guarantees the wholeness of

images during real-time processing.

Page 29: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

29

3.1.3. AutoExposure

Description

Enables/disables the auto exposure (AE) mode

Syntax

[VB]

objProntocam.AutoExposure [= Value]

[C/C++]

HRESULT get_AutoExposure( bool *pAutoExposure );

HRESULT put_AutoExposure( bool AutoExposure );

Data Type [VB]

Boolean

Parameters [C/C++]

pAutoExposure [out, retval]

Pointer to the the Boolean that is TRUE if the auto exposure mode is enable, or FALSE otherwise

AutoExposure [in]

Set to TRUE to enable the auto exposure mode, or set to FALSE otherwise

Return Values

S_OK

Success

E_FAIL

The iris control is not available for the selected camera

Example

The following VB example demonstrates the use of a checkbox to activate the auto exposure mode

Private Sub Check1_Click()

If Check1.Value = 1 Then

Prontocam1.AutoExposure = True

Else

Prontocam1.AutoExposure = False

End If

End Sub

Remarks

When the auto exposure mode is activated, the camera will automatically control the exposure by keeping Shutter, Gain

and/or Iris at optimal levels. The property is available only if the currently selected camera supports auto exposure control.

The reference value for auto exposure can be adjusted by AutoExposureRef.

Page 30: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

30

3.1.4. AutoExposureRef

Description

Returns or sets the row value of the autoexposure reference

Syntax

[VB]

objProntocam.AutoExposureRef [= Value]

[C/C++]

HRESULT get_AutoExposureRef( long *pAutoExposureRef );

HRESULT put_AutoExposureRef( long AutoExposureRef );

Data Type [VB]

Long

Parameters [C/C++]

pAutoExposureRef [out,retval]

Pointer to the current autoexposure reference value

AutoExposureRef [in]

The autoexposure reference value to be set

Return Values

S_OK

Success

E_FAIL

The autoexposure control is not available for the selected camera

E_INVALIDARG

The value is out of range

Example

The following VB example demonstrates the use of a scroll control for real-time adjustment of the autoexposure reference.

Private Sub Form_Load()

Prontocam1.Acquire=True

Prontocam1.AutoExposure=True

HScroll1.Value = Prontocam1.AutoExposureRef

HScroll1.Min = Prontocam1.GetExposureMin

HScroll1.Max = Prontocam1.GetExposureMax

End Sub

Private Sub HScroll1_Scroll()

Prontocam1.AutoExposureRef = HScroll1.Value

End Sub

Remarks

This property changes the reference level used by the camera circuitry in the AutoExposure mode. The valid property range

is reported by the GetExposureMin and GetExposureMax methods. Note that the property is available only if the currently

selected camera supports the autoexposure control.

Page 31: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

31

t

3.1.5. BackColor

Description

Returns or sets the background color of the control window.

Syntax

[VB]

objProntocam.BackColor [= Color]

[C/C++]

HRESULT get_BackColor(OLE_COLOR& pColor);

HRESULT put_BackColor(OLE_COLOR Color);

Data Type [VB]

RGB color

Parameters [C/C++]

pColor [out,retval]

Pointer to the current background color

Color [in]

The background color to be set

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example sets the background color of the control to light gray:

Prontocam1.BackColor = RGB (192, 192, 192)

Remarks

When the control displays a live video, its background is only visible if the size of the video display in the horizontal or

vertical dimension is less than the size of the control window. BackColor is an ambient property, therefore its default value

is defined by the color of the form on which the control resides. Changing the background color of the container application

will cause an equivalent change in the BackColor property of Pron ocam.

Page 32: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

32

3.1.6. Bayer

Description

Enables/disables the Bayer conversion mode and selects the Bayer conversion method.

Syntax

[VB]

objProntocam.Bayer [= Value]

[C/C++]

HRESULT get_Bayer ( short *pBayer );

HRESULT put_Bayer( short pBayer );

Data Type [VB]

Integer

Parameters [C/C++]

pBayer [out,retval]

Pointer to the ordinal number of the currently selected Bayer filter, zero if Bayer conversion is disabled.

Bayer [in]

Set to zero disable Bayer conversion, or set to values from 1 to 3 to select one of the following Bayer filters:

1 - Nearest Neighbour filter. Missing pixels are substituted with adjacent pixels of the same color.

2 - Bilinear filter. Calculates the values of missing pixels by performing bilinear interpolation of the adjacent pixels.

3 - High Quality Linear filter. Calculates the values of missign pixels based on the Malvar, He and Cutler algorithm.

4 - Chrominance filter. Interpolates the values of missing pixels based on chrominance gradients.

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example activates the bilinear Bayer filter:

Prontocam1.Bayer = 1

Remarks

Bayer images are usually generated by a single-chip CCD camera, which has a color filter mosaic array (CFA) installed in

front of the sensor. The most frequently used Bayer pattern has the following layout:

G B G B R

R G R G R

G B G B G

R G R G R

Each pixel value in a Bayer image corresponds to the intensity of the pixel behind the corresponding

color filter. The conversion from such a grayscale image to RGB image is typically done on the camera

itself, however some cameras (known as Bayer cameras) output a raw Bayer image unchanged. The

Bayer transforms such an image into RGB image by performing real-time Bayer color reconstruction

(demosaicing). The layout of the Bayer array can be selected with the BayerLayout property.

Note that the higher the ordinal number of the selected Bayer filter is, the higher the quality of the

resulting image is and the higher the CPU load is. If the application speed is critical, consider using the

Nearest Neighbour filter.Note that this property is available only if the current video Mode is a

monochrome one.

Page 33: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

33

3.1.7. BayerLayout

Description

Returns or sets the layout of pixels in the CCD array of a Bayer camera. The values from 0 to 3 correspond to the following

layouts:

0 – GB 1 – GR 2 – BG 0 – RG

G B G B G

R G R G R

G R G R G

B G B G B

B G B G B

G R G R G

R G R G R

G B G B R

Syntax

[VB]

objProntocam.BayerLayout [= Value]

[C/C++]

HRESULT get_BayerLayout( long *pBayerLayout );

HRESULT put_BayerLayout( long BayerLayout );

Data Type [VB]

Long

Parameters [C/C++]

pBayerLayout [out,retval]

Pointer to the ordinal number of the currently selected layout

BayerLayout [in]

The number of the layout to be selected

Return Values

S_OK

Success

E_FAIL

Failure.

E_INVALIDARG

Invalid property value.

Example

This VB example demonstrates the use of a combo box for changing the Bayer layout:

Private Sub Form_Load()

Prontocam1.Acquire = True

Prontocam1.Bayer = True

Combo1.AddItem ("GB")

Combo1.AddItem ("GR")

Combo1.AddItem ("BG")

Combo1.AddItem ("RG")

Combo1.ListIndex = 1

End Sub

Private Sub Combo1_Click()

Prontocam1.BayerLayout = Combo1.ListIndex

End Sub

Remarks

Page 34: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

34

This property works in combination with the Bayer filter. The layout of the CCD array is defined by your Bayer camera

specifications. If you use on of the partial scan (Format 7) video Modes and apply an offset to the partial scan window (see

StartX, StartY), you might need to select a different Bayer layout depending on the position of the top left corner of the

window relative to the CCD mask. Note that this property is available only if the current video Mode is a monochrome one.

3.1.8. BitShift

Description

Returns or sets the bit shift value for 16-bit and 48-bit video modes.

Syntax

[VB]

objProntocam.BitShift [= Value]

[C/C++]

HRESULT get_BitShift( long *pShutter );

HRESULT put_BitShift( long Shutter );

Data Type [VB]

Long

Parameters [C/C++]

pBitShift [out,retval]

Pointer to the current bit shift

BitShift [in]

The bit shift to be set

Return Values

S_OK

Success

E_FAIL

The shutter control is not available for the selected camera

E_INVALIDARG

The value is out of range

Example

The following VB example sets the bit shift to 6.

Prontocam1.BitShift=6

Remarks

This property defines the right bit shift to be applied to 16-bit pixel values in the image buffer. When displaying and saving

16- and 48-bit images, Prontocam assumes that pixel values are mapped to the whole 16-bit dynamic range (0-65535).

Certain cameras however may output data in narrower dynamic range resulting in dark images, in which case the BitShift

property must be used. For example, if the original pixel values have the dynamic range of 10 bits (0-1023), setting

BitShift to 6 will cause the real-time mapping of images to the entire 16-bit scale.

Note that this property is availalbe only in 16- and 48-bit video Modes.

Page 35: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

35

3.1.9. Brightness

Description

Returns or sets the row value of the brightness

Syntax

[VB]

objProntocam.Brightness [= Value]

[C/C++]

HRESULT get_Brightness( long *pBrightness );

HRESULT put_Brightness( long Brightness );

Data Type [VB]

Long

Parameters [C/C++]

pBrightness [out,retval]

Pointer to the current brightness value

Brightness [in]

The brightness value to be set

Return Values

S_OK

Success

E_FAIL

The brightness control is not available for the selected camera

E_INVALIDARG

The value is out of range

Example

The following VB example demonstrates the use of a scroll control for real-time adjustment of the

camera's brightness.

Private Sub Form_Load()

Prontocam1.Acquire=True

HScroll1.Value = Prontocam1.Brightness

HScroll1.Min = Prontocam1.GetBrightnessMin

HScroll1.Max = Prontocam1.GetBrightnessMax

End Sub

Private Sub HScroll1_Scroll()

Prontocam1.Brightness = HScroll1.Value

End Sub

Remarks

This property changes the black level of the video by adding a constant amount of luminance to each pixel. The valid

property range is reported by the GetBrightnessMin and GetBrightnessMax methods.Note that the property is available only

if the currently selected camera supports software brightness control.

Page 36: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

36

r

3.1.10. BrightnessControl

Description

Returns or sets the brightness control mode. The values from 0 to 2 correspond to the following modes:

0 - Manual

The brightness level is controlled by the value of the Brightness property

1 - Auto

The camera controls the brightness level by itself continuously

2 - One push

The camera sets the optimal brightness level by itself and returns to the manual mode

Syntax

[VB]

objProntocam.BrightnessControl [= Value]

[C/C++]

HRESULT get_BrightnessControl( short *pBrightnessControl );

HRESULT put_BrightnessControl( short BrightnessControl );

Data Type [VB]

Integer

Parameters [C/C++]

pBrightnessCont ol [out, retval]

Pointer to the current brightness control mode

BrightnessControl [in]

The brightness control mode to be set

Return Values

S_OK

Success

E_FAIL

The brightness control is not available for the selected camera

Example

The following VB example demonstrates the use of a checkbox to switch between the manual and

automatic brightness control.

Private Sub Check1_Click()

If Check1.Value = 1 Then

Prontocam1.BrightnessControl = 1

Else

Prontocam1.BrightnessControl = 0

End If

End Sub

Remarks

The property is available only if the currently selected camera supports automatic brightness control.

Page 37: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

37

3.1.11. Camera

Description

Returns or sets the index of the currently selected camera. If no DCAM camera is connected to the system, the property will

return -1.

Syntax

[VB]

objProntocam.Camera [= Value]

[C/C++]

HRESULT get_Camera( long *pCamera );

HRESULT put_Camera( long Camera );

Data Type [VB]

Long

Parameters [C/C++]

pCamera [out, retval]

Pointer to the camera's index

Camera [in]

The index of the camera to be selected

Return Values

S_OK

Success

E_FAIL

The selected camera doesn't comply with 1394 DCAM specifications (i.e. DV camera)

E_INVALIDARG

The camera's index is out of range.

Example

This VB example initializes a combo box with camera names and uses it to switch between the cameras:

Private Sub Form_Load()

CamLst = Prontocam1.GetCameraList

For i = 0 To UBound(CamLst)

Combo1.AddItem (CamLst(i))

Next

Combo1.ListIndex = 0

Prontocam1.Acquire = True

End Sub

Private Sub Combo1_Click()

Prontocam1.Camera = Combo1.ListIndex

End Sub

Remarks

The value of the property is a zero-based index into the list of cameras connected to the 1394 board.The list of camera

names can be retrieved with GetCameraList. If you use the property window of your development environment or

Prontocam's property pages, the Camera property field will be presented as a list box containing the indexes and names of

all the connected cameras.

Page 38: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

38

3.1.12. Display

Description

Enables/disables live display in the control window. When this property is enabled, each frame will be automatically

displayed upon acquisition. .

Syntax

[VB]

objProntocam.Display [= Value]

[C/C++]

HRESULT get_Display ( bool *pDisplay );

HRESULT put_Display( bool Display );

Data Type [VB]

Boolean

Parameters [C/C++]

pDisplay [out,retval]

Pointer to the Boolean that is TRUE if the live display is enable, or FALSE otherwise

Display [in]

Set to TRUE to enable the live display, or set to FALSE to disable it

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example disables the live display and uses the FrameAcquired event to invert pixel value in the bottom left corner

of the current frame and display the processed frame in real time.

Private Sub Form_Load()

Prontocam1.Display = False

Prontocam1.Acquire = True

End Sub

Private Sub Prontocam1_FrameAcquired()

a = Prontocam1.GetImageData

For x = 0 To 200

For y = 0 To 200

a(x, y) = 255 - a(x, y)

Next

Next

Prontocam1.Draw

End Sub

Remarks

When you create a new instance of the control, this property is enabled by default. You should disable the live display when

you want to perform real time image processing and display the processed image in the control window. After the

processing is done, the current frame should be displayed by calling the Draw method.

Page 39: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

39

3.1.13. Edge

Description

Enables/disables the 3D look (sunken edge) of the control window.

Syntax

[VB]

objProntocam.Edge [= Value]

[C/C++]

HRESULT get_Edge ( bool *pEdge );

HRESULT put_Edge( bool Edge );

Data Type [VB]

Boolean

Parameters [C/C++]

pEdge [out,retval]

Pointer to the Boolean that is TRUE if the 3D look is enable, or FALSE otherwise

Edge [in]

Set to TRUE to enable the 3D look, or set to FALSE to disable it

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example enables the 3D look on the control window:

Prontocam1.Edge = True

MsgBox Prontocam1.Edge

Remarks

If this property is set to TRUE, the sunken edge will appear around the border of the Prontocam control window.

Page 40: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

40

3.1.14. Flip

Description

Returns or sets the horizontal and vertical flipping of the current frame. The values from 0 to 3 correspond to the following

flipping conditions:

0 – None No image flipping is performed. 1 – Horizontal The image is flipped horizontally.

2 – Vertical The image is flipped vertically. 3 – Both The image is flipped horizontally and vertically.

Syntax

[VB]

objProntocam.Flip [= Value]

[C/C++]

HRESULT get_Flip( long *pFlip );

HRESULT put_Flip( long Flip );

Data Type [VB]

Long

New link

Parameters [C/C++]

pFlip [out,retval]

Pointer to the ordinal number of the currently selected flipping condition.

Palette [in]

The flipping condition to be set.

Return Values

S_OK

Success

E_FAIL

Failure.

E_INVALIDARG

Invalid property value.

Example

This VB example demonstrates the use of a combo box for flipping the live video:

Private Sub Form_Load()

Prontocam1.Acquire = True

Combo1.AddItem ("None")

Combo1.AddItem ("Horizontal")

56 Prontocam User Guide

Combo1.AddItem ("Vertical")

Combo1.AddItem ("Diagonal")

Combo1.ListIndex = 0

End Sub

Private Sub Combo1_Click()

Prontocam1.Flip = Combo1.ListIndex

End Sub

Remarks

Flipping affects the way the video is displayed in the control window as well as actual order of pixels in the image frame. If

you apply on of the flipping options, the data returned by GetImageData and other data access methods will be flipped as

well.

Page 41: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

41

3.1.15. Focus

Description

Returns or sets the row value of the focus

Syntax

[VB]

objProntocam.Focus [= Value]

[C/C++]

HRESULT get_Focus( long *pFocus );

HRESULT put_Focus( long Focus );

Data Type [VB]

Long

Parameters [C/C++]

pFocus [out,retval]

Pointer to the current focus value

Focus [in]

The focus value to be set

Return Values

S_OK

Success

E_FAIL

The focus control is not available for the selected camera

E_INVALIDARG

The value is out of range

Example

The following VB example demonstrates the use of a scroll control for real-time adjustment of the

camera's focus.

Private Sub Form_Load()

Prontocam1.Acquire=True

HScroll1.Value = Prontocam1.Focus

HScroll1.Min = Prontocam1.GetFocusMin

HScroll1.Max = Prontocam1.GetFocusMax

End Sub

Private Sub HScroll1_Scroll()

Prontocam1.Focus = HScroll1.Value

End Sub

Remarks

This property provides adjustment of the camera's lens to the subject distance. The valid property range is reported by the

GetFocusMin and GetFocusMax methods. Note that the property is available only if the currently selected camera is

equipped with a motorized lens supports software focus control.

Page 42: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

42

3.1.16. FocusControl

Description

Returns or sets the focus control mode. The values from 0 to 2 correspond to the following modes:

0 - Manual

The focus level is controlled by the value of the Focus property

1 - Auto

The camera controls the focus level by itself continuously

2 - One push

The camera sets the optimal focus level by itself and returns to the manual mode

Syntax

[VB]

objProntocam.FocusControl [= Value]

[C/C++]

HRESULT get_FocusControl( short *pFocusControl );

HRESULT put_FocusControl( short FocusControl );

Data Type [VB]

Integer

Parameters [C/C++]

pFocusControl [out, retval]

Pointer to the current focus control mode

FocusControl [in]

The focus control mode to be set

Return Values

S_OK

Success

E_FAIL

The focus control is not available for the selected camera

Example

The following VB example demonstrates the use of a checkbox to switch between the manual and

automatic focus control.

Private Sub Check1_Click()

If Check1.Value = 1 Then

Prontocam1.FocusControl = 1

Else

Prontocam1.FocusControl = 0

End If

End Sub

Remarks

The property is available only if the currently selected camera supports automatic focus control.

Page 43: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

43

3.1.17. Gain

Description

Returns or sets the row value of the gain

Syntax

[VB]

objProntocam.Gain [= Value]

[C/C++]

HRESULT get_Gain( long *pGain );

HRESULT put_Gain( long Gain );

Data Type [VB]

Long

Parameters [C/C++]

pGain [out,retval]

Pointer to the current gain value

Gain [in]

The gain value to be set

Return Values

S_OK

Success

E_FAIL

The gain control is not available for the selected camera

E_INVALIDARG

The value is out of range

Example

The following VB example demonstrates the use of a scroll control for real-time adjustment of the camera's gain.

Private Sub Form_Load()

Prontocam1.Acquire=True

HScroll1.Value = Prontocam1.Gain

HScroll1.Min = Prontocam1.GetGainMin

HScroll1.Max = Prontocam1.GetGainMax

End Sub

Private Sub HScroll1_Scroll()

Prontocam1.Gain = HScroll1.Value

End Sub

Remarks

This property changes the camera's video signal amplification. The valid property range is reported by the GetGainMin and

GetGainMax methods. Note that the property is available only if the currently selected camera supports software gain

control.

Page 44: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

44

3.1.18. GainControl

Description

Returns or sets the gain control mode. The values from 0 to 2 correspond to the following modes:

0 - Manual

The gain level is controlled by the value of the Gain property

1 - Auto

The camera controls the gain level by itself continuously

2 - One push

The camera sets the optimal gain level by itself and returns to the manual mode

Syntax

[VB]

objProntocam.GainControl [= Value]

[C/C++]

HRESULT get_GainControl( short *pGainControl );

HRESULT put_GainControl( short GainControl );

Data Type [VB]

Integer

Parameters [C/C++]

pGainControl [out, retval]

Pointer to the current gain control mode

GainControl [in]

The gain control mode to be set

Return Values

S_OK

Success

E_FAIL

The gain control is not available for the selected camera

Example

The following VB example demonstrates the use of a checkbox to switch between the manual and

automatic gain control.

Private Sub Check1_Click()

If Check1.Value = 1 Then

Prontocam1.GainControl = 1

Else

Prontocam1.GainControl = 0

End If

End Sub

Remarks

The property is available only if the currently selected camera supports automatic gain control.

Page 45: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

45

3.1.19. Hue

Description

Returns or sets the row value of the hue

Syntax

[VB]

objProntocam.Hue [= Value]

[C/C++]

HRESULT get_Hue( long *pHue );

HRESULT put_Hue( long Hue );

Data Type [VB]

Long

Parameters [C/C++]

pHue [out,retval]

Pointer to the current hue value

Hue [in]

The hue value to be set

Return Values

S_OK

Success

E_FAIL

The hue control is not available for the selected camera

E_INVALIDARG

The value is out of range

Example

The following VB example demonstrates the use of a Scroll control for real-time adjustment of the camera's hue.

Private Sub Form_Load()

Prontocam1.Acquire=True

HScroll1.Value = Prontocam1.Hue

HScroll1.Min = Prontocam1.GetHueMin

HScroll1.Max = Prontocam1.GetHueMax

End Sub

Private Sub HScroll1_Scroll()

Prontocam1.Hue = HScroll1.Value

End Sub

Remarks

This property changes the global shitf of the color tint. The valid property range is reported by the GetHueMin and

GetHueMax methods. Note that the property is available only if the currently selected camera is a color one and supports

software hue control.

Page 46: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

46

3.1.20. HueControl

Description

Returns or sets the hue control mode. The values from 0 to 2 correspond to the following modes:

0 - Manual

The hue level is controlled by the value of the Hue property

1 - Auto

The camera controls the hue level by itself continuously

2 - One push

The camera sets the optimal hue level by itself and returns to the manual mode

Syntax

[VB]

objProntocam.HueControl [= Value]

[C/C++]

HRESULT get_HueControl( short *pHueControl );

HRESULT put_HueControl( short HueControl );

Data Type [VB]

Integer

Parameters [C/C++]

pHueControl [out, retval]

Pointer to the current hue control mode

HueControl [in]

The hue control mode to be set

Return Values

S_OK

Success

E_FAIL

The hue control is not available for the selected camera

Example

The following VB example demonstrates the use of a checkbox to switch between the manual and automatic hue control.

Private Sub Check1_Click()

If Check1.Value = 1 Then

Prontocam1.HueControl = 1

Else

Prontocam1.HueControl = 0

End If

End Sub

Remarks

The property is available only if the currently selected camera supports automatic hue control.

Page 47: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

47

3.1.21. Gamma

Description

Returns or sets the row value of the gamma

Syntax

[VB]

objProntocam.Gamma [= Value]

[C/C++]

HRESULT get_Gamma( long *pGamma );

HRESULT put_Gamma( long Gamma );

Data Type [VB]

Long

Parameters [C/C++]

pGamma [out,retval]

Pointer to the current gamma value

Gamma [in]

The gamma value to be set

Return Values

S_OK

Success

E_FAIL

The gamma control is not available for the selected camera

E_INVALIDARG

The value is out of range

Example

The following VB example demonstrates the use of a scroll control for real-time adjustment of the

camera's gamma value.

Private Sub Form_Load()

Prontocam1.Acquire=True

HScroll1.Value = Prontocam1.Gamma

HScroll1.Min = Prontocam1.GetGammaMin

HScroll1.Max = Prontocam1.GetGammaMax

End Sub

Private Sub HScroll1_Scroll()

Prontocam1.Gamma = HScroll1.Value

End Sub

Remarks

This property changes the gamma correction factor of the camera's circuitry. The gamma correction modifies an image by

applying standard, nonlinear gamma curves to the intensity scale. Increasing the gamma value will lighten the video and

increase the contrast in its darker areas. The valid range of the raw gamma values is reported by the GetGammaMin and

GetGammaMax methods. Note that the property is available only if the currently selected camera supports software gamma

control.

Page 48: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

48

r

3.1.22. GammaControl

Description

Returns or sets the gamma control mode. The values from 0 to 2 correspond to the following modes:

0 - Manual

The gamma level is controlled by the value of the Gamma property

1 - Auto

The camera controls the gamma level by itself continuously

2 - One push

The camera sets the optimal gamma level by itself and returns to the manual mode

Syntax

[VB]

objProntocam.GammaControl [= Value]

[C/C++]

HRESULT get_GammaControl( short *pGammaControl );

HRESULT put_GammaControl( short GammaControl );

Data Type [VB]

Integer

Parameters [C/C++]

pGammaControl [out, retval]

Pointer to the current gamma control mode

GammaCont ol [in]

The gamma control mode to be set

Return Values

S_OK

Success

E_FAIL

The gamma control is not available for the selected camera

Example

The following VB example demonstrates the use of a checkbox to switch between the manual and automatic gamma control.

Private Sub Check1_Click()

If Check1.Value = 1 Then

Prontocam1.GammaControl = 1

Else

Prontocam1.GammaControl = 0

End If

End Sub

Remarks

The property is available only if the currently selected camera supports automatic gamma control.

Page 49: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

49

3.1.23. Iris

Description

Returns or sets the row value of the iris

Syntax

[VB]

objProntocam.Iris [= Value]

[C/C++]

HRESULT get_Iris( long *pIris );

HRESULT put_Iris( long Iris );

Data Type [VB]

Long

Parameters [C/C++]

pIris [out,retval]

Pointer to the current iris value

Iris [in]

The iris value to be set

Return Values

S_OK

Success

E_FAIL

The iris control is not available for the selected camera

E_INVALIDARG

The value is out of range

Example

The following VB example demonstrates the use of a scroll control for real-time adjustment of the

camera's iris.

Private Sub Form_Load()

Prontocam1.Acquire=True

HScroll1.Value = Prontocam1.Iris

HScroll1.Min = Prontocam1.GetIrisMin

HScroll1.Max = Prontocam1.GetIrisMax

End Sub

Private Sub HScroll1_Scroll()

Prontocam1.Iris = HScroll1.Value

End Sub

Remarks

This property changes the opening of the lens diaphragm. The valid property range is reported by the GetIrisMin and

GetIrisMax methods. Note that the property is available only if the currently selected camera is equipped with a motorized

lens and supports software iris control.

Page 50: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

50

t

I

3.1.24. IrisControl

Description

Returns or sets the iris control mode. The values from 0 to 2 correspond to the following modes:

0 - Manual

The iris level is controlled by the value of the Iris property

1 - Auto

The camera controls the iris level by itself continuously

2 - One push

The camera sets the optimal iris level by itself and returns to the manual mode

Syntax

[VB]

objProntocam.IrisControl [= Value]

[C/C++]

HRESULT get_IrisControl( short *pIrisControl );

HRESULT put_IrisControl( short IrisControl );

Data Type [VB]

Integer

Parameters [C/C++]

pIrisCon rol [out, retval]

Pointer to the current iris control mode

risControl [in]

The iris control mode to be set

Return Values

S_OK

Success

E_FAIL

The iris control is not available for the selected camera

Example

The following VB example demonstrates the use of a checkbox to switch between the manual and

automatic iris control.

Private Sub Check1_Click()

If Check1.Value = 1 Then

Prontocam1.IrisControl = 1

Else

Prontocam1.IrisControl = 0

End If

End Sub

Remarks

The property is available only if the currently selected camera supports automatic iris control.

Page 51: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

51

t

3.1.25. Magnification

Description

Returns or sets the zoom factor for the live video display. The zero value will fit the image to the size of

the control window.

Syntax

[VB]

objProntocam.Magnification [= Value]

[C/C++]

HRESULT get_ Magnification ( float *p Magnification );

HRESULT put_ Magnification ( float Magnification );

Data Type [VB]

Float

Parameters [C/C++]

p Magnification [out,retval]

Pointer to the current Magnification factor

Magnification [in]

The Magnification factor to be set.

Return Values

S_OK

Success

E_FAIL

Failure.

E_INVALIDARG

Invalid property value.

Example

This VB example sets the zoom factor to 0.25:

Prontocam1. Magnification = 0.25

MsgBox Prontocam1. Magnification

Remarks

This property adjusts the magnification of the life video display. It does not change the content of the image data, but only

its appearance in the Pron ocam control window. The valid property values are from 0 to 100. If the Magnification property

is set to zero, the video image will be fit to the size of the control window. In this case the display might not retain the

original proportions of the video frame. Note that the Acquire and Display properties must be set to TRUE in order for the

live video to be displayed in the control window.

Page 52: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

52

3.1.26. Mode

Description

Returns or sets the index of the currently selected video mode.

Syntax

[VB]

objProntocam.Mode [= Value]

[C/C++]

HRESULT get_Mode( long *pMode );

HRESULT put_Mode( long Mode );

Data Type [VB]

Long

Parameters [C/C++]

pMode [out,retval]

Pointer to the mode's index

Mode [in]

The index of the mode to be selected

Return Values

S_OK

Success

E_FAIL

Failure.

E_INVALIDARG

The index is out of range

Example

This VB example initializes a combo box with the Descriptions of available video modes and uses it to select a specific

mode:

Private Sub Form_Load()

ModeLst = Prontocam1.GetModeList

For i = 0 To UBound(ModeLst)

Combo1.AddItem (ModeLst(i))

Next

Combo1.ListIndex = 0

Prontocam1.Acquire = True

End Sub

Private Sub Combo1_Click()

Prontocam1.Mode = Combo1.ListIndex

End Sub

Remarks

The value of the property is a zero-based index into the list of video modes supported by the currently selected Camera.

The list of modes can be retrieved with GetModeList. If you use the property window of your development environment or

Prontocam's property pages, the Mode property field will be presented as a list box containing all supported video modes.

The mode list is built in the accending order by browsing through all formats and modes supported by the current camera.

Those modes referred as "Format_7" are partial scan modes that typically allow for selection of userdefined frame size

(SizeX, SizeY) and PacketSize. For more information refer to "IIDC 1394-based Digital Camera Specification, Version 1.30"

published by the 1394 Trade Association.

Page 53: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

53

3.1.27. Overlay

Description

Enables/disables the overlay.

Syntax

[VB]

objProntocam.Overlay [= Value]

[C/C++]

HRESULT get_Overlay ( bool *pOverlay );

HRESULT put_Overlay( bool pOverlay );

Data Type [VB]

Boolean

Parameters [C/C++]

pOverlay [out,retval]

Pointer to the Boolean that is TRUE if the overlay is enable, or FALSE otherwise

Overlay [in]

Set to TRUE to enable the overlay, or set to FALSE to disable it.

Return Values

S_OK

Success

E_FAIL

Failure.

Example

The following VB example overlays a red circle on the live video:

Prontocam1.Acquire = True

Prontocam1.OverlayEllipse 100,100,200,200

Prontocam1.OverlayColor=RGB(255,0,0)

Prontocam1.Overlay= True

Remarks

Overlay feature allows you to display custom graphics and text on the live video image. Setting this property to true causes

Prontocam to show the overlay. Disabling this property hides the overlay. Note that hiding the overlay does not erase

graphics and text from it. To clear the overlay, use OverlayClear. Also see OverlayColor, OverlayPixel, OverlayLine,

OverlayRectangle, OverlayEllipse, OverlayText.

Page 54: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

54

3.1.28. OverlayColor

Description

Returns or sets the color of the overlay graphics.

Syntax

[VB]

objProntocam.OverlayColor [= Color]

[C/C++]

HRESULT get_OverlayColor(OLE_COLOR& pColor);

HRESULT put_OverlayColor(OLE_COLOR Color);

Data Type [VB]

RGB color

Parameters [C/C++]

pColor [out,retval]

Pointer to the current overlay color

Color [in]

The overlay color to be set

Return Values

S_OK

Success

E_FAIL

Failure.

Example

The following VB example overlays a red circle on the live video:

Prontocam1.Acquire = True

Prontocam1.OverlayEllipse 100,100,200,200

Prontocam1.OverlayColor=RGB(255,0,0)

Prontocam1.Overlay= True

Remarks

Overlay feature allows you to display custom graphics and text on the live video image. Also see OverlayColor, OverlayPixel,

OverlayLine, OverlayRectangle, OverlayEllipse, OverlayText.

Page 55: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

55

3.1.29. OverlayFont

Description

Returns or sets the font for OverlayText.

Syntax

[VB]

objProntocam.OverlayFont [= Font]

[C/C++]

HRESULT get_OverlayColor(IFontDisp* *pFont);

HRESULT put_OverlayColor(IFontDisp* Font);

Data Type [VB]

StdFont

Parameters [C/C++]

pFont [out,retval]

Pointer to the IFontDisp interface object corresponding to the current overlay font

Font [in]

IFontDisp interface object corresponding to the overlay font to be set

Return Values

S_OK

Success

E_FAIL

Failure.

Example

The following VB example overlays a string of text on the live video:

Dim Font As New StdFont

Font.Name = "Arial"

Font.Size = 18

Font.Bold = True

Prontocam1.OverlayFont = Font

Prontocam1.OverlayText 10, 100, "Prontocam rules!"

Prontocam1.OverlayColor = RGB(255, 0, 0)

Prontocam1.Overlay = True

Remarks

Also see OverlayColor, OverlayText.

Page 56: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

56

3.1.30. PacketSize

Description

Returns or sets the number of bytes in an isochronous packet

Syntax

[VB]

objProntocam.PacketSize [= Value]

[C/C++]

HRESULT get_PAcketSize( long *pSizeX );

HRESULT put_PacketSize( long SizeX );

Data Type [VB]

Long

Parameters [C/C++]

pPacketSize [out,retval]

Pointer to the current packet size

pPacketSize [in]

The packet size to be set

Return Values

S_OK

Success

E_FAIL

Failure.

E_INVALIDARG

Invalid property value.

Example

This VB example sets the current packet size to 4096 bytes:

Prontocam1.PacketSize = 4096

MsgBox Prontocam1.PacketSize

Remarks

This property is available only for partial scan (Format 7) Modes and related but not necessarily indicative of the effective

frame rate. Only certain values of the packet size can be allowed depending on the camera. If the property is set to a value

which is not supported by the camera, it will be reset to the nearest allowable packet size. For more information refer to

"IIDC 1394-based Digital Camera Specification, Version 1.30" published by the 1394 Trade Association.

Page 57: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

57

3.1.31. Palette

Description

Returns or sets the ordinal number of the currently selected live video palette. The values from 0 to 7 correspond to the

following predefined palettes:

0 - Gray

Applies the standard 256-level grayscale palette. This is a regular mode of viewing a grayscale video.

1 - Inverse

Applies the inverted 256-level grayscale palette. The video will be displayed in the negative format.

2 - Saturated

Applies the grayscale palette with colorized upper entries. The saturated palette allows you to control the dynamic range of

the video signal by bringing it slightly below the saturation level of the video camera or video amplifier. To achieve the

maximum dynamic range, adjust the intensity of the light source and/or the gain and zero level of the video amplifier so

that the red color corresponding to the brightest pixel values just barely shows up.

3 - Rainbow

Applies a color palette where the entries are evenly distributed along the Hue axis. This allows for assigning different color

pigments to different levels of intensity.

4 - Spectra

Applies a color palette where the entries are distributed along the Hue and Luminance axes. That allows for assigning

different color pigments to different levels of intensity while preserving the luminance scale.

5 - Isodense

Applies the 256-level grayscale palette, each 8-th entry of which is colorized. The isodense palette allows you to clearly see

transitions between different levels of intensities as isolines on a topographic map.

6 - Multiphase

Applies the multiphase palette. Entries in the multiphase palette are at opposite ends of the color model so even small

changes in gray levels are highlighted.

7 - Random

Applies the random color palette whose entries are filled with random values each time you select it from the menu.

Syntax

[VB]

objProntocam.Palette [= Value]

[C/C++]

HRESULT get_Palette( long *pPalette );

HRESULT put_Palette( long Palette );

Data Type [VB]

Long

Parameters [C/C++]

pPalette [out,retval]

Pointer to the ordinal number of the currently selected palette

Palette [in]

The number of the palette to be selected

Return Values

S_OK

Success

Page 58: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

58

E_FAIL

Failure.

E_INVALIDARG

Invalid property value.

Example

This VB example demonstrates the use of a combo box for changing display palettes on the live video:

Private Sub Form_Load()

Prontocam1.Acquire = True

Combo1.AddItem ("Gray")

Combo1.AddItem ("Inverse")

Combo1.AddItem ("Saturated")

Combo1.AddItem ("Rainbow")

Combo1.AddItem ("Spectra")

Combo1.AddItem ("Isodense")

Combo1.AddItem ("Multiphase")

Combo1.AddItem ("Random")

Combo1.ListIndex = 0

End Sub

Private Sub Combo1_Click()

Prontocam1.Palette = Combo1.ListIndex

End Sub

Remarks

The Palette property is used for viewing monochrome video in pseudo-colors. The property is only valid for a monochrome

Mode. If you use property pages in your development environment, the Palette property field will be presented as a list

box containing the names of all available palettes. Note that the Acquire and Display properties must be set to TRUE in

order for the live video to be displayed in the control window.

Page 59: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

59

3.1.32. Rate

Description

Returns or sets the current frame rate.

Syntax

[VB]

objProntocam.Rate [= Value]

[C/C++]

HRESULT get_Rate( long *pRate );

HRESULT put_Rate( long Rate );

Data Type [VB]

Float

Parameters [C/C++]

pRate [out,retval]

Pointer to the frame rate value

Rate [in]

The value of the frame rate

Return Values

S_OK

Success

E_FAIL

Failure.

E_INVALIDARG

The value is out of range

Example

This VB example sets the current frame rate to 15 fps:

Private Sub Form_Load()

Prontocam1.Rate = 15.

End Sub

Remarks

DCAM compliant cameras support the following predefined frame rates: 1.875 fps, 3.75 fps, 7.5 fps, 15 fps, 30 fps, 60 fps.

Additional frame rates can be provided by the camera manufacturer. A certain video Mode can only support certain frame

rates. The list of rates available for the current video mode can be retrieved with GetRateList. If you use the property

window of your development environment or Prontocam's property pages, the Rate property field will be presented as a list

box containing all supported frame rates. If the property is set to a value which is not supported by the current mode, it will

be reset to the nearest allowable frame rate.

Note that the Rate property is available only for the fixed video mode. If the current video mode is a partial scan one

(Format 7), use PacketSize to modify the effective frame rate. For more information refer to "IIDC 1394-based Digital

Camera Specification, Version 1.30" published by the 1394 Trade Association.

Page 60: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

60

3.1.33. Saturation

Description

Returns or sets the row value of the color saturation

Syntax

[VB]

objProntocam.Saturation [= Value]

[C/C++]

HRESULT get_Saturation( long *pSaturation );

HRESULT put_Saturation( long Saturation );

Data Type [VB]

Long

Parameters [C/C++]

pSaturation [out,retval]

Pointer to the current saturation value

Saturation [in]

The saturation value to be set

Return Values

S_OK

Success

E_FAIL

The saturation control is not available for the selected camera

E_INVALIDARG

The value is out of range

Example

The following VB example demonstrates the use of a scroll control for real-time adjustment of the camera's saturation.

Private Sub Form_Load()

Prontocam1.Acquire=True

HScroll1.Value = Prontocam1.Saturation

HScroll1.Min = Prontocam1.GetSaturationMin

HScroll1.Max = Prontocam1.GetSaturationMax

End Sub

Private Sub HScroll1_Scroll()

Prontocam1.Saturation = HScroll1.Value

End Sub

Remarks

This property changes the color depth of the video. The valid property range is reported by the GetSaturationMin and

GetSaturationMax methods. Note that the property is available only if the currently selected camera is a color one and

supports software saturation control.

Page 61: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

61

3.1.34. SaturationControl

Description

Returns or sets the saturation control mode. The values from 0 to 2 correspond to the following modes:

0 - Manual

The saturation level is controlled by the value of the Saturation property

1 - Auto

The camera controls the saturation level by itself continuously

2 - One push

The camera sets the optimal saturation level by itself and returns to the manual mode

Syntax

[VB]

objProntocam.SaturationControl [= Value]

[C/C++]

HRESULT get_SaturationControl( short *pSaturationControl );

HRESULT put_SaturationControl( short SaturationControl );

Data Type [VB]

Integer

Parameters [C/C++]

pSaturationControl [out, retval]

Pointer to the current saturation control mode

SaturationControl [in]

The saturation control mode to be set

Return Values

S_OK

Success

E_FAIL

The saturation control is not available for the selected camera

Example

The following VB example demonstrates the use of a checkbox to switch between the manual and automatic saturation

control.

Private Sub Check1_Click()

If Check1.Value = 1 Then

Prontocam1.SaturationControl = 1

Else

Prontocam1.SaturationControl = 0

End If

End Sub

Remarks

The property is available only if the currently selected camera supports automatic saturation control.

Page 62: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

62

l

3.1.35. ScrollX

Description

Returns or sets the current horizontal scroll position for the live video display.

Syntax

[VB]

objProntocam.ScrollX [= Value]

[C/C++]

HRESULT get_ScrollX( long *pScrollX );

HRESULT put_ScrollX( long ScrollX );

Data Type [VB]

Long

Parameters [C/C++]

pScro lX [out,retval]

Pointer to the current horizontal scroll position.

ScrollX [in]

The horizontal scroll position to be set.

Return Values

S_OK

Success

E_FAIL

Failure.

E_INVALIDARG

Invalid property value.

Example

This VB example sets the current horizontal scroll position to 512:

Prontocam1.ScrollX = 512

MsgBox Prontocam1.ScrollX

Remarks

The ScrollX property is only valid if the ScrollBars are present in the control window.Note that the value returned by this

property refers to the image coordinate system, not to the screen coordinates.

Page 63: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

63

l

3.1.36. ScrollY

Description

Returns or sets the current vertical scroll position for the live video display.

Syntax

[VB]

objProntocam.ScrollY [= Value]

[C/C++]

HRESULT get_ScrollY( long *pScrollY );

HRESULT put_ScrollY( long ScrollY );

Data Type [VB]

Long

Parameters [C/C++]

pScro lY [out,retval]

Pointer to the current vertical scroll position.

ScrollY [in]

The vertical scroll position to be set.

Return Values

S_OK

Success

E_FAIL

Failure.

E_INVALIDARG

Invalid property value.

Example

This VB example sets the current vertical scroll position to 512:

Prontocam1.ScrollY = 512

MsgBox Prontocam1.ScrollY

Remarks

The ScrollY property is only valid if the ScrollBars are present in the control window. Note that the value returned by this

property refers to the image coordinate system, not to the screen coordinates.

Page 64: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

64

3.1.37. Sharpness

Description

Returns or sets the row value of the sharpness

Syntax

[VB]

objProntocam.Sharpness [= Value]

[C/C++]

HRESULT get_Sharpness( long *pSharpness );

HRESULT put_Sharpness( long Sharpness );

Data Type [VB]

Long

Parameters [C/C++]

pSharpness [out,retval]

Pointer to the current sharpness value

Sharpness [in]

The sharpness value to be set

Return Values

S_OK

Success

E_FAIL

The sharpness control is not available for the selected camera

E_INVALIDARG

The value is out of range

Example

The following VB example demonstrates the use of a scroll control for real-time adjustment of the sharpness value.

Private Sub Form_Load()

Prontocam1.Acquire=True

HScroll1.Value = Prontocam1.Sharpness

HScroll1.Min = Prontocam1.GetSharpnessMin

HScroll1.Max = Prontocam1.GetSharpnessMax

End Sub

Private Sub HScroll1_Scroll()

Prontocam1.Sharpness = HScroll1.Value

End Sub

Remarks

This property changes the sharpness of the video by modifying parameters of the camera's differential circuitry. The valid

property range is reported by the GetSharpnessMin and GetSharpnessMax methods. Note that the property is available only

if the currently selected camera supports software sharpness control.

Page 65: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

65

3.1.38. SharpnessControl

Description

Returns or sets the sharpness control mode. The values from 0 to 2 correspond to the following modes:

0 - Manual

The sharpness level is controlled by the value of the Sharpness property

1 - Auto

The camera controls the sharpness level by itself continuously

2 - One push

The camera sets the optimal sharpness level by itself and returns to the manual mode

Syntax

[VB]

objProntocam.SharpnessControl [= Value]

[C/C++]

HRESULT get_SharpnessControl( short *pSharpnessControl );

HRESULT put_SharpnessControl( short SharpnessControl );

Data Type [VB]

Integer

Parameters [C/C++]

pSharpnessControl [out, retval]

Pointer to the current sharpness control mode

SharpnessControl [in]

The sharpness control mode to be set

Return Values

S_OK

Success

E_FAIL

The sharpness control is not available for the selected camera

Example

The following VB example demonstrates the use of a checkbox to switch between the manual and automatic sharpness

control.

Private Sub Check1_Click()

If Check1.Value = 1 Then

Prontocam1.SharpnessControl = 1

Else

Prontocam1.SharpnessControl = 0

End If

End Sub

Remarks

The property is available only if the currently selected camera supports automatic sharpness control.

Page 66: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

66

3.1.39. Shutter

Description

Returns or sets the row value of the shutter

Syntax

[VB]

objProntocam.Shutter [= Value]

[C/C++]

HRESULT get_Shutter( long *pShutter );

HRESULT put_Shutter( long Shutter );

Data Type [VB]

Long

Parameters [C/C++]

pShutter [out,retval]

Pointer to the current shutter value

Shutter [in]

The shutter value to be set

Return Values

S_OK

Success

E_FAIL

The shutter control is not available for the selected camera

E_INVALIDARG

The value is out of range

Example

The following VB example demonstrates the use of a scroll control for real-time adjustment of the camera's shutter.

Private Sub Form_Load()

Prontocam1.Acquire=True

HScroll1.Value = Prontocam1.Shutter

HScroll1.Min = Prontocam1.GetShutterMin

HScroll1.Max = Prontocam1.GetShutterMax

End Sub

Private Sub HScroll1_Scroll()

Prontocam1.Shutter = HScroll1.Value

End Sub

Remarks

This property changes the integration time of the camera's sensor to a sub-value of the frame period. Depending on the

camera model, the raw shutter value can be directly or inversly related to the integration time physical value. The valid

property range is reported by the GetShutterMin and GetShutterMax methods. Note that the property is available only if the

currently selected camera supports software shutter control.

Page 67: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

67

3.1.40. ShutterControl

Description

Returns or sets the shutter control mode. The values from 0 to 2 correspond to the following modes:

0 - Manual

The shutter level is controlled by the value of the Shutter property

1 - Auto

The camera controls the shutter level by itself continuously

2 - One push

The camera sets the optimal shutter level by itself and returns to the manual mode

Syntax

[VB]

objProntocam.ShutterControl [= Value]

[C/C++]

HRESULT get_ShutterControl( short *pShutterControl );

HRESULT put_ShutterControl( short ShutterControl );

Data Type [VB]

Integer

Parameters [C/C++]

pShutterControl [out, retval]

Pointer to the current shutter control mode

ShutterControl [in]

The shutter control mode to be set

Return Values

S_OK

Success

E_FAIL

The shutter control is not available for the selected camera

Example

The following VB example demonstrates the use of a checkbox to switch between the manual and automatic shutter control.

Private Sub Check1_Click()

If Check1.Value = 1 Then

Prontocam1.ShutterControl = 1

Else

Prontocam1.ShutterControl = 0

End If

End Sub

Remarks

The property is available only if the currently selected camera supports automatic shutter control.

Page 68: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

68

3.1.41. SizeX

Description

Returns or sets the width of the partial scan window.

Syntax

[VB]

objProntocam.SizeX [= Value]

[C/C++]

HRESULT get_SizeX( long *pSizeX );

HRESULT put_SizeX( long SizeX );

Data Type [VB]

Long

Parameters [C/C++]

pSizeX [out,retval]

Pointer to the currently selected image width

SizeX [in]

The image width to be selected

Return Values

S_OK

Success

E_FAIL

Failure.

E_INVALIDARG

Invalid property value.

Example

This VB example sets the current image width to 512:

Prontocam1.SizeX = 512

MsgBox Prontocam1.SizeX

Remarks

Modification of the size of the video frame is available only for partial scan (Format 7) Modes. Only certain values of the

width can be allowed for the partial scan window depending on the camera. If the property is set to a value which is not

supported by the camera, it will be reset to the nearest allowable width.

If the currently selected video mode represents a fixed format, the SizeX property will be readonly and will return the same

value as GetWidth.

Page 69: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

69

3.1.42. SizeY

Description

Returns or sets the height of the partial scan window.

Syntax

[VB]

objProntocam.SizeY [= Value]

[C/C++]

HRESULT get_SizeY( long *pSizeY );

HRESULT put_SizeY( long SizeY );

Data Type [VB]

Long

Parameters [C/C++]

pSizeY [out,retval]

Pointer to the currently selected image height

SizeY [in]

The image height to be selected

Return Values

S_OK

Success

E_FAIL

Failure.

E_INVALIDARG

Invalid property value.

Example

This VB example sets the current image height to 512:

Prontocam1.SizeY = 512

MsgBox Prontocam1.SizeY

Remarks

Modification of the size of the video frame is available only for partial scan (Format 7) Modes. Only certain values of the

height can be allowed for the partial scan window depending on the camera. If the property is set to a value which is not

supported by the camera, it will be reset to the nearest allowable height.

If the currently selected video mode represents a fixed format, the SizeY property will be readonly and will return the same

value as GetHeight.

Page 70: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

70

3.1.43. StartX

Description

Returns or sets the horizontal offset of the partial scan window.

Syntax

[VB]

objProntocam.StartX [= Value]

[C/C++]

HRESULT get_StartX( long *pStartX );

HRESULT put_StartX( long StartX );

Data Type [VB]

Long

Parameters [C/C++]

pStartX [out,retval]

Pointer to the currently set horizontal ofset

SizeX [in]

The horizontal ofset to be set

Return Values

S_OK

Success

E_FAIL

Failure.

E_INVALIDARG

Invalid property value.

Example

This VB example sets the horizontal ofset of the video window to 64:

Prontocam1.StartX = 64

MsgBox Prontocam1.StartX

Remarks

This property is available only for partial scan (Format 7) Modes and allows you to set the horizontal offset of the top left

corner of the scan window in pixels. Only certain values StartX can be allowed depending on the camera. If the property is

set to a value which is not supported by the camera, it will be reset to the nearest allowable one.

Page 71: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

71

3.1.44. StartY

Description

Returns or sets the vertical offset of the partial scan window.

Syntax

[VB]

objProntocam.StartY [= Value]

[C/C++]

HRESULT get_StartY( long *pStartY );

HRESULT put_StartY( long StartY );

Data Type [VB]

Long

Parameters [C/C++]

pStartY [out,retval]

Pointer to the currently set vertical offset

StartY [in]

The vertical offset to be set

Return Values

S_OK

Success

E_FAIL

Failure.

E_INVALIDARG

Invalid property value.

Example

This VB example sets the vertical ofset of the video window to 64 pixels:

Prontocam1.StartY = 64

MsgBox Prontocam1.StartY

Remarks

This property is available only for partial scan (Format 7) Modes and allows you to set the vertical offset of the top left

corner of the scan window in pixels. Only certain values StartY can be allowed depending on the camera. If the property is

set to a value which is not supported by the camera, it will be reset to the nearest allowable one.

Page 72: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

72

3.1.45. Trigger

Description

Enables/disables the hardware trigger.

Syntax

[VB]

objProntocam.Trigger [= Value]

[C/C++]

HRESULT get_Trigger ( bool *pTrigger );

HRESULT put_Trigger( bool Trigger );

Data Type [VB]

Boolean

Parameters [C/C++]

pTrigger [out,retval]

Pointer to the Boolean that is TRUE if the trigger mode is enable, or FALSE otherwise

Trigger [in]

Set to TRUE to enable the trigger mode, or set to FALSE otherwise

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example activates the trigger mode:

Prontocam1.Asynch = False

Prontocam1.Trigger = True

MsgBox Prontocam1.Trigger

Remarks

The hardware trigger is typically used with an asynchronously resetable camera. When the Trigger property is enalbed, the

acquisition of a frame will occur upon receiving a signal from an external hardware trigger. Aslo see TriggerMode and

TriggerPolarity. It is recommended to set the Asynch property to FALSE before activating the trigger mode.

Page 73: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

73

3.1.46. TriggerCounter

Description

Returns or sets the trigger counter parameter for trigger modes 1 and 2. See TriggerMode for more details.

Syntax

[VB]

objProntocam.TriggerCounter [= Value]

[C/C++]

HRESULT get_TriggerCounter( long *pTriggerCounter );

HRESULT put_TriggerCounter( long TriggerCounter );

Data Type [VB]

Long

Parameters [C/C++]

pTriggerCounter [out,retval]

Pointer to the ordinal number of the currently selected palette

TriggerCounter [in]

The number of the palette to be selected

Return Values

S_OK

Success

E_FAIL

Failure.

E_INVALIDARG

Invalid property value.

Example

This VB example sets the trigger counter to 16

Prontocam1.TriggerCounter = 16

MsgBox Prontocam1.TriggerCounter

Remarks

For more information on the DCAM trigger modes refer to "IIDC 1394-based Digital Camera Specification, Version 1.30"

published by the 1394 Trade Association.

Page 74: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

74

3.1.47. 3.1.47 TriggerMode

Description

Returns or sets the trigger mode as defined by DCAM 1.31 specifications. The values from 0 to 3 correspond to the

following modes (the TriggerPolarity is assumed to be set to Low Active):

0 - Mode 0

Camera starts integration of the incoming light from the external trigger input falling edge. Integration time is defined by

the Shutter option.

1 - Mode 1

Camera starts integration of the incoming light from the external trigger input falling edge.Integration time is equal to low

state time of the external trigger input.

2 - Mode 2

Camera starts integration of the incoming light from the external trigger input falling edge. At the TriggerCounter-th

external trigger input falling edge, integration will be stopped.

3 - Mode 3

Internal trigger mode. Camera will issue the trigger signal internally, with a cycle time equal to TriggerCounter times of the

cycle time of the fastest frame. Integration time of the incoming light is defined by the Shutter property.

4 - Mode 4

Multiple shutter preset mode. Camera starts integration of incoming light from first external trigger input falling edge and

exposes incoming light at Shutter time. Repeat this sequence TriggerCounter times and then finish integration.

5 - Mode 5

Multiple shutter pulse width mode. Camera starts integration of incoming light from first external trigger input falling edge

and exposes incoming light until trigger is inactive. Repeat this sequence TriggerCounter times and then finish integration.

Syntax

[VB]

objProntocam.TriggerMode [= Value]

[C/C++]

HRESULT get_TriggerMode( long *pTriggerMode );

HRESULT put_TriggerMode( long TriggerMode );

Data Type [VB]

Long

Parameters [C/C++]

pTriggerMode [out,retval]

Pointer to the ordinal number of the currently selected palette

TriggerMode [in]

The number of the palette to be selected

Return Values

S_OK

Reference 111

Success

E_FAIL

Failure.

E_INVALIDARG

Invalid property value.

Page 75: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

75

Example

This VB example sets Mode 1 for the trigger input operation.

Prontocam1.TriggerMode = 1

MsgBox Prontocam1.TriggerMode

Remarks

Trigger modes 2, 3, 4 and 5 work in combination with TriggerCounter. If trigger modes 0, 2, and 4 are used with the

software TriggerSource, there is no need to reset the trigger signal (by issuing SoftTrigger with the False argument), as the

trigger will reset itself. For more information on the DCAM trigger modes refer to "IIDC 1394-based Digital Camera

Specification, Version 1.31" published by the 1394 Trade Association.

Page 76: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

76

3.1.48. TriggerPolarity

Description

Returns or sets the polarity of the hardware trigger input.

Syntax

[VB]

objProntocam.TriggerPolarity [= Value]

[C/C++]

HRESULT get_TriggerPolarity ( bool *pTriggerPolarity );

HRESULT put_TriggerPolarity( bool pTriggerPolarity );

Data Type [VB]

Boolean

Parameters [C/C++]

pTriggerPolarity [out,retval]

Pointer to the Boolean that is TRUE if the high active trigger input, or FALSE otherwise

TriggerPolarity [in]

Set to TRUE to enable the high active trigger input, or set to FALSE for the low active input

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example sets the trigger input to the high active polarity:

Prontocam1.TriggerPolarity = True

MsgBox Prontocam1.TriggerPolarity

Remarks

When the trigger input is set to the low active polarity, the acquisition of the frame will occur upon a drop of the voltage on

the trigger input. For the high active input, the acquisition will occur upon a raise of the voltage.

Page 77: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

77

3.1.49. TriggerSource

Description

Returns or sets the trigger source as defined by DCAM 1.31 specifications.

Syntax

[VB]

objProntocam.TriggerSource [= Value]

[C/C++]

HRESULT get_TriggerSource( long *pTriggerSource );

HRESULT put_TriggerSource( long TriggerSource );

Data Type [VB]

Long

Parameters [C/C++]

pTriggerMode [out,retval]

Pointer to the trigger source ID. The values from 0 to 3 correspond to alternative hardware trigger sources (if available).

The value 7 corresponds to the software trigger.

TriggerMode [in]

ID of the current trigger source

Return Values

S_OK

Success

E_FAIL

Failure.

E_INVALIDARG

Invalid property value.

Example

This VB example sets the software source for the trigger input operation.

Prontocam1.TriggerSource = 7

MsgBox Prontocam1.TriggerSource

Remarks

If the software trigger source is selected (TriggerSource=7), use SoftTrigger to generate the software

trigger signal.

Page 78: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

78

l

3.1.50. ScrollBars

Description

Enables/disables the scroll bars on the control window.

Syntax

[VB]

objProntocam.ScrollBars [= Value]

[C/C++]

HRESULT get_ScrollBars ( bool *pScrollBars );

HRESULT put_ScrollBars( bool pScrollBars );

Data Type [VB]

Boolean

Parameters [C/C++]

pScro lBars [out,retval]

Pointer to the Boolean that is TRUE if the scroll bars are enable, or FALSE otherwise

ScrollBars [in]

Set to TRUE to enable the scroll bars, or set to FALSE otherwise

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example enables scroll bars on the control window:

Prontocam1.ScrollBars = True

MsgBox Prontocam1.ScrollBars

Remarks

If this property is set to TRUE and the video width or/and height (see SizeX and SizeY) exceed the size of the control

window, a scroll bar(s) will be displayed on the border of the control window allowing you to pan the live video. The current

position of scroll bars can be retrieved or modified via the ScrollX and ScrollY properties. When the scroll bars are moved,

the Scroll event will be raised.

Note that the Acquire and Display properties must be set to TRUE in order for the live video to be

displayed in the control window.

Page 79: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

79

3.1.51. SwapBytes

Description

Enables/disables swapping of bytes for 16- and 48-bit video modes.

Syntax

[VB]

objProntocam.SwapBytes [= Value]

[C/C++]

HRESULT get_SwapBytes ( bool *pSwapBytes );

HRESULT put_SwapBytes( bool pSwapBytes );

Data Type [VB]

Boolean

Parameters [C/C++]

pSwapBytes [out,retval]

Pointer to the Boolean that is TRUE if the byte swap is enable, or FALSE otherwise

SwapBytes [in]

Set to TRUE to enable the byte swap mode, or set to FALSE otherwise

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example activates the byte swap mode:

Prontocam1.SwapBytes = True

MsgBox Prontocam1.SwapBytes

Remarks

This property defines the way in which 16-bit pixels are arranged in Prontocam image buffer. If SwapBytes is set to FALSE,

the bytes in each pixel will maintain the order in which they are delivered by the camera. Some cameras however can

render the most significan bits of each pixel in the highorder bytes and the least significant bits in the low-order bytes. If

this happens, the live image will appear scrambled. Setting SwapBytes to TRUE will activate a real-time swap of bytes in

incoming camera frames and restore original pixel values.

Note that this property is availalbe only in 16- and 48-bit video Modes.

Page 80: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

80

3.1.52. WhiteBalanceUB

Description

Returns or sets the U or B value of the white color

Syntax

[VB]

objProntocam.WhiteBalanceUB [= Value]

[C/C++]

HRESULT get_WhiteBalanceUB( long *pWhiteBalanceUB );

HRESULT put_WhiteBalanceUB( long WhiteBalanceUB );

Data Type [VB]

Long

Parameters [C/C++]

pWhiteBalanceUB [out,retval]

Pointer to the current U/B value

WhiteBalanceUB [in]

The U/B value to be set

Return Values

S_OK

Success

E_FAIL

The white balance control is not available for the selected camera

E_INVALIDARG

The value is out of range

Example

The following Visual Basic example demonstrates the use of two scroll controls for real-time adjustment of the white

balance

Private Sub Form_Load()

Prontocam1.Acquire=True

HScroll1.Value = Prontocam1.WhiteBalanceUB

HScroll1.Min = Prontocam1.GetWhiteBalanceMin

HScroll1.Max = Prontocam1.GetWhiteBalanceMax

HScroll2.Value = Prontocam1.WhiteBalanceVR

HScroll2.Min = Prontocam1.GetWhiteBalanceMin

HScroll2.Max = Prontocam1.GetWhiteBalanceMax

End Sub

Private Sub HScroll1_Scroll()

Prontocam1.WhiteBalanceUB = HScroll1.Value

End Sub

Private Sub HScroll2_Scroll()

Prontocam1.WhiteBalanceVR = HScroll2.Value

End Sub

Page 81: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

81

Remarks

This property changes the tint of the white color along the yellow-blue axis by modifying U component in the YUV mode or

B component in the RGB mode. The valid property range is reported by the GetWhiteBalanceMin and GetWhiteBalanceMax

methods. Note that the property is available only if the currently selected camera is a color one and supports white balance

control.

Page 82: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

82

3.1.53. WhiteBalanceVR

Description

Returns or sets the V or R value of the white color

Syntax

[VB]

objProntocam.WhiteBalanceVR [= Value]

[C/C++]

HRESULT get_WhiteBalanceVR( long *pWhiteBalanceVR );

HRESULT put_WhiteBalanceVR( long WhiteBalanceVR );

Data Type [VB]

Long

Parameters [C/C++]

pWhiteBalanceVR [out,retval]

Pointer to the current V/R value

WhiteBalanceVR [in]

The V/R value to be set

Return Values

S_OK

Success

E_FAIL

The white balance control is not available for the selected camera

E_INVALIDARG

The value is out of range

Example

The following Visual Basic example demonstrates the use of two scroll controls for real-time adjustment of the white

balance

Private Sub Form_Load()

Prontocam1.Acquire=True

HScroll1.Value = Prontocam1.WhiteBalanceUB

HScroll1.Min = Prontocam1.GetWhiteBalanceMin

HScroll1.Max = Prontocam1.GetWhiteBalanceMax

HScroll2.Value = Prontocam1.WhiteBalanceVR

HScroll2.Min = Prontocam1.GetWhiteBalanceMin

HScroll2.Max = Prontocam1.GetWhiteBalanceMax

End Sub

Private Sub HScroll1_Scroll()

Prontocam1.WhiteBalanceUB = HScroll1.Value

End Sub

Private Sub HScroll2_Scroll()

Prontocam1.WhiteBalanceVR = HScroll2.Value

End Sub

Remarks

Page 83: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

83

This property changes the tint of the white color along the cyan-red axis by modifying V component in the YUV mode or R

component in the RGB mode. The valid property range is reported by the GetWhiteBalanceMin and GetWhiteBalanceMax

methods. Note that the property is available only if the currently selected camera is a color one and supports white balance

control.

Page 84: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

84

t

3.1.54. WhiteBalanceControl

Description

Returns or sets the white balance control mode. The values from 0 to 2 correspond to the following

modes:

0 - Manual

The white balance levels is controlled by the values of the WhiteBalanceUB and WhiteBalanceVR properties

1 - Auto

The camera controls the white balance levels by itself continuously

2 - One push

The camera sets the optimal white balance levels by itself and returns to the manual mode

Syntax

[VB]

objProntocam.WhiteBalanceControl [= Value]

[C/C++]

HRESULT get_WhiteBalanceControl( short *pWhiteBalanceControl );

HRESULT put_WhiteBalanceControl( short WhiteBalanceControl );

Data Type [VB]

Integer

Parameters [C/C++]

pWhiteBalanceControl [out, retval]

Pointer to the current white balance control mode

WhiteBalanceCon rol [in]

The white balance control mode to be set

Return Values

S_OK

Success

E_FAIL

The white balance control is not available for the selected camera

Example

The following VB example demonstrates the use of a checkbox to switch between the manual and automatic white balance

control.

Private Sub Check1_Click()

If Check1.Value = 1 Then

Prontocam1.WhiteBalanceControl = 1

Else

Prontocam1.WhiteBalanceControl = 0

End If

End Sub

Remarks

The property is available only if the currently selected camera supports automatic white balance control.

Page 85: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

85

3.1.55. Zoom

Description

Returns or sets the row value of the zoom

Syntax

[VB]

objProntocam.Zoom [= Value]

[C/C++]

HRESULT get_Zoom( long *pZoom );

HRESULT put_Zoom( long Zoom );

Data Type [VB]

Long

Parameters [C/C++]

pZoom [out,retval]

Pointer to the current zoom value

Zoom [in]

The zoom value to be set

Return Values

S_OK

Success

E_FAIL

The zoom control is not available for the selected camera

E_INVALIDARG

The value is out of range

Example

The following VB example demonstrates the use of a scroll control for real-time adjustment of the camera's zoom.

Private Sub Form_Load()

Prontocam1.Acquire=True

HScroll1.Value = Prontocam1.Zoom

HScroll1.Min = Prontocam1.GetZoomMin

HScroll1.Max = Prontocam1.GetZoomMax

End Sub

Private Sub HScroll1_Scroll()

Prontocam1.Zoom = HScroll1.Value

End Sub

Remarks

This property provides adjustment of the optical zoom of the camera lens. The valid property range is reported by the

GetZoomMin and GetZoomMax methods. Note that the property is available only if the currently selected camera is

equipped with a motorized lens supports software zoom control.

Page 86: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

86

t

3.1.56. ZoomControl

Description

Returns or sets the zoom control mode. The values from 0 to 2 correspond to the following modes:

0 - Manual

The zoom level is controlled by the value of the Zoom property

1 - Auto

The camera controls the zoom level by itself continuously

2 - One push

The camera sets the optimal zoom level by itself and returns to the manual mode

Syntax

[VB]

objProntocam.ZoomControl [= Value]

[C/C++]

HRESULT get_ZoomControl( short *pZoomControl );

HRESULT put_ZoomControl( short ZoomControl );

Data Type [VB]

Integer

Parameters [C/C++]

pZoomControl [out, retval]

Pointer to the current zoom control mode

ZoomCon rol [in]

The zoom control mode to be set

Return Values

S_OK

Success

E_FAIL

The zoom control is not available for the selected camera

Example

The following VB example demonstrates the use of a checkbox to switch between the manual and automatic zoom control.

Private Sub Check1_Click()

If Check1.Value = 1 Then

Prontocam1.ZoomControl = 1

Else

Prontocam1.ZoomControl = 0

End If

End Sub

Remarks

The property is available only if the currently selected camera supports automatic zoom control.

Page 87: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

87

3.2. Methods Prontocam control provides the following methods to a container application:

Grab Grabs a single frame into the internal memory

SoftTrigger Sets/resets the software trigger signal

GetCameraList Returns the list of DCAM cameras connected to the 1394 board

GetModeList Returns the list of video mode supported by the currently selected camera

GetRateList Returns the list of frame rates supported by the currently selected video mode

GetWidth Returns the maximum horizontal size of the video frame

GetHeight Returns the maximum vertical size of the video frame

GetBytesPerPixel Returns the number of bytes per pixel in the video

GetTriggerInfo Returns the information related to triggering

GetF7Info Returns the information related to Format 7 (partial scan) video modes

GetPixel Returns the pixel value at the specified coordinates

GetRGBPixel Returns the array of RGB values at the specified coordinates

GetImageLine Returns the array of pixel values in the specified horizontal line

GetComponentLine Returns the array of pixel values of the color component in the specified horizontal line

GetImageWindow Returns the 2D array of pixel values in the specified rectangular area of the current frame

SetImageWindow Copies the 2D array of pixel values to the selected window of the current frame

GetImageData Returns the two dimensional array of pixel values in the currently acquired frame

GetComponentData Returns the two dimensional array of pixel values in the specified color component

GetRawData Returns the 2D array of raw values in the currently acquired data buffer

GetImagePointer Returns the memory pointer to the specified pixel

GetDIB Returns the handler to a Device Independent Bitmap

GetPicture Returns the Picture object corresponding to the currently acquired frame

SaveImage Saves the current frame buffer in the specified image file

StartCapture Starts video capture to the specified AVI file or series of image files

StopCapture Stops video capture

Page 88: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

88

3.2.1. Draw

Description

Displays the current frame in Prontocam window.

Syntax

[VB]

objProntocam.Draw

[C/C++]

HRESULT Draw();

Parameters

None

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example uses the FrameAcquired event to invert pixel value in the bottom left corner of the current frame and

display the processed frame in real time.

Private Sub Form_Load()

Prontocam1.Display = False

Prontocam1.Acquire = True

End Sub

Private Sub Prontocam1_FrameAcquired()

a = Prontocam1.GetImageData

For x = 0 To 200

For y = 0 To 200

a(x, y) = 255 - a(x, y)

Next

Next

Prontocam1.Draw

End Sub

Remarks

Use this method when the automatic live display is disabled (Display is set to False). This is typically done when you want

to perform real time image processing and display the processed image in the control window.

Page 89: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

89

3.2.2. GetBrightnessMin

Description

Returns the minimum value of the Brightness property.

Syntax

[VB]

Value=objProntocam.GetBrightnessMin()

[C/C++]

HRESULT GetBrightnessMin(long* pValue );

Data Types [VB]

Return value: Long

Parameters [C/C++]

pValue [out, retval]

Pointer to the minimum brightness value

Return Values

S_OK

Success

E_FAIL

The brightness control is not available for the selected camera

Example

This VB example uses the minimum and maximum brightness values to initialize the slider control:

Private Sub Form_Load()

Slider1.Min = Prontocam1.GetBrightnessMin

Slider1.Max = Prontocam1.GetBrightnessMax

Slider1.Value = Prontocam1.Brightness

End Sub

Remarks

If the currently selected camera doesn't support software brightness control, the method will generate an error.

Page 90: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

90

3.2.3. GetBrightnessMax

Description

Returns the maximum value of the Brightness property.

Syntax

[VB]

Value=objProntocam.GetBrightnessMax()

[C/C++]

HRESULT GetBrightnessMax(long* pValue );

Data Types [VB]

Return value: Long

Parameters [C/C++]

pValue [out, retval]

Pointer to the maximum brightness value

Return Values

S_OK

Success

E_FAIL

The brightness control is not available for the selected camera

Example

This VB example uses the minimum and maximum brightness values to initialize the slider control:

Private Sub Form_Load()

Slider1.Min = Prontocam1.GetBrightnessMin

Slider1.Max = Prontocam1.GetBrightnessMax

Slider1.Value = Prontocam1.Brightness

End Sub

Remarks

If the currently selected camera doesn't support software brightness control, the method will generate an error.

Page 91: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

91

3.2.4. GetBytesPerPixel

Description

Returns the number of bytes per pixel for the current video Format.

Syntax

[VB]

Value=objProntocam.GetBytesPerPixel()

[C/C++]

HRESULT GetBytesPerPixel(long* pValue );

Data Types [VB]

Return value: Long

Parameters [C/C++]

pValue [out,retval]

Pointer to the number of bytes per pixel

Return Values

S_OK

Success

E_FAIL

Failure

Example

This VB example reads and displays the pixel depth:

value=Prontocam1.GetBytesPerPixel()

MsgBox value

Remarks

The method returns the pixel depth of the internal image buffer of Prontocam control which can be different from the pixel

depth of the image ouputed by the camera. For instance, the YUV 4:1:1 and YUV 4:2:2 images are always converted to the

RGB 8:8:8 video, therefore the number of bytes per pixel reported for these formats will be 3. Also, when the Bayer color

conversion is activated for Mono 8 and and Mono 16 formats, the resulting video will have 3 or 6 bytes per pixel accordingly.

Page 92: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

92

3.2.5. GetCameraList

Description

Returns the array of strings containing the names of DCAM cameras connected to the 1394 board.

Syntax

[VB]

Value=objProntocam.GetCameraList()

[C/C++]

HRESULT GetCameraList( VARIANT* pList );

Data Types [VB]

Return value: Variant (SAFEARRAY)

Parameters [C/C++]

pList [out,retval]

Pointer to the SAFEARRAY containing camera names

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example initializes a combo box with camera names and uses it to switch between the

cameras:

Private Sub Form_Load()

CamLst = Prontocam1.GetCameraList

For i = 0 To UBound(CamLst)

Combo1.AddItem (CamLst(i))

Next

Combo1.ListIndex = 0

Prontocam1.Acquire = True

End Sub

Private Sub Combo1_Click()

Prontocam1.Camera = Combo1.ListIndex

End Sub

Remarks

The index of an element in the camera list can be used as an argument of the Camera property to select a specific camera.

Page 93: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

93

3.2.6. GetComponentData

Description

Returns the two-dimensional array of pixel values in the specified color component of the current frame.

Syntax

[VB]

Value=objProntocam.GetComponentData( Component )

[C/C++]

HRESULT GetComponentData( short Component, VARIANT* pArray );

Data Types [VB]

Y: Integer

Component: Integer

Return value: Variant (SAFEARRAY)

Parameters [C/C++]

Component [in]

The index of the selected color component (0 - Red, 1 - Green, 2 - Blue)

pArray [out,retval]

Pointer to the SAFEARRAY containing the pixel values in the frame

Return Values

S_OK

Success

E_FAIL

Failure.

E_INVALIDARG

Invalid input argument.

Example

This VB example grabs a frame, retrieves its green component and displays the value of the specified element of the array.

Dim pix as Long

Prontocam1.Grab

DataArray=Prontocam1.GetComponentData(1)

x=16

y=32

pix=DataArray(x,y)

if pix < 0 then

pix=65535-pix

endif

Remarks

The array returned by GetComponentData has the dimensions 0 to SizeX - 1, 0 to SizeY - 1. The type of data in the array

depends on the format of the video acquired. For the 24-bit video the method will return an array of bytes. If the video is of

the high-bit depth, the array will contain integer (word) values.

Note that modifying elements of the array will not change actual pixel values in the frame buffer. The image data in the

array are stored in the standard order from top to bottom, therefore the first element of the array is first pixel of the top

line of the image. This is opposite to the order of raws in the array returned by GetImageData.

Page 94: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

94

If the video has a grayscale format, the Component parameter will have no effect and the output array will contain the

luminance data. For integer (word) type of data you can receive negative numbers if pixel values exceed 32767. In C

and C# you can convert signed integers to unsigned ones by using data casting. To get rid of negative values in VB and

Delphi, subract them from 65535 (see the example above).

Page 95: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

95

3.2.7. GetComponentLine

Description

Returns the array of pixel values of the specified color component at the specified horizontal line of the current frame.

Syntax

[VB]

Value=objProntocam.GetComponentLine( Y, Component )

[C/C++]

HRESULT GetComponentLine( short Y, short Component, VARIANT* pArray );

Data Types [VB]

Y: Integer

Component: Integer

Return value: Variant (SAFEARRAY)

Parameters [C/C++]

Y [in]

The y-coordinate of the line in the image

Component [in]

The index of the selected color component (0 - Red, 1 - Green, 2 - Blue)

pArray [out,retval]

Pointer to the SAFEARRAY containing the pixel values in the line

Return Values

S_OK

Success

E_FAIL

Failure.

E_INVALIDARG

Invalid input argument.

Example

This VB example grabs a frame, retrieves the 32th row of green pixels and displays the value of 10th pixel in the row.

Prontocam1.Grab

Line=Prontocam1.GetComponentLine(32,2)

MsgBox Line(10)

Remarks

The array returned by GetComponentLine has the dimension range from 0 to SizeX - 1. The type of data in the array

depends on the format of the video acquired. For the 24-bit video the method will return an array of bytes. If the video is of

the high-bit depth, the array will contain integer (word) values. If the video has a grayscale format, the Component

parameter will have no effect and the output array will contain the luminance data (see GetLine).

Note that modifying elements of the array will not change actual pixel values in the frame buffer.The value of the y

coordinate must not exceed the height of the video frame, or the error will occur.

Page 96: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

96

3.2.8. 3.2.8 GetDIB

Description

Returns the handler to a Device Independent Bitmap.

Syntax

[VB]

Value=objProntocam.GetDIB()

[C/C++]

HRESULT GetDIB(HGLOBAL* pDib);

Data Types [VB]

Return value: long

Parameters [C/C++]

X [in]

The x-coordinate of the pixel

Y [in]

The y-coordinate of the pixel

pDib

Pointer to the handler to Prontocam's display DIB

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This C example demonstrates how to retrieve and display Prontocam's DIB

BITMAPINFO *pDIB;

pProntocam->GetDIB((ULONG*)&pDIB);

RECT rect; long sx,sy;

GetWindowRect(hWnd,&rect);

pProntocam->GetWidth(&sx);

pProntocam->GetHeight(&sy);

BYTE* pData=(BYTE*)pDIB+sizeof(BITMAPINFOHEADER) + pDIB-

>bmiHeader.biClrUsed * sizeof(RGBQUAD);

SetDIBitsToDevice(hDC, 0, 0, sx, sy, 0, 0, 0, sy, pData, pDIB,

DIB_RGB_COLORS);

Remarks

The GetDIB method provides the most efficient way to display the internal image buffer when you do not want to use

Prontocam's live display. Prontocam uses packed DIBs, the pixel data immediately following the BITMAPINFO structure. The

method returns a GlobalAlloc handler which contains the pointer to a DIB. The application must not free the global handler

after using the DIB data.

Note that a DIB contains only 8- and 24-bit pixel values, even if the current video mode is a 16- or 48- bit one. To access

the actual pixel data, use the GetImageData or GetPointer methods.

Page 97: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

97

3.2.9. GetExposureMin

Description

Returns the minimum value of the AutoExposureRef property.

Syntax

[VB]

Value=objProntocam.GetExposureMin()

[C/C++]

HRESULT GetExposureMin(long* pValue );

Data Types [VB]

Return value: Long

Parameters [C/C++]

pValue [out, retval]

Pointer to the minimum auto exposure reference value

Return Values

S_OK

Success

E_FAIL

The auto exposure control is not available for the selected camera

Example

This VB example uses the minimum and maximum auto exposure reference values to initialize the slider control:

Private Sub Form_Load()

Slider1.Min = Prontocam1.GetExposureMin

Slider1.Max = Prontocam1.GetExposureMax

Slider1.Value = Prontocam1.AutoExposureRef

End Sub

Remarks

If the currently selected camera doesn't support auto exposure control, the method will generate an error.

Page 98: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

98

3.2.10. GetExposureMax

Description

Returns the maximum value of the AutoExposureRef property.

Syntax

[VB]

Value=objProntocam.GetExposureMax()

[C/C++]

HRESULT GetExposureMax(long* pValue );

Data Types [VB]

Return value: Long

Parameters [C/C++]

pValue [out, retval]

Pointer to the maximum auto exposure reference value

Return Values

S_OK

Success

E_FAIL

The auto exposure control is not available for the selected camera

Example

This VB example uses the minimum and maximum auto exposure reference values to initialize the slider control:

Private Sub Form_Load()

Slider1.Min = Prontocam1.GetExposureMin

Slider1.Max = Prontocam1.GetExposureMax

Slider1.Value = Prontocam1.AutoExposureRef

End Sub

Remarks

If the currently selected camera doesn't support auto exposure control, the method will generate an

error.

Page 99: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

99

3.2.11. GetF7Info

Description

Returns the array of long values containing the information releated to Format 7 (partial scan) video

modes .

Syntax

[VB]

Value=objProntocam.GetF7Info()

[C/C++]

HRESULT GetF7Info( VARIANT* pInfo );

Data Types [VB]

Return value: Variant (Array)

Parameters [C/C++]

pInfo [out,retval]

Pointer to the SAFEARRAY containing the following long values in the listed order:

- maximum height of the partial scan in pixels

- maximum width of the partial scan in pixels

- minimum interval at which partial scan size can be changed horizontally

- minimum interval at which partial scan size can be changed vertically

- minimum interval at which the offset of partial scan can be changed horizontally

- minimum interval at which the offset of partial scan can be changed vertically

- maximum number of bytes per isochronous packet that can be set

- minimum number of bytes per isochronous packet and minimum interval at which it can be

changed

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example retrieves a packet size information for the current F7 mode and initializes a scroll bar

to conrol the packet size:

Private Sub Form_Load()

F7Info=Prontocam1.GetF7Info

HScroll1.Min = F7Info(6)

HScroll1.Max = F7Info(7)

End Sub

Private Sub HScroll1_Scroll()

Prontocam1.PacketSize = HScroll1.Value

End Sub

Remarks

Use this method to implement custom controls for partial scan size, offset and packet size.

Page 100: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

100

3.2.12. GetFocusMin

Description

Returns the minimum value of the Focus property.

Syntax

[VB]

Value=objProntocam.GetFocusMin()

[C/C++]

HRESULT GetFocusMin(long* pValue );

Data Types [VB]

Return value: Long

Parameters [C/C++]

pValue [out, retval]

Pointer to the minimum focus value

Return Values

S_OK

Success

E_FAIL

The focus control is not available for the selected camera

Example

This VB example uses the minimum and maximum focus values to initialize the slider control:

Private Sub Form_Load()

Slider1.Min = Prontocam1.GetFocusMin

Slider1.Max = Prontocam1.GetFocusMax

Slider1.Value = Prontocam1.Focus

End Sub

Remarks

If the currently selected camera doesn't support software focus control, the method will generate an error.

Page 101: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

101

3.2.13. GetFocusMax

Description

Returns the maximum value of the Focus property.

Syntax

[VB]

Value=objProntocam.GetFocusMax()

[C/C++]

HRESULT GetFocusMax(long* pValue );

Data Types [VB]

Return value: Long

Parameters [C/C++]

pValue [out, retval]

Pointer to the maximum focus value

Return Values

S_OK

Success

E_FAIL

The focus control is not available for the selected camera

Example

This VB example uses the minimum and maximum focus values to initialize the slider control:

Private Sub Form_Load()

Slider1.Min = Prontocam1.GetFocusMin

Slider1.Max = Prontocam1.GetFocusMax

Slider1.Value = Prontocam1.Focus

End Sub

Remarks

If the currently selected camera doesn't support software focus control, the method will generate an error.

Page 102: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

102

3.2.14. GetGainMin

Description

Returns the minimum value of the Gain property.

Syntax

[VB]

Value=objProntocam.GetGainMin()

[C/C++]

HRESULT GetGainMin(long* pValue );

Data Types [VB]

Return value: Long

Parameters [C/C++]

pValue [out, retval]

Pointer to the minimum gain value

Return Values

S_OK

Success

E_FAIL

The gain control is not available for the selected camera

Example

This VB example uses the minimum and maximum gain values to initialize the slider control:

Private Sub Form_Load()

Slider1.Min = Prontocam1.GetGainMin

Slider1.Max = Prontocam1.GetGainMax

Slider1.Value = Prontocam1.Gain

End Sub

Remarks

If the currently selected camera doesn't support software gain control, the method will generate an error.

Page 103: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

103

3.2.15. GetGainMax

Description

Returns the maximum value of the Gain property.

Syntax

[VB]

Value=objProntocam.GetGainMax()

[C/C++]

HRESULT GetGainMax(long* pValue );

Data Types [VB]

Return value: Long

Parameters [C/C++]

pValue [out, retval]

Pointer to the maximum gain value

Return Values

S_OK

Success

E_FAIL

The gain control is not available for the selected camera

Example

This VB example uses the minimum and maximum gain values to initialize the slider control:

Private Sub Form_Load()

Slider1.Min = Prontocam1.GetGainMin

Slider1.Max = Prontocam1.GetGainMax

Slider1.Value = Prontocam1.Gain

End Sub

Remarks

If the currently selected camera doesn't support software gain control, the method will generate an error.

Page 104: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

104

3.2.16. GetGammaMin

Description

Returns the minimum value of the Gamma property.

Syntax

[VB]

Value=objProntocam.GetGammaMin()

[C/C++]

HRESULT GetGammaMin(long* pValue );

Data Types [VB]

Return value: Long

Parameters [C/C++]

pValue [out, retval]

Pointer to the minimum gamma value

Return Values

S_OK

Success

E_FAIL

The gamma control is not available for the selected camera

Example

This VB example uses the minimum and maximum gamma values to initialize the slider control:

Private Sub Form_Load()

Slider1.Min = Prontocam1.GetGammaMin

Slider1.Max = Prontocam1.GetGammaMax

Slider1.Value = Prontocam1.Gamma

End Sub

Remarks

If the currently selected camera doesn't support software gamma control, the method will generate an error.

Page 105: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

105

3.2.17. GetGammaMax

Description

Returns the maximum value of the Gamma property.

Syntax

[VB]

Value=objProntocam.GetGammaMax()

[C/C++]

HRESULT GetGammaMax(long* pValue );

Data Types [VB]

Return value: Long

Parameters [C/C++]

pValue [out, retval]

Pointer to the maximum gamma value

Return Values

S_OK

Success

E_FAIL

The gamma control is not available for the selected camera

Example

This VB example uses the minimum and maximum gamma values to initialize the slider control:

Private Sub Form_Load()

Slider1.Min = Prontocam1.GetGammaMin

Slider1.Max = Prontocam1.GetGammaMax

Slider1.Value = Prontocam1.Gamma

End Sub

Remarks

If the currently selected camera doesn't support software gamma control, the method will generate an error.

Page 106: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

106

3.2.18. GetHeight

Description

Returns the maximum vertical size of the video frame for the currently selected Format.

Syntax

[VB]

Value=objProntocam.GetHeight()

[C/C++]

HRESULT GetHeight(long* pValue );

Data Types [VB]

Return value: Long

Parameters [C/C++]

pValue [out, retval]

Pointer to the minimum gain value

Return Values

S_OK

Success

E_FAIL

Failure

Example

This VB example uses the minimum video width and height to initialize slider controls:

Private Sub Form_Load()

Slider1.Min = 0

Slider1.Max = Prontocam1.GetWidth

Slider2.Min = 0

Slider2.Max = Prontocam1.GetHeight

Slider1.Value = Prontocam1.SizeX

Slider2.Value = Prontocam1.SizeY

End Sub

Remarks

This method allows you to determine the maximum size of the video frame in a user-defined format. If the currently

selected format is a fixed one, the value returned by the method will be identical to the value returned by the SizeY

property. See Format for more details.

Page 107: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

107

3.2.19. GetHueMin

Description

Returns the minimum value of the Hue property.

Syntax

[VB]

Value=objProntocam.GetHueMin()

[C/C++]

HRESULT GetHueMin(long* pValue );

Data Types [VB]

Return value: Long

Parameters [C/C++]

pValue [out, retval]

Pointer to the minimum hue value

Return Values

S_OK

Success

E_FAIL

The hue control is not available for the selected camera

Example

This VB example uses the minimum and maximum hue values to initialize the slider control:

Private Sub Form_Load()

Slider1.Min = Prontocam1.GetHueMin

Slider1.Max = Prontocam1.GetHueMax

Slider1.Value = Prontocam1.Hue

End Sub

Remarks

If the currently selected camera doesn't support software hue control, the method will generate an error.

Page 108: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

108

3.2.20. GetHueMax

Description

Returns the maximum value of the Hue property.

Syntax

[VB]

Value=objProntocam.GetHueMax()

[C/C++]

HRESULT GetHueMax(long* pValue );

Data Types [VB]

Return value: Long

Parameters [C/C++]

pValue [out, retval]

Pointer to the maximum hue value

Return Values

S_OK

Success

E_FAIL

The hue control is not available for the selected camera

Example

This VB example uses the minimum and maximum hue values to initialize the slider control:

Private Sub Form_Load()

Slider1.Min = Prontocam1.GetHueMin

Slider1.Max = Prontocam1.GetHueMax

Slider1.Value = Prontocam1.Hue

End Sub

Remarks

If the currently selected camera doesn't support software hue control, the method will generate an error.

Page 109: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

109

3.2.21. GetImageData

Description

Returns the two-dimensional array of pixel values in the currently acquired frame.

Syntax

[VB]

Value=objProntocam.GetImageData

[C/C++]

HRESULT GetImageData( VARIANT* pArray );

Data Types [VB]

Return value: Variant (SAFEARRAY)

Parameters [C/C++]

pArray [out,retval]

Pointer to the SAFEARRAY containing the pixel values in the frame

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example uses the FrameAcquired event to invert pixel value in the bottom left corner of the current frame and

display the processed frame in real time.

Private Sub Form_Load()

Prontocam1.Display = False

Prontocam1.Acquire = True

End Sub

Private Sub Prontocam1_FrameAcquired()

a = Prontocam1.GetImageData

For x = 0 To 200

For y = 0 To 200

a(x, y) = 255 - a(x, y)

Next

Next

Prontocam1.Draw

End Sub

Remarks

GetImageData does not copy the image data, so the array returned contains the actual image buffer of the currently

acquired frame. Modifying elements of the array will change actual pixel values in the image buffer. This can be used to

perform custom image processing and display a processed image in real time. Note that this feature cannot be used in .NET

as its framework creates a copy of the array returned. For direct access to Prontocam's image frame in VB.NET and C# use

GetImagePointer.Image in Prontocam are stored bottom up, therefore the first element of the array is first pixel of the

bottom line of the image.The type of data and dimensions of the array returned by GetImageData depends on the output

Page 110: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

110

format of the video, its horizontal width SizeX and the number of lines acquired, as specified in the following table:

Format Data type Dimensions

8-bit monochrome Byte 0 to SizeX -1, 0 to Lines – 1

16-bit gray monochrome Integer(word) 0 to SizeX -1, 0 to Lines – 1

24-bit RGB Byte 0 to SizeX * 3 - 1, 0 to Lines – 1

48-bit RGB Integer(word) 0 to SizeX * 3 - 1, 0 to Lines - 1

Note that Prontocam automatically converts YUV video outputed by a camera to 24-bit RGB.

For integer (word) type of data you can receive negative numbers if pixel values exceed 32767. In C and C# you can

convert signed integers to unsigned ones by using data casting. To get rid of negative values in VB and Delphi, subract

them from 65535.

Page 111: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

111

3.2.22. GetImageLine

Description

Returns the array of pixel values at the specified horizontal line of the currently acquired frame.

Syntax

[VB]

Value=objProntocam.GetImageLine( Y )

[C/C++]

HRESULT GetImageLine( short Y, VARIANT* pArray );

Data Types [VB]

Y: Integer

Return value: Variant (SAFEARRAY)

Parameters [C/C++]

Y [in]

The y-coordinate of the line in the image

pArray [out,retval]

Pointer to the SAFEARRAY containing the pixel values in the line

Return Values

S_OK

Success

E_FAIL

Failure.

E_INVALIDARG

Invalid input argument.

Example

This VB example grabs a frame, retrieves the 33th row of pixels and displays the value of 11th pixel in the row.

Dim pix as Long

Prontocam1.Grab

Line=Prontocam1.GetImageLine(32)

pix=Line(10)

if pix < 0 then

pix=65535-pix

endif

MsgBox Line(10)

Remarks

The array returned by GetImageLine is a copy of the actual raw of pixels. Modifying elements of the array will not change

actual pixel values in the frame buffer. The type of data and dimension of the array returned by GetImageLine depends

on the output format of the video as specified in the following table:

Format Data type Dimension

8-bit monochrome Byte 0 to SizeX - 1

16-bit monochrome Integer (word) 0 to SizeX - 1

24-bit RGB Byte 0 to SizeX * 3 - 1

Page 112: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

112

48-bit RGB Integer (word) 0 to SizeX * 3 - 1

Note that Prontocam automatically converts YUV video outputed by a camera to 24-bit RGB. The value of the y coordinate

must not exceed the height of the video frame, or the error will occur. For integer (word) type of data you can receive

negative numbers if pixel values exceed 32767. In C and C# you can convert signed integers to unsigned ones by using

data casting. To get rid of negative values in VB and Delphi, subract them from 65535 (see example above).

Page 113: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

113

3.2.23. GetImagePointer

Description

Returns the pointer to the pixel at the specified coordinates of the current frame.

Syntax

[VB]

Value=objProntocam.GetImagePointer( X, Y )

[C/C++]

HRESULT GetImagePointer( short X, short Y, VARIANT* pValue );

Data Types [VB]

X: Integer

Y: Integer

Return value: Variant (pointer)

Parameters [C/C++]

X [in]

The x-coordinate of the pixel

Y [in]

The y-coordinate of the pixel

pValue [out,retval]

Pointer to the variant contating the pointer to the specified memory location

Return Values

S_OK

Success

E_FAIL

Failure.

E_INVALIDARG

Invalid input arguments.

Example

This C++ example grabs a frame, retrieves a pointer to the 32th line in the frame memory and copies the pixels values into

a byte array . A wrapper class CProntocam is used to access the Prontocam

control:

BYTE line[4096];

int iWidth=m_Prontocam.GetSizeX;

m_Prontocam.Grab()

VARIANT v=m_Prontocam.GetImagePointer(0,32);

BYTE* ptr=Prontocam1.GetImagePointer(0,32);

memcpy(&line,v.pcVal,iWidth);

This C# example uses the FrameAcquired event to retrieve a pointer to the 32th line in the frame memory and change pixel

values in the line to zeros:

private void axProntocam1_FrameAcquired(object sender,

AxPRONTOCAMLib._IProntocamEvents_FrameAcquiredEvent e)

{

int sx=axProntocam1.SizeX;

Page 114: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

114

object obj=axProntocam1.GetImagePointer(0, 32);

int a = (int)obj;

byte* ptr= (byte*)a;

for (int x=0; x<sx; x++, ptr++)

*ptr=0;

}

Remarks

The GetImagePointer method provides the most efficient way to quickly access the internal image

buffer in pointer-aware programming languages. Unlike GetImageData, this method doesn't modify

original pixel values of high-bit depth images. The number of bytes in each line of the image buffer

depends on the format and horizontal size of the video as specified in the following table:

Format Line width in bytes

8-bit monochrome SizeX

16-bit gray monochrome SizeX * 2

24-bit RGB SizeX * 3

48-bit RGB SizeX * 6

Note that Prontocam automatically converts YUV video outputed by a camera to 24-bit RGB.

The values of the x and y coordinates must not exceed the width and height of the video frame, or the error will occur.

Page 115: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

115

3.2.24. GetImageWindow

Description

Returns the two-dimensional array of pixel values corresponding to the selected window in the currently acquired frame.

Syntax

[VB]

Value=objProntocam.GetImageWindow (X, Y, Width, Height)

[C/C++]

HRESULT GetImageWindow( short X, short Y, short Width, short Height,

VARIANT* pArray );

Data Types [VB]

Return value: Variant (SAFEARRAY)

Parameters [C/C++]

X [in], Y[in]

The x- and y-coordinates of the top left pixel of the window in the entire frame

Width [in], Height [in]

The horizontal and vertical size of the window in pixels.

pArray [out,retval]

Pointer to the SAFEARRAY containing the pixel values in the frame

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example uses the FrameAcquired event to increase the brightness in the central area of the live image:

Private Sub Form_Load()

Prontocam1.Display = False

Prontocam1.Acquire = True

End Sub

Private Sub Prontocam1_FrameAcquired()

xc = Prontocam1.SizeX / 2

yc = Prontocam1.SizeY / 2

w = Prontocam1.GetImageWindow(xc - 70, yc - 50, 140, 100)

For y = 0 To UBound(w, 2)

For x = 0 To UBound(w, 1)

pix = w(x, y) + 50

If pix > 255 Then

pix = 255

End If

w(x, y) = pix

Next

Next

Page 116: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

116

Prontocam1.SetImageWindow xc - 70, yc - 50, w

Prontocam1.Draw

End Sub

Remarks

The image data in the array are stored in the standard order from top to bottom, therefore the first element of the array is

the top left pixel of the window. This is opposite to the order of raws in the arrays returned by GetImageData. The type of

data and dimensions of the array returned by GetImageWindow depends on the output format of the video, the width

and height of the window and the number of lines acquired, as specified in the following table:

Format Data type Dimensions

8-bit monochrome Byte 0 to Width -1, 0 to Height - 1

16-bit gray monochrome Integer(word) 0 to Width-1, 0 to Height – 1

24-bit RGB Byte 0 to Width * 3 - 1, 0 to Height – 1

48-bit RGB Integer(word) 0 to Width * 3 - 1, 0 to Height – 1

Format Data type Dimensions

If the dimensions of the window are too large to accomodate the frame size, they will be clipped to the frame boundaries.

For integer (word) type of data you can receive negative numbers if pixel values exceed 32767. In C and C# you can

convert signed integers to unsigned ones by using data casting. To get rid of negative values in VB and Delphi, subract

them from 65535.

Note that modifying elements of the array will not change actual pixel values in the frame buffer. Use SetImageWindow to

transfer pixel values into Prontocam.

Page 117: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

117

3.2.25. GetIrisMin

Description

Returns the minimum value of the Iris property.

Syntax

[VB]

Value=objProntocam.GetIrisMin()

[C/C++]

HRESULT GetIrisMin(long* pValue );

Data Types [VB]

Return value: Long

Parameters [C/C++]

pValue [out,retval]

Pointer to the minimum iris value

Return Values

S_OK

Success

E_FAIL

The iris control is not available for the selected camera

Example

This VB example uses the minimum and maximum iris values to initialize the slider control:

Private Sub Form_Load()

Slider1.Min = Prontocam1.GetIrisMin

Slider1.Max = Prontocam1.GetIrisMax

Slider1.Value = Prontocam1.Iris

End Sub

Remarks

If the currently selected camera doesn't support software iris control, the method will generate an error.

Page 118: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

118

3.2.26. GetIrisMax

Description

Returns the maximum value of the Iris property.

Syntax

[VB]

Value=objProntocam.GetIrisMax()

[C/C++]

HRESULT GetIrisMax(long* pValue );

Data Types [VB]

Return value: Long

Parameters [C/C++]

pValue [out,retval]

Pointer to the maximum iris value

Return Values

S_OK

Success

E_FAIL

The iris control is not available for the selected camera

Example

This VB example uses the minimum and maximum iris values to initialize the slider control:

Private Sub Form_Load()

Slider1.Min = Prontocam1.GetIrisMin

Slider1.Max = Prontocam1.GetIrisMax

Slider1.Value = Prontocam1.Iris

End Sub

Remarks

If the currently selected camera doesn't support software iris control, the method will generate an error.

Page 119: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

119

3.2.27. GetIsoSpeed

Description

Returns the camera's isochronous transmission speed in Mbps/sec.

Syntax

[VB]

value=objProntocam.GetIsoSpeed

[C/C++]

HRESULT GetIsoSpeed( short* pSpeed );

Data Types [VB]

Return value: Integer

Parameters [C/C++]

pSpeed [in]

Pointer to the isochronous transmission speed.

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example displays the transmission speed of the camera:

speed=Prontocam1.GetIsoSpeed

MsgBox speed

Remarks

Possible return values for this method are 100, 200, 400, 800, 1600 and 3200.

Page 120: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

120

3.2.28. GetMaxChannel

Description

Returns the maximum index of the memory channels available for the current camera.

Syntax

[VB]

value=objProntocam.GetMaxChannel

[C/C++]

HRESULT GetMaxChannel( short* pChannel );

Data Types [VB]

Return value: Integer

Parameters [C/C++]

pChannel [in]

Pointer to the maximum index of the memory channels.

Example

This VB example retrieves the number of memory channels:

channels=Prontocam1.GetMaxChannel

Remarks

If this method returns zero, then user's memory channels are not supported for the current camera.

For more details see LoadChannel and SaveChannel.

Page 121: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

121

3.2.29. GetModeList

Description

Returns the array of strings containing the Descriptions of video modes supported by the currently selected camera.

Syntax

[VB]

Value=objProntocam.GetModeList()

[C/C++]

HRESULT GetModeList( VARIANT* pList );

Data Types [VB]

Return value: Variant (SAFEARRAY)

Parameters [C/C++]

pList [out,retval]

Pointer to the SAFEARRAY containing available modes

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example initializes a combo box with the Descriptions of available video modes and uses it to select a specific

mode:

Private Sub Form_Load()

ModeLst = Prontocam1.GetModeList

For i = 0 To UBound(ModeLst)

Combo1.AddItem (ModeLst(i))

Next

Combo1.ListIndex = 0

Prontocam1.Acquire = True

End Sub

Private Sub Combo1_Click()

Prontocam1.Mode = Combo1.ListIndex

End Sub

Remarks

The index of an element in the mode list can be used as an argument of the Mode property to select a specific video mode.

Page 122: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

122

t

t

3.2.30. GetPicture

Description

Returns a Picture object created from the currently acquired frame.

Syntax

[VB]

Value=objProntocam.GetPicture()

[C/C++]

HRESULT GetPicture(IPictureDisp* *pPicture);

Data Types [VB]

Return value: Picture

Parameters [C/C++]

pPic ure

Pointer to the IPic ureDisp interface object

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example uses the FrameAcquired event to display a live video in a PictureBox:

Private Sub Prontocam1_FrameAcquired(ByVal Lines As Integer)

Picture1.Picture=Prontocam1.GetPicture

End Sub

Remarks

The GetPicture method provides the most convinient graphic interface to Prontocam internal image and allows you to

display the last acquired frame in popular graphic controls such as PictureBox. Note that a Picture object contains only 8-bit

pixel values, even if the current video mode is a 16- or 48-bit one. To access the actual pixel data, use the GetImageData

or GetPointer methods.

Page 123: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

123

3.2.31. GetPixel

Description

Returns the pixel value at the specified coordinates.

Syntax

[VB]

Value=objProntocam.GetPixel( X, Y )

[C/C++]

HRESULT GetPixel( short X, short Y, long* pValue );

Data Types [VB]

X: Integer

Y: Integer

Return value: Long

Parameters [C/C++]

X [in]

The x-coordinate of the pixel

Y [in]

The y-coordinate of the pixel

pValue [out,retval]

Pointer to the pixel's value

Return Values

S_OK

Success

E_FAIL

Failure.

E_INVALIDARG

Invalid input arguments.

Example

This VB example grabs a frame and displays the value of the pixel at the specified coordinates.

Prontocam1.Grab

value=Prontocam1.GetPixel(64,32)

MsgBox value

Remarks

The value returned by GetPixel depends on the format of the video acquired. For monochrome video the method will

retrieve the data from the internal image memory. For the color video the RGB data in the specified coordinates will be

converted to the luminance using the formula: L=(R+G+B) / 3.

The values of the x and y coordinates must not exceed the width and height of the video frame, or the error will occur.

Page 124: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

124

3.2.32. GetRateList

Description

Returns the array of floating point values containing the frame rates available for the current video mode.

Syntax

[VB]

Value=objProntocam.GetRateList()

[C/C++]

HRESULT GetRateList( VARIANT* pList );

Data Types [VB]

Return value: Variant (SAFEARRAY)

Parameters [C/C++]

pList [out,retval]

Pointer to the SAFEARRAY containing available frame rates

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example initializes a combo box with the available frame rates and uses it to select a specific rate:

Private Sub Form_Load()

RateLst = Prontocam1.GetRateList

For i = 0 To UBound(RateLst)

Combo1.AddItem (RateLst(i))

Next

Combo1.ListIndex = 0

Prontocam1.Acquire = True

End Sub

Private Sub Combo1_Click()

Prontocam1.Rate = Combo1.ListIndex

End Sub

Remarks

DCAM compliant cameras support the following predefined frame rates: 1.875 fps, 3.75 fps, 7.5 fps, 15 fps, 30 fps, 60 fps.

Additional frame rates can be provided by the camera manufacturer. See Rate for more details.

Page 125: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

125

t

3.2.33. GetRawData

Description

Returns the two-dimensional array of values in the currently acquired data buffer or pointer to this buffer.

Syntax

[VB]

Value=objProntocam.GetRawData ([isPointer=False])

[C/C++]

HRESULT GetRawData( bool isPointer, VARIANT* pArray );

Data Types [VB]

Return value: Variant (SAFEARRAY)

Parameters [C/C++]

isPointer [in]

If false returns the array of raw data, otherwise returns pointer to data.

pArray [out,retval]

Pointer to the SAFEARRAY containing the raw data buffer.

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example grabs a frame, retrieves the raw data array and displays the value of the specified element of the array.

Dim pix as Long

Prontocam1.Grab

RawData=Prontocam1.GetRawData

x=16

y=32

pix=RawData(x,y)

if pix < 0 then

pix=65535-pix

endif

MsgBox RawData(x,y)

Remarks

This function returns the frame data as they arrive from the camera (before being converted to an RGB image).

GetRawData does not copy the image data, so the array returned contains the actual image buffer of the currently

acquired frame. Modifying elements of the array will change actual pixel values in the image buffer. This can be used to

perform custom image processing and display a processed image in real time. Note that this feature cannot be used in .NET

as its framework creates a copy of the array returned. For direct access to raw data in C# set isPoin er to True and use the

poitner instead of an array.

Raw image data are stored in the standard order from top to bottom, therefore the first element of the array is first pixel of

the top line of the image. The type of data and dimensions of the array returned by GetRawData depends on the ouput

Page 126: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

126

format of the video, its horizontal width SizeX and the number of lines acquired, as specified in the following table:

Format Data type Dimensions

Mono (8) Byte 0 to SizeX -1, 0 to Lines - 1

Raw Color (8) Byte 0 to SizeX -1, 0 to Lines – 1

YUV (4:1:1) Byte 0 to SizeX*3/2 -1, 0 to Lines – 1

YUV (4:2:2) Integer(Word) 0 to SizeX -1, 0 to Lines – 1

YUV (4:4:4) Integer(Word) 0 to SizeX -1, 0 to Lines – 1

Mono (16) Integer(Word) 0 to SizeX -1, 0 to Lines – 1

Raw Color (16) Integer(Word) 0 to SizeX -1, 0 to Lines – 1

RGB (8:8:8) Byte 0 to SizeX * 3 - 1, 0 to Lines – 1

RGB (16:16:16) Integer(Word) 0 to SizeX * 3 - 1, 0 to Lines – 1

Format Data type Dimensions

Note that Prontocam automatically converts YUV video outputed by a camera to 24-bit RGB.

For integer (word) type of data you can receive negative numbers if pixel values exceed 32767. In C and C# you can

convert signed integers to unsigned ones by using data casting. To get rid of negative values in VB and Delphi, subract

them from 65535 (see the example above).

Page 127: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

127

3.2.34. GetRGBPixel

Description

Returns the array of RGB values at the specified coordinates.

Syntax

[VB]

Value=objProntocam.GetRGBPixel( X, Y )

[C/C++]

HRESULT GetRGBPixel( short X, short Y, VARIANT* pArray );

Data Types [VB]

X, Y: Integer

Return value: Variant (SAFEARRAY)

Parameters [C/C++]

X [in]

The x-coordinate of the pixel

Y [in]

The y-coordinate of the pixel

pArray [out,retval]

Pointer to the SAFEARRAY of the dimension of 3 containing long R, G and B values of the current pixel

Return Values

S_OK

Success

E_FAIL

Failure.

E_INVALIDARG

Invalid input arguments.

Example

This VB example grabs a frame and displays the value of the G-value of the pixel at the specified

coordinates.

Prontocam1.Grab

RGB=Prontocam1.GetRGBPixel(64,32)

MsgBox RGB(1)

Remarks

The values returned by GetRGBPixel depend on the format of the video acquired. For 24-bit video the method will retrieve

the data from the internal image memory. For the grayscale video the R, G, and B values will be the same and equal to the

luminance value in the specified coordinates.

The values of the x and y coordinates must not exceed the width and height of the video frame, or the error will occur.

Page 128: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

128

3.2.35. GetSaturationMin

Description

Returns the minimum value of the Saturation property.

Syntax

[VB]

Value=objProntocam.GetSaturationMin()

[C/C++]

HRESULT GetSaturationMin(long* pValue );

Data Types [VB]

Return value: Long

Parameters [C/C++]

pValue [out, retval]

Pointer to the minimum saturation value

Return Values

S_OK

Success

E_FAIL

The saturation control is not available for the selected camera

Example

This VB example uses the minimum and maximum saturation values to initialize the slider control:

Private Sub Form_Load()

Slider1.Min = Prontocam1.GetSaturationMin

Slider1.Max = Prontocam1.GetSaturationMax

Slider1.Value = Prontocam1.Saturation

End Sub

Remarks

If the currently selected camera doesn't support software saturation control, the method will generate an error.

Page 129: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

129

3.2.36. GetSaturationMax

Description

Returns the maximum value of the Saturation property.

Syntax

[VB]

Value=objProntocam.GetSaturationMax()

[C/C++]

HRESULT GetSaturationMax(long* pValue );

Data Types [VB]

Return value: Long

Parameters [C/C++]

pValue [out, retval]

Pointer to the maximum saturation value

Return Values

S_OK

Success

E_FAIL

The saturation control is not available for the selected camera

Example

This VB example uses the minimum and maximum saturation values to initialize the slider control:

Private Sub Form_Load()

Slider1.Min = Prontocam1.GetSaturationMin

Slider1.Max = Prontocam1.GetSaturationMax

Slider1.Value = Prontocam1.Saturation

End Sub

Remarks

If the currently selected camera doesn't support software saturation control, the method will generate an error.

Page 130: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

130

3.2.37. GetSharpnessMin

Description

Returns the minimum value of the Sharpness property.

Syntax

[VB]

Value=objProntocam.GetSharpnessMin()

[C/C++]

HRESULT GetSharpnessMin(long* pValue );

Data Types [VB]

Return value: Long

Parameters [C/C++]

pValue [out, retval]

Pointer to the minimum sharpness value

Return Values

S_OK

Success

E_FAIL

The sharpness control is not available for the selected camera

Example

This VB example uses the minimum and maximum sharpness values to initialize the slider control:

Private Sub Form_Load()

Slider1.Min = Prontocam1.GetSharpnessMin

Slider1.Max = Prontocam1.GetSharpnessMax

Slider1.Value = Prontocam1.Sharpness

End Sub

Remarks

If the currently selected camera doesn't support software sharpness control, the method will generate an error.

Page 131: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

131

3.2.38. GetSharpnessMax

Description

Returns the maximum value of the Sharpness property.

Syntax

[VB]

Value=objProntocam.GetSharpnessMax()

[C/C++]

HRESULT GetSharpnessMax(long* pValue );

Data Types [VB]

Return value: Long

Parameters [C/C++]

pValue [out, retval]

Pointer to the maximum sharpness value

Return Values

S_OK

Success

E_FAIL

The sharpness control is not available for the selected camera

Example

This VB example uses the minimum and maximum sharpness values to initialize the slider control:

Private Sub Form_Load()

Slider1.Min = Prontocam1.GetSharpnessMin

Slider1.Max = Prontocam1.GetSharpnessMax

Slider1.Value = Prontocam1.Sharpness

End Sub

Remarks

If the currently selected camera doesn't support software sharpness control, the method will generate an error.

Page 132: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

132

3.2.39. GetShutterMin

Description

Returns the minimum value of the Shutter property.

Syntax

[VB]

Value=objProntocam.GetShutterMin()

[C/C++]

HRESULT GetShutterMin(long* pValue );

Data Types [VB]

Return value: Long

Parameters [C/C++]

pValue [out,retval]

Pointer to the minimum shutter value

Return Values

S_OK

Success

E_FAIL

The shutter control is not available for the selected camera

Example

This VB example uses the minimum and maximum shutter values to initialize the slider control:

Private Sub Form_Load()

Slider1.Min = Prontocam1.GetShutterMin

Slider1.Max = Prontocam1.GetShutterMax

Slider1.Value = Prontocam1.Shutter

End Sub

Remarks

If the currently selected camera doesn't support software shutter control, the method will generate an error.

Page 133: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

133

3.2.40. GetShutterMax

Description

Returns the maximum value of the Shutter property.

Syntax

[VB]

Value=objProntocam.GetShutterMax()

[C/C++]

HRESULT GetShutterMax(long* pValue );

Data Types [VB]

Return value: Long

Parameters [C/C++]

pValue [out,retval]

Pointer to the maximum shutter value

Return Values

S_OK

Success

E_FAIL

The shutter control is not available for the selected camera

Example

This VB example uses the minimum and maximum shutter values to initialize the slider control:

Private Sub Form_Load()

Slider1.Min = Prontocam1.GetShutterMin

Slider1.Max = Prontocam1.GetShutterMax

Slider1.Value = Prontocam1.Shutter

End Sub

Remarks

If the currently selected camera doesn't support software shutter control, the method will generate an error.

Page 134: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

134

t t

3.2.41. GetSlopeExposure

Description

Returns the exposure levels for the multi-slope integration mode. Available only for selected cameras such as Toshiba Teli

CSB4000F.

Syntax

[VB]

objProntocam.GetSlopeExposure Exposure1 [,Exposure2]

[C/C++]

HRESULT GetSlopeExposure( long *pExposure1 [,long *pExposure2] );

Data Types [VB]

Exposure1: long [ByRef]

Exposure2: long (optional) [ByRef]

Return value: None

Parameters [C/C++]

pExposure1 [in]

Pointer to the exposure value for the second slope of the camera integration curve.

pExposure1 [in]

Pointer to the exposure value for the third slope of the camera integration curve.

Return Values

S_OK

Success

E_FAIL

Feature is not available.

Example

This VB example displays the exposure values for all three slopes of the camera integration curve:

Dim exp1 As Long

Dim exp2 As Long

Dim exp3 As Long

exp1 = Prontocam1.Shutter

Prontocam1.GetSlopeExposure exp2, exp3

Label1.Caption=exp1

Label2.Caption=exp2

Label3.Caption=exp3

End Sub

Remarks

The integration time for the second and third slopes of the integration curve is defined via the integration time of an

immediately preceding slope:

Slope integra ion time = Exposure / 0x1000 * preceeding slope in egration time where the first slope corresponds to the

Shutter property.

For more information on the multi-slope operation refer to the manufacturer's documentation.

Page 135: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

135

3.2.42. GetSlopeReset

Description

Returns the voltage reset levels for the multi-slope integration mode. Available only for selected cameras such as Toshiba

Teli CSB4000F.

Syntax

[VB]

objProntocam.GetSlopeReset Reset1 [,Reset2]

[C/C++]

HRESULT GetSlopeReset( long *pReset1 [,long *pReset2] );

Data Types [VB]

Reset1: long [ByRef]

Reset2: long (optional) [ByRef]

Return value: None

Parameters [C/C++]

pReset1 [in]

Pointer to the reset value for the second slope of the camera integration curve.

pReset1 [in]

Pointer to the reset value for the third slope of the camera integration curve.

Return Values

S_OK

Success

E_FAIL

Feature is not available.

Example

This VB example displays the reset values of the camera integration curve:

Dim reset1 As Long

Dim reset2 As Long

Prontocam1.GetSlopeReset reset1, reset2

Label1.Caption=reset1

Label2.Caption=reset2

End Sub

Remarks

The actual values of reset voltages are inverted relative to the values of Reset1 and Reset2. Therefore the higher setting

means the lower voltage at which the corresponding slope starts. If the voltage becomes higher than the saturation level or

lower than the black level, the multislope function will not work accurately.

For more information on the multi-slope operation refer to the manufacturer's documentation.

Page 136: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

136

3.2.43. GetTriggerInfo

Description

Returns the array of long values containing the information releated to triggering.

Syntax

[VB]

Value=objProntocam.GetTriggerInfo()

[C/C++]

HRESULT GetTriggerInfo( VARIANT* pInfo );

Data Types [VB]

Return value: Variant (Array)

Parameters [C/C++]

pInfo [out,retval]

Pointer to the SAFEARRAY containing the following long values in the listed order:

- presense of the trigger feature (1 - available, 0 - unavailable)

- number of supported trigger modes (see TriggerMode)

- presens of the trigger polarity control (1 - polarity control is available, 0 - unavailable)

- number of trigger sources including the software trigger (see TriggerSource)

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example retrieves the number of available trigger modes and initializes a corresponding

combo box:

Private Sub Form_Load()

TriggerInfo = Prontocam1.GetTriggerInfo

ModeCount=TriggerInfo(1)

For i = 1 To ModeCount

Combo1.AddItem ("Mode " + cstr(i))

Next

Combo1.ListIndex = 0

End Sub

Private Sub Combo1_Click()

Prontocam1.TriggerMode = Combo1.ListIndex

End Sub

Remarks

Use this method to implement custom trigger-related controls.

Page 137: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

137

3.2.44. GetWhiteBalanceMin

Description

Returns the minimum value of the WhiteBalanceUB and WhiteBalanceVR properties.

Syntax

[VB]

Value=objProntocam.GetWhiteBalanceMin()

[C/C++]

HRESULT GetWhiteBalanceMin(long* pValue );

Data Types [VB]

Return value: Long

Parameters [C/C++]

pValue [out, retval]

Pointer to the minimum white balance value

Return Values

S_OK

Success

E_FAIL

The white balance control is not available for the selected camera

Example

This VB example uses the minimum and maximum white balance values to initialize slider controls:

Private Sub Form_Load()

Slider1.Min = Prontocam1.GetWhiteBalanceMin

Slider1.Max = Prontocam1.GetWhiteBalanceMax

Slider1.Value = Prontocam1.WhiteBalanceUB

Slider2.Min = Prontocam1.GetWhiteBalanceMin

Slider2.Max = Prontocam1.GetWhiteBalanceMax

Slider2.Value = Prontocam1.WhiteBalanceVR

End Sub

Remarks

If the currently selected camera doesn't support software white balance control, the method will generate an error.

Page 138: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

138

3.2.45. GetWhiteBalanceMax

Description

Returns the maximum value of the WhiteBalanceUB and WhiteBalanceVR properties.

Syntax

[VB]

Value=objProntocam.GetWhiteBalanceMax()

[C/C++]

HRESULT GetWhiteBalanceMax(long* pValue );

Data Types [VB]

Return value: Long

Parameters [C/C++]

pValue [out, retval]

Pointer to the maximum white balance value

Return Values

S_OK

Success

E_FAIL

The white balance control is not available for the selected camera

Example

This VB example uses the minimum and maximum white balance values to initialize the slider control:

Private Sub Form_Load()

Slider1.Min = Prontocam1.GetWhiteBalanceMin

Slider1.Max = Prontocam1.GetWhiteBalanceMax

Slider1.Value = Prontocam1.WhiteBalanceUB

Slider2.Min = Prontocam1.GetWhiteBalanceMin

Slider2.Max = Prontocam1.GetWhiteBalanceMax

Slider2.Value = Prontocam1.WhiteBalanceVR

End Sub

Remarks

If the currently selected camera doesn't support software white balance control, the method will generate an error.

Page 139: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

139

3.2.46. GetWidth

Description

Returns the maximum horizontal size of the video frame for the currently selected Format.

Syntax

[VB]

Value=objProntocam.GetWidth()

[C/C++]

HRESULT GetWidth(long* pValue );

Data Types [VB]

Return value: Long

Parameters [C/C++]

pValue [out, retval]

Pointer to the minimum gain value

Return Values

S_OK

Success

E_FAIL

Failure

Example

This VB example uses the minimum video width and height to initialize slider controls:

Private Sub Form_Load()

Slider1.Min = 0

Slider1.Max = Prontocam1.GetWidth

Slider2.Min = 0

Slider2.Max = Prontocam1.GetHeight

Slider1.Value = Prontocam1.SizeX

Slider2.Value = Prontocam1.SizeY

End Sub

Remarks

This method allows you to determine the maximum size of the video frame in a partial scan mode (Format_7). If the

currently selected video mode represents a fixed format, the value returned by the method will be identical to the value

returned by the SizeX property. See Mode for more details.

Page 140: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

140

3.2.47. GetZoomMin

Description

Returns the minimum value of the Zoom property.

Syntax

[VB]

Value=objProntocam.GetZoomMin()

[C/C++]

HRESULT GetZoomMin(long* pValue );

Data Types [VB]

Return value: Long

Parameters [C/C++]

pValue [out, retval]

Pointer to the minimum zoom value

Return Values

S_OK

Success

E_FAIL

The zoom control is not available for the selected camera

Example

This VB example uses the minimum and maximum zoom values to initialize the slider control:

Private Sub Form_Load()

Slider1.Min = Prontocam1.GetZoomMin

Slider1.Max = Prontocam1.GetZoomMax

Slider1.Value = Prontocam1.Zoom

End Sub

Remarks

If the currently selected camera doesn't support software zoom control, the method will generate an error.

Page 141: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

141

3.2.48. GetZoomMax

Description

Returns the maximum value of the Zoom property.

Syntax

[VB]

Value=objProntocam.GetZoomMax()

[C/C++]

HRESULT GetZoomMax(long* pValue );

Data Types [VB]

Return value: Long

Parameters [C/C++]

pValue [out, retval]

Pointer to the maximum zoom value

Return Values

S_OK

Success

E_FAIL

The zoom control is not available for the selected camera

Example

This VB example uses the minimum and maximum zoom values to initialize the slider control:

Private Sub Form_Load()

Slider1.Min = Prontocam1.GetZoomMin

Slider1.Max = Prontocam1.GetZoomMax

Slider1.Value = Prontocam1.Zoom

End Sub

Remarks

If the currently selected camera doesn't support software zoom control, the method will generate an error.

Page 142: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

142

3.2.49. Grab

Description

Grabs a single frame into the internal memory. If the Display property is enabled, the frame will be automatically displayed

in the control window.

Syntax

[VB]

objProntocam.Grab

[C/C++]

HRESULT Grab();

Parameters

None

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example grabs a frame and saves it as a tiff file

Prontocam1.Grab

Prontocam1.SaveImage "image1.tif"

Remarks

If the Asynch property is set to FALSE (synchronous acquisition), the Grab method will wait for the current frame to be

acquired before returning. If the asynchronous mode is selected, the method will initiate the acquisition and return

immediately. This will allow your application to perform other tasks while the frame is being acquired. When the acquisition

of the current frame is complete, the FrameAcquired event will be raised.

If the continuous acquisition mode is selected (the Acquire property is set to TRUE), the Grab method will not affect the

acquisition process, however you can use it to delay your application until the current frame is completed.

Page 143: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

143

3.2.50. LoadChannel

Description

Loads a group of previously stored settings from form the selected channel of the camera's internal EEPROM.

Syntax

[VB]

objProntocam.LoadChannel( Channel )

[C/C++]

HRESULT LoadChannel( short Channel );

Data Types [VB]

Channel: Integer

Return value: None

Parameters [C/C++]

Channel [in]

The index of the camera's memory channel (0-7). Channel 0 corresponds to the factory default

settings.

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example restores the default factory camera settings:.

Private Sub FactoryButton_Click()

Prontocam1.LoadChannel (0)

End Sub

Remarks

The number of memory channels available for the current camera is returned by GetMaxChannel.

Note that some cameras might not support memory channels.Calling this method with "-1" argument will refresh Prontocam

properties synchronizing them with the current camera settings. This is a recommended operation if the camera settings

has been changed by hardware controls or by direct writes to 1394 registers via WriteRegister.

Page 144: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

144

3.2.51. OverlayClear

Description

Clears graphics and text from the overlay.

Syntax

[VB]

objProntocam.OverlayClear

[C/C++]

HRESULT OverlayClear();

Parameters

None

Return Values

S_OK

Success

E_FAIL

Failure.

Example

The following VB example moves a red rectangle over the live image by repeatedly erasing and drawing it:

Private Sub Form_Load()

x = 0

Prontocam1.Acquire = True

Prontocam1.OverlayColor = RGB(255, 0, 0)

Prontocam1.Overlay = True

End Sub

Dim x As Integer

Private Sub Prontocam1_FrameAcquired()

Prontocam1.OverlayClear

Prontocam1.OverlayRectangle x, 10, x + 50, 80, 3

x = x + 2

If x = Prontocam1.SizeX Then

x = 0

End If

End Sub

Remarks

To create animation effects, use this method in combination with OverlayColor, OverlayPixel,

OverlayLine, OverlayRectangle, OverlayEllipse, OverlayText.

Page 145: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

145

t

3.2.52. OverlayEllipse

Description

Draws an empty or filled ellipse in the overlay.

Syntax

[VB]

objProntocam.OverlayEllipse StartX, StartY, EndX, EndY [,Width = 1]

[C/C++]

HRESULT OverlayEllipse( short StartX, short StartY, short EndX, short EndY,

short Width);

Data Types [VB]

StartX, StartY, EndX, EndY: Integer

Width: Integer (optional)

Parameters [C/C++]

StartX [in], StartY [in]

Pixel coordinates of the top left corner of the ellipse, relative to the image origin.

EndX [in], EndY [in]

Pixel coordinates of the bottom right corner of the ellipse, relative to the image origin.

Width [in]

Width of the outline of the ellipse in pixels. If zero, a filled ellipse is drawn.

Return Values

S_OK

Success

E_FAIL

Failure.

Example

The following VB example overlays a filled red ellipse on the live video:

Prontocam1.Acquire = True

Prontocam1.OverlayEllipse 100,100,200,200,0

Prontocam1.OverlayColor=RGB(255,0,0)

Prontocam1.Overlay= True

Remarks

To draw a filled ellipse, use Wid h=0. Also see OverlayColor, OverlayClear.

Page 146: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

146

3.2.53. OverlayLine

Description

Draws a line in the overlay.

Syntax

[VB]

objProntocam.OverlayLine StartX, StartY, EndX, EndY [,Width = 1]

[C/C++]

HRESULT OverlayLine( short StartX, short StartY, short EndX, short EndY,

short Width);

Data Types [VB]

StartX, StartY, EndX, EndY: Integer

Width: Integer (optional)

Parameters [C/C++]

StartX [in], StartY [in]

Pixel coordinates of the starting point of the line, relative to the image origin.

EndX [in], EndY [in]

Pixel coordinates of the end point of the line, relative to the image origin.

Width [in]

Width of the line in pixels.

Return Values

S_OK

Success

E_FAIL

Failure.

Example

The following VB example overlays a filled red line of width 3 on the live video:

Prontocam1.Acquire = True

Prontocam1.OverlayLine 100,100,200,200,3

Prontocam1.OverlayColor=RGB(255,0,0)

Prontocam1.Overlay= True

Remarks

To draw multiple lines, call this method several times. Also see OverlayColor, OverlayClear.

Page 147: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

147

3.2.54. OverlayPixel

Description

Draws a pixel in the overlay.

Syntax

[VB]

objProntocam.OverlayPixel X, Y

[C/C++]

HRESULT OverlayPixel( short X, short Y, bstr Text );

Data Types [VB]

X, Y : Integer

Text : String

Parameters [C/C++]

X [in], Y [in]

Coordinates of the pixel relative to the image origin.

Return Values

S_OK

Success

E_FAIL

Failure.

Example

The following VB example overlays four red pixels on the live video:

Prontocam1.Acquire = True

Prontocam1.OverlayPixel 100,100

Prontocam1.OverlayPixel 100,200

Prontocam1.OverlayPixel 200,100

Prontocam1.OverlayPixel 200,200

Prontocam1.OverlayColor=RGB(255,0,0)

Prontocam1.Overlay= True

Remarks

To draw custom shapes, call this method multiple times. Also see OverlayColor, OverlayClear.

Page 148: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

148

3.2.55. OverlayRectangle

Description

Draws an empty or filled rectangle in the overlay.

Syntax

[VB]

objProntocam.OverlayRectangle StartX, StartY, EndX, EndY [,Width = 1]

[C/C++]

HRESULT OverlayRectangle( short StartX, short StartY, short EndX, short

EndY, short Width);

Data Types [VB]

StartX, StartY, EndX, EndY: Integer

Width: Integer (optional)

Parameters [C/C++]

StartX [in], StartY [in]

Pixel coordinates of the top left corner of the rectangle, relative to the image origin.

EndX [in], EndY [in]

Pixel coordinates of the bottom right corner of the rectangle, relative to the image origin.

Width [in]

Width of the outline of the rectangle in pixels. If zero, a filled rectangle is drawn.

Return Values

S_OK

Success

E_FAIL

Failure.

Example

The following VB example overlays a filled red rectangle on the live video:

Prontocam1.Acquire = True

Prontocam1.OverlayRectangle 100,100,200,200,0

Prontocam1.OverlayColor=RGB(255,0,0)

Prontocam1.Overlay= True

Remarks

To draw a filled rectangle, use Width=0. To draw multiple rectangles, call this method several times. Also see OverlayColor,

OverlayClear.

Page 149: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

149

3.2.56. OverlayText

Description

Draws a string of text in the overlay.

Syntax

[VB]

objProntocam.OverlayText X, Y, Text

[C/C++]

HRESULT OverlayPixel( short X, short Y, );

Data Types [VB]

X, Y : Integer

Parameters [C/C++]

X [in], Y [in]

Coordinates of the pixel relative to the image origin.

Text [in]

The string containing the text to be drawn.

Return Values

S_OK

Success

E_FAIL

Failure.

Example

The following VB example overlays a string of text on the live video:

Dim Font As New StdFont

Font.Name = "Arial"

Font.Size = 18

Font.Bold = True

Prontocam1.OverlayFont = Font

Prontocam1.OverlayText 10, 100, "Prontocam rules!"

Prontocam1.OverlayColor = RGB(255, 0, 0)

Prontocam1.Overlay = True

Remarks

To select the font for drawing text strings, use OverlayFont. To draw multiple strings, call this method several times. Also

see OverlayColor, OverlayClear.

Page 150: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

150

3.2.57. SaveImage

Description

Saves the current frame buffer in the specified image file. The method supports BMP, TIFF and JPEG formats with a

selectable compression.

Syntax

[VB]

objProntocam.SaveImage File [, Compression]

[C/C++]

HRESULT SaveImage( bstr File, long Compression );

Data Types [VB]

File: String

Compression: Integer (optional)

Parameters [C/C++]

File [in]

The string containing the file name and path

Compression [in]

The file compression ratio

Return Values

S_OK

Success

E_FAIL

Failure.

E_INVALIDARG

Invalid file name.

Example

This VB example saves the current frame in a JPEG file with the specified compression quality.

Prontocam1.SaveImage "C:₩₩myframe.jpg", 75

Remarks

The image file format in which the frame will be saved is defined by the file extension indicated in the File argument. Use

"bmp" for a BMP file, "tif" for TIFF, and "jpg" for JPEG. If none of these extensions are found in the File string, an error will

occur. The way the Compression argument is treated depends on the file format.

BMP files: Compression = 0 - no compression

Compression = 1 - RLE compression (not implemented in this version)

TIFF files: Compression = 0 - no compression

Compression = 1 - LZW compression

Compression = 2 - PackBits compression

JPEG files: Compression is an integer value in the range 0-100 specifying the quality of the image. Lower values

correspond to a lower quality with a higher compression, while higher values correspond to a higher

quality with a lower compression.

If Compression parameter is omitted, BMP and TIFF files will be recorded with no compression, while JPEG files will be

recorded with quality of 75.

Page 151: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

151

3.2.58. SaveChannel

Description

Writes the current settings to the selected channel of the camera's internal EEPROM.

Syntax

[VB]

objProntocam.SaveChannel Channel

[C/C++]

HRESULT SaveChannel( short Channel );

Data Types [VB]

Channel: Integer

Return value: None

Parameters [C/C++]

Channel [in]

The index of the camera's memory channel (1-7).

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example saves the current camera settings in memory channel 1.

Private Sub SaveSettingsButton_Click()

Prontocam1.SaveChannel (1)

End Sub

Remarks

The number of memory channels available for the current camera is returned by GetMaxChannel. Channel 0 corresponds to

the factory default settings and cannot be overwritten. Note that some cameras might not support memory channels.

Page 152: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

152

3.2.59. SetImageWindow

Description

Copies pixel values from the two-dimensional array into the selected window of the current frame.

Syntax

[VB]

objProntocam.SetImageWindow X, Y

[C/C++]

HRESULT SetImageWindow( short X, short Y, VARIANT* pArray );

Data Types [VB]

Return value: Variant (SAFEARRAY)

Parameters [C/C++]

X [in], Y[in]

The x- and y- frame coordinates at which the top left corner of the window will be copied.

pArray [out,retval]

Pointer to the SAFEARRAY containing the pixel values to be copied.

Return Values

S_OK

Success

E_FAIL

Failure

E_INVALIDARG

Input array has wrong data type

Example

This VB example uses the FrameAcquired event to increase the brightness in the central area of the live image:

Private Sub Form_Load()

Prontocam1.Display = False

Prontocam1.Acquire = True

End Sub

Private Sub Prontocam1_FrameAcquired()

xc = Prontocam1.SizeX / 2

yc = Prontocam1.SizeY / 2

w = Prontocam1.GetImageWindow(xc - 70, yc - 50, 140, 100)

For y = 0 To UBound(w, 2)

For x = 0 To UBound(w, 1)

pix = w(x, y) + 50

If pix > 255 Then

pix = 255

End If

w(x, y) = pix

Next

Next

Prontocam1.SetImageWindow xc - 70, yc - 50, w

Page 153: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

153

Prontocam1.Draw

End Sub

Remarks

The array submitted to SetImageWindow must have the type and dimensions corresponding of those of the frame buffer,

as specified in the following table:

Format Data type Horizontal Dimension

8-bit monochrome Byte Width

16-bit gray monochrome Integer (word) Width

24-bit RGB Byte Width*3

48-bit RGB Integer (word) Width*3

where Width is the intended horizontal size of the window in in pixels. If the dimensions of the window are too large to

accomodate the frame size, they will be clipped to the frame boundaries.

For real-time image processing SetImageWindow should be used in conjunction with the Draw method.

Page 154: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

154

3.2.60. SetIsoSpeed

Description

Sets the camera's isochronous transmission speed in Mbps/sec.

Syntax

[VB]

objProntocam.SetIsoSpeed Speed

[C/C++]

HRESULT SetIsoSpeed( short Speed );

Data Types [VB]

Speed: Integer

Return value: None

Parameters [C/C++]

Speed [in]

Isochronous transmission speed to be set

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example sets the transmission speed of the camera to 200 Mbps:

speed=Prontocam1.SetIsoSpeed (200)

MsgBox speed

Remarks

Possible values of the Speed parameter are 100, 200, 400 for 1394a cameras and 100, 200, 400, 800, 1600 and 3200 for

1394b cameras.

Page 155: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

155

3.2.61. SetSlopeExposure

Description

Assigns the exposure levels for the multi-slope integration mode. Available only for selected cameras such as Toshiba Teli

CSB4000F.

Syntax

[VB]

objProntocam.SetSlopeExposure Exposure1 [,Exposure2]

[C/C++]

HRESULT SetSlopeExposure( long Exposure1 [,long Exposure2] );

Data Types [VB]

Exposure1: long

Exposure2: long (optional)

Return value: None

Parameters [C/C++]

Exposure1 [in]

Defines the exposure time for the second slope of the camera integration curve.

Exposure1 [in]

Defines the exposure time for the third slope of the camera integration curve. If omitted, two-slope

operation is used.

Return Values

S_OK

Success

E_FAIL

Feature is not available.

E_INVALIDARG

Argument is out of range.

Example

This VB example adjusts the exposure time and reset level for two-slope integration mode:

Private Sub Form_Load()

HScroll1.Min = 0

HScroll1.Max = 255

HScroll2.Min = 0

HScroll2.Max = 255

End Sub

Private Sub HScroll1_Scroll()

Prontocam1.SetSlopeExposure(HScroll1.Value)

End Sub

Private Sub HScroll2_Scroll()

Prontocam1.SetSlopeReset(HScroll2.Value)

End Sub

Page 156: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

156

t t

Remarks

The allowed range of values for both arguments is 0 - 255.

The integration time for the second and third slopes of the integration curve is defined via the integration time of an

immediately preceding slope:

Slope integra ion time = Exposure / 0x1000 * preceeding slope in egration time where the first slope corresponds to the

Shutter property.

For more information on the multi-slope operation refer to the manufacturer's documentation.

Page 157: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

157

Success

E_FAIL

Feature is not available.

E_INVALIDARG

Argument is out of range.

Example

This VB example adjusts the exposure time and reset level for two-slope integration mode:

Private Sub Form_Load()

HScroll1.Min = 0

HScroll1.Max = 255

HScroll2.Min = 0

HScroll2.Max = 255

End Sub

Private Sub HScroll1_Scroll()

Prontocam1.SetSlopeExposure(HScroll1.Value)

End Sub

Private Sub HScroll2_Scroll()

Prontocam1.SetSlopeReset(HScroll2.Value)

End Sub

3.2.62. SetSlopeReset

Description

Assigns the voltage reset levels for the multi-slope integration mode. Available only for selected cameras such as Toshiba

Teli CSB4000F.

Syntax

[VB]

objProntocam.SetSlopeReset Reset1 [,Reset2]

[C/C++]

HRESULT SetSlopeReset( long Reset1 [,long Reset2] );

Data Types [VB]

Reset1: long

Reset2: long (optional)

Return value: None

Parameters [C/C++]

Reset1 [in]

Defines the voltage reset the second segment of the camera integration curve.

Reset1 [in]

Defines the voltage reset for the third segment of the camera integration curve. Can be omitted for two-slope operation.

Return Values

S_OK

Page 158: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

158

Remarks

The allowed range of values for both arguments is 0 - 255. The actual values of reset voltages are inverted relative to the

values of Reset1 and Reset2. Therefore the higher setting means the lower voltage at which the corresponding slope starts.

If the voltage becomes higher than the saturation level or lower than the black level, the multislope function will not

work accurately.

For more information on the multi-slope operation refer to the manufacturer's documentation.

Page 159: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

159

3.2.63. ShowProperties

Description

Displays Prontocam property pages in runtime mode.

Syntax

[VB]

objProntocam.ShowProperties [ EnableCamList ]

[C/C++]

HRESULT ShowProperties( bool bEnableCamList );

Parameters

EnableCamList: Boolean

Parameters [C/C++]

bEnableCamList [in]

Set to TRUE to enable the camera selection box in the Source property page, or set to FALSE to disable it

Return Values

S_OK

Success

E_FAIL

Failure

Example

This VB example demonstrates how to display the property pages in runtime mode.

Private Sub Properties_Click()

Prontocam1.ShowProperties False

End Sub

Remarks

Setting the EnableCamList parameter to False allows you to disable the camera selection box in the Source property page

thus preventing a user from switching to another camera. This is a recommended scenario in case your application uses

several Prontocam objects configured for different cameras. See formation.

PropertyPages for more in

Page 160: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

160

3.2.64. SoftTrigger

Description

Sets/resets the software trigger signal.

Syntax

[VB]

objProntocam.SoftTrigger State

[C/C++]

HRESULT SoftTrigger( bool State);

Parameters

State: Boolean

Parameters [C/C++]

State [in]

Set to TRUE to set the software trigger, or set to FALSE to reset it

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example demonstrates the use of the software trigger:

Private Sub Form_Load()

Prontocam1.Asynch = False

Prontocam1.Acquire = True

Prontocam1.Trigger = True

Prontocam1.TriggerSource = 7

End Sub

Private Sub SoftTrig_Click()

Prontocam1.SoftTrigger (True)

End Sub

Remarks

Use SoftTrigger to generate the software trigger signal. Note that this method will only have effect if

set to 7 (software trigger) . The trigger signal will typically initiate an acquisition of a single frame. Note

that for 2 and 4 you don't need to reset the software trigger, as the trigger will clear itself.

Trigger is enable and

TriggerSource is

TriggerModes 0,

Page 161: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

161

3.2.65. StartCapture

Description

Starts time-lapse video capture to the specified AVI file or series of image files (bmp, tif or jpg). Use d

video capture.

Syntax

[VB]

objProntocam.StartCapture File [, Timelapse = 0 ]

[C/C++]

HRESULT StopCapture( bstr File, float Timelapse );

Data Types [VB]

File : String

Timelapse : Single (optional)

Parameters [C/C++]

File [in]

The string containing the path to the avi file or image file (bmp, tif or jpg).

Timelapse [in]

The interval between consecutive frames in seconds

Return Values

S_OK

Success

E_FAIL

Failure.

E_INVALIDARG

Invalid file name.

Example

This VB example demonstrates how to capture the video to an AVI file at the current frame rate:.

Private Sub StartButton_Click()

Prontocam1.StartCapture "c:₩mycapture.avi"

End Sub

Private Sub StopButton_Click()

Prontocam1.StopCapture

End Sub

This C# example demonstrates how to capture a series of TIFF images at 0.5 sec interval:

private void startbutton_Click(object sender, System.EventArgs e)

{

axProntocam1.StartCapture("c:₩₩images₩₩myframe.tif", 0.5);

}

private void stopbutton_Click(object sender, System.EventArgs e)

{

axProntocam1.StopCapture();

}

StopCapture to en

Page 162: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

162

Remarks

Prontocam records AVI files in the uncompressed format, 8- or 24-bits per pixel.

If bmp, tif or jpg extension is specified for the file path, the file name is used as a template to which the ordinal number of

the frame captured is appended. In the C# example above consecutive frames will be stored to files "myframe00001.tif",

myframe00002.tif" and so on. Note that TIF format can store 16- and 48-bit per pixel images.

If Timelapse is not specified, the video will be recorded at the maximum frame rate defined by the camera and system

throughput.

Page 163: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

163

3.2.66. StopCapture

Description

Stops video capture to an AVI file or series of images.

Syntax

[VB]

objProntocam.StopCapture

[C/C++]

HRESULT StopCapture();

Parameters

None

Return Values

S_OK

Success

E_FAIL

Failure

Example

This VB example demonstrates how to capture the video to an AVI file with 0.5 sec time lapse between the frames.

Private Sub StartButton_Click()

Prontocam1.StartCapture "c:₩mycapture.avi", 0.5

End Sub

Private Sub StopButton_Click()

Prontocam1.StopCapture

End Sub

Remarks

Use this method to end the video capture initiated by StartCapture.

Page 164: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

164

3.2.67. ReadRegister

Description

Reads a quadlet from the selected 1394 register of the current camera.

Syntax

[VB]

Value=objProntocam.ReadRegister( Reg )

[C/C++]

HRESULT ReadRegister( long Reg, long* pValue );

Data Types [VB]

Reg: Long

Return value: Long

Parameters [C/C++]

Reg [in]

The 32-bit offset of the register into the 1394 base address FFFF 0000 0000 h or the offset of the register into the Camera

Control and Status Register FFFF F0F0 0000 h.

pValue [out,retval]

Pointer to the registers's 32-bit value

Return Values

S_OK

Success

E_FAIL

Failure.

Examples

This C example reads the value of the temperature inquiry register using the absolute register offset:

value=Prontocam.ReadRegister(0xF0F0052C);

This VB example reads the value of the temperature inquiry register using the relative register offset:

value=Prontocam.ReadRegister(&H52C)

Remarks

Addresses starting with F (least four significant bits are on) will be treated as 32-bit offsets to the 1394 base adress FFFF

0000 0000 h. Other addresses will be treated as offsets into the Camera Control and Status register, which usually starts

with FFFF F0F0 0000 h. For more information on the DCAM command registers refer to "IIDC 1394-based Digital Camera

Specification, Version 1.31" published by the 1394 Trade Association.

Page 165: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

165

3.2.68. WriteRegister

Description

Writes a quadlet to the selected 1394 register of the current camera.

Syntax

[VB]

Value=objProntocam.WriteRegister Reg, Value

[C/C++]

HRESULT WriteRegister( long Reg, long Value );

Data Types [VB]

Reg: Long

Value: Long

Parameters [C/C++]

Reg [in]

The 32-bit offset of the register into the 1394 base address FFFF 0000 0000 h or the offset of the register into the Camera

Control and Status Register FFFF F0F0 0000 h.

Value [in]

The value to be written in the register

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This C example writes a value to the optical filter register using the absolute register offset.

value=Prontocam.WriteRegister(0xF0F0088C,0x0C000010);

This VB example writes a value to the optical filter register using the relative register offset.

value=Prontocam.WriteRegister(&H88C,&H0C000010)

Remarks

Addresses starting with F (least four significant bits are on) will be treated as 32-bit offsets to the 1394 base adress FFFF

0000 0000 h. Other addresses will be treated as offsets into the Camera Control and Status register, which usually starts

with FFFF F0F0 0000 h.

For more information on the DCAM command registers refer to "IIDC 1394-based Digital Camera Specification, Version

1.30" published by the 1394 Trade Association.

Page 166: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

166

3.3. Events The following events are generated by Prontocam control:

Called after a frame has been acquired into the internal memory FrameAcquired

FrameAcquiredX Called after a frame has been acquired into the internal memory (multithreaded version)

FrameDropped Called if a frame is dropped during the video acquisition

Timeout Called if the acquisition timeout has expired

FormatChanged Called if the video size or pixel format has changed

MouseDown Called when the mouse button is pressed inside the control window

MouseUp Called when the mouse button is released inside the control window

MouseDblClick Called when the mouse button is double-clicked inside the control window

MouseMove Called when the mouse button has moved inside the control window

Scroll Called when the live video display has been scrolled

Page 167: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

167

3.3.1. MouseDblClick

Description

This event is fired each time the mouse button is double-clicked inside the control window. Returns the coordinates of a

pixel pointed by the cursor.

Syntax

[VB]

Private Sub objProntocam_MouseDblClick( ByVal X As Integer, ByVal Y As

Integer )

[C/C++]

HRESULT Fire_MouseDblClick( SHORT X, SHORT Y );

Data Types [VB]

X: Integer

Y: Integer

Parameters [C/C++]

X [in]

The X-coordinate of the pixel pointed by the cursor.

Y [in]

The Y-coordinate of the pixel pointed by the cursor.

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example uses the MouseDblClick event to open the Properties dialog:

Private Sub Prontocam1_MouseDblClick(ByVal X As Integer, ByVal Y As

Integer)

Dim Value As Integer

Value = Prontocam1.ShowProperties

End Sub

Remarks

Note that the coordinates returned by this event refer to the image coordinate system, not to the screen coordinates.

Set the ies to TRUE in order to display a scrollable live video and get a visual access to all

parts of the image.

Acquire and ScrollBars propert

Page 168: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

168

3.3.2. MouseDown

Description

This event is fired each time the mouse button is pressed inside the control window. Returns the coordinates of a pixel

pointed by the cursor.

Syntax

[VB]

Private Sub objProntocam_MouseDown( ByVal X As Integer, ByVal Y As Integer

)

[C/C++]

HRESULT Fire_MouseDown( SHORT X, SHORT Y );

Data Types [VB]

X: Integer

Y: Integer

Parameters [C/C++]

X [in]

The X-coordinate of the pixel pointed by the cursor.

Y [in]

The Y-coordinate of the pixel pointed by the cursor.

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example uses the MouseDown event to display the value of the pixel pointed by the cursor:

Private Sub Prontocam1_MouseDown(ByVal X As Integer, ByVal Y As

Integer)

Dim Value As Integer

Value = Prontocam1.GetPixel(X, Y)

MsgBox Value

End Sub

Remarks

Note that the coordinates returned by this event refer to the image coordinate system, not to the screen coordinates.

Set the ies to TRUE in order to display a scrollable live video and get a visual access to all

parts of the image.

Acquire and ScrollBars propert

Page 169: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

169

3.3.3. MouseMove

Description

This event is fired each time the mouse has moved inside the control window. Returns the coordinates

of a pixel pointed by the cursor.

Syntax

[VB]

Private Sub objProntocam_MouseMove( ByVal X As Integer, ByVal Y As Integer

)

[C/C++]

HRESULT Fire_MouseMove( SHORT X, SHORT Y );

Data Types [VB]

X: Integer

Y: Integer

Parameters [C/C++]

X [in]

The X-coordinate of the pixel pointed by the cursor.

Y [in]

The Y-coordinate of the pixel pointed by the cursor.

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example uses the MouseMove event to display the value of the pixel pointed by the cursor:

Private Sub Prontocam1_MouseMove(ByVal X As Integer, ByVal Y As

Integer)

Dim Value As Integer

Value = Prontocam1.GetPixel(X, Y)

Label1.Caption = Value

End Sub

Remarks

Note that the coordinates returned by this event refer to the image coordinate system, not to the screen coordinates.

Set the ies to TRUE in order to display a scrollable live video and get a visual access to all

parts of the image.

Acquire and ScrollBars propert

Page 170: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

170

3.3.4. MouseUp

Description

This event is fired each time the mouse button is released inside the control window. Returns the coordinates of a pixel

pointed by the cursor.

Syntax

[VB]

Private Sub objProntocam_MouseUp( ByVal X As Integer, ByVal Y As Integer )

[C/C++]

HRESULT Fire_MouseUp( SHORT X, SHORT Y );

Data Types [VB]

X: Integer

Y: Integer

Parameters [C/C++]

X [in]

The X-coordinate of the pixel pointed by the cursor.

Y [in]

The Y-coordinate of the pixel pointed by the cursor.

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example uses the MouseUp event to display the value of the pixel pointed by the cursor:

Private Sub Prontocam1_MouseUp(ByVal X As Integer, ByVal Y As Integer)

Dim Value As Integer

Value = Prontocam1.GetPixel(X, Y)

MsgBox Value

End Sub

Remarks

Note that the coordinates returned by this event refer to the image coordinate system, not to the screen coordinates.

Set the ies to TRUE in order to display a scrollable live video and get a visual access to all

parts of the image.

Acquire and ScrollBars propert

Page 171: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

171

3.3.5. FormatChanged

Description

This event is fired each time the frame size or pixel format of the camera changes.

Syntax

[VB]

Private Sub objProntocam_FormatChanged()

[C/C++]

HRESULT Fire_FormatChanged();

Parameters [C/C++]

None

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example uses the FormatChanged event to generate a sound signal:

Private Sub Prontocam1_FormatChanged()

Beep

End Sub

Remarks

The FrameDropped event is raised when the frame size or pixel format of the camera changes. Your application may use

this event to perform certain actions when the video format is changed through the Property Pages of Prontocam. See

r more details. ShowProperties fo

Page 172: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

172

3.3.6. FrameAcquired

Description

This event is fired each time a frame has been acquired into the internal memory.

Syntax

[VB]

Private Sub objProntocam_FrameAcquired()

[C/C++]

HRESULT Fire_FrameAcquired();

Parameters [C/C++]

None

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example uses the FrameAcquired event to access and display a pixel value in real time:

Private Sub Prontocam1_FrameAcquired()

Label1.Caption = Prontocam1.GetPixel(16, 32)

End Sub

Remarks

One of the following conditions must be met, before the FrameAcquired event will be fired:

The perty has been set to TRUE

The hod has been called.

The FrameAcquired event is fired from the interface thread to provide compatibility with all types of ActiveX containers.

For applications created in VB.NET, C# and C++ it is recommended to use the ent.

Acquire pro

Grab met

FrameAcquiredX ev

Page 173: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

173

3.3.7. FrameAcquiredX

Description

This event is fired each time a frame has been acquired into the internal memory. Unlike ed

from a processing thread providing a higher efficiency. Might not work in certain containers.

Syntax

[VB]

Private Sub objProntocam_FrameAcquiredX()

[C/C++]

HRESULT Fire_FrameAcquiredX();

Parameters

None

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB.NET example uses the FrameAcquiredX event to access and display a pixel value in real time:

Private Sub AxProntocam1_FrameAcquired(ByVal sender As System.Object, ByVal e As

AxPRONTOCAMLib._IProntocamEvents_FrameAcquiredEvent)

Label1.Text = AxProntocam1.GetPixel(16, 32)

End Sub

Remarks

This event is provided for applications that can process events fired from a processing thread (VB.NET, C#, C++). For

applications created in VB6, VBA and Delphi use ent instead.

One of the following conditions must be met, before the FrameAcquiredX event will be fired:

The perty has been set to TRUE

The hod has been called.

FrameAcquired event it is fir

FrameAcquired ev

Acquire pro

Grab met

Page 174: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

174

3.3.8. FrameDropped

Description

This event is fired each time a frame is dropped during the video acquisition.

Syntax

[VB]

Private Sub objProntocam_FrameDropped()

[C/C++]

HRESULT Fire_FrameDropped();

Parameters [C/C++]

None

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example uses the FrameDropped event to generate a sound signal:

Private Sub Prontocam1_FrameDropped()

Beep

End Sub

Remarks

The FrameDropped event is raised if a video FIFO overflow occurs during the acquisition of a frame resulting in a frame

drop. The most common reasons for this are low bandwidth (several cameras connected to the 1394 board) or CPU

overload.

Page 175: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

175

3.3.9. Scroll

Description

This event is fired each time the live video display has been scrolled. Returns the horizontal and vertical scroll positions.

Syntax

[VB]

Private Sub objProntocam_Scroll( ByVal X As Integer, ByVal Y As Integer )

[C/C++]

HRESULT Fire_Scroll( SHORT ScrollX, SHORT ScrollY );

Data Types [VB]

ScrollX: Integer

ScrollY: Integer

Parameters [C/C++]

ScrollX [in]

The X-coordinate of the pixel pointed by the cursor.

ScrollY [in]

The Y-coordinate of the pixel pointed by the cursor.

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example uses the Scroll event to display the position of the live video in the control window:

Private Sub Prontocam1_Scroll(ByVal ScrollX As Integer, ByVal ScrollY

As Integer)

Label1.Caption = ScrollX

Label2.Caption = ScrollY

End Sub

Remarks

Note that the scroll positions returned by this event refer to the image coordinate system, not to the screen coordinates.

The roperties to TRUE in order for the Scroll event to be fired. ScrollBars p

Page 176: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

176

3.3.10. Timeout

Description

This event is fired each time a timeout occurs during the acquisition of a frame.

Syntax

[VB]

Private Sub objProntocam_Timeout()

[C/C++]

HRESULT Fire_Timout();

Parameters [C/C++]

None

Return Values

S_OK

Success

E_FAIL

Failure.

Example

This VB example uses the Timeout event to generate a sound signal:

Private Sub Prontocam1_Timeout()

Beep

End Sub

Remarks

The Timeout event is raised if 10 seconds passes after the od has been called and no frame has been acquired.

The event will be raised repeatedly if the control is set in the continuous acquisition mode ( t

common reason for a timeout is a missing trigger signal in the

Grab meth

Acquire is TRUE). The mos

Trigger mode.

Page 177: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

177

3.4. Property Pages

The following property pages are available in Prontocam control:

Used to select the properties specifying the source for the video input Source

Format Used to select the properties specifying the format of the video

Exposure Used to select the properties specifying the exposure features of the video

Color Used to select the properties specifying the color features of the video

Advanced Used to select the properties specifying the advanced features of the video

Page 178: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

178

3.4.1. Source

This property page is used to select the properties specifying the source for the video input. Select from the following

options:

Camera

Displays the vendor's name and mod ly selected c u have more than one camera connected to

the 1394 board, you can switch to another camera by choosing the corresponding camera name in the list. Equivalent to

the Camera property.

Trigger

Select this check box to set the current camera to the trigger mode. This mode is typically used with an asynchronously

resetable camera. The acquisition of a frame will occur upon receiving a signal from an external hardware trigger. To set

the camera to the continuous mode, clear the Trigger check box. Equivalent to the Trigger property.

Trigger Source

Lets you select the source for the trigger signal. Depending on a camera, there may be one or more hardware trigger inputs

as well as the software trigger. If the software trigger is available and selected, use the Set button to set and reset the

trigger event. If the camera doesn't suppot trigger source selection as defined by the DCAM 1.31 specifications, this option

will be unavailable. Equivalent to the TriggerSource property and SoftTrigger method.

Trigger mode

select the trigger mode as defined by the DCAM 1.31 specifications. If several trigger modes are available for the

currently selected camera, you can switch between them by choosing the desired mode from the list. See TriggerMode for

more details.

Trigger polarity

Lets you change polarity of the trigger input. Equivalent to the TriggerPolarity property. Choose one of the following

options:

High Active - trigger has high active input.

Low Active - trigger has low active input.

Acquire

Lets you enable the continuous acquisition mode. If this box is checked, the board will continuously acquire the video into

el of the current amera. If yo

Lets you

Page 179: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

179

the internal image memory. If the control is visible, the live video will be displayed in the control window. Equivalent to the

Acquire property.

Asynchronous mode

Lets you select an acquisition mode. Check this box to set the board to the asynchronous mode. In this mode the board will

continuously transfer pixels into the host memory, allowing your application to process a captured frame while the

acquisition of the next frame occurs. The asynchron ode provides the fastest and most efficient setup for real-time

image processing. However, if processing occurs at a slower rate than pixels are acquired, using this mode may result in

the decomposition of images and loss of data. Clear this check box to set the board to the synchronous mode. In this

mode the acquisition of the next frame will be initiated upon the capture command. The synchronous mode is slower, but it

guarantees the wholeness of images during real-time processing. Equivalent to the Asynch property.

Digital zoom

Lets you adjust the magnification of the live video display. This option doesn't change the content of the image data, but

only its appearance in the control window. If it is set to zero, the image will be fit to the size of the control window. In this

case the display might not retain the original proportions of the video frame. Equivalent to the Magnification property.

3D look

Lets you enable or disable 3D-appearance of the control window. If this box is checked, the sunken edge will appear around

the border of the control window. Equivalent to the Edge property.

Scroll bars

Lets you enable or disable the scroll bars in the control window. If this box is checked and the video width or/and height

exceed the size of the control window, the scroll bar(s) will be displayed on the border of the control window allowing you

to pan the live video. Equivalent to the ScrollBars property. Gray

Flip

Lets you select one of the flipping modes. Flipping affects the live video display as well as actual order of pixels in the frame

buffer. Select among the following modes:

0 – None : No image flipping is performed.

1 – Horizontal: The image is flipped horizontally.

2 – Vertical: The image is flipped vertically.

3 – Both : The image is flipped horizontally and vertically.

This option is equivalent to the Flip property.

Palette

Lets you select one of a few predefined palette to be applied to a grayscale live video. The palettes represent choices that

may be useful in viewing different kinds of video in pseudo-colors. Choose among the following palettes:

Gray : Applies the standard 256-level grayscale palette. This is a regular mode of viewing a grayscale video.

Inverse: Applies the inverted 256-level grayscale palette. The video will be displayed in the negative format.

Saturated: Applies the grayscale palette with colorized upper entries. The saturated palette allows you to control the

dynamic range of the video signal by b slightly below the saturation level of the video camera or

video amplifier. To achieve the maximum dynamic range, adjust the intensity of the light source and/or

the gain and zero level of the video amplifier so that the red color corresponding to the brightest pixel

values just barely shows up.

Rainbow: Applies a color palette where the entries are evenly distributed along the Hue axis. This allows for

assigning different color pigments to different levels of intensity.

Spectra: Applies a color palette where the entries are distributed along the Hue and Luminance axes. That allows

for assigning different color pigments to different levels of intensity while preserving the luminance scale.

ous m

ringing it

Page 180: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

180

Isodense : Applies the 256-level grayscale palette, each 8-th entry of which is colorized. The isodense palette allows

you to clearly see transitions between different levels of intensities as isolines on a topographic map.

Multiphase : Applies the multiphase palette. Entries in the multiphase palette are at opposite ends of the color model so

even small changes in gray levels are highlighted.

Random : Applies the random color palette whose entries are filled with random values each time you select it from

the list. This option is equivalent to the Palette property.

Page 181: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

181

3.4.2. Format

This property page is used to select the properties specifying the format and synchronization options of the video.

Select from the following options:

Video mode

Use this option to select the desired video mode from the list of modes available for the current camera. In addition to

standard modes defined by the DCAM 1.30 specifications, camera-dependent partial scan modes (Format 7) can be

available at the bottom of the list. Equivalent to the Mode property.

Frame rate

Lets you choose the frame rate available for the currently selected Mode. Select among the following possible frame rates:

1.875 fps, 3.75 fps, 7.5 fps, 15 fps, 30 fps, 60 fps. If one of the partial scan modes (Format 7) is selected, this option will

be unavailable, as the frame rate will depend on the size of the scan window and Packet size. Equivalent to the Rate

property.

Packet size

Use this option to select the number of bytes in an isochronous packet. This option is available only for partial scan (Format

7) modes and related but not necessarily indicative of the effective frame rate. Equivalent to the PacketSize property.

Partial scan

Lets you change the size and position of the image window in a partial scan (Format 7) mode. To modify the size and

position of the window, enter the desired values for the image width, height, left coordinate and top coordinate in pixels.

Equivalent to the SizeX, SizeY, StartX, StartY properties.

16-bit swap

Select this box to change the order of bytes in incoming camera frames. While outputting 16-bit pixels, some cameras can

place the most significan bits of each pixel in the high-order bytes and the least significant bits in the low-order bytes. If

this happens, the live image will appear scrambled. Checking this box will restore the original pixel values. Equivalent to the

SwapBytes property.

16-bit shift

Select the number of positions for the right bit shift to be applied to 16-bit pixel values in the image buffer. When displaying

and saving 16- and 48-bit images, Prontocam assumes that pixel values are mapped to the entire 16-bit dynamic range (0-

Page 182: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

182

65535). Certain cameras however may output data in narrower dynamic range resulting in dark images. Selecting a non-

zero bit shift will cause real-time remapping of image data. Equivalent to the BitShift property.

Page 183: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

183

3.4.3. Exposure

This property page is used to select the properties specifying the display features of the video. Select from the following

options:

Brightness

Move the slider to adjust the brightness (black level) of the video. Note that this option is available only for the cameras

that support the software brightness control.. Equivalent t ess property.

Shutter

Move this slider to adjust the integration time of the incoming light. Note that this option is available only for the cameras

that support the software shutter contro valent to the Shutter property.

Gain

Move this slider to adjust the camera circuit gain control. Note that this option is available only for the cameras that support

the software gain control. Equivalent to the Gain property.

Iris

Move this slider to adjust the iris (mechanical apperture) of the camera lens. Note that this option is available only for the

cameras that support the software iris control. Equivalent to the Iris property. Each of the sliders has a corresponding check

box Auto located on the right. If such a box i m auto rresponding

feature. Checking the box will put the camera to the continuous automatic control of the feature, unchecking it will restore

the manual control.

Auto Exposure

Select this option to put the camera in the AE mode. When the auto ex mo the camera will

automatically control the exposure by keeping Shutter, Gain and/or Iris at optimal levels. The reference value for auto

exposure can be adjusted by moving the slider next to the check box. Both options are available only if the currently

selected camera supports auto exposure control. Equivalent to the AutoExposure and AutoExposureRef properties.

o the Brightn

l. Equi

s enabled, the ca era supports an matic mode for the co

posure de is activated,

Page 184: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

184

3.4.4. Color

This property page is used to select the properties specifying the format and synchronization options of the video.

Select from the following options:

Saturation

Move the slider to adjust the color saturation of the video. Note that this option is available only for the cameras that

support the software saturation control.. Equivalent to turation property.

Hue

Move the slider to adjust the color phase the video. Note that this option is available only for the cameras that support the

software hue control.. Equivalent to the Hue property.

Both sliders has a corresponding check box Auto located on the right. If such a box is enabled, the camera supports an

automatic mode for the corresponding feature. Checking the box will put the camera to the continuous automatic control of

the feature, unchecking it will restore the manual control.

White balance

Move the U/B slider to adjust the the tint of the white color along the yellow-blue axis. Move the V/R slider to adjust the

the tint of the white color along the cyan-red axis. Select the Auto box to put the camera to the continuous

ite balan the One Push button to have the camera adjust the white balance level by itself and

return to the manual mode. Equivalent to the WhiteBalanceUB, WhiteBalanceVR and WhiteBalanceControl properties.

Bayer conversion

Select this option to activate the real-time color conversion of a grayscale video generated by a Bayer camera. The Bayer

list lets you select the specific Bayer conversion algorithm. The CCD layout o om the Layout

list. Both options are available only for monochrome video modes. See Bayer and BayerLayout for more information.

the Sa

automatic

control of the wh ce. Click

f the camera can be selected fr

Page 185: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

185

3.4.5. Advanced

This property page is used to select the properties specifying the format and synchronization options of the video

Select from the following options:

Gamma

Move the slider to adjust the gamma level of the video. The gamma correction modifies an image by applying standard,

nonlinear gamma curves to the intensity scale. To lighten an image and increase the contrast in its darker areas, increase

the gamma by moving the slider to the right. To darken the image and emphasize the contrast in the lighter areas,

decrease in the gamma by moving the slider to the left. Note that this option is available only for the cameras that support

the software gamma control. Equivalent to the Gamma property.

Sharpness

Move the slider to adjust the sharpness of the video. Note that this option is available only for the cameras that support the

software sharpness control.. Equivalent to the Sharpness property.

Focus

Move the slider to adjust the camera lens to the subject distance. Note that this option is available only for the cameras that

support the software focus control.. Equivalent to the Focus property.

Zoom

Move the slider to adjust the optical zoom of the camera lens. Note that this option is available only for the cameras that

support the software zoom control.. Equivalent to the Zoom property. Each of the sliders has a corresponding check box

Auto located on the right. If such a box is enabled, the camera supports an automatic mode for the corresponding feature.

Checking the box will put the camera to the continuous automatic control of the feature, unchecking it will restore the

manual control.

Register

Lets you perform asynronous reads and writes to a selected register in the camera 1394 address space. To perform the

read operation, enter the desired hexadecimal offset to the Offset filed and click the Read button. The offset should be

given relative to the 1394 base address FFFF:00000000 h. The result will be displayed in the Hex Value box. To perform

the write operation, enter a desired offset and 32-bit hexadecimal value to the Offset and Hex Value fields respectively,

and then press the Write button. Use the Refresh button to synchronize Prontocam properties with possible changes in

the camera settings that might have occured after changing the values of 1394 registers. Equivalent to the ReadRegister,

WriteRegister and LoadChannel methods.

Page 186: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

186

Memory channel

Select the internal EEPROM channel for loading or storing camera settings. Use the Save button to write the current setting

to the internal camera memory. Use the Load button to load the settings from the internal memory. Channel 0 corresponds

to the default factory settings and cannot be overwriten. Equivalent to the LoadChannel and SaveChannel methods.

Save image

Lets you save the current frame buffer in an image file. When you click this button, the Save As dialog box will appear

where you can select the file name and one of the image file formats: BMP, TIF and JPEG. Note that BMP and TIF files will

be recorded with no compression while JPEG files will be recorded with quality 75. Equivalent to the SaveImage method.

Page 187: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

187

4. Samples The Prontocam distribution package includes the following sample applications:

Programming Language Project Name Description

Dcam Profile Live image preview, real time pixel values, real-time line profile

MultiDcam Multiple camera viewer (up to 4 simultaneously running cameras)

VBProcess Live image processing with direct pixel manipulation in the frame

buffer

Visual Basic 6.0

Dcam Live image in PictureBox object, pixel values at cursor

coordinates, fps display, using Prontocam by reference

ByRef

Visual C++, MFC ActiveDemo Live image preview, real time pixel values, real-time line profile,

saving image into file, continuous capture into multiple frames

Visual C++, Win32 API DcamWin Live image preview using DIB rendering, built-in and custom

camera controls, saving image into file. Written in C with Win32

API (no MFC used)

DcamOverlay Flipped video preview, pseudo-coloring, pixel window extraction,

overlay animation

VB.NET

DcamCapture Time-lapse video capture to AVI files or series of images,

overlayed frame counter

DcamSharp Image and pixel viewer with custom camera controls: selection

among multiple cameras, video modes and frame rates, pseudo-

color display, realtime shutter and gain control, mouse event

handling

Visual C#

FilterSharp Direct access to the frame buffer using pointers, real-time

Emboss filter, nondestructive color overlay, interactive drawing

HTML TryProntocam.html Web page with an integrated Dcam viewer

Note that VB.NET and Visual C# samples utilize .NET Framework. Make sure it is installed on your system before using

these samples. In addition DcamOverlay and DcamSharp samples assume the presense of MSCOMM32.ocx on the system.

All the samples include complete source code and executables which can be run with any DCAMcompatible camera out of

the box. Simply connect one or more cameras to your system, start an application of your choice and see how Prontocam

performs in real world!

Page 188: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

188

5. TWAIN DCAM TWAIN driver allows Windows users to view and capture images in TWAIN-compliant graphic editing and scientific

imaging applications such as Photoshop, Image Pro and others. Depending on the selected video mode, the TWAIN driver

can capture images in 8- or 16-bit monochrome and 24- or 48-bit RGB format.

The driver is automatically installed on your system during Prontocam Installation. To use 1394 cameras via a TWAIN

compliant imaging application (e.g. Photoshop, Image Pro etc.), you must first set FireWire Digital Camera as the

default TWAIN source.

① Open the TWAIN compiant application (e.g. Photoshop, Image Pro etc.)

② Specify the TWAIN source that you want to interface with. The procedure for this step will var n

the software you are using, but you should see a list of TWAIN devices.

③ Chose FireWire Digital Camera.

④ Open the TWAIN interface. This step also varies depending on the software. The ProntoTWAIN window will

appear as shown below.

y depending o

The user interface of the TWAIN driver includes the following buttons and controls:

Capture :

Captures the current video frame into the application.

Live

Switches the camera into the continuous acquisition mode and initiates live preview.

Freeze

Stops the acquisition from the camera and freezes the last video frame in the image window.

Page 189: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

189

Zoom in

Click this button to increase the magnification of the image.

Zoom out

Click this button to decrease the magnification of the image.

Fit to screen

Click this button to change the magnification factor of the image so that it fits to the image window.

Settings

Click this button to display Prontocam Property Pages.

Video mode

Use this option to select the desired video mode from the list of modes available for the current camera. In addition to

standard modes defined by the DCAM 1.30 specifications, camera-dependent partial scan modes (Format 7) can be

available at the bottom of the list.

Frame rate

Lets you choose the frame rate available for the currently selected video mode. Select among the following possible frame

rates: 1.875 fps, 3.75 fps, 7.5 fps, 15 fps, 30 fps, 60 fps. If one of the partial scan modes (Format 7) is selected, this option

will be unavailable.

Page 190: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

190

6. Troubleshooting Below is the list of the most frequently encountered issues and remedies for their resolutions:

Problem Description Cause and Resolution

The camera is not receiving

Power

This is a typical issue for notebook computers that do

not provide power to external 1394 devices. Use a

FireWire hub or DC power cable to connect your

camera to a laptop.

1394 Digital Camera driver is

not installed for the camera.

Prontocam will not work with a system driver provided

by your camera manufacturer. Refer to Driver Setup

for the DCAM driver installation procedure.

The camera is not

recognized by Prontocam.

"No DCAM camera found"

message appears in the

control window.

The camera is not

DCAMcompliant.

Prontocam only works with IIDC-1.30 and -1.31

compliant cameras. Noncompliant cameras (such as

DVcamcorders) will not be recognized by Prontocam.

The camera and 1394 board

have a compatibility problem.

Some 1394 boards/chipsets are known not to perform

well with certain models of 1394 cameras. For

example, Hitachi cameras have trouble running with

Adaptec and Matrox boards. Replace your board with a

board recommended by your camera manufacturer.

Live video occasionally

freezes. After restarting the

application "Error in the

system 1394 driver" appears

in the control window. In

some cases system reboot is

required.

The computer/board/cabling

has an intermittent hardware

issue

Replace the cable or try to run the camera/software on

a different system.

The camera and 1394 board

have a compatibility problem.

See the solution above.

The processor has an

extensive latency in the C3

power state transition.

This problem is common for notebook computers. To

correct the latency setting, run C3State.reg file located

in the Driver folder. Restart the system for the changes

to take effect.

The video is corrupted

(frames are broken into

parts, jittering occurs or

synchronization is lost).

Some video formats and

frame rates do not work.

You are running Windows XP

SP2 and the camera is

connected to 1394b board.

Run the following fix from Microsoft:

TUhttp://support.microsoft.com/kb/885222UT

When switching to certain

video modes, I get blank

screen.

Some cameras require turning

the acquisition off while

switching between video

modes.

Turn the acquisition off by setting the Acquire property

to off, then select the desired video mode and turn the

acquisition on.

VB.NET and C# sample

applications do not work.

.NET framework is not installed

on the system

Install the latest .NET framework from Microsoft:

TUhttp://msdn.microsoft.com/netframework/default.aspx UT

When I run a live video

application from within

Visual Studio.NET,

everything freezes.

Live video is active in the

Design mode. Visual

Studio.NET doesn't close the

designer while starting the

application.

Prontocam cannot run two instances of live video

acquired from the same camera. Make sure to close

the design view before running your application. The

best way to avoid this problem is not to use live display

in the design mode except for testing purposes. You

can initiate acquisition in your code by setting the

Acquire property to true.

Page 191: Prontocam SDK Manual - IPS sipss.co.kr/Data/IPS_Cam_Manual.pdf · Prontocam SDK Manual Prontocam SDK Manual Prontocam SDK Manual IPS SYSTEM CAMERA API MANUAL V1.0 API MANUAL VERSION

191

Problem Description Cause and Resolution

I am trying to do real-time

image processing in .NET,

and I experience a

significant drop in the frame

rate.

VB.NET and C# have

performance issues when

working with large arrays.

rameAcquired event has an

overhead that might affect the

performance

For performance boost, use unsafe code and pointers

to directly access Prontocam image buffer. A pointer to

the image buffer is provided by GetImagePointer. For

VB.NET, C# and C++ applications use FrameAcquiredX

event.

AVI files are not recorded in

real-time, many frames are

being dropped.

Your system does not provide

enough throughput or CPU

power to keep up with the

camera frame rate

Switch to a lower resolution mode or reduce the frame

rate. If you are using a Bayer camera, consider

recording the monochrome video instead of color one.

Alternatively, upgrade your system to a faster hard

drive and/or CPU.

Prontocam installation fails

with the following error:

"Prontocam.dll failed to

register, HRESULT -

2147220473"

This error is usually caused by

a corrupted registration of

atl.dll system file.

1. Locate atl.dll, generally found in

"C:₩WINNT₩system32" or

"C:₩WINDOWS₩system32".

2. Open the command-line prompt

· o Start Menu/Run

· o type "cmd"

· o press "ENTER"

3. Using the atl.dll filename and path, call regsvr32, i.e.

at the command-line prompt, type:

· o regsvr32

"C:₩WINNT₩system32₩atl.dll"

· o press "ENTER"

4. You should see a regsvr32 window, confirming

success: Close it.

5. Repeat Prontocam installation.