EPIX, Inc. Home Page

SVOBJ "C" Library V7.2
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..............................................................    6
	   1.C.3  Example: Microsoft C/C++..........................................    6
	   1.C.4  Example: Borland C/C++............................................    7
	   1.C.5  Example: Watcom 32 Bit C/C++......................................    7
     1.D   Compile Time Inclusions..................................................    7
     1.E   Common Types and Structures..............................................    8
	   1.E.1  Coordinates, Images, and Image Window Structures..................    8
     1.F   Usage Assumptions........................................................   10
     1.G   Error Codes..............................................................   10
     1.H   Memory Allocation Hooks..................................................   10
     1.I   16 Bit Environment Notes.................................................   11
     1.J   Windows 3.x Environment Notes............................................   11
	   1.J.1  Windows 3.x Environment - Callback Functions......................   12
     1.K   Tenberry DOS4GW Environment Notes........................................   13
     1.L   Windows 95 Environment Notes.............................................   13

 2.  Installation and Configuration  -  Run Time....................................   14
     2.A   Driver Configuration Parameters..........................................   14
     2.B   DOS Environment..........................................................   15
	   2.B.1  DOS Environment - Installation Errors.............................   16
	   2.B.2  DOS Environment - Software Interrupt Selection....................   16
	   2.B.3  DOS Environment - EMM386..........................................   19
     2.C   Windows 3.X Environment..................................................   19
     2.D   Tenberry DOS4GW Environment..............................................   20
     2.E   Windows 95 Environment...................................................   20

 3.  SCF Level Interface............................................................   22
     SILICON VIDEO: Open and Set Video Format - pxd_svopen..........................   22
     Get Version ID String, Run Time - pxd_id.......................................   24
     Get Version ID String, Compile Time - pxd_idstr................................   24
     SILICON VIDEO: Close - pxd_close...............................................   24
     Get Total Image Memory Size - pxd_imsize.......................................   25
     Set Video Mode and Buffer - pxd_video..........................................   25
     Acquire: Snap Video into Buffer - pxd_snap.....................................   27
     Set Field for Video Switch - pxd_vidfield......................................   28
     Set Genlock vs. Master Modes - pxd_vidgenlock..................................   28
     Set Video Resolution - pxd_vidparm.............................................   29
     Set Digitize Resolution of Split Video Formats - pxd_vidigparm.................   31
     Get Horizontal Image Dimension - pxd_xdim......................................   32
     Get Vertical Image Dimension - pxd_ydim........................................   32
     Get Vertical Interlace Dimension - pxd_ylace...................................   32
     Get Pixel Component Dimension - pxd_cdim.......................................   32
     Get Horizontal Display Dimension - pxd_xdim_disp...............................   32
     Get Vertical Display Dimension - pxd_ydim_disp.................................   32
     Get Vertical Interlace Display Dimension - pxd_ylace_disp......................   32
     Get Pixel Component Display Dimension - pxd_cdim_disp..........................   32
     Get Current Image Buffer Number - pxd_imbuf....................................   33
     Get Number of Image Buffers - pxd_imbufs.......................................   33
     Get Field Time - pxd_vidtime...................................................   34
     Pixel Value: Read - pxd_pixread................................................   34
     Pixel Value: Write - pxd_pixwrite..............................................   35
     Imaging Board Buffer: Open Access to Buffer - pxd_iopen........................   36
     Imaging Board Buffer: Open Access to Color Buffer - pxd_iopencolor.............   36
     Imaging Board Buffer: Read &Write, Char - pxd_ioc.............................   38
     Imaging Board Buffer: Read &Write, Short - pxd_ios............................   38
     Imaging Board Buffer: Read &Write, Long - pxd_iol.............................   38
     Imaging Board Buffer: Test End of Access - pxd_ioeof...........................   40
     Output Lookup Table: Read &Write - pxd_lut....................................   41
     Soft Cursor: Draw &Remove - pxd_drcurs........................................   42
     Hardware Cursor: Draw &Remove - pxd_drcurd....................................   43
     Soft Rectangular Box: Draw &Remove - pxd_drbox................................   45
     External Input Signal: Sense - pxd_extin.......................................   45
     External Output Signal: Set - pxd_extout.......................................   46
     Set Video Input Multiplexer - pxd_vidmux.......................................   47
     Set Subimage Pan Position - pxd_pan............................................   47
     Get PXIMAGE: Access Imaging Board Buffer - pxd_defimage........................   48
     Get PXIMAGE: Access Imaging Board Color Buffer - pxd_defimagecolor.............   48
     Errors: Check &Report Insufficient Stack Space - pxd_chkstack.................   50
     Errors: Check &Report Severe Fault - pxd_chkfault.............................   50
     Save Image: BMP Format - pxd_bmpsave...........................................   50
     Load Image: BMP Format - pxd_bmpload...........................................   50
     Save Image: TIFF Format - pxd_tiffsave.........................................   52
     Load Image: TIFF Format - pxd_tiffload.........................................   52
     Save Image: PCX Format - pxd_pcxsave...........................................   54
     Windows: Display Image Buffer On Device - pxd_StretchDIBits....................   55

 4.  Initialization &Support Functions.............................................   57
     SILICON VIDEO Driver: Open - svdrv_open........................................   57
     SILICON VIDEO Driver: Close - svdrv_close......................................   59
     Errors: Obtain Last Posted Fault Information - pxdrv_fault.....................   59
     Construct PXIMAGE: Access Imaging Board Buffer - pxvid_setpximage..............   61
     Construct PXIMAGE: Access Imaging Board Buffer - pxvid_setpximage2.............   61
     Construct PXIMAGE3: Access Imaging Board Buffers - pxvid_setpximage3...........   64
     Errors: Translate Error Code to String - pxerrnomesg...........................   65
                                                                                
 5.  Video Definition &Control.....................................................   67
     SVFORMAT: SILICON VIDEO, Video Format Specification - Struct svformat..........   67
     PXVIDPARM: Video Resolution Specification - Struct pxvidparm...................   69
     PXVIDMODE: Video Mode Specification - Struct pxvidmode.........................   74
     PXCAMCARD: Auxiliary Camera Control Card Specification - Struct pxcamcard......   76
     Video States, Define - pxvid_define............................................   76
     Video States, Define - pxvid_define4...........................................   76
     Video States, Undefine - pxvid_undefine........................................   81
     Video States: Load - pxvid_load................................................   82
     Video States: Unload - pxvid_unload............................................   83
     Video State: Activate State &Mode - pxvid_gomode..............................   83
     Video State: Activate State &Buffer - pxvid_gobuf.............................   84
     Video State: Activate State &Buffer - pxvid_go................................   84
     Video State: Activate State &Mode, Async. - pxvid_gomodea.....................   85
     Video State: Test Completion of Activate State, Async. - pxvid_gomodew.........   86
     Video State: Get State's Video Components - pxvid_xstatevect...................   87
     Video State: Get State's Video Resolution - pxvid_xparm........................   87
     Video State: Get State's Video Format - pxvid_xformat..........................   87
     Video State: Get State's Video Mode - pxvid_xmode..............................   87
     Video State: Get State's Definition Options - pxvid_xdipopt....................   87
     Video State: Get State's Device Independent Format - pxvid_xpformat............   87
     Video State: Get State's Current Image Buffer - pxvid_xbuf.....................   87
     Video State: Get State's Maximum Image Buffers - pxvid_xbufs...................   87
     Video State: Get Current State - pxvid_xstate..................................   89
     Get Vertical Blanking Time - pxdrv_xvbtime.....................................   89
     Get Video Status - pxdrv_xstatus...............................................   90
     Get Video State - pxdrv_xstate.................................................   91
     Video States: Import - pxvib_defimport.........................................   92
     Video States: Export - pxvib_defexport.........................................   92

 6.  Image Memory Access............................................................   94
     Image Memory: Translate X, Y Coordinate to Address - pxvid_xyadrs..............   94
     Image Memory: Read &Write - pxdrv_imio........................................   95
     Image Memory: Test Completion of Read &Write - pxdrv_imiow....................   96
     Image Memory: Get Optimal Read &Write Length - pxdrv_imioz....................   96
     Image Memory: Obtain Direct Mapping - pxdrv_imap...............................   97
     Image Memory: Release Direct Mapping - pxdrv_imapr.............................   98
     PXIMAGE: Image and Pixel Specifications - Struct pximage.......................   99
     PXIMAGE: Set &Get Area of Interest Window - pximage::xwind....................  103
     PXIMAGE: Get Advice, Errors, Info &Options - pximage::aeiou...................  103
     PXIMAGE: Set to Access Sequential Pixels - pximage::ioset......................  105
     PXIMAGE: Read Sequential Pixels - pximage::ioread..............................  105
     PXIMAGE: Write Sequential Pixels - pximage::iorite.............................  105
     PXIMAGE: Wait for Sequential Access Completion - pximage::iowait...............  105
     PXIMAGE: Obtain Sequential Access Pixel Count - pximage::iolen.................  105
     PXIMAGE: Set to Access Non-Sequential Pixels - pximage::bxts...................  107
     PXIMAGE: Prepare for Non-Sequential Pixel Access - pximage::bxtp...............  107
     PXIMAGE: Access Non-Sequential Pixels - pximage::bxta..........................  107
     PXIMAGE: Wait for Non-Sequential Access Completion - pximage::bxtw.............  107
     PXIMAGE: Set to Obtain Pointer to Pixels - pximage::imapset....................  109
     PXIMAGE: Obtain Pointer to Pixels - pximage::imap..............................  109
     PXIMAGE: Release Pointer to Pixels - pximage::imapr............................  109
     Sequential Access: Establish Access to Image Buffer - pxb8_iopen...............  113
     Sequential Access: Read &Write Image Buffer - pxb8_io.........................  113
     Sequential Access: Test End of Image Buffer - pxb8_ioeof.......................  113
     Sequential Access: Reposition within Image Buffer - pxb8_ioseek................  113
     Sequential Access: Read &Write Image Buffer, Async. - pxb8_iof................  113
     Sequential Access: Test Read &Write Complete - pxb8_iow.......................  113
     Sequential Access: Get Transfer Count - pxb8_iodone............................  113
     Sequential Access: Check or Wait upon Read &Write - pxb8_ioflush..............  113
     Sequential Access: Terminate Access - pxb8_ioclose.............................  113
     Sequential Access: Obtain Number of Unused Handles - pxb8_iopens...............  113
     Pixel List: Access &Modify Pixels - pxdrv_pixbxt..............................  114
     Pixel List: Test Access Completion - pxdrv_pixbxtw.............................  114
     Pixel List: Get Optimal Asynchronous Length - pxdrv_pixbxtz....................  114
     Pixel List: Translate Memory Addresses - pxdrv_pixlate.........................  114
     Pixel List: Translate X, Y Coordinates - pxvid_pixlate.........................  114

 7.  Lookup Tables..................................................................  116
     Output Lookup Table: Read &Write - pxdrv_olutio...............................  116
     Output Lookup Table: Test Completion of Read &Write - pxdrv_olutiow...........  117
     Output Lookup Table: Get Number of Table Sets - pxdrv_olutsetn.................  117
     Output Lookup Table: Select Table Set - pxdrv_olutset..........................  118
     Output Lookup Table: Test Completion of Select Table Set - pxdrv_olutsetw......  119
     Output Lookup Table: Get Current Table Selection - pxdrv_olutsetv..............  119

 8.  Hardware Cursor................................................................  120
     Hardware Cursor: Draw - pxvid_curon............................................  120
     Hardware Cursor: Remove - pxvid_curoff.........................................  120
     Hardware Cursor: Draw Box - pxvid_curboxon.....................................  121
     Hardware Cursor: Remove Box - pxvid_curboxoff..................................  121
     Hardware Cursor: Save State - pxdrv_cursave....................................  122
     Hardware Cursor: Load State - pxdrv_curload....................................  122
     Hardware Cursor: Get State Size - pxdrv_cursavez...............................  122
     Hardware Cursor: Set Appearance - svdrv_curopt.................................  123
     Hardware Cursor: Set Icon - svdrv_curicon......................................  124
                                                                                
 9.  Miscellaneous Services.........................................................  126
     External Input Signal: Sense - pxdrv_extin.....................................  126
     External Output Signal: Set - pxdrv_extout.....................................  126
     External Output Signal: Test Completion of Set - pxdrv_extoutw.................  127
     External Output Signal: Get Current Value - pxdrv_extoutv......................  127
     Interrupt Invocation: Request - pxdrv_intfun...................................  128
     Interrupt Invocation: Cancel - pxdrv_intfunr...................................  129

