USER'S MANUAL

PIXCI® E1, E1DB, E4, E4DB, EL1, EL1DB
Revision 1.1

07 July 2009

For use with:
PIXCI® E1 or E1DB R1.0, E4 or E4DB R0, EL1 or EL1DB R0 or 1.0



Copyright © 2009 EPIX, Inc.
No part of this document may be reproduced, transmitted, photocopied, or translated into another language without the written consent of EPIX, Inc. Information in this document is subject to change without obligation or notice. EPIX, Inc. makes no warranty of any kind with regard to this document, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. EPIX, Inc. assumes no responsibility for any errors that may appear in this document. EPIX, Inc. reserves the right to make changes to the specifications of hardware and software at any time, without obligation or notice.

4MIP, SVIP, XCIP, XCAP, 4MEG VIDEO, 1MEG VIDEO, SILICON VIDEO MUX, QUICK SET VIDEO, 12-7MUX, IMAGE MEMORY EXPANSION, COC40, and COC402 are trademarks of EPIX, Inc.

EPIX, SILICON VIDEO, and PIXCI are registered trademarks of EPIX, Inc.

Other brand, product, and company names are trademarks or registered trademarks of their respective owners.

Printing: 30-Oct-2009

Table of Contents


 

 

 

1. Installation

Thank you for purchasing imaging products from EPIX, Inc. We are available via the Internet, FAX, and telephone to help with installation or to answer questions about the use of our products for your application.

The PIXCI® E1, E4, EL1, E1DB, E4DB, or EL1DB imaging boards, for the PCI Express bus, are packed in a static dissipative bag. Please keep the bag and box in which the board was shipped should the need arise to return the board. Prior to opening the bag, place the bag near the PC into which the board will be installed.

We recommend installing XCAP prior to installing the PIXCI imaging board. Please refer to the Software Installation chapter for the XCAP installation directions, then follow the board installation instructions below.

  1. Turn off the power and remove the cover from the PC into which the PIXCI imaging board is to be installed.

  2. Select a vacant PCI Express slot and remove the metal bracket and screw covering the back panel slot with which it is aligned. Consult the reference manual for the PC if there is any doubt about which slot to use.

  3. Use of a static free area and a wrist strap connected to the PC or to the static free area is suggested during installation. Walking can generate static electricity. Keep your feet stationary while removing the PIXCI imaging board from the anti-static bag. Hold the bag and the PC at the same time, or place the bag on the PC chassis and hold the chassis to dissipate the static charge that may have been created while transporting the board to the PC.

  4. Remove the PIXCI imaging board from the anti-static bag and insert it into a PCI Express bus connector. The PIXCI imaging board can be inserted into any PCI Express slot. Do not use too much force as the board may not be inserted into the connector correctly, and the result can be damage to the connector and the board. Consult the reference manual for the PC if there is any doubt about which slot is a PCI Express bus slot.

  5. Replace the screw to secure the PIXCI imaging board in the slot.

  6. Remove the power from all equipment to be connected.

  7. Connect the cable(s) between the PIXCI imaging board, camera, and power supply. The lower connector is for base camera link camera connections and should be connected to the base connector on the camera. The middle connector is for medium or full camera link cameras and should be connected to the medium or full camera connector. On dual base versions of the board, this connector can be used to connect to the base connector of a second camera.

  8. Power up the camera(s), computer, and monitor(s).

  9. Operate XCAP by following the instructions in the Software Installation and Getting Started chapters in this manual.

  10. Check for display of video on the computer display by clicking on the Capture and then the Snap menu in the View window or by using the shortcut menu.

  11. Note that for line scan cameras, either an external vertical drive signal or the ''Internal'' vertical drive selection must be used.

  12. If there is no video displayed, check for the presence of vertical drive by clicking on ''PIXCI,'' and ''PIXCI Status.'' The number reported for the ''Vertical Sync Count'' should be increasing if vertical drive is being received from the camera. If it is not increasing, check the connections and power to the camera. Check to be sure the camera is not in a trigger mode waiting for a trigger. If these suggestions fail, refer to the ''In Case of Trouble'' chapter in this manual.

The size and the number of images that can be stored in memory on the motherboard is a function of the amount of memory that is not needed by the operating system. XCAP requests 16 MB of memory for image buffers by default. If more memory is required for image sequences, the ''Driver Assistant'' in the ''PIXCI Open/Close'' menu should be used to set the reserved memory size. Some operating systems may require up to 256 megabytes to operate efficiently. Do not reserve all available memory for image sequences.

 

1.1. Computer

The PIXCI imaging board(s) can capture and store full resolution images to DRAM on a PCI Express motherboard. The PIXCI imaging boards have been tested at sustained data rates of 204 megabytes per second, and burst rates of 250 megabytes per second for an x1 slot and x1 board. The PIXCI E4 and E4DB boards have been tested at sustained data rates of 700 megabytes per second, and burst rates of 1000 megabytes per second for an x4 slot and x4 board. Wider PCI Express slots may be used for the PIXCI boards, but note that some x16 slots (915 chip set) will only operate in x1 or x16 capability, resulting in slower data rates. Each PCI Expess slot on a motherboard may exhibit different performance characteristics. If the motherboard manuafacturer doesn't indicate the slot which supports the highest bandwdith, try all slots.

EPIX is an Intel approved, value added reseller and can assemble computer based imaging systems including camera(s), RAID video to disk systems, power supplies, monitors, and cables that have been tested to specific sustained data rates prior to shipment.

For fast display updates, EPIX recommends motherboards with a PCI Express based display system.


 

 

 

2. Connectors

The PIXCI E1, E4, EL1, E1DB, E4DB, and EL1DB imaging boards have two 26 pin Camera Link connectors and a 6 pin Lemo connector which are accessible thru the bracket that mounts the board to the computer chassis.

 

2.1. 26 Pin 3M MDR Connector P1

The 26 pin MDR connector P1 is a Camera Link Base configuration data and control connector as described in the Camera Link specification. P1 is the lower connector on the computer mounting bracket and should be used when connecting to a camera with a single camera link connector to a board that is configured for medium or full capabilities (E1, E4, and EL1). On a dual base configured board, P1 and P2 provide identical capabilities.

Signal Pin
Name Number

Inner Shield 13

Inner Shield 26

X0- 25

X0+ 12

X1- 24

X1+ 11

X2- 23

X2+ 10

XCLK- 22

XCLK+ 9

X3- 21

X3+ 8

SerTC+ 20

SerTC- 7

SerTFG- 19

SerTFG+ 6

CC1- 18

CC1+ 5

CC2- 4

CC2+ 17

CC3- 16

CC3+ 3

CC4- 2

CC4+ 15

Inner Shield 1

Inner Shield 14

 

2.2. 26 Pin 3M MDR Connector P2

The 26 pin MDR connector P2 is the middle connector on the computer mounting bracket and is a Camera Link Medium and Full configuration data connector as described in the Camera Link specification. On the E1DB, E4DB, and EL1DB connector P2 is changed to support a base camera connection and has the same connections as P2 when so configured.

Signal Pin
Name Number

Inner Shield 13

Inner Shield 26

Y0- 25

Y0+ 12

Y1- 24

Y1+ 11

Y2- 23

Y2+ 10

YCLK- 22

YCLK+ 9

Y3- 21

Y3+ 8

TERM+ 20

TERM- 7

Z0- 19

Z0+ 6

Z1- 18

Z1+ 5

Z2- 17

Z2+ 4

ZCLK- 16

ZCLK+ 3

Z3- 15

Z3+ 2

Inner Shield 1

Inner Shield 14

 

2.3. Lemo Connector P3 Signal List

A 6 position LEMO EGG.0B.306.CLL connector, P3, which is mounted at the top of the PCI bracket, has some of the same signals as P4 for connecting trigger inputs and outputs.

Pin 1 is ground.

Pin 2 is +5 volts thru a 0.75 ampere thermally controlled regulator.

Pin 3, TRGM, is a negative LVDS differential trigger input, also connects to pin 3 of P4.

Pin 4, TRGP, is a positive LVDS differential trigger input, also connects to pin 4 of P4.

Pin 5, TRG0M, negative trigger output, also connects to pin 7 of P4.

Pin 6, TRGOP, positive trigger output, also connects to pin 8 of P4.

The TRGOP and TRGOM output signals are copies of the Trigger In+ and Trigger In- signals for daisy chaining the trigger input from board to board.

 

2.4. 10 Pin Header P4 Signal List

Signal IN/ Pin Pin IN/ Signal
Name OUT Number Number OUT Name

Ground 1 2 +5 VDC (0.75 Amp max)

TRGM I 3 4 I TRGP

NFEN I 5 6 I PFEN

TRGOM O 7 8 O TRGOP

NIO I/O 9 10 I/O PIO

P4 is for signals external or internal to the computer case. External signals can be connected with a cable to the 9 pin D-Subminiature connector thru a second slot with a bracket to mount the D-Subminiature connector. A differential to TTL Module and 2 meter cable are available for connecting TTL trigger, vertical drive, and trigger out signals to the PIXCI board. The trigger inputs and outputs are also available on the round Lemo connector, P3. The connections for the TTL Module are available on www.epixinc.com products page.

P4 is located in the top left of the PIXCI board with pin 1 in the upper left position and pin 2 in the upper right position. It is between Lemo connector P3 and Header P5.

Pin 1 is ground.

Pin 2 is +5 volts thru a 0.75 ampere resettable thermal fuse.

Pin 3, TRGM, is a negative differential trigger input.

Pin 4, TRGP, is a positive differential trigger input.

Pin 5, NFEN, is the negative differential frame enable input for line scan applications.

Pin 6, PFEN, is the positive differential frame enable input for line scan applications.

Pin 7, TRGOM, is a negative differential trigger output.

Pin 8, TRGOP, is a positive differential trigger output. The PSTR and NSTR signals are driven from the camera control state machine. The strobe signal is delayed by two state machine clocks from the exposure signal.

Pin 9, NIO, is a negative differential board-to-board signal which can be configured as an output, input, or both.

Pin 10, PIO, is a positive differential board to board signal which can be configured as an output, input, or both. The intended use for NIO and PIO is for board to board wiring of the exposure signal when multiple cameras must have the same exposure signal. One board is configured as a master (driver), the other boards as slaves (receivers).

 

2.5. 10 Pin Header P5 Signal List

Header P5 is located at the top center of the board between P4 and P6. It is used as the trigger input for a second camera when the PIXCI board is configured for dual base operation. P5 has a similar pinout as P4, but the signals are dedicated to the second base camera connected to P2. When the PIXCI board is configured for dual base operation a label with E1DB, E4DB, or ELDB followed by the board serial number will be placed on the front side of the board.

 

2.6. 10 Pin Header P6 Signal List

Header P6 is located at the top center of the board between P5 and P7.

Signal IN/ Pin Pin IN/ Signal
Name OUT Number Number OUT Name

Ground 1 2 +12 VDC (fused at 0.75 A)

Out 1 Out 3 4 Ground

Out 2 Out 5 6 Ground

In 1 In 7 8 Ground

In 2 In 9 10 Ground

Pin 1 of P6 is in the upper left position.

Pin 1 is ground.

Pin 2 is +5 volts thru a 0.75 ampere thermally limited regulator. Pin 2 is in the upper right position.

Pin 3, OUT1, is a general purpose TTL output. It is not buffered and should be used only to drive other devices internal to the enclosure.

Pin 4 is ground.

Pin 5, OUT2, is a general purpose TTL output. It is not buffered and should be used only to drive other devices internal to the enclosure.

Pin 6 is ground.

Pin 7, IN1, is a general purpose TTL input. It is not buffered and should be used only to receive signals from other devices internal to the enclosure. IN1 is pulled up to 3.3 volts.

Pin 8 is ground.

Pin 9, IN2, is a general purpose TTL input. It is not buffered and should be used only to receive signals from other devices internal to the enclosure. IN2 is pulled up to 3.3 volts.

Pin 10 is ground.

 

2.7. 10 Pin Header P7

Header P7 is located at the top right of the board to the right of P6. P7 is reserved for configuration of the FPGA.

 

2.8. 20 Pin Header HDR3

HDR3 is located in the middle and slightly to the right of center of the board. HDR3 is used for expansion to 8 TTL outputs and 8 TTL inputs. A FX6A-20P-0.8SV1 connector is optionally installed at HDR3.


 

 

 

3. Software Installation

XCAP-Plus, XCAP-Std, XCAP-Ltd, and XCAP-Lite are easy to install by following the instructions below.

While XCAP is easy to install, like most manufacturers of computer software, we recommend the precaution of performing a hard disk backup before installing XCAP.

 

3.1. For Windows 2000

  1. Install Files:

    1. If XCAP is provided on a compact disk (CD):

      1. If your computer is set to allow automatic execution of loaded CDs, the CD's interactive index program will be executed automatically. Otherwise, execute the index program, from a command prompt, or via the Windows ''Start'', ''Run'':
            > Z:SETUP       (replace Z with drive letter for your CD)
        

      2. Select ''Setup PIXCI(R) Imaging Software'' and ''XCAP Imaging Application''. Click ''OK''.

      3. Follow the installation program's directions, such as to select an installation directory. The default installation directory is C:\XCAP or C:\Program Files\EPIX\XCAP.

    2. If XCAP is provided via the internet:

      1. Download:
        ftp.epixinc.com/software/xcap_v37/XCAPWIN32.EXE (for 32 bit Windows)
        
        from the EPIX, Inc. ftp site.

      2. Execute the downloaded program, from a command prompt, or via the Windows ''Start'', ''Run'':
        > XCAPWIN32.EXE     (for 32 bit Windows)
        > XCAPWIN64.EXE     (for 64 bit Windows)
        

      3. Follow the installation program's directions, such as to select an installation directory. The default installation directory is C:\XCAP or C:\Program Files\EPIX\XCAP.

      4. Delete the downloaded .EXE file from your computer's hard drive.

    3. The installation procedure creates a new program group, containing XCAP and several .TXT files. The *.TXT files contain these installation instructions, a list of distributed files, corrections or additions to this manual, or other up-to-date information. The PCITIPS.TXT file provides the PC Configuration Tips, with tips for resolving hardware and software conflicts.

  2. Create Shortcut - Drag & Drop (optional):

    1. From the program group created by the installation program, click and drag the icon for XCAP over to the desktop and drop.

  3. Create Shortcut - Manual (optional):

    1. Right click on the Desktop.[1]

    2. Select ''New''.

    3. Select ''Shortcut''.

    4. Set:
          Command Line:   InstallDir \ XCAPWXX
          Name:           XCAP
      
      replacing ''InstallDir'' with the name of the installation directory chosen above. Select ''OK''.

  4. Install Authorization Key (for XCAP-Plus, XCAP-Std, and XCAP-Ltd):

    1. XCAP-Plus, XCAP-Std, and XCAP-Ltd, but not XCAP-Lite, are provided with either a printer port authorization key or a USB authorization key.

      The printer port authorization key is approximately the size and shape of a printer cable's connector (5.5×4.5×1.6 cm), but having 25-pin connectors at both ends and no cable attached. If provided, connect the authorization key to any printer port. If a printer cable was attached to the printer port, reconnect the printer cable to the back of the authorization key. The authorization key will not affect normal printer operation.

      Do not connect the printer port authorization key to a 25-pin serial (RS-232) port, or to any other interface that happens to use the same style connector; the authorization key will not function, might be permanently damaged, and the warranty will be void!

      The USB port authorization key is approximately the size of a small finger (6.0×1.6×0.8 cm), having a USB standard 4-pin connector at one end. If provided, connect the authorization key to a USB port. Operating system support for USB devices is required; XCAP does not add USB support to the operating system.

      The authorization key must remain attached, to the printer port or USB port as appropriate, while XCAP is running. If the authorization key is missing, or disconnected while XCAP is running, then XCAP-Plus, XCAP-Std or XCAP-Ltd, will behave similar to the XCAP-Lite version; selected image processing and analysis tools will not be operational.

    2. Run the authorization key utility program provided with XCAP by ''Start'', ''Run'':
          > C:\XCAP\HARDLOCK\HLDINST -install
      

    3. Or, in command prompt mode, switch to the chosen installation directory:
          > CHDIR C:\XCAP\HARDLOCK
      
      and execute:
           HLDINST  -install
      
      to run the authorization key utility program.

  5. Install PIXCI® Imaging Board Driver:

    1. Under Windows 2000, the Windows' Device Manager must be used for initial installation of the PIXCI® driver.

      If the PIXCI® imaging board was not previously installed, the first time Windows starts after installation of the PIXCI® imaging board, Windows will notice the new device and inquire.

      The first time Windows 2000 starts after installation of the PIXCI® imaging board, a pop-up window with the message "Multimedia Video Controller" will flash. A window stating ''Welcome to the Found New Hardware Wizard'' appears; click ''Next'', select ''Search for the best driver for your device'', click ''Next'', check box ''Specify a location'', enter path Drivers\Win2K within the chosen installation directory, typically C:\XCAP or C:\Program Files\EPIX\XCAP, and click ''Next''. A window reports that a driver was found, namely ...\Drivers\Win2K\EPIXXCW2.INF; click ''Next''. A window reports that Microsoft's ''Digital Signature was not found''; click ''Yes''. A window states ''Completing the Found New Hardware Wizard'' and ''This device is not configured correctly. (Code 1)'' (this error indicates that the newly installed driver will be functional only after a reboot); click ''Finish'' and restart Windows.

      If the PIXCI® imaging board was already installed, and ''Cancel'' was clicked when Windows started and announced the presence of a new ''Multimedia Video Controller'', then instruct Windows to load the appropriate driver. Click ''Start'', ''Settings'', ''Control Panel'', ''System'' (if ''System'' is not listed, click on ''View all Control Panel options''), ''Device Manager'', and under ''Other Devices'' or ''Imaging Devices'' double-click ''PCI MultiMedia Video Device'' or ''PIXCI(R) Video Capture Board''. Click ''Properties'', ''Driver'', ''Change Driver'' or ''Update Driver''. A window stating ''Welcome'' appears; click ''Next''. A window stating ''This wizard searches for updated drivers for: PCI MultiMedia Video Device'' or ''This wizard searches for updated drivers for: PIXCI(R) Video Capture Board'' appears; select ''Search for a suitable driver for my device (recommended)'', click ''Next'', select ''Specify a Location'', enter path Drivers\Win2K within the chosen installation directory, typically C:\XCAP or C:\Program Files\EPIX\XCAP, and click ''Next'', ''Next''. A window reports that Microsoft's: ''Digital Signature was not found''; click ''Yes''. A window reports ''This device is not configured correctly. (Code 1)'' (this error indicates that the newly installed driver will be functional only after a reboot); click ''Finish'' and restart Windows.

  6. Configure Graphics Display (S/VGA):

    1. A ''High Color (16 bit or 65536 Color)'', ''True Color (24 bit or 16777216 Color)'', or ''True Color (32 bit)'' setting for the graphics display (S/VGA) is required for proper display of images and overlay graphics. The ''True Color (24 bit or 16777216 Color)'' or ''True Color (32 bit)'' is suggested for higher quality, and quicker, display of images and overlay graphics. This may be checked and/or modified via Windows ''Start'', ''Settings'', ''Control Panel'', ''Display'', ''Settings''.

    2. Under ''Start'', ''Settings'', ''Control Panel'', ''Display'', ''Effects'', the ''Show window contents while dragging'' must be disabled.

  7. Reboot Windows.

  8. XCAP is now ready to run, by clicking the optional shortcut, or by clicking ''Start'', ''Programs'', ''XCAP Imaging'', and finally ''XCAP for Windows''.

 

3.2. Windows 2000 Esoterica

3.2.1. Windows 2000 - Manual Installation

Use of EPIXXCW2.INF (or EPIXXCNT.INF for version 2.0 and earlier), above, provides automatic installation of EPIXXCW2.SYS (or EPIXXCNT.SYS for version 2.0 and earlier) in most circumstances. The following information allows manual installation, correcting problems, or integration with an OEM's procedures.

  1. The EPIXXCW2.SYS (or EPIXXCNT.SYS for version 2.0 and earlier) must be copied to the Windows SYSTEM32\DRIVERS directory, typically:
        C:\WINNT\SYSTEM32\DRIVERS
    

  2. Using the Registry Editor (REGEDIT) provided with Windows, create an entry such as:
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EPIXXCW2  (version 2.1+)
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EPIXXCNT  (version 2.0-)
    
    This entry must contain:
        ErrorControl  =  0x00000001
        Group         =  "Extended base"
        Start         =  0x00000001
        Type          =  0x00000001
    
    and may, as described below, also contain:
        PIXCI         =  "-IM <memorysize>"
    
    Create an entry such as:
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System\EPIXXCW2  (version 2.1+)
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System\EPIXXCNT  (version 2.0-)
    
    This entry must contain:
        EventMessageFile = "%SystemRoot%\System32\IoLogMsg.dll"
        TypesSupported   = 0x00000007
    

  3. Shut down and restart Windows.

Under Windows 2000, the Windows NT driver EPIXXCWT.SYS can be, and was previously, used instead of EPIXXCW2.SYS. In contrast to EPIXXCWT.SYS, the EPIXXCW2.SYS is Plug & Play compatible.

3.2.2. Windows 2000 - Frame Buffer Memory Allocation

Under Windows 2000 frame buffer memory must be allocated during Windows' initialization.

The requested frame buffer memory size must be specified in the Registry entry described above, using an entry named ''PIXCI'', such as:

    PIXCI         =  "-IM <memorysize>"
replacing the ''<memorysize>'' with the desired memory size in kBytes. If no frame buffer memory size is specified, a default size of 32768 kBytes is used. Windows must be rebooted for the new specification to take effect.

Optionally,

    "-MB <memory_partition_size>"
specifies that the requested
    "-IM <memorysize>"
is to be allocated in blocks or partitions of the stated size. Requesting memory partitioned into blocks may allow receiving more memory that would be available as a single block. However, (a) Each frame buffer must be completely contained within a partition, and (b) The maximum number of partitions is 256 under 32 bit operating systems. Systems with very high resolution cameras using large frame buffers should choose the partition size carefully, so as to minimize the unusable memory remaining, smaller than a frame buffer, at the end of each partition.

For the PIXCI® CL3SD, which has on-board frame buffer memory, memory reserved by the -IM parameter is needed only for support of time stamping of captured frames, and only if the -MU parameter (see PIXCI® Driver Esoterica) specifies use of frame buffer memory for that purpose. Currently, 64 bytes are needed for each frame buffer's capture status.

Windows 2000 limits the maximum amount of allocatable frame buffer memory, dependent upon what other devices are installed, the total computer memory size, and other factors. Under Windows 2000, the maximum amount of memory that can be allocated by this method is typically limited to 64 or 92 MByte.

Windows may provide less frame buffer memory than was requested. If no memory could be allocated, the PIXCI® imaging board will not be available, stating ''Can't allocate frame buffer memory''. Otherwise, within XCAP, the number of available frame buffers can be checked under PIXCI®, PIXCI® Video Setup, Resolution. As the frame buffer memory is allocated once during Windows initialization; the contents of frame buffers are retained as XCAP is closed and restarted, but lost if Windows is restarted.

3.2.3. Windows 2000 - Forceful Frame Buffer Memory Allocation

As described above, frame buffer memory allocated by EPIXXCW2.SYS for Windows 2000, during Windows startup may be limited to a small percentage of the computer memory size; typically 64 to 96 MByte.

A larger frame buffer memory can be obtained by limiting the amount of memory recognized by Windows and then instructing EPIXXCW2.SYS for Windows 2000 to explicitly use a section of memory without allocating it from Windows 2000:

  1. Edit C:\BOOT.INI, restricting Windows 2000 to use no more than a set amount of memory: by copying an existing configuration line, adding /MAXMEM=XX (where XX is the memory size in MByte) and changing the prompt name. For example, changing:
        [operating systems]
        multi(0)disk(0)rdisk(0)partition(7)\WINNT="Windows 2000"
    
    to:
        [operating systems]
        multi(0)disk(0)rdisk(0)partition(7)\WINNT="Windows 2000 [NT=64M PIXCI=256M]"  /MAXMEM=64
        multi(0)disk(0)rdisk(0)partition(7)\WINNT="Windows 2000"
    
    Do not copy this new line as shown above; the first portion of the line must be copied from an existing configuration line in your C:\BOOT.INI file. The text between quotes appears as a boot selection prompt, use of ''[NT=64M PIXCI=256M]'' is a suggested reminder, but not required.

    Also in C:\BOOT.INI, change the timeout selection to be greater than 0:

        [boot loader]
        timeout=30
    
    Otherwise the BOOT.INI configuration options will not be shown when Windows starts.

    Keeping the original configuration line, as a boot selection option, is highly recommended as a backup.

    Under Windows XP, the BOOTCFG command, provided with Windows, can be used to change the BOOT.INI file instead of manual editing.

  2. Edit the registry entry:
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EPIXXCW2
    
    On the ''PIXCI'' field add:
        -IA <image_memory_adrs_in_kByte>
        -IM <size_of_image_memory_in_kByte>
        -MB <image_memory_partition_size_in_kByte>
        -BH <size_of_BIOS_hole_below_4GB_in_kByte>
    
    In practice, all four fields are on the same line.

    The -MB partition size specifies the size into which image memory is partitioned for the sake of virtual memory management: (a) Each frame buffer must be completely contained within a partition, (b) A value of 0 specifies that the entire image memory is to be handled as one partition, and (c) The maximum number of partitions is 256 under 32 bit operating systems. For most systems, a value of 8192 or 16384 is suggested; though the value need not be a power of two. Systems with very high resolution cameras using large frame buffers should choose the partition size carefully, so as to minimize the unusable memory remaining, smaller than a frame buffer, at the end of each partition.

    When using more than 1 or 2 GBytes of image memory, it may be necessary to append:

        -MU 0x01
    
    to the ''PIXCI'' field, conserving system memory mapping resources by not mapping the image memory directly into the application program's space. It may also be necessary to append:
        -MU 0x03
    
    which additionally conserves system resources by mapping memory only on demand.

    Be careful that the -IA address is equal to (or above) the specified /MAXMEM limit - including exact base2 to base10 conversions! (i.e. for /MAXMEM=64, the smallest valid value of -IA is 65536, not 64000!). Likewise, be certain that the -IA plus -IM values do not exceed the amount of memory available!

    On a computer populated with 4 or more GBytes of memory, some of the memory directly below the 4 GByte address overlaps other hardware resources such as BIOS, memory mapped I/O, PCI configuration space, etc.[2] and is unavailable to either the operating system or for use as frame buffers. The usable frame buffer memory is therefore reduced by the amount by which the -IA address up to the -IA address plus -IM size overlap the 4 GByte address minus -BH size up to the 4 GByte address. The -BH size may be set to 0 (or not specified) if the computer has significantly less than 4 GBytes of memory.

  3. Reboot, using the newly added boot selection.

For example, for a computer with 1 GByte of memory, allocating 256 MByte for Windows and the remainder for frame buffer memory, use:

    /MAXMEM=256
in C:\BOOT.INI, and use:
    PIXCI = -IA 262144 -IM 786432 -MB 8192
in the registry entry. Note that 262144 is 256×1024, and 786432 is (1024-256)×1024.

Note that if this memory allocation method is used, program access to image data may be slower. Thus, the video display rate (and image processing) may be slower, but the video capture rate (such as sequence capture) is not adversely affected. This method of memory allocation is primarily used for video rate acquisition of long sequences, followed by off-line analysis or saving of the sequence.

3.2.4. Windows 2000 - Authorization Key - Manual Installation

Use of HLDINST.EXE, as described above, provides automatic installation of the printer port authorization key's driver, needed under Windows 2000 for XCAP-Plus, XCAP-Std, and XCAP-Ltd (but not needed for XCAP-Lite). The following information allows manual installation, correcting problems, or integration with an OEM's procedures for the printer port version of authorization keys.

  1. The file HARDLOCK.SYS must be copied to the Windows SYSTEM32\DRIVERS directory, typically:
        C:\WINNT\SYSTEM32\DRIVERS
    

  2. Using the Registry Editor (REGEDIT) provided with Windows, create an entry such as:
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HardLock
    
    This key must contain values:
        ErrorControl  =  0x00000001
        Group         =  "Extended Base"
        Start         =  0x00000002
        Type          =  0x00000001
    
    or, if using REGEDT32, the values should appear as:
        ErrorControl:REG_DWORD:0x1
        Group:REG_SZ:ExtendedBase
        Start:REG_DWORD:0x2
        Type:REG_DWORD:0x1
    

  3. Shut down and restart Windows for the new registry entries to take effect.

  4. If the authorization key is connected to a non-standard printer port, an additional entry may be required:
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HardLock\Parameters
    
    which contains a value:
        IoPortAddress0  = 0x????            (for REGEDIT)
        IoPortAddress0:REG_DWORD:0x????     (for REGEDT32)
    
    where the ''????'' is replaced with the parallel port's I/O address in hexadecimal. As before, Windows must be shut down and restarted.

 

