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
Specifications and prices subject to change without notice.
EPIX® imaging products are made in the USA.
Copyright © 2024 EPIX, Inc. All rights reserved.