| Member name | Value | Description |
---|
| mcisfNoFlags | 0 | No flags. |
| mcisfReadOnlyFile | 1 | If set, image datacannot be saved to the source image file; a Save As operation must be
done to save the image. Note that this flag only indicates that
a SaveAs rather than a Save operation wil be needed to save the
image data; the mcisfNoWriteToImageData may or may not be set. |
| mcisfNoWriteToImageData | 2 | If set, no writeaccess is allowed to image data. All McRegionAccess instances must be
created with mcRegionAccessMode.mcramReadOnly as the AccessMode argument.
Note that this is a stronger prohibition than the mcisfReadOnlyFile state. |
| mcisfVeryLargeFrames | 4 | If set, individualframes of this image are too large to fit within the limit set by
ResourceManager.MiscellaneousResources(
mcMiscellaneousResources.mcmrVeryLargeImage), which by default is 95% of
managed memory reserved for images. Images with this state will usually be
opened in a special, limited viewer, in which case the mcisfOpenedAsVLI flag
will be set. See also mcisfVeryLargeROI. |
| mcisfInFileImageData | 8 | If set, image data iskept in the source image file. It is brought into memory as needed, but in
a less efficient manner than can be done for images without this state.
Usually, but not necessarily always, images with this flag also have the
mcisfOpenedAsVLI flag set. Currently any image with this flag set will
have the mcisfNoWriteToImageData flag set. |
| mcisfHasNaturalSizeRatios | 16 | If set, the imagesupports access to subsampled (i.e., low-resolution) image data at no
greater cost than access to full-resolution image data for certain "natural"
degrees of sub-sampling. The list of natural sub-samplings available is
accessed by assigning the mcImage2CommandFlags.mci2cfReportNaturalSizeRatios
to IMcImage2.CommandFlags and then getting the list from
IMcImage2.CommandData. Low-resolution image data can be accessed with the
IMcImage2.CreateRegionAccess2 or IMcImage2.CopyToNewImageEx |
| mcisfDiscardableImageData | 32 | If set, then whenmemory needs to be freed, and the frame's NextAccessPriority is less than a
positive PixelBuffer.NextAccessPriorityForDiscard, instead of spooling out
the memory to a swap file, it will be just discarded. If image memory has
actually been discarded, then the mcisfImageDataHasBeenDiscarded bit will be
set as well. |
| mcisfImageDataHasBeenDiscarded | 64 | This bit will be setonly if the mcisfDiscardableImageData is set. If the FrameIndex is
McWholeImage, then it indicates that some or all of the image memory has
been discarded, otherwise, the discard state of the specified frame
determines this ImageState flag. Should discarded image memory be accessed
later, it will appear as all zero (black) values. |
| mcisfImageCreationInterrupted | 128 | This bit will be setif the image creation was interrupted by the user. In this state, image data
will be indeterminite and should be considered invalid. |
| mcisfTooLargeForBitmap | 256 | If set, individualframes of this image are too large to be represented as a canonical (32bpp)
bitmap. There is both a limit on the largest frame dimension
(mcImageBitmapLimits.mcibl_uiMaxAllowedBitmapDimension, currently 16K) and
on the total number of pixels in the frame
(mcImageBitmapLimits.mcibl_uiMaxAllowedBitmapPixels, currently 64 megapixels
which consumes 256MB for the full cannonical bitmap). The limit is required
by the limited capabilities of the low-level operating system bitmap
handling facilities. Furthermore since bitmaps need to occupy ordinary
memory that is managed by the operating system rather than by the IQL image
memory manager, they can be very costly in terms of performance. An attempt
to create a full frame McGraphObjBitmap from images with this state will not
succeed. See also mcisfTooLargeForBitmapROI. If the FrameIndex parameter
is McWholeImage then this bit is never set. |
| mcisfTooLargeForBitmapROI | 512 | If the FrameIndexparameter references a single frame then this bit will be set if the current
ROI of this image is too large to be represented as a canonical (32bpp)
bitmap. There is both a limit on the largest frame dimension
(mcImageBitmapLimits.mcibl_uiMaxAllowedBitmapDimension, currently 16K) and
on the total number of pixels in the ROI. An attempt to create a
McGraphObjBitmap of the ROI from images with this state will not succeed.
See also mcisfTooLargeForBitmap. If the FrameIndex parameter is McWholeImage
then this bit is never set. |
| mcisfVeryLargeROI | 1024 | If the FrameIndexparameter references a single frame then this bit is set if the bounds of
the current ROI in a single frame of this image is too large to fit within
the limit set by ResourceManager.MiscellaneousResources(
mcMiscellaneousResources.mcmrVeryLargeImage), which by default is 95% of
managed memory reserved for images. If the FrameIndex parameter is
McAssociatedFrame, then this bit is set if the total ROI's for all frames in
the McImage.ActiveFrameRange (honoring McImage.UseActiveFrameRange) exceeds
that value. If the FrameIndex parameter is McWholeImage then this bit is
never set. See also mcisfVeryLargeFrames. |
| mcisfNonTrivalToLoadFrame | 2048 | If the FrameIndexparameter references a single frame then this bit will be set if it will
take a non trivial amount of time to get the specified frame into memory. If
clear, the frame is already in memory or it is small. If the FrameIndex
parameter does not reference a single frame (e.g., it is McWholeImage,
McLastFrame, McAssociatedFrame) then this bit is never set. See also
mcisfCostlyToLoadFrame. |
| mcisfCostlyToLoadFrame | 4096 | If the FrameIndexparameter references a single frame then this bit will be set if it will
take an appreciable amount of time to get the specified frame into memory.
If clear, the frame is already in memory or it is small enough to load
relatively quickly. If this flag is set, then the mcisfNonTrivalToLoadFrame
flag will also be set. If the FrameIndex parameter does not reference a
single frame (e.g., it is McWholeImage, McLastFrame or McAssociatedFrame)
then this bit is never set. |
| mcisfSignatureIsDirty | 8192 | This bit will be setif an access to the McImage.CurrentSignature property will require
computation of the signature (this can be a very expensive operation, since
every pixel in every frame of the image must be accessed). The
CurrentSignature will be dirty if SetInitialSignature has not been called,
no previous access has been made to the image data or if the image data has
been changed since the last access to the property. This flag will be set
irrespective of the value of the FrameIndex parameter. Note that there is
also a McImage.Property of type Boolean named
mcImagePropertyNames.mciPropName_IsSignatureCalculated
("IsSignatureCalculated") which will be missing or False if the
CurrentSignature is dirty. |
| mcisfSettableUserFlagsMask | -268435456 | Mask for values Usersettable by the SetImageStateUserFlags method. |
| mcisfOpenedAsVLI | 134217728 | Bit set when the imageis opened as a Very Large Image. Note that the mcisfVeryLargeFrames
flag may or may not be set, since some images are opened as VLI when
they are smaller than the very high threshold set for that flag. |
| mcisfHeldByImageSetAsReference | 67108864 | A bit that can set afterthe image is added to a McImageSet to indicate that the McImage is not owned
by the McImageSet. Images with this state flag set are assumed to be not
owned by the McImage.ImageSet property McImageSet and will not be removed
from the Images collection when they are removed from the owning McImageSet. |