3.3. For Windows XP, XP(x64)

  1. Install Files:
      .so ../softinst/insw48fi.man

  2. Create Shortcut - Drag & Drop (optional):

    1. From the program group created by the installation program, click and drag the icon for XCAP over to the desktop and drop.

  3. Create Shortcut - Manual (optional):

    1. Right click on the Desktop.[3]

    2. Select ''New''.

    3. Select ''Shortcut''.

    4. Set:
          Command Line:   InstallDir \ XCAPWXX
          Name:           XCAP
      
      replacing ''InstallDir'' with the name of the installation directory chosen above. Select ''OK''.

  4. Install Authorization Key (for XCAP-Plus, XCAP-Std, and XCAP-Ltd):

    1. XCAP-Plus, XCAP-Std, and XCAP-Ltd, but not XCAP-Lite, are provided with either a printer port authorization key or a USB authorization key.

      The printer port authorization key is approximately the size and shape of a printer cable's connector (5.5×4.5×1.6 cm), but having 25-pin connectors at both ends and no cable attached. If provided, connect the authorization key to any printer port. If a printer cable was attached to the printer port, reconnect the printer cable to the back of the authorization key. The authorization key will not affect normal printer operation.

      Do not connect the printer port authorization key to a 25-pin serial (RS-232) port, or to any other interface that happens to use the same style connector; the authorization key will not function, might be permanently damaged, and the warranty will be void!

      The USB port authorization key is approximately the size of a small finger (6.0×1.6×0.8 cm), having a USB standard 4-pin connector at one end. If provided, connect the authorization key to a USB port. Operating system support for USB devices is required; XCAP does not add USB support to the operating system.

      The authorization key must remain attached, to the printer port or USB port as appropriate, while XCAP is running. If the authorization key is missing, or disconnected while XCAP is running, then XCAP-Plus, XCAP-Std or XCAP-Ltd, will behave similar to the XCAP-Lite version; selected image processing and analysis tools will not be operational.

    2. Run the authorization key utility program provided with XCAP by ''Start'', ''Run'':
          > C:\XCAP\HARDLOCK\HLDINST -install
      

    3. Or, in command prompt mode, switch to the chosen installation directory:
          > CHDIR C:\XCAP\HARDLOCK
      
      and execute:
           HLDINST  -install
      
      to run the authorization key utility program.

  5. Install PIXCI® Imaging Board Driver:

    1. Under Windows XP or XP(x64), the Windows' Device Manager must be used for initial installation of the PIXCI® driver.

      If the PIXCI® imaging board was not previously installed, the first time Windows starts after installation of the PIXCI® imaging board, Windows will notice the new device and inquire.

      The first time Windows XP or XP(x64) starts after installation of the PIXCI® imaging board, a pop-up window with the message ''Multimedia Video Controller'' will flash. A window stating ''Welcome to the Found New Hardware Wizard'' appears; select ''Install from a list or a specific location. (Advanced)'', click ''Next'', select ''Search for the best driver in these locations'', uncheck box ''Search removable storage media'', check box ''Include this location in the search'', enter path Drivers\WinXP for Windows XP, or Drivers\WinXP64 for Windows XP(x64), within the chosen installation directory typically C:\XCAP or C:\Program Files\EPIX\XCAP, and click ''Next''. A window reports that a driver was found, namely ...\Drivers\WinXP\EPIXXCW2.INF, Or ...\Drivers\WinXP64\EPIXXCW6.INF for Windows XP(x64), click ''Next''. A window states ''The software that you are installing for ... has not passed compatibility testing''; click ''Continue Anyway''. A window states ''Completing the Found New Hardware Wizard'' and ''The hardware you installed will not work until you restart your computer''; click ''Finish'' and restart Windows.

      If the PIXCI® imaging board was already installed, and ''Cancel'' was clicked when Windows started and announced the presence of a new ''Multimedia Video Controller'', then instruct Windows to load the appropriate driver. Click ''Start'', ''Control Panel'', ''Performance and Maintenance'', ''System'', ''Hardware'', ''Device Manager'', and under ''Other Devices'' or ''Imaging Devices'' double-click ''PCI MultiMedia Video Device'' or ''PIXCI(R) Video Capture Board'' (the latter appears if a PIXCI® imaging board driver was previously installed). Click ''Properties'', ''Driver'', ''Change Driver'' or ''Update Driver''. A ''Welcome'' window appears; select ''Install from a list or a specific location. (Advanced)'', click ''Next'', select ''Search for the best driver in these locations'', uncheck ''Search removable storage media'', check ''Include this location in the search'', enter path Drivers\WinXP for Windows XP, or Drivers\WinXP64 for Windows XP(x64), within the chosen installation directory typically C:\XCAP or C:\Program Files\EPIX\XCAP, and click ''Next'', ''Next''. A window reports ''The software that you are installing for ... has not passed compatibility testing''; click ''Continue Anyway''. A window reports ''The hardware you installed will not work until you restart your computer''; click ''Finish'' and restart Windows.

  6. Configure Graphics Display (S/VGA):

    1. A ''High Color (16 bit or 65536 Color)'', ''True Color (24 bit or 16777216 Color)'', or ''True Color (32 bit)'' setting for the graphics display (S/VGA) is required for proper display of images and overlay graphics. The ''True Color (24 bit or 16777216 Color)'' or ''True Color (32 bit)'' is suggested for higher quality, and quicker, display of images and overlay graphics. This may be checked and/or modified via Windows ''Start'', ''Settings'', ''Control Panel'', ''Display'', ''Settings''.

    2. Under ''Start Button'', ''Setting'', ''Control Panel'', ''Display'', ''Appearance'', ''Effects'', the ''Use the following transition effect for menus and toolbars:'', ''Show shadows under menus'', and ''Show window contents while dragging'' should all be disabled for maximum video performance.

  7. Reboot Windows.

  8. XCAP is now ready to run, by clicking the optional shortcut, or by clicking ''Start'', ''Programs'', ''XCAP Imaging'', and finally ''XCAP for Windows''.

 

3.4. Windows XP, XP(x64) Esoterica

3.4.1. Windows XP, XP(x64) - Manual Installation

Use of EPIXXCW2.INF or EPIXXCW6.INF, above, provides automatic installation of EPIXXCW2.SYS or EPIXXCW6.SYS in most circumstances. The following information allows manual installation, correcting problems, or integration with an OEM's procedures.

  1. The EPIXXCW2.SYS for Windows XP or EPIXXCW6.SYS for Windows XP(x64) must be copied to the Windows SYSTEM32\DRIVERS directory, typically:
        C:\WINDOWS\SYSTEM32\DRIVERS
    

  2. Using the Registry Editor (REGEDIT) provided with Windows, create an entry such as:
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EPIXXCW2
    
    for Windows XP or
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EPIXXCW6
    
    for Windows XP(x64). This entry must contain:
        ErrorControl  =  0x00000001
        Group         =  "Extended base"
        Start         =  0x00000001
        Type          =  0x00000001
    
    and may, as described below, also contain:
        PIXCI         =  "-IM <memorysize>"
    
    Create an entry such as:
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System\EPIXXCW2
    
    for Windows XP or
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System\EPIXXCW6
    
    for Windows XP(x64). This entry must contain:
        EventMessageFile = "%SystemRoot%\System32\IoLogMsg.dll"
        TypesSupported   = 0x00000007
    

  3. Shut down and restart Windows.

3.4.2. Windows XP, XP(x64) - Frame Buffer Memory Allocation

Under Windows XP or XP(x64), frame buffer memory must be allocated during Windows' initialization.

The requested frame buffer memory size must be specified in the Registry entry described above, using an entry named ''PIXCI'', such as:

    PIXCI         =  "-IM <memorysize>"
replacing the ''<memorysize>'' with the desired memory size in kBytes. If no frame buffer memory size is specified, a default size of 32768 kBytes is used. Windows must be rebooted for the new specification to take effect.

Optionally,

    "-MB <memory_partition_size>"
specifies that the requested
    "-IM <memorysize>"
is to be allocated in blocks or partitions of the stated size. Requesting memory partitioned into blocks may allow receiving more memory that would be available as a single block. However, (a) Each frame buffer must be completely contained within a partition, and (b) The maximum number of partitions is 256 under 32 bit operating systems, the maximum number of partitions is 256 under 64 bit operating systems. Systems with very high resolution cameras using large frame buffers should choose the partition size carefully, so as to minimize the unusable memory remaining, smaller than a frame buffer, at the end of each partition.

For the PIXCI® CL3SD, which has on-board frame buffer memory, memory reserved by the -IM parameter is needed only for support of time stamping of captured frames, and only if the -MU parameter (see PIXCI® Driver Esoterica) specifies use of frame buffer memory for that purpose. Currently, 64 bytes are needed for each frame buffer's capture status.

Windows XP or XP(x64), limits the maximum amount of allocatable frame buffer memory, dependent upon what other devices are installed, the total computer memory size, and other factors. Under Windows XP the maximum amount of memory that can be allocated by this method is typically limited to 512 MByte, but not more than half of the physical memory. Under Windows XP(x64), the typical amount of allocated memory has not yet been determined.

Windows may provide less frame buffer memory than was requested. If no memory could be allocated, the PIXCI® imaging board will not be available, stating ''Can't allocate frame buffer memory''. Otherwise, within XCAP, the number of available frame buffers can be checked under PIXCI®, PIXCI® Video Setup, Resolution. As the frame buffer memory is allocated once during Windows initialization; the contents of frame buffers are retained as XCAP is closed and restarted, but lost if Windows is restarted.

3.4.3. Windows XP, XP(x64) - Forceful Frame Buffer Memory Allocation

As described above, frame buffer memory allocated by EPIXXCW2.SYS for Windows XP, or EPIXXCW6.SYS for Windows XP(x64), during Windows startup may be limited to a small percentage of total computer memory. Under Windows XP, the amount of memory that Windows may grant during startup is typically limited to 512 MByte, but not more than half of the computer memory size. Under Windows XP(x64), the amount of memory that Windows may grant during startup is typically limited to the computer memory size minus 1 GByte, but not more than 27 Gbyte. Some computer and/or Windows configurations may have lower limits.

A larger frame buffer memory can be obtained by limiting the amount of memory recognized by Windows and then instructing EPIXXCW2.SYS for Windows XP, or EPIXXCW6.SYS for Windows XP(x64), to explicitly use a section of memory without allocating it from Windows XP or XP(x64):

  1. Edit C:\BOOT.INI, restricting Windows XP or XP(x64), to use no more than a set amount of memory: by copying an existing configuration line, adding /MAXMEM=XX (where XX is the memory size in MByte) and changing the prompt name. For example, changing:
        [operating systems]
        multi(0)disk(0)rdisk(0)partition(7)\WINNT="Windows XP"
    
    to:
        [operating systems]
        multi(0)disk(0)rdisk(0)partition(7)\WINNT="Windows XP [NT=64M PIXCI=256M]"  /MAXMEM=64
        multi(0)disk(0)rdisk(0)partition(7)\WINNT="Windows XP"
    
    Do not copy this new line as shown above; the first portion of the line must be copied from an existing configuration line in your C:\BOOT.INI file. The text between quotes appears as a boot selection prompt, use of ''[NT=64M PIXCI=256M]'' is a suggested reminder, but not required.

    Also in C:\BOOT.INI, change the timeout selection to be greater than 0:

        [boot loader]
        timeout=30
    
    Otherwise the BOOT.INI configuration options will not be shown when Windows starts.

    Keeping the original configuration line, as a boot selection option, is highly recommended as a backup.

    Under Windows XP, the BOOTCFG command, provided with Windows, can be used to change the BOOT.INI file instead of manual editing.

  2. Edit the registry entry:
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EPIXXCW2
    
    for Windows XP, or
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EPIXXCW6
    
    for Windows XP(x64). On the ''PIXCI'' field add:
        -IA <image_memory_adrs_in_kByte>
        -IM <size_of_image_memory_in_kByte>
        -MB <image_memory_partition_size_in_kByte>
        -BH <size_of_BIOS_hole_below_4GB_in_kByte>
    
    In practice, all four fields are on the same line.

    The -MB partition size specifies the size into which image memory is partitioned for the sake of virtual memory management: (a) Each frame buffer must be completely contained within a partition, (b) A value of 0 specifies that the entire image memory is to be handled as one partition, and (c) The maximum number of partitions is 256 under 32 bit operating systems, the maximum number of partitions is 256 under 64 bit operating systems. For most systems, a value of 8192 or 16384 is suggested; though the value need not be a power of two. Systems with very high resolution cameras using large frame buffers should choose the partition size carefully, so as to minimize the unusable memory remaining, smaller than a frame buffer, at the end of each partition.

    When using more than 1 or 2 GBytes of image memory, it may be necessary to append:

        -MU 0x01
    
    to the ''PIXCI'' field, conserving system memory mapping resources by not mapping the image memory directly into the application program's space. It may also be necessary to append:
        -MU 0x03
    
    which additionally conserves system resources by mapping memory only on demand.

    Be careful that the -IA address is equal to (or above) the specified /MAXMEM limit - including exact base2 to base10 conversions! (i.e. for /MAXMEM=64, the smallest valid value of -IA is 65536, not 64000!). Likewise, be certain that the -IA plus -IM values do not exceed the amount of memory available!

    On a computer populated with 4 or more GBytes of memory, some of the memory directly below the 4 GByte address overlaps other hardware resources such as BIOS, memory mapped I/O, PCI configuration space, etc.[4] and is unavailable to either the operating system or for use as frame buffers. The usable frame buffer memory is therefore reduced by the amount by which the -IA address up to the -IA address plus -IM size overlap the 4 GByte address minus -BH size up to the 4 GByte address. The -BH size may be set to 0 (or not specified) if the computer has significantly less than 4 GBytes of memory.

  3. Reboot, using the newly added boot selection.

For example, for a computer with 1 GByte of memory, allocating 256 MByte for Windows and the remainder for frame buffer memory, use:

    /MAXMEM=256
in C:\BOOT.INI, and use:
    PIXCI = -IA 262144 -IM 786432 -MB 8192
in the registry entry. Note that 262144 is 256×1024, and 786432 is (1024-256)×1024.

Note that if this memory allocation method is used, program access to image data may be slower. Thus, the video display rate (and image processing) may be slower, but the video capture rate (such as sequence capture) is not adversely affected. This method of memory allocation is primarily used for video rate acquisition of long sequences, followed by off-line analysis or saving of the sequence.

3.4.4. Windows XP, XP(x64) - Authorization Key - Manual Installation

Use of HLDINST.EXE, as described above, provides automatic installation of the printer port authorization key's driver, needed under Windows XP, or XP(x64), for XCAP-Plus, XCAP-Std, and XCAP-Ltd (but not needed for XCAP-Lite). The following information allows manual installation, correcting problems, or integration with an OEM's procedures for the printer port version of authorization keys.

  1. The file HARDLOCK.SYS must be copied to the Windows SYSTEM32\DRIVERS directory, typically:
        C:\WINDOWS\SYSTEM32\DRIVERS
    

  2. Using the Registry Editor (REGEDIT) provided with Windows, create an entry such as:
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HardLock
    
    This key must contain values:
        ErrorControl  =  0x00000001
        Group         =  "Extended Base"
        Start         =  0x00000002
        Type          =  0x00000001
    
    or, if using REGEDT32, the values should appear as:
        ErrorControl:REG_DWORD:0x1
        Group:REG_SZ:ExtendedBase
        Start:REG_DWORD:0x2
        Type:REG_DWORD:0x1
    

  3. Shut down and restart Windows for the new registry entries to take effect.

  4. If the authorization key is connected to a non-standard printer port, an additional entry may be required:
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HardLock\Parameters
    
    which contains a value:
        IoPortAddress0  = 0x????            (for REGEDIT)
        IoPortAddress0:REG_DWORD:0x????     (for REGEDT32)
    
    where the ''????'' is replaced with the parallel port's I/O address in hexadecimal. As before, Windows must be shut down and restarted.

 

3.5. For Windows Vista, Vista(x64)

  1. Install Files:

    1. If XCAP is provided on a compact disk (CD):

      1. If your computer is set to allow automatic execution of loaded CDs, the CD's interactive index program will be executed automatically. Otherwise, execute the index program, from a command prompt, or via the Windows ''Start'', ''Run'':
            > Z:SETUP       (replace Z with drive letter for your CD)
        

      2. Select ''Setup PIXCI(R) Imaging Software'' and ''XCAP Imaging Application''. Click ''OK''.

      3. Follow the installation program's directions, such as to select an installation directory. The default installation directory is C:\XCAP or C:\Program Files\EPIX\XCAP.

    2. If XCAP is provided via the internet:

      1. Download:
        ftp.epixinc.com/software/xcap_v37/XCAPWIN32.EXE (for 32 bit Windows)
        
        from the EPIX, Inc. ftp site.

      2. Execute the downloaded program, from a command prompt, or via the Windows ''Start'', ''Run'':
        > XCAPWIN32.EXE     (for 32 bit Windows)
        > XCAPWIN64.EXE     (for 64 bit Windows)
        

      3. Follow the installation program's directions, such as to select an installation directory. The default installation directory is C:\XCAP or C:\Program Files\EPIX\XCAP.

      4. Delete the downloaded .EXE file from your computer's hard drive.

    3. The installation procedure creates a new program group, containing XCAP and several .TXT files. The *.TXT files contain these installation instructions, a list of distributed files, corrections or additions to this manual, or other up-to-date information. The PCITIPS.TXT file provides the PC Configuration Tips, with tips for resolving hardware and software conflicts.

  2. Create Shortcut - Drag & Drop (optional):

    1. From the program group created by the installation program, click and drag the icon for XCAP over to the desktop and drop.

  3. Create Shortcut - Manual (optional):

    1. Right click on the Desktop.[5]

    2. Select ''New''.

    3. Select ''Shortcut''.

    4. Set:
          Command Line:   InstallDir \ XCAPWXX
          Name:           XCAP
      
      replacing ''InstallDir'' with the name of the installation directory chosen above. Select ''OK''.

  4. Install Authorization Key (for XCAP-Plus, XCAP-Std, and XCAP-Ltd):

    1. XCAP-Plus, XCAP-Std, and XCAP-Ltd, but not XCAP-Lite, are provided with either a printer port authorization key or a USB authorization key.

      The printer port authorization key is approximately the size and shape of a printer cable's connector (5.5×4.5×1.6 cm), but having 25-pin connectors at both ends and no cable attached. If provided, connect the authorization key to any printer port. If a printer cable was attached to the printer port, reconnect the printer cable to the back of the authorization key. The authorization key will not affect normal printer operation.

      Do not connect the printer port authorization key to a 25-pin serial (RS-232) port, or to any other interface that happens to use the same style connector; the authorization key will not function, might be permanently damaged, and the warranty will be void!

      The USB port authorization key is approximately the size of a small finger (6.0×1.6×0.8 cm), having a USB standard 4-pin connector at one end. If provided, connect the authorization key to a USB port. Operating system support for USB devices is required; XCAP does not add USB support to the operating system.

      The authorization key must remain attached, to the printer port or USB port as appropriate, while XCAP is running. If the authorization key is missing, or disconnected while XCAP is running, then XCAP-Plus, XCAP-Std or XCAP-Ltd, will behave similar to the XCAP-Lite version; selected image processing and analysis tools will not be operational.

    2. Run the authorization key utility program provided with XCAP by ''Start'', ''Run'':
          > C:\XCAP\HARDLOCK\HLDINST -install
      

    3. Or, in command prompt mode, switch to the chosen installation directory:
          > CHDIR C:\XCAP\HARDLOCK
      
      and execute:
           HLDINST  -install
      
      to run the authorization key utility program.

  5. Install PIXCI® Imaging Board Driver:

    1. Under Windows Vista or Vista(x64), the Windows' Device Manager must be used for initial installation of the PIXCI® driver, and your user account must have administrative privileges.

      If the PIXCI® imaging board was not previously installed, the first time Windows starts after installation of the PIXCI® imaging board, Windows will notice the new device and inquire.

      The first time Windows Vista or Vista(x64) starts after installation of the PIXCI® imaging board, a window titled ''Found New Hardware'' appears. Select ''Locate and install driver software (recommended)'', click ''Continue'', select ''I don't have the disk. Show me other options'', select ''Browse my computer for driver (advanced)'', enter path Drivers\WinVS for Windows Vista, or Drivers\WinVS64 for Windows Vista(x64), within the chosen installation directory typically C:\XCAP or C:\Program Files\EPIX\XCAP, and click ''Next''. A window asks ''Would you like to install this device software?''; click ''Install''. A window reports ''The software for this device has been successfully installed'' and ''The hardware you installed will not work until you restart your computer''; click ''Finish'' and restart Windows.

      If the PIXCI® imaging board was already installed, and ''Ask me again later'' or ''Don't show this message again for this device'' was clicked when Windows started and announced the presence of a new ''Multimedia Video Controller'', then instruct Windows to load the appropriate driver. Click ''Start'', ''Control Panel'', ''System and Maintenance''. Select ''Device Manager'' and under ''Other Devices'' or ''Imaging Devices'' double-click ''PCI MultiMedia Video Device'' or ''Coprocessor'' or ''PIXCI(R) Video Capture Board'' (the former two may appear if a PIXCI® driver was never installed, otherwise the latter appears). A ''Properties'' window appears; click ''Driver'' (tab), and ''Update Driver''. An ''Update Driver Software'' window appears; select ''Browse my computer for driver (advanced)'', enter path Drivers\WinVS for Windows Vista, or Drivers\WinVS64 for Windows Vista(x64), within the chosen installation directory typically C:\XCAP or C:\Program Files\EPIX\XCAP, and click ''Next''. A window asks ''Would you like to install this device software?''; click ''Install''. A window reports ''The software for this device has been successfully installed'' and ''The hardware you installed will not work until you restart your computer''; click ''Finish'' and restart Windows.

  6. Configure Graphics Display (S/VGA):

    1. A ''High Color (16 bit or 65536 Color)'', ''True Color (24 bit or 16777216 Color)'', or ''True Color (32 bit)'' setting for the graphics display (S/VGA) is required for proper display of images and overlay graphics. The ''True Color (24 bit or 16777216 Color)'' or ''True Color (32 bit)'' is suggested for higher quality, and quicker, display of images and overlay graphics. This may be checked and/or modified via Windows ''Start'', ''Control Panel'', ''Appearance and Personalization'', ''Personalization'', ''Display Settings''.

  7. Reboot Windows.

  8. XCAP is now ready to run, by clicking the optional shortcut, or by clicking ''Start'', ''Programs'', ''XCAP Imaging'', and finally ''XCAP for Windows''.

    The Driver Assistant feature within XCAP simplifies configuration of the PIXCI® imaging board's driver. Under Windows Vista and Vista(x64), such a feature must have administrator privileges. To run XCAP once with administrator privilege, right click on its shortcut or on the ''XCAP for Windows'' and select ''Run as administrator''. To always run XCAP with administrator privilege, right click on its shortcut or on the ''XCAP for Windows'' and select ''Properties'', ''Shortcut'', ''Run as administrator'', and ''OK''.

 

3.6. Windows Vista, Vista(x64) Esoterica

3.6.1. Windows Vista, Vista(x64) - Manual Installation

Use of EPIXXCW2.INF or EPIXXCW6.INF, above, provides automatic installation of EPIXXCW2.SYS or EPIXXCW6.SYS in most circumstances. The following information allows manual installation, correcting problems, or integration with an OEM's procedures.

  1. The EPIXXCW2.SYS for Windows Vista or EPIXXCW6.SYS for Windows Vista(x64) SYSTEM32\DRIVERS directory, typically:
        C:\WINDOWS\SYSTEM32\DRIVERS
    

  2. Using the Registry Editor (REGEDIT) provided with Windows, create an entry such as:
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EPIXXCW2
    
    for Windows Vista or
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EPIXXCW6
    
    for Windows Vista(x64). This entry must contain:
        ErrorControl  =  0x00000001
        Group         =  "Extended base"
        Start         =  0x00000001
        Type          =  0x00000001
    
    and may, as described below, also contain:
        PIXCI         =  "-IM <memorysize>"
    
    Create an entry such as:
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System\EPIXXCW2
    
    for Windows Vista or
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System\EPIXXCW6
    
    for Windows Vista(x64). This entry must contain:
        EventMessageFile = "%SystemRoot%\System32\IoLogMsg.dll"
        TypesSupported   = 0x00000007
    

  3. Shut down and restart Windows.

3.6.2. Windows Vista, Vista(x64) - Frame Buffer Memory Allocation

Under Windows Vista or Vista(x64), frame buffer memory must be allocated during Windows' initialization.

The requested frame buffer memory size must be specified in the Registry entry described above, using an entry named ''PIXCI'', such as:

    PIXCI         =  "-IM <memorysize>"
replacing the ''<memorysize>'' with the desired memory size in kBytes. If no frame buffer memory size is specified, a default size of 32768 kBytes is used. Windows must be rebooted for the new specification to take effect.

Optionally,

    "-MB <memory_partition_size>"
specifies that the requested
    "-IM <memorysize>"
is to be allocated in blocks or partitions of the stated size. Requesting memory partitioned into blocks may allow receiving more memory that would be available as a single block. However, (a) Each frame buffer must be completely contained within a partition, and (b) The maximum number of partitions is 256 under 32 bit operating systems, the maximum number of partitions is 256 under 64 bit operating systems. Systems with very high resolution cameras using large frame buffers should choose the partition size carefully, so as to minimize the unusable memory remaining, smaller than a frame buffer, at the end of each partition.

For the PIXCI® CL3SD, which has on-board frame buffer memory, memory reserved by the -IM parameter is needed only for support of time stamping of captured frames, and only if the -MU parameter (see PIXCI® Driver Esoterica) specifies use of frame buffer memory for that purpose. Currently, 64 bytes are needed for each frame buffer's capture status.

Windows Vista or Vista(x64) limits the maximum amount of allocatable frame buffer memory, dependent upon what other devices are installed, the total computer memory size, and other factors. Under Windows Vista, the amount of memory that Windows may grant during startup is typically limited to 1024 MByte, but not more than half of the computer memory size. Under Windows Vista(x64), the amount of memory that Windows may grant during startup is typically limited to the smaller of 6 GByte or one half of the computer memory size.

Windows may provide less frame buffer memory than was requested. If no memory could be allocated, the PIXCI® imaging board will not be available, stating ''Can't allocate frame buffer memory''. Otherwise, within XCAP, the number of available frame buffers can be checked under PIXCI®, PIXCI® Video Setup, Resolution. As the frame buffer memory is allocated once during Windows initialization; the contents of frame buffers are retained as XCAP is closed and restarted, but lost if Windows is restarted.

3.6.3. Windows Vista, Vista(x64) - Forceful Frame Buffer Memory Allocation

As described above, frame buffer memory allocated by EPIXXCW2.SYS for Windows Vista, or EPIXXCW6.SYS for Windows Vista(x64), during Windows startup may be limited to a small percentage of total computer memory. Under Windows Vista, the amount of memory that Windows may grant during startup is typically limited to 1024 MByte, but not more than half of the computer memory size. Under Windows Vista(x64), the amount of memory that Windows may grant during startup is typically limited to the smaller of 6 GByte or one half of the computer memory size. Some computer and/or Windows configurations may have lower limits.

A larger frame buffer memory can be obtained by limiting the amount of memory recognized by Windows, and then instructing EPIXXCW2.SYS for Windows Vista, or EPIXXCW6.SYS for Windows Vista(x64), to explicitly use a section of memory without allocating it from Windows Vista or Vista(x64):

  1. Use the Windows' BCDEDIT utility to create a copy of the ''{CURRENT}'' boot entry, set the new entry use limit memory usage via ''truncatememory'', and changing the new entry's description.

    Typical commands are:

        BCDEDIT  /enum
    
    to list current entries and obtain the current entry's description,
        BCDEDIT  /copy  {current}  /d  "CURRENT_ENTRY_DESCRIPTION [PIXCI=##M NT=##M"
    
    to create a new entry with modified description and boot prompt including a reminder of the amount of memory provided to Windows and to the PIXCI® imaging card,
        BCDEDIT /enum  /v
    
    to get the ID of the new entry, and:
        BCDEDIT /set <new_entry_id> truncatememory <memory_size>
    
    to limit the Windows memory size to <memory_size>, in bytes.

    Also using BCDEDIT change the timeout selection to be greater than 0:

        BCDEDIT /timeout 30
    
    Otherwise the boot configuration options will not be shown when Windows starts.

  2. Edit the registry entry:
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EPIXXCW2
    
    for Windows Vista, or
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EPIXXCW6
    
    for Windows Vista(x64). On the ''PIXCI'' field add:
        -IA <image_memory_adrs_in_kByte>
        -IM <size_of_image_memory_in_kByte>
        -MB <image_memory_partition_size_in_kByte>
        -BH <size_of_BIOS_hole_below_4GB_in_kByte>
    
    In practice, all four fields are on the same line.

    The -MB partition size specifies the size into which image memory is partitioned for the sake of virtual memory management: (a) Each frame buffer must be completely contained within a partition, (b) A value of 0 specifies that the entire image memory is to be handled as one partition, and (c) The maximum number of partitions is 256 under 32 bit operating systems, the maximum number of partitions is 256 under 64 bit operating systems. For most systems, a value of 8192 or 16384 is suggested; though the value need not be a power of two. Systems with very high resolution cameras using large frame buffers should choose the partition size carefully, so as to minimize the unusable memory remaining, smaller than a frame buffer, at the end of each partition.

    When using more than 1 or 2 GBytes of image memory, it may be necessary to append:

        -MU 0x01
    
    to the ''PIXCI'' field, conserving system memory mapping resources by not mapping the image memory directly into the application program's space. It may also be necessary to append:
        -MU 0x03
    
    which additionally conserves system resources by mapping memory only on demand.

    Be careful that the -IA address is equal to (or above) the specified ''truncatememory'' limit - including exact base2 to base10 conversions! Likewise, be certain that the -IA plus -IM values do not exceed the amount of memory available!

    On a computer populated with 4 or more GBytes of memory, some of the memory directly below the 4 GByte address overlaps other hardware resources such as BIOS, memory mapped I/O, PCI configuration space, etc.[6] and is unavailable to either the operating system or for use as frame buffers. The usable frame buffer memory is therefore reduced by the amount by which the -IA address up to the -IA address plus -IM size overlap the 4 GByte address minus -BH size up to the 4 GByte address. The -BH size may be set to 0 (or not specified) if the computer has significantly less than 4 GBytes of memory.

  3. Reboot, using the newly added boot selection.

