Click or drag to resize

mcControlStatusFlags3D Enumeration

Legal values for the IMcBitMask3D.ControlStatusFlags property.This property exposes some status bits which may be accessed at any time and some control flags none of which can be assigned until IMcBitMask3D.InitializeLabeling is called.

Namespace:  MediaCy.IQL.Features
Assembly:  MediaCy.IQL.Features (in MediaCy.IQL.Features.dll) Version: 10.0.6912.0
Syntax
VB
Public Enumeration mcControlStatusFlags3D
Members
  Member nameValueDescription
mccsf3dNone0Nothing special, Bounds and Area are computed.
mccsf3dAllFlags-1Status Flags
mccsf3dInitialized1IMcBitMask3D.InitializeLabeling has been called. The settable ControlStatusFlags cannot be assigned until InitializeLabeling has been called. This flag is not settable by the user.
mccsf3dReadyForLabeling2One or more frames have beenadded via the AppendBitMaskForLabeling method. This flag is not settable by the user.
mccsf3dResultsAvailable4IMcBitMask3d.DoLabeling hasbeen called. This flag is not settable by the user.
mccsf3dUserCanceledLabeling16During anIMcBitMask3D.Create3DLabeledImage call or access to the IMcBitMap3D.Holes3D property, the user escaped from the labeling loop, so that some number of trailing frames were not labeled or the Holes3D is not properly initialized. This flag is not settable by the user, but this status state can only happen if the mccsf3dAllowUserEscape ControlStatusFlags bit is set.
mccsf3dThisIsHoles3D32Control Flags
mccsf3dSettableFlagsMask65280Mask for the settableControlStatusFlags bits.
mccsf3dKeepScanLists256If set, then a referenceis kept on bit masks as they are added to the stack of frames with the AppendBitMaskForLabeling method. In this case, at a later time, even after DoLabeling is called (but not after ReleaseLabeling) then ReplaceBitMaskForLabeling may be called one or more times to replace the bit mask for one or more given frames; DoLabeling can then be called to generate a labeling using the replaced frames. If clear, then ReplaceBitMaskForLabeling cannot be called, and a reference is only kept on bit mask passed to the last AppendBitMaskForLabeling call; and in this case, once DoLabeling is called, all bit masks are released. If this bit is not set, then the IMcBitMask3D.Create3DLabeledImage cannot be called. The initial state of this flag is set by the IMcBitMask3D.InitializeLabeling KeepScanLists parameter, but it can be changed only until the first call to AppendBitMaskForLabeling is made.
mccsf3dExcludeSingleFrameLabels512If set, then the labeledregions which exist in only a single frame (that is, are not connected to a region in the frame ahead or behind) are excluded from the labeling. Only if this bit is set may the GetTagCountsForOneFrame return a different count via the AllTags argument than its return value. This bit can be set or cleared only afterIMcBitMask3D.InitializeLabeling has been called, but before the first call to AppendBitMaskForLabeling.
mccsf3dGetBoundsAndAreas1024If set, then theaccumulated X,Y bounding rectangle and the total pixel counts of each 3D label is computed as AppendBitMaskForLabeling and/or ReplaceBitMaskForLabeling is called. These results are available after a DoLabeling call via the XYBoundsForEachLabel and PixelCountsForEachLabel properties. whether this bit is set or not, the range of frames over which each 3D label appears is exposed by the FrameRangeForEachLabel. This bit can be set or cleared only afterIMcBitMask3D.InitializeLabeling has been called, but before the first call to AppendBitMaskForLabeling.
mccsf3dTrimCreatedFrames2048If set whenIMcBitMask3D.Create3DLabeledImage is called, the number of frames in the created image will only encompass the frame range necessary to label all selected 3D labels. With this bit set, the first frame in the created sequence and the last frame are guaranteed to have at least one labeled object in them. The actual range of frames taken from the stack of bit masks is returned via the RangeOfFrames parameter. This flag can be changed at any time before Create3DLabeledImage is called
mccsf3dTrimCreatedImageSizeXY4096If set whenIMcBitMask3D.Create3DLabeledImage is called, the created image Width and Height will be make as small as necessary to just encompass all of the selected 3D labels.. The actual range of frames taken from the stack of bit masks is returned via the RangeOfFrames parameter.
mccsf3dAllowUserEscape8192If set whenIMcBitMask3D.Create3DLabeledImage is called, the user may press escape to break out of the image labeling loop early. If escape happens, the mccsf3dUserCanceledLabeling ControlStatusFlags bit will be set and some number of trailing frames of the created image will be unlabeled (all black). If the mccsf3dAllowUserEscape flag is clear, then the user cannot escape from the Create3DLabeledImage operation; they must wait until it is complete.
mccsf3dLabelImageWithSelectorIndex16384If set whenIMcBitMask3D.Create3DLabeledImage is called, the value placed in a pixel to label any 3D labeled region is the index into the squeezed LabelMinusOneSelector selector argument. For example, assume IMcBitMask3D.CountOfLabels is 10 and LabelMinusOneSelector is {-1,1,2,-1,-1,-1,7,-1,9} or the equivalent {1,2,7,9}, then 4 3D objects will be labeled, those with 3D label IDs of 2,3,8 and 10; if this flag is clear then those are pixel values used to label the relevant tagged blobs, but if the flag is set, then 3D blobs with ID 2 are labeled 1, 3D ID 3 are labeled 2, 3D ID 8 are labeled 3 and 3D ID 10 are labeled 4. In either case, on return the LabelMinusOneSelector parameter will be set to the squeezed selector (negative values removed); in the example, this would be {1,2,7,9} with the length of this array giving the number of 3D labeled objects labeled in the image. This option also preserves the order in the array, so if the LabelMinusOneSelector parameter is given as {9,7,2,1} then then 3D blobs with ID 2 are labeled 4, 3D ID 3 are labeled 3, 3D ID 8 are labeled 2 and 3D ID 10 are labeled 1. On return the array would be the same as the given one: {9,7,2,1}, so that the returned array allows you to look up the 3D label ID minus 1 associated with any pixel's labeled value. It is an error to have both this flag and the mccsf3dLabelImageWithSelectorValue set, though both may be clear.
mccsf3dLabelImageWithSelectorValue32768If set whenIMcBitMask3D.Create3DLabeledImage is called, then the LabelMinusOneSelector must be an Integer array of length IMcBitMask3D.CountOfLabels where each element of the array gives the value-1 to be used to label the 3D label ID-1 used as an index array. Negative values in this array mean that the indexed 3D object should be ignored. For example, assume IMcBitMask3D.CountOfLabels is 10 and LabelMinusOneSelector is {-1,2,2,-1,-1,-1,1,-1,0}, then 4 3D objects will be labeled, those with 3D label IDs of 2,3,8 and 10. 3D blobs with ID 2 are labeled 3, 3D ID 3 are labeled 3, 3D ID 8 are labeled2 and 3D ID 10 are labeled 1. The highest pixel value in the created image will be 3. On return, the LabelMinusOneSelector parameter will be unchanged. It is an error to have both this flag and the mccsf3dLabelImageWithSelectorIndex set, though both may be clear.
See Also