Programming Library for PIXCI® Imaging Boards

Programming Library for PIXCI® Imaging Boards

Programming Library for PIXCI® Imaging Boards PIXCI® IMAGING POWER The XCLIB Library empowers C/C++ and Windows, DOS, and Linux programmers to control the PIXCI® series of imaging boards. XCLIB supports all versions of the PIXCI® imaging boards:1 † † † • The PIXCI® D , D24 , D32 , D2X, and D3X for digital output area-scan and line-scan cameras with 8, 10, 12, 14, and other bit depths, in mono- chrome or color, † • The PIXCI® D2X or D2X1 for use with SILICON VIDEO® 1281M , 1281C†, 1310†, 1310C†, 2112†, and 2112C† cameras. • The PIXCI® SI, SI1, or SI4 for use with SILICON VIDEO® 5C10, 5M10, 642M, 642C, 643M, 643C, 9C10, 9M001, 9M001C, and 9T001C cameras. † † • The PIXCI® CL1, CL2, CL3SD, E1 , E1DB , E4, E4DB, EB1, EB1-PoCL, EC1, ECB1, ECB1-34, ECB2, EL1, and EL1DB, for Camera Link area-scan and line-scan cameras. † • The PIXCI® A for analog output area-scan and line-scan cameras with 8, 10, 12, and other bit depths, in monochrome or color, and † † † • The PIXCI® SV2 , SV3 , SV4 , SV5, SV5A, and SV5B for NTSC, PAL, RS-170, CCIR, and S-Video. Multiple PIXCI® frame grabbers can be operated selectively or simultaneously, allowing parallel control for multi-camera viewing of a single event or object, or allowing selective control for capturing multiple, independent, events or objects. Through the unique flexibility of XCLIB and the PIXCI® imaging boards, single frames or video sequences from standard RS-170, NTSC, PAL, or CCIR or other nonstandard video sources can be captured, analyzed2, displayed, and archived.3 CONVENIENCE & COMPATIBILITY XCLIB provides high level services, allowing concentration on the imaging application, rather than focusing on board level program- ® Quick & Easy Access to PIXCI Imaging Boards. ming. DLL for 32 bit Windows 95, 98, ME Applications. XCLIB automatically detects and manages all versions of the ® DLL for 32 bit Windows NT, 2000, XP, Vista, 7 PIXCI imaging boards and their intended cameras. Fundamental Apps. services, such as setting resolution, capturing, and accessing image data, are the same regardless of camera or version of imaging DLL for 64 bit Windows XP, Vista, 7 Apps. board. Object Code for 32 bit & 64 bit Linux Programs. The XCLIB C/C++ library allows embedding control of PIXCI® imaging boards into user-written applications. Under Windows, the Object Code for 32 bit DOS Programs. XCLIB DLL also enables access from existing Windows applica- High Level Functions eliminate Register Level tions, such as Visual Basic, Delphi, LabView, Matlab, and many oth- Programming. ers, which support ‘‘calling’’ into DLLs. Custom Area-Scan or Line-Scan Formats. SOPHISTICATED SOLUTIONS RS-170, NTSC, or S-Video Formats. XCLIB allows user-written programs to apply the PIXCI® imaging boards to applications such as image enhancement, archival, Analog or Digital Video Interfaces. analysis and measurement; event and motion study; document cap- CCIR, PAL, or S-Video Formats. ture; cine-loop and ultrasound image capture; particle analysis; visual inspection; machine vision and quality control. Join the scien- Dual Buffer ‘‘Ping-Pong’’ Capture. tists and engineers in medical, industrial, and research environ- Multi-Buffer FIFO Capture for Video to Disk. ments who rely upon EPIX® imaging solutions. Image Sequence Capture. Triggered Image Capture. Image display on S/VGA. for PIXCI® Imaging Boards Flexible Video Formats - Capture stan- Image Access - Read and write frame Easy Programming - All basic features are dard monochrome RS-170 and CCIR for- buffers with efficient block read and write. available via Simple C Functions (SCF); mats, composite color NTSC and PAL for- Read and write pixels sequentially within easy to use subroutines don’t require fami- mats, color S-Video formats, as well as area of interest, without concern for AOI liarity with ‘‘C’’ structures, pointers, etc. other nonstandard video formats.4 boundaries or line interlacing. Direct An example source program demonstrates access to image memory with ‘‘C’’ pointer. use of SCF subroutines. Additionally, an Flexible Video Modes - Set the number of For color cameras, access pixels as grey extended ‘‘structured’’ and ‘‘object pixels per line, subsampling of pixels in levels, RGB, or HSB (Hue, Saturation, oriented’’ interface provides complete con- the line, lines per field, and subsampling Brightness), regardless of the camera’s or trol of video formats, resolutions, features 5 of lines within the field. Capture inter- PIXCI® imaging board’s native color and options. laced video as a single interlaced image; space. Pixels may also be accessed in as two images, one per field; or as a sin- the board’s native color space (YCrCb for High Level Services - Image frame buffer gle image of the odd or even field. Sup- the PIXCI® SV2, SV3, SV4, SV5, SV5A, access provides pixel data, interlaced if ports video rate control of capture into SV5B), or the camera’s native color space appropriate, in correct ‘‘optical order’’, and frame buffers. (such as raw Bayer data for Bayer output independent of the camera’s internal scan- Tradeoff capture resolution against color cameras). ning or multi-channel configuration. number of frame buffers. With 4 Mbyte image memory, for example, resolution of Camera & Device Control - Sense gen- All XCLIB video services support ‘‘no- 512x240 at 8 bits per pixel yields 34 frame eral purpose input signals, control general wait’’ and ‘‘check for completion’’ modes. buffers, 752x480 yields 11 frame buffers, purpose output signals.6 Obtain elapsed During frame capture the host computer is and 2048x1020 yields 2 frame buffers. field/frame count. not busy transferring pixel data nor waiting for the next vertical blanking interval, but Capture sequences of images at video can proceed with concurrent processing. Extended Features - Built-in functions rate, or sub-video rate. Capture images in provide easy import and export of images response to external trigger. in TIF and BMP file formats, and exporting Sequence Capture - Capture sequences in PCX and TGA formats. of images at video rate, or sub-video rate, Dual Buffer ’Ping-Pong’ Capture - Cap- to the extent of available host computer Under Windows: Built-in services provide ture at video rate into alternate buffers, memory. Under Windows 95 or 98, a spe- display of captured or modified images on allowing analysis of one buffer while cap- cial ‘‘Memory Reservoir’’ feature allows the S/VGA, in all or part of, one or more turing into the other. reserving 100+ MBytes of host computer windows. memory for image frame buffers. Under Windows NT, 2000, XP, Vista, or 7 a spe- cial ‘‘Forceful Allocation’’ technique allows pxd_PIXCIopen("", "NTSC", ""); // Use standard NTSC, or reserving almost all computer memory (up //pxd_PIXCIopen("", "CCIR", ""); // .. CCIR, or to 4 GByte on 32 bit machines) for image //pxd_PIXCIopen("", "", "VIDEO.FMT"); // .. customized format? frame buffers, excepting the 64 to 512+ pxd_doSnap(0x1, 1, 0); // and wait for result MBytes required by Windows and BIOS. // Access monochromatic data unsigned char buf[1024]; // size >= # pixels per AOI line unsigned long c = 0; Multi-Buffer FIFO Capture for Video to int i, j, y; for (y = 0;; y++) { Disk - Capture at video rate into a circular i = pxd_readuchar(0x1, 1, 0, y, -1, y+1, buf, sizeof(buf), "Grey"); queue of buffers, allowing image analysis if (i <= 0) // read next line of image break; // until there are no more or disk I/O to lag behind video capture. for (j = 0; j < i; j++) // scan and .. if (buf[j] < 64) // .. test and count pixels c++; // .. with value less than 64 Direct Live Video - For the PIXCI® SV2, } SV3, SV4, SV5, SV5A, SV5B: With a // Access one line of RGB data suitable S/VGA card and Windows pxd_readuchar(0x1, 1, 0, 0, -1, 1, buf, sizeof(buf), "RGB"); printf("Pixel at (0,20) is %d/%d/%d\n", buf[20+0], buf[20+1], buf[20+2]; DirectDraw support, built-in services allow // Access one line of Red component of RGB data displaying live video with overlays, i = pxd_readuchar(0x1, 1, 0, 0, -1, 1, buf, sizeof(buf), "RofRGB"); transferring pixel data directly to the for (j = 0, c = 0; j < i; j++) 7 c += buf[j]; S/VGA in all or part of a window, without printf("Red component average is %f\n", (double)count/i); the programmer using the DirectDraw Frame buffer access examples API/SDK. for PIXCI® Imaging Boards XCLIB TOPICS AND FUNCTIONS Get SV1310 Pixel Clock Frequency ‡. Installation, Configuration, and Usage — Compile Time. Get Imaging Board’s Frame Buffer Size ‡. Get SV1310 Readout Direction ‡. Introduction. Get Imaging Board’s Model ‡. Get SV1310 Frame Period ‡. Library Installation. Get Imaging Board’s Submodel ‡. Set SV1310 Video And Trigger Modes ‡. Compiling. Get Imaging Board Unit Count ‡. Set SV1310 Controlled Frame Rate ‡. Stack. Load Image: BMP Format‡. Get SV1310 Video Mode ‡. Heap. Get SV1310 Controlled Video Mode ‡. Memory Allocation Hooks. Load Image: TIFF Format‡. Get SV1310 Controlled Trigger Mode ‡. Compile Time Inclusions. Save Image: BMP Format‡. Get SV1310 Controlled Frame Rate ‡. Common Types and Concepts. Save Image: PCX Format‡. Get SV1310 Controlled Exposure ‡. Types. Save Image: TARGA Format‡. Set SV1281 Exposure, Gain, and Offset ‡. Modifiers. Save Image: TIFF Format‡. Get SV1281 Exposure ‡. Call Back Types. Load Frame Buffers ‡. Get SV1281 Gain ‡. Usage Assumptions. Get SV1281 Offset ‡. On Frame Buffers and Memory. Save Frame Buffers ‡. Set SV1281 Resolution and Timing‡. On the Semantics of Snap. Errors: Translate Error Code to String ‡. Get SV1281 Aoi Top Edge ‡. On Imaging Boards with Multiple Functional Units. Errors: Check & Report Faults ‡. Get SV1281 Aoi Left Edge ‡. On Multiple Imaging Boards. (R) PIXCI Imaging Board: Open and Set Video Format Configuration ‡. Get SV1281 Pixel Clock Frequency ‡. On Multiple Identical Imaging Boards. (R) PIXCI Imaging Board: Close ‡. Set SV1281 Video And Trigger Modes ‡. On Serial Ports. Read Pixel Values as Unsigned Char ‡. Set SV1281 Controlled Frame Rate ‡. On Video Format Configuration.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    5 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us