Contents
1. Getting Started........................................................................... 4 1.A Installation........................................................................ 4 1.B Organization........................................................................ 4 1.C Compiling........................................................................... 5 1.C.1 Stack........................................................................ 7 1.C.2 Heap......................................................................... 7 1.C.3 Example: Microsoft C/C++..................................................... 7 1.C.4 Example: Borland C/C++....................................................... 8 1.C.5 Example: Watcom 32 Bit C/C++................................................. 8 1.C.6 Example: TI TMS320C40 C...................................................... 8 1.D Inclusions.......................................................................... 9 1.E Common Types and Structures......................................................... 9 1.E.1 Coordinates, Images, and Image Window Structures............................. 10 1.E.2 Image Region Structures...................................................... 12 1.F Running............................................................................. 12 1.F.1 Error Codes.................................................................. 12 1.F.2 Multiple Imaging Boards &Their Buffers...................................... 12 1.F.3 Imaging Boards &Processing Speed............................................ 13 1.F.4 Math Coprocessors............................................................ 13 1.F.5 On Color(s).................................................................. 13 2. Support Functions......................................................................... 14 User-Defined Premature Termination Functions - pxabortfunc_t.............................. 14 Get PXIMAGE: Access Imaging Board Buffer - pxd_defimage................................... 15 Get PXIMAGE: Access Imaging Board Color Buffer - pxd_defimagecolor........................ 15 Construct PXIMAGE: Access Imaging Board Buffer - pxvid_setpximage......................... 17 Construct PXIMAGE: Access Imaging Board Buffer - pxvid_setpximage2........................ 17 Construct PXIMAGE3: Access Imaging Board Buffers - pxvid_setpximage3...................... 20 Construct PXIMAGE: Access Image in Host Memory - pximage_memory........................... 21 Construct PXIMAGE: Access Image in Malloc'ed Memory - pximage_memmalloc................... 23 Construct PXIMAGE: Release Image in Malloc'ed Memory - pximage_memfree.................... 23 Construct PXIMAGE: Access Image in File - pximage_file.................................... 24 Construct PXIMAGE: Access Image in File, Done - pximage_filedone.......................... 24 Construct PXIMAGE: Slice of Color Image - pximage_colorslice.............................. 26 Errors: Translate Error Code to String - pxerrnomesg...................................... 27 3. Contrast Enhancement &Threshold.......................................................... 28 Contrast Enhance - pxip8_pixcontrast...................................................... 28 Contrast Enhance By Percentile - pxip8_pixcontrastperc.................................... 29 Threshold Pixel Values - pxip8_pixthreshold............................................... 30 Threshold Pixel Values - pxip8_pixthreshold2.............................................. 30 4. Simple Pixel Operations................................................................... 32 Set Pixel Values - pxip8_pixset........................................................... 32 Set Color Pixel Values - pxip3_pixset..................................................... 33 AND Pixels with Mask - pxip8_pixand....................................................... 33 OR Pixels with Mask - pxip8_pixor......................................................... 33 XOR Pixels with Mask - pxip8_pixxor....................................................... 33 Complement Pixel Values - pxip8_pixneg.................................................... 33 Scale Pixel Values - pxip8_pixscale....................................................... 35 Shift Pixel Values - pxip8_pixadd......................................................... 35 Map Uchar Pixel Values - pxip8_pixmap..................................................... 36 Map Ushort Pixel Values - pxip8_pixmaps................................................... 36 Map Ulong Pixel Values - pxip8_pixmapl.................................................... 36 5. Histograms &Computations................................................................. 38 Compute Histogram - pxip8_histab.......................................................... 38 Compute Tabulated Histogram - pxip8_histab2............................................... 39 Compute Histogram Statistics - pxip8_histstat............................................. 40 Compute Histogram Statistics - pxip8_histstat2............................................ 40 Compute Histogram Statistics w. Interpretation - pxip8_histstatf.......................... 40 Compute Histogram Statistics w. Interpretation - pxip8_histstat2f......................... 40 Count Pixels by Threshold - pxip8_pixthresholdcnt......................................... 42 Compute Center of Mass - pxip8_masscenter................................................. 43 Compute Moments - pxip8_moments........................................................... 44 Compute Moments w. Interpretation - pxip8_momentsf........................................ 46 Compute Center of Mass, Binary Image - pxip8_binmasscenter................................ 47 6. Filtering Operations...................................................................... 49 Filter, Low Pass, Weighted - pxip8_3x3lowpass............................................. 49 Filter, Low Pass, Fixed - pxip8_3x3lowpassf............................................... 49 Filter, Low Pass, Low Smear - pxip8_3x3lowpassmear........................................ 50 Filter, Sharpen, Laplacian - pxip8_3x3sharpenl............................................ 51 Filter, Median - pxip8_3x3median.......................................................... 52 Filter, Median, Weighted - pxip8_3x3medianw............................................... 53 Filter, Median, Binary Images - pxip8_3x3binmedian........................................ 54 Filter, Rank Low (Erode) - pxip8_3x3ranklow............................................... 55 Filter, Rank High (Dilate) - pxip8_3x3rankhigh............................................ 55 7. Edge Detection Operations................................................................. 56 Edge Detection, Kirsch - pxip8_3x3kirsch.................................................. 56 Edge Detection, Roberts - pxip8_2x2roberts................................................ 56 Edge Detection, Sobel - pxip8_3x3sobel.................................................... 56 Edge Detection, Sobel Absolute - pxip8_3x3sobela.......................................... 56 Edge Gradient, Thin - pxip8_3x3ksrthin.................................................... 58 8. Image Pair Operations..................................................................... 60 Contrast Match Image Pair - pxip8_contrastmatch........................................... 60 Add Pixels of Image Pair - pxip8_pairadd.................................................. 61 Subtract Pixels of Image Pair - pxip8_pairsub............................................. 62 Exclusive OR Pixels of Image Pair - pxip8_pairxor......................................... 63 AND Pixels of Image Pair - pxip8_pairand.................................................. 63 OR Pixels of Image Pair - pxip8_pairor.................................................... 63 Average Pixels of Image Pair - pxip8_pairave.............................................. 63 Difference for Insert of Image Pair - pxip8_pairinsdiff................................... 64 Insert of Differences of Image Pair - pxip8_pairinsert.................................... 64 Product of Pixels of Image Pair - pxip8_pairprod.......................................... 65 Ratio of Pixels of Image Pair - pxip8_pairratio........................................... 65 9. Morphological Operations.................................................................. 68 Morphology Erosion w. 3x3 Element - pxip8_morperode3x3.................................... 68 Morphology Dilation w. 3x3 Element - pxip8_morpdilate3x3.................................. 68 Morphology Erosion - pxip8_morperode...................................................... 69 Morphology Dilation - pxip8_morpdilate.................................................... 69 Morphology Open - pxip8_morpopen.......................................................... 69 Morphology Close - pxip8_morpclose........................................................ 69 Morphology Hit-Miss - pxip8_morphitmiss................................................... 69 Medial Axis Thinning - pxip8_binmaxisthin................................................. 73 10. Image Sequence Operations................................................................. 75 Integrate Image Sequence - pxip8_integratebufs............................................ 75 Average Image Sequence - pxip8_averagebufs................................................ 75 Tile Image Sequence - pxip8_seqtile....................................................... 76 11. File Load and Saves....................................................................... 78 Save Image to File - pxio8_binwrite....................................................... 78 Load Image from File - pxio8_binread...................................................... 78 Save Image to File, 1 Bit/Pixel - pxio8_bin1write......................................... 79 Load Image from File, 1 Bit/Pixel - pxio8_bin1read........................................ 79 Save Image to File, Hex ASCII - pxio8_hexwrite............................................ 81 Load Image from File, Hex ASCII - pxio8_hexread........................................... 81 Save Image to TIFF File - pxio8_tiffwrite................................................. 82 Load Image from TIFF File - pxio8_tiffread................................................ 82 Load Image from TIFF File and Resize - pxio8_tiffreadrsz.................................. 82 Obtain Information about TIFF Image - pxio8_tiffparm...................................... 86 Release Information about TIFF Image - pxio8_tiffparmr.................................... 86 12. NxN Neighborhood Operations............................................................... 88 NxN Convolution, Integer - pxip8_NxNconvolve.............................................. 88 NxN Convolution, Real - pxip8_NxNconvolvef................................................ 88 NxN Dynamic Threshold - pxip8_NxNdynthreshold............................................. 90 NxN Inverse Contrast Ratio Mapping - pxip8_NxNcontrastinvert.............................. 91 13. Image Copy &Resize....................................................................... 93 Copy Image Buffer - pxip8_copy............................................................ 93 Copy Image Buffer with Reversal - pxip8_copyreverse....................................... 94 Copy Image Buffer with Shift - pxip8_copyshift............................................ 95 Copy &Exchange Image Buffers - pxip8_copyexchange........................................ 96 Copy &Bilinear Interpolation w. Orientation - pxip8_copyinterpbilinear................... 96 Copy &Nearest Neighbor Interpolation w. Orientation - pxip8_copyinterpnearest............ 96 Copy &Area Interpolation - pxip8_copyinterpolate......................................... 98 Copy Image with Rotation - pxip8_geotranrotate............................................ 99 Copy Image with Warping - pxip8_geotranwarp............................................... 101 Copy &Skew Image Left/Right - pxip8_copyskewlr........................................... 102 Copy &Skew Image Up/Down - pxip8_copyskewud.............................................. 102 Copy &Spatial Replicate - pxip8_spatialreplic............................................ 103 14. Transform Operations...................................................................... 105 Transform Image: FFT - pxip8_fft.......................................................... 105 Transform Image: Inverse FFT - pxip8_ffti................................................. 106 Log Magnitude Plot of Freq. Domain - pxip8_fftlogmag...................................... 107 Scale Freq. Domain by Log Magnitude Plot - pxip8_fftlmagscale............................. 108 Filter Frequency Domain - pxip8_fftfilterz................................................ 109 Get Dimensions of Freq. Domain Representation - pxip8_fftsizes............................ 111 Construct PXIMAGE: Access Freq. Domain Complex Image - pxip8_fftcimage.................... 111 15. Correlation Operations.................................................................... 113 Correlation Profile - pxip8_correlateprof................................................. 113 16. Interlace Shuffle Operations.............................................................. 115 Field Interlaced Image Line Shuffle - pxip8_ilacelinetofield.............................. 115 Field Interlaced Image Line UnShuffle - pxip8_ilacefieldtoline............................ 115 De-Flicker Interlace: Line Pair Average - pxip8_ilacepairave.............................. 117 De-Flicker Interlace: Modify Singularities - pxip8_ilacemodsingular....................... 118 Swap Line or Column Pairs - pxip8_ilacepairswap........................................... 119 Line Pair Pixel Shuffle - pxip8_xlaceshuffle.............................................. 121 Line Pair Pixel UnShuffle - pxip8_xlaceunshuffle.......................................... 121 17. Imaging Board Specific Operations......................................................... 123 Windows: Waterfall Image Buffer Line on Device Context - pxio8_WaterfallToDevice.......... 123 18. Nonrectangular Regions - Support Functions................................................ 125 PXIMREGION: NonRectangular Image Region Specification - struct pximregion................. 125 Modify Region Definition: Rectangle to Polygon - pxirp_xlaterecttopoly.................... 130 Translate Region Definition to Scan List - pxirp_xlatetoscanlist.......................... 130 Translate Region Definition to Path - pxirp_xlatetopath................................... 131 Find Region's Enclosing Window - pxirp_regionbounds....................................... 132 Find Region's Enclosed Area - pxirp_regionarea............................................ 133 Free Region - pxrip_regionfree............................................................ 134 Scan, Connect, Collect Region by Table - pxirp8_connectregion............................. 134 Scan, Connect, Collect Region by Value - pxirp8_connectregionv............................ 134 Follow and Collect Region Boundary by Value - pxirp8_followregionv........................ 136 Initialize Region Path - pxirp_pathcreate................................................. 138 Extend Region Path - pxirp_pathextend..................................................... 138 Extend Region Path - pxirp_pathextend1.................................................... 138 Compress Region Path - pxirp_pathcompress................................................. 139 19. Nonrectangular Regions - Draw &Paint..................................................... 141 Draw Region Boundary - pxirp8_drawboundary................................................ 141 Paint within Region - pxirp8_paintregion.................................................. 142 Draw Region Path - pxirp8_drawpath........................................................ 144 20. Nonrectangular Regions - Contrast Enhancement &Threshold................................. 146 Contrast Enhance Region - pxirp8_pixcontrast.............................................. 146 Contrast Enhance Region By Percentile - pxip8_pixcontrastperc............................. 147 Threshold Pixel Values in Region - pxirp8_pixthreshold.................................... 148 Threshold Pixel Values in Region - pxirp8_pixthreshold2................................... 148 21. Nonrectangular Regions - Simple Pixel &Copy Operations................................... 150 Set Pixel Values in Region - pxirp8_pixset................................................ 150 AND Pixels in Region with Mask - pxirp8_pixand............................................ 151 OR Pixels in Region with Mask - pxirp8_pixor.............................................. 151 XOR Pixels in Region with Mask - pxirp8_pixxor............................................ 151 Complement Pixel Values in Region - pxirp8_pixneg......................................... 151 Scale Pixel Values in Region - pxirp8_pixscale............................................ 152 Shift Pixel Values in Region - pxirp8_pixadd.............................................. 152 Map Uchar Pixel Values in Region - pxirp8_pixmap.......................................... 153 Map Ushort Pixel Values in Region - pxirp8_pixmaps........................................ 153 Map Ulong Pixel Values in Region - pxirp8_pixmapl......................................... 153 Copy Image Buffer Region - pxirp8_copy.................................................... 154 22. Nonrectangular Regions - Histograms &Computations........................................ 156 Compute Histogram on Region - pxirp8_histab............................................... 156 Compute Histogram on Region - pxirp8_histab............................................... 157 Count Region Pixels by Threshold - pxirp8_pixthresholdcnt................................. 158 Compute Center of Mass of Region - pxirp8_masscenter...................................... 159 Compute Moments of Region - pxirp8_moments................................................ 160 Compute Moments of Region w. Interpretation - pxirp8_momentsf............................. 160 Compute Center of Mass, Binary Image Region - pxirp8_binmasscenter........................ 161 Compute Shape Statistics of Image Region - pxirp_regionshapef............................. 162 23. Nonrectangular Regions - Find Blobs....................................................... 165 Find Blobs and List - pxip8_bloblist...................................................... 165 Find Blobs, Analyze and List - pxip8_bloblist2............................................ 168 24. Characters, Lines, Icons &Patterns....................................................... 170 Draw Line of Characters - pxip8_drawchars................................................. 170 Load PCL Font - pxip8_pclfontload......................................................... 172 Draw Line of PCL Font Characters - pxip8_pclfontdraw...................................... 173 Obtain PCL Font Information - pxip8_pclfontinfo........................................... 177 Obtain PCL Font Character Info - pxip8_pclfontcinfo....................................... 177 Unload PCL Font - pxip8_pclfontunload..................................................... 178 Draw Icon or Cursor - pxip8_drawicon...................................................... 178 Draw Line Segment - pxip8_drawline........................................................ 180 Draw Box - pxip8_drawbox.................................................................. 180 Draw Curved Line defined as Bezier Polynomial - pxip8_drawbezier.......................... 182 Draw Ellipse - pxip8_drawellipse.......................................................... 183 Draw Alignment Pattern - pxip8_patternalign............................................... 185 Draw 2-D Separable Patterns - pxip8_patterns.............................................. 186 Draw 2-D Cosine Product Pattern - pxip8_patterncos........................................ 187 Draw 2-D Gaussian Pattern - pxip8_patterngaussian......................................... 188 Draw 2-D Fiducial Pattern - pxip8_patternfiducial......................................... 189 Draw Arrow - pxip8_drawarrow.............................................................. 190 25. Spatial and Intensity Calibration......................................................... 193 Calibrate Spatial Mapping - pxip_calibxyhv................................................ 193 Release Spatial Mapping State - pxip_calibxyhvdone........................................ 194 Perform Spatial Mapping - pxip_calibxyhvmap............................................... 194 Perform Inverse Spatial Mapping - pxip_calibhvxymap....................................... 194 Calibrate Intensity/Density Mapping - pxip_calibzi........................................ 195 Release Intensity/Density Mapping State - pxip_calibzidone................................ 197 Perform Intensity/Density Mapping - pxip_calibzimap....................................... 197 26. Image Normalizations...................................................................... 199 Spatial Intensity Normalization - pxip8_normalizeintensity................................ 199 Normalize Image as per Background Image - pxip8_normalizebackground....................... 200 Correct Image as per Speckle Mask - pxip8_normalizespecklemask............................ 201 Histogram Equalization - pxip8_histfit.................................................... 202 Normalize Lines' Mean - pxip8_normalizelinemean........................................... 203 Normalize Columns' Mean - pxip8_normalizecolmmean......................................... 203 27. Miscellaneous Operations.................................................................. 205 Spatial Quantization &Shrink - pxip8_spatialquantize..................................... 205 Dither Pixels, Uniform - pxip8_dither..................................................... 206 Dither Pixels, Normal - pxip8_dithernormal................................................ 206 Halftone by Black/White Sum - pxip8_halftsum.............................................. 207 Decode SMPTE Vertical Interval Time Code - pxip8_smptevitcdecode.......................... 208 Search for Pixel by Table - pxip8_findpixel............................................... 210 Search for Pixel by Value - pxip8_findpixelv.............................................. 210 Subpixel Edge Measurement - pxip_fractedges............................................... 212 Track Particle Motion - pxip_particleflow................................................. 214 Print Image - pxio8_print................................................................. 217 Windows: Copy Image to Device Context - pxio8_CopyToDevice................................ 221 Windows: Get Image to Device Context Coordinates - pxio8_CopyToDeviceCoord................ 221 28. Bound COC40 Operations.................................................................... 224 28.A Compiling........................................................................... 224 COC40: Count Pixels by Threshold - m4c40ip8_pixthresholdcnt............................... 225 COC40: Compute Histogram - m4c40ip8_histab................................................ 226 COC40: Compute Tabulated Histogram - m4c40ip8_histab2..................................... 226 COC40: Compute Center of Mass - m4c40ip8_masscenter....................................... 227 COC40: Compute Center of Mass, Binary Image - m4c40ip8_binmasscenter...................... 227 COC40: Compute Moments - m4c40ip8_moments................................................. 228 COC40: Compute Moments w. Interpretation - m4c40ip8_momentsf.............................. 228 COC40: Threshold Pixel Values - m4c4ip8_pixthreshold2..................................... 229 COC40: Normalize Image as per Background Image - m4c40ip8_normalizebackground............. 230 COC40: Copy &Bilinear Interpolation w. Orientation - m4c40ip8_copyinterpbilinear......... 231 COC40: Copy &Nearest Neighbor Interpolation w. Orientation - m4c40ip8_copyinterpnearest.. 231 COC40: Find and List Blobs - m4c40ip8_bloblist............................................ 232 COC40: NxN Convolution, Integer - m4c40ip8_NxNconvolve.................................... 233 COC40: NxN Convolution, Real - m4c40ip8_NxNconvolvef...................................... 233 COC40: Edge Detection, Kirsch - m4c40ip8_3x3kirsch........................................ 234 COC40: Edge Detection, Roberts - m4c40ip8_2x2roberts...................................... 234 COC40: Edge Detection, Sobel - m4c40ip8_3x3sobel.......................................... 234 COC40: Edge Detection, Sobel Absolute - m4c40ip8_3x3sobela................................ 234 COC40: Edge Gradient, Thin - m4c40ip8_3x3ksrthin.......................................... 234 COC40: Correlation Profile - m4c4ip8_correlateprof........................................ 235 COC40: Transform Image: FFT - m4c40ip8_fft................................................ 236 COC40: Transform Image: Inverse FFT - m4c40ip8_ffti....................................... 236 COC40: Log Magnitude Plot of Freq. Domain - m4c40ip8_fftlogmag............................ 236 COC40: Scale Freq. Domain by Log Magnitude Plot - m4c40ip8_fftlmagscale................... 236 COC40: Filter Frequency Domain - m4c40ip8_fftfilterz...................................... 236 COC40: Get Dimensions of Freq. Domain Representation - m4c40ip8_fftsizes.................. 237 COC40: Convert Freq. Domain to/from Host Format - m4c40ip8_fftieee........................ 238 COC40: Copy Image with Rotation - m4c40ip8_geotranrotate.................................. 239 COC40: Spatial Quantization &Shrink - m4c40ip8_spatialquantize........................... 240 COC40: Histogram Equalization - m4c40ip8_histfit.......................................... 241 COC40: Spatial Intensity Normalization - m4c40ip8_normalizeintensity...................... 242 COC40: Filter, Low Pass, Weighted - m4c40ip8_3x3lowpass................................... 243 COC40: Filter, Low Pass, Fixed - m4c40ip8_3x3lowpassf..................................... 243 COC40: Filter, Sharpen, Laplacian - m4c40ip8_3x3sharpenl.................................. 243 COC40: Filter, Low Pass, Low Smear - m4c40ip8_3x3lowpassmear.............................. 243 COC40: Contrast Match Image Pair - m4c40ip8_contrastmatch................................. 244 COC40: Filter, Median - m4c40ip8_3x3median................................................ 244 COC40: Filter, Median, Weighted - m4c40ip8_3x3medianw..................................... 244 COC40: Filter, Median, Binary Images - m4c40ip8_3x3binmedian.............................. 244 COC40: Morphology Erosion w. 3x3 Element - m4c40ip8_morperode3x3.......................... 245 COC40: Morphology Dilation w. 3x3 Element - m4c40ip8_morpdilate3x3........................ 245 COC40: Filter, Rank Low (Erode) - m4c40ip8_3x3ranklow..................................... 246 COC40: Filter, Rank High (Dilate) - m4c40ip8_3x3rankhigh.................................. 246 COC40: Add Pixels of Image Pair - m4c40ip8_pairadd........................................ 247 COC40: Subtract Pixels of Image Pair - m4c40ip8_pairsub................................... 247 COC40: Product of Pixels of Image Pair - m4c40ip8_pairprod................................ 248 COC40: Ratio of Pixels of Image Pair - m4c40ip8_pairratio................................. 248 COC40: Exclusive OR Pixels of Image Pair - m4c40ip8_pairxor............................... 249 COC40: AND Pixels of Image Pair - m4c40ip8_pairand........................................ 249 COC40: OR Pixels of Image Pair - m4c40ip8_pairor.......................................... 249 COC40: Average Pixels of Image Pair - m4c40ip8_pairave.................................... 249 COC40: Integrate Image Sequence - m4c40ip8_integratebufs.................................. 250 COC40: Average Image Sequence - m4c40ip8_averagebufs...................................... 250 29. Primitive Operations...................................................................... 252 Draw Icon Primitive, Initialize - pxip8_drawiconinit...................................... 252 Draw Icon Primitive, Modify Pixels - pxip8_drawiconhit.................................... 254 Draw Icon Primitive, Test Completion - pxip8_drawiconhitw................................. 255 Draw Icon Primitive, Free Resources - pxip8_drawiconfree.................................. 256 30. Release Notes............................................................................. 257 31. Distribution Contents..................................................................... 267 32. Index..................................................................................... 269
Specifications and prices subject to change without notice.
EPIX® imaging products are made in the USA.
Copyright © 2024 EPIX, Inc. All rights reserved.