For example, for a computer with 1 GByte of memory, allocating 256 MByte for Windows and the remainder for frame buffer memory, use:

    BCDEDIT /set NEW_ENTRY_ID truncatememory 268435456
and use:
    PIXCI = -IA 262144 -IM 786432 -MB 8192
in the registry entry. Note that 262144 is 256×1024, and 786432 is (1024-256)×1024.

Note that if this memory allocation method is used, program access to image data may be slower. Thus, the video display rate (and image processing) may be slower, but the video capture rate (such as sequence capture) is not adversely affected. This method of memory allocation is primarily used for video rate acquisition of long sequences, followed by off-line analysis or saving of the sequence.

3.6.4. Windows Vista, Vista(x64) - Authorization Key - Manual Installation

Use of HLDINST.EXE, as described above, provides automatic installation of the printer port authorization key's driver, needed under Windows Vista or Vista(x64) for XCAP-Plus, XCAP-Std, and XCAP-Ltd (but not needed for XCAP-Lite). The following information allows manual installation, correcting problems, or integration with an OEM's procedures for the printer port version of authorization keys.

  1. The file HARDLOCK.SYS must be copied to the Windows SYSTEM32\DRIVERS directory, typically:
        C:\WINNT\SYSTEM32\DRIVERS
    

  2. Using the Registry Editor (REGEDIT) provided with Windows, create an entry such as:
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HardLock
    
    This key must contain values:
        ErrorControl  =  0x00000001
        Group         =  "Extended Base"
        Start         =  0x00000002
        Type          =  0x00000001
    
    or, if using REGEDT32, the values should appear as:
        ErrorControl:REG_DWORD:0x1
        Group:REG_SZ:ExtendedBase
        Start:REG_DWORD:0x2
        Type:REG_DWORD:0x1
    

  3. Shut down and restart Windows for the new registry entries to take effect.

  4. If the authorization key is connected to a non-standard printer port, an additional entry may be required:
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HardLock\Parameters
    
    which contains a value:
        IoPortAddress0  = 0x????            (for REGEDIT)
        IoPortAddress0:REG_DWORD:0x????     (for REGEDT32)
    
    where the ''????'' is replaced with the parallel port's I/O address in hexadecimal. As before, Windows must be shut down and restarted.

 

3.7. For Windows 7, 7(x64)

  1. Install Files:

    1. If XCAP is provided on a compact disk (CD):

      1. If your computer is set to allow automatic execution of loaded CDs, the CD's interactive index program will be executed automatically. Otherwise, execute the index program, from a command prompt, or via the Windows ''Start'', ''Run'':
            > Z:SETUP       (replace Z with drive letter for your CD)
        

      2. Select ''Setup PIXCI(R) Imaging Software'' and ''XCAP Imaging Application''. Click ''OK''.

      3. Follow the installation program's directions, such as to select an installation directory. The default installation directory is C:\XCAP or C:\Program Files\EPIX\XCAP.

    2. If XCAP is provided via the internet:

      1. Download:
        ftp.epixinc.com/software/xcap_v37/XCAPWIN32.EXE (for 32 bit Windows)
        
        from the EPIX, Inc. ftp site.

      2. Execute the downloaded program, from a command prompt, or via the Windows ''Start'', ''Run'':
        > XCAPWIN32.EXE     (for 32 bit Windows)
        > XCAPWIN64.EXE     (for 64 bit Windows)
        

      3. Follow the installation program's directions, such as to select an installation directory. The default installation directory is C:\XCAP or C:\Program Files\EPIX\XCAP.

      4. Delete the downloaded .EXE file from your computer's hard drive.

    3. The installation procedure creates a new program group, containing XCAP and several .TXT files. The *.TXT files contain these installation instructions, a list of distributed files, corrections or additions to this manual, or other up-to-date information. The PCITIPS.TXT file provides the PC Configuration Tips, with tips for resolving hardware and software conflicts.

  2. Create Shortcut - Drag & Drop (optional):

    1. From the program group created by the installation program, click and drag the icon for XCAP over to the desktop and drop.

  3. Create Shortcut - Manual (optional):

    1. Right click on the Desktop.[7]

    2. Select ''New''.

    3. Select ''Shortcut''.

    4. Set:
          Command Line:   InstallDir \ XCAPWXX
          Name:           XCAP
      
      replacing ''InstallDir'' with the name of the installation directory chosen above. Select ''OK''.

  4. Install Authorization Key (for XCAP-Plus, XCAP-Std, and XCAP-Ltd):

    1. XCAP-Plus, XCAP-Std, and XCAP-Ltd, but not XCAP-Lite, are provided with either a printer port authorization key or a USB authorization key.

      The printer port authorization key is approximately the size and shape of a printer cable's connector (5.5×4.5×1.6 cm), but having 25-pin connectors at both ends and no cable attached. If provided, connect the authorization key to any printer port. If a printer cable was attached to the printer port, reconnect the printer cable to the back of the authorization key. The authorization key will not affect normal printer operation.

      Do not connect the printer port authorization key to a 25-pin serial (RS-232) port, or to any other interface that happens to use the same style connector; the authorization key will not function, might be permanently damaged, and the warranty will be void!

      The USB port authorization key is approximately the size of a small finger (6.0×1.6×0.8 cm), having a USB standard 4-pin connector at one end. If provided, connect the authorization key to a USB port. Operating system support for USB devices is required; XCAP does not add USB support to the operating system.

      The authorization key must remain attached, to the printer port or USB port as appropriate, while XCAP is running. If the authorization key is missing, or disconnected while XCAP is running, then XCAP-Plus, XCAP-Std or XCAP-Ltd, will behave similar to the XCAP-Lite version; selected image processing and analysis tools will not be operational.

    2. Run the authorization key utility program provided with XCAP by ''Start'', ''Run'':
          > C:\XCAP\HARDLOCK\HLDINST -install
      

    3. Or, in command prompt mode, switch to the chosen installation directory:
          > CHDIR C:\XCAP\HARDLOCK
      
      and execute:
           HLDINST  -install
      
      to run the authorization key utility program.

  5. Install PIXCI® Imaging Board Driver:

    1. Under Windows 7 or 7(x64), the Windows' Device Manager must be used for initial installation of the PIXCI® driver, and your user account must have administrative privileges.

      If the PIXCI® imaging board was not previously installed, the first time Windows starts after installation of the PIXCI® imaging board, Windows will notice the new device and inquire.

      The first time Windows 7 or 7(x64) starts after installation of the PIXCI® imaging board, a notification message will pop-up stating ''Device driver was not successfully installed'' appears. Close the notification.

      Open the Windows Device Manager by clicking ''Start'', ''Control Panel'', ''System & Security'', ''System'', and ''Device Manager''. In the Device Manager look for an entry with a yellow exclamation mark that is labeled ''Multimedia Controller'' or ''Coprocessor''. Double-click on the entry and then click the ''Update Driver...'' button. In the ''Update Driver Software'' window that pops-up, select ''Browse my computer for driver software''; in the ''Search for driver software in this location'' enter path Drivers\Win7 for Windows 7 32-bit, or Drivers\Win7x64 for Windows 7 64-bit, within the chosen installation directory typically C:\XCAP or C:\Program Files\EPIX\XCAP, and click ''Next''. A window asks ''Would you like to install this device software?''; click ''Install''. A window reports ''The software for this device has been successfully installed'' and ''The hardware you installed will not work until you restart your computer''; click ''Finish'' and restart Windows.

  6. Reboot Windows.

  7. XCAP is now ready to run, by clicking the optional shortcut, or by clicking ''Start'', ''Programs'', ''XCAP Imaging'', and finally ''XCAP for Windows''.

    The Driver Assistant feature within XCAP simplifies configuration of the PIXCI® imaging board's driver. Under Windows 7 and 7(x64), such a feature must have administrator privileges. To run XCAP once with administrator privilege, right click on its shortcut or on the ''XCAP for Windows'' and select ''Run as administrator''. To always run XCAP with administrator privilege, right click on its shortcut or on the ''XCAP for Windows'' and select ''Properties'', ''Shortcut'', ''Run as administrator'', and ''OK''.

 

3.8. Windows 7, 7(x64) Esoterica

3.8.1. Windows 7, 7(x64) - Manual Installation

Use of EPIXXCW2.INF or EPIXXCW6.INF, above, provides automatic installation of EPIXXCW2.SYS or EPIXXCW6.SYS in most circumstances. The following information allows manual installation, correcting problems, or integration with an OEM's procedures.

  1. The EPIXXCW2.SYS for Windows 7 or EPIXXCW6.SYS for Windows 7(x64) SYSTEM32\DRIVERS directory, typically:
        C:\WINDOWS\SYSTEM32\DRIVERS
    

  2. Using the Registry Editor (REGEDIT) provided with Windows, create an entry such as:
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EPIXXCW2
    
    for Windows 7 or
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EPIXXCW6
    
    for Windows 7(x64). This entry must contain:
        ErrorControl  =  0x00000001
        Group         =  "Extended base"
        Start         =  0x00000001
        Type          =  0x00000001
    
    and may, as described below, also contain:
        PIXCI         =  "-IM <memorysize>"
    
    Create an entry such as:
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System\EPIXXCW2
    
    for Windows 7 or
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System\EPIXXCW6
    
    for Windows 7(x64). This entry must contain:
        EventMessageFile = "%SystemRoot%\System32\IoLogMsg.dll"
        TypesSupported   = 0x00000007
    

  3. Shut down and restart Windows.

3.8.2. Windows 7, 7(x64) - Frame Buffer Memory Allocation

Under Windows 7 or 7(x64), frame buffer memory must be allocated during Windows' initialization.

The requested frame buffer memory size must be specified in the Registry entry described above, using an entry named ''PIXCI'', such as:

    PIXCI         =  "-IM <memorysize>"
replacing the ''<memorysize>'' with the desired memory size in kBytes. If no frame buffer memory size is specified, a default size of 32768 kBytes is used. Windows must be rebooted for the new specification to take effect.

Optionally,

    "-MB <memory_partition_size>"
specifies that the requested
    "-IM <memorysize>"
is to be allocated in blocks or partitions of the stated size. Requesting memory partitioned into blocks may allow receiving more memory that would be available as a single block. However, (a) Each frame buffer must be completely contained within a partition, and (b) The maximum number of partitions is 256 under 32 bit operating systems, the maximum number of partitions is 256 under 64 bit operating systems. Systems with very high resolution cameras using large frame buffers should choose the partition size carefully, so as to minimize the unusable memory remaining, smaller than a frame buffer, at the end of each partition.

For the PIXCI® CL3SD, which has on-board frame buffer memory, memory reserved by the -IM parameter is needed only for support of time stamping of captured frames, and only if the -MU parameter (see PIXCI® Driver Esoterica) specifies use of frame buffer memory for that purpose. Currently, 64 bytes are needed for each frame buffer's capture status.

Windows 7 or 7(x64) limits the maximum amount of allocatable frame buffer memory, dependent upon what other devices are installed, the total computer memory size, and other factors. Under Windows 7, the amount of memory that Windows may grant during startup is typically limited to 1024 MByte, but not more than half of the computer memory size. Under Windows 7(x64), the amount of memory that Windows may grant during startup has not yet been determined, but is probably similar the limit for Windows Vista(x64): the smaller of 6 GByte or one half of the computer meory size.

Windows may provide less frame buffer memory than was requested. If no memory could be allocated, the PIXCI® imaging board will not be available, stating ''Can't allocate frame buffer memory''. Otherwise, within XCAP, the number of available frame buffers can be checked under PIXCI®, PIXCI® Video Setup, Resolution. As the frame buffer memory is allocated once during Windows initialization; the contents of frame buffers are retained as XCAP is closed and restarted, but lost if Windows is restarted.

3.8.3. Windows 7, 7(x64) - Forceful Frame Buffer Memory Allocation

As described above, frame buffer memory allocated by EPIXXCW2.SYS for Windows 7, or EPIXXCW6.SYS for Windows 7(x64), during Windows startup may be limited to a small percentage of total computer memory. Under Windows 7, the amount of memory that Windows may grant during startup is typically limited to 1024 MByte, but not more than half of the computer memory size. Under Windows 7(x64), the amount of memory that Windows may grant during startup has not yet been determined, but is probably similar the limit for Windows Vista(x64): the smaller of 6 GByte or one half of the computer meory size. Some computer and/or Windows configurations may have lower limits.

A larger frame buffer memory can be obtained by limiting the amount of memory recognized by Windows, and then instructing EPIXXCW2.SYS for Windows 7, or EPIXXCW6.SYS for Windows 7(x64), to explicitly use a section of memory without allocating it from Windows 7 or 7(x64):

  1. Use the Windows' BCDEDIT utility to create a copy of the ''{CURRENT}'' boot entry, set the new entry use limit memory usage via ''truncatememory'', and changing the new entry's description.

    Typical commands are:

        BCDEDIT  /enum
    
    to list current entries and obtain the current entry's description,
        BCDEDIT  /copy  {current}  /d  "CURRENT_ENTRY_DESCRIPTION [PIXCI=##M NT=##M"
    
    to create a new entry with modified description and boot prompt including a reminder of the amount of memory provided to Windows and to the PIXCI® imaging card,
        BCDEDIT /enum  /v
    
    to get the ID of the new entry, and:
        BCDEDIT /set <new_entry_id> truncatememory <memory_size>
    
    to limit the Windows memory size to <memory_size>, in bytes.

    Also using BCDEDIT change the timeout selection to be greater than 0:

        BCDEDIT /timeout 30
    
    Otherwise the boot configuration options will not be shown when Windows starts.

  2. Edit the registry entry:
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EPIXXCW2
    
    for Windows 7, or
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EPIXXCW6
    
    for Windows 7(x64). On the ''PIXCI'' field add:
        -IA <image_memory_adrs_in_kByte>
        -IM <size_of_image_memory_in_kByte>
        -MB <image_memory_partition_size_in_kByte>
        -BH <size_of_BIOS_hole_below_4GB_in_kByte>
    
    In practice, all four fields are on the same line.

    The -MB partition size specifies the size into which image memory is partitioned for the sake of virtual memory management: (a) Each frame buffer must be completely contained within a partition, (b) A value of 0 specifies that the entire image memory is to be handled as one partition, and (c) The maximum number of partitions is 256 under 32 bit operating systems, the maximum number of partitions is 256 under 64 bit operating systems. For most systems, a value of 8192 or 16384 is suggested; though the value need not be a power of two. Systems with very high resolution cameras using large frame buffers should choose the partition size carefully, so as to minimize the unusable memory remaining, smaller than a frame buffer, at the end of each partition.

    When using more than 1 or 2 GBytes of image memory, it may be necessary to append:

        -MU 0x01
    
    to the ''PIXCI'' field, conserving system memory mapping resources by not mapping the image memory directly into the application program's space. It may also be necessary to append:
        -MU 0x03
    
    which additionally conserves system resources by mapping memory only on demand.

    Be careful that the -IA address is equal to (or above) the specified ''truncatememory'' limit - including exact base2 to base10 conversions! Likewise, be certain that the -IA plus -IM values do not exceed the amount of memory available!

    On a computer populated with 4 or more GBytes of memory, some of the memory directly below the 4 GByte address overlaps other hardware resources such as BIOS, memory mapped I/O, PCI configuration space, etc.[8] and is unavailable to either the operating system or for use as frame buffers. The usable frame buffer memory is therefore reduced by the amount by which the -IA address up to the -IA address plus -IM size overlap the 4 GByte address minus -BH size up to the 4 GByte address. The -BH size may be set to 0 (or not specified) if the computer has significantly less than 4 GBytes of memory.

  3. Reboot, using the newly added boot selection.

For example, for a computer with 1 GByte of memory, allocating 256 MByte for Windows and the remainder for frame buffer memory, use:

    BCDEDIT /set NEW_ENTRY_ID truncatememory 268435456
and use:
    PIXCI = -IA 262144 -IM 786432 -MB 8192
in the registry entry. Note that 262144 is 256×1024, and 786432 is (1024-256)×1024.

Note that if this memory allocation method is used, program access to image data may be slower. Thus, the video display rate (and image processing) may be slower, but the video capture rate (such as sequence capture) is not adversely affected. This method of memory allocation is primarily used for video rate acquisition of long sequences, followed by off-line analysis or saving of the sequence.

3.8.4. Windows 7, 7(x64) - Authorization Key - Manual Installation

Use of HLDINST.EXE, as described above, provides automatic installation of the printer port authorization key's driver, needed under Windows 7 or 7(x64) for XCAP-Plus, XCAP-Std, and XCAP-Ltd (but not needed for XCAP-Lite). The following information allows manual installation, correcting problems, or integration with an OEM's procedures for the printer port version of authorization keys.

  1. The file HARDLOCK.SYS must be copied to the Windows SYSTEM32\DRIVERS directory, typically:
        C:\WINNT\SYSTEM32\DRIVERS
    

  2. Using the Registry Editor (REGEDIT) provided with Windows, create an entry such as:
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HardLock
    
    This key must contain values:
        ErrorControl  =  0x00000001
        Group         =  "Extended Base"
        Start         =  0x00000002
        Type          =  0x00000001
    
    or, if using REGEDT32, the values should appear as:
        ErrorControl:REG_DWORD:0x1
        Group:REG_SZ:ExtendedBase
        Start:REG_DWORD:0x2
        Type:REG_DWORD:0x1
    

  3. Shut down and restart Windows for the new registry entries to take effect.

  4. If the authorization key is connected to a non-standard printer port, an additional entry may be required:
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HardLock\Parameters
    
    which contains a value:
        IoPortAddress0  = 0x????            (for REGEDIT)
        IoPortAddress0:REG_DWORD:0x????     (for REGEDT32)
    
    where the ''????'' is replaced with the parallel port's I/O address in hexadecimal. As before, Windows must be shut down and restarted.

 

3.9. For Linux

XCAP requires Linux Kernel Version 2.4.8 or later. You must have super user privileges to complete the installation procedure.

  1. Install Files:

    1. If XCAP is provided on a compact disk (CD):

      1. Assuming the CD has already been mounted, execute:
        /mnt/cdrom/XCAP/xcaplnx_i386.bin     (for 32 bit Linux)
        /mnt/cdrom/XCAP/xcaplnx_x86_64.bin   (for 64 bit Linux)
        
        Some systems mount the CD under /media instead of /mnt.

      2. Follow the installation program's directions, such as to select an installation directory. The default installation directory is /usr/local/xcap.

    2. If XCAP is provided via the internet:

      1. Download:
        ftp.epixinc.com/software/xcap_v37/xcaplnx_i386.bin    (for 32 bit Linux)
        ftp.epixinc.com/software/xcap_v37/xcaplnx_x86_64.bin  (for 64 bit Linux)
        
        from the EPIX, Inc. ftp site.

      2. Execute the downloaded program[9] from a shell prompt.

      3. Follow the installation program's directions, such as to select an installation directory. The default installation directory is /usr/local/xcap.

      4. Delete the downloaded .bin file from your computer's hard drive.

    3. The installation procedure creates a ''stub'' to start XCAP in one of the /usr/local/bin, /usr/bin, or /bin directories, which should already be in the user's execution ''PATH''. Several .txt files are installed under help in the installation directory containing these installation instructions, a list of distributed files, corrections or additions to this manual, or other up-to-date information. The pcitips.txt file provides the PC Configuration Tips, with tips for resolving hardware and software conflicts.

  2. Create Shortcut - Manual (optional):

    1. The procedure to create a ''launcher'' or ''shortcut'' on the desktop depends upon which of the many rapidly evolving versions and distributions of Linux is used, each with several choices for desktop managers. Consult your Linux documentation for specific procedures.

    2. The shortcut should execute xcaplnx in the XCAP installation directory, such as:
          /usr/local/xcap/xcaplnx
      
      assuming use of the default installation directory, and may use:
          /usr/local/xcap/program/xcap20.png
      
      as an icon.

    3. For shared, common XCAP settings and configuration, and shared default storage of images, scripts and other data,[10] the shortcut should set the current working directory to the XCAP installation directory.

      Alternately, XCAP will maintain individual settings and configuration, and individual default storage of images, scripts and other data, within the current working directory.

  3. Install Authorization Key (for XCAP-Plus, XCAP-Std, and XCAP-Ltd):

    1. XCAP-Plus, XCAP-Std, and XCAP-Ltd, but not XCAP-Lite, are provided with either a printer port authorization key or a USB authorization key.

      The printer port authorization key is approximately the size and shape of a printer cable's connector (5.5×4.5×1.6 cm), but having 25-pin connectors at both ends and no cable attached. If provided, connect the authorization key to any printer port. If a printer cable was attached to the printer port, reconnect the printer cable to the back of the authorization key. The authorization key will not affect normal printer operation.

      Do not connect the printer port authorization key to a 25-pin serial (RS-232) port, or to any other interface that happens to use the same style connector; the authorization key will not function, might be permanently damaged, and the warranty will be void!

      The USB port authorization key is approximately the size of a small finger (6.0×1.6×0.8 cm), having a USB standard 4-pin connector at one end. If provided, connect the authorization key to a USB port. Operating system support for USB devices is required; XCAP does not add USB support to the operating system.

      The authorization key must remain attached, to the printer port or USB port as appropriate, while XCAP is running. If the authorization key is missing, or disconnected while XCAP is running, then XCAP-Plus, XCAP-Std or XCAP-Ltd, will behave similar to the XCAP-Lite version; selected image processing and analysis tools will not be operational.

    2. The Driver Assistant within XCAP, provides interactive installation of the authorization key's driver(s).

  4. Install PIXCI® Imaging Board Driver:

    1. The Driver Assistant within XCAP, provides interactive installation of the PIXCI® driver.

  5. Configure Graphics Display (S/VGA):

    1. Configuring the graphics display (S/VGA) to TrueColor or DirectColor modes (using XWindows terminology), or to 24 or 32 bit modes (using S/VGA terminology) is suggested for higher quality, and quicker display of images and overlay graphics.

      Within XCAP, the current graphics display (S/VGA) configuration can be checked under Utility, Linux Info, X11.

  6. XCAP is now ready to run, by executing ''xcap'', or by clicking the optional shortcut.

 

3.10. Linux Esoterica

3.10.1. Linux 2.4.x - Manual Installation

Use of the Driver Assistant within XCAP provides interactive installation of the pixci_i386.o driver in most circumstances. The following information allows manual installation, correcting problems, or integration with an OEM's procedures.

  1. Run
        insmod -o pixci [ --force ] pixci_i386.o [ "PIXCIPARM=<driver_config_parameters>" ]
    
    using --force if trying to install the driver under a different kernel than it was intended, and using PIXCIPARM= to specify any optional Driver Configuration Parameters described below. For example,
        insmod -o pixci [ --force ] pixci_i386.o "PIXCIPARM=-IM 8192"
    

  2. Run
        cat /proc/devices
    
    and note the major device number which is assigned to the pixci block device. Run
        rm -f /dev/pixci
        mknod /dev/pixci c <major_device_number> 0
        chmod 666 /dev/pixci
    
    If embedding these commands into a shell script:
        rm -f /dev/pixci
        mknod /dev/pixci c $(awk "\\$2==\"PIXCI(R)\" {print \\$1}" /proc/devices) 0
        chmod 666 /dev/pixci
    
    The
        /dev/ttyPIXC0
        /dev/ttyPIXC1
        ...
    
    nodes for optional Linux tty style access to the serial ports of Camera Link compatible PIXCI® cards are not supported under 2.4 kernels

  3. For PIXCI® SV2, SV3, SV4, SV5, SV5A, and SV5B imaging boards, drivers other than those provided by EPIX, Inc. may have been installed during Linux's configuration. See http://will.freehosting.net/bttv-HOWTO.html, section 5.1 for information on removing the drivers. In brief, use
        lsmod
    
    for a list of currently installed modules and remove any named videodev, i2c, i2c-char, tuner, msp3400, bt878, or bttv by using rmmod.

3.10.2. Linux 2.6.x - Manual Installation

Use of the Driver Assistant within XCAP provides interactive installation of the pixci_i386.ko 32 bit driver or the pixci_x86_64.ko 64 bit driver in most circumstances. The following information allows manual installation, correcting problems, or integration with an OEM's procedures.

  1. Run
        insmod pixci_i386.ko [ "PIXCIPARM=<driver_config_parameters>" ]
    
    or
    insmod pixci_x86_64.ko [ "PIXCIPARM=<driver_config_parameters>" ]
    
    using PIXCIPARM= to specify any optional Driver Configuration Parameters described below. For example,
        insmod pixci_i386.ko "PIXCIPARM=-IM 8192 -DM 1"
    
    or
    insmod pixci_x86_64.ko "PIXCIPARM=-IM 8192 -DM 1"
    
    Some versions of insmod under 2.6 kernels do not accept quoted spaces in the Driver Configuration Parameters; an underscore (i.e. ''_'') may be used instead of each space. For example,
        insmod pixci_i386.ko PIXCIPARM=-IM_8192_-DM_1
    

  2. Run
        cat /proc/devices
    
    and note the major device number which is assigned to the pixci block device. Run
        rm -f /dev/pixci
        mknod /dev/pixci c <major_device_number> 0
        chmod 666 /dev/pixci
    
    If embedding these commands into a shell script:
        rm -f /dev/pixci
        mknod /dev/pixci c $(awk "\\$2==\"PIXCI(R)\" {print \\$1}" /proc/devices) 0
        chmod 666 /dev/pixci
    

  3. Optionally, for Linux ''tty'' style access to the serial ports of Camera Link compatible PIXCI® cards:
        insmod pixcitty_i386.ko
    
    the
        /dev/ttyPIXC0
        /dev/ttyPIXC1
        ...
    
    nodes for the first, second, etc. cards are created automatically. The
        pixcitty_i386.ko
    
    is is NOT needed for access to the Camera Link serial port via XCLIB's proprietary API, nor is it needed by XCAP.

  4. For PIXCI® SV2, SV3, SV4, SV5, SV5A, and SV5B imaging boards, drivers other than those provided by EPIX, Inc. may have been installed during Linux's configuration. See http://will.freehosting.net/bttv-HOWTO.html, section 5.1 for information on removing the drivers. In brief, use
        lsmod
    
    for a list of currently installed modules and remove any named videodev, i2c, i2c-char, tuner, msp3400, bt878, or bttv by using rmmod.

3.10.3. Linux 2.4.x, 2.6.x - Frame Buffer Memory Allocation

Under Linux, frame buffer memory must be allocated during the driver's installation.

The requested frame buffer memory size must be specified in the Driver Configuration Parameters, described above, using parameter

    "-IM <memorysize>"
replacing the ''<memorysize>'' with the desired memory size in kBytes. If no frame buffer memory size is specified, a default size of 4096 kBytes is used under 32 bit Linux. 32768 kBytes is used under 64 bit Linux.

Optionally,

    "-MB <memory_partition_size>"
specifies that the requested
    "-IM <memorysize>"
is to be allocated in blocks or partitions of the stated size. Requesting memory partitioned into blocks may allow receiving more memory that would be available as a single block. However, (a) Each frame buffer must be completely contained within a partition, and (b) The maximum number of partitions is 256 under 32 bit operating systems, the maximum number of partitions is 256 under 64 bit operating systems. Systems with very high resolution cameras using large frame buffers should choose the partition size carefully, so as to minimize the unusable memory remaining, smaller than a frame buffer, at the end of each partition.