10.  Multiple Imaging Boards........................................................  130
     Imaging Boards: Get Number of Units - pxdrv_xunits.............................  130
     Imaging Boards: Select Units - pxdrv_devunits..................................  130
     Imaging Boards: Select Unit - pxdrv_devunit....................................  133
     Imaging Boards: Get Selected Unit(s) - pxdrv_xdevunits.........................  134
     Imaging Boards: Select V.B. Sync Board(s) - svdrv_vbunits......................  134
     Imaging Boards: Get Current V.B. Sync Selection - svdrv_xvbunits...............  135

11.  Additional Features............................................................  137
     User-Defined Premature Termination Functions - pxabortfunc_t...................  137
     Copy Image Buffer to Raw Image Address - pxip8_copyintoradrs...................  138
     Copy Image Buffer from Raw Image Address - pxip8_copyfromradrs.................  138
     Image Sequence: Save in Image Memory Format - pxio8_fmbwrite...................  139
     Image Sequence: Load in Image Memory Format - pxio8_fmbread....................  139
     Image Sequence: Acquire - pxvib_gosequence.....................................  142
     Acquire: Triggered Video Capture - pxvib_gotrig2...............................  143
     Acquire: Triggered Video Capture - pxvib_gotrig................................  143

12.  Hints &Code Fragments.........................................................  146
     12.A  Saving and Restoring Image Buffers.......................................  146
     12.B  Porting Custom Video Parameters..........................................  148
     12.C  Mouse Control............................................................  149

13.  Release Notes..................................................................  152
                                                                                
14.  Distribution Contents..........................................................  159

15.  Index..........................................................................  161

Back to EPIX Software

Back to the EPIX home page

Image Processing Products For Research and Industry