CONTENTS
1. Installation, Configuration, and Usage - Compile Time.................... 4
1.A Introduction......................................................... 4
1.B Library Installation................................................. 4
1.C Compiling............................................................ 5
1.C.1 Stack......................................................... 5
1.C.2 Heap.......................................................... 5
1.C.3 Example: Watcom 32 Bit C/C++.................................. 6
1.D Compile Time Inclusions.............................................. 6
1.E Common Types and Structures.......................................... 6
1.E.1 Coordinates, Images, and Image Window Structures.............. 7
1.F Usage Assumptions.................................................... 9
1.G Error Codes.......................................................... 9
1.H Memory Allocation Hooks.............................................. 9
1.I 16 Bit Environment Notes............................................. 10
1.J Windows 3.x Environment Notes........................................ 10
1.J.1 Windows 3.x Environment - Callback Functions.................. 11
1.K Tenberry DOS4GW Environment Notes.................................... 12
1.L Windows 95 Environment Notes......................................... 12
2. Installation and Configuration - Run Time................................ 13
2.A Driver Configuration Parameters...................................... 13
2.B Tenberry DOS4GW Environment.......................................... 13
2.C Windows 95 Environment............................................... 14
2.C.1 Windows 95 Environment - Manual Installation.................. 14
2.C.2 Windows 95 Environment - Image Memory Allocation.............. 15
2.C.3 Windows 95 Environment - Forceable Image Memory Allocation.... 16
3. SCF Level Interface........................................................ 17
PIXCI: Open and Set Video Format - pxd_xcopen.............................. 17
Get Version ID String, Run Time - pxd_id................................... 19
Get Version ID String, Compile Time - pxd_idstr............................ 19
PIXCI: Close - pxd_close................................................... 20
Get Total Image Memory Size - pxd_imsize................................... 20
Set Video Mode and Buffer - pxd_video...................................... 21
Acquire: Snap Video into Buffer - pxd_snap................................. 22
Set Field for Video Switch - pxd_vidfield.................................. 23
Set Video Resolution &Size - pxd_vidsize.................................. 23
Get Horizontal Image Dimension - pxd_xdim.................................. 24
Get Vertical Image Dimension - pxd_ydim.................................... 24
Get Vertical Interlace Dimension - pxd_ylace............................... 24
Get Pixel Component Dimension - pxd_cdim................................... 24
Get Horizontal Display Dimension - pxd_xdim_disp........................... 24
Get Vertical Display Dimension - pxd_ydim_disp............................. 24
Get Vertical Interlace Display Dimension - pxd_ylace_disp.................. 24
Get Pixel Component Display Dimension - pxd_cdim_disp...................... 24
Get Current Image Buffer Number - pxd_imbuf................................ 26
Get Number of Image Buffers - pxd_imbufs................................... 26
Get Field Time - pxd_vidtime............................................... 26
Pixel Value: Read - pxd_pixread............................................ 27
Pixel Value: Write - pxd_pixwrite.......................................... 28
Imaging Board Buffer: Open Access to Buffer - pxd_iopen.................... 28
Imaging Board Buffer: Open Access to Color Buffer - pxd_iopencolor......... 28
Imaging Board Buffer: Read &Write, Char - pxd_ioc......................... 30
Imaging Board Buffer: Read &Write, Short - pxd_ios........................ 30
Imaging Board Buffer: Read &Write, Long - pxd_iol......................... 30
Imaging Board Buffer: Test End of Access - pxd_ioeof....................... 33
External Input Signal: Sense - pxd_extin................................... 34
External Output Signal; Set - pxd_extout................................... 35
Get PXIMAGE: Access Imaging Board Buffer - pxd_defimage.................... 35
Get PXIMAGE: Access Imaging Board Color Buffer - pxd_defimagecolor......... 35
Errors: Check &Report Insufficient Stack Space - pxd_chkstack............. 37
Errors: Check &Report Severe Fault - pxd_chkfault......................... 37
Save Image: BMP Format - pxd_bmpsave....................................... 38
Load Image: BMP Format - pxd_bmpload....................................... 38
Save Image: TIFF Format - pxd_tiffsave..................................... 39
Load Image: TIFF Format - pxd_tiffload..................................... 39
Save Image: PCX Format - pxd_pcxsave....................................... 41
Windows: Display Image Buffer On Device - pxd_StretchDIBits................ 42
4. Initialization &Support Functions......................................... 45
PIXCI® Driver: Open - xcdrv_open............................................ 45
PIXCI® Driver: Close - xcdrv_close.......................................... 46
Errors: Obtain Last Posted Fault Information - pxdrv_fault................. 46
Construct PXIMAGE: Access Imaging Board Buffer - pxvid_setpximage.......... 48
Construct PXIMAGE: Access Imaging Board Buffer - pxvid_setpximage2......... 48
Construct PXIMAGE3: Access Imaging Board Buffers - pxvid_setpximage3....... 51
Errors: Translate Error Code to String - pxerrnomesg....................... 52
5. Video Control.............................................................. 54
XCFORMAT: PIXCI, Video Format Specification - struct xcformat.............. 54
PXVIDPARM: Video Resolution Specification - Struct pxvidparm............... 55
PXVIDMODE: Video Mode Specification - Struct pxvidmode..................... 60
PXCAMCARD: Auxiliary Camera Control Card Specification - Struct pxcamcard.. 61
Video States, Define - pxvid_define........................................ 62
Video States, Define - pxvid_define4....................................... 62
Video States, Undefine - pxvid_undefine.................................... 66
Video States: Load - pxvid_load............................................ 67
Video States: Unload - pxvid_unload........................................ 68
Video State: Activate State &Mode - pxvid_gomode.......................... 68
Video State: Activate State &Buffer - pxvid_gobuf......................... 69
Video State: Activate State &Buffer - pxvid_go............................ 69
Video State: Activate State &Mode, Async. - pxvid_gomodea................. 70
Video State: Test Completion of Activate State, Async. - pxvid_gomodew..... 71
Video State: Get State's Video Components - pxvid_xstatevect............... 72
Video State: Get State's Video Resolution - pxvid_xparm.................... 72
Video State: Get State's Video Format - pxvid_xformat...................... 72
Video State: Get State's Video Mode - pxvid_xmode.......................... 72
Video State: Get State's Definition Options - pxvid_xdipopt................ 72
Video State: Get State's Device Independent Format - pxvid_xpformat........ 72
Video State: Get State's Current Image Buffer - pxvid_xbuf................. 72
Video State: Get State's Maximum Image Buffers - pxvid_xbufs............... 72
Video State: Get Current State - pxvid_xstate.............................. 74
Get Vertical Blanking Time - pxdrv_xvbtime................................. 74
Get Video Status - pxdrv_xstatus........................................... 75
Get Video State - pxdrv_xstate............................................. 76
Video States: Import - pxvib_defimport..................................... 77
Video States: Export - pxvib_defexport..................................... 77
6. Image Memory Access........................................................ 79
Image Memory: Translate X, Y Coordinate to Address - pxvid_xyadrs.......... 79
Image Memory: Read &Write - pxdrv_imio.................................... 80
Image Memory: Test Completion of Read &Write - pxdrv_imiow................ 81
Image Memory: Get Optimal Read &Write Length - pxdrv_imioz................ 81
Image Memory: Obtain Direct Mapping - pxdrv_imap........................... 82
Image Memory: Release Direct Mapping - pxdrv_imapr......................... 83
PXIMAGE: Image and Pixel Specifications - Struct pximage................... 84
PXIMAGE: Set &Get Area of Interest Window - pximage::xwind................ 88
PXIMAGE: Get Advice, Errors, Info &Options - pximage::aeiou............... 88
PXIMAGE: Set to Access Sequential Pixels - pximage::ioset.................. 90
PXIMAGE: Read Sequential Pixels - pximage::ioread.......................... 90
PXIMAGE: Write Sequential Pixels - pximage::iorite......................... 90
PXIMAGE: Wait for Sequential Access Completion - pximage::iowait........... 90
PXIMAGE: Obtain Sequential Access Pixel Count - pximage::iolen............. 90
PXIMAGE: Set to Access Non-Sequential Pixels - pximage::bxts............... 92
PXIMAGE: Prepare for Non-Sequential Pixel Access - pximage::bxtp........... 92
PXIMAGE: Access Non-Sequential Pixels - pximage::bxta...................... 92
PXIMAGE: Wait for Non-Sequential Access Completion - pximage::bxtw......... 92
PXIMAGE: Set to Obtain Pointer to Pixels - pximage::imapset................ 94
PXIMAGE: Obtain Pointer to Pixels - pximage::imap.......................... 94
PXIMAGE: Release Pointer to Pixels - pximage::imapr........................ 94
Sequential Access: Establish Access to Image Buffer - pxb8_iopen........... 98
Sequential Access: Read &Write Image Buffer - pxb8_io..................... 98
Sequential Access: Test End of Image Buffer - pxb8_ioeof................... 98
Sequential Access: Reposition within Image Buffer - pxb8_ioseek............ 98
Sequential Access: Read &Write Image Buffer, Async. - pxb8_iof............ 98
Sequential Access: Test Read &Write Complete - pxb8_iow................... 98
Sequential Access: Get Transfer Count - pxb8_iodone........................ 98
Sequential Access: Check or Wait upon Read &Write - pxb8_ioflush.......... 98
Sequential Access: Terminate Access - pxb8_ioclose......................... 98
Sequential Access: Obtain Number of Unused Handles - pxb8_iopens........... 98
Pixel List: Access &Modify Pixels - pxdrv_pixbxt.......................... 99
Pixel List: Test Access Completion - pxdrv_pixbxtw......................... 99
Pixel List: Get Optimal Asynchronous Length - pxdrv_pixbxtz................ 99
Pixel List: Translate Memory Addresses - pxdrv_pixlate..................... 99
Pixel List: Translate X, Y Coordinates - pxvid_pixlate..................... 99
7. Miscellaneous Services..................................................... 101
External Input Signal: Sense - pxdrv_extin................................. 101
External Output Signal: Set - pxdrv_extout................................. 101
External Output Signal: Test Completion of Set - pxdrv_extoutw............. 102
External Output Signal: Get Current Value - pxdrv_extoutv.................. 103
8. Multiple Imaging Boards.................................................... 104
9. Additional Features........................................................ 105
User-Defined Premature Termination Functions - pxabortfunc_t............... 105
Copy Image Buffer to Raw Image Address - pxip8_copyintoradrs............... 106
Copy Image Buffer from Raw Image Address - pxip8_copyfromradrs............. 106
Image Sequence: Save in Image Memory Format - pxio8_fmbwrite............... 107
Image Sequence: Load in Image Memory Format - pxio8_fmbread................ 107
Image Sequence: Acquire - pxvib_gosequence................................. 110
Acquire: Triggered Video Capture - pxvib_gotrig2........................... 111
Acquire: Triggered Video Capture - pxvib_gotrig............................ 111
10. Hints &Code Fragments..................................................... 114
10.A Saving and Restoring Image Buffers................................... 114
10.B Porting Custom Video Parameters...................................... 116
11. Release Notes.............................................................. 118
12. Distribution Contents...................................................... 119
13. Index...................................................................... 120
Specifications and prices subject to change without notice.
EPIX® imaging products are made in the USA.
Copyright © 2025 EPIX, Inc. All rights reserved.