For the PIXCI® CL3SD, which has on-board frame buffer memory, memory reserved by the -IM parameter is needed only for support of time stamping of captured frames, and only if the -MU parameter (see PIXCI® Driver Esoterica) specifies use of frame buffer memory for that purpose. Currently, 64 bytes are needed for each frame buffer's capture status.

Linux limits the maximum amount of allocatable frame buffer memory, dependent upon what other devices are installed, the computer's total memory size, and other factors. Installing the driver immediately after booting Linux improves the likelihood of being able to allocate large amounts of memory.

Linux may provide less frame buffer memory than was requested. If no memory could be allocated, the PIXCI® imaging board will not be available, stating ''Can't allocate frame buffer memory''. Otherwise, within XCAP, the number of available frame buffers can be checked under PIXCI®, PIXCI® Video Setup, Resolution. As the frame buffer memory is allocated once during the driver's initialization; the contents of frame buffers are retained as XCAP is closed and restarted, but lost if the driver is uninstalled or Linux is restarted.

3.10.4. Linux 2.4.x - Forceful Frame Buffer Memory Allocation

As described above, frame buffer memory allocated by pixci_i386.o during its installation may be limited to a small percentage of the computer's total memory.

A larger frame buffer memory can be obtained by limiting the amount of memory recognized by Linux, and then instructing pixci_i386.o to explicitly use a section of memory without allocating it from Linux:

  1. Edit /etc/lilo.conf, restricting Linux to use no more than a set amount of memory: by copying an existing configuration group, adding mem=XXM (where XX is the memory size in MByte) to the ''append'' line, and changing the prompt name. For example, changing:
        image=/boot/vmlinuz
            label=linux
            root=/dev/hda1
            append=" devfs=mount"
            read-only
    
    to
        image=/boot/vmlinuz
            label=linux+PIXCI
            root=/dev/hda1
            append=" devfs=mount mem=64M"
            read-only
    
    Add an ''append'' line, such as:
        append=" mem=64M"
    
    if not previously present. When booting, the modified ''label='' provides a reminder of the modified configuration being selected.

  2. Run
        lilo
    
    to compile and install the /etc/lilo.conf.

  3. Change the Driver Configuration Parameters. Add:
        -IA <image_memory_adrs_in_kByte>
        -IM <size_of_image_memory_in_kByte>
        -MB <image_memory_partition_size_in_kByte>
        -BH <size_of_BIOS_hole_below_4GB_in_kByte>
    
    In practice, all four fields are on the same line.

    The -MB partition size specifies the size into which image memory is partitioned for the sake of virtual memory management: (a) Each frame buffer must be completely contained within a partition, (b) A value of 0 specifies that the entire image memory is to be handled as one partition, and (c) The maximum number of partitions is 256 under 32 bit operating systems. For most systems, a value of 8192 or 16384 is suggested; though the value need not be a power of two. Systems with very high resolution cameras using large frame buffers should choose the partition size carefully, so as to minimize the unusable memory remaining, smaller than a frame buffer, at the end of each partition.

    Be careful that the -IA address is equal to (or above) the specified ''mem='' limit - including exact base2 to base10 conversions! (i.e. for mem=64M, the smallest valid value of -IA is 65536, not 64000!). Likewise, be certain that the -IA plus -IM values do not exceed the amount of memory available!

    On a computer populated with 4 or more GBytes of memory, some of the memory directly below the 4 GByte address overlaps other hardware resources such as BIOS, memory mapped I/O, PCI configuration space, etc.[11] and is unavailable to either the operating system or for use as frame buffers. The usable frame buffer memory is therefore reduced by the amount by which the -IA address up to the -IA address plus -IM size overlap the 4 GByte address minus -BH size up to the 4 GByte address. The -BH size may be set to 0 (or not specified) if the computer has significantly less than 4 GBytes of memory.

  4. Reboot, using the newly added configuration.

For example, for a computer with 1 GByte of memory, allocating 256 MByte for Linux and the remainder for frame buffer memory, use:

    mem=256M
in lilo.conf, and use:
    -IA 262144 -IM 786432 -MB 8192
in the Driver Configuration Parameters. Note that 262144 is 256×1024, and 786432 is (1024-256)×1024.

Some Linux 2.4.x systems may use grub.conf or menu.lst instead of lilo.conf for boot configuration; see Linux 2.6.x - Forceful Frame Buffer Memory Allocation for instructions regarding grub.conf or menu.lst.

3.10.5. Linux 2.6.x - Forceful Frame Buffer Memory Allocation

As described above, frame buffer memory allocated by pixci_i386.ko or pixci_x86_64.ko during its installation may be limited to a small percentage of the computer's total memory.

A larger frame buffer memory can be obtained by limiting the amount of memory recognized by Linux, and then instructing pixci_i386.ko or pixci_x86_64.ko to explicitly use a section of memory without allocating it from Linux:

  1. Edit /boot/grub/grub.conf (renamed to /boot/grub/menu.lst on some systems), restricting Linux to use no more than a set amount of memory: by copying an existing configuration group, adding mem=XXM (where XX is the memory size in MByte) to the ''kernel'' line, and changing the prompt name. For example, changing:
        title Fedora Core (2.6.5-1.358)
            root (hd0,0)
            kernel /vmlinuz-2.6.5-1.358 ro root=LABEL=/ rhgb quiet
            initrd /initrd-2.6.5-1.358.img
    
    to
        title Fedora Core (2.6.5-1.358) + PIXCI
            root (hd0,0)
            kernel /vmlinuz-2.6.5-1.358 ro root=LABEL=/ rhgb quiet mem=64M
            initrd /initrd-2.6.5-1.358.img
    
    When booting, the modified ''title'' provides a reminder of the modified configuration being selected.

  2. Change the Driver Configuration Parameters. Add:
        -IA <image_memory_adrs_in_kByte>
        -IM <size_of_image_memory_in_kByte>
        -MB <image_memory_partition_size_in_kByte>
        -BH <size_of_BIOS_hole_below_4GB_in_kByte>
    
    In practice, all four fields are on the same line.

    The -MB partition size specifies the size into which image memory is partitioned for the sake of virtual memory management: (a) Each frame buffer must be completely contained within a partition, (b) A value of 0 specifies that the entire image memory is to be handled as one partition, and (c) The maximum number of partitions is 256 under 32 bit operating systems, the maximum number of partitions is 256 under 64 bit operating systems. For most systems, a value of 8192 or 16384 is suggested; though the value need not be a power of two. Systems with very high resolution cameras using large frame buffers should choose the partition size carefully, so as to minimize the unusable memory remaining, smaller than a frame buffer, at the end of each partition.

    Be careful that the -IA address is equal to (or above) the specified ''mem='' limit - including exact base2 to base10 conversions! (i.e. for mem=64M, the smallest valid value of -IA is 65536, not 64000!). Likewise, be certain that the -IA plus -IM values do not exceed the amount of memory available!

    On a computer populated with 4 or more GBytes of memory, some of the memory directly below the 4 GByte address overlaps other hardware resources such as BIOS, memory mapped I/O, PCI configuration space, etc.[12] and is unavailable to either the operating system or for use as frame buffers. The usable frame buffer memory is therefore reduced by the amount by which the -IA address up to the -IA address plus -IM size overlap the 4 GByte address minus -BH size up to the 4 GByte address. The -BH size may be set to 0 (or not specified) if the computer has significantly less than 4 GBytes of memory.

  3. Reboot, using the newly added configuration.

For example, for a computer with 1 GByte of memory, allocating 256 MByte for Linux and the remainder for frame buffer memory, use:

    mem=256M
in grub.conf (or menu.lst), and use:
    -IA 262144 -IM 786432 -MB 8192
in the Driver Configuration Parameters. Note that 262144 is 256×1024, and 786432 is (1024-256)×1024.

Some Linux 2.6.x systems may use the older lilo.conf instead of grub.conf for boot configuration; see Linux 2.4.x - Forceful Frame Buffer Memory Allocation for instructions regarding lilo.conf.

3.10.6. Linux 2.4.x, 2.6.x - Authorization Key - Manual Installation

Use of the Driver Assistant within XCAP, provides interactive installation of the authorization key's driver(s). For manual installation, correcting problems, or integration with an OEM's procedures, installation instructions are provided in text file hardlock/INSTALL within the XCAP installation directory.

 

3.11. PIXCI® Driver Esoterica

The various Driver Configuration Parameters for all operating systems are summarized below. Included are options for use under DOS; while XCAP does not run under DOS, XCAP can be used as a support tool for programming the PIXCI® imaging board under DOS.

The Driver Configuration Parameter string may contain any of the following parameters, separated by spaces, in any order. Each parameter's flag is followed by a number, whose value is interpreted as hexadecimal if preceded by ''0x'' or ''0X'', octal if preceded by ''0o'' or ''0O'', binary if preceded by ''0b'' or ''0B'', and is otherwise interpreted as decimal.


-BH n
If ≠0, the amount of memory space, in kByte, directly below the 4 GByte address which overlaps other hardware resources such as BIOS, memory mapped I/O, PCI configuration space, etc. and is unavailable to either the operating system or for use as frame buffers.[13] The usable frame buffer memory is therefore reduced by the amount by which the -IA address up to the -IA address plus -IM size overlap the 4 GByte address minus -BH size up to the 4 GByte address. Only used with forceful image frame buffer allocation, under Windows NT, 2000, XP, XP(x64), Vista, Vista(x64), 7, 7(x64), Linux 32 Bit, and Linux 64 Bit. Default: 0.
-DM n
A bit map selecting which of the PIXCI® imaging boards present should be used. The i'th bit of the bit-map selects the .' .Ni i 'th i'th board found, sequentially, on the PCI bus. The relationship between bit i and the order of motherboard slots is motherboard, BIOS, and OS dependent and can not be specified or queried via XCAP.

For example, 0x01 selects the first board, 0x04 selects the third board, and 0b1001 selects the first and fourth board. For the PIXCI® E1DB, E4DB, and EL1DB imaging boards which contain multiple, independent functional units within a single physical board, each functional unit is handled as an independent imaging board except that the second half of the PIXCI® E1DB, E4DB, or EL1DB imaging board can not be opened without the first half also opened; 0b1101 selects the first half of the first physical PIXCI® E1DB, E4DB, or EL1DB imaging board and both halves of the second physical PIXCI® E1DB, E4DB, or EL1DB. Default: 1.

-IA n
If ≠0, the physical address of memory, in kByte, at which image frame buffers are assumed to start. Only used with forceful image frame buffer allocation, under Windows 95, 98, ME, NT, 2000, XP, XP(x64), Vista, Vista(x64), 7, 7(x64), Linux 32 Bit, and Linux 64 Bit. Default: 0.
-IM n
Requested size, in kByte, to be reserved for the entire image frame buffer memory. Default: 32768 kByte under Windows NT, 2000, XP, Vista, and 7, 32768 kByte under Windows XP(x64), Vista(x64), 7(x64) and Linux 64 Bit, 4096 kByte for others.

For the PIXCI® CL3SD which has on-board frame buffer memory, memory reserved by this parameter is needed only for support of recording frame buffer capture status, and only if the ''-MU'' parameter specifies use of frame buffer memory for recording frame buffer capture status. Currently, 64 bytes are needed for each frame buffer's capture status. Default: 4096 kByte.

-I2C n
Bit rate of the I2C or other two wire serial bus used within some PIXCI® imaging boards. Specifies an upper bound for the bit rate; actual bit rate is dependent on PC characteristics and is typically slower. Value of 0 selects predefined, board-dependent, default values.

Particularly useful for use with SILICON VIDEO® 2112(C), 1310(C), 1281(C), 9M001(C), 9T001C, 5M10, 5C10, 9C10, 642(C), and 643(C) cameras; these SILICON VIDEO® camera heads use a I2C or similar two wire serial bus to control camera head features.

Does not affect the serial baud rate of Camera Link compatible imaging boards.

Default: 0.

-LX n
If bit 0x20 is set, a high resolution kernel timer (''do_gettimeofday'') is used for time stamping video events instead of ''jiffies'' and ''HZ''; however, the high resolution timer incurs additional overhead. Only used with Linux 32 Bit and Linux 64 Bit.

If bit 0x80 is set, frame buffer memory below 4 GByte is requested; this allows use of 32 bit PCI cards on 64 bit systems with more than 4 GByte of memory. Option is quietly ignored for kernels that don't support the necessary feature(s).

Other bits to be described. Default: 0.

-MB n
If ≠0, the image frame buffer memory, of size specified by ''-IM'', is split into partitions of this size, in kByte. Depending on operating system and ''-IA'' parameters, this may imply that each partition is individually allocated, so that a larger, total amount of memory can be allocated. Or that the contiguous memory is treated as individual partitions for the sake of the operating system and processor's virtual memory management, which could not otherwise ''map'' the entire frame buffer memory at once. In either case, (a) A single frame buffer can't extend across partitions, (b) The partition size should be a multiple of the frame buffer size so as to maximize the number of buffers and minimize wasted space, and (c) A maximum of 256 partitions is supported under 32 bit operating systems, a maximum of 256 partitions is supported under 64 bit operating systems. Default: 0.
-MH n
If ≠0, the amount of lower memory, in kByte, to pass over before allocating the requested image frame buffer memory. This may be necessary for use with some graphics display (S/VGA) or network interface cards which, a) May be allocating memory later than the PIXCI® driver, and b) May require memory with lower addresses. Only used with non-forceful image frame buffer allocation, under Windows NT, 2000, XP, XP(x64), Vista, Vista(x64), 7, and 7(x64). Default: 0 kByte under Windows NT, 2000, XP, Vista, and 7; 512 kByte under Windows XP(x64), Vista(x64), and 7(x64).
-MO n
To be described. Default: 0.
-MU n
If bit 0x01 is not set, the frame buffer memory is not mapped directly into the application's address space. If bit 0x02 is set, the frame buffer memory is not permanently mapped into the driver's address space. These options minimize use of the operating systems memory management resources, but may increase overhead in accessing frame buffer memory. These options are typically required when using very large amounts of frame buffer memory (typically, more than 1 or 2 GByte under Windows NT, 2000, XP, Windows NT, 2000, XP, XP(x64), Vista, Vista(x64), 7, and 7(x64) or more than a few hundred MByte under Windows 95/98/ME), but are not currently supported for all Video Format Configurations.

If bit 0x04 is not set, the frame buffer memory is not cleared after allocation, minimizing delay, particularly when using several GBytes of frame buffer memory.

If bit 0x08 is not set, a portion of frame buffer memory is reserved for recording each frame buffer's capture status, such as time stamping the capture. If bit 0x08 is set, memory is allocated dynamically from the operating system for recording each frame buffer's capture status. The amount of space reserved, or the amount of space allocated, is proportional to the number of frame buffers. The dynamic memory allocation option is not available under Windows 95, 98, or ME.

Default: 0x01.

-PO n
If ≠0, the polling period, in µseconds, for driver features that are not driven by an interrupt. Ignored under Tenberry DOS4GW DOS extender. Default: 5000 µseconds.
-QP n
The XCAP normally installs a bimodal interrupt handler so that XCAP interrupts are handled in both real and protected modes. The Tenberry DOS4GW DOS extender included with Watcom C/C++ does not have all of the features (DPMI services) required by XCAP, the Tenberry DOS4GW Professional DOS extender must be used. Alternately, if ≠0, an assigned auxiliary interrupt number (not IRQ number!) within Tenberry's range of auto pass-up interrupts: 0x08 to 0x2E. Only used with the Tenberry DOS4GW DOS extender. Default: 0.
-QS n
If ≠0, allow sharing the imaging boards' assigned hardware interrupt with other devices. Ignored under Tenberry DOS4GW DOS extender and Linux. Default: 1.
-QU n
If ≠0, utilize the imaging boards' hardware interrupts. For PIXCI® A, CL1, CL2, CL3SD, D, D24, D32, D2X, D3X, E1, E1DB, E4, E4DB, EB1, EB1-PoCL, EC1, ECB1, ECB1-34, ECB2, EL1, EL1DB, SI, SI1, SI4, SV4, SV5, SV5A, and SV5B imaging boards, the interrupt may be disabled if the polling period (-PO) is small relative to a field's period. For PIXCI® SV2 and SV3, disabling the interrupt will adversely affect all capture modes other than snap. For PIXCI® D, D24, D32, the interrupt may be disabled only if the interrupt is not shared. For all PIXCI® imaging boards operated under Tenberry DOS4GW DOS extender, use of hardware interrupts is required. Disabling use of interrupts is intended primarily for diagnosing interrupt conflicts, and is not recommended. Default: 1.
-SM n
Total amount of memory, in kByte, on the computer system. This parameter and value is currently ignored by the PIXCI® driver, but used by XCAP's Driver Assistant in conjunction with -IM and -IA to note the ''context'' under which the -IM and -IA values were set.

Default: 0.

-XM n
If ≠0, reserve the proportionate share of image frame buffer memory for imaging boards not opened by the first application, for use with other imaging boards opened later. If 0, all image frame buffer memory is shared amongst the imaging boards opened by the first application. Affects PIXCI® imaging boards other than CL3SD, which has on-board frame buffer memory. Default: 1.
-SV5 n
Setting bit 0x02 enables compatibility with 430FX PCI controllers. Setting bit 0x04 enables compatibility with VIA/SIS PCI controllers. Only used with PIXCI® SV5. Default: 0.
-WT n
If bits 0x05 are set to 0x01 or to 0x05, alternate methods of Windows NT resource allocation are used, avoiding problems seen on some motherboards where the same resources are assigned to multiple imaging boards. Only used with Windows NT.

If bit 0x20 is set, a high resolution kernel timer is used for time stamping video events. Windows documentation states that use of this timer incurs additional overhead. Only used with Window NT, 2000, XP, XP(x64), Vista, Vista(x64), 7, and 7(x64).

If bit 0x80 is set, frame buffer memory below 4 GByte is requested; this allows use of 32 bit PCI cards on 64 bit systems with more than 4 GByte of memory.

Other bits to be described. Default: 0x20.

-XU n
If ≠0, allow other applications to share use of imaging boards previously opened for use by the first application. Not supported under Windows 95, 98, ME: Default: 0. Supported under Windows NT, 2000, XP, XP(x64), Vista, Vista(x64), 7, and 7(x64): Default: 1. Supported under Linux: Default: 0: Not supported under Tenberry DOS4GW DOS: Default: 0.

 

 

 

4. Getting Started with XCAP

This chapter will guide the user through the initial steps common to most applications using the PIXCI® imaging board: capturing, viewing, examining, and saving images. This guide is not intended to discuss every feature of every window in XCAP, only the most important features to ''get up and running''.

Following the previous instructions, at this point:

  1. The PIXCI® imaging board has been installed.

  2. The camera has been connected to the PIXCI® imaging board.

  3. The XCAP software has been installed.

  4. For XCAP-Plus, XCAP-Std, or XCAP-Ltd, but not XCAP-Lite, the authorization key has been installed on the printer port, or a USB port.

  5. Under Windows, the graphics display (S/VGA) has been set for 16 bits (minimum required), or 24 or 32 bits (preferred), per pixel. Under Linux, the graphics display has been set to DirectColor or TrueColor.

  6. The PIXCI® driver for current version of Windows or Linux has been installed.

  7. The PC has been rebooted (Ctrl+Alt+Del) so that the installed driver and the modified graphics display (S/VGA) settings (if any) have taken effect.

The following instructions are intended to be used while operating the PC; pictures of the graphics display (S/VGA) are intentionally not shown, in favor of focusing the reader's attention on the actual graphics display's (S/VGA) screen.

 

4.1. Start XCAP

Under Windows, start XCAP by clicking:

    Start (on the Windows Taskbar)
    XCAP Imaging
and then clicking:
    XCAP for Windows
Under Linux, start XCAP by executing:
    xcap

The XCAP Main Window now appears.

 

4.2. Open PIXCI® Imaging Board

In the XCAP Main Window, click:

    PIXCI®
    PIXCI® Open/Close
A pop-up window appears.

Clicking:

    Open
opens the PIXCI® imaging board for use, removes the Open/Close pop-up window, creates a PIXCI® Image Viewer window showing the first PIXCI® frame buffer, depending on imaging board model and camera used, creates an Adjust window with commonly used camera specific and video capture adjustments, and creates a Shortcuts Toolbar for accessing the most commonly needed features.

The following windows are now active:

  1. The Main Window, which has options for reconfiguring the PIXCI® imaging board, and features independent of the PIXCI® imaging board, such as loading images into image buffers unrelated to video capture hardware.

  2. The PIXCI® Image Viewer window, from which the PIXCI® frame buffers are captured, viewed, examined, processed, measured, and saved, with a status bar below the image where cursor coordinates and other information is displayed.

  3. The PIXCI® Shortcut Toolbar, with shortcuts for the most commonly needed features relating to the PIXCI® imaging board and its frame buffers.

  4. An Adjust window, with commonly used camera specific and video capture adjustments.

If XCAP has already been installed, it may have been configured with one or more variations, such as, (a) Eliminate the Main Window, automatically opening and displaying the PIXCI® Image Viewer, (b) Configure the Shortcuts and/or Adjust features to be attached to The PIXCI® Image Viewer window, rather than detached into their own windows, (c) Select whether the Shortcuts and/or Adjust features appear automatically, or only when

    Capture
    Adjustments
or
    Capture
    Shortcuts
are clicked, or (d) Remove the status bar, increasing the screen area available for image display. These variations allow custom configuration of XCAP, but do not affect the functionality of the Shortcuts or Adjustments features.

 

4.3. PIXCI® E1, E1DB, E4, E4DB, EB1, EB1-PoCL, EC1, ECB1, ECB1-34, ECB2, EL1, EL1DB Video Configuration

The PIXCI® E1, E1DB, E4, E4DB, EB1, EB1-PoCL, EC1, ECB1, ECB1-34, ECB2, EL1, and EL1DB imaging boards are customized for a specific camera. XCAP identifies the specific PIXCI® E1, E1DB, E4, E4DB, EB1, EB1-PoCL, EC1, ECB1, ECB1-34, ECB2, EL1, or EL1DB imaging board, and defaults to capturing full video resolution from the specific camera.

 

4.4. Capturing Images

Once the PIXCI® imaging board is opened for use, images may be captured from the PIXCI® Image Viewer, by clicking:

    Capture
    Snap
or
    Capture
    Live
The Snap captures a single image into the current frame buffer, while Live continuously captures images into the current frame buffer, continuously updating the image shown on the graphics display (S/VGA).

The Live mode may be used to adjust the camera's focus, aperture, and position. The Live mode may be halted by clicking:

    Capture
    UnLive
A Live followed immediately by Unlive has the same effect as Snap.

If the current video resolution and frame buffer memory size allows more than one frame buffer, clicking:

    Capture
    Adjustments
provides the:
    Current (Frame) Buffer:   0
which may be incremented or decremented at any time, whether in Live or UnLive mode. The window reached by clicking:
    Capture
    Adjustments
has convenient buttons that duplicate the Snap, Live, and UnLive features.

As three of the most commonly used operations, the Snap, Live, and UnLive are also available in the Shortcuts Toolbar, in the top row, at the fifth and sixth from the left. The Shortcuts also allow changing the current frame buffer; in the top row, the four icons at the left switch to the first frame buffer, the next frame buffer (e.g. current buffer +1), the previous frame buffer (e.g. current buffer -1), and the last frame buffer, respectively.

 

4.5. Examining Images

4.5.1. Altering How the Image is Displayed

The PIXCI® Image Viewer can be moved and resized, using standard techniques (drag the window's title bar, drag the window's corner, etc). By default, the captured image is displayed with resizing, so that the entire image fits within the Image Viewer.

For many engineering applications, examination of individual pixel values is critically important. Resizing the image may ''hide'' defective pixels; resizing an image with interlace jitter may turn odd/even line striping into bars of striping.

To view the exact pixels, from the PIXCI® Image Viewer, click:

    View
    Display
    Resize: None (Image Pixel = Display Pixel)
Each image pixel is now displayed as exactly one graphics display (S/VGA) pixel. Of course, depending upon the image resolution, graphics display (S/VGA) resolution, and window size, the entire image may not fit. If the image doesn't fit, then (a) Scroll bars appear, allowing the viewed portion of the image to be panned and scrolled throughout the entire image, and (b) Moving the mouse with right button held over the displayed image causes panning or scrolling (if there is more image to be seen in the direction the mouse is moving).

Note that when:

    Resize: None (Image Pixel = Display Pixel)
is selected, the displayed image's aspect ratio may not appear correct; the aspect ratio can't be corrected without some form of resizing or resampling!

4.5.2. Zoom

To magnify the image, from the PIXCI® Image Viewer, click:

    View
    Zoom, Pan, Scroll
    Zoom On

The magnification factor can be adjusted with:
    Zoom Ratio
When magnified, only a portion of the image is visible. As described above, the viewed portion may be panned and scrolled through the entire image with the scroll bars, or by moving the mouse over the image with right button held.

4.5.3. Numeric Pixel Values

To examine numeric values of pixels as a table, from the PIXCI® Image Viewer, click:

    Examine
    Pixel Peek
A table of pixel values for a portion of the image appears, showing pixel values in the neighborhood of the displayed X and Y coordinates. The portion of the image numerically displayed can be moved by using the scroll bars, or by entering new X and Y coordinates.

The portion of the image which is numerically displayed can also be moved interactively by clicking:

    Coord<=>Cursor
A cursor now appears over the image window (the Pixel Peek window may have to be moved to the side so that both the pixel peek window and the image viewer window can be seen); clicking the mouse on the image viewer window moves the cursor to that position, and repositions the numerically displayed portion of the image to be centered at that position.

To examine pixel values as a two-dimensional graph, click:

    Examine
    Pixel Plot
and
    Controls
    Where
and Plot Row
or  Plot Column

A graph of pixel values for a line (column) of the image appears, showing pixel values along the line (column) at the displayed Y (X) coordinate. The selected line (column) of the image can be moved interactively by clicking:
    Coord<=>Cursor
A cursor now appears over the image window; clicking the mouse on the image window moves the cursor to that position, and repositions the displayed line (column) to that Y (X) coordinate.

 

4.6. PIXCI® E1, E1DB, E4, E4DB, EB1, EB1-PoCL, EC1, ECB1, ECB1-34, ECB2, EL1, EL1DB Video Adjustments

4.6.1. Video Resolution

For area scan cameras, reducing the video resolution (the number of pixels captured per line and column) allows capturing more video frames in a given size of frame buffer memory. From the PIXCI® Image Viewer, click:

    Capture
    Adjustments
    Res(olution)
Click:
    Set Video Window
and draw the new desired area to be captured by right clicking and dragging over the displayed image. Click:
    OK
to accept the new capture resolution. Note: Changing the capture resolution will destroy any images previously captured in the frame buffers!

For line scan cameras, the number of scanned lines which compose each two-dimensional image can be set: From the PIXCI® Image Viewer, click:

    Capture
    Adjustments
    Res(olution)
Set the:
    Lines per Field
to the desired number.

The

    Capt(ure)
    Frame Buffers
shows the number of frame buffers available with the current selections.

4.6.2. Saving the Video Configuration

The selections under the PIXCI® Image Viewer:

    Adjustments
are automatically saved when the PIXCI® imaging board is closed, and/or XCAP is exited. When the PIXCI® imaging board is next opened (from the XCAP Main Window clicking):
    PIXCI®
    PIXCI® Open/Close
    Camera & Format
Choose:
    Open w. last used Video Setup
to use the previous video setup, or choose:
    Open w. default Video Setup
to start afresh with the default video format and resolution.

4.6.3. Camera Controls

Most of the cameras supported by the PIXCI® imaging boards provide controls and features above and beyond the transport of imagery to the PIXCI® imaging board. For most cameras, these controls are either switches on the back of the camera, or commands sent through an RS-232 port or through CameraLink.

XCAP integrates controls for either type of camera within the Adjust window. The left side of the Adjust window contains controls for the PIXCI® imaging board. The right side of the Adjust window provides camera specific controls; these utilize the same concepts and terminology as specified by the camera's manufacturer, so that the camera manufacturer's documentation can be directly applied to these features and controls.

For cameras with switches, the camera's settings can neither be set nor sensed by XCAP! Instead, the Adjust window shows a sketch of the camera's controls. After you select a camera operating mode by setting the camera's switches, adjust the sketch's controls to match those of the camera. This convenient technique advises XCAP of the camera's configuration, and allows automatically setting the PIXCI® imaging board's configuration to match.

For cameras with RS-232 controls, connect the camera's RS-232 connector to the computer's COM port. In the Adjust window, use:

    RS-232 Port
to select the connected COM port. Thereafter, any change of the camera's controls shown in the Adjust window simultaneously programs the camera and automatically sets the PIXCI® imaging board's configuration to match! There is no need to run the camera manufacturer's separate RS-232 control program.

For cameras using a CameraLink interface, the serial commands are sent via the same CameraLink cable used for imagery. As for cameras with RS-232 controls, any change of the camera's controls shown in the Adjust window simultaneously programs the camera and automatically sets the PIXCI® imaging board's configuration to match. There is no need to connect a second cable, nor any need to run the camera manufacturer's separate control program.

