| Member name | Value | Description |
---|
| mcramReadWrite | 0 | Access may be both read and write |
| mcramReadOnly | 1 | Access will be read only. An attempt to write tosuch an McRegionAccess instance will result in an error. |
| mcramWriteOnly | 2 | Access will be write only. For a cast Type thisavoids an unnecessary cast when the McRegionAccess is created. |
| mcramModeMask | 3 | mask for the read/write mode values |
| mcramTestOnly | 16 | If 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. |
| mcramNearestNaturalSizeRatio | 32 | If 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. |
| mcramLikelyToReuseROI | 64 | If 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. |
| mcramNotLikelyToReuseROI | 128 | If 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. |
| mcramDoNotAutoAssignRegionMask | 256 | If 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). |
| mcramDoNotScaleRegionMask | 512 | If 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). |
| mcramAutoSizeRatio | 1024 | If 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. |
| mcramMemUsageLimitIsMBytesNotPcnt | 2048 | If 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. |
| mcramUnsignedGetFlag | 4096 | if 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. |
| mcramCacheCast | 8192 | If 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. |
| mcramShowCastProgress | 16384 | If 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. |
| mcramAllowProgressEscape | 32768 | If 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. |
| mcramHitMemoryUsageLimit | 65536 | When 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. |
| mcramAllocationTestFailure | 131072 | When 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. |
| mcramCastNeeded | 262144 | This 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. |
| mcramUseWeightedMonoCast | 524288 | If 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. |
| mcramAutoStriping | 1048576 | If 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. |