------------------------------------------------------------------------------- Matrox Imaging Library (8.0) LastMinute.txt Readme File April 7, 2005 Copyright© 2005 by Matrox Electronic Systems Ltd. All rights reserved. ------------------------------------------------------------------------------- This file presents last minute information that did not make it into the manuals or on-line help, except for last minute board-specific information. For board-specific information, see the Readme file specific for your driver. The information found in this file overrides your formally documented material. Contents 1. New MIL macro and MIL data types. 2. Mbuf...() correction. 3. Mdig...() correction 4. Mdisp...() correction. 5. Medge...() addition. 6. Mim...() addition. 7. Mcode...() addition. 8. Mstr...() constants that are only available if MIL 8.0 with Processing Pack 1 is installed. 9. Mthr...() correction. 10. User Guide notice. 11. Matrox Odyssey notice. 1. New MIL macro and MIL data types. - For portability, when passing a string directly or setting it under a predefined constant, you must use the MIL_TEXT macro to cast the string to the appropriate type. 2. Mbuf...() correction. - MbufControl(): - Under the ControlTypes M_MIN and M_MAX: Pixel values larger than the max value or smaller than the min value will have an undetermined effect on display. Upon display, pixel values between M_MIN and M_MAX are remapped linearly to values between the minimum and maximum display values possible. 3. Mdig...() correction. - MdigControl(): - Under the ControlTypes M_GRAB_SCALE, M_GRAB_SCALE_X, and M_GRAB_SCALE_Y: Arbitrary scaling (n) is supported on Matrox CronosPlus, Matrox Orion and Matrox Meteor-II/Standard. This is not reflected in the documentation. If the scale entered is not supported - the best match possible is used instead. If, however, the scale entered is larger than the maximum value supported, an error is returned. - MdigProcess(): - When using MdigProcess() to grab and process a sequence of images asynchronously, you must make an additional call to MdigProcess() using M_STOP free internally allocated resources. This is a known limitation. Note that, if you wish to have MdigProcess() wait until all previously queued grabs to finish before returning control to the host, use M_STOP+M_WAIT. 4. Mdisp...() correction. - MdispControl(): - When displaying a 32-bit buffer, to specify M_AUTO_SCALE as the view mode (M_VIEW_MODE) of the display, you must have a valid license for the Mim functions. - MdispHookFunction(): - The function's prototype is correct. It is still the same as it was in MIL 6.0. That is: MDISPHOOKFCTPTR MdispHookFunction(DisplayId, HookType, HookHandlerPtr, UserDataPtr) - You are still responsible for tracking the address of the hooked function and chaining it if required. - MdispInquire(): - The definition for the InquireTypes M_SIZE_X and M_SIZE_Y are incorrect. M_SIZE_X: Returns the display's width. For windowed displays, the returned value is equal to the width of the client area of the window. For auxiliary displays, the returned width is that specified in the VCF file. M_SIZE_Y: Returns the display's height. For windowed displays, the returned value is equal to the height of the client area of the window. For auxiliary displays, the returned height is that specified in the VCF file. - MdispSelectWindow(): - To use this MIL function, the windows.h files must be included, and it must be included before the mil.h file. 5. MedgeControl() M_EXTRACTION_SCALE addition. - The ModelFinder control cannot define models from or find model occurrences in the results of an edge extraction if the results were obtained using an extraction scale other than 1 (default = 1). Note that the extraction scale is set using M_EXTRACTION_SCALE in MedgeControl(). 6. Mim...() addition. - MimMorphic() M_AREA_OPEN and M_AREA_CLOSE operations: - The M_AREA_OPEN operation modifies each destination pixel to take the maximum possible intensity value such that the associated source pixel is part of a connected group of pixels that are at least of this intensity value in the source and such that the connected group has an area greater or equal to the area threshold. - The M_AREA_CLOSE operation modifies each destination pixel to take the minimum possible intensity value such that the associated source pixel is part of a connected group of pixels that are at most of this intensity value in the source and such that the connected group has an area greater or equal to the area threshold. - The connectivity of the M_AREA_OPEN and M_AREA_CLOSE is defined by the structuring element: the center pixel is considered connected with the non-zero elements of the structuring element. There are only two structuring elements you can use with these two operations: M_3X3_RECT and M_3X3_CROSS. You cannot use these predefined structuring elements with the other morphological transformations. - The area threshold of M_AREA_OPEN and M_AREA_CLOSE is set, in pixels, using the NbIteration parameter. - MimStat(), MimGetResult(), and MimGetResult1d() M_SUM_SQUARED - The value M_SUM_SQUARED is now M_SUM_OF_SQUARES. - MimRank() M_5X5_RECT - Without Processing Pack 1, this value is not yet supported. 7. Mcode...() addition - McodeInquire() M_TIMOEOUT is missing from the current documentation. Returns the maximum decoding time for a read operation. The default is 2000 msec. 8. Mstr...() constants that are only available if MIL 8.0 with Processing Pack 1 is installed. - MstrControl(): - M_SEARCH_SKEW_ANGLE. - M_SEARCH_CHAR_ANGLE. - M_FOREGROUND_VALUE set to M_FOREGROUND_BLACK_OR_WHITE. - M_STRING_NUMBER set to M_ALL. - M_STRING_NUMBER set to any value greater than or equal to 1, for M_CONTEXT. Without Processing Pack 1, the only valid value is 1. - M_STRING_NUMBER set to any value greater than or equal to 0, for M_STRING_INDEX(). Without Processing Pack 1, the only valid values are 0 and 1. - MstrInquire(): - M_SEARCH_SKEW_ANGLE. - M_SEARCH_CHAR_ANGLE. - M_SPACE_WIDTH_VALUE. - MstrGetResult(): - M_SKEW_ANGLE. - M_CHAR_ANGLE. 9. Mthr...() correction. - MthrWait() - The M_THREAD_TIMEOUT(n) and M_EVENT_TIMEOUT(n) combination constants can only be used if the specified thread or specified event are allocated on the Host or an Odyssey board (XA, XCL, XPro, or XPro+). 10. User Guide notice. - The String Reader chapter is preliminary. 11. Matrox Odyssey notice. - Multiple processing is not supported on Matrox Odyssey with this release. Documentation stating otherwise within the online help is in error. See the MilOdyssey.txt file for more details.