4.6.4. Color Cameras

For color cameras with so-called ''Bayer format output'', it is XCAP software which performs color adjustments and white balancing, not the camera. From the PIXCI® Image Viewer, click:
    Capture
    Adjustments
    Color (or Clr)
For most common conditions:

  1. Select one of the pre-defined correlated color temperatures, either based on best appearance, or matching the color temperature of the current illumination. The 5000°K selection is average overcast daylight, the 4100°K selection is a typical cool white fluorescent bulb, and the 2800°K selection is a typical 60 to 100 watt tungsten bulb.

  2. Choose one of the predefined color qualities, trading quality for speed.

  3. If none of the predefined settings is satisfactory, start with the best setting and click:
        Customize
    
    Cover the camera's lens and click:
        Black Balance
    
    Finally point the camera at a white target (but preferably not a target using fluorescent brighteners) and click:
        White Balance
    

 

4.7. Saving Images

To save an image, from the PIXCI® Image Viewer, click:

    File
    Save Image
Choose a file format, such as:
    TIFF
    JPEG/JFIF
    BMP
    FITS
    PCX
    Targa (TGA)
    X/Y Binary
    X/Y ASCII
TIFF is an industry standard, and the most commonly used image file format; TIFF is suggested for saving and reloading an image into XCAP, and suggested for exporting images to other programs which support TIFF. The JPEG/JFIF is also a commonly used image file format and can provide high, but ''lossy'', compression (i.e. the reconstructed image is not, numerically, exactly the same as the original image). The FITS is a commonly used format within the scientific - particularly astronomy - community. The BMP, PCX, and TGA formats are useful when exporting an image into other programs that don't support TIFF; but these file formats support only 8 bits per pixel component (such as 8 bit monochrome or 24 bit RGB).

The X/Y Binary and X/Y ASCII export raw pixels, left to right, top to bottom, with no excess information such as dimensions, bit depth, date, format, etc; these are useful for exporting images to a spreadsheet (X/Y ASCII), or to your own program that can assume the image's dimensions and can simply read a 2-D array of values.

After selecting a file format, enter a file name:

    File Name:  xx.tif
and click
    OK
to save the image. Or, use the:
    Browse
button to access the standard Windows or Linux File Dialog, click
    Accept
to accept the filename selected by browsing, and click
    OK
to save the image.

 

4.8. Saving Image Sequences

To save an image sequence, from the PIXCI® Image Viewer, click:

    File
    Save Image Sequence
Choose a file format, such as:
    One TIFF w. Sequence
    One AVI w. Sequence
    Sequence of TIFF
    Sequence of JPEG/JFIF
    Sequence of BMP
    Sequence of FITS
    Sequence of PCX
    Sequence of Targa (TGA)
    Sequence of X/Y Binary
    Sequence of X/Y ASCII
The One TIFF and One AVI store the entire sequence into a single file; the other option store each image into an individual file. Similar to BMP (discussed above), the AVI format supports only 8 bits per pixel component (such as 8 bit monochrome or 24 bit RGB).

After selecting any one of the ''Sequence of ..'' file formats, enter a file name:

    File Name:  xx.tif
and click:
    OK
to save the image. Or, use the:
    Browse
button to access the standard Windows or Linux File Dialog, click:
    Accept
to accept the filename selected by browsing, and click:
    OK
to save the image.

If using ''One .. w. Sequence'', enter a file name pattern:

    File Name:  xx???.tif
