WPILib 2012
WPILibRoboticsLibraryforFRC
|
00001 /*============================================================================*/ 00002 /* IMAQ Vision */ 00003 /*----------------------------------------------------------------------------*/ 00004 /* Copyright (c) National Instruments 2001. All Rights Reserved. */ 00005 /*----------------------------------------------------------------------------*/ 00006 /* */ 00007 /* Title: NIVision.h */ 00008 /* */ 00009 /*============================================================================*/ 00010 #if !defined(NiVision_h) 00011 #define NiVision_h 00012 00013 //============================================================================ 00014 // Includes 00015 //============================================================================ 00016 #include <stddef.h> 00017 00018 00019 //============================================================================ 00020 // Control Defines 00021 //============================================================================ 00022 #if !defined(IMAQ_IMPORT) 00023 #ifndef __GNUC__ 00024 #define IMAQ_IMPORT __declspec(dllimport) 00025 #else 00026 #define IMAQ_IMPORT 00027 #endif 00028 #endif 00029 00030 #if !defined(IMAQ_FUNC) 00031 #if !defined(__cplusplus) 00032 #define IMAQ_FUNC IMAQ_IMPORT 00033 #else 00034 #define IMAQ_FUNC extern "C" IMAQ_IMPORT 00035 #endif 00036 #endif 00037 00038 #if !defined(IMAQ_STDCALL) 00039 #ifndef __GNUC__ 00040 #define IMAQ_STDCALL __stdcall 00041 #else 00042 #define IMAQ_STDCALL 00043 #endif 00044 #endif 00045 00046 #ifdef _CVI_ 00047 #pragma EnableLibraryRuntimeChecking 00048 #include <ansi_c.h> 00049 #endif 00050 00051 #define IMAQ_CALLBACK __cdecl 00052 00053 //============================================================================ 00054 // Manifest Constants 00055 //============================================================================ 00056 #ifndef NULL 00057 #ifdef __cplusplus 00058 #define NULL 0 00059 #else 00060 #define NULL ((void *)0) 00061 #endif 00062 #endif 00063 00064 #ifndef FALSE 00065 #define FALSE 0 00066 #endif 00067 00068 #ifndef TRUE 00069 #define TRUE 1 00070 #endif 00071 00072 #define IMAQ_DEFAULT_SHOW_COORDINATES TRUE 00073 #define IMAQ_DEFAULT_MAX_ICONS_PER_LINE 4 00074 #define IMAQ_DEFAULT_LEARNING_MODE IMAQ_LEARN_SHIFT_INFORMATION 00075 #define IMAQ_DEFAULT_BMP_COMPRESS FALSE 00076 #define IMAQ_DEFAULT_PNG_QUALITY 750 00077 #define IMAQ_DEFAULT_JPEG_QUALITY 750 00078 #define IMAQ_ALL_CONTOURS -1 00079 #define IMAQ_ALL_WINDOWS -1 00080 #define IMAQ_SHIFT 1 00081 #define IMAQ_ALT 2 00082 #define IMAQ_CTRL 4 00083 #define IMAQ_CAPS_LOCK 8 00084 #define IMAQ_MODAL_DIALOG -1 00085 #define IMAQ_INIT_RGB_TRANSPARENT { 0, 0, 0, 1 } 00086 #define IMAQ_INIT_RGB_RED { 0, 0, 255, 0 } 00087 #define IMAQ_INIT_RGB_BLUE { 255, 0, 0, 0 } 00088 #define IMAQ_INIT_RGB_GREEN { 0, 255, 0, 0 } 00089 #define IMAQ_INIT_RGB_YELLOW { 0, 255, 255, 0 } 00090 #define IMAQ_INIT_RGB_WHITE { 255, 255, 255, 0 } 00091 #define IMAQ_INIT_RGB_BLACK { 0, 0, 0, 0 } 00092 #define IMAQ_USE_DEFAULT_QUALITY -1 00093 #define IMAQ_ALL_SAMPLES -1 00094 #define IMAQ_ALL_OBJECTS -1 00095 #define IMAQ_ALL_CHARACTERS -1 00096 00097 //============================================================================ 00098 // Predefined Valid Characters 00099 //============================================================================ 00100 #define IMAQ_ANY_CHARACTER "" //Any Character 00101 #define IMAQ_ALPHABETIC "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" //Alphabetic 00102 #define IMAQ_ALPHANUMERIC "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" //Alphanumeric 00103 #define IMAQ_UPPERCASE_LETTERS "ABCDEFGHIJKLMNOPQRSTUVWXYZ" //Uppercase Letters 00104 #define IMAQ_LOWERCASE_LETTERS "abcdefghijklmnopqrstuvwxyz" //Lowercase Letters 00105 #define IMAQ_DECIMAL_DIGITS "0123456789" //Decimal Digits 00106 #define IMAQ_HEXADECIMAL_DIGITS "0123456789ABCDEFabcdef" //Hexadecimal Digits 00107 #define IMAQ_PATTERN "\xFF" //Pattern (A single character string with the character value set to 255) 00108 #define IMAQ_FORCE_SPACE " " //Force Space 00109 00110 //============================================================================ 00111 // Macros 00112 //============================================================================ 00113 #define IMAQ_NO_RECT imaqMakeRect( 0, 0, 0x7FFFFFFF, 0x7FFFFFFF) 00114 #define IMAQ_NO_ROTATED_RECT imaqMakeRotatedRect( 0, 0, 0x7FFFFFFF, 0x7FFFFFFF, 0) 00115 #define IMAQ_NO_POINT imaqMakePoint( -1, -1) 00116 #define IMAQ_NO_POINT_FLOAT imaqMakePointFloat( -1.0, -1.0 ) 00117 #define IMAQ_NO_OFFSET imaqMakePointFloat( 0.0, 0.0 ) 00118 00119 00120 00121 //============================================================================ 00122 // When in Borland, some functions must be mapped to different names. 00123 // This accomplishes said task. 00124 //============================================================================ 00125 #if defined(__BORLANDC__) || (defined(_CVI_) && defined(_NI_BC_)) 00126 #define imaqMakePoint imaqMakePoint_BC 00127 #define imaqMakePointFloat imaqMakePointFloat_BC 00128 #endif 00129 00130 00131 //============================================================================ 00132 // When in Watcom, some functions must be mapped to different names. 00133 // This accomplishes said task. 00134 //============================================================================ 00135 #if defined(__WATCOMC__) || (defined(_CVI_) && defined(_NI_WC_)) 00136 #define imaqMakePoint imaqMakePoint_BC 00137 #define imaqMakePointFloat imaqMakePointFloat_BC 00138 #endif 00139 00140 //============================================================================ 00141 // If using Visual C++, force startup & shutdown code to run. 00142 //============================================================================ 00143 #if defined(_MSC_VER) && !defined(_CVI_) && !defined(__BORLANDC__) 00144 #pragma comment(linker, "/INCLUDE:_nivision_startup_shutdown") 00145 #pragma comment(linker, "/DEFAULTLIB:nivision.lib") 00146 #endif 00147 00148 //============================================================================ 00149 // Error Codes 00150 //============================================================================ 00151 #define ERR_SUCCESS 0 // No error. 00152 #define ERR_SYSTEM_ERROR -1074396160 // System error. 00153 #define ERR_OUT_OF_MEMORY -1074396159 // Not enough memory for requested operation. 00154 #define ERR_MEMORY_ERROR -1074396158 // Memory error. 00155 #define ERR_UNREGISTERED -1074396157 // Unlicensed copy of NI Vision. 00156 #define ERR_NEED_FULL_VERSION -1074396156 // The function requires an NI Vision 5.0 Advanced license. 00157 #define ERR_UNINIT -1074396155 // NI Vision did not initialize properly. 00158 #define ERR_IMAGE_TOO_SMALL -1074396154 // The image is not large enough for the operation. 00159 #define ERR_BARCODE_CODABAR -1074396153 // The barcode is not a valid Codabar barcode. 00160 #define ERR_BARCODE_CODE39 -1074396152 // The barcode is not a valid Code 3 of 9 barcode. 00161 #define ERR_BARCODE_CODE93 -1074396151 // The barcode is not a valid Code93 barcode. 00162 #define ERR_BARCODE_CODE128 -1074396150 // The barcode is not a valid Code128 barcode. 00163 #define ERR_BARCODE_EAN8 -1074396149 // The barcode is not a valid EAN8 barcode. 00164 #define ERR_BARCODE_EAN13 -1074396148 // The barcode is not a valid EAN13 barcode. 00165 #define ERR_BARCODE_I25 -1074396147 // The barcode is not a valid Interleaved 2 of 5 barcode. 00166 #define ERR_BARCODE_MSI -1074396146 // The barcode is not a valid MSI barcode. 00167 #define ERR_BARCODE_UPCA -1074396145 // The barcode is not a valid UPCA barcode. 00168 #define ERR_BARCODE_CODE93_SHIFT -1074396144 // The Code93 barcode contains invalid shift encoding. 00169 #define ERR_BARCODE_TYPE -1074396143 // The barcode type is invalid. 00170 #define ERR_BARCODE_INVALID -1074396142 // The image does not represent a valid linear barcode. 00171 #define ERR_BARCODE_CODE128_FNC -1074396141 // The FNC value in the Code128 barcode is not located before the first data value. 00172 #define ERR_BARCODE_CODE128_SET -1074396140 // The starting code set in the Code128 barcode is not valid. 00173 #define ERR_ROLLBACK_RESOURCE_OUT_OF_MEMORY -1074396139 // Not enough reserved memory in the timed environment for the requested operation. 00174 #define ERR_ROLLBACK_NOT_SUPPORTED -1074396138 // The function is not supported when a time limit is active. 00175 #define ERR_DIRECTX_DLL_NOT_FOUND -1074396137 // Quartz.dll not found. Install DirectX 8.1 or later. 00176 #define ERR_DIRECTX_INVALID_FILTER_QUALITY -1074396136 // The filter quality you provided is invalid. Valid quality values range from -1 to 1000. 00177 #define ERR_INVALID_BUTTON_LABEL -1074396135 // Invalid button label. 00178 #define ERR_THREAD_INITIALIZING -1074396134 // Could not execute the function in the separate thread because the thread has not completed initialization. 00179 #define ERR_THREAD_COULD_NOT_INITIALIZE -1074396133 // Could not execute the function in the separate thread because the thread could not initialize. 00180 #define ERR_MASK_NOT_TEMPLATE_SIZE -1074396132 // The mask must be the same size as the template. 00181 #define ERR_NOT_RECT_OR_ROTATED_RECT -1074396130 // The ROI must only have either a single Rectangle contour or a single Rotated Rectangle contour. 00182 #define ERR_ROLLBACK_UNBOUNDED_INTERFACE -1074396129 // During timed execution, you must use the preallocated version of this operation. 00183 #define ERR_ROLLBACK_RESOURCE_CONFLICT_3 -1074396128 // An image being modified by one process cannot be requested by another process while a time limit is active. 00184 #define ERR_ROLLBACK_RESOURCE_CONFLICT_2 -1074396127 // An image with pattern matching, calibration, or overlay information cannot be manipulated while a time limit is active. 00185 #define ERR_ROLLBACK_RESOURCE_CONFLICT_1 -1074396126 // An image created before a time limit is started cannot be resized while a time limit is active. 00186 #define ERR_INVALID_CONTRAST_THRESHOLD -1074396125 // Invalid contrast threshold. The threshold value must be greater than 0. 00187 #define ERR_INVALID_CALIBRATION_ROI_MODE -1074396124 // NI Vision does not support the calibration ROI mode you supplied. 00188 #define ERR_INVALID_CALIBRATION_MODE -1074396123 // NI Vision does not support the calibration mode you supplied. 00189 #define ERR_DRAWTEXT_COLOR_MUST_BE_GRAYSCALE -1074396122 // Set the foreground and background text colors to grayscale to draw on a U8 image. 00190 #define ERR_SATURATION_THRESHOLD_OUT_OF_RANGE -1074396121 // The value of the saturation threshold must be from 0 to 255. 00191 #define ERR_NOT_IMAGE -1074396120 // Not an image. 00192 #define ERR_CUSTOMDATA_INVALID_KEY -1074396119 // They custom data key you supplied is invalid. The only valid character values are decimal 32-126 and 161-255. There must also be no repeated, leading, or trailing spaces. 00193 #define ERR_INVALID_STEP_SIZE -1074396118 // Step size must be greater than zero and less than Image size 00194 #define ERR_MATRIX_SIZE -1074396117 // Invalid matrix size in the structuring element. 00195 #define ERR_CALIBRATION_INSF_POINTS -1074396116 // Insufficient number of calibration feature points. 00196 #define ERR_CALIBRATION_IMAGE_CORRECTED -1074396115 // The operation is invalid in a corrected image. 00197 #define ERR_CALIBRATION_INVALID_ROI -1074396114 // The ROI contains an invalid contour type or is not contained in the ROI learned for calibration. 00198 #define ERR_CALIBRATION_IMAGE_UNCALIBRATED -1074396113 // The source/input image has not been calibrated. 00199 #define ERR_INCOMP_MATRIX_SIZE -1074396112 // The number of pixel and real-world coordinates must be equal. 00200 #define ERR_CALIBRATION_FAILED_TO_FIND_GRID -1074396111 // Unable to automatically detect grid because the image is too distorted. 00201 #define ERR_CALIBRATION_INFO_VERSION -1074396110 // Invalid calibration information version. 00202 #define ERR_CALIBRATION_INVALID_SCALING_FACTOR -1074396109 // Invalid calibration scaling factor. 00203 #define ERR_CALIBRATION_ERRORMAP -1074396108 // The calibration error map cannot be computed. 00204 #define ERR_CALIBRATION_INFO_1 -1074396107 // Invalid calibration template image. 00205 #define ERR_CALIBRATION_INFO_2 -1074396106 // Invalid calibration template image. 00206 #define ERR_CALIBRATION_INFO_3 -1074396105 // Invalid calibration template image. 00207 #define ERR_CALIBRATION_INFO_4 -1074396104 // Invalid calibration template image. 00208 #define ERR_CALIBRATION_INFO_5 -1074396103 // Invalid calibration template image. 00209 #define ERR_CALIBRATION_INFO_6 -1074396102 // Invalid calibration template image. 00210 #define ERR_CALIBRATION_INFO_MICRO_PLANE -1074396101 // Invalid calibration template image. 00211 #define ERR_CALIBRATION_INFO_PERSPECTIVE_PROJECTION -1074396100 // Invalid calibration template image. 00212 #define ERR_CALIBRATION_INFO_SIMPLE_TRANSFORM -1074396099 // Invalid calibration template image. 00213 #define ERR_RESERVED_MUST_BE_NULL -1074396098 // You must pass NULL for the reserved parameter. 00214 #define ERR_INVALID_PARTICLE_PARAMETER_VALUE -1074396097 // You entered an invalid selection in the particle parameter. 00215 #define ERR_NOT_AN_OBJECT -1074396096 // Not an object. 00216 #define ERR_CALIBRATION_DUPLICATE_REFERENCE_POINT -1074396095 // The reference points passed are inconsistent. At least two similar pixel coordinates correspond to different real-world coordinates. 00217 #define ERR_ROLLBACK_RESOURCE_CANNOT_UNLOCK -1074396094 // A resource conflict occurred in the timed environment. Two processes cannot manage the same resource and be time bounded. 00218 #define ERR_ROLLBACK_RESOURCE_LOCKED -1074396093 // A resource conflict occurred in the timed environment. Two processes cannot access the same resource and be time bounded. 00219 #define ERR_ROLLBACK_RESOURCE_NON_EMPTY_INITIALIZE -1074396092 // Multiple timed environments are not supported. 00220 #define ERR_ROLLBACK_RESOURCE_UNINITIALIZED_ENABLE -1074396091 // A time limit cannot be started until the timed environment is initialized. 00221 #define ERR_ROLLBACK_RESOURCE_ENABLED -1074396090 // Multiple timed environments are not supported. 00222 #define ERR_ROLLBACK_RESOURCE_REINITIALIZE -1074396089 // The timed environment is already initialized. 00223 #define ERR_ROLLBACK_RESIZE -1074396088 // The results of the operation exceeded the size limits on the output data arrays. 00224 #define ERR_ROLLBACK_STOP_TIMER -1074396087 // No time limit is available to stop. 00225 #define ERR_ROLLBACK_START_TIMER -1074396086 // A time limit could not be set. 00226 #define ERR_ROLLBACK_INIT_TIMER -1074396085 // The timed environment could not be initialized. 00227 #define ERR_ROLLBACK_DELETE_TIMER -1074396084 // No initialized timed environment is available to close. 00228 #define ERR_ROLLBACK_TIMEOUT -1074396083 // The time limit has expired. 00229 #define ERR_PALETTE_NOT_SUPPORTED -1074396082 // Only 8-bit images support the use of palettes. Either do not use a palette, or convert your image to an 8-bit image before using a palette. 00230 #define ERR_BAD_PASSWORD -1074396081 // Incorrect password. 00231 #define ERR_INVALID_IMAGE_TYPE -1074396080 // Invalid image type. 00232 #define ERR_INVALID_METAFILE_HANDLE -1074396079 // Invalid metafile handle. 00233 #define ERR_INCOMP_TYPE -1074396077 // Incompatible image type. 00234 #define ERR_COORD_SYS_FIRST_AXIS -1074396076 // Unable to fit a line for the primary axis. 00235 #define ERR_COORD_SYS_SECOND_AXIS -1074396075 // Unable to fit a line for the secondary axis. 00236 #define ERR_INCOMP_SIZE -1074396074 // Incompatible image size. 00237 #define ERR_MASK_OUTSIDE_IMAGE -1074396073 // When the mask's offset was applied, the mask was entirely outside of the image. 00238 #define ERR_INVALID_BORDER -1074396072 // Invalid image border. 00239 #define ERR_INVALID_SCAN_DIRECTION -1074396071 // Invalid scan direction. 00240 #define ERR_INVALID_FUNCTION -1074396070 // Unsupported function. 00241 #define ERR_INVALID_COLOR_MODE -1074396069 // NI Vision does not support the color mode you specified. 00242 #define ERR_INVALID_ACTION -1074396068 // The function does not support the requested action. 00243 #define ERR_IMAGES_NOT_DIFF -1074396067 // The source image and destination image must be different. 00244 #define ERR_INVALID_POINTSYMBOL -1074396066 // Invalid point symbol. 00245 #define ERR_CANT_RESIZE_EXTERNAL -1074396065 // Cannot resize an image in an acquisition buffer. 00246 #define ERR_EXTERNAL_NOT_SUPPORTED -1074396064 // This operation is not supported for images in an acquisition buffer. 00247 #define ERR_EXTERNAL_ALIGNMENT -1074396063 // The external buffer must be aligned on a 4-byte boundary. The line width and border pixels must be 4-byte aligned, as well. 00248 #define ERR_INVALID_TOLERANCE -1074396062 // The tolerance parameter must be greater than or equal to 0. 00249 #define ERR_INVALID_WINDOW_SIZE -1074396061 // The size of each dimension of the window must be greater than 2 and less than or equal to the size of the image in the corresponding dimension. 00250 #define ERR_JPEG2000_LOSSLESS_WITH_FLOATING_POINT -1074396060 // Lossless compression cannot be used with the floating point wavelet transform mode. Either set the wavelet transform mode to integer, or use lossy compression. 00251 #define ERR_INVALID_MAX_ITERATIONS -1074396059 // Invalid maximum number of iterations. Maximum number of iterations must be greater than zero. 00252 #define ERR_INVALID_ROTATION_MODE -1074396058 // Invalid rotation mode. 00253 #define ERR_INVALID_SEARCH_VECTOR_WIDTH -1074396057 // Invalid search vector width. The width must be an odd number greater than zero. 00254 #define ERR_INVALID_MATRIX_MIRROR_MODE -1074396056 // Invalid matrix mirror mode. 00255 #define ERR_INVALID_ASPECT_RATIO -1074396055 // Invalid aspect ratio. Valid aspect ratios must be greater than or equal to zero. 00256 #define ERR_INVALID_CELL_FILL_TYPE -1074396054 // Invalid cell fill type. 00257 #define ERR_INVALID_BORDER_INTEGRITY -1074396053 // Invalid border integrity. Valid values range from 0 to 100. 00258 #define ERR_INVALID_DEMODULATION_MODE -1074396052 // Invalid demodulation mode. 00259 #define ERR_INVALID_CELL_FILTER_MODE -1074396051 // Invalid cell filter mode. 00260 #define ERR_INVALID_ECC_TYPE -1074396050 // Invalid ECC type. 00261 #define ERR_INVALID_MATRIX_POLARITY -1074396049 // Invalid matrix polarity. 00262 #define ERR_INVALID_CELL_SAMPLE_SIZE -1074396048 // Invalid cell sample size. 00263 #define ERR_INVALID_LINEAR_AVERAGE_MODE -1074396047 // Invalid linear average mode. 00264 #define ERR_INVALID_2D_BARCODE_CONTRAST_FOR_ROI -1074396046 // When using a region of interest that is not a rectangle, you must specify the contrast mode of the barcode as either black on white or white on black. 00265 #define ERR_INVALID_2D_BARCODE_SUBTYPE -1074396045 // Invalid 2-D barcode Data Matrix subtype. 00266 #define ERR_INVALID_2D_BARCODE_SHAPE -1074396044 // Invalid 2-D barcode shape. 00267 #define ERR_INVALID_2D_BARCODE_CELL_SHAPE -1074396043 // Invalid 2-D barcode cell shape. 00268 #define ERR_INVALID_2D_BARCODE_CONTRAST -1074396042 // Invalid 2-D barcode contrast. 00269 #define ERR_INVALID_2D_BARCODE_TYPE -1074396041 // Invalid 2-D barcode type. 00270 #define ERR_DRIVER -1074396040 // Cannot access NI-IMAQ driver. 00271 #define ERR_IO_ERROR -1074396039 // I/O error. 00272 #define ERR_FIND_COORDSYS_MORE_THAN_ONE_EDGE -1074396038 // When searching for a coordinate system, the number of lines to fit must be 1. 00273 #define ERR_TIMEOUT -1074396037 // Trigger timeout. 00274 #define ERR_INVALID_SKELETONMODE -1074396036 // The Skeleton mode you specified is invalid. 00275 #define ERR_TEMPLATEIMAGE_NOCIRCLE -1074396035 // The template image does not contain enough information for learning the aggressive search strategy. 00276 #define ERR_TEMPLATEIMAGE_EDGEINFO -1074396034 // The template image does not contain enough edge information for the sample size(s) requested. 00277 #define ERR_TEMPLATEDESCRIPTOR_LEARNSETUPDATA -1074396033 // Invalid template descriptor. 00278 #define ERR_TEMPLATEDESCRIPTOR_ROTATION_SEARCHSTRATEGY -1074396032 // The template descriptor does not contain data required for the requested search strategy in rotation-invariant matching. 00279 #define ERR_INVALID_TETRAGON -1074396031 // The input tetragon must have four points. The points are specified clockwise starting with the top left point. 00280 #define ERR_TOO_MANY_CLASSIFICATION_SESSIONS -1074396030 // There are too many classification sessions open. You must close a session before you can open another one. 00281 #define ERR_TIME_BOUNDED_EXECUTION_NOT_SUPPORTED -1074396028 // NI Vision no longer supports time-bounded execution. 00282 #define ERR_INVALID_COLOR_RESOLUTION -1074396027 // Invalid Color Resolution for the Color Classifier 00283 #define ERR_INVALID_PROCESS_TYPE_FOR_EDGE_DETECTION -1074396026 // Invalid process type for edge detection. 00284 #define ERR_INVALID_ANGLE_RANGE_FOR_STRAIGHT_EDGE -1074396025 // Angle range value should be equal to or greater than zero. 00285 #define ERR_INVALID_MIN_COVERAGE_FOR_STRAIGHT_EDGE -1074396024 // Minimum coverage value should be greater than zero. 00286 #define ERR_INVALID_ANGLE_TOL_FOR_STRAIGHT_EDGE -1074396023 // The angle tolerance should be equal to or greater than 0.001. 00287 #define ERR_INVALID_SEARCH_MODE_FOR_STRAIGHT_EDGE -1074396022 // Invalid search mode for detecting straight edges 00288 #define ERR_INVALID_KERNEL_SIZE_FOR_EDGE_DETECTION -1074396021 // Invalid kernel size for edge detection. The minimum kernel size is 3, the maximum kernel size is 1073741823 and the kernel size must be odd. 00289 #define ERR_INVALID_GRADING_MODE -1074396020 // Invalid grading mode. 00290 #define ERR_INVALID_THRESHOLD_PERCENTAGE -1074396019 // Invalid threshold percentage. Valid values range from 0 to 100. 00291 #define ERR_INVALID_EDGE_POLARITY_SEARCH_MODE -1074396018 // Invalid edge polarity search mode. 00292 #define ERR_OPENING_NEWER_AIM_GRADING_DATA -1074396017 // The AIM grading data attached to the image you tried to open was created with a newer version of NI Vision. Upgrade to the latest version of NI Vision to read this file. 00293 #define ERR_NO_VIDEO_DRIVER -1074396016 // No video driver is installed. 00294 #define ERR_RPC_EXECUTE_IVB -1074396015 // Unable to establish network connection with remote system. 00295 #define ERR_INVALID_VIDEO_BLIT -1074396014 // RT Video Out does not support displaying the supplied image type at the selected color depth. 00296 #define ERR_INVALID_VIDEO_MODE -1074396013 // Invalid video mode. 00297 #define ERR_RPC_EXECUTE -1074396012 // Unable to display remote image on network connection. 00298 #define ERR_RPC_BIND -1074396011 // Unable to establish network connection. 00299 #define ERR_INVALID_FRAME_NUMBER -1074396010 // Invalid frame number. 00300 #define ERR_DIRECTX -1074396009 // An internal DirectX error has occurred. Try upgrading to the latest version of DirectX. 00301 #define ERR_DIRECTX_NO_FILTER -1074396008 // An appropriate DirectX filter to process this file could not be found. Install the filter that was used to create this AVI. Upgrading to the latest version of DirectX may correct this error. NI Vision requires DirectX 8.1 or higher. 00302 #define ERR_DIRECTX_INCOMPATIBLE_COMPRESSION_FILTER -1074396007 // Incompatible compression filter. 00303 #define ERR_DIRECTX_UNKNOWN_COMPRESSION_FILTER -1074396006 // Unknown compression filter. 00304 #define ERR_INVALID_AVI_SESSION -1074396005 // Invalid AVI session. 00305 #define ERR_DIRECTX_CERTIFICATION_FAILURE -1074396004 // A software key is restricting the use of this compression filter. 00306 #define ERR_AVI_DATA_EXCEEDS_BUFFER_SIZE -1074396003 // The data for this frame exceeds the data buffer size specified when creating the AVI file. 00307 #define ERR_INVALID_LINEGAUGEMETHOD -1074396002 // Invalid line gauge method. 00308 #define ERR_TOO_MANY_AVI_SESSIONS -1074396001 // There are too many AVI sessions open. You must close a session before you can open another one. 00309 #define ERR_FILE_FILE_HEADER -1074396000 // Invalid file header. 00310 #define ERR_FILE_FILE_TYPE -1074395999 // Invalid file type. 00311 #define ERR_FILE_COLOR_TABLE -1074395998 // Invalid color table. 00312 #define ERR_FILE_ARGERR -1074395997 // Invalid parameter. 00313 #define ERR_FILE_OPEN -1074395996 // File is already open for writing. 00314 #define ERR_FILE_NOT_FOUND -1074395995 // File not found. 00315 #define ERR_FILE_TOO_MANY_OPEN -1074395994 // Too many files open. 00316 #define ERR_FILE_IO_ERR -1074395993 // File I/O error. 00317 #define ERR_FILE_PERMISSION -1074395992 // File access denied. 00318 #define ERR_FILE_INVALID_TYPE -1074395991 // NI Vision does not support the file type you specified. 00319 #define ERR_FILE_GET_INFO -1074395990 // Could not read Vision info from file. 00320 #define ERR_FILE_READ -1074395989 // Unable to read data. 00321 #define ERR_FILE_WRITE -1074395988 // Unable to write data. 00322 #define ERR_FILE_EOF -1074395987 // Premature end of file. 00323 #define ERR_FILE_FORMAT -1074395986 // Invalid file format. 00324 #define ERR_FILE_OPERATION -1074395985 // Invalid file operation. 00325 #define ERR_FILE_INVALID_DATA_TYPE -1074395984 // NI Vision does not support the file data type you specified. 00326 #define ERR_FILE_NO_SPACE -1074395983 // Disk full. 00327 #define ERR_INVALID_FRAMES_PER_SECOND -1074395982 // The frames per second in an AVI must be greater than zero. 00328 #define ERR_INSUFFICIENT_BUFFER_SIZE -1074395981 // The buffer that was passed in is not big enough to hold all of the data. 00329 #define ERR_COM_INITIALIZE -1074395980 // Error initializing COM. 00330 #define ERR_INVALID_PARTICLE_INFO -1074395979 // The image has invalid particle information. Call imaqCountParticles on the image to create particle information. 00331 #define ERR_INVALID_PARTICLE_NUMBER -1074395978 // Invalid particle number. 00332 #define ERR_AVI_VERSION -1074395977 // The AVI file was created in a newer version of NI Vision. Upgrade to the latest version of NI Vision to read this AVI file. 00333 #define ERR_NUMBER_OF_PALETTE_COLORS -1074395976 // The color palette must have exactly 0 or 256 entries. 00334 #define ERR_AVI_TIMEOUT -1074395975 // DirectX has timed out reading or writing the AVI file. When closing an AVI file, try adding an additional delay. When reading an AVI file, try reducing CPU and disk load. 00335 #define ERR_UNSUPPORTED_JPEG2000_COLORSPACE_METHOD -1074395974 // NI Vision does not support reading JPEG2000 files with this colorspace method. 00336 #define ERR_JPEG2000_UNSUPPORTED_MULTIPLE_LAYERS -1074395973 // NI Vision does not support reading JPEG2000 files with more than one layer. 00337 #define ERR_DIRECTX_ENUMERATE_FILTERS -1074395972 // DirectX is unable to enumerate the compression filters. This is caused by a third-party compression filter that is either improperly installed or is preventing itself from being enumerated. Remove any recently installed compression filters and try again. 00338 #define ERR_INVALID_OFFSET -1074395971 // The offset you specified must be size 2. 00339 #define ERR_INIT -1074395960 // Initialization error. 00340 #define ERR_CREATE_WINDOW -1074395959 // Unable to create window. 00341 #define ERR_WINDOW_ID -1074395958 // Invalid window ID. 00342 #define ERR_ARRAY_SIZE_MISMATCH -1074395957 // The array sizes are not compatible. 00343 #define ERR_INVALID_QUALITY -1074395956 // The quality you provided is invalid. Valid quality values range from -1 to 1000. 00344 #define ERR_INVALID_MAX_WAVELET_TRANSFORM_LEVEL -1074395955 // Invalid maximum wavelet transform level. Valid values range from 0 to 255. 00345 #define ERR_INVALID_QUANTIZATION_STEP_SIZE -1074395954 // The quantization step size must be greater than or equal to 0. 00346 #define ERR_INVALID_WAVELET_TRANSFORM_MODE -1074395953 // Invalid wavelet transform mode. 00347 #define ERR_ROI_NOT_POINT -1074395952 // The ROI must only have a single Point contour. 00348 #define ERR_ROI_NOT_POINTS -1074395951 // The ROI must only have Point contours. 00349 #define ERR_ROI_NOT_LINE -1074395950 // The ROI must only have a single Line contour. 00350 #define ERR_ROI_NOT_ANNULUS -1074395949 // The ROI must only have a single Annulus contour. 00351 #define ERR_INVALID_MEASURE_PARTICLES_CALIBRATION_MODE -1074395948 // Invalid measure particles calibration mode. 00352 #define ERR_INVALID_PARTICLE_CLASSIFIER_THRESHOLD_TYPE -1074395947 // Invalid particle classifier threshold type. 00353 #define ERR_INVALID_DISTANCE -1074395946 // Invalid Color Segmentation Distance 00354 #define ERR_INVALID_PARTICLE_AREA -1074395945 // Invalid Color Segmenation Particle Area 00355 #define ERR_CLASS_NAME_NOT_FOUND -1074395944 // Required Class name is not found in trained labels/Class names 00356 #define ERR_NUMBER_LABEL_LIMIT_EXCEEDED -1074395943 // Number of Labels exceeded limit of label Image type 00357 #define ERR_INVALID_DISTANCE_LEVEL -1074395942 // Invalid Color Segmentation distance level 00358 #define ERR_INVALID_SVM_TYPE -1074395941 // Invalid SVM model type 00359 #define ERR_INVALID_SVM_KERNEL -1074395940 // Invalid SVM kernel type 00360 #define ERR_NO_SUPPORT_VECTOR_FOUND -1074395939 // No Support Vector is found at SVM training 00361 #define ERR_COST_LABEL_NOT_FOUND -1074395938 // Label name is not found in added samples 00362 #define ERR_EXCEEDED_SVM_MAX_ITERATION -1074395937 // SVM training exceeded maximim Iteration limit 00363 #define ERR_INVALID_SVM_PARAMETER -1074395936 // Invalid SVM Parameter 00364 #define ERR_INVALID_IDENTIFICATION_SCORE -1074395935 // Invalid Identification score. Must be between 0-1000. 00365 #define ERR_INVALID_TEXTURE_FEATURE -1074395934 // Requested for invalid texture feature 00366 #define ERR_INVALID_COOCCURRENCE_LEVEL -1074395933 // The coOccurrence Level must lie between 1 and the maximum pixel value of an image (255 for U8 image) 00367 #define ERR_INVALID_WAVELET_SUBBAND -1074395932 // Request for invalid wavelet subBand 00368 #define ERR_INVALID_FINAL_STEP_SIZE -1074395931 // The final step size must be lesser than the initial step size 00369 #define ERR_INVALID_ENERGY -1074395930 // Minimum Energy should lie between 0 and 100 00370 #define ERR_INVALID_TEXTURE_LABEL -1074395929 // The classification label must be texture or defect for texture defect classifier 00371 #define ERR_INVALID_WAVELET_TYPE -1074395928 // The wavelet type is invalid 00372 #define ERR_SAME_WAVELET_BANDS_SELECTED -1074395927 // Same Wavelet band is selected multiple times 00373 #define ERR_IMAGE_SIZE_MISMATCH -1074395926 // The two input image sizes are different 00374 #define ERR_NUMBER_CLASS -1074395920 // Invalid number of classes. 00375 #define ERR_INVALID_LUCAS_KANADE_WINDOW_SIZE -1074395888 // Both dimensions of the window size should be odd, greater than 2 and less than 16. 00376 #define ERR_INVALID_MATRIX_TYPE -1074395887 // The type of matrix supplied to the function is not supported. 00377 #define ERR_INVALID_OPTICAL_FLOW_TERMINATION_CRITERIA_TYPE -1074395886 // An invalid termination criteria was specified for the optical flow computation. 00378 #define ERR_LKP_NULL_PYRAMID -1074395885 // The pyramid levels where not properly allocated. 00379 #define ERR_INVALID_PYRAMID_LEVEL -1074395884 // The pyramid level specified cannot be negative 00380 #define ERR_INVALID_LKP_KERNEL -1074395883 // The kernel must be symmetric with non-zero coefficients and of odd size 00381 #define ERR_INVALID_HORN_SCHUNCK_LAMBDA -1074395882 // Invalid smoothing parameter in Horn Schunck operation. 00382 #define ERR_INVALID_HORN_SCHUNCK_TYPE -1074395881 // Invalid stopping criteria type for Horn Schunck optical flow. 00383 #define ERR_PARTICLE -1074395880 // Invalid particle. 00384 #define ERR_BAD_MEASURE -1074395879 // Invalid measure number. 00385 #define ERR_PROP_NODE_WRITE_NOT_SUPPORTED -1074395878 // The Image Display control does not support writing this property node. 00386 #define ERR_COLORMODE_REQUIRES_CHANGECOLORSPACE2 -1074395877 // The specified color mode requires the use of imaqChangeColorSpace2. 00387 #define ERR_UNSUPPORTED_COLOR_MODE -1074395876 // This function does not currently support the color mode you specified. 00388 #define ERR_BARCODE_PHARMACODE -1074395875 // The barcode is not a valid Pharmacode symbol 00389 #define ERR_BAD_INDEX -1074395840 // Invalid handle table index. 00390 #define ERR_INVALID_COMPRESSION_RATIO -1074395837 // The compression ratio must be greater than or equal to 1. 00391 #define ERR_TOO_MANY_CONTOURS -1074395801 // The ROI contains too many contours. 00392 #define ERR_PROTECTION -1074395800 // Protection error. 00393 #define ERR_INTERNAL -1074395799 // Internal error. 00394 #define ERR_INVALID_CUSTOM_SAMPLE -1074395798 // The size of the feature vector in the custom sample must match the size of those you have already added. 00395 #define ERR_INVALID_CLASSIFIER_SESSION -1074395797 // Not a valid classifier session. 00396 #define ERR_INVALID_KNN_METHOD -1074395796 // You requested an invalid Nearest Neighbor classifier method. 00397 #define ERR_K_TOO_LOW -1074395795 // The k parameter must be greater than two. 00398 #define ERR_K_TOO_HIGH -1074395794 // The k parameter must be <= the number of samples in each class. 00399 #define ERR_INVALID_OPERATION_ON_COMPACT_SESSION_ATTEMPTED -1074395793 // This classifier session is compact. Only the Classify and Dispose functions may be called on a compact classifier session. 00400 #define ERR_CLASSIFIER_SESSION_NOT_TRAINED -1074395792 // This classifier session is not trained. You may only call this function on a trained classifier session. 00401 #define ERR_CLASSIFIER_INVALID_SESSION_TYPE -1074395791 // This classifier function cannot be called on this type of classifier session. 00402 #define ERR_INVALID_DISTANCE_METRIC -1074395790 // You requested an invalid distance metric. 00403 #define ERR_OPENING_NEWER_CLASSIFIER_SESSION -1074395789 // The classifier session you tried to open was created with a newer version of NI Vision. Upgrade to the latest version of NI Vision to read this file. 00404 #define ERR_NO_SAMPLES -1074395788 // This operation cannot be performed because you have not added any samples. 00405 #define ERR_INVALID_CLASSIFIER_TYPE -1074395787 // You requested an invalid classifier type. 00406 #define ERR_INVALID_PARTICLE_OPTIONS -1074395786 // The sum of Scale Dependence and Symmetry Dependence must be less than 1000. 00407 #define ERR_NO_PARTICLE -1074395785 // The image yielded no particles. 00408 #define ERR_INVALID_LIMITS -1074395784 // The limits you supplied are not valid. 00409 #define ERR_BAD_SAMPLE_INDEX -1074395783 // The Sample Index fell outside the range of Samples. 00410 #define ERR_DESCRIPTION_TOO_LONG -1074395782 // The description must be <= 255 characters. 00411 #define ERR_CLASSIFIER_INVALID_ENGINE_TYPE -1074395781 // The engine for this classifier session does not support this operation. 00412 #define ERR_INVALID_PARTICLE_TYPE -1074395780 // You requested an invalid particle type. 00413 #define ERR_CANNOT_COMPACT_UNTRAINED -1074395779 // You may only save a session in compact form if it is trained. 00414 #define ERR_INVALID_KERNEL_SIZE -1074395778 // The Kernel size must be smaller than the image size. 00415 #define ERR_INCOMPATIBLE_CLASSIFIER_TYPES -1074395777 // The session you read from file must be the same type as the session you passed in. 00416 #define ERR_INVALID_USE_OF_COMPACT_SESSION_FILE -1074395776 // You can not use a compact classification file with read options other than Read All. 00417 #define ERR_ROI_HAS_OPEN_CONTOURS -1074395775 // The ROI you passed in may only contain closed contours. 00418 #define ERR_NO_LABEL -1074395774 // You must pass in a label. 00419 #define ERR_NO_DEST_IMAGE -1074395773 // You must provide a destination image. 00420 #define ERR_INVALID_REGISTRATION_METHOD -1074395772 // You provided an invalid registration method. 00421 #define ERR_OPENING_NEWER_INSPECTION_TEMPLATE -1074395771 // The golden template you tried to open was created with a newer version of NI Vision. Upgrade to the latest version of NI Vision to read this file. 00422 #define ERR_INVALID_INSPECTION_TEMPLATE -1074395770 // Invalid golden template. 00423 #define ERR_INVALID_EDGE_THICKNESS -1074395769 // Edge Thickness to Ignore must be greater than zero. 00424 #define ERR_INVALID_SCALE -1074395768 // Scale must be greater than zero. 00425 #define ERR_INVALID_ALIGNMENT -1074395767 // The supplied scale is invalid for your template. 00426 #define ERR_DEPRECATED_FUNCTION -1074395766 // This backwards-compatibility function can not be used with this session. Use newer, supported functions instead. 00427 #define ERR_INVALID_NORMALIZATION_METHOD -1074395763 // You must provide a valid normalization method. 00428 #define ERR_INVALID_NIBLACK_DEVIATION_FACTOR -1074395762 // The deviation factor for Niblack local threshold must be between 0 and 1. 00429 #define ERR_BOARD_NOT_FOUND -1074395760 // Board not found. 00430 #define ERR_BOARD_NOT_OPEN -1074395758 // Board not opened. 00431 #define ERR_DLL_NOT_FOUND -1074395757 // DLL not found. 00432 #define ERR_DLL_FUNCTION_NOT_FOUND -1074395756 // DLL function not found. 00433 #define ERR_TRIG_TIMEOUT -1074395754 // Trigger timeout. 00434 #define ERR_CONTOUR_INVALID_REFINEMENTS -1074395746 // Invalid number specified for maximum contour refinements. 00435 #define ERR_TOO_MANY_CURVES -1074395745 // Too many curves extracted from image. Raise the edge threshold or reduce the ROI. 00436 #define ERR_CONTOUR_INVALID_KERNEL_FOR_SMOOTHING -1074395744 // Invalid kernel for contour smoothing. Zero indicates no smoothing, otherwise value must be odd. 00437 #define ERR_CONTOUR_LINE_INVALID -1074395743 // The contour line fit is invalid. Line segment start and stop must differ. 00438 #define ERR_CONTOUR_TEMPLATE_IMAGE_INVALID -1074395742 // The template image must be trained with IMAQ Learn Contour Pattern or be the same size as the target image. 00439 #define ERR_CONTOUR_GPM_FAIL -1074395741 // Matching failed to align the template and target contours. 00440 #define ERR_CONTOUR_OPENING_NEWER_VERSION -1074395740 // The contour you tried to open was created with a newer version of NI Vision. Upgrade to the latest version of NI Vision to read this file. 00441 #define ERR_CONTOUR_CONNECT_DUPLICATE -1074395739 // Only one range is allowed per curve connection constraint type. 00442 #define ERR_CONTOUR_CONNECT_TYPE -1074395738 // Invalid contour connection constraint type. 00443 #define ERR_CONTOUR_MATCH_STR_NOT_APPLICABLE -1074395737 // In order to use contour matching, you must provide a template image that has been trained with IMAQ Learn Contour Pattern 00444 #define ERR_CONTOUR_CURVATURE_KERNEL -1074395736 // Invalid kernel width for curvature calculation. Must be an odd value greater than 1. 00445 #define ERR_CONTOUR_EXTRACT_SELECTION -1074395735 // Invalid Contour Selection method for contour extraction. 00446 #define ERR_CONTOUR_EXTRACT_DIRECTION -1074395734 // Invalid Search Direction for contour extraction. 00447 #define ERR_CONTOUR_EXTRACT_ROI -1074395733 // Invalid ROI for contour extraction. The ROI must contain an annulus, rectangle or rotated rectangle. 00448 #define ERR_CONTOUR_NO_CURVES -1074395732 // No curves were found in the image. 00449 #define ERR_CONTOUR_COMPARE_KERNEL -1074395731 // Invalid Smoothing Kernel width for contour comparison. Must be zero or an odd positive integer. 00450 #define ERR_CONTOUR_COMPARE_SINGLE_IMAGE -1074395730 // If no template image is provided, the target image must contain both a contour with extracted points and a fitted equation. 00451 #define ERR_CONTOUR_INVALID -1074395729 // Invalid contour image. 00452 #define ERR_INVALID_2D_BARCODE_SEARCH_MODE -1074395728 // NI Vision does not support the search mode you provided. 00453 #define ERR_UNSUPPORTED_2D_BARCODE_SEARCH_MODE -1074395727 // NI Vision does not support the search mode you provided for the type of 2D barcode for which you are searching. 00454 #define ERR_MATCHFACTOR_OBSOLETE -1074395726 // matchFactor has been obsoleted. Instead, set the initialMatchListLength and matchListReductionFactor in the MatchPatternAdvancedOptions structure. 00455 #define ERR_DATA_VERSION -1074395725 // The data was stored with a newer version of NI Vision. Upgrade to the latest version of NI Vision to read this data. 00456 #define ERR_CUSTOMDATA_INVALID_SIZE -1074395724 // The size you specified is out of the valid range. 00457 #define ERR_CUSTOMDATA_KEY_NOT_FOUND -1074395723 // The key you specified cannot be found in the image. 00458 #define ERR_CLASSIFIER_CLASSIFY_IMAGE_WITH_CUSTOM_SESSION -1074395722 // Custom classifier sessions only classify feature vectors. They do not support classifying images. 00459 #define ERR_INVALID_BIT_DEPTH -1074395721 // NI Vision does not support the bit depth you supplied for the image you supplied. 00460 #define ERR_BAD_ROI -1074395720 // Invalid ROI. 00461 #define ERR_BAD_ROI_BOX -1074395719 // Invalid ROI global rectangle. 00462 #define ERR_LAB_VERSION -1074395718 // The version of LabVIEW or BridgeVIEW you are running does not support this operation. 00463 #define ERR_INVALID_RANGE -1074395717 // The range you supplied is invalid. 00464 #define ERR_INVALID_SCALING_METHOD -1074395716 // NI Vision does not support the scaling method you provided. 00465 #define ERR_INVALID_CALIBRATION_UNIT -1074395715 // NI Vision does not support the calibration unit you supplied. 00466 #define ERR_INVALID_AXIS_ORIENTATION -1074395714 // NI Vision does not support the axis orientation you supplied. 00467 #define ERR_VALUE_NOT_IN_ENUM -1074395713 // Value not in enumeration. 00468 #define ERR_WRONG_REGION_TYPE -1074395712 // You selected a region that is not of the right type. 00469 #define ERR_NOT_ENOUGH_REGIONS -1074395711 // You specified a viewer that does not contain enough regions. 00470 #define ERR_TOO_MANY_PARTICLES -1074395710 // The image has too many particles for this process. 00471 #define ERR_AVI_UNOPENED_SESSION -1074395709 // The AVI session has not been opened. 00472 #define ERR_AVI_READ_SESSION_REQUIRED -1074395708 // The AVI session is a write session, but this operation requires a read session. 00473 #define ERR_AVI_WRITE_SESSION_REQUIRED -1074395707 // The AVI session is a read session, but this operation requires a write session. 00474 #define ERR_AVI_SESSION_ALREADY_OPEN -1074395706 // This AVI session is already open. You must close it before calling the Create or Open functions. 00475 #define ERR_DATA_CORRUPTED -1074395705 // The data is corrupted and cannot be read. 00476 #define ERR_INVALID_COMPRESSION_TYPE -1074395704 // Invalid compression type. 00477 #define ERR_INVALID_TYPE_OF_FLATTEN -1074395703 // Invalid type of flatten. 00478 #define ERR_INVALID_LENGTH -1074395702 // The length of the edge detection line must be greater than zero. 00479 #define ERR_INVALID_MATRIX_SIZE_RANGE -1074395701 // The maximum Data Matrix barcode size must be equal to or greater than the minimum Data Matrix barcode size. 00480 #define ERR_REQUIRES_WIN2000_OR_NEWER -1074395700 // The function requires the operating system to be Microsoft Windows 2000 or newer. 00481 #define ERR_INVALID_CALIBRATION_METHOD -1074395662 // Invalid calibration method requested 00482 #define ERR_INVALID_OPERATION_ON_COMPACT_CALIBRATION_ATTEMPTED -1074395661 // This calibration is compact. Re-Learning calibration and retrieving thumbnails are not possible with this calibration 00483 #define ERR_INVALID_POLYNOMIAL_MODEL_K_COUNT -1074395660 // Invalid number of K values 00484 #define ERR_INVALID_DISTORTION_MODEL -1074395659 // Invalid distortion model type 00485 #define ERR_CAMERA_MODEL_NOT_AVAILABLE -1074395658 // Camera Model is not learned 00486 #define ERR_INVALID_THUMBNAIL_INDEX -1074395657 // Supplied thumbnail index is invalid 00487 #define ERR_SMOOTH_CONTOURS_MUST_BE_SAME -1074395656 // You must specify the same value for the smooth contours advanced match option for all templates you want to match. 00488 #define ERR_ENABLE_CALIBRATION_SUPPORT_MUST_BE_SAME -1074395655 // You must specify the same value for the enable calibration support advanced match option for all templates you want to match. 00489 #define ERR_GRADING_INFORMATION_NOT_FOUND -1074395654 // The source image does not contain grading information. You must prepare the source image for grading when reading the Data Matrix, and you cannot change the contents of the source image between reading and grading the Data Matrix. 00490 #define ERR_OPENING_NEWER_MULTIPLE_GEOMETRIC_TEMPLATE -1074395653 // The multiple geometric matching template you tried to open was created with a newer version of NI Vision. Upgrade to the latest version of NI Vision to read this file. 00491 #define ERR_OPENING_NEWER_GEOMETRIC_MATCHING_TEMPLATE -1074395652 // The geometric matching template you tried to open was created with a newer version of NI Vision. Upgrade to the latest version of NI Vision to read this file. 00492 #define ERR_EDGE_FILTER_SIZE_MUST_BE_SAME -1074395651 // You must specify the same edge filter size for all the templates you want to match. 00493 #define ERR_CURVE_EXTRACTION_MODE_MUST_BE_SAME -1074395650 // You must specify the same curve extraction mode for all the templates you want to match. 00494 #define ERR_INVALID_GEOMETRIC_FEATURE_TYPE -1074395649 // The geometric feature type specified is invalid. 00495 #define ERR_TEMPLATE_NOT_LEARNED -1074395648 // You supplied a template that was not learned. 00496 #define ERR_INVALID_MULTIPLE_GEOMETRIC_TEMPLATE -1074395647 // Invalid multiple geometric template. 00497 #define ERR_NO_TEMPLATE_TO_LEARN -1074395646 // Need at least one template to learn. 00498 #define ERR_INVALID_NUMBER_OF_LABELS -1074395645 // You supplied an invalid number of labels. 00499 #define ERR_LABEL_TOO_LONG -1074395644 // Labels must be <= 255 characters. 00500 #define ERR_INVALID_NUMBER_OF_MATCH_OPTIONS -1074395643 // You supplied an invalid number of match options. 00501 #define ERR_LABEL_NOT_FOUND -1074395642 // Cannot find a label that matches the one you specified. 00502 #define ERR_DUPLICATE_LABEL -1074395641 // Duplicate labels are not allowed. 00503 #define ERR_TOO_MANY_ZONES -1074395640 // The number of zones found exceeded the capacity of the algorithm. 00504 #define ERR_INVALID_HATCH_STYLE -1074395639 // The hatch style for the window background is invalid. 00505 #define ERR_INVALID_FILL_STYLE -1074395638 // The fill style for the window background is invalid. 00506 #define ERR_HARDWARE_DOESNT_SUPPORT_NONTEARING -1074395637 // Your hardware is not supported by DirectX and cannot be put into NonTearing mode. 00507 #define ERR_DIRECTX_NOT_FOUND -1074395636 // DirectX is required for this feature. Please install the latest version.. 00508 #define ERR_INVALID_SHAPE_DESCRIPTOR -1074395635 // The passed shape descriptor is invalid. 00509 #define ERR_INVALID_MAX_MATCH_OVERLAP -1074395634 // Invalid max match overlap. Values must be between -1 and 100. 00510 #define ERR_INVALID_MIN_MATCH_SEPARATION_SCALE -1074395633 // Invalid minimum match separation scale. Values must be greater than or equal to -1. 00511 #define ERR_INVALID_MIN_MATCH_SEPARATION_ANGLE -1074395632 // Invalid minimum match separation angle. Values must be between -1 and 360. 00512 #define ERR_INVALID_MIN_MATCH_SEPARATION_DISTANCE -1074395631 // Invalid minimum match separation distance. Values must be greater than or equal to -1. 00513 #define ERR_INVALID_MAXIMUM_FEATURES_LEARNED -1074395630 // Invalid maximum number of features learn. Values must be integers greater than zero. 00514 #define ERR_INVALID_MAXIMUM_PIXEL_DISTANCE_FROM_LINE -1074395629 // Invalid maximum pixel distance from line. Values must be positive real numbers. 00515 #define ERR_INVALID_GEOMETRIC_MATCHING_TEMPLATE -1074395628 // Invalid geometric matching template image. 00516 #define ERR_NOT_ENOUGH_TEMPLATE_FEATURES_1 -1074395627 // The template does not contain enough features for geometric matching. 00517 #define ERR_NOT_ENOUGH_TEMPLATE_FEATURES -1074395626 // The template does not contain enough features for geometric matching. 00518 #define ERR_INVALID_MATCH_CONSTRAINT_TYPE -1074395625 // You specified an invalid value for the match constraint value of the range settings. 00519 #define ERR_INVALID_OCCLUSION_RANGE -1074395624 // Invalid occlusion range. Valid values for the bounds range from 0 to 100 and the upper bound must be greater than or equal to the lower bound. 00520 #define ERR_INVALID_SCALE_RANGE -1074395623 // Invalid scale range. Values for the lower bound must be a positive real numbers and the upper bound must be greater than or equal to the lower bound. 00521 #define ERR_INVALID_MATCH_GEOMETRIC_PATTERN_SETUP_DATA -1074395622 // Invalid match geometric pattern setup data. 00522 #define ERR_INVALID_LEARN_GEOMETRIC_PATTERN_SETUP_DATA -1074395621 // Invalid learn geometric pattern setup data. 00523 #define ERR_INVALID_CURVE_EXTRACTION_MODE -1074395620 // Invalid curve extraction mode. 00524 #define ERR_TOO_MANY_OCCLUSION_RANGES -1074395619 // You can specify only one occlusion range. 00525 #define ERR_TOO_MANY_SCALE_RANGES -1074395618 // You can specify only one scale range. 00526 #define ERR_INVALID_NUMBER_OF_FEATURES_RANGE -1074395617 // The minimum number of features must be less than or equal to the maximum number of features. 00527 #define ERR_INVALID_EDGE_FILTER_SIZE -1074395616 // Invalid edge filter size. 00528 #define ERR_INVALID_MINIMUM_FEATURE_STRENGTH -1074395615 // Invalid minimum strength for features. Values must be positive real numbers. 00529 #define ERR_INVALID_MINIMUM_FEATURE_ASPECT_RATIO -1074395614 // Invalid aspect ratio for rectangular features. Values must be positive real numbers in the range 0.01 to 1.0. 00530 #define ERR_INVALID_MINIMUM_FEATURE_LENGTH -1074395613 // Invalid minimum length for linear features. Values must be integers greater than 0. 00531 #define ERR_INVALID_MINIMUM_FEATURE_RADIUS -1074395612 // Invalid minimum radius for circular features. Values must be integers greater than 0. 00532 #define ERR_INVALID_MINIMUM_RECTANGLE_DIMENSION -1074395611 // Invalid minimum rectangle dimension. Values must be integers greater than 0. 00533 #define ERR_INVALID_INITIAL_MATCH_LIST_LENGTH -1074395610 // Invalid initial match list length. Values must be integers greater than 5. 00534 #define ERR_INVALID_SUBPIXEL_TOLERANCE -1074395609 // Invalid subpixel tolerance. Values must be positive real numbers. 00535 #define ERR_INVALID_SUBPIXEL_ITERATIONS -1074395608 // Invalid number of subpixel iterations. Values must be integers greater 10. 00536 #define ERR_INVALID_MAXIMUM_FEATURES_PER_MATCH -1074395607 // Invalid maximum number of features used per match. Values must be integers greater than or equal to zero. 00537 #define ERR_INVALID_MINIMUM_FEATURES_TO_MATCH -1074395606 // Invalid minimum number of features used for matching. Values must be integers greater than zero. 00538 #define ERR_INVALID_MAXIMUM_END_POINT_GAP -1074395605 // Invalid maximum end point gap. Valid values range from 0 to 32767. 00539 #define ERR_INVALID_COLUMN_STEP -1074395604 // Invalid column step. Valid range is 1 to 255. 00540 #define ERR_INVALID_ROW_STEP -1074395603 // Invalid row step. Valid range is 1 to 255. 00541 #define ERR_INVALID_MINIMUM_CURVE_LENGTH -1074395602 // Invalid minimum length. Valid values must be greater than or equal to zero. 00542 #define ERR_INVALID_EDGE_THRESHOLD -1074395601 // Invalid edge threshold. Valid values range from 1 to 360. 00543 #define ERR_INFO_NOT_FOUND -1074395600 // You must provide information about the subimage within the browser. 00544 #define ERR_NIOCR_INVALID_ACCEPTANCE_LEVEL -1074395598 // The acceptance level is outside the valid range of 0 to 1000. 00545 #define ERR_NIOCR_NOT_A_VALID_SESSION -1074395597 // Not a valid OCR session. 00546 #define ERR_NIOCR_INVALID_CHARACTER_SIZE -1074395596 // Invalid character size. Character size must be >= 1. 00547 #define ERR_NIOCR_INVALID_THRESHOLD_MODE -1074395595 // Invalid threshold mode value. 00548 #define ERR_NIOCR_INVALID_SUBSTITUTION_CHARACTER -1074395594 // Invalid substitution character. Valid substitution characters are ASCII values that range from 1 to 254. 00549 #define ERR_NIOCR_INVALID_NUMBER_OF_BLOCKS -1074395593 // Invalid number of blocks. Number of blocks must be >= 4 and <= 50. 00550 #define ERR_NIOCR_INVALID_READ_STRATEGY -1074395592 // Invalid read strategy. 00551 #define ERR_NIOCR_INVALID_CHARACTER_INDEX -1074395591 // Invalid character index. 00552 #define ERR_NIOCR_INVALID_NUMBER_OF_VALID_CHARACTER_POSITIONS -1074395590 // Invalid number of character positions. Valid values range from 0 to 255. 00553 #define ERR_NIOCR_INVALID_LOW_THRESHOLD_VALUE -1074395589 // Invalid low threshold value. Valid threshold values range from 0 to 255. 00554 #define ERR_NIOCR_INVALID_HIGH_THRESHOLD_VALUE -1074395588 // Invalid high threshold value. Valid threshold values range from 0 to 255. 00555 #define ERR_NIOCR_INVALID_THRESHOLD_RANGE -1074395587 // The low threshold must be less than the high threshold. 00556 #define ERR_NIOCR_INVALID_LOWER_THRESHOLD_LIMIT -1074395586 // Invalid lower threshold limit. Valid lower threshold limits range from 0 to 255. 00557 #define ERR_NIOCR_INVALID_UPPER_THRESHOLD_LIMIT -1074395585 // Invalid upper threshold limit. Valid upper threshold limits range from 0 to 255. 00558 #define ERR_NIOCR_INVALID_THRESHOLD_LIMITS -1074395584 // The lower threshold limit must be less than the upper threshold limit. 00559 #define ERR_NIOCR_INVALID_MIN_CHAR_SPACING -1074395583 // Invalid minimum character spacing value. Character spacing must be >= 1 pixel. 00560 #define ERR_NIOCR_INVALID_MAX_HORIZ_ELEMENT_SPACING -1074395582 // Invalid maximum horizontal element spacing value. Maximum horizontal element spacing must be >= 0. 00561 #define ERR_NIOCR_INVALID_MAX_VERT_ELEMENT_SPACING -1074395581 // Invalid maximum vertical element spacing value. Maximum vertical element spacing must be >= 0. 00562 #define ERR_NIOCR_INVALID_MIN_BOUNDING_RECT_WIDTH -1074395580 // Invalid minimum bounding rectangle width. Minimum bounding rectangle width must be >= 1. 00563 #define ERR_NIOCR_INVALID_ASPECT_RATIO -1074395579 // Invalid aspect ratio value. The aspect ratio must be zero or >= 100. 00564 #define ERR_NIOCR_INVALID_CHARACTER_SET_FILE -1074395578 // Invalid or corrupt character set file. 00565 #define ERR_NIOCR_CHARACTER_VALUE_CANNOT_BE_EMPTYSTRING -1074395577 // The character value must not be an empty string. 00566 #define ERR_NIOCR_CHARACTER_VALUE_TOO_LONG -1074395576 // Character values must be <=255 characters. 00567 #define ERR_NIOCR_INVALID_NUMBER_OF_EROSIONS -1074395575 // Invalid number of erosions. The number of erosions must be >= 0. 00568 #define ERR_NIOCR_CHARACTER_SET_DESCRIPTION_TOO_LONG -1074395574 // The character set description must be <=255 characters. 00569 #define ERR_NIOCR_INVALID_CHARACTER_SET_FILE_VERSION -1074395573 // The character set file was created by a newer version of NI Vision. Upgrade to the latest version of NI Vision to read the character set file. 00570 #define ERR_NIOCR_INTEGER_VALUE_FOR_STRING_ATTRIBUTE -1074395572 // You must specify characters for a string. A string cannot contain integers. 00571 #define ERR_NIOCR_GET_ONLY_ATTRIBUTE -1074395571 // This attribute is read-only. 00572 #define ERR_NIOCR_INTEGER_VALUE_FOR_BOOLEAN_ATTRIBUTE -1074395570 // This attribute requires a Boolean value. 00573 #define ERR_NIOCR_INVALID_ATTRIBUTE -1074395569 // Invalid attribute. 00574 #define ERR_NIOCR_STRING_VALUE_FOR_INTEGER_ATTRIBUTE -1074395568 // This attribute requires integer values. 00575 #define ERR_NIOCR_STRING_VALUE_FOR_BOOLEAN_ATTRIBUTE -1074395567 // String values are invalid for this attribute. Enter a boolean value. 00576 #define ERR_NIOCR_BOOLEAN_VALUE_FOR_INTEGER_ATTRIBUTE -1074395566 // Boolean values are not valid for this attribute. Enter an integer value. 00577 #define ERR_NIOCR_MUST_BE_SINGLE_CHARACTER -1074395565 // Requires a single-character string. 00578 #define ERR_NIOCR_INVALID_PREDEFINED_CHARACTER -1074395564 // Invalid predefined character value. 00579 #define ERR_NIOCR_UNLICENSED -1074395563 // This copy of NI OCR is unlicensed. 00580 #define ERR_NIOCR_BOOLEAN_VALUE_FOR_STRING_ATTRIBUTE -1074395562 // String values are not valid for this attribute. Enter a Boolean value. 00581 #define ERR_NIOCR_INVALID_NUMBER_OF_CHARACTERS -1074395561 // The number of characters in the character value must match the number of objects in the image. 00582 #define ERR_NIOCR_INVALID_OBJECT_INDEX -1074395560 // Invalid object index. 00583 #define ERR_NIOCR_INVALID_READ_OPTION -1074395559 // Invalid read option. 00584 #define ERR_NIOCR_INVALID_CHARACTER_SIZE_RANGE -1074395558 // The minimum character size must be less than the maximum character size. 00585 #define ERR_NIOCR_INVALID_BOUNDING_RECT_WIDTH_RANGE -1074395557 // The minimum character bounding rectangle width must be less than the maximum character bounding rectangle width. 00586 #define ERR_NIOCR_INVALID_BOUNDING_RECT_HEIGHT_RANGE -1074395556 // The minimum character bounding rectangle height must be less than the maximum character bounding rectangle height. 00587 #define ERR_NIOCR_INVALID_SPACING_RANGE -1074395555 // The maximum horizontal element spacing value must not exceed the minimum character spacing value. 00588 #define ERR_NIOCR_INVALID_READ_RESOLUTION -1074395554 // Invalid read resolution. 00589 #define ERR_NIOCR_INVALID_MIN_BOUNDING_RECT_HEIGHT -1074395553 // Invalid minimum bounding rectangle height. The minimum bounding rectangle height must be >= 1. 00590 #define ERR_NIOCR_NOT_A_VALID_CHARACTER_SET -1074395552 // Not a valid character set. 00591 #define ERR_NIOCR_RENAME_REFCHAR -1074395551 // A trained OCR character cannot be renamed while it is a reference character. 00592 #define ERR_NIOCR_INVALID_CHARACTER_VALUE -1074395550 // A character cannot have an ASCII value of 255. 00593 #define ERR_NIOCR_INVALID_NUMBER_OF_OBJECTS_TO_VERIFY -1074395549 // The number of objects found does not match the number of expected characters or patterns to verify. 00594 #define ERR_INVALID_STEREO_BLOCKMATCHING_PREFILTER_CAP -1074395421 // The specified value for the filter cap for block matching is invalid. 00595 #define ERR_INVALID_STEREO_BLOCKMATCHING_PREFILTER_SIZE -1074395420 // The specified prefilter size for block matching is invalid. 00596 #define ERR_INVALID_STEREO_BLOCKMATCHING_PREFILTER_TYPE -1074395419 // The specified prefilter type for block matching is invalid. 00597 #define ERR_INVALID_STEREO_BLOCKMATCHING_NUMDISPARITIES -1074395418 // The specifed value for number of disparities is invalid. 00598 #define ERR_INVALID_STEREO_BLOCKMATCHING_WINDOW_SIZE -1074395417 // The specified window size for block matching is invalid. 00599 #define ERR_3DVISION_INVALID_SESSION_TYPE -1074395416 // This 3D vision function cannot be called on this type of 3d vision session. 00600 #define ERR_TOO_MANY_3DVISION_SESSIONS -1074395415 // There are too many 3D vision sessions open. You must close a session before you can open another one. 00601 #define ERR_OPENING_NEWER_3DVISION_SESSION -1074395414 // The 3D vision session you tried to open was created with a newer version of NI Vision. Upgrade to the latest version of NI Vision to read this file. 00602 #define ERR_INVALID_STEREO_BLOCKMATCHING_FILTERTYPE -1074395413 // You have specified an invalid filter type for block matching. 00603 #define ERR_INVALID_STEREO_CAMERA_POSITION -1074395412 // You have requested results at an invalid camera position in the stereo setup. 00604 #define ERR_INVALID_3DVISION_SESSION -1074395411 // Not a valid 3D Vision session. 00605 #define ERR_INVALID_ICONS_PER_LINE -1074395410 // NI Vision does not support less than one icon per line. 00606 #define ERR_INVALID_SUBPIXEL_DIVISIONS -1074395409 // Invalid subpixel divisions. 00607 #define ERR_INVALID_DETECTION_MODE -1074395408 // Invalid detection mode. 00608 #define ERR_INVALID_CONTRAST -1074395407 // Invalid contrast value. Valid contrast values range from 0 to 255. 00609 #define ERR_COORDSYS_NOT_FOUND -1074395406 // The coordinate system could not be found on this image. 00610 #define ERR_INVALID_TEXTORIENTATION -1074395405 // NI Vision does not support the text orientation value you supplied. 00611 #define ERR_INVALID_INTERPOLATIONMETHOD_FOR_UNWRAP -1074395404 // UnwrapImage does not support the interpolation method value you supplied. Valid interpolation methods are zero order and bilinear. 00612 #define ERR_EXTRAINFO_VERSION -1074395403 // The image was created in a newer version of NI Vision. Upgrade to the latest version of NI Vision to use this image. 00613 #define ERR_INVALID_MAXPOINTS -1074395402 // The function does not support the maximum number of points that you specified. 00614 #define ERR_INVALID_MATCHFACTOR -1074395401 // The function does not support the matchFactor that you specified. 00615 #define ERR_MULTICORE_OPERATION -1074395400 // The operation you have given Multicore Options is invalid. Please see the available enumeration values for Multicore Operation. 00616 #define ERR_MULTICORE_INVALID_ARGUMENT -1074395399 // You have given Multicore Options an invalid argument. 00617 #define ERR_COMPLEX_IMAGE_REQUIRED -1074395397 // A complex image is required. 00618 #define ERR_COLOR_IMAGE_REQUIRED -1074395395 // The input image must be a color image. 00619 #define ERR_COLOR_SPECTRUM_MASK -1074395394 // The color mask removes too much color information. 00620 #define ERR_COLOR_TEMPLATE_IMAGE_TOO_SMALL -1074395393 // The color template image is too small. 00621 #define ERR_COLOR_TEMPLATE_IMAGE_TOO_LARGE -1074395392 // The color template image is too large. 00622 #define ERR_COLOR_TEMPLATE_IMAGE_HUE_CONTRAST_TOO_LOW -1074395391 // The contrast in the hue plane of the image is too low for learning shape features. 00623 #define ERR_COLOR_TEMPLATE_IMAGE_LUMINANCE_CONTRAST_TOO_LOW -1074395390 // The contrast in the luminance plane of the image is too low to learn shape features. 00624 #define ERR_COLOR_LEARN_SETUP_DATA -1074395389 // Invalid color learn setup data. 00625 #define ERR_COLOR_LEARN_SETUP_DATA_SHAPE -1074395388 // Invalid color learn setup data. 00626 #define ERR_COLOR_MATCH_SETUP_DATA -1074395387 // Invalid color match setup data. 00627 #define ERR_COLOR_MATCH_SETUP_DATA_SHAPE -1074395386 // Invalid color match setup data. 00628 #define ERR_COLOR_ROTATION_REQUIRES_SHAPE_FEATURE -1074395385 // Rotation-invariant color pattern matching requires a feature mode including shape. 00629 #define ERR_COLOR_TEMPLATE_DESCRIPTOR -1074395384 // Invalid color template image. 00630 #define ERR_COLOR_TEMPLATE_DESCRIPTOR_1 -1074395383 // Invalid color template image. 00631 #define ERR_COLOR_TEMPLATE_DESCRIPTOR_2 -1074395382 // Invalid color template image. 00632 #define ERR_COLOR_TEMPLATE_DESCRIPTOR_3 -1074395381 // Invalid color template image. 00633 #define ERR_COLOR_TEMPLATE_DESCRIPTOR_4 -1074395380 // Invalid color template image. 00634 #define ERR_COLOR_TEMPLATE_DESCRIPTOR_5 -1074395379 // Invalid color template image. 00635 #define ERR_COLOR_TEMPLATE_DESCRIPTOR_6 -1074395378 // Invalid color template image. 00636 #define ERR_COLOR_TEMPLATE_DESCRIPTOR_SHIFT -1074395377 // Invalid color template image. 00637 #define ERR_COLOR_TEMPLATE_DESCRIPTOR_NOSHIFT -1074395376 // The color template image does not contain data required for shift-invariant color matching. 00638 #define ERR_COLOR_TEMPLATE_DESCRIPTOR_SHIFT_1 -1074395375 // Invalid color template image. 00639 #define ERR_COLOR_TEMPLATE_DESCRIPTOR_SHIFT_2 -1074395374 // Invalid color template image. 00640 #define ERR_COLOR_TEMPLATE_DESCRIPTOR_ROTATION -1074395373 // Invalid color template image. 00641 #define ERR_COLOR_TEMPLATE_DESCRIPTOR_NOROTATION -1074395372 // The color template image does not contain data required for rotation-invariant color matching. 00642 #define ERR_COLOR_TEMPLATE_DESCRIPTOR_ROTATION_1 -1074395371 // Invalid color template image. 00643 #define ERR_COLOR_TEMPLATE_DESCRIPTOR_ROTATION_2 -1074395370 // Invalid color template image. 00644 #define ERR_COLOR_TEMPLATE_DESCRIPTOR_ROTATION_3 -1074395369 // Invalid color template image. 00645 #define ERR_COLOR_TEMPLATE_DESCRIPTOR_ROTATION_4 -1074395368 // Invalid color template image. 00646 #define ERR_COLOR_TEMPLATE_DESCRIPTOR_ROTATION_5 -1074395367 // Invalid color template image. 00647 #define ERR_COLOR_TEMPLATE_DESCRIPTOR_NOSHAPE -1074395366 // The color template image does not contain data required for color matching in shape feature mode. 00648 #define ERR_COLOR_TEMPLATE_DESCRIPTOR_NOSPECTRUM -1074395365 // The color template image does not contain data required for color matching in color feature mode. 00649 #define ERR_IGNORE_COLOR_SPECTRUM_SET -1074395364 // The ignore color spectra array is invalid. 00650 #define ERR_INVALID_SUBSAMPLING_RATIO -1074395363 // Invalid subsampling ratio. 00651 #define ERR_INVALID_WIDTH -1074395362 // Invalid pixel width. 00652 #define ERR_INVALID_STEEPNESS -1074395361 // Invalid steepness. 00653 #define ERR_COMPLEX_PLANE -1074395360 // Invalid complex plane. 00654 #define ERR_INVALID_COLOR_IGNORE_MODE -1074395357 // Invalid color ignore mode. 00655 #define ERR_INVALID_MIN_MATCH_SCORE -1074395356 // Invalid minimum match score. Acceptable values range from 0 to 1000. 00656 #define ERR_INVALID_NUM_MATCHES_REQUESTED -1074395355 // Invalid number of matches requested. You must request a minimum of one match. 00657 #define ERR_INVALID_COLOR_WEIGHT -1074395354 // Invalid color weight. Acceptable values range from 0 to 1000. 00658 #define ERR_INVALID_SEARCH_STRATEGY -1074395353 // Invalid search strategy. 00659 #define ERR_INVALID_FEATURE_MODE -1074395352 // Invalid feature mode. 00660 #define ERR_INVALID_RECT -1074395351 // NI Vision does not support rectangles with negative widths or negative heights. 00661 #define ERR_INVALID_VISION_INFO -1074395350 // NI Vision does not support the vision information type you supplied. 00662 #define ERR_INVALID_SKELETONMETHOD -1074395349 // NI Vision does not support the SkeletonMethod value you supplied. 00663 #define ERR_INVALID_3DPLANE -1074395348 // NI Vision does not support the 3DPlane value you supplied. 00664 #define ERR_INVALID_3DDIRECTION -1074395347 // NI Vision does not support the 3DDirection value you supplied. 00665 #define ERR_INVALID_INTERPOLATIONMETHOD_FOR_ROTATE -1074395346 // imaqRotate does not support the InterpolationMethod value you supplied. 00666 #define ERR_INVALID_FLIPAXIS -1074395345 // NI Vision does not support the axis of symmetry you supplied. 00667 #define ERR_FILE_FILENAME_NULL -1074395343 // You must pass a valid file name. Do not pass in NULL. 00668 #define ERR_INVALID_SIZETYPE -1074395340 // NI Vision does not support the SizeType value you supplied. 00669 #define ERR_UNKNOWN_ALGORITHM -1074395336 // You specified the dispatch status of an unknown algorithm. 00670 #define ERR_DISPATCH_STATUS_CONFLICT -1074395335 // You are attempting to set the same algorithm to dispatch and to not dispatch. Remove one of the conflicting settings. 00671 #define ERR_INVALID_CONVERSIONSTYLE -1074395334 // NI Vision does not support the Conversion Method value you supplied. 00672 #define ERR_INVALID_VERTICAL_TEXT_ALIGNMENT -1074395333 // NI Vision does not support the VerticalTextAlignment value you supplied. 00673 #define ERR_INVALID_COMPAREFUNCTION -1074395332 // NI Vision does not support the CompareFunction value you supplied. 00674 #define ERR_INVALID_BORDERMETHOD -1074395331 // NI Vision does not support the BorderMethod value you supplied. 00675 #define ERR_INVALID_BORDER_SIZE -1074395330 // Invalid border size. Acceptable values range from 0 to 50. 00676 #define ERR_INVALID_OUTLINEMETHOD -1074395329 // NI Vision does not support the OutlineMethod value you supplied. 00677 #define ERR_INVALID_INTERPOLATIONMETHOD -1074395328 // NI Vision does not support the InterpolationMethod value you supplied. 00678 #define ERR_INVALID_SCALINGMODE -1074395327 // NI Vision does not support the ScalingMode value you supplied. 00679 #define ERR_INVALID_DRAWMODE_FOR_LINE -1074395326 // imaqDrawLineOnImage does not support the DrawMode value you supplied. 00680 #define ERR_INVALID_DRAWMODE -1074395325 // NI Vision does not support the DrawMode value you supplied. 00681 #define ERR_INVALID_SHAPEMODE -1074395324 // NI Vision does not support the ShapeMode value you supplied. 00682 #define ERR_INVALID_FONTCOLOR -1074395323 // NI Vision does not support the FontColor value you supplied. 00683 #define ERR_INVALID_TEXTALIGNMENT -1074395322 // NI Vision does not support the TextAlignment value you supplied. 00684 #define ERR_INVALID_MORPHOLOGYMETHOD -1074395321 // NI Vision does not support the MorphologyMethod value you supplied. 00685 #define ERR_TEMPLATE_EMPTY -1074395320 // The template image is empty. 00686 #define ERR_INVALID_SUBPIX_TYPE -1074395319 // NI Vision does not support the interpolation type you supplied. 00687 #define ERR_INSF_POINTS -1074395318 // You supplied an insufficient number of points to perform this operation. 00688 #define ERR_UNDEF_POINT -1074395317 // You specified a point that lies outside the image. 00689 #define ERR_INVALID_KERNEL_CODE -1074395316 // Invalid kernel code. 00690 #define ERR_INEFFICIENT_POINTS -1074395315 // You supplied an inefficient set of points to match the minimum score. 00691 #define ERR_WRITE_FILE_NOT_SUPPORTED -1074395313 // Writing files is not supported on this device. 00692 #define ERR_LCD_CALIBRATE -1074395312 // The input image does not seem to be a valid LCD or LED calibration image. 00693 #define ERR_INVALID_COLOR_SPECTRUM -1074395311 // The color spectrum array you provided has an invalid number of elements or contains an element set to not-a-number (NaN). 00694 #define ERR_INVALID_PALETTE_TYPE -1074395310 // NI Vision does not support the PaletteType value you supplied. 00695 #define ERR_INVALID_WINDOW_THREAD_POLICY -1074395309 // NI Vision does not support the WindowThreadPolicy value you supplied. 00696 #define ERR_INVALID_COLORSENSITIVITY -1074395308 // NI Vision does not support the ColorSensitivity value you supplied. 00697 #define ERR_PRECISION_NOT_GTR_THAN_0 -1074395307 // The precision parameter must be greater than 0. 00698 #define ERR_INVALID_TOOL -1074395306 // NI Vision does not support the Tool value you supplied. 00699 #define ERR_INVALID_REFERENCEMODE -1074395305 // NI Vision does not support the ReferenceMode value you supplied. 00700 #define ERR_INVALID_MATHTRANSFORMMETHOD -1074395304 // NI Vision does not support the MathTransformMethod value you supplied. 00701 #define ERR_INVALID_NUM_OF_CLASSES -1074395303 // Invalid number of classes for auto threshold. Acceptable values range from 2 to 256. 00702 #define ERR_INVALID_THRESHOLDMETHOD -1074395302 // NI Vision does not support the threshold method value you supplied. 00703 #define ERR_ROI_NOT_2_LINES -1074395301 // The ROI you passed into imaqGetMeterArc must consist of two lines. 00704 #define ERR_INVALID_METERARCMODE -1074395300 // NI Vision does not support the MeterArcMode value you supplied. 00705 #define ERR_INVALID_COMPLEXPLANE -1074395299 // NI Vision does not support the ComplexPlane value you supplied. 00706 #define ERR_COMPLEXPLANE_NOT_REAL_OR_IMAGINARY -1074395298 // You can perform this operation on a real or an imaginary ComplexPlane only. 00707 #define ERR_INVALID_PARTICLEINFOMODE -1074395297 // NI Vision does not support the ParticleInfoMode value you supplied. 00708 #define ERR_INVALID_BARCODETYPE -1074395296 // NI Vision does not support the BarcodeType value you supplied. 00709 #define ERR_INVALID_INTERPOLATIONMETHOD_INTERPOLATEPOINTS -1074395295 // imaqInterpolatePoints does not support the InterpolationMethod value you supplied. 00710 #define ERR_CONTOUR_INDEX_OUT_OF_RANGE -1074395294 // The contour index you supplied is larger than the number of contours in the ROI. 00711 #define ERR_CONTOURID_NOT_FOUND -1074395293 // The supplied ContourID did not correlate to a contour inside the ROI. 00712 #define ERR_POINTS_ARE_COLLINEAR -1074395292 // Do not supply collinear points for this operation. 00713 #define ERR_SHAPEMATCH_BADIMAGEDATA -1074395291 // Shape Match requires the image to contain only pixel values of 0 or 1. 00714 #define ERR_SHAPEMATCH_BADTEMPLATE -1074395290 // The template you supplied for ShapeMatch contains no shape information. 00715 #define ERR_CONTAINER_CAPACITY_EXCEEDED_UINT_MAX -1074395289 // The operation would have exceeded the capacity of an internal container, which is limited to 4294967296 unique elements. 00716 #define ERR_CONTAINER_CAPACITY_EXCEEDED_INT_MAX -1074395288 // The operation would have exceeded the capacity of an internal container, which is limited to 2147483648 unique elements. 00717 #define ERR_INVALID_LINE -1074395287 // The line you provided contains two identical points, or one of the coordinate locations for the line is not a number (NaN). 00718 #define ERR_INVALID_CONCENTRIC_RAKE_DIRECTION -1074395286 // Invalid concentric rake direction. 00719 #define ERR_INVALID_SPOKE_DIRECTION -1074395285 // Invalid spoke direction. 00720 #define ERR_INVALID_EDGE_PROCESS -1074395284 // Invalid edge process. 00721 #define ERR_INVALID_RAKE_DIRECTION -1074395283 // Invalid rake direction. 00722 #define ERR_CANT_DRAW_INTO_VIEWER -1074395282 // Unable to draw to viewer. You must have the latest version of the control. 00723 #define ERR_IMAGE_SMALLER_THAN_BORDER -1074395281 // Your image must be larger than its border size for this operation. 00724 #define ERR_ROI_NOT_RECT -1074395280 // The ROI must only have a single Rectangle contour. 00725 #define ERR_ROI_NOT_POLYGON -1074395279 // ROI is not a polygon. 00726 #define ERR_LCD_NOT_NUMERIC -1074395278 // LCD image is not a number. 00727 #define ERR_BARCODE_CHECKSUM -1074395277 // The decoded barcode information did not pass the checksum test. 00728 #define ERR_LINES_PARALLEL -1074395276 // You specified parallel lines for the meter ROI. 00729 #define ERR_INVALID_BROWSER_IMAGE -1074395275 // Invalid browser image. 00730 #define ERR_DIV_BY_ZERO -1074395270 // Cannot divide by zero. 00731 #define ERR_NULL_POINTER -1074395269 // Null pointer. 00732 #define ERR_LINEAR_COEFF -1074395268 // The linear equations are not independent. 00733 #define ERR_COMPLEX_ROOT -1074395267 // The roots of the equation are complex. 00734 #define ERR_BARCODE -1074395265 // The barcode does not match the type you specified. 00735 #define ERR_LCD_NO_SEGMENTS -1074395263 // No lit segment. 00736 #define ERR_LCD_BAD_MATCH -1074395262 // The LCD does not form a known digit. 00737 #define ERR_GIP_RANGE -1074395261 // An internal error occurred while attempting to access an invalid coordinate on an image. 00738 #define ERR_HEAP_TRASHED -1074395260 // An internal memory error occurred. 00739 #define ERR_BAD_FILTER_WIDTH -1074395258 // The filter width must be odd for the Canny operator. 00740 #define ERR_INVALID_EDGE_DIR -1074395257 // You supplied an invalid edge direction in the Canny operator. 00741 #define ERR_EVEN_WINDOW_SIZE -1074395256 // The window size must be odd for the Canny operator. 00742 #define ERR_INVALID_LEARN_MODE -1074395253 // Invalid learn mode. 00743 #define ERR_LEARN_SETUP_DATA -1074395252 // Invalid learn setup data. 00744 #define ERR_INVALID_MATCH_MODE -1074395251 // Invalid match mode. 00745 #define ERR_MATCH_SETUP_DATA -1074395250 // Invalid match setup data. 00746 #define ERR_ROTATION_ANGLE_RANGE_TOO_LARGE -1074395249 // At least one range in the array of rotation angle ranges exceeds 360 degrees. 00747 #define ERR_TOO_MANY_ROTATION_ANGLE_RANGES -1074395248 // The array of rotation angle ranges contains too many ranges. 00748 #define ERR_TEMPLATE_DESCRIPTOR -1074395247 // Invalid template descriptor. 00749 #define ERR_TEMPLATE_DESCRIPTOR_1 -1074395246 // Invalid template descriptor. 00750 #define ERR_TEMPLATE_DESCRIPTOR_2 -1074395245 // Invalid template descriptor. 00751 #define ERR_TEMPLATE_DESCRIPTOR_3 -1074395244 // Invalid template descriptor. 00752 #define ERR_TEMPLATE_DESCRIPTOR_4 -1074395243 // The template descriptor was created with a newer version of NI Vision. Upgrade to the latest version of NI Vision to use this template. 00753 #define ERR_TEMPLATE_DESCRIPTOR_ROTATION -1074395242 // Invalid template descriptor. 00754 #define ERR_TEMPLATE_DESCRIPTOR_NOROTATION -1074395241 // The template descriptor does not contain data required for rotation-invariant matching. 00755 #define ERR_TEMPLATE_DESCRIPTOR_ROTATION_1 -1074395240 // Invalid template descriptor. 00756 #define ERR_TEMPLATE_DESCRIPTOR_SHIFT -1074395239 // Invalid template descriptor. 00757 #define ERR_TEMPLATE_DESCRIPTOR_NOSHIFT -1074395238 // The template descriptor does not contain data required for shift-invariant matching. 00758 #define ERR_TEMPLATE_DESCRIPTOR_SHIFT_1 -1074395237 // Invalid template descriptor. 00759 #define ERR_TEMPLATE_DESCRIPTOR_NOSCALE -1074395236 // The template descriptor does not contain data required for scale-invariant matching. 00760 #define ERR_TEMPLATE_IMAGE_CONTRAST_TOO_LOW -1074395235 // The template image does not contain enough contrast. 00761 #define ERR_TEMPLATE_IMAGE_TOO_SMALL -1074395234 // The template image is too small. 00762 #define ERR_TEMPLATE_IMAGE_TOO_LARGE -1074395233 // The template image is too large. 00763 #define ERR_TOO_MANY_OCR_SESSIONS -1074395214 // There are too many OCR sessions open. You must close a session before you can open another one. 00764 #define ERR_OCR_TEMPLATE_WRONG_SIZE -1074395212 // The size of the template string must match the size of the string you are trying to correct. 00765 #define ERR_OCR_BAD_TEXT_TEMPLATE -1074395211 // The supplied text template contains nonstandard characters that cannot be generated by OCR. 00766 #define ERR_OCR_CANNOT_MATCH_TEXT_TEMPLATE -1074395210 // At least one character in the text template was of a lexical class that did not match the supplied character reports. 00767 #define ERR_OCR_LIB_INIT -1074395203 // The OCR library cannot be initialized correctly. 00768 #define ERR_OCR_LOAD_LIBRARY -1074395201 // There was a failure when loading one of the internal OCR engine or LabView libraries. 00769 #define ERR_OCR_INVALID_PARAMETER -1074395200 // One of the parameters supplied to the OCR function that generated this error is invalid. 00770 #define ERR_MARKER_INFORMATION_NOT_SUPPLIED -1074395199 // Marker image and points are not supplied 00771 #define ERR_INCOMPATIBLE_MARKER_IMAGE_SIZE -1074395198 // Source Image and Marker Image should be of same size. 00772 #define ERR_BOTH_MARKER_INPUTS_SUPPLIED -1074395197 // Both Marker Image and Points are supplied. 00773 #define ERR_INVALID_MORPHOLOGICAL_OPERATION -1074395196 // Invalid Morphological Operation. 00774 #define ERR_IMAGE_CONTAINS_NAN_VALUES -1074395195 // Float image contains NaN values 00775 #define ERR_OVERLAY_EXTRAINFO_OPENING_NEW_VERSION -1074395194 // The overlay information you tried to open was created with a newer version of NI Vision. Upgrade to the latest version of NI Vision to read this file. 00776 #define ERR_NO_CLAMP_FOUND -1074395193 // No valid clamp was found with the current configuration 00777 #define ERR_NO_CLAMP_WITHIN_ANGLE_RANGE -1074395192 // Supplied angle range for clamp is insufficient 00778 #define ERR_GHT_INVALID_USE_ALL_CURVES_VALUE -1074395188 // The use all curves advanced option specified during learn is not supported 00779 #define ERR_INVALID_GAUSS_SIGMA_VALUE -1074395187 // The sigma value specified for the Gaussian filter is too small. 00780 #define ERR_INVALID_GAUSS_FILTER_TYPE -1074395186 // The specified Gaussian filter type is not supported. 00781 #define ERR_INVALID_CONTRAST_REVERSAL_MODE -1074395185 // The contrast reversal mode specified during matching is invalid. 00782 #define ERR_INVALID_ROTATION_RANGE -1074395184 // Invalid roation angle range. The upper bound must be greater than or equal to the lower bound. 00783 #define ERR_GHT_INVALID_MINIMUM_LEARN_ANGLE_VALUE -1074395183 // The minimum rotation angle value specifed during learning of the template is not supported. 00784 #define ERR_GHT_INVALID_MAXIMUM_LEARN_ANGLE_VALUE -1074395182 // The maximum rotation angle value specifed during learning of the template is not supported. 00785 #define ERR_GHT_INVALID_MAXIMUM_LEARN_SCALE_FACTOR -1074395181 // The maximum scale factor specifed during learning of the template is not supported. 00786 #define ERR_GHT_INVALID_MINIMUM_LEARN_SCALE_FACTOR -1074395180 // The minimum scale factor specifed during learning of the template is not supported. 00787 #define ERR_OCR_PREPROCESSING_FAILED -1074395179 // The OCR engine failed during the preprocessing stage. 00788 #define ERR_OCR_RECOGNITION_FAILED -1074395178 // The OCR engine failed during the recognition stage. 00789 #define ERR_OCR_BAD_USER_DICTIONARY -1074395175 // The provided filename is not valid user dictionary filename. 00790 #define ERR_OCR_INVALID_AUTOORIENTMODE -1074395174 // NI Vision does not support the AutoOrientMode value you supplied. 00791 #define ERR_OCR_INVALID_LANGUAGE -1074395173 // NI Vision does not support the Language value you supplied. 00792 #define ERR_OCR_INVALID_CHARACTERSET -1074395172 // NI Vision does not support the CharacterSet value you supplied. 00793 #define ERR_OCR_INI_FILE_NOT_FOUND -1074395171 // The system could not locate the initialization file required for OCR initialization. 00794 #define ERR_OCR_INVALID_CHARACTERTYPE -1074395170 // NI Vision does not support the CharacterType value you supplied. 00795 #define ERR_OCR_INVALID_RECOGNITIONMODE -1074395169 // NI Vision does not support the RecognitionMode value you supplied. 00796 #define ERR_OCR_INVALID_AUTOCORRECTIONMODE -1074395168 // NI Vision does not support the AutoCorrectionMode value you supplied. 00797 #define ERR_OCR_INVALID_OUTPUTDELIMITER -1074395167 // NI Vision does not support the OutputDelimiter value you supplied. 00798 #define ERR_OCR_BIN_DIR_NOT_FOUND -1074395166 // The system could not locate the OCR binary directory required for OCR initialization. 00799 #define ERR_OCR_WTS_DIR_NOT_FOUND -1074395165 // The system could not locate the OCR weights directory required for OCR initialization. 00800 #define ERR_OCR_ADD_WORD_FAILED -1074395164 // The supplied word could not be added to the user dictionary. 00801 #define ERR_OCR_INVALID_CHARACTERPREFERENCE -1074395163 // NI Vision does not support the CharacterPreference value you supplied. 00802 #define ERR_OCR_INVALID_CORRECTIONMODE -1074395162 // NI Vision does not support the CorrectionMethod value you supplied. 00803 #define ERR_OCR_INVALID_CORRECTIONLEVEL -1074395161 // NI Vision does not support the CorrectionLevel value you supplied. 00804 #define ERR_OCR_INVALID_MAXPOINTSIZE -1074395160 // NI Vision does not support the maximum point size you supplied. Valid values range from 4 to 72. 00805 #define ERR_OCR_INVALID_TOLERANCE -1074395159 // NI Vision does not support the tolerance value you supplied. Valid values are non-negative. 00806 #define ERR_OCR_INVALID_CONTRASTMODE -1074395158 // NI Vision does not support the ContrastMode value you supplied. 00807 #define ERR_OCR_SKEW_DETECT_FAILED -1074395156 // The OCR attempted to detected the text skew and failed. 00808 #define ERR_OCR_ORIENT_DETECT_FAILED -1074395155 // The OCR attempted to detected the text orientation and failed. 00809 #define ERR_FONT_FILE_FORMAT -1074395153 // Invalid font file format. 00810 #define ERR_FONT_FILE_NOT_FOUND -1074395152 // Font file not found. 00811 #define ERR_OCR_CORRECTION_FAILED -1074395151 // The OCR engine failed during the correction stage. 00812 #define ERR_INVALID_ROUNDING_MODE -1074395150 // NI Vision does not support the RoundingMode value you supplied. 00813 #define ERR_DUPLICATE_TRANSFORM_TYPE -1074395149 // Found a duplicate transform type in the properties array. Each properties array may only contain one behavior for each transform type. 00814 #define ERR_OVERLAY_GROUP_NOT_FOUND -1074395148 // Overlay Group Not Found. 00815 #define ERR_BARCODE_RSSLIMITED -1074395147 // The barcode is not a valid RSS Limited symbol 00816 #define ERR_QR_DETECTION_VERSION -1074395146 // Couldn't determine the correct version of the QR code. 00817 #define ERR_QR_INVALID_READ -1074395145 // Invalid read of the QR code. 00818 #define ERR_QR_INVALID_BARCODE -1074395144 // The barcode that was read contains invalid parameters. 00819 #define ERR_QR_DETECTION_MODE -1074395143 // The data stream that was demodulated could not be read because the mode was not detected. 00820 #define ERR_QR_DETECTION_MODELTYPE -1074395142 // Couldn't determine the correct model of the QR code. 00821 #define ERR_OCR_NO_TEXT_FOUND -1074395141 // The OCR engine could not find any text in the supplied region. 00822 #define ERR_OCR_CHAR_REPORT_CORRUPTED -1074395140 // One of the character reports is no longer usable by the system. 00823 #define ERR_IMAQ_QR_DIMENSION_INVALID -1074395139 // Invalid Dimensions. 00824 #define ERR_OCR_REGION_TOO_SMALL -1074395138 // The OCR region provided was too small to have contained any characters. 00825 #define _FIRST_ERR ERR_SYSTEM_ERROR 00826 #define _LAST_ERR ERR_OCR_REGION_TOO_SMALL 00827 00828 //============================================================================ 00829 // Enumerated Types 00830 //============================================================================ 00831 typedef enum PointSymbol_enum { 00832 IMAQ_POINT_AS_PIXEL = 0, //A single pixel represents a point in the overlay. 00833 IMAQ_POINT_AS_CROSS = 1, //A cross represents a point in the overlay. 00834 IMAQ_POINT_USER_DEFINED = 2, //The pattern supplied by the user represents a point in the overlay. 00835 IMAQ_POINT_SYMBOL_SIZE_GUARD = 0xFFFFFFFF 00836 } PointSymbol; 00837 00838 typedef enum MeasurementValue_enum { 00839 IMAQ_AREA = 0, //Surface area of the particle in pixels. 00840 IMAQ_AREA_CALIBRATED = 1, //Surface area of the particle in calibrated units. 00841 IMAQ_NUM_HOLES = 2, //Number of holes in the particle. 00842 IMAQ_AREA_OF_HOLES = 3, //Surface area of the holes in calibrated units. 00843 IMAQ_TOTAL_AREA = 4, //Total surface area (holes and particle) in calibrated units. 00844 IMAQ_IMAGE_AREA = 5, //Surface area of the entire image in calibrated units. 00845 IMAQ_PARTICLE_TO_IMAGE = 6, //Ratio, expressed as a percentage, of the surface area of a particle in relation to the total area of the particle. 00846 IMAQ_PARTICLE_TO_TOTAL = 7, //Ratio, expressed as a percentage, of the surface area of a particle in relation to the total area of the particle. 00847 IMAQ_CENTER_MASS_X = 8, //X-coordinate of the center of mass. 00848 IMAQ_CENTER_MASS_Y = 9, //Y-coordinate of the center of mass. 00849 IMAQ_LEFT_COLUMN = 10, //Left edge of the bounding rectangle. 00850 IMAQ_TOP_ROW = 11, //Top edge of the bounding rectangle. 00851 IMAQ_RIGHT_COLUMN = 12, //Right edge of the bounding rectangle. 00852 IMAQ_BOTTOM_ROW = 13, //Bottom edge of bounding rectangle. 00853 IMAQ_WIDTH = 14, //Width of bounding rectangle in calibrated units. 00854 IMAQ_HEIGHT = 15, //Height of bounding rectangle in calibrated units. 00855 IMAQ_MAX_SEGMENT_LENGTH = 16, //Length of longest horizontal line segment. 00856 IMAQ_MAX_SEGMENT_LEFT_COLUMN = 17, //Leftmost x-coordinate of longest horizontal line segment. 00857 IMAQ_MAX_SEGMENT_TOP_ROW = 18, //Y-coordinate of longest horizontal line segment. 00858 IMAQ_PERIMETER = 19, //Outer perimeter of the particle. 00859 IMAQ_PERIMETER_OF_HOLES = 20, //Perimeter of all holes within the particle. 00860 IMAQ_SIGMA_X = 21, //Sum of the particle pixels on the x-axis. 00861 IMAQ_SIGMA_Y = 22, //Sum of the particle pixels on the y-axis. 00862 IMAQ_SIGMA_XX = 23, //Sum of the particle pixels on the x-axis squared. 00863 IMAQ_SIGMA_YY = 24, //Sum of the particle pixels on the y-axis squared. 00864 IMAQ_SIGMA_XY = 25, //Sum of the particle pixels on the x-axis and y-axis. 00865 IMAQ_PROJ_X = 26, //Projection corrected in X. 00866 IMAQ_PROJ_Y = 27, //Projection corrected in Y. 00867 IMAQ_INERTIA_XX = 28, //Inertia matrix coefficient in XX. 00868 IMAQ_INERTIA_YY = 29, //Inertia matrix coefficient in YY. 00869 IMAQ_INERTIA_XY = 30, //Inertia matrix coefficient in XY. 00870 IMAQ_MEAN_H = 31, //Mean length of horizontal segments. 00871 IMAQ_MEAN_V = 32, //Mean length of vertical segments. 00872 IMAQ_MAX_INTERCEPT = 33, //Length of longest segment of the convex hull. 00873 IMAQ_MEAN_INTERCEPT = 34, //Mean length of the chords in an object perpendicular to its max intercept. 00874 IMAQ_ORIENTATION = 35, //The orientation based on the inertia of the pixels in the particle. 00875 IMAQ_EQUIV_ELLIPSE_MINOR = 36, //Total length of the axis of the ellipse having the same area as the particle and a major axis equal to half the max intercept. 00876 IMAQ_ELLIPSE_MAJOR = 37, //Total length of major axis having the same area and perimeter as the particle in calibrated units. 00877 IMAQ_ELLIPSE_MINOR = 38, //Total length of minor axis having the same area and perimeter as the particle in calibrated units. 00878 IMAQ_ELLIPSE_RATIO = 39, //Fraction of major axis to minor axis. 00879 IMAQ_RECT_LONG_SIDE = 40, //Length of the long side of a rectangle having the same area and perimeter as the particle in calibrated units. 00880 IMAQ_RECT_SHORT_SIDE = 41, //Length of the short side of a rectangle having the same area and perimeter as the particle in calibrated units. 00881 IMAQ_RECT_RATIO = 42, //Ratio of rectangle long side to rectangle short side. 00882 IMAQ_ELONGATION = 43, //Max intercept/mean perpendicular intercept. 00883 IMAQ_COMPACTNESS = 44, //Particle area/(height x width). 00884 IMAQ_HEYWOOD = 45, //Particle perimeter/perimeter of the circle having the same area as the particle. 00885 IMAQ_TYPE_FACTOR = 46, //A complex factor relating the surface area to the moment of inertia. 00886 IMAQ_HYDRAULIC = 47, //Particle area/particle perimeter. 00887 IMAQ_WADDLE_DISK = 48, //Diameter of the disk having the same area as the particle in user units. 00888 IMAQ_DIAGONAL = 49, //Diagonal of an equivalent rectangle in user units. 00889 IMAQ_MEASUREMENT_VALUE_SIZE_GUARD = 0xFFFFFFFF 00890 } MeasurementValue; 00891 00892 typedef enum ScalingMode_enum { 00893 IMAQ_SCALE_LARGER = 0, //The function duplicates pixels to make the image larger. 00894 IMAQ_SCALE_SMALLER = 1, //The function subsamples pixels to make the image smaller. 00895 IMAQ_SCALING_MODE_SIZE_GUARD = 0xFFFFFFFF 00896 } ScalingMode; 00897 00898 typedef enum ScalingMethod_enum { 00899 IMAQ_SCALE_TO_PRESERVE_AREA = 0, //Correction functions scale the image such that the features in the corrected image have the same area as the features in the input image. 00900 IMAQ_SCALE_TO_FIT = 1, //Correction functions scale the image such that the corrected image is the same size as the input image. 00901 IMAQ_SCALING_METHOD_SIZE_GUARD = 0xFFFFFFFF 00902 } ScalingMethod; 00903 00904 typedef enum ReferenceMode_enum { 00905 IMAQ_COORD_X_Y = 0, //This method requires three elements in the points array. 00906 IMAQ_COORD_ORIGIN_X = 1, //This method requires two elements in the points array. 00907 IMAQ_REFERENCE_MODE_SIZE_GUARD = 0xFFFFFFFF 00908 } ReferenceMode; 00909 00910 typedef enum RectOrientation_enum { 00911 IMAQ_BASE_INSIDE = 0, //Specifies that the base of the rectangular image lies along the inside edge of the annulus. 00912 IMAQ_BASE_OUTSIDE = 1, //Specifies that the base of the rectangular image lies along the outside edge of the annulus. 00913 IMAQ_TEXT_ORIENTATION_SIZE_GUARD = 0xFFFFFFFF 00914 } RectOrientation; 00915 00916 typedef enum ShapeMode_enum { 00917 IMAQ_SHAPE_RECT = 1, //The function draws a rectangle. 00918 IMAQ_SHAPE_OVAL = 2, //The function draws an oval. 00919 IMAQ_SHAPE_MODE_SIZE_GUARD = 0xFFFFFFFF 00920 } ShapeMode; 00921 00922 typedef enum PolarityType_enum { 00923 IMAQ_EDGE_RISING = 1, //The edge is a rising edge. 00924 IMAQ_EDGE_FALLING = -1, //The edge is a falling edge. 00925 IMAQ_POLARITY_TYPE_SIZE_GUARD = 0xFFFFFFFF 00926 } PolarityType; 00927 00928 typedef enum SizeType_enum { 00929 IMAQ_KEEP_LARGE = 0, //The function keeps large particles remaining after the erosion. 00930 IMAQ_KEEP_SMALL = 1, //The function keeps small particles eliminated by the erosion. 00931 IMAQ_SIZE_TYPE_SIZE_GUARD = 0xFFFFFFFF 00932 } SizeType; 00933 00934 typedef enum Plane3D_enum { 00935 IMAQ_3D_REAL = 0, //The function shows the real part of complex images. 00936 IMAQ_3D_IMAGINARY = 1, //The function shows the imaginary part of complex images. 00937 IMAQ_3D_MAGNITUDE = 2, //The function shows the magnitude part of complex images. 00938 IMAQ_3D_PHASE = 3, //The function shows the phase part of complex images. 00939 IMAQ_PLANE_3D_SIZE_GUARD = 0xFFFFFFFF 00940 } Plane3D; 00941 00942 typedef enum PhotometricMode_enum { 00943 IMAQ_WHITE_IS_ZERO = 0, //The function interprets zero-value pixels as white. 00944 IMAQ_BLACK_IS_ZERO = 1, //The function interprets zero-value pixels as black. 00945 IMAQ_PHOTOMETRIC_MODE_SIZE_GUARD = 0xFFFFFFFF 00946 } PhotometricMode; 00947 00948 typedef enum ParticleInfoMode_enum { 00949 IMAQ_BASIC_INFO = 0, //The function returns only the following elements of each report: area, calibratedArea, boundingRect. 00950 IMAQ_ALL_INFO = 1, //The function returns all the information about each particle. 00951 IMAQ_PARTICLE_INFO_MODE_SIZE_GUARD = 0xFFFFFFFF 00952 } ParticleInfoMode; 00953 00954 typedef enum OutlineMethod_enum { 00955 IMAQ_EDGE_DIFFERENCE = 0, //The function uses a method that produces continuous contours by highlighting each pixel where an intensity variation occurs between itself and its three upper-left neighbors. 00956 IMAQ_EDGE_GRADIENT = 1, //The function uses a method that outlines contours where an intensity variation occurs along the vertical axis. 00957 IMAQ_EDGE_PREWITT = 2, //The function uses a method that extracts the outer contours of objects. 00958 IMAQ_EDGE_ROBERTS = 3, //The function uses a method that outlines the contours that highlight pixels where an intensity variation occurs along the diagonal axes. 00959 IMAQ_EDGE_SIGMA = 4, //The function uses a method that outlines contours and details by setting pixels to the mean value found in their neighborhood, if their deviation from this value is not significant. 00960 IMAQ_EDGE_SOBEL = 5, //The function uses a method that extracts the outer contours of objects. 00961 IMAQ_OUTLINE_METHOD_SIZE_GUARD = 0xFFFFFFFF 00962 } OutlineMethod; 00963 00964 typedef enum MorphologyMethod_enum { 00965 IMAQ_AUTOM = 0, //The function uses a transformation that generates simpler particles that contain fewer details. 00966 IMAQ_CLOSE = 1, //The function uses a transformation that fills tiny holes and smooths boundaries. 00967 IMAQ_DILATE = 2, //The function uses a transformation that eliminates tiny holes isolated in particles and expands the contour of the particles according to the template defined by the structuring element. 00968 IMAQ_ERODE = 3, //The function uses a transformation that eliminates pixels isolated in the background and erodes the contour of particles according to the template defined by the structuring element. 00969 IMAQ_GRADIENT = 4, //The function uses a transformation that leaves only the pixels that would be added by the dilation process or eliminated by the erosion process. 00970 IMAQ_GRADIENTOUT = 5, //The function uses a transformation that leaves only the pixels that would be added by the dilation process. 00971 IMAQ_GRADIENTIN = 6, //The function uses a transformation that leaves only the pixels that would be eliminated by the erosion process. 00972 IMAQ_HITMISS = 7, //The function uses a transformation that extracts each pixel located in a neighborhood exactly matching the template defined by the structuring element. 00973 IMAQ_OPEN = 8, //The function uses a transformation that removes small particles and smooths boundaries. 00974 IMAQ_PCLOSE = 9, //The function uses a transformation that fills tiny holes and smooths the inner contour of particles according to the template defined by the structuring element. 00975 IMAQ_POPEN = 10, //The function uses a transformation that removes small particles and smooths the contour of particles according to the template defined by the structuring element. 00976 IMAQ_THICK = 11, //The function uses a transformation that adds to an image those pixels located in a neighborhood that matches a template specified by the structuring element. 00977 IMAQ_THIN = 12, //The function uses a transformation that eliminates pixels that are located in a neighborhood matching a template specified by the structuring element. 00978 IMAQ_MORPHOLOGY_METHOD_SIZE_GUARD = 0xFFFFFFFF 00979 } MorphologyMethod; 00980 00981 typedef enum MeterArcMode_enum { 00982 IMAQ_METER_ARC_ROI = 0, //The function uses the roi parameter and ignores the base, start, and end parameters. 00983 IMAQ_METER_ARC_POINTS = 1, //The function uses the base,start, and end parameters and ignores the roi parameter. 00984 IMAQ_METER_ARC_MODE_SIZE_GUARD = 0xFFFFFFFF 00985 } MeterArcMode; 00986 00987 typedef enum RakeDirection_enum { 00988 IMAQ_LEFT_TO_RIGHT = 0, //The function searches from the left side of the search area to the right side of the search area. 00989 IMAQ_RIGHT_TO_LEFT = 1, //The function searches from the right side of the search area to the left side of the search area. 00990 IMAQ_TOP_TO_BOTTOM = 2, //The function searches from the top side of the search area to the bottom side of the search area. 00991 IMAQ_BOTTOM_TO_TOP = 3, //The function searches from the bottom side of the search area to the top side of the search area. 00992 IMAQ_RAKE_DIRECTION_SIZE_GUARD = 0xFFFFFFFF 00993 } RakeDirection; 00994 00995 typedef enum TruncateMode_enum { 00996 IMAQ_TRUNCATE_LOW = 0, //The function truncates low frequencies. 00997 IMAQ_TRUNCATE_HIGH = 1, //The function truncates high frequencies. 00998 IMAQ_TRUNCATE_MODE_SIZE_GUARD = 0xFFFFFFFF 00999 } TruncateMode; 01000 01001 typedef enum AttenuateMode_enum { 01002 IMAQ_ATTENUATE_LOW = 0, //The function attenuates low frequencies. 01003 IMAQ_ATTENUATE_HIGH = 1, //The function attenuates high frequencies. 01004 IMAQ_ATTENUATE_MODE_SIZE_GUARD = 0xFFFFFFFF 01005 } AttenuateMode; 01006 01007 typedef enum WindowThreadPolicy_enum { 01008 IMAQ_CALLING_THREAD = 0, //Using this policy, NI Vision creates windows in the thread that makes the first display function call for a given window number. 01009 IMAQ_SEPARATE_THREAD = 1, //Using this policy, NI Vision creates windows in a separate thread and processes messages for the windows automatically. 01010 IMAQ_WINDOW_THREAD_POLICY_SIZE_GUARD = 0xFFFFFFFF 01011 } WindowThreadPolicy; 01012 01013 typedef enum WindowOptions_enum { 01014 IMAQ_WIND_RESIZABLE = 1, //When present, the user may resize the window interactively. 01015 IMAQ_WIND_TITLEBAR = 2, //When present, the title bar on the window is visible. 01016 IMAQ_WIND_CLOSEABLE = 4, //When present, the close box is available. 01017 IMAQ_WIND_TOPMOST = 8, //When present, the window is always on top. 01018 IMAQ_WINDOW_OPTIONS_SIZE_GUARD = 0xFFFFFFFF 01019 } WindowOptions; 01020 01021 typedef enum WindowEventType_enum { 01022 IMAQ_NO_EVENT = 0, //No event occurred since the last call to imaqGetLastEvent(). 01023 IMAQ_CLICK_EVENT = 1, //The user clicked on a window. 01024 IMAQ_DRAW_EVENT = 2, //The user drew an ROI in a window. 01025 IMAQ_MOVE_EVENT = 3, //The user moved a window. 01026 IMAQ_SIZE_EVENT = 4, //The user sized a window. 01027 IMAQ_SCROLL_EVENT = 5, //The user scrolled a window. 01028 IMAQ_ACTIVATE_EVENT = 6, //The user activated a window. 01029 IMAQ_CLOSE_EVENT = 7, //The user closed a window. 01030 IMAQ_DOUBLE_CLICK_EVENT = 8, //The user double-clicked in a window. 01031 IMAQ_WINDOW_EVENT_TYPE_SIZE_GUARD = 0xFFFFFFFF 01032 } WindowEventType; 01033 01034 typedef enum VisionInfoType_enum { 01035 IMAQ_ANY_VISION_INFO = 0, //The function checks if any extra vision information is associated with the image. 01036 IMAQ_PATTERN_MATCHING_INFO = 1, //The function checks if any pattern matching template information is associated with the image. 01037 IMAQ_CALIBRATION_INFO = 2, //The function checks if any calibration information is associated with the image. 01038 IMAQ_OVERLAY_INFO = 3, //The function checks if any overlay information is associated with the image. 01039 IMAQ_VISION_INFO_TYPE_SIZE_GUARD = 0xFFFFFFFF 01040 } VisionInfoType; 01041 01042 typedef enum SearchStrategy_enum { 01043 IMAQ_CONSERVATIVE = 1, //Instructs the pattern matching algorithm to use the largest possible amount of information from the image at the expense of slowing down the speed of the algorithm. 01044 IMAQ_BALANCED = 2, //Instructs the pattern matching algorithm to balance the amount of information from the image it uses with the speed of the algorithm. 01045 IMAQ_AGGRESSIVE = 3, //Instructs the pattern matching algorithm to use a lower amount of information from the image, which allows the algorithm to run quickly but at the expense of accuracy. 01046 IMAQ_VERY_AGGRESSIVE = 4, //Instructs the pattern matching algorithm to use the smallest possible amount of information from the image, which allows the algorithm to run at the highest speed possible but at the expense of accuracy. 01047 IMAQ_SEARCH_STRATEGY_SIZE_GUARD = 0xFFFFFFFF 01048 } SearchStrategy; 01049 01050 typedef enum TwoEdgePolarityType_enum { 01051 IMAQ_NONE = 0, //The function ignores the polarity of the edges. 01052 IMAQ_RISING_FALLING = 1, //The polarity of the first edge is rising (dark to light) and the polarity of the second edge is falling (light to dark). 01053 IMAQ_FALLING_RISING = 2, //The polarity of the first edge is falling (light to dark) and the polarity of the second edge is rising (dark to light). 01054 IMAQ_RISING_RISING = 3, //The polarity of the first edge is rising (dark to light) and the polarity of the second edge is rising (dark to light). 01055 IMAQ_FALLING_FALLING = 4, //The polarity of the first edge is falling (light to dark) and the polarity of the second edge is falling (light to dark). 01056 IMAQ_TWO_EDGE_POLARITY_TYPE_SIZE_GUARD = 0xFFFFFFFF 01057 } TwoEdgePolarityType; 01058 01059 typedef enum ObjectType_enum { 01060 IMAQ_BRIGHT_OBJECTS = 0, //The function detects bright objects. 01061 IMAQ_DARK_OBJECTS = 1, //The function detects dark objects. 01062 IMAQ_OBJECT_TYPE_SIZE_GUARD = 0xFFFFFFFF 01063 } ObjectType; 01064 01065 typedef enum Tool_enum { 01066 IMAQ_NO_TOOL = -1, //No tool is in the selected state. 01067 IMAQ_SELECTION_TOOL = 0, //The selection tool selects an existing ROI in an image. 01068 IMAQ_POINT_TOOL = 1, //The point tool draws a point on the image. 01069 IMAQ_LINE_TOOL = 2, //The line tool draws a line on the image. 01070 IMAQ_RECTANGLE_TOOL = 3, //The rectangle tool draws a rectangle on the image. 01071 IMAQ_OVAL_TOOL = 4, //The oval tool draws an oval on the image. 01072 IMAQ_POLYGON_TOOL = 5, //The polygon tool draws a polygon on the image. 01073 IMAQ_CLOSED_FREEHAND_TOOL = 6, //The closed freehand tool draws closed freehand shapes on the image. 01074 IMAQ_ANNULUS_TOOL = 7, //The annulus tool draws annuluses on the image. 01075 IMAQ_ZOOM_TOOL = 8, //The zoom tool controls the zoom of an image. 01076 IMAQ_PAN_TOOL = 9, //The pan tool shifts the view of the image. 01077 IMAQ_POLYLINE_TOOL = 10, //The polyline tool draws a series of connected straight lines on the image. 01078 IMAQ_FREEHAND_TOOL = 11, //The freehand tool draws freehand lines on the image. 01079 IMAQ_ROTATED_RECT_TOOL = 12, //The rotated rectangle tool draws rotated rectangles on the image. 01080 IMAQ_ZOOM_OUT_TOOL = 13, //The zoom out tool controls the zoom of an image. 01081 IMAQ_TOOL_SIZE_GUARD = 0xFFFFFFFF 01082 } Tool; 01083 01084 typedef enum TIFFCompressionType_enum { 01085 IMAQ_NO_COMPRESSION = 0, //The function does not compress the TIFF file. 01086 IMAQ_JPEG = 1, //The function uses the JPEG compression algorithm to compress the TIFF file. 01087 IMAQ_RUN_LENGTH = 2, //The function uses a run length compression algorithm to compress the TIFF file. 01088 IMAQ_ZIP = 3, //The function uses the ZIP compression algorithm to compress the TIFF file. 01089 IMAQ_TIFF_COMPRESSION_TYPE_SIZE_GUARD = 0xFFFFFFFF 01090 } TIFFCompressionType; 01091 01092 typedef enum ThresholdMethod_enum { 01093 IMAQ_THRESH_CLUSTERING = 0, //The function uses a method that sorts the histogram of the image within a discrete number of classes corresponding to the number of phases perceived in an image. 01094 IMAQ_THRESH_ENTROPY = 1, //The function uses a method that is best for detecting particles that are present in minuscule proportions on the image. 01095 IMAQ_THRESH_METRIC = 2, //The function uses a method that is well-suited for images in which classes are not too disproportionate. 01096 IMAQ_THRESH_MOMENTS = 3, //The function uses a method that is suited for images that have poor contrast. 01097 IMAQ_THRESH_INTERCLASS = 4, //The function uses a method that is well-suited for images in which classes have well separated pixel value distributions. 01098 IMAQ_THRESHOLD_METHOD_SIZE_GUARD = 0xFFFFFFFF 01099 } ThresholdMethod; 01100 01101 typedef enum TextAlignment_enum { 01102 IMAQ_LEFT = 0, //Left aligns the text at the reference point. 01103 IMAQ_CENTER = 1, //Centers the text around the reference point. 01104 IMAQ_RIGHT = 2, //Right aligns the text at the reference point. 01105 IMAQ_TEXT_ALIGNMENT_SIZE_GUARD = 0xFFFFFFFF 01106 } TextAlignment; 01107 01108 typedef enum SpokeDirection_enum { 01109 IMAQ_OUTSIDE_TO_INSIDE = 0, //The function searches from the outside of the search area to the inside of the search area. 01110 IMAQ_INSIDE_TO_OUTSIDE = 1, //The function searches from the inside of the search area to the outside of the search area. 01111 IMAQ_SPOKE_DIRECTION_SIZE_GUARD = 0xFFFFFFFF 01112 } SpokeDirection; 01113 01114 typedef enum SkeletonMethod_enum { 01115 IMAQ_SKELETON_L = 0, //Uses an L-shaped structuring element in the skeleton function. 01116 IMAQ_SKELETON_M = 1, //Uses an M-shaped structuring element in the skeleton function. 01117 IMAQ_SKELETON_INVERSE = 2, //Uses an L-shaped structuring element on an inverse of the image in the skeleton function. 01118 IMAQ_SKELETON_METHOD_SIZE_GUARD = 0xFFFFFFFF 01119 } SkeletonMethod; 01120 01121 typedef enum VerticalTextAlignment_enum { 01122 IMAQ_BOTTOM = 0, //Aligns the bottom of the text at the reference point. 01123 IMAQ_TOP = 1, //Aligns the top of the text at the reference point. 01124 IMAQ_BASELINE = 2, //Aligns the baseline of the text at the reference point. 01125 IMAQ_VERTICAL_TEXT_ALIGNMENT_SIZE_GUARD = 0xFFFFFFFF 01126 } VerticalTextAlignment; 01127 01128 typedef enum CalibrationROI_enum { 01129 IMAQ_FULL_IMAGE = 0, //The correction function corrects the whole image, regardless of the user-defined or calibration-defined ROIs. 01130 IMAQ_CALIBRATION_ROI = 1, //The correction function corrects the area defined by the calibration ROI. 01131 IMAQ_USER_ROI = 2, //The correction function corrects the area defined by the user-defined ROI. 01132 IMAQ_CALIBRATION_AND_USER_ROI = 3, //The correction function corrects the area defined by the intersection of the user-defined ROI and the calibration ROI. 01133 IMAQ_CALIBRATION_OR_USER_ROI = 4, //The correction function corrects the area defined by the union of the user-defined ROI and the calibration ROI. 01134 IMAQ_CALIBRATION_ROI_SIZE_GUARD = 0xFFFFFFFF 01135 } CalibrationROI; 01136 01137 typedef enum ContourType_enum { 01138 IMAQ_EMPTY_CONTOUR = 0, //The contour is empty. 01139 IMAQ_POINT = 1, //The contour represents a point. 01140 IMAQ_LINE = 2, //The contour represents a line. 01141 IMAQ_RECT = 3, //The contour represents a rectangle. 01142 IMAQ_OVAL = 4, //The contour represents an oval. 01143 IMAQ_CLOSED_CONTOUR = 5, //The contour represents a series of connected points where the last point connects to the first. 01144 IMAQ_OPEN_CONTOUR = 6, //The contour represents a series of connected points where the last point does not connect to the first. 01145 IMAQ_ANNULUS = 7, //The contour represents an annulus. 01146 IMAQ_ROTATED_RECT = 8, //The contour represents a rotated rectangle. 01147 IMAQ_CONTOUR_TYPE_SIZE_GUARD = 0xFFFFFFFF 01148 } ContourType; 01149 01150 typedef enum MathTransformMethod_enum { 01151 IMAQ_TRANSFORM_LINEAR = 0, //The function uses linear remapping. 01152 IMAQ_TRANSFORM_LOG = 1, //The function uses logarithmic remapping. 01153 IMAQ_TRANSFORM_EXP = 2, //The function uses exponential remapping. 01154 IMAQ_TRANSFORM_SQR = 3, //The function uses square remapping. 01155 IMAQ_TRANSFORM_SQRT = 4, //The function uses square root remapping. 01156 IMAQ_TRANSFORM_POWX = 5, //The function uses power X remapping. 01157 IMAQ_TRANSFORM_POW1X = 6, //The function uses power 1/X remapping. 01158 IMAQ_MATH_TRANSFORM_METHOD_SIZE_GUARD = 0xFFFFFFFF 01159 } MathTransformMethod; 01160 01161 typedef enum ComplexPlane_enum { 01162 IMAQ_REAL = 0, //The function operates on the real plane of the complex image. 01163 IMAQ_IMAGINARY = 1, //The function operates on the imaginary plane of the complex image. 01164 IMAQ_MAGNITUDE = 2, //The function operates on the magnitude plane of the complex image. 01165 IMAQ_PHASE = 3, //The function operates on the phase plane of the complex image. 01166 IMAQ_COMPLEX_PLANE_SIZE_GUARD = 0xFFFFFFFF 01167 } ComplexPlane; 01168 01169 typedef enum PaletteType_enum { 01170 IMAQ_PALETTE_GRAY = 0, //The function uses a palette that has a gradual gray-level variation from black to white. 01171 IMAQ_PALETTE_BINARY = 1, //The function uses a palette of 16 cycles of 16 different colors that is useful with binary images. 01172 IMAQ_PALETTE_GRADIENT = 2, //The function uses a palette that has a gradation from red to white with a prominent range of light blue in the upper value range. 01173 IMAQ_PALETTE_RAINBOW = 3, //The function uses a palette that has a gradation from blue to red with a prominent range of greens in the middle value range. 01174 IMAQ_PALETTE_TEMPERATURE = 4, //The function uses a palette that has a gradation from light brown to dark brown. 01175 IMAQ_PALETTE_USER = 5, //The function uses a palette defined by the user. 01176 IMAQ_PALETTE_TYPE_SIZE_GUARD = 0xFFFFFFFF 01177 } PaletteType; 01178 01179 typedef enum ColorSensitivity_enum { 01180 IMAQ_SENSITIVITY_LOW = 0, //Instructs the algorithm to divide the hue plane into a low number of sectors, allowing for simple color analysis. 01181 IMAQ_SENSITIVITY_MED = 1, //Instructs the algorithm to divide the hue plane into a medium number of sectors, allowing for color analysis that balances sensitivity and complexity. 01182 IMAQ_SENSITIVITY_HIGH = 2, //Instructs the algorithm to divide the hue plane into a high number of sectors, allowing for complex, sensitive color analysis. 01183 IMAQ_COLOR_SENSITIVITY_SIZE_GUARD = 0xFFFFFFFF 01184 } ColorSensitivity; 01185 01186 typedef enum ColorMode_enum { 01187 IMAQ_RGB = 0, //The function operates in the RGB (Red, Blue, Green) color space. 01188 IMAQ_HSL = 1, //The function operates in the HSL (Hue, Saturation, Luminance) color space. 01189 IMAQ_HSV = 2, //The function operates in the HSV (Hue, Saturation, Value) color space. 01190 IMAQ_HSI = 3, //The function operates in the HSI (Hue, Saturation, Intensity) color space. 01191 IMAQ_CIE = 4, //The function operates in the CIE L*a*b* color space. 01192 IMAQ_CIEXYZ = 5, //The function operates in the CIE XYZ color space. 01193 IMAQ_COLOR_MODE_SIZE_GUARD = 0xFFFFFFFF 01194 } ColorMode; 01195 01196 typedef enum DetectionMode_enum { 01197 IMAQ_DETECT_PEAKS = 0, //The function detects peaks. 01198 IMAQ_DETECT_VALLEYS = 1, //The function detects valleys. 01199 IMAQ_DETECTION_MODE_SIZE_GUARD = 0xFFFFFFFF 01200 } DetectionMode; 01201 01202 typedef enum CalibrationUnit_enum { 01203 IMAQ_UNDEFINED = 0, //The image does not have a defined unit of measurement. 01204 IMAQ_ANGSTROM = 1, //The unit of measure for the image is angstroms. 01205 IMAQ_MICROMETER = 2, //The unit of measure for the image is micrometers. 01206 IMAQ_MILLIMETER = 3, //The unit of measure for the image is millimeters. 01207 IMAQ_CENTIMETER = 4, //The unit of measure for the image is centimeters. 01208 IMAQ_METER = 5, //The unit of measure for the image is meters. 01209 IMAQ_KILOMETER = 6, //The unit of measure for the image is kilometers. 01210 IMAQ_MICROINCH = 7, //The unit of measure for the image is microinches. 01211 IMAQ_INCH = 8, //The unit of measure for the image is inches. 01212 IMAQ_FOOT = 9, //The unit of measure for the image is feet. 01213 IMAQ_NAUTICMILE = 10, //The unit of measure for the image is nautical miles. 01214 IMAQ_GROUNDMILE = 11, //The unit of measure for the image is ground miles. 01215 IMAQ_STEP = 12, //The unit of measure for the image is steps. 01216 IMAQ_CALIBRATION_UNIT_SIZE_GUARD = 0xFFFFFFFF 01217 } CalibrationUnit; 01218 01219 typedef enum ConcentricRakeDirection_enum { 01220 IMAQ_COUNTER_CLOCKWISE = 0, //The function searches the search area in a counter-clockwise direction. 01221 IMAQ_CLOCKWISE = 1, //The function searches the search area in a clockwise direction. 01222 IMAQ_CONCENTRIC_RAKE_DIRECTION_SIZE_GUARD = 0xFFFFFFFF 01223 } ConcentricRakeDirection; 01224 01225 typedef enum CalibrationMode_enum { 01226 IMAQ_PERSPECTIVE = 0, //Functions correct for distortion caused by the camera's perspective. 01227 IMAQ_NONLINEAR = 1, //Functions correct for distortion caused by the camera's lens. 01228 IMAQ_SIMPLE_CALIBRATION = 2, //Functions do not correct for distortion. 01229 IMAQ_CORRECTED_IMAGE = 3, //The image is already corrected. 01230 IMAQ_CALIBRATION_MODE_SIZE_GUARD = 0xFFFFFFFF 01231 } CalibrationMode; 01232 01233 typedef enum BrowserLocation_enum { 01234 IMAQ_INSERT_FIRST_FREE = 0, //Inserts the thumbnail in the first available cell. 01235 IMAQ_INSERT_END = 1, //Inserts the thumbnail after the last occupied cell. 01236 IMAQ_BROWSER_LOCATION_SIZE_GUARD = 0xFFFFFFFF 01237 } BrowserLocation; 01238 01239 typedef enum BrowserFrameStyle_enum { 01240 IMAQ_RAISED_FRAME = 0, //Each thumbnail has a raised frame. 01241 IMAQ_BEVELLED_FRAME = 1, //Each thumbnail has a beveled frame. 01242 IMAQ_OUTLINE_FRAME = 2, //Each thumbnail has an outlined frame. 01243 IMAQ_HIDDEN_FRAME = 3, //Each thumbnail has a hidden frame. 01244 IMAQ_STEP_FRAME = 4, //Each thumbnail has a stepped frame. 01245 IMAQ_RAISED_OUTLINE_FRAME = 5, //Each thumbnail has a raised, outlined frame. 01246 IMAQ_BROWSER_FRAME_STYLE_SIZE_GUARD = 0xFFFFFFFF 01247 } BrowserFrameStyle; 01248 01249 typedef enum BorderMethod_enum { 01250 IMAQ_BORDER_MIRROR = 0, //Symmetrically copies pixel values from the image into the border. 01251 IMAQ_BORDER_COPY = 1, //Copies the value of the pixel closest to the edge of the image into the border. 01252 IMAQ_BORDER_CLEAR = 2, //Sets all pixels in the border to 0. 01253 IMAQ_BORDER_METHOD_SIZE_GUARD = 0xFFFFFFFF 01254 } BorderMethod; 01255 01256 typedef enum BarcodeType_enum { 01257 IMAQ_INVALID = -1, //The barcode is not of a type known by NI Vision. 01258 IMAQ_CODABAR = 1, //The barcode is of type Codabar. 01259 IMAQ_CODE39 = 2, //The barcode is of type Code 39. 01260 IMAQ_CODE93 = 4, //The barcode is of type Code 93. 01261 IMAQ_CODE128 = 8, //The barcode is of type Code 128. 01262 IMAQ_EAN8 = 16, //The barcode is of type EAN 8. 01263 IMAQ_EAN13 = 32, //The barcode is of type EAN 13. 01264 IMAQ_I2_OF_5 = 64, //The barcode is of type Code 25. 01265 IMAQ_MSI = 128, //The barcode is of type MSI code. 01266 IMAQ_UPCA = 256, //The barcode is of type UPC A. 01267 IMAQ_PHARMACODE = 512, //The barcode is of type Pharmacode. 01268 IMAQ_RSS_LIMITED = 1024, //The barcode is of type RSS Limited. 01269 IMAQ_BARCODE_TYPE_SIZE_GUARD = 0xFFFFFFFF 01270 } BarcodeType; 01271 01272 typedef enum AxisOrientation_enum { 01273 IMAQ_DIRECT = 0, //The y-axis direction corresponds to the y-axis direction of the Cartesian coordinate system. 01274 IMAQ_INDIRECT = 1, //The y-axis direction corresponds to the y-axis direction of an image. 01275 IMAQ_AXIS_ORIENTATION_SIZE_GUARD = 0xFFFFFFFF 01276 } AxisOrientation; 01277 01278 typedef enum ColorIgnoreMode_enum { 01279 IMAQ_IGNORE_NONE = 0, //Specifies that the function does not ignore any pixels. 01280 IMAQ_IGNORE_BLACK = 1, //Specifies that the function ignores black pixels. 01281 IMAQ_IGNORE_WHITE = 2, //Specifies that the function ignores white pixels. 01282 IMAQ_IGNORE_BLACK_AND_WHITE = 3, //Specifies that the function ignores black pixels and white pixels. 01283 IMAQ_BLACK_WHITE_IGNORE_MODE_SIZE_GUARD = 0xFFFFFFFF 01284 } ColorIgnoreMode; 01285 01286 typedef enum LevelType_enum { 01287 IMAQ_ABSOLUTE = 0, //The function evaluates the threshold and hysteresis values as absolute values. 01288 IMAQ_RELATIVE = 1, //The function evaluates the threshold and hysteresis values relative to the dynamic range of the given path. 01289 IMAQ_LEVEL_TYPE_SIZE_GUARD = 0xFFFFFFFF 01290 } LevelType; 01291 01292 typedef enum MatchingMode_enum { 01293 IMAQ_MATCH_SHIFT_INVARIANT = 1, //Searches for occurrences of the template image anywhere in the searchRect, assuming that the pattern is not rotated more than plus or minus 4 degrees. 01294 IMAQ_MATCH_ROTATION_INVARIANT = 2, //Searches for occurrences of the pattern in the image with no restriction on the rotation of the pattern. 01295 IMAQ_MATCHING_MODE_SIZE_GUARD = 0xFFFFFFFF 01296 } MatchingMode; 01297 01298 typedef enum MappingMethod_enum { 01299 IMAQ_FULL_DYNAMIC = 0, //(Obsolete) When the image bit depth is 0, the function maps the full dynamic range of the 16-bit image to an 8-bit scale. 01300 IMAQ_DOWNSHIFT = 1, //(Obsolete) When the image bit depth is 0, the function shifts the 16-bit image pixels to the right the number of times specified by the shiftCount element of the DisplayMapping structure. 01301 IMAQ_RANGE = 2, //(Obsolete) When the image bit depth is 0, the function maps the pixel values in the range specified by the minimumValue and maximumValue elements of the DisplayMapping structure to an 8-bit scale. 01302 IMAQ_90_PCT_DYNAMIC = 3, //(Obsolete) When the image bit depth to 0, the function maps the dynamic range containing the middle 90 percent of the cumulated histogram of the image to an 8-bit (256 grayscale values) scale. 01303 IMAQ_PERCENT_RANGE = 4, //(Obsolete) When the image bit depth is 0, the function maps the pixel values in the relative percentage range (0 to 100) of the cumulated histogram specified by minimumValue and maximumValue to an 8-bit scale. 01304 IMAQ_DEFAULT_MAPPING = 10, //If the bit depth is 0, the function maps the 16-bit image to 8 bits by following the IMAQ_FULL_DYNAMIC_ALWAYS behavior; otherwise, the function shifts the image data to the right according to the IMAQ_MOST_SIGNIFICANT behavior. 01305 IMAQ_MOST_SIGNIFICANT = 11, //The function shifts the 16-bit image pixels to the right until the 8 most significant bits of the image data are remaining. 01306 IMAQ_FULL_DYNAMIC_ALWAYS = 12, //The function maps the full dynamic range of the 16-bit image to an 8-bit scale. 01307 IMAQ_DOWNSHIFT_ALWAYS = 13, //The function shifts the 16-bit image pixels to the right the number of times specified by the shiftCount element of the DisplayMapping structure. 01308 IMAQ_RANGE_ALWAYS = 14, //The function maps the pixel values in the range specified by the minimumValue and maximumValue elements of the DisplayMapping structure to an 8-bit scale. 01309 IMAQ_90_PCT_DYNAMIC_ALWAYS = 15, //The function maps the dynamic range containing the middle 90 percent of the cumulated histogram of the image to an 8-bit (256 grayscale values) scale. 01310 IMAQ_PERCENT_RANGE_ALWAYS = 16, //The function maps the pixel values in the relative percentage range (0 to 100) of the cumulated histogram specified by minimumValue and maximumValue to an 8-bit scale. 01311 IMAQ_MAPPING_METHOD_SIZE_GUARD = 0xFFFFFFFF 01312 } MappingMethod; 01313 01314 typedef enum ComparisonFunction_enum { 01315 IMAQ_CLEAR_LESS = 0, //The comparison is true if the source pixel value is less than the comparison image pixel value. 01316 IMAQ_CLEAR_LESS_OR_EQUAL = 1, //The comparison is true if the source pixel value is less than or equal to the comparison image pixel value. 01317 IMAQ_CLEAR_EQUAL = 2, //The comparison is true if the source pixel value is equal to the comparison image pixel value. 01318 IMAQ_CLEAR_GREATER_OR_EQUAL = 3, //The comparison is true if the source pixel value is greater than or equal to the comparison image pixel value. 01319 IMAQ_CLEAR_GREATER = 4, //The comparison is true if the source pixel value is greater than the comparison image pixel value. 01320 IMAQ_COMPARE_FUNCTION_SIZE_GUARD = 0xFFFFFFFF 01321 } ComparisonFunction; 01322 01323 typedef enum LineGaugeMethod_enum { 01324 IMAQ_EDGE_TO_EDGE = 0, //Measures from the first edge on the line to the last edge on the line. 01325 IMAQ_EDGE_TO_POINT = 1, //Measures from the first edge on the line to the end point of the line. 01326 IMAQ_POINT_TO_EDGE = 2, //Measures from the start point of the line to the first edge on the line. 01327 IMAQ_POINT_TO_POINT = 3, //Measures from the start point of the line to the end point of the line. 01328 IMAQ_LINE_GAUGE_METHOD_SIZE_GUARD = 0xFFFFFFFF 01329 } LineGaugeMethod; 01330 01331 typedef enum Direction3D_enum { 01332 IMAQ_3D_NW = 0, //The viewing angle for the 3D image is from the northwest. 01333 IMAQ_3D_SW = 1, //The viewing angle for the 3D image is from the southwest. 01334 IMAQ_3D_SE = 2, //The viewing angle for the 3D image is from the southeast. 01335 IMAQ_3D_NE = 3, //The viewing angle for the 3D image is from the northeast. 01336 IMAQ_DIRECTION_3D_SIZE_GUARD = 0xFFFFFFFF 01337 } Direction3D; 01338 01339 typedef enum LearningMode_enum { 01340 IMAQ_LEARN_ALL = 0, //The function extracts information for shift- and rotation-invariant matching. 01341 IMAQ_LEARN_SHIFT_INFORMATION = 1, //The function extracts information for shift-invariant matching. 01342 IMAQ_LEARN_ROTATION_INFORMATION = 2, //The function extracts information for rotation-invariant matching. 01343 IMAQ_LEARNING_MODE_SIZE_GUARD = 0xFFFFFFFF 01344 } LearningMode; 01345 01346 typedef enum KernelFamily_enum { 01347 IMAQ_GRADIENT_FAMILY = 0, //The kernel is in the gradient family. 01348 IMAQ_LAPLACIAN_FAMILY = 1, //The kernel is in the Laplacian family. 01349 IMAQ_SMOOTHING_FAMILY = 2, //The kernel is in the smoothing family. 01350 IMAQ_GAUSSIAN_FAMILY = 3, //The kernel is in the Gaussian family. 01351 IMAQ_KERNEL_FAMILY_SIZE_GUARD = 0xFFFFFFFF 01352 } KernelFamily; 01353 01354 typedef enum InterpolationMethod_enum { 01355 IMAQ_ZERO_ORDER = 0, //The function uses an interpolation method that interpolates new pixel values using the nearest valid neighboring pixel. 01356 IMAQ_BILINEAR = 1, //The function uses an interpolation method that interpolates new pixel values using a bidirectional average of the neighboring pixels. 01357 IMAQ_QUADRATIC = 2, //The function uses an interpolation method that interpolates new pixel values using a quadratic approximating polynomial. 01358 IMAQ_CUBIC_SPLINE = 3, //The function uses an interpolation method that interpolates new pixel values by fitting them to a cubic spline curve, where the curve is based on known pixel values from the image. 01359 IMAQ_BILINEAR_FIXED = 4, //The function uses an interpolation method that interpolates new pixel values using a bidirectional average of the neighboring pixels. 01360 IMAQ_INTERPOLATION_METHOD_SIZE_GUARD = 0xFFFFFFFF 01361 } InterpolationMethod; 01362 01363 typedef enum ImageType_enum { 01364 IMAQ_IMAGE_U8 = 0, //The image type is 8-bit unsigned integer grayscale. 01365 IMAQ_IMAGE_U16 = 7, //The image type is 16-bit unsigned integer grayscale. 01366 IMAQ_IMAGE_I16 = 1, //The image type is 16-bit signed integer grayscale. 01367 IMAQ_IMAGE_SGL = 2, //The image type is 32-bit floating-point grayscale. 01368 IMAQ_IMAGE_COMPLEX = 3, //The image type is complex. 01369 IMAQ_IMAGE_RGB = 4, //The image type is RGB color. 01370 IMAQ_IMAGE_HSL = 5, //The image type is HSL color. 01371 IMAQ_IMAGE_RGB_U64 = 6, //The image type is 64-bit unsigned RGB color. 01372 IMAQ_IMAGE_TYPE_SIZE_GUARD = 0xFFFFFFFF 01373 } ImageType; 01374 01375 typedef enum ImageFeatureMode_enum { 01376 IMAQ_COLOR_AND_SHAPE_FEATURES = 0, //Instructs the function to use the color and the shape features of the color pattern. 01377 IMAQ_COLOR_FEATURES = 1, //Instructs the function to use the color features of the color pattern. 01378 IMAQ_SHAPE_FEATURES = 2, //Instructs the function to use the shape features of the color pattern. 01379 IMAQ_FEATURE_MODE_SIZE_GUARD = 0xFFFFFFFF 01380 } ImageFeatureMode; 01381 01382 typedef enum FontColor_enum { 01383 IMAQ_WHITE = 0, //Draws text in white. 01384 IMAQ_BLACK = 1, //Draws text in black. 01385 IMAQ_INVERT = 2, //Inverts the text pixels. 01386 IMAQ_BLACK_ON_WHITE = 3, //Draws text in black with a white background. 01387 IMAQ_WHITE_ON_BLACK = 4, //Draws text in white with a black background. 01388 IMAQ_FONT_COLOR_SIZE_GUARD = 0xFFFFFFFF 01389 } FontColor; 01390 01391 typedef enum FlipAxis_enum { 01392 IMAQ_HORIZONTAL_AXIS = 0, //Flips the image over the central horizontal axis. 01393 IMAQ_VERTICAL_AXIS = 1, //Flips the image over the central vertical axis. 01394 IMAQ_CENTER_AXIS = 2, //Flips the image over both the central vertical and horizontal axes. 01395 IMAQ_DIAG_L_TO_R_AXIS = 3, //Flips the image over an axis from the upper left corner to lower right corner. 01396 IMAQ_DIAG_R_TO_L_AXIS = 4, //Flips the image over an axis from the upper right corner to lower left corner. 01397 IMAQ_FLIP_AXIS_SIZE_GUARD = 0xFFFFFFFF 01398 } FlipAxis; 01399 01400 typedef enum EdgeProcess_enum { 01401 IMAQ_FIRST = 0, //The function looks for the first edge. 01402 IMAQ_FIRST_AND_LAST = 1, //The function looks for the first and last edge. 01403 IMAQ_ALL = 2, //The function looks for all edges. 01404 IMAQ_BEST = 3, //The function looks for the best edge. 01405 IMAQ_EDGE_PROCESS_SIZE_GUARD = 0xFFFFFFFF 01406 } EdgeProcess; 01407 01408 typedef enum DrawMode_enum { 01409 IMAQ_DRAW_VALUE = 0, //Draws the boundary of the object with the specified pixel value. 01410 IMAQ_DRAW_INVERT = 2, //Inverts the pixel values of the boundary of the object. 01411 IMAQ_PAINT_VALUE = 1, //Fills the object with the given pixel value. 01412 IMAQ_PAINT_INVERT = 3, //Inverts the pixel values of the object. 01413 IMAQ_HIGHLIGHT_VALUE = 4, //The function fills the object by highlighting the enclosed pixels with the color of the object. 01414 IMAQ_DRAW_MODE_SIZE_GUARD = 0xFFFFFFFF 01415 } DrawMode; 01416 01417 typedef enum NearestNeighborMetric_enum { 01418 IMAQ_METRIC_MAXIMUM = 0, //The maximum metric. 01419 IMAQ_METRIC_SUM = 1, //The sum metric. 01420 IMAQ_METRIC_EUCLIDEAN = 2, //The Euclidean metric. 01421 IMAQ_NEAREST_NEIGHBOR_METRIC_SIZE_GUARD = 0xFFFFFFFF 01422 } NearestNeighborMetric; 01423 01424 typedef enum ReadResolution_enum { 01425 IMAQ_LOW_RESOLUTION = 0, //Configures NI Vision to use low resolution during the read process. 01426 IMAQ_MEDIUM_RESOLUTION = 1, //Configures NI Vision to use medium resolution during the read process. 01427 IMAQ_HIGH_RESOLUTION = 2, //Configures NI Vision to use high resolution during the read process. 01428 IMAQ_READ_RESOLUTION_SIZE_GUARD = 0xFFFFFFFF 01429 } ReadResolution; 01430 01431 typedef enum ThresholdMode_enum { 01432 IMAQ_FIXED_RANGE = 0, //Performs thresholding using the values you provide in the lowThreshold and highThreshold elements of OCRProcessingOptions. 01433 IMAQ_COMPUTED_UNIFORM = 1, //Calculates a single threshold value for the entire ROI. 01434 IMAQ_COMPUTED_LINEAR = 2, //Calculates a value on the left side of the ROI, calculates a value on the right side of the ROI, and linearly fills the middle values from left to right. 01435 IMAQ_COMPUTED_NONLINEAR = 3, //Divides the ROI into the number of blocks specified by the blockCount element of OCRProcessingOptions and calculates a threshold value for each block. 01436 IMAQ_THRESHOLD_MODE_SIZE_GUARD = 0xFFFFFFFF 01437 } ThresholdMode; 01438 01439 typedef enum ReadStrategy_enum { 01440 IMAQ_READ_AGGRESSIVE = 0, //Configures NI Vision to perform fewer checks when analyzing objects to determine if they match trained characters. 01441 IMAQ_READ_CONSERVATIVE = 1, //Configures NI Vision to perform more checks to determine if an object matches a trained character. 01442 IMAQ_READ_STRATEGY_SIZE_GUARD = 0xFFFFFFFF 01443 } ReadStrategy; 01444 01445 typedef enum MeasurementType_enum { 01446 IMAQ_MT_CENTER_OF_MASS_X = 0, //X-coordinate of the point representing the average position of the total particle mass, assuming every point in the particle has a constant density. 01447 IMAQ_MT_CENTER_OF_MASS_Y = 1, //Y-coordinate of the point representing the average position of the total particle mass, assuming every point in the particle has a constant density. 01448 IMAQ_MT_FIRST_PIXEL_X = 2, //X-coordinate of the highest, leftmost particle pixel. 01449 IMAQ_MT_FIRST_PIXEL_Y = 3, //Y-coordinate of the highest, leftmost particle pixel. 01450 IMAQ_MT_BOUNDING_RECT_LEFT = 4, //X-coordinate of the leftmost particle point. 01451 IMAQ_MT_BOUNDING_RECT_TOP = 5, //Y-coordinate of highest particle point. 01452 IMAQ_MT_BOUNDING_RECT_RIGHT = 6, //X-coordinate of the rightmost particle point. 01453 IMAQ_MT_BOUNDING_RECT_BOTTOM = 7, //Y-coordinate of the lowest particle point. 01454 IMAQ_MT_MAX_FERET_DIAMETER_START_X = 8, //X-coordinate of the start of the line segment connecting the two perimeter points that are the furthest apart. 01455 IMAQ_MT_MAX_FERET_DIAMETER_START_Y = 9, //Y-coordinate of the start of the line segment connecting the two perimeter points that are the furthest apart. 01456 IMAQ_MT_MAX_FERET_DIAMETER_END_X = 10, //X-coordinate of the end of the line segment connecting the two perimeter points that are the furthest apart. 01457 IMAQ_MT_MAX_FERET_DIAMETER_END_Y = 11, //Y-coordinate of the end of the line segment connecting the two perimeter points that are the furthest apart. 01458 IMAQ_MT_MAX_HORIZ_SEGMENT_LENGTH_LEFT = 12, //X-coordinate of the leftmost pixel in the longest row of contiguous pixels in the particle. 01459 IMAQ_MT_MAX_HORIZ_SEGMENT_LENGTH_RIGHT = 13, //X-coordinate of the rightmost pixel in the longest row of contiguous pixels in the particle. 01460 IMAQ_MT_MAX_HORIZ_SEGMENT_LENGTH_ROW = 14, //Y-coordinate of all of the pixels in the longest row of contiguous pixels in the particle. 01461 IMAQ_MT_BOUNDING_RECT_WIDTH = 16, //Distance between the x-coordinate of the leftmost particle point and the x-coordinate of the rightmost particle point. 01462 IMAQ_MT_BOUNDING_RECT_HEIGHT = 17, //Distance between the y-coordinate of highest particle point and the y-coordinate of the lowest particle point. 01463 IMAQ_MT_BOUNDING_RECT_DIAGONAL = 18, //Distance between opposite corners of the bounding rectangle. 01464 IMAQ_MT_PERIMETER = 19, //Length of the outer boundary of the particle. 01465 IMAQ_MT_CONVEX_HULL_PERIMETER = 20, //Perimeter of the smallest convex polygon containing all points in the particle. 01466 IMAQ_MT_HOLES_PERIMETER = 21, //Sum of the perimeters of each hole in the particle. 01467 IMAQ_MT_MAX_FERET_DIAMETER = 22, //Distance between the start and end of the line segment connecting the two perimeter points that are the furthest apart. 01468 IMAQ_MT_EQUIVALENT_ELLIPSE_MAJOR_AXIS = 23, //Length of the major axis of the ellipse with the same perimeter and area as the particle. 01469 IMAQ_MT_EQUIVALENT_ELLIPSE_MINOR_AXIS = 24, //Length of the minor axis of the ellipse with the same perimeter and area as the particle. 01470 IMAQ_MT_EQUIVALENT_ELLIPSE_MINOR_AXIS_FERET = 25, //Length of the minor axis of the ellipse with the same area as the particle, and Major Axis equal in length to the Max Feret Diameter. 01471 IMAQ_MT_EQUIVALENT_RECT_LONG_SIDE = 26, //Longest side of the rectangle with the same perimeter and area as the particle. 01472 IMAQ_MT_EQUIVALENT_RECT_SHORT_SIDE = 27, //Shortest side of the rectangle with the same perimeter and area as the particle. 01473 IMAQ_MT_EQUIVALENT_RECT_DIAGONAL = 28, //Distance between opposite corners of the rectangle with the same perimeter and area as the particle. 01474 IMAQ_MT_EQUIVALENT_RECT_SHORT_SIDE_FERET = 29, //Shortest side of the rectangle with the same area as the particle, and longest side equal in length to the Max Feret Diameter. 01475 IMAQ_MT_AVERAGE_HORIZ_SEGMENT_LENGTH = 30, //Average length of a horizontal segment in the particle. 01476 IMAQ_MT_AVERAGE_VERT_SEGMENT_LENGTH = 31, //Average length of a vertical segment in the particle. 01477 IMAQ_MT_HYDRAULIC_RADIUS = 32, //The particle area divided by the particle perimeter. 01478 IMAQ_MT_WADDEL_DISK_DIAMETER = 33, //Diameter of a disk with the same area as the particle. 01479 IMAQ_MT_AREA = 35, //Area of the particle. 01480 IMAQ_MT_HOLES_AREA = 36, //Sum of the areas of each hole in the particle. 01481 IMAQ_MT_PARTICLE_AND_HOLES_AREA = 37, //Area of a particle that completely covers the image. 01482 IMAQ_MT_CONVEX_HULL_AREA = 38, //Area of the smallest convex polygon containing all points in the particle. 01483 IMAQ_MT_IMAGE_AREA = 39, //Area of the image. 01484 IMAQ_MT_NUMBER_OF_HOLES = 41, //Number of holes in the particle. 01485 IMAQ_MT_NUMBER_OF_HORIZ_SEGMENTS = 42, //Number of horizontal segments in the particle. 01486 IMAQ_MT_NUMBER_OF_VERT_SEGMENTS = 43, //Number of vertical segments in the particle. 01487 IMAQ_MT_ORIENTATION = 45, //The angle of the line that passes through the particle Center of Mass about which the particle has the lowest moment of inertia. 01488 IMAQ_MT_MAX_FERET_DIAMETER_ORIENTATION = 46, //The angle of the line segment connecting the two perimeter points that are the furthest apart. 01489 IMAQ_MT_AREA_BY_IMAGE_AREA = 48, //Percentage of the particle Area covering the Image Area. 01490 IMAQ_MT_AREA_BY_PARTICLE_AND_HOLES_AREA = 49, //Percentage of the particle Area in relation to its Particle and Holes Area. 01491 IMAQ_MT_RATIO_OF_EQUIVALENT_ELLIPSE_AXES = 50, //Equivalent Ellipse Major Axis divided by Equivalent Ellipse Minor Axis. 01492 IMAQ_MT_RATIO_OF_EQUIVALENT_RECT_SIDES = 51, //Equivalent Rect Long Side divided by Equivalent Rect Short Side. 01493 IMAQ_MT_ELONGATION_FACTOR = 53, //Max Feret Diameter divided by Equivalent Rect Short Side (Feret). 01494 IMAQ_MT_COMPACTNESS_FACTOR = 54, //Area divided by the product of Bounding Rect Width and Bounding Rect Height. 01495 IMAQ_MT_HEYWOOD_CIRCULARITY_FACTOR = 55, //Perimeter divided by the circumference of a circle with the same area. 01496 IMAQ_MT_TYPE_FACTOR = 56, //Factor relating area to moment of inertia. 01497 IMAQ_MT_SUM_X = 58, //The sum of all x-coordinates in the particle. 01498 IMAQ_MT_SUM_Y = 59, //The sum of all y-coordinates in the particle. 01499 IMAQ_MT_SUM_XX = 60, //The sum of all x-coordinates squared in the particle. 01500 IMAQ_MT_SUM_XY = 61, //The sum of all x-coordinates times y-coordinates in the particle. 01501 IMAQ_MT_SUM_YY = 62, //The sum of all y-coordinates squared in the particle. 01502 IMAQ_MT_SUM_XXX = 63, //The sum of all x-coordinates cubed in the particle. 01503 IMAQ_MT_SUM_XXY = 64, //The sum of all x-coordinates squared times y-coordinates in the particle. 01504 IMAQ_MT_SUM_XYY = 65, //The sum of all x-coordinates times y-coordinates squared in the particle. 01505 IMAQ_MT_SUM_YYY = 66, //The sum of all y-coordinates cubed in the particle. 01506 IMAQ_MT_MOMENT_OF_INERTIA_XX = 68, //The moment of inertia in the x-direction twice. 01507 IMAQ_MT_MOMENT_OF_INERTIA_XY = 69, //The moment of inertia in the x and y directions. 01508 IMAQ_MT_MOMENT_OF_INERTIA_YY = 70, //The moment of inertia in the y-direction twice. 01509 IMAQ_MT_MOMENT_OF_INERTIA_XXX = 71, //The moment of inertia in the x-direction three times. 01510 IMAQ_MT_MOMENT_OF_INERTIA_XXY = 72, //The moment of inertia in the x-direction twice and the y-direction once. 01511 IMAQ_MT_MOMENT_OF_INERTIA_XYY = 73, //The moment of inertia in the x-direction once and the y-direction twice. 01512 IMAQ_MT_MOMENT_OF_INERTIA_YYY = 74, //The moment of inertia in the y-direction three times. 01513 IMAQ_MT_NORM_MOMENT_OF_INERTIA_XX = 75, //The normalized moment of inertia in the x-direction twice. 01514 IMAQ_MT_NORM_MOMENT_OF_INERTIA_XY = 76, //The normalized moment of inertia in the x- and y-directions. 01515 IMAQ_MT_NORM_MOMENT_OF_INERTIA_YY = 77, //The normalized moment of inertia in the y-direction twice. 01516 IMAQ_MT_NORM_MOMENT_OF_INERTIA_XXX = 78, //The normalized moment of inertia in the x-direction three times. 01517 IMAQ_MT_NORM_MOMENT_OF_INERTIA_XXY = 79, //The normalized moment of inertia in the x-direction twice and the y-direction once. 01518 IMAQ_MT_NORM_MOMENT_OF_INERTIA_XYY = 80, //The normalized moment of inertia in the x-direction once and the y-direction twice. 01519 IMAQ_MT_NORM_MOMENT_OF_INERTIA_YYY = 81, //The normalized moment of inertia in the y-direction three times. 01520 IMAQ_MT_HU_MOMENT_1 = 82, //The first Hu moment. 01521 IMAQ_MT_HU_MOMENT_2 = 83, //The second Hu moment. 01522 IMAQ_MT_HU_MOMENT_3 = 84, //The third Hu moment. 01523 IMAQ_MT_HU_MOMENT_4 = 85, //The fourth Hu moment. 01524 IMAQ_MT_HU_MOMENT_5 = 86, //The fifth Hu moment. 01525 IMAQ_MT_HU_MOMENT_6 = 87, //The sixth Hu moment. 01526 IMAQ_MT_HU_MOMENT_7 = 88, //The seventh Hu moment. 01527 IMAQ_MEASUREMENT_TYPE_SIZE_GUARD = 0xFFFFFFFF 01528 } MeasurementType; 01529 01530 typedef enum GeometricMatchingMode_enum { 01531 IMAQ_GEOMETRIC_MATCH_SHIFT_INVARIANT = 0, //Searches for occurrences of the pattern in the image, assuming that the pattern is not rotated more than plus or minus 5 degrees. 01532 IMAQ_GEOMETRIC_MATCH_ROTATION_INVARIANT = 1, //Searches for occurrences of the pattern in the image with reduced restriction on the rotation of the pattern. 01533 IMAQ_GEOMETRIC_MATCH_SCALE_INVARIANT = 2, //Searches for occurrences of the pattern in the image with reduced restriction on the size of the pattern. 01534 IMAQ_GEOMETRIC_MATCH_OCCLUSION_INVARIANT = 4, //Searches for occurrences of the pattern in the image, allowing for a specified percentage of the pattern to be occluded. 01535 IMAQ_GEOMETRIC_MATCHING_MODE_SIZE_GUARD = 0xFFFFFFFF 01536 } GeometricMatchingMode; 01537 01538 typedef enum ButtonLabel_enum { 01539 IMAQ_BUTTON_OK = 0, //The label "OK". 01540 IMAQ_BUTTON_SAVE = 1, //The label "Save". 01541 IMAQ_BUTTON_SELECT = 2, //The label "Select". 01542 IMAQ_BUTTON_LOAD = 3, //The label "Load". 01543 IMAQ_BUTTON_LABEL_SIZE_GUARD = 0xFFFFFFFF 01544 } ButtonLabel; 01545 01546 typedef enum NearestNeighborMethod_enum { 01547 IMAQ_MINIMUM_MEAN_DISTANCE = 0, //The minimum mean distance method. 01548 IMAQ_K_NEAREST_NEIGHBOR = 1, //The k-nearest neighbor method. 01549 IMAQ_NEAREST_PROTOTYPE = 2, //The nearest prototype method. 01550 IMAQ_NEAREST_NEIGHBOR_METHOD_SIZE_GUARD = 0xFFFFFFFF 01551 } NearestNeighborMethod; 01552 01553 typedef enum QRMirrorMode_enum { 01554 IMAQ_QR_MIRROR_MODE_AUTO_DETECT = -2, //The function should determine if the QR code is mirrored. 01555 IMAQ_QR_MIRROR_MODE_MIRRORED = 1, //The function should expect the QR code to appear mirrored. 01556 IMAQ_QR_MIRROR_MODE_NORMAL = 0, //The function should expect the QR code to appear normal. 01557 IMAQ_QR_MIRROR_MODE_SIZE_GUARD = 0xFFFFFFFF 01558 } QRMirrorMode; 01559 01560 typedef enum ColumnProcessingMode_enum { 01561 IMAQ_AVERAGE_COLUMNS = 0, //Averages the data extracted for edge detection. 01562 IMAQ_MEDIAN_COLUMNS = 1, //Takes the median of the data extracted for edge detection. 01563 IMAQ_COLUMN_PROCESSING_MODE_SIZE_GUARD = 0xFFFFFFFF 01564 } ColumnProcessingMode; 01565 01566 typedef enum FindReferenceDirection_enum { 01567 IMAQ_LEFT_TO_RIGHT_DIRECT = 0, //Searches from the left side of the search area to the right side of the search area for a direct axis. 01568 IMAQ_LEFT_TO_RIGHT_INDIRECT = 1, //Searches from the left side of the search area to the right side of the search area for an indirect axis. 01569 IMAQ_TOP_TO_BOTTOM_DIRECT = 2, //Searches from the top of the search area to the bottom of the search area for a direct axis. 01570 IMAQ_TOP_TO_BOTTOM_INDIRECT = 3, //Searches from the top of the search area to the bottom of the search area for an indirect axis. 01571 IMAQ_RIGHT_TO_LEFT_DIRECT = 4, //Searches from the right side of the search area to the left side of the search area for a direct axis. 01572 IMAQ_RIGHT_TO_LEFT_INDIRECT = 5, //Searches from the right side of the search area to the left side of the search area for an indirect axis. 01573 IMAQ_BOTTOM_TO_TOP_DIRECT = 6, //Searches from the bottom of the search area to the top of the search area for a direct axis. 01574 IMAQ_BOTTOM_TO_TOP_INDIRECT = 7, //Searches from the bottom of the search area to the top of the search area for an indirect axis. 01575 IMAQ_FIND_COORD_SYS_DIR_SIZE_GUARD = 0xFFFFFFFF 01576 } FindReferenceDirection; 01577 01578 typedef enum MulticoreOperation_enum { 01579 IMAQ_GET_CORES = 0, //The number of processor cores NI Vision is currently using. 01580 IMAQ_SET_CORES = 1, //The number of processor cores for NI Vision to use. 01581 IMAQ_USE_MAX_AVAILABLE = 2, //Use the maximum number of available processor cores. 01582 IMAQ_MULTICORE_OPERATION_SIZE_GUARD = 0xFFFFFFFF 01583 } MulticoreOperation; 01584 01585 typedef enum GroupBehavior_enum { 01586 IMAQ_GROUP_CLEAR = 0, //Sets the behavior of the overlay group to clear the current settings when an image is transformed. 01587 IMAQ_GROUP_KEEP = 1, //Sets the behavior of the overlay group to keep the current settings when an image is transformed. 01588 IMAQ_GROUP_TRANSFORM = 2, //Sets the behavior of the overlay group to transform with the image. 01589 IMAQ_GROUP_BEHAVIOR_SIZE_GUARD = 0xFFFFFFFF 01590 } GroupBehavior; 01591 01592 typedef enum QRDimensions_enum { 01593 IMAQ_QR_DIMENSIONS_AUTO_DETECT = 0, //The function will automatically determine the dimensions of the QR code. 01594 IMAQ_QR_DIMENSIONS_11x11 = 11, //Specifies the dimensions of the QR code as 11 x 11. 01595 IMAQ_QR_DIMENSIONS_13x13 = 13, //Specifies the dimensions of the QR code as 13 x 13. 01596 IMAQ_QR_DIMENSIONS_15x15 = 15, //Specifies the dimensions of the QR code as 15 x 15. 01597 IMAQ_QR_DIMENSIONS_17x17 = 17, //Specifies the dimensions of the QR code as 17 x 17. 01598 IMAQ_QR_DIMENSIONS_21x21 = 21, //Specifies the dimensions of the QR code as 21 x 21. 01599 IMAQ_QR_DIMENSIONS_25x25 = 25, //Specifies the dimensions of the QR code as 25 x 25. 01600 IMAQ_QR_DIMENSIONS_29x29 = 29, //Specifies the dimensions of the QR code as 29 x 29. 01601 IMAQ_QR_DIMENSIONS_33x33 = 33, //Specifies the dimensions of the QR code as 33 x 33. 01602 IMAQ_QR_DIMENSIONS_37x37 = 37, //Specifies the dimensions of the QR code as 37 x 37. 01603 IMAQ_QR_DIMENSIONS_41x41 = 41, //Specifies the dimensions of the QR code as 41 x 41. 01604 IMAQ_QR_DIMENSIONS_45x45 = 45, //Specifies the dimensions of the QR code as 45 x 45. 01605 IMAQ_QR_DIMENSIONS_49x49 = 49, //Specifies the dimensions of the QR code as 49 x 49. 01606 IMAQ_QR_DIMENSIONS_53x53 = 53, //Specifies the dimensions of the QR code as 53 x 53. 01607 IMAQ_QR_DIMENSIONS_57x57 = 57, //Specifies the dimensions of the QR code as 57 x 57. 01608 IMAQ_QR_DIMENSIONS_61x61 = 61, //Specifies the dimensions of the QR code as 61 x 61. 01609 IMAQ_QR_DIMENSIONS_65x65 = 65, //Specifies the dimensions of the QR code as 65 x 65. 01610 IMAQ_QR_DIMENSIONS_69x69 = 69, //Specifies the dimensions of the QR code as 69 x 69. 01611 IMAQ_QR_DIMENSIONS_73x73 = 73, //Specifies the dimensions of the QR code as 73 x 73. 01612 IMAQ_QR_DIMENSIONS_77x77 = 77, //Specifies the dimensions of the QR code as 77 x 77. 01613 IMAQ_QR_DIMENSIONS_81x81 = 81, //Specifies the dimensions of the QR code as 81 x 81. 01614 IMAQ_QR_DIMENSIONS_85x85 = 85, //Specifies the dimensions of the QR code as 85 x 85. 01615 IMAQ_QR_DIMENSIONS_89x89 = 89, //Specifies the dimensions of the QR code as 89 x 89. 01616 IMAQ_QR_DIMENSIONS_93x93 = 93, //Specifies the dimensions of the QR code as 93 x 93. 01617 IMAQ_QR_DIMENSIONS_97x97 = 97, //Specifies the dimensions of the QR code as 97 x 97. 01618 IMAQ_QR_DIMENSIONS_101x101 = 101, //Specifies the dimensions of the QR code as 101 x 101. 01619 IMAQ_QR_DIMENSIONS_105x105 = 105, //Specifies the dimensions of the QR code as 105 x 105. 01620 IMAQ_QR_DIMENSIONS_109x109 = 109, //Specifies the dimensions of the QR code as 109 x 109. 01621 IMAQ_QR_DIMENSIONS_113x113 = 113, //Specifies the dimensions of the QR code as 113 x 113. 01622 IMAQ_QR_DIMENSIONS_117x117 = 117, //Specifies the dimensions of the QR code as 117 x 117. 01623 IMAQ_QR_DIMENSIONS_121x121 = 121, //Specifies the dimensions of the QR code as 121 x 121. 01624 IMAQ_QR_DIMENSIONS_125x125 = 125, //Specifies the dimensions of the QR code as 125 x 125. 01625 IMAQ_QR_DIMENSIONS_129x129 = 129, //Specifies the dimensions of the QR code as 129 x 129. 01626 IMAQ_QR_DIMENSIONS_133x133 = 133, //Specifies the dimensions of the QR code as 133 x 133. 01627 IMAQ_QR_DIMENSIONS_137x137 = 137, //Specifies the dimensions of the QR code as 137 x 137. 01628 IMAQ_QR_DIMENSIONS_141x141 = 141, //Specifies the dimensions of the QR code as 141 x 141. 01629 IMAQ_QR_DIMENSIONS_145x145 = 145, //Specifies the dimensions of the QR code as 145 x 145. 01630 IMAQ_QR_DIMENSIONS_149x149 = 149, //Specifies the dimensions of the QR code as 149 x 149. 01631 IMAQ_QR_DIMENSIONS_153x153 = 153, //Specifies the dimensions of the QR code as 153 x 153. 01632 IMAQ_QR_DIMENSIONS_157x157 = 157, //Specifies the dimensions of the QR code as 157 x 1537. 01633 IMAQ_QR_DIMENSIONS_161x161 = 161, //Specifies the dimensions of the QR code as 161 x 161. 01634 IMAQ_QR_DIMENSIONS_165x165 = 165, //Specifies the dimensions of the QR code as 165 x 165. 01635 IMAQ_QR_DIMENSIONS_169x169 = 169, //Specifies the dimensions of the QR code as 169 x 169. 01636 IMAQ_QR_DIMENSIONS_173x173 = 173, //Specifies the dimensions of the QR code as 173 x 173. 01637 IMAQ_QR_DIMENSIONS_177x177 = 177, //Specifies the dimensions of the QR code as 177 x 177. 01638 IMAQ_QR_DIMENSIONS_SIZE_GUARD = 0xFFFFFFFF 01639 } QRDimensions; 01640 01641 typedef enum QRCellFilterMode_enum { 01642 IMAQ_QR_CELL_FILTER_MODE_AUTO_DETECT = -2, //The function will try all filter modes and uses the one that decodes the QR code within the fewest iterations and utilizing the least amount of error correction. 01643 IMAQ_QR_CELL_FILTER_MODE_AVERAGE = 0, //The function sets the pixel value for the cell to the average of the sampled pixels. 01644 IMAQ_QR_CELL_FILTER_MODE_MEDIAN = 1, //The function sets the pixel value for the cell to the median of the sampled pixels. 01645 IMAQ_QR_CELL_FILTER_MODE_CENTRAL_AVERAGE = 2, //The function sets the pixel value for the cell to the average of the pixels in the center of the cell sample. 01646 IMAQ_QR_CELL_FILTER_MODE_HIGH_AVERAGE = 3, //The function sets the pixel value for the cell to the average value of the half of the sampled pixels with the highest pixel values. 01647 IMAQ_QR_CELL_FILTER_MODE_LOW_AVERAGE = 4, //The function sets the pixel value for the cell to the average value of the half of the sampled pixels with the lowest pixel values. 01648 IMAQ_QR_CELL_FILTER_MODE_VERY_HIGH_AVERAGE = 5, //The function sets the pixel value for the cell to the average value of the ninth of the sampled pixels with the highest pixel values. 01649 IMAQ_QR_CELL_FILTER_MODE_VERY_LOW_AVERAGE = 6, //The function sets the pixel value for the cell to the average value of the ninth of the sampled pixels with the lowest pixel values. 01650 IMAQ_QR_CELL_FILTER_MODE_ALL = 8, //The function tries each filter mode, starting with IMAQ_QR_CELL_FILTER_MODE_AVERAGE and ending with IMAQ_QR_CELL_FILTER_MODE_VERY_LOW_AVERAGE, stopping once a filter mode decodes correctly. 01651 IMAQ_QR_CELL_FILTER_MODE_SIZE_GUARD = 0xFFFFFFFF 01652 } QRCellFilterMode; 01653 01654 typedef enum RoundingMode_enum { 01655 IMAQ_ROUNDING_MODE_OPTIMIZE = 0, //Rounds the result of a division using the best available method. 01656 IMAQ_ROUNDING_MODE_TRUNCATE = 1, //Truncates the result of a division. 01657 IMAQ_ROUNDING_MODE_SIZE_GUARD = 0xFFFFFFFF 01658 } RoundingMode; 01659 01660 typedef enum QRDemodulationMode_enum { 01661 IMAQ_QR_DEMODULATION_MODE_AUTO_DETECT = -2, //The function will try each demodulation mode and use the one which decodes the QR code within the fewest iterations and utilizing the least amount of error correction. 01662 IMAQ_QR_DEMODULATION_MODE_HISTOGRAM = 0, //The function uses a histogram of all of the QR cells to calculate a threshold. 01663 IMAQ_QR_DEMODULATION_MODE_LOCAL_CONTRAST = 1, //The function examines each of the cell's neighbors to determine if the cell is on or off. 01664 IMAQ_QR_DEMODULATION_MODE_COMBINED = 2, //The function uses the histogram of the QR code to calculate a threshold. 01665 IMAQ_QR_DEMODULATION_MODE_ALL = 3, //The function tries IMAQ_QR_DEMODULATION_MODE_HISTOGRAM, then IMAQ_QR_DEMODULATION_MODE_LOCAL_CONTRAST and then IMAQ_QR_DEMODULATION_MODE_COMBINED, stopping once one mode is successful. 01666 IMAQ_QR_DEMODULATION_MODE_SIZE_GUARD = 0xFFFFFFFF 01667 } QRDemodulationMode; 01668 01669 typedef enum ContrastMode_enum { 01670 IMAQ_ORIGINAL_CONTRAST = 0, //Instructs the geometric matching algorithm to find matches with the same contrast as the template. 01671 IMAQ_REVERSED_CONTRAST = 1, //Instructs the geometric matching algorithm to find matches with the inverted contrast of the template. 01672 IMAQ_BOTH_CONTRASTS = 2, //Instructs the geometric matching algorithm to find matches with the same and inverted contrast of the template. 01673 } ContrastMode; 01674 01675 typedef enum QRPolarities_enum { 01676 IMAQ_QR_POLARITY_AUTO_DETECT = -2, //The function should determine the polarity of the QR code. 01677 IMAQ_QR_POLARITY_BLACK_ON_WHITE = 0, //The function should search for a QR code with dark data on a bright background. 01678 IMAQ_QR_POLARITY_WHITE_ON_BLACK = 1, //The function should search for a QR code with bright data on a dark background. 01679 IMAQ_QR_POLARITY_MODE_SIZE_GUARD = 0xFFFFFFFF 01680 } QRPolarities; 01681 01682 typedef enum QRRotationMode_enum { 01683 IMAQ_QR_ROTATION_MODE_UNLIMITED = 0, //The function allows for unlimited rotation. 01684 IMAQ_QR_ROTATION_MODE_0_DEGREES = 1, //The function allows for ??? 5 degrees of rotation. 01685 IMAQ_QR_ROTATION_MODE_90_DEGREES = 2, //The function allows for between 85 and 95 degrees of rotation. 01686 IMAQ_QR_ROTATION_MODE_180_DEGREES = 3, //The function allows for between 175 and 185 degrees of rotation. 01687 IMAQ_QR_ROTATION_MODE_270_DEGREES = 4, //The function allows for between 265 and 275 degrees of rotation. 01688 IMAQ_QR_ROTATION_MODE_SIZE_GUARD = 0xFFFFFFFF 01689 } QRRotationMode; 01690 01691 typedef enum QRGradingMode_enum { 01692 IMAQ_QR_NO_GRADING = 0, //The function does not make any preparatory calculations. 01693 IMAQ_QR_GRADING_MODE_SIZE_GUARD = 0xFFFFFFFF 01694 } QRGradingMode; 01695 01696 typedef enum StraightEdgeSearchMode_enum { 01697 IMAQ_USE_FIRST_RAKE_EDGES = 0, //Fits a straight edge on the first points detected using a rake. 01698 IMAQ_USE_BEST_RAKE_EDGES = 1, //Fits a straight edge on the best points detected using a rake. 01699 IMAQ_USE_BEST_HOUGH_LINE = 2, //Finds the strongest straight edge using all points detected on a rake. 01700 IMAQ_USE_FIRST_PROJECTION_EDGE = 3, //Uses the location of the first projected edge as the straight edge. 01701 IMAQ_USE_BEST_PROJECTION_EDGE = 4, //Finds the strongest projected edge location to determine the straight edge. 01702 IMAQ_STRAIGHT_EDGE_SEARCH_SIZE_GUARD = 0xFFFFFFFF 01703 } StraightEdgeSearchMode; 01704 01705 typedef enum SearchDirection_enum { 01706 IMAQ_SEARCH_DIRECTION_LEFT_TO_RIGHT = 0, //Searches from the left side of the search area to the right side of the search area. 01707 IMAQ_SEARCH_DIRECTION_RIGHT_TO_LEFT = 1, //Searches from the right side of the search area to the left side of the search area. 01708 IMAQ_SEARCH_DIRECTION_TOP_TO_BOTTOM = 2, //Searches from the top side of the search area to the bottom side of the search area. 01709 IMAQ_SEARCH_DIRECTION_BOTTOM_TO_TOP = 3, //Searches from the bottom side of the search area to the top side of the search area. 01710 IMAQ_SEARCH_DIRECTION_SIZE_GUARD = 0xFFFFFFFF 01711 } SearchDirection; 01712 01713 typedef enum QRStreamMode_enum { 01714 IMAQ_QR_MODE_NUMERIC = 0, //Specifies that the data was encoded using numeric mode. 01715 IMAQ_QR_MODE_ALPHANUMERIC = 1, //Specifies that the data was encoded using alpha-numeric mode. 01716 IMAQ_QR_MODE_RAW_BYTE = 2, //Specifies that the data was not encoded but is only raw binary bytes, or encoded in JIS-8. 01717 IMAQ_QR_MODE_EAN128_TOKEN = 3, //Specifies that the data has a special meaning represented by the application ID. 01718 IMAQ_QR_MODE_EAN128_DATA = 4, //Specifies that the data has a special meaning represented by the application ID. 01719 IMAQ_QR_MODE_ECI = 5, //Specifies that the data was meant to be read using the language represented in the language ID. 01720 IMAQ_QR_MODE_KANJI = 6, //Specifies that the data was encoded in Shift-JIS16 Japanese. 01721 IMAQ_QR_MODE_SIZE_GUARD = 0xFFFFFFFF 01722 } QRStreamMode; 01723 01724 typedef enum ParticleClassifierType_enum { 01725 IMAQ_PARTICLE_LARGEST = 0, //Use only the largest particle in the image. 01726 IMAQ_PARTICLE_ALL = 1, //Use all particles in the image. 01727 IMAQ_PARTICLE_CLASSIFIER_TYPE_SIZE_GUARD = 0xFFFFFFFF 01728 } ParticleClassifierType; 01729 01730 typedef enum QRCellSampleSize_enum { 01731 IMAQ_QR_CELL_SAMPLE_SIZE_AUTO_DETECT = -2, //The function will try each sample size and use the one which decodes the QR code within the fewest iterations and utilizing the least amount of error correction. 01732 IMAQ_QR_CELL_SAMPLE_SIZE1X1 = 1, //The function will use a 1x1 sized sample from each cell. 01733 IMAQ_QR_CELL_SAMPLE_SIZE2X2 = 2, //The function will use a 2x2 sized sample from each cell. 01734 IMAQ_QR_CELL_SAMPLE_SIZE3X3 = 3, //The function will use a 3x3 sized sample from each cell. 01735 IMAQ_QR_CELL_SAMPLE_SIZE4X4 = 4, //The function will use a 4x4 sized sample from each cell. 01736 IMAQ_QR_CELL_SAMPLE_SIZE5X5 = 5, //The function will use a 5x5 sized sample from each cell. 01737 IMAQ_QR_CELL_SAMPLE_SIZE6X6 = 6, //The function will use a 6x6 sized sample from each cell. 01738 IMAQ_QR_CELL_SAMPLE_SIZE7X7 = 7, //The function will use a 7x7 sized sample from each cell. 01739 IMAQ_QR_CELL_SAMPLE_TYPE_SIZE_GUARD = 0xFFFFFFFF 01740 } QRCellSampleSize; 01741 01742 typedef enum RakeProcessType_enum { 01743 IMAQ_GET_FIRST_EDGES = 0, 01744 IMAQ_GET_FIRST_AND_LAST_EDGES = 1, 01745 IMAQ_GET_ALL_EDGES = 2, 01746 IMAQ_GET_BEST_EDGES = 3, 01747 IMAQ_RAKE_PROCESS_TYPE_SIZE_GUARD = 0xFFFFFFFF 01748 } RakeProcessType; 01749 01750 typedef enum GeometricSetupDataItem_enum { 01751 IMAQ_CURVE_EXTRACTION_MODE = 0, //Specifies how the function identifies curves in the image. 01752 IMAQ_CURVE_EDGE_THRSHOLD = 1, //Specifies the minimum contrast an edge pixel must have for it to be considered part of a curve. 01753 IMAQ_CURVE_EDGE_FILTER = 2, //Specifies the width of the edge filter that the function uses to identify curves in the image. 01754 IMAQ_MINIMUM_CURVE_LENGTH = 3, //Specifies the length, in pixels, of the smallest curve that you want the function to identify. 01755 IMAQ_CURVE_ROW_SEARCH_STEP_SIZE = 4, //Specifies the distance, in the y direction, between the image rows that the algorithm inspects for curve seed points. 01756 IMAQ_CURVE_COL_SEARCH_STEP_SIZE = 5, //Specifies the distance, in the x direction, between the image columns that the algorithm inspects for curve seed points. 01757 IMAQ_CURVE_MAX_END_POINT_GAP = 6, //Specifies the maximum gap, in pixels, between the endpoints of a curve that the function identifies as a closed curve. 01758 IMAQ_EXTRACT_CLOSED_CURVES = 7, //Specifies whether to identify only closed curves in the image. 01759 IMAQ_ENABLE_SUBPIXEL_CURVE_EXTRACTION = 8, //The function ignores this option. 01760 IMAQ_ENABLE_CORRELATION_SCORE = 9, //Specifies that the function should calculate the Correlation Score and return it for each match result. 01761 IMAQ_ENABLE_SUBPIXEL_ACCURACY = 10, //Determines whether to return the match results with subpixel accuracy. 01762 IMAQ_SUBPIXEL_ITERATIONS = 11, //Specifies the maximum number of incremental improvements used to refine matches using subpixel information. 01763 IMAQ_SUBPIXEL_TOLERANCE = 12, //Specifies the maximum amount of change, in pixels, between consecutive incremental improvements in the match position before the function stops refining the match position. 01764 IMAQ_INITIAL_MATCH_LIST_LENGTH = 13, //Specifies the maximum size of the match list. 01765 IMAQ_ENABLE_TARGET_TEMPLATE_CURVESCORE = 14, //Specifies whether the function should calculate the match curve to template curve score and return it for each match result. 01766 IMAQ_MINIMUM_MATCH_SEPARATION_DISTANCE = 15, //Specifies the minimum separation distance, in pixels, between the origins of two matches that have unique positions. 01767 IMAQ_MINIMUM_MATCH_SEPARATION_ANGLE = 16, //Specifies the minimum angular difference, in degrees, between two matches that have unique angles. 01768 IMAQ_MINIMUM_MATCH_SEPARATION_SCALE = 17, //Specifies the minimum difference in scale, expressed as a percentage, between two matches that have unique scales. 01769 IMAQ_MAXIMUM_MATCH_OVERLAP = 18, //Specifies whether you want the algorithm to spend less time accurately estimating the location of a match. 01770 IMAQ_ENABLE_COARSE_RESULT = 19, //Specifies whether you want the algorithm to spend less time accurately estimating the location of a match. 01771 IMAQ_ENABLE_CALIBRATION_SUPPORT = 20, //Specifies whether or not the algorithm treat the inspection image as a calibrated image. 01772 IMAQ_ENABLE_CONTRAST_REVERSAL = 21, //Specifies the contrast of the matches to search for. 01773 IMAQ_SEARCH_STRATEGY = 22, //Specifies the aggressiveness of the strategy used to find matches in the image. 01774 IMAQ_REFINEMENT_MATCH_FACTOR = 23, //Specifies the factor applied to the number of matches requested to determine how many matches are refined in the pyramid stage. 01775 IMAQ_SUBPIXEL_MATCH_FACTOR = 24, //Specifies the factor applied to the number for matches requested to determine how many matches are used for the final (subpixel) stage. 01776 IMAQ_MAX_REFINEMENT_ITERATIONS = 25, //Specifies maximum refinement iteration. 01777 } GeometricSetupDataItem; 01778 01779 typedef enum DistortionModel_enum { 01780 IMAQ_POLYNOMIAL_MODEL = 0, //Polynomial model. 01781 IMAQ_DIVISION_MODEL = 1, //Division Model. 01782 IMAQ_NO_DISTORTION_MODEL = -1, //Not a distortion model. 01783 } DistortionModel; 01784 01785 typedef enum CalibrationThumbnailType_enum { 01786 IMAQ_CAMARA_MODEL_TYPE = 0, //Camara model thumbnail type. 01787 IMAQ_PERSPECTIVE_TYPE = 1, //Perspective thumbnail type. 01788 IMAQ_MICRO_PLANE_TYPE = 2, //Micro Plane thumbnail type. 01789 IMAQ_CALIBRATION_THUMBNAIL_TYPE_SIZE_GUARD = 0xFFFFFFFF 01790 } CalibrationThumbnailType; 01791 01792 typedef enum SettingType_enum { 01793 IMAQ_ROTATION_ANGLE_RANGE = 0, //Set a range for this option to specify the angles at which you expect the Function to find template matches in the inspection image. 01794 IMAQ_SCALE_RANGE = 1, //Set a range for this option to specify the sizes at which you expect the Function to find template matches in the inspection image. 01795 IMAQ_OCCLUSION_RANGE = 2, //Set a range for this option to specify the amount of occlusion you expect for a match in the inspection image. 01796 IMAQ_SETTING_TYPE_SIZE_GUARD = 0xFFFFFFFF 01797 } SettingType; 01798 01799 typedef enum SegmentationDistanceLevel_enum { 01800 IMAQ_SEGMENTATION_LEVEL_CONSERVATIVE = 0, //Uses extensive criteria to determine the Maximum Distance. 01801 IMAQ_SEGMENTATION_LEVEL_AGGRESSIVE = 1, //Uses few criteria to determine the Maximum Distance. 01802 IMAQ_SEGMENTATION_LEVEL_SIZE_GUARD = 0xFFFFFFFF 01803 } SegmentationDistanceLevel; 01804 01805 typedef enum ExtractContourSelection_enum { 01806 IMAQ_CLOSEST = 0, //Selects the curve closest to the ROI. 01807 IMAQ_LONGEST = 1, //Selects the longest curve. 01808 IMAQ_STRONGEST = 2, //Selects the curve with the highest edge strength averaged from each point on the curve. 01809 IMAQ_EXTRACT_CONTOUR_SELECTION_SIZE_GUARD = 0xFFFFFFFF 01810 } ExtractContourSelection; 01811 01812 typedef enum FindTransformMode_enum { 01813 IMAQ_FIND_REFERENCE = 0, //Update both parts of the coordinate system. 01814 IMAQ_UPDATE_TRANSFORM = 1, //Update only the new reference system. 01815 IMAQ_FIND_TRANSFORM_MODE_SIZE_GUARD = 0xFFFFFFFF 01816 } FindTransformMode; 01817 01818 typedef enum ExtractContourDirection_enum { 01819 IMAQ_RECT_LEFT_RIGHT = 0, //Searches the ROI from left to right. 01820 IMAQ_RECT_RIGHT_LEFT = 1, //Searches the ROI from right to left. 01821 IMAQ_RECT_TOP_BOTTOM = 2, //Searches the ROI from top to bottom. 01822 IMAQ_RECT_BOTTOM_TOP = 3, //Searches the ROI from bottom to top. 01823 IMAQ_ANNULUS_INNER_OUTER = 4, //Searches the ROI from the inner radius to the outer radius. 01824 IMAQ_ANNULUS_OUTER_INNER = 5, //Searches the ROI from the outer radius to the inner radius. 01825 IMAQ_ANNULUS_START_STOP = 6, //Searches the ROI from start angle to end angle. 01826 IMAQ_ANNULUS_STOP_START = 7, //Searches the ROI from end angle to start angle. 01827 IMAQ_EXTRACT_CONTOUR_DIRECTION_SIZE_GUARD = 0xFFFFFFFF 01828 } ExtractContourDirection; 01829 01830 typedef enum EdgePolaritySearchMode_enum { 01831 IMAQ_SEARCH_FOR_ALL_EDGES = 0, //Searches for all edges. 01832 IMAQ_SEARCH_FOR_RISING_EDGES = 1, //Searches for rising edges only. 01833 IMAQ_SEARCH_FOR_FALLING_EDGES = 2, //Searches for falling edges only. 01834 IMAQ_EDGE_POLARITY_MODE_SIZE_GUARD = 0xFFFFFFFF 01835 } EdgePolaritySearchMode; 01836 01837 typedef enum Connectivity_enum { 01838 IMAQ_FOUR_CONNECTED = 0, //Morphological reconstruction is performed in connectivity mode 4. 01839 IMAQ_EIGHT_CONNECTED = 1, //Morphological reconstruction is performed in connectivity mode 8. 01840 IMAQ_CONNECTIVITY_SIZE_GUARD = 0xFFFFFFFF 01841 } Connectivity; 01842 01843 typedef enum MorphologyReconstructOperation_enum { 01844 IMAQ_DILATE_RECONSTRUCT = 0, //Performs Reconstruction by dilation. 01845 IMAQ_ERODE_RECONSTRUCT = 1, //Performs Reconstruction by erosion. 01846 IMAQ_MORPHOLOGY_RECONSTRUCT_OPERATION_SIZE_GUARD = 0xFFFFFFFF 01847 } MorphologyReconstructOperation; 01848 01849 typedef enum WaveletType_enum { 01850 IMAQ_DB02 = 0, 01851 IMAQ_DB03 = 1, 01852 IMAQ_DB04 = 2, //Specifies the Wavelet Type as DB02. 01853 IMAQ_DB05 = 3, 01854 IMAQ_DB06 = 4, 01855 IMAQ_DB07 = 5, 01856 IMAQ_DB08 = 6, 01857 IMAQ_DB09 = 7, 01858 IMAQ_DB10 = 8, 01859 IMAQ_DB11 = 9, 01860 IMAQ_DB12 = 10, 01861 IMAQ_DB13 = 11, 01862 IMAQ_DB14 = 12, 01863 IMAQ_HAAR = 13, 01864 IMAQ_BIOR1_3 = 14, 01865 IMAQ_BIOR1_5 = 15, 01866 IMAQ_BIOR2_2 = 16, 01867 IMAQ_BIOR2_4 = 17, 01868 IMAQ_BIOR2_6 = 18, 01869 IMAQ_BIOR2_8 = 19, 01870 IMAQ_BIOR3_1 = 20, 01871 IMAQ_BIOR3_3 = 21, 01872 IMAQ_BIOR3_5 = 22, 01873 IMAQ_BIOR3_7 = 23, 01874 IMAQ_BIOR3_9 = 24, 01875 IMAQ_BIOR4_4 = 25, 01876 IMAQ_COIF1 = 26, 01877 IMAQ_COIF2 = 27, 01878 IMAQ_COIF3 = 28, 01879 IMAQ_COIF4 = 29, 01880 IMAQ_COIF5 = 30, 01881 IMAQ_SYM2 = 31, 01882 IMAQ_SYM3 = 32, 01883 IMAQ_SYM4 = 33, 01884 IMAQ_SYM5 = 34, 01885 IMAQ_SYM6 = 35, 01886 IMAQ_SYM7 = 36, 01887 IMAQ_SYM8 = 37, 01888 IMAQ_BIOR5_5 = 38, 01889 IMAQ_BIOR6_8 = 39, 01890 IMAQ_WAVE_TYPE_SIZE_GUARD = 0xFFFFFFFF 01891 } WaveletType; 01892 01893 typedef enum ParticleClassifierThresholdType_enum { 01894 IMAQ_THRESHOLD_MANUAL = 0, //The classifier performs a manual threshold on the image during preprocessing. 01895 IMAQ_THRESHOLD_AUTO = 1, //The classifier performs an auto threshold on the image during preprocessing. 01896 IMAQ_THRESHOLD_LOCAL = 2, //The classifier performs a local threshold on the image during preprocessing. 01897 } ParticleClassifierThresholdType; 01898 01899 typedef enum MeasureParticlesCalibrationMode_enum { 01900 IMAQ_CALIBRATION_MODE_PIXEL = 0, //The function takes only pixel measurements on the particles in the image. 01901 IMAQ_CALIBRATION_MODE_CALIBRATED = 1, //The function takes only calibrated measurements on the particles in the image. 01902 IMAQ_CALIBRATION_MODE_BOTH = 2, //The function takes both pixel and calibrated measurements on the particles in the image. 01903 IMAQ_MEASURE_PARTICLES_CALIBRATION_MODE_SIZE_GUARD = 0xFFFFFFFF 01904 } MeasureParticlesCalibrationMode; 01905 01906 typedef enum GeometricMatchingSearchStrategy_enum { 01907 IMAQ_GEOMETRIC_MATCHING_CONSERVATIVE = 0, //Instructs the pattern matching algorithm to use the largest possible amount of information from the image at the expense of slowing down the speed of the algorithm. 01908 IMAQ_GEOMETRIC_MATCHING_BALANCED = 1, //Instructs the pattern matching algorithm to balance the amount of information from the image it uses with the speed of the algorithm. 01909 IMAQ_GEOMETRIC_MATCHING_AGGRESSIVE = 2, //Instructs the pattern matching algorithm to use a lower amount of information from the image, which allows the algorithm to run quickly but at the expense of accuracy. 01910 IMAQ_GEOMETRIC_MATCHING_SEARCH_STRATEGY_SIZE_GUARD = 0xFFFFFFFF 01911 } GeometricMatchingSearchStrategy; 01912 01913 typedef enum ColorClassificationResolution_enum { 01914 IMAQ_CLASSIFIER_LOW_RESOLUTION = 0, //Low resolution version of the color classifier. 01915 IMAQ_CLASSIFIER_MEDIUM_RESOLUTION = 1, //Medium resolution version of the color classifier. 01916 IMAQ_CLASSIFIER_HIGH_RESOLUTION = 2, //High resolution version of the color classifier. 01917 IMAQ_CLASSIFIER_RESOLUTION_SIZE_GUARD = 0xFFFFFFFF 01918 } ColorClassificationResolution; 01919 01920 typedef enum ConnectionConstraintType_enum { 01921 IMAQ_DISTANCE_CONSTRAINT = 0, //Specifies the distance, in pixels, within which the end points of two curves must lie in order to be considered part of a contour. 01922 IMAQ_ANGLE_CONSTRAINT = 1, //Specifies the range, in degrees, within which the difference between the angle of two curves, measured at the end points, must lie in order for the two curves to be considered part of a contour. 01923 IMAQ_CONNECTIVITY_CONSTRAINT = 2, //Specifies the distance, in pixels, within which a line extended from the end point of a curve must pass the end point of another curve in order for the two curves to be considered part of a contour. 01924 IMAQ_GRADIENT_CONSTRAINT = 3, //Specifies the range, in degrees, within which the gradient angles of two curves, measured at the end points, must lie in order for the two curves to be considered part of a contour. 01925 IMAQ_NUM_CONNECTION_CONSTRAINT_TYPES = 4, //. 01926 IMAQ_CONNECTION_CONSTRAINT_SIZE_GUARD = 0xFFFFFFFF 01927 } ConnectionConstraintType; 01928 01929 typedef enum Barcode2DContrast_enum { 01930 IMAQ_ALL_BARCODE_2D_CONTRASTS = 0, //The function searches for barcodes of each contrast type. 01931 IMAQ_BLACK_ON_WHITE_BARCODE_2D = 1, //The function searches for 2D barcodes containing black data on a white background. 01932 IMAQ_WHITE_ON_BLACK_BARCODE_2D = 2, //The function searches for 2D barcodes containing white data on a black background. 01933 IMAQ_BARCODE_2D_CONTRAST_SIZE_GUARD = 0xFFFFFFFF 01934 } Barcode2DContrast; 01935 01936 typedef enum QRModelType_enum { 01937 IMAQ_QR_MODELTYPE_AUTO_DETECT = 0, //Specifies that the function will auto-detect the type of QR code. 01938 IMAQ_QR_MODELTYPE_MICRO = 1, //Specifies the QR code is of a micro type. 01939 IMAQ_QR_MODELTYPE_MODEL1 = 2, //Specifies the QR code is of a model1 type. 01940 IMAQ_QR_MODELTYPE_MODEL2 = 3, //Specifies the QR code is of a model2 type. 01941 IMAQ_QR_MODEL_TYPE_SIZE_GUARD = 0xFFFFFFFF 01942 } QRModelType; 01943 01944 typedef enum WindowBackgroundFillStyle_enum { 01945 IMAQ_FILL_STYLE_SOLID = 0, //Fill the display window with a solid color. 01946 IMAQ_FILL_STYLE_HATCH = 2, //Fill the display window with a pattern defined by WindowBackgroundHatchStyle. 01947 IMAQ_FILL_STYLE_DEFAULT = 3, //Fill the display window with the NI Vision default pattern. 01948 IMAQ_FILL_STYLE_SIZE_GUARD = 0xFFFFFFFF 01949 } WindowBackgroundFillStyle; 01950 01951 typedef enum ExtractionMode_enum { 01952 IMAQ_NORMAL_IMAGE = 0, //Specifies that the function makes no assumptions about the uniformity of objects in the image or the image background. 01953 IMAQ_UNIFORM_REGIONS = 1, //Specifies that the function assumes that either the objects in the image or the image background consists of uniform pixel values. 01954 IMAQ_EXTRACTION_MODE_SIZE_GUARD = 0xFFFFFFFF 01955 } ExtractionMode; 01956 01957 typedef enum EdgeFilterSize_enum { 01958 IMAQ_FINE = 0, //Specifies that the function uses a fine (narrow) edge filter. 01959 IMAQ_NORMAL = 1, //Specifies that the function uses a normal edge filter. 01960 IMAQ_CONTOUR_TRACING = 2, //Sets the Edge Filter Size to contour tracing, which provides the best results for contour extraction but increases the time required to process the image. 01961 IMAQ_EDGE_FILTER_SIZE_SIZE_GUARD = 0xFFFFFFFF 01962 } EdgeFilterSize; 01963 01964 typedef enum Barcode2DSearchMode_enum { 01965 IMAQ_SEARCH_MULTIPLE = 0, //The function searches for multiple 2D barcodes. 01966 IMAQ_SEARCH_SINGLE_CONSERVATIVE = 1, //The function searches for 2D barcodes using the same searching algorithm as IMAQ_SEARCH_MULTIPLE but stops searching after locating one valid barcode. 01967 IMAQ_SEARCH_SINGLE_AGGRESSIVE = 2, //The function searches for a single 2D barcode using a method that assumes the barcode occupies a majority of the search region. 01968 IMAQ_BARCODE_2D_SEARCH_MODE_SIZE_GUARD = 0xFFFFFFFF 01969 } Barcode2DSearchMode; 01970 01971 typedef enum DataMatrixSubtype_enum { 01972 IMAQ_ALL_DATA_MATRIX_SUBTYPES = 0, //The function searches for Data Matrix barcodes of all subtypes. 01973 IMAQ_DATA_MATRIX_SUBTYPES_ECC_000_ECC_140 = 1, //The function searches for Data Matrix barcodes of subtypes ECC 000, ECC 050, ECC 080, ECC 100 and ECC 140. 01974 IMAQ_DATA_MATRIX_SUBTYPE_ECC_200 = 2, //The function searches for Data Matrix ECC 200 barcodes. 01975 IMAQ_DATA_MATRIX_SUBTYPE_SIZE_GUARD = 0xFFFFFFFF 01976 } DataMatrixSubtype; 01977 01978 typedef enum FeatureType_enum { 01979 IMAQ_NOT_FOUND_FEATURE = 0, //Specifies the feature is not found. 01980 IMAQ_CIRCLE_FEATURE = 1, //Specifies the feature is a circle. 01981 IMAQ_ELLIPSE_FEATURE = 2, //Specifies the feature is an ellipse. 01982 IMAQ_CONST_CURVE_FEATURE = 3, //Specifies the features is a constant curve. 01983 IMAQ_RECTANGLE_FEATURE = 4, //Specifies the feature is a rectangle. 01984 IMAQ_LEG_FEATURE = 5, //Specifies the feature is a leg. 01985 IMAQ_CORNER_FEATURE = 6, //Specifies the feature is a corner. 01986 IMAQ_PARALLEL_LINE_PAIR_FEATURE = 7, //Specifies the feature is a parallel line pair. 01987 IMAQ_PAIR_OF_PARALLEL_LINE_PAIRS_FEATURE = 8, //Specifies the feature is a pair of parallel line pairs. 01988 IMAQ_LINE_FEATURE = 9, //Specifies the feature is a line. 01989 IMAQ_CLOSED_CURVE_FEATURE = 10, //Specifies the feature is a closed curve. 01990 IMAQ_FEATURE_TYPE_SIZE_GUARD = 0xFFFFFFFF 01991 } FeatureType; 01992 01993 typedef enum Barcode2DCellShape_enum { 01994 IMAQ_SQUARE_CELLS = 0, //The function uses an algorithm for decoding the 2D barcode that works with square data cells. 01995 IMAQ_ROUND_CELLS = 1, //The function uses an algorithm for decoding the 2D barcode that works with round data cells. 01996 IMAQ_BARCODE_2D_CELL_SHAPE_SIZE_GUARD = 0xFFFFFFFF 01997 } Barcode2DCellShape; 01998 01999 typedef enum LocalThresholdMethod_enum { 02000 IMAQ_NIBLACK = 0, //The function computes thresholds for each pixel based on its local statistics using the Niblack local thresholding algorithm. 02001 IMAQ_BACKGROUND_CORRECTION = 1, //The function performs background correction first to eliminate non-uniform lighting effects, then performs thresholding using the Otsu thresholding algorithm. 02002 IMAQ_LOCAL_THRESHOLD_METHOD_SIZE_GUARD = 0xFFFFFFFF 02003 } LocalThresholdMethod; 02004 02005 typedef enum Barcode2DType_enum { 02006 IMAQ_PDF417 = 0, //The 2D barcode is of type PDF417. 02007 IMAQ_DATA_MATRIX_ECC_000 = 1, //The 2D barcode is of type Data Matrix ECC 000. 02008 IMAQ_DATA_MATRIX_ECC_050 = 2, //The 2D barcode is of type Data Matrix ECC 050. 02009 IMAQ_DATA_MATRIX_ECC_080 = 3, //The 2D barcode is of type Data Matrix ECC 080. 02010 IMAQ_DATA_MATRIX_ECC_100 = 4, //The 2D barcode is of type Data Matrix ECC 100. 02011 IMAQ_DATA_MATRIX_ECC_140 = 5, //The 2D barcode is of type Data Matrix ECC 140. 02012 IMAQ_DATA_MATRIX_ECC_200 = 6, //The 2D barcode is of type Data Matrix ECC 200. 02013 IMAQ_BARCODE_2D_TYPE_SIZE_GUARD = 0xFFFFFFFF 02014 } Barcode2DType; 02015 02016 typedef enum ClassifierEngineType_enum { 02017 IMAQ_ENGINE_NONE = 0, //No engine has been set on this classifier session. 02018 IMAQ_ENGINE_NEAREST_NEIGHBOR = 1, //Nearest neighbor engine. 02019 IMAQ_ENGINE_SUPPORT_VECTOR_MACHINE = 2, 02020 IMAQ_CLASSIFIER_ENGINE_TYPE_SIZE_GUARD = 0xFFFFFFFF 02021 } ClassifierEngineType; 02022 02023 typedef enum ClassifierType_enum { 02024 IMAQ_CLASSIFIER_CUSTOM = 0, //The classifier session classifies vectors of doubles. 02025 IMAQ_CLASSIFIER_PARTICLE = 1, //The classifier session classifies particles in binary images. 02026 IMAQ_CLASSIFIER_COLOR = 2, //The classifier session classifies an image based on its color. 02027 IMAQ_CLASSIFIER_TEXTURE = 3, //The classifier session classifies an image based on its texture. 02028 IMAQ_CLASSIFIER_TYPE_SIZE_GUARD = 0xFFFFFFFF 02029 } ClassifierType; 02030 02031 typedef enum ParticleType_enum { 02032 IMAQ_PARTICLE_BRIGHT = 0, //Bright particles. 02033 IMAQ_PARTICLE_DARK = 1, //Dark particles. 02034 IMAQ_PARTICLE_TYPE_SIZE_GUARD = 0xFFFFFFFF 02035 } ParticleType; 02036 02037 typedef enum VisionInfoType2_enum { 02038 IMAQ_VISIONINFO_CALIBRATION = 0x01, //Used to indicate interaction with the Calibration information in an image. 02039 IMAQ_VISIONINFO_OVERLAY = 0x02, //Used to indicate interaction with the Overlay information in an image. 02040 IMAQ_VISIONINFO_GRAYTEMPLATE = 0x04, //Used to indicate interaction with the grayscale template information in an image. 02041 IMAQ_VISIONINFO_COLORTEMPLATE = 0x08, //Used to indicate interaction with the color template information in an image. 02042 IMAQ_VISIONINFO_GEOMETRICTEMPLATE = 0x10, //Used to indicate interaction with the geometric template information in an image. 02043 IMAQ_VISIONINFO_CUSTOMDATA = 0x20, //Used to indicate interaction with the binary or text Custom Data in an image. 02044 IMAQ_VISIONINFO_GOLDENTEMPLATE = 0x40, //Used to indicate interaction with the golden template information in an image. 02045 IMAQ_VISIONINFO_GEOMETRICTEMPLATE2 = 0x80, //Used to indicate interaction with the geometric template 2 information in an image. 02046 IMAQ_VISIONINFO_ALL = 0xFFFFFFFF, //Removes, checks for, or indicates the presence of all types of extra information in an image. 02047 } VisionInfoType2; 02048 02049 typedef enum ReadClassifierFileMode_enum { 02050 IMAQ_CLASSIFIER_READ_ALL = 0, //Read all information from the classifier file. 02051 IMAQ_CLASSIFIER_READ_SAMPLES = 1, //Read only the samples from the classifier file. 02052 IMAQ_CLASSIFIER_READ_PROPERTIES = 2, //Read only the properties from the classifier file. 02053 IMAQ_READ_CLASSIFIER_FILE_MODES_SIZE_GUARD = 0xFFFFFFFF 02054 } ReadClassifierFileMode; 02055 02056 typedef enum WriteClassifierFileMode_enum { 02057 IMAQ_CLASSIFIER_WRITE_ALL = 0, //Writes all information to the classifier file. 02058 IMAQ_CLASSIFIER_WRITE_CLASSIFY_ONLY = 1, //Write only the information needed to classify to the classifier file. 02059 IMAQ_WRITE_CLASSIFIER_FILE_MODES_SIZE_GUARD = 0xFFFFFFFF 02060 } WriteClassifierFileMode; 02061 02062 typedef enum Barcode2DShape_enum { 02063 IMAQ_SQUARE_BARCODE_2D = 0, //The function searches for square 2D barcodes. 02064 IMAQ_RECTANGULAR_BARCODE_2D = 1, //The function searches for rectangular 2D barcodes. 02065 IMAQ_BARCODE_2D_SHAPE_SIZE_GUARD = 0xFFFFFFFF 02066 } Barcode2DShape; 02067 02068 typedef enum DataMatrixRotationMode_enum { 02069 IMAQ_UNLIMITED_ROTATION = 0, //The function allows for unlimited rotation. 02070 IMAQ_0_DEGREES = 1, //The function allows for between -5 and 5 degrees of rotation. 02071 IMAQ_90_DEGREES = 2, //The function allows for between 85 and 95 degrees of rotation. 02072 IMAQ_180_DEGREES = 3, //The function allows for between 175 and 185 degrees of rotation. 02073 IMAQ_270_DEGREES = 4, //The function allows for between 265 and 275 degrees of rotation. 02074 IMAQ_DATA_MATRIX_ROTATION_MODE_SIZE_GUARD = 0xFFFFFFFF 02075 } DataMatrixRotationMode; 02076 02077 typedef enum AIMGrade_enum { 02078 IMAQ_AIM_GRADE_F = 0, //The Data Matrix barcode received a grade of F. 02079 IMAQ_AIM_GRADE_D = 1, //The Data Matrix barcode received a grade of D. 02080 IMAQ_AIM_GRADE_C = 2, //The Data Matrix barcode received a grade of C. 02081 IMAQ_AIM_GRADE_B = 3, //The Data Matrix barcode received a grade of B. 02082 IMAQ_AIM_GRADE_A = 4, //The Data Matrix barcode received a grade of A. 02083 IMAQ_DATA_MATRIX_AIM_GRADE_SIZE_GUARD = 0xFFFFFFFF 02084 } AIMGrade; 02085 02086 typedef enum DataMatrixCellFillMode_enum { 02087 IMAQ_AUTO_DETECT_CELL_FILL_MODE = -2, //Sets the function to determine the Data Matrix barcode cell fill percentage automatically. 02088 IMAQ_LOW_FILL = 0, //Sets the function to read Data Matrix barcodes with a cell fill percentage of less than 30 percent. 02089 IMAQ_NORMAL_FILL = 1, //Sets the function to read Data Matrix barcodes with a cell fill percentage greater than or equal to 30 percent. 02090 IMAQ_DATA_MATRIX_CELL_FILL_MODE_SIZE_GUARD = 0xFFFFFFFF 02091 } DataMatrixCellFillMode; 02092 02093 typedef enum DataMatrixDemodulationMode_enum { 02094 IMAQ_AUTO_DETECT_DEMODULATION_MODE = -2, //The function will try each demodulation mode and use the one which decodes the Data Matrix barcode within the fewest iterations and utilizing the least amount of error correction. 02095 IMAQ_HISTOGRAM = 0, //The function uses a histogram of all of the Data Matrix cells to calculate a threshold. 02096 IMAQ_LOCAL_CONTRAST = 1, //The function examines each of the cell's neighbors to determine if the cell is on or off. 02097 IMAQ_COMBINED = 2, //The function uses the histogram of the Data Matrix barcode to calculate a threshold. 02098 IMAQ_ALL_DEMODULATION_MODES = 3, //The function tries IMAQ_HISTOGRAM, then IMAQ_LOCAL_CONTRAST and then IMAQ_COMBINATION, stopping once one mode is successful. 02099 IMAQ_DATA_MATRIX_DEMODULATION_MODE_SIZE_GUARD = 0xFFFFFFFF 02100 } DataMatrixDemodulationMode; 02101 02102 typedef enum DataMatrixECC_enum { 02103 IMAQ_AUTO_DETECT_ECC = -2, //Sets the function to determine the Data Matrix barcode ECC automatically. 02104 IMAQ_ECC_000 = 0, //Sets the function to read Data Matrix barcodes of ECC 000 only. 02105 IMAQ_ECC_050 = 50, //Sets the function to read Data Matrix barcodes of ECC 050 only. 02106 IMAQ_ECC_080 = 80, //Sets the function to read Data Matrix barcodes of ECC 080 only. 02107 IMAQ_ECC_100 = 100, //Sets the function to read Data Matrix barcodes of ECC 100 only. 02108 IMAQ_ECC_140 = 140, //Sets the function to read Data Matrix barcodes of ECC 140 only. 02109 IMAQ_ECC_000_140 = 190, //Sets the function to read Data Matrix barcodes of ECC 000, ECC 050, ECC 080, ECC 100, and ECC 140 only. 02110 IMAQ_ECC_200 = 200, //Sets the function to read Data Matrix barcodes of ECC 200 only. 02111 IMAQ_DATA_MATRIX_ECC_SIZE_GUARD = 0xFFFFFFFF 02112 } DataMatrixECC; 02113 02114 typedef enum DataMatrixPolarity_enum { 02115 IMAQ_AUTO_DETECT_POLARITY = -2, //Sets the function to determine the Data Matrix barcode polarity automatically. 02116 IMAQ_BLACK_DATA_ON_WHITE_BACKGROUND = 0, //Sets the function to read Data Matrix barcodes with dark data on a bright background. 02117 IMAQ_WHITE_DATA_ON_BLACK_BACKGROUND = 1, //Sets the function to read Data Matrix barcodes with bright data on a dark background. 02118 IMAQ_DATA_MATRIX_POLARITY_SIZE_GUARD = 0xFFFFFFFF 02119 } DataMatrixPolarity; 02120 02121 typedef enum DataMatrixCellFilterMode_enum { 02122 IMAQ_AUTO_DETECT_CELL_FILTER_MODE = -2, //The function will try all filter modes and uses the one that decodes the Data Matrix barcode within the fewest iterations and utilizing the least amount of error correction. 02123 IMAQ_AVERAGE_FILTER = 0, //The function sets the pixel value for the cell to the average of the sampled pixels. 02124 IMAQ_MEDIAN_FILTER = 1, //The function sets the pixel value for the cell to the median of the sampled pixels. 02125 IMAQ_CENTRAL_AVERAGE_FILTER = 2, //The function sets the pixel value for the cell to the average of the pixels in the center of the cell sample. 02126 IMAQ_HIGH_AVERAGE_FILTER = 3, //The function sets the pixel value for the cell to the average value of the half of the sampled pixels with the highest pixel values. 02127 IMAQ_LOW_AVERAGE_FILTER = 4, //The function sets the pixel value for the cell to the average value of the half of the sampled pixels with the lowest pixel values. 02128 IMAQ_VERY_HIGH_AVERAGE_FILTER = 5, //The function sets the pixel value for the cell to the average value of the ninth of the sampled pixels with the highest pixel values. 02129 IMAQ_VERY_LOW_AVERAGE_FILTER = 6, //The function sets the pixel value for the cell to the average value of the ninth of the sampled pixels with the lowest pixel values. 02130 IMAQ_ALL_CELL_FILTERS = 8, //The function tries each filter mode, starting with IMAQ_AVERAGE_FILTER and ending with IMAQ_VERY_LOW_AVERAGE_FILTER, stopping once a filter mode decodes correctly. 02131 IMAQ_DATA_MATRIX_CELL_FILTER_MODE_SIZE_GUARD = 0xFFFFFFFF 02132 } DataMatrixCellFilterMode; 02133 02134 typedef enum WindowBackgroundHatchStyle_enum { 02135 IMAQ_HATCH_STYLE_HORIZONTAL = 0, //The background of the display window will be horizontal bars. 02136 IMAQ_HATCH_STYLE_VERTICAL = 1, //The background of the display window will be vertical bars. 02137 IMAQ_HATCH_STYLE_FORWARD_DIAGONAL = 2, //The background of the display window will be diagonal bars. 02138 IMAQ_HATCH_STYLE_BACKWARD_DIAGONAL = 3, //The background of the display window will be diagonal bars. 02139 IMAQ_HATCH_STYLE_CROSS = 4, //The background of the display window will be intersecting horizontal and vertical bars. 02140 IMAQ_HATCH_STYLE_CROSS_HATCH = 5, //The background of the display window will be intersecting forward and backward diagonal bars. 02141 IMAQ_HATCH_STYLE_SIZE_GUARD = 0xFFFFFFFF 02142 } WindowBackgroundHatchStyle; 02143 02144 typedef enum DataMatrixMirrorMode_enum { 02145 IMAQ_AUTO_DETECT_MIRROR = -2, //Specifies that the function should determine if the Data Matrix barcode is mirrored. 02146 IMAQ_APPEARS_NORMAL = 0, //Specifies that the function should expect the Data Matrix barcode to appear normal. 02147 IMAQ_APPEARS_MIRRORED = 1, //Specifies that the function should expect the Data Matrix barcode to appear mirrored. 02148 IMAQ_DATA_MATRIX_MIRROR_MODE_SIZE_GUARD = 0xFFFFFFFF 02149 } DataMatrixMirrorMode; 02150 02151 typedef enum CalibrationMode2_enum { 02152 IMAQ_PERSPECTIVE_MODE = 0, //Functions correct for distortion caused by the camera's perspective. 02153 IMAQ_MICROPLANE_MODE = 1, //Functions correct for distortion caused by the camera's lens. 02154 IMAQ_SIMPLE_CALIBRATION_MODE = 2, //Functions do not correct for distortion. 02155 IMAQ_CORRECTED_IMAGE_MODE = 3, //The image is already corrected. 02156 IMAQ_NO_CALIBRATION_MODE = 4, //Image with No calibration. 02157 IMAQ_CALIBRATION_MODE2_SIZE_GUARD = 0xFFFFFFFF 02158 } CalibrationMode2; 02159 02160 typedef enum DataMatrixGradingMode_enum { 02161 IMAQ_NO_GRADING = 0, //The function does not make any preparatory calculations. 02162 IMAQ_PREPARE_FOR_AIM = 1, //The function prepares the image for grading using the AIM Print Quality metrics. 02163 IMAQ_DATA_MATRIX_GRADING_MODE_SIZE_GUARD = 0xFFFFFFFF 02164 } DataMatrixGradingMode; 02165 02166 typedef enum WaveletTransformMode_enum { 02167 IMAQ_WAVELET_TRANSFORM_INTEGER = 0, //Uses a 5-3 reversible integer transform. 02168 IMAQ_WAVELET_TRANSFORM_FLOATING_POINT = 1, //Performs a 9-7 irreversible floating-point transform. 02169 IMAQ_WAVELET_TRANSFORM_MODE_SIZE_GUARD = 0xFFFFFFFF 02170 } WaveletTransformMode; 02171 02172 typedef enum NormalizationMethod_enum { 02173 IMAQ_NORMALIZATION_NONE = 0, //No normalization. 02174 IMAQ_NORMALIZATION_HISTOGRAM_MATCHING = 1, //Adjust image so its histogram is similar to the golden template's histogram. 02175 IMAQ_NORMALIZATION_AVERAGE_MATCHING = 2, //Adjust image so its mean pixel value equals the golden template's mean pixel value. 02176 IMAQ_NORMALIZATION_SIZE_GUARD = 0xFFFFFFFF 02177 } NormalizationMethod; 02178 02179 typedef enum RegistrationMethod_enum { 02180 IMAQ_REGISTRATION_NONE = 0, //No registration. 02181 IMAQ_REGISTRATION_PERSPECTIVE = 1, //Adjust image to correct for minor variations in alignment or perspective. 02182 IMAQ_REGISTRATION_SIZE_GUARD = 0xFFFFFFFF 02183 } RegistrationMethod; 02184 02185 typedef enum LinearAveragesMode_enum { 02186 IMAQ_COLUMN_AVERAGES = 1, //Specifies that the function calculates the mean pixel value of each column. 02187 IMAQ_ROW_AVERAGES = 2, //Specifies that the function calculates the mean pixel value of each row. 02188 IMAQ_RISING_DIAGONAL_AVERAGES = 4, //Specifies that the function calculates the mean pixel value of each diagonal running from the lower left to the upper right of the inspected area of the image. 02189 IMAQ_FALLING_DIAGONAL_AVERAGES = 8, //Specifies that the function calculates the mean pixel value of each diagonal running from the upper left to the lower right of the inspected area of the image. 02190 IMAQ_ALL_LINEAR_AVERAGES = 15, //Specifies that the function calculates all four linear mean pixel values. 02191 IMAQ_LINEAR_AVERAGES_MODE_SIZE_GUARD = 0xFFFFFFFF 02192 } LinearAveragesMode; 02193 02194 typedef enum CompressionType_enum { 02195 IMAQ_COMPRESSION_NONE = 0, //Specifies that the function should not compress the image. 02196 IMAQ_COMPRESSION_JPEG = 1, //Specifies that the function should use lossy JPEG compression on the image. 02197 IMAQ_COMPRESSION_PACKED_BINARY = 2, //Specifies that the function should use lossless binary packing on the image. 02198 IMAQ_COMPRESSION_TYPE_SIZE_GUARD = 0xFFFFFFFF 02199 } CompressionType; 02200 02201 typedef enum FlattenType_enum { 02202 IMAQ_FLATTEN_IMAGE = 0, //Flattens just the image data. 02203 IMAQ_FLATTEN_IMAGE_AND_VISION_INFO = 1, //Flattens the image data and any Vision information associated with the image. 02204 IMAQ_FLATTEN_TYPE_SIZE_GUARD = 0xFFFFFFFF 02205 } FlattenType; 02206 02207 typedef enum DataMatrixCellSampleSize_enum { 02208 IMAQ_AUTO_DETECT_CELL_SAMPLE_SIZE = -2, //The function will try each sample size and use the one which decodes the Data Matrix barcode within the fewest iterations and utilizing the least amount of error correction. 02209 IMAQ_1x1 = 1, //The function will use a 1x1 sized sample from each cell. 02210 IMAQ_2x2 = 2, //The function will use a 2x2 sized sample from each cell. 02211 IMAQ_3x3 = 3, //The function will use a 3x3 sized sample from each cell. 02212 IMAQ_4x4 = 4, //The function will use a 4x4 sized sample from each cell. 02213 IMAQ_5x5 = 5, //The function will use a 5x5 sized sample from each cell. 02214 IMAQ_6x6 = 6, //The function will use a 6x6 sized sample from each cell. 02215 IMAQ_7x7 = 7, //The function will use a 7x7 sized sample from each cell. 02216 IMAQ_DATA_MATRIX_CELL_SAMPLE_SIZE_SIZE_GUARD = 0xFFFFFFFF 02217 } DataMatrixCellSampleSize; 02218 02219 02220 //============================================================================ 02221 // Forward Declare Data Structures 02222 //============================================================================ 02223 typedef struct Image_struct Image; 02224 typedef struct ROI_struct ROI; 02225 typedef struct Overlay_struct Overlay; 02226 typedef struct ClassifierSession_struct ClassifierSession; 02227 typedef struct MultipleGeometricPattern_struct MultipleGeometricPattern; 02228 typedef int ContourID; 02229 typedef unsigned long SESSION_ID; 02230 typedef int AVISession; 02231 typedef char* FilterName; 02232 typedef char String255[256]; 02233 typedef struct CharSet_struct CharSet; 02234 typedef struct OCRSpacingOptions_struct OCRSpacingOptions; 02235 typedef struct OCRProcessingOptions_struct OCRProcessingOptions; 02236 typedef struct ReadTextOptions_struct ReadTextOptions; 02237 typedef struct CharInfo_struct CharInfo; 02238 typedef struct CharReport_struct CharReport; 02239 typedef struct ReadTextReport_struct ReadTextReport; 02240 typedef struct DivisionModel_struct DivisionModel; 02241 typedef struct FocalLength_struct FocalLength; 02242 typedef struct PolyModel_struct PolyModel; 02243 typedef struct DistortionModelParams_struct DistortionModelParams; 02244 typedef struct PointFloat_struct PointFloat; 02245 typedef struct InternalParameters_struct InternalParameters; 02246 typedef struct MaxGridSize_struct MaxGridSize; 02247 typedef struct ImageSize_struct ImageSize; 02248 typedef struct CalibrationReferencePoints_struct CalibrationReferencePoints; 02249 typedef struct GetCameraParametersReport_struct GetCameraParametersReport; 02250 typedef struct CalibrationAxisInfo_struct CalibrationAxisInfo; 02251 typedef struct CalibrationLearnSetupInfo_struct CalibrationLearnSetupInfo; 02252 typedef struct GridDescriptor_struct GridDescriptor; 02253 typedef struct ErrorStatistics_struct ErrorStatistics; 02254 typedef struct GetCalibrationInfoReport_struct GetCalibrationInfoReport; 02255 typedef struct EdgePolarity_struct EdgePolarity; 02256 typedef struct ClampSettings_struct ClampSettings; 02257 typedef struct PointDouble_struct PointDouble; 02258 typedef struct PointDoublePair_struct PointDoublePair; 02259 typedef struct ClampResults_struct ClampResults; 02260 typedef struct ClampPoints_struct ClampPoints; 02261 typedef struct RGBValue_struct RGBValue; 02262 typedef struct ClampOverlaySettings_struct ClampOverlaySettings; 02263 typedef struct ClampMax2Report_struct ClampMax2Report; 02264 typedef struct ContourFitSplineReport_struct ContourFitSplineReport; 02265 typedef struct LineFloat_struct LineFloat; 02266 typedef struct LineEquation_struct LineEquation; 02267 typedef struct ContourFitLineReport_struct ContourFitLineReport; 02268 typedef struct ContourFitPolynomialReport_struct ContourFitPolynomialReport; 02269 typedef struct PartialCircle_struct PartialCircle; 02270 typedef struct PartialEllipse_struct PartialEllipse; 02271 typedef struct SetupMatchPatternData_struct SetupMatchPatternData; 02272 typedef struct RangeSettingDouble_struct RangeSettingDouble; 02273 typedef struct GeometricAdvancedSetupDataOption_struct GeometricAdvancedSetupDataOption; 02274 typedef struct ContourInfoReport_struct ContourInfoReport; 02275 typedef struct ROILabel_struct ROILabel; 02276 typedef struct SupervisedColorSegmentationReport_struct SupervisedColorSegmentationReport; 02277 typedef struct LabelToROIReport_struct LabelToROIReport; 02278 typedef struct ColorSegmenationOptions_struct ColorSegmenationOptions; 02279 typedef struct ClassifiedCurve_struct ClassifiedCurve; 02280 typedef struct RangeDouble_struct RangeDouble; 02281 typedef struct RangeLabel_struct RangeLabel; 02282 typedef struct CurvatureAnalysisReport_struct CurvatureAnalysisReport; 02283 typedef struct Disparity_struct Disparity; 02284 typedef struct ComputeDistancesReport_struct ComputeDistancesReport; 02285 typedef struct MatchMode_struct MatchMode; 02286 typedef struct ClassifiedDisparity_struct ClassifiedDisparity; 02287 typedef struct ClassifyDistancesReport_struct ClassifyDistancesReport; 02288 typedef struct ContourComputeCurvatureReport_struct ContourComputeCurvatureReport; 02289 typedef struct ContourOverlaySettings_struct ContourOverlaySettings; 02290 typedef struct CurveParameters_struct CurveParameters; 02291 typedef struct ExtractContourReport_struct ExtractContourReport; 02292 typedef struct ConnectionConstraint_struct ConnectionConstraint; 02293 typedef struct ExtractTextureFeaturesReport_struct ExtractTextureFeaturesReport; 02294 typedef struct WaveletBandsReport_struct WaveletBandsReport; 02295 typedef struct CircleFitOptions_struct CircleFitOptions; 02296 typedef struct EdgeOptions2_struct EdgeOptions2; 02297 typedef struct FindCircularEdgeOptions_struct FindCircularEdgeOptions; 02298 typedef struct FindConcentricEdgeOptions_struct FindConcentricEdgeOptions; 02299 typedef struct ConcentricEdgeFitOptions_struct ConcentricEdgeFitOptions; 02300 typedef struct FindConcentricEdgeReport_struct FindConcentricEdgeReport; 02301 typedef struct FindCircularEdgeReport_struct FindCircularEdgeReport; 02302 typedef struct WindowSize_struct WindowSize; 02303 typedef struct DisplacementVector_struct DisplacementVector; 02304 typedef struct WaveletOptions_struct WaveletOptions; 02305 typedef struct CooccurrenceOptions_struct CooccurrenceOptions; 02306 typedef struct ParticleClassifierLocalThresholdOptions_struct ParticleClassifierLocalThresholdOptions; 02307 typedef struct RangeFloat_struct RangeFloat; 02308 typedef struct ParticleClassifierAutoThresholdOptions_struct ParticleClassifierAutoThresholdOptions; 02309 typedef struct ParticleClassifierPreprocessingOptions2_struct ParticleClassifierPreprocessingOptions2; 02310 typedef struct MeasureParticlesReport_struct MeasureParticlesReport; 02311 typedef struct GeometricPatternMatch3_struct GeometricPatternMatch3; 02312 typedef struct MatchGeometricPatternAdvancedOptions3_struct MatchGeometricPatternAdvancedOptions3; 02313 typedef struct ColorOptions_struct ColorOptions; 02314 typedef struct SampleScore_struct SampleScore; 02315 typedef struct ClassifierReportAdvanced_struct ClassifierReportAdvanced; 02316 typedef struct LearnGeometricPatternAdvancedOptions2_struct LearnGeometricPatternAdvancedOptions2; 02317 typedef struct ParticleFilterOptions2_struct ParticleFilterOptions2; 02318 typedef struct FindEdgeOptions2_struct FindEdgeOptions2; 02319 typedef struct FindEdgeReport_struct FindEdgeReport; 02320 typedef struct FindTransformRectOptions2_struct FindTransformRectOptions2; 02321 typedef struct FindTransformRectsOptions2_struct FindTransformRectsOptions2; 02322 typedef struct ReadTextReport3_struct ReadTextReport3; 02323 typedef struct CharacterStatistics_struct CharacterStatistics; 02324 typedef struct CharReport3_struct CharReport3; 02325 typedef struct ArcInfo2_struct ArcInfo2; 02326 typedef struct EdgeReport2_struct EdgeReport2; 02327 typedef struct SearchArcInfo_struct SearchArcInfo; 02328 typedef struct ConcentricRakeReport2_struct ConcentricRakeReport2; 02329 typedef struct SpokeReport2_struct SpokeReport2; 02330 typedef struct EdgeInfo_struct EdgeInfo; 02331 typedef struct SearchLineInfo_struct SearchLineInfo; 02332 typedef struct RakeReport2_struct RakeReport2; 02333 typedef struct TransformBehaviors_struct TransformBehaviors; 02334 typedef struct QRCodeDataToken_struct QRCodeDataToken; 02335 typedef struct ParticleFilterOptions_struct ParticleFilterOptions; 02336 typedef struct StraightEdgeReport2_struct StraightEdgeReport2; 02337 typedef struct StraightEdgeOptions_struct StraightEdgeOptions; 02338 typedef struct StraightEdge_struct StraightEdge; 02339 typedef struct QRCodeSearchOptions_struct QRCodeSearchOptions; 02340 typedef struct QRCodeSizeOptions_struct QRCodeSizeOptions; 02341 typedef struct QRCodeDescriptionOptions_struct QRCodeDescriptionOptions; 02342 typedef struct QRCodeReport_struct QRCodeReport; 02343 typedef struct AIMGradeReport_struct AIMGradeReport; 02344 typedef struct DataMatrixSizeOptions_struct DataMatrixSizeOptions; 02345 typedef struct DataMatrixDescriptionOptions_struct DataMatrixDescriptionOptions; 02346 typedef struct DataMatrixSearchOptions_struct DataMatrixSearchOptions; 02347 typedef struct DataMatrixReport_struct DataMatrixReport; 02348 typedef struct JPEG2000FileAdvancedOptions_struct JPEG2000FileAdvancedOptions; 02349 typedef struct MatchGeometricPatternAdvancedOptions2_struct MatchGeometricPatternAdvancedOptions2; 02350 typedef struct InspectionAlignment_struct InspectionAlignment; 02351 typedef struct InspectionOptions_struct InspectionOptions; 02352 typedef struct CharReport2_struct CharReport2; 02353 typedef struct CharInfo2_struct CharInfo2; 02354 typedef struct ReadTextReport2_struct ReadTextReport2; 02355 typedef struct EllipseFeature_struct EllipseFeature; 02356 typedef struct CircleFeature_struct CircleFeature; 02357 typedef struct ConstCurveFeature_struct ConstCurveFeature; 02358 typedef struct RectangleFeature_struct RectangleFeature; 02359 typedef struct LegFeature_struct LegFeature; 02360 typedef struct CornerFeature_struct CornerFeature; 02361 typedef struct LineFeature_struct LineFeature; 02362 typedef struct ParallelLinePairFeature_struct ParallelLinePairFeature; 02363 typedef struct PairOfParallelLinePairsFeature_struct PairOfParallelLinePairsFeature; 02364 typedef union GeometricFeature_union GeometricFeature; 02365 typedef struct FeatureData_struct FeatureData; 02366 typedef struct GeometricPatternMatch2_struct GeometricPatternMatch2; 02367 typedef struct ClosedCurveFeature_struct ClosedCurveFeature; 02368 typedef struct LineMatch_struct LineMatch; 02369 typedef struct LineDescriptor_struct LineDescriptor; 02370 typedef struct RectangleDescriptor_struct RectangleDescriptor; 02371 typedef struct RectangleMatch_struct RectangleMatch; 02372 typedef struct EllipseDescriptor_struct EllipseDescriptor; 02373 typedef struct EllipseMatch_struct EllipseMatch; 02374 typedef struct CircleMatch_struct CircleMatch; 02375 typedef struct CircleDescriptor_struct CircleDescriptor; 02376 typedef struct ShapeDetectionOptions_struct ShapeDetectionOptions; 02377 typedef struct Curve_struct Curve; 02378 typedef struct CurveOptions_struct CurveOptions; 02379 typedef struct Barcode2DInfo_struct Barcode2DInfo; 02380 typedef struct DataMatrixOptions_struct DataMatrixOptions; 02381 typedef struct ClassifierAccuracyReport_struct ClassifierAccuracyReport; 02382 typedef struct NearestNeighborClassResult_struct NearestNeighborClassResult; 02383 typedef struct NearestNeighborTrainingReport_struct NearestNeighborTrainingReport; 02384 typedef struct ParticleClassifierPreprocessingOptions_struct ParticleClassifierPreprocessingOptions; 02385 typedef struct ClassifierSampleInfo_struct ClassifierSampleInfo; 02386 typedef struct ClassScore_struct ClassScore; 02387 typedef struct ClassifierReport_struct ClassifierReport; 02388 typedef struct NearestNeighborOptions_struct NearestNeighborOptions; 02389 typedef struct ParticleClassifierOptions_struct ParticleClassifierOptions; 02390 typedef struct RGBU64Value_struct RGBU64Value; 02391 typedef struct GeometricPatternMatch_struct GeometricPatternMatch; 02392 typedef struct MatchGeometricPatternAdvancedOptions_struct MatchGeometricPatternAdvancedOptions; 02393 typedef struct MatchGeometricPatternOptions_struct MatchGeometricPatternOptions; 02394 typedef struct LearnGeometricPatternAdvancedOptions_struct LearnGeometricPatternAdvancedOptions; 02395 typedef struct FitEllipseOptions_struct FitEllipseOptions; 02396 typedef struct FitCircleOptions_struct FitCircleOptions; 02397 typedef struct ConstructROIOptions2_struct ConstructROIOptions2; 02398 typedef struct HSLValue_struct HSLValue; 02399 typedef struct HSVValue_struct HSVValue; 02400 typedef struct HSIValue_struct HSIValue; 02401 typedef struct CIELabValue_struct CIELabValue; 02402 typedef struct CIEXYZValue_struct CIEXYZValue; 02403 typedef union Color2_union Color2; 02404 typedef struct BestEllipse2_struct BestEllipse2; 02405 typedef struct LearnPatternAdvancedOptions_struct LearnPatternAdvancedOptions; 02406 typedef struct AVIInfo_struct AVIInfo; 02407 typedef struct LearnPatternAdvancedShiftOptions_struct LearnPatternAdvancedShiftOptions; 02408 typedef struct LearnPatternAdvancedRotationOptions_struct LearnPatternAdvancedRotationOptions; 02409 typedef struct MatchPatternAdvancedOptions_struct MatchPatternAdvancedOptions; 02410 typedef struct ParticleFilterCriteria2_struct ParticleFilterCriteria2; 02411 typedef struct BestCircle2_struct BestCircle2; 02412 typedef struct OCRSpacingOptions_struct OCRSpacingOptions; 02413 typedef struct OCRProcessingOptions_struct OCRProcessingOptions; 02414 typedef struct ReadTextOptions_struct ReadTextOptions; 02415 typedef struct CharInfo_struct CharInfo; 02416 #if !defined(USERINT_HEADER) && !defined(_CVI_RECT_DEFINED) 02417 typedef struct Rect_struct Rect; 02418 #endif 02419 typedef struct CharReport_struct CharReport; 02420 typedef struct ReadTextReport_struct ReadTextReport; 02421 #if !defined(USERINT_HEADER) && !defined(_CVI_POINT_DEFINED) 02422 typedef struct Point_struct Point; 02423 #endif 02424 typedef struct Annulus_struct Annulus; 02425 typedef struct EdgeLocationReport_struct EdgeLocationReport; 02426 typedef struct EdgeOptions_struct EdgeOptions; 02427 typedef struct EdgeReport_struct EdgeReport; 02428 typedef struct ExtremeReport_struct ExtremeReport; 02429 typedef struct FitLineOptions_struct FitLineOptions; 02430 typedef struct DisplayMapping_struct DisplayMapping; 02431 typedef struct DetectExtremesOptions_struct DetectExtremesOptions; 02432 typedef struct ImageInfo_struct ImageInfo; 02433 typedef struct LCDOptions_struct LCDOptions; 02434 typedef struct LCDReport_struct LCDReport; 02435 typedef struct LCDSegments_struct LCDSegments; 02436 typedef struct LearnCalibrationOptions_struct LearnCalibrationOptions; 02437 typedef struct LearnColorPatternOptions_struct LearnColorPatternOptions; 02438 typedef struct Line_struct Line; 02439 typedef struct LinearAverages_struct LinearAverages; 02440 typedef struct LineProfile_struct LineProfile; 02441 typedef struct MatchColorPatternOptions_struct MatchColorPatternOptions; 02442 typedef struct HistogramReport_struct HistogramReport; 02443 typedef struct ArcInfo_struct ArcInfo; 02444 typedef struct AxisReport_struct AxisReport; 02445 typedef struct BarcodeInfo_struct BarcodeInfo; 02446 typedef struct BCGOptions_struct BCGOptions; 02447 typedef struct BestCircle_struct BestCircle; 02448 typedef struct BestEllipse_struct BestEllipse; 02449 typedef struct BestLine_struct BestLine; 02450 typedef struct BrowserOptions_struct BrowserOptions; 02451 typedef struct CoordinateSystem_struct CoordinateSystem; 02452 typedef struct CalibrationInfo_struct CalibrationInfo; 02453 typedef struct CalibrationPoints_struct CalibrationPoints; 02454 typedef struct CaliperOptions_struct CaliperOptions; 02455 typedef struct CaliperReport_struct CaliperReport; 02456 typedef struct DrawTextOptions_struct DrawTextOptions; 02457 typedef struct CircleReport_struct CircleReport; 02458 typedef struct ClosedContour_struct ClosedContour; 02459 typedef struct ColorHistogramReport_struct ColorHistogramReport; 02460 typedef struct ColorInformation_struct ColorInformation; 02461 typedef struct Complex_struct Complex; 02462 typedef struct ConcentricRakeReport_struct ConcentricRakeReport; 02463 typedef struct ConstructROIOptions_struct ConstructROIOptions; 02464 typedef struct ContourInfo_struct ContourInfo; 02465 typedef union ContourUnion_union ContourUnion; 02466 typedef struct ContourInfo2_struct ContourInfo2; 02467 typedef struct ContourPoint_struct ContourPoint; 02468 typedef struct CoordinateTransform_struct CoordinateTransform; 02469 typedef struct CoordinateTransform2_struct CoordinateTransform2; 02470 typedef struct CannyOptions_struct CannyOptions; 02471 typedef struct Range_struct Range; 02472 typedef struct UserPointSymbol_struct UserPointSymbol; 02473 typedef struct View3DOptions_struct View3DOptions; 02474 typedef struct MatchPatternOptions_struct MatchPatternOptions; 02475 typedef struct TIFFFileOptions_struct TIFFFileOptions; 02476 typedef union Color_union Color; 02477 typedef union PixelValue_union PixelValue; 02478 typedef struct OpenContour_struct OpenContour; 02479 typedef struct OverlayTextOptions_struct OverlayTextOptions; 02480 typedef struct ParticleFilterCriteria_struct ParticleFilterCriteria; 02481 typedef struct ParticleReport_struct ParticleReport; 02482 typedef struct PatternMatch_struct PatternMatch; 02483 typedef struct QuantifyData_struct QuantifyData; 02484 typedef struct QuantifyReport_struct QuantifyReport; 02485 typedef struct RakeOptions_struct RakeOptions; 02486 typedef struct RakeReport_struct RakeReport; 02487 typedef struct TransformReport_struct TransformReport; 02488 typedef struct ShapeReport_struct ShapeReport; 02489 typedef struct MeterArc_struct MeterArc; 02490 typedef struct ThresholdData_struct ThresholdData; 02491 typedef struct StructuringElement_struct StructuringElement; 02492 typedef struct SpokeReport_struct SpokeReport; 02493 typedef struct SimpleEdgeOptions_struct SimpleEdgeOptions; 02494 typedef struct SelectParticleCriteria_struct SelectParticleCriteria; 02495 typedef struct SegmentInfo_struct SegmentInfo; 02496 typedef struct RotationAngleRange_struct RotationAngleRange; 02497 typedef struct RotatedRect_struct RotatedRect; 02498 typedef struct ROIProfile_struct ROIProfile; 02499 typedef struct ToolWindowOptions_struct ToolWindowOptions; 02500 typedef struct SpokeOptions_struct SpokeOptions; 02501 02502 //============================================================================ 02503 // Data Structures 02504 //============================================================================ 02505 #if !defined __GNUC__ && !defined _M_X64 02506 #pragma pack(push,1) 02507 #endif 02508 typedef struct DivisionModel_struct { 02509 float kappa; //The learned kappa coefficient of division model. 02510 } DivisionModel; 02511 02512 typedef struct FocalLength_struct { 02513 float fx; //Focal length in X direction. 02514 float fy; //Focal length in Y direction. 02515 } FocalLength; 02516 02517 typedef struct PolyModel_struct { 02518 float* kCoeffs; //The learned radial coefficients of polynomial model. 02519 unsigned int numKCoeffs; //Number of K coefficients. 02520 float p1; //The P1(learned tangential coefficients of polynomial model). 02521 float p2; //The P2(learned tangential coefficients of polynomial model). 02522 } PolyModel; 02523 02524 typedef struct DistortionModelParams_struct { 02525 DistortionModel distortionModel; //Type of learned distortion model. 02526 PolyModel polyModel; //The learned coefficients of polynomial model. 02527 DivisionModel divisionModel; //The learned coefficient of division model. 02528 } DistortionModelParams; 02529 02530 typedef struct PointFloat_struct { 02531 float x; //The x-coordinate of the point. 02532 float y; //The y-coordinate of the point. 02533 } PointFloat; 02534 02535 typedef struct InternalParameters_struct { 02536 char isInsufficientData; 02537 FocalLength focalLength; 02538 PointFloat opticalCenter; 02539 } InternalParameters; 02540 02541 typedef struct MaxGridSize_struct { 02542 unsigned int xMax; //Maximum x limit for the grid size. 02543 unsigned int yMax; //Maximum y limit for the grid size. 02544 } MaxGridSize; 02545 02546 typedef struct ImageSize_struct { 02547 unsigned int xRes; //X resolution of the image. 02548 unsigned int yRes; //Y resolution of the image. 02549 } ImageSize; 02550 02551 typedef struct CalibrationReferencePoints_struct { 02552 PointDouble* pixelCoords; //Specifies the coordinates of the pixel reference points. 02553 unsigned int numPixelCoords; //Number of pixel coordinates. 02554 PointDouble* realCoords; //Specifies the measuring unit associated with the image. 02555 unsigned int numRealCoords; //Number of real coordinates. 02556 CalibrationUnit units; //Specifies the units of X Step and Y Step. 02557 ImageSize imageSize; //Specifies the size of calibration template image. 02558 } CalibrationReferencePoints; 02559 02560 typedef struct GetCameraParametersReport_struct { 02561 double* projectionMatrix; //The projection(homography) matrix of working plane. 02562 unsigned int projectionMatrixRows; //Number of rows in projection matrix. 02563 unsigned int projectionMatrixCols; //Number of columns in projection matrix. 02564 DistortionModelParams distortion; //Distortion model Coefficients. 02565 InternalParameters internalParams; //The learned internal paramters of camera model such as focal length and optical center. 02566 } GetCameraParametersReport; 02567 02568 typedef struct CalibrationAxisInfo_struct { 02569 PointFloat center; //The origin of the reference coordinate system, expressed in pixel units. 02570 float rotationAngle; //The angle of the x-axis of the real-world coordinate system, in relation to the horizontal. 02571 AxisOrientation axisDirection; //Specifies the direction of the calibraiton axis which is either Direct or Indirect. 02572 } CalibrationAxisInfo; 02573 02574 typedef struct CalibrationLearnSetupInfo_struct { 02575 CalibrationMode2 calibrationMethod; //Type of calibration method used. 02576 DistortionModel distortionModel; //Type of learned distortion model. 02577 ScalingMethod scaleMode; //The aspect scaling to use when correcting an image. 02578 CalibrationROI roiMode; //The ROI to use when correcting an image. 02579 char learnCorrectionTable; //Set this input to true value if you want the correction table to be determined and stored. 02580 } CalibrationLearnSetupInfo; 02581 02582 typedef struct GridDescriptor_struct { 02583 float xStep; //The distance in the x direction between two adjacent pixels in units specified by unit. 02584 float yStep; //The distance in the y direction between two adjacent pixels in units specified by unit. 02585 CalibrationUnit unit; //The unit of measure for the image. 02586 } GridDescriptor; 02587 02588 typedef struct ErrorStatistics_struct { 02589 double mean; //Mean error statistics value. 02590 double maximum; //Maximum value of error. 02591 double standardDeviation; //The standard deviation error statistiscs value. 02592 double distortion; //The distortion error statistics value. 02593 } ErrorStatistics; 02594 02595 typedef struct GetCalibrationInfoReport_struct { 02596 ROI* userRoi; //Specifies the ROI the user provided when learning the calibration. 02597 ROI* calibrationRoi; //Specifies the ROI that corresponds to the region of the image where the calibration information is accurate. 02598 CalibrationAxisInfo axisInfo; //Reference Coordinate System for the real-world coordinates. 02599 CalibrationLearnSetupInfo learnSetupInfo; //Calibration learn setup information. 02600 GridDescriptor gridDescriptor; //Specifies scaling constants used to calibrate the image. 02601 float* errorMap; //The the error map of calibration template image. 02602 unsigned int errorMapRows; //Number of rows in error map. 02603 unsigned int errorMapCols; //Number of Columns in error map. 02604 ErrorStatistics errorStatistics; //Error statistics of the calibration. 02605 } GetCalibrationInfoReport; 02606 02607 typedef struct EdgePolarity_struct { 02608 EdgePolaritySearchMode start; 02609 EdgePolaritySearchMode end; 02610 } EdgePolarity; 02611 02612 typedef struct ClampSettings_struct { 02613 double angleRange; //Specifies the angle range. 02614 EdgePolarity edgePolarity; //Specifies the edge polarity. 02615 } ClampSettings; 02616 02617 typedef struct PointDouble_struct { 02618 double x; //The x-coordinate of the point. 02619 double y; //The y-coordinate of the point. 02620 } PointDouble; 02621 02622 typedef struct PointDoublePair_struct { 02623 PointDouble start; //The Start co-ordinate of the pair. 02624 PointDouble end; //The End co-ordinate of the pair. 02625 } PointDoublePair; 02626 02627 typedef struct ClampResults_struct { 02628 double distancePix; //Defines the Pixel world distance. 02629 double distanceRealWorld; //Defines the real world distance. 02630 double angleAbs; //Defines the absolute angle. 02631 double angleRelative; //Defines the relative angle. 02632 } ClampResults; 02633 02634 typedef struct ClampPoints_struct { 02635 PointDoublePair pixel; //Specifies the pixel world point pair for clamp. 02636 PointDoublePair realWorld; //Specifies the real world point pair for clamp. 02637 } ClampPoints; 02638 02639 typedef struct RGBValue_struct { 02640 unsigned char B; //The blue value of the color. 02641 unsigned char G; //The green value of the color. 02642 unsigned char R; //The red value of the color. 02643 unsigned char alpha; //The alpha value of the color, which represents extra information about a color image, such as gamma correction. 02644 } RGBValue; 02645 02646 typedef struct ClampOverlaySettings_struct { 02647 int showSearchArea; //If TRUE, the function overlays the search area on the image. 02648 int showCurves; //If TRUE, the function overlays the curves on the image. 02649 int showClampLocation; //If TRUE, the function overlays the clamp location on the image. 02650 int showResult; //If TRUE, the function overlays the hit lines to the object and the edge used to generate the hit line on the result image. 02651 RGBValue searchAreaColor; //Specifies the RGB color value to use to overlay the search area. 02652 RGBValue curvesColor; //Specifies the RGB color value to use to overlay the curves. 02653 RGBValue clampLocationsColor; //Specifies the RGB color value to use to overlay the clamp locations. 02654 RGBValue resultColor; //Specifies the RGB color value to use to overlay the results. 02655 char* overlayGroupName; //Specifies the group overlay name for the step overlays. 02656 } ClampOverlaySettings; 02657 02658 typedef struct ClampMax2Report_struct { 02659 ClampResults clampResults; //Specifies the Clamp results information returned by the function. 02660 ClampPoints clampPoints; //Specifies the clamp points information returned by the function. 02661 unsigned int calibrationValid; //Specifies if the calibration information is valid or not. 02662 } ClampMax2Report; 02663 02664 typedef struct ContourFitSplineReport_struct { 02665 PointDouble* points; //It returns the points of the best-fit B-spline curve. 02666 int numberOfPoints; //Number of Best fit points returned. 02667 } ContourFitSplineReport; 02668 02669 typedef struct LineFloat_struct { 02670 PointFloat start; //The coordinate location of the start of the line. 02671 PointFloat end; //The coordinate location of the end of the line. 02672 } LineFloat; 02673 02674 typedef struct LineEquation_struct { 02675 double a; //The a coefficient of the line equation. 02676 double b; //The b coefficient of the line equation. 02677 double c; //The c coefficient of the line equation. 02678 } LineEquation; 02679 02680 typedef struct ContourFitLineReport_struct { 02681 LineFloat lineSegment; //Line Segment represents the intersection of the line equation and the contour. 02682 LineEquation lineEquation; //Line Equation is a structure of three coefficients A, B, and C of the equation in the normal form (Ax + By + C=0) of the best fit line. 02683 } ContourFitLineReport; 02684 02685 typedef struct ContourFitPolynomialReport_struct { 02686 PointDouble* bestFit; //It returns the points of the best-fit polynomial. 02687 int numberOfPoints; //Number of Best fit points returned. 02688 double* polynomialCoefficients; //Polynomial Coefficients returns the coefficients of the polynomial equation. 02689 int numberOfCoefficients; //Number of Coefficients returned in the polynomial coefficients array. 02690 } ContourFitPolynomialReport; 02691 02692 typedef struct PartialCircle_struct { 02693 PointFloat center; //Center of the circle. 02694 double radius; //Radius of the circle. 02695 double startAngle; //Start angle of the fitted structure. 02696 double endAngle; //End angle of the fitted structure. 02697 } PartialCircle; 02698 02699 typedef struct PartialEllipse_struct { 02700 PointFloat center; //Center of the Ellipse. 02701 double angle; //Angle of the ellipse. 02702 double majorRadius; //The length of the semi-major axis of the ellipse. 02703 double minorRadius; //The length of the semi-minor axis of the ellipse. 02704 double startAngle; //Start angle of the fitted structure. 02705 double endAngle; //End angle of the fitted structure. 02706 } PartialEllipse; 02707 02708 typedef struct SetupMatchPatternData_struct { 02709 unsigned char* matchSetupData; //String containing the match setup data. 02710 int numMatchSetupData; //Number of match setup data. 02711 } SetupMatchPatternData; 02712 02713 typedef struct RangeSettingDouble_struct { 02714 SettingType settingType; //Match Constraints specifies the match option whose values you want to constrain by the given range. 02715 double min; //Min is the minimum value of the range for a given Match Constraint. 02716 double max; //Max is the maximum value of the range for a given Match Constraint. 02717 } RangeSettingDouble; 02718 02719 typedef struct GeometricAdvancedSetupDataOption_struct { 02720 GeometricSetupDataItem type; //It determines the option you want to use during the matching phase. 02721 double value; //Value is the value for the option you want to use during the matching phase. 02722 } GeometricAdvancedSetupDataOption; 02723 02724 typedef struct ContourInfoReport_struct { 02725 PointDouble* pointsPixel; //Points (pixel) specifies the location of every point detected on the curve, in pixels. 02726 unsigned int numPointsPixel; //Number of points pixel elements. 02727 PointDouble* pointsReal; //Points (real) specifies the location of every point detected on the curve, in calibrated units. 02728 unsigned int numPointsReal; //Number of points real elements. 02729 double* curvaturePixel; //Curvature Pixel displays the curvature profile for the selected contour, in pixels. 02730 unsigned int numCurvaturePixel; //Number of curvature pixels. 02731 double* curvatureReal; //Curvature Real displays the curvature profile for the selected contour, in calibrated units. 02732 unsigned int numCurvatureReal; //Number of curvature Real elements. 02733 double length; //Length (pixel) specifies the length, in pixels, of the curves in the image. 02734 double lengthReal; //Length (real) specifies the length, in calibrated units, of the curves within the curvature range. 02735 unsigned int hasEquation; //Has Equation specifies whether the contour has a fitted equation. 02736 } ContourInfoReport; 02737 02738 typedef struct ROILabel_struct { 02739 char* className; //Specifies the classname you want to segment. 02740 unsigned int label; //Label is the label number associated with the Class Name. 02741 } ROILabel; 02742 02743 typedef struct SupervisedColorSegmentationReport_struct { 02744 ROILabel* labelOut; //The Roi labels array. 02745 unsigned int numLabelOut; //The number of elements in labelOut array. 02746 } SupervisedColorSegmentationReport; 02747 02748 typedef struct LabelToROIReport_struct { 02749 ROI** roiArray; //Array of ROIs. 02750 unsigned int numOfROIs; //Number of ROIs in the roiArray. 02751 unsigned int* labelsOutArray; //Array of labels. 02752 unsigned int numOfLabels; //Number of labels. 02753 int* isTooManyVectorsArray; //isTooManyVectorsArray array. 02754 unsigned int isTooManyVectorsArraySize; //Number of elements in isTooManyVectorsArray. 02755 } LabelToROIReport; 02756 02757 typedef struct ColorSegmenationOptions_struct { 02758 unsigned int windowX; //X is the window size in x direction. 02759 unsigned int windowY; //Y is the window size in y direction. 02760 unsigned int stepSize; //Step Size is the distance between two windows. 02761 unsigned int minParticleArea; //Min Particle Area is the minimum number of allowed pixels. 02762 unsigned int maxParticleArea; //Max Particle Area is the maximum number of allowed pixels. 02763 short isFineSegment; //When enabled, the step processes the boundary pixels of each segmentation cluster using a step size of 1. 02764 } ColorSegmenationOptions; 02765 02766 typedef struct ClassifiedCurve_struct { 02767 double length; //Specifies the length, in pixels, of the curves within the curvature range. 02768 double lengthReal; //specifies the length, in calibrated units, of the curves within the curvature range. 02769 double maxCurvature; //specifies the maximum curvature, in pixels, for the selected curvature range. 02770 double maxCurvatureReal; //specifies the maximum curvature, in calibrated units, for the selected curvature range. 02771 unsigned int label; //specifies the class to which the the sample belongs. 02772 PointDouble* curvePoints; //Curve Points is a point-coordinate cluster that defines the points of the curve. 02773 unsigned int numCurvePoints; //Number of curve points. 02774 } ClassifiedCurve; 02775 02776 typedef struct RangeDouble_struct { 02777 double minValue; //The minimum value of the range. 02778 double maxValue; //The maximum value of the range. 02779 } RangeDouble; 02780 02781 typedef struct RangeLabel_struct { 02782 RangeDouble range; //Specifies the range of curvature values. 02783 unsigned int label; //Class Label specifies the class to which the the sample belongs. 02784 } RangeLabel; 02785 02786 typedef struct CurvatureAnalysisReport_struct { 02787 ClassifiedCurve* curves; 02788 unsigned int numCurves; 02789 } CurvatureAnalysisReport; 02790 02791 typedef struct Disparity_struct { 02792 PointDouble current; //Current is a array of points that defines the target contour. 02793 PointDouble reference; //reference is a array of points that defines the template contour. 02794 double distance; //Specifies the distance, in pixels, between the template contour point and the target contour point. 02795 } Disparity; 02796 02797 typedef struct ComputeDistancesReport_struct { 02798 Disparity* distances; //Distances is an array containing the computed distances. 02799 unsigned int numDistances; //Number elements in the distances array. 02800 Disparity* distancesReal; //Distances Real is an array containing the computed distances in calibrated units. 02801 unsigned int numDistancesReal; //Number of elements in real distances array. 02802 } ComputeDistancesReport; 02803 02804 typedef struct MatchMode_struct { 02805 unsigned int rotation; //Rotation When enabled, the Function searches for occurrences of the template in the inspection image, allowing for template matches to be rotated. 02806 unsigned int scale; //Rotation When enabled, the Function searches for occurrences of the template in the inspection image, allowing for template matches to be rotated. 02807 unsigned int occlusion; //Occlusion specifies whether or not to search for occluded versions of the shape. 02808 } MatchMode; 02809 02810 typedef struct ClassifiedDisparity_struct { 02811 double length; //Length (pixel) specifies the length, in pixels, of the curves within the curvature range. 02812 double lengthReal; //Length (real) specifies the length, in calibrated units, of the curves within the curvature range. 02813 double maxDistance; //Maximum Distance (pixel) specifies the maximum distance, in pixels, between points along the selected contour and the template contour. 02814 double maxDistanceReal; //Maximum Distance (real) specifies the maximum distance, in calibrated units, between points along the selected contour and the template contour. 02815 unsigned int label; //Class Label specifies the class to which the the sample belongs. 02816 PointDouble* templateSubsection; //Template subsection points is an array of points that defines the boundary of the template. 02817 unsigned int numTemplateSubsection; //Number of reference points. 02818 PointDouble* targetSubsection; //Current Points(Target subsection points) is an array of points that defines the boundary of the target. 02819 unsigned int numTargetSubsection; //Number of current points. 02820 } ClassifiedDisparity; 02821 02822 typedef struct ClassifyDistancesReport_struct { 02823 ClassifiedDisparity* classifiedDistances; //Disparity array containing the classified distances. 02824 unsigned int numClassifiedDistances; //Number of elements in the disparity array. 02825 } ClassifyDistancesReport; 02826 02827 typedef struct ContourComputeCurvatureReport_struct { 02828 double* curvaturePixel; //Curvature Pixel displays the curvature profile for the selected contour, in pixels. 02829 unsigned int numCurvaturePixel; //Number of curvature pixels. 02830 double* curvatureReal; //Curvature Real displays the curvature profile for the selected contour, in calibrated units. 02831 unsigned int numCurvatureReal; //Number of curvature Real elements. 02832 } ContourComputeCurvatureReport; 02833 02834 typedef struct ContourOverlaySettings_struct { 02835 unsigned int overlay; //Overlay specifies whether to display the overlay on the image. 02836 RGBValue color; //Color is the color of the overlay. 02837 unsigned int width; //Width specifies the width of the overlay in pixels. 02838 unsigned int maintainWidth; //Maintain Width? specifies whether you want the overlay measured in screen pixels or image pixels. 02839 } ContourOverlaySettings; 02840 02841 typedef struct CurveParameters_struct { 02842 ExtractionMode extractionMode; //Specifies the method the function uses to identify curves in the image. 02843 int threshold; //Specifies the minimum contrast a seed point must have in order to begin a curve. 02844 EdgeFilterSize filterSize; //Specifies the width of the edge filter the function uses to identify curves in the image. 02845 int minLength; //Specifies the length, in pixels, of the smallest curve the function will extract. 02846 int searchStep; //Search Step Size specifies the distance, in the y direction, between the image rows that the algorithm inspects for curve seed points. 02847 int maxEndPointGap; //Specifies the maximum gap, in pixels, between the endpoints of a curve that the function identifies as a closed curve. 02848 int subpixel; //Subpixel specifies whether to detect curve points with subpixel accuracy. 02849 } CurveParameters; 02850 02851 typedef struct ExtractContourReport_struct { 02852 PointDouble* contourPoints; //Contour Points specifies every point found on the contour. 02853 int numContourPoints; //Number of contour points. 02854 PointDouble* sourcePoints; //Source Image Points specifies every point found on the contour in the source image. 02855 int numSourcePoints; //Number of source points. 02856 } ExtractContourReport; 02857 02858 typedef struct ConnectionConstraint_struct { 02859 ConnectionConstraintType constraintType; //Constraint Type specifies what criteria to use to consider two curves part of a contour. 02860 RangeDouble range; //Specifies range for a given Match Constraint. 02861 } ConnectionConstraint; 02862 02863 typedef struct ExtractTextureFeaturesReport_struct { 02864 int* waveletBands; //The array having all the Wavelet Banks used for extraction. 02865 int numWaveletBands; //Number of wavelet banks in the Array. 02866 double** textureFeatures; //2-D array to store all the Texture features extracted. 02867 int textureFeaturesRows; //Number of Rows in the Texture Features array. 02868 int textureFeaturesCols; //Number of Cols in Texture Features array. 02869 } ExtractTextureFeaturesReport; 02870 02871 typedef struct WaveletBandsReport_struct { 02872 float** LLBand; //2-D array for LL Band. 02873 float** LHBand; //2-D array for LH Band. 02874 float** HLBand; //2-D array for HL Band. 02875 float** HHBand; //2-D array for HH Band. 02876 float** LLLBand; //2-D array for LLL Band. 02877 float** LLHBand; //2-D array for LLH Band. 02878 float LHLBand; //2-D array for LHL Band. 02879 float** LHHBand; //2-D array for LHH Band. 02880 int rows; //Number of Rows for each of the 2-D arrays. 02881 int cols; //Number of Columns for each of the 2-D arrays. 02882 } WaveletBandsReport; 02883 02884 typedef struct CircleFitOptions_struct { 02885 int maxRadius; //Specifies the acceptable distance, in pixels, that a point determined to belong to the circle can be from the perimeter of the circle. 02886 double stepSize; //Step Size is the angle, in degrees, between each radial line in the annular region. 02887 RakeProcessType processType; //Method used to process the data extracted for edge detection. 02888 } CircleFitOptions; 02889 02890 typedef struct EdgeOptions2_struct { 02891 EdgePolaritySearchMode polarity; //Specifies the polarity of the edges to be found. 02892 unsigned int kernelSize; //Specifies the size of the edge detection kernel. 02893 unsigned int width; //Specifies the number of pixels averaged perpendicular to the search direction to compute the edge profile strength at each point along the search ROI. 02894 float minThreshold; //Specifies the minimum edge strength (gradient magnitude) required for a detected edge. 02895 InterpolationMethod interpolationType; //Specifies the interpolation method used to locate the edge position. 02896 ColumnProcessingMode columnProcessingMode; //Specifies the method used to find the straight edge. 02897 } EdgeOptions2; 02898 02899 typedef struct FindCircularEdgeOptions_struct { 02900 SpokeDirection direction; //Specifies the Spoke direction to search in the ROI. 02901 int showSearchArea; //If TRUE, the function overlays the search area on the image. 02902 int showSearchLines; //If TRUE, the function overlays the search lines used to locate the edges on the image. 02903 int showEdgesFound; //If TRUE, the function overlays the locations of the edges found on the image. 02904 int showResult; //If TRUE, the function overlays the hit lines to the object and the edge used to generate the hit line on the result image. 02905 RGBValue searchAreaColor; //Specifies the RGB color value to use to overlay the search area. 02906 RGBValue searchLinesColor; //Specifies the RGB color value to use to overlay the search lines. 02907 RGBValue searchEdgesColor; //Specifies the RGB color value to use to overlay the search edges. 02908 RGBValue resultColor; //Specifies the RGB color value to use to overlay the results. 02909 char* overlayGroupName; //Specifies the overlay group name to assign to the overlays. 02910 EdgeOptions2 edgeOptions; //Specifies the edge detection options along a single search line. 02911 } FindCircularEdgeOptions; 02912 02913 typedef struct FindConcentricEdgeOptions_struct { 02914 ConcentricRakeDirection direction; //Specifies the Concentric Rake direction. 02915 int showSearchArea; //If TRUE, the function overlays the search area on the image. 02916 int showSearchLines; //If TRUE, the function overlays the search lines used to locate the edges on the image. 02917 int showEdgesFound; //If TRUE, the function overlays the locations of the edges found on the image. 02918 int showResult; //If TRUE, the function overlays the hit lines to the object and the edge used to generate the hit line on the result image. 02919 RGBValue searchAreaColor; //Specifies the RGB color value to use to overlay the search area. 02920 RGBValue searchLinesColor; //Specifies the RGB color value to use to overlay the search lines. 02921 RGBValue searchEdgesColor; //Specifies the RGB color value to use to overlay the search edges. 02922 RGBValue resultColor; //Specifies the RGB color value to use to overlay the results. 02923 char* overlayGroupName; //Specifies the overlay group name to assign to the overlays. 02924 EdgeOptions2 edgeOptions; //Specifies the edge detection options along a single search line. 02925 } FindConcentricEdgeOptions; 02926 02927 typedef struct ConcentricEdgeFitOptions_struct { 02928 int maxRadius; //Specifies the acceptable distance, in pixels, that a point determined to belong to the circle can be from the perimeter of the circle. 02929 double stepSize; //The sampling factor that determines the gap between the rake lines. 02930 RakeProcessType processType; //Method used to process the data extracted for edge detection. 02931 } ConcentricEdgeFitOptions; 02932 02933 typedef struct FindConcentricEdgeReport_struct { 02934 PointFloat startPt; //Pixel Coordinates for starting point of the edge. 02935 PointFloat endPt; //Pixel Coordinates for end point of the edge. 02936 PointFloat startPtCalibrated; //Real world Coordinates for starting point of the edge. 02937 PointFloat endPtCalibrated; //Real world Coordinates for end point of the edge. 02938 double angle; //Angle of the edge found. 02939 double angleCalibrated; //Calibrated angle of the edge found. 02940 double straightness; //The straightness value of the detected straight edge. 02941 double avgStrength; //Average strength of the egde found. 02942 double avgSNR; //Average SNR(Signal to Noise Ratio) for the edge found. 02943 int lineFound; //If the edge is found or not. 02944 } FindConcentricEdgeReport; 02945 02946 typedef struct FindCircularEdgeReport_struct { 02947 PointFloat centerCalibrated; //Real world Coordinates of the Center. 02948 double radiusCalibrated; //Real world radius of the Circular Edge found. 02949 PointFloat center; //Pixel Coordinates of the Center. 02950 double radius; //Radius in pixels of the Circular Edge found. 02951 double roundness; //The roundness of the calculated circular edge. 02952 double avgStrength; //Average strength of the egde found. 02953 double avgSNR; //Average SNR(Signal to Noise Ratio) for the edge found. 02954 int circleFound; //If the circlular edge is found or not. 02955 } FindCircularEdgeReport; 02956 02957 typedef struct WindowSize_struct { 02958 int x; //Window lenght on X direction. 02959 int y; //Window lenght on Y direction. 02960 int stepSize; //Distance between windows. 02961 } WindowSize; 02962 02963 typedef struct DisplacementVector_struct { 02964 int x; //length on X direction. 02965 int y; //length on Y direction. 02966 } DisplacementVector; 02967 02968 typedef struct WaveletOptions_struct { 02969 WaveletType typeOfWavelet; //Type of wavelet(db, bior. 02970 float minEnergy; //Minimum Energy in the bands to consider for texture defect detection. 02971 } WaveletOptions; 02972 02973 typedef struct CooccurrenceOptions_struct { 02974 int level; //Level/size of matrix. 02975 DisplacementVector displacement; //Displacemnet between pixels to accumulate the matrix. 02976 } CooccurrenceOptions; 02977 02978 typedef struct ParticleClassifierLocalThresholdOptions_struct { 02979 LocalThresholdMethod method; //Specifies the local thresholding method the function uses. 02980 ParticleType particleType; //Specifies what kind of particles to look for. 02981 unsigned int windowWidth; //The width of the rectangular window around the pixel on which the function performs the local threshold. 02982 unsigned int windowHeight; //The height of the rectangular window around the pixel on which the function performs the local threshold. 02983 double deviationWeight; //Specifies the k constant used in the Niblack local thresholding algorithm, which determines the weight applied to the variance calculation. 02984 } ParticleClassifierLocalThresholdOptions; 02985 02986 typedef struct RangeFloat_struct { 02987 float minValue; //The minimum value of the range. 02988 float maxValue; //The maximum value of the range. 02989 } RangeFloat; 02990 02991 typedef struct ParticleClassifierAutoThresholdOptions_struct { 02992 ThresholdMethod method; //The method for binary thresholding, which specifies how to calculate the classes. 02993 ParticleType particleType; //Specifies what kind of particles to look for. 02994 RangeFloat limits; //The limits on the automatic threshold range. 02995 } ParticleClassifierAutoThresholdOptions; 02996 02997 typedef struct ParticleClassifierPreprocessingOptions2_struct { 02998 ParticleClassifierThresholdType thresholdType; //The type of threshold to perform on the image. 02999 RangeFloat manualThresholdRange; //The range of pixels to keep if manually thresholding the image. 03000 ParticleClassifierAutoThresholdOptions autoThresholdOptions; //The options used to auto threshold the image. 03001 ParticleClassifierLocalThresholdOptions localThresholdOptions; //The options used to local threshold the image. 03002 int rejectBorder; //Set this element to TRUE to reject border particles. 03003 int numErosions; //The number of erosions to perform. 03004 } ParticleClassifierPreprocessingOptions2; 03005 03006 typedef struct MeasureParticlesReport_struct { 03007 double** pixelMeasurements; //The measurements on the particles in the image, in pixel coordinates. 03008 double** calibratedMeasurements; //The measurements on the particles in the image, in real-world coordinates. 03009 size_t numParticles; //The number of particles on which measurements were taken. 03010 size_t numMeasurements; //The number of measurements taken. 03011 } MeasureParticlesReport; 03012 03013 typedef struct GeometricPatternMatch3_struct { 03014 PointFloat position; //The location of the origin of the template in the match. 03015 float rotation; //The rotation of the match relative to the template image, in degrees. 03016 float scale; //The size of the match relative to the size of the template image, expressed as a percentage. 03017 float score; //The accuracy of the match. 03018 PointFloat corner[4]; //An array of four points describing the rectangle surrounding the template image. 03019 int inverse; //This element is TRUE if the match is an inverse of the template image. 03020 float occlusion; //The percentage of the match that is occluded. 03021 float templateMatchCurveScore; //The accuracy of the match obtained by comparing the template curves to the curves in the match region. 03022 float matchTemplateCurveScore; //The accuracy of the match obtained by comparing the curves in the match region to the template curves. 03023 float correlationScore; //The accuracy of the match obtained by comparing the template image to the match region using a correlation metric that compares the two regions as a function of their pixel values. 03024 PointFloat calibratedPosition; //The location of the origin of the template in the match. 03025 float calibratedRotation; //The rotation of the match relative to the template image, in degrees. 03026 PointFloat calibratedCorner[4]; //An array of four points describing the rectangle surrounding the template image. 03027 } GeometricPatternMatch3; 03028 03029 typedef struct MatchGeometricPatternAdvancedOptions3_struct { 03030 unsigned int subpixelIterations; //Specifies the maximum number of incremental improvements used to refine matches with subpixel information. 03031 double subpixelTolerance; //Specifies the maximum amount of change, in pixels, between consecutive incremental improvements in the match position before the function stops refining the match position. 03032 unsigned int initialMatchListLength; //Specifies the maximum size of the match list. 03033 int targetTemplateCurveScore; //Set this element to TRUE to specify that the function should calculate the match curve to template curve score and return it for each match result. 03034 int correlationScore; //Set this element to TRUE to specify that the function should calculate the correlation score and return it for each match result. 03035 double minMatchSeparationDistance; //Specifies the minimum separation distance, in pixels, between the origins of two matches that have unique positions. 03036 double minMatchSeparationAngle; //Specifies the minimum angular difference, in degrees, between two matches that have unique angles. 03037 double minMatchSeparationScale; //Specifies the minimum difference in scale, expressed as a percentage, between two matches that have unique scales. 03038 double maxMatchOverlap; //Specifies the maximum amount of overlap, expressed as a percentage, allowed between the bounding rectangles of two unique matches. 03039 int coarseResult; //Specifies whether you want the function to spend less time accurately estimating the location of a match. 03040 int enableCalibrationSupport; //Set this element to TRUE to specify the algorithm treat the inspection image as a calibrated image. 03041 ContrastMode enableContrastReversal; //Use this element to specify the contrast of the matches to search for in the image. 03042 GeometricMatchingSearchStrategy matchStrategy; //Specifies the aggressiveness of the search strategy. 03043 unsigned int refineMatchFactor; //Specifies the factor that is applied to the number of matches requested by the user to determine the number of matches that are refined at the initial matching stage. 03044 unsigned int subpixelMatchFactor; //Specifies the factor that is applied to the number of matches requested by the user to determine the number of matches that are evaluated at the final subpixel matching stage. 03045 } MatchGeometricPatternAdvancedOptions3; 03046 03047 typedef struct ColorOptions_struct { 03048 ColorClassificationResolution colorClassificationResolution; //Specifies the color resolution of the classifier. 03049 unsigned int useLuminance; //Specifies if the luminance band is going to be used in the feature vector. 03050 ColorMode colorMode; //Specifies the color mode of the classifier. 03051 } ColorOptions; 03052 03053 typedef struct SampleScore_struct { 03054 char* className; //The name of the class. 03055 float distance; //The distance from the item to this class. 03056 unsigned int index; //index of this sample. 03057 } SampleScore; 03058 03059 typedef struct ClassifierReportAdvanced_struct { 03060 char* bestClassName; //The name of the best class for the sample. 03061 float classificationScore; //The similarity of the sample and the two closest classes in the classifier. 03062 float identificationScore; //The similarity of the sample and the assigned class. 03063 ClassScore* allScores; //All classes and their scores. 03064 int allScoresSize; //The number of entries in allScores. 03065 SampleScore* sampleScores; //All samples and their scores. 03066 int sampleScoresSize; //The number of entries in sampleScores. 03067 } ClassifierReportAdvanced; 03068 03069 typedef struct LearnGeometricPatternAdvancedOptions2_struct { 03070 double minScaleFactor; //Specifies the minimum scale factor that the template is learned for. 03071 double maxScaleFactor; //Specifies the maximum scale factor the template is learned for. 03072 double minRotationAngleValue; //Specifies the minimum rotation angle the template is learned for. 03073 double maxRotationAngleValue; //Specifies the maximum rotation angle the template is learned for. 03074 unsigned int imageSamplingFactor; //Specifies the factor that is used to subsample the template and the image for the initial matching phase. 03075 } LearnGeometricPatternAdvancedOptions2; 03076 03077 typedef struct ParticleFilterOptions2_struct { 03078 int rejectMatches; //Set this parameter to TRUE to transfer only those particles that do not meet all the criteria. 03079 int rejectBorder; //Set this element to TRUE to reject border particles. 03080 int fillHoles; //Set this element to TRUE to fill holes in particles. 03081 int connectivity8; //Set this parameter to TRUE to use connectivity-8 to determine whether particles are touching. 03082 } ParticleFilterOptions2; 03083 03084 typedef struct FindEdgeOptions2_struct { 03085 RakeDirection direction; //The direction to search in the ROI. 03086 int showSearchArea; //If TRUE, the function overlays the search area on the image. 03087 int showSearchLines; //If TRUE, the function overlays the search lines used to locate the edges on the image. 03088 int showEdgesFound; //If TRUE, the function overlays the locations of the edges found on the image. 03089 int showResult; //If TRUE, the function overlays the hit lines to the object and the edge used to generate the hit line on the result image. 03090 RGBValue searchAreaColor; //Specifies the RGB color value to use to overlay the search area. 03091 RGBValue searchLinesColor; //Specifies the RGB color value to use to overlay the search lines. 03092 RGBValue searchEdgesColor; //Specifies the RGB color value to use to overlay the search edges. 03093 RGBValue resultColor; //Specifies the RGB color value to use to overlay the results. 03094 char* overlayGroupName; //Specifies the overlay group name to assign to the overlays. 03095 EdgeOptions2 edgeOptions; //Specifies the edge detection options along a single search line. 03096 } FindEdgeOptions2; 03097 03098 typedef struct FindEdgeReport_struct { 03099 StraightEdge* straightEdges; //An array of straight edges detected. 03100 unsigned int numStraightEdges; //Indicates the number of straight edges found. 03101 } FindEdgeReport; 03102 03103 typedef struct FindTransformRectOptions2_struct { 03104 FindReferenceDirection direction; //Specifies the direction and orientation in which the function searches for the primary axis. 03105 int showSearchArea; //If TRUE, the function overlays the search area on the image. 03106 int showSearchLines; //If TRUE, the function overlays the search lines used to locate the edges on the image. 03107 int showEdgesFound; //If TRUE, the function overlays the locations of the edges found on the image. 03108 int showResult; //If TRUE, the function overlays the hit lines to the object and the edge used to generate the hit line on the result image. 03109 RGBValue searchAreaColor; //Specifies the RGB color value to use to overlay the search area. 03110 RGBValue searchLinesColor; //Specifies the RGB color value to use to overlay the search lines. 03111 RGBValue searchEdgesColor; //Specifies the RGB color value to use to overlay the search edges. 03112 RGBValue resultColor; //Specifies the RGB color value to use to overlay the results. 03113 char* overlayGroupName; //Specifies the overlay group name to assign to the overlays. 03114 EdgeOptions2 edgeOptions; //Specifies the edge detection options along a single search line. 03115 } FindTransformRectOptions2; 03116 03117 typedef struct FindTransformRectsOptions2_struct { 03118 FindReferenceDirection direction; //Specifies the direction and orientation in which the function searches for the primary axis. 03119 int showSearchArea; //If TRUE, the function overlays the search area on the image. 03120 int showSearchLines; //If TRUE, the function overlays the search lines used to locate the edges on the image. 03121 int showEdgesFound; //If TRUE, the function overlays the locations of the edges found on the image. 03122 int showResult; //If TRUE, the function overlays the hit lines to the object and the edge used to generate the hit line on the result image. 03123 RGBValue searchAreaColor; //Specifies the RGB color value to use to overlay the search area. 03124 RGBValue searchLinesColor; //Specifies the RGB color value to use to overlay the search lines. 03125 RGBValue searchEdgesColor; //Specifies the RGB color value to use to overlay the search edges. 03126 RGBValue resultColor; //Specifies the RGB color value to use to overlay the results. 03127 char* overlayGroupName; //Specifies the overlay group name to assign to the overlays. 03128 EdgeOptions2 primaryEdgeOptions; //Specifies the parameters used to compute the edge gradient information and detect the edges for the primary ROI. 03129 EdgeOptions2 secondaryEdgeOptions; //Specifies the parameters used to compute the edge gradient information and detect the edges for the secondary ROI. 03130 } FindTransformRectsOptions2; 03131 03132 typedef struct ReadTextReport3_struct { 03133 const char* readString; //The read string. 03134 CharReport3* characterReport; //An array of reports describing the properties of each identified character. 03135 int numCharacterReports; //The number of identified characters. 03136 ROI* roiBoundingCharacters; //An array specifying the coordinates of the character bounding ROI. 03137 } ReadTextReport3; 03138 03139 typedef struct CharacterStatistics_struct { 03140 int left; //The left offset of the character bounding rectangles in the current ROI. 03141 int top; //The top offset of the character bounding rectangles in the current ROI. 03142 int width; //The width of each of the characters you trained in the current ROI. 03143 int height; //The height of each trained character in the current ROI. 03144 int characterSize; //The size of the character in pixels. 03145 } CharacterStatistics; 03146 03147 typedef struct CharReport3_struct { 03148 const char* character; //The character value. 03149 int classificationScore; //The degree to which the assigned character class represents the object better than the other character classes in the character set. 03150 int verificationScore; //The similarity of the character and the reference character for the character class. 03151 int verified; //This element is TRUE if a reference character was found for the character class and FALSE if a reference character was not found. 03152 int lowThreshold; //The minimum value of the threshold range used for this character. 03153 int highThreshold; //The maximum value of the threshold range used for this character. 03154 CharacterStatistics characterStats; //Describes the characters segmented in the ROI. 03155 } CharReport3; 03156 03157 typedef struct ArcInfo2_struct { 03158 PointFloat center; //The center point of the arc. 03159 double radius; //The radius of the arc. 03160 double startAngle; //The starting angle of the arc, specified counter-clockwise from the x-axis. 03161 double endAngle; //The ending angle of the arc, specified counter-clockwise from the x-axis. 03162 } ArcInfo2; 03163 03164 typedef struct EdgeReport2_struct { 03165 EdgeInfo* edges; //An array of edges detected. 03166 unsigned int numEdges; //Indicates the number of edges detected. 03167 double* gradientInfo; //An array that contains the calculated edge strengths along the user-defined search area. 03168 unsigned int numGradientInfo; //Indicates the number of elements contained in gradientInfo. 03169 int calibrationValid; //Indicates if the calibration data corresponding to the location of the edges is correct. 03170 } EdgeReport2; 03171 03172 typedef struct SearchArcInfo_struct { 03173 ArcInfo2 arcCoordinates; //Describes the arc used for edge detection. 03174 EdgeReport2 edgeReport; //Describes the edges found in this search line. 03175 } SearchArcInfo; 03176 03177 typedef struct ConcentricRakeReport2_struct { 03178 EdgeInfo* firstEdges; //The first edge point detected along each search line in the ROI. 03179 unsigned int numFirstEdges; //The number of points in the firstEdges array. 03180 EdgeInfo* lastEdges; //The last edge point detected along each search line in the ROI. 03181 unsigned int numLastEdges; //The number of points in the lastEdges array. 03182 SearchArcInfo* searchArcs; //Contains the arcs used for edge detection and the edge information for each arc. 03183 unsigned int numSearchArcs; //The number of arcs in the searchArcs array. 03184 } ConcentricRakeReport2; 03185 03186 typedef struct SpokeReport2_struct { 03187 EdgeInfo* firstEdges; //The first edge point detected along each search line in the ROI. 03188 unsigned int numFirstEdges; //The number of points in the firstEdges array. 03189 EdgeInfo* lastEdges; //The last edge point detected along each search line in the ROI. 03190 unsigned int numLastEdges; //The number of points in the lastEdges array. 03191 SearchLineInfo* searchLines; //The search lines used for edge detection. 03192 unsigned int numSearchLines; //The number of search lines used in the edge detection. 03193 } SpokeReport2; 03194 03195 typedef struct EdgeInfo_struct { 03196 PointFloat position; //The location of the edge in the image. 03197 PointFloat calibratedPosition; //The position of the edge in the image in real-world coordinates. 03198 double distance; //The location of the edge from the first point along the boundary of the input ROI. 03199 double calibratedDistance; //The location of the edge from the first point along the boundary of the input ROI in real-world coordinates. 03200 double magnitude; //The intensity contrast at the edge. 03201 double noisePeak; //The strength of the noise associated with the current edge. 03202 int rising; //Indicates the polarity of the edge. 03203 } EdgeInfo; 03204 03205 typedef struct SearchLineInfo_struct { 03206 LineFloat lineCoordinates; //The endpoints of the search line. 03207 EdgeReport2 edgeReport; //Describes the edges found in this search line. 03208 } SearchLineInfo; 03209 03210 typedef struct RakeReport2_struct { 03211 EdgeInfo* firstEdges; //The first edge point detected along each search line in the ROI. 03212 unsigned int numFirstEdges; //The number of points in the firstEdges array. 03213 EdgeInfo* lastEdges; //The last edge point detected along each search line in the ROI. 03214 unsigned int numLastEdges; //The number of points in the lastEdges array. 03215 SearchLineInfo* searchLines; //The search lines used for edge detection. 03216 unsigned int numSearchLines; //The number of search lines used in the edge detection. 03217 } RakeReport2; 03218 03219 typedef struct TransformBehaviors_struct { 03220 GroupBehavior ShiftBehavior; //Specifies the behavior of an overlay group when a shift operation is applied to an image. 03221 GroupBehavior ScaleBehavior; //Specifies the behavior of an overlay group when a scale operation is applied to an image. 03222 GroupBehavior RotateBehavior; //Specifies the behavior of an overlay group when a rotate operation is applied to an image. 03223 GroupBehavior SymmetryBehavior; //Specifies the behavior of an overlay group when a symmetry operation is applied to an image. 03224 } TransformBehaviors; 03225 03226 typedef struct QRCodeDataToken_struct { 03227 QRStreamMode mode; //Specifies the stream mode or the format of the data that is encoded in the QR code. 03228 unsigned int modeData; //Indicates specifiers used by the user to postprocess the data if it requires it. 03229 unsigned char* data; //Shows the encoded data in the QR code. 03230 unsigned int dataLength; //Specifies the length of the data found in the QR code. 03231 } QRCodeDataToken; 03232 03233 typedef struct ParticleFilterOptions_struct { 03234 int rejectMatches; //Set this parameter to TRUE to transfer only those particles that do not meet all the criteria. 03235 int rejectBorder; //Set this element to TRUE to reject border particles. 03236 int connectivity8; //Set this parameter to TRUE to use connectivity-8 to determine whether particles are touching. 03237 } ParticleFilterOptions; 03238 03239 typedef struct StraightEdgeReport2_struct { 03240 StraightEdge* straightEdges; //Contains an array of found straight edges. 03241 unsigned int numStraightEdges; //Indicates the number of straight edges found. 03242 SearchLineInfo* searchLines; //Contains an array of all search lines used in the detection. 03243 unsigned int numSearchLines; //The number of search lines used in the edge detection. 03244 } StraightEdgeReport2; 03245 03246 typedef struct StraightEdgeOptions_struct { 03247 unsigned int numLines; //Specifies the number of straight edges to find. 03248 StraightEdgeSearchMode searchMode; //Specifies the method used to find the straight edge. 03249 double minScore; //Specifies the minimum score of a detected straight edge. 03250 double maxScore; //Specifies the maximum score of a detected edge. 03251 double orientation; //Specifies the angle at which the straight edge is expected to be found. 03252 double angleRange; //Specifies the +/- range around the orientation within which the straight edge is expected to be found. 03253 double angleTolerance; //Specifies the expected angular accuracy of the straight edge. 03254 unsigned int stepSize; //Specifies the gap in pixels between the search lines used with the rake-based methods. 03255 double minSignalToNoiseRatio; //Specifies the minimum signal to noise ratio (SNR) of the edge points used to fit the straight edge. 03256 double minCoverage; //Specifies the minimum number of points as a percentage of the number of search lines that need to be included in the detected straight edge. 03257 unsigned int houghIterations; //Specifies the number of iterations used in the Hough-based method. 03258 } StraightEdgeOptions; 03259 03260 typedef struct StraightEdge_struct { 03261 LineFloat straightEdgeCoordinates; //End points of the detected straight edge in pixel coordinates. 03262 LineFloat calibratedStraightEdgeCoordinates; //End points of the detected straight edge in real-world coordinates. 03263 double angle; //Angle of the found edge using the pixel coordinates. 03264 double calibratedAngle; //Angle of the found edge using the real-world coordinates. 03265 double score; //Describes the score of the detected edge. 03266 double straightness; //The straightness value of the detected straight edge. 03267 double averageSignalToNoiseRatio; //Describes the average signal to noise ratio (SNR) of the detected edge. 03268 int calibrationValid; //Indicates if the calibration data for the straight edge is valid. 03269 EdgeInfo* usedEdges; //An array of edges that were used to determine this straight line. 03270 unsigned int numUsedEdges; //Indicates the number of edges in the usedEdges array. 03271 } StraightEdge; 03272 03273 typedef struct QRCodeSearchOptions_struct { 03274 QRRotationMode rotationMode; //Specifies the amount of QR code rotation the function should allow for. 03275 unsigned int skipLocation; //If set to TRUE, specifies that the function should assume that the QR code occupies the entire image (or the entire search region). 03276 unsigned int edgeThreshold; //The strength of the weakest edge the function uses to find the coarse location of the QR code in the image. 03277 QRDemodulationMode demodulationMode; //The demodulation mode the function uses to locate the QR code. 03278 QRCellSampleSize cellSampleSize; //The cell sample size the function uses to locate the QR code. 03279 QRCellFilterMode cellFilterMode; //The cell filter mode the function uses to locate the QR code. 03280 unsigned int skewDegreesAllowed; //Specifies the amount of skew in the QR code the function should allow for. 03281 } QRCodeSearchOptions; 03282 03283 typedef struct QRCodeSizeOptions_struct { 03284 unsigned int minSize; //Specifies the minimum size (in pixels) of the QR code in the image. 03285 unsigned int maxSize; //Specifies the maximum size (in pixels) of the QR code in the image. 03286 } QRCodeSizeOptions; 03287 03288 typedef struct QRCodeDescriptionOptions_struct { 03289 QRDimensions dimensions; //The number of rows and columns that are populated for the QR code, measured in cells. 03290 QRPolarities polarity; //The polarity of the QR code. 03291 QRMirrorMode mirror; //This element is TRUE if the QR code appears mirrored in the image and FALSE if the QR code appears normally in the image. 03292 QRModelType modelType; //This option allows you to specify the type of QR code. 03293 } QRCodeDescriptionOptions; 03294 03295 typedef struct QRCodeReport_struct { 03296 unsigned int found; //This element is TRUE if the function located and decoded a QR code and FALSE if the function failed to locate and decode a QR code. 03297 unsigned char* data; //The data encoded in the QR code. 03298 unsigned int dataLength; //The length of the data array. 03299 PointFloat boundingBox[4]; //An array of four points describing the rectangle surrounding the QR code. 03300 QRCodeDataToken* tokenizedData; //Contains the data tokenized in exactly the way it was encoded in the code. 03301 unsigned int sizeOfTokenizedData; //Size of the tokenized data. 03302 unsigned int numErrorsCorrected; //The number of errors the function corrected when decoding the QR code. 03303 unsigned int dimensions; //The number of rows and columns that are populated for the QR code, measured in cells. 03304 unsigned int version; //The version of the QR code. 03305 QRModelType modelType; //This option allows you to specify what type of QR code this is. 03306 QRStreamMode streamMode; //The format of the data encoded in the stream. 03307 QRPolarities matrixPolarity; //The polarity of the QR code. 03308 unsigned int mirrored; //This element is TRUE if the QR code appears mirrored in the image and FALSE if the QR code appears normally in the image. 03309 unsigned int positionInAppendStream; //Indicates what position the QR code is in with respect to the stream of data in all codes. 03310 unsigned int sizeOfAppendStream; //Specifies how many QR codes are part of a larger array of codes. 03311 int firstEAN128ApplicationID; //The first EAN-128 Application ID encountered in the stream. 03312 int firstECIDesignator; //The first Regional Language Designator encountered in the stream. 03313 unsigned int appendStreamIdentifier; //Specifies what stream the QR code is in relation to when the code is part of a larger array of codes. 03314 unsigned int minimumEdgeStrength; //The strength of the weakest edge the function used to find the coarse location of the QR code in the image. 03315 QRDemodulationMode demodulationMode; //The demodulation mode the function used to locate the QR code. 03316 QRCellSampleSize cellSampleSize; //The cell sample size the function used to locate the QR code. 03317 QRCellFilterMode cellFilterMode; //The cell filter mode the function used to locate the QR code. 03318 } QRCodeReport; 03319 03320 typedef struct AIMGradeReport_struct { 03321 AIMGrade overallGrade; //The overall letter grade, which is equal to the lowest of the other five letter grades. 03322 AIMGrade decodingGrade; //The letter grade assigned to a Data Matrix barcode based on the success of the function in decoding the Data Matrix barcode. 03323 AIMGrade symbolContrastGrade; //The letter grade assigned to a Data Matrix barcode based on the symbol contrast raw score. 03324 float symbolContrast; //The symbol contrast raw score representing the percentage difference between the mean of the reflectance of the darkest 10 percent and lightest 10 percent of the Data Matrix barcode. 03325 AIMGrade printGrowthGrade; //The print growth letter grade for the Data Matrix barcode. 03326 float printGrowth; //The print growth raw score for the barcode, which is based on the extent to which dark or light markings appropriately fill their module boundaries. 03327 AIMGrade axialNonuniformityGrade; //The axial nonuniformity grade for the Data Matrix barcode. 03328 float axialNonuniformity; //The axial nonuniformity raw score for the barcode, which is based on how much the sampling point spacing differs from one axis to another. 03329 AIMGrade unusedErrorCorrectionGrade; //The unused error correction letter grade for the Data Matrix barcode. 03330 float unusedErrorCorrection; //The unused error correction raw score for the Data Matrix barcode, which is based on the extent to which regional or spot damage in the Data Matrix barcode has eroded the reading safety margin provided by the error correction. 03331 } AIMGradeReport; 03332 03333 typedef struct DataMatrixSizeOptions_struct { 03334 unsigned int minSize; //Specifies the minimum size (in pixels) of the Data Matrix barcode in the image. 03335 unsigned int maxSize; //Specifies the maximum size (in pixels) of the Data Matrix barcode in the image. 03336 unsigned int quietZoneWidth; //Specifies the expected minimum size of the quiet zone, in pixels. 03337 } DataMatrixSizeOptions; 03338 03339 typedef struct DataMatrixDescriptionOptions_struct { 03340 float aspectRatio; //Specifies the ratio of the width of each Data Matrix barcode cell (in pixels) to the height of the Data Matrix barcode (in pixels). 03341 unsigned int rows; //Specifies the number of rows in the Data Matrix barcode. 03342 unsigned int columns; //Specifies the number of columns in the Data Matrix barcode. 03343 int rectangle; //Set this element to TRUE to specify that the Data Matrix barcode is rectangular. 03344 DataMatrixECC ecc; //Specifies the ECC used for this Data Matrix barcode. 03345 DataMatrixPolarity polarity; //Specifies the data-to-background contrast for the Data Matrix barcode. 03346 DataMatrixCellFillMode cellFill; //Specifies the fill percentage for a cell of the Data Matrix barcode that is in the "ON" state. 03347 float minBorderIntegrity; //Specifies the minimum percentage of the border (locator pattern and timing pattern) the function should expect in the Data Matrix barcode. 03348 DataMatrixMirrorMode mirrorMode; //Specifies if the Data Matrix barcode appears normally in the image or if the barcode appears mirrored in the image. 03349 } DataMatrixDescriptionOptions; 03350 03351 typedef struct DataMatrixSearchOptions_struct { 03352 DataMatrixRotationMode rotationMode; //Specifies the amount of Data Matrix barcode rotation the function should allow for. 03353 int skipLocation; //If set to TRUE, specifies that the function should assume that the Data Matrix barcode occupies the entire image (or the entire search region). 03354 unsigned int edgeThreshold; //Specifies the minimum contrast a pixel must have in order to be considered part of a matrix cell edge. 03355 DataMatrixDemodulationMode demodulationMode; //Specifies the mode the function should use to demodulate (determine which cells are on and which cells are off) the Data Matrix barcode. 03356 DataMatrixCellSampleSize cellSampleSize; //Specifies the sample size, in pixels, the function should take to determine if each cell is on or off. 03357 DataMatrixCellFilterMode cellFilterMode; //Specifies the mode the function uses to determine the pixel value for each cell. 03358 unsigned int skewDegreesAllowed; //Specifies the amount of skew in the Data Matrix barcode the function should allow for. 03359 unsigned int maxIterations; //Specifies the maximum number of iterations before the function stops looking for the Data Matrix barcode. 03360 unsigned int initialSearchVectorWidth; //Specifies the number of pixels the function should average together to determine the location of an edge. 03361 } DataMatrixSearchOptions; 03362 03363 typedef struct DataMatrixReport_struct { 03364 int found; //This element is TRUE if the function located and decoded a Data Matrix barcode and FALSE if the function failed to locate and decode a Data Matrix barcode. 03365 int binary; //This element is TRUE if the Data Matrix barcode contains binary data and FALSE if the Data Matrix barcode contains text data. 03366 unsigned char* data; //The data encoded in the Data Matrix barcode. 03367 unsigned int dataLength; //The length of the data array. 03368 PointFloat boundingBox[4]; //An array of four points describing the rectangle surrounding the Data Matrix barcode. 03369 unsigned int numErrorsCorrected; //The number of errors the function corrected when decoding the Data Matrix barcode. 03370 unsigned int numErasuresCorrected; //The number of erasures the function corrected when decoding the Data Matrix barcode. 03371 float aspectRatio; //Specifies the aspect ratio of the Data Matrix barcode in the image, which equals the ratio of the width of a Data Matrix barcode cell (in pixels) to the height of a Data Matrix barcode cell (in pixels). 03372 unsigned int rows; //The number of rows in the Data Matrix barcode. 03373 unsigned int columns; //The number of columns in the Data Matrix barcode. 03374 DataMatrixECC ecc; //The Error Correction Code (ECC) used by the Data Matrix barcode. 03375 DataMatrixPolarity polarity; //The polarity of the Data Matrix barcode. 03376 DataMatrixCellFillMode cellFill; //The cell fill percentage of the Data Matrix barcode. 03377 float borderIntegrity; //The percentage of the Data Matrix barcode border that appears correctly in the image. 03378 int mirrored; //This element is TRUE if the Data Matrix barcode appears mirrored in the image and FALSE if the Data Matrix barcode appears normally in the image. 03379 unsigned int minimumEdgeStrength; //The strength of the weakest edge the function used to find the coarse location of the Data Matrix barcode in the image. 03380 DataMatrixDemodulationMode demodulationMode; //The demodulation mode the function used to locate the Data Matrix barcode. 03381 DataMatrixCellSampleSize cellSampleSize; //The cell sample size the function used to locate the Data Matrix barcode. 03382 DataMatrixCellFilterMode cellFilterMode; //The cell filter mode the function used to locate the Data Matrix barcode. 03383 unsigned int iterations; //The number of iterations the function took in attempting to locate the Data Matrix barcode. 03384 } DataMatrixReport; 03385 03386 typedef struct JPEG2000FileAdvancedOptions_struct { 03387 WaveletTransformMode waveletMode; //Determines which wavelet transform to use when writing the file. 03388 int useMultiComponentTransform; //Set this parameter to TRUE to use an additional transform on RGB images. 03389 unsigned int maxWaveletTransformLevel; //Specifies the maximum allowed level of wavelet transform. 03390 float quantizationStepSize; //Specifies the absolute base quantization step size for derived quantization mode. 03391 } JPEG2000FileAdvancedOptions; 03392 03393 typedef struct MatchGeometricPatternAdvancedOptions2_struct { 03394 int minFeaturesUsed; //Specifies the minimum number of features the function uses when matching. 03395 int maxFeaturesUsed; //Specifies the maximum number of features the function uses when matching. 03396 int subpixelIterations; //Specifies the maximum number of incremental improvements used to refine matches with subpixel information. 03397 double subpixelTolerance; //Specifies the maximum amount of change, in pixels, between consecutive incremental improvements in the match position before the function stops refining the match position. 03398 int initialMatchListLength; //Specifies the maximum size of the match list. 03399 float matchTemplateCurveScore; //Set this element to TRUE to specify that the function should calculate the match curve to template curve score and return it for each match result. 03400 int correlationScore; //Set this element to TRUE to specify that the function should calculate the correlation score and return it for each match result. 03401 double minMatchSeparationDistance; //Specifies the minimum separation distance, in pixels, between the origins of two matches that have unique positions. 03402 double minMatchSeparationAngle; //Specifies the minimum angular difference, in degrees, between two matches that have unique angles. 03403 double minMatchSeparationScale; //Specifies the minimum difference in scale, expressed as a percentage, between two matches that have unique scales. 03404 double maxMatchOverlap; //Specifies the maximum amount of overlap, expressed as a percentage, allowed between the bounding rectangles of two unique matches. 03405 int coarseResult; //Specifies whether you want the function to spend less time accurately estimating the location of a match. 03406 int smoothContours; //Set this element to TRUE to specify smoothing be done on the contours of the inspection image before feature extraction. 03407 int enableCalibrationSupport; //Set this element to TRUE to specify the algorithm treat the inspection image as a calibrated image. 03408 } MatchGeometricPatternAdvancedOptions2; 03409 03410 typedef struct InspectionAlignment_struct { 03411 PointFloat position; //The location of the center of the golden template in the image under inspection. 03412 float rotation; //The rotation of the golden template in the image under inspection, in degrees. 03413 float scale; //The percentage of the size of the area under inspection compared to the size of the golden template. 03414 } InspectionAlignment; 03415 03416 typedef struct InspectionOptions_struct { 03417 RegistrationMethod registrationMethod; //Specifies how the function registers the golden template and the target image. 03418 NormalizationMethod normalizationMethod; //Specifies how the function normalizes the golden template to the target image. 03419 int edgeThicknessToIgnore; //Specifies desired thickness of edges to be ignored. 03420 float brightThreshold; //Specifies the threshold for areas where the target image is brighter than the golden template. 03421 float darkThreshold; //Specifies the threshold for areas where the target image is darker than the golden template. 03422 int binary; //Specifies whether the function should return a binary image giving the location of defects, or a grayscale image giving the intensity of defects. 03423 } InspectionOptions; 03424 03425 typedef struct CharReport2_struct { 03426 const char* character; //The character value. 03427 PointFloat corner[4]; //An array of four points that describes the rectangle that surrounds the character. 03428 int lowThreshold; //The minimum value of the threshold range used for this character. 03429 int highThreshold; //The maximum value of the threshold range used for this character. 03430 int classificationScore; //The degree to which the assigned character class represents the object better than the other character classes in the character set. 03431 int verificationScore; //The similarity of the character and the reference character for the character class. 03432 int verified; //This element is TRUE if a reference character was found for the character class and FALSE if a reference character was not found. 03433 } CharReport2; 03434 03435 typedef struct CharInfo2_struct { 03436 const char* charValue; //Retrieves the character value of the corresponding character in the character set. 03437 const Image* charImage; //The image you used to train this character. 03438 const Image* internalImage; //The internal representation that NI Vision uses to match objects to this character. 03439 int isReferenceChar; //This element is TRUE if the character is the reference character for the character class. 03440 } CharInfo2; 03441 03442 typedef struct ReadTextReport2_struct { 03443 const char* readString; //The read string. 03444 CharReport2* characterReport; //An array of reports describing the properties of each identified character. 03445 int numCharacterReports; //The number of identified characters. 03446 } ReadTextReport2; 03447 03448 typedef struct EllipseFeature_struct { 03449 PointFloat position; //The location of the center of the ellipse. 03450 double rotation; //The orientation of the semi-major axis of the ellipse with respect to the horizontal. 03451 double minorRadius; //The length of the semi-minor axis of the ellipse. 03452 double majorRadius; //The length of the semi-major axis of the ellipse. 03453 } EllipseFeature; 03454 03455 typedef struct CircleFeature_struct { 03456 PointFloat position; //The location of the center of the circle. 03457 double radius; //The radius of the circle. 03458 } CircleFeature; 03459 03460 typedef struct ConstCurveFeature_struct { 03461 PointFloat position; //The center of the circle that this constant curve lies upon. 03462 double radius; //The radius of the circle that this constant curve lies upon. 03463 double startAngle; //When traveling along the constant curve from one endpoint to the next in a counterclockwise manner, this is the angular component of the vector originating at the center of the constant curve and pointing towards the first endpoint of the constant curve. 03464 double endAngle; //When traveling along the constant curve from one endpoint to the next in a counterclockwise manner, this is the angular component of the vector originating at the center of the constant curve and pointing towards the second endpoint of the constant curve. 03465 } ConstCurveFeature; 03466 03467 typedef struct RectangleFeature_struct { 03468 PointFloat position; //The center of the rectangle. 03469 PointFloat corner[4]; //The four corners of the rectangle. 03470 double rotation; //The orientation of the rectangle with respect to the horizontal. 03471 double width; //The width of the rectangle. 03472 double height; //The height of the rectangle. 03473 } RectangleFeature; 03474 03475 typedef struct LegFeature_struct { 03476 PointFloat position; //The location of the leg feature. 03477 PointFloat corner[4]; //The four corners of the leg feature. 03478 double rotation; //The orientation of the leg with respect to the horizontal. 03479 double width; //The width of the leg. 03480 double height; //The height of the leg. 03481 } LegFeature; 03482 03483 typedef struct CornerFeature_struct { 03484 PointFloat position; //The location of the corner feature. 03485 double rotation; //The angular component of the vector bisecting the corner from position. 03486 double enclosedAngle; //The measure of the enclosed angle of the corner. 03487 int isVirtual; 03488 } CornerFeature; 03489 03490 typedef struct LineFeature_struct { 03491 PointFloat startPoint; //The starting point of the line. 03492 PointFloat endPoint; //The ending point of the line. 03493 double length; //The length of the line measured in pixels from the start point to the end point. 03494 double rotation; //The orientation of the line with respect to the horizontal. 03495 } LineFeature; 03496 03497 typedef struct ParallelLinePairFeature_struct { 03498 PointFloat firstStartPoint; //The starting point of the first line of the pair. 03499 PointFloat firstEndPoint; //The ending point of the first line of the pair. 03500 PointFloat secondStartPoint; //The starting point of the second line of the pair. 03501 PointFloat secondEndPoint; //The ending point of the second line of the pair. 03502 double rotation; //The orientation of the feature with respect to the horizontal. 03503 double distance; //The distance from the first line to the second line. 03504 } ParallelLinePairFeature; 03505 03506 typedef struct PairOfParallelLinePairsFeature_struct { 03507 ParallelLinePairFeature firstParallelLinePair; //The first parallel line pair. 03508 ParallelLinePairFeature secondParallelLinePair; //The second parallel line pair. 03509 double rotation; //The orientation of the feature with respect to the horizontal. 03510 double distance; //The distance from the midline of the first parallel line pair to the midline of the second parallel line pair. 03511 } PairOfParallelLinePairsFeature; 03512 03513 typedef union GeometricFeature_union { 03514 CircleFeature* circle; //A pointer to a CircleFeature. 03515 EllipseFeature* ellipse; //A pointer to an EllipseFeature. 03516 ConstCurveFeature* constCurve; //A pointer to a ConstCurveFeature. 03517 RectangleFeature* rectangle; //A pointer to a RectangleFeature. 03518 LegFeature* leg; //A pointer to a LegFeature. 03519 CornerFeature* corner; //A pointer to a CornerFeature. 03520 ParallelLinePairFeature* parallelLinePair; //A pointer to a ParallelLinePairFeature. 03521 PairOfParallelLinePairsFeature* pairOfParallelLinePairs; //A pointer to a PairOfParallelLinePairsFeature. 03522 LineFeature* line; //A pointer to a LineFeature. 03523 ClosedCurveFeature* closedCurve; //A pointer to a ClosedCurveFeature. 03524 } GeometricFeature; 03525 03526 typedef struct FeatureData_struct { 03527 FeatureType type; //An enumeration representing the type of the feature. 03528 PointFloat* contourPoints; //A set of points describing the contour of the feature. 03529 int numContourPoints; //The number of points in the contourPoints array. 03530 GeometricFeature feature; //The feature data specific to this type of feature. 03531 } FeatureData; 03532 03533 typedef struct GeometricPatternMatch2_struct { 03534 PointFloat position; //The location of the origin of the template in the match. 03535 float rotation; //The rotation of the match relative to the template image, in degrees. 03536 float scale; //The size of the match relative to the size of the template image, expressed as a percentage. 03537 float score; //The accuracy of the match. 03538 PointFloat corner[4]; //An array of four points describing the rectangle surrounding the template image. 03539 int inverse; //This element is TRUE if the match is an inverse of the template image. 03540 float occlusion; //The percentage of the match that is occluded. 03541 float templateMatchCurveScore; //The accuracy of the match obtained by comparing the template curves to the curves in the match region. 03542 float matchTemplateCurveScore; //The accuracy of the match obtained by comparing the curves in the match region to the template curves. 03543 float correlationScore; //The accuracy of the match obtained by comparing the template image to the match region using a correlation metric that compares the two regions as a function of their pixel values. 03544 String255 label; //The label corresponding to this match when the match is returned by imaqMatchMultipleGeometricPatterns(). 03545 FeatureData* featureData; //The features used in this match. 03546 int numFeatureData; //The size of the featureData array. 03547 PointFloat calibratedPosition; //The location of the origin of the template in the match. 03548 float calibratedRotation; //The rotation of the match relative to the template image, in degrees. 03549 PointFloat calibratedCorner[4]; //An array of four points describing the rectangle surrounding the template image. 03550 } GeometricPatternMatch2; 03551 03552 typedef struct ClosedCurveFeature_struct { 03553 PointFloat position; //The center of the closed curve feature. 03554 double arcLength; //The arc length of the closed curve feature. 03555 } ClosedCurveFeature; 03556 03557 typedef struct LineMatch_struct { 03558 PointFloat startPoint; //The starting point of the matched line. 03559 PointFloat endPoint; //The ending point of the matched line. 03560 double length; //The length of the line measured in pixels from the start point to the end point. 03561 double rotation; //The orientation of the matched line. 03562 double score; //The score of the matched line. 03563 } LineMatch; 03564 03565 typedef struct LineDescriptor_struct { 03566 double minLength; //Specifies the minimum length of a line the function will return. 03567 double maxLength; //Specifies the maximum length of a line the function will return. 03568 } LineDescriptor; 03569 03570 typedef struct RectangleDescriptor_struct { 03571 double minWidth; //Specifies the minimum width of a rectangle the algorithm will return. 03572 double maxWidth; //Specifies the maximum width of a rectangle the algorithm will return. 03573 double minHeight; //Specifies the minimum height of a rectangle the algorithm will return. 03574 double maxHeight; //Specifies the maximum height of a rectangle the algorithm will return. 03575 } RectangleDescriptor; 03576 03577 typedef struct RectangleMatch_struct { 03578 PointFloat corner[4]; //The corners of the matched rectangle. 03579 double rotation; //The orientation of the matched rectangle. 03580 double width; //The width of the matched rectangle. 03581 double height; //The height of the matched rectangle. 03582 double score; //The score of the matched rectangle. 03583 } RectangleMatch; 03584 03585 typedef struct EllipseDescriptor_struct { 03586 double minMajorRadius; //Specifies the minimum length of the semi-major axis of an ellipse the function will return. 03587 double maxMajorRadius; //Specifies the maximum length of the semi-major axis of an ellipse the function will return. 03588 double minMinorRadius; //Specifies the minimum length of the semi-minor axis of an ellipse the function will return. 03589 double maxMinorRadius; //Specifies the maximum length of the semi-minor axis of an ellipse the function will return. 03590 } EllipseDescriptor; 03591 03592 typedef struct EllipseMatch_struct { 03593 PointFloat position; //The location of the center of the matched ellipse. 03594 double rotation; //The orientation of the matched ellipse. 03595 double majorRadius; //The length of the semi-major axis of the matched ellipse. 03596 double minorRadius; //The length of the semi-minor axis of the matched ellipse. 03597 double score; //The score of the matched ellipse. 03598 } EllipseMatch; 03599 03600 typedef struct CircleMatch_struct { 03601 PointFloat position; //The location of the center of the matched circle. 03602 double radius; //The radius of the matched circle. 03603 double score; //The score of the matched circle. 03604 } CircleMatch; 03605 03606 typedef struct CircleDescriptor_struct { 03607 double minRadius; //Specifies the minimum radius of a circle the function will return. 03608 double maxRadius; //Specifies the maximum radius of a circle the function will return. 03609 } CircleDescriptor; 03610 03611 typedef struct ShapeDetectionOptions_struct { 03612 unsigned int mode; //Specifies the method used when looking for the shape in the image. 03613 RangeFloat* angleRanges; //An array of angle ranges, in degrees, where each range specifies how much you expect the shape to be rotated in the image. 03614 int numAngleRanges; //The size of the orientationRanges array. 03615 RangeFloat scaleRange; //A range that specifies the sizes of the shapes you expect to be in the image, expressed as a ratio percentage representing the size of the pattern in the image divided by size of the original pattern multiplied by 100. 03616 double minMatchScore; 03617 } ShapeDetectionOptions; 03618 03619 typedef struct Curve_struct { 03620 PointFloat* points; //The points on the curve. 03621 unsigned int numPoints; //The number of points in the curve. 03622 int closed; //This element is TRUE if the curve is closed and FALSE if the curve is open. 03623 double curveLength; //The length of the curve. 03624 double minEdgeStrength; //The lowest edge strength detected on the curve. 03625 double maxEdgeStrength; //The highest edge strength detected on the curve. 03626 double averageEdgeStrength; //The average of all edge strengths detected on the curve. 03627 } Curve; 03628 03629 typedef struct CurveOptions_struct { 03630 ExtractionMode extractionMode; //Specifies the method the function uses to identify curves in the image. 03631 int threshold; //Specifies the minimum contrast a seed point must have in order to begin a curve. 03632 EdgeFilterSize filterSize; //Specifies the width of the edge filter the function uses to identify curves in the image. 03633 int minLength; //Specifies the length, in pixels, of the smallest curve the function will extract. 03634 int rowStepSize; //Specifies the distance, in the y direction, between lines the function inspects for curve seed points. 03635 int columnStepSize; //Specifies the distance, in the x direction, between columns the function inspects for curve seed points. 03636 int maxEndPointGap; //Specifies the maximum gap, in pixels, between the endpoints of a curve that the function identifies as a closed curve. 03637 int onlyClosed; //Set this element to TRUE to specify that the function should only identify closed curves in the image. 03638 int subpixelAccuracy; //Set this element to TRUE to specify that the function identifies the location of curves with subpixel accuracy by interpolating between points to find the crossing of threshold. 03639 } CurveOptions; 03640 03641 typedef struct Barcode2DInfo_struct { 03642 Barcode2DType type; //The type of the 2D barcode. 03643 int binary; //This element is TRUE if the 2D barcode contains binary data and FALSE if the 2D barcode contains text data. 03644 unsigned char* data; //The data encoded in the 2D barcode. 03645 unsigned int dataLength; //The length of the data array. 03646 PointFloat boundingBox[4]; //An array of four points describing the rectangle surrounding the 2D barcode. 03647 unsigned int numErrorsCorrected; //The number of errors the function corrected when decoding the 2D barcode. 03648 unsigned int numErasuresCorrected; //The number of erasures the function corrected when decoding the 2D barcode. 03649 unsigned int rows; //The number of rows in the 2D barcode. 03650 unsigned int columns; //The number of columns in the 2D barcode. 03651 } Barcode2DInfo; 03652 03653 typedef struct DataMatrixOptions_struct { 03654 Barcode2DSearchMode searchMode; //Specifies the mode the function uses to search for barcodes. 03655 Barcode2DContrast contrast; //Specifies the contrast of the barcodes that the function searches for. 03656 Barcode2DCellShape cellShape; //Specifies the shape of the barcode data cells, which affects how the function decodes the barcode. 03657 Barcode2DShape barcodeShape; //Specifies the shape of the barcodes that the function searches for. 03658 DataMatrixSubtype subtype; //Specifies the Data Matrix subtypes of the barcodes that the function searches for. 03659 } DataMatrixOptions; 03660 03661 typedef struct ClassifierAccuracyReport_struct { 03662 int size; //The size of the arrays in this structure. 03663 float accuracy; //The overall accuracy of the classifier, from 0 to 1000. 03664 char** classNames; //The names of the classes of this classifier. 03665 double* classAccuracy; //An array of size elements that contains accuracy information for each class. 03666 double* classPredictiveValue; //An array containing size elements that contains the predictive values of each class. 03667 int** classificationDistribution; //A two-dimensional array containing information about how the classifier classifies its samples. 03668 } ClassifierAccuracyReport; 03669 03670 typedef struct NearestNeighborClassResult_struct { 03671 char* className; //The name of the class. 03672 float standardDeviation; //The standard deviation of the members of this class. 03673 int count; //The number of samples in this class. 03674 } NearestNeighborClassResult; 03675 03676 typedef struct NearestNeighborTrainingReport_struct { 03677 float** classDistancesTable; //The confidence in the training. 03678 NearestNeighborClassResult* allScores; //All classes and their scores. 03679 int allScoresSize; //The number of entries in allScores. 03680 } NearestNeighborTrainingReport; 03681 03682 typedef struct ParticleClassifierPreprocessingOptions_struct { 03683 int manualThreshold; //Set this element to TRUE to specify the threshold range manually. 03684 RangeFloat manualThresholdRange; //If a manual threshold is being done, the range of pixels to keep. 03685 ThresholdMethod autoThresholdMethod; //If an automatic threshold is being done, the method used to calculate the threshold range. 03686 RangeFloat limits; //The limits on the automatic threshold range. 03687 ParticleType particleType; //Specifies what kind of particles to look for. 03688 int rejectBorder; //Set this element to TRUE to reject border particles. 03689 int numErosions; //The number of erosions to perform. 03690 } ParticleClassifierPreprocessingOptions; 03691 03692 typedef struct ClassifierSampleInfo_struct { 03693 char* className; //The name of the class this sample is in. 03694 double* featureVector; //The feature vector of this sample, or NULL if this is not a custom classifier session. 03695 int featureVectorSize; //The number of elements in the feature vector. 03696 Image* thumbnail; //A thumbnail image of this sample, or NULL if no image was specified. 03697 } ClassifierSampleInfo; 03698 03699 typedef struct ClassScore_struct { 03700 char* className; //The name of the class. 03701 float distance; //The distance from the item to this class. 03702 } ClassScore; 03703 03704 typedef struct ClassifierReport_struct { 03705 char* bestClassName; //The name of the best class for the sample. 03706 float classificationScore; //The similarity of the sample and the two closest classes in the classifier. 03707 float identificationScore; //The similarity of the sample and the assigned class. 03708 ClassScore* allScores; //All classes and their scores. 03709 int allScoresSize; //The number of entries in allScores. 03710 } ClassifierReport; 03711 03712 typedef struct NearestNeighborOptions_struct { 03713 NearestNeighborMethod method; //The method to use. 03714 NearestNeighborMetric metric; //The metric to use. 03715 int k; //The value of k, if the IMAQ_K_NEAREST_NEIGHBOR method is used. 03716 } NearestNeighborOptions; 03717 03718 typedef struct ParticleClassifierOptions_struct { 03719 float scaleDependence; //The relative importance of scale when classifying particles. 03720 float mirrorDependence; //The relative importance of mirror symmetry when classifying particles. 03721 } ParticleClassifierOptions; 03722 03723 typedef struct RGBU64Value_struct { 03724 unsigned short B; //The blue value of the color. 03725 unsigned short G; //The green value of the color. 03726 unsigned short R; //The red value of the color. 03727 unsigned short alpha; //The alpha value of the color, which represents extra information about a color image, such as gamma correction. 03728 } RGBU64Value; 03729 03730 typedef struct GeometricPatternMatch_struct { 03731 PointFloat position; //The location of the origin of the template in the match. 03732 float rotation; //The rotation of the match relative to the template image, in degrees. 03733 float scale; //The size of the match relative to the size of the template image, expressed as a percentage. 03734 float score; //The accuracy of the match. 03735 PointFloat corner[4]; //An array of four points describing the rectangle surrounding the template image. 03736 int inverse; //This element is TRUE if the match is an inverse of the template image. 03737 float occlusion; //The percentage of the match that is occluded. 03738 float templateMatchCurveScore; //The accuracy of the match obtained by comparing the template curves to the curves in the match region. 03739 float matchTemplateCurveScore; //The accuracy of the match obtained by comparing the curves in the match region to the template curves. 03740 float correlationScore; //The accuracy of the match obtained by comparing the template image to the match region using a correlation metric that compares the two regions as a function of their pixel values. 03741 } GeometricPatternMatch; 03742 03743 typedef struct MatchGeometricPatternAdvancedOptions_struct { 03744 int minFeaturesUsed; //Specifies the minimum number of features the function uses when matching. 03745 int maxFeaturesUsed; //Specifies the maximum number of features the function uses when matching. 03746 int subpixelIterations; //Specifies the maximum number of incremental improvements used to refine matches with subpixel information. 03747 double subpixelTolerance; //Specifies the maximum amount of change, in pixels, between consecutive incremental improvements in the match position before the function stops refining the match position. 03748 int initialMatchListLength; //Specifies the maximum size of the match list. 03749 int matchTemplateCurveScore; //Set this element to TRUE to specify that the function should calculate the match curve to template curve score and return it for each match result. 03750 int correlationScore; //Set this element to TRUE to specify that the function should calculate the correlation score and return it for each match result. 03751 double minMatchSeparationDistance; //Specifies the minimum separation distance, in pixels, between the origins of two matches that have unique positions. 03752 double minMatchSeparationAngle; //Specifies the minimum angular difference, in degrees, between two matches that have unique angles. 03753 double minMatchSeparationScale; //Specifies the minimum difference in scale, expressed as a percentage, between two matches that have unique scales. 03754 double maxMatchOverlap; //Specifies the maximum amount of overlap, expressed as a percentage, allowed between the bounding rectangles of two unique matches. 03755 int coarseResult; //Specifies whether you want the function to spend less time accurately estimating the location of a match. 03756 } MatchGeometricPatternAdvancedOptions; 03757 03758 typedef struct MatchGeometricPatternOptions_struct { 03759 unsigned int mode; //Specifies the method imaqMatchGeometricPattern() uses when looking for the pattern in the image. 03760 int subpixelAccuracy; //Set this element to TRUE to specify that the function should calculate match locations with subpixel accuracy. 03761 RangeFloat* angleRanges; //An array of angle ranges, in degrees, where each range specifies how much you expect the template to be rotated in the image. 03762 int numAngleRanges; //Number of angle ranges in the angleRanges array. 03763 RangeFloat scaleRange; //A range that specifies the sizes of the pattern you expect to be in the image, expressed as a ratio percentage representing the size of the pattern in the image divided by size of the original pattern multiplied by 100. 03764 RangeFloat occlusionRange; //A range that specifies the percentage of the pattern you expect to be occluded in the image. 03765 int numMatchesRequested; //Number of valid matches expected. 03766 float minMatchScore; //The minimum score a match can have for the function to consider the match valid. 03767 } MatchGeometricPatternOptions; 03768 03769 typedef struct LearnGeometricPatternAdvancedOptions_struct { 03770 int minRectLength; //Specifies the minimum length for each side of a rectangular feature. 03771 double minRectAspectRatio; //Specifies the minimum aspect ratio of a rectangular feature. 03772 int minRadius; //Specifies the minimum radius for a circular feature. 03773 int minLineLength; //Specifies the minimum length for a linear feature. 03774 double minFeatureStrength; //Specifies the minimum strength for a feature. 03775 int maxFeaturesUsed; //Specifies the maximum number of features the function uses when learning. 03776 int maxPixelDistanceFromLine; //Specifies the maximum number of pixels between an edge pixel and a linear feature for the function to consider that edge pixel as part of the linear feature. 03777 } LearnGeometricPatternAdvancedOptions; 03778 03779 typedef struct FitEllipseOptions_struct { 03780 int rejectOutliers; //Whether to use every given point or only a subset of the points to fit the ellipse. 03781 double minScore; //Specifies the required quality of the fitted ellipse. 03782 double pixelRadius; //The acceptable distance, in pixels, that a point determined to belong to the ellipse can be from the circumference of the ellipse. 03783 int maxIterations; //Specifies the number of refinement iterations you allow the function to perform on the initial subset of points. 03784 } FitEllipseOptions; 03785 03786 typedef struct FitCircleOptions_struct { 03787 int rejectOutliers; //Whether to use every given point or only a subset of the points to fit the circle. 03788 double minScore; //Specifies the required quality of the fitted circle. 03789 double pixelRadius; //The acceptable distance, in pixels, that a point determined to belong to the circle can be from the circumference of the circle. 03790 int maxIterations; //Specifies the number of refinement iterations you allow the function to perform on the initial subset of points. 03791 } FitCircleOptions; 03792 03793 typedef struct ConstructROIOptions2_struct { 03794 int windowNumber; //The window number of the image window. 03795 const char* windowTitle; //Specifies the message string that the function displays in the title bar of the window. 03796 PaletteType type; //The palette type to use. 03797 RGBValue* palette; //If type is IMAQ_PALETTE_USER, this array is the palette of colors to use with the window. 03798 int numColors; //If type is IMAQ_PALETTE_USER, this element is the number of colors in the palette array. 03799 unsigned int maxContours; //The maximum number of contours the user will be able to select. 03800 } ConstructROIOptions2; 03801 03802 typedef struct HSLValue_struct { 03803 unsigned char L; //The color luminance. 03804 unsigned char S; //The color saturation. 03805 unsigned char H; //The color hue. 03806 unsigned char alpha; //The alpha value of the color, which represents extra information about a color image, such as gamma correction. 03807 } HSLValue; 03808 03809 typedef struct HSVValue_struct { 03810 unsigned char V; //The color value. 03811 unsigned char S; //The color saturation. 03812 unsigned char H; //The color hue. 03813 unsigned char alpha; //The alpha value of the color, which represents extra information about a color image, such as gamma correction. 03814 } HSVValue; 03815 03816 typedef struct HSIValue_struct { 03817 unsigned char I; //The color intensity. 03818 unsigned char S; //The color saturation. 03819 unsigned char H; //The color hue. 03820 unsigned char alpha; //The alpha value of the color, which represents extra information about a color image, such as gamma correction. 03821 } HSIValue; 03822 03823 typedef struct CIELabValue_struct { 03824 double b; //The yellow/blue information of the color. 03825 double a; //The red/green information of the color. 03826 double L; //The color lightness. 03827 unsigned char alpha; //The alpha value of the color, which represents extra information about a color image, such as gamma correction. 03828 } CIELabValue; 03829 03830 typedef struct CIEXYZValue_struct { 03831 double Z; //The Z color information. 03832 double Y; //The color luminance. 03833 double X; //The X color information. 03834 unsigned char alpha; //The alpha value of the color, which represents extra information about a color image, such as gamma correction. 03835 } CIEXYZValue; 03836 03837 typedef union Color2_union { 03838 RGBValue rgb; //The information needed to describe a color in the RGB (Red, Green, and Blue) color space. 03839 HSLValue hsl; //The information needed to describe a color in the HSL (Hue, Saturation, and Luminance) color space. 03840 HSVValue hsv; //The information needed to describe a color in the HSI (Hue, Saturation, and Value) color space. 03841 HSIValue hsi; //The information needed to describe a color in the HSI (Hue, Saturation, and Intensity) color space. 03842 CIELabValue cieLab; //The information needed to describe a color in the CIE L*a*b* (L, a, b) color space. 03843 CIEXYZValue cieXYZ; //The information needed to describe a color in the CIE XYZ (X, Y, Z) color space. 03844 int rawValue; //The integer value for the data in the color union. 03845 } Color2; 03846 03847 typedef struct BestEllipse2_struct { 03848 PointFloat center; //The coordinate location of the center of the ellipse. 03849 PointFloat majorAxisStart; //The coordinate location of the start of the major axis of the ellipse. 03850 PointFloat majorAxisEnd; //The coordinate location of the end of the major axis of the ellipse. 03851 PointFloat minorAxisStart; //The coordinate location of the start of the minor axis of the ellipse. 03852 PointFloat minorAxisEnd; //The coordinate location of the end of the minor axis of the ellipse. 03853 double area; //The area of the ellipse. 03854 double perimeter; //The length of the perimeter of the ellipse. 03855 double error; //Represents the least square error of the fitted ellipse to the entire set of points. 03856 int valid; //This element is TRUE if the function achieved the minimum score within the number of allowed refinement iterations and FALSE if the function did not achieve the minimum score. 03857 int* pointsUsed; //An array of the indexes for the points array indicating which points the function used to fit the ellipse. 03858 int numPointsUsed; //The number of points the function used to fit the ellipse. 03859 } BestEllipse2; 03860 03861 typedef struct LearnPatternAdvancedOptions_struct { 03862 LearnPatternAdvancedShiftOptions* shiftOptions; //Use this element to control the behavior of imaqLearnPattern2() during the shift-invariant learning phase. 03863 LearnPatternAdvancedRotationOptions* rotationOptions; //Use this element to control the behavior of imaqLearnPattern2()during the rotation-invariant learning phase. 03864 } LearnPatternAdvancedOptions; 03865 03866 typedef struct AVIInfo_struct { 03867 unsigned int width; //The width of each frame. 03868 unsigned int height; //The height of each frame. 03869 ImageType imageType; //The type of images this AVI contains. 03870 unsigned int numFrames; //The number of frames in the AVI. 03871 unsigned int framesPerSecond; //The number of frames per second this AVI should be shown at. 03872 char* filterName; //The name of the compression filter used to create this AVI. 03873 int hasData; //Specifies whether this AVI has data attached to each frame or not. 03874 unsigned int maxDataSize; //If this AVI has data, the maximum size of the data in each frame. 03875 } AVIInfo; 03876 03877 typedef struct LearnPatternAdvancedShiftOptions_struct { 03878 int initialStepSize; //The largest number of image pixels to shift the sample across the inspection image during the initial phase of shift-invariant matching. 03879 int initialSampleSize; //Specifies the number of template pixels that you want to include in a sample for the initial phase of shift-invariant matching. 03880 double initialSampleSizeFactor; //Specifies the size of the sample for the initial phase of shift-invariant matching as a percent of the template size, in pixels. 03881 int finalSampleSize; //Specifies the number of template pixels you want to add to initialSampleSize for the final phase of shift-invariant matching. 03882 double finalSampleSizeFactor; //Specifies the size of the sample for the final phase of shift-invariant matching as a percent of the edge points in the template, in pixels. 03883 int subpixelSampleSize; //Specifies the number of template pixels that you want to include in a sample for the subpixel phase of shift-invariant matching. 03884 double subpixelSampleSizeFactor; //Specifies the size of the sample for the subpixel phase of shift-invariant matching as a percent of the template size, in pixels. 03885 } LearnPatternAdvancedShiftOptions; 03886 03887 typedef struct LearnPatternAdvancedRotationOptions_struct { 03888 SearchStrategy searchStrategySupport; //Specifies the aggressiveness of the rotation search strategy available during the matching phase. 03889 int initialStepSize; //The largest number of image pixels to shift the sample across the inspection image during the initial phase of matching. 03890 int initialSampleSize; //Specifies the number of template pixels that you want to include in a sample for the initial phase of rotation-invariant matching. 03891 double initialSampleSizeFactor; //Specifies the size of the sample for the initial phase of rotation-invariant matching as a percent of the template size, in pixels. 03892 int initialAngularAccuracy; //Sets the angle accuracy, in degrees, to use during the initial phase of rotation-invariant matching. 03893 int finalSampleSize; //Specifies the number of template pixels you want to add to initialSampleSize for the final phase of rotation-invariant matching. 03894 double finalSampleSizeFactor; //Specifies the size of the sample for the final phase of rotation-invariant matching as a percent of the edge points in the template, in pixels. 03895 int finalAngularAccuracy; //Sets the angle accuracy, in degrees, to use during the final phase of the rotation-invariant matching. 03896 int subpixelSampleSize; //Specifies the number of template pixels that you want to include in a sample for the subpixel phase of rotation-invariant matching. 03897 double subpixelSampleSizeFactor; //Specifies the size of the sample for the subpixel phase of rotation-invariant matching as a percent of the template size, in pixels. 03898 } LearnPatternAdvancedRotationOptions; 03899 03900 typedef struct MatchPatternAdvancedOptions_struct { 03901 int subpixelIterations; //Defines the maximum number of incremental improvements used to refine matching using subpixel information. 03902 double subpixelTolerance; //Defines the maximum amount of change, in pixels, between consecutive incremental improvements in the match position that you want to trigger the end of the refinement process. 03903 int initialMatchListLength; //Specifies the maximum size of the match list. 03904 int matchListReductionFactor; //Specifies the reduction of the match list as matches are refined. 03905 int initialStepSize; //Specifies the number of pixels to shift the sample across the inspection image during the initial phase of shift-invariant matching. 03906 SearchStrategy searchStrategy; //Specifies the aggressiveness of the rotation search strategy. 03907 int intermediateAngularAccuracy; //Specifies the accuracy to use during the intermediate phase of rotation-invariant matching. 03908 } MatchPatternAdvancedOptions; 03909 03910 typedef struct ParticleFilterCriteria2_struct { 03911 MeasurementType parameter; //The morphological measurement that the function uses for filtering. 03912 float lower; //The lower bound of the criteria range. 03913 float upper; //The upper bound of the criteria range. 03914 int calibrated; //Set this element to TRUE to take calibrated measurements. 03915 int exclude; //Set this element to TRUE to indicate that a match occurs when the measurement is outside the criteria range. 03916 } ParticleFilterCriteria2; 03917 03918 typedef struct BestCircle2_struct { 03919 PointFloat center; //The coordinate location of the center of the circle. 03920 double radius; //The radius of the circle. 03921 double area; //The area of the circle. 03922 double perimeter; //The length of the perimeter of the circle. 03923 double error; //Represents the least square error of the fitted circle to the entire set of points. 03924 int valid; //This element is TRUE if the function achieved the minimum score within the number of allowed refinement iterations and FALSE if the function did not achieve the minimum score. 03925 int* pointsUsed; //An array of the indexes for the points array indicating which points the function used to fit the circle. 03926 int numPointsUsed; //The number of points the function used to fit the circle. 03927 } BestCircle2; 03928 03929 typedef struct OCRSpacingOptions_struct { 03930 int minCharSpacing; //The minimum number of pixels that must be between two characters for NI Vision to train or read the characters separately. 03931 int minCharSize; //The minimum number of pixels required for an object to be a potentially identifiable character. 03932 int maxCharSize; //The maximum number of pixels required for an object to be a potentially identifiable character. 03933 int maxHorizontalElementSpacing; //The maximum horizontal spacing, in pixels, allowed between character elements to train or read the character elements as a single character. 03934 int maxVerticalElementSpacing; //The maximum vertical element spacing in pixels. 03935 int minBoundingRectWidth; //The minimum possible width, in pixels, for a character bounding rectangle. 03936 int maxBoundingRectWidth; //The maximum possible width, in pixels, for a character bounding rectangle. 03937 int minBoundingRectHeight; //The minimum possible height, in pixels, for a character bounding rectangle. 03938 int maxBoundingRectHeight; //The maximum possible height, in pixels, for a character bounding rectangle. 03939 int autoSplit; //Set this element to TRUE to automatically adjust the location of the character bounding rectangle when characters overlap vertically. 03940 } OCRSpacingOptions; 03941 03942 typedef struct OCRProcessingOptions_struct { 03943 ThresholdMode mode; //The thresholding mode. 03944 int lowThreshold; //The low threshold value when you set mode to IMAQ_FIXED_RANGE. 03945 int highThreshold; //The high threshold value when you set mode to IMAQ_FIXED_RANGE. 03946 int blockCount; //The number of blocks for threshold calculation algorithms that require blocks. 03947 int fastThreshold; //Set this element to TRUE to use a faster, less accurate threshold calculation algorithm. 03948 int biModalCalculation; //Set this element to TRUE to calculate both the low and high threshold values when using the fast thresholding method. 03949 int darkCharacters; //Set this element to TRUE to read or train dark characters on a light background. 03950 int removeParticlesTouchingROI; //Set this element to TRUE to remove the particles touching the ROI. 03951 int erosionCount; //The number of erosions to perform. 03952 } OCRProcessingOptions; 03953 03954 typedef struct ReadTextOptions_struct { 03955 String255 validChars[255]; //An array of strings that specifies the valid characters. 03956 int numValidChars; //The number of strings in the validChars array that you have initialized. 03957 char substitutionChar; //The character to substitute for objects that the function cannot match with any of the trained characters. 03958 ReadStrategy readStrategy; //The read strategy, which determines how closely the function analyzes images in the reading process to match objects with trained characters. 03959 int acceptanceLevel; //The minimum acceptance level at which an object is considered a trained character. 03960 int aspectRatio; //The maximum aspect ratio variance percentage for valid characters. 03961 ReadResolution readResolution; //The read resolution, which determines how much of the trained character data the function uses to match objects to trained characters. 03962 } ReadTextOptions; 03963 03964 typedef struct CharInfo_struct { 03965 const char* charValue; //Retrieves the character value of the corresponding character in the character set. 03966 const Image* charImage; //The image you used to train this character. 03967 const Image* internalImage; //The internal representation that NI Vision uses to match objects to this character. 03968 } CharInfo; 03969 03970 #if !defined(USERINT_HEADER) && !defined(_CVI_RECT_DEFINED) 03971 typedef struct Rect_struct { 03972 int top; //Location of the top edge of the rectangle. 03973 int left; //Location of the left edge of the rectangle. 03974 int height; //Height of the rectangle. 03975 int width; //Width of the rectangle. 03976 } Rect; 03977 #define _CVI_RECT_DEFINED 03978 #endif 03979 03980 typedef struct CharReport_struct { 03981 const char* character; //The character value. 03982 PointFloat corner[4]; //An array of four points that describes the rectangle that surrounds the character. 03983 int reserved; //This element is reserved. 03984 int lowThreshold; //The minimum value of the threshold range used for this character. 03985 int highThreshold; //The maximum value of the threshold range used for this character. 03986 } CharReport; 03987 03988 typedef struct ReadTextReport_struct { 03989 const char* readString; //The read string. 03990 const CharReport* characterReport; //An array of reports describing the properties of each identified character. 03991 int numCharacterReports; //The number of identified characters. 03992 } ReadTextReport; 03993 03994 #if !defined(USERINT_HEADER) && !defined(_CVI_POINT_DEFINED) 03995 typedef struct Point_struct { 03996 int x; //The x-coordinate of the point. 03997 int y; //The y-coordinate of the point. 03998 } Point; 03999 #define _CVI_POINT_DEFINED 04000 #endif 04001 04002 typedef struct Annulus_struct { 04003 Point center; //The coordinate location of the center of the annulus. 04004 int innerRadius; //The internal radius of the annulus. 04005 int outerRadius; //The external radius of the annulus. 04006 double startAngle; //The start angle, in degrees, of the annulus. 04007 double endAngle; //The end angle, in degrees, of the annulus. 04008 } Annulus; 04009 04010 typedef struct EdgeLocationReport_struct { 04011 PointFloat* edges; //The coordinate location of all edges detected by the search line. 04012 int numEdges; //The number of points in the edges array. 04013 } EdgeLocationReport; 04014 04015 typedef struct EdgeOptions_struct { 04016 unsigned threshold; //Specifies the threshold value for the contrast of the edge. 04017 unsigned width; //The number of pixels that the function averages to find the contrast at either side of the edge. 04018 unsigned steepness; //The span, in pixels, of the slope of the edge projected along the path specified by the input points. 04019 InterpolationMethod subpixelType; //The method for interpolating. 04020 unsigned subpixelDivisions; //The number of samples the function obtains from a pixel. 04021 } EdgeOptions; 04022 04023 typedef struct EdgeReport_struct { 04024 float location; //The location of the edge from the first point in the points array. 04025 float contrast; //The contrast at the edge. 04026 PolarityType polarity; //The polarity of the edge. 04027 float reserved; //This element is reserved. 04028 PointFloat coordinate; //The coordinates of the edge. 04029 } EdgeReport; 04030 04031 typedef struct ExtremeReport_struct { 04032 double location; //The locations of the extreme. 04033 double amplitude; //The amplitude of the extreme. 04034 double secondDerivative; //The second derivative of the extreme. 04035 } ExtremeReport; 04036 04037 typedef struct FitLineOptions_struct { 04038 float minScore; //Specifies the required quality of the fitted line. 04039 float pixelRadius; //Specifies the neighborhood pixel relationship for the initial subset of points being used. 04040 int numRefinements; //Specifies the number of refinement iterations you allow the function to perform on the initial subset of points. 04041 } FitLineOptions; 04042 04043 typedef struct DisplayMapping_struct { 04044 MappingMethod method; //Describes the method for converting 16-bit pixels to 8-bit pixels. 04045 int minimumValue; //When method is IMAQ_RANGE, minimumValue represents the value that is mapped to 0. 04046 int maximumValue; //When method is IMAQ_RANGE, maximumValue represents the value that is mapped to 255. 04047 int shiftCount; //When method is IMAQ_DOWNSHIFT, shiftCount represents the number of bits the function right-shifts the 16-bit pixel values. 04048 } DisplayMapping; 04049 04050 typedef struct DetectExtremesOptions_struct { 04051 double threshold; //Defines which extremes are too small. 04052 int width; //Specifies the number of consecutive data points the function uses in the quadratic least-squares fit. 04053 } DetectExtremesOptions; 04054 04055 typedef struct ImageInfo_struct { 04056 CalibrationUnit imageUnit; //If you set calibration information with imaqSetSimpleCalibrationInfo(), imageUnit is the calibration unit. 04057 float stepX; //If you set calibration information with imaqSetCalibrationInfo(), stepX is the distance in the calibration unit between two pixels in the x direction. 04058 float stepY; //If you set calibration information with imaqSetCalibrationInfo(), stepY is the distance in the calibration unit between two pixels in the y direction. 04059 ImageType imageType; //The type of the image. 04060 int xRes; //The number of columns in the image. 04061 int yRes; //The number of rows in the image. 04062 int xOffset; //If you set mask offset information with imaqSetMaskOffset(), xOffset is the offset of the mask origin in the x direction. 04063 int yOffset; //If you set mask offset information with imaqSetMaskOffset(), yOffset is the offset of the mask origin in the y direction. 04064 int border; //The number of border pixels around the image. 04065 int pixelsPerLine; //The number of pixels stored for each line of the image. 04066 void* reserved0; //This element is reserved. 04067 void* reserved1; //This element is reserved. 04068 void* imageStart; //A pointer to pixel (0,0). 04069 } ImageInfo; 04070 04071 typedef struct LCDOptions_struct { 04072 int litSegments; //Set this parameter to TRUE if the segments are brighter than the background. 04073 float threshold; //Determines whether a segment is ON or OFF. 04074 int sign; //Indicates whether the function must read the sign of the indicator. 04075 int decimalPoint; //Determines whether to look for a decimal separator after each digit. 04076 } LCDOptions; 04077 04078 typedef struct LCDReport_struct { 04079 const char* text; //A string of the characters of the LCD. 04080 LCDSegments* segmentInfo; //An array of LCDSegment structures describing which segments of each digit are on. 04081 int numCharacters; //The number of characters that the function reads. 04082 int reserved; //This element is reserved. 04083 } LCDReport; 04084 04085 typedef struct LCDSegments_struct { 04086 unsigned a:1; //True if the a segment is on. 04087 unsigned b:1; //True if the b segment is on. 04088 unsigned c:1; //True if the c segment is on. 04089 unsigned d:1; //True if the d segment is on. 04090 unsigned e:1; //True if the e segment is on. 04091 unsigned f:1; //True if the f segment is on. 04092 unsigned g:1; //True if the g segment is on. 04093 unsigned reserved:25; //This element is reserved. 04094 } LCDSegments; 04095 04096 typedef struct LearnCalibrationOptions_struct { 04097 CalibrationMode mode; //Specifies the type of algorithm you want to use to reduce distortion in your image. 04098 ScalingMethod method; //Defines the scaling method correction functions use to correct the image. 04099 CalibrationROI roi; //Specifies the ROI correction functions use when correcting an image. 04100 int learnMap; //Set this element to TRUE if you want the function to calculate and store an error map during the learning process. 04101 int learnTable; //Set this element to TRUE if you want the function to calculate and store the correction table. 04102 } LearnCalibrationOptions; 04103 04104 typedef struct LearnColorPatternOptions_struct { 04105 LearningMode learnMode; //Specifies the invariance mode the function uses when learning the pattern. 04106 ImageFeatureMode featureMode; //Specifies the features the function uses when learning the color pattern. 04107 int threshold; //Specifies the saturation threshold the function uses to distinguish between two colors that have the same hue values. 04108 ColorIgnoreMode ignoreMode; //Specifies whether the function excludes certain colors from the color features of the template image. 04109 ColorInformation* colorsToIgnore; //An array of ColorInformation structures providing a set of colors to exclude from the color features of the template image. 04110 int numColorsToIgnore; //The number of ColorInformation structures in the colorsToIgnore array. 04111 } LearnColorPatternOptions; 04112 04113 typedef struct Line_struct { 04114 Point start; //The coordinate location of the start of the line. 04115 Point end; //The coordinate location of the end of the line. 04116 } Line; 04117 04118 typedef struct LinearAverages_struct { 04119 float* columnAverages; //An array containing the mean pixel value of each column. 04120 int columnCount; //The number of elements in the columnAverages array. 04121 float* rowAverages; //An array containing the mean pixel value of each row. 04122 int rowCount; //The number of elements in the rowAverages array. 04123 float* risingDiagAverages; //An array containing the mean pixel value of each diagonal running from the lower left to the upper right of the inspected area of the image. 04124 int risingDiagCount; //The number of elements in the risingDiagAverages array. 04125 float* fallingDiagAverages; //An array containing the mean pixel value of each diagonal running from the upper left to the lower right of the inspected area of the image. 04126 int fallingDiagCount; //The number of elements in the fallingDiagAverages array. 04127 } LinearAverages; 04128 04129 typedef struct LineProfile_struct { 04130 float* profileData; //An array containing the value of each pixel in the line. 04131 Rect boundingBox; //The bounding rectangle of the line. 04132 float min; //The smallest pixel value in the line profile. 04133 float max; //The largest pixel value in the line profile. 04134 float mean; //The mean value of the pixels in the line profile. 04135 float stdDev; //The standard deviation of the line profile. 04136 int dataCount; //The size of the profileData array. 04137 } LineProfile; 04138 04139 typedef struct MatchColorPatternOptions_struct { 04140 MatchingMode matchMode; //Specifies the method to use when looking for the color pattern in the image. 04141 ImageFeatureMode featureMode; //Specifies the features to use when looking for the color pattern in the image. 04142 int minContrast; //Specifies the minimum contrast expected in the image. 04143 int subpixelAccuracy; //Set this parameter to TRUE to return areas in the image that match the pattern area with subpixel accuracy. 04144 RotationAngleRange* angleRanges; //An array of angle ranges, in degrees, where each range specifies how much you expect the pattern to be rotated in the image. 04145 int numRanges; //Number of angle ranges in the angleRanges array. 04146 double colorWeight; //Determines the percent contribution of the color score to the final color pattern matching score. 04147 ColorSensitivity sensitivity; //Specifies the sensitivity of the color information in the image. 04148 SearchStrategy strategy; //Specifies how the color features of the image are used during the search phase. 04149 int numMatchesRequested; //Number of valid matches expected. 04150 float minMatchScore; //The minimum score a match can have for the function to consider the match valid. 04151 } MatchColorPatternOptions; 04152 04153 typedef struct HistogramReport_struct { 04154 int* histogram; //An array describing the number of pixels that fell into each class. 04155 int histogramCount; //The number of elements in the histogram array. 04156 float min; //The smallest pixel value that the function classified. 04157 float max; //The largest pixel value that the function classified. 04158 float start; //The smallest pixel value that fell into the first class. 04159 float width; //The size of each class. 04160 float mean; //The mean value of the pixels that the function classified. 04161 float stdDev; //The standard deviation of the pixels that the function classified. 04162 int numPixels; //The number of pixels that the function classified. 04163 } HistogramReport; 04164 04165 typedef struct ArcInfo_struct { 04166 Rect boundingBox; //The coordinate location of the bounding box of the arc. 04167 double startAngle; //The counterclockwise angle from the x-axis in degrees to the start of the arc. 04168 double endAngle; //The counterclockwise angle from the x-axis in degrees to the end of the arc. 04169 } ArcInfo; 04170 04171 typedef struct AxisReport_struct { 04172 PointFloat origin; //The origin of the coordinate system, which is the intersection of the two axes of the coordinate system. 04173 PointFloat mainAxisEnd; //The end of the main axis, which is the result of the computation of the intersection of the main axis with the rectangular search area. 04174 PointFloat secondaryAxisEnd; //The end of the secondary axis, which is the result of the computation of the intersection of the secondary axis with the rectangular search area. 04175 } AxisReport; 04176 04177 typedef struct BarcodeInfo_struct { 04178 const char* outputString; //A string containing the decoded barcode data. 04179 int size; //The size of the output string. 04180 char outputChar1; //The contents of this character depend on the barcode type. 04181 char outputChar2; //The contents of this character depend on the barcode type. 04182 double confidenceLevel; //A quality measure of the decoded barcode ranging from 0 to 100, with 100 being the best. 04183 BarcodeType type; //The type of barcode. 04184 } BarcodeInfo; 04185 04186 typedef struct BCGOptions_struct { 04187 float brightness; //Adjusts the brightness of the image. 04188 float contrast; //Adjusts the contrast of the image. 04189 float gamma; //Performs gamma correction. 04190 } BCGOptions; 04191 04192 typedef struct BestCircle_struct { 04193 PointFloat center; //The coordinate location of the center of the circle. 04194 double radius; //The radius of the circle. 04195 double area; //The area of the circle. 04196 double perimeter; //The length of the perimeter of the circle. 04197 double error; //Represents the least square error of the fitted circle to the entire set of points. 04198 } BestCircle; 04199 04200 typedef struct BestEllipse_struct { 04201 PointFloat center; //The coordinate location of the center of the ellipse. 04202 PointFloat majorAxisStart; //The coordinate location of the start of the major axis of the ellipse. 04203 PointFloat majorAxisEnd; //The coordinate location of the end of the major axis of the ellipse. 04204 PointFloat minorAxisStart; //The coordinate location of the start of the minor axis of the ellipse. 04205 PointFloat minorAxisEnd; //The coordinate location of the end of the minor axis of the ellipse. 04206 double area; //The area of the ellipse. 04207 double perimeter; //The length of the perimeter of the ellipse. 04208 } BestEllipse; 04209 04210 typedef struct BestLine_struct { 04211 PointFloat start; //The coordinate location of the start of the line. 04212 PointFloat end; //The coordinate location of the end of the line. 04213 LineEquation equation; //Defines the three coefficients of the equation of the best fit line. 04214 int valid; //This element is TRUE if the function achieved the minimum score within the number of allowed refinement iterations and FALSE if the function did not achieve the minimum score. 04215 double error; //Represents the least square error of the fitted line to the entire set of points. 04216 int* pointsUsed; //An array of the indexes for the points array indicating which points the function used to fit the line. 04217 int numPointsUsed; //The number of points the function used to fit the line. 04218 } BestLine; 04219 04220 typedef struct BrowserOptions_struct { 04221 int width; //The width to make the browser. 04222 int height; //The height to make the browser image. 04223 int imagesPerLine; //The number of images to place on a single line. 04224 RGBValue backgroundColor; //The background color of the browser. 04225 int frameSize; //Specifies the number of pixels with which to border each thumbnail. 04226 BrowserFrameStyle style; //The style for the frame around each thumbnail. 04227 float ratio; //Specifies the width to height ratio of each thumbnail. 04228 RGBValue focusColor; //The color to use to display focused cells. 04229 } BrowserOptions; 04230 04231 typedef struct CoordinateSystem_struct { 04232 PointFloat origin; //The origin of the coordinate system. 04233 float angle; //The angle, in degrees, of the x-axis of the coordinate system relative to the image x-axis. 04234 AxisOrientation axisOrientation; //The direction of the y-axis of the coordinate reference system. 04235 } CoordinateSystem; 04236 04237 typedef struct CalibrationInfo_struct { 04238 float* errorMap; //The error map for the calibration. 04239 int mapColumns; //The number of columns in the error map. 04240 int mapRows; //The number of rows in the error map. 04241 ROI* userRoi; //Specifies the ROI the user provided when learning the calibration. 04242 ROI* calibrationRoi; //Specifies the ROI that corresponds to the region of the image where the calibration information is accurate. 04243 LearnCalibrationOptions options; //Specifies the calibration options the user provided when learning the calibration. 04244 GridDescriptor grid; //Specifies the scaling constants for the image. 04245 CoordinateSystem system; //Specifies the coordinate system for the real world coordinates. 04246 RangeFloat range; //The range of the grayscale the function used to represent the circles in the grid image. 04247 float quality; //The quality score of the learning process, which is a value between 0-1000. 04248 } CalibrationInfo; 04249 04250 typedef struct CalibrationPoints_struct { 04251 PointFloat* pixelCoordinates; //The array of pixel coordinates. 04252 PointFloat* realWorldCoordinates; //The array of corresponding real-world coordinates. 04253 int numCoordinates; //The number of coordinates in both of the arrays. 04254 } CalibrationPoints; 04255 04256 typedef struct CaliperOptions_struct { 04257 TwoEdgePolarityType polarity; //Specifies the edge polarity of the edge pairs. 04258 float separation; //The distance between edge pairs. 04259 float separationDeviation; //Sets the range around the separation value. 04260 } CaliperOptions; 04261 04262 typedef struct CaliperReport_struct { 04263 float edge1Contrast; //The contrast of the first edge. 04264 PointFloat edge1Coord; //The coordinates of the first edge. 04265 float edge2Contrast; //The contrast of the second edge. 04266 PointFloat edge2Coord; //The coordinates of the second edge. 04267 float separation; //The distance between the two edges. 04268 float reserved; //This element is reserved. 04269 } CaliperReport; 04270 04271 typedef struct DrawTextOptions_struct { 04272 char fontName[32]; //The font name to use. 04273 int fontSize; //The size of the font. 04274 int bold; //Set this parameter to TRUE to bold text. 04275 int italic; //Set this parameter to TRUE to italicize text. 04276 int underline; //Set this parameter to TRUE to underline text. 04277 int strikeout; //Set this parameter to TRUE to strikeout text. 04278 TextAlignment textAlignment; //Sets the alignment of text. 04279 FontColor fontColor; //Sets the font color. 04280 } DrawTextOptions; 04281 04282 typedef struct CircleReport_struct { 04283 Point center; //The coordinate point of the center of the circle. 04284 int radius; //The radius of the circle, in pixels. 04285 int area; //The area of the circle, in pixels. 04286 } CircleReport; 04287 04288 typedef struct ClosedContour_struct { 04289 Point* points; //The points that make up the closed contour. 04290 int numPoints; //The number of points in the array. 04291 } ClosedContour; 04292 04293 typedef struct ColorHistogramReport_struct { 04294 HistogramReport plane1; //The histogram report of the first color plane. 04295 HistogramReport plane2; //The histogram report of the second plane. 04296 HistogramReport plane3; //The histogram report of the third plane. 04297 } ColorHistogramReport; 04298 04299 typedef struct ColorInformation_struct { 04300 int infoCount; //The size of the info array. 04301 int saturation; //The saturation level the function uses to learn the color information. 04302 double* info; //An array of color information that represents the color spectrum analysis of a region of an image in a compact form. 04303 } ColorInformation; 04304 04305 typedef struct Complex_struct { 04306 float r; //The real part of the value. 04307 float i; //The imaginary part of the value. 04308 } Complex; 04309 04310 typedef struct ConcentricRakeReport_struct { 04311 ArcInfo* rakeArcs; //An array containing the location of each concentric arc line used for edge detection. 04312 int numArcs; //The number of arc lines in the rakeArcs array. 04313 PointFloat* firstEdges; //The coordinate location of all edges detected as first edges. 04314 int numFirstEdges; //The number of points in the first edges array. 04315 PointFloat* lastEdges; //The coordinate location of all edges detected as last edges. 04316 int numLastEdges; //The number of points in the last edges array. 04317 EdgeLocationReport* allEdges; //An array of reports describing the location of the edges located by each concentric rake arc line. 04318 int* linesWithEdges; //An array of indices into the rakeArcs array indicating the concentric rake arc lines on which the function detected at least one edge. 04319 int numLinesWithEdges; //The number of concentric rake arc lines along which the function detected edges. 04320 } ConcentricRakeReport; 04321 04322 typedef struct ConstructROIOptions_struct { 04323 int windowNumber; //The window number of the image window. 04324 const char* windowTitle; //Specifies the message string that the function displays in the title bar of the window. 04325 PaletteType type; //The palette type to use. 04326 RGBValue* palette; //If type is IMAQ_PALETTE_USER, this array is the palette of colors to use with the window. 04327 int numColors; //If type is IMAQ_PALETTE_USER, this element is the number of colors in the palette array. 04328 } ConstructROIOptions; 04329 04330 typedef struct ContourInfo_struct { 04331 ContourType type; //The contour type. 04332 unsigned numPoints; //The number of points that make up the contour. 04333 Point* points; //The points describing the contour. 04334 RGBValue contourColor; //The contour color. 04335 } ContourInfo; 04336 04337 typedef union ContourUnion_union { 04338 Point* point; //Use this member when the contour is of type IMAQ_POINT. 04339 Line* line; //Use this member when the contour is of type IMAQ_LINE. 04340 Rect* rect; //Use this member when the contour is of type IMAQ_RECT. 04341 Rect* ovalBoundingBox; //Use this member when the contour is of type IMAQ_OVAL. 04342 ClosedContour* closedContour; //Use this member when the contour is of type IMAQ_CLOSED_CONTOUR. 04343 OpenContour* openContour; //Use this member when the contour is of type IMAQ_OPEN_CONTOUR. 04344 Annulus* annulus; //Use this member when the contour is of type IMAQ_ANNULUS. 04345 RotatedRect* rotatedRect; //Use this member when the contour is of type IMAQ_ROTATED_RECT. 04346 } ContourUnion; 04347 04348 typedef struct ContourInfo2_struct { 04349 ContourType type; //The contour type. 04350 RGBValue color; //The contour color. 04351 ContourUnion structure; //The information necessary to describe the contour in coordinate space. 04352 } ContourInfo2; 04353 04354 typedef struct ContourPoint_struct { 04355 double x; //The x-coordinate value in the image. 04356 double y; //The y-coordinate value in the image. 04357 double curvature; //The change in slope at this edge point of the segment. 04358 double xDisplacement; //The x displacement of the current edge pixel from a cubic spline fit of the current edge segment. 04359 double yDisplacement; //The y displacement of the current edge pixel from a cubic spline fit of the current edge segment. 04360 } ContourPoint; 04361 04362 typedef struct CoordinateTransform_struct { 04363 Point initialOrigin; //The origin of the initial coordinate system. 04364 float initialAngle; //The angle, in degrees, of the x-axis of the initial coordinate system relative to the image x-axis. 04365 Point finalOrigin; //The origin of the final coordinate system. 04366 float finalAngle; //The angle, in degrees, of the x-axis of the final coordinate system relative to the image x-axis. 04367 } CoordinateTransform; 04368 04369 typedef struct CoordinateTransform2_struct { 04370 CoordinateSystem referenceSystem; //Defines the coordinate system for input coordinates. 04371 CoordinateSystem measurementSystem; //Defines the coordinate system in which the function should perform measurements. 04372 } CoordinateTransform2; 04373 04374 typedef struct CannyOptions_struct { 04375 float sigma; //The sigma of the Gaussian smoothing filter that the function applies to the image before edge detection. 04376 float upperThreshold; //The upper fraction of pixel values in the image from which the function chooses a seed or starting point of an edge segment. 04377 float lowerThreshold; //The function multiplies this value by upperThreshold to determine the lower threshold for all the pixels in an edge segment. 04378 int windowSize; //The window size of the Gaussian filter that the function applies to the image. 04379 } CannyOptions; 04380 04381 typedef struct Range_struct { 04382 int minValue; //The minimum value of the range. 04383 int maxValue; //The maximum value of the range. 04384 } Range; 04385 04386 typedef struct UserPointSymbol_struct { 04387 int cols; //Number of columns in the symbol. 04388 int rows; //Number of rows in the symbol. 04389 int* pixels; //The pixels of the symbol. 04390 } UserPointSymbol; 04391 04392 typedef struct View3DOptions_struct { 04393 int sizeReduction; //A divisor the function uses when determining the final height and width of the 3D image. 04394 int maxHeight; //Defines the maximum height of a pixel from the image source drawn in 3D. 04395 Direction3D direction; //Defines the 3D orientation. 04396 float alpha; //Determines the angle between the horizontal and the baseline. 04397 float beta; //Determines the angle between the horizontal and the second baseline. 04398 int border; //Defines the border size. 04399 int background; //Defines the background color. 04400 Plane3D plane; //Indicates the view a function uses to show complex images. 04401 } View3DOptions; 04402 04403 typedef struct MatchPatternOptions_struct { 04404 MatchingMode mode; //Specifies the method to use when looking for the pattern in the image. 04405 int minContrast; //Specifies the minimum contrast expected in the image. 04406 int subpixelAccuracy; //Set this element to TRUE to return areas in the image that match the pattern area with subpixel accuracy. 04407 RotationAngleRange* angleRanges; //An array of angle ranges, in degrees, where each range specifies how much you expect the pattern to be rotated in the image. 04408 int numRanges; //Number of angle ranges in the angleRanges array. 04409 int numMatchesRequested; //Number of valid matches expected. 04410 int matchFactor; //Controls the number of potential matches that the function examines. 04411 float minMatchScore; //The minimum score a match can have for the function to consider the match valid. 04412 } MatchPatternOptions; 04413 04414 typedef struct TIFFFileOptions_struct { 04415 int rowsPerStrip; //Indicates the number of rows that the function writes per strip. 04416 PhotometricMode photoInterp; //Designates which photometric interpretation to use. 04417 TIFFCompressionType compressionType; //Indicates the type of compression to use on the TIFF file. 04418 } TIFFFileOptions; 04419 04420 typedef union Color_union { 04421 RGBValue rgb; //The information needed to describe a color in the RGB (Red, Green, and Blue) color space. 04422 HSLValue hsl; //The information needed to describe a color in the HSL (Hue, Saturation, and Luminance) color space. 04423 HSVValue hsv; //The information needed to describe a color in the HSI (Hue, Saturation, and Value) color space. 04424 HSIValue hsi; //The information needed to describe a color in the HSI (Hue, Saturation, and Intensity) color space. 04425 int rawValue; //The integer value for the data in the color union. 04426 } Color; 04427 04428 typedef union PixelValue_union { 04429 float grayscale; //A grayscale pixel value. 04430 RGBValue rgb; //A RGB pixel value. 04431 HSLValue hsl; //A HSL pixel value. 04432 Complex complex; //A complex pixel value. 04433 RGBU64Value rgbu64; //An unsigned 64-bit RGB pixel value. 04434 } PixelValue; 04435 04436 typedef struct OpenContour_struct { 04437 Point* points; //The points that make up the open contour. 04438 int numPoints; //The number of points in the array. 04439 } OpenContour; 04440 04441 typedef struct OverlayTextOptions_struct { 04442 const char* fontName; //The name of the font to use. 04443 int fontSize; //The size of the font. 04444 int bold; //Set this element to TRUE to bold the text. 04445 int italic; //Set this element to TRUE to italicize the text. 04446 int underline; //Set this element to TRUE to underline the text. 04447 int strikeout; //Set this element to TRUE to strikeout the text. 04448 TextAlignment horizontalTextAlignment; //Sets the alignment of the text. 04449 VerticalTextAlignment verticalTextAlignment; //Sets the vertical alignment for the text. 04450 RGBValue backgroundColor; //Sets the color for the text background pixels. 04451 double angle; //The counterclockwise angle, in degrees, of the text relative to the x-axis. 04452 } OverlayTextOptions; 04453 04454 typedef struct ParticleFilterCriteria_struct { 04455 MeasurementValue parameter; //The morphological measurement that the function uses for filtering. 04456 float lower; //The lower bound of the criteria range. 04457 float upper; //The upper bound of the criteria range. 04458 int exclude; //Set this element to TRUE to indicate that a match occurs when the value is outside the criteria range. 04459 } ParticleFilterCriteria; 04460 04461 typedef struct ParticleReport_struct { 04462 int area; //The number of pixels in the particle. 04463 float calibratedArea; //The size of the particle, calibrated to the calibration information of the image. 04464 float perimeter; //The length of the perimeter, calibrated to the calibration information of the image. 04465 int numHoles; //The number of holes in the particle. 04466 int areaOfHoles; //The total surface area, in pixels, of all the holes in a particle. 04467 float perimeterOfHoles; //The length of the perimeter of all the holes in the particle calibrated to the calibration information of the image. 04468 Rect boundingBox; //The smallest rectangle that encloses the particle. 04469 float sigmaX; //The sum of the particle pixels on the x-axis. 04470 float sigmaY; //The sum of the particle pixels on the y-axis. 04471 float sigmaXX; //The sum of the particle pixels on the x-axis, squared. 04472 float sigmaYY; //The sum of the particle pixels on the y-axis, squared. 04473 float sigmaXY; //The sum of the particle pixels on the x-axis and y-axis. 04474 int longestLength; //The length of the longest horizontal line segment. 04475 Point longestPoint; //The location of the leftmost pixel of the longest segment in the particle. 04476 int projectionX; //The length of the particle when projected onto the x-axis. 04477 int projectionY; //The length of the particle when projected onto the y-axis. 04478 int connect8; //This element is TRUE if the function used connectivity-8 to determine if particles are touching. 04479 } ParticleReport; 04480 04481 typedef struct PatternMatch_struct { 04482 PointFloat position; //The location of the center of the match. 04483 float rotation; //The rotation of the match relative to the template image, in degrees. 04484 float scale; //The size of the match relative to the size of the template image, expressed as a percentage. 04485 float score; //The accuracy of the match. 04486 PointFloat corner[4]; //An array of four points describing the rectangle surrounding the template image. 04487 } PatternMatch; 04488 04489 typedef struct QuantifyData_struct { 04490 float mean; //The mean value of the pixel values. 04491 float stdDev; //The standard deviation of the pixel values. 04492 float min; //The smallest pixel value. 04493 float max; //The largest pixel value. 04494 float calibratedArea; //The area, calibrated to the calibration information of the image. 04495 int pixelArea; //The area, in number of pixels. 04496 float relativeSize; //The proportion, expressed as a percentage, of the associated region relative to the whole image. 04497 } QuantifyData; 04498 04499 typedef struct QuantifyReport_struct { 04500 QuantifyData global; //Statistical data of the whole image. 04501 QuantifyData* regions; //An array of QuantifyData structures containing statistical data of each region of the image. 04502 int regionCount; //The number of regions. 04503 } QuantifyReport; 04504 04505 typedef struct RakeOptions_struct { 04506 int threshold; //Specifies the threshold value for the contrast of the edge. 04507 int width; //The number of pixels that the function averages to find the contrast at either side of the edge. 04508 int steepness; //The span, in pixels, of the slope of the edge projected along the path specified by the input points. 04509 int subsamplingRatio; //Specifies the number of pixels that separate two consecutive search lines. 04510 InterpolationMethod subpixelType; //The method for interpolating. 04511 int subpixelDivisions; //The number of samples the function obtains from a pixel. 04512 } RakeOptions; 04513 04514 typedef struct RakeReport_struct { 04515 LineFloat* rakeLines; //The coordinate location of each of the rake lines used by the function. 04516 int numRakeLines; //The number of lines in the rakeLines array. 04517 PointFloat* firstEdges; //The coordinate location of all edges detected as first edges. 04518 unsigned int numFirstEdges; //The number of points in the firstEdges array. 04519 PointFloat* lastEdges; //The coordinate location of all edges detected as last edges. 04520 unsigned int numLastEdges; //The number of points in the lastEdges array. 04521 EdgeLocationReport* allEdges; //An array of reports describing the location of the edges located by each rake line. 04522 int* linesWithEdges; //An array of indices into the rakeLines array indicating the rake lines on which the function detected at least one edge. 04523 int numLinesWithEdges; //The number of rake lines along which the function detected edges. 04524 } RakeReport; 04525 04526 typedef struct TransformReport_struct { 04527 PointFloat* points; //An array of transformed coordinates. 04528 int* validPoints; //An array of values that describe the validity of each of the coordinates according to the region of interest you calibrated using either imaqLearnCalibrationGrid() or imaqLearnCalibrationPoints(). 04529 int numPoints; //The length of both the points array and the validPoints array. 04530 } TransformReport; 04531 04532 typedef struct ShapeReport_struct { 04533 Rect coordinates; //The bounding rectangle of the object. 04534 Point centroid; //The coordinate location of the centroid of the object. 04535 int size; //The size, in pixels, of the object. 04536 double score; //A value ranging between 1 and 1,000 that specifies how similar the object in the image is to the template. 04537 } ShapeReport; 04538 04539 typedef struct MeterArc_struct { 04540 PointFloat needleBase; //The coordinate location of the base of the meter needle. 04541 PointFloat* arcCoordPoints; //An array of points describing the coordinate location of the meter arc. 04542 int numOfArcCoordPoints; //The number of points in the arcCoordPoints array. 04543 int needleColor; //This element is TRUE when the meter has a light-colored needle on a dark background. 04544 } MeterArc; 04545 04546 typedef struct ThresholdData_struct { 04547 float rangeMin; //The lower boundary of the range to keep. 04548 float rangeMax; //The upper boundary of the range to keep. 04549 float newValue; //If useNewValue is TRUE, newValue is the replacement value for pixels within the range. 04550 int useNewValue; //If TRUE, the function sets pixel values within [rangeMin, rangeMax] to the value specified in newValue. 04551 } ThresholdData; 04552 04553 typedef struct StructuringElement_struct { 04554 int matrixCols; //Number of columns in the matrix. 04555 int matrixRows; //Number of rows in the matrix. 04556 int hexa; //Set this element to TRUE if you specify a hexagonal structuring element in kernel. 04557 int* kernel; //The values of the structuring element. 04558 } StructuringElement; 04559 04560 typedef struct SpokeReport_struct { 04561 LineFloat* spokeLines; //The coordinate location of each of the spoke lines used by the function. 04562 int numSpokeLines; //The number of lines in the spokeLines array. 04563 PointFloat* firstEdges; //The coordinate location of all edges detected as first edges. 04564 int numFirstEdges; //The number of points in the firstEdges array. 04565 PointFloat* lastEdges; //The coordinate location of all edges detected as last edges. 04566 int numLastEdges; //The number of points in the lastEdges array. 04567 EdgeLocationReport* allEdges; //An array of reports describing the location of the edges located by each spoke line. 04568 int* linesWithEdges; //An array of indices into the spokeLines array indicating the rake lines on which the function detected at least one edge. 04569 int numLinesWithEdges; //The number of spoke lines along which the function detects edges. 04570 } SpokeReport; 04571 04572 typedef struct SimpleEdgeOptions_struct { 04573 LevelType type; //Determines how the function evaluates the threshold and hysteresis values. 04574 int threshold; //The pixel value at which an edge occurs. 04575 int hysteresis; //A value that helps determine edges in noisy images. 04576 EdgeProcess process; //Determines which edges the function looks for. 04577 int subpixel; //Set this element to TRUE to find edges with subpixel accuracy by interpolating between points to find the crossing of the given threshold. 04578 } SimpleEdgeOptions; 04579 04580 typedef struct SelectParticleCriteria_struct { 04581 MeasurementValue parameter; //The morphological measurement that the function uses for filtering. 04582 float lower; //The lower boundary of the criteria range. 04583 float upper; //The upper boundary of the criteria range. 04584 } SelectParticleCriteria; 04585 04586 typedef struct SegmentInfo_struct { 04587 int numberOfPoints; //The number of points in the segment. 04588 int isOpen; //If TRUE, the contour is open. 04589 double weight; //The significance of the edge in terms of the gray values that constitute the edge. 04590 ContourPoint* points; //The points of the segment. 04591 } SegmentInfo; 04592 04593 typedef struct RotationAngleRange_struct { 04594 float lower; //The lowest amount of rotation, in degrees, a valid pattern can have. 04595 float upper; //The highest amount of rotation, in degrees, a valid pattern can have. 04596 } RotationAngleRange; 04597 04598 typedef struct RotatedRect_struct { 04599 int top; //Location of the top edge of the rectangle before rotation. 04600 int left; //Location of the left edge of the rectangle before rotation. 04601 int height; //Height of the rectangle. 04602 int width; //Width of the rectangle. 04603 double angle; //The rotation, in degrees, of the rectangle. 04604 } RotatedRect; 04605 04606 typedef struct ROIProfile_struct { 04607 LineProfile report; //Quantifying information about the points along the edge of each contour in the ROI. 04608 Point* pixels; //An array of the points along the edge of each contour in the ROI. 04609 } ROIProfile; 04610 04611 typedef struct ToolWindowOptions_struct { 04612 int showSelectionTool; //If TRUE, the selection tool becomes visible. 04613 int showZoomTool; //If TRUE, the zoom tool becomes visible. 04614 int showPointTool; //If TRUE, the point tool becomes visible. 04615 int showLineTool; //If TRUE, the line tool becomes visible. 04616 int showRectangleTool; //If TRUE, the rectangle tool becomes visible. 04617 int showOvalTool; //If TRUE, the oval tool becomes visible. 04618 int showPolygonTool; //If TRUE, the polygon tool becomes visible. 04619 int showClosedFreehandTool; //If TRUE, the closed freehand tool becomes visible. 04620 int showPolyLineTool; //If TRUE, the polyline tool becomes visible. 04621 int showFreehandTool; //If TRUE, the freehand tool becomes visible. 04622 int showAnnulusTool; //If TRUE, the annulus becomes visible. 04623 int showRotatedRectangleTool; //If TRUE, the rotated rectangle tool becomes visible. 04624 int showPanTool; //If TRUE, the pan tool becomes visible. 04625 int showZoomOutTool; //If TRUE, the zoom out tool becomes visible. 04626 int reserved2; //This element is reserved and should be set to FALSE. 04627 int reserved3; //This element is reserved and should be set to FALSE. 04628 int reserved4; //This element is reserved and should be set to FALSE. 04629 } ToolWindowOptions; 04630 04631 typedef struct SpokeOptions_struct { 04632 int threshold; //Specifies the threshold value for the contrast of the edge. 04633 int width; //The number of pixels that the function averages to find the contrast at either side of the edge. 04634 int steepness; //The span, in pixels, of the slope of the edge projected along the path specified by the input points. 04635 double subsamplingRatio; //The angle, in degrees, between each radial search line in the spoke. 04636 InterpolationMethod subpixelType; //The method for interpolating. 04637 int subpixelDivisions; //The number of samples the function obtains from a pixel. 04638 } SpokeOptions; 04639 04640 #if !defined __GNUC__ && !defined _M_X64 04641 #pragma pack(pop) 04642 #endif 04643 04644 //============================================================================ 04645 // Callback Function Type 04646 //============================================================================ 04647 #ifndef __GNUC__ 04648 typedef void (IMAQ_CALLBACK* EventCallback)(WindowEventType event, int windowNumber, Tool tool, Rect rect); 04649 #endif 04650 04651 //============================================================================ 04652 // Globals 04653 //============================================================================ 04654 #ifndef __GNUC__ 04655 #pragma const_seg("IMAQVisionColorConstants") 04656 #endif 04657 static const RGBValue IMAQ_RGB_TRANSPARENT = { 0, 0, 0, 1 }; 04658 static const RGBValue IMAQ_RGB_RED = { 0, 0, 255, 0 }; 04659 static const RGBValue IMAQ_RGB_BLUE = { 255, 0, 0, 0 }; 04660 static const RGBValue IMAQ_RGB_GREEN = { 0, 255, 0, 0 }; 04661 static const RGBValue IMAQ_RGB_YELLOW = { 0, 255, 255, 0 }; 04662 static const RGBValue IMAQ_RGB_WHITE = { 255, 255, 255, 0 }; 04663 static const RGBValue IMAQ_RGB_BLACK = { 0, 0, 0, 0 }; 04664 #ifndef __GNUC__ 04665 #pragma const_seg() 04666 #endif 04667 04668 //============================================================================ 04669 // Backwards Compatibility 04670 //============================================================================ 04671 typedef ColorSensitivity ColorComplexity; 04672 #define IMAQ_COMPLEXITY_LOW IMAQ_SENSITIVITY_LOW 04673 #define IMAQ_COMPLEXITY_MED IMAQ_SENSITIVITY_MED 04674 #define IMAQ_COMPLEXITY_HIGH IMAQ_SENSITIVITY_HIGH 04675 #define ERR_INVALID_COLORCOMPLEXITY ERR_INVALID_COLORSENSITIVITY 04676 04677 //============================================================================ 04678 // Logical functions 04679 //============================================================================ 04680 IMAQ_FUNC int IMAQ_STDCALL imaqAnd(Image* dest, const Image* sourceA, const Image* sourceB); 04681 IMAQ_FUNC int IMAQ_STDCALL imaqAndConstant(Image* dest, const Image* source, PixelValue value); 04682 IMAQ_FUNC int IMAQ_STDCALL imaqCompare(Image* dest, const Image* source, const Image* compareImage, ComparisonFunction compare); 04683 IMAQ_FUNC int IMAQ_STDCALL imaqCompareConstant(Image* dest, const Image* source, PixelValue value, ComparisonFunction compare); 04684 IMAQ_FUNC int IMAQ_STDCALL imaqLogicalDifference(Image* dest, const Image* sourceA, const Image* sourceB); 04685 IMAQ_FUNC int IMAQ_STDCALL imaqLogicalDifferenceConstant(Image* dest, const Image* source, PixelValue value); 04686 IMAQ_FUNC int IMAQ_STDCALL imaqNand(Image* dest, const Image* sourceA, const Image* sourceB); 04687 IMAQ_FUNC int IMAQ_STDCALL imaqNandConstant(Image* dest, const Image* source, PixelValue value); 04688 IMAQ_FUNC int IMAQ_STDCALL imaqNor(Image* dest, const Image* sourceA, const Image* sourceB); 04689 IMAQ_FUNC int IMAQ_STDCALL imaqNorConstant(Image* dest, const Image* source, PixelValue value); 04690 IMAQ_FUNC int IMAQ_STDCALL imaqOr(Image* dest, const Image* sourceA, const Image* sourceB); 04691 IMAQ_FUNC int IMAQ_STDCALL imaqOrConstant(Image* dest, const Image* source, PixelValue value); 04692 IMAQ_FUNC int IMAQ_STDCALL imaqXnor(Image* dest, const Image* sourceA, const Image* sourceB); 04693 IMAQ_FUNC int IMAQ_STDCALL imaqXnorConstant(Image* dest, const Image* source, PixelValue value); 04694 IMAQ_FUNC int IMAQ_STDCALL imaqXor(Image* dest, const Image* sourceA, const Image* sourceB); 04695 IMAQ_FUNC int IMAQ_STDCALL imaqXorConstant(Image* dest, const Image* source, PixelValue value); 04696 04697 //============================================================================ 04698 // Particle Analysis functions 04699 //============================================================================ 04700 IMAQ_FUNC int IMAQ_STDCALL imaqCountParticles(Image* image, int connectivity8, int* numParticles); 04701 IMAQ_FUNC int IMAQ_STDCALL imaqMeasureParticle(Image* image, int particleNumber, int calibrated, MeasurementType measurement, double* value); 04702 IMAQ_FUNC MeasureParticlesReport* IMAQ_STDCALL imaqMeasureParticles(Image* image, MeasureParticlesCalibrationMode calibrationMode, const MeasurementType* measurements, size_t numMeasurements); 04703 IMAQ_FUNC int IMAQ_STDCALL imaqParticleFilter4(Image* dest, Image* source, const ParticleFilterCriteria2* criteria, int criteriaCount, const ParticleFilterOptions2* options, const ROI* roi, int* numParticles); 04704 04705 //============================================================================ 04706 // Morphology functions 04707 //============================================================================ 04708 IMAQ_FUNC int IMAQ_STDCALL imaqConvexHull(Image* dest, Image* source, int connectivity8); 04709 IMAQ_FUNC int IMAQ_STDCALL imaqDanielssonDistance(Image* dest, Image* source); 04710 IMAQ_FUNC int IMAQ_STDCALL imaqFillHoles(Image* dest, const Image* source, int connectivity8); 04711 IMAQ_FUNC CircleReport* IMAQ_STDCALL imaqFindCircles(Image* dest, Image* source, float minRadius, float maxRadius, int* numCircles); 04712 IMAQ_FUNC int IMAQ_STDCALL imaqLabel2(Image* dest, Image* source, int connectivity8, int* particleCount); 04713 IMAQ_FUNC int IMAQ_STDCALL imaqMorphology(Image* dest, Image* source, MorphologyMethod method, const StructuringElement* structuringElement); 04714 IMAQ_FUNC int IMAQ_STDCALL imaqRejectBorder(Image* dest, Image* source, int connectivity8); 04715 IMAQ_FUNC int IMAQ_STDCALL imaqSegmentation(Image* dest, Image* source); 04716 IMAQ_FUNC int IMAQ_STDCALL imaqSeparation(Image* dest, Image* source, int erosions, const StructuringElement* structuringElement); 04717 IMAQ_FUNC int IMAQ_STDCALL imaqSimpleDistance(Image* dest, Image* source, const StructuringElement* structuringElement); 04718 IMAQ_FUNC int IMAQ_STDCALL imaqSizeFilter(Image* dest, Image* source, int connectivity8, int erosions, SizeType keepSize, const StructuringElement* structuringElement); 04719 IMAQ_FUNC int IMAQ_STDCALL imaqSkeleton(Image* dest, Image* source, SkeletonMethod method); 04720 04721 04722 //============================================================================ 04723 // Acquisition functions 04724 //============================================================================ 04725 IMAQ_FUNC Image* IMAQ_STDCALL imaqCopyFromRing(SESSION_ID sessionID, Image* image, int imageToCopy, int* imageNumber, Rect rect); 04726 IMAQ_FUNC Image* IMAQ_STDCALL imaqEasyAcquire(const char* interfaceName); 04727 IMAQ_FUNC Image* IMAQ_STDCALL imaqExtractFromRing(SESSION_ID sessionID, int imageToExtract, int* imageNumber); 04728 IMAQ_FUNC Image* IMAQ_STDCALL imaqGrab(SESSION_ID sessionID, Image* image, int immediate); 04729 IMAQ_FUNC int IMAQ_STDCALL imaqReleaseImage(SESSION_ID sessionID); 04730 IMAQ_FUNC int IMAQ_STDCALL imaqSetupGrab(SESSION_ID sessionID, Rect rect); 04731 IMAQ_FUNC int IMAQ_STDCALL imaqSetupRing(SESSION_ID sessionID, Image** images, int numImages, int skipCount, Rect rect); 04732 IMAQ_FUNC int IMAQ_STDCALL imaqSetupSequence(SESSION_ID sessionID, Image** images, int numImages, int skipCount, Rect rect); 04733 IMAQ_FUNC Image* IMAQ_STDCALL imaqSnap(SESSION_ID sessionID, Image* image, Rect rect); 04734 IMAQ_FUNC int IMAQ_STDCALL imaqStartAcquisition(SESSION_ID sessionID); 04735 IMAQ_FUNC int IMAQ_STDCALL imaqStopAcquisition(SESSION_ID sessionID); 04736 04737 //============================================================================ 04738 // Arithmetic functions 04739 //============================================================================ 04740 IMAQ_FUNC int IMAQ_STDCALL imaqAbsoluteDifference(Image* dest, const Image* sourceA, const Image* sourceB); 04741 IMAQ_FUNC int IMAQ_STDCALL imaqAbsoluteDifferenceConstant(Image* dest, const Image* source, PixelValue value); 04742 IMAQ_FUNC int IMAQ_STDCALL imaqAdd(Image* dest, const Image* sourceA, const Image* sourceB); 04743 IMAQ_FUNC int IMAQ_STDCALL imaqAddConstant(Image* dest, const Image* source, PixelValue value); 04744 IMAQ_FUNC int IMAQ_STDCALL imaqAverage(Image* dest, const Image* sourceA, const Image* sourceB); 04745 IMAQ_FUNC int IMAQ_STDCALL imaqAverageConstant(Image* dest, const Image* source, PixelValue value); 04746 IMAQ_FUNC int IMAQ_STDCALL imaqDivide2(Image* dest, const Image* sourceA, const Image* sourceB, RoundingMode roundingMode); 04747 IMAQ_FUNC int IMAQ_STDCALL imaqDivideConstant2(Image* dest, const Image* source, PixelValue value, RoundingMode roundingMode); 04748 IMAQ_FUNC int IMAQ_STDCALL imaqMax(Image* dest, const Image* sourceA, const Image* sourceB); 04749 IMAQ_FUNC int IMAQ_STDCALL imaqMaxConstant(Image* dest, const Image* source, PixelValue value); 04750 IMAQ_FUNC int IMAQ_STDCALL imaqMin(Image* dest, const Image* sourceA, const Image* sourceB); 04751 IMAQ_FUNC int IMAQ_STDCALL imaqMinConstant(Image* dest, const Image* source, PixelValue value); 04752 IMAQ_FUNC int IMAQ_STDCALL imaqModulo(Image* dest, const Image* sourceA, const Image* sourceB); 04753 IMAQ_FUNC int IMAQ_STDCALL imaqModuloConstant(Image* dest, const Image* source, PixelValue value); 04754 IMAQ_FUNC int IMAQ_STDCALL imaqMulDiv(Image* dest, const Image* sourceA, const Image* sourceB, float value); 04755 IMAQ_FUNC int IMAQ_STDCALL imaqMultiply(Image* dest, const Image* sourceA, const Image* sourceB); 04756 IMAQ_FUNC int IMAQ_STDCALL imaqMultiplyConstant(Image* dest, const Image* source, PixelValue value); 04757 IMAQ_FUNC int IMAQ_STDCALL imaqSubtract(Image* dest, const Image* sourceA, const Image* sourceB); 04758 IMAQ_FUNC int IMAQ_STDCALL imaqSubtractConstant(Image* dest, const Image* source, PixelValue value); 04759 04760 //============================================================================ 04761 // Caliper functions 04762 //============================================================================ 04763 IMAQ_FUNC CaliperReport* IMAQ_STDCALL imaqCaliperTool(const Image* image, const Point* points, int numPoints, const EdgeOptions* edgeOptions, const CaliperOptions* caliperOptions, int* numEdgePairs); 04764 IMAQ_FUNC ConcentricRakeReport2* IMAQ_STDCALL imaqConcentricRake2(Image* image, ROI* roi, ConcentricRakeDirection direction, EdgeProcess process, int stepSize, EdgeOptions2* edgeOptions); 04765 IMAQ_FUNC ExtremeReport* IMAQ_STDCALL imaqDetectExtremes(const double* pixels, int numPixels, DetectionMode mode, const DetectExtremesOptions* options, int* numExtremes); 04766 IMAQ_FUNC int IMAQ_STDCALL imaqDetectRotation(const Image* referenceImage, const Image* testImage, PointFloat referenceCenter, PointFloat testCenter, int radius, float precision, double* angle); 04767 IMAQ_FUNC EdgeReport2* IMAQ_STDCALL imaqEdgeTool4(Image* image, ROI* roi, EdgeProcess processType, EdgeOptions2* edgeOptions, const unsigned int reverseDirection); 04768 IMAQ_FUNC FindEdgeReport* IMAQ_STDCALL imaqFindEdge2(Image* image, const ROI* roi, const CoordinateSystem* baseSystem, const CoordinateSystem* newSystem, const FindEdgeOptions2* findEdgeOptions, const StraightEdgeOptions* straightEdgeOptions); 04769 IMAQ_FUNC int IMAQ_STDCALL imaqFindTransformRect2(Image* image, const ROI* roi, FindTransformMode mode, CoordinateSystem* baseSystem, CoordinateSystem* newSystem, const FindTransformRectOptions2* findTransformOptions, const StraightEdgeOptions* straightEdgeOptions, AxisReport* axisReport); 04770 IMAQ_FUNC int IMAQ_STDCALL imaqFindTransformRects2(Image* image, const ROI* primaryROI, const ROI* secondaryROI, FindTransformMode mode, CoordinateSystem* baseSystem, CoordinateSystem* newSystem, const FindTransformRectsOptions2* findTransformOptions, const StraightEdgeOptions* primaryStraightEdgeOptions, const StraightEdgeOptions* secondaryStraightEdgeOptions, AxisReport* axisReport); 04771 IMAQ_FUNC int IMAQ_STDCALL imaqLineGaugeTool2(const Image* image, Point start, Point end, LineGaugeMethod method, const EdgeOptions* edgeOptions, const CoordinateTransform2* transform, float* distance); 04772 IMAQ_FUNC RakeReport2* IMAQ_STDCALL imaqRake2(Image* image, ROI* roi, RakeDirection direction, EdgeProcess process, int stepSize, EdgeOptions2* edgeOptions); 04773 IMAQ_FUNC PointFloat* IMAQ_STDCALL imaqSimpleEdge(const Image* image, const Point* points, int numPoints, const SimpleEdgeOptions* options, int* numEdges); 04774 IMAQ_FUNC SpokeReport2* IMAQ_STDCALL imaqSpoke2(Image* image, ROI* roi, SpokeDirection direction, EdgeProcess process, int stepSize, EdgeOptions2* edgeOptions); 04775 IMAQ_FUNC StraightEdgeReport2* IMAQ_STDCALL imaqStraightEdge(const Image* image, const ROI* roi, SearchDirection searchDirection, const EdgeOptions2* edgeOptions, const StraightEdgeOptions* straightEdgeOptions); 04776 IMAQ_FUNC StraightEdgeReport2* IMAQ_STDCALL imaqStraightEdge2(const Image* image, const ROI* roi, SearchDirection searchDirection, const EdgeOptions2* edgeOptions, const StraightEdgeOptions* straightEdgeOptions, unsigned int optimizedMode); 04777 04778 //============================================================================ 04779 // Spatial Filters functions 04780 //============================================================================ 04781 IMAQ_FUNC int IMAQ_STDCALL imaqCannyEdgeFilter(Image* dest, const Image* source, const CannyOptions* options); 04782 IMAQ_FUNC int IMAQ_STDCALL imaqConvolve2(Image* dest, Image* source, float* kernel, int matrixRows, int matrixCols, float normalize, Image* mask, RoundingMode roundingMode); 04783 IMAQ_FUNC int IMAQ_STDCALL imaqCorrelate(Image* dest, Image* source, const Image* templateImage, Rect rect); 04784 IMAQ_FUNC int IMAQ_STDCALL imaqEdgeFilter(Image* dest, Image* source, OutlineMethod method, const Image* mask); 04785 IMAQ_FUNC int IMAQ_STDCALL imaqLowPass(Image* dest, Image* source, int width, int height, float tolerance, const Image* mask); 04786 IMAQ_FUNC int IMAQ_STDCALL imaqMedianFilter(Image* dest, Image* source, int width, int height, const Image* mask); 04787 IMAQ_FUNC int IMAQ_STDCALL imaqNthOrderFilter(Image* dest, Image* source, int width, int height, int n, const Image* mask); 04788 04789 //============================================================================ 04790 // Drawing functions 04791 //============================================================================ 04792 IMAQ_FUNC int IMAQ_STDCALL imaqDrawLineOnImage(Image* dest, const Image* source, DrawMode mode, Point start, Point end, float newPixelValue); 04793 IMAQ_FUNC int IMAQ_STDCALL imaqDrawShapeOnImage(Image* dest, const Image* source, Rect rect, DrawMode mode, ShapeMode shape, float newPixelValue); 04794 IMAQ_FUNC int IMAQ_STDCALL imaqDrawTextOnImage(Image* dest, const Image* source, Point coord, const char* text, const DrawTextOptions* options, int* fontNameUsed); 04795 04796 //============================================================================ 04797 // Interlacing functions 04798 //============================================================================ 04799 IMAQ_FUNC int IMAQ_STDCALL imaqInterlaceCombine(Image* frame, const Image* odd, const Image* even); 04800 IMAQ_FUNC int IMAQ_STDCALL imaqInterlaceSeparate(const Image* frame, Image* odd, Image* even); 04801 04802 //============================================================================ 04803 // Image Information functions 04804 //============================================================================ 04805 IMAQ_FUNC char** IMAQ_STDCALL imaqEnumerateCustomKeys(const Image* image, unsigned int* size); 04806 IMAQ_FUNC int IMAQ_STDCALL imaqGetBitDepth(const Image* image, unsigned int* bitDepth); 04807 IMAQ_FUNC int IMAQ_STDCALL imaqGetBytesPerPixel(const Image* image, int* byteCount); 04808 IMAQ_FUNC int IMAQ_STDCALL imaqGetImageInfo(const Image* image, ImageInfo* info); 04809 IMAQ_FUNC int IMAQ_STDCALL imaqGetImageSize(const Image* image, int* width, int* height); 04810 IMAQ_FUNC int IMAQ_STDCALL imaqGetImageType(const Image* image, ImageType* type); 04811 IMAQ_FUNC int IMAQ_STDCALL imaqGetMaskOffset(const Image* image, Point* offset); 04812 IMAQ_FUNC void* IMAQ_STDCALL imaqGetPixelAddress(const Image* image, Point pixel); 04813 IMAQ_FUNC int IMAQ_STDCALL imaqGetVisionInfoTypes(const Image* image, unsigned int* present); 04814 IMAQ_FUNC int IMAQ_STDCALL imaqIsImageEmpty(const Image* image, int* empty); 04815 IMAQ_FUNC void* IMAQ_STDCALL imaqReadCustomData(const Image* image, const char* key, unsigned int* size); 04816 IMAQ_FUNC int IMAQ_STDCALL imaqRemoveCustomData(Image* image, const char* key); 04817 IMAQ_FUNC int IMAQ_STDCALL imaqRemoveVisionInfo2(const Image* image, unsigned int info); 04818 IMAQ_FUNC int IMAQ_STDCALL imaqSetBitDepth(Image* image, unsigned int bitDepth); 04819 IMAQ_FUNC int IMAQ_STDCALL imaqSetImageSize(Image* image, int width, int height); 04820 IMAQ_FUNC int IMAQ_STDCALL imaqSetMaskOffset(Image* image, Point offset); 04821 IMAQ_FUNC int IMAQ_STDCALL imaqWriteCustomData(Image* image, const char* key, const void* data, unsigned int size); 04822 04823 //============================================================================ 04824 // Display functions 04825 //============================================================================ 04826 IMAQ_FUNC int IMAQ_STDCALL imaqAreToolsContextSensitive(int* sensitive); 04827 IMAQ_FUNC int IMAQ_STDCALL imaqCloseWindow(int windowNumber); 04828 IMAQ_FUNC int IMAQ_STDCALL imaqDisplayImage(const Image* image, int windowNumber, int resize); 04829 IMAQ_FUNC int IMAQ_STDCALL imaqGetLastKey(char* keyPressed, int* windowNumber, int* modifiers); 04830 IMAQ_FUNC void* IMAQ_STDCALL imaqGetSystemWindowHandle(int windowNumber); 04831 IMAQ_FUNC int IMAQ_STDCALL imaqGetWindowCenterPos(int windowNumber, Point* centerPosition); 04832 IMAQ_FUNC int IMAQ_STDCALL imaqSetToolContextSensitivity(int sensitive); 04833 IMAQ_FUNC int IMAQ_STDCALL imaqShowWindow(int windowNumber, int visible); 04834 04835 //============================================================================ 04836 // Image Manipulation functions 04837 //============================================================================ 04838 IMAQ_FUNC int IMAQ_STDCALL imaqCast(Image* dest, const Image* source, ImageType type, const float* lookup, int shift); 04839 IMAQ_FUNC int IMAQ_STDCALL imaqCopyRect(Image* dest, const Image* source, Rect rect, Point destLoc); 04840 IMAQ_FUNC int IMAQ_STDCALL imaqDuplicate(Image* dest, const Image* source); 04841 IMAQ_FUNC void* IMAQ_STDCALL imaqFlatten(const Image* image, FlattenType type, CompressionType compression, int quality, unsigned int* size); 04842 IMAQ_FUNC int IMAQ_STDCALL imaqFlip(Image* dest, const Image* source, FlipAxis axis); 04843 IMAQ_FUNC int IMAQ_STDCALL imaqMask(Image* dest, const Image* source, const Image* mask); 04844 IMAQ_FUNC int IMAQ_STDCALL imaqResample(Image* dest, const Image* source, int newWidth, int newHeight, InterpolationMethod method, Rect rect); 04845 IMAQ_FUNC int IMAQ_STDCALL imaqRotate2(Image* dest, const Image* source, float angle, PixelValue fill, InterpolationMethod method, int maintainSize); 04846 IMAQ_FUNC int IMAQ_STDCALL imaqScale(Image* dest, const Image* source, int xScale, int yScale, ScalingMode scaleMode, Rect rect); 04847 IMAQ_FUNC int IMAQ_STDCALL imaqShift(Image* dest, const Image* source, int shiftX, int shiftY, PixelValue fill); 04848 IMAQ_FUNC int IMAQ_STDCALL imaqTranspose(Image* dest, const Image* source); 04849 IMAQ_FUNC int IMAQ_STDCALL imaqUnflatten(Image* image, const void* data, unsigned int size); 04850 IMAQ_FUNC int IMAQ_STDCALL imaqUnwrapImage(Image* dest, const Image* source, Annulus annulus, RectOrientation orientation, InterpolationMethod method); 04851 IMAQ_FUNC int IMAQ_STDCALL imaqView3D(Image* dest, Image* source, const View3DOptions* options); 04852 04853 //============================================================================ 04854 // File I/O functions 04855 //============================================================================ 04856 IMAQ_FUNC int IMAQ_STDCALL imaqCloseAVI(AVISession session); 04857 IMAQ_FUNC AVISession IMAQ_STDCALL imaqCreateAVI(const char* fileName, const char* compressionFilter, int quality, unsigned int framesPerSecond, unsigned int maxDataSize); 04858 IMAQ_FUNC int IMAQ_STDCALL imaqGetAVIInfo(AVISession session, AVIInfo* info); 04859 IMAQ_FUNC int IMAQ_STDCALL imaqGetFileInfo(const char* fileName, CalibrationUnit* calibrationUnit, float* calibrationX, float* calibrationY, int* width, int* height, ImageType* imageType); 04860 IMAQ_FUNC FilterName* IMAQ_STDCALL imaqGetFilterNames(int* numFilters); 04861 IMAQ_FUNC char** IMAQ_STDCALL imaqLoadImagePopup(const char* defaultDirectory, const char* defaultFileSpec, const char* fileTypeList, const char* title, int allowMultiplePaths, ButtonLabel buttonLabel, int restrictDirectory, int restrictExtension, int allowCancel, int allowMakeDirectory, int* cancelled, int* numPaths); 04862 IMAQ_FUNC AVISession IMAQ_STDCALL imaqOpenAVI(const char* fileName); 04863 IMAQ_FUNC int IMAQ_STDCALL imaqReadAVIFrame(Image* image, AVISession session, unsigned int frameNum, void* data, unsigned int* dataSize); 04864 IMAQ_FUNC int IMAQ_STDCALL imaqReadFile(Image* image, const char* fileName, RGBValue* colorTable, int* numColors); 04865 IMAQ_FUNC int IMAQ_STDCALL imaqReadVisionFile(Image* image, const char* fileName, RGBValue* colorTable, int* numColors); 04866 IMAQ_FUNC int IMAQ_STDCALL imaqWriteAVIFrame(Image* image, AVISession session, const void* data, unsigned int dataLength); 04867 IMAQ_FUNC int IMAQ_STDCALL imaqWriteBMPFile(const Image* image, const char* fileName, int compress, const RGBValue* colorTable); 04868 IMAQ_FUNC int IMAQ_STDCALL imaqWriteFile(const Image* image, const char* fileName, const RGBValue* colorTable); 04869 IMAQ_FUNC int IMAQ_STDCALL imaqWriteJPEGFile(const Image* image, const char* fileName, unsigned int quality, void* colorTable); 04870 IMAQ_FUNC int IMAQ_STDCALL imaqWriteJPEG2000File(const Image* image, const char* fileName, int lossless, float compressionRatio, const JPEG2000FileAdvancedOptions* advancedOptions, const RGBValue* colorTable); 04871 IMAQ_FUNC int IMAQ_STDCALL imaqWritePNGFile2(const Image* image, const char* fileName, unsigned int compressionSpeed, const RGBValue* colorTable, int useBitDepth); 04872 IMAQ_FUNC int IMAQ_STDCALL imaqWriteTIFFFile(const Image* image, const char* fileName, const TIFFFileOptions* options, const RGBValue* colorTable); 04873 IMAQ_FUNC int IMAQ_STDCALL imaqWriteVisionFile(const Image* image, const char* fileName, const RGBValue* colorTable); 04874 04875 04876 //============================================================================ 04877 // Analytic Geometry functions 04878 //============================================================================ 04879 IMAQ_FUNC int IMAQ_STDCALL imaqBuildCoordinateSystem(const Point* points, ReferenceMode mode, AxisOrientation orientation, CoordinateSystem* system); 04880 IMAQ_FUNC BestCircle2* IMAQ_STDCALL imaqFitCircle2(const PointFloat* points, int numPoints, const FitCircleOptions* options); 04881 IMAQ_FUNC BestEllipse2* IMAQ_STDCALL imaqFitEllipse2(const PointFloat* points, int numPoints, const FitEllipseOptions* options); 04882 IMAQ_FUNC BestLine* IMAQ_STDCALL imaqFitLine(const PointFloat* points, int numPoints, const FitLineOptions* options); 04883 IMAQ_FUNC int IMAQ_STDCALL imaqGetAngle(PointFloat start1, PointFloat end1, PointFloat start2, PointFloat end2, float* angle); 04884 IMAQ_FUNC int IMAQ_STDCALL imaqGetBisectingLine(PointFloat start1, PointFloat end1, PointFloat start2, PointFloat end2, PointFloat* bisectStart, PointFloat* bisectEnd); 04885 IMAQ_FUNC int IMAQ_STDCALL imaqGetDistance(PointFloat point1, PointFloat point2, float* distance); 04886 IMAQ_FUNC int IMAQ_STDCALL imaqGetIntersection(PointFloat start1, PointFloat end1, PointFloat start2, PointFloat end2, PointFloat* intersection); 04887 IMAQ_FUNC int IMAQ_STDCALL imaqGetMidLine(PointFloat refLineStart, PointFloat refLineEnd, PointFloat point, PointFloat* midLineStart, PointFloat* midLineEnd); 04888 IMAQ_FUNC int IMAQ_STDCALL imaqGetPerpendicularLine(PointFloat refLineStart, PointFloat refLineEnd, PointFloat point, PointFloat* perpLineStart, PointFloat* perpLineEnd, double* distance); 04889 IMAQ_FUNC SegmentInfo* IMAQ_STDCALL imaqGetPointsOnContour(const Image* image, int* numSegments); 04890 IMAQ_FUNC Point* IMAQ_STDCALL imaqGetPointsOnLine(Point start, Point end, int* numPoints); 04891 IMAQ_FUNC int IMAQ_STDCALL imaqGetPolygonArea(const PointFloat* points, int numPoints, float* area); 04892 IMAQ_FUNC float* IMAQ_STDCALL imaqInterpolatePoints(const Image* image, const Point* points, int numPoints, InterpolationMethod method, int subpixel, int* interpCount); 04893 04894 //============================================================================ 04895 // Clipboard functions 04896 //============================================================================ 04897 IMAQ_FUNC int IMAQ_STDCALL imaqClipboardToImage(Image* dest, RGBValue* palette); 04898 IMAQ_FUNC int IMAQ_STDCALL imaqImageToClipboard(const Image* image, const RGBValue* palette); 04899 04900 //============================================================================ 04901 // Border functions 04902 //============================================================================ 04903 IMAQ_FUNC int IMAQ_STDCALL imaqFillBorder(Image* image, BorderMethod method); 04904 IMAQ_FUNC int IMAQ_STDCALL imaqGetBorderSize(const Image* image, int* borderSize); 04905 IMAQ_FUNC int IMAQ_STDCALL imaqSetBorderSize(Image* image, int size); 04906 04907 //============================================================================ 04908 // Image Management functions 04909 //============================================================================ 04910 IMAQ_FUNC int IMAQ_STDCALL imaqArrayToImage(Image* image, const void* array, int numCols, int numRows); 04911 IMAQ_FUNC Image* IMAQ_STDCALL imaqCreateImage(ImageType type, int borderSize); 04912 IMAQ_FUNC void* IMAQ_STDCALL imaqImageToArray(const Image* image, Rect rect, int* columns, int* rows); 04913 04914 //============================================================================ 04915 // Color Processing functions 04916 //============================================================================ 04917 IMAQ_FUNC Color2 IMAQ_STDCALL imaqChangeColorSpace2(const Color2* sourceColor, ColorMode sourceSpace, ColorMode destSpace, double offset, const CIEXYZValue* whiteReference); 04918 IMAQ_FUNC int IMAQ_STDCALL imaqColorBCGTransform(Image* dest, const Image* source, const BCGOptions* redOptions, const BCGOptions* greenOptions, const BCGOptions* blueOptions, const Image* mask); 04919 IMAQ_FUNC int IMAQ_STDCALL imaqColorEqualize(Image* dest, const Image* source, int colorEqualization); 04920 IMAQ_FUNC ColorHistogramReport* IMAQ_STDCALL imaqColorHistogram2(Image* image, int numClasses, ColorMode mode, const CIEXYZValue* whiteReference, Image* mask); 04921 IMAQ_FUNC int IMAQ_STDCALL imaqColorLookup(Image* dest, const Image* source, ColorMode mode, const Image* mask, const short* plane1, const short* plane2, const short* plane3); 04922 IMAQ_FUNC int IMAQ_STDCALL imaqColorThreshold(Image* dest, const Image* source, int replaceValue, ColorMode mode, const Range* plane1Range, const Range* plane2Range, const Range* plane3Range); 04923 IMAQ_FUNC SupervisedColorSegmentationReport* IMAQ_STDCALL imaqSupervisedColorSegmentation(ClassifierSession* session, Image* labelImage, const Image* srcImage, const ROI* roi, const ROILabel* labelIn, unsigned int numLabelIn, int maxDistance, int minIdentificationScore, const ColorSegmenationOptions* segmentOptions); 04924 IMAQ_FUNC int IMAQ_STDCALL imaqGetColorSegmentationMaxDistance(ClassifierSession* session, const ColorSegmenationOptions* segmentOptions, SegmentationDistanceLevel distLevel, int* maxDistance); 04925 04926 //============================================================================ 04927 // Transform functions 04928 //============================================================================ 04929 IMAQ_FUNC int IMAQ_STDCALL imaqBCGTransform(Image* dest, const Image* source, const BCGOptions* options, const Image* mask); 04930 IMAQ_FUNC int IMAQ_STDCALL imaqEqualize(Image* dest, const Image* source, float min, float max, const Image* mask); 04931 IMAQ_FUNC int IMAQ_STDCALL imaqInverse(Image* dest, const Image* source, const Image* mask); 04932 IMAQ_FUNC int IMAQ_STDCALL imaqMathTransform(Image* dest, const Image* source, MathTransformMethod method, float rangeMin, float rangeMax, float power, const Image* mask); 04933 IMAQ_FUNC int IMAQ_STDCALL imaqWatershedTransform(Image* dest, const Image* source, int connectivity8, int* zoneCount); 04934 IMAQ_FUNC int IMAQ_STDCALL imaqLookup2(Image* dest, const Image* source, const int* table, const Image* mask); 04935 04936 04937 //============================================================================ 04938 // Window Management functions 04939 //============================================================================ 04940 IMAQ_FUNC int IMAQ_STDCALL imaqAreScrollbarsVisible(int windowNumber, int* visible); 04941 IMAQ_FUNC int IMAQ_STDCALL imaqBringWindowToTop(int windowNumber); 04942 IMAQ_FUNC int IMAQ_STDCALL imaqGetMousePos(Point* position, int* windowNumber); 04943 IMAQ_FUNC int IMAQ_STDCALL imaqGetWindowBackground(int windowNumber, WindowBackgroundFillStyle* fillStyle, WindowBackgroundHatchStyle* hatchStyle, RGBValue* fillColor, RGBValue* backgroundColor); 04944 IMAQ_FUNC int IMAQ_STDCALL imaqGetWindowDisplayMapping(int windowNum, DisplayMapping* mapping); 04945 IMAQ_FUNC int IMAQ_STDCALL imaqGetWindowGrid(int windowNumber, int* xResolution, int* yResolution); 04946 IMAQ_FUNC int IMAQ_STDCALL imaqGetWindowHandle(int* handle); 04947 IMAQ_FUNC int IMAQ_STDCALL imaqGetWindowPos(int windowNumber, Point* position); 04948 IMAQ_FUNC int IMAQ_STDCALL imaqGetWindowSize(int windowNumber, int* width, int* height); 04949 IMAQ_FUNC char* IMAQ_STDCALL imaqGetWindowTitle(int windowNumber); 04950 IMAQ_FUNC int IMAQ_STDCALL imaqGetWindowZoom2(int windowNumber, float* xZoom, float* yZoom); 04951 IMAQ_FUNC int IMAQ_STDCALL imaqIsWindowNonTearing(int windowNumber, int* nonTearing); 04952 IMAQ_FUNC int IMAQ_STDCALL imaqIsWindowVisible(int windowNumber, int* visible); 04953 IMAQ_FUNC int IMAQ_STDCALL imaqMoveWindow(int windowNumber, Point position); 04954 IMAQ_FUNC int IMAQ_STDCALL imaqSetupWindow(int windowNumber, int configuration); 04955 IMAQ_FUNC int IMAQ_STDCALL imaqSetWindowBackground(int windowNumber, WindowBackgroundFillStyle fillStyle, WindowBackgroundHatchStyle hatchStyle, const RGBValue* fillColor, const RGBValue* backgroundColor); 04956 IMAQ_FUNC int IMAQ_STDCALL imaqSetWindowDisplayMapping(int windowNumber, const DisplayMapping* mapping); 04957 IMAQ_FUNC int IMAQ_STDCALL imaqSetWindowGrid(int windowNumber, int xResolution, int yResolution); 04958 IMAQ_FUNC int IMAQ_STDCALL imaqSetWindowMaxContourCount(int windowNumber, unsigned int maxContourCount); 04959 IMAQ_FUNC int IMAQ_STDCALL imaqSetWindowNonTearing(int windowNumber, int nonTearing); 04960 IMAQ_FUNC int IMAQ_STDCALL imaqSetWindowPalette(int windowNumber, PaletteType type, const RGBValue* palette, int numColors); 04961 IMAQ_FUNC int IMAQ_STDCALL imaqSetWindowSize(int windowNumber, int width, int height); 04962 IMAQ_FUNC int IMAQ_STDCALL imaqSetWindowThreadPolicy(WindowThreadPolicy policy); 04963 IMAQ_FUNC int IMAQ_STDCALL imaqSetWindowTitle(int windowNumber, const char* title); 04964 IMAQ_FUNC int IMAQ_STDCALL imaqSetWindowZoomToFit(int windowNumber, int zoomToFit); 04965 IMAQ_FUNC int IMAQ_STDCALL imaqShowScrollbars(int windowNumber, int visible); 04966 IMAQ_FUNC int IMAQ_STDCALL imaqZoomWindow2(int windowNumber, float xZoom, float yZoom, Point center); 04967 04968 //============================================================================ 04969 // Utilities functions 04970 //============================================================================ 04971 IMAQ_FUNC const float* IMAQ_STDCALL imaqGetKernel(KernelFamily family, int size, int number); 04972 IMAQ_FUNC Annulus IMAQ_STDCALL imaqMakeAnnulus(Point center, int innerRadius, int outerRadius, double startAngle, double endAngle); 04973 IMAQ_FUNC Point IMAQ_STDCALL imaqMakePoint(int xCoordinate, int yCoordinate); 04974 IMAQ_FUNC PointFloat IMAQ_STDCALL imaqMakePointFloat(float xCoordinate, float yCoordinate); 04975 IMAQ_FUNC Rect IMAQ_STDCALL imaqMakeRect(int top, int left, int height, int width); 04976 IMAQ_FUNC Rect IMAQ_STDCALL imaqMakeRectFromRotatedRect(RotatedRect rotatedRect); 04977 IMAQ_FUNC RotatedRect IMAQ_STDCALL imaqMakeRotatedRect(int top, int left, int height, int width, double angle); 04978 IMAQ_FUNC RotatedRect IMAQ_STDCALL imaqMakeRotatedRectFromRect(Rect rect); 04979 IMAQ_FUNC int IMAQ_STDCALL imaqMulticoreOptions(MulticoreOperation operation, unsigned int* customNumCores); 04980 04981 //============================================================================ 04982 // Tool Window functions 04983 //============================================================================ 04984 IMAQ_FUNC int IMAQ_STDCALL imaqCloseToolWindow(void); 04985 IMAQ_FUNC int IMAQ_STDCALL imaqGetCurrentTool(Tool* currentTool); 04986 IMAQ_FUNC int IMAQ_STDCALL imaqGetLastEvent(WindowEventType* type, int* windowNumber, Tool* tool, Rect* rect); 04987 IMAQ_FUNC void* IMAQ_STDCALL imaqGetToolWindowHandle(void); 04988 IMAQ_FUNC int IMAQ_STDCALL imaqGetToolWindowPos(Point* position); 04989 IMAQ_FUNC int IMAQ_STDCALL imaqIsToolWindowVisible(int* visible); 04990 IMAQ_FUNC int IMAQ_STDCALL imaqMoveToolWindow(Point position); 04991 IMAQ_FUNC int IMAQ_STDCALL imaqSetCurrentTool(Tool currentTool); 04992 #ifndef __GNUC__ 04993 IMAQ_FUNC int IMAQ_STDCALL imaqSetEventCallback(EventCallback callback, int synchronous); 04994 #endif 04995 IMAQ_FUNC int IMAQ_STDCALL imaqSetToolColor(const RGBValue* color); 04996 IMAQ_FUNC int IMAQ_STDCALL imaqSetupToolWindow(int showCoordinates, int maxIconsPerLine, const ToolWindowOptions* options); 04997 IMAQ_FUNC int IMAQ_STDCALL imaqShowToolWindow(int visible); 04998 04999 //============================================================================ 05000 // Meter functions 05001 //============================================================================ 05002 IMAQ_FUNC MeterArc* IMAQ_STDCALL imaqGetMeterArc(int lightNeedle, MeterArcMode mode, const ROI* roi, PointFloat base, PointFloat start, PointFloat end); 05003 IMAQ_FUNC int IMAQ_STDCALL imaqReadMeter(const Image* image, const MeterArc* arcInfo, double* percentage, PointFloat* endOfNeedle); 05004 05005 //============================================================================ 05006 // Calibration functions 05007 //============================================================================ 05008 IMAQ_FUNC int IMAQ_STDCALL imaqCopyCalibrationInfo2(Image* dest, Image* source, Point offset); 05009 IMAQ_FUNC int IMAQ_STDCALL imaqCorrectCalibratedImage(Image* dest, const Image* source, PixelValue fill, InterpolationMethod method, const ROI* roi); 05010 IMAQ_FUNC CalibrationInfo* IMAQ_STDCALL imaqGetCalibrationInfo2(const Image* image); 05011 IMAQ_FUNC CalibrationInfo* IMAQ_STDCALL imaqGetCalibrationInfo3(Image* image, unsigned int isGetErrorMap); 05012 IMAQ_FUNC int IMAQ_STDCALL imaqLearnCalibrationGrid(Image* image, const ROI* roi, const LearnCalibrationOptions* options, const GridDescriptor* grid, const CoordinateSystem* system, const RangeFloat* range, float* quality); 05013 IMAQ_FUNC int IMAQ_STDCALL imaqLearnCalibrationPoints(Image* image, const CalibrationPoints* points, const ROI* roi, const LearnCalibrationOptions* options, const GridDescriptor* grid, const CoordinateSystem* system, float* quality); 05014 IMAQ_FUNC int IMAQ_STDCALL imaqSetCoordinateSystem(Image* image, const CoordinateSystem* system); 05015 IMAQ_FUNC int IMAQ_STDCALL imaqSetSimpleCalibration(Image* image, ScalingMethod method, int learnTable, const GridDescriptor* grid, const CoordinateSystem* system); 05016 IMAQ_FUNC TransformReport* IMAQ_STDCALL imaqTransformPixelToRealWorld(const Image* image, const PointFloat* pixelCoordinates, int numCoordinates); 05017 IMAQ_FUNC TransformReport* IMAQ_STDCALL imaqTransformRealWorldToPixel(const Image* image, const PointFloat* realWorldCoordinates, int numCoordinates); 05018 IMAQ_FUNC int IMAQ_STDCALL imaqSetSimpleCalibration2(Image* image, const GridDescriptor* gridDescriptor); 05019 IMAQ_FUNC int IMAQ_STDCALL imaqCalibrationSetAxisInfo(Image* image, CoordinateSystem* axisInfo); 05020 IMAQ_FUNC int IMAQ_STDCALL imaqCalibrationGetThumbnailImage(Image* templateImage, Image* image, CalibrationThumbnailType type, unsigned int index); 05021 IMAQ_FUNC GetCalibrationInfoReport* IMAQ_STDCALL imaqCalibrationGetCalibrationInfo(Image* image, unsigned int isGetErrorMap); 05022 IMAQ_FUNC GetCameraParametersReport* IMAQ_STDCALL imaqCalibrationGetCameraParameters(Image* templateImage); 05023 IMAQ_FUNC int IMAQ_STDCALL imaqCalibrationCompactInformation(Image* image); 05024 05025 //============================================================================ 05026 // Pixel Manipulation functions 05027 //============================================================================ 05028 IMAQ_FUNC int IMAQ_STDCALL imaqArrayToComplexPlane(Image* dest, const Image* source, const float* newPixels, ComplexPlane plane); 05029 IMAQ_FUNC float* IMAQ_STDCALL imaqComplexPlaneToArray(const Image* image, ComplexPlane plane, Rect rect, int* rows, int* columns); 05030 IMAQ_FUNC int IMAQ_STDCALL imaqExtractColorPlanes(const Image* image, ColorMode mode, Image* plane1, Image* plane2, Image* plane3); 05031 IMAQ_FUNC int IMAQ_STDCALL imaqExtractComplexPlane(Image* dest, const Image* source, ComplexPlane plane); 05032 IMAQ_FUNC int IMAQ_STDCALL imaqFillImage(Image* image, PixelValue value, const Image* mask); 05033 IMAQ_FUNC void* IMAQ_STDCALL imaqGetLine(const Image* image, Point start, Point end, int* numPoints); 05034 IMAQ_FUNC int IMAQ_STDCALL imaqGetPixel(const Image* image, Point pixel, PixelValue* value); 05035 IMAQ_FUNC int IMAQ_STDCALL imaqReplaceColorPlanes(Image* dest, const Image* source, ColorMode mode, const Image* plane1, const Image* plane2, const Image* plane3); 05036 IMAQ_FUNC int IMAQ_STDCALL imaqReplaceComplexPlane(Image* dest, const Image* source, const Image* newValues, ComplexPlane plane); 05037 IMAQ_FUNC int IMAQ_STDCALL imaqSetLine(Image* image, const void* array, int arraySize, Point start, Point end); 05038 IMAQ_FUNC int IMAQ_STDCALL imaqSetPixel(Image* image, Point coord, PixelValue value); 05039 05040 //============================================================================ 05041 // Color Matching functions 05042 //============================================================================ 05043 IMAQ_FUNC ColorInformation* IMAQ_STDCALL imaqLearnColor(const Image* image, const ROI* roi, ColorSensitivity sensitivity, int saturation); 05044 IMAQ_FUNC int* IMAQ_STDCALL imaqMatchColor(const Image* image, const ColorInformation* info, const ROI* roi, int* numScores); 05045 05046 //============================================================================ 05047 // Frequency Domain Analysis functions 05048 //============================================================================ 05049 IMAQ_FUNC int IMAQ_STDCALL imaqAttenuate(Image* dest, const Image* source, AttenuateMode highlow); 05050 IMAQ_FUNC int IMAQ_STDCALL imaqConjugate(Image* dest, const Image* source); 05051 IMAQ_FUNC int IMAQ_STDCALL imaqFFT(Image* dest, const Image* source); 05052 IMAQ_FUNC int IMAQ_STDCALL imaqFlipFrequencies(Image* dest, const Image* source); 05053 IMAQ_FUNC int IMAQ_STDCALL imaqInverseFFT(Image* dest, const Image* source); 05054 IMAQ_FUNC int IMAQ_STDCALL imaqTruncate(Image* dest, const Image* source, TruncateMode highlow, float ratioToKeep); 05055 05056 //============================================================================ 05057 // Barcode I/O functions 05058 //============================================================================ 05059 IMAQ_FUNC int IMAQ_STDCALL imaqGradeDataMatrixBarcodeAIM(const Image* image, AIMGradeReport* report); 05060 IMAQ_FUNC BarcodeInfo* IMAQ_STDCALL imaqReadBarcode(const Image* image, BarcodeType type, const ROI* roi, int validate); 05061 IMAQ_FUNC DataMatrixReport* IMAQ_STDCALL imaqReadDataMatrixBarcode2(Image* image, const ROI* roi, DataMatrixGradingMode prepareForGrading, const DataMatrixDescriptionOptions* descriptionOptions, const DataMatrixSizeOptions* sizeOptions, const DataMatrixSearchOptions* searchOptions); 05062 IMAQ_FUNC Barcode2DInfo* IMAQ_STDCALL imaqReadPDF417Barcode(const Image* image, const ROI* roi, Barcode2DSearchMode searchMode, unsigned int* numBarcodes); 05063 IMAQ_FUNC QRCodeReport* IMAQ_STDCALL imaqReadQRCode(Image* image, const ROI* roi, QRGradingMode reserved, const QRCodeDescriptionOptions* descriptionOptions, const QRCodeSizeOptions* sizeOptions, const QRCodeSearchOptions* searchOptions); 05064 05065 //============================================================================ 05066 // LCD functions 05067 //============================================================================ 05068 IMAQ_FUNC int IMAQ_STDCALL imaqFindLCDSegments(ROI* roi, const Image* image, const LCDOptions* options); 05069 IMAQ_FUNC LCDReport* IMAQ_STDCALL imaqReadLCD(const Image* image, const ROI* roi, const LCDOptions* options); 05070 05071 //============================================================================ 05072 // Shape Matching functions 05073 //============================================================================ 05074 IMAQ_FUNC ShapeReport* IMAQ_STDCALL imaqMatchShape(Image* dest, Image* source, const Image* templateImage, int scaleInvariant, int connectivity8, double tolerance, int* numMatches); 05075 05076 //============================================================================ 05077 // Contours functions 05078 //============================================================================ 05079 IMAQ_FUNC ContourID IMAQ_STDCALL imaqAddAnnulusContour(ROI* roi, Annulus annulus); 05080 IMAQ_FUNC ContourID IMAQ_STDCALL imaqAddClosedContour(ROI* roi, const Point* points, int numPoints); 05081 IMAQ_FUNC ContourID IMAQ_STDCALL imaqAddLineContour(ROI* roi, Point start, Point end); 05082 IMAQ_FUNC ContourID IMAQ_STDCALL imaqAddOpenContour(ROI* roi, const Point* points, int numPoints); 05083 IMAQ_FUNC ContourID IMAQ_STDCALL imaqAddOvalContour(ROI* roi, Rect boundingBox); 05084 IMAQ_FUNC ContourID IMAQ_STDCALL imaqAddPointContour(ROI* roi, Point point); 05085 IMAQ_FUNC ContourID IMAQ_STDCALL imaqAddRectContour(ROI* roi, Rect rect); 05086 IMAQ_FUNC ContourID IMAQ_STDCALL imaqAddRotatedRectContour2(ROI* roi, RotatedRect rect); 05087 IMAQ_FUNC ContourID IMAQ_STDCALL imaqCopyContour(ROI* destRoi, const ROI* sourceRoi, ContourID id); 05088 IMAQ_FUNC ContourID IMAQ_STDCALL imaqGetContour(const ROI* roi, unsigned int index); 05089 IMAQ_FUNC int IMAQ_STDCALL imaqGetContourColor(const ROI* roi, ContourID id, RGBValue* contourColor); 05090 IMAQ_FUNC int IMAQ_STDCALL imaqGetContourCount(const ROI* roi); 05091 IMAQ_FUNC ContourInfo2* IMAQ_STDCALL imaqGetContourInfo2(const ROI* roi, ContourID id); 05092 IMAQ_FUNC int IMAQ_STDCALL imaqMoveContour(ROI* roi, ContourID id, int deltaX, int deltaY); 05093 IMAQ_FUNC int IMAQ_STDCALL imaqRemoveContour(ROI* roi, ContourID id); 05094 IMAQ_FUNC int IMAQ_STDCALL imaqSetContourColor(ROI* roi, ContourID id, const RGBValue* color); 05095 05096 //============================================================================ 05097 // Regions of Interest functions 05098 //============================================================================ 05099 IMAQ_FUNC int IMAQ_STDCALL imaqConstructROI2(const Image* image, ROI* roi, Tool initialTool, const ToolWindowOptions* tools, const ConstructROIOptions2* options, int* okay); 05100 IMAQ_FUNC ROI* IMAQ_STDCALL imaqCreateROI(void); 05101 IMAQ_FUNC int IMAQ_STDCALL imaqGetROIBoundingBox(const ROI* roi, Rect* boundingBox); 05102 IMAQ_FUNC int IMAQ_STDCALL imaqGetROIColor(const ROI* roi, RGBValue* roiColor); 05103 IMAQ_FUNC ROI* IMAQ_STDCALL imaqGetWindowROI(int windowNumber); 05104 IMAQ_FUNC int IMAQ_STDCALL imaqSetROIColor(ROI* roi, const RGBValue* color); 05105 IMAQ_FUNC int IMAQ_STDCALL imaqSetWindowROI(int windowNumber, const ROI* roi); 05106 05107 //============================================================================ 05108 // Image Analysis functions 05109 //============================================================================ 05110 IMAQ_FUNC int IMAQ_STDCALL imaqCentroid(const Image* image, PointFloat* centroid, const Image* mask); 05111 IMAQ_FUNC Curve* IMAQ_STDCALL imaqExtractCurves(const Image* image, const ROI* roi, const CurveOptions* curveOptions, unsigned int* numCurves); 05112 IMAQ_FUNC HistogramReport* IMAQ_STDCALL imaqHistogram(const Image* image, int numClasses, float min, float max, const Image* mask); 05113 IMAQ_FUNC LinearAverages* IMAQ_STDCALL imaqLinearAverages2(Image* image, LinearAveragesMode mode, Rect rect); 05114 IMAQ_FUNC LineProfile* IMAQ_STDCALL imaqLineProfile(const Image* image, Point start, Point end); 05115 IMAQ_FUNC QuantifyReport* IMAQ_STDCALL imaqQuantify(const Image* image, const Image* mask); 05116 05117 //============================================================================ 05118 // Error Management functions 05119 //============================================================================ 05120 IMAQ_FUNC int IMAQ_STDCALL imaqClearError(void); 05121 IMAQ_FUNC char* IMAQ_STDCALL imaqGetErrorText(int errorCode); 05122 IMAQ_FUNC int IMAQ_STDCALL imaqGetLastError(void); 05123 IMAQ_FUNC const char* IMAQ_STDCALL imaqGetLastErrorFunc(void); 05124 IMAQ_FUNC int IMAQ_STDCALL imaqSetError(int errorCode, const char* function); 05125 05126 //============================================================================ 05127 // Threshold functions 05128 //============================================================================ 05129 IMAQ_FUNC ThresholdData* IMAQ_STDCALL imaqAutoThreshold2(Image* dest, const Image* source, int numClasses, ThresholdMethod method, const Image* mask); 05130 IMAQ_FUNC int IMAQ_STDCALL imaqLocalThreshold(Image* dest, const Image* source, unsigned int windowWidth, unsigned int windowHeight, LocalThresholdMethod method, double deviationWeight, ObjectType type, float replaceValue); 05131 IMAQ_FUNC int IMAQ_STDCALL imaqMagicWand(Image* dest, const Image* source, Point coord, float tolerance, int connectivity8, float replaceValue); 05132 IMAQ_FUNC int IMAQ_STDCALL imaqMultithreshold(Image* dest, const Image* source, const ThresholdData* ranges, int numRanges); 05133 IMAQ_FUNC int IMAQ_STDCALL imaqThreshold(Image* dest, const Image* source, float rangeMin, float rangeMax, int useNewValue, float newValue); 05134 05135 //============================================================================ 05136 // Memory Management functions 05137 //============================================================================ 05138 IMAQ_FUNC int IMAQ_STDCALL imaqDispose(void* object); 05139 05140 //============================================================================ 05141 // Pattern Matching functions 05142 //============================================================================ 05143 IMAQ_FUNC CircleMatch* IMAQ_STDCALL imaqDetectCircles(const Image* image, const CircleDescriptor* circleDescriptor, const CurveOptions* curveOptions, const ShapeDetectionOptions* shapeDetectionOptions, const ROI* roi, int* numMatchesReturned); 05144 IMAQ_FUNC EllipseMatch* IMAQ_STDCALL imaqDetectEllipses(const Image* image, const EllipseDescriptor* ellipseDescriptor, const CurveOptions* curveOptions, const ShapeDetectionOptions* shapeDetectionOptions, const ROI* roi, int* numMatchesReturned); 05145 IMAQ_FUNC LineMatch* IMAQ_STDCALL imaqDetectLines(const Image* image, const LineDescriptor* lineDescriptor, const CurveOptions* curveOptions, const ShapeDetectionOptions* shapeDetectionOptions, const ROI* roi, int* numMatchesReturned); 05146 IMAQ_FUNC RectangleMatch* IMAQ_STDCALL imaqDetectRectangles(const Image* image, const RectangleDescriptor* rectangleDescriptor, const CurveOptions* curveOptions, const ShapeDetectionOptions* shapeDetectionOptions, const ROI* roi, int* numMatchesReturned); 05147 IMAQ_FUNC FeatureData* IMAQ_STDCALL imaqGetGeometricFeaturesFromCurves(const Curve* curves, unsigned int numCurves, const FeatureType* featureTypes, unsigned int numFeatureTypes, unsigned int* numFeatures); 05148 IMAQ_FUNC FeatureData* IMAQ_STDCALL imaqGetGeometricTemplateFeatureInfo(const Image* pattern, unsigned int* numFeatures); 05149 IMAQ_FUNC int IMAQ_STDCALL imaqLearnColorPattern(Image* image, const LearnColorPatternOptions* options); 05150 IMAQ_FUNC int IMAQ_STDCALL imaqLearnGeometricPattern(Image* image, PointFloat originOffset, const CurveOptions* curveOptions, const LearnGeometricPatternAdvancedOptions* advancedLearnOptions, const Image* mask); 05151 IMAQ_FUNC MultipleGeometricPattern* IMAQ_STDCALL imaqLearnMultipleGeometricPatterns(const Image** patterns, unsigned int numberOfPatterns, const String255* labels); 05152 IMAQ_FUNC int IMAQ_STDCALL imaqLearnPattern3(Image* image, LearningMode learningMode, LearnPatternAdvancedOptions* advancedOptions, const Image* mask); 05153 IMAQ_FUNC PatternMatch* IMAQ_STDCALL imaqMatchColorPattern(const Image* image, Image* pattern, const MatchColorPatternOptions* options, Rect searchRect, int* numMatches); 05154 IMAQ_FUNC GeometricPatternMatch2* IMAQ_STDCALL imaqMatchGeometricPattern2(const Image* image, const Image* pattern, const CurveOptions* curveOptions, const MatchGeometricPatternOptions* matchOptions, const MatchGeometricPatternAdvancedOptions2* advancedMatchOptions, const ROI* roi, int* numMatches); 05155 IMAQ_FUNC GeometricPatternMatch2* IMAQ_STDCALL imaqMatchMultipleGeometricPatterns(const Image* image, const MultipleGeometricPattern* multiplePattern, const ROI* roi, int* numMatches); 05156 IMAQ_FUNC MultipleGeometricPattern* IMAQ_STDCALL imaqReadMultipleGeometricPatternFile(const char* fileName, String255 description); 05157 IMAQ_FUNC PatternMatch* IMAQ_STDCALL imaqRefineMatches(const Image* image, const Image* pattern, const PatternMatch* candidatesIn, int numCandidatesIn, MatchPatternOptions* options, MatchPatternAdvancedOptions* advancedOptions, int* numCandidatesOut); 05158 IMAQ_FUNC int IMAQ_STDCALL imaqSetMultipleGeometricPatternsOptions(MultipleGeometricPattern* multiplePattern, const char* label, const CurveOptions* curveOptions, const MatchGeometricPatternOptions* matchOptions, const MatchGeometricPatternAdvancedOptions2* advancedMatchOptions); 05159 IMAQ_FUNC int IMAQ_STDCALL imaqWriteMultipleGeometricPatternFile(const MultipleGeometricPattern* multiplePattern, const char* fileName, const char* description); 05160 IMAQ_FUNC GeometricPatternMatch3* IMAQ_STDCALL imaqMatchGeometricPattern3(const Image* image, const Image* pattern, const CurveOptions* curveOptions, const MatchGeometricPatternOptions* matchOptions, const MatchGeometricPatternAdvancedOptions3* advancedMatchOptions, const ROI* roi, size_t* numMatches); 05161 IMAQ_FUNC int IMAQ_STDCALL imaqLearnGeometricPattern2(Image* image, PointFloat originOffset, double angleOffset, const CurveOptions* curveOptions, const LearnGeometricPatternAdvancedOptions2* advancedLearnOptions, const Image* mask); 05162 IMAQ_FUNC PatternMatch* IMAQ_STDCALL imaqMatchPattern3(const Image* image, const Image* pattern, const MatchPatternOptions* options, const MatchPatternAdvancedOptions* advancedOptions, const ROI* roi, int* numMatches); 05163 05164 //============================================================================ 05165 // Overlay functions 05166 //============================================================================ 05167 IMAQ_FUNC int IMAQ_STDCALL imaqClearOverlay(Image* image, const char* group); 05168 IMAQ_FUNC int IMAQ_STDCALL imaqCopyOverlay(Image* dest, const Image* source, const char* group); 05169 IMAQ_FUNC int IMAQ_STDCALL imaqGetOverlayProperties(const Image* image, const char* group, TransformBehaviors* transformBehaviors); 05170 IMAQ_FUNC int IMAQ_STDCALL imaqMergeOverlay(Image* dest, const Image* source, const RGBValue* palette, unsigned int numColors, const char* group); 05171 IMAQ_FUNC int IMAQ_STDCALL imaqOverlayArc(Image* image, const ArcInfo* arc, const RGBValue* color, DrawMode drawMode, const char* group); 05172 IMAQ_FUNC int IMAQ_STDCALL imaqOverlayBitmap(Image* image, Point destLoc, const RGBValue* bitmap, unsigned int numCols, unsigned int numRows, const char* group); 05173 IMAQ_FUNC int IMAQ_STDCALL imaqOverlayClosedContour(Image* image, const Point* points, int numPoints, const RGBValue* color, DrawMode drawMode, const char* group); 05174 IMAQ_FUNC int IMAQ_STDCALL imaqOverlayLine(Image* image, Point start, Point end, const RGBValue* color, const char* group); 05175 IMAQ_FUNC int IMAQ_STDCALL imaqOverlayMetafile(Image* image, const void* metafile, Rect rect, const char* group); 05176 IMAQ_FUNC int IMAQ_STDCALL imaqOverlayOpenContour(Image* image, const Point* points, int numPoints, const RGBValue* color, const char* group); 05177 IMAQ_FUNC int IMAQ_STDCALL imaqOverlayOval(Image* image, Rect boundingBox, const RGBValue* color, DrawMode drawMode, char* group); 05178 IMAQ_FUNC int IMAQ_STDCALL imaqOverlayPoints(Image* image, const Point* points, int numPoints, const RGBValue* colors, int numColors, PointSymbol symbol, const UserPointSymbol* userSymbol, const char* group); 05179 IMAQ_FUNC int IMAQ_STDCALL imaqOverlayRect(Image* image, Rect rect, const RGBValue* color, DrawMode drawMode, const char* group); 05180 IMAQ_FUNC int IMAQ_STDCALL imaqOverlayROI(Image* image, const ROI* roi, PointSymbol symbol, const UserPointSymbol* userSymbol, const char* group); 05181 IMAQ_FUNC int IMAQ_STDCALL imaqOverlayText(Image* image, Point origin, const char* text, const RGBValue* color, const OverlayTextOptions* options, const char* group); 05182 IMAQ_FUNC int IMAQ_STDCALL imaqSetOverlayProperties(Image* image, const char* group, TransformBehaviors* transformBehaviors); 05183 05184 //============================================================================ 05185 // OCR functions 05186 //============================================================================ 05187 IMAQ_FUNC CharSet* IMAQ_STDCALL imaqCreateCharSet(void); 05188 IMAQ_FUNC int IMAQ_STDCALL imaqDeleteChar(CharSet* set, int index); 05189 IMAQ_FUNC int IMAQ_STDCALL imaqGetCharCount(const CharSet* set); 05190 IMAQ_FUNC CharInfo2* IMAQ_STDCALL imaqGetCharInfo2(const CharSet* set, int index); 05191 IMAQ_FUNC int IMAQ_STDCALL imaqReadOCRFile(const char* fileName, CharSet* set, String255 setDescription, ReadTextOptions* readOptions, OCRProcessingOptions* processingOptions, OCRSpacingOptions* spacingOptions); 05192 IMAQ_FUNC ReadTextReport3* IMAQ_STDCALL imaqReadText3(const Image* image, const CharSet* set, const ROI* roi, const ReadTextOptions* readOptions, const OCRProcessingOptions* processingOptions, const OCRSpacingOptions* spacingOptions); 05193 IMAQ_FUNC int IMAQ_STDCALL imaqRenameChar(CharSet* set, int index, const char* newCharValue); 05194 IMAQ_FUNC int IMAQ_STDCALL imaqSetReferenceChar(const CharSet* set, int index, int isReferenceChar); 05195 IMAQ_FUNC int IMAQ_STDCALL imaqTrainChars(const Image* image, CharSet* set, int index, const char* charValue, const ROI* roi, const OCRProcessingOptions* processingOptions, const OCRSpacingOptions* spacingOptions); 05196 IMAQ_FUNC int* IMAQ_STDCALL imaqVerifyPatterns(const Image* image, const CharSet* set, const String255* expectedPatterns, int patternCount, const ROI* roi, int* numScores); 05197 IMAQ_FUNC int* IMAQ_STDCALL imaqVerifyText(const Image* image, const CharSet* set, const char* expectedString, const ROI* roi, int* numScores); 05198 IMAQ_FUNC int IMAQ_STDCALL imaqWriteOCRFile(const char* fileName, const CharSet* set, const char* setDescription, const ReadTextOptions* readOptions, const OCRProcessingOptions* processingOptions, const OCRSpacingOptions* spacingOptions); 05199 05200 //============================================================================ 05201 // Geometric Matching functions 05202 //============================================================================ 05203 IMAQ_FUNC ExtractContourReport* IMAQ_STDCALL imaqExtractContour(Image* image, const ROI* roi, ExtractContourDirection direction, CurveParameters* curveParams, const ConnectionConstraint* connectionConstraintParams, unsigned int numOfConstraints, ExtractContourSelection selection, Image* contourImage); 05204 IMAQ_FUNC int IMAQ_STDCALL imaqContourOverlay(Image* image, const Image* contourImage, const ContourOverlaySettings* pointsSettings, const ContourOverlaySettings* eqnSettings, const char* groupName); 05205 IMAQ_FUNC ContourComputeCurvatureReport* IMAQ_STDCALL imaqContourComputeCurvature(const Image* contourImage, unsigned int kernel); 05206 IMAQ_FUNC CurvatureAnalysisReport* IMAQ_STDCALL imaqContourClassifyCurvature(const Image* contourImage, unsigned int kernel, RangeLabel* curvatureClasses, unsigned int numCurvatureClasses); 05207 IMAQ_FUNC ComputeDistancesReport* IMAQ_STDCALL imaqContourComputeDistances(const Image* targetImage, const Image* templateImage, const SetupMatchPatternData* matchSetupData, unsigned int smoothingKernel); 05208 IMAQ_FUNC ClassifyDistancesReport* IMAQ_STDCALL imaqContourClassifyDistances(const Image* targetImage, const Image* templateImage, const SetupMatchPatternData* matchSetupData, unsigned int smoothingKernel, const RangeLabel* distanceRanges, unsigned int numDistanceRanges); 05209 IMAQ_FUNC ContourInfoReport* IMAQ_STDCALL imaqContourInfo(const Image* contourImage); 05210 IMAQ_FUNC SetupMatchPatternData* IMAQ_STDCALL imaqContourSetupMatchPattern(MatchMode* matchMode, unsigned int enableSubPixelAccuracy, CurveParameters* curveParams, unsigned int useLearnCurveParameters, const RangeSettingDouble* rangeSettings, unsigned int numRangeSettings); 05211 IMAQ_FUNC int IMAQ_STDCALL imaqContourAdvancedSetupMatchPattern(SetupMatchPatternData* matchSetupData, GeometricAdvancedSetupDataOption* geometricOptions, unsigned int numGeometricOptions); 05212 IMAQ_FUNC ContourFitLineReport* IMAQ_STDCALL imaqContourFitLine(Image* image, double pixelRadius); 05213 IMAQ_FUNC PartialCircle* IMAQ_STDCALL imaqContourFitCircle(Image* image, double pixelRadius, int rejectOutliers); 05214 IMAQ_FUNC PartialEllipse* IMAQ_STDCALL imaqContourFitEllipse(Image* image, double pixelRadius, int rejectOutliers); 05215 IMAQ_FUNC ContourFitSplineReport* IMAQ_STDCALL imaqContourFitSpline(Image* image, int degree, int numberOfControlPoints); 05216 IMAQ_FUNC ContourFitPolynomialReport* IMAQ_STDCALL imaqContourFitPolynomial(Image* image, int order); 05217 05218 //============================================================================ 05219 // Edge Detection functions 05220 //============================================================================ 05221 IMAQ_FUNC FindCircularEdgeReport* IMAQ_STDCALL imaqFindCircularEdge2(Image* image, const ROI* roi, const CoordinateSystem* baseSystem, const CoordinateSystem* newSystem, const FindCircularEdgeOptions* edgeOptions, const CircleFitOptions* circleFitOptions); 05222 IMAQ_FUNC FindConcentricEdgeReport* IMAQ_STDCALL imaqFindConcentricEdge2(Image* image, const ROI* roi, const CoordinateSystem* baseSystem, const CoordinateSystem* newSystem, const FindConcentricEdgeOptions* edgeOptions, const ConcentricEdgeFitOptions* concentricEdgeFitOptions); 05223 05224 //============================================================================ 05225 // Morphology Reconstruction functions 05226 //============================================================================ 05227 IMAQ_FUNC int IMAQ_STDCALL imaqGrayMorphologyReconstruct(Image* dstImage, Image* srcImage, const Image* markerImage, PointFloat* points, int numOfPoints, MorphologyReconstructOperation operation, const StructuringElement* structuringElement, const ROI* roi); 05228 IMAQ_FUNC int IMAQ_STDCALL imaqMorphologyReconstruct(Image* dstImage, Image* srcImage, const Image* markerImage, PointFloat* points, int numOfPoints, MorphologyReconstructOperation operation, Connectivity connectivity, const ROI* roi); 05229 05230 //============================================================================ 05231 // Texture functions 05232 //============================================================================ 05233 IMAQ_FUNC int IMAQ_STDCALL imaqDetectTextureDefect(ClassifierSession* session, Image* destImage, const Image* srcImage, const ROI* roi, int initialStepSize, int finalStepSize, unsigned char defectPixelValue, double minClassificationScore); 05234 IMAQ_FUNC int IMAQ_STDCALL imaqClassificationTextureDefectOptions(ClassifierSession* session, WindowSize* windowOptions, WaveletOptions* waveletOptions, void** bandsUsed, int* numBandsUsed, CooccurrenceOptions* cooccurrenceOptions, unsigned char setOperation); 05235 IMAQ_FUNC int IMAQ_STDCALL imaqCooccurrenceMatrix(const Image* srcImage, const ROI* roi, int levelPixel, const DisplacementVector* displacementVec, void* featureOptionArray, unsigned int featureOptionArraySize, void** cooccurrenceMatrixArray, int* coocurrenceMatrixRows, int* coocurrenceMatrixCols, void** featureVectorArray, int* featureVectorArraySize); 05236 IMAQ_FUNC ExtractTextureFeaturesReport* IMAQ_STDCALL imaqExtractTextureFeatures(const Image* srcImage, const ROI* roi, const WindowSize* windowOptions, const WaveletOptions* waveletOptions, void* waveletBands, unsigned int numWaveletBands, const CooccurrenceOptions* cooccurrenceOptions, unsigned char useWindow); 05237 IMAQ_FUNC WaveletBandsReport* IMAQ_STDCALL imaqExtractWaveletBands(const Image* srcImage, const WaveletOptions* waveletOptions, void* waveletBands, unsigned int numWaveletBands); 05238 05239 //============================================================================ 05240 // Regions of Interest Manipulation functions 05241 //============================================================================ 05242 IMAQ_FUNC ROI* IMAQ_STDCALL imaqMaskToROI(const Image* mask, int* withinLimit); 05243 IMAQ_FUNC ROIProfile* IMAQ_STDCALL imaqROIProfile(const Image* image, const ROI* roi); 05244 IMAQ_FUNC int IMAQ_STDCALL imaqROIToMask(Image* mask, const ROI* roi, int fillValue, const Image* imageModel, int* inSpace); 05245 IMAQ_FUNC int IMAQ_STDCALL imaqTransformROI2(ROI* roi, const CoordinateSystem* baseSystem, const CoordinateSystem* newSystem); 05246 IMAQ_FUNC LabelToROIReport* IMAQ_STDCALL imaqLabelToROI(const Image* image, const unsigned int* labelsIn, unsigned int numLabelsIn, int maxNumVectors, int isExternelEdges); 05247 05248 //============================================================================ 05249 // Morphology functions 05250 //============================================================================ 05251 IMAQ_FUNC int IMAQ_STDCALL imaqGrayMorphology(Image* dest, Image* source, MorphologyMethod method, const StructuringElement* structuringElement); 05252 05253 //============================================================================ 05254 // Classification functions 05255 //============================================================================ 05256 IMAQ_FUNC int IMAQ_STDCALL imaqAddClassifierSample(Image* image, ClassifierSession* session, const ROI* roi, const char* sampleClass, double* featureVector, unsigned int vectorSize); 05257 IMAQ_FUNC ClassifierReportAdvanced* IMAQ_STDCALL imaqAdvanceClassify(Image* image, const ClassifierSession* session, const ROI* roi, double* featureVector, unsigned int vectorSize); 05258 IMAQ_FUNC ClassifierReport* IMAQ_STDCALL imaqClassify(Image* image, const ClassifierSession* session, const ROI* roi, double* featureVector, unsigned int vectorSize); 05259 IMAQ_FUNC ClassifierSession* IMAQ_STDCALL imaqCreateClassifier(ClassifierType type); 05260 IMAQ_FUNC int IMAQ_STDCALL imaqDeleteClassifierSample(ClassifierSession* session, int index); 05261 IMAQ_FUNC ClassifierAccuracyReport* IMAQ_STDCALL imaqGetClassifierAccuracy(const ClassifierSession* session); 05262 IMAQ_FUNC ClassifierSampleInfo* IMAQ_STDCALL imaqGetClassifierSampleInfo(const ClassifierSession* session, int index, int* numSamples); 05263 IMAQ_FUNC int IMAQ_STDCALL imaqGetColorClassifierOptions(const ClassifierSession* session, ColorOptions* options); 05264 IMAQ_FUNC int IMAQ_STDCALL imaqGetNearestNeighborOptions(const ClassifierSession* session, NearestNeighborOptions* options); 05265 IMAQ_FUNC int IMAQ_STDCALL imaqGetParticleClassifierOptions2(const ClassifierSession* session, ParticleClassifierPreprocessingOptions2* preprocessingOptions, ParticleClassifierOptions* options); 05266 IMAQ_FUNC ClassifierSession* IMAQ_STDCALL imaqReadClassifierFile(ClassifierSession* session, const char* fileName, ReadClassifierFileMode mode, ClassifierType* type, ClassifierEngineType* engine, String255 description); 05267 IMAQ_FUNC int IMAQ_STDCALL imaqRelabelClassifierSample(ClassifierSession* session, int index, const char* newClass); 05268 IMAQ_FUNC int IMAQ_STDCALL imaqSetParticleClassifierOptions2(ClassifierSession* session, const ParticleClassifierPreprocessingOptions2* preprocessingOptions, const ParticleClassifierOptions* options); 05269 IMAQ_FUNC int IMAQ_STDCALL imaqSetColorClassifierOptions(ClassifierSession* session, const ColorOptions* options); 05270 IMAQ_FUNC NearestNeighborTrainingReport* IMAQ_STDCALL imaqTrainNearestNeighborClassifier(ClassifierSession* session, const NearestNeighborOptions* options); 05271 IMAQ_FUNC int IMAQ_STDCALL imaqWriteClassifierFile(const ClassifierSession* session, const char* fileName, WriteClassifierFileMode mode, const String255 description); 05272 05273 //============================================================================ 05274 // Measure Distances functions 05275 //============================================================================ 05276 IMAQ_FUNC ClampMax2Report* IMAQ_STDCALL imaqClampMax2(Image* image, const ROI* roi, const CoordinateSystem* baseSystem, const CoordinateSystem* newSystem, const CurveOptions* curveSettings, const ClampSettings* clampSettings, const ClampOverlaySettings* clampOverlaySettings); 05277 05278 //============================================================================ 05279 // Inspection functions 05280 //============================================================================ 05281 IMAQ_FUNC int IMAQ_STDCALL imaqCompareGoldenTemplate(const Image* image, const Image* goldenTemplate, Image* brightDefects, Image* darkDefects, const InspectionAlignment* alignment, const InspectionOptions* options); 05282 IMAQ_FUNC int IMAQ_STDCALL imaqLearnGoldenTemplate(Image* goldenTemplate, PointFloat originOffset, const Image* mask); 05283 //============================================================================ 05284 // Obsolete functions 05285 //============================================================================ 05286 IMAQ_FUNC int IMAQ_STDCALL imaqRotate(Image* dest, const Image* source, float angle, PixelValue fill, InterpolationMethod method); 05287 IMAQ_FUNC int IMAQ_STDCALL imaqWritePNGFile(const Image* image, const char* fileName, unsigned int compressionSpeed, const RGBValue* colorTable); 05288 IMAQ_FUNC ParticleReport* IMAQ_STDCALL imaqSelectParticles(const Image* image, const ParticleReport* reports, int reportCount, int rejectBorder, const SelectParticleCriteria* criteria, int criteriaCount, int* selectedCount); 05289 IMAQ_FUNC int IMAQ_STDCALL imaqParticleFilter(Image* dest, Image* source, const ParticleFilterCriteria* criteria, int criteriaCount, int rejectMatches, int connectivity8); 05290 IMAQ_FUNC ParticleReport* IMAQ_STDCALL imaqGetParticleInfo(Image* image, int connectivity8, ParticleInfoMode mode, int* reportCount); 05291 IMAQ_FUNC int IMAQ_STDCALL imaqCalcCoeff(const Image* image, const ParticleReport* report, MeasurementValue parameter, float* coefficient); 05292 IMAQ_FUNC EdgeReport* IMAQ_STDCALL imaqEdgeTool(const Image* image, const Point* points, int numPoints, const EdgeOptions* options, int* numEdges); 05293 IMAQ_FUNC CircleReport* IMAQ_STDCALL imaqCircles(Image* dest, const Image* source, float minRadius, float maxRadius, int* numCircles); 05294 IMAQ_FUNC int IMAQ_STDCALL imaqLabel(Image* dest, Image* source, int connectivity8, int* particleCount); 05295 IMAQ_FUNC int IMAQ_STDCALL imaqFitEllipse(const PointFloat* points, int numPoints, BestEllipse* ellipse); 05296 IMAQ_FUNC int IMAQ_STDCALL imaqFitCircle(const PointFloat* points, int numPoints, BestCircle* circle); 05297 IMAQ_FUNC Color IMAQ_STDCALL imaqChangeColorSpace(const Color* sourceColor, ColorMode sourceSpace, ColorMode destSpace); 05298 IMAQ_FUNC PatternMatch* IMAQ_STDCALL imaqMatchPattern(const Image* image, Image* pattern, const MatchPatternOptions* options, Rect searchRect, int* numMatches); 05299 IMAQ_FUNC int IMAQ_STDCALL imaqConvex(Image* dest, const Image* source); 05300 IMAQ_FUNC int IMAQ_STDCALL imaqIsVisionInfoPresent(const Image* image, VisionInfoType type, int* present); 05301 IMAQ_FUNC int IMAQ_STDCALL imaqLineGaugeTool(const Image* image, Point start, Point end, LineGaugeMethod method, const EdgeOptions* edgeOptions, const CoordinateTransform* reference, float* distance); 05302 IMAQ_FUNC int IMAQ_STDCALL imaqBestCircle(const PointFloat* points, int numPoints, PointFloat* center, double* radius); 05303 IMAQ_FUNC int IMAQ_STDCALL imaqSavePattern(const Image* pattern, const char* fileName); 05304 IMAQ_FUNC int IMAQ_STDCALL imaqLoadPattern(Image* pattern, const char* fileName); 05305 IMAQ_FUNC int IMAQ_STDCALL imaqTransformROI(ROI* roi, Point originStart, float angleStart, Point originFinal, float angleFinal); 05306 IMAQ_FUNC int IMAQ_STDCALL imaqCoordinateReference(const Point* points, ReferenceMode mode, Point* origin, float* angle); 05307 IMAQ_FUNC ContourInfo* IMAQ_STDCALL imaqGetContourInfo(const ROI* roi, ContourID id); 05308 IMAQ_FUNC int IMAQ_STDCALL imaqSetWindowOverlay(int windowNumber, const Overlay* overlay); 05309 IMAQ_FUNC Overlay* IMAQ_STDCALL imaqCreateOverlayFromROI(const ROI* roi); 05310 IMAQ_FUNC Overlay* IMAQ_STDCALL imaqCreateOverlayFromMetafile(const void* metafile); 05311 IMAQ_FUNC int IMAQ_STDCALL imaqSetCalibrationInfo(Image* image, CalibrationUnit unit, float xDistance, float yDistance); 05312 IMAQ_FUNC int IMAQ_STDCALL imaqGetCalibrationInfo(const Image* image, CalibrationUnit* unit, float* xDistance, float* yDistance); 05313 IMAQ_FUNC int IMAQ_STDCALL imaqConstructROI(const Image* image, ROI* roi, Tool initialTool, const ToolWindowOptions* tools, const ConstructROIOptions* options, int* okay); 05314 IMAQ_FUNC int IMAQ_STDCALL imaqGetParticleClassifierOptions(const ClassifierSession* session, ParticleClassifierPreprocessingOptions* preprocessingOptions, ParticleClassifierOptions* options); 05315 IMAQ_FUNC int IMAQ_STDCALL imaqZoomWindow(int windowNumber, int xZoom, int yZoom, Point center); 05316 IMAQ_FUNC int IMAQ_STDCALL imaqGetWindowZoom(int windowNumber, int* xZoom, int* yZoom); 05317 IMAQ_FUNC int IMAQ_STDCALL imaqParticleFilter3(Image* dest, Image* source, const ParticleFilterCriteria2* criteria, int criteriaCount, const ParticleFilterOptions* options, const ROI* roi, int* numParticles); 05318 IMAQ_FUNC ReadTextReport2* IMAQ_STDCALL imaqReadText2(const Image* image, const CharSet* set, const ROI* roi, const ReadTextOptions* readOptions, const OCRProcessingOptions* processingOptions, const OCRSpacingOptions* spacingOptions); 05319 IMAQ_FUNC int IMAQ_STDCALL imaqLearnPattern2(Image* image, LearningMode learningMode, LearnPatternAdvancedOptions* advancedOptions); 05320 IMAQ_FUNC int IMAQ_STDCALL imaqConvolve(Image* dest, Image* source, const float* kernel, int matrixRows, int matrixCols, float normalize, const Image* mask); 05321 IMAQ_FUNC int IMAQ_STDCALL imaqDivideConstant(Image* dest, const Image* source, PixelValue value); 05322 IMAQ_FUNC int IMAQ_STDCALL imaqDivide(Image* dest, const Image* sourceA, const Image* sourceB); 05323 IMAQ_FUNC EdgeReport2* IMAQ_STDCALL imaqEdgeTool3(const Image* image, const ROI* roi, EdgeProcess processType, const EdgeOptions2* edgeOptions); 05324 IMAQ_FUNC ConcentricRakeReport* IMAQ_STDCALL imaqConcentricRake(const Image* image, const ROI* roi, ConcentricRakeDirection direction, EdgeProcess process, const RakeOptions* options); 05325 IMAQ_FUNC SpokeReport* IMAQ_STDCALL imaqSpoke(const Image* image, const ROI* roi, SpokeDirection direction, EdgeProcess process, const SpokeOptions* options); 05326 IMAQ_FUNC int IMAQ_STDCALL imaqLearnPattern(Image* image, LearningMode learningMode); 05327 IMAQ_FUNC int IMAQ_STDCALL imaqLookup(Image* dest, const Image* source, const short* table, const Image* mask); 05328 IMAQ_FUNC PatternMatch* IMAQ_STDCALL imaqMatchPattern2(const Image* image, const Image* pattern, const MatchPatternOptions* options, const MatchPatternAdvancedOptions* advancedOptions, Rect searchRect, int* numMatches); 05329 IMAQ_FUNC int IMAQ_STDCALL imaqSetParticleClassifierOptions(ClassifierSession* session, const ParticleClassifierPreprocessingOptions* preprocessingOptions, const ParticleClassifierOptions* options); 05330 IMAQ_FUNC int IMAQ_STDCALL imaqCopyCalibrationInfo(Image* dest, const Image* source); 05331 IMAQ_FUNC int IMAQ_STDCALL imaqParticleFilter2(Image* dest, Image* source, const ParticleFilterCriteria2* criteria, int criteriaCount, int rejectMatches, int connectivity8, int* numParticles); 05332 IMAQ_FUNC EdgeReport* IMAQ_STDCALL imaqEdgeTool2(const Image* image, const Point* points, int numPoints, EdgeProcess process, const EdgeOptions* options, int* numEdges); 05333 IMAQ_FUNC ContourID IMAQ_STDCALL imaqAddRotatedRectContour(ROI* roi, RotatedRect rect); 05334 IMAQ_FUNC Barcode2DInfo* IMAQ_STDCALL imaqReadDataMatrixBarcode(const Image* image, const ROI* roi, const DataMatrixOptions* options, unsigned int* numBarcodes); 05335 IMAQ_FUNC LinearAverages* IMAQ_STDCALL imaqLinearAverages(const Image* image, Rect rect); 05336 IMAQ_FUNC GeometricPatternMatch* IMAQ_STDCALL imaqMatchGeometricPattern(const Image* image, const Image* pattern, const CurveOptions* curveOptions, const MatchGeometricPatternOptions* matchOptions, const MatchGeometricPatternAdvancedOptions* advancedMatchOptions, const ROI* roi, int* numMatches); 05337 IMAQ_FUNC CharInfo* IMAQ_STDCALL imaqGetCharInfo(const CharSet* set, int index); 05338 IMAQ_FUNC ReadTextReport* IMAQ_STDCALL imaqReadText(const Image* image, const CharSet* set, const ROI* roi, const ReadTextOptions* readOptions, const OCRProcessingOptions* processingOptions, const OCRSpacingOptions* spacingOptions); 05339 IMAQ_FUNC ThresholdData* IMAQ_STDCALL imaqAutoThreshold(Image* dest, Image* source, int numClasses, ThresholdMethod method); 05340 IMAQ_FUNC ColorHistogramReport* IMAQ_STDCALL imaqColorHistogram(Image* image, int numClasses, ColorMode mode, const Image* mask); 05341 IMAQ_FUNC RakeReport* IMAQ_STDCALL imaqRake(const Image* image, const ROI* roi, RakeDirection direction, EdgeProcess process, const RakeOptions* options); 05342 #endif 05343