EPIX, Inc. Home Page

XCOBJ "C" Library V0.0
Reference Manual

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

Back to EPIX Products

Back to the EPIX home page

Image Processing Products For Research and Industry