where the ''?'' characters will be replaced by a numerical index, (enter sufficient ''?'' characters as per sequence length; three ''?'''s are sufficient for 1000 images) and click:
    OK
to save the image.

 

4.9. Capturing an Image Sequence

To capture an image sequence into the frame buffers:

    Capture
    Sequence Capture
    Video to Frame Buffers
select:
    Start/End All Buffers
to capture into all of the frame buffer memory,
    Capture Video Fastest
to capture each video frame (rather than intentionally skipping frames),
    Linear Sequence
to capture into each frame buffer once, then stop (rather than capturing continuously, reusing frame buffers until explicitly stopped),
    Event Free
to capture without waiting for additional events, and and click:
    Record

The VideotoFrameBuffers captures into frame buffer memory; to request more frame buffer memory and a thereby a longer sequence use the

    Driver Assistant

A variety of Sequence Capture features are available, providing tradeoffs between capture rate vs. convenience vs. total number of images captured. The Video to Frame Buffers captures sequences directly into pre-configured frame buffer memory, and can support the maximum frame rate. The Video to Virtual Memory captures and copies sequences into host computer (virtual) memory which is conveniently allocated as-needed, but may not support maximum frame rate capture for all cameras on all computers. The Video to Disk File captures and copies sequences into a disk file in an efficient, internal format (after capture the sequence can be saved in a standard format), but frame rate is limited by the bandwidth of the computer and disk subsystem.

The Video to Image Files captures and copies sequences directly into standard format image files, but with more overhead than the Video to Disk File feature. Optionally, each captured image can also be saved offsite directly to an FTP URL. Optionally, the HTTP server (i.e. web server) feature of XCAP allows access to the sequence of images - as they are being captured - via an internet web browser.

 

4.10. Additional XCAP Documentation

For additional guidance in using XCAP, click

    Help
    XCAP Reference Manual
to browse the full manual.

 

 

 

5. XCAP Software Guide

XCAP is a family of sophisticated, interactive, imaging programs specifically designed to support the PIXCI® series of imaging boards, but also able to process and analyze images from other imaging sources. Several versions of XCAP are available: XCAP-Plus, XCAP-Std, XCAP-Ltd, XCAP-Lite, and XCAP-Demo. All versions share the same user interface and menu structure, but selected features in XCAP-Std, XCAP-Ltd, XCAP-Lite, and XCAP-Demo are not operational. XCAP is distributed on CD, diskette(s), or downloadable from the EPIX, Inc. website. After installation, a 12 character identification code[14] is entered to configure XCAP as either XCAP-Plus, XCAP-Std, XCAP-Ltd,[15] or XCAP-Lite; or, lacking a valid code, configured as XCAP-Demo to browse, but not use, XCAP's features.

XCAP-Std is an interactive, imaging program designed for scientific, industrial, and machine vision applications. XCAP-Std supports the PIXCI® imaging board, providing video format and resolution configuration; continuous (live), video rate sequence, and triggered capture; and single or sequence, zoomed or resized, display. The image frame buffers of PIXCI® imaging boards can be loaded, examined, processed, analyzed, measured, printed, annotated, and saved.

XCAP-Std also allows loading, analyzing, modifying, and saving a pre-existing image or image sequence with size, pixel depth, and color space independent of the PIXCI® imaging board's configuration; XCAP-Std can be used with pre-existing images even when the PIXCI® imaging board is not present. XCAP-Std can also acquire images from TWAIN compliant devices.

XCAP-Plus provides extra, advanced, features in addition to all of the capabilities of the XCAP-Std, such as support for specialized, optional, hardware.

XCAP-Ltd is a simplified version of XCAP-Std. XCAP-Ltd provides the same image acquisition and PIXCI® imaging board control capabilities, the same image display features, and the same image loading, examining, printing, and saving of single image or sequences of images. Only minimal image processing, measurement, analysis, and scripting features are functional. XCAP-Ltd can be used with pre-existing images even when the PIXCI® imaging board is not present.

XCAP-Lite is a much simplified version of XCAP-Std. XCAP-Lite provides similar image acquisition and PIXCI® imaging board control capabilities, video format and resolution configuration; continuous (live), video rate sequence, and triggered capture; and single or sequence, zoomed or resized, display. XCAP-Lite also provides some of the image loading, examining, printing, and saving features, but minimal processing, measurement, analysis, and scripting features are functional. XCAP-Lite can also be used with pre-existing images, but only while the PIXCI® imaging board is present and opened for use.

XCAP-Demo allows browsing through the dozens of processing, measurement, analysis, and graphics features provided in XCAP-Plus, XCAP-Std, or XCAP-Lite. Images can't be loaded from, or saved to, files. Nor can the PIXCI® imaging board be operated with the XCAP-Demo version.

As XCAP-Plus, XCAP-Std, XCAP-Ltd, and XCAP-Lite share many common features, this manual typically refers to all versions as XCAP, except where explicitly differentiated.

The XCAP features are organized into two major types of windows, the Main Window and one or more Image Viewer Windows.

For each image, or sequence of images, an Image Viewer Window shows that image, or a selected image of that sequence, and via its menu bar allows viewing, examining, processing, analyzing, or drawing upon that image (sequence). The Image Viewer Window associated with the PIXCI® imaging board's frame buffers also provides features for capturing new images. There can be multiple Image Viewer Windows for the same image (sequence), allowing, for example, viewing the image both zoomed and unzoomed, or simultaneous viewing of different images of a sequence.

The Main Window allows creating new image (sequences), and thus new Image Viewer Windows, either by loading a new image from file, explicit specification of the new image's dimensions, or by opening the PIXCI® imaging board for use. Video setup for the PIXCI® imaging board, such as modifying the video resolution or color space, are also in the Main Window; these features may destroy and re-create the PIXCI® imaging board's Image Viewer Window. The Main Window also provides features not directly associated with an image (sequence), such as scripts, RS-232 device control, and features to customize XCAP.

 

5.1. The Main Window

The XCAP main window provides a menu bar with File, Images, Scripts, Utility, PIXCI®, and Help features.

5.1.1. Main Window - File

The main window's File allows loading of pre-existing images into new image buffers, displaying attributes about pre-existing images, and acquiring images from TWAIN compliant devices.

The Load New Image and Load New Image Sequence creates a new image buffer (sequence) with dimensions, pixel depth, and color space matching a specified TIFF, AVI, BMP, JPEG, FITS, VIF (Video Frame Files - Video to Disk) or multimedia format file(s), and loads the image(s) from the file(s). This feature, and the image buffer (sequence) created, is unrelated to the PIXCI® imaging board's frame buffers. After creation and loading, the new image (sequence) is displayed, processed, and analyzed in a new instance of The Image Viewer Window, described below.

The Load New Image can also load images directly from an Internet URL. The XCAP-Lite version does not provide the Load New Image Sequence or loading directly from an URL features. The XCAP-Ltd version does not support VIF format files.

The Image File Info displays information about a specified TIFF, BMP, JPEG, or FITS format file without loading the image. The information displayed includes the image's dimensions, pixel depth, color space, palette option, and other file format specific information.

The TWAIN Select Source and TWAIN New Acquire allow using XCAP as a TWAIN Application, acquiring images from TWAIN compliant imaging devices (TWAIN Sources). The TWAIN Select Source allows selecting which TWAIN Source is to be used, and the TWAIN New Acquire allows acquiring one image from the TWAIN Source. The XCAP-Lite and XCAP-Ltd versions do not support being used as a TWAIN Application.

The Window List displays a list of active windows belonging to XCAP; selecting a window causes that window to appear, if previously hidden, and/or to appear over other windows (subject to the priority of selected windows to always appear ''on top'').

5.1.2. Main Window - Images

The main window's Images allows creating new image buffers and activating any existing image windows that may not be on-screen.

The New Image creates a new image buffer, or sequence of image buffers, with specified dimensions, pixel depth, color space, and palette. This feature, and the image buffer created, is unrelated to the PIXCI® imaging board's frame buffers. After creation, the new image is displayed in new instance of The Image Viewer Window, as described below.

Underneath New Image are listed all existing image windows, whether for PIXCI® imaging board frame buffers, or for independent image buffers. (The image window for PIXCI® imaging board frame buffers appears only after the PIXCI® imaging board has been opened for use, see below). An image window which has been closed and thereby off-screen can be reactivated by clicking the image window's name.

5.1.3. Main Window - Scripts

The main window's Scripts provides features for recording and playing scripts. A script recording contains most of the user's interactions with the windows of XCAP; playing the script duplicates the original actions.

Some user actions are not recorded. Using the mouse to drag the cursor or other graphic across an image is not recorded as these actions are highly dependent upon image content (such as the typical scenario of dragging the cursor until it is positioned next to an artifact in a captured image), would likely be inappropriate to other captured images, and recording each mouse ''step'' would consume a significant amount of disk space. Instead, after positioning the cursor interactively the user can record the final position by clicking the appropriate numeric cursor coordinates. Similarly, the activation of a feature with shortcut keys or shortcut icons is not recorded; instead features can be activated via the non-shortcut alternative, which is recorded.

A recorded script is in a human readable form and can be altered with any common editor capable of handling ASCII text, allowing scripts to be modified or combined. A selected script may be executed automatically after XCAP starts, this feature is set in Utility, Program Setup, Startup Script.

The Load Tool Bar provides one or more user-defined tool bars of shortcuts, each shortcut represented by an icon which, when clicked, executes a user-specified script. Each shortcut may also specify an optional keyboard key which, when pressed, also executes the user-specified script.

The Script Remote Control allows using XCAP as a hidden, off-screen, ''black box''; any end-user application that can manipulate text files, can also remotely control XCAP.

The XCAP-Lite and XCAP-Ltd versions do not support recording scripts, creating user-defined tool bars, or the remote control feature. The XCAP-Lite and XCAP-Ltd versions can play scripts previously created with XCAP.

5.1.4. Main Window - Utility

The main window's Utility provides an assortment of features that are of secondary importance; features that allow fine tuning of XCAP, or features needed in relatively few circumstances.

The Black Board allows customizing XCAP, creating non-procedural programs, and collecting data. The black board allows inter-connecting the numeric and text field of other windows; computed results, such as center-of-mass, may be written onto the black board - parameters for other features, such as the coordinates of a displayed grid, may be extracted from the black board - combining these automatically repositions the grid as the center of mass is recomputed! Other features allow computed values (similar to a spreadsheet), ''push''ing buttons, timed updates, creating a report to file or an RS-232 port, collecting data, and graphing the black board's contents. The XCAP-Lite and XCAP-Ltd versions allow use of the Black Board for computing values (similar to a spreadsheet), but do not allow inter-connections with other features or creating reports or graphs.

A Message Log window lists warnings and errors that arise from performing various operations. By default, the message log window appears automatically when a message is added, and disappears a few seconds later. Auto appearance, auto hide, and audible clicks can be disabled (from the message log window's menu bar). The menu-bar's Message Log allows explicit activation of the message log window.

The Program Setup shows information about the installed XCAP components, such as their revision level, and sets various configuration options. For versions of XCAP that require an authorization key, it also shows the ID of the key required by the instant copy of XCAP.

The Program Setup allows specifying the name of a script to be executed when XCAP starts, whether warning pop-up windows (if any) are to be shown, whether previously saved settings are to be loaded, and other similar initial or terminal conditions.

The Program Setup also enables user-defined translation of XCAP labels and messages for use in non-English speaking countries. The XCAP-Lite version does not support creating user-defined translated labels and messages, but may use translated labels and messages previously created with XCAP.

The Windows Info displays information about the current Windows environment, such as memory usage and the graphics display systems (S/VGA) features, as reported by Windows.

The Linux Info displays information about the current Linux environment, such as memory usage and the graphics display systems (S/VGA) features, as reported by Linux. The Java Info displays information about the status of Java, under which XCAP runs. Both of these features are primarily of use in resolving questions submitted to EPIX, Inc. Technical Support.

The Window Style allows setting some characteristics of XCAP windows, such as color or character size and font. Some characteristics of window style are instead controlled by the Windows Control Panel.

The Audio Clip (only under Windows) allows recording and playing short audio ''clips''.

The RS-232 Terminal allows ''raw'' communication with a camera or other device connected via the computer's RS-232 port. The RS-232 Terminal is designed specifically for device control, including options to communicate with byte values, rather than as a common ''terminal emulator''. XCAP may also provide more convenient, camera-specific ''smart'' controls, provided after a camera-specific imaging board is opened, via the Capture - Adjustments.

The I/O Port Peek & Poke allows controlling arbitrary devices accessible via I/O port peeks and pokes. This feature must be used with caution; peeking or poking arbitrary ports will cause computer malfunction! This feature is only available under Windows 95, 98, and ME.

The Screen Capture allows capturing the current graphics display (S/VGA) screen, saving the graphics to a file, or printing the graphics. The Screen Capture also allows capturing numeric and textual parameters into a text file, suitable for loading into a spreadsheet or other programs. The XCAP-Lite version does not support screen capture.

The Volpi intralux dc-1100 and Illumination Technologies 3900 provide support for controlling these light sources through their RS-232 ports.

The Birger EF232 provides support for controlling the Birger EF232 RS-232 Lens Mount.

The Fujinon CCTV Lens C10 Protocol provides support for controlling Fujinon CCTV Lenses that follow the Fujinon C10 Protocol.

The Directed Perception Pan-Tilt Unit provides support for controlling the Directed Perception Pan-Tilt Units.

The Sagebrush Pan-Tilt Gimbal Protocol 2.0 provides support for controlling the Sagebrush Pan-Tilt Gimbals that follow the Sagebrush 2.0 Protocol.

5.1.5. Main Window - PIXCI®

The main window's PIXCI® allows initiating access to the PIXCI® imaging board and provides configuration options. Actual operation of the PIXCI® imaging board is performed through the PIXCI® image viewer window's menu-bar.

The PIXCI® Open/Close allows opening access to, or closing access to, the PIXCI® imaging board. Once open, the model (and submodel, as appropriate) of the PIXCI® imaging board is available via the Board Info button. After opening, the contents of the PIXCI® image board's frame buffer(s) are displayed in a new instance of The Image Viewer Window, along with a tool bar of PIXCI® Image Viewer - Capture - Shortcuts and a status bar of Image Viewer - View - Status Bar are shown as described below.

The PIXCI® Video Setup allows configuring the video format, video resolution and other, model specific, video characteristics. For example, for PIXCI SV2, SV3, SV4, SV5, SV5A, and SV5B models, the PIXCI® Video Setup allows selecting NTSC, RS-170, S-VIDEO, CCIR, or PAL, allows selecting the video window size and capture resolution, and selecting other video acquisition characteristics. For other models, such as the PIXCI® CL1, CL2, CL3SD, D, D24, D32, D2X, D3X, E1, E1DB, E4, E4DB, EB1, EB1-PoCL, EC1, ECB1, ECB1-34, ECB2, EL1, EL1DB, SI, SI1, or SI4 fewer options may be provided, as these imaging boards are camera specific.

The current video setup is automatically saved when access to the PIXCI® imaging board is closed, and reloaded when the PIXCI® image board is later opened. The PIXCI® Export Video Setup and PIXCI® Import Video Setup may be used to explicitly save or reload the current video setup, such as to choose amongst several favorite setups, or to export the current video setup to the XCLIB library.

The PIXCI® Status shows the PIXCI® imaging board's current status, such as the state of the general purpose (formerly referred to as an external TTL) trigger input(s) and output(s), the number of elapsed video fields, the board's model and submodel, and configured image memory size.

The PIXCI® Serial Terminal allows ''raw'' communication with a camera connected to the serial port on selected models of the PIXCI® imaging board. For many cameras, XCAP includes more convenient, camera-specific ''smart'' controls, provided after a camera-specific imaging board is opened, via the Capture - Adjustments.

The PIXCI® Connections provides, as appropriate for the specific model of PIXCI® imaging board, a map of the board's connections, connectors, option jumpers, and adjustments.

The PIXCI® Camera Info provides a list of cameras and video formats supported by XCAP and various PIXCI® imaging boards. The PIXCI® Camera Info also allows viewing a non-operational Capture - Adjustments window (i.e. the ''Control Panel'', which provides integrated control of both imaging board and any supported camera).

The PIXCI® TWAIN Sourcery (only under Windows) allows using XCAP, in conjunction with the ''XCAP Sourcery'' TWAIN driver, as a component of a ''smart'' TWAIN Source, allowing other applications to capture images from the PIXCI® imaging board, while XCAP provides imaging board, camera controls, and, optionally, image preprocessing.[16] (The XCAP-Lite and XCAP-Ltd versions do not provide image preprocessing). The PIXCI® TWAIN Sourcery should not be confused with TWAIN New Acquire; the former allows XCAP to provide image data to other, TWAIN compliant applications; the latter allows XCAP to accept image data from other TWAIN compliant sources. The TWAIN New Acquire should never be used to attempt to acquire image data from the PIXCI® TWAIN Sourcery!

The PIXCI® Image-Pro Sourcery (only under Windows) allows using XCAP, in conjunction with the ''XCAP Sourcery'' Image-Pro driver, as a component of a ''smart'' video source, allowing Image-Pro to capture images from the PIXCI® imaging board, while XCAP provides imaging board, camera controls, and, optionally, image preprocessing.[17]

 

5.2. The Image Viewer Window

Each image buffer (sequence), or frame buffer (sequence), is displayed in an image viewer window, which is the focus of activity for examining, processing, or analyzing that image buffer (sequence). The image viewer window provides a menu bar with File, View, Examine, Modify, Measure, Draw, AOI, and Help features. The image viewer window associated with the PIXCI® imaging board's frame buffer(s) also provides a Capture feature.

5.2.1. Image Viewer - File

The image viewer window's File allows saving, loading, or printing the image, shows information about the image's dimensions, pixel depth and color space, and allows closing the image viewer window.

The Load Image and Save Image allow saving or loading the image in a variety of file formats. The Load Image, unlike the Load New Image described above, loads an image file into the current image buffer, resizing and/or color converting to fit the image buffer's existing dimensions, pixel depth, and color space. The Load Image can also load images directly from an Internet URL. The XCAP-Lite version does not support loading images directly from an Internet URL.

For image viewer windows associated with an image buffer sequence, the Save Image Sequence and Load Image Sequence allow saving or loading multiple images of the sequence as a numbered sequence of image files, or as a single TIFF or AVI format image file with multiple images. The XCAP-Lite version does not support loading or saving of image buffer sequences in a single operation; however multiple uses of Load Image or Save Image can load or save each image buffer of a sequence. The Save Image can also save images directly to an FTP URL. The XCAP-Lite version does not support saving images directly to an FTP URL.

The E-Mail Image allows directly e-mailing the image, in a variety of file formats, from within XCAP. The XCAP-Lite version does not support the E-Mail Image feature.

The Print Image allows printing the image; either via the operating system's built-in image printing feature(s) which typically supports a wide variety of printers, or via EPIX® imaging drivers which support only the most popular printers, but providing precise control of print options. The XCAP-Lite version does not allow printing via EPIX® imaging drivers.

The Image Attributes shows the image's (or image sequence's) dimensions, pixel depth, and color space.

The Duplicate Image and Duplicate Image Sequence allows creating a new image buffer and copying the current image, or creating a new sequence of image buffers and copying the current image sequence, respectively, in one step. It optionally allows copying the image's (or image sequence's) current appearance, as modified by the palette and graphics, instead of the underlying image (or image sequence). The XCAP-Lite version does not provide Duplicate Image or Duplicate Image Sequence.

The BlackBoard Image allows copying the image's pixel values into the Black Board. The XCAP-Lite and XCAP-Ltd versions do not provide BlackBoard Image.

The Close Viewer closes the window, but does not destroy the image (sequence). The Close & Dispose of Image closes the window and destroys the image (sequence). The image viewer window associated with the PIXCI® imaging board's frame buffer(s) does not provide a Close & Dispose of Image; an image viewer window is available whenever the PIXCI® imaging board is open for use.

5.2.2. Image Viewer - View

The image viewer window's View provides options governing the appearance of the displayed image.

The Shortcuts allows activating or deactivating a tool bar of icons providing shortcuts for accessing often used features, and is described under Image Viewer - View - Shortcuts.

The Status Bar allows activating or deactivating a small status bar with current information, and is described under Image Viewer - View - Status Bar.

For image viewer windows associated with the PIXCI® image board's frame buffer(s), the Adjustments allows setting common adjustments, as suitable for the model of the PIXCI® imaging board in use, and is described under PIXCI® Image Viewer - Capture.

The Full Screen allows displaying the image in the full graphics display (S/VGA) screen, with little or no window ''frame'' around the image. A mouse click, anywhere on the graphics display (S/VGA) screen, restores the previous mode. The XCAP-Lite version does not provide the Full Screen feature. The Full Screen feature is only supported under Windows.

The Always-On-Top allows forcing the image viewer window, and its subwindows, to always be ''above'' other windows; subject to the other windows' also requesting Always-On-Top, and the whims of the host operating system. This option is typically useful only when XCAP is being used in combination with other applications, such as in conjunction with the PIXCI® TWAIN Sourcery or PIXCI® Image-Pro Sourcery feature. The Always-On-Top feature is only supported under Windows.

The Refresh forces the displayed image to be redrawn once; normally manual refresh is not needed, but occasionally, when the image was (partly) covered and uncovered by other window(s), the displayed image might ''forget'' to be updated.

For images composed of index pixels and palette, the Image's Palette allows manipulating the image's attached palette; for images of other types, the Image's Palette is not selectable. For all images, the Viewer's Palette allows manipulating a palette which is not attached to the image. Either can be used for contrast enhancement, adjustment of black level and gain, or, for monochrome images, false coloring. Either, or neither, of the palettes can be selected for use under Display.

For image sequences, the Sequence Play allows ''playing'' the sequence, image by image, at a selected rate.

The Sequence Thumbnails shows a window in which each image of the sequence is a small ''snapshot''; clicking a snapshot selects that image for display by the image viewer window. The XCAP-Lite version does not provide the Sequence Thumbnails.

The Cursor allows activating a cursor over the image, which may be positioned via coordinates, or by clicking the mouse on an image feature.

The Display allows selecting how the image is displayed: (a) No resizing so that there is a one to one relationship between an image pixel and a displayed graphics display (S/VGA) pixel and is quickest, although the entire image may not fit within the window and must therefore be panned and scrolled, (b) Resize by nearest neighbor which is relatively quick, or (c) Resize by bilinear interpolation which may produce better results for continuous tone images, but is slower. For the resize modes, the aspect ratio can also be modified. The Display allows selecting which palette, if any, is to be used during display and during file loads and saves. An option to display only even lines, or only odd image lines, allows avoiding interlace artifacts during display. For the image viewer window associated with the PIXCI® imaging board's frame buffer(s), the Display provides additional features, identical to the Live Options described below.

The Zoom, Pan, Scroll allows magnifying the displayed image, and panning and scrolling to view different portions of the image under magnification. For image sequences, a specific image of the sequence can be selected for display. In addition to panning and scrolling via explicit coordinates and via scrollbars, holding the right mouse button and moving the mouse over the image also implements panning and scrolling.

Each image buffer (sequence) may have several simultaneously active viewers, allowing, for example, viewing the same image buffer both magnified and unmagnified. The Launch 2nd Viewer creates a second image viewer window into the same image buffer (sequence), with the same features as the original image viewer window. The XCAP-Lite version does not provide the Launch 2nd Viewer feature.

5.2.3. Image Viewer - Examine

The image viewer window's Examine provides options to examine the image.

The Pixel Peek allows numeric display of the pixel values in the vicinity of the image cursor.

The Pixel Peek & Poke allows numeric display and modification of the pixel value at the image cursor.

The Pixel Plot displays a two-dimensional graph of pixels values along a selected image line or column, all image lines, or for image sequences, a vector. Features attached to the graph show specific pixel values and descriptive statistics such as lowest value, highest value, mean value, and standard deviation. The XCAP-Lite version does not provide a graph of all image lines, and does not provide descriptive statistics.

The Pixel Plot 3D displays a three-dimensional graph projection of the image.

The SMPTE VITC allows searching the image for valid SMPTE Vertical Interval Time Codes and displaying the decoded codes.

The XCAP-Lite and XCAP-Ltd versions do not provide the SMPTE VITC features.

5.2.4. Image Viewer - Modify

The image viewer window's Modify provides image processing operations which modify the image, modify each image (independently) in a sequence (typically named ''Sequence ...'') or modify one or more images in a sequence by combining data from across multiple images (typically named ''... Sequence ).''

The Patterns draws various test patterns in the image. The Sequence Patterns does the same on each image of a sequence.

The Set sets image pixels to a specified value. The Sequence Set does the same on each image of a sequence.

The Arithmetic provides pixel arithmetic, such as adding a constant value or multiplying by a constant value. The Sequence Arithmetic does the same on each image of a sequence. The Src+Dst Arithmetic does the same with distinct source and destination images.

The Binning provides averaging or integrating pixel values in ''bins'' of a checkerboard. The Sequence Binning does the same on each image of a sequence. The Src+Dst Binning does the same with distinct source and destination images.

The Contrast Modification allows modifying the image's contrast. The Sequence Contrast Modification does the same on each image of a sequence. The Src+Dst Contrast Modification does the same with distinct source and destination images.

The Convolution allows convolving the image with user-defined kernels. The Sequence Convolution does the same on each image of a sequence. The Src+Dst Convolution does the same with distinct source and destination images.

The Correlation Map allows correlating, or matching, a kernel image over a larger image, resulting in a profile image whose intensity, at each location, varies in proportion to the degree of match, at that location. The Sequence Correlation Map does the same on each image of a sequence. The Src+Dst Correlation Map does the same with distinct source and destination images.

The Edge Detection provides Kirsch, Sobel, and other standard edge detectors. The Sequence Edge Detection does the same on each image of a sequence. The Src+Dst Edge Detection does the same with distinct source and destination images.

The FFT provides Fast Fourier Transforms and Discrete Fourier Transforms. The Sequence FFT does the same on each image of a sequence. The Src+Dst FFT does the same with distinct source and destination images.

The HSB Tweak provides hue, saturation, and brightness adjustments within the HSB color space. While Arithmetic and other operations can optionally use the HSB color space to, for example, multiply all saturation values by a constant, the HSB Tweak allows adjusting selected portions of the HSB space, such as adjusting the brightness of red pixels with high saturation. The Sequence HSB Tweak does the same on each image of a sequence. The Src+Dst HSB Tweak does the same with distinct source and destination images.

The Interlace & Flicker provides line and pixel shuffling operations. The Sequence Interlace & Flicker does the same on each image of a sequence. The Src+Dst Interlace & Flicker does the same with distinct source and destination images.

The Morphology provides morphological operations with user-defined kernels. The Sequence Morphology does the same on each image of a sequence. The Src+Dst Morphology does the same with distinct source and destination images.

The Noise Generator allows adding pseudo-random noise with uniform and other distributions to an image. The Sequence Noise Generator does the same on each image of a sequence. The Src+Dst Noise Generator does the same with distinct source and destination images.

The Normalization provides intensity normalizations based upon a single image. The Sequence Normalization does the same on each image of a sequence. The Src+Dst Normalization does the same with distinct source and destination images.

The Rotation & Shift provides image rotations and shifts. The Sequence Rotation & Shift does the same on each image of a sequence. The Src+Dst Rotation & Shift does the same with distinct source and destination images.

The Spatial Filtering provides low pass, high pass, and other filters. The Sequence Spatial Filtering does the same on each image of a sequence. The Src+Dst Spatial Filtering does the same with distinct source and destination images.

The Spatial Normalization provides spatial normalizations based upon a single image. The Sequence Spatial Normalization does the same on each image of a sequence. The Src+Dst Spatial Normalization does the same with distinct source and destination images.

The Threshold allows thresholding an image against user-defined, fixed, boundary values. The Sequence Threshold does the same on each image of a sequence. The Src+Dst Threshold does the same with distinct source and destination images.

The Threshold Adaptive allows thresholding an image against boundary values that are automatically adjusted. The Sequence Threshold Adaptive does the same on each image of a sequence. The Src+Dst Threshold Adaptive does the same with distinct source and destination images.

The Warping allows ''rubber-sheet'' transformations governed by a list of initial and final fiducial locations, or governed by pincushion/barrel lens distortion. The Sequence Warping does the same on each image of a sequence. The Src+Dst Warping does the same with distinct source and destination images.

The Copy & Resize allows copying and resizing an image from one image buffer to another.

The Pair Arithmetic provides pixel arithmetic, such as summation, between one image buffer and another. The Src+Dst Arithmetic does the same with distinct source and destination images.

The Pair Normalization allows normalizing various intensity based attributes of an image, based upon a second reference, or background, image. The Src+Dst Pair Normalization does the same with distinct source and destination images.

The Triplet Normalization allows normalizing various intensity based attributes of an image, based upon two other reference, or background, images. The Src+Dst Triplet Normalization does the same with distinct source and destination images.

The Average Sequence allows forming the average or sum of an image sequence.

The Difference Sequence allows forming the difference of each pair of images of an image sequence.

The Tile Sequence allows forming a grid of reduced images from an image sequence.

For image copy and other image processing operations utilizing a distinct source and destination, the image viewer window from which the operation is selected is always the modified destination; an image (or sequence) associated with a different image viewer window can be selected as the unmodified source.

The XCAP-Lite and XCAP-Ltd versions only provide the Patterns and Set features.

5.2.5. Image Viewer - Measure

The image viewer window's Measure provides features for image measurement and analysis, including user-defined coordinate systems and mapping intensities into user-defined units.

The Intensity Calibration allows creating a mapping (correspondence) from monochrome image pixel values into user-defined units, for example from grey level into brightness, or grey level into density of material.

The Spatial Calibration allows creating a mapping (correspondence) from pixel X,Y coordinates into a user-defined H,V coordinate system. The H,V coordinates may be translated, scaled, and/or rotated with respect to X,Y coordinates.

The Histogram computes and displays a graph of an image's histogram.

The Histogram Pair computes and displays a graph of the histogram of difference of a pair of images.

The Mass & Moments computes and displays various moments of an image.

The Line Profile displays a two-dimensional graph of pixels values along an arbitrary oriented line, arc, polyline, Bezier, and other curves.

The Radial Mass Plot displays a two-dimensional graph of the sum of pixel values versus the pixels' distance from an origin.

The Ruler overlays a ruler on the image, with user-defined length, width, and tick marks, all based on the H,V coordinate system. Multiple rulers can be overlaid on each image.

The Protractor overlays a protractor on the image, with user-defined radius, arc, and tick marks, all based on the H,V coordinate system. Multiple protractors can be overlaid on each image.

The Cartesian Reticle overlays a Cartesian coordinate reticle on the image, based on the H,V coordinate system. Multiple Cartesian reticles can be overlaid on each image.

The Polar Reticle overlays a polar coordinate reticle on the image, based on the H,V coordinate system. Multiple polar reticles can be overlaid on each image.

The Distance & Angle Crosshairs provides spatial calibration and measurement of absolute position, relative position, length and angles. While these capabilities are also available elsewhere in Image Viewer - Measure and Image Viewer - Draw, the Distance & Angle Crosshairs collects chosen features to provide a single window with the equivalent of a so-called ''Video Crosshair Overlay & Measurement'' system.

The Shape Analysis provides descriptive statistics about the shape of elliptical, rectangular, or polygonal regions.

The Blob Analysis identifies image blobs, based upon thresholding the image into foreground and background, and provides descriptive statistics about the blobs found.

The Particle Tracking provides identification and tracking of particles (blobs) over a sequence of images. Individual particles are detected based upon a thresholded (bi-level) image. In one method, multiple image occurrences of a common particle are identified across a sequence of images by position extrapolation and verification. In a second method, vectors of particles that are close together are compared and expected to yield consistent magnitude and direction. In a third method, which requires the fewest setup parameters, common particles are grouped by nearest neighbor. For any method, the particle's trajectories are displayed and reported.

The SubPixel Edger overlays a line or curve tool on the image, analyzes the pixel values under the line or curve finding edges to subpixel accuracy, and displays the position of the edges both graphically, on the image, and numerically.

The Ellipse Fitter overlays an elliptical pattern of subpixel edger tools on the image, and computes a best-fit elliptical curve from the edges found.

The Correlation Finder correlates, or matches, a kernel image over a larger image, showing the coordinates of, and displaying a box around, the best match(es).

The XCAP-Lite and XCAP-Ltd versions do not provide the Intensity Calibration, Spatial Calibration, Histogram, Histogram Pair, Mass & Moments, Radial Mass Plot, Protractor, Polar Reticle, Distance & Angle Crosshairs, Shape Analysis, Blob Analysis, Particle Tracking, SubPixel Edger, Ellipse Fitter, or Correlation Finder features; the Line Profile is limited to straight lines.

5.2.6. Image Viewer - Draw

The image viewer window's Draw provides features for drawing graphics and text over the image. One or more of: line, circle with aspect ratio correction, rotated rectangle, rotated ellipse, arc of circle with aspect ratio correction, arc of rotated ellipse, annulus, arc of annulus, rectangular frame, list of points, polygon, polyline (connected line segments not closed into a polygon), Bezier curve, or Bezier region (Bezier curve closed to form region), rotated text, and arrow may be overlaid over the image (non destructive) or written into the image. The individual menu items such as Text, Line, Rectangle, etc. allow quick drawing of graphics or text. The Graphic Manager permits drawing the same graphics or text, but in addition manages a list of graphic or text objects, including loading and saving of the graphic or text objects.

The Image Overlay feature allows overlaying a second image, containing graphics on a ''transparent'' background, over the current image.

The Paint Brush feature allows interactive ''painting'' onto the image with selectable color, patterns, and ''brush'' shapes.

The Paint Fill feature allows filling (flooding) an image region with ''paint'' of selectable color and patterns, using specified pixel values as the boundary terminating the ''filling''.

The XCAP-Lite version only provides the graphic line, graphic window, and graphic arrow features. The XCAP-Lite version does not provide the image overlay feature.

5.2.7. Image Viewer - AOI

The image viewer window's Aoi allows defining areas of interest (AOI) and regions of interest (ROI) upon which future image processing, measurement, analysis, print, load, and save features will operate. As used in XCAP, an ''AOI'' is a rectangular area with sides parallel to the image axis, while an ''ROI'' is of arbitrary shape, such as an ellipse or rectangle which may be rotated with respect to the image axis, or an arbitrary path or polygon. The image print, load, save, and many other features only allow use of an AOI; selected image processing, measurement, analysis and other features also allow use of an ROI.

The Set AOI defines the default area of interest and color space upon which future image processing, printing, load, and save features will operate.

The Set ROI defines the default region of interest and color space upon which future image measurement, analysis, and other selected features which accept an ROI will operate.

The Set Full Image quickly sets the default area of interest and region of interest to the image's full dimensions, and the default color space to the image buffer's natural color space, without entering the Set AOI or Set ROI window.

The AOI/ROI Manager maintains a list of often used areas of interest (AOI) and regions of interest (ROI).

Within each of the image processing, measurement, analysis, print, load, and save features a different AOI (or ROI, if applicable) can be selected, temporarily overriding the default AOI (or ROI). Within the feature, the new AOI (or ROI) can be specified numerically or interactively drawn, or an AOI (ROI) previously defined within the AOI/ROI Manager can be selected.

5.2.8. Image Viewer - View - Shortcuts

A tool bar of icons provides shortcuts for accessing often used features of The Image Viewer Window. Selected shortcuts can also be activated by key clicks when the tool bar window as the ''input focus'' (e.g. that window's title bar is highlighted). The shortcuts provided are:

  1. Switch to first buffer of sequence (Key HOME).

  2. Switch to next buffer of sequence (Key PAGE UP).

  3. Switch to previous buffer of sequence (Key PAGE DOWN).

  4. Switch to last buffer of sequence (Key END).

  5. Copy image to new image buffer.

  6. Adjust palette.

  7. Zoom, scroll, and pan.

  8. Peek at numeric pixel values.

  9. Activate or deactivate cursor overlay.

  10. Two-dimensional plot of line or column of pixel values.

  11. Histogram of pixel values.

  12. Select resizing of the image to fit The Image Viewer Window, or no resizing so that there is a one to one relationship between an image pixel and a graphics display system's (S/VGA) pixel (although the entire image may not fit within the window and must therefore be panned and scrolled, and the displayed aspect ratio will be incorrect for image's whose aspect ratio differs from the graphics display system's (S/VGA's) aspect ratio).
The first four shortcuts appear only for The Image Viewer Window's which access a sequence of images.

The shortcuts may either be attached and part of The Image Viewer Window, or may be detached into its own window, as set by Display under Image Viewer - View.

5.2.9. Image Viewer - View - Status Bar

A status bar provides information about the image resolution, current cursor coordinates, current buffer of a sequence, and other similar information. The information to be shown can be selected by Display under Image Viewer - View.

5.2.10. PIXCI® Image Viewer - Capture

The image viewer window associated with the PIXCI® image board's frame buffer(s) has Capture which provides for capturing images from the PIXCI® imaging board and other features associated with the PIXCI® imaging board. Any additional image viewer windows created by Launch 2nd Viewer do not provide Capture, but only view, modify, examine, and/or draw the frame buffers.

The Adjustments allows setting common adjustments, as suitable for the model of the PIXCI® imaging board in use. For example, for PIXCI® SV2, SV3, SV4 SV5, SV5A, and SV5B models, the Adjustments allows selecting the video input connection and adjusting the gain, black level, hue, and saturation. Less frequently used, and more esoteric, adjustments may be found under PIXCI® Video Setup, described above. A duplicate Adjustments is provided under Image Viewer - View.

The Shortcuts activates or deactivates the PIXCI® Image Viewer - Capture - Shortcuts, described below. A duplicate Shortcuts is provided under Image Viewer - View.

The Snap captures and displays a single image. The Live continuously captures and displays images; the UnLive terminates the Live mode, displaying the last captured image.

The First Buffer switches to the first buffer of the frame buffer sequence, the Last Buffer switches to the last buffer of the frame buffer sequence, the Next Buffer switches to the next buffer of the frame buffer sequence, and the Previous Buffer switches to the previous buffer of the frame buffer sequence.

The GIO Event Capture provides single or sequence image capture, each image triggered in conjunction with the imaging board's general purpose (formerly referred to as an external TTL) input and output signals. The XCAP-Lite version does not provide the sequence option of the GIO Event Capture feature.

The Sequence Capture features allow capturing a timed sequence of images. The Sequence Capture features may be started by an event (trigger), run continuously until stopped by an event, or each individual image captured in response to an event. Events include mouse clicks, time of day, and the imaging board's general purpose (formerly referred to as external TTL) inputs; when used with general purpose input events the Sequence Capture differs from GIO Event Capture in that the latter provides more options and higher accuracy and repeatability for the manipulation of the general purpose inputs and outputs in response to video timing. When recording at subvideo rates, a time stamp feature allows recording the time that each image was captured, and either overlaying the time nondestructively or permanently marking the image with the time.

A variety of Sequence Capture features provide tradeoffs between capture rate vs. convenience vs. total number of images captured.

The Video to Frame Buffers captures sequences directly into pre-configured frame buffer memory, and can support any video rate or bandwidth.

The Video to Virtual Memory captures and copies sequences into convenient dynamically allocated host computer (virtual) memory, but may not support high video rate or bandwidth sequence capture for all cameras on all computers.

The Video to Disk File captures and copies sequences into a disk file in an efficient, internal format; after capture the sequence can be saved in a standard format.

The Video to Image Files captures and copies sequences directly into standard format image files, but may not obtain as high video rate capture as the Video to Disk File feature. The XCAP-Lite version does not provide the Video to Image Files or Video to Disk File features, or the time stamp feature, or the event (trigger) option of the Video to Frame Buffers or Video to Virtual Memory features.

The Waterfall Display displays a chosen line of the frame buffer, in a ''waterfall'' fashion, updating the screen once per field, or as often as the host computer's speed allows. This feature is primarily intended for adjusting line scan type cameras. The waterfall display is intended only for viewing; it can't be analyzed, and can be saved only as a side effect of Screen Capture.

The Video to StreamStor (only under Windows) allows recording and playing video to and from Boulder Instruments StreamStor High-Speed Disk Recorders, allowing recording at video rate with almost all cameras and resolutions. The Video to StreamStor is provided only in the XCAP-Plus version.

The RGB Merge allows interpreting and viewing three monochromatic frame buffers as a single color (e.g. RGB) image, with adjustments for registration and coloring. The XCAP-Lite version does not provide the RGB Merge feature.

The Quad Pixel Merge allows interpreting and viewing four monochromatic frame buffers, each one captured after shifting the image sensor by ½ pixel horizontally and vertically, as a single high resolution image. The XCAP-Lite and XCAP-Ltd versions do not provide the Quad Pixel Merge feature.

The Frame Average allows performing recursive, continuous, averaging of live video frames (or fields) and viewing the live result. The XCAP-Lite and XCAP-Ltd versions do not provide the Frame Average feature.

The Live Options combines the View - Display options, above, with additional choices governing Live mode. During Live mode, the PIXCI® imaging board can, (a) Capture continuously into the specified frame buffer, however the image shown on the graphics display (S/VGA) may contain portions from different video frames, (b) Snap, display on the graphics display (S/VGA), and repeat, however the image display rate will be slower, or (c) Alternate capturing into the specified frame buffer and the last frame buffer (dual buffering). On host computers with insufficient PCI bandwidth to simultaneously capture into host computer memory and display from host computer memory to the graphics display (S/VGA), option (b) reduces the required bandwidth by approximately half.

The Lens Control - Birger EF232 allows controlling the aperture and focus of a compatible lens via a Birger EF232 Lens Mount. Both manual aperture and focus control, through the GUI, as well as automatic aperture and focus control, in response to the image intensity and sharpness, are provided. The XCAP-Lite and XCAP-Ltd versions do not provide the automatic aperture and focus control features.

5.2.11. PIXCI® Image Viewer - Capture - Shortcuts

A tool bar of icons provides shortcuts for accessing often used features of the PIXCI® imaging board, and is an extension of the Image Viewer - View - Shortcuts described above. Selected shortcuts can also be activated by key clicks when the tool bar window as the ''input focus'' (e.g. that window's title bar is highlighted). The shortcuts provided are:

  1. Switch to first buffer of frame buffer sequence (Key HOME).

  2. Switch to next buffer of frame buffer sequence (Key PAGE UP).

  3. Switch to previous buffer of frame buffer sequence (Key PAGE DOWN).

  4. Switch to last buffer of frame buffer sequence (Key END).

  5. Snap single image (Key S).

  6. Toggle between:

    • Live mode - continuously capture and display images (Key L), and

    • Unlive mode - cease continuously capturing and displaying (Key U).

  7. Duplicate image.

  8. Adjust palette.

  9. Zoom, scroll, and pan.

  10. Activate or deactivate cursor overlay.

  11. Select resizing of the image to fit The Image Viewer Window, or no resizing so that there is a one to one relationship between an image pixel and a graphics display system's (S/VGA) pixel (although the entire image may not fit within the window and must therefore be panned and scrolled, and the displayed aspect ratio will be incorrect for image's whose aspect ratio differs from the graphic display system's (S/VGA's) aspect ratio).

  12. Peek at numeric pixel values.

  13. Two-dimensional plot of line or column of pixel values.

  14. Histogram of pixel values.

  15. Sequence acquire.

  16. Sequence display.

The shortcuts may either be attached and part of The Image Viewer Window, or may be detached into its own window, as set by Display under Image Viewer - View.

 

5.3. Other Features

Other useful features of XCAP are associated with many, or all, of its windows.

Most windows of XCAP provide fields for numeric entry. Typically, to the right of the numeric entry field are two up/down or left/right buttons. Left clicking a button allows incrementing or decrementing the numeric value. Left clicking within a button's shaded area yields larger increment or decrement values, depending on the distance from the opposite button.

Right clicking either button (or the area between buttons), yields an options menu. The options menu typically provides the following:

  1. Selecting the base to which integer numbers are displayed, or the format and precision to which non-integer numbers are displayed.

  2. Changing the increment and decrement values to be applied when the buttons are left clicked.

  3. Activating a ScrollPad (a miniature scroll bar which overlays the displayed number) allowing adjustment of the numeric value with mouse clicks and drags.

  4. Selecting units and range for display of angles, such as 0 to 360 degrees, -180 degrees to +180 degrees, 0 to 2pi radians, or -pi to +pi radians.

  5. Selecting units for display of temporal intervals, such as milliseconds, seconds, minutes, or hours.

  6. Selecting units for display of lengths, such as millimeters, centimeters, meters, inches, or feet.

  7. Selecting units for display of frequencies, such as Hertz, kiloHertz, megaHertz, or the frequency's period in milliseconds or microseconds.

  8. Selecting units for display of memory sizes, such as bytes, kilobytes, megabytes, or gigabytes.

  9. Selecting units for display of temperature, such as Fahrenheit, Celsius, or Kelvin.

  10. Connecting the field to receive new content from a specified cell of the Black Board, or connecting the field to transmit its content to a specified cell of the Black Board.

  11. Providing a larger field in which to view or enter a number.

  12. Providing a field in which an entered mathematical expression is evaluated to a numeric value.

  13. Editing controls such as Cut, Copy, Paste, and Delete.
Numeric fields which only display computed results, text entry fields, and text display fields, may provide some of the above options — accessed by right clicking the field.

Some numeric fields may have an explicit ''slider'' control in addition to the implicit ScrollPad. Right clicking the slider allows enlarging a portion of the slider's range for finer control.

Various windows of XCAP provide fields for entry of pixel colors. Typically, the color can be entered numerically, and a small color ''swatch'' appears next to the color entry field, showing the selected color. Right clicking the swatch activates a color cylinder from which new colors may be selected by mouse clicks.

Editing of numeric and text fields follows standard conventions. In brief, mouse click once or use left/right arrow keys to position the caret - characters are inserted at the caret as typed. Double mouse click to highlight all text or single click and drag to highlight a portion of text - a Delete or Backspace removes the highlighted text, a character replaces the highlighted text, and the left/right arrow keys cancel the highlight mode.

The user interface can be navigated without a mouse by using Tab and Shift-Tab to shift input focus, arrow keys and PgUp/PgDn to scroll, arrow keys to select tabs and list items, Enter to select choices and push buttons, and Alt-Tab (under Windows) or Ctrl-Alt-Tab (under Linux) to select a Window.

 

5.4. Road Map - Main Window

Main Window

File Load New Image Load New Image Sequence TIFF JPEG/JFIF BMP AVI FITS VIF (Video Frame Files - Video to Disk) Multimedia Image File Info TWAIN Select Source TWAIN New Acquire Window List -- List of current windows Exit
Images New Image -- List of current images
Scripts Script Record Script Play Script Remote Control Script Edit Script Tools Load Tool Bar Freeze Display Thaw & Refresh Display
Utility Black Board Message Log Audio Clip (Windows only) RS-232 Terminal Screen Capture I/O Port Peek & Poke (Windows 95, 98, ME only) Program Setup Windows Info (Windows only) Linux Info (Linux only) Window Style Java Info Devices Birger EF232 Directed Perception Pan-Tilt Unit Fujinon CCTV Lens C10 Protocol Illumination Technologies 3900 Sagebrush Pan-Tilt Gimbal Protocol 2.0 Volpi intralux dc-1100
PIXCI® PIXCI® Open/Close Board Info Driver Assistant PIXCI® Video Setup Format (dependent on imaging board) Resolution Sync Custom
PIXCI® Export Video Setup PIXCI® Import Video Setup PIXCI® TWAIN Sourcery (Windows only) PIXCI® Image-Pro Sourcery (Windows only) PIXCI® Status PIXCI® Serial Terminal PIXCI® Connections PIXCI® Camera Info
Help About License XCAP Release Notes XCAP Reference Manual PC Configuration Tips

 

5.5. Road Map - PIXCI® Image Viewer Window

PIXCI® Image Viewer Window

File Save Image TIFF JPEG/JFIF BMP FITS PCX Targa X/Y Binary X/Y ASCII
Load Image TIFF JPEG/JFIF BMP FITS X/Y Binary X/Y ASCII
Save Image Sequence One TIFF w. Sequence One AVI w. Sequence Sequence of TIFF Sequence of JPEG/JFIF Sequence of BMP Sequence of FITS Sequence of PCX Sequence of Targa (TGA) Sequence of X/Y Binary Sequence of X/Y ASCII
Load Image Sequence One TIFF w. Sequence One AVI w. Sequence Sequence of TIFF Sequence of JPEG/JFIF Sequence of BMP Sequence of FITS Sequence of X/Y Binary Sequence of X/Y ASCII
E-Mail Image Save Frame Buffer Memory Load Frame Buffer Memory Print Image Duplicate Image Duplicate Image Sequence BlackBoard Image Image Attributes Close Viewer
View Shortcuts Adjustments Status Bar Full Screen Always-On-Top Refresh Image's Palette Viewer's Palette Black & Gain Numerically Band Coloring Bit Slice Bit Transposition White Balance
Sequence Play Sequence Thumbnails Cursor Display Zoom, Pan, Scroll Launch 2nd Viewer
Examine Pixel Peek Pixel Peek & Poke Pixel Plot Plot Row Plot Column Plot Buffer Plot All Rows
Pixel Plot 3D SMPTE VITC
Modify Patterns [Sequence Patterns] Set [Sequence Set] Arithmetic [Sequence Arithmetic] [Src+Dst Arithmetic] Complement Pixels Bit Wise Logical AND Pixels w. Mask Bit Wise Logical XOR Pixels w. Mask Bit Wise Logical OR Pixels w. Mask Bit Shift Left Bit Shift Right Add Constant with Pixels Multiply Constant with Pixels Add Uniform Random Dither to Pixels Add Gaussian Random Dither to Pixels Halftone, Threshold & Carry Halftone, Dot Construction Gamma Correction Pixie Minimum Pixie Maximum Pixie Mean
Binning [Sequence Binning] [Src_Dst Binning] Average Integrate Contrast Modification [Sequence Contrast Modification] [Src+Dst Contrast Modification] Stretch Contrast, Pixel Value Endpoints Stretch Contrast, Histogram Percentile Endpoints Invert Contrast Histogram Modification
Convolution [Sequence Convolution] [Src+Dst Convolution] Convolve: Convolve(PixelValue) Convolve: Abs(Convolve(PixelValue)) Convolve: PixelValue Convolve(PixelValue) Convolve: PixelValue Abs(Convolve(PixelValue))
Correlation Map [Sequence Correlation Map] [Src+Dst Correlation Map] Edge Detection [Sequence Edge Detection] [Src+Dst Edge Detection] Edge Magnitude: Laplacian Edge Magnitude: Vertical Edge Magnitude: Horizontal Edge Magnitude: Sobel Edge Magnitude: Kirsch Edge Magnitude: Roberts Edge Gradient: Log Sobel Edge Gradient: Log Sobel Absolute Edge Gradient: Log Kirsch Edge Gradient: Log Roberts Edge Gradient: Thin, Minimal Effect Edge Gradient: Thin, Maximal Effect
FFT [Sequence FFT] [Src+Dst FFT] FFT to Log Magnitude Root Filter Gaussian Filter Inverse Gaussian Filter
HSB Tweak Interlace & Flicker [Sequence Interlace & Flicker] [Src+Dst Interlace & Flicker] Shuffle Line Order to Field Order Shuffle Field Order to Line Order Transpose Line Pairs Transpose Column Pairs Shuffle Line Pairs to Pixel Pairs Shuffle Pixel Pairs to Line Pairs Deflicker: Average Line Pairs Deflicker: Filter Singularity
Morphology [Sequence Morphology] [Src+Dst Morphology] Erode Dilate Open Close Boundary Hit Miss Medial Axis Thin Skeleton Thin
Noise Generator [Sequence Noise Generator] [Src+Dst Noise Generator] Uniform Noise Gaussian Noise Rayleigh Noise Negative Exponential Noise Salt & Pepper Noise
Normalization [Sequence Normalization] [Src+Dst Normalization] Normalize Intensity, Blobs & Background Normalize Row Mean Normalize Column Mean
Rotation & Shift [Sequence Rotation & Shift] [Src+Dst Rotation & Shift] X, Y Shift Flip Skew Left/Right Skew Up/Down Rotate
Spatial Filtering [Sequence Spatial Filtering] [Src+Dst Spatial Filtering] Low Pass Filter Sharpen Filter Median Filter Rank Low (Erode) Filter Rank High (Dilate) Filter Edge Enhance: Sobel Edge Enhance: Sobel Absolute Edge Enhance: Kirsch Edge Enhance: Roberts
Spatial Normalization [Sequence Spatial Normalization] [Src+Dst Spatial Normalization] Shift Center of Mass to Center
Threshold [Sequence Threshold] [Src+Dst Threshold] Threshold Adaptive [Sequence Threshold Adaptive] [Src+Dst Threshold Adaptive] Warping [Sequence Warping] [Src+Dst Warping] Warp: Src => Dst Fiducials as Partitioned Quadrilaterals Warp: Src => Dst Fiducials as Best-Fit Polynomials Warp: Pincushion/Barrel Distortion Copy & Resize Pair Arithmetic [Sequence Pair Arithmetic] [Src+Dst Pair Arithmetic] Add: Dst+Src Modulo PixelSize Add: Min(Dst+Src, MaxPixValue) Subtract: (MaxPixValue+(Dst Src))/2 Subtract: (MaxPixValue+(Src Dst))/2 Subtract: (Dst Src)Modulo PixelSize Subtract: (Src Dst)Modulo PixelSize Subtract: (Src Dst)Modulo PixelSize Subtract: Max(Dst Src, 0) Subtract: Max(Src Dst, 0) Subtract: Abs(Dst Src) Bit Wise AND: Dst & Src Bit Wise XOR: Dst ^ Src Bit Wise OR: Dst | Src Average: (Src+Dst)/2 Product: (c0*Src+c1)*(c2*Dst+c3)/c4 Product: (c0*Dst+c1)/(c2*Src+c3) Ratio: (c0*Dst+c1)/(c2*Src+c3) User-Defined f(PixA, PixB)
Pair Normalization [Sequence Pair Normalization] [Src+Dst Pair Normalization] Contrast Modify & Match Background Correction, Subtractive Background Correction, Ratio Spot Mask Correction
Triplet Normalization [Sequence Triplet Normalization] [Src+Dst Triplet Normalization] Gain & Offset Normalization: MeanSrcB*(Dst-SrcA)/(SrcB-SrcA) Gain & Offset Normalization: MaxSrcB*(Dst-SrcA)/(SrcB-SrcA) Gain & Offset Normalization: MinSrcB*(Dst-SrcA)/(SrcB-SrcA)
Average Sequence Average Sequence Integrate Sequence Difference Sequence Tile Sequence
Measure Intensity Calibration Spatial Calibration Histogram Histogram Pair Mass & Moments Center of Mass Center of Mass, Binary Moments
Line Profile Radial Mass Plot Ruler Protractor Cartesian Reticle Polar Reticle Distance & Angle Crosshairs Shape Analysis Blob Analysis Particle Tracking SubPixel Edger Ellipse Fitter Correlation Finder
Draw Arrow Text Point Points Bezier Curve Circle Circle Arc Ellipse Ellipse Arc Line Parallel Lines Path Curve Polyline Rectangle Window Annulus Annulus Arc Bezier Region Elliptical Annulus Elliptical Annulus Arc Rectangle Array Path Enclosed Polygon Rectangular Frame Graphic Manager Image Overlay Paint Brush Paint Fill
AOI Set AOI Set ROI Set Full Image AOI/ROI Manager
Capture Adjustments Shortcuts Snap Live UnLive First Buffer Last Buffer Next Buffer Previous Buffer Sequence Capture Video to Frame Buffers - Single Sequence Video to Frame Buffers - Single Sequence w. Event Start Video to Frame Buffers - Single Sequence w. Event per Image Video to Frame Buffers - Continuous Sequence Video to Frame Buffers - Continuous Sequence w. Event Stop Video to Frame Buffers - Continuous Sequence w. Event per Image Video to Virtual Memory - Single Sequence Video to Virtual Memory - Single Sequence w. Event Start Video to Virtual Memory - Single Sequence w. Event per Image Video to Virtual Memory - Continuous Sequence Video to Virtual Memory - Continuous Sequence w. Event Stop Video to Virtual Memory - Continuous Sequence w. Event per Image Video to Disk File - Single Sequence Video to Disk File - Single Sequence w. Event Start Video to Disk File - Single Sequence w. Event per Image Video to Disk File - Continuous Sequence Video to Disk File - Continuous Sequence w. Event Stop Video to Disk File - Continuous Sequence w. Event per Image Video to Image Files - Single Sequence Video to Image Files - Single Sequence w. Event Start Video to Image Files - Single Sequence w. Event per Image Video to Image Files - Continuous Sequence Video to Image Files - Continuous Sequence w. Event Stop Video to Image Files - Continuous Sequence w. Event per Image Video to StreamStor (Windows only) GIO Event Capture
Waterfall Display Video to Disk RGB Merge Quad Pixel Merge Frame Average Lens Control Birger EF232 Live Options
Help Vis-a-Vis

Optionally, the Main Window and the PIXCI® Image Viewer Window's may be combined (see Utilities - Program Setup) with the following features of the Main Window added to the PIXCI® Image Viewer Window:


File Window List -- List of current windows Image List -- List of current images Exit Utility Message Log Program Setup Windows Info (Windows only) Linux Info (Linux only) Window Style Java Info
PIXCI® PIXCI® Open/Close PIXCI® TWAIN Sourcery (Windows only) PIXCI® Image-Pro Sourcery (Windows only) PIXCI® Connections PIXCI® Video Setup PIXCI® Serial Terminal
Help XCAP Release Notes XCAP Reference Manual PC Configuration Tips License About

Optionally, if XCAP is intended to be used solely in conjunction with a TWAIN compliant application or with Image-Pro, many of the menu features of the Main Window and the PIXCI® Image Viewer Window may be removed so as to provide a simplified appearance (see Utilities - Program Setup). The same option also removes several PIXCI® Image Viewer - Capture - Shortcuts and adds shortcuts duplicating features of the PIXCI® - TWAIN Sourcery and Image-Pro Sourcery.

 

5.6. XCAP Software Feature Comparison

Feature XCAP-Plus XCAP-Std XCAP-Ltd XCAP-Lite(A) XCAP-Demo(B)

File -
- Load New Image Yes Yes Yes Yes (C) No
- Load New Image Sequence Yes Yes Yes(D) No No
- Image File Info Yes Yes Yes Yes Yes
- TWAIN Select Source (Win) Yes Yes No No No
- TWAIN New Acquire (Win) Yes Yes No No No

Images -
- New Image Workspace Yes Yes Yes Yes Yes

Scripts -
- Record Yes Yes No No No
- Play Yes Yes Yes Yes No
- Remote Control Yes Yes No No No
- Load Tool Bar Yes Yes No No No

Utility -
- Black Board Yes Yes No No No
- Message Log Yes Yes Yes Yes Yes
- Audio Clip (Win) Yes Yes Yes Yes No
- RS-232 Terminal Yes Yes Yes Yes Yes
- Screen Capture Yes Yes Yes No No
- I/O Port Peek & Poke (W95) Yes Yes Yes Yes Yes
Devices -
- Birger EF232 Yes Yes Yes Yes Yes
- Directed Perception Pan-Tilt Unit Yes Yes Yes Yes Yes
- Fujinon CCTV Lens C10 Yes Yes Yes Yes Yes
- Illumination Technologies 3900 Yes Yes Yes Yes Yes
- Sagebrush Pan-Tilt Gimbal Yes Yes Yes Yes Yes
- Volpi intralux dc-1100 Yes Yes Yes Yes Yes

PIXCI® -
- Open/Close -
- Single Board Yes Yes Yes Yes No
- Multiple Identical Boards Yes Yes Yes Yes No
- Multiple Different Boards Yes Yes No No No
- Frame Buffer Memory Limit -
w. PIXCI® CL3SD None (E) None (E) None (E) None N/A
w. PCI 32 bit None (E) None (E) 4 GByte (E) 64 MByte(E) N/A
w. PCI 64 bit None (E) None (E) 4 GByte (E) 64 MByte(E) N/A
w. PCI Express & 32 bit O.S. None (E) None (E) 4 GByte (E) 64 MByte(E) N/A
w. PCI Express & 64 bit O.S. None (E) None (E) 8 GByte (E) 64 MByte(E) N/A
w. ExpressCard/54 & 32 bit O.S. None (E) None (E) 4 GByte (E) 64 MByte(E) N/A
w. ExpressCard/54 & 64 bit O.S. None (E) None (E) 8 GByte (E) 64 MByte(E) N/A
- Driver Assistant/Wizard Yes Yes Yes Yes No
- Video Setup Yes Yes Yes Yes No
- Export Video Setup Yes Yes Yes Yes No
- Import Video Setup Yes Yes Yes Yes No
- TWAIN Sourcery (Win) Yes Yes Yes Yes No
- Image-Pro Sourcery (Win) Yes Yes Yes Yes No
- Status Yes Yes Yes Yes No
- Serial Terminal Yes Yes Yes Yes No
- Connections Info Yes Yes Yes Yes Yes
- Camera Info Yes Yes Yes Yes Yes
- Camera Specific Controls Yes (F) Yes (F) Yes (F) Yes (F) No

Help -
- XCAP Release Notes Yes Yes Yes Yes Yes
- XCAP Reference Manual Yes Yes Yes Yes Yes
- PC Configuration Tips Yes Yes Yes Yes Yes

File -
- Save Image Yes Yes Yes Yes (C) No
- Load Image Yes Yes Yes Yes (C) No
- Save Image Sequence Yes Yes Yes No No
- Load Image Sequence Yes Yes Yes No No
- E-Mail Image Yes Yes Yes No No
- Print Image Yes Yes Yes Yes (R) No
- Duplicate Image Yes Yes Yes No No
- Duplicate Image Sequence Yes Yes Yes No No
- BlackBoard Image Yes Yes No No No

View -
- Full Screen Yes Yes Yes No No
- Palette Yes Yes Yes Yes (G) Yes (G)
- Sequence Play Yes Yes Yes Yes Yes
- Sequence Thumbnails Yes Yes Yes No No
- Cursor Yes Yes Yes Yes Yes
- Zoom, Pan, Scroll Yes Yes Yes Yes Yes
- Launch 2nd Viewer Yes Yes Yes No No

Examine
- Pixel Peek Yes Yes Yes Yes (H) Yes (H)
- Pixel Peek & Poke Yes Yes Yes Yes Yes
- Pixel Plot Row Yes Yes Yes Yes (I) Yes (I)
- Pixel Plot Column Yes Yes Yes Yes (I) Yes (I)
- Pixel Plot Buffer Yes Yes Yes Yes (I) Yes (I)
- Pixel Plot All Rows Yes Yes Yes No No
- Pixel Plot 3D Yes Yes Yes Yes (S) Yes (S)
- SMPTE VITC Yes Yes Yes Yes No

Modify -
- Patterns Yes Yes Yes Yes Yes
- Set Yes Yes Yes (J) Yes (J) Yes (J)
- Arithmetic Yes Yes No No No
- Binning Yes Yes No No No
- Contrast Modification Yes Yes No No No
- Convolution Yes Yes No No No
- Correlation Map Yes Yes No No No
- Edge Detection Yes Yes No No No
- FFT Yes Yes No No No
- HSB Tweak Yes Yes No No No
- Interlace & Flicker Yes Yes No No No
- Morphology Yes Yes No No No
- Noise Generator Yes Yes No No No
- Normalization Yes Yes No No No
- Rotation & Shift Yes Yes No No No
- Spatial Filtering Yes Yes No No No
- Spatial Normalization Yes Yes No No No
- Threshold Yes Yes No No No
- Threshold Adaptive Yes Yes No No No
- Warping Yes Yes No No No
- Copy & Resize Yes Yes No No No
- Pair Arithmetic Yes Yes No No No
- Pair Normalization Yes Yes No No No
- Average Sequence Yes Yes No No No
- Difference Sequence Yes Yes No No No
- Tile Sequence Yes Yes No No No

Measure -
- Intensity Calibration Yes Yes No No No
- Spatial Calibration Yes Yes No No No
- Histogram Yes Yes No No No
- Histogram Pair Yes Yes No No No
- Mass & Moments Yes Yes No No No
- Line Profile Yes Yes Yes (K,L) Yes (I,K,L) Yes (I,K,L)
- Radial Mass Plot Yes Yes No No No
- Ruler Yes Yes Yes (K) Yes (K) Yes (K)
- Protractor Yes Yes No No No
- Cartesian Reticle Yes Yes Yes (K) Yes (K) Yes (K)
- Polar Reticle Yes Yes No No No
- Dist. & Angle Crosshairs Yes Yes No No No
- Shape Analysis Yes Yes No No No
- Blob Analysis Yes Yes No No No
- Particle Tracking Yes Yes No No No
- SubPixel Edger Yes Yes No No No
- Ellipse Fitter Yes Yes No No No
- Correlation Finder Yes Yes No No No

Draw -
- Arrow Yes Yes Yes Yes Yes
- Text Yes Yes Yes No No
- Point Yes Yes Yes No No
- Points Yes Yes Yes No No
- Bezier Curve Yes Yes Yes No No
- Circle Yes Yes Yes No No
- Circle Arc Yes Yes Yes No No
- Ellipse Yes Yes Yes No No
- Ellipse Arc Yes Yes Yes No No
- Line Yes Yes Yes Yes Yes
- Parallel Lines Yes Yes Yes No No
- Path Curve Yes Yes Yes No No
- Polyline Yes Yes Yes No No
- Rectangle Yes Yes Yes No No
- Window Yes Yes Yes Yes Yes
- Annulus Yes Yes Yes No No
- Annulus Arc Yes Yes Yes No No
- Bezier Region Yes Yes Yes No No
- Elliptical Annulus Yes Yes Yes No No
- Elliptical Annulus Arc Yes Yes Yes No No
- Rectangle Array Yes Yes Yes No No
- Path Enclosed Yes Yes Yes No No
- Polygon Yes Yes Yes No No
- Rectangular Frame Yes Yes Yes No No
- Graphic Manager Yes Yes Yes Yes Yes
- Paint Brush Yes Yes Yes No No
- Paint Fill Yes Yes Yes No No
- Image Overlay Yes Yes No No No

Capture -
- Snap (Video) Yes Yes Yes Yes No
- Live (Video) Yes Yes Yes Yes No
- Frame Date&Time Stamp Yes Yes Yes Yes No
- First Buffer Yes Yes Yes Yes No
- Next Buffer Yes (M) Yes (M) Yes (M) Yes (M) No
- Previous Buffer Yes (M) Yes (M) Yes (M) Yes (M) No
- Last Buffer Yes (M) Yes (M) Yes (M) Yes (M) No
- Adjustments -
- Snap/Live Buffer Number Yes Yes Yes Yes No
- Resolution (video window) Yes Yes Yes Yes No
- Camera Specific Controls Yes (F) Yes (F) Yes (F) Yes (F) No
- Color & White Balance Yes (N) Yes (N) Yes (N) Yes (N) No
- Auto Gain/Exposure Control Yes (O) Yes (O) Yes (O) No (O) No
- Pixel Normalization Yes (V) Yes (V) Yes (V) Yes (V) No
- Load & Save Presets Yes Yes Yes No No
- Shortcuts Yes Yes Yes Yes No
- GIO Event Capture Single Yes Yes Yes Yes No
- GIO Event Capture Sequence Yes Yes Yes No No
- Waterfall Display Yes Yes Yes Yes No
- RGB Merge Yes Yes Yes No No
- Frame Average Yes Yes No No No
- Quad Pixel Merge Yes No No No No
- Lens Control -
- Birger EF232 Yes Yes No(U) No(U) No

Sequence Capture (Single Sequence and Continuous Sequence) -
- to Frame Buffers Yes (E) Yes (E) Yes (E) Yes (P)(E) No
- to Frame Buffers at Event Yes Yes Yes No (Q) No
- to Virtual Memory Yes Yes Yes (T) Yes (P)(T) No
- to Virtual Memory at Event Yes Yes Yes (T) No (Q) No
- to Image Files Yes Yes Yes No No
- to Image Files at Event Yes Yes Yes No No
- to Image Files - FTP Copy Yes Yes Yes No No
- to Image Files - HTTP Server Yes Yes Yes No No
- to Disk File Yes Yes No No No
- to Disk File at Event Yes Yes No No No
- to StreamStor (Win) Yes No No No No

Notes: (A) For XCAP-Lite, the PIXCI® imaging board is assumed installed and open for use. (B) For XCAP-Demo, images can't be loaded or captured, except example image files provided. (C) For XCAP-Lite, images may not be loaded directly from an Internet URL, or saved directly to an FTP URL. (D) For XCAP-Ltd, images in VIF (Video Frame Files - Video to Disk) format may not be loaded. (E) A combination of the characteristics of PIXCI® imaging cards, operating systems, and of XCAP software. The PIXCI® CL3SD has on-board frame buffer memory, other PIXCI® imaging cards use computer based frame buffer memory. The PIXCI® CL1, CL2, D, D24, D32, D2X, D3X, SI, SV2, SV3, SV4, and SV5 are designed to access up to 4 GB of computer memory. The PIXCI® E1, E1DB, E4, E4DB, EB1, EB1-PoCL, EC1, ECB1, ECB1-34, ECB2, EL1, EL1DB, SI1, and SI4 are designed to access up to 16 EByte of computer memory (a theoretical limit, as no currently available PC provides 16 EByte of memory). For XCAP-Lite, a maximum of 64 MByte of computer based frame buffer memory is supported. On 32 bit systems, XCAP-Std and XCAP-Ltd support up to 4 GBytes of computer based frame buffer memory. On 64 bit systems, XCAP-Std supports up to 16 EByte of computer based frame buffer memory; XCAP-Ltd supports up to 8 GByte of computer based frame buffer memory. The maximum available computer based frame buffer memory is also limited by the computer hardware, configuration, and memory needed by the operating system. (F) Camera specific controls provided for most digital cameras supported by PIXCI® CL1, CL2, CL3SD, D, D24, D32, D2X, D3X, E1, E1DB, E4, E4DB, EB1, EB1-PoCL, EC1, ECB1, ECB1-34, ECB2, EL1, EL1DB, SI, SI1, and SI4; the 'PIXCI® Camera Info' feature shows the specific, customized, support provided for each camera. (G) For XCAP-Lite and XCAP-Demo, the View, Palette feature does not include save, load, import, or export, nor the ''Extract Bright/Dark Reference'' features. (H) For XCAP-Lite and XCAP-Demo, the Examine, Pixel Peek feature does not include save. (I) For XCAP-Lite and XCAP-Demo, plotting features do not include statistics, save, or export options. (J) For XCAP-Ltd, XCAP-Lite, and XCAP-Demo, the Modify, Set feature does not include non-rectangular regions. (K) For XCAP-Ltd, XCAP-Lite, and XCAP-Demo, the Measure features do not include calibration. (L) For XCAP-Ltd, XCAP-Lite, and XCAP-Demo, the Line Profile is limited to straight lines. (M) Subject to the amount of frame buffer memory versus image resolution yielding more than one frame buffer. (N) For Bayer output digital color cameras with software providing white balance and color corrections. The XCAP-Lite provides one set of customizable white & black balance settings, but not multiple customizable sets that can be saved and reselected. The XCAP-Lite provides automatic, continuous, white balance only for SILICON VIDEO® cameras. The XCAP-Lite does not provide custom color calibration from a Macbeth chart or other color reference. (O) Software implemented AGC/AEC is provided for selected cameras; of those, XCAP-Lite provides AGC/AEC only for SILICON VIDEO® cameras. (P) For XCAP-Lite, the Sequence Capture does not include the time stamp feature, nor the strobe features added by software (as selected in the Sequence Capture dialog); any strobe features provided by the PIXCI® imaging board or camera (either inherent or selected in the Capture & Adjust dialog) are available. (Q) For XCAP-Lite, the ''triggered'' sequence capture is provided when the camera is being triggered (often referred to as ''Async Reset Mode''); sequence capture from a free-running camera where the trigger or event is handled separately is not provided. (R) For XCAP-Lite, the image printing feature supports only the operating system's built-in image printing feature(s), not printing via EPIX® imaging drivers. (S) For XCAP-Lite and XCAP-Demo, plotting features do not include save or export options. (T) For XCAP-Lite, the sequence capture to virtual memory is limited to using 1 GByte of virtual memory For XCAP-Ltd, the sequence capture to virtual memory is limited to using 4 GByte of virtual memory. The operating system's configuration may impose additional limitations. (U) Interactive control of the lens is provided, but not automatic aperture or automatic focus features. (V) Software implemented pixel normalization is provided for SILICON VIDEO® and other selected cameras; of those, XCAP-Lite does not provide pixel normalization in generic Camera Link mode. (W95) Feature available only under Windows 95, 98, and ME. (Win) Feature available only under Windows.


 

 

 

6. Getting Started with XCLIB

The optional XCLIB C/C++ library allows controlling the PIXCI® imaging board from ''C'' and ''C++'' programs. Under Windows, the XCLIB library can also be accessed by any programming environment able to call functions within a DLL; a partial list includes Visual Basic, VB.NET, LabView, Matlab, and Borland Delphi.

The XCLIB library is designed to be a component which is called by the user's application, rather than an application template with pre-selected and limited customizability. In other words, the XCLIB library forces the fewest possible architectural choices upon the user's application. Under Windows the XCLIB library is composed of ''C'' functions within a DLL and can be used from non-MFC, MFC, C#, or even ''console'' applications. With one optional exception, the XCLIB library does not create any windows or dialogs of its own; rather it allows displaying imagery into any window provided by the user.

This quick introduction focuses primarily on XCLIB functions themselves; programming environment, operating system issues, and compilation instructions are addressed in the XCLIB Reference Manual and in the example programs provided with XCLIB. Nor is this introduction intended to cover every XCLIB function or to provide complete programs; rather it is intended to provide the ''feel'' of XCLIB programming, without the complications of user interfaces and application specific functionality.

 

6.1. XCLIB Architecture Overview

The XCLIB has two series of functions. The Simple C Functions (SCF), whose names start with pxd_, suffice for most programs using one imaging board, or multiple imaging boards of the same type and operating at the same resolution. This introduction only discusses the SCF functions.

Frame buffers are preallocated by the library, and selected by ordinals 1, 2, etc. The number of frame buffers is dependent on the camera resolution and the total memory size reserved for frame buffers. Under Windows, the reserved memory size can easily be set in XCAP's Driver Assistant, or by following the installation instructions.

For cameras with raw Bayer output, XCLIB automatically provides processed RGB pixel values. For multi-tap cameras with pixels output in an order other than left-to-right, top-to-bottom, XCLIB automatically provides pixels in the correct order.

Functions to snap a video field or frame (such as pxd_goSnap, discussed below) capture the next video field or frame following its invocation. In other words, the function ''arms'' the PIXCI® imaging board to capture the next video field or frame into a frame buffer. This is in contrast to having the imaging board consume resources continuously capturing everything, and having a hypothetical snap function retrieve the last field or frame captured. This hypothetical behavior can be obtained in XCLIB using pxd_goLivePair (also discussed below) or similar functions, but it is not the behavior of the snap function.

 

6.2. The Simplest XCLIB Program

The following code captures an image into the first frame buffer with the imaging board and camera in the default mode:

    #include "xcliball.h"
        ...
    pxd_PIXCIopen(NULL,         // driver configuration parameters: use default
                  "Default",    // video format name: use default as per specific imaging board
                  NULL);        // video setup file exported by XCAP: none
    pxd_doSnap(0x1,             // select PIXCI(R) unit 1
               1,               // select frame buffer 1
               0);              // default timeout
    pxd_PIXCIclose();
For a shorter program, under Windows and Linux (but not DOS) the:
    pxd_PIXCIclose();
may be eliminated, but for the sake of robustness and portability including the pxd_PIXCIclose is strongly recommended.

A slightly longer program that does something useful with the captured image:

    #include "xcliball.h"
        ...
    pxd_PIXCIopen(NULL, "Default",  NULL);
    pxd_doSnap(0x1, 1, 0);
    pxd_saveTiff(0x1,           // select PIXCI(R) unit 1
                 "image.tif",   // pathname
                 1,             // select frame buffer 1
                 0, 0,          // upper left X, Y AOI of buffer
                 -1, -1,        // lower right X, Y AOI of buffer,
                                // -1 is an abreviation for the maximum X or Y
                 0, 0);         // reserved
    pxd_PIXCIclose();
which saves the captured image to a file, or:
    #include "xcliball.h"
        ...
    pxd_PIXCIopen(NULL, "Default",  NULL);
    pxd_doSnap(0x1, 1, 0);
    {
        void *buf = malloc(  pxd_imageXdim()    // horizontal resolution
                           * pxd_imageYdim()    // vertical resolution
                           * sizeof(short));

pxd_readushort(0x1, // select PIXCI(R) unit 1 1, // select frame buffer 1 0, 0, // upper left X, Y AOI of buffer -1, -1, // lower right X, Y AOI of buffer, // -1 is an abreviation for the maximum X or Y buf, // program buffer to be filled pxd_imageXdim() * pxd_imageYdim(), // size of program buffer in short's "Grey"); // color space to access .. process data .. free(buf); } pxd_PIXCIclose();
which copies the captured image into a program buffer. Both pxd_saveTiff and pxd_readushort allow saving or reading from an area of interest (AOI) of the captured image.

The XCLIB provides data conversions, ''unsigned char'' versus ''unsigned short'', as necessary, as well as color space conversions. Thus, pxd_readushort will work with 8, 10, or 12 bit pixels, enlarging 8 bit pixels to unsigned shorts (right justified). And the similar pxd_readuchar also works with 8, 10, or 12 bit pixels, truncating 10 or 12 bit pixels to unsigned chars (keeping the most significant bits).

Similarly, these functions convert color spaces as needed; in the example above, correct grey level data is provided regardless of whether the captured image is monochrome, RGB, BGR, or Bayer.

For resolution and color space dependent access to pixel data the pixel size, resolution and color space can be queried:

    ..
    pxd_doSnap(0x1, 1, 0);
    {
        void *buf = malloc(  pxd_imageXdim()    // horizontal resolution
                           * pxd_imageYdim()    // vertical resolution
                           * (pxd_imageBdim()>8? sizeof(short): sizeof(char))
                                                // bit depth
                           * pxd_imageCdim());  // number of color components

if (pxd_imageBdim() <= 8) pxd_readuchar(0x1, 1, 0, 0, -1, -1, buf, pxd_imageXdim() * pxd_imageYdim() * pxd_imageCdim(), pxd_imageCdim()==1? "Grey": "RGB"); else pxd_readushort(0x1, 1, 0, 0, -1, -1, buf, pxd_imageXdim() * pxd_imageYdim() * pxd_imageCdim(), pxd_imageCdim()==1? "Grey": "RGB"); .. process data .. free(buf); }
In practice, most application programs are designed for a specific camera and resolution, and the above code can be simplified by using only the relevant pxd_readuchar or pxd_readushort.

For Bayer output cameras, the pxd_imageCdim() is the number of effective and useful colors, namely 3, not the number of raw values per pixel!

 

6.3. XCLIB Error Detection

Every real application should check for errors. Most XCLIB functions return an integer value, with values less than 0 indicating an error. The pxd_mesgErrorCode function provides a textual description for each error:

    int     r;
    r = pxd_saveTiff(0x1, "image.tif", 1, 0, 0, -1, -1, 0, 0);
    if (r < 0) {
        // For Windows GUI
        MessageBox(NULL, pxd_mesgErrorCode(r)), "XCLIB Error", MB_OK|MB_TASKMODAL);
        // For Windows Console, DOS, Linux
        printf("XCLIB Error: %s\n", pxd_mesgErrorCode(r));
    }
In addition, the pxd_mesgFault provides a detailed report for errors occurring during pxd_PIXCIopen and video capture functions.
    int     r;
    r = pxd_PIXCIopen(NULL, "Default", NULL);
    if (r < 0)
        pxd_mesgFault(0x1); // select PIXCI(R) unit 1
Under Windows, the pxd_mesgFault pops up a dialog. Under DOS or Linux it displays error information to ''stderr''.

Hereafter, for the sake of brevity and clarity, error checking will not be shown.

 

6.4. PIXCI® E1, E1DB, E4, E4DB, EB1, EB1-PoCL, EC1, ECB1, ECB1-34, ECB2, EL1, EL1DB Video Configuration

The PIXCI® E1, E1DB, E4, E4DB, EB1, EB1-PoCL, EC1, ECB1, ECB1-34, ECB2, EL1, or EL1DB video setup defaults to match the camera's default configuration. For most cameras the default configuration is full resolution, free-running.

To change the video setup, such as to select a camera trigger mode (if available on the camera used) or to reduce resolution so as to obtain more frame buffers within a given amount of memory:

  1. Using XCAP, configure the desired format and resolution.

  2. Use:
        PIXCI®
        PIXCI® Export Video Setup
    
    to save the video setup to a specified file name.

  3. Use:
        pxd_PIXCIopen(NULL, NULL, path_to_file_name);
    
    to open XCLIB with the same video setup. The third parameter can be a fully qualified path name or a file name; if the latter, the standard operating system default determines what directory (folder) is expected to contain the file name.

    Alternately, the pxd_videoFormatAsIncluded allow switching the video setup without re-opening XCLIB, as well as compiling the video setup file into the application. See the XCLIB Reference Manual for more information.

For cameras which are configured via RS-232 serial commands or via RS-232-like Camera Link serial commands, neither of the above methods re-configures the camera via its serial commands. For many cameras, the camera's default configuration can be changed using the manufacturer's software. Alternately, an application note in the XCLIB Reference Manual describes how to use serial commands to re-configure the camera via XCLIB. In either case, it is important that the camera's configuration, such as trigger mode versus free-run mode, match the PIXCI® imaging board's configuration.

 

6.5. More Video Capture Modes

The:

    pxd_doSnap(...);
is the easiest function for capturing single images; the programmer specifies the buffer and the function returns when the capture is completed.

Other capture functions return immediately, allowing the application to proceed with other tasks without having to utilize multiple execution threads. The:

    pzd_goSnap(0x1, // select PIXCI(R) unit 1
               1);  // select frame buffer 1
initiates capture of a single video field or frame into the specified buffer, the:
    pzd_goLive(0x1, // select PIXCI(R) unit 1
               1);  // select frame buffer 1
initiates continuous capture of each video field or frame into the specified buffer, the:
    pxd_goLivePair(0x1, // select PIXCI(R) unit 1
                   1,   // select frame buffer 1
                   2);  // select frame buffer 2
initiates continuous captured of each video field or frame into alternate buffers, the:
    pxd_goLiveSeq(0x1   // select PIXCI(R) unit 1
                  1,    // select start frame buffer 1
                  10,   // select end frame buffer 2
                  1,    // incrementing by one buffer
                  10,   // for a total of ten frames
                  1);   // advancing to the next buffer after each frame
initiates capture at video rate of ten fields or frames into ten buffers, and finally the:
    pxd_goLiveSeq(0x1               // select PIXCI(R) unit 1
                  1,                // select start frame buffer 1
                  pxd_imageZdim(),  // select end as last frame buffer
                  1,                // incrementing by one buffer
                  0,                // for ever
                  1);               // advancing to next buffer after each 1 frame
initiates continuous capturing of video fields or frames at video rate into a ''ring'' composed of all frame buffers.

For use along with capture functions that run in the ''background'' are functions to monitor their progress. For example:

    pxd_goSnap(0x1, 1);
    for (;;) {
        if (!pxd_goneLive(0x1, 0))
            break;
        .. do some useful work while waiting..
    }
is one method of checking whether the previous pxd_goSnap is done. Or,
    pxbuffer_t  last = -1;

pxd_goLivePair(0x1, 1, 2); for (;;) { if (pxd_capturedBuffer(0x1) == last) continue; // nothing new captured yet last = pxd_capturedBuffer(0x1); .. process last captured image .. }
continuously captures into a pair of buffers, processing each video field or frame as the next is being captured.

Of course, many applications prefer to avoid ''polling'' for status within a loop. The XCLIB also provides asynchronous notification of both,

  1. A field has arrived from the camera (whether XCLIB was instructed to capture it or not),

  2. A field has been captured.
In Windows these notifications take the form of an ''Event'', in DOS these notifications take the form of a callback function, and in Linux these notifications take the form of a ''signal''. For example, under Windows:
    HANDLE event = pxd_eventCapturedFieldCreate(0x1);   // select PIXCI(R) unit 1
Thereafter, any thread waiting upon the event will be notified whenever a field has been captured by pxd_goSnap, pxd_goLive, pxd_goLivePair, pxd_goLiveSeq, or by the pxd_goLiveTrig discussed below.

 

6.6. PIXCI® E1, E1DB, E4, E4DB, EB1, EB1-PoCL, EC1, ECB1, ECB1-34, ECB2, EL1, EL1DB Triggered Capture

Cameras used with the PIXCI® E1, E1DB, E4, E4DB, EB1, EB1-PoCL, EC1, ECB1, ECB1-34, ECB2, EL1, or EL1DB typically have a free-run mode; continuously exposing and sending fields or frames to the imaging board. Some may also have a asynchronous trigger mode; where the camera exposure and video is quiescent until arrival of a trigger, upon which the sensor is exposed once and a single image sent to the imaging board.

When combined with the capabilities of the PIXCI® imaging board, the camera may be in asynchronous trigger mode but with the imaging board generating periodic triggers (in XCAP this is usually governed by the Controlled Frame Rate). For the purposes of this discussion on XCLIB triggered capture, this combination is effectively the same as if the camera were in a free-run mode.

6.6.1. Free-Run Trigger Capture

For a camera and imaging board combination in free-run mode, triggering consists of selecting a field or frame to capture.

A simple trigger example using the general purpose level sensitive input, is:

    int odata;
    odata = pxd_getGPIn(0x1,    // select PIXCI(R) unit 1
                        0);     // reserved
    while (odata == pxd_getGPIn(0x1, 0))
        ;
    pxd_doSnap(0x1, 1, 0);
which waits until any of the general purpose input(s) have changed, then snaps the next field or frame arriving from the camera.

Or,

    int odata = pxd_getGPIn(0x1, 0);    // save current G.P inputs
    pxd_goLive(0x1, 1);                 // capture continuously
    pxd_setGPout(0x1, 0x01);            // set output flag that we are ready
    while (odata == pxd_getGPIn(0x1, 0))
        ;                               // wait for trigger
    pxd_setGPout(0x1, 0x00);            // set output flag that we saw the trigger
    pxd_goUnLive(0x1);                  // terminate continuous capture
    while pxd_goneLive(0x1, 0))         // wait for capture to cease
        ;
    pxd_setGPout(0x1, 0x01);            // set output flag that we are done
This variation captures the field or frame which was being sent while the trigger was received; the former example captures the field or frame following the trigger. It also demonstrates use of the general purpose output for ''handshaking'' with the external equipment.

Both of these examples depend on the application responding to the general purpose input in a timely manner, and both consume time in wait loops. Neither is a significant problem under single-tasking DOS, but can be a problem under multi-tasking Windows or Linux depending upon how much latency the application allows and what other tasks are running.

Alternately, the pxd_goLiveTrig described in the XCLIB Reference Manual performs the same function as the latter example including use of general purpose output ''strobes'', but returns immediately leaving the trigger capture running in the ''background''. It also provides minimal latency and additional options for delaying the capture following the trigger by a specified number of fields or frames.

Triggering can also be done using the general purpose edge sensitive trigger:

    int ocnt = pxd_getGPTrigger(0x1, 0);        // save current trigger count
    while (ocnt == pxd_getGPTrigger(0x1, 0))    // wait for change
        ;
    pxd_doSnap(0x1, 1, 0);                      // snap
or
    int ocnt = pxd_getGPTrigger(0x1, 0);        // save current trigger count
    pxd_goLive(0x1, 1);                         // capture continuously
    while (ocnt == pxd_getGPTrigger(0x1, 0))    // wait for change
        ;
    pxd_goUnLive(0x1);                          // terminate continuous capture
    while pxd_goneLive(0x1, 0))                 // wait for capture to cease
        ;
For applications which prefer to avoid ''polling'' for status within a loop, XCLIB also provides asynchronous notification of the general purpose trigger. As for video field notifications, in Windows these notifications take the form of an ''Event'', in DOS these notifications take the form of a callback function, and in Linux these notifications take the form of a ''signal''. For example, under Windows:
    HANDLE event = pxd_eventGPTriggerCreate(0x1, 0, 0);   // select PIXCI(R) unit 1
Thereafter, any thread waiting upon the event will be notified upon the general purpose trigger, and can then do a pxd_goSnap or pxd_goUnLive, as appropriate.

6.6.2. Asynchronous Trigger Capture

For a camera in asynchronous trigger mode, there are two possible submodes. In one submode, the trigger is external. An example of capturing a single triggered image is:

    pxd_goSnap(0x1, 1);             // call BEFORE trigger is expected
    while pxd_goneLive(0x1, 0))     // wait for trigger then
        ;                           // wait for capture to cease
The pxd_doSnap should not be used, unless its timeout parameter adjusted to accommodate the delay before the trigger arrives. The pxd_goLive, pxd_goLivePair, and pxd_goLiveSeq can also be used to continuously capture triggered images, or to capture a sequence of triggered images. Neither pxd_getGPTrigger nor its asynchronous notification (e.g. pxd_eventGPTriggerCreate) need be used.

In the second submode, the PIXCI® imaging board automatically issues a single trigger pulse (in XCAP this is described as the ''Button'' or ''Snap Button'' trigger selection.) In XCLIB, the equivalent is simply:

    pxd_doSnap(0x01, 1);
or
    pxd_goSnap(0x01, 1, 0);
which both ''arm'' the PIXCI® imaging board to capture an image and trigger the camera. Neither pxd_getGPTrigger nor its asynchronous notification (e.g. pxd_eventGPTriggerCreate) need be used. The pxd_goLive, pxd_goLivePair, and pxd_goLiveSeq are not appropriate for this mode.

 

6.7. PIXCI® E1, E1DB, E4, E4DB, EB1, EB1-PoCL, EC1, ECB1, ECB1-34, ECB2, EL1, EL1DB Triggered Sequence Capture

For a camera and imaging board combination in free-run mode, triggering consists of selecting a field or frame on which to start or end capture. For example:

    int odata;
    odata = pxd_getGPIn(0x1,    // select PIXCI(R) unit 1
                        0);     // reserved
    while (odata == pxd_getGPIn(0x1, 0))
        ;
    pxd_goLiveSeq(0x1               // select PIXCI(R) unit 1
                  1,                // select start frame buffer 1
                  pxd_imageZdim(),  // select end as last frame buffer
                  1,                // incrementing by one buffer
                  pxd_imageZdim(),  // for this many captures
                  1);               // advancing to next buffer after each 1 frame
    while pxd_goneLive(0x1, 0))         // wait for capture to cease
        ;
which waits until any of the general purpose inputs have changed, then fills the frame buffers with fields or frames at video rate.

Or,

    int ocnt = pxd_getGPTrigger(0x1, 0);
    pxd_goLiveSeq(0x1               // select PIXCI(R) unit 1
                  1,                // select start frame buffer 1
                  pxd_imageZdim(),  // select end as last frame buffer
                  1,                // incrementing by one buffer
                  0,                // for ever
                  1);               // advancing to next buffer after each 1 frame
    while (ocnt == pxd_getGPTrigger(0x1, 0))
        ;
    pxd_goUnlive(0x1);
    while pxd_goneLive(0x1, 0))         // wait for capture to cease
        ;
    printf("Most recent captured buffer: %d\n", pxd_capturedBuffer(0x1);
which continuously captures until the general purpose trigger arrives, leaving the frame buffers filled with video fields or frames that predate the trigger.

Or,

    int     odata = pxd_getGPIn(0x1, 0);
    ulong   fieldcount;
    pxd_goLiveSeq(0x1               // select PIXCI(R) unit 1
                  1,                // select start frame buffer 1
                  pxd_imageZdim(),  // select end as last frame buffer
                  1,                // incrementing by one buffer
                  0,                // for ever
                  1);               // advancing to next buffer after each 1 frame
    while (odata == pxd_getGPIn(0x1, 0))
        ;
    fieldcount = pxd_getFieldCount(0x1);    // get current value of field counter
    while (pxd_getFieldCount(0x1) < fieldcount+(pxd_imageZdim()/2)*pxd_imageIdim())
        ;
    pxd_goUnlive(0x1);
    while pxd_goneLive(0x1, 0))         // wait for capture to cease
        ;
    printf("Most recent captured buffer: %d\n", pxd_capturedBuffer(0x1);
which continuously captures until the trigger arrives, waits for half of the frame buffers to be filled following the trigger, then terminates capture. The captured result is half of the frame buffers predate the trigger and half postdate the trigger.

As for single image trigger capture, polling on the pxd_getGPTrigger can be avoided by using asynchronous notifications (e.g. pxd_eventGPTriggerCreate). Alternately, the pxd_goLiveSeqTrig described in the XCLIB Reference Manual performs the same function as the last three examples, but returns immediately leaving the trigger capture running in the ''background'' and provides minimal latency.

For a camera in asynchronous trigger mode, with an external trigger, sequence capture is simply:

    pxd_goLiveSeq(0x1               // select PIXCI(R) unit 1
                  1,                // select start frame buffer 1
                  pxd_imageZdim(),  // select end as last frame buffer
                  1,                // incrementing by one buffer
                  pxd_imageZdim(),  // for this many captures
                  1);               // advancing to next buffer after each 1 frame
    while pxd_goneLive(0x1, 0))     // wait for capture to cease
        ;

In the second trigger submode, where the PIXCI® imaging board automatically issues a single trigger pulse (in XCAP this is described as the ''Button'' or ''Snap Button'' trigger selection), sequence capture is simply:

    int     i;
    for (i = 1; i <= pxd_imageZdim(); i++) {
        pxd_goSnap(0x1, i);
        while pxd_goneLive(0x1, 0))         // wait for capture to cease
            ;
    }
As before, the polling can be avoided by using asynchronous event notifications.

 

6.8. Additional XCLIB Documentation

For additional guidance in using XCLIB, consult the XCLIB Reference Manual and the example programs provided with XCLIB.


 

 

 

7. Specifications


 

7.1. Signal Input and Output:

EIA RS-644 (LVDS) drivers and receivers are used as the interface circuits.

7.1.1. EIA RS-644 Low Voltage Differential Signaling Devices (LVDS)

National Semiconductor DS90CR288AMTD Channel Link Receiver.
Voltage Input Low Maximum: 0.8 Volts
Voltage Input High Minimum: 2.0 Volts
Absolute Maximum Input Voltage Range: -0.3 volts to +3.6 volts.
National Semiconductor DS90LV047A Driver and DS90LV048 Receiver.
Voltage Output Low Minimum: 0.9 Volts.
Voltage Output High Maximum: 1.6 Volts.
Absolute Maximum Output Voltage Range: -0.3 volts to +3.6 volts.
Voltage Input Low Maximum: 0.8 Volts
Voltage Input High Minimum: 2.0 Volts
Absolute Maximum Input Voltage Range: -0.3 volts to +3.6 volts.

7.1.2. Resolution:

The number of pixels and lines is determined by the camera.

7.1.3. Frame Rate

The frame rate of the camera determines the frame rate of the PIXCI® imaging board.

7.1.4. Bus Requirements PIXCI E4, E4DB

PCI Express x4 or wider slot.
980 milliamps @ +3.3 Volts.
5.15 inches long by 4.153 inches high.

7.1.5. Bus Requirements PIXCI EL1, EL1DB

PCI Express x1 or wider slot.
180 milliamps @ +3.3 Volts.
5.17 inches long by 4.153 inches high.

7.1.6. Connections

Optional 6 pin LEMO EGG.0B.306.CLL connector is used for trigger input, +5 volt trigger power output, and multiple board trigger output.
26 pin 3M MDR connectors for Camera Link.
Cables optionally available.

Specifications subject to change without notice.

 

 

 

8. Trigger and Camera Integration Control Registers

This chapter of the manual is a ''generic'' version that discusses triggering and camera integration control for most cameras. Note that some cameras use unique control signals which are not described here. Contact EPIX if detailed programming information is required for a specific camera.

The trigger and camera integration control registers generate the CC1 signal to the camera via the Camera Link cable. The CC1 signal can be generated in response to an external rising or falling edge trigger input, in response to a write to the EXSYNC register, or can be continuously running.

Two 16 bit counters and a pixel clock divider determine the timing of the CC1 signal. The EXSYNC counter determines the width of CC1 while the PRIN counter determines the time from the end of CC1 to the start of the next CC1. EXSYNC is used to program the exposure width, while PRIN is used to program the time for readout of the sensor. Some camera modes do not use the width of the CC1 signal, instead they use the edge of CC1 to start an exposure and readout with the exposure controlled internally by the camera.

 

8.1. PRIN and EXSYNC Bit Definitions



PRINC. Trigger Control and PRIN Delay Count. Write Only. 32 bits.
0x0000 on power up.
Bits 31 thru 16 control the width of PRIN.
0x0000 on power up.

Bits 9-7, EPCD, Exposure Pixel Clock Divide.
Selects one of 8 outputs of the Pixel Clock divide counter that clocks the camera control state machine clock.
9,8,7=111 selects Pixel Clock divide by 512.
9,8,7=110 selects Pixel Clock divide by 256.
9,8,7=101 selects Pixel Clock divide by 128.
9,8,7=100 selects Pixel Clock divide by 64.
9,8,7=011 selects Pixel Clock divide by 32.
9,8,7=010 selects Pixel Clock divide by 16.
9,8,7=001 selects Pixel Clock divide by 8.
9,8,7=000 selects Pixel Clock divide by 4.


Bit 4, TRIGNEG, Trigger Input Polarity Select.
Bit 4=1 selects a 1 to 0 transition of the Trigger input.
Bit 4=0 selects a 0 to 1 transition of the Trigger input. The trigger input is on the LEMO and P3 connectors.

Bit 2, EXPS, EXSYNC Polarity Select.
Bit 2=1 selects a positive CC1 pulse.
Bit 2=0 selects a negative CC1 pulse. The EXSYNC signal is connected to CC1.

Bit 1, CNTS, Continuous Select.
Bit 1=1 selects continuous operation of the EXSYNC state machine. If TIS=1, a trigger will generate an EXSYNC that is the width of the EXSYNC count down time, load the PRIN count, count down the PRIN count, and wait for the next trigger input. If TIS=0, the state machine will run continuously, counting down the EXSYNC (and generating CC1), then counting down PRINC, and looping.
Bit 1=0 selects single shot operation of EXSYNC. Each time the EXSYNC register is written, one EXSYNC pulse will be produced while the EXCYNC is counted down, followed by the PRINC count down. Each EXSYNC write will start this cycle.

Bit 0, TIS, Trigger Input Select.
Bit 0=1 causes the start of EXSYNC to be delayed until the trigger input goes from 0 to 1 (if TRIGNEG =1) or 1 to 0 (if TRIGNEG =0). CNTS must be =1 for TIS=1 to operate.
Bit 0=0 ignores the trigger input and causes the EXSYNC to be loaded after both counters have counted down (if CNTS =1), or wait for next write of EXSYNC (if CNTS =0).

EXSYNC. EXSYNC Count. Write Only. 32 bits.
0x0000 on power up.
Bits 31 thru 16 controls the width of EXSYNC.

 

8.2. Camera Timing Formula and Examples

Exposure is determined by the formula:
Exsync = (Camera_clock x Exposure) / (4 x 2N )
Prin = Camera_clock x (Frame_time - Exposure_time - 2 x 10-6 ) / (4 x 2N)

Note that the value of the pixel clock divider, N, must be the same for both Exsync and Prin calculations. The Exsync and Prin counters are 16 bits and the value of Exsync and Prin must be less than 65535 (decimal) and greater than 0.

In this example, the Basler A504k camera clock of 67.58 MHz is used.

The results of the examples that follow are rounded to the nearest whole number.

8.2.1. PRIN and EXSYNC Calculations Example 1


For an exposure_time of 2 milliseconds and a frame rate of 200 Hz (5 milliseconds) with N=0:
Exsync = (67.58 x 106 x 2 x 10-3 ) / (4 x 20 ) = 33790.
Prin = 67.58 x 106 x ( 5 x 10-3 - 2 x 10-3 - 2 x 10-6 ) / (4 x 20 ) = 50651.

8.2.2. PRIN and EXSYNC Calculations Example 2


For an exposure time of 4 milliseconds and a frame rate of 50 Hz (20 milliseconds)with N=0:
Exsync = (67.58 x 106 x 4 x 10-3 ) / (4 x 20 ) = 67580 (greater than 65535).
Prin = 67.58 x 106 x ( 20 x 10-3 - 4 x 10-3 - 2 x 10-6 ) / (4 x 20 ) = 270286 (more than 4 times greater than 65535).
Since the frame rate requires a divisor for the pixel clock, a divisor of N=3 is chosen. Recalculating:
Exsync = (67.58 x 106 x 4 x 10-3 ) / ( 4 x 23 ) = 8448.
Prin = 67.58 x 106 x ( 20 x 10-3 - 4 x 10-3 - 2 x 10-6 ) / ( 4 x 23 ) = 33786.

 

8.3. XCLIB Trigger and Camera Integration Register Programming

The EXSYNC and PRIN are set by loading a video configuration format file previously saved by XCAP, via

    pxd_PIXCIopen(...)
or
    pxd_videoFormatAsIncluded(...);

The EXSYNC and PRIN 16 bit count values, which are the upper 16 of the 32 bit registers, can set and queried in the XCLIB library with functions:

    int  pxd_setExsyncPrin(int unitmap, uint exsync, uint prin);
    uint pxd_getExsync(int unitmap);
    uint pxd_getPrin(int unitmap);

The lower 16 bits of these registers can be queried and set in the XCLIB library with functions:

    int  pxd_setExsyncPrincMode(int unitmap, uint exsyncbits, uint princbits);
    uint pxd_getExsyncMode(int unitmap)
    uint pxd_getPrincMode(int unitmap);
Only those bits which control the scaling of EXSYNC and/or PRIN values, or similar features should be changed by using pxd_setExsyncPrincMode. Other features, such as a change to resolution, or trigger mode also require a change to the video format configuration, which this function does not automatically perform. Use of pxd_PIXCIopen or pxd_videoFormatAsIncluded with a video format configuration exported by XCAP should be used to effect change to all EXSYNC and PRINC values and bits.

See the XCLIB Reference Manual for additional information.


 

 

 

9. In Case of Trouble


 

9.1. XCAP Error Messages

After XCAP is started and prior to the display of the first menu, the software checks for the presence of required BIOS software, the presence of the PIXCI imaging board, and performs other tests. If any of the software checks fail, an error message will be displayed.

If a ``Data Path Error'' message is displayed, the board must be returned for repair.

If a ``FIFO Overflow'' message is displayed, check the PC's setup menu to see if PCI burst mode is enabled. If burst mode is not enabled, the number of pixels per line may be limited to 200 pixels or less. Disable the clock in the taskbar on Windows. Disable any other Windows applications that may periodically start. Typing ``Ctrl-Alt-Del'' in Windows will give a list of applications that are running.

 

9.2. Hardware Problems

Some problems do not cause software error messages. Some problems may prevent the computer from powering up. Some problems may prevent the software from accessing the PIXCI imaging board. These types of problems can be due to:
Power Supply Insufficient power for the boards installed.
Touching Boards One board's components are touching another board.
Defective Cable(s) Camera cable has an open or short.
Video Input Defective or incompatible video source.
Defective PIXCI imaging board Defective integrated circuit, bad solder joint,
physical damage, or static damage.
Motherboard No PCI burst mode or no PCI BIOS.
Defective PCI connector.
PCI slot is not bus master capable.
PCI slot shares interrupts or other resources with adjacent slot.
Display system is too slow, or has insufficient memory.

 

9.3. Motherboard Problems

The data transfer capabilities of the motherboard may limit the size of the image that the PIXCI imaging board can transfer to memory on the motherboard. Some older PCI motherboards do not support burst mode on the PCI bus. Some older PCI motherboards limit bursts to four 32 bit transfers. Some older PCI motherboards must have their configuration BIOS set to enable PCI bus burst mode. PCI bus transfers from other devices will compete for data transfer time with images to be transferred from the PIXCI imaging board to memory on the motherboard. ISA bus transfers will also compete for data transfer time with images to be transferred from the PIXCI imaging board to memory on the motherboard. The updating of clocks and other background tasks may interfere with the capture of images. These tasks should be disabled if error messages indicate that video transfers have been interrupted.

9.3.1. Power Supply Problems

The PC power supply usually has a printed rating of power available for the four standard PC voltages. The PIXCI imaging board uses 1.4 amps from the +5 volt supply. If other devices and the PIXCI imaging board use more power than the power supply can provide, the power supply will shut down. In marginal situations, this may not happen until an operation is performed that requires additional power, such as increasing the number of pixels per line. Try removing non-essential boards from the system.

9.3.2. Touching Boards

If the components of one board touch those of another, damage to one or both boards can occur. Move one of the touching boards at least one slot away from the other.

9.3.3. Defective Cable

If the camera cable is broken or shorted, the board may not function or may intermittently function.

9.3.4. Camera Input

If the camera is defective, has the lens closed or covered, or has the exposure set for a time that is too short for the amount of light available, a black image will be captured.

9.3.5. Motherboard


9.3.6. Display System

If the Display System has insufficient memory, is not an AGP, does not support burst mode, or cannot display 24 bits per pixel, or the XCAP software does not operate correctly, try another display system. Call EPIX for a list of suggested S/VGA boards.

 

9.4. If All Else Fails

If none of the above suggestions have solved the problem, call your distributor (if you purchased the board thru a distributor), or FAX or e-mail EPIX for technical support. In the FAX or e-mail, include error messages that were displayed, the symptoms observed, and steps taken to attempt to solve the problem. It is helpful to call from a phone near the computer with the PIXCI imaging board installed.

The PIXCI imaging board can be damaged during shipment. If damage is visible, check the shipping container for damage, and notify the freight carrier.

If the board must be returned for test or repair, call EPIX for a Return Materials Authorization (RMA) number. Be prepared to describe the problem that has been encountered and what steps have been taken to attempt to correct it. Please include a written description of symptoms, error messages, and steps taken to attempt to solve the problem with the packing list for the material returned.


 

 

 

10. Hardware Revision Description


 

10.1. PIXCI E1 Revisions

PIXCI E1 Revision list

  1. Revision 0.0: Board not released.

  2. Revision 1.0: Fixed layout errors.

 

10.2. PIXCI E4 Revisions

PIXCI E1 Revision list

  1. Revision 0.0: Board released.

 

10.3. PIXCI EL1 Revisions

PIXCI EL1 Revision list

  1. Revision 0.0: Board released. Wire required to connect SCL.

  2. Revision 1.0: Fixed SCL layout error and released.

 

 

 

11. Certification and Warranty


 

11.1. Certification and Testing

The PIXCI® E1, E4, or EL1 imaging board has been tested per EMC directive 89/336/EEC and has met the following test requirements:

These test are more commonly known as the ``CE'' test. The testing was performed to class B which has a more restrictive emission limit than the FCC class B limit.

If you find that the computer system in which the PIXCI® board is installed is causing interference with other devices, try increasing the distance between the devices, reorienting (turning) the devices, or using additional shielding on the computer system (such as placing covers on the computer and installing metal shields in unused slots or over unused drive slots).

The camera connected to the PIXCI® board may be the source of radiation. To determine if the camera is the source of interference, remove power to the camera or reorient the camera. If a shielded camera cable is not being used, use a shielded cable. If the camera is the source of interference, contact the camera manufacturer.

 

11.2. Limited Warranty

EPIX, Inc. warrants to the original purchaser of the PIXCI® board that the PIXCI® board shall be in good working order for a period of one year from the date of shipment from EPIX, Inc. Should this product fail to be in good working order at any time during this one year warranty period, EPIX, Inc. will, at its option, repair or replace this product at no additional charge except as set forth below. Repair parts and replacement products will be furnished on an exchange basis and will be either reconditioned or new. All replaced parts and products become the property of EPIX, Inc.
This limited warranty does not cover damage to the product resulting from accident, disaster, lightning, misuse, such as dropping the board on the floor, abuse, improper packaging, shipping damage, hot plugging, hot installation, hot removal, installation of the board into a powered PCI Express slot, removal of the board from a powered PCI Express slot, installation into an x1 PCI Express slot, installation into any slot other than an x4, x8, or x16 PCI Express slot, connection to external equipment, such as a camera, that is operational while being connected to the board, or modification of the board.
Limited warranty service may be obtained by delivering the product during the one year warranty period to an EPIX, Inc. distributor or to EPIX, Inc. and providing proof of the purchase date. Insure the product or assume the risk of loss or damage in transit. Prepay shipping charges to EPIX, Inc. or to the distributor. Use the original shipping container, or the equivalent, and static dissipative packaging material.
EPIX, Inc. hereby disclaims all other express and implied warranties for this product, including the warranties of merchantability and fitness for a particular purpose. Some states do not allow the exclusion of implied warranties, so the above limitations may not apply to you.
If this product is not in good working order as warranted above, your sole remedy shall be repair or replacement as provided above. In no event will EPIX, Inc. be liable to you for any damages, including any lost profits, lost savings or other incidental or consequential damages arising out of the use of or inability to use such product, even if EPIX, Inc. or an authorized EPIX, Inc. distributor has been advised of the possibility of such damages, or for any claim by any other party.

 

 

 

12. Life Support

EPIX imaging products are not authorized for use as critical components in life support devices without the express written approval of the president of EPIX, Inc.


13. Footnotes

[1]
If modifying a previously installed XCAP: Right click the XCAP icon, select ''Properties'', select ''Program'', and modify the ''Name'' or ''Command Line'' as needed.
[2]
See the ''Intel Chipset 4 GB System Memory Support'' white paper by Intel Corp.
[3]
If modifying a previously installed XCAP: Right click the XCAP icon, select ''Properties'', select ''Program'', and modify the ''Name'' or ''Command Line'' as needed.
[4]
See the ''Intel Chipset 4 GB System Memory Support'' white paper by Intel Corp.
[5]
If modifying a previously installed XCAP: Right click the XCAP icon, select ''Properties'', select ''Program'', and modify the ''Name'' or ''Command Line'' as needed.
[6]
See the ''Intel Chipset 4 GB System Memory Support'' white paper by Intel Corp.
[7]
If modifying a previously installed XCAP: Right click the XCAP icon, select ''Properties'', select ''Program'', and modify the ''Name'' or ''Command Line'' as needed.
[8]
See the ''Intel Chipset 4 GB System Memory Support'' white paper by Intel Corp.
[9]
Depending upon the user's environment setup, you may have to enter ''./anypgm.bin'' instead of ''anypgm.bin'' to execute a program from the current directory.
[10]
Of course, while using XCAP all images, scripts, and other data can be explicitly saved wherever desired.
[11]
See the ''Intel Chipset 4 GB System Memory Support'' white paper by Intel Corp.
[12]
See the ''Intel Chipset 4 GB System Memory Support'' white paper by Intel Corp.
[13]
See the ''Intel Chipset 4 GB System Memory Support'' white paper by Intel Corp.
[14]
The identification code is provided on a card enclosed with the CD or diskette(s), and is also shown on the packing list. The card and the identification code may be required as proof of purchase for future software upgrades. Keep the card in a safe place!!
[15]
XCAP-Plus, XCAP-Std, and XCAP-Ltd also require an authorization key to activate all features.
[16]
The required ''XCAP Sourcery'' TWAIN driver is a separate software product and is not included with XCAP.
[17]
The required ''XCAP Sourcery'' Image-Pro driver is a separate software product and is not included with XCAP.