Click or drag to resize

mcRegionAccessMode Enumeration

Allowed values for the IMcImage.CreateRegionAccessEx AccessMode argument and the IMcImage2.CreateRegionAccess2 AccessModeFlags argument.

Namespace:  MediaCy.IQL.Engine
Assembly:  MediaCy.IQL.Engine (in MediaCy.IQL.Engine.dll) Version: 10.0.6912.0
Syntax
VB
Public Enumeration mcRegionAccessMode
Members
  Member nameValueDescription
mcramReadWrite0Access may be both read and write
mcramReadOnly1Access will be read only. An attempt to write tosuch an McRegionAccess instance will result in an error.
mcramWriteOnly2Access will be write only. For a cast Type thisavoids an unnecessary cast when the McRegionAccess is created.
mcramModeMask3mask for the read/write mode values
mcramTestOnly16If set in the AccessModeFlagsargument passed to IMcImage2.CreateRegionAccess2, then the created IMcRegionAccess instance will not be usable for accessing image data (any attempt to access image data via that instance will result in an error). Instead, the instance is created as if it were going to be used, setting its properties accordingly. In particular, the amount of memory that will be consumed by the instance is computed and returned via the pdMemoryUsageLimitPcnt argument, and the IMcRegionAccess2.SizeRatio and IMcRegionAccess2.AccessModeFlags properties are set. Furthermore, the IMcRegionAccess.Left, Top, Right, Bottom, Width and Height properties are set as appropriate for the sub-sampled image determined by the SizeRatio. This flag will be set in the IMcRegionAccess2.AccessModeFlags property to inidicate that the instance is not usable for access to image data.
mcramNearestNaturalSizeRatio32If set in the AccessModeFlagsargument in a call to IMcImage2.CreateRegionAccess2, then the SizeRatio argument is adjusted to the nearest natural size ratio that is no larger than the requested size ratio on either axis. If any adjustment is made (that is, if the resulting IMcRegionAccess2.SizeRatio property differs from the SizeRatio argument passed to IMcImage2.CreateRegionAccess2), then this flag will be set in the IMcRegionAccess2.AccessModeFlags property, otherwise this bit will be clear. If this flag is clear in the AccessModeFlags argument in a call to IMcImage2.CreateRegionAccess2, then the SizeRatio argument is not adjusted, and it must be exactly equal to a natural size ratio or an integral value not less than 1 on either axis.
mcramLikelyToReuseROI64If set in the AccessModeFlagsargument in a call to IMcImage2.CreateRegionAccess2, then decisions about sizing and caching of image data are based on the assumption that the ROI of the region access, and possibly its immediate surround, are likely to be needed again.
mcramNotLikelyToReuseROI128If set in the AccessModeFlagsargument in a call to IMcImage2.CreateRegionAccess2, then decisions about sizing and caching of any image data are based on the assumption that the ROI of the region access is not likely to be needed again.
mcramDoNotAutoAssignRegionMask256If set in the AccessModeargument in the call McImageAccess.CurrentFrame or CurrentDestFrame is called, then the IMcRegionAccess.RegionMask property is left as Nothing in the newly created region access instance. If it is clear (the default), then the RegionMask is set to the frame's parent IMcImage.Aoi, shifted to align with the Left, Top of the IMcRegionAccess instance. This flag is mostly useful in avoiding the costly McRegions scaling that is needed if the created region access instance has a SizeRatio of other than 1 (see also mcramDoNotScaleRegionMask).
mcramDoNotScaleRegionMask512If set in the AccessMode anassignment to the IMcRegionAccess.RegionMask property will not scale the assigned region features by the SizeRatio (needed only if it is other than 1). If clear (the defautl), then the assigned McRegions is assumed to be in the coordinate system of the parent image, so it is scaled to match the image coordinates of the region access' SizeRatio. (See also mcramDoNotAutoAssignRegionMask).
mcramAutoSizeRatio1024If set in theAccessModeFlags argument passed to IMcImage2.CreateRegionAccess2, then the created IMcRegionAccess instance will adjust the IMcRegionAccess2.SizeRatio property to the smallest natural SizeRatio, such that the memory consumed by the created memory node will be smaller than a specified amount. If the IMcImage2.CreateRegionAccess2 MemoryUsageLimitPcnt argument is non-zero then this is the memory limit for which the IMcRegionAccess2.SizeRatio is set. If that argument is zero, then the limit is set by the IMcImages.MemoryAutoLockLimit.
mcramMemUsageLimitIsMBytesNotPcnt2048If set in the AccessModeFlagsargument passed to IMcImage2.CreateRegionAccess2, then the MemoryUsageLimitPcnt argument will be interpreted on entry and returned as MBytes, not percent of the IMcImages.MemoryUsageLimit as it is if this bit is clear.
mcramUnsignedGetFlag4096if set, then the createdMcRegionAccess.GetPoint GetLine and GetArea methods will by default return an unsigned type for integral pixel types. If clear, then the type returned for 12, 16 and 32 bit integral types is a signed integer.
mcramCacheCast8192If set and the McImageTypeneeds to be cast to another type, then the cast region is cached as a discardable child node of the frame's node. If not set, then any cast will be deleted when the McRegionAccess instance is fully released. Whether this bit is set or not, if a suitable cached cast existed, it will be used. On exit, this bit will be set in the the created instance's IMcRegionAccess2.AccessModeFlags property if the image data needed to be type-cast and if that cast could be satisfied from an existing cache. Note that irrespective of its state on entry, this bit will be clear on exit unless a cast will be needed (see mcramCastNeeded) and an existing cache could satisfy the cast. If this bit was set on entry and the mcramCastNeeded bit is set on exit, then the cast will have been cached for further access.
mcramShowCastProgress16384If set and the McImageTypeneeds to be cast to another type and there are a large number of pixels to cast, then a progress meter phase may be established during the cast. No progress meter phase will be established if the cast can be satified from a cache or if the amount of data to be cast is relatively small; thus if you want to ensure that a progress meter phase is performed, surround the call to CreateRegionAccess[Ex] with BeginPhase/EndPhase.
mcramAllowProgressEscape32768If set in the AccessMode, anda progress meter is displayed during a cast to another McImageType (see mcramShowCastProgress), then a user press of the Escape key will abort the cast; if not set, then casts will always run to completion, ignoring any Escape keypress. When a cast is interrupted, the uncast portion of the created McRegionAccess.ROI will be left in an indeterminite state and the mcramAllowProgressEscape bit will be set in the created McRegionAccess instance's IMcRegionAccess2.AccessModeFlags; this bit will be clear in the AccessModeFlags if the cast proceeds to completion.
mcramHitMemoryUsageLimit65536When mcramTestOnly is set inthe the AccessModeFlags argument passed to IMcImage2.CreateRegionAccess2 and the ByRef pdMemoryUsageLimitPcnt is non-zero on entry, then this flag is set in the created instance's IMcRegionAccess2.AccessModeFlags property to indicate that the required memory consumption will exceed the specified limit. If the mcramTestOnly flag is clear then the creation will fail if the limit is exceeded.
mcramAllocationTestFailure131072When mcramTestOnly is set inthe the AccessModeFlags argument passed to IMcImage2.CreateRegionAccess2, then this flag is set in the created instance's IMcRegionAccess2.AccessModeFlags property to indicate that the required memory allocation cannot be satisfied by the operating system. The if the mcramTestOnly flag is clear then the creation will fail if the allocation fails.
mcramCastNeeded262144This flag is set in thecreated instance's IMcRegionAccess2.AccessModeFlags property to indicate that a type cast of image data has been or will be (when mcramTestOnly is set) needed.
mcramUseWeightedMonoCast524288If set in the AccessMode,and a cast from RGB or BGR to monochrome is needed, then the conversion will be done using a weighted average that uses the following weights 0.302 Red, 0.588 Green and 0.110 Blue. If not set, then a simple average of the three color channels is used.
mcramAutoStriping1048576If set in the AccessMode,and the accessed McPixelBuffer was initialized with the mcPixelBufferInitFlag::mpbifOnDemandStorageOnly flag set (because McImages::AddWithStorage was called with the mcImageCreateFlags::mcicfOnDiskImageData Flags bit set), then access to region data is assumed to be made in strips via calls to McRegionAccess.GetLinePointer. During McRegionAccess initialization, the LinesAbove and LinesBelow properties are set to zero instead of the default full height of the McRegionAccess.ROI --- that is, the assumed strip height is assumed to be one row of the ROI; the caller must set the LinesAbove and LinesBelow properties to their required values before the first call to McRegionAccess.GetLinePointer. If the total amount of memory required to load a sub-ROI that satisfies the LinesAbove and LinesBelow properties is too great to fit within one half image memory, McResourceManager.MemoryMax(mcMemoryType.mcmtImageMemoryMBytes), then the GetLinePointer call will fail.
See Also