Application control

Availability
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Synopsis
An Application control manipulates application-wide settings. Services include a high-performance timer, a collection of available systems, and automatic compensation for processing and memory operations. The application control also controls the on-board thread use.

Structure
Application |  |  | Properties: AvailableSystems, MemoryCompensation, Name, NonPagedMemory, ProcessingCompensation, ResultsValidation, Timer, Version Methods: Control, CreateObject, Inquire, Modified, ShowPropertyPages Event: FilterAsynchronousError
 | AvailableSystems |  | Properties: Count, Item
 |  | Item | Properties: DeviceNumber, SystemDescriptor, SystemName, SystemType
 | NonPagedMemory |  | Properties: TotalSize, Used, Available
 | Timer |  | Properties: Resolution, SynchronizationMode Methods: Read, Reset, Wait


Application.AvailableSystems Property

AvailableSystems property

Availability | MIL Equivalent | MemoryCompensation
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Application
AvailableSystems
Properties: Count, Item
Synopsis
Returns the collection of systems that are available for use in a computer and are accessible to the Application control. This property allows access to the collection's elements.
[]
Syntax
[AvailableSystems =] object.AvailableSystems
[]
Syntax
[IAvailableSystemsPtr =] object->AvailableSystems
Type description
An AvailableSystems expression that represents an instance of an AvailableSystems collection.
Remark
  • This collection can be used to build applications that allow a user to select the imaging board to use at run-time.
[]
Example
This example shows how to use the AvailableSystems property.

' Determine the system to use at run-time.
System1.SystemDescriptor = _
        Application1.AvailableSystems.Item(1).SystemDescriptor
System1.DeviceNumber = _
        Application1.AvailableSystems.Item(1).DeviceNumber
System1.Allocate()
[]
Example
This example shows how to use the AvailableSystems property.

// Determine the system to use at run-time.
m_System1->SystemDescriptor =
   m_Application1->AvailableSystems->Item(1L)->SystemDescriptor;

m_System1->DeviceNumber =
   m_Application1->AvailableSystems->Item(1L)->DeviceNumber;

m_System1->Allocate();


Application.AvailableSystems.Count Property

Count property

Availability | MIL Equivalent | Item
Available in ActiveMIL-Lite

Available in ActiveMIL
MappInquire(
InquireType =
M_INSTALLED_SYSTEM_COUNT
)
Application
AvailableSystems
Count
Synopsis
Returns the number of elements in the collection of available systems.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of elements currently in the collection.


Application.AvailableSystems.Item Property

Item property

Availability | MIL Equivalent | Count
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Application
AvailableSystems
Item
Properties: DeviceNumber, SystemDescriptor, SystemName, SystemType
Synopsis
Returns the element at the specified index in the collection of available systems.
[]
Syntax
[AvailableSystem=]object.Item(
index As Integer
)
[]
Syntax
[IAvailableSystemPtr =] object->Item(
const _variant_t & index
)
index
A longintegerlong (integer for Visual Basic .Net) value that specifies the index of the required element.

Type description
An AvailableSystem object.
Remark
  • If the value provided as the index does not match any existing element of the collection, an error occurs. Note, the index of the first element of this collection starts at one.


Application.AvailableSystems.Item.DeviceNumber Property

DeviceNumber property

Availability | MIL Equivalent | SystemDescriptor
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Application
AvailableSystems
Item
DeviceNumber
Synopsis
Returns the device number (or rank) of the system.
[]
Syntax
[Integer =] object.DeviceNumber
[]
Syntax
[long =] object->DeviceNumber
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the device number. The value depends on the particular device configuration.
[]
Example
This example shows how to use the SystemType property.

' Determine the system to use at run-time.
System1.SystemDescriptor = _
        Application1.AvailableSystems.Item(1).SystemDescriptor
System1.DeviceNumber = _
        Application1.AvailableSystems.Item(1).DeviceNumber
System1.Allocate()
[]
Example
This example shows how to use the DeviceNumber property.

// Determine the system to use at run-time.
m_System1->SystemDescriptor =
   m_Application1->AvailableSystems->Item(1L)->SystemDescriptor;

m_System1->DeviceNumber =
   m_Application1->AvailableSystems->Item(1L)->DeviceNumber;

m_System1->Allocate();


Application.AvailableSystems.Item.SystemDescriptor Property

SystemDescriptor property

Availability | MIL Equivalent | DeviceNumber | SystemName
Available in ActiveMIL-Lite

Available in ActiveMIL
MappInquire(
InquireType =
M_INSTALLED_SYSTEM_DESCRIPTOR + n
)
Application
AvailableSystems
Item
SystemDescriptor
Synopsis
Returns the system descriptor.
[]
Syntax
[SysSystemDescriptorConstants =] object.SystemDescriptor
[]
Syntax
[enum SysSystemDescriptorConstants =] object->SystemDescriptor
Type description
A SysSystemDescriptorConstants expression that returns the type of system allocated.
Value | Meaning
sysSystemCoronaII | A Matrox Corona-II system.
sysSystemCronosPlus | A Matrox CronosPlus system.
sysSystemDefault | A default system. This value is set during ActiveMIL installation and using MILConfig.
sysSystemGenesis | A Matrox Genesis system.
sysSystemHelios | A Matrox Helios system.
sysSystemHost | A Host system.
sysSystemMeteorII | A Matrox Meteor-II /standard system.
sysSystemMeteorII_1394 | A Matrox Meteor-II /1394 system.
sysSystemMeteorII_CL | A Matrox Meteor-II /Camera Link system.
sysSystemMeteorII_Dig | A Matrox Meteor-II /Digital system.
sysSystemMorphis | A Matrox Morphis system.
sysSystemOdyssey | A Matrox Odyssey system.
sysSystemOrion | A Matrox Orion system.
Remarks
  • The SysSystemDescriptorConstants is a string type. Therefore, this property returns a string.
  • This property determines the descriptor required to allocate the system (SystemDescriptor of the system control).
[]
Example
This example shows how to use the SystemDescriptor property.

// Determine the system to use at run-time.
m_System1->SystemDescriptor =
   m_Application1->AvailableSystems->Item(1L)->SystemDescriptor;

m_System1->DeviceNumber =
   m_Application1->AvailableSystems->Item(1L)->DeviceNumber;

m_System1->Allocate();


Application.AvailableSystems.Item.SystemName Property

SystemName property

Availability | MIL Equivalent | SystemDescriptor | SystemType
Available in ActiveMIL-Lite

Available in ActiveMIL
MappInquire(
InquireType =
M_DISPLAY_NAME_OF_BOARD_TYPE
)
Application
AvailableSystems
Item
SystemName
Synopsis
Returns the printable name of the type of the system.
[]
Syntax
[String =] object.SystemName
[]
Syntax
[_bstr_t =] object->SystemName
Type description
A string expression that returns the printable name of the system type.
Remarks
  • This property only reads the printable name of the type of the system.
  • Use the SystemDescriptor property to determine the descriptor required to allocate the system (SystemDescriptor property of the System control).


Application.AvailableSystems.Item.SystemType Property

SystemType property

Availability | MIL Equivalent | SystemName
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Application
AvailableSystems
Item
SystemType
Synopsis
Returns the type of the system.
[]
Syntax
[AppSystemTypeConstants =] object.SystemType
[]
Syntax
[enum AppSystemTypeConstants =] object->SystemType
Type description
An AppSystemTypeConstants expression that returns the type of the system.
Value | Meaning
appSystemCoronaIIType | A Matrox Corona-II system.
appSystemCronosPlusType | A Matrox CronosPlus system.
appSystemGenesisType | A Matrox Genesis system.
appSystemHeliosType | A Matrox Helios system.
appSystemHostType | A Host system.
appSystemMeteorIIType | A Matrox Meteor-II /standard system.
appSystemMeteorII_1394Type | A Matrox Meteor-II /1394 system.
appSystemMeteorII_CLType | A Matrox Meteor-II /Camera Link system.
appSystemMeteorII_DigType | A Matrox Meteor-II /Digital system.
appSystemMorphisType | A Matrox Morphis system.
appSystemOdysseyType | A Matrox Odyssey system.
appSystemOrionType | A Matrox Orion system.
Remarks
  • The AppSystemTypeConstants is of type longintegerlong (integer for Visual Basic .Net).
  • Use the SystemDescriptor property to determine the descriptor required to allocate the system (SystemDescriptor property of the System control).
[]
Example
This example shows how to use the SystemType property.

' Determine the system to use at run-time.
System1.SystemDescriptor = _
        Application1.AvailableSystems.Item(1).SystemDescriptor
System1.DeviceNumber = _
        Application1.AvailableSystems.Item(1).DeviceNumber
System1.Allocate()


Application.MemoryCompensation Property

MemoryCompensation property

See Also | Availability | MIL Equivalent | AvailableSystems | Name
Reference:
Application.ProcessingCompensation
Available in ActiveMIL-Lite

Available in ActiveMIL
MappControl(
ControlType =
M_MEMORY
)

MappInquire(
InquireType =
M_MEMORY
)
Application
MemoryCompensation
Synopsis
Returns or sets whether on-board memory compensation on the Host is enabled.
[]
Syntax
object.MemoryCompensation [= Boolean]
[]
Syntax
object->MemoryCompensation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of on-board memory compensation. (default is False)
Value | Meaning
True | Enable memory compensation. If your system cannot perform a certain memory allocation due to insufficient memory, the allocation will occur on the Host.
False | Disable memory compensation. If insufficient memory is available for the allocation, an error is generated.


Application.Name Property

Name property

Availability | MIL Equivalent | MemoryCompensation | NonPagedMemory
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Application
Name
Synopsis
Returns or sets the name used in code to identify a control.
[]
Syntax
object.Name [= String]
[]
Syntax
object->Name [= _bstr_t]
Type description
A string expression that specifies the name of the Application control.
Remarks
  • This property cannot be set at run-time.
  • The default name for new control is the type of control plus a unique integer. For example, the first new Application control you create on the form is named Application1 and the second Application control will be named Application2.
  • A control's Name property must start with a letter and can be a maximum of 40 characters. It can include numbers and underscore (_) characters but cannot include spaces or punctuation. Although the Name property setting can be a keyword, property name, or the name of another object, this can create conflicts in your code.


Application.NonPagedMemory Property

NonPagedMemory property

Availability | MIL Equivalent | Name | ProcessingCompensation
Available in ActiveMIL-Lite

Available in ActiveMIL
MappInquire()
Application
NonPagedMemory
Properties: TotalSize, Used, Available
Synopsis
Allows you to determine the non-paged memory (DMA) settings of the application.
[]
Syntax
object.NonPagedMemory [= NonPagedMemory]
[]
Syntax
object->NonPagedMemory [= INonPagedMemoryPtr]
Type description
A NonPagedMemory object.


Application.NonPagedMemory.Available Property

Available property

Availability | MIL Equivalent | Used
Available in ActiveMIL-Lite

Available in ActiveMIL
MappInquire(
InquireType =
M_NON_PAGED_MEMORY_FREE
)
Application
NonPagedMemory
Available
Synopsis
Returns the amount of free non-paged memory (DMA) available for the application.
[]
Syntax
[Integer =] object.Available
[]
Syntax
[long =] object->Available
Type description
A longintegerlong (integer for Visual Basic .Net) value that returns the amount of free non-paged memory, in bytes.


Application.NonPagedMemory.TotalSize Property

TotalSize property

Availability | MIL Equivalent | Used
Available in ActiveMIL-Lite

Available in ActiveMIL
MappInquire(
InquireType =
M_NON_PAGED_MEMORY_SIZE
)
Application
NonPagedMemory
TotalSize
Synopsis
Returns the amount of non-paged memory (DMA) reserved for the application.
[]
Syntax
[Integer =] object.TotalSize
[]
Syntax
[long =] object->TotalSize
Type description
A longintegerlong (integer for Visual Basic .Net) value that returns the total amount of non-paged memory (DMA), in bytes.


Application.NonPagedMemory.Used Property

Used property

Availability | MIL Equivalent | TotalSize | Available
Available in ActiveMIL-Lite

Available in ActiveMIL
MappInquire(
InquireType =
M_NON_PAGED_MEMORY_USED
)
Application
NonPagedMemory
Used
Synopsis
Returns the amount of non-paged memory (DMA) being used by the application.
[]
Syntax
[Integer =] object.Used
[]
Syntax
[long =] object->Used
Type description
A longintegerlong (integer for Visual Basic .Net) value that returns the amount of non-paged memory used by the application, in bytes.


Application.ProcessingCompensation Property

ProcessingCompensation property

See Also | Availability | MIL Equivalent | NonPagedMemory | ResultsValidation
Reference:
Application.MemoryCompensation
Available in ActiveMIL-Lite

Available in ActiveMIL
MappControl(
ControlType =
M_PROCESSING
)

MappInquire(
InquireType =
M_PROCESSING
)
Application
ProcessingCompensation
Synopsis
Returns or sets whether on-board processing compensation on the Host is enabled.
[]
Syntax
object.ProcessingCompensation [= Boolean]
[]
Syntax
object->ProcessingCompensation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of on-board processing compensation. (default is True )
Value | Meaning
True | Enable processing compensation. If your system cannot perform a certain processing operation due to its limitations, processing will be done by the Host.
False | Disable processing compensation. If an operation cannot be performed by the system's on-board processor, an error is generated.


Application.ResultsValidation Property

ResultsValidation property

Availability | MIL Equivalent | ProcessingCompensation | Timer
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Application
ResultsValidation
Synopsis
Returns or sets whether results validation is enabled when using an analysis control's Results.Get method.
[]
Syntax
object.ResultsValidation [= Boolean]
[]
Syntax
object->ResultsValidation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of results validation. (default is True)
Value | Meaning
True | Enables results validation.
False | Disables results validation.
Remarks
  • It is highly recommended that you validate your applications by setting this property to True, before trying to set it to False.
  • Setting this property to False will increase performance, because the Results.Get method will assume that the user array is of the correct type and of sufficient size to store the requested results.


Application.Timer Property

Timer property

Availability | MIL Equivalent | ResultsValidation | Version
Available in ActiveMIL-Lite

Available in ActiveMIL
MappTimer()
Application
Timer
Properties: Resolution, SynchronizationMode

Methods: Read, Reset, Wait
Synopsis
Allows you to manipulate the high-resolution ActiveMIL timer of the application.
[]
Syntax
[ApplicationTimer =] object.Timer
[]
Syntax
[IApplicationTimerPtr =] object->Timer
Type description
An ApplicationTimer object.
Remarks
  • You cannot assign another ApplicationTimer object to this property.
  • There is a different ActiveMIL timer for each thread of the application. By default, the ActiveMIL timer that is set and read is the timer of the current thread.
  • This property is useful for benchmarking commands and synchronizing various operations (such as a sequence playback).
[]
Example
This example uses the Timer property to time a section of code.

double ProcessTime = 0.0;

m_Application1->Timer->Reset();

// Perform some operations...

// Synchronize with the above operation's completion
m_Application1->ControlThread(appDefault,
                              appThreadWait,
                              appNotUsed);

// Read the time it took to complete the operation
ProcessTime = m_Application1->Timer->Read();


Application.Timer.Resolution Property

Resolution property

Availability | MIL Equivalent | SynchronizationMode
Available in ActiveMIL-Lite

Available in ActiveMIL
MappTimer(
ControlValue =
M_TIMER_RESOLUTION
)
Application
Timer
Resolution
Synopsis
Returns the ActiveMIL timer's resolution.
[]
Syntax
[Integer =] object.Resolution
[]
Syntax
[long =] object->Resolution
Type description
A long value that specifies the ActiveMIL timer's resolution (in seconds).
Remark
  • The resolution is defined as the smallest increment of time that can be measured by the ActiveMIL timer.


Application.Timer.SynchronizationMode Property

SynchronizationMode property

Availability | MIL Equivalent | Resolution | Read
Available in ActiveMIL-Lite

Available in ActiveMIL
MappTimer(
ControlValue =
M_SYNCHRONOUS
)
Application
Timer
SynchronizationMode
Synopsis
Returns or sets the ActiveMIL timer's synchronization mode.
[]
Syntax
object.SynchronizationMode [= AppTimerSynchronizationModeConstants]
[]
Syntax
object->SynchronizationMode [= enum AppTimerSynchronizationModeConstants]
Type description
An AppTimerSynchronizationModeConstants expression that specifies whether the ActiveMIL timer is in asynchronous or synchronous mode. (default is appTimerAsynchronous)
Value | Meaning
appTimerAsynchronous | The ActiveMIL timer methods proceed without waiting for the completion of pending calls of the current thread.
appTimerSynchronous | The ActiveMIL timer methods are forced to wait for all pending calls of the current thread to complete before proceeding.
Remark
  • This property applies to all subsequent calls to the Read, Reset and Wait methods of the Timer property.


Application.Timer.Read Method

Read method

See Also | Availability | MIL Equivalent | SynchronizationMode | Reset
Reference:
Application.Timer.Reset
Available in ActiveMIL-Lite

Available in ActiveMIL
MappTimer(
ControlValue =
M_TIMER_READ
)
Application
Timer
Read
Synopsis
Returns the number of seconds that elapsed since the last reset occurred.
[]
Syntax
[Double =] object.Read()
[]
Syntax
[double =] object->Read()
Return value
The return value is the number of seconds elapsed since the last reset of the current thread's ActiveMIL timer.
Remarks
  • Since there is an ActiveMIL timer for each thread of the application, this method reads the time of the current thread's ActiveMIL timer.
  • Note that the time read takes into account (subtracts) the microseconds needed to execute Reset.
  • Note that ActiveMIL functions run at a slower speed during debug mode. Therefore, once you are done debugging your application, you should compile in release mode to achieve maximum processing speed.
[]
Example
This example shows how to get the number of seconds that elapsed since the last reset.

double ProcessTime = 0.0;
m_Application1->Timer->Reset();

// Perform some operations...

// Synchronize with the above operation's completion
m_Application1->ControlThread(appDefault,
                              appThreadWait,
                              appNotUsed);

// Read the time it took to complete the operation
ProcessTime = m_Application1->Timer->Read();


Application.Timer.Reset Method

Reset method

See Also | Availability | MIL Equivalent | Read | Wait
Reference:
Application.Timer.Read
Available in ActiveMIL-Lite

Available in ActiveMIL
MappTimer(
ControlValue =
M_TIMER_RESET
)
Application
Timer
Reset
Synopsis
Resets the ActiveMIL timer.
[]
Syntax
object.Reset()
[]
Syntax
void object->Reset()
Remarks
  • Resets the ActiveMIL timer of the current thread to zero.
  • Note that ActiveMIL functions run at a slower speed during debug mode. Therefore, once you are done debugging your application, you should compile in release mode to achieve maximum processing speed.
[]
Example
This example shows how to reset a timer.

double ProcessTime = 0.0;

m_Application1->Timer->Reset();

// Perform some operations...

// Synchronize with the above operation's completion
m_Application1->ControlThread(appDefault,
                              appThreadWait,
                              appNotUsed);

// Read the time it took to complete the operation
ProcessTime = m_Application1->Timer->Read();


Application.Timer.Wait Method

Wait method

Availability | MIL Equivalent | Reset
Available in ActiveMIL-Lite

Available in ActiveMIL
MappTimer(
ControlValue =
M_TIMER_WAIT
)
Application
Timer
Wait
Synopsis
Waits the specified amount of time for the current thread to wait before returning.
[]
Syntax
object.Wait(
ByVal time As Double
)
[]
Syntax
void object->Wait(
double time
)
time
A double value that specifies the time (in seconds) for the curent thread to wait before returning.
Remarks
  • The Wait method is useful for synchronizing operations such as sequence playbacks.
  • Note that this method might require more CPU usage.


Application.Version Property

Version property

Availability | MIL Equivalent | Timer | Control
Available in ActiveMIL-Lite

Available in ActiveMIL
MappInquire(
InquireType =
M_VERSION
)
Application
Version
Synopsis
Returns the version of ActiveMIL currently in use.
[]
Syntax
[Double =] object.Version
[]
Syntax
[double =] object->Version
Type description
A double value that specifies the version of ActiveMIL currently in use.


Application.Control Method

Control method

See Also | Availability | MIL Equivalent | Version | CreateObject
Reference:
Application.Inquire
Available in ActiveMIL-Lite

Available in ActiveMIL
MappControl()
Application
Control
Synopsis
Controls the attributes of the Application control.
[]
Syntax
object.Control(
ByVal ControlType As AppInquireAndControlConstants,
ByVal ControlFlag As Object
)
[]
Syntax
void object->Control(
enum AppInquireAndControlConstants ControlType,
const _variant_t & ControlFlag
)
ControlType
An AppInquireAndControlConstants expression that specifies the attribute to be modified.
ControlFlag
A variantobjectvariant (object for Visual Basic .Net) value that specifies the new value to be set.
Remark
  • This method is reserved for future expansion.


Application.CreateObject Method

CreateObject method

See Also | Availability | MIL Equivalent | Control | Inquire
User Guide:
Run-time object declaration
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Application
CreateObject
Synopsis
Creates a valid (ready to use) ActiveMIL control of the specified type.
[]
Syntax
[Object =] object.CreateObject(
ByVal ProgID As String,
ByVal Allocate As Boolean
)
[]
Syntax
[IDispatchPtr =] object->CreateObject(
_bstr_t ProgID,
VARIANT_BOOL Allocate
)
ProgID
A string expression that specifies the identifier of the ActiveMIL control to create.
Value | Meaning
"MIL.Application" | Create an ActiveMIL Application control.
"MIL.System" | Create an ActiveMIL System control.
"MIL.Image" | Create an ActiveMIL Image control.
"MIL.GraphicContext" | Create an ActiveMIL GraphicContext control.
"MIL.Display" | Create an ActiveMIL Display control.
"MIL.Digitizer" | Create an ActiveMIL Digitizer control.
"MIL.BlobAnalysis" | Create an ActiveMIL BlobAnalysis control.
"MIL.Calibration" | Create an ActiveMIL Calibration control.
"MIL.CharacterRecognition" | Create an ActiveMIL CharacterRecognition control.
"MIL.Code" | Create an ActiveMIL Code control.
"MIL.ImageProcessing" | Create an ActiveMIL ImageProcessing control.
"MIL.Measurement" | Create an ActiveMIL Measurement control.
"MIL.ModelFinder" | Create an ActiveMIL ModelFinder control.
"MIL.EdgeFinder" | Create an ActiveMIL EdgeFinder control.
"MIL.PatternMatching" | Create an ActiveMIL PatternMatching control.
"MIL.Threading" | Create an ActiveMIL Threading control.
Allocate
A boolean value that specifies whether the control will be allocated after its creation.
Value | Meaning
True | After the control is created, it will be allocated.
False | After the control is created, it will not be allocated.
Return value
A valid ActiveMIL control of the requested type.
Remarks
  • If the control's parent is not allocated, the control will not be allocated, even if the Allocate parameter is set to True.
  • The AutomaticAllocation property is set to False when the control is created with this method.
  • []
     To create the initial Application control at run-time, use Visual Basic's CreateObject function. To create all other controls at run-time, use the CreateObject method of the Application control because it creates a valid (ready to use) ActiveMIL control.
  • []
     To create the initial Application control at run-time, use the Windows API CoCreateInstance function, or the _com_ptr_t::CreateInstance function. To create all other controls at run-time, use the CreateObject method of the Application control because it creates a valid (ready to use) ActiveMIL control. See Run-time object declaration for more information.
  • []
     The following table lists the object type that will be returned, depending on the setting of the ProgID parameter.
    ProgID parameter | Object type returned
    "MIL.Application" | IApplication
    "MIL.System" | ISystem
    "MIL.Image" | IImage
    "MIL.GraphicContext" | IGraphicContext
    "MIL.Display" | IDisplay
    "MIL.Digitizer" | IDigitizer
    "MIL.BlobAnalysis" | IBlobAnalysis
    "MIL.Calibration" | ICalibration
    "MIL.CharacterRecognition" | ICharacterRecognition
    "MIL.Code" | ICode
    "MIL.ImageProcessing" | IImageProcessing
    "MIL.Measurement" | IMeasurement
    "MIL.ModelFinder" | IModelFinder
    "MIL.EdgeFinder" | IEdgeFinder
    "MIL.PatternMatching" | IPatternMatching
    "MIL.Threading" | IThreading
  • []
     The following table lists the object type that will be returned, depending on the setting of the ProgID parameter.
    ProgID parameter | IDispatchPtr type returned
    "MIL.Application" | IApplicationPtr
    "MIL.System" | ISystemPtr
    "MIL.Image" | IImagePtr
    "MIL.GraphicContext" | IGraphicContextPtr
    "MIL.Display" | IDisplayPtr
    "MIL.Digitizer" | IDigitizerPtr
    "MIL.BlobAnalysis" | IBlobAnalysisPtr
    "MIL.Calibration" | ICalibrationPtr
    "MIL.CharacterRecognition" | ICharacterRecognitionPtr
    "MIL.Code" | ICodePtr
    "MIL.ImageProcessing" | IImageProcessingPtr
    "MIL.Measurement" | IMeasurementPtr
    "MIL.ModelFinder" | IModelFinderPtr
    "MIL.EdgeFinder" | IEdgeFinderPtr
    "MIL.PatternMatching" | IPatternMatchingPtr
    "MIL.Threading | IThreadingPtr
[]
Example
Shows how to add controls at run-time.

' The Application control is the only ActiveMIL control
' you can declare with the New keyword
' Ensure to use Application.CreateObject for other ActiveMIL controls
Dim Application1 As New Matrox.ActiveMIL.MApplication

Dim System1 As Matrox.ActiveMIL.MSystem
Dim Image1 As Matrox.ActiveMIL.MImage
Dim Display1 As Matrox.ActiveMIL.MDisplay

' Dim your object WithEvents if you want to handle events
Dim WithEvents Digitizer1 As Matrox.ActiveMIL.MDigitizer

System1 = Application1.CreateObject("MIL.System", True)

Image1 = Application1.CreateObject("MIL.Image", False)
Image1.CanDisplay = True
Image1.CanGrab = True
Image1.Allocate()

Display1 = Application1.CreateObject("MIL.Display", True)
Digitizer1 = Application1.CreateObject("MIL.Digitizer", True)
Digitizer1.Image = Image1


Application.Inquire Method

Inquire method

Availability | MIL Equivalent | CreateObject | Modified
Available in ActiveMIL-Lite

Available in ActiveMIL
MappInquire()
Application
Inquire
Synopsis
Inquires about the attributes of the Application control.
[]
Syntax
[Object =] object.Inquire(
ByVal ParamToInquire As AppInquireAndControlConstants
)
[]
Syntax
[_variant_t =] object->Inquire(
enum AppInquireAndControlConstants ParamToInquire
)
ParamToInquire
An AppInquireAndControlConstants expression that specifies the attribute or system fingerprint about which to inquire.
Value | Meaning
appLicenseModules | Returns the modules for which there is a valid license.
appCoronaIIFingerPrint | Returns the hardware fingerprint of the Matrox Corona-II board.
appCronosPlusFingerPrint | Returns the hardware fingerprint of the Matrox CronosPlus board.
appEthernetFingerPrint | Returns the hardware fingerprint of the Ethernet component.
appHardIdKey | Returns the hardware fingerprint of the hardware identification key component.
appHeliosFingerPrint | Returns the hardware fingerprint of the Matrox Helios board.
appMatroxBoardFingerPrint | Returns the hardware fingerprint of the first Matrox frame grabber with an EEPROM found in the computer.
appMeteorII_1394FingerPrint | Returns the hardware fingerprint of the Matrox Meteor-II/1394 board.
appMorphisFingerPrint | Returns the hardware fingerprint of the Matrox Morphis board.
appOdysseyFingerPrint | Returns the hardware fingerprint of the Matrox Odyssey board.
appOrionFingerPrint | Returns the hardware fingerprint of the Matrox Orion board.
appSoliosFingerPrint | Returns the hardware fingerprint of the Matrox Solios board.
Return value
The current value assigned to the attribute that is inquired about.
Remarks
  • When using the ParamToInquire setting appLicenseModules, the value returned will be a bitwise combination of the following appLicenseConstants expressions:
    Value | Meaning
    appLicenseDebug | Debugger license.
    appLicenseBlobAnalysis | Blob analysis license.
    appLicenseCalibration | Calibration license.
    appLicenseCharacterRecognition | OCR license.
    appLicenseCode | Code read/write license.
    appLicenseEdgeFinder | Edge finder license
    appLicenseImageProcessing | Image processing license.
    appLicenseMeasurement | Measurement license.
    appLicenseModelFinder | Model finder license.
    appLicensePatternMatching | Pattern matching license.
    appLicenseJPEG2000 | JPEG2000 license.
    appLicenseJPEGStandard | JPEG license.
    appLicenseLite | MIL-Lite license.
  • When inquired and present, the requested system fingerprint is returned. If that specific fingerprint is not present, 0 is returned. Refer to the Protecting your own ActiveMIL software application using Matrox hardware fingerprint section in the ActiveMIL user guide for more details about system fingerprint.
  • When using appMatroxBoardFingerPrint, if the computer has more than one Matrox fram grabber, there is no guarantee which fingerprint will be returned.


Application.Modified Method

Modified method

See Also | Availability | MIL Equivalent | Inquire | ShowPropertyPages
User Guide:
Integrating MIL functions with your ActiveMIL code
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Application
Modified
Synopsis
Informs the Application control that Native MIL calls were made on its resources.
[]
Syntax
object.Modified(
ByVal ModificationType As Integer
)
[]
Syntax
void object->Modified(
long ModificationType
)
ModificationType (optional in , default is amilDefault)
A long value that specifies the modification type.
Value | Meaning
amilDefault | Specifies that native MIL calls were used to modify the contents of the Application control.
Remarks
  • The Modified method should be called after performing a Native MIL Mapp...() function on the resources of the Application control. This ensures that all properties of the Application control are updated to match their state in MIL.
  • Note that you do not need to know the application's MIL identifier because the Mapp...() functions operate on the current application; they do not take an identifier.


Application.ShowPropertyPages Method

ShowPropertyPages method

Availability | MIL Equivalent | Modified | FilterAsynchronousError
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Application
ShowPropertyPages
Synopsis
Opens the specified property pages of the Application control in a window.
[]
Syntax
object.ShowPropertyPages(
ByVal Pages As AppPropertyPagesConstants,
ByVal Caption As String,
ByVal hWndParent As Integer,
ByVal Reserved As Boolean
)
[]
Syntax
void object->ShowPropertyPages(
enum AppPropertyPagesConstants Pages,
_bstr_t Caption,
long hWndParent,
VARIANT_BOOL Reserved
)
Pages
An AppPropertyPagesConstants expression that specifies the page(s) to display. You can add the following constants together to display multiple pages.
Value | Meaning
appGeneralPropertyPage | Display the Application control's General property page.
appHistoryPropertyPage | Display the Application control's History property page.
appAllPropertyPages | Display all of the Application control's available property pages.
Caption (optional in , default is "")
A string value that specifies the caption for the property pages window. The default is an empty string, in which case a generic caption will be displayed.
hWndParent (optional in , default is 0)
A long value that specifies the window handle (HWND) of the property pages window's parent. The property pages window will be modal in relation to its parent window.
Reserved (optional in , default is True)
This parameter is reserved for future use. True is the only value available.
Value | Meaning
True | Meaning to be determined. This setting must always be used.
Remarks
  • If the Application control is created at design-time, the .NET ActiveX Control Importer (AxImp.exe) renames this ActiveMIL method from ShowPropertyPages() to CtlShowPropertyPages() to avoid name clashing with the ShowPropertyPages() method of the .NET Windows Form control. See the Windows Forms ActiveX Control Importer (AxImp.exe) topic in MSDN for more information. In addition, if the control is created at run-time with the AxMatrox.ActiveMIL.* namespace, you must use CtlShowPropertyPages() to call the ActiveMIL ShowPropertyPages() method.
  • This method is used to display the property pages so that properties can be set interactively at run-time.


Application.FilterAsynchronousError Event

FilterAsynchronousError event

Availability | MIL Equivalent | ShowPropertyPages
Available in ActiveMIL-Lite

Available in ActiveMIL
MappGetHookInfo()
Application
FilterAsynchronousError
Synopsis
Occurs upon a Native MIL error that cannot be handled by the standard ActiveMIL error mechanism.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_FilterAsynchronousError(
ByVal Message As String,
ByVal SubMessage1 As String,
ByVal SubMessage2 As String,
ByVal SubMessage3 As String,
ByVal FunctionName As String,
ByVal ErrorCode As Integer,
ByVal FilterError As Boolean
) Handles object.FilterAsynchronousError

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_FilterAsynchronousError(
ByVal sender As Object,
ByVal e As AxMatrox.ActiveMIL.IApplicationEvents_FilterAsynchronousErrorEvent
) Handles object.FilterAsynchronousError
[]
Syntax
void class::OnFilterAsynchronousError(
_bstr_t Message,
_bstr_t SubMessage1,
_bstr_t SubMessage2,
_bstr_t SubMessage3,
_bstr_t FunctionName,
long ErrorCode,
VARIANT_BOOL * FilterError
)
Message
A string expression in which to receive the error message associated with the error code.
SubMessage1
A string expression in which to receive the first error submessage.
SubMessage2
A string expression in which to receive the second error submessage.
SubMessage3
A string expression in which to receive the third error submessage.
FunctionName
A string expression in which to receive the MIL function name associated with the error.
ErrorCode
A long value in which to receive the error code.
FilterError
A boolean value in which you must write whether the Native MIL error message window should be displayed.
Value | Meaning
True | Don't display error message window.
False | Display error message window.
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • A typical use for this event is to handle errors that occur when executing asynchronous operations. For example, the standard ActiveMIL error mechanism cannot handle the error that occurs when grabbing continously and the camera is unplugged.
  • If you incorporate MIL functions in your ActiveMIL code and one of these functions generates an error, the error will fire this event, instead of calling any function hooked to this type of event using MappHookFunction().


BlobAnalysis control

Availability
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Synopsis
The blob analysis control allows you to identify connected regions of pixels within an image, then calculate selected features of those regions. These regions are commonly know as blobs.

Structure
BlobAnalysis Properties: AutomaticAllocation, FeatureList, Filters, ForegroundPixelValue, GrayscaleImage, GrayscaleImageName, IdentifierBlobType, IdentifierPixelType, Image, ImageName, IsAllocated, Lattice, Name, NumberOfFeretAngles, OwnerSystem, OwnerSystemName, PixelAspectRatio, PropertyValidation, Results, SaveRunInformationEnabled, SortingKeys

Methods: Allocate, ApplyFilter, Calculate, Control, EraseBorderBlobs, ExtractHoles, FillHoles, Free, Inquire, LabelImage, Modified, Reconstruct, ShowPropertyPages

Event: ResultsModified
FeatureList Properties: Area, Box, Breadth, CenterOfGravity, CentralMomentX0Y2, CentralMomentX1Y1, CentralMomentX2Y0, Chains, Compactness, ContactPoints, ConvexPerimeter, Elongation, EulerNumber, FeretElongation, FirstPointX, FirstPointY, GeneralFeret, GeneralMoment, Intercept0, Intercept135, Intercept45, Intercept90, Length, MaximumFeretAngle, MaximumFeretDiameter, MaximumPixelValue, MeanFeretDiameter, MeanPixelValue, MilID, MinimumFeretAngle, MinimumFeretDiameter, MinimumPixelValue, MomentX0Y1, MomentX0Y2, MomentX1Y0, MomentX1Y1, MomentX2Y0, NumberOfHoles, Perimeter, PrincipalAxisAngle, Roughness, Runs, SecondaryAxisAngle, SigmaOfPixelValues, SumOfPixelValues, SumOfSquaredPixelValues

Methods: DeselectAll, SelectAll
Box Properties: All, FeretX, FeretY, XMaximum, XMinimum, YMaximum, YMinimum
CenterOfGravity Properties: All, X, Y
ContactPoints Properties: All, XMaximumAtYMaximum, XMinimumAtYMinimum, YMaximumAtXMinimum, YMinimumAtXMaximum
GeneralFeret Properties: Angle, Enabled
GeneralMoment Properties: MomentType, OrderX, OrderY
Filters Properties: Count, Item

Methods: Add, Remove
Item Properties: Condition, Description, Feature, FilterType, HighValue, LowValue
Results Properties: Count, Item, MaximumLabelValue, MilID

Methods: AtCoordinates, AtLabel, Draw, Get, GetMultiple
Item Properties: Area, BoxXMaximum, BoxXMinimum, BoxYMaximum, BoxYMinimum, Breadth, CenterOfGravityXGrayscale, CenterOfGravityX, CenterOfGravityYGrayscale, CenterOfGravityY, CentralMomentX0Y2Grayscale, CentralMomentX0Y2, CentralMomentX1Y1Grayscale, CentralMomentX1Y1, CentralMomentX2Y0Grayscale, CentralMomentX2Y0, Chains, Compactness, ContactPointXMaximumAtYMaximum, ContactPointXMinimumAtYMinimum, ContactPointYMaximumAtXMinimum, ContactPointYMinimumAtXMaximum, ConvexPerimeter, Elongation, EulerNumber, FeretElongation, FeretX, FeretY, FirstPointX, FirstPointY, GeneralFeret, GeneralMomentGrayscale, GeneralMoment, Intercept0, Intercept135, Intercept45, Intercept90, LabelValue, Length, MaximumFeretAngle, MaximumFeretDiameter, MaximumPixelValue, MeanFeretDiameter, MeanPixelValue, MinimumFeretAngle, MinimumFeretDiameter, MinimumPixelValue, MomentX0Y1Grayscale, MomentX0Y1, MomentX0Y2Grayscale, MomentX0Y2, MomentX1Y0Grayscale, MomentX1Y0, MomentX1Y1Grayscale, MomentX1Y1, MomentX2Y0Grayscale, MomentX2Y0, NumberOfHoles, Perimeter, PrincipalAxisAngleGrayscale, PrincipalAxisAngle, Roughness, Runs, SecondaryAxisAngleGrayscale, SecondaryAxisAngle, SigmaOfPixelValues, SumOfPixelValues, SumOfSquaredPixelValues

Method: Draw
Chains Properties: Count, Item
Item Property: Pixels
Pixels Properties: Count, Item
Item Properties: X, Y
Runs Properties: Count, Item
Item Properties: Length, StartX, StartY
SortingKeys Properties: Count, Item

Methods: Add, DecreasePriority, IncreasePriority, Remove
Item Properties: Description, Feature, Ordering, Priority


BlobAnalysis.AutomaticAllocation Property

AutomaticAllocation property

See Also | Availability | MIL Equivalent | FeatureList
User Guide:
Setting up controls - Allocating and freeing resources

Reference:
BlobAnalysis.Free
BlobAnalysis.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
BlobAnalysis
AutomaticAllocation
Synopsis
Returns or sets whether the resources of the BlobAnalysis control are automatically allocated at run-time.
[]
Syntax
object.AutomaticAllocation [= Boolean]
[]
Syntax
object->AutomaticAllocation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the control's automatic allocation.
Value | Meaning
True | The control will be allocated automatically at run-time.
False | The control must be allocated explicitly, using the Allocate method.
Remarks
  • When the AutomaticAllocation property is False, an explicit call to the Allocate method is required. You can get the allocation state of the control by reading its IsAllocated property.
  • The default value is True for controls created at design-time, and False for controls created at run-time (for example, created with the CreateObject method of the Application control).
  • When this property is set to True, automatic allocation will occur when the owner system of the BlobAnalysis control is allocated. For example, if System1 is set as the owner system of BlobAnalysis1, and System1 is not allocated, then BlobAnalysis1 will not be allocated, even if its AutomaticAllocation property is set to True. When System1 is allocated (with the Allocate method), BlobAnalysis1 will be allocated automatically if its AutomaticAllocation property is set to True.
  • The resources of the control will be freed automatically when the control is destroyed.
[]
Example
This example demonstrates how to set up this control so that it is automatically allocated when its owner System control is allocated.

BlobAnalysis1.AutomaticAllocation = True
BlobAnalysis1.OwnerSystem = System1

' This call will also allocate BlobAnalysis1 since
' its OwnerSystem property is System1 and
' its AutomaticAllocation property is set to True
System1.Allocate()
[]
Example
This example demonstrates how to set up this control so that it is automatically allocated when its owner System control is allocated.

m_BlobAnalysis1->AutomaticAllocation = TRUE;
m_BlobAnalysis1->OwnerSystem = m_System1;

// This call will also allocate m_BlobAnalysis1 since
// its OwnerSystem property is m_System1 and
// its AutomaticAllocation property is set to TRUE
m_System1->Allocate();


BlobAnalysis.FeatureList Property

FeatureList property

See Also | Availability | MIL Equivalent | AutomaticAllocation | Filters
User Guide:
Making feature extractions

Reference:
BlobAnalysis.Calculate
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature()

MblobAllocFeatureList()
BlobAnalysis
FeatureList
Properties: Area, Box, Breadth, CenterOfGravity, CentralMomentX0Y2, CentralMomentX1Y1, CentralMomentX2Y0, Chains, Compactness, ContactPoints, ConvexPerimeter, Elongation, EulerNumber, FeretElongation, FirstPointX, FirstPointY, GeneralFeret, GeneralMoment, Intercept0, Intercept135, Intercept45, Intercept90, Length, MaximumFeretAngle, MaximumFeretDiameter, MaximumPixelValue, MeanFeretDiameter, MeanPixelValue, MilID, MinimumFeretAngle, MinimumFeretDiameter, MinimumPixelValue, MomentX0Y1, MomentX0Y2, MomentX1Y0, MomentX1Y1, MomentX2Y0, NumberOfHoles, Perimeter, PrincipalAxisAngle, Roughness, Runs, SecondaryAxisAngle, SigmaOfPixelValues, SumOfPixelValues, SumOfSquaredPixelValues

Methods: DeselectAll, SelectAll
Synopsis
Allows you to select features for calculation.
[]
Syntax
[FeatureList =] object.FeatureList
[]
Syntax
[IFeatureListPtr =] object->FeatureList
Type description
A FeatureList object.
Remarks
  • You cannot assign another FeatureList object to this property.
  • Call the Calculate method to calculate the selected features.


BlobAnalysis.FeatureList.Area Property

Area property

See Also | Availability | MIL Equivalent | Box
User Guide:
The area and perimeter

Reference:
BlobAnalysis.Results.Item.Area
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_AREA
)
BlobAnalysis
FeatureList
Area
Synopsis
Returns or sets whether the area feature is selected for calculation.
[]
Syntax
object.Area [= Boolean]
[]
Syntax
object->Area [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the area feature is selected for calculation. (default is False)
Value | Meaning
True | The area feature is selected for calculation.
False | The area feature is not selected for calculation.
Remarks
  • This feature is equal to the number of foreground pixels in a blob (holes are not counted).
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).Area property.


BlobAnalysis.FeatureList.Box Property

Box property

See Also | Availability | MIL Equivalent | Area | Breadth
User Guide:
Finding blob location
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_BOX or
M_FERET_X or
M_FERET_Y or
M_BOX_X_MAX or
M_BOX_X_MIN or
M_BOX_Y_MAX or
M_BOX_Y_MIN
)
BlobAnalysis
FeatureList
Box
Properties: All, FeretX, FeretY, XMaximum, XMinimum, YMaximum, YMinimum
Synopsis
Allows you to specify or determine which bounding box feature(s) are selected for calculation.
[]
Syntax
[FeatureBox =] object.Box
[]
Syntax
[IFeatureBoxPtr =] object->Box
Type description
A FeatureBox object.
Remarks
  • You cannot assign another FeatureBox object to this property.
  • All the box features can be selected at once by using the All property of the Box property.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).Box... properties


BlobAnalysis.FeatureList.Box.All Property

All property

See Also | Availability | MIL Equivalent | FeretX
Reference:
BlobAnalysis.FeatureList.Box.FeretX
BlobAnalysis.FeatureList.Box.FeretY
BlobAnalysis.FeatureList.Box.XMaximum
BlobAnalysis.FeatureList.Box.XMinimum
BlobAnalysis.FeatureList.Box.YMaximum
BlobAnalysis.FeatureList.Box.YMinimum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_BOX
)
BlobAnalysis
FeatureList
Box
All
Synopsis
Determines the boolean setting of all Box properties.
[]
Syntax
object.All [= Boolean]
[]
Syntax
object->All [= VARIANT_BOOL]
Type description
A boolean value that specifies the setting for all Box properties. (default is False)
Value | Meaning
True | All Box properties are set to True and are selected for calculation.
False | All Box properties are set to False and are not selected for calculation.
Remark
  • All Box properties can be set with this property:
    • FeatureList.Box.FeretX property
    • FeatureList.Box.FeretY property
    • FeatureList.Box.XMaximum property
    • FeatureList.Box.XMinimum property
    • FeatureList.Box.YMaximum property
    • FeatureList.Box.YMinimum property
[]
Example
This example shows how to select all the features.

m_BlobAnalysis->FeatureList->Box->All = TRUE;


BlobAnalysis.FeatureList.Box.FeretX Property

FeretX property

See Also | Availability | MIL Equivalent | All | FeretY
Reference:
BlobAnalysis.FeatureList.Box.FeretY
BlobAnalysis.Results.Item.FeretX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_FERET_X
)
BlobAnalysis
FeatureList
Box
FeretX
Synopsis
Returns or sets whether the FeretX feature of the bounding box is selected for calculation.
[]
Syntax
object.FeretX [= Boolean]
[]
Syntax
object->FeretX [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the FeretX feature of the bounding box is selected for calculation. (default is False)
Value | Meaning
True | The FeretX feature is selected for calculation.
False | The FeretX feature is not selected for calculation.
Remarks
  • This feature is the width of the minimum bounding box of a blob. It uses the following equation: XMaximum - XMinimum + 1.
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).FeretX property.


BlobAnalysis.FeatureList.Box.FeretY Property

FeretY property

See Also | Availability | MIL Equivalent | FeretX | XMaximum
Reference:
BlobAnalysis.FeatureList.Box.FeretX
BlobAnalysis.Results.Item.FeretY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_FERET_Y
)
BlobAnalysis
FeatureList
Box
FeretY
Synopsis
Returns or sets whether the FeretY feature of the bounding box is selected for calculation.
[]
Syntax
object.FeretY [= Boolean]
[]
Syntax
object->FeretY [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the FeretY feature of the bounding box is selected for calculation. (default is False)
Value | Meaning
True | The FeretY feature is selected for calculation.
False | The FeretY feature is not selected for calculation.
Remarks
  • This feature is the length of the minimum bounding box of a blob. It uses the following equation: YMaximum - YMinimum + 1.
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).FeretY property.


BlobAnalysis.FeatureList.Box.XMaximum Property

XMaximum property

See Also | Availability | MIL Equivalent | FeretY | XMinimum
User Guide:
Finding blob location

Reference:
BlobAnalysis.FeatureList.Box.XMinimum
BlobAnalysis.FeatureList.Box.YMaximum
BlobAnalysis.FeatureList.Box.YMinimum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_BOX_X_MAX
)
BlobAnalysis
FeatureList
Box
XMaximum
Synopsis
Returns or sets whether the XMaximum feature of the bounding box is selected for calculation.
[]
Syntax
object.XMaximum [= Boolean]
[]
Syntax
object->XMaximum [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the XMaximum feature of the bounding box is selected for calculation. (default is False)
Value | Meaning
True | The XMaximum feature is selected for calculation.
False | The XMaximum feature is not selected for calculation.
Remarks
  • This feature corresponds to the X-coordinate of the extreme right pixel of the blob(s).
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).BoxXMaximum property.


BlobAnalysis.FeatureList.Box.XMinimum Property

XMinimum property

See Also | Availability | MIL Equivalent | XMaximum | YMaximum
User Guide:
Finding blob location

Reference:
BlobAnalysis.FeatureList.Box.XMaximum
BlobAnalysis.FeatureList.Box.YMaximum
BlobAnalysis.FeatureList.Box.YMinimum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_BOX_X_MIN
)
BlobAnalysis
FeatureList
Box
XMinimum
Synopsis
Returns or sets whether the XMinimum feature of the bounding box is selected for calculation.
[]
Syntax
object.XMinimum [= Boolean]
[]
Syntax
object->XMinimum [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the XMinimum feature of the bounding box is selected for calculation. (default is False)
Value | Meaning
True | The XMinimum feature is selected for calculation.
False | The XMinimum feature is not selected for calculation.
Remarks
  • This feature corresponds to the X-coordinate of the extreme left pixel of the blob(s).
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).BoxXMinimum property.


BlobAnalysis.FeatureList.Box.YMaximum Property

YMaximum property

See Also | Availability | MIL Equivalent | XMinimum | YMinimum
User Guide:
Finding blob location

Reference:
BlobAnalysis.FeatureList.Box.XMaximum
BlobAnalysis.FeatureList.Box.XMinimum
BlobAnalysis.FeatureList.Box.YMinimum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_BOX_Y_MAX
)
BlobAnalysis
FeatureList
Box
YMaximum
Synopsis
Returns or sets whether the YMaximum feature of the bounding box is selected for calculation.
[]
Syntax
object.YMaximum [= Boolean]
[]
Syntax
object->YMaximum [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the YMaximum feature of the bounding box is selected for calculation. (default is False)
Value | Meaning
True | The YMaximum feature is selected for calculation.
False | The YMaximum feature is not selected for calculation.
Remarks
  • This feature corresponds to the Y-coordinate of the extreme bottom pixel of the blob(s).
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).BoxYMaximum property.


BlobAnalysis.FeatureList.Box.YMinimum Property

YMinimum property

See Also | Availability | MIL Equivalent | YMaximum
User Guide:
Finding blob location

Reference:
BlobAnalysis.FeatureList.Box.XMaximum
BlobAnalysis.FeatureList.Box.XMinimum
BlobAnalysis.FeatureList.Box.YMaximum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_BOX_Y_MIN
)
BlobAnalysis
FeatureList
Box
YMinimum
Synopsis
Returns or sets whether the YMinimum feature of the bounding box is selected for calculation.
[]
Syntax
object.YMinimum [= Boolean]
[]
Syntax
object->YMinimum [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the YMinimum feature of the bounding box is selected for calculation. (default is False)
Value | Meaning
True | The YMinimum feature is selected for calculation.
False | The YMinimum feature is not selected for calculation.
Remarks
  • This feature corresponds to Y-coordinate of the extreme top pixel of the blob(s).
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).BoxYMinimum property.


BlobAnalysis.FeatureList.Breadth Property

Breadth property

See Also | Availability | MIL Equivalent | Box | CenterOfGravity
User Guide:
Sizing long thin blobs

Reference:
BlobAnalysis.Results.Item.Breadth
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_BREADTH
)
BlobAnalysis
FeatureList
Breadth
Synopsis
Returns or sets whether the breadth feature is selected for calculation.
[]
Syntax
object.Breadth [= Boolean]
[]
Syntax
object->Breadth [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the breadth feature is selected for calculation. (default is False)
Value | Meaning
True | The breadth feature is selected for calculation.
False | The breadth feature is not selected for calculation.
Remarks
  • This feature provides a good approximation of the breadth of long thin blobs.
  • Note that this feature is calculated using the Area (A) and the Perimeter (P) (assuming that P = 2( Length + Breadth) and A = Length x Breadth), which makes it faster to calculate than the Feret features.
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).Breadth property.
[]
Example
This example shows how to select the Breadth feature.

m_BlobAnalysis->FeatureList->Breadth = TRUE;


BlobAnalysis.FeatureList.CenterOfGravity Property

CenterOfGravity property

See Also | Availability | MIL Equivalent | Breadth | CentralMomentX0Y2
User Guide:
Finding blob location
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_CENTER_OF_GRAVITY or
M_CENTER_OF_GRAVITY_X or
M_CENTER_OF_GRAVITY_Y
)
BlobAnalysis
FeatureList
CenterOfGravity
Properties: All, X, Y
Synopsis
Allows you to specify or determine which CenterOfGravity feature(s) are selected for calculation.
[]
Syntax
[FeatureCenterOfGravity =] object.CenterOfGravity
[]
Syntax
[IFeatureCenterOfGravityPtr =] object->CenterOfGravity
Type description
A FeatureCenterOfGravity object.
Remarks
  • You cannot assign another FeatureCenterOfGravity object to this property.
  • All the center of gravity features can be selected at once by using the All property of the CenterOfGravity property.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).CenterOfGravity... properties.


BlobAnalysis.FeatureList.CenterOfGravity.All Property

All property

See Also | Availability | MIL Equivalent | X
Reference:
BlobAnalysis.FeatureList.CenterOfGravity.X
BlobAnalysis.FeatureList.CenterOfGravity.Y
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_CENTER_OF_GRAVITY
)
BlobAnalysis
FeatureList
CenterOfGravity
All
Synopsis
Determines the setting of all CenterOfGravity properties.
[]
Syntax
object.All [= BlobTrueFalseBinGrayConstants]
[]
Syntax
object->All [= enum BlobTrueFalseBinGrayConstants]
Type description
A BlobTrueFalseBinGrayConstants expression that specifies whether to calculate the center of gravity features and how to calculate them.
Value | Meaning
blobFalse | The features are not selected for calculation.
blobTrue | The features are selected to be calculated using the binary definition. If the grayscale image is provided, a second value is calculated using the grayscale definition.
blobBinaryOnly | The features are selected to be calculated using the binary definition.
blobGrayScaleOnly | The features are selected to be calculated using the grayscale definition.
Remark
  • All CenterOfGravity properties can be set with this property:
    • X property
    • Y property
[]
Example
This example shows how to select all the features.

m_BlobAnalysis->FeatureList->CenterOfGravity->All =  blobTrue;


BlobAnalysis.FeatureList.CenterOfGravity.X Property

X property

See Also | Availability | MIL Equivalent | All | Y
Reference:
BlobAnalysis.FeatureList.Area
BlobAnalysis.FeatureList.MomentX0Y1
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_CENTER_OF_GRAVITY_X
)
BlobAnalysis
FeatureList
CenterOfGravity
X
Synopsis
Returns or sets whether the X-coordinate of the center of gravity feature is selected to be calculated and how it is calculated.
[]
Syntax
object.X [= BlobTrueFalseBinGrayConstants]
[]
Syntax
object->X [= enum BlobTrueFalseBinGrayConstants]
Type description
A BlobTrueFalseBinGrayConstants expression that specifies whether to select the feature for calculation and how to calculate it.
Value | Meaning
blobFalse | The X feature is not selected for calculation.
blobTrue | The X feature is selected to be calculated using the binary definition. If the grayscale image is provided a second X-value is calculated using the grayscale definition.
blobBinaryOnly | The X feature is selected to be calculated using the binary definition.
blobGrayScaleOnly | The X feature is selected to be calculated using the grayscale definition.
Remarks
  • The binary version uses the following equation to calculate the X-coordinate: MomentX1Y0 / Area.
  • The grayscale version uses the following equation to calculate the X-coordinate: MomentX1Y0 / SumOfPixelValues.
  • This feature has two different definitions: a binary and a grayscale definition. The binary definition uses a binary image, where all the pixels are considered equal. The grayscale definition uses a grayscale image, where pixels are weighted by their value in the grayscale image. Note that the grayscale version is slower to calculate.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).CenterOfGravityX property.
[]
Example
This example selects the center of gravity feature.

// Select center of gravity feature.
//
// Using MFC's TRUE constant
m_BlobAnalysis1->FeatureList->CenterOfGravity->X =
   (BlobTrueFalseBinGrayConstants) TRUE;

// Using ActiveMIL's blobTrue constant
m_BlobAnalysis1->FeatureList->CenterOfGravity->Y = blobTrue;


BlobAnalysis.FeatureList.CenterOfGravity.Y Property

Y property

See Also | Availability | MIL Equivalent | X
Reference:
BlobAnalysis.FeatureList.Area
BlobAnalysis.FeatureList.CenterOfGravity.X
BlobAnalysis.FeatureList.MomentX1Y0
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_CENTER_OF_GRAVITY_Y
)
BlobAnalysis
FeatureList
CenterOfGravity
Y
Synopsis
Returns or sets whether the Y-coordinate of the center of gravity feature is selected to be calculated and how it is calculated.
[]
Syntax
object.Y [= BlobTrueFalseBinGrayConstants]
[]
Syntax
object->Y [= enum BlobTrueFalseBinGrayConstants]
Type description
A BlobTrueFalseBinGrayConstants expression that specifies whether to select the feature for calculation and how to calculate it.
Value | Meaning
blobFalse | The Y feature is not selected for calculation.
blobTrue | The Y feature is selected to be calculated using the binary definition. If the grayscale image is provided a second Y value is calculated using the grayscale definition.
blobBinaryOnly | The Y feature is selected to be calculated using the binary definition.
blobGrayScaleOnly | The Y feature is selected to be calculated using the grayscale definition.
Remarks
  • The binary version uses the following equation to calculate the Y-coordinate: MomentX1Y0 / Area.
  • The grayscale version uses the following equation to calculate the Y-coordinate: MomentX1Y0 / SumOfPixelValues.
  • This feature has two different definitions: a binary and a grayscale definition. The binary definition uses a binary image, where all the pixels are considered equal. The grayscale definition uses a grayscale image, where pixels are weighted by their value in the grayscale image. Note that the grayscale version is slower to calculate.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).CenterOfGravityY property
[]
Example
This example selects the center of gravity feature.

// Select center of gravity feature.
//
// Using MFC's TRUE constant
m_BlobAnalysis1->FeatureList->CenterOfGravity->X =
   (BlobTrueFalseBinGrayConstants) TRUE;

// Using ActiveMIL's blobTrue constant
m_BlobAnalysis1->FeatureList->CenterOfGravity->Y = blobTrue;


BlobAnalysis.FeatureList.CentralMomentX0Y2 Property

CentralMomentX0Y2 property

See Also | Availability | MIL Equivalent | CenterOfGravity | CentralMomentX1Y1
Reference:
BlobAnalysis.Results.Item.CentralMomentX0Y2
BlobAnalysis.Results.Item.CentralMomentX0Y2Grayscale
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_MOMENT_CENTRAL_X0_Y2
)
BlobAnalysis
FeatureList
CentralMomentX0Y2
Synopsis
Returns or sets whether the CentralMomentX0Y2 feature is selected to be calculated and how it is calculated.
[]
Syntax
object.CentralMomentX0Y2 [= BlobTrueFalseBinGrayConstants]
[]
Syntax
object->CentralMomentX0Y2 [= enum BlobTrueFalseBinGrayConstants]
Type description
A BlobTrueFalseBinGrayConstants expression that specifies whether to select the feature for calculation and how to calculate it.
Value | Meaning
blobFalse | The CentralMomentX0Y2 feature is not selected for calculation.
blobTrue | The CentralMomentX0Y2 feature is selected for calculation using the binary definition. If the grayscale image is provided, a second central moment value is calculated using the grayscale definition.
blobBinaryOnly | The CentralMomentX0Y2 feature is selected for calculation using the binary definition.
blobGrayScaleOnly | The CentralMomentX0Y2 feature is selected for calculation using the grayscale definition.
Remarks
  • This moment is defined as [image] where p = value of a pixel (always 1 for binary moments), y = its Y-coordinate and n = the number of pixels in a blob.
  • This moment's coordinates are relative to the blob's center of gravity.
  • This feature has two different definitions: a binary and a grayscale definition. The binary definition uses a binary image, where all the pixels are considered equal. The grayscale definition uses a grayscale image, where pixels are weighted by their value in the grayscale image. Note that the grayscale version is slower to calculate.
  • After the Calculate method is called, results can be obtained for binary or grayscale definitions of this feature using the Results.Item(BlobIndex).CentralMomentX0Y2 or Results.Item(BlobIndex).CentralMomentX0Y2Grayscale property, respectively.
[]
Example
This example shows how to select the CentralMomentX0Y2 feature.

m_BlobAnalysis->FeatureList->CentralMomentX0Y2 =  blobTrue;


BlobAnalysis.FeatureList.CentralMomentX1Y1 Property

CentralMomentX1Y1 property

See Also | Availability | MIL Equivalent | CentralMomentX0Y2 | CentralMomentX2Y0
Reference:
BlobAnalysis.Results.Item.CentralMomentX1Y1
BlobAnalysis.Results.Item.CentralMomentX1Y1Grayscale
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_MOMENT_CENTRAL_X1_Y1
)
BlobAnalysis
FeatureList
CentralMomentX1Y1
Synopsis
Returns or sets whether the CentralMomentX1Y1 feature is selected to be calculated and how it is calculated.
[]
Syntax
object.CentralMomentX1Y1 [= BlobTrueFalseBinGrayConstants]
[]
Syntax
object->CentralMomentX1Y1 [= enum BlobTrueFalseBinGrayConstants]
Type description
A BlobTrueFalseBinGrayConstants expression that specifies whether to calculate the feature and how to calculate it.
Value | Meaning
blobFalse | The CentralMomentX1Y1 feature is not selected for calculation.
blobTrue | The CentralMomentX1Y1 feature is selected for calculation using the binary definition. If the grayscale image is provided a second central moment value is calculated using the grayscale definition.
blobBinaryOnly | The CentralMomentX1Y1 feature is selected for calculation using the binary definition.
blobGrayScaleOnly | The CentralMomentX1Y1 feature is selected for calculation using the grayscale definition.
Remarks
  • This moment is defined as [image] where p = value of a pixel (always 1 for binary moments), x = its X-coordinate, y = its Y-coordinate and n = the number of pixels in a blob.
  • This moment's coordinates are relative to the blob's center of gravity.
  • This feature has two different definitions: a binary and a grayscale definition. The binary definition uses a binary image, where all the pixels are considered equal. The grayscale definition uses a grayscale image, where pixels are weighted by their value in the grayscale image. Note that the grayscale version is slower to calculate.
  • After the Calculate method is called, results can be obtained for binary or grayscale definitions of this feature using the Results.Item(BlobIndex).CentralMomentX1Y1 or Results.Item(BlobIndex).CentralMomentX1Y1Grayscale property, respectively.
[]
Example
This example shows how to select the CentralMomentX1Y1 feature.

m_BlobAnalysis->FeatureList->CentralMomentX1Y1 =  blobTrue;


BlobAnalysis.FeatureList.CentralMomentX2Y0 Property

CentralMomentX2Y0 property

See Also | Availability | MIL Equivalent | CentralMomentX1Y1 | Chains
Reference:
BlobAnalysis.Results.Item.CentralMomentX2Y0
BlobAnalysis.Results.Item.CentralMomentX2Y0Grayscale
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_MOMENT_CENTRAL_X2_Y0
)
BlobAnalysis
FeatureList
CentralMomentX2Y0
Synopsis
Returns or sets whether the CentralMomentX2Y0 feature is selected to be calculated and how it is calculated.
[]
Syntax
object.CentralMomentX2Y0 [= BlobTrueFalseBinGrayConstants]
[]
Syntax
object->CentralMomentX2Y0 [= enum BlobTrueFalseBinGrayConstants]
Type description
A BlobTrueFalseBinGrayConstants expression that specifies whether to calculate the feature and how to calculate it.
Value | Meaning
blobFalse | The CentralMomentX2Y0 feature is not selected for calculation.
blobTrue | The CentralMomentX2Y0 feature is selected for calculation using the binary definition. If the grayscale image is provided a second central moment value is calculated using the grayscale definition.
blobBinaryOnly | The CentralMomentX2Y0 feature is selected for calculation using the binary definition.
blobGrayScaleOnly | The CentralMomentX2Y0 feature is selected for calculation using the grayscale definition.
Remarks
  • This moment is defined as [image] where p = value of a pixel (always 1 for binary moments), x = its X-coordinate and n = the number of pixels in a blob.
  • This feature has two different definitions: a binary and a grayscale definition. The binary definition uses a binary image, where all the pixels are considered equal. The grayscale definition uses a grayscale image, where pixels are weighted by their value in the grayscale image. Note that the grayscale version is slower to calculate.
  • This moment's coordinates are relative to the blob's center of gravity.
  • After the Calculate method is called, results can be obtained for binary or grayscale definitions of this feature using the Results.Item(BlobIndex).CentralMomentX2Y0 or Results.Item(BlobIndex).CentralMomentX2Y0Grayscale property, respectively.
[]
Example
This example shows how to select the CentralMomentX2Y0 feature.

m_BlobAnalysis->FeatureList->CentralMomentX2Y0 =  blobTrue;


BlobAnalysis.FeatureList.Chains Property

Chains property

See Also | Availability | MIL Equivalent | CentralMomentX2Y0 | Compactness
Reference:
BlobAnalysis.Results.Item.Chains
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
MblobSelectFeature(
Feature =
M_CHAINS
)
BlobAnalysis
FeatureList
Chains
Synopsis
Returns or sets whether the chains feature is selected for calculation.
[]
Syntax
object.Chains [= Boolean]
[]
Syntax
object->Chains [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the chains feature is selected for calculation. (default is False)
Value | Meaning
True | The chains feature is selected for calculation.
False | The chains feature is not selected for calculation.
Remarks
  • When you calculate the chains feature, the following four results are calculated: the number of chains, the number of chained pixels, and the X- and Y-coordinates of each chained pixel.
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • You cannot calculate chains feature unless you set the SaveRunInformationEnabled property to True.
  • After the Calculate method is called, results can be obtained for the number of chains, the number of chained pixels and the X- and Y-coordinates of each pixel using the Results.Item(BlobIndex).Chains.Count property, Results.Item(BlobIndex).Chains.Item.Pixels.Count property, Results.Item(BlobIndex).Chains.Item.Pixels.Item.X property or Results.Item(BlobIndex).Chains.Item.Pixels.Item.Y property of the BlobAnalysis control, respectively.


BlobAnalysis.FeatureList.Compactness Property

Compactness property

See Also | Availability | MIL Equivalent | Chains | ContactPoints
User Guide:
Determining the shape

Reference:
BlobAnalysis.Results.Item.Compactness
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_COMPACTNESS
)
BlobAnalysis
FeatureList
Compactness
Synopsis
Returns or sets whether the compactness feature is selected for calculation.
[]
Syntax
object.Compactness [= Boolean]
[]
Syntax
object->Compactness [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the compactness feature is selected for calculation. (default is False)
Value | Meaning
True | The compactness feature is selected for calculation.
False | The compactness feature is not selected for calculation.
Remarks
  • This feature provides an estimation of the compactness of a blob. A circular blob is most compact and is defined to have a compactness of (1.0). The more convoluted the shape, the greater the value.
  • The following equation is used to calculate the compactness: where A and p are equal to the area and the perimeter of the blob, respectively.
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).Compactness property.
[]
Example
This example selects the Compactness feature.

const long EXCLUDE_AREA_OUT_RANGE_50_50000 = 2;
long BlobsWithHoles;

// Reverse what is considered to be the background so that
// holes are seen as being blobs.
m_BlobAnalysis1->ForegroundPixelValue = blobZero;

// Add a feature to distinguish between types of holes. Since area
// has already been added to the feature list, and the processing
// mode has been changed, all blobs will be re-included and the area
// of holes will be calculated automatically.
m_BlobAnalysis1->FeatureList->Compactness = TRUE;

// Calculate selected features for each blob.
m_BlobAnalysis1->Calculate();

// Exclude small holes and large holes (the area around objects)
m_BlobAnalysis1->ApplyFilter(EXCLUDE_AREA_OUT_RANGE_50_50000, TRUE);

// Get the number of blobs with holes.
BlobsWithHoles = m_BlobAnalysis1->Results->Count;


BlobAnalysis.FeatureList.ContactPoints Property

ContactPoints property

See Also | Availability | MIL Equivalent | Compactness | ConvexPerimeter
User Guide:
Finding blob location
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_CONTACT_POINTS or
M_X_MAX_AT_Y_MAX or
M_Y_MAX_AT_X_MIN or
M_X_MIN_AT_Y_MIN or
M_Y_MIN_AT_X_MAX
)
BlobAnalysis
FeatureList
ContactPoints
Properties: All, XMaximumAtYMaximum, XMinimumAtYMinimum, YMaximumAtXMinimum, YMinimumAtXMaximum
Synopsis
Allows you to specify or determine which contact point feature(s) are selected for calculation.
[]
Syntax
[FeatureContactPoints =] object.ContactPoints
[]
Syntax
[IFeatureContactPointsPtr =] object->ContactPoints
Type description
A FeatureContactPoints object.
Remarks
  • Note that you cannot assign another FeatureContactPoints object to this property.
  • All the contact point features can be selected at once by using the All property of the ContactPoints property.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).ContactPoint... properties.


BlobAnalysis.FeatureList.ContactPoints.All Property

All property

See Also | Availability | MIL Equivalent | XMaximumAtYMaximum
Reference:
BlobAnalysis.FeatureList.ContactPoints.XMaximumAtYMaximum
BlobAnalysis.FeatureList.ContactPoints.XMinimumAtYMinimum
BlobAnalysis.FeatureList.ContactPoints.YMaximumAtXMinimum
BlobAnalysis.FeatureList.ContactPoints.YMinimumAtXMaximum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_CONTACT_POINTS
)
BlobAnalysis
FeatureList
ContactPoints
All
Synopsis
Determines the boolean setting of all ContactPoints properties.
[]
Syntax
object.All [= Boolean]
[]
Syntax
object->All [= VARIANT_BOOL]
Type description
A boolean value that specifies whether all ContactPoints properties are selected for calculation. (default is False)
Value | Meaning
True | All ContactPoints properties are set to True and are selected for calculation.
False | All ContactPoints properties are set to False and are not selected for calculation.
Remark
  • All ContactPoints properties can be set with this property:
    • XMaximumAtYMaximum
    • XMinimumAtYMinimum
    • YMinimumAtXMaximum
    • YMaximumAtXMinimum


BlobAnalysis.FeatureList.ContactPoints.XMaximumAtYMaximum Property

XMaximumAtYMaximum property

See Also | Availability | MIL Equivalent | All | XMinimumAtYMinimum
User Guide:
Finding blob location

Reference:
BlobAnalysis.FeatureList.ContactPoints.XMinimumAtYMinimum
BlobAnalysis.FeatureList.ContactPoints.YMaximumAtXMinimum
BlobAnalysis.FeatureList.ContactPoints.YMinimumAtXMaximum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_X_MAX_AT_Y_MAX
)
BlobAnalysis
FeatureList
ContactPoints
XMaximumAtYMaximum
Synopsis
Returns or sets whether the XMaximumAtYMaximum contact point feature is selected for calculation.
[]
Syntax
object.XMaximumAtYMaximum [= Boolean]
[]
Syntax
object->XMaximumAtYMaximum [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the XMaximumAtYMaximum contact point feature is selected for calculation (default is False)
Value | Meaning
True | The XMaximumAtYMaximum feature is selected for calculation.
False | The XMaximumAtYMaximum feature is not selected for calculation.
Remarks
  • This feature corresponds to the maximum X-coordinate at the maximum Y-coordinate of the blob(s), relative to the image origin (top-left corner).
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).ContactPointXMaximumAtYMaximum property.


BlobAnalysis.FeatureList.ContactPoints.XMinimumAtYMinimum Property

XMinimumAtYMinimum property

See Also | Availability | MIL Equivalent | XMaximumAtYMaximum | YMaximumAtXMinimum
User Guide:
Finding blob location

Reference:
BlobAnalysis.FeatureList.ContactPoints.XMaximumAtYMaximum
BlobAnalysis.FeatureList.ContactPoints.YMaximumAtXMinimum
BlobAnalysis.FeatureList.ContactPoints.YMinimumAtXMaximum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_X_MIN_AT_Y_MIN
)
BlobAnalysis
FeatureList
ContactPoints
XMinimumAtYMinimum
Synopsis
Returns or sets whether the XMinimumAtYMinimum contact point feature is selected for calculation.
[]
Syntax
object.XMinimumAtYMinimum [= Boolean]
[]
Syntax
object->XMinimumAtYMinimum [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the XMinimumAtYMinimum contact point feature is selected for calculation. (default is False)
Value | Meaning
True | The XMinimumAtYMinimum feature is selected for calculation.
False | The XMinimumAtYMinimum feature is not selected for calculation.
Remarks
  • This feature corresponds to the minimum X-coordinate at the minimum Y-coordinate of the blob(s), relative to the image origin (top-left corner).
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).ContactPointXMinimumAtYMinimum property.


BlobAnalysis.FeatureList.ContactPoints.YMaximumAtXMinimum Property

YMaximumAtXMinimum property

See Also | Availability | MIL Equivalent | XMinimumAtYMinimum | YMinimumAtXMaximum
User Guide:
Finding blob location

Reference:
BlobAnalysis.FeatureList.ContactPoints.XMaximumAtYMaximum
BlobAnalysis.FeatureList.ContactPoints.XMinimumAtYMinimum
BlobAnalysis.FeatureList.ContactPoints.YMinimumAtXMaximum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_Y_MAX_AT_X_MIN
)
BlobAnalysis
FeatureList
ContactPoints
YMaximumAtXMinimum
Synopsis
Returns or sets whether the YMaximumAtXMinimum contact point feature is selected for calculation.
[]
Syntax
object.YMaximumAtXMinimum [= Boolean]
[]
Syntax
object->YMaximumAtXMinimum [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the YMaximumAtXMinimum contact point feature is selected for calculation (default is False)
Value | Meaning
True | The YMaximumAtXMinimum feature is selected for calculation.
False | The YMaximumAtXMinimum is not selected for calculation.
Remarks
  • This feature corresponds to the maximum Y-coordinate at the minimum X-coordinate of the blob(s), relative to the image origin (top-left corner).
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).ContactPointYMaximumAtXMinimum property.


BlobAnalysis.FeatureList.ContactPoints.YMinimumAtXMaximum Property

YMinimumAtXMaximum property

See Also | Availability | MIL Equivalent | YMaximumAtXMinimum
User Guide:
Finding blob location

Reference:
BlobAnalysis.FeatureList.ContactPoints.XMaximumAtYMaximum
BlobAnalysis.FeatureList.ContactPoints.XMinimumAtYMinimum
BlobAnalysis.FeatureList.ContactPoints.YMaximumAtXMinimum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_Y_MIN_AT_X_MAX
)
BlobAnalysis
FeatureList
ContactPoints
YMinimumAtXMaximum
Synopsis
Returns or sets whether the YMinimumAtXMaximum contact point feature is selected for calculation.
[]
Syntax
object.YMinimumAtXMaximum [= Boolean]
[]
Syntax
object->YMinimumAtXMaximum [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the YMinimumAtXMaximum contact point feature is selected for calculation (default is False)
Value | Meaning
True | The YMinimumAtXMaximum feature is selected for calculation.
False | The YMinimumAtXMaximum feature is not selected for calculation.
Remarks
  • This feature corresponds to the minimum Y-coordinate at the maximum X-coordinate of the blob(s), relative to the image origin (top-left corner).
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).ContactPointYMinimumAtXMaximum property.


BlobAnalysis.FeatureList.ConvexPerimeter Property

ConvexPerimeter property

See Also | Availability | MIL Equivalent | ContactPoints | Elongation
User Guide:
The convex perimeter

Reference:
BlobAnalysis.Results.Item.ConvexPerimeter
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_CONVEX_PERIMETER
)
BlobAnalysis
FeatureList
ConvexPerimeter
Synopsis
Returns or sets whether the convex perimeter feature is selected for calculation.
[]
Syntax
object.ConvexPerimeter [= Boolean]
[]
Syntax
object->ConvexPerimeter [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the convex perimeter feature is selected for calculation. (default is False)
Value | Meaning
True | The convex perimeter feature is selected for calculation.
False | The convex perimeter feature is not selected for calculation.
Remarks
  • This feature is an approximation of the perimeter of the convex hull of a blob. It is derived from several Feret diameters; so a larger number of Ferets gives more accurate results.
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).ConvexPerimeter property.


BlobAnalysis.FeatureList.Elongation Property

Elongation property

See Also | Availability | MIL Equivalent | ConvexPerimeter | EulerNumber
User Guide:
Sizing long thin blobs

Reference:
BlobAnalysis.FeatureList.Breadth
BlobAnalysis.FeatureList.FeretElongation
BlobAnalysis.FeatureList.Length
BlobAnalysis.Results.Item.Elongation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_ELONGATION
)
BlobAnalysis
FeatureList
Elongation
Synopsis
Returns or sets whether the elongation feature is selected for calculation.
[]
Syntax
object.Elongation [= Boolean]
[]
Syntax
object->Elongation [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the elongation feature is selected for calculation. (default is False)
Value | Meaning
True | The elongation feature is selected for calculation.
False | The elongation feature is not selected for calculation.
Remarks
  • This feature is similar to the FeretElongation feature, except it should be used for long thin blobs.
  • Note that this feature is calculated using the length and the breadth, which makes it faster to calculate than the Feret.... features.
  • The following equation is used to calculate the elongation: Length value/ Breadth value.
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).Elongation property.


BlobAnalysis.FeatureList.EulerNumber Property

EulerNumber property

See Also | Availability | MIL Equivalent | Elongation | FeretElongation
Reference:
BlobAnalysis.Results.Item.EulerNumber
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_EULER_NUMBER
)
BlobAnalysis
FeatureList
EulerNumber
Synopsis
Returns or sets whether the EulerNumber feature is selected for calculation.
[]
Syntax
object.EulerNumber [= Boolean]
[]
Syntax
object->EulerNumber [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the Euler number feature is selected for calculation. (default is False)
Value | Meaning
True | The Euler number feature is selected for calculation.
False | The Euler number feature is not selected for calculation.
Remarks
  • This feature is calculated using the following equation: the number of blobs - number of holes.
  • It is more useful to obtain a Euler number calculation for the entire image (blobEntireImage setting of the IdentifierBlobType property) than for individual blobs (blobIndividual setting).
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).EulerNumber property.


BlobAnalysis.FeatureList.FeretElongation Property

FeretElongation property

See Also | Availability | MIL Equivalent | EulerNumber | FirstPointX
User Guide:
Calculating dimensions

Reference:
BlobAnalysis.FeatureList.Elongation
BlobAnalysis.FeatureList.MaximumFeretAngle
BlobAnalysis.FeatureList.MinimumFeretAngle
BlobAnalysis.Results.Item.FeretElongation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_FERET_ELONGATION
)
BlobAnalysis
FeatureList
FeretElongation
Synopsis
Returns or sets whether the Feret elongation feature is selected for calculation.
[]
Syntax
object.FeretElongation [= Boolean]
[]
Syntax
object->FeretElongation [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the Feret elongation feature is selected for calculation. (default is False)
Value | Meaning
True | The Feret elongation feature is selected for calculation.
False | The Feret elongation feature is not selected for calculation.
Remarks
  • This feature is a measure of the shape of a blob.
  • The following equation is used to calculate the Feret elongation feature: MaximumFeretDiameter/ MinimumFeretDiameter.
  • This feature is accurate for reasonably compact blobs, but becomes less accurate for very elongated blobs (because the MinimumFeretDiameter feature becomes less accurate). For very elongated blobs, you should probably use the FeatureList.Elongation property of the BlobAnalysis control.
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).FeretElongation property.


BlobAnalysis.FeatureList.FirstPointX Property

FirstPointX property

See Also | Availability | MIL Equivalent | FeretElongation | FirstPointY
Reference:
BlobAnalysis.FeatureList.FirstPointY
BlobAnalysis.Results.Item.FirstPointX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_FIRST_POINT_X
)
BlobAnalysis
FeatureList
FirstPointX
Synopsis
Returns or sets whether the FirstPointX feature is selected for calculation.
[]
Syntax
object.FirstPointX [= Boolean]
[]
Syntax
object->FirstPointX [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the FirstPointX feature is selected for calculation. (default is False)
Value | Meaning
True | The FirstPointX feature is selected for calculation.
False | The FirstPointX feature is not selected for calculation.
Remarks
  • The FirstPointX feature is the X-coordinate of the left-most pixel on the topmost row of the blob.
  • The FirstPointX and FirstPointY features define a unique point on the perimeter of each blob.
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).FirstPointX property.
[]
Example
This example shows how to select the FirstPointX feature.

m_BlobAnalysis->FeatureList->FirstPointX = TRUE;
m_BlobAnalysis->FeatureList->FirstPointY = TRUE;


BlobAnalysis.FeatureList.FirstPointY Property

FirstPointY property

See Also | Availability | MIL Equivalent | FirstPointX | GeneralFeret
Reference:
BlobAnalysis.FeatureList.FirstPointX
BlobAnalysis.Results.Item.FirstPointY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_FIRST_POINT_Y
)
BlobAnalysis
FeatureList
FirstPointY
Synopsis
Returns or sets whether the FirstPointY feature is selected for calculation.
[]
Syntax
object.FirstPointY [= Boolean]
[]
Syntax
object->FirstPointY [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the FirstPointY feature is selected for calculation. (default is False)
Value | Meaning
True | The FirstPointY feature is selected for calculation.
False | The FirstPointY feature is not selected for calculation.
Remarks
  • The FirstPointY feature is the Y-coordinate of the topmost row of the blob.
  • The FirstPointX and FirstPointY features define a unique point on the perimeter of each blob.
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).FirstPointY property.
[]
Example
This example shows how to select the FirstPointY feature.

m_BlobAnalysis->FeatureList->FirstPointX = TRUE;
m_BlobAnalysis->FeatureList->FirstPointY = TRUE;


BlobAnalysis.FeatureList.GeneralFeret Property

GeneralFeret property

See Also | Availability | MIL Equivalent | FirstPointY | GeneralMoment
Reference:
BlobAnalysis.Results.Item.GeneralFeret
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeret()
BlobAnalysis
FeatureList
GeneralFeret
Properties: Angle, Enabled
Synopsis
Allows you to specify or determine which general Feret is selected for calculation.
[]
Syntax
[FeatureGeneralFeret =] object.GeneralFeret
[]
Syntax
[IFeatureGeneralFeretPtr =] object->GeneralFeret
Type description
A FeatureGeneralFeret object.
Remarks
  • You cannot assign another FeatureGeneralFeret object to this property.
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).GeneralFeret property.


BlobAnalysis.FeatureList.GeneralFeret.Angle Property

Angle property

See Also | Availability | MIL Equivalent | Enabled
Reference:
BlobAnalysis.FeatureList.GeneralFeret.Enabled
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeret(Angle)
BlobAnalysis
FeatureList
GeneralFeret
Angle
Synopsis
Returns or sets the angle at which to calculate the Feret.
[]
Syntax
object.Angle [= Double]
[]
Syntax
object->Angle [= double]
Type description
A double value that specifies the angle at which to calculate the Feret.
Remarks
  • The FeatureList.GeneralFeret.Enabled property of the BlobAnalysis control must be set to True to enable calculation of the Feret at the specified angle.
  • Note the Feret diameters at 0° and 90° are calculated faster when using the FeatureList.Box property's FeretX and FeretY properties.


BlobAnalysis.FeatureList.GeneralFeret.Enabled Property

Enabled property

See Also | Availability | MIL Equivalent | Angle
Reference:
BlobAnalysis.FeatureList.GeneralFeret
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeret(Angle)
BlobAnalysis
FeatureList
GeneralFeret
Enabled
Synopsis
Returns or sets whether the general Feret feature is selected for calculation.
[]
Syntax
object.Enabled [= Boolean]
[]
Syntax
object->Enabled [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the general Feret feature is selected for calculation. (default is False)
Value | Meaning
True | The general Feret feature is selected for calculation.
False | The general Feret feature is not selected for calculation.
Remark
  • Use the FeatureList.GeneralFeret.Angle property of the BlobAnalysis control to set the angle at which to calculate the Feret.


BlobAnalysis.FeatureList.GeneralMoment Property

GeneralMoment property

See Also | Availability | MIL Equivalent | GeneralFeret | Intercept0
User Guide:
Moments

Reference:
BlobAnalysis.Results.Item.GeneralMoment
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectMoment()
BlobAnalysis
FeatureList
GeneralMoment
Properties: MomentType, OrderX, OrderY
Synopsis
Allows you to specify or determine which general moment is selected for calculation.
[]
Syntax
[FeatureGeneralMoment =] object.GeneralMoment
[]
Syntax
[IFeatureGeneralMomentPtr =] object->GeneralMoment
Type description
A FeatureGeneralMoment object.
Remarks
  • Moments are defined as [image] where [image] = value of a pixel (always 1 for binary moments), xi = its X-coordinate, yi = its Y-coordinate, n and m specify the X- (OrderX property) and Y- (OrderY property) order of the moment.
  • The general moment's MomentType property allows you to specify whether you want to calculate central or ordinary moments using the grayscale or binary definitions.
  • Predefined moments (for example, FeatureList.MomentX1Y1 property of the BlobAnalysis control) are calculated faster than a moment specified by the FeatureList.GeneralMoment property of the BlobAnalysis control.
  • You cannot assign another FeatureGeneralMoment object to this property.
  • This feature has two different definitions: a binary and a grayscale definition. The binary definition uses a binary image, where all the pixels are considered equal. The grayscale definition uses a grayscale image, where pixels are weighted by their value in the grayscale image. Note that the grayscale version is slower to calculate.
  • After the Calculate method is called, results can be obtained for binary or grayscale definitions of this feature using the Results.Item(BlobIndex).GeneralMoment or Results.Item(BlobIndex).GeneralMomentGrayscale property, respectively.


BlobAnalysis.FeatureList.GeneralMoment.MomentType Property

MomentType property

See Also | Availability | MIL Equivalent | OrderX
Reference:
BlobAnalysis.FeatureList.GeneralMoment.OrderX
BlobAnalysis.FeatureList.GeneralMoment.OrderY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectMoment(MomType)
BlobAnalysis
FeatureList
GeneralMoment
MomentType
Synopsis
Returns or sets whether the general moment feature is selected for calculation, and how it is calculated.
[]
Syntax
object.MomentType [= BlobMomentTypeConstants]
[]
Syntax
object->MomentType [= enum BlobMomentTypeConstants]
Type description
A BlobMomentTypeConstants expression that specifies whether the general moment feature is selected for calculation and how to calculate it. (default is blobNone)
Value | Meaning
blobNone | The general moment feature is not selected for calculation.
blobCentral | A central moment is selected to be calculated using the binary definition. If the grayscale image is provided, a second central moment value is calculated using the grayscale definition.
blobOrdinary | An ordinary moment is selected to be calculated using the binary definition. If the grayscale image is provided, a second ordinary moment value is calculated using the grayscale definition.
blobCentralBinaryOnly | A central moment is selected to be calculated using the binary definition.
blobCentralGrayScaleOnly | A central moment is selected to be calculated using the grayscale definition.
blobOrdinaryBinaryOnly | An ordinary moment is selected to be calculated using the binary definition.
blobOrdinaryGrayScaleOnly | An ordinary moment is selected to be calculated using the grayscale definition.
Remark
  • Central moments use coordinates relative to each blob's center of gravity, and are therefore independent of a blob's position within an image; whereas, ordinary moments are affected by the blob position because they use coordinates relative to the image origin (top-left corner).


BlobAnalysis.FeatureList.GeneralMoment.OrderX Property

OrderX property

See Also | Availability | MIL Equivalent | MomentType | OrderY
Reference:
BlobAnalysis.FeatureList.GeneralMoment.MomentType
BlobAnalysis.FeatureList.GeneralMoment.OrderY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectMoment(XMomOrder)
BlobAnalysis
FeatureList
GeneralMoment
OrderX
Synopsis
Returns or sets the X-order of the general moment.
[]
Syntax
object.OrderX [= Integer]
[]
Syntax
object->OrderX [= long]
Type description
A long value that specifies the X-order. (default is 0)
Remark
  • The X-order of the moment must be greater than or equal to 0.


BlobAnalysis.FeatureList.GeneralMoment.OrderY Property

OrderY property

See Also | Availability | MIL Equivalent | OrderX
Reference:
BlobAnalysis.FeatureList.GeneralMoment.MomentType
BlobAnalysis.FeatureList.GeneralMoment.OrderX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectMoment(YMomOrder)
BlobAnalysis
FeatureList
GeneralMoment
OrderY
Synopsis
Returns or sets the Y-order of the general moment.
[]
Syntax
object.OrderY [= Integer]
[]
Syntax
object->OrderY [= long]
Type description
A long value that specifies the Y-order. (default is 0)
Remark
  • The Y-order of the moment must be greater than or equal to 0.


BlobAnalysis.FeatureList.Intercept0 Property

Intercept0 property

See Also | Availability | MIL Equivalent | GeneralMoment | Intercept135
Reference:
BlobAnalysis.Results.Item.Intercept0
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_INTERCEPT_0
)
BlobAnalysis
FeatureList
Intercept0
Synopsis
Returns or sets whether the Intercept0 feature is selected for calculation.
[]
Syntax
object.Intercept0 [= Boolean]
[]
Syntax
object->Intercept0 [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the Intercept0 feature is selected for calculation. (default is False)
Value | Meaning
True | The Intercept0 feature is selected for calculation.
False | The Intercept0 feature is not selected for calculation.
Remarks
  • This feature is the number of times a transition from background to foreground (not vice-versa) occurs in the horizontal direction for the entire blob. In other words, it is equal to the number of times the neighborhood configuration [B, F] occurs in a blob, where B is a background pixel and F is a foreground pixel.
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).Intercept0 property.


BlobAnalysis.FeatureList.Intercept135 Property

Intercept135 property

See Also | Availability | MIL Equivalent | Intercept0 | Intercept45
Reference:
BlobAnalysis.Results.Item.Intercept135
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_INTERCEPT_135
)
BlobAnalysis
FeatureList
Intercept135
Synopsis
Returns or sets whether the Intercept135 feature is selected for calculation.
[]
Syntax
object.Intercept135 [= Boolean]
[]
Syntax
object->Intercept135 [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the Intercept135 feature is selected for calculation. (default is False)
Value | Meaning
True | The Intercept135 feature is selected for calculation.
False | The Intercept135 feature is not selected for calculation.
Remarks
  • This feature is the number of times that the neighborhood configuration [image] occurs in a blob, where F is a foreground pixel, B is a background pixel, and a dot can be any pixel value.
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).Intercept135 property.


BlobAnalysis.FeatureList.Intercept45 Property

Intercept45 property

See Also | Availability | MIL Equivalent | Intercept135 | Intercept90
Reference:
BlobAnalysis.Results.Item.Intercept45
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_INTERCEPT_45
)
BlobAnalysis
FeatureList
Intercept45
Synopsis
Returns or sets whether the Intercept45 feature is selected for calculation.
[]
Syntax
object.Intercept45 [= Boolean]
[]
Syntax
object->Intercept45 [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the Intercept45 feature is selected for calculation. (default is False)
Value | Meaning
True | The Intercept45 feature is selected for calculation.
False | The Intercept45 feature is not selected for calculation.
Remarks
  • This feature is the number of times that the following neighborhood configuration [image] occurs in a blob, where F is a foreground pixel, B is a background pixel, and a dot can be any pixel value.
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).Intercept45 property.


BlobAnalysis.FeatureList.Intercept90 Property

Intercept90 property

See Also | Availability | MIL Equivalent | Intercept45 | Length
Reference:
BlobAnalysis.Results.Item.Intercept90
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_INTERCEPT_90
)
BlobAnalysis
FeatureList
Intercept90
Synopsis
Returns or sets whether the Intercept90 feature is selected for calculation.
[]
Syntax
object.Intercept90 [= Boolean]
[]
Syntax
object->Intercept90 [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the Intercept90 feature is selected for calculation. (default is False)
Value | Meaning
True | The Intercept90 feature is selected for calculation.
False | The Intercept90 feature is not selected for calculation.
Remarks
  • This feature is the number of times that the neighborhood configuration [image] occurs in a blob, where F is a foreground pixel, and B is a background pixel.
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).Intercept90 property.


BlobAnalysis.FeatureList.Length Property

Length property

See Also | Availability | MIL Equivalent | Intercept90 | MaximumFeretAngle
User Guide:
Dimensions of long thin blobs

Reference:
BlobAnalysis.Results.Item.Length
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_LENGTH
)
BlobAnalysis
FeatureList
Length
Synopsis
Returns or sets whether the length feature is selected for calculation.
[]
Syntax
object.Length [= Boolean]
[]
Syntax
object->Length [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the length feature is selected for calculation. (default is False)
Value | Meaning
True | The length feature is selected for calculation.
False | The length feature is not selected for calculation.
Remarks
  • This feature provides a good approximation of the length of long thin blobs.
  • Note that this feature is calculated using the Area (A) and the Perimeter (P) assuming that P = 2( Length + Breadth) and A = Length x Breadth.
  • This feature complements the FeatureList.MaximumFeretDiameter property of the BlobAnalysis control because it is accurate for different blob types (for example, long thin ones). Note that this feature is calculated much faster than the maximum Feret diameter.
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).Length property.


BlobAnalysis.FeatureList.MaximumFeretAngle Property

MaximumFeretAngle property

See Also | Availability | MIL Equivalent | Length | MaximumFeretDiameter
User Guide:
Calculating dimensions

Reference:
BlobAnalysis.FeatureList.MinimumFeretAngle
BlobAnalysis.Results.Item.MaximumFeretAngle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_FERET_MAX_ANGLE
)
BlobAnalysis
FeatureList
MaximumFeretAngle
Synopsis
Returns or sets whether the maximum Feret angle feature is selected for calculation.
[]
Syntax
object.MaximumFeretAngle [= Boolean]
[]
Syntax
object->MaximumFeretAngle [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the maximum Feret angle feature is selected for calculation. (default is False)
Value | Meaning
True | The maximum Feret angle feature is selected for calculation.
False | The maximum Feret angle feature is not selected for calculation.
Remarks
  • This feature is the angle at which the maximum Feret diameter is found.
  • This value is in degrees, with positive values indicating a counter-clockwise displacement from the positive X-axis.
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).MaximumFeretAngle property.


BlobAnalysis.FeatureList.MaximumFeretDiameter Property

MaximumFeretDiameter property

See Also | Availability | MIL Equivalent | MaximumFeretAngle | MaximumPixelValue
User Guide:
Calculating dimensions

Reference:
BlobAnalysis.FeatureList.MinimumFeretAngle
BlobAnalysis.Results.Item.MaximumFeretDiameter
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_FERET_MAX_DIAMETER
)
BlobAnalysis
FeatureList
MaximumFeretDiameter
Synopsis
Returns or sets whether the maximum Feret diameter feature is selected for calculation.
[]
Syntax
object.MaximumFeretDiameter [= Boolean]
[]
Syntax
object->MaximumFeretDiameter [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the maximum Feret diameter feature is selected for calculation. (default is False)
Value | Meaning
True | The maximum Feret diameter feature is selected for calculation.
False | The maximum Feret diameter feature is not selected for calculation.
Remarks
  • This feature is the largest Feret diameter found after checking the number of angles specified with the NumberOfFeretAngles property.
  • More angles will give a more accurate result, but will take longer to calculate. However, the maximum Feret diameter is not very sensitive to the number of angles, and 8 usually gives an accurate result.
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).MaximumFeretDiameter property.


BlobAnalysis.FeatureList.MaximumPixelValue Property

MaximumPixelValue property

See Also | Availability | MIL Equivalent | MaximumFeretDiameter | MeanFeretDiameter
Reference:
BlobAnalysis.Results.Item.MinimumPixelValue
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_MAX_PIXEL
)
BlobAnalysis
FeatureList
MaximumPixelValue
Synopsis
Returns or sets whether the MaximumPixelValue feature is selected for calculation.
[]
Syntax
object.MaximumPixelValue [= Boolean]
[]
Syntax
object->MaximumPixelValue [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the maximum pixel value feature is selected for calculation. (default is False)
Value | Meaning
True | The MaximumPixelValue feature is selected for calculation.
False | The MaximumPixelValue feature is not selected for calculation.
Remarks
  • This feature is the maximum pixel value found in a blob.
  • This feature requires grayscale pixel values, and can only be calculated if you provide a grayscale image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).MaximumPixelValue property.
[]
Example
This example shows how to select the MaximumPixelValue feature.

m_BlobAnalysis->FeatureList->MaximumPixelValue = TRUE;


BlobAnalysis.FeatureList.MeanFeretDiameter Property

MeanFeretDiameter property

See Also | Availability | MIL Equivalent | MaximumPixelValue | MeanPixelValue
User Guide:
Calculating dimensions

Reference:
BlobAnalysis.Results.Item.MeanFeretDiameter
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_FERET_MEAN_DIAMETER
)
BlobAnalysis
FeatureList
MeanFeretDiameter
Synopsis
Returns or sets whether the mean Feret diameter feature is selected for calculation.
[]
Syntax
object.MeanFeretDiameter [= Boolean]
[]
Syntax
object->MeanFeretDiameter [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the mean Feret diameter feature is selected for calculation. (default is False)
Value | Meaning
True | The mean Feret diameter feature is selected for calculation.
False | The mean Feret diameter feature is not selected for calculation.
Remarks
  • This feature is the average Feret diameter of all the angles checked.
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).MeanFeretDiameter property.


BlobAnalysis.FeatureList.MeanPixelValue Property

MeanPixelValue property

See Also | Availability | MIL Equivalent | MeanFeretDiameter | MilID
Reference:
BlobAnalysis.Results.Item.MeanPixelValue
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_MEAN_PIXEL
)
BlobAnalysis
FeatureList
MeanPixelValue
Synopsis
Returns or sets whether the MeanPixelValue feature is selected for calculation.
[]
Syntax
object.MeanPixelValue [= Boolean]
[]
Syntax
object->MeanPixelValue [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the mean pixel value feature is selected for calculation. (default is False)
Value | Meaning
True | The mean pixel value feature is selected for calculation.
False | The mean pixel value feature is not selected for calculation.
Remarks
  • The mean pixel value is calculated using the following equation: SumOfPixelValues / Area.
  • This feature requires grayscale pixel values, and can only be calculated if you provide a grayscale image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).MeanPixelValue property.
[]
Example
This example shows how to select the MeanPixelValue feature.

m_BlobAnalysis->FeatureList->MeanPixelValue = TRUE;


BlobAnalysis.FeatureList.MilID Property

MilID property

See Also | Availability | MIL Equivalent | MeanPixelValue | MinimumFeretAngle
User Guide:
Integrating MIL functions into your ActiveMIL code

Reference:
BlobAnalysis.IsAllocated
BlobAnalysis.Modified
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobAllocResult(
SystemId
BlobResIdPtr
)
BlobAnalysis
FeatureList
MilID
Synopsis
Returns the Native MIL identifier of the allocated resources of the feature list.
[]
Syntax
[Integer =] object.MilID
[]
Syntax
[long =] object->MilID
Type description
A long value that specifies the Native MIL identifier of the feature list.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • The control's Modified method should be called after making Native MIL call(s) on the returned identifier.
  • If the control's IsAllocated property is False, the MilID property will be 0.


BlobAnalysis.FeatureList.MinimumFeretAngle Property

MinimumFeretAngle property

See Also | Availability | MIL Equivalent | MilID | MinimumFeretDiameter
User Guide:
Calculating dimensions

Reference:
BlobAnalysis.FeatureList.MaximumFeretAngle
BlobAnalysis.Results.Item.MinimumFeretAngle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_FERET_MIN_ANGLE
)
BlobAnalysis
FeatureList
MinimumFeretAngle
Synopsis
Returns or sets whether the minimum Feret angle feature is selected for calculation.
[]
Syntax
object.MinimumFeretAngle [= Boolean]
[]
Syntax
object->MinimumFeretAngle [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the minimum Feret angle feature is selected for calculation. (default is False)
Value | Meaning
True | The minimum Feret angle feature is selected for calculation.
False | The minimum Feret angle feature is not selected for calculation.
Remarks
  • This feature is the angle at which the minimum Feret diameter is found.
  • This value is in degrees, with positive values indicating a counter-clockwise displacement from the positive X-axis.
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).MinimumFeretAngle property.


BlobAnalysis.FeatureList.MinimumFeretDiameter Property

MinimumFeretDiameter property

See Also | Availability | MIL Equivalent | MinimumFeretAngle | MinimumPixelValue
User Guide:
Calculating dimensions

Reference:
BlobAnalysis.FeatureList.Breadth
BlobAnalysis.FeatureList.MaximumFeretAngle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_FERET_MIN_DIAMETER
)
BlobAnalysis
FeatureList
MinimumFeretDiameter
Synopsis
Returns or sets whether the minimum Feret diameter feature is selected for calculation.
[]
Syntax
object.MinimumFeretDiameter [= Boolean]
[]
Syntax
object->MinimumFeretDiameter [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the minimum Feret diameter feature is selected for calculation. (default is False)
Value | Meaning
True | The minimum Feret diameter feature is selected for calculation.
False | The minimum Feret diameter feature is not selected for calculation.
Remarks
  • This feature is the largest Feret diameter found after checking the number of angles specified with the NumberOfFeretAngles property.
  • More angles will give a more accurate result, but will take longer to calculate.
  • Even with the maximum number of angles this feature will not be very accurate for long thin blobs. However, you can get an accurate measure of the breadth of long thin blobs more quickly by using the FeatureList.Breadth feature of the BlobAnalysis control.
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).MinimumFeretDiameter property.


BlobAnalysis.FeatureList.MinimumPixelValue Property

MinimumPixelValue property

See Also | Availability | MIL Equivalent | MinimumFeretDiameter | MomentX0Y1
Reference:
BlobAnalysis.Results.Item.MaximumPixelValue
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_MIN_PIXEL
)
BlobAnalysis
FeatureList
MinimumPixelValue
Synopsis
Returns or sets whether the minimum pixel value feature is selected for calculation.
[]
Syntax
object.MinimumPixelValue [= Boolean]
[]
Syntax
object->MinimumPixelValue [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the minimum pixel value feature is selected for calculation. (default is False)
Value | Meaning
True | The minimum pixel value feature is selected for calculation.
False | The minimum pixel value feature is not selected for calculation.
Remarks
  • This feature is the minimum pixel value found in a blob.
  • This feature requires grayscale pixel values, and can only be calculated if you provide a grayscale image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).MinimumPixelValue property.
[]
Example
This example shows how to select the MinimumPixelValue feature.

m_BlobAnalysis->FeatureList->MinimumPixelValue = TRUE;


BlobAnalysis.FeatureList.MomentX0Y1 Property

MomentX0Y1 property

See Also | Availability | MIL Equivalent | MinimumPixelValue | MomentX0Y2
Reference:
BlobAnalysis.Results.Item.MomentX0Y1
BlobAnalysis.Results.Item.MomentX0Y1Grayscale
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_MOMENT_X0_Y1
)
BlobAnalysis
FeatureList
MomentX0Y1
Synopsis
Returns or sets whether the MomentX0Y1 feature is selected to be calculated and how it is calculated.
[]
Syntax
object.MomentX0Y1 [= BlobTrueFalseBinGrayConstants]
[]
Syntax
object->MomentX0Y1 [= enum BlobTrueFalseBinGrayConstants]
Type description
A BlobTrueFalseBinGrayConstants expression that specifies whether to calculate the feature and how to calculate it.
Value | Meaning
blobFalse | The MomentX0Y1 feature is not selected for calculation.
blobTrue | The MomentX0Y1 feature is selected for calculation using the binary definition. If the grayscale image is provided a second moment value is calculated using the grayscale definition.
blobBinaryOnly | The MomentX0Y1 feature is selected for calculation using the binary definition.
blobGrayScaleOnly | The MomentX0Y1 feature is selected for calculation using the grayscale definition.
Remarks
  • This moment is defined as [image] where p = value of a pixel (always 1 for binary moments), y = its Y-coordinate and n = the number of pixels in a blob.
  • This moment is an ordinary moment; its coordinates are relative to the image origin (top-left corner).
  • This feature has two different definitions: a binary and a grayscale definition. The binary definition uses a binary image, where all the pixels are considered equal. The grayscale definition uses a grayscale image, where pixels are weighted by their value in the grayscale image. Note that the grayscale version is slower to calculate.
  • After the Calculate method is called, results can be obtained for binary or grayscale definitions of this feature using the Results.Item(BlobIndex).MomentX0Y1, or Results.Item(BlobIndex).MomentX0Y1Grayscale property, respectively.
[]
Example
This example shows how to select the MomentX0Y1 feature.

m_BlobAnalysis->FeatureList->MomentX0Y1 =  blobTrue;


BlobAnalysis.FeatureList.MomentX0Y2 Property

MomentX0Y2 property

See Also | Availability | MIL Equivalent | MomentX0Y1 | MomentX1Y0
Reference:
BlobAnalysis.Results.Item.MomentX0Y2
BlobAnalysis.Results.Item.MomentX0Y2Grayscale
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_MOMENT_X0_Y2
)
BlobAnalysis
FeatureList
MomentX0Y2
Synopsis
Returns or sets whether the MomentX0Y2 feature is selected to be calculated and how it is calculated.
[]
Syntax
object.MomentX0Y2 [= BlobTrueFalseBinGrayConstants]
[]
Syntax
object->MomentX0Y2 [= enum BlobTrueFalseBinGrayConstants]
Type description
A BlobTrueFalseBinGrayConstants expression that specifies whether to calculate the feature and how to calculate it.
Value | Meaning
blobFalse | The MomentX0Y2 feature is not selected for calculation.
blobTrue | The MomentX0Y2 feature is selected for calculation using the binary definition. If the grayscale image is provided a second moment value is calculated using the grayscale definition.
blobBinaryOnly | The MomentX0Y2 feature is selected for calculation using the binary definition.
blobGrayScaleOnly | The MomentX0Y2 feature is selected for calculation using the grayscale definition.
Remarks
  • This moment is defined as [image] where p = value of a pixel (always 1 for binary moments), y = its Y-coordinate and n = the number of pixels in a blob.
  • This moment is an ordinary moment; its coordinates are relative to the image origin (top-left corner).
  • This feature has two different definitions: a binary and a grayscale definition. The binary definition uses a binary image, where all the pixels are considered equal. The grayscale definition uses a grayscale image, where pixels are weighted by their value in the grayscale image. Note that the grayscale version is slower to calculate.
  • After the Calculate method is called, results can be obtained for binary or grayscale definitions of this feature using the Results.Item(BlobIndex).MomentX0Y2, or Results.Item(BlobIndex).MomentX0Y2Grayscale property, respectively.
[]
Example
This example shows how to select the MomentX0Y2 feature.

m_BlobAnalysis->FeatureList->MomentX0Y2 =  blobTrue;


BlobAnalysis.FeatureList.MomentX1Y0 Property

MomentX1Y0 property

See Also | Availability | MIL Equivalent | MomentX0Y2 | MomentX1Y1
Reference:
BlobAnalysis.Results.Item.MomentX1Y0
BlobAnalysis.Results.Item.MomentX1Y0Grayscale
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_MOMENT_X1_Y0
)
BlobAnalysis
FeatureList
MomentX1Y0
Synopsis
Returns or sets whether the MomentX1Y0 feature is selected to be calculated and how it is calculated.
[]
Syntax
object.MomentX1Y0 [= BlobTrueFalseBinGrayConstants]
[]
Syntax
object->MomentX1Y0 [= enum BlobTrueFalseBinGrayConstants]
Type description
A BlobTrueFalseBinGrayConstants expression that specifies whether to calculate the feature and how to calculate it.
Value | Meaning
blobFalse | The MomentX1Y0 feature is not selected for calculation.
blobTrue | The MomentX1Y0 feature is selected for calculation using the binary definition. If the grayscale image is provided a second moment value is calculated using the grayscale definition.
blobBinaryOnly | The MomentX1Y0 feature is selected for calculation using the binary definition.
blobGrayScaleOnly | The MomentX1Y0 feature is selected for calculation using the grayscale definition.
Remarks
  • This moment is defined as [image] where p = value of a pixel (always 1 for binary moments), x = its X-coordinate, and n = the number of pixels in a blob.
  • This moment is an ordinary moment; its coordinates are relative to the image origin (top-left corner).
  • This feature has two different definitions: a binary and a grayscale definition. The binary definition uses a binary image, where all the pixels are considered equal. The grayscale definition uses a grayscale image, where pixels are weighted by their value in the grayscale image. Note that the grayscale version is slower to calculate.
  • After the Calculate method is called, results can be obtained for binary or grayscale definitions of this feature using the Results.Item(BlobIndex).MomentX1Y0, or Results.Item(BlobIndex).MomentX1Y0Grayscale property, respectively.
[]
Example
This example shows how to select the MomentX1Y0 feature.

m_BlobAnalysis->FeatureList->MomentX1Y0 =  blobTrue;


BlobAnalysis.FeatureList.MomentX1Y1 Property

MomentX1Y1 property

See Also | Availability | MIL Equivalent | MomentX1Y0 | MomentX2Y0
Reference:
BlobAnalysis.Results.Item.MomentX1Y1
BlobAnalysis.Results.Item.MomentX1Y1Grayscale
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_MOMENT_X1_Y1
)
BlobAnalysis
FeatureList
MomentX1Y1
Synopsis
Returns or sets whether the MomentX1Y1 feature is selected to be calculated and how it is calculated.
[]
Syntax
object.MomentX1Y1 [= BlobTrueFalseBinGrayConstants]
[]
Syntax
object->MomentX1Y1 [= enum BlobTrueFalseBinGrayConstants]
Type description
A BlobTrueFalseBinGrayConstants expression that specifies whether to calculate the feature and how to calculate it.
Value | Meaning
blobFalse | The MomentX1Y1 feature is not selected for calculation.
blobTrue | The MomentX1Y1 feature is selected for calculation using the binary definition. If the grayscale image is provided a second moment value is calculated using the grayscale definition.
blobBinaryOnly | The MomentX1Y1 feature is selected for calculation using the binary definition.
blobGrayScaleOnly | The MomentX1Y1 feature is selected for calculation using the grayscale definition.
Remarks
  • This moment is defined as [image] where p = value of a pixel (always 1 for binary moments), x = its X-coordinate, y = its Y-coordinate and n = the number of pixels in a blob.
  • This moment is an ordinary moment; its coordinates are relative to the image origin (top-left corner).
  • This feature has two different definitions: a binary and a grayscale definition. The binary definition uses a binary image, where all the pixels are considered equal. The grayscale definition uses a grayscale image, where pixels are weighted by their value in the grayscale image. Note that the grayscale version is slower to calculate.
  • After the Calculate method is called, results can be obtained for binary or grayscale definitions of this feature using the Results.Item(BlobIndex).MomentX1Y1, or Results.Item(BlobIndex).MomentX1Y1Grayscale property, respectively.
[]
Example
This example shows how to select the MomentX1Y1 feature.

m_BlobAnalysis->FeatureList->MomentX1Y1 =  blobTrue;


BlobAnalysis.FeatureList.MomentX2Y0 Property

MomentX2Y0 property

See Also | Availability | MIL Equivalent | MomentX1Y1 | NumberOfHoles
Reference:
BlobAnalysis.Results.Item.MomentX2Y0
BlobAnalysis.Results.Item.MomentX2Y0Grayscale
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_MOMENT_X2_Y0
)
BlobAnalysis
FeatureList
MomentX2Y0
Synopsis
Returns or sets whether the MomentX2Y0 feature is selected to be calculated and how it is calculated.
[]
Syntax
object.MomentX2Y0 [= BlobTrueFalseBinGrayConstants]
[]
Syntax
object->MomentX2Y0 [= enum BlobTrueFalseBinGrayConstants]
Type description
A BlobTrueFalseBinGrayConstants expression that specifies whether to calculate the feature and how to calculate it.
Value | Meaning
blobFalse | The MomentX2Y0 feature is not selected for calculation.
blobTrue | The MomentX2Y0 feature is selected for calculation using the binary definition. If the grayscale image is provided a second moment value is calculated using the grayscale definition.
blobBinaryOnly | The MomentX2Y0 feature is selected for calculation using the binary definition.
blobGrayScaleOnly | The MomentX2Y0 feature is selected for calculation using the grayscale definition.
Remarks
  • This moment is defined as [image] where p = value of a pixel (always 1 for binary moments), x = its X-coordinate and n = the number of pixels in a blob.
  • This moment is an ordinary moment; its coordinates are relative to the image origin (top-left corner).
  • This feature has two different definitions: a binary and a grayscale definition. The binary definition uses a binary image, where all the pixels are considered equal. The grayscale definition uses a grayscale image, where pixels are weighted by their value in the grayscale image. Note that the grayscale version is slower to calculate.
  • After the Calculate method is called, results can be obtained for binary or grayscale definitions of this feature using the Results.Item(BlobIndex).MomentX0Y1, or Results.Item(BlobIndex).MomentX0Y1Grayscale property, respectively.
[]
Example
This example shows how to select the MomentX2Y0 feature.

m_BlobAnalysis->FeatureList->MomentX2Y0 =  blobTrue;


BlobAnalysis.FeatureList.NumberOfHoles Property

NumberOfHoles property

See Also | Availability | MIL Equivalent | MomentX2Y0 | Perimeter
Reference:
BlobAnalysis.FeatureList.EulerNumber
BlobAnalysis.IdentifierBlobType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_NUMBER_OF_HOLES
)
BlobAnalysis
FeatureList
NumberOfHoles
Synopsis
Returns or sets whether the NumberOfHoles feature is selected for calculation.
[]
Syntax
object.NumberOfHoles [= Boolean]
[]
Syntax
object->NumberOfHoles [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the NumberOfHoles feature is selected for calculation. (default is False)
Value | Meaning
True | The number of holes feature is selected for calculation.
False | The number of holes feature is not selected for calculation.
Remarks
  • This feature is the number of holes in a blob.
  • This feature calculates a value that is equal to 1 - EulerNumber value and is therefore a true hole count only in blobIndividual and blobLabeled processing modes.
  • Holes that intersect the edge of the image are not counted (they might not be holes).
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).NumberOfHoles property.


BlobAnalysis.FeatureList.Perimeter Property

Perimeter property

See Also | Availability | MIL Equivalent | NumberOfHoles | PrincipalAxisAngle
User Guide:
The area and perimeter

Reference:
BlobAnalysis.Results.Item.Perimeter
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_PERIMETER
)
BlobAnalysis
FeatureList
Perimeter
Synopsis
Returns or sets whether the perimeter feature is selected for calculation.
[]
Syntax
object.Perimeter [= Boolean]
[]
Syntax
object->Perimeter [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the perimeter feature is selected for calculation. (default is False)
Value | Meaning
True | The perimeter feature is selected for calculation.
False | The perimeter feature is not selected for calculation.
Remarks
  • This feature is the total length of edges in a blob (including the edges of any holes), with an allowance made for the staircase effect that is produced when diagonal edges are digitized (inside corners are counted as 1.414, rather than 2.0). A single pixel blob (area = 1) has a perimeter of 4.0.
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).Perimeter property.
[]
Example
This example shows how to select the Perimeter feature.

m_BlobAnalysis->FeatureList->Perimeter = TRUE;


BlobAnalysis.FeatureList.PrincipalAxisAngle Property

PrincipalAxisAngle property

See Also | Availability | MIL Equivalent | Perimeter | Roughness
Reference:
BlobAnalysis.FeatureList.CentralMomentX0Y2
BlobAnalysis.FeatureList.CentralMomentX1Y1
BlobAnalysis.FeatureList.CentralMomentX2Y0
BlobAnalysis.Results.Item.PrincipalAxisAngle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_AXIS_PRINCIPAL_ANGLE
)
BlobAnalysis
FeatureList
PrincipalAxisAngle
Synopsis
Returns or sets whether the principal-axis angle feature is calculated and how it is calculated for the included blob(s).
[]
Syntax
object.PrincipalAxisAngle [= BlobTrueFalseBinGrayConstants]
[]
Syntax
object->PrincipalAxisAngle [= enum BlobTrueFalseBinGrayConstants]
Type description
A BlobTrueFalseBinGrayConstants expression that specifies whether to calculate the feature and how to calculate it.
Value | Meaning
blobFalse | The principal-axis angle feature is not selected for calculation.
blobTrue | The principal-axis angle feature is selected to be calculated using the binary definition. If the grayscale image is provided, a second principal-axis angle value is calculated using the grayscale definition.
blobBinaryOnly | The principal-axis angle feature is selected to be calculated using the binary definition.
blobGrayScaleOnly | The principal-axis angle feature is selected to be calculated using the grayscale definition.
Remarks
  • This feature is the angle at which a blob has the least moment of inertia. For elongated blobs, it is aligned with the longest axis.
  • The result is always between -90° and +90°, measured in a counter-clockwise direction from the positive X-axis.

    It is calculated as:

  • This feature has two different definitions: a binary and a grayscale definition. The binary definition uses a binary image, where all the pixels are considered equal. The grayscale definition uses a grayscale image, where pixels are weighted by their value in the grayscale image. Note that the grayscale version is much slower to calculate.
  • After the Calculate method is called, results calculated for binary or grayscale definitions of this feature can be obtained using the Results.Item(BlobIndex).PrincipalAxisAngle or Results.Item(BlobIndex).PrincipalAxisAngleGrayscale property, respectively.
[]
Example
This example shows how to select the PrincipalAxisAngle feature.

m_BlobAnalysis->FeatureList->PrincipalAxisAngle =  blobTrue;


BlobAnalysis.FeatureList.Roughness Property

Roughness property

See Also | Availability | MIL Equivalent | PrincipalAxisAngle | Runs
User Guide:
Determining the shape

Reference:
BlobAnalysis.FeatureList.ConvexPerimeter
BlobAnalysis.FeatureList.Perimeter
BlobAnalysis.Results.Item.Roughness
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_ROUGHNESS
)
BlobAnalysis
FeatureList
Roughness
Synopsis
Returns or sets whether the roughness feature is selected for calculation.
[]
Syntax
object.Roughness [= Boolean]
[]
Syntax
object->Roughness [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the roughness feature is selected for calculation. (default is False)
Value | Meaning
True | The roughness feature is selected for calculation.
False | The roughness feature is not selected for calculation.
Remarks
  • This feature is a measure of how rough a blob is and is equal to: Perimeter / ConvexPerimeter.
  • A smooth convex blob will have the minimum roughness of 1.0.
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).Roughness property.


BlobAnalysis.FeatureList.Runs Property

Runs property

See Also | Availability | MIL Equivalent | Roughness | SecondaryAxisAngle
User Guide:
Location, length and number of runs

Reference:
BlobAnalysis.Results.Item.Runs
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_NUMBER_OF_RUNS
)
BlobAnalysis
FeatureList
Runs
Synopsis
Returns or sets whether the runs feature is calculated for the included blobs.
[]
Syntax
object.Runs [= Boolean]
[]
Syntax
object->Runs [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the runs feature is selected for calculation. (default is False)
Value | Meaning
True | The runs feature is selected for calculation.
False | The runs feature is not selected for calculation.
Remarks
  • A blob run is a horizontal string of consecutive foreground pixels.
  • This feature is not calculated using grayscale pixel values; it is calculated using the blob identifier image.
  • When you calculate the runs feature, the following four results are calculated: the number of runs, the X- and Y- starting coordinates of the run, and the length of the run.
  • After the Calculate method is called, results can be obtained for the number of runs, the leftmost X-coordinate of the run, the leftmost Y-coordinate of the run, and the length of the run by using the Results.Item(BlobIndex).Runs.Count property, Results.Item(BlobIndex).Runs.Item.StartX property, Results.Item(BlobIndex).Runs.Item.StartY property, and Results.Item(BlobIndex).Runs.Item.Length property of the BlobAnalysis control, respectively.


BlobAnalysis.FeatureList.SecondaryAxisAngle Property

SecondaryAxisAngle property

See Also | Availability | MIL Equivalent | Runs | SigmaOfPixelValues
Reference:
BlobAnalysis.Results.Item.SecondaryAxisAngle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_AXIS_SECONDARY_ANGLE
)
BlobAnalysis
FeatureList
SecondaryAxisAngle
Synopsis
Returns or sets whether the secondary-axis angle feature is calculated and how it is calculated for the included blob(s).
[]
Syntax
object.SecondaryAxisAngle [= BlobTrueFalseBinGrayConstants]
[]
Syntax
object->SecondaryAxisAngle [= enum BlobTrueFalseBinGrayConstants]
Type description
A BlobTrueFalseBinGrayConstants expression that specifies whether to calculate the feature and how to calculate it.
Value | Meaning
blobFalse | The secondary-axis angle feature is not selected for calculation.
blobTrue | The secondary-axis angle feature is selected to be calculated using the binary definition. If the grayscale image is provided, a second secondary-axis angle value is calculated using the grayscale definition.
blobBinaryOnly | The secondary-axis angle feature is selected to be calculated using the binary definition.
blobGrayScaleOnly | The secondary-axis angle feature is selected to be calculated using the grayscale definition.
Remarks
  • This angle is the angle perpendicular to the principal axis angle (PrincipalAxisAngle property). The result is always between -90° and +90.
  • This feature has two different definitions: a binary and a grayscale definition. The binary definition uses a binary image, where all the pixels are considered equal. The grayscale definition uses a grayscale image, where pixels are weighted by their value in the grayscale image. Note that the grayscale version is much slower to calculate.
  • After the Calculate method is called, results calculated for binary or grayscale definitions of this feature can be obtained using the Results.Item(BlobIndex).SecondaryAxisAngle, or Results.Item(BlobIndex).SecondaryAxisAngleGrayscale property, respectively.
[]
Example
This example shows how to select the SecondaryAxisAngle feature.

m_BlobAnalysis->FeatureList->SecondaryAxisAngle =  blobTrue;


BlobAnalysis.FeatureList.SigmaOfPixelValues Property

SigmaOfPixelValues property

See Also | Availability | MIL Equivalent | SecondaryAxisAngle | SumOfPixelValues
Reference:
BlobAnalysis.Results.Item.SigmaOfPixelValues
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_SIGMA_PIXEL
)
BlobAnalysis
FeatureList
SigmaOfPixelValues
Synopsis
Returns or sets whether the SigmaOfPixelValues feature is selected for calculation.
[]
Syntax
object.SigmaOfPixelValues [= Boolean]
[]
Syntax
object->SigmaOfPixelValues [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the sigma of pixel values (standard deviation of pixel values) feature is selected for calculation. (default is False)
Value | Meaning
True | The sigma of pixel values feature is selected for calculation.
False | The sigma of pixel values feature is not selected for calculation.
Remarks
  • The sigma of pixel values is obtained using the following equation: where N = number of pixels and p = pixel value.
  • This feature requires grayscale pixel values, and can only be calculated if you provide a grayscale image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).SigmaOfPixelValues property.
[]
Example
This example shows how to select the SigmaOfPixelValues feature.

m_BlobAnalysis->FeatureList->SigmaOfPixelValues = TRUE;


BlobAnalysis.FeatureList.SumOfPixelValues Property

SumOfPixelValues property

See Also | Availability | MIL Equivalent | SigmaOfPixelValues | SumOfSquaredPixelValues
Reference:
BlobAnalysis.Results.Item.SumOfPixelValues
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_SUM_PIXEL
)
BlobAnalysis
FeatureList
SumOfPixelValues
Synopsis
Returns or sets whether the SumOfPixelValues feature is selected for calculation.
[]
Syntax
object.SumOfPixelValues [= Boolean]
[]
Syntax
object->SumOfPixelValues [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the sum of pixel values feature is selected for calculation. (default is False)
Value | Meaning
True | The sum of pixel values feature is selected for calculation.
False | The sum of pixel values feature is not selected for calculation.
Remarks
  • This feature is the sum of all pixel values in a blob.
  • This feature requires grayscale pixel values, and can only be calculated if you provide a grayscale image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).SumOfPixelValues property.
[]
Example
This example shows how to select the SumOfPixelValues feature.

m_BlobAnalysis->FeatureList->SumOfPixelValues = TRUE;


BlobAnalysis.FeatureList.SumOfSquaredPixelValues Property

SumOfSquaredPixelValues property

See Also | Availability | MIL Equivalent | SumOfPixelValues | DeselectAll
Reference:
BlobAnalysis.Results.Item.SumOfSquaredPixelValues
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_SUM_PIXEL_SQUARED
)
BlobAnalysis
FeatureList
SumOfSquaredPixelValues
Synopsis
Returns or sets whether the SumOfSquaredPixelValues feature is selected for calculation.
[]
Syntax
object.SumOfSquaredPixelValues [= Boolean]
[]
Syntax
object->SumOfSquaredPixelValues [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the sum of the squared pixel values feature is selected for calculation. (default is False)
Value | Meaning
True | The sum of squared pixel values feature is selected for calculation.
False | The sum of squared pixel values feature is not selected for calculation.
Remarks
  • This feature is the sum of the squares of each pixel value:
  • This feature requires grayscale pixel values, and can only be calculated if you provide a grayscale image.
  • After the Calculate method is called, results can be obtained using the Results.Item(BlobIndex).SumOfSquaredPixelValues property.
[]
Example
This example shows how to select the SumOfSquaredPixelValues feature.

m_BlobAnalysis->FeatureList->SumOfSquaredPixelValues = TRUE;


BlobAnalysis.FeatureList.DeselectAll Method

DeselectAll method

Availability | MIL Equivalent | SumOfSquaredPixelValues | SelectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_NO_FEATURES
)
BlobAnalysis
FeatureList
DeselectAll
Synopsis
Deselects all the features in the feature list.
[]
Syntax
object.DeselectAll()
[]
Syntax
void object->DeselectAll()


BlobAnalysis.FeatureList.SelectAll Method

SelectAll method

Availability | MIL Equivalent | DeselectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelectFeature(
Feature =
M_ALL_FEATURES
)
BlobAnalysis
FeatureList
SelectAll
Synopsis
Selects all the features in the feature list.
[]
Syntax
object.SelectAll()
[]
Syntax
void object->SelectAll()
Remark
  • This method does not select the general moment or the general Feret features.


BlobAnalysis.Filters Property

Filters property

See Also | Availability | MIL Equivalent | FeatureList | ForegroundPixelValue
User Guide:
Selecting blobs

Reference:
BlobAnalysis.ApplyFilter
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelect()
BlobAnalysis
Filters
Properties: Count, Item

Methods: Add, Remove
Synopsis
Returns the collection of filters available to the BlobAnalysis control, allowing access to its elements.
[]
Syntax
[BlobFilters =] object.Filters
[]
Syntax
[IBlobFiltersPtr =] object->Filters
Type description
A BlobFilters expression that represents an instance of a BlobFilters collection.
Remark
  • To apply a filter in this collection to the blob results, use the ApplyFilter method.


BlobAnalysis.Filters.Count Property

Count property

Availability | MIL Equivalent | Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
BlobAnalysis
Filters
Count
Synopsis
Returns the number of elements in the collection of blob filters.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A long value that specifies the number of elements currently in the collection.
Remark
  • The elements in the blob filters collection refer to the filters available to the BlobAnalysis control.


BlobAnalysis.Filters.Item Property

Item property

Availability | MIL Equivalent | Count | Add
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
BlobAnalysis
Filters
Item
Properties: Condition, Description, Feature, FilterType, HighValue, LowValue
Synopsis
Returns the element at the specified index in the collection of blob filters.
[]
Syntax
[BlobFilter=]object.Item(
index As Integer
)
[]
Syntax
[IBlobFilterPtr =] object->Item(
long index
)
index
A long value that specifies the index of the required element.
Type description
A BlobFilter object.
Remarks
  • The elements in the blob filters collection refer to the filters available to the BlobAnalysis control.
  • This property allows you to change the properties of a filter.
  • If the value provided as the index does not match any existing element in the collection, an error occurs. Note, the index of the first element of this collection starts at one.


BlobAnalysis.Filters.Item.Condition Property

Condition property

See Also | Availability | MIL Equivalent | Description
Reference:
BlobAnalysis.Filters.Item.HighValue
BlobAnalysis.Filters.Item.LowValue
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelect(Condition)
BlobAnalysis
Filters
Item
Condition
Synopsis
Returns or sets the condition with which to filter the blobs.
[]
Syntax
object.Condition [= BlobFilterConditionConstants]
[]
Syntax
object->Condition [= enum BlobFilterConditionConstants]
Type description
A BlobFilterConditionConstants expression that specifies which blobs to filter.
Value | Meaning
blobOutOfRange | This condition filters blobs whose value for the specified feature is less than the low value or greater than the high value.
blobInRange | This condition filters blobs whose value for the specified feature is from the low to high value, inclusive.
blobEqualTo | This condition filters blobs whose value for the specified feature is equal to the specified low value.
blobNotEqualTo | This condition filters blobs whose value for the specified feature is not equal to the specified low value.
blobGreaterThan | This condition filters blobs whose value for the specified feature is greater than the specified low value.
blobLessThan | This condition filters blobs whose value for the specified feature is less than the specified low value.
blobGreaterOrEqualTo | This condition filters blobs whose value for the specified feature is greater than or equal to the specified low value.
blobLessOrEqualTo | This condition filters blobs whose value for the specified feature is less than or equal to the specified low value.
blobNotApplicable | This condition should be specified when the Filters (FilterIndex) property is set to a BlobCriterionConstants expression.
Remarks
  • Note that the low and high values are specified using the Filters.Item(FilterIndex).LowValue and Filters.Item(FilterIndex).HighValue properties of the BlobAnalysis control.
  • When blobNotApplicable is specified, the Filters.Item(FilterIndex).LowValue and Filters.Item(FilterIndex).HighValue properties should be set to 0.0.


BlobAnalysis.Filters.Item.Description Property

Description property

Availability | MIL Equivalent | Condition | Feature
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
BlobAnalysis
Filters
Item
Description
Synopsis
Returns a phrase, which is composed by ActiveMIL, describing the blob filter.
[]
Syntax
[String =] object.Description
[]
Syntax
[_bstr_t =] object->Description
Type description
A string expression that describes the blob filter.


BlobAnalysis.Filters.Item.Feature Property

Feature property

Availability | MIL Equivalent | Description | FilterType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelect(Feature)
BlobAnalysis
Filters
Item
Feature
Synopsis
Returns or sets the feature results to use as part of the filter criterion.
[]
Syntax
object.Feature [= BlobFeatureConstants]
[]
Syntax
object->Feature [= enum BlobFeatureConstants]
Type description
A BlobFeatureConstants, BlobAdditionalFilterConstants, or BlobCriterionConstants expression that specifies the feature results to use as part of the selection criterion.

The settings for Feature that are of type BlobFeatureConstants are: (default is blobArea)
Value | Meaning
blobArea | The Area feature.
blobBoxXMinimum | The XMinimum feature of the bounding box.
blobBoxYMinimum | The YMinimum feature of the bounding box.
blobBoxXMaximum | The XMaximum feature of the bounding box.
blobBoxYMaximum | The YMaximum feature of the bounding box.
blobBreadth | The Breadth feature.
blobCenterOfGravityX | The X-coordinate feature of the center of gravity.
blobCenterOfGravityXGrayscale | The X-coordinate feature of the center of gravity, calculated using the grayscale definition.
blobCenterOfGravityY | The Y-coordinate feature of the center of gravity.
blobCenterOfGravityYGrayscale | The Y-coordinate feature of the center of gravity, calculated using the grayscale definition.
blobCentralMomentX2Y0Grayscale | The CentralMomentX2Y0 feature, calculated using the grayscale definition.
blobCentralMomentX1Y1Grayscale | The CentralMomentX1Y1 feature, calculated using the grayscale definition.
blobCompactness | The Compactness feature.
blobConvexPerimeter | The ConvexPerimeter feature.
blobElongation | The Elongation feature.
blobEulerNumber | The EulerNumber feature.
blobFeretX | The FeretX feature of the bounding box.
blobFeretY | The FeretY feature of the bounding box.
blobFeretElongation | The FeretElongation feature.
blobFirstPointX | The FirstPointX feature.
blobFirstPointY | The FirstPointY feature.
blobGeneralFeret | The GeneralFeret feature.
blobGeneralMoment | The GeneralMoment feature.
blobGeneralMomentGrayscale | The GeneralMoment feature, calculated using the grayscale definition.
blobIntercept0 | The Intercept0 feature.
blobIntercept45 | The Intercept45 feature.
blobIntercept90 | The Intercept90 feature.
blobIntercept135 | The Intercept135 feature.
blobLength | The Length feature.
blobMaximumFeretDiameter | The MaximumFeretDiameter feature.
blobMaximumFeretAngle | The MaximumFeretAngle feature.
blobMaximumPixelValue | The MaximumPixelValue feature.
blobMeanFeretDiameter | The MeanFeretDiameter feature.
blobMeanPixelValue | The MeanPixelValue feature.
blobMinimumFeretDiameter | The MinimumFeretDiameter feature.
blobMinimumFeretAngle | The MinimumFeretAngle feature.
blobMinimumPixelValue | The MinimumPixelValue feature.
blobMomentX0Y1 | The MomentX0Y1 feature.
blobMomentX0Y1Grayscale | The MomentX0Y1 feature, calculated using the grayscale definition.
blobMomentX0Y2 | The MomentX0Y2 feature.
blobMomentX0Y2Grayscale | The MomentX0Y2 feature, calculated using the grayscale definition.
blobMomentX1Y0 | The MomentX1Y0 feature.
blobMomentX1Y0Grayscale | The MomentX1Y0 feature, calculated using the grayscale definition.
blobMomentX1Y1 | The MomentX1Y1 feature.
blobMomentX1Y1Grayscale | The MomentX1Y1 feature, calculated using the grayscale definition.
blobMomentX2Y0 | The MomentX2Y0 feature.
blobMomentX2Y0Grayscale | The MomentX2Y0 feature, calculated using the grayscale definition.
blobNumberOfHoles | The NumberOfHoles feature.
blobNumberOfRuns | The Runs feature.
blobPerimeter | The Perimeter feature.
blobPrincipalAxisAngle | The PrincipalAxisAngle feature.
blobPrincipalAxisAngleGrayscale | The PrincipalAxisAngle feature, calculated using the grayscale definition.
blobRoughness | The Roughness feature.
blobSecondaryAxisAngle | The SecondaryAxisAngle feature.
blobSecondaryAxisAngleGrayscale | The SecondaryAxisAngle feature, calculated using the grayscale definition.
blobSigmaOfPixelValues | The SigmaOfPixelValues feature.
blobSumOfPixelValues | The SumOfPixelValues feature.
blobSumOfSquaredPixelValues | The SumOfSquaredPixelValues feature.
blobXMinimumAtYMinimum | The XMinimumAtYMinimum contact point feature.
blobXMaximumAtYMaximum | The XMaximumAtYMaximum contact point feature.
blobYMinimumAtXMaximum | The YMinimumAtXMaximum contact point feature.
blobYMaximumAtXMinimum | The YMaximumAtXMinimum contact point feature.

The settings for Feature that are of type BlobAdditionalFilterConstants are:
Value | Meaning
blobIndex | Blobs that meet the specified blob result index condition are filtered.
blobLabelValue | Blobs of a specified label value are filtered.

The settings for Feature that are of type BlobCriterionConstants are:
Value | Meaning
blobIncludedBlobs | The included blobs are filtered.
blobExcludedBlobs | The excluded blobs are filtered.
blobAllBlobs | All blobs are filtered.
Remarks
  • Note that only the results for an included blob are associated with a blob result index. Therefore, if this property is set to blobIndex:
    • The Filters.Item(FilterIndex).FilterType property should not be set to blobInclude because the blob associated with the specified index is already included.
    • The ApplyFilter method will generate an error if you try to apply a blobIndex filter non-cumulatively. This is because non-cumulative filters are applied to all non-deleted blobs (that is, included and excluded blobs), and excluded blobs are not associated with a blob result index.
  • Also, if this property is set to blobIndex, the Filters.Item(FilterIndex).Condition property of the BlobAnalysis control must be set to either blobEqualTo or blobNotEqualTo.


BlobAnalysis.Filters.Item.FilterType Property

FilterType property

See Also | Availability | MIL Equivalent | Feature | HighValue
Reference:
BlobAnalysis.Filters.Item.Condition
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelect(Operation)
BlobAnalysis
Filters
Item
FilterType
Synopsis
Returns or sets the type of filter to apply to the specified blobs.
[]
Syntax
object.FilterType [= BlobFilterTypeConstants]
[]
Syntax
object->FilterType [= enum BlobFilterTypeConstants]
Type description
A BlobFilterTypeConstants expression that specifies the type of filter to apply on the specified blobs.
Value | Meaning
blobInclude | Includes blobs that meet the specified condition.
blobExclude | Excludes blobs that meet the specified condition.
blobDelete | Deletes all blobs that meet the specified condition.
Remarks
  • The Filters property contains the collection of filters available to the BlobAnalysis control.
  • The condition with which to filter the blobs is specified by the Filters.Item(FilterIndex).Condition property of the BlobAnalysis control.


BlobAnalysis.Filters.Item.HighValue Property

HighValue property

See Also | Availability | MIL Equivalent | FilterType | LowValue
Reference:
BlobAnalysis.Filters.Item.Condition
BlobAnalysis.Filters.Item.LowValue
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelect(CondHigh)
BlobAnalysis
Filters
Item
HighValue
Synopsis
Returns or sets the high value for the specified condition.
[]
Syntax
object.HighValue [= Double]
[]
Syntax
object->HighValue [= double]
Type description
A double value that specifies upper limit of the condition.
Remarks
  • The condition with which to filter the blobs is specified using the Filters.Item(FilterIndex).Condition property of the BlobAnalysis control.
  • This property should be set to 0.0 if the condition is set to blobNotApplicable.


BlobAnalysis.Filters.Item.LowValue Property

LowValue property

See Also | Availability | MIL Equivalent | HighValue
Reference:
BlobAnalysis.Filters.Item.Condition
BlobAnalysis.Filters.Item.HighValue
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelect(CondLow)
BlobAnalysis
Filters
Item
LowValue
Synopsis
Returns or sets the low value for the specified condition.
[]
Syntax
object.LowValue [= Double]
[]
Syntax
object->LowValue [= double]
Type description
A double value that specifies lower limit of the condition.
Remarks
  • The condition with which to filter the blobs is specified using the Filters.Item(FilterIndex).Condition property of the BlobAnalysis control.
  • This property should be set to 0.0 if the condition is set to blobNotApplicable.


BlobAnalysis.Filters.Add Method

Add method

Availability | MIL Equivalent | Item | Remove
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
BlobAnalysis
Filters
Add
Synopsis
Adds a new blob filter to the collection.
[]
Syntax
[Integer =] object.Add(
ByVal FilterType As BlobFilterTypeConstants,
ByVal Feature As BlobFeatureConstants,
ByVal Condition As BlobFilterConditionConstants,
ByVal LowValue As Double,
ByVal HighValue As Double
)
[]
Syntax
[long =] object->Add(
enum BlobFilterTypeConstants FilterType,
enum BlobFeatureConstants Feature,
enum BlobFilterConditionConstants Condition,
double LowValue,
double HighValue
)
FilterType (optional in , default is blobExclude)
A BlobFilterTypeConstants expression that specifies the type of filter to apply on the specified blobs.
Value | Meaning
blobInclude | Includes blobs that meet the specified condition.
blobExclude | Excludes blobs that meet the specified condition.
blobDelete | Deletes all blobs that meet the specified condition.
Feature (optional in , default is blobArea)
A BlobFeatureConstants, BlobAdditionalFilterConstants, or BlobCriterionConstants expression that specifies the feature used to filter.

BlobFeatureConstants:
Value | Meaning
blobArea | The Area feature.
blobBoxXMinimum | The XMinimum feature of the bounding box.
blobBoxYMinimum | The YMinimum feature of the bounding box.
blobBoxXMaximum | The XMaximum feature of the bounding box.
blobBoxYMaximum | The YMaximum feature of the bounding box.
blobBreadth | The Breadth feature.
blobCenterOfGravityX | The X-coordinate feature of the center of gravity.
blobCenterOfGravityXGrayscale | The X-coordinate feature of the center of gravity, calculated using the grayscale definition.
blobCenterOfGravityY | The Y-coordinate feature of the center of gravity.
blobCenterOfGravityYGrayscale | The Y-coordinate feature of the center of gravity, calculated using the grayscale definition.
blobCentralMomentX2Y0Grayscale | The CentralMomentX2Y0 feature, calculated using the grayscale definition.
blobCentralMomentX1Y1 | The CentralMomentX1Y1 feature.
blobCentralMomentX1Y1Grayscale | The CentralMomentX1Y1 feature, calculated using the grayscale definition.
blobCompactness | The Compactness feature.
blobConvexPerimeter | The ConvexPerimeter feature.
blobElongation | The Elongation feature.
blobEulerNumber | The EulerNumber feature.
blobFeretX | The FeretX feature of the bounding box.
blobFeretY | The FeretY feature of the bounding box.
blobFeretElongation | The FeretElongation feature.
blobFirstPointX | The FirstPointX feature.
blobFirstPointY | The FirstPointY feature.
blobGeneralFeret | The GeneralFeret feature.
blobGeneralMoment | The GeneralMoment feature.
blobGeneralMomentGrayscale | The GeneralMoment feature, calculated using the grayscale definition.
blobIntercept0 | The Intercept0 feature.
blobIntercept45 | The Intercept45 feature.
blobIntercept90 | The Intercept90 feature.
blobIntercept135 | The Intercept135 feature.
blobLength | The Length feature.
blobMaximumFeretDiameter | The MaximumFeretDiameter feature.
blobMaximumFeretAngle | The MaximumFeretAngle feature.
blobMaximumPixelValue | The MaximumPixelValue feature.
blobMeanFeretDiameter | The MeanFeretDiameter feature.
blobMeanPixelValue | The MeanPixelValue feature.
blobMinimumFeretDiameter | The MinimumFeretDiameter feature.
blobMinimumFeretAngle | The MinimumFeretAngle feature.
blobMinimumPixelValue | The MinimumPixelValue feature.
blobMomentX0Y1 | The MomentX0Y1 feature.
blobMomentX0Y1Grayscale | The MomentX0Y1 feature, calculated using the grayscale definition.
blobMomentX1Y0 | The MomentX1Y0 feature.
blobMomentX1Y0Grayscale | The MomentX1Y0 feature, calculated using the grayscale definition.
blobMomentX1Y1 | The MomentX1Y1 feature.
blobMomentX1Y1Grayscale | The MomentX1Y1 feature, calculated using the grayscale definition.
blobMomentX0Y2 | The MomentX0Y2 feature.
blobMomentX0Y2Grayscale | The MomentX0Y2 feature, calculated using the grayscale definition.
blobMomentX2Y0 | The MomentX2Y0 feature.
blobMomentX2Y0Grayscale | The MomentX2Y0 feature, calculated using the grayscale definition.
blobNumberOfHoles | The NumberOfHoles feature.
blobNumberOfRuns | The Runs feature.
blobPerimeter | The Perimeter feature.
blobPrincipalAxisAngle | The PrincipalAxisAngle feature.
blobPrincipalAxisAngleGrayscale | The PrincipalAxisAngle feature, calculated using the grayscale definition.
blobRoughness | The Roughness feature.
blobSecondaryAxisAngle | The SecondaryAxisAngle feature.
blobSecondaryAxisAngleGrayscale | The SecondaryAxisAngle feature, calculated using the grayscale definition.
blobSigmaOfPixelValues | The SigmaOfPixelValues feature.
blobSumOfPixelValues | The SumOfPixelValues feature.
blobSumOfSquaredPixelValues | The SumOfSquaredPixelValues feature.
blobXMinimumAtYMinimum | The XMinimumAtYMinimum contact point feature.
blobXMaximumAtYMaximum | The XMaximumAtYMaximum contact point feature.
blobYMinimumAtXMaximum | The YMinimumAtXMaximum contact point feature.
blobYMaximumAtXMinimum | The YMaximumAtXMinimum contact point feature.

BlobAdditionalFilterConstants:
Value | Meaning
blobIndex | Blobs that meet the specified blob result index condition are filtered.
blobLabelValue | Blobs of a specified label value are filtered.

BlobCriterionConstants:
Value | Meaning
blobIncludedBlobs | The included blobs are filtered.
blobExcludedBlobs | The excluded blobs are filtered.
blobAllBlobs | All blobs are filtered.
Condition (optional in , default is blobLessThan)
A BlobFilterConditionConstants expression that specifies the condition to remove or include blobs.
Value | Meaning
blobOutOfRange | This condition filters blobs whose values for the specified feature are less than the low value or greater than the high value.
blobInRange | This condition filters blobs whose values for the specified feature are from the low to high value, inclusive.
blobEqualTo | This condition filters blobs whose values for the specified feature are equal to the specified low value.
blobNotEqualTo | This condition filters blobs whose values for the specified feature are not equal to the specified low value.
blobGreaterThan | This condition filters blobs whose values for the specified feature are greater than the specified low value.
blobLessThan | This condition filters blobs whose values for the specified feature are less than the specified low value.
blobGreaterOrEqualTo | This condition filters blobs whose values for the specified feature are greater than or equal to the specified low value.
blobLessOrEqualTo | This condition filters blobs whose values for the specified feature are less than or equal to the specified low value.
blobNotApplicable | This condition should be specified when the Feature parameter is set to a BlobCriterionConstants expression.
LowValue (optional in , default is 0)
A double value that specifies lower limit for the condition.
HighValue (optional in , default is 0)
A double value that specifies upper limit for the condition.
Return value
Returns a long value that specifies the index of the added filter in the collection of filters.
Remarks
  • When the Feature parameter is set to blobIndex the FilterType parameter should not be set to blobInclude, because all the blobs at the specified index are already included. Therefore, you can only apply a filter on the included blobs and not on all the blobs. When the blobIndex feature is selected, the value for the condition must be set to either blobEqualTo or blobNotEqualTo.
  • If the Condition parameter is set to blobNotApplicable, set the LowValue and HighValue parameters to 0.0.
[]
Example
This example shows how to add filters.

Const SMALL_BLOB_SIZE = 250

' Select all the blobs with areas less than a specified value.
BlobAnalysis1.Filters.Add(blobInclude, blobArea, _
                        blobLessThan, SMALL_BLOB_SIZE)
[]
Example
This example shows how to add filters.

// Select all the blobs with areas less than a specified value.
const SMALL_BLOB_SIZE = 250;
m_BlobAnalysis->Filters->Add(blobInclude, blobArea, blobLessThan, 250, 0);


BlobAnalysis.Filters.Remove Method

Remove method

Availability | MIL Equivalent | Add
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
BlobAnalysis
Filters
Remove
Synopsis
Removes a filter from the collection.
[]
Syntax
object.Remove(
ByVal Index As Integer
)
[]
Syntax
void object->Remove(
long Index
)
Index
A long value that specifies an index into the collection of filters, identifying the filter to remove.


BlobAnalysis.ForegroundPixelValue Property

ForegroundPixelValue property

See Also | Availability | MIL Equivalent | Filters | GrayscaleImage
User Guide:
Identifying blobs
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobControl(
ControlType =
M_FOREGROUND_VALUE
)

MblobInquire(
ControlType =
M_FOREGROUND_VALUE
)
BlobAnalysis
ForegroundPixelValue
Synopsis
Returns or sets which pixel values are considered to be in the foreground.
[]
Syntax
object.ForegroundPixelValue [= BlobForegroundPixelValueConstants]
[]
Syntax
object->ForegroundPixelValue [= enum BlobForegroundPixelValueConstants]
Type description
A BlobForegroundPixelValueConstants expression that specifies which pixel values are in the foreground. (default is blobNonZero)
Value | Meaning
blobNonZero | The pixels of non-zero value are considered to be part of a blob.
blobZero | Pixels of zero value are considered to be part of a blob.
[]
Example
This example changes the ForegroundPixelValue property.

const long EXCLUDE_AREA_OUT_RANGE_50_50000 = 2;
long BlobsWithHoles;

// Reverse what is considered to be the background so that
// holes are seen as being blobs.
m_BlobAnalysis1->ForegroundPixelValue = blobZero;

// Add a feature to distinguish between types of holes. Since area
// has already been added to the feature list, and the processing
// mode has been changed, all blobs will be re-included and the area
// of holes will be calculated automatically.
m_BlobAnalysis1->FeatureList->Compactness = TRUE;

// Calculate selected features for each blob.
m_BlobAnalysis1->Calculate();

// Exclude small holes and large holes (the area around objects)
m_BlobAnalysis1->ApplyFilter(EXCLUDE_AREA_OUT_RANGE_50_50000, TRUE);

// Get the number of blobs with holes.
BlobsWithHoles = m_BlobAnalysis1->Results->Count;


BlobAnalysis.GrayscaleImage Property

GrayscaleImage property

See Also | Availability | MIL Equivalent | ForegroundPixelValue | GrayscaleImageName
User Guide:
Making feature extractions
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobCalculate(GrayImageId)
BlobAnalysis
GrayscaleImage
Synopsis
Returns or sets the grayscale image containing the grayscale values of the blobs being analyzed.
[]
Syntax
object.GrayscaleImage [= Image]
[]
Syntax
object->GrayscaleImage [= IImagePtr]
Type description
An Image control that specifies the source image to analyze.
Remarks
  • The grayscale image must be an 8-bit or 16-bit unsigned image.
  • []
     Use the Visual Basic Is Nothing statement to confirm that this property is currently not associated with a control.
  • []
     To remove the reference to the current control without assigning a new control, set the property to Nothing.
  • []
     To remove the reference to the current control without assigning a new control, set the property to NULL.
  • The grayscale image can also be specified, with the name assigned to its control, using the GrayscaleImageName property.
  • This property automatically sets the GrayscaleImageName property.
[]
Example
This example shows how to specify the grayscale image used for the blob analysis calculation.

m_BlobAnalysis->GrayscaleImage = m_GrayScaleImage;


BlobAnalysis.GrayscaleImageName Property

GrayscaleImageName property

See Also | Availability | MIL Equivalent | GrayscaleImage | IdentifierBlobType
User Guide:
Making feature extractions
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobCalculate(GrayImageId)
BlobAnalysis
GrayscaleImageName
Synopsis
Returns or sets the grayscale image containing the grayscale values of the blobs being analyzed.
[]
Syntax
object.GrayscaleImageName [= String]
[]
Syntax
object->GrayscaleImageName [= _bstr_t]
Type description
A string expression that specifies the name of the Image control to use as the source image to analyze.
Remarks
  • The grayscale image must be an 8-bit or 16-bit unsigned image.
  • To remove the reference to the current control without assigning a new control, specify an empty string ("").
  • The grayscale image can also be specified using the GrayscaleImage property.
  • This property automatically sets the GrayscaleImage property.


BlobAnalysis.IdentifierBlobType Property

IdentifierBlobType property

See Also | Availability | MIL Equivalent | GrayscaleImageName | IdentifierPixelType
User Guide:
Setting the blob identifier type
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobControl(
ControlType =
M_BLOB_IDENTIFICATION
)

MblobInquire(
ControlType =
M_BLOB_IDENTIFICATION
)
BlobAnalysis
IdentifierBlobType
Synopsis
Returns or sets whether to calculate features of each blob or groups of blobs.
[]
Syntax
object.IdentifierBlobType [= BlobIdentifierBlobTypeConstants]
[]
Syntax
object->IdentifierBlobType [= enum BlobIdentifierBlobTypeConstants]
Type description
A BlobIdentifierBlobTypeConstants expression that specifies how to process the blobs in an image. (default is blobIndividual)
Value | Meaning
blobIndividual | Feature calculations are performed on each blob individually.
blobEntireImage | All blobs are grouped together and treated as one blob, where feature calculations are performed on this blob.
blobLabeled | Feature calculations are performed on blobs with the same label.
Remarks
  • Note, this property does not change how blobs are identified (regions of connected foreground pixels); rather, it determines whether the results calculated are for a group of blobs.
  • When using the blobLabeled mode, ensure that each blob in the identifier image has a uniform pixel value, since all blobs with the same pixel value are given the same label. Note that all blobs with the same label are considered as one blob.
[]
Example
This example shows how to use the IdentifierBlobType property.

' Calculate features for all the blobs found in the image.
' This example shows how to use the blobEntireImage
' value of the IdentifierBlobType property. With this value,
' all blobs are grouped together and treated as one blob.
' Feature calculations are performed on this blob.

' Specify that features will be calculated for the group blob
BlobAnalysis1.IdentifierBlobType = blobEntireImage

' Specify the features to calculate
BlobAnalysis1.FeatureList.Area = True
BlobAnalysis1.FeatureList.Box.All = True
BlobAnalysis1.FeatureList.CenterOfGravity.All = blobBinaryOnly

' Calculate the selected features
BlobAnalysis1.Calculate()
[]
Example
This example shows how to use the IdentifierBlobType property.

// Calculate features for all the blobs found in the image.
// This example shows how to use the blobEntireImage
// value of the IdentifierBlobType property. With this value,
// all blobs are grouped together and treated as one blob.
// Feature calculations are performed on this blob.

// Specify that features will be calculated for the group blob
m_BlobAnalysis->IdentifierBlobType = blobEntireImage;

// Specify the features to calculate
m_BlobAnalysis->FeatureList->Area = TRUE;

m_BlobAnalysis->FeatureList->Box->All = TRUE;

m_BlobAnalysis->FeatureList->CenterOfGravity->All = blobBinaryOnly;

// Calculate the selected features
m_BlobAnalysis->Calculate();


BlobAnalysis.IdentifierPixelType Property

IdentifierPixelType property

Availability | MIL Equivalent | IdentifierBlobType | Image
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobControl(
ControlType =
M_IDENTIFIER_TYPE
)

MblobInquire(
ControlType =
M_IDENTIFIER_TYPE
)
BlobAnalysis
IdentifierPixelType
Synopsis
Returns or sets the values that non-zero pixels in the image can have.
[]
Syntax
object.IdentifierPixelType [= BlobPixelTypeConstants]
[]
Syntax
object->IdentifierPixelType [= enum BlobPixelTypeConstants]
Type description
A BlobPixelTypeConstants expression that specifies the values that non-zero pixels can have. (default is blobGrayscale)
Value | Meaning
blobGrayscale | Non-zero pixels can have any value.
blobBinary | Non-zero pixels must have the maximum value of the image (for example, 255 for an 8-bit image).
Remark
  • If the blob identifier image has previously been binarized (for example, pixel values for an 8-bit image are either 0 or 255), blob analysis calculations can be performed a little faster when you set this property to blobBinary.


BlobAnalysis.Image Property

Image property

See Also | Availability | MIL Equivalent | IdentifierPixelType | ImageName
User Guide:
Identifying blobs
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobCalculate(BlobIdentImageId)
BlobAnalysis
Image
Synopsis
Returns or sets the image (the blob identifier image) containing the blobs to analyze.
[]
Syntax
object.Image [= Image]
[]
Syntax
object->Image [= IImagePtr]
Type description
An Image control that specifies the source image to analyze.
Remarks
  • The blob identifier image must be a packed binary or an unsigned 8-bit or 16- bit grayscale image.
  • []
     Use the Visual Basic Is Nothing statement to confirm that this property is currently not associated with a control.
  • []
     To remove the reference to the current control without assigning a new control, set the property to Nothing.
  • []
     To remove the reference to the current control without assigning a new control, set the property to NULL.
  • The image must have its CanProcess property set to True.
  • The blob identifier image can also be specified, with the name assigned to its control, using the ImageName property.
  • This property automatically sets the ImageName property.
[]
Example
This example shows how to specify the image used for the blob analysis calculation.

m_BlobAnalysis->Image = m_BinarizeImage;


BlobAnalysis.ImageName Property

ImageName property

See Also | Availability | MIL Equivalent | Image | IsAllocated
User Guide:
Identifying blobs
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobCalculate(BlobIdentImageId)
BlobAnalysis
ImageName
Synopsis
Returns or sets the name of the Image control (the blob identifier image) containing the blobs to analyze.
[]
Syntax
object.ImageName [= String]
[]
Syntax
object->ImageName [= _bstr_t]
Type description
A string expression that specifies the name of the Image control to use as the source image to analyze.
Remarks
  • The blob identifier image must be a packed binary or an unsigned 8-bit or 16-bit grayscale image.
  • To remove the reference to the current control without assigning a new control, specify an empty string ("").
  • The image must have its CanProcess property set to True.
  • The blob identifier image can also be specified using the Image property.
  • This property automatically sets the Image property.


BlobAnalysis.IsAllocated Property

IsAllocated property

See Also | Availability | MIL Equivalent | ImageName | Lattice
User Guide:
Allocation of resources

Reference:
BlobAnalysis.Free
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
BlobAnalysis
IsAllocated
Synopsis
Returns whether the resources of the BlobAnalysis control are allocated.
[]
Syntax
[Boolean =] object.IsAllocated
[]
Syntax
[VARIANT_BOOL =] object->IsAllocated
Type description
A boolean value that specifies whether the resources of the control are allocated.
Value | Meaning
True | The resources of the control are allocated.
False | The resources of the control are not allocated.
[]
Example
This example shows how to use the IsAllocated property.

If BlobAnalysis1.IsAllocated Then
    BlobAnalysis1.Free()
End If
[]
Example
This example shows how to use the IsAllocated property.

if (m_BlobAnalysis1->IsAllocated)
   m_BlobAnalysis1->Free();


BlobAnalysis.Lattice Property

Lattice property

See Also | Availability | MIL Equivalent | IsAllocated | Name
User Guide:
Interpreting the blob identifier image
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobControl(
ControlType =
M_LATTICE
)

MblobInquire(
InquireType =
M_LATTICE
)
BlobAnalysis
Lattice
Synopsis
Returns or sets the image lattice for blob analysis.
[]
Syntax
object.Lattice [= BlobLatticeConstants]
[]
Syntax
object->Lattice [= enum BlobLatticeConstants]
Type description
A BlobLatticeConstants expression that specifies the lattice for the image. (default is blob8Connected)
Value | Meaning
blob4Connected | Each pixel has 4 neighbors.
blob8Connected | Each pixel has 8 neighbors.
Remark
  • This property determines when to consider pixels as touching.


BlobAnalysis.Name Property

Name property

Availability | MIL Equivalent | Lattice | NumberOfFeretAngles
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
BlobAnalysis
Name
Synopsis
Returns or sets the name used in code to identify the BlobAnalysis control.
[]
Syntax
object.Name [= String]
[]
Syntax
object->Name [= _bstr_t]
Type description
A string expression that specifies the name of the BlobAnalysis control.
Remarks
  • This property cannot be set at run-time.
  • The default name for a new control is the type of control plus a unique integer. For example, the first new BlobAnalysis control you create on a form is named BlobAnalysis1 and the second BlobAnalysis control is named BlobAnalysis2.
  • A control's Name property must start with a letter and can be a maximum of 40 characters. It can include numbers and underscore (_) characters but cannot include spaces or punctuation. Although the Name property setting can be a keyword, property name, or the name of another object, it can create conflicts in your code.


BlobAnalysis.NumberOfFeretAngles Property

NumberOfFeretAngles property

Availability | MIL Equivalent | Name | OwnerSystem
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobControl(
ControlType =
M_NUMBER_OF_FERET
)

MblobInquire(
InquireType =
M_NUMBER_OF_FERET
)
BlobAnalysis
NumberOfFeretAngles
Synopsis
Returns or sets the number of Feret angles to be used when calculating a Feret feature.
[]
Syntax
object.NumberOfFeretAngles [= Integer]
[]
Syntax
object->NumberOfFeretAngles [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value or a BlobFeatureConstants expression that specifies the number of Feret angles to be used to calculate a Feret feature. (default is 8)
Value | Meaning
value | A longintegerlong (integer for Visual Basic .Net) value that specifies the number of Feret angles to be used to calculate a Feret feature.
blobMaximumNumberOfFeretAngle | The maximum Feret angles, 64, are used to calculate the Feret feature.
Remark
  • Note that the minimum and maximum number of Feret angles that can be used to calculate a Feret feature is 2 and 64, respectively. The first angle used is always 0°, and the difference between successive angles is 180°/number of Ferets.


BlobAnalysis.OwnerSystem Property

OwnerSystem property

See Also | Availability | MIL Equivalent | NumberOfFeretAngles | OwnerSystemName
User Guide:
Owner system

Reference:
System
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobAllocFeatureList(SystemId)

MblobAllocResult(SystemId)
BlobAnalysis
OwnerSystem
Synopsis
Returns or sets the system on which the resources of the BlobAnalysis control are allocated.
[]
Syntax
object.OwnerSystem [= System]
[]
Syntax
object->OwnerSystem [= ISystemPtr]
Type description
A System control that specifies the system to set as the owner (parent) of the BlobAnalysis control.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The owner system can also be specified, with the name assigned to its control, using the OwnerSystemName property.
  • This property automatically sets the OwnerSystemName property.


BlobAnalysis.OwnerSystemName Property

OwnerSystemName property

See Also | Availability | MIL Equivalent | OwnerSystem | PixelAspectRatio
User Guide:
Owner system

Reference:
System
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobAllocFeatureList(SystemId)

MblobAllocResult(SystemId)
BlobAnalysis
OwnerSystemName
Synopsis
Returns or sets the name of the System control representing the system on which the resources of the BlobAnalysis control are allocated.
[]
Syntax
object.OwnerSystemName [= String]
[]
Syntax
object->OwnerSystemName [= _bstr_t]
Type description
A string expression that specifies the name of the System control to set as the owner (parent) of the BlobAnalysis control.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The owner system can also be specified using the OwnerSystem property.
  • This property automatically sets the OwnerSystem property.


BlobAnalysis.PixelAspectRatio Property

PixelAspectRatio property

See Also | Availability | MIL Equivalent | OwnerSystemName | PropertyValidation
User Guide:
Pixel aspect ratio
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobControl(
ControlType =
M_PIXEL_ASPECT_RATIO
)

MblobInquire(
ControlType =
M_PIXEL_ASPECT_RATIO
)
BlobAnalysis
PixelAspectRatio
Synopsis
Returns or sets the pixel aspect ratio of the image(s).
[]
Syntax
object.PixelAspectRatio [= Double]
[]
Syntax
object->PixelAspectRatio [= double]
Type description
A double value that specifies the pixel aspect ratio, by dividing the pixel width by the pixel height. (default is 1)
Remarks
  • The pixel aspect ratio is equal to the pixel width/height.
  • All results are affected by the pixel aspect ratio, including positional results. The pixel aspect ratio is applied to the pixel width during calculations therefore, results are returned in units of "pixel height" since the pixel width is adjusted to be equal to the pixel height.


BlobAnalysis.PropertyValidation Property

PropertyValidation property

See Also | Availability | MIL Equivalent | PixelAspectRatio | Results
User Guide:
Error reporting
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
BlobAnalysis
PropertyValidation
Synopsis
Returns or sets whether the properties of the BlobAnalysis control are dynamically validated.
[]
Syntax
object.PropertyValidation [= Boolean]
[]
Syntax
object->PropertyValidation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the property validation mode.
Value | Meaning
True | The control's properties are dynamically validated. Errors will be generated during the design process.
False | The control's properties are not dynamically validated. Errors will only be generated at run-time.
Remarks
  • At run-time, this property is read only and is always set to True.
  • When set to True, if one of the control's properties is not properly set, the control is outlined in red and the Error page of the control's property pages describes the specific error.


BlobAnalysis.Results Property

Results property

Availability | MIL Equivalent | PropertyValidation | SaveRunInformationEnabled
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResultSingle()

MblobGetResult()
BlobAnalysis
Results
Properties: Count, Item, MaximumLabelValue, MilID

Methods: AtCoordinates, AtLabel, Draw, Get, GetMultiple
Synopsis
Returns the collection of results calculated for the BlobAnalysis control, allowing access to its properties.
[]
Syntax
[BlobResults =] object.Results
[]
Syntax
[IBlobResultsPtr =] object->Results
Type description
A BlobResults expression that represents an instance of a BlobResults collection.
Remark
  • The Results property will contain, after a call to the Calculate method is made, results for each blob found.
[]
Example
This example shows how to use the Results collection.

const long EXCLUDE_AREA_LESS_EQUAL_50 = 1;
long TotalBlobs;

// Calculate selected features for each blob.
m_BlobAnalysis1->Calculate();

// Exclude blobs whose area is too small.
m_BlobAnalysis1->ApplyFilter(EXCLUDE_AREA_LESS_EQUAL_50, TRUE);

// Get the total number of blobs.
TotalBlobs = m_BlobAnalysis1->Results->Count;


BlobAnalysis.Results.Count Property

Count property

Availability | MIL Equivalent | Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetNumber()
BlobAnalysis
Results
Count
Synopsis
Returns the number of elements in the collection of blob results.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A long value that specifies the number of blobs currently in the collection.
Remark
  • The elements in the blob results collection refer to the feature results of each blob.
[]
Example
This example shows how to use the Count property.

const long EXCLUDE_AREA_LESS_EQUAL_50 = 1;
long TotalBlobs;

// Calculate selected features for each blob.
m_BlobAnalysis1->Calculate();

// Exclude blobs whose area is too small.
m_BlobAnalysis1->ApplyFilter(EXCLUDE_AREA_LESS_EQUAL_50, TRUE);

// Get the total number of blobs.
TotalBlobs = m_BlobAnalysis1->Results->Count;


BlobAnalysis.Results.Item Property

Item property

Availability | MIL Equivalent | Count | MaximumLabelValue
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
BlobAnalysis
Results
Item
Properties: Area, BoxXMaximum, BoxXMinimum, BoxYMaximum, BoxYMinimum, Breadth, CenterOfGravityXGrayscale, CenterOfGravityX, CenterOfGravityYGrayscale, CenterOfGravityY, CentralMomentX0Y2Grayscale, CentralMomentX0Y2, CentralMomentX1Y1Grayscale, CentralMomentX1Y1, CentralMomentX2Y0Grayscale, CentralMomentX2Y0, Chains, Compactness, ContactPointXMaximumAtYMaximum, ContactPointXMinimumAtYMinimum, ContactPointYMaximumAtXMinimum, ContactPointYMinimumAtXMaximum, ConvexPerimeter, Elongation, EulerNumber, FeretElongation, FeretX, FeretY, FirstPointX, FirstPointY, GeneralFeret, GeneralMomentGrayscale, GeneralMoment, Intercept0, Intercept135, Intercept45, Intercept90, LabelValue, Length, MaximumFeretAngle, MaximumFeretDiameter, MaximumPixelValue, MeanFeretDiameter, MeanPixelValue, MinimumFeretAngle, MinimumFeretDiameter, MinimumPixelValue, MomentX0Y1Grayscale, MomentX0Y1, MomentX0Y2Grayscale, MomentX0Y2, MomentX1Y0Grayscale, MomentX1Y0, MomentX1Y1Grayscale, MomentX1Y1, MomentX2Y0Grayscale, MomentX2Y0, NumberOfHoles, Perimeter, PrincipalAxisAngleGrayscale, PrincipalAxisAngle, Roughness, Runs, SecondaryAxisAngleGrayscale, SecondaryAxisAngle, SigmaOfPixelValues, SumOfPixelValues, SumOfSquaredPixelValues

Method: Draw
Synopsis
Returns the element at the specified index in the collection of blob results.
[]
Syntax
[BlobResult=]object.Item(
Index As Integer
)
[]
Syntax
[IBlobResultPtr =] object->Item(
long Index
)
Index
A long value that specifies the index of the required element.
Type description
A BlobResult object.
Remarks
  • The elements in the collection of blob results refer to the feature results of each blob.
  • If the value provided as the index does not match any existing element in the collection, an error occurs. Note, the index of the first element of this collection starts at one.
  • This property is used to get results of a particular blob.
  • The AtCoordinates and AtLabel method provide alternative means to access the collection of blob results.


BlobAnalysis.Results.Item.Area Property

Area property

See Also | Availability | MIL Equivalent | BoxXMaximum
Reference:
BlobAnalysis.FeatureList.Area
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_AREA
)

MblobGetResultSingle(
Feature =
M_AREA
)
BlobAnalysis
Results
Item
Area
Synopsis
Returns the result for the area feature.
[]
Syntax
[Double =] object.Area
[]
Syntax
[double =] object->Area
Type description
A double value that specifies the area of the blob.


BlobAnalysis.Results.Item.BoxXMaximum Property

BoxXMaximum property

See Also | Availability | MIL Equivalent | Area | BoxXMinimum
Reference:
BlobAnalysis.FeatureList.Box.XMaximum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_BOX_X_MAX
)

MblobGetResultSingle(
Feature =
M_BOX_X_MAX
)
BlobAnalysis
Results
Item
BoxXMaximum
Synopsis
Returns the result for the XMaximum feature of the bounding box.
[]
Syntax
[Double =] object.BoxXMaximum
[]
Syntax
[double =] object->BoxXMaximum
Type description
A double value that specifies the maximum X-coordinate of the bounding box.


BlobAnalysis.Results.Item.BoxXMinimum Property

BoxXMinimum property

See Also | Availability | MIL Equivalent | BoxXMaximum | BoxYMaximum
Reference:
BlobAnalysis.FeatureList.Box.XMinimum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_BOX_X_MIN
)

MblobGetResultSingle(
Feature =
M_BOX_X_MIN
)
BlobAnalysis
Results
Item
BoxXMinimum
Synopsis
Returns the result for the XMinimum feature of the bounding box.
[]
Syntax
[Double =] object.BoxXMinimum
[]
Syntax
[double =] object->BoxXMinimum
Type description
A double value that specifies the minimum coordinate of the bounding box.


BlobAnalysis.Results.Item.BoxYMaximum Property

BoxYMaximum property

See Also | Availability | MIL Equivalent | BoxXMinimum | BoxYMinimum
Reference:
BlobAnalysis.FeatureList.Box.YMaximum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_BOX_Y_MAX
)

MblobGetResultSingle(
Feature =
M_BOX_Y_MAX
)
BlobAnalysis
Results
Item
BoxYMaximum
Synopsis
Returns the result for the YMaximum feature of the bounding box.
[]
Syntax
[Double =] object.BoxYMaximum
[]
Syntax
[double =] object->BoxYMaximum
Type description
A double value that specifies the maximum Y-coordinate of the bounding box.


BlobAnalysis.Results.Item.BoxYMinimum Property

BoxYMinimum property

See Also | Availability | MIL Equivalent | BoxYMaximum | Breadth
Reference:
BlobAnalysis.FeatureList.Box.YMinimum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_BOX_Y_MIN
)

MblobGetResultSingle(
Feature =
M_BOX_Y_MIN
)
BlobAnalysis
Results
Item
BoxYMinimum
Synopsis
Returns the result for the YMinimum feature of the bounding box.
[]
Syntax
[Double =] object.BoxYMinimum
[]
Syntax
[double =] object->BoxYMinimum
Type description
A double value that specifies the minimum Y-coordinate of the bounding box.


BlobAnalysis.Results.Item.Breadth Property

Breadth property

See Also | Availability | MIL Equivalent | BoxYMinimum | CenterOfGravityXGrayscale
Reference:
BlobAnalysis.FeatureList.Breadth
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_BREADTH
)

MblobGetResultSingle(
Feature =
M_BREADTH
)
BlobAnalysis
Results
Item
Breadth
Synopsis
Returns the result for the breadth feature.
[]
Syntax
[Double =] object.Breadth
[]
Syntax
[double =] object->Breadth
Type description
A double value that specifies the breadth of the blob.


BlobAnalysis.Results.Item.CenterOfGravityX Property

CenterOfGravityX property

See Also | Availability | MIL Equivalent | CenterOfGravityXGrayscale | CenterOfGravityYGrayscale
Reference:
BlobAnalysis.FeatureList.CenterOfGravity.X
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_CENTER_OF_GRAVITY_X +
BINARY
)

MblobGetResultSingle(
Feature =
M_CENTER_OF_GRAVITY_X +
BINARY
)
BlobAnalysis
Results
Item
CenterOfGravityX
Synopsis
Returns the result for the X-coordinate of the center of gravity calculated using the binary definition.
[]
Syntax
[Double =] object.CenterOfGravityX
[]
Syntax
[double =] object->CenterOfGravityX
Type description
A double value that specifies the X-coordinate of the center of gravity of the blob.
[]
Example
This example gets the CenterOfGravityX calculation result.

// Draw a cross at the CoG of each blob.
for (int i = 1; i <= TotalBlobs; i++)
   {
   IRegionOfInterestPtr DrawingRegion = m_GraphicContext1->DrawingRegion;

   DrawingRegion->CenterX =
      static_cast<long>(m_BlobAnalysis1->Results->Item(i)->CenterOfGravityX);

   DrawingRegion->CenterY =
      static_cast<long>(m_BlobAnalysis1->Results->Item(i)->CenterOfGravityY);

   m_GraphicContext1->Cross(0);
   }


BlobAnalysis.Results.Item.CenterOfGravityXGrayscale Property

CenterOfGravityXGrayscale property

See Also | Availability | MIL Equivalent | Breadth | CenterOfGravityX
Reference:
BlobAnalysis.FeatureList.CenterOfGravity.X
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_CENTER_OF_GRAVITY_X +
GRAYSCALE
)

MblobGetResultSingle(
Feature =
M_CENTER_OF_GRAVITY_X +
GRAYSCALE
)
BlobAnalysis
Results
Item
CenterOfGravityXGrayscale
Synopsis
Returns the result for the X-coordinate of the center of gravity calculated using the grayscale definition.
[]
Syntax
[Double =] object.CenterOfGravityXGrayscale
[]
Syntax
[double =] object->CenterOfGravityXGrayscale
Type description
A double value that specifies the X-coordinate of the center of gravity of the blob.


BlobAnalysis.Results.Item.CenterOfGravityY Property

CenterOfGravityY property

See Also | Availability | MIL Equivalent | CenterOfGravityYGrayscale | CentralMomentX0Y2Grayscale
Reference:
BlobAnalysis.FeatureList.CenterOfGravity.Y
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_CENTER_OF_GRAVITY_Y +
BINARY
)

MblobGetResultSingle(
Feature =
M_CENTER_OF_GRAVITY_Y +
BINARY
)
BlobAnalysis
Results
Item
CenterOfGravityY
Synopsis
Returns the result for the Y-coordinate of the center of gravity calculated using the binary definition.
[]
Syntax
[Double =] object.CenterOfGravityY
[]
Syntax
[double =] object->CenterOfGravityY
Type description
A double value that specifies the Y-coordinate of the center of gravity of the blob.
[]
Example
This example gets the CenterOfGravityY calculation result.

// Draw a cross at the CoG of each blob.
for (int i = 1; i <= TotalBlobs; i++)
   {
   IRegionOfInterestPtr DrawingRegion = m_GraphicContext1->DrawingRegion;

   DrawingRegion->CenterX =
      static_cast<long>(m_BlobAnalysis1->Results->Item(i)->CenterOfGravityX);

   DrawingRegion->CenterY =
      static_cast<long>(m_BlobAnalysis1->Results->Item(i)->CenterOfGravityY);

   m_GraphicContext1->Cross(0);
   }


BlobAnalysis.Results.Item.CenterOfGravityYGrayscale Property

CenterOfGravityYGrayscale property

See Also | Availability | MIL Equivalent | CenterOfGravityX | CenterOfGravityY
Reference:
BlobAnalysis.FeatureList.CenterOfGravity.Y
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_CENTER_OF_GRAVITY_Y +
GRAYSCALE
)

MblobGetResultSingle(
Feature =
M_CENTER_OF_GRAVITY_Y +
GRAYSCALE
)
BlobAnalysis
Results
Item
CenterOfGravityYGrayscale
Synopsis
Returns the result for the Y-coordinate of the center of gravity calculated using the grayscale definition.
[]
Syntax
[Double =] object.CenterOfGravityYGrayscale
[]
Syntax
[double =] object->CenterOfGravityYGrayscale
Type description
A double value that specifies the Y-coordinate of the center of gravity of the blob.


BlobAnalysis.Results.Item.CentralMomentX0Y2 Property

CentralMomentX0Y2 property

See Also | Availability | MIL Equivalent | CentralMomentX0Y2Grayscale | CentralMomentX1Y1Grayscale
Reference:
BlobAnalysis.FeatureList.CentralMomentX0Y2
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_MOMENT_CENTRAL_X0_Y2 +
BINARY
)

MblobGetResultSingle(
Feature =
M_MOMENT_CENTRAL_X0_Y2 +
BINARY
)
BlobAnalysis
Results
Item
CentralMomentX0Y2
Synopsis
Returns the result for the CentralMomentX0Y2 feature calculated using the binary definition.
[]
Syntax
[Double =] object.CentralMomentX0Y2
[]
Syntax
[double =] object->CentralMomentX0Y2
Type description
A double value that specifies the X°Y² central moment of the blob.


BlobAnalysis.Results.Item.CentralMomentX0Y2Grayscale Property

CentralMomentX0Y2Grayscale property

See Also | Availability | MIL Equivalent | CenterOfGravityY | CentralMomentX0Y2
Reference:
BlobAnalysis.FeatureList.CentralMomentX0Y2
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_MOMENT_CENTRAL_X0_Y2 +
GRAYSCALE
)

MblobGetResultSingle(
Feature =
M_MOMENT_CENTRAL_X0_Y2 +
GRAYSCALE
)
BlobAnalysis
Results
Item
CentralMomentX0Y2Grayscale
Synopsis
Returns the result for the CentralMomentX0Y2 feature calculated using the grayscale definition.
[]
Syntax
[Double =] object.CentralMomentX0Y2Grayscale
[]
Syntax
[double =] object->CentralMomentX0Y2Grayscale
Type description
A double value that specifies the X°Y² central moment of the blob.


BlobAnalysis.Results.Item.CentralMomentX1Y1 Property

CentralMomentX1Y1 property

See Also | Availability | MIL Equivalent | CentralMomentX1Y1Grayscale | CentralMomentX2Y0Grayscale
Reference:
BlobAnalysis.FeatureList.CentralMomentX1Y1
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_MOMENT_CENTRAL_X1_Y1 +
BINARY
)

MblobGetResultSingle(
Feature =
M_MOMENT_CENTRAL_X1_Y1 +
BINARY
)
BlobAnalysis
Results
Item
CentralMomentX1Y1
Synopsis
Returns the result for the CentralMomentX1Y1 feature calculated using the binary definition.
[]
Syntax
[Double =] object.CentralMomentX1Y1
[]
Syntax
[double =] object->CentralMomentX1Y1
Type description
A double value that specifies the X¹Y¹ central moment of the blob.


BlobAnalysis.Results.Item.CentralMomentX1Y1Grayscale Property

CentralMomentX1Y1Grayscale property

See Also | Availability | MIL Equivalent | CentralMomentX0Y2 | CentralMomentX1Y1
Reference:
BlobAnalysis.FeatureList.CentralMomentX1Y1
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_MOMENT_CENTRAL_X1_Y1 +
GRAYSCALE
)

MblobGetResultSingle(
Feature =
M_MOMENT_CENTRAL_X1_Y1 +
GRAYSCALE
)
BlobAnalysis
Results
Item
CentralMomentX1Y1Grayscale
Synopsis
Returns the result for the CentralMomentX1Y1 feature calculated using the grayscale definition.
[]
Syntax
[Double =] object.CentralMomentX1Y1Grayscale
[]
Syntax
[double =] object->CentralMomentX1Y1Grayscale
Type description
A double value that specifies the X¹Y¹ central moment of the blob.


BlobAnalysis.Results.Item.CentralMomentX2Y0 Property

CentralMomentX2Y0 property

See Also | Availability | MIL Equivalent | CentralMomentX2Y0Grayscale | Chains
Reference:
BlobAnalysis.FeatureList.CentralMomentX2Y0
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_MOMENT_CENTRAL_X2_Y0 +
BINARY
)

MblobGetResultSingle(
Feature =
M_MOMENT_CENTRAL_X2_Y0 +
BINARY
)
BlobAnalysis
Results
Item
CentralMomentX2Y0
Synopsis
Returns the result for the CentralMomentX2Y0 feature calculated using the binary definition.
[]
Syntax
[Double =] object.CentralMomentX2Y0
[]
Syntax
[double =] object->CentralMomentX2Y0
Type description
A double value that specifies the X²Y° central moment of the blob.


BlobAnalysis.Results.Item.CentralMomentX2Y0Grayscale Property

CentralMomentX2Y0Grayscale property

See Also | Availability | MIL Equivalent | CentralMomentX1Y1 | CentralMomentX2Y0
Reference:
BlobAnalysis.FeatureList.CentralMomentX2Y0
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_MOMENT_CENTRAL_X2_Y0 +
GRAYSCALE
)

MblobGetResultSingle(
Feature =
M_MOMENT_CENTRAL_X2_Y0 +
GRAYSCALE
)
BlobAnalysis
Results
Item
CentralMomentX2Y0Grayscale
Synopsis
Returns the result for the CentralMomentX2Y0 feature calculated using the grayscale definition.
[]
Syntax
[Double =] object.CentralMomentX2Y0Grayscale
[]
Syntax
[double =] object->CentralMomentX2Y0Grayscale
Type description
A double value that specifies the X²Y° central moment of the blob.


BlobAnalysis.Results.Item.Chains Property

Chains property

See Also | Availability | MIL Equivalent | CentralMomentX2Y0 | Compactness
Reference:
BlobAnalysis.FeatureList.Chains
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
MblobGetResultSingle(
Feature =
M_CHAIN_INDEX or
M_NUMBER_OF_CHAINED_PIXELS or
M_CHAIN_X or
M_CHAIN_Y
)
BlobAnalysis
Results
Item
Chains
Properties: Count, Item
Synopsis
Returns the collection of blob chains calculated for the blob, allowing access to the results of each chain.
[]
Syntax
[BlobChains =] object.Chains
[]
Syntax
[IBlobChainsPtr =] object->Chains
Type description
A BlobChains expression that represents an instance of a BlobChains collection.


BlobAnalysis.Results.Item.Chains.Count Property

Count property

Availability | MIL Equivalent | Item
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
MblobGetResultSingle(
Feature =
M_CHAIN_INDEX
)
BlobAnalysis
Results
Item
Chains
Count
Synopsis
Returns the number of elements in the blob's collection of chains.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A long value that specifies the number of elements currently in the collection of blob chains.
Remark
  • The elements in the collection of chains refers to each blob's chain(s).


BlobAnalysis.Results.Item.Chains.Item Property

Item property

Availability | MIL Equivalent | Count
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
No MIL equivalent
BlobAnalysis
Results
Item
Chains
Item
Property: Pixels
Synopsis
Returns the element at the specified index in the blob's collection of chains.
[]
Syntax
[BlobChain=]object.Item(
Index As Integer
)
[]
Syntax
[IBlobChainPtr =] object->Item(
long Index
)
Index
A long value that specifies the index of the required element.
Type description
A BlobChain object.
Remarks
  • If the value provided as the index does not match any existing element in the collection, an error occurs. Note, the index of the first element of this collection starts at one.
  • Each element in the collection of chains refers to a chain composing one of the blobs.


BlobAnalysis.Results.Item.Chains.Item.Pixels Property

Pixels property

See Also | Availability | MIL Equivalent
User Guide:
Chained pixels
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
MblobGetResultSingle(
Feature =
M_CHAIN_X or
M_CHAIN_Y
)
BlobAnalysis
Results
Item
Chains
Item
Pixels
Properties: Count, Item
Synopsis
Returns the collection of pixels in the blob chain, allowing access to each element.
[]
Syntax
[Pixels =] object.Pixels
[]
Syntax
[IPixelsPtr =] object->Pixels
Type description
A Pixels expression that represents an instance of a Pixels collection.


BlobAnalysis.Results.Item.Chains.Item.Pixels.Count Property

Count property

Availability | MIL Equivalent | Item
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
MblobGetResultSingle(
Feature =
M_NUMBER_OF_CHAINED_PIXELS
)

MblobGetResultSingle(
Feature =
M_CHAIN_INDEX
)
BlobAnalysis
Results
Item
Chains
Item
Pixels
Count
Synopsis
Returns the number of elements in the collection of pixels.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A long value that specifies the number of elements currently in the collection.
Remark
  • The elements in the collection of pixels refer to the pixels in the chain.


BlobAnalysis.Results.Item.Chains.Item.Pixels.Item Property

Item property

Availability | MIL Equivalent | Count
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
No MIL equivalent
BlobAnalysis
Results
Item
Chains
Item
Pixels
Item
Properties: X, Y
Synopsis
Returns the element at the specified index in the collection of blob chain pixels.
[]
Syntax
[Pixel=]object.Item(
Index As Integer
)
[]
Syntax
[IPixelPtr =] object->Item(
long Index
)
Index
A long value that specifies the index of the required element.
Type description
A Pixel object.
Remarks
  • If the value provided as the index does not match any existing element in the collection, an error occurs. The index of the first element in the Pixels collection is 1.
  • The elements in the collection of pixels refer to the pixels in the chain.


BlobAnalysis.Results.Item.Chains.Item.Pixels.Item.X Property

X property

See Also | Availability | MIL Equivalent | Y
Reference:
BlobAnalysis.Results.Item.Chains.Item.Pixels.Item.Y
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
MblobGetResultSingle(
Feature =
M_CHAIN_X
)
BlobAnalysis
Results
Item
Chains
Item
Pixels
Item
X
Synopsis
Returns the X-coordinate of the chained pixel.
[]
Syntax
[Integer =] object.X
[]
Syntax
[long =] object->X
Type description
A long value that specifies the X-coordinate of the chained pixel.


BlobAnalysis.Results.Item.Chains.Item.Pixels.Item.Y Property

Y property

See Also | Availability | MIL Equivalent | X
Reference:
BlobAnalysis.Results.Item.Chains.Item.Pixels.Item.X
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
MblobGetResultSingle(
Feature =
M_CHAIN_Y
)
BlobAnalysis
Results
Item
Chains
Item
Pixels
Item
Y
Synopsis
Returns the Y-coordinate of the chained pixel.
[]
Syntax
[Integer =] object.Y
[]
Syntax
[long =] object->Y
Type description
A long value that specifies the Y-coordinate of the chained pixel.


BlobAnalysis.Results.Item.Compactness Property

Compactness property

See Also | Availability | MIL Equivalent | Chains | ContactPointXMaximumAtYMaximum
Reference:
BlobAnalysis.FeatureList.Compactness
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_COMPACTNESS
)

MblobGetResultSingle(
Feature =
M_COMPACTNESS
)
BlobAnalysis
Results
Item
Compactness
Synopsis
Returns the result for the compactness feature.
[]
Syntax
[Double =] object.Compactness
[]
Syntax
[double =] object->Compactness
Type description
A double value that specifies the compactness of the blob.


BlobAnalysis.Results.Item.ContactPointXMaximumAtYMaximum Property

ContactPointXMaximumAtYMaximum property

See Also | Availability | MIL Equivalent | Compactness | ContactPointXMinimumAtYMinimum
Reference:
BlobAnalysis.FeatureList.ContactPoints.XMaximumAtYMaximum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_X_MAX_AT_Y_MAX
)

MblobGetResultSingle(
Feature =
M_X_MAX_AT_Y_MAX
)
BlobAnalysis
Results
Item
ContactPointXMaximumAtYMaximum
Synopsis
Returns the result for the XMaximumAtYMaximum contact point feature.
[]
Syntax
[Double =] object.ContactPointXMaximumAtYMaximum
[]
Syntax
[double =] object->ContactPointXMaximumAtYMaximum
Type description
A double value that specifies the XMaximumAtYMaximum contact point of the blob.


BlobAnalysis.Results.Item.ContactPointXMinimumAtYMinimum Property

ContactPointXMinimumAtYMinimum property

See Also | Availability | MIL Equivalent | ContactPointXMaximumAtYMaximum | ContactPointYMaximumAtXMinimum
Reference:
BlobAnalysis.FeatureList.ContactPoints.XMinimumAtYMinimum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_X_MIN_AT_Y_MIN
)

MblobGetResultSingle(
Feature =
M_X_MIN_AT_Y_MIN
)
BlobAnalysis
Results
Item
ContactPointXMinimumAtYMinimum
Synopsis
Returns the result for the XMinimumAtYMinimum contact point feature.
[]
Syntax
[Double =] object.ContactPointXMinimumAtYMinimum
[]
Syntax
[double =] object->ContactPointXMinimumAtYMinimum
Type description
A double value that specifies the XMinimumAtYMinimum contact point of the blob.


BlobAnalysis.Results.Item.ContactPointYMaximumAtXMinimum Property

ContactPointYMaximumAtXMinimum property

See Also | Availability | MIL Equivalent | ContactPointXMinimumAtYMinimum | ContactPointYMinimumAtXMaximum
Reference:
BlobAnalysis.FeatureList.ContactPoints.YMaximumAtXMinimum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_Y_MAX_AT_X_MIN
)

MblobGetResultSingle(
Feature =
M_Y_MAX_AT_X_MIN
)
BlobAnalysis
Results
Item
ContactPointYMaximumAtXMinimum
Synopsis
Returns the result for the YMaximumAtXMinimum contact point feature.
[]
Syntax
[Double =] object.ContactPointYMaximumAtXMinimum
[]
Syntax
[double =] object->ContactPointYMaximumAtXMinimum
Type description
A double value that specifies the YMaximumAtXMinimum contact point of the blob.


BlobAnalysis.Results.Item.ContactPointYMinimumAtXMaximum Property

ContactPointYMinimumAtXMaximum property

See Also | Availability | MIL Equivalent | ContactPointYMaximumAtXMinimum | ConvexPerimeter
Reference:
BlobAnalysis.FeatureList.ContactPoints.YMinimumAtXMaximum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_Y_MIN_AT_X_MAX
)

MblobGetResultSingle(
Feature =
M_Y_MIN_AT_X_MAX
)
BlobAnalysis
Results
Item
ContactPointYMinimumAtXMaximum
Synopsis
Returns the result for the YMinimumAtXMaximum contact point feature.
[]
Syntax
[Double =] object.ContactPointYMinimumAtXMaximum
[]
Syntax
[double =] object->ContactPointYMinimumAtXMaximum
Type description
A double value that specifies the YMinimumAtXMaximum contact point of the blob.


BlobAnalysis.Results.Item.ConvexPerimeter Property

ConvexPerimeter property

See Also | Availability | MIL Equivalent | ContactPointYMinimumAtXMaximum | Elongation
Reference:
BlobAnalysis.FeatureList.ConvexPerimeter
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_CONVEX_PERIMETER
)

MblobGetResultSingle(
Feature =
M_CONVEX_PERIMETER
)
BlobAnalysis
Results
Item
ConvexPerimeter
Synopsis
Returns the result for the convex perimeter feature.
[]
Syntax
[Double =] object.ConvexPerimeter
[]
Syntax
[double =] object->ConvexPerimeter
Type description
A double value that specifies the convex perimeter of the blob.


BlobAnalysis.Results.Item.Elongation Property

Elongation property

See Also | Availability | MIL Equivalent | ConvexPerimeter | EulerNumber
Reference:
BlobAnalysis.FeatureList.Elongation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_ELONGATION
)

MblobGetResultSingle(
Feature =
M_ELONGATION
)
BlobAnalysis
Results
Item
Elongation
Synopsis
Returns the result for the elongation feature.
[]
Syntax
[Double =] object.Elongation
[]
Syntax
[double =] object->Elongation
Type description
A double value that specifies the elongation of the blob.


BlobAnalysis.Results.Item.EulerNumber Property

EulerNumber property

See Also | Availability | MIL Equivalent | Elongation | FeretElongation
Reference:
BlobAnalysis.FeatureList.EulerNumber
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_EULER_NUMBER
)

MblobGetResultSingle(
Feature =
M_EULER_NUMBER
)
BlobAnalysis
Results
Item
EulerNumber
Synopsis
Returns the result for the EulerNumber feature.
[]
Syntax
[Integer =] object.EulerNumber
[]
Syntax
[long =] object->EulerNumber
Type description
A long value that specifies the Euler number of the blob.


BlobAnalysis.Results.Item.FeretElongation Property

FeretElongation property

See Also | Availability | MIL Equivalent | EulerNumber | FeretX
Reference:
BlobAnalysis.FeatureList.FeretElongation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_FERET_ELONGATION
)

MblobGetResultSingle(
Feature =
M_FERET_ELONGATION
)
BlobAnalysis
Results
Item
FeretElongation
Synopsis
Returns the result for the Feret elongation feature.
[]
Syntax
[Double =] object.FeretElongation
[]
Syntax
[double =] object->FeretElongation
Type description
A double value that specifies the Feret elongation of the blob.


BlobAnalysis.Results.Item.FeretX Property

FeretX property

See Also | Availability | MIL Equivalent | FeretElongation | FeretY
Reference:
BlobAnalysis.FeatureList.Box.FeretX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_FERET_X
)

MblobGetResultSingle(
Feature =
M_FERET_X
)
BlobAnalysis
Results
Item
FeretX
Synopsis
Returns the result for the FeretX feature (Feret at 0°) of the bounding box.
[]
Syntax
[Double =] object.FeretX
[]
Syntax
[double =] object->FeretX
Type description
A double value that specifies the width of the minimum bounding box of the blob.


BlobAnalysis.Results.Item.FeretY Property

FeretY property

See Also | Availability | MIL Equivalent | FeretX | FirstPointX
Reference:
BlobAnalysis.FeatureList.Box.FeretY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_FERET_Y
)

MblobGetResultSingle(
Feature =
M_FERET_Y
)
BlobAnalysis
Results
Item
FeretY
Synopsis
Returns the result for the FeretY feature (Feret at 90°) of the bounding box.
[]
Syntax
[Double =] object.FeretY
[]
Syntax
[double =] object->FeretY
Type description
A double value that specifies the height of the minimum bounding box of the blob.


BlobAnalysis.Results.Item.FirstPointX Property

FirstPointX property

See Also | Availability | MIL Equivalent | FeretY | FirstPointY
Reference:
BlobAnalysis.FeatureList.FirstPointX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_FIRST_POINT_X
)

MblobGetResultSingle(
Feature =
M_FIRST_POINT_X
)
BlobAnalysis
Results
Item
FirstPointX
Synopsis
Returns the result for the FirstPointX feature.
[]
Syntax
[Double =] object.FirstPointX
[]
Syntax
[double =] object->FirstPointX
Type description
A double value that specifies the X-coordinate of the leftmost pixel on the topmost row of the blob.


BlobAnalysis.Results.Item.FirstPointY Property

FirstPointY property

See Also | Availability | MIL Equivalent | FirstPointX | GeneralFeret
Reference:
BlobAnalysis.FeatureList.FirstPointY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_FIRST_POINT_Y
)

MblobGetResultSingle(
Feature =
M_FIRST_POINT_Y
)
BlobAnalysis
Results
Item
FirstPointY
Synopsis
Returns the result for the FirstPointY feature.
[]
Syntax
[Double =] object.FirstPointY
[]
Syntax
[double =] object->FirstPointY
Type description
A double value that specifies the Y coordinate on the topmost row of the blob.


BlobAnalysis.Results.Item.GeneralFeret Property

GeneralFeret property

See Also | Availability | MIL Equivalent | FirstPointY | GeneralMomentGrayscale
Reference:
BlobAnalysis.FeatureList.GeneralFeret
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_GENERAL_FERET
)

MblobGetResultSingle(
Feature =
M_GENERAL_FERET
)
BlobAnalysis
Results
Item
GeneralFeret
Synopsis
Returns the result for the general Feret feature.
[]
Syntax
[Double =] object.GeneralFeret
[]
Syntax
[double =] object->GeneralFeret
Type description
A double value that specifies the Feret of the blob at the specified angle.


BlobAnalysis.Results.Item.GeneralMoment Property

GeneralMoment property

See Also | Availability | MIL Equivalent | GeneralMomentGrayscale | Intercept0
Reference:
BlobAnalysis.FeatureList.GeneralMoment
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_GENERAL_MOMENT +
BINARY
)

MblobGetResultSingle(
Feature =
M_GENERAL_MOMENT +
BINARY
)
BlobAnalysis
Results
Item
GeneralMoment
Synopsis
Returns the result for the general moment feature calculated using the binary definition.
[]
Syntax
[Double =] object.GeneralMoment
[]
Syntax
[double =] object->GeneralMoment
Type description
A double value that specifies the general moment of the blob.


BlobAnalysis.Results.Item.GeneralMomentGrayscale Property

GeneralMomentGrayscale property

See Also | Availability | MIL Equivalent | GeneralFeret | GeneralMoment
Reference:
BlobAnalysis.FeatureList.GeneralMoment
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_GENERAL_MOMENT +
GRAYSCALE
)

MblobGetResultSingle(
Feature =
M_GENERAL_MOMENT +
GRAYSCALE
)
BlobAnalysis
Results
Item
GeneralMomentGrayscale
Synopsis
Returns the result for the general moment feature using the grayscale definition.
[]
Syntax
[Double =] object.GeneralMomentGrayscale
[]
Syntax
[double =] object->GeneralMomentGrayscale
Type description
A double value that specifies the general moment of the blob.


BlobAnalysis.Results.Item.Intercept0 Property

Intercept0 property

See Also | Availability | MIL Equivalent | GeneralMoment | Intercept135
Reference:
BlobAnalysis.FeatureList.Intercept0
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_INTERCEPT_0
)

MblobGetResultSingle(
Feature =
M_INTERCEPT_0
)
BlobAnalysis
Results
Item
Intercept0
Synopsis
Returns the result for the Intercept0 feature.
[]
Syntax
[Integer =] object.Intercept0
[]
Syntax
[long =] object->Intercept0
Type description
A long value that specifies the number of times a transition from background to foreground occurs at 0° in the blob.


BlobAnalysis.Results.Item.Intercept135 Property

Intercept135 property

See Also | Availability | MIL Equivalent | Intercept0 | Intercept45
Reference:
BlobAnalysis.FeatureList.Intercept135
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_INTERCEPT_135
)

MblobGetResultSingle(
Feature =
M_INTERCEPT_135
)
BlobAnalysis
Results
Item
Intercept135
Synopsis
Returns the result for the Intercept135 feature.
[]
Syntax
[Integer =] object.Intercept135
[]
Syntax
[long =] object->Intercept135
Type description
A long value that specifies the number of times a transition from background to foreground occurs at 135° in the blob.


BlobAnalysis.Results.Item.Intercept45 Property

Intercept45 property

See Also | Availability | MIL Equivalent | Intercept135 | Intercept90
Reference:
BlobAnalysis.FeatureList.Intercept45
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_INTERCEPT_45
)

MblobGetResultSingle(
Feature =
M_INTERCEPT_45
)
BlobAnalysis
Results
Item
Intercept45
Synopsis
Returns the result for the Intercept45 feature.
[]
Syntax
[Integer =] object.Intercept45
[]
Syntax
[long =] object->Intercept45
Type description
A long value that specifies the number of times a transition from background to foreground occurs at 45° in the blob.


BlobAnalysis.Results.Item.Intercept90 Property

Intercept90 property

See Also | Availability | MIL Equivalent | Intercept45 | LabelValue
Reference:
BlobAnalysis.FeatureList.Intercept90
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_INTERCEPT_90
)

MblobGetResultSingle(
Feature =
M_INTERCEPT_90
)
BlobAnalysis
Results
Item
Intercept90
Synopsis
Returns the result for the Intercept90 feature.
[]
Syntax
[Integer =] object.Intercept90
[]
Syntax
[long =] object->Intercept90
Type description
A long value that specifies the number of times a transition from background to foreground occurs at 90° in the blob.


BlobAnalysis.Results.Item.LabelValue Property

LabelValue property

Availability | MIL Equivalent | Intercept90 | Length
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
BlobAnalysis
Results
Item
LabelValue
Synopsis
Returns the label value of the blob.
[]
Syntax
[Integer =] object.LabelValue
[]
Syntax
[long =] object->LabelValue
Type description
A long value that specifies the label value given to a blob.


BlobAnalysis.Results.Item.Length Property

Length property

See Also | Availability | MIL Equivalent | LabelValue | MaximumFeretAngle
Reference:
BlobAnalysis.FeatureList.Length
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_LENGTH
)

MblobGetResultSingle(
Feature =
M_LENGTH
)
BlobAnalysis
Results
Item
Length
Synopsis
Returns the result for the length feature.
[]
Syntax
[Double =] object.Length
[]
Syntax
[double =] object->Length
Type description
A double value that specifies the length of the blob.


BlobAnalysis.Results.Item.MaximumFeretAngle Property

MaximumFeretAngle property

See Also | Availability | MIL Equivalent | Length | MaximumFeretDiameter
Reference:
BlobAnalysis.FeatureList.MaximumFeretAngle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_FERET_MAX_ANGLE
)

MblobGetResultSingle(
Feature =
M_FERET_MAX_ANGLE
)
BlobAnalysis
Results
Item
MaximumFeretAngle
Synopsis
Returns the result for the maximum Feret angle feature.
[]
Syntax
[Double =] object.MaximumFeretAngle
[]
Syntax
[double =] object->MaximumFeretAngle
Type description
A double value that specifies the angle of the maximum Feret diameter of the blob.


BlobAnalysis.Results.Item.MaximumFeretDiameter Property

MaximumFeretDiameter property

See Also | Availability | MIL Equivalent | MaximumFeretAngle | MaximumPixelValue
Reference:
BlobAnalysis.FeatureList.MaximumFeretDiameter
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_FERET_MAX_DIAMETER
)

MblobGetResultSingle(
Feature =
M_FERET_MAX_DIAMETER
)
BlobAnalysis
Results
Item
MaximumFeretDiameter
Synopsis
Returns the result for the maximum Feret diameter feature.
[]
Syntax
[Double =] object.MaximumFeretDiameter
[]
Syntax
[double =] object->MaximumFeretDiameter
Type description
A double value that specifies the maximum Feret diameter of the blob.


BlobAnalysis.Results.Item.MaximumPixelValue Property

MaximumPixelValue property

See Also | Availability | MIL Equivalent | MaximumFeretDiameter | MeanFeretDiameter
Reference:
BlobAnalysis.FeatureList.MaximumPixelValue
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_MAX_PIXEL
)

MblobGetResultSingle(
Feature =
M_MAX_PIXEL
)
BlobAnalysis
Results
Item
MaximumPixelValue
Synopsis
Returns the result for the maximum pixel value feature.
[]
Syntax
[Double =] object.MaximumPixelValue
[]
Syntax
[double =] object->MaximumPixelValue
Type description
A double value that specifies the maximum pixel value of the blob.


BlobAnalysis.Results.Item.MeanFeretDiameter Property

MeanFeretDiameter property

See Also | Availability | MIL Equivalent | MaximumPixelValue | MeanPixelValue
Reference:
BlobAnalysis.FeatureList.MeanFeretDiameter
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_FERET_MEAN_DIAMETER
)

MblobGetResultSingle(
Feature =
M_FERET_MEAN_DIAMETER
)
BlobAnalysis
Results
Item
MeanFeretDiameter
Synopsis
Returns the result for the mean Feret diameter feature.
[]
Syntax
[Double =] object.MeanFeretDiameter
[]
Syntax
[double =] object->MeanFeretDiameter
Type description
A double value that specifies the mean Feret diameter of the blob.


BlobAnalysis.Results.Item.MeanPixelValue Property

MeanPixelValue property

See Also | Availability | MIL Equivalent | MeanFeretDiameter | MinimumFeretAngle
Reference:
BlobAnalysis.FeatureList.MeanPixelValue
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_MEAN_PIXEL
)

MblobGetResultSingle(
Feature =
M_MEAN_PIXEL
)
BlobAnalysis
Results
Item
MeanPixelValue
Synopsis
Returns the result for the mean pixel value feature.
[]
Syntax
[Double =] object.MeanPixelValue
[]
Syntax
[double =] object->MeanPixelValue
Type description
A double value that specifies the mean pixel value of the blob.


BlobAnalysis.Results.Item.MinimumFeretAngle Property

MinimumFeretAngle property

See Also | Availability | MIL Equivalent | MeanPixelValue | MinimumFeretDiameter
Reference:
BlobAnalysis.FeatureList.MinimumFeretAngle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_FERET_MIN_ANGLE
)

MblobGetResultSingle(
Feature =
M_FERET_MIN_ANGLE
)
BlobAnalysis
Results
Item
MinimumFeretAngle
Synopsis
Returns the result for the minimum Feret angle feature.
[]
Syntax
[Double =] object.MinimumFeretAngle
[]
Syntax
[double =] object->MinimumFeretAngle
Type description
A double value that specifies the angle of the minimum Feret diameter of the blob.


BlobAnalysis.Results.Item.MinimumFeretDiameter Property

MinimumFeretDiameter property

See Also | Availability | MIL Equivalent | MinimumFeretAngle | MinimumPixelValue
Reference:
BlobAnalysis.FeatureList.MinimumFeretDiameter
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_FERET_MIN_DIAMETER
)

MblobGetResultSingle(
Feature =
M_FERET_MIN_DIAMETER
)
BlobAnalysis
Results
Item
MinimumFeretDiameter
Synopsis
Returns the result for the minimum Feret diameter feature.
[]
Syntax
[Double =] object.MinimumFeretDiameter
[]
Syntax
[double =] object->MinimumFeretDiameter
Type description
A double value that specifies the minimum Feret diameter of the blob.


BlobAnalysis.Results.Item.MinimumPixelValue Property

MinimumPixelValue property

See Also | Availability | MIL Equivalent | MinimumFeretDiameter | MomentX0Y1Grayscale
Reference:
BlobAnalysis.FeatureList.MinimumPixelValue
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_MIN_PIXEL
)

MblobGetResultSingle(
Feature =
M_MIN_PIXEL
)
BlobAnalysis
Results
Item
MinimumPixelValue
Synopsis
Returns the result of the minimum pixel value feature.
[]
Syntax
[Double =] object.MinimumPixelValue
[]
Syntax
[double =] object->MinimumPixelValue
Type description
A double value that specifies the minimum pixel value of the blob.


BlobAnalysis.Results.Item.MomentX0Y1 Property

MomentX0Y1 property

See Also | Availability | MIL Equivalent | MomentX0Y1Grayscale | MomentX0Y2Grayscale
Reference:
BlobAnalysis.FeatureList.MomentX0Y1
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_MOMENT_X0_Y1 +
BINARY
)

MblobGetResultSingle(
Feature =
M_MOMENT_X0_Y1 +
BINARY
)
BlobAnalysis
Results
Item
MomentX0Y1
Synopsis
Returns the result for the MomentX0Y1 feature calculated using the binary definition.
[]
Syntax
[Double =] object.MomentX0Y1
[]
Syntax
[double =] object->MomentX0Y1
Type description
A double value that specifies the X°Y¹ moment of the blob.


BlobAnalysis.Results.Item.MomentX0Y1Grayscale Property

MomentX0Y1Grayscale property

See Also | Availability | MIL Equivalent | MinimumPixelValue | MomentX0Y1
Reference:
BlobAnalysis.FeatureList.MomentX0Y1
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_MOMENT_X0_Y1 +
GRAYSCALE
)

MblobGetResultSingle(
Feature =
M_MOMENT_X0_Y1 +
GRAYSCALE
)
BlobAnalysis
Results
Item
MomentX0Y1Grayscale
Synopsis
Returns the result for the MomentX0Y1 feature calculated using the grayscale definition.
[]
Syntax
[Double =] object.MomentX0Y1Grayscale
[]
Syntax
[double =] object->MomentX0Y1Grayscale
Type description
A double value that specifies the X°Y¹ moment of the blob.


BlobAnalysis.Results.Item.MomentX0Y2 Property

MomentX0Y2 property

See Also | Availability | MIL Equivalent | MomentX0Y2Grayscale | MomentX1Y0Grayscale
Reference:
BlobAnalysis.FeatureList.MomentX0Y2
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_MOMENT_XO_Y2 +
BINARY
)

MblobGetResultSingle(
Feature =
M_MOMENT_XO_Y2 +
BINARY
)
BlobAnalysis
Results
Item
MomentX0Y2
Synopsis
Returns the result for the MomentX0Y2 feature calculated using the binary definition.
[]
Syntax
[Double =] object.MomentX0Y2
[]
Syntax
[double =] object->MomentX0Y2
Type description
A double value that specifies the X°Y² moment of the blob.


BlobAnalysis.Results.Item.MomentX0Y2Grayscale Property

MomentX0Y2Grayscale property

See Also | Availability | MIL Equivalent | MomentX0Y1 | MomentX0Y2
Reference:
BlobAnalysis.FeatureList.MomentX0Y2
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_MOMENT_XO_Y2 +
GRAYSCALE
)

MblobGetResultSingle(
Feature =
M_MOMENT_XO_Y2 +
GRAYSCALE
)
BlobAnalysis
Results
Item
MomentX0Y2Grayscale
Synopsis
Returns the result for the MomentX0Y2 feature calculated using the grayscale definition.
[]
Syntax
[Double =] object.MomentX0Y2Grayscale
[]
Syntax
[double =] object->MomentX0Y2Grayscale
Type description
A double value that specifies the X°Y² moment of the blob.


BlobAnalysis.Results.Item.MomentX1Y0 Property

MomentX1Y0 property

See Also | Availability | MIL Equivalent | MomentX1Y0Grayscale | MomentX1Y1Grayscale
Reference:
BlobAnalysis.FeatureList.MomentX1Y0
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_MOMENT_X1_Y0 +
BINARY
)

MblobGetResultSingle(
Feature =
M_MOMENT_X1_Y0 +
BINARY
)
BlobAnalysis
Results
Item
MomentX1Y0
Synopsis
Returns the result for the MomentX1Y0 feature calculated using the binary definition.
[]
Syntax
[Double =] object.MomentX1Y0
[]
Syntax
[double =] object->MomentX1Y0
Type description
A double value that specifies the X¹Y° moment of the blob.


BlobAnalysis.Results.Item.MomentX1Y0Grayscale Property

MomentX1Y0Grayscale property

See Also | Availability | MIL Equivalent | MomentX0Y2 | MomentX1Y0
Reference:
BlobAnalysis.FeatureList.MomentX1Y0
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_MOMENT_X1_Y0 +
GRAYSCALE
)

MblobGetResultSingle(
Feature =
M_MOMENT_X1_Y0 +
GRAYSCALE
)
BlobAnalysis
Results
Item
MomentX1Y0Grayscale
Synopsis
Returns the result for the MomentX1Y0 feature calculated using the grayscale definition.
[]
Syntax
[Double =] object.MomentX1Y0Grayscale
[]
Syntax
[double =] object->MomentX1Y0Grayscale
Type description
A double value that specifies the X¹Y° moment of the blob.


BlobAnalysis.Results.Item.MomentX1Y1 Property

MomentX1Y1 property

See Also | Availability | MIL Equivalent | MomentX1Y1Grayscale | MomentX2Y0Grayscale
Reference:
BlobAnalysis.FeatureList.MomentX1Y1
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_MOMENT_X1_Y1 +
BINARY
)

MblobGetResultSingle(
Feature =
M_MOMENT_X1_Y1 +
BINARY
)
BlobAnalysis
Results
Item
MomentX1Y1
Synopsis
Returns the result for the MomentX1Y1 feature calculated using the binary definition.
[]
Syntax
[Double =] object.MomentX1Y1
[]
Syntax
[double =] object->MomentX1Y1
Type description
A double value that specifies the X¹Y¹ moment of the blob.


BlobAnalysis.Results.Item.MomentX1Y1Grayscale Property

MomentX1Y1Grayscale property

See Also | Availability | MIL Equivalent | MomentX1Y0 | MomentX1Y1
Reference:
BlobAnalysis.FeatureList.MomentX1Y1
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_MOMENT_X1_Y1 +
GRAYSCALE
)

MblobGetResultSingle(
Feature =
M_MOMENT_X1_Y1 +
GRAYSCALE
)
BlobAnalysis
Results
Item
MomentX1Y1Grayscale
Synopsis
Returns the result for the MomentX1Y1 feature calculated using the grayscale definition.
[]
Syntax
[Double =] object.MomentX1Y1Grayscale
[]
Syntax
[double =] object->MomentX1Y1Grayscale
Type description
A double value that specifies the X¹Y¹ moment of the blob.


BlobAnalysis.Results.Item.MomentX2Y0 Property

MomentX2Y0 property

See Also | Availability | MIL Equivalent | MomentX2Y0Grayscale | NumberOfHoles
Reference:
BlobAnalysis.FeatureList.MomentX2Y0
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_MOMENT_X2_Y0 +
BINARY
)

MblobGetResultSingle(
Feature =
M_MOMENT_X2_Y0 +
BINARY
)
BlobAnalysis
Results
Item
MomentX2Y0
Synopsis
Returns the result for the MomentX2Y0 feature calculated using the binary definition.
[]
Syntax
[Double =] object.MomentX2Y0
[]
Syntax
[double =] object->MomentX2Y0
Type description
A double value that specifies the X²Y° moment of the blob.


BlobAnalysis.Results.Item.MomentX2Y0Grayscale Property

MomentX2Y0Grayscale property

See Also | Availability | MIL Equivalent | MomentX1Y1 | MomentX2Y0
Reference:
BlobAnalysis.FeatureList.MomentX2Y0
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_MOMENT_X2_Y0 +
GRAYSCALE
)

MblobGetResultSingle(
Feature =
M_MOMENT_X2_Y0 +
GRAYSCALE
)
BlobAnalysis
Results
Item
MomentX2Y0Grayscale
Synopsis
Returns the result for the MomentX2Y0 feature calculated using the grayscale definition.
[]
Syntax
[Double =] object.MomentX2Y0Grayscale
[]
Syntax
[double =] object->MomentX2Y0Grayscale
Type description
A double value that specifies the X²Y° moment of the blob.


BlobAnalysis.Results.Item.NumberOfHoles Property

NumberOfHoles property

See Also | Availability | MIL Equivalent | MomentX2Y0 | Perimeter
Reference:
BlobAnalysis.FeatureList.NumberOfHoles
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_NUMBER_OF_HOLES
)

MblobGetResultSingle(
Feature =
M_NUMBER_OF_HOLES
)
BlobAnalysis
Results
Item
NumberOfHoles
Synopsis
Returns the result for the NumberOfHoles feature.
[]
Syntax
[Integer =] object.NumberOfHoles
[]
Syntax
[long =] object->NumberOfHoles
Type description
A long value that specifies the number holes in the blob.


BlobAnalysis.Results.Item.Perimeter Property

Perimeter property

See Also | Availability | MIL Equivalent | NumberOfHoles | PrincipalAxisAngleGrayscale
Reference:
BlobAnalysis.FeatureList.Perimeter
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_PERIMETER
)

MblobGetResultSingle(
Feature =
M_PERIMETER
)
BlobAnalysis
Results
Item
Perimeter
Synopsis
Returns the result for the perimeter feature.
[]
Syntax
[Double =] object.Perimeter
[]
Syntax
[double =] object->Perimeter
Type description
A double value that specifies the perimeter of the blob.


BlobAnalysis.Results.Item.PrincipalAxisAngle Property

PrincipalAxisAngle property

See Also | Availability | MIL Equivalent | PrincipalAxisAngleGrayscale | Roughness
Reference:
BlobAnalysis.FeatureList.PrincipalAxisAngle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_AXIS_PRINCIPAL_ANGLE +
BINARY
)

MblobGetResultSingle(
Feature =
M_AXIS_PRINCIPAL_ANGLE +
BINARY
)
BlobAnalysis
Results
Item
PrincipalAxisAngle
Synopsis
Returns the result for the principal-axis angle feature calculated using the binary definition.
[]
Syntax
[Double =] object.PrincipalAxisAngle
[]
Syntax
[double =] object->PrincipalAxisAngle
Type description
A double value that specifies the principal-axis angle of the blob.


BlobAnalysis.Results.Item.PrincipalAxisAngleGrayscale Property

PrincipalAxisAngleGrayscale property

See Also | Availability | MIL Equivalent | Perimeter | PrincipalAxisAngle
Reference:
BlobAnalysis.FeatureList.PrincipalAxisAngle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_AXIS_PRINCIPAL_ANGLE +
GRAYSCALE
)

MblobGetResultSingle(
Feature =
M_AXIS_PRINCIPAL_ANGLE +
GRAYSCALE
)
BlobAnalysis
Results
Item
PrincipalAxisAngleGrayscale
Synopsis
Returns the result for the principal-axis angle feature calculated using the grayscale definition.
[]
Syntax
[Double =] object.PrincipalAxisAngleGrayscale
[]
Syntax
[double =] object->PrincipalAxisAngleGrayscale
Type description
A double value that specifies the principal-axis angle of the blob.


BlobAnalysis.Results.Item.Roughness Property

Roughness property

See Also | Availability | MIL Equivalent | PrincipalAxisAngle | Runs
Reference:
BlobAnalysis.FeatureList.Roughness
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_ROUGHNESS
)

MblobGetResultSingle(
Feature =
M_ROUGHNESS
)
BlobAnalysis
Results
Item
Roughness
Synopsis
Returns the result for the roughness feature.
[]
Syntax
[Double =] object.Roughness
[]
Syntax
[double =] object->Roughness
Type description
A double value that specifies the roughness of the blob.


BlobAnalysis.Results.Item.Runs Property

Runs property

See Also | Availability | MIL Equivalent | Roughness | SecondaryAxisAngleGrayscale
Reference:
BlobAnalysis.FeatureList.Runs
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetRuns()
BlobAnalysis
Results
Item
Runs
Properties: Count, Item
Synopsis
Returns the collection of runs calculated for the blob, allowing access to the results of each run.
[]
Syntax
[BlobRuns =] object.Runs
[]
Syntax
[IBlobRunsPtr =] object->Runs
Type description
A BlobRuns expression that represents an instance of a BlobRuns collection.
Remark
  • You cannot use this property if the run information has not been previously saved. The Calculate method saves the run information only if SaveRunInformationEnabled property is set to True.


BlobAnalysis.Results.Item.Runs.Count Property

Count property

Availability | MIL Equivalent | Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_NUMBER_OF_RUNS
)
BlobAnalysis
Results
Item
Runs
Count
Synopsis
Returns the number of elements in the blob's collection of runs.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A long value that specifies the number of runs in the blob's collection.
Remarks
  • The elements in the collection of runs refers to a particular run of the specified blob.
  • You cannot use this property if the run information has not been previously saved. The Calculate method saves the run information only if SaveRunInformationEnabled property is set to True.


BlobAnalysis.Results.Item.Runs.Item Property

Item property

Availability | MIL Equivalent | Count
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
BlobAnalysis
Results
Item
Runs
Item
Properties: Length, StartX, StartY
Synopsis
Returns the element at the specified index in the collection of runs.
[]
Syntax
[BlobRun=]object.Item(
Index As Integer
)
[]
Syntax
[IBlobRunPtr =] object->Item(
long Index
)
Index
A long value that specifies the index of the required element.
Type description
A BlobRun object.
Remarks
  • If the value provided as the index does not match any existing element in the collection, an error occurs. Note, the index of the first element of this collection starts at one.
  • You cannot use this property if the run information has not been previously saved. The Calculate method saves the run information only if SaveRunInformationEnabled property is set to True.
  • The elements in the collection of runs refers to a particular run of the specified blob.


BlobAnalysis.Results.Item.Runs.Item.Length Property

Length property

See Also | Availability | MIL Equivalent | StartX
Reference:
BlobAnalysis.FeatureList.Runs
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetRuns(RunLengthPtr)
BlobAnalysis
Results
Item
Runs
Item
Length
Synopsis
Returns the length of the blob run.
[]
Syntax
[Integer =] object.Length
[]
Syntax
[long =] object->Length
Type description
A long value that specifies length of the blob run.
Remark
  • You cannot use this property if the run information has not been previously saved. The Calculate method saves the run information only if SaveRunInformationEnabled property is set to True.


BlobAnalysis.Results.Item.Runs.Item.StartX Property

StartX property

See Also | Availability | MIL Equivalent | Length | StartY
Reference:
BlobAnalysis.FeatureList.Runs
BlobAnalysis.Results.Item.Runs.Item.StartY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetRuns(RunXPtr)
BlobAnalysis
Results
Item
Runs
Item
StartX
Synopsis
Returns the X-coordinate of the leftmost pixel of the blob run.
[]
Syntax
object.StartX [= Integer]
[]
Syntax
object->StartX [= long]
Type description
A long value that specifies the X-coordinate of leftmost pixel of the run.
Remark
  • You cannot use this property if the run information has not been previously saved. The Calculate method saves the run information only if SaveRunInformationEnabled property is set to True.


BlobAnalysis.Results.Item.Runs.Item.StartY Property

StartY property

See Also | Availability | MIL Equivalent | StartX
Reference:
BlobAnalysis.FeatureList.Runs
BlobAnalysis.Results.Item.Runs.Item.StartX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetRuns(RunYPtr)
BlobAnalysis
Results
Item
Runs
Item
StartY
Synopsis
Returns the Y-coordinate of the leftmost pixel of the blob run.
[]
Syntax
object.StartY [= Integer]
[]
Syntax
object->StartY [= long]
Type description
A long value that specifies the Y-coordinate of the leftmost pixel of the run.
Remark
  • You cannot use this property if the run information has not been previously saved. The Calculate method saves the run information only if SaveRunInformationEnabled property is set to True.


BlobAnalysis.Results.Item.SecondaryAxisAngle Property

SecondaryAxisAngle property

See Also | Availability | MIL Equivalent | SecondaryAxisAngleGrayscale | SigmaOfPixelValues
Reference:
BlobAnalysis.FeatureList.SecondaryAxisAngle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_AXIS_SECONDARY_ANGLE +
BINARY
)

MblobGetResultSingle(
Feature =
M_AXIS_SECONDARY_ANGLE +
BINARY
)
BlobAnalysis
Results
Item
SecondaryAxisAngle
Synopsis
Returns the result for the secondary-axis angle feature calculated using the binary definition.
[]
Syntax
[Double =] object.SecondaryAxisAngle
[]
Syntax
[double =] object->SecondaryAxisAngle
Type description
A double value that specifies the secondary-axis angle of the blob.


BlobAnalysis.Results.Item.SecondaryAxisAngleGrayscale Property

SecondaryAxisAngleGrayscale property

See Also | Availability | MIL Equivalent | Runs | SecondaryAxisAngle
Reference:
BlobAnalysis.FeatureList.SecondaryAxisAngle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_AXIS_SECONDARY_ANGLE +
GRAYSCALE
)

MblobGetResultSingle(
Feature =
M_AXIS_SECONDARY_ANGLE +
GRAYSCALE
)
BlobAnalysis
Results
Item
SecondaryAxisAngleGrayscale
Synopsis
Returns the result of the secondary-axis angle feature calculated using the grayscale definition.
[]
Syntax
[Double =] object.SecondaryAxisAngleGrayscale
[]
Syntax
[double =] object->SecondaryAxisAngleGrayscale
Type description
A double value that specifies the secondary-axis angle of the blob.


BlobAnalysis.Results.Item.SigmaOfPixelValues Property

SigmaOfPixelValues property

See Also | Availability | MIL Equivalent | SecondaryAxisAngle | SumOfPixelValues
Reference:
BlobAnalysis.FeatureList.SigmaOfPixelValues
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_SIGMA_PIXEL
)

MblobGetResultSingle(
Feature =
M_SIGMA_PIXEL
)
BlobAnalysis
Results
Item
SigmaOfPixelValues
Synopsis
Returns the result for the SigmaOfPixelValues feature.
[]
Syntax
[Double =] object.SigmaOfPixelValues
[]
Syntax
[double =] object->SigmaOfPixelValues
Type description
A double value that specifies the SigmaOfPixelValues of the blob.


BlobAnalysis.Results.Item.SumOfPixelValues Property

SumOfPixelValues property

See Also | Availability | MIL Equivalent | SigmaOfPixelValues | SumOfSquaredPixelValues
Reference:
BlobAnalysis.FeatureList.SumOfPixelValues
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_SUM_PIXEL
)

MblobGetResultSingle(
Feature =
M_SUM_PIXEL
)
BlobAnalysis
Results
Item
SumOfPixelValues
Synopsis
Returns the result for the SumOfPixelValues feature.
[]
Syntax
[Double =] object.SumOfPixelValues
[]
Syntax
[double =] object->SumOfPixelValues
Type description
A double value that specifies the sum of all the pixel values in the blob.


BlobAnalysis.Results.Item.SumOfSquaredPixelValues Property

SumOfSquaredPixelValues property

See Also | Availability | MIL Equivalent | SumOfPixelValues | Draw
Reference:
BlobAnalysis.FeatureList.SumOfSquaredPixelValues
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetResult(
Feature =
M_SUM_PIXEL_SQUARED
)

MblobGetResultSingle(
Feature =
M_SUM_PIXEL_SQUARED
)
BlobAnalysis
Results
Item
SumOfSquaredPixelValues
Synopsis
Returns the result for the SumOfSquaredPixelValues feature.
[]
Syntax
[Double =] object.SumOfSquaredPixelValues
[]
Syntax
[double =] object->SumOfSquaredPixelValues
Type description
A double value that specifies the sum of squared pixel values in the blob.


BlobAnalysis.Results.Item.Draw Method

Draw method

See Also | Availability | MIL Equivalent | SumOfSquaredPixelValues
User Guide:
Drawing results

Reference:
BlobAnalysis.Results.Draw
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox CronosPlus
Fully supported on Matrox Corona-II
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Orion
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
MblobDraw(
Label =
Label of the blob to draw
)
BlobAnalysis
Results
Item
Draw
Synopsis
Draws the specified results, calculated for the blob, in the destination image.
[]
Syntax
object.Draw(
ByVal ImageOrGraphicContext As Object,
ByVal Operation As BlobDrawOperationConstants
)
[]
Syntax
void object->Draw(
IDispatch * ImageOrGraphicContext,
enum BlobDrawOperationConstants Operation
)
ImageOrGraphicContext
An Image control that specifies the image into which to draw, or a GraphicContext control that specifies the graphic context and image to use to draw feature results.
Operation
A BlobDrawOperationConstants expression that specifies the feature results to draw. These constants can be added together to draw multiple features simultaneously.
Value | Meaning
blobDrawAxis | Draws a cross centered at the blob's center of gravity, respecting the principal and secondary axes.
blobDrawBlobs | Draws the blob.
blobDrawBlobsContour | Draws the blob's external outline.
blobDrawBox | Draws the bounding box of the blob.
blobDrawBoxCenter | Draws a cross at the center of the bounding box of the blob.
blobDrawFeretMaximum | Draws the blob's maximum Feret diameter, using an H-type line ( |-| ) centered at the blob's position and at the maximum Feret diameter's angle.
blobDrawFeretMinimum | Draws the blob's minimum Feret diameter, using an H-type line ( |-| ) centered at the blob's position and at the minimum Feret diameter's angle.
blobDrawHoles | Draws the blob's holes.
blobDrawHolesContour | Draws the outline of the blob's holes.
blobDrawPosition | Draws a cross at the center of gravity of the blob.
Remarks
  • For example, to draw both the position and contour of the blob, set the Operation parameter to blobDrawPosition + blobDrawBlobsContour.
  • The following list specifies the features which must be selected and calculated to perform certain drawing operations:
    blobDrawAxis | To perform this operation, either the PrincipalAxisAngle property or SecondaryAxisAngle property of the FeatureList property must be set to a value other than blobFalse.
    blobDrawHoles, blobDrawBox, and blobDrawBoxCenter | To perform this operation, one of the properties of the FeatureList.Box property must be set to blobTrue.
    blobDrawPosition | To perform this operation, one of the properties of the FeatureList.CenterOfGravity property must be set to a value other than blobFalse.
    blobDrawFeretMinimum and blobDrawFeretMaximum | To perform this operation, one of the properties of the FeatureList.Box property, and one among the MinimumFeretAngle, MinimumFeretDiameter, MaximumFeretAngle, or MaximumFeretDiameter properties of the FeatureList property, must be set to True.
    blobDrawBlobs, blobDrawBlobsContour, blobDrawHoles, and blobDrawHolesContour | To perform this operation, the SaveRunInformationEnabled property must have been set to True prior to calling the Calculate method.
  • Note that when using either blobDrawBlobsContour or blobDrawHolesContour with the IdentifierBlobType property set to either blobEntireImage or blobLabeled, both blob and hole contours will be drawn.
  • When setting the ImageOrGraphicContext parameter to a GraphicContext control, the image associated with the control is used as the destination image.
  • You can also choose to draw in the display's overlay image.
  • When using this method to draw features in calibrated images, this method draws all the requested features according to whether the destination image is physically corrected or not.
Remark for Matrox Odyssey XA
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the BlobAnalysis control. If not, an error will occur.
Remark for Matrox Odyssey XCL
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the BlobAnalysis control. If not, an error will occur.
Remark for Matrox Odyssey XD
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the BlobAnalysis control. If not, an error will occur.


BlobAnalysis.Results.MaximumLabelValue Property

MaximumLabelValue property

Availability | MIL Equivalent | Item | MilID
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobInquire(
InquireType =
M_MAX_LABEL
)
BlobAnalysis
Results
MaximumLabelValue
Synopsis
Returns the maximum label value given to a blob.
[]
Syntax
[Integer =] object.MaximumLabelValue
[]
Syntax
[long =] object->MaximumLabelValue
Type description
A long value that specifies the maximum label value given to a blob.


BlobAnalysis.Results.MilID Property

MilID property

See Also | Availability | MIL Equivalent | MaximumLabelValue | AtCoordinates
User Guide:
Integrating MIL functions with your ActiveMIL code

Reference:
BlobAnalysis.IsAllocated
BlobAnalysis.Modified
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobAllocResult(BlobResIdPtr)
BlobAnalysis
Results
MilID
Synopsis
Returns the Native MIL identifier of the allocated resources of the collection of blob results.
[]
Syntax
[Integer =] object.MilID
[]
Syntax
[long =] object->MilID
Type description
A long value that specifies the Native MIL identifier of the collection of blob results.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • The control's Modified method should be called after making Native MIL call(s) on the returned identifier.
  • If the control's IsAllocated property is set to False, the MilID will be 0.


BlobAnalysis.Results.AtCoordinates Method

AtCoordinates method

Availability | MIL Equivalent | MilID | AtLabel
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobGetLabel()
BlobAnalysis
Results
AtCoordinates
Synopsis
Returns the results for the blob located at the specified coordinates.
[]
Syntax
[BlobResult =] object.AtCoordinates(
ByVal X As Integer,
ByVal Y As Integer
)
[]
Syntax
[IBlobResultPtr =] object->AtCoordinates(
long X,
long Y
)
X
A long value that specifies the X-position of the blob.
Y
A long value that specifies the Y-position of the blob.
Return value
Returns the results for the specified blob.
Remarks
  • If there is no blob at the specified coordinates, an error is generated.
  • You cannot use this method if the run information has not been previously saved. The Calculate method saves the run information only if SaveRunInformationEnabled property is set to True.
  • This method provides another means of accessing the collection of blob results (available through the properties of the Item property) since it also returns a BlobResult object. For example, to access results using this method, use the following syntax:

    BlobAnalysis1.Results.AtCoordinates(10,10).Area

    where (10,10) refers to the coordinates of the blob in the blob identifier image.

[]
Example
This example shows how to use the AtCoordinates method.

Dim Result As BlobResult
Dim Breadth As Double

' Get all the results for the blob that can be found at
' the specified coordinates.
    Result = BlobAnalysis1.Results.AtCoordinates(200, 287)

' Get the breadth results for the blob found at the specified coordinates.
Breadth = Result.Breadth
[]
Example
This example shows how to use the AtCoordinates method.

// Get all the results for the blob that can be found at
// the specified coordinates.
IBlobResultPtr ResultPtr;
ResultPtr = m_BlobAnalysis->Results->AtCoordinates(183, 164);

// Get the breadth results for the blob found at the specified coordinates.
Breadth = ResultPtr->Breadth;


BlobAnalysis.Results.AtLabel Method

AtLabel method

See Also | Availability | MIL Equivalent | AtCoordinates | Draw
Reference:
BlobAnalysis.IdentifierBlobType
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
BlobAnalysis
Results
AtLabel
Synopsis
Returns the results for the blob with the specified label value.
[]
Syntax
[BlobResult =] object.AtLabel(
ByVal LabelValue As Integer
)
[]
Syntax
[IBlobResultPtr =] object->AtLabel(
long LabelValue
)
LabelValue
A long value that specifies the blob's label value.
Return value
Returns the results for the specified blob.
Remarks
  • If there is no blob with the specified label, an error is generated.
  • This method provides another means of accessing the collection of blob results (available through the properties of the Item property) since it also returns a BlobResult object. For example, to access results using this method, use the following syntax:

    BlobAnalysis1.Results.AtLabel(1).Area

[]
Example
This example shows how to use the AtLabel method.

Const BLOB_SMALL_LABEL = 7
Dim Result As BlobResult
Dim FirstPointX As Integer
Dim FirstPointY As Integer

' Get all the results for all the blobs marked with a specified label.
Result = BlobAnalysis1.Results.AtLabel(BLOB_SMALL_LABEL)

' Get the FirstPointX and FirstPointY results for these blobs.
FirstPointX = Result.FirstPointX
FirstPointY = Result.FirstPointY
[]
Example
This example shows how to use the AtLabel method.

double FirstPointX;
double FirstPointY;

m_BlobAnalysis->IdentifierBlobType = blobLabeled;
m_BlobAnalysis->Calculate();

// Get the results for all the blobs marked with a specified label.
long Label = m_BlobAnalysis->Results->MaximumLabelValue;
IBlobResultPtr ResultPtr;
ResultPtr = m_BlobAnalysis->Results->AtLabel(Label);

// Get the FirstPointX and FirstPointY results for these blobs.
FirstPointX = ResultPtr->FirstPointX;
FirstPointY = ResultPtr->FirstPointY;


BlobAnalysis.Results.Draw Method

Draw method

See Also | Availability | MIL Equivalent | AtLabel | Get
User Guide:
Drawing results

Reference:
BlobAnalysis.Results.Item.Draw
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox CronosPlus
Fully supported on Matrox Corona-II
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Orion
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
MblobDraw()
BlobAnalysis
Results
Draw
Synopsis
Draws the specified results, calculated for the specified group of blobs, in the destination image.
[]
Syntax
object.Draw(
ByVal ImageOrGraphicContext As Object,
ByVal Operation As BlobDrawOperationConstants,
ByVal Criterion As BlobCriterionConstants
)
[]
Syntax
void object->Draw(
IDispatch * ImageOrGraphicContext,
enum BlobDrawOperationConstants Operation,
enum BlobCriterionConstants Criterion
)
ImageOrGraphicContext
An Image control that specifies the image into which to draw, or a GraphicContext control that specifies the graphic context and image to use to draw feature results.
Operation
A BlobDrawOperationConstants expression that specifies the feature results to draw. These constants can be added together to draw multiple features simultaneously.
Value | Meaning
blobDrawAxis | Draws a cross centered at the blobs' center of gravity, respecting the principal and secondary axes.
blobDrawBlobs | Draws the blobs.
blobDrawBlobsContour | Draws the blobs' external outline.
blobDrawBox | Draws the bounding box of each blob.
blobDrawBoxCenter | Draws a cross at the center of the bounding box of each blob.
blobDrawFeretMaximum | Draws the blobs' maximum Feret diameter, using an H-type line ( |-| ) centered at the blobs' position and at the maximum Feret diameter's angle.
blobDrawFeretMinimum | Draws the blobs' minimum Feret diameter, using an H-type line ( |-| ) centered at the blobs' position and at the minimum Feret diameter's angle.
blobDrawHoles | Draws the blobs' holes.
blobDrawHolesContour | Draws the outline of the blobs' holes.
blobDrawPosition | Draws a cross at the center of gravity of the blobs.
Criterion
A BlobCriterionConstants expression that specifies the blobs to draw.
Value | Meaning
blobIncludedBlobs | Draws all currently included blobs.
blobExcludedBlobs | Draws all currently excluded blobs.
blobAllBlobs | Draws all blobs.
Remarks
  • For example, to draw both the position and contours of the blobs, set the Operation parameter to blobDrawPosition + blobDrawBlobsContour.
  • The following list specifies the features which must be selected and calculated to perform certain drawing operations:
    blobDrawAxis | To perform this operation, either the PrincipalAxisAngle property or SecondaryAxisAngle property of the FeatureList property must be set to a value other than blobFalse.
    blobDrawHoles, blobDrawBox, and blobDrawBoxCenter | To perform this operation, one of the properties of the FeatureList.Box property must be set to blobTrue.
    blobDrawPosition | To perform this operation, one of the properties of the FeatureList.CenterOfGravity property must be set to a value other than blobFalse.
    blobDrawFeretMinimum and blobDrawFeretMaximum | To perform this operation, one of the properties of the FeatureList.Box property, and one among the MinimumFeretAngle, MinimumFeretDiameter, MaximumFeretAngle, or MaximumFeretDiameter properties of the FeatureList property, must be set to True.
    blobDrawBlobs, blobDrawBlobsContour, blobDrawHoles, and blobDrawHolesContour | To perform this operation, the SaveRunInformationEnabled property must have been set to True prior to calling the Calculate method.
  • Note that when using either blobDrawBlobsContour or blobDrawHolesContour with the IdentifierBlobType property set to either blobEntireImage or blobLabeled, both blob and hole contours will be drawn.
  • When setting the ImageOrGraphicContext parameter to a GraphicContext control, the image associated with the control is used as the destination image.
  • You can also choose to draw in the display's overlay image.
  • When using this method to draw features in calibrated images, this method draws all the requested features according to whether the destination image is physically corrected or not.
Remark for Matrox Odyssey XA
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the BlobAnalysis control. If not, an error will occur.
Remark for Matrox Odyssey XCL
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the BlobAnalysis control. If not, an error will occur.
Remark for Matrox Odyssey XD
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the BlobAnalysis control. If not, an error will occur.
[]
Example
This example shows how to draw blobs on an image.

Const SMALL_BLOB_SIZE = 250
Const MEDIUM_BLOB_SIZE = 1000

' Create a filter that will select all the blobs in a specified range of size.
Dim Index As Integer
Index = BlobAnalysis1.Filters.Add(blobInclude, blobArea, blobInRange, _
                                SMALL_BLOB_SIZE, MEDIUM_BLOB_SIZE)

' Apply the filter on the image.
BlobAnalysis1.ApplyFilter(Index, False)

MediumGraphicContext.ForegroundShade = MEDIUM_SEDIMENT_VALUE

' Draw all the selected blobs in a new image.
BlobAnalysis1.Results.Draw(MediumGraphicContext, blobDrawBlobs, _
                                blobIncludedBlobs)
[]
Example
This example shows how to draw blobs in an image.

// Create a filter that will select all the blobs in a specified range of size.
long Index = m_BlobAnalysis->Filters->Add(blobInclude, blobArea,
                                          blobInRange, 250, 1000);

// Apply the filter to the image.
m_BlobAnalysis->ApplyFilter(Index, FALSE);

// Draw all the selected blobs in a new image.
m_BlobAnalysis->Results->Draw(m_DisplayedImage, blobDrawBlobs,
                              blobIncludedBlobs);


BlobAnalysis.Results.Get Method

Get method

Availability | MIL Equivalent | Draw | GetMultiple
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
MblobGetResult()

MblobGetResultSingle(
Feature =
M_CHAIN_INDEX or
M_CHAIN_X or
M_CHAIN_Y
)
BlobAnalysis
Results
Get
Synopsis
Copies the specified feature results to a user array.
[]
Syntax
object.Get(
ByVal ResultType As BlobResultTypeConstants,
ByVal UserArray As Array,
ByVal Index As Integer
)
[]
Syntax
void object->Get(
enum BlobResultTypeConstants ResultType,
VARIANT * UserArray,
long Index
)
ResultType
A BlobResultTypeConstants expression that specifies the feature result data to place in the user array.
Value | Meaning
blobAreas | The Area feature.
blobBoxXMinimums | The XMinimum feature of the bounding box.
blobBoxYMinimums | The YMinimum feature of the bounding box.
blobBoxXMaximums | The XMaximum feature of the bounding box.
blobBoxYMaximums | The YMaximum feature of the bounding box.
blobBreadths | The Breadth feature.
blobCentersOfGravityX | The X-coordinate feature of the center of gravity.
blobCentersOfGravityXGrayscale | The X-coordinate feature of the center of gravity, calculated using the grayscale definition.
blobCentersOfGravityY | The Y-coordinate feature of the center of gravity.
blobCentersOfGravityYGrayscale | The Y-coordinate feature of the center of gravity, calculated using the grayscale definition.
blobCentralMomentsX0Y2 | The CentralMomentX0Y2 feature.
blobCentralMomentsX0Y2Grayscale | The CentralMomentX0Y2 feature, calculated using the grayscale definition.
blobCentralMomentsX1Y1 | The CentralMomentX1Y1 feature.
blobCentralMomentsX1Y1Grayscale | The CentralMomentX1Y1 feature, calculated using the grayscale definition.
blobCentralMomentsX2Y0 | The CentralMomentX2Y0 feature.
blobCentralMomentsX2Y0Grayscale | The CentralMomentX2Y0 feature, calculated using the grayscale definition.
blobChainIndexes | The chain index.
blobChainXCoordinates | The X-coordinates of the chain.
blobChainYCoordinates | The Y-coordinates of the chain.
blobAllCompactness | The Compactness feature.
blobConvexPerimeters | The ConvexPerimeter feature.
blobElongations | The Elongation feature.
blobEulerNumbers | The EulerNumber feature.
blobFeretsX | The FeretX feature of the bounding box.
blobFeretsY | The FeretY feature of the bounding box.
blobFeretElongations | The FeretElongation feature.
blobFirstPointsX | The FirstPointX feature.
blobFirstPointsY | The FirstPointY feature.
blobGeneralFerets | The GeneralFeret feature.
blobGeneralMoments | The GeneralMoment feature.
blobGeneralMomentsGrayscale | The GeneralMoment feature, calculated using the grayscale definition.
blobIntercepts0 | The Intercept0 feature.
blobIntercepts45 | The Intercept45 feature.
blobIntercepts90 | The Intercept90 feature.
blobIntercepts135 | The Intercept135 feature.
blobLengths | The Length feature.
blobMaximumFeretDiameters | The MaximumFeretDiameter feature.
blobMaximumFeretAngles | The MaximumFeretAngle feature.
blobMaximumPixelValues | The MaximumPixelValue feature.
blobMeanFeretDiameters | The MeanFeretDiameter feature.
blobMeanPixelValues | The MeanPixelValue feature.
blobMinimumFeretDiameters | The MinimumFeretDiameter feature.
blobMinimumFeretAngles | The MinimumFeretAngle feature.
blobMinimumPixelValues | The MinimumPixel feature.
blobMomentsX0Y1 | The MomentX0Y1 feature.
blobMomentsX0Y1Grayscale | The MomentX0Y1 feature, calculated using the grayscale definition.
blobMomentsX1Y0 | The MomentX1Y0 feature.
blobMomentsX1Y0Grayscale | The MomentX1Y0 feature, calculated using the grayscale definition.
blobMomentsX1Y1 | The MomentX1Y1 feature.
blobMomentsX1Y1Grayscale | The MomentX1Y1 feature, calculated using the grayscale definition.
blobMomentsX0Y2 | The MomentX0Y2 feature.
blobMomentsX0Y2Grayscale | The MomentX0Y2 feature, calculated using the grayscale definition.
blobMomentsX2Y0 | The MomentX2Y0 feature.
blobMomentsX2Y0Grayscale | The MomentX2Y0 feature, calculated using the grayscale definition.
blobNumberOfChainedPixels | The NumberOfChainedPixels feature.
blobNumbersOfHoles | The NumberOfHoles feature.
blobNumbersOfRuns | The Runs feature.
blobPerimeters | The Perimeter feature.
blobPrincipalAxisAngles | The PrincipalAxisAngle feature.
blobPrincipalAxisAnglesGrayscale | The PrincipalAxisAngle feature, calculated using the grayscale definition.
blobAllRoughness | The Roughness feature.
blobRunLengths | The length of the run.
blobRunXCoordinates | The X-coordinate of the leftmost pixel of the blob run.
blobRunYCoordinates | The Y-coordinate of the leftmost pixel of the blob run.
blobSecondaryAxisAngles | The SecondaryAxisAngle feature.
blobSecondaryAxisAnglesGrayscale | The SecondaryAxisAngle feature, calculated using the grayscale definition.
blobSigmasOfPixelValues | The SigmaOfPixelValues feature.
blobSumsOfPixelValues | The SumOfPixelValues feature.
blobSumsOfSquaredPixelValues | The SumOfSquaredPixelValues feature.
blobXMinimumAtYMinimums | The XMinimumAtYMinimum contact point feature.
blobXMaximumAtYMaximums | The XMaximumAtYMaximum contact point feature.
blobYMinimumAtXMaximums | The YMinimumAtXMaximum contact point feature.
blobYMaximumAtXMinimums | The YMaximumAtXMinimum contact point feature.
UserArray
An array in which to put the specified result.

Index (optional in , default is 0)
A long value that specifies an index into the collection of blob results, identifying which blob results are copied. If an index value is not specified, all blob results of the specified feature are returned.
Remarks
  • You can only specify an index for the following result types: blobRunLengths, blobRunXCoordinates, blobRunYCoordinates, blobChainXCoordinates, or blobChainYCoordinates. Specifying an index for any other result type generates an error.
  • You can pass an array of type Char, Short, LongIntegerLong (Integer for Visual Basic .Net), Float, and Double for all result types, except for blobRunLengths, blobRunXCoordinates and blobRunYCoordinates for which you can pass arrays of type Char, Short, or LongIntegerLong (Integer for Visual Basic .Net).
Remark for Matrox Genesis
  • This method does not support: blobChainIndexes, blobChainXCoordinates or blobChainYCoordinates.
[]
Example
Shows how to get the results in an user array.

Dim ResultCount As Integer
Dim I As Integer
BlobAnalysis1.Image = LoadedImage

BlobAnalysis1.IdentifierPixelType = blobGrayscale
BlobAnalysis1.IdentifierBlobType = blobIndividual

' Specify the feature to calculate
BlobAnalysis1.FeatureList.Area = True
BlobAnalysis1.FeatureList.Box.All = True
BlobAnalysis1.FeatureList.Compactness = True

' Binarize the image.
ImageProcessing1.Binarize(impGreaterOrEqualTo, 24)

' Remove small particles and then remove small holes.
ImageProcessing1.Open(3, impBinary)
ImageProcessing1.Close(3, impBinary)

' Calculate the selected feature
BlobAnalysis1.Calculate()

' Get the number of blob found
ResultCount = BlobAnalysis1.Results.Count

Dim ArrayOfArea(ResultCount - 1) As Integer
Dim ArrayOfBoxXMinimums(ResultCount - 1) As Integer
Dim ArrayOfBoxXMaximums(ResultCount - 1) As Integer
Dim ArrayOfBoxYMinimums(ResultCount - 1) As Integer
Dim ArrayOfBoxYMaximums(ResultCount - 1) As Integer
Dim ArrayOfCompactness(ResultCount - 1) As Double
Dim ArrayOfMeanPixelValue(ResultCount - 1) As Integer

' Get the results in an user array
BlobAnalysis1.Results.Get(blobAreas, ArrayOfArea)
BlobAnalysis1.Results.Get(blobBoxXMinimums, ArrayOfBoxXMinimums)
BlobAnalysis1.Results.Get(blobBoxXMaximums, ArrayOfBoxXMaximums)
BlobAnalysis1.Results.Get(blobBoxYMinimums, ArrayOfBoxYMinimums)
BlobAnalysis1.Results.Get(blobBoxYMaximums, ArrayOfBoxYMaximums)
BlobAnalysis1.Results.Get(blobAllCompactness, ArrayOfCompactness)

' Draw a box around each blob found.
For I = 0 To ResultCount - 1
    GraphicContext1.DrawingRegion.StartX = ArrayOfBoxXMinimums(I)
    GraphicContext1.DrawingRegion.StartY = ArrayOfBoxYMinimums(I)
    GraphicContext1.DrawingRegion.EndX = ArrayOfBoxXMaximums(I)
    GraphicContext1.DrawingRegion.EndY = ArrayOfBoxYMaximums(I)
    GraphicContext1.Rectangle(False)
Next I


BlobAnalysis.Results.GetMultiple Method

GetMultiple method

Availability | MIL Equivalent | Get
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
MblobGetResult(M_NULL)

MblobGetResultSingle(UserArray)
BlobAnalysis
Results
GetMultiple
Synopsis
Copies the specified features results to a user array.
[]
Syntax
object.GetMultiple(
ByVal LabelArray As Array,
ByVal FeatureArray As Array,
ByVal UserArray As Array
)
[]
Syntax
void object->GetMultiple(
VARIANT * LabelArray,
VARIANT * FeatureArray,
VARIANT * UserArray
)
LabelArray
An array of labels that specifies the blobs for which to copy the specified features results.

The LabelArray parameter can be set to NULL, so that it copies the calculated feature results for all blobs.

FeatureArray
An array of BlobResultTypeConstants expression that specifies the features results data to copy to the user array.
Value | Meaning
blobAreas | The Area feature.
blobBoxXMinimums | The XMinimum feature of the bounding box.
blobBoxYMinimums | The YMinimum feature of the bounding box.
blobBoxXMaximums | The XMaximum feature of the bounding box.
blobBoxYMaximums | The YMaximum feature of the bounding box.
blobBreadths | The Breadth feature.
blobCentersOfGravityX | The X-coordinate feature of the center of gravity.
blobCentersOfGravityXGrayscale | The X-coordinate feature of the center of gravity, calculated using the grayscale definition.
blobCentersOfGravityY | The Y-coordinate feature of the center of gravity.
blobCentersOfGravityYGrayscale | The Y-coordinate feature of the center of gravity, calculated using the grayscale definition.
blobCentralMomentsX0Y2 | The CentralMomentX0Y2 feature.
blobCentralMomentsX0Y2Grayscale | The CentralMomentX0Y2 feature, calculated using the grayscale definition.
blobCentralMomentsX1Y1 | The CentralMomentX1Y1 feature.
blobCentralMomentsX1Y1Grayscale | The CentralMomentX1Y1 feature, calculated using the grayscale definition.
blobCentralMomentsX2Y0 | The CentralMomentX2Y0 feature.
blobCentralMomentsX2Y0Grayscale | The CentralMomentX2Y0 feature, calculated using the grayscale definition.
blobChainIndexes | The chain index.
blobChainXCoordinates | The X-coordinates of the chain.
blobChainYCoordinates | The Y-coordinates of the chain.
blobAllCompactness | The Compactness feature.
blobConvexPerimeters | The ConvexPerimeter feature.
blobElongations | The Elongation feature.
blobEulerNumbers | The EulerNumber feature.
blobFeretsX | The FeretX feature of the bounding box.
blobFeretsY | The FeretY feature of the bounding box.
blobFeretElongations | The FeretElongation feature.
blobFirstPointsX | The FirstPointX feature.
blobFirstPointsY | The FirstPointY feature.
blobGeneralFerets | The GeneralFeret feature.
blobGeneralMoments | The GeneralMoment feature.
blobGeneralMomentsGrayscale | The GeneralMoment feature, calculated using the grayscale definition.
blobIntercepts0 | The Intercept0 feature.
blobIntercepts45 | The Intercept45 feature.
blobIntercepts90 | The Intercept90 feature.
blobIntercepts135 | The Intercept135 feature.
blobLengths | The Length feature.
blobMaximumFeretDiameters | The MaximumFeretDiameter feature.
blobMaximumFeretAngles | The MaximumFeretAngle feature.
blobMaximumPixelValues | The MaximumPixelValue feature.
blobMeanFeretDiameters | The MeanFeretDiameter feature.
blobMeanPixelValues | The MeanPixelValue feature.
blobMinimumFeretDiameters | The MinimumFeretDiameter feature.
blobMinimumFeretAngles | The MinimumFeretAngle feature.
blobMinimumPixelValues | The MinimumPixel feature.
blobMomentsX0Y1 | The MomentX0Y1 feature.
blobMomentsX0Y1Grayscale | The MomentX0Y1 feature, calculated using the grayscale definition.
blobMomentsX1Y0 | The MomentX1Y0 feature.
blobMomentsX1Y0Grayscale | The MomentX1Y0 feature, calculated using the grayscale definition.
blobMomentsX1Y1 | The MomentX1Y1 feature.
blobMomentsX1Y1Grayscale | The MomentX1Y1 feature, calculated using the grayscale definition.
blobMomentsX0Y2 | The MomentX0Y2 feature.
blobMomentsX0Y2Grayscale | The MomentX0Y2 feature, calculated using the grayscale definition.
blobMomentsX2Y0 | The MomentX2Y0 feature.
blobMomentsX2Y0Grayscale | The MomentX2Y0 feature, calculated using the grayscale definition.
blobNumberOfChainedPixels | The NumberOfChainedPixels feature.
blobNumbersOfHoles | The NumberOfHoles feature.
blobNumbersOfRuns | The Runs feature.
blobPerimeters | The Perimeter feature.
blobPrincipalAxisAngles | The PrincipalAxisAngle feature.
blobPrincipalAxisAnglesGrayscale | The PrincipalAxisAngle feature, calculated using the grayscale definition.
blobAllRoughness | The Roughness feature.
blobRunLengths | The length of run.
blobRunXCoordinates | The X-coordinate of the leftmost pixel of the blob run.
blobRunYCoordinates | The Y-coordinate of the leftmost pixel of the blob run.
blobSecondaryAxisAngles | The SecondaryAxisAngle feature.
blobSecondaryAxisAnglesGrayscale | The SecondaryAxisAngle feature, calculated using the grayscale definition.
blobSigmasOfPixelValues | The SigmaOfPixelValues feature.
blobSumsOfPixelValues | The SumOfPixelValues feature.
blobSumsOfSquaredPixelValues | The SumOfSquaredPixelValues feature.
blobXMinimumAtYMinimums | The XMinimumAtYMinimum contact point feature.
blobXMaximumAtYMaximums | The XMaximumAtYMaximum contact point feature.
blobYMinimumAtXMaximums | The YMinimumAtXMaximum contact point feature.
blobYMaximumAtXMinimums | The YMaximumAtXMinimum contact point feature.

UserArray
An array of type double in which to write the specified results.

Remarks
  • You can only specify an index for the following result types: blobRunLengths, blobRunXCoordinates, blobRunYCoordinates, blobChainXCoordinates, or blobChainYCoordinates. Specifying an index for any other result type generates an error.
  • You can pass an array of type Char, Short, LongIntegerLong (Integer for Visual Basic .Net), Float, and Double for all result types, except for blobRunLengths, blobRunXCoordinates and blobRunYCoordinates for which you can pass arrays of type Char, Short, or LongIntegerLong (Integer for Visual Basic .Net).
Remark for Matrox Genesis
  • This method does not support: blobChainIndexes, blobChainXCoordinates or blobChainYCoordinates.


BlobAnalysis.SaveRunInformationEnabled Property

SaveRunInformationEnabled property

See Also | Availability | MIL Equivalent | Results | SortingKeys
Reference:
BlobAnalysis.Calculate
BlobAnalysis.FeatureList.Chains
BlobAnalysis.LabelImage
BlobAnalysis.Results.AtCoordinates
BlobAnalysis.Results.Draw
BlobAnalysis.Results.Item.Draw
BlobAnalysis.Results.Item.Runs
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobControl(
ControlType =
M_SAVE_RUNS
)

MblobInquire(
InquireType =
M_SAVE_RUNS
)
BlobAnalysis
SaveRunInformationEnabled
Synopsis
Returns or sets whether to save run information.
[]
Syntax
object.SaveRunInformationEnabled [= Boolean]
[]
Syntax
object->SaveRunInformationEnabled [= VARIANT_BOOL]
Type description
A boolean value that specifies whether to save the run information when the Calculate method is called. (default is True)
Value | Meaning
True | The run information is saved.
False | The run information is not saved.
Remarks
  • If this property is set to True, calls to the Calculate method will save run information from the blob identifier image.
  • By setting this property to False, you save time when performing the first call to the Calculate method and reduce the memory requirements for the BlobAnalysis control. However, you cannot call the Results.AtCoordinates method, the Results.Item(BlobResultIndex).Runs property, and the LabelImage method. In addition, you cannot perform certain draw operations using the Results.Draw and Results.Item(BlobResultIndex).Draw methods, and you cannot calculate the chained pixels feature (FeatureList.Chains).


BlobAnalysis.SortingKeys Property

SortingKeys property

See Also | Availability | MIL Equivalent | SaveRunInformationEnabled | Allocate
User Guide:
Sorting results
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
MblobSelectFeature(
Feature =
feature +
(M_SORT1_DOWN or
M_SORT1_UP or
M_SORT2_DOWN or
M_SORT2_UP or
M_SORT3_DOWN or
M_SORT3_UP )
)
BlobAnalysis
SortingKeys
Properties: Count, Item

Methods: Add, DecreasePriority, IncreasePriority, Remove
Synopsis
Returns the collection of sorting keys available to the BlobAnalysis control, allowing access to its elements.
[]
Syntax
[BlobSortingKeys =] object.SortingKeys
[]
Syntax
[IBlobSortingKeysPtr =] object->SortingKeys
Type description
A BlobSortingKeys expression that represents an instance of a BlobSortingKeys collection.
Remark
  • Note that this collection cannot have more than three elements.
[]
Example
This example shows how to use the SortingKeys collection.

While BlobAnalysis1.SortingKeys.Count >= 1
    BlobAnalysis1.SortingKeys.Remove(1)
End While
[]
Example
This example shows how to use the SortingKeys collection.

for (int i=1; i < m_BlobAnalysis->SortingKeys->Count; i++)
   m_BlobAnalysis->SortingKeys->Remove(1);


BlobAnalysis.SortingKeys.Count Property

Count property

Availability | MIL Equivalent | Item
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
No MIL equivalent
BlobAnalysis
SortingKeys
Count
Synopsis
Returns the number of elements in the collection of sorting keys.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A long value that specifies the number of elements currently in the collection.
Remark
  • A maximum of three sorting keys can be used to sort the feature results, therefore this collection will contain up to three sorting keys.
[]
Example
This example shows how to count the sorting keys.

While BlobAnalysis1.SortingKeys.Count >= 1
    BlobAnalysis1.SortingKeys.Remove(1)
End While
[]
Example
This example shows how to count the sorting keys.

for (int i=1; i < m_BlobAnalysis->SortingKeys->Count; i++)
   m_BlobAnalysis->SortingKeys->Remove(1);


BlobAnalysis.SortingKeys.Item Property

Item property

Availability | MIL Equivalent | Count | Add
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
No MIL equivalent
BlobAnalysis
SortingKeys
Item
Properties: Description, Feature, Ordering, Priority
Synopsis
Returns the element at the specified index in the collection of blob sorting keys.
[]
Syntax
[BlobSortingKey=]object.Item(
Index As Integer
)
[]
Syntax
[IBlobSortingKeyPtr =] object->Item(
long Index
)
Index
A long value that specifies the index of the required element.
Type description
A BlobSortingKey object.
Remarks
  • The elements in the collection of sorting keys refers to the sorting keys that the blob results will be sorted with.
  • If the value provided as the index does not match any existing element in the collection, an error occurs. Note, the index of the first element of this collection starts at one.


BlobAnalysis.SortingKeys.Item.Description Property

Description property

Availability | MIL Equivalent | Feature
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
No MIL equivalent
BlobAnalysis
SortingKeys
Item
Description
Synopsis
Returns a phrase, which is composed by ActiveMIL, describing the sorting key.
[]
Syntax
[String =] object.Description
[]
Syntax
[_bstr_t =] object->Description
Type description
A string expression that describes the blob sorting key.


BlobAnalysis.SortingKeys.Item.Feature Property

Feature property

Availability | MIL Equivalent | Description | Ordering
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
MblobSelectFeature(
Feature =
M_SORTn_DOWNM_SORTn_UP
)
BlobAnalysis
SortingKeys
Item
Feature
Synopsis
Returns or sets the feature by which results are sorted.
[]
Syntax
object.Feature [= BlobFeatureConstants]
[]
Syntax
object->Feature [= enum BlobFeatureConstants]
Type description
A BlobFeatureConstants expression that specifies the feature by which results are sorted. (default is blobArea)
Value | Meaning
blobArea | The Area feature.
blobBoxXMinimum | The XMinimum of feature of the bounding box.
blobBoxYMinimum | The YMinimum feature of the bounding box.
blobBoxXMaximum | The XMaximum feature of the bounding box.
blobBoxYMaximum | The YMaximum feature of the bounding box.
blobBreadth | The Breadth feature.
blobCenterOfGravityX | The X-coordinate feature of the center of gravity.
blobCenterOfGravityXGrayscale | The X-coordinate feature of the center of gravity, calculated using the grayscale definition.
blobCenterOfGravityY | The Y-coordinate feature of the center of gravity.
blobCenterOfGravityYGrayscale | The Y-coordinate feature of the center of gravity, calculated using the grayscale definition.
blobCentralMomentX2Y0Grayscale | The CentralMomentX2Y0 feature, calculated using the grayscale definition.
blobCentralMomentX1Y1 | The CentralMomentX1Y1 feature.
blobCentralMomentX1Y1Grayscale | The CentralMomentX1Y1 feature, calculated using the grayscale definition.
blobCompactness | The Compactness feature.
blobConvexPerimeter | The ConvexPerimeter feature.
blobElongation | The Elongation feature.
blobEulerNumber | The EulerNumber feature.
blobFeretX | The FeretX feature of the bounding box.
blobFeretY | The FeretY feature of the bounding box.
blobFeretElongation | The FeretElongation feature.
blobFirstPointX | The FirstPointX feature.
blobFirstPointY | The FirstPointY feature.
blobGeneralFeret | The GeneralFeret feature.
blobGeneralMoment | The GeneralMoment feature.
blobGeneralMomentGrayscale | The GeneralMoment feature, calculated using the grayscale definition.
blobIntercept0 | The Intercept0 feature.
blobIntercept45 | The Intercept45 feature.
blobIntercept90 | The Intercept90 feature.
blobIntercept135 | The Intercept135 feature.
blobLength | The Length feature.
blobMaximumFeretDiameter | The MaximumFeretDiameter feature.
blobMaximumFeretAngle | The MaximumFeretAngle feature.
blobMaximumPixelValue | The MaximumPixelValue feature.
blobMeanFeretDiameter | The MeanFeretDiameter feature.
blobMeanPixelValue | The MeanPixelValue feature.
blobMinimumFeretDiameter | The MinimumFeretDiameter feature.
blobMinimumFeretAngle | The MinimumFeretAngle feature.
blobMinimumPixelValue | The MinimumPixelValue feature.
blobMomentX0Y1 | The MomentX0Y1 feature.
blobMomentX0Y1Grayscale | The MomentX0Y1 feature, calculated using the grayscale definition.
blobMomentX1Y0 | The MomentX1Y0 feature.
blobMomentX1Y0Grayscale | The MomentX1Y0 feature, calculated using the grayscale definition.
blobMomentX1Y1 | The MomentX1Y1 feature.
blobMomentX1Y1Grayscale | The MomentX1Y1 feature, calculated using the grayscale definition.
blobMomentX0Y2 | The MomentX0Y2 feature.
blobMomentX0Y2Grayscale | The MomentX0Y2 feature, calculated using the grayscale definition.
blobMomentX2Y0 | The MomentX2Y0 feature.
blobMomentX2Y0Grayscale | The MomentX2Y0 feature, calculated using the grayscale definition.
blobNumberOfHoles | The NumberOfHoles feature.
blobNumberOfRuns | The Runs feature.
blobPerimeter | The Perimeter feature.
blobPrincipalAxisAngle | The PrincipalAxisAngle feature.
blobPrincipalAxisAngleGrayscale | The PrincipalAxisAngle feature, calculated using the grayscale definition.
blobRoughness | The Roughness feature.
blobSecondaryAxisAngle | The SecondaryAxisAngle feature.
blobSecondaryAxisAngleGrayscale | The SecondaryAxisAngle feature, calculated using the grayscale definition.
blobSigmaOfPixelValues | The SigmaOfPixelValues feature.
blobSumOfPixelValues | The SumOfPixelValues feature.
blobSumOfSquaredPixelValues | The SumOfSquaredPixelValues feature.
blobXMinimumAtYMinimum | The XMinimumAtYMinimum contact point feature.
blobXMaximumAtYMaximum | The XMaximumAtYMaximum contact point feature.
blobYMinimumAtXMaximum | The YMinimumAtXMaximum contact point feature.
blobYMaximumAtXMinimum | The YMaximumAtXMinimum contact point feature.
Remarks
  • The feature that you select as a sorting key must be selected for calculation in the feature list.
  • To sort your results, the sorting keys must be created before you calculate your results.


BlobAnalysis.SortingKeys.Item.Ordering Property

Ordering property

Availability | MIL Equivalent | Feature | Priority
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
MblobSelectFeature(
Feature =
M_SORTn_DOWNM_SORTn_UP
)
BlobAnalysis
SortingKeys
Item
Ordering
Synopsis
Returns or sets the order in which to sort the blob results using the specified feature.
[]
Syntax
object.Ordering [= BlobOrderingConstants]
[]
Syntax
object->Ordering [= enum BlobOrderingConstants]
Type description
A BlobOrderingConstants expression that specifies whether to sort results in increasing or decreasing order.
Value | Meaning
blobIncreasing | Sorts blob results in increasing order.
blobDecreasing | Sorts blob results in decreasing order.
Remark
  • The Feature property specifies the feature by which the blob results are sorted in increasing or decreasing order.


BlobAnalysis.SortingKeys.Item.Priority Property

Priority property

Availability | MIL Equivalent | Ordering
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
MblobSelectFeature(
Feature =
M_SORTn_DOWNM_SORTn_UP
)
BlobAnalysis
SortingKeys
Item
Priority
Synopsis
Returns the priority of the sorting key.
[]
Syntax
[BlobPriorityConstants =] object.Priority
[]
Syntax
[enum BlobPriorityConstants =] object->Priority
Type description
A BlobPriorityConstants expression that specifies the priority of the sorting key.
Value | Meaning
blobPriority1 | Specifies the sorting key as the first, by which results are sorted.
blobPriority2 | Specifies the sorting key as the second, by which results are sorted.
blobPriority3 | Specifies the sorting key as the third, by which results are sorted.
Remarks
  • You can increase or decrease the priority of a sorting key using the SortingKeys.IncreasePriority and SortingKeys.DecreasePriority methods of the BlobAnalysis control, respectively.
  • If a sorting key is assigned to a priority that is already assigned to another sorting key, it will override the current assignment and the replaced sorting key and all those that follow will move down a priority.


BlobAnalysis.SortingKeys.Add Method

Add method

Availability | MIL Equivalent | Item | DecreasePriority
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
MblobSelectFeature(
Feature =
M_SORTn_DownM_SORTn_UP
)
BlobAnalysis
SortingKeys
Add
Synopsis
Adds a new sorting key to the collection.
[]
Syntax
[Integer =] object.Add(
ByVal Feature As BlobFeatureConstants,
ByVal Ordering As BlobOrderingConstants,
ByVal Priority As BlobPriorityConstants
)
[]
Syntax
[long =] object->Add(
enum BlobFeatureConstants Feature,
enum BlobOrderingConstants Ordering,
enum BlobPriorityConstants Priority
)
Feature (optional in , default is blobArea)
A BlobFeatureConstants expression that specifies the feature by which results are sorted.
Value | Meaning
blobArea | The Area feature.
blobBoxXMinimum | The XMinimum feature of the bounding box.
blobBoxYMinimum | The YMinimum feature of the bounding box.
blobBoxXMaximum | The XMaximum feature of the bounding box.
blobBoxYMaximum | The YMaximum feature of the bounding box.
blobBreadth | The Breadth feature.
blobCenterOfGravityX | The X-coordinate feature of the center of gravity.
blobCenterOfGravityXGrayscale | The X-coordinate feature of the center of gravity, calculated using the grayscale definition.
blobCenterOfGravityY | The Y-coordinate feature of the center of gravity.
blobCenterOfGravityYGrayscale | The Y-coordinate feature of the center of gravity, calculated using the grayscale definition.
blobCentralMomentX2Y0Grayscale | The CentralMomentX2Y0 feature, calculated using the grayscale definition.
blobCentralMomentX1Y1 | The CentralMomentX1Y1 feature.
blobCentralMomentX1Y1Grayscale | The CentralMomentX1Y1 feature, calculated using the grayscale definition.
blobCompactness | The Compactness feature.
blobConvexPerimeter | The ConvexPerimeter feature.
blobElongation | The Elongation feature.
blobEulerNumber | The EulerNumber feature.
blobFeretX | The FeretX feature of the bounding box.
blobFeretY | The FeretY feature of the bounding box.
blobFeretElongation | The FeretElongation feature.
blobFirstPointX | The FirstPointX feature.
blobFirstPointY | The FirstPointY feature.
blobGeneralFeret | The GeneralFeret feature.
blobGeneralMoment | The GeneralMoment feature.
blobGeneralMomentGrayscale | The GeneralMoment feature, calculated using the grayscale definition.
blobIntercept0 | The Intercept0 feature.
blobIntercept45 | The Intercept45 feature.
blobIntercept90 | The Intercept90 feature.
blobIntercept135 | The Intercept135 feature.
blobLength | The Length feature.
blobMaximumFeretDiameter | The MaximumFeretDiameter feature.
blobMaximumFeretAngle | The MaximumFeretAngle feature.
blobMaximumPixelValue | The MaximumPixelValue feature.
blobMeanFeretDiameter | The MeanFeretDiameter feature.
blobMeanPixelValue | The MeanPixelValue feature.
blobMinimumFeretDiameter | The MinimumFeretDiameter feature.
blobMinimumFeretAngle | The MinimumFeretAngle feature.
blobMinimumPixelValue | The MinimumPixelValue feature.
blobMomentX0Y1 | The MomentX0Y1 feature.
blobMomentX0Y1Grayscale | The MomentX0Y1 feature, calculated using the grayscale definition.
blobMomentX1Y0 | The MomentX1Y0 feature.
blobMomentX1Y0Grayscale | The MomentX1Y0 feature, calculated using the grayscale definition.
blobMomentX1Y1 | The MomentX1Y1 feature.
blobMomentX1Y1Grayscale | The MomentX1Y1 feature, calculated using the grayscale definition.
blobMomentX0Y2 | The MomentX0Y2 feature.
blobMomentX0Y2Grayscale | The MomentX0Y2 feature, calculated using the grayscale definition.
blobMomentX2Y0 | The MomentX2Y0 feature.
blobMomentX2Y0Grayscale | The MomentX2Y0 feature, calculated using the grayscale definition.
blobNumberOfHoles | The NumberOfHoles feature.
blobNumberOfRuns | The Runs feature.
blobPerimeter | The Perimeter feature.
blobPrincipalAxisAngle | The PrincipalAxisAngle feature.
blobPrincipalAxisAngleGrayscale | The PrincipalAxisAngle feature, calculated using the grayscale definition.
blobRoughness | The Roughness feature.
blobSecondaryAxisAngle | The SecondaryAxisAngle feature.
blobSecondaryAxisAngleGrayscale | The SecondaryAxisAngle feature, calculated using the grayscale definition.
blobSigmaOfPixelValues | The SigmaOfPixelValues feature.
blobSumOfPixelValues | The SumOfPixelValues feature.
blobSumOfSquaredPixelValues | The SumOfSquaredPixelValues feature.
blobXMinimumAtYMinimum | The XMinimumAtYMinimum contact point feature.
blobXMaximumAtYMaximum | The XMaximumAtYMaximum contact point feature.
blobYMinimumAtXMaximum | The YMinimumAtXMaximum contact point feature.
blobYMaximumAtXMinimum | The YMaximumAtXMinimum contact point feature.
Ordering (optional in , default is blobIncreasing)
A BlobOrderingConstants expression that specifies the order in which to sort the feature's results.
Value | Meaning
blobIncreasing | Sorts the features' results in ascending order.
blobDecreasing | Sorts the features' results in descending order.
Priority (optional in , default is blobPriority1)
A BlobPriorityConstants expression that specifies the priority of the sorting key(s).
Value | Meaning
blobPriority1 | Specifies the sorting key as the first, by which results are sorted.
blobPriority2 | Specifies the sorting key as the second, by which results are sorted.
blobPriority3 | Specifies the sorting key as the third, by which results are sorted.
Return value
Returns a long value that specifies the index of the added sorting key in the collection of sorting keys.
Remarks
  • To sort results by a specified feature, this feature must have been selected for calculation in the feature list.
  • You can sort your results by a maximum of three sorting keys. To sort your results, these sorting keys must be created before you calculate your results.
  • You can increase or decrease the priority of a sorting key using the SortingKeys.IncreasePriority or SortingKeys.DecreasePriority methods of the BlobAnalysis control, respectively.
  • If a sorting key is assigned to a priority that is already assigned to another sorting key, it will override the current assignment and the replaced sorting key and all those that follow will move down a priority.
[]
Example
This example shows how to sort the results with Sorting Keys.

' Add the sorting keys
BlobAnalysis1.SortingKeys.Add(blobArea, blobIncreasing, blobPriority1)
BlobAnalysis1.SortingKeys.Add(blobCompactness, blobDecreasing, blobPriority2)
BlobAnalysis1.SortingKeys.Add(blobCenterOfGravityX, blobIncreasing, _
                            blobPriority3)

' Calculate the selected features.
' The results will be sorted by order of the specified sorting keys.
BlobAnalysis1.Calculate()
[]
Example
This example shows how to sort the results with Sorting Keys.

// Add the sorting keys
m_BlobAnalysis->SortingKeys->Add(blobArea, blobIncreasing, blobPriority1);

m_BlobAnalysis->SortingKeys->Add(blobCompactness,
                                 blobDecreasing, blobPriority2);

m_BlobAnalysis->SortingKeys->Add(blobCenterOfGravityX,
                                 blobIncreasing, blobPriority3);

// Calculate the selected features.
// The results will be sorted by order of the specified sorting keys.
m_BlobAnalysis->Calculate();


BlobAnalysis.SortingKeys.DecreasePriority Method

DecreasePriority method

Availability | MIL Equivalent | Add | IncreasePriority
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
No MIL equivalent
BlobAnalysis
SortingKeys
DecreasePriority
Synopsis
Decreases the priority of a sorting key.
[]
Syntax
[Integer =] object.DecreasePriority(
ByVal Index As Integer
)
[]
Syntax
[long =] object->DecreasePriority(
long Index
)
Index
A long value that specifies an index into the collection of sorting keys, identifying the sorting key to use.
Return value
Returns a long value that specifies the index of the decreased sorting key in the collection of sorting keys.
Remarks
  • If the priority to which you want to decrease a sorting key is assigned to another sorting key, these sorting keys will swap priorities.
  • If you try to decrease the priority of a sorting key that is already at the lowest priority (blobPriority3), an error will be generated.


BlobAnalysis.SortingKeys.IncreasePriority Method

IncreasePriority method

Availability | MIL Equivalent | DecreasePriority | Remove
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
No MIL equivalent
BlobAnalysis
SortingKeys
IncreasePriority
Synopsis
Increases the priority of a sorting key.
[]
Syntax
[Integer =] object.IncreasePriority(
ByVal Index As Integer
)
[]
Syntax
[long =] object->IncreasePriority(
long Index
)
Index
A long value that specifies an index into the collection of sorting keys, identifying the sorting key to use.
Return value
Returns a long value that specifies the index of the increased sorting key in the collection of sorting keys.
Remarks
  • If the priority to which you want to increase a sorting key is assigned to another sorting key, these sorting keys will swap priorities.
  • If you try to increase the priority of a sorting key that is already at the highest priority (blobPriority1), an error will be generated.


BlobAnalysis.SortingKeys.Remove Method

Remove method

Availability | MIL Equivalent | IncreasePriority
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
No MIL equivalent
BlobAnalysis
SortingKeys
Remove
Synopsis
Removes a sorting key from the collection.
[]
Syntax
object.Remove(
ByVal Index As Integer
)
[]
Syntax
void object->Remove(
long Index
)
Index
A long value that specifies an index into the collection of sorting keys, identifying the sorting key to remove.
Remark
  • When a sorting key is removed, the sorting keys that follow this sorting key move up to the next highest priority.
[]
Example
This example shows how to remove sorting keys.

While BlobAnalysis1.SortingKeys.Count >= 1
    BlobAnalysis1.SortingKeys.Remove(1)
End While
[]
Example
This example shows how to remove sorting keys.

for (int i=1; i < m_BlobAnalysis->SortingKeys->Count; i++)
   m_BlobAnalysis->SortingKeys->Remove(1);


BlobAnalysis.Allocate Method

Allocate method

See Also | Availability | MIL Equivalent | SortingKeys | ApplyFilter
User Guide:
Setting up controls

Reference:
BlobAnalysis.AutomaticAllocation
BlobAnalysis.Free
BlobAnalysis.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobAllocResult()

MblobAllocFeatureList()
BlobAnalysis
Allocate
Synopsis
Allocates the resources of the BlobAnalysis control.
[]
Syntax
object.Allocate()
[]
Syntax
void object->Allocate()
Remarks
  • By default, the control's AutomaticAllocation property is set to True, and therefore allocation is done automatically.
  • To preserve resources and delay allocation until necessary, set the AutomaticAllocation property to False and call the Allocate method only when the control is actually needed.
  • To create a new BlobAnalysis control at run-time, use the CreateObject method of the Application control.
  • If you call the Allocate method while the control is in the allocated state, an error is generated. To determine the allocation state of a control, use the IsAllocated property.
  • The following properties cannot be changed at run-time while the control is in the allocated state (free the control using the Free method):
    • OwnerSystem
    • OwnerSystemName
  • If you try to allocate a blob analysis control before its owner system is allocated, an error is generated.
[]
Example
This example demonstrates how to allocate multiple controls with a single call to the Allocate method.

BlobAnalysis1.AutomaticAllocation = True
BlobAnalysis1.OwnerSystem = System1

' This call will also allocate BlobAnalysis1 since
' its OwnerSystem property is System1 and
' its AutomaticAllocation property is set to True
System1.Allocate()
[]
Example
This example demonstrates how to allocate multiple controls with a single call to the Allocate method.

m_BlobAnalysis1->AutomaticAllocation = TRUE;
m_BlobAnalysis1->OwnerSystem = m_System1;

// This call will also allocate m_BlobAnalysis1 since
// its OwnerSystem property is m_System1 and
// its AutomaticAllocation property is set to TRUE
m_System1->Allocate();


BlobAnalysis.ApplyFilter Method

ApplyFilter method

See Also | Availability | MIL Equivalent | Allocate | Calculate
User Guide:
Selecting blobs

Reference:
BlobAnalysis.Filters
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobSelect(
Operation =
M_DELETE or
M_EXCLUDE_ONLY or
M_INCLUDE_ONLY
)
BlobAnalysis
ApplyFilter
Synopsis
Applies a filter that specifies the blobs to include, exclude, or delete permanently from the blob results.
[]
Syntax
object.ApplyFilter(
ByVal Index As Integer,
ByVal Cumulative As Boolean
)
[]
Syntax
void object->ApplyFilter(
long Index,
VARIANT_BOOL Cumulative
)
Index (optional in , default is 1)
A longintegerlong (integer for Visual Basic .Net) value or BlobAllConstants expression that specifies the filter(s) to apply.
Value | Meaning
value | A longintegerlong (integer for Visual Basic .Net) value that specifies an index into the collection of filters, identifying the blob filter to use. The first blob filter has an index of 1.
blobAll | Applies all defined filters at once.
Cumulative (optional in , default is True)
A boolean value that indicates whether to apply the filter on the currently included or excluded subset of blobs or on all the blobs.
Value | Meaning
True | Applies the filter on the currently included or excluded subset of blobs, depending on the settings of the Filters.Item(FilterIndex).FilterType property.
False | Applies the filter on all the blobs.
Remarks
  • The Filters property specifies the collection of blob filters available to the BlobAnalysis control.
  • Note that after a filter is applied, the index value for blobs in the collection of blob results collection might change because the remaining included blobs are renumbered starting at 1.
  • All blobs are included by default. Once a blob has been excluded, it can be re-included with this method by applying a filter that includes this blob. You would typically exclude a set of blobs based on a given criterion and re-include a subset of these based on a different criterion.
  • If you set the Index parameter to blobAll, the Cumulative parameter must be set to True.
[]
Example
This example applies a filter to the results.

const long EXCLUDE_AREA_LESS_EQUAL_50 = 1;
long TotalBlobs;

// Calculate selected features for each blob.
m_BlobAnalysis1->Calculate();

// Exclude blobs whose area is too small.
m_BlobAnalysis1->ApplyFilter(EXCLUDE_AREA_LESS_EQUAL_50, TRUE);

// Get the total number of blobs.
TotalBlobs = m_BlobAnalysis1->Results->Count;


BlobAnalysis.Calculate Method

Calculate method

See Also | Availability | MIL Equivalent | ApplyFilter | Control
Reference:
BlobAnalysis.GrayscaleImage
BlobAnalysis.Image
BlobAnalysis.Results
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobCalculate()
BlobAnalysis
Calculate
Synopsis
Identifies the blobs in an image and calculates selected features.
[]
Syntax
object.Calculate()
[]
Syntax
void object->Calculate()
Remarks
  • Calculations of binary features (such as the Area property) are performed using only the image specified by the Image property (also referred to as the blob identifier image). If a grayscale feature (such as the MaximumPixelValue property) is to be calculated, an image must be specified for the GrayscaleImage property. In this case, the image specified for the Image property will be used to identify the blobs, and the pixel values in the grayscale image are used to calculate these features.
  • The blob identifier image must be a packed binary, or an 8-bit or 16-bit unsigned grayscale image. The grayscale image must be an 8-bit or 16-bit unsigned grayscale image.
  • If several calls are made to the Calculate method with the same blob identifier and grayscale images, features calculated in one call are not recalculated in subsequent calls. However, if you then use different images or if you change the processing mode (IdentifierBlobType, Lattice, PixelAspectRatio, NumberOfFeretAngles, ForegroundPixelValue and IdentifierPixelType properties), any result already in the Results property becomes invalid and will be discarded. Therefore, it is more efficient to use the BlobAnalysis control exclusively in one processing mode with the same blob identifier and grayscale images.
  • The information obtained from this method when identifying the blobs is used when you call the Draw and LabelImage methods.
  • This method is optimized for packed binary images.
[]
Example
This example calculates selected features for each blob in an image.

const long EXCLUDE_AREA_LESS_EQUAL_50 = 1;
long TotalBlobs;

// Calculate selected features for each blob.
m_BlobAnalysis1->Calculate();

// Exclude blobs whose area is too small.
m_BlobAnalysis1->ApplyFilter(EXCLUDE_AREA_LESS_EQUAL_50, TRUE);

// Get the total number of blobs.
TotalBlobs = m_BlobAnalysis1->Results->Count;


BlobAnalysis.Control Method

Control method

See Also | Availability | MIL Equivalent | Calculate | EraseBorderBlobs
Reference:
BlobAnalysis.Inquire
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobControl()
BlobAnalysis
Control
Synopsis
Controls the attributes of the BlobAnalysis control.
[]
Syntax
object.Control(
ByVal ControlType As BlobInquireAndControlConstants,
ByVal ControlValue As Object
)
[]
Syntax
void object->Control(
enum BlobInquireAndControlConstants ControlType,
const _variant_t & ControlValue
)
ControlType
A BlobInquireAndControlConstants value that specifies the attribute to be modified.
ControlValue
A variantobjectvariant (object for Visual Basic .Net) value that specifies the new value to be set.
Remark
  • This method is reserved for future expansion.


BlobAnalysis.EraseBorderBlobs Method

EraseBorderBlobs method

See Also | Availability | MIL Equivalent | Control | ExtractHoles
User Guide:
Blob reconstruction
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobReconstruct(
Operation =
M_ERASE_BORDER_BLOBS
)
BlobAnalysis
EraseBorderBlobs
Synopsis
Copies all blobs that do not touch the borders of the source image into the destination image.
[]
Syntax
object.EraseBorderBlobs(
ByVal SourceImage As Image,
ByVal DestinationImage As Image,
ByVal ProcessingMode As BlobPixelTypeConstants,
ByVal ForegroundPixelValue As BlobForegroundPixelValueConstants,
ByVal Lattice As BlobLatticeConstants
)
[]
Syntax
void object->EraseBorderBlobs(
IImage * SourceImage,
IImage * DestinationImage,
enum BlobPixelTypeConstants ProcessingMode,
enum BlobForegroundPixelValueConstants ForegroundPixelValue,
enum BlobLatticeConstants Lattice
)
SourceImage
An Image control that specifies the image to use as the source image.
DestinationImage
An Image control that specifies the image to use as the destination image.
ProcessingMode (optional in , default is blobBinary)
A BlobPixelTypeConstants expression which specifies the processing mode to use.

See the Parameter associations table for possible values.
ForegroundPixelValue (optional in , default is blobNonZero)
A BlobForegroundPixelValueConstants expression that specifies which pixel values are in the foreground.

See the Parameter associations table for possible values.
Lattice (optional in , default is blob4Connected)
A BlobLatticeConstants expression that specifies the type of lattice.
Value | Meaning
blob4Connected | Each pixel has 4 neighbors.
blob8Connected | Each pixel has 8 neighbors.
Parameter association
Possible values for parameters ForegroundPixelValue and ProcessingMode.

ForegroundPixelValue |  | ProcessingMode |
blobNonZero | Pixels of non-zero value are considered to be part of a blob. | blobBinary | Blobs that do not touch the border are copied to the destination image, and their pixel values are set to the maximum value of that image (for example, 255 for an 8-bit image). (default)
 |  | blobGrayscale | Blobs that do not touch the border are copied to the destination image.
blobZero | Pixels of zero value are considered to be part of the blob. | blobBinary | Blobs that do not touch the border are copied to the destination image, and the destination image's background pixel values are set to the maximum value of that image. (default)
 |  | blobGrayscale | Blobs that do not touch the border are copied to the destination image. Note that blobs that touch the border are filled with the average grayscale value of the background.
Remarks
  • This method operates in the following manner:
    blobBinary blobGrayscale
    blobNonZero
    blobZero
  • In general, the blobBinary processing mode is faster.
  • The source and destination images must be packed binary or unsigned, 8-bit or 16-bit 1-band images.
  • This method is optimized for packed binary images.
[]
Example
This example shows how to erase the blobs that touch the borders of an image.

m_BlobAnalysis->EraseBorderBlobs(m_LoadedImage, m_DisplayedImage,
                                 blobBinary, blobNonZero, blob8Connected);


BlobAnalysis.ExtractHoles Method

ExtractHoles method

See Also | Availability | MIL Equivalent | EraseBorderBlobs | FillHoles
User Guide:
Blob reconstruction
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobReconstruct(
Operation =
M_EXTRACT_HOLES
)
BlobAnalysis
ExtractHoles
Synopsis
Copies only the holes within the blobs found in the source image to the destination image.
[]
Syntax
object.ExtractHoles(
ByVal SourceImage As Image,
ByVal DestinationImage As Image,
ByVal ForegroundPixelValue As BlobForegroundPixelValueConstants,
ByVal ProcessingMode As BlobPixelTypeConstants,
ByVal Lattice As BlobLatticeConstants
)
[]
Syntax
void object->ExtractHoles(
IImage * SourceImage,
IImage * DestinationImage,
enum BlobForegroundPixelValueConstants ForegroundPixelValue,
enum BlobPixelTypeConstants ProcessingMode,
enum BlobLatticeConstants Lattice
)
SourceImage
An Image control that specifies the image to use as the source image.
DestinationImage
An Image control that specifies the image to use as the destination image.
ForegroundPixelValue (optional in , default is blobNonZero)
A BlobForegroundPixelValueConstants expression that specifies which pixel values are in the foreground.

See the Parameter associations table for possible values.
ProcessingMode (optional in , default is blobBinary)
A BlobPixelTypeConstants expression that specifies the processing mode to use.

See the Parameter associations table for possible values.
Lattice (optional in , default is blob4Connected)
A BlobLatticeConstants expression that specifies the type of lattice.
Value | Meaning
blob4Connected | Each pixel has 4 neighbors.
blob8Connected | Each pixel has 8 neighbors.
Parameter association
Possible values for parameters ForegroundPixelValue and ProcessingMode.

ForegroundPixelValue |  | ProcessingMode |
blobNonZero | Pixels of non-zero value are considered to be part of a blob. | blobBinary | The pixel values of holes copied to the destination image are set to the maximum value of that image (for example, 255 for an 8-bit image). (default)
 |  | blobGrayscale | The pixel values of each hole copied to the destination image are set to the corresponding blob's average pixel value in the source image.
blobZero | Pixels of zero value are considered to be part of a blob. | blobBinary | The pixel values of holes copied to the destination image are set to zero. The destination image's background pixel values are set to the maximum value of that image. (default)
 |  | blobGrayscale | The pixel values of holes copied to the destination image are set to zero. Note that blobs are filled with the average grayscale value of the background.
Remarks
  • This method operates in the following manner:
    blobBinary blobGrayscale
    blobNonZero
    blobZero
  • To be considered a hole, a hole cannot touch any image borders.
  • The source and destination images must be packed binary or unsigned, 8-bit or 16-bit 1-band images.
  • This method is optimized for packed binary images.
[]
Example
This example shows how to extract holes within a blob.

m_BlobAnalysis->ExtractHoles(m_LoadedImage, m_DisplayedImage,
                             blobNonZero, blobBinary, blob8Connected);


BlobAnalysis.FillHoles Method

FillHoles method

See Also | Availability | MIL Equivalent | ExtractHoles | Free
User Guide:
Blob reconstruction
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobReconstruct(
Operation =
M_FILL_HOLES
)
BlobAnalysis
FillHoles
Synopsis
Copies all blobs from the source image to the destination image, filling all blob holes.
[]
Syntax
object.FillHoles(
ByVal SourceImage As Image,
ByVal DestinationImage As Image,
ByVal ForegroundPixelValue As BlobForegroundPixelValueConstants,
ByVal ProcessingMode As BlobPixelTypeConstants expression,
ByVal Lattice As BlobLatticeConstants
)
[]
Syntax
void object->FillHoles(
IImage * SourceImage,
IImage * DestinationImage,
enum BlobForegroundPixelValueConstants ForegroundPixelValue,
enum BlobPixelTypeConstants expression ProcessingMode,
enum BlobLatticeConstants Lattice
)
SourceImage
An Image control that specifies the image to use as the source image.
DestinationImage
An Image control that specifies the image to use as the destination image.
ForegroundPixelValue (optional in , default is blobNonZero)
A BlobForegroundPixelValueConstants expression that specifies which pixel values are in the foreground.

See the Parameter associations table for possible values.
ProcessingMode (optional in , default is blobBinary)
A BlobPixelTypeConstants expression that specifies which processing mode to use.

See the Parameter associations table for possible values.
Lattice (optional in , default is blob4Connected)
A BlobLatticeConstants expression that specifies the type of lattice.
Value | Meaning
blob4Connected | Each pixel has 4 neighbors.
blob8Connected | Each pixel has 8 neighbors.
Parameter association
Possible values for parameters ForegroundPixelValue and ProcessingMode.

ForegroundPixelValue |  | ProcessingMode |
blobNonZero | Pixels of non-zero values are considered to be part of a blob. | blobBinary | The pixel values of blobs and holes copied to the destination image are set to the maximum value of that image (for example, 255 for an 8-bit image). (default)
 |  | blobGrayscale | The pixel values of holes copied to the destination image are set to their corresponding blob's average pixel value in the source image.
blobZero | Pixels of zero value are considered to be part of a blob. | blobBinary | The pixel values of holes copied to the destination image are set to zero. The destination image's background pixel values are set to the maximum value of that image. (default)
 |  | blobGrayscale | The pixel values of holes copied to the destination image are set to zero.
Remarks
  • This method operates in the following manner:
    blobBinary blobGrayscale
    blobNonZero
    blobZero
  • To be considered a hole, a hole cannot touch any image borders.
  • The source and destination images must be packed binary or unsigned, 8-bit or 16-bit 1-band images.
  • This method is optimized for packed binary images.
[]
Example
This example shows how to fill blob holes.

m_BlobAnalysis->FillHoles(m_LoadedImage, m_DisplayedImage,
                          blobNonZero, blobBinary, blob8Connected);


BlobAnalysis.Free Method

Free method

See Also | Availability | MIL Equivalent | FillHoles | Inquire
User Guide:
Setting up controls

Reference:
BlobAnalysis.AutomaticAllocation
BlobAnalysis.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobFree()
BlobAnalysis
Free
Synopsis
Frees the resources of the BlobAnalysis control.
[]
Syntax
object.Free()
[]
Syntax
void object->Free()
Remarks
  • The resources associated with the BlobAnalysis control are automatically freed when the control is destroyed. You must use the Free method if you want to free the control prematurely. Note that when you free the BlobAnalysis control, all of its results are deleted.
  • To determine the allocation state of the control, use the IsAllocated property. While a BlobAnalysis control is in the allocated state, some of its properties cannot be changed at run-time (for example, the owner system of the BlobAnalysis control). At run-time, to modify a property that can not be changed after allocation, you must free the BlobAnalysis control (using the Free method), change its property(ies), and then re-allocate the control (using the Allocate method). For example, at run-time, to change the owner system of the control, you must free the BlobAnalysis control, make the change in the OwnerSystem property, and allocate the control again.
  • The Free method will generate an error if the control is not allocated.
  • Any property can be changed when its control is in the allocated state, unless it is otherwise stated in the Remarks section of that property.
[]
Example
This example shows how to use the Free method.

If BlobAnalysis1.IsAllocated Then
    BlobAnalysis1.Free()
End If
[]
Example
This example shows how to use the Free method.

if (m_BlobAnalysis1->IsAllocated)
   m_BlobAnalysis1->Free();


BlobAnalysis.Inquire Method

Inquire method

See Also | Availability | MIL Equivalent | Free | LabelImage
Reference:
BlobAnalysis.Control
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis

See remarks for support on:
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Orion
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MblobInquire(
InquireType =
M_NATIVE_ID
)
BlobAnalysis
Inquire
Synopsis
Inquires about the attributes of the BlobAnalysis control.
[]
Syntax
[Object =] object.Inquire(
ByVal ParamToInquire As BlobInquireAndControlConstants
)
[]
Syntax
[_variant_t =] object->Inquire(
enum BlobInquireAndControlConstants ParamToInquire
)
ParamToInquire
A BlobInquireAndControlConstants expression that specifies the attribute to inquire about.
Value | Meaning
blobNativeID | Returns the board-level native identifier associated with a blob result MIL identifier.
Return value
The current value assigned to the attribute that is inquired about.
Remark for Matrox Corona-II
  • The blobNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox CronosPlus
  • The blobNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox Helios XA
  • The blobNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox Helios XCL
  • The blobNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox Meteor-II /1394
  • The blobNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox Meteor-II /Camera Link
  • The blobNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox Meteor-II /Digital
  • The blobNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox Meteor-II /Multi-Channel
  • The blobNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox Meteor-II /Standard
  • The blobNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox Morphis
  • The blobNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox Odyssey XA
  • The blobNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox Odyssey XCL
  • The blobNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox Odyssey XD
  • The blobNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox Orion
  • The blobNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox Solios XA
  • The blobNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox Solios XCL
  • The blobNativeID inquire setting is not supported. This method is reserved for future expansion.


BlobAnalysis.LabelImage Method

LabelImage method

Availability | MIL Equivalent | Inquire | Modified
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobLabel()
BlobAnalysis
LabelImage
Synopsis
Labels each included blob with its own unique label.
[]
Syntax
object.LabelImage(
ByVal DestinationImage As Image,
ByVal Mode As BlobLabelImageModeConstants
)
[]
Syntax
void object->LabelImage(
IImage * DestinationImage,
enum BlobLabelImageModeConstants Mode
)
DestinationImage
An Image control that specifies the image to use as the destination image.
Mode
A BlobLabelImageModeConstants expression that specifies whether or not to clear the destination before drawing the labeled image into it.
Value | Meaning
blobClear | Clear the destination image before placing the labeled image into it.
blobNoClear | Do not clear the destination image before placing the labeled image into it (background pixels will be unchanged).
Remarks
  • This method uses the Calculate method results, which identify the blobs, to label the blobs.
  • You cannot use this method if the run information has not been previously saved. The Calculate method saves the run information only if SaveRunInformationEnabled property is set to True.
  • When the IdentifierBlobType property is set to blobIndividual or blobEntireImage, the values used to label the blobs are equivalent to the index of the blobs in the Results property. When the IdentifierBlobType property is set to blobLabeled mode, the label values that were in the blob identifier image will be used to label the blobs.
  • The depth of the destination image must large enough to accept the maximum label value. If the IdentifierBlobType property is set to blobIndividual or blobEntireImage, you can use Results.Count property of the BlobAnalysis control to inquire about the highest label value. If the IdentifierBlobType property is set to blobLabeled, you can use the MaximumLabelValue property to inquire about the highest label value.
  • Blobs that have been excluded or deleted are not drawn.


BlobAnalysis.Modified Method

Modified method

See Also | Availability | MIL Equivalent | LabelImage | Reconstruct
User Guide:
Integrating MIL functions into your ActiveMIL code
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
BlobAnalysis
Modified
Synopsis
Informs the BlobAnalysis control that Native MIL calls were made on its resources.
[]
Syntax
object.Modified(
ByVal ModificationType As Integer
)
[]
Syntax
void object->Modified(
long ModificationType
)
ModificationType (optional in , default is amilDefault)
A longintegerlong (integer for Visual Basic .Net) value that specifies the modification type.
Value | Meaning
amilDefault | Specifies that native MIL calls were used to modify the contents of the BlobAnalysis control.
Remark
  • The Modified method should be called after performing a Native MIL Mblob...() function on the resources of the BlobAnalysis control. This ensures that all properties of the BlobAnalysis control are updated to match their state in MIL.


BlobAnalysis.Reconstruct Method

Reconstruct method

See Also | Availability | MIL Equivalent | Modified | ShowPropertyPages
User Guide:
Blob reconstruction
Not available in ActiveMIL-Lite

Available in ActiveMIL
MblobReconstruct(
Operation =
M_RECONSTRUCT_FROM_SEED
)
BlobAnalysis
Reconstruct
Synopsis
Copies, from the source image to the destination image, only those blobs that have a corresponding seed pixel in the seed image.
[]
Syntax
object.Reconstruct(
ByVal SourceImage As Image,
ByVal SeedImage As Image,
ByVal DestinationImage As Image,
ByVal ProcessingMode As BlobPixelTypeConstants,
ByVal ForegroundPixelValue As BlobForegroundPixelValueConstants,
ByVal SeedPixelsAllInBlobs As Boolean,
ByVal Lattice As BlobLatticeConstants
)
[]
Syntax
void object->Reconstruct(
IImage * SourceImage,
IImage * SeedImage,
IImage * DestinationImage,
enum BlobPixelTypeConstants ProcessingMode,
enum BlobForegroundPixelValueConstants ForegroundPixelValue,
VARIANT_BOOL SeedPixelsAllInBlobs,
enum BlobLatticeConstants Lattice
)
SourceImage
An Image control that specifies the image to use as the source image.
SeedImage
An Image control that specifies the image to use as the seed image.
DestinationImage
An Image control that specifies the image to use as the destination image.
ProcessingMode (optional in , default is blobBinary)
A BlobPixelTypeConstants expression which specifies the processing mode to use.

See the Parameter associations table for possible values.
ForegroundPixelValue (optional in , default is blobNonZero)
A BlobForegroundPixelValueConstants expression that specifies which pixel values are in the foreground.

See the Parameter associations table for possible values.
SeedPixelsAllInBlobs (optional in , default is False)
A boolean value that specifies whether all seed pixels in the seed image have corresponding blob pixels in the source image.
Value | Meaning
True | Use this setting to accelerate the reconstruction process, only if all seed pixels in the seed image have corresponding blob pixels in the source image. This condition often exists when the seed image is an eroded version of the source image (see Erode method).
False | All seed pixels in the seed image do not have corresponding blob pixels in the source image.
Lattice (optional in , default is blob4Connected)
A BlobLatticeConstants expression that specifies the type of lattice.
Value | Meaning
blob4Connected | Each pixel has 4 neighbors.
blob8Connected | Each pixel has 8 neighbors.
Parameter association
Possible values for parameters ForegroundPixelValue and ProcessingMode.

ForegroundPixelValue |  | ProcessingMode |
blobNonZero | The pixels of non-zero value in the source image are considered to be part of a blob. | blobBinary | Seeded blobs are copied to the destination image. Their pixel values are set to the maximum value of that image (for example, 255 for an 8-bit image). (default)
 |  | blobGrayscale | Seeded blobs are copied to the destination image.
blobZero | The pixels of zero values in the source image are considered to be part of a blob. | blobBinary | Seeded blobs are copied to the destination image. The destination image's background pixel values are set to the maximum value of that image. (default)
 |  | blobGrayscale | Seeded blobs are copied to the destination image. Note that non-seeded blobs are filled with the background's average grayscale pixel value.
Remarks
  • This method operates in the following manner:
  • The source and destination images must be packed binary or unsigned, 8-bit or 16-bit 1-band images.
  • The seed and destination images must have identical dimensions.
  • This method is optimized for packed binary images.
[]
Example
This example shows how to reconstruct an image containing blobs from a seed image.

' A seed image will first be created by eroding the image containing blobs.
' The blob image will be reconstructed after with the seed image.

' Binarize the image
ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Destination1 = LoadedImage
ImageProcessing1.Binarize(impGreaterThan, 50)

' Erode the image
    ImageProcessing1.Source1 = SeedImage
ImageProcessing1.Destination1 = SeedImage
ImageProcessing1.Binarize(impGreaterThan, 50)
ImageProcessing1.Erode(impPredefined, 3, impBinary)

' Reconstruct the blob image with the eroded image (seed image).
BlobAnalysis1.Reconstruct(LoadedImage, SeedImage, _
                        LoadedImage, blobBinary, blobNonZero, True)
[]
Example
This example shows how to reconstruct an image containing blobs from a seed image.

// A seed image will first be created by eroding the image containing blobs.
// The blob image will be reconstructed after with the seed image.

// Binarize the image
m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_BinarizeImage;
m_ImageProcessing1->Binarize(impGreaterThan, 50, 255);

// Erode the image
m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_AnImage;
m_ImageProcessing1->Erode(impPredefined, 3, impBinary);

// Reconstruct the blob image with the eroded image.
m_BlobAnalysis->Reconstruct(m_DisplayedImage, m_AnImage, m_DisplayedImage,
                            blobBinary, blobNonZero, TRUE, blob8Connected);


BlobAnalysis.ShowPropertyPages Method

ShowPropertyPages method

Availability | MIL Equivalent | Reconstruct | ResultsModified
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
BlobAnalysis
ShowPropertyPages
Synopsis
Opens the specified property pages of the BlobAnalysis control in a window.
[]
Syntax
object.ShowPropertyPages(
ByVal Pages As BlobPropertyPagesConstants,
ByVal Caption As String,
ByVal hWndParent As Integer,
ByVal Reserved As Boolean
)
[]
Syntax
void object->ShowPropertyPages(
enum BlobPropertyPagesConstants Pages,
_bstr_t Caption,
long hWndParent,
VARIANT_BOOL Reserved
)
Pages
A BlobPropertyPagesConstants expression that specifies the page(s) to display. You can add the following constants together to display multiple pages.
Value | Meaning
blobGeneralPropertyPage | Display the BlobAnalysis control's General property page.
blobAttributesPropertyPage | Display the BlobAnalysis control's Attributes property page.
blobFeatureListPropertyPage | Display the BlobAnalysis control's Feature List property page.
blobFiltersPropertyPage | Display the BlobAnalysis control's Filters property page.
blobSortingKeysPropertyPage | Display the BlobAnalysis control's Sorting Key property page.
blobHistoryPropertyPage | Display the BlobAnalysis control's History property page.
blobAllPropertyPages | Display all of the BlobAnalysis control's available property pages.
Caption (optional in , default is "")
A string value that specifies the caption for the property pages window. The default is an empty string, in which case a generic caption will be displayed.
hWndParent (optional in , default is 0)
A long value that specifies the window handle (HWND) of the property pages window's parent. The property pages window will be modal in relation to its parent window.
Reserved (optional in , default is True)
This parameter is reserved for future use. True is the only value available.
Value | Meaning
True | Meaning to be determined. This setting must always be used.
Remarks
  • If the BlobAnalysis control is created at design-time, the .NET ActiveX Control Importer (AxImp.exe) renames this ActiveMIL method from ShowPropertyPages() to CtlShowPropertyPages() to avoid name clashing with the ShowPropertyPages() method of the .NET Windows Form control. See the Windows Forms ActiveX Control Importer (AxImp.exe) topic in MSDN for more information. In addition, if the control is created at run-time with the AxMatrox.ActiveMIL.* namespace, you must use CtlShowPropertyPages() to call the ActiveMIL ShowPropertyPages() method.
  • This method is used to display the property pages so that properties can be set interactively at run-time.
  • This method will disable property page elements corresponding to properties that cannot be changed due to the current state of the control. For example, if a property cannot be changed while its control is in the allocated state, and the control is allocated, the corresponding element in the property page will be disabled. To change this property, call the Free method first.


BlobAnalysis.ResultsModified Event

ResultsModified event

Availability | MIL Equivalent | ShowPropertyPages
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
BlobAnalysis
ResultsModified
Synopsis
Occurs after results have been modified.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_ResultsModified() Handles object.ResultsModified

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_ResultsModified(
ByVal sender As Object,
ByVal e As System.EventArgs
) Handles object.ResultsModified
[]
Syntax
void class::OnResultsModified()
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.


Calibration control

Availability
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Synopsis
The calibration control allows you calibrate your imaging setup by mapping pixel coordinates to real-world coordinates. This calibration can be used to return results from other ActiveMIL control in real-world units. This mapping can also be used to physically correct certain types of image distortion.

Structure
Calibration |  |  | Properties: AutomaticAllocation, OwnerSystem, OwnerSystemName, CalibrationMode, CalibrationPoints, CameraPosition, Grid, IsAllocated, IsCalibrated, MilID, Name, OutputCoordinateSystem, PropertyValidation, RelativeOrigin, Results, StreamSize, TransformCacheEnabled Methods: Allocate, CalibrateGrid, CalibratePoints, Control, ConvertCoordinateListPixelToWorld, ConvertCoordinateListWorldToPixel, ConvertCoordinatePixelToWorld, ConvertCoordinateWorldToPixel, ConvertResultPixelToWorld, ConvertResultWorldToPixel, CorrectImage, Free, Inquire, Load, LoadStream, Modified, Save, SaveStream, ShowPropertyPages Event: ResultsModified
 | CalibrationPoints |  | Properties: Count, Item Methods: Add, Remove
 |  | Item | Properties: PixelX, PixelY, WorldX, WorldY
 | CameraPosition |  | Properties: X, Y
 | Grid |  | Properties: ColumnSpacing, NumberOfColumns, NumberOfRows, OriginX, OriginY, RowSpacing
 | RelativeOrigin |  | Properties: Angle, X, Y Method: Reset
 | Results |  | Properties: AveragePixelError, AverageWorldError, MaximumPixelError, MaximumWorldError, PixelAspectRatio, PixelSizeX, PixelSizeY Method: Get


Calibration.AutomaticAllocation Property

AutomaticAllocation property

See Also | Availability | MIL Equivalent | OwnerSystem
User Guide:
Setting up controls - Allocating and freeing resources

Reference:
Calibration.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Calibration
AutomaticAllocation
Synopsis
Returns or sets whether the resources of the Calibration control are automatically allocated at run-time.
[]
Syntax
object.AutomaticAllocation [= Boolean]
[]
Syntax
object->AutomaticAllocation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the control's automatic allocation.
Value | Meaning
True | The control will be allocated automatically at run-time.
False | The control must be allocated explicitly, using the Allocate method.
Remarks
  • When the AutomaticAllocation property is False, an explicit call to the Allocate method is required. You can get the allocation state of the control by reading its IsAllocated property.
  • The default value is True for controls created at design-time, and False for controls created at run-time (for example, with the CreateObject method of the Application control).
  • When this property is set to True, automatic allocation will occur when the owner system of the Calibration control is allocated. For example, if System1 is set as the OwnerSystem of Calibration1, and System1 is not allocated, then Calibration1 will not be allocated, even if its AutomaticAllocation property is set to True. When System1 is allocated (with the Allocate method), Calibration1 will be allocated automatically if its AutomaticAllocation property is set to True.
  • The resources of the control will be freed automatically when the control is destroyed.


Calibration.CalibrationMode Property

CalibrationMode property

See Also | Availability | MIL Equivalent | OwnerSystemName | CalibrationPoints
User Guide:
Calibration modes

Reference:
Calibration.CalibrateGrid
Calibration.CalibratePoints
Calibration.CalibrationPoints
Calibration.Grid
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalAlloc(Mode)

McalInquire(
InquireType =
M_CALIBRATION_MODE
)
Calibration
CalibrationMode
Synopsis
Returns or sets the calibration mode.
[]
Syntax
object.CalibrationMode [= CalCalibrationModeConstants]
[]
Syntax
object->CalibrationMode [= enum CalCalibrationModeConstants]
Type description
A CalCalibrationModeConstants expression that specifies the type of calibration.
Value | Meaning
calLinearInterpolation | Uses piecewise linear interpolation.
calPerspectiveTransformation | Uses perspective transformation.
calCalibrationModeDefault | Uses the ActiveMIL default.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The piecewise linear interpolation mode fits a piecewise linear function to the set of image coordinates and their real-world equivalents.
  • Perspective transformation mode fits a global perspective transformation function to the set of image coordinates and their real-world equivalents.


Calibration.CalibrationPoints Property

CalibrationPoints property

See Also | Availability | MIL Equivalent | CalibrationMode | CameraPosition
User Guide:
Calibrating with a list of points

Reference:
Calibration.CalibrationMode
Calibration.IsCalibrated
Calibration.OutputCoordinateSystem
Calibration.RelativeOrigin
Calibration.Save
Calibration.TransformCacheEnabled
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalInquire(
InquireType =
M_NUMBER_OF_CALIBRATION_POINTS or
M_CALIBRATION_IMAGE_POINTS_X or
M_CALIBRATION_IMAGE_POINTS_Y or
M_CALIBRATION_IMAGE_POINTS_Y or
M_CALIBRATION_WORLD_POINTS_Y
)
Calibration
CalibrationPoints
Properties: Count, Item

Methods: Add, Remove
Synopsis
Returns the collection of calibration points of the Calibration control, allowing access to the collection's elements.
[]
Syntax
[CalibrationPoints =] object.CalibrationPoints
[]
Syntax
[ICalibrationPointsPtr =] object->CalibrationPoints
Type description
A CalibrationPoints object.
Remarks
  • You cannot assign another CalibrationPoints object to this property.
  • The CalibratePoints collection can be used when you explicitly know the real-world coordinates for a given set of pixel coordinates. The specified pixel coordinates should cover the area of the image from which you want real-world coordinates (the working area).
  • In the case of perspective distortions, knowing the world coordinates of 4 points in the image gives sufficient information to create a mapping function. To create a good mapping for a radial distortion requires a larger number of coordinates (for example, more than 30) distributed over the image.


Calibration.CalibrationPoints.Count Property

Count property

See Also | Availability | MIL Equivalent | Item
Reference:
Calibration.CalibrationMode
Calibration.CalibrationPoints
Calibration.CalibrationPoints.Add
Calibration.CalibrationPoints.Item
Calibration.CalibrationPoints.Item.PixelX
Calibration.CalibrationPoints.Item.PixelY
Calibration.CalibrationPoints.Item.WorldX
Calibration.CalibrationPoints.Item.WorldY
Calibration.CalibrationPoints.Remove
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalInquire(
InquireType =
M_NUMBER_OF_CALIBRATION_POINTS
)
Calibration
CalibrationPoints
Count
Synopsis
Returns the number of elements in the collection of calibration points.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A long value that specifies the number of points.


Calibration.CalibrationPoints.Item Property

Item property

See Also | Availability | MIL Equivalent | Count | Add
Reference:
Calibration.CalibratePoints
Calibration.CalibrationMode
Calibration.CalibrationPoints
Calibration.CalibrationPoints.Add
Calibration.CalibrationPoints.Count
Calibration.CalibrationPoints.Remove
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Calibration
CalibrationPoints
Item
Properties: PixelX, PixelY, WorldX, WorldY
Synopsis
Returns the element at the specified index in the collection of calibration points.
[]
Syntax
[CalibrationPoint=]object.Item(
Index As Integer
)
[]
Syntax
[ICalibrationPointPtr =] object->Item(
long Index
)
Index
A long value that specifies the index of the required CalibrationPoint.
Type description
A CalibrationPoint object.
Remark
  • If the value provided as the index does not match any existing point in the collection, an error occurs. Note, the index of the first point of this collection starts at one.


Calibration.CalibrationPoints.Item.PixelX Property

PixelX property

See Also | Availability | MIL Equivalent | PixelY
Reference:
Calibration.CalibrationMode
Calibration.CalibrationPoints
Calibration.CalibrationPoints.Add
Calibration.CalibrationPoints.Count
Calibration.CalibrationPoints.Item
Calibration.CalibrationPoints.Item.PixelY
Calibration.CalibrationPoints.Item.WorldX
Calibration.CalibrationPoints.Item.WorldY
Calibration.CalibrationPoints.Remove
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalInquire(
InquireType =
M_CALIBRATION_IMAGE_POINTS_X
)
Calibration
CalibrationPoints
Item
PixelX
Synopsis
Returns the X-coordinate of the specified point in the collection in pixel coordinates.
[]
Syntax
[Double =] object.PixelX
[]
Syntax
[double =] object->PixelX
Type description
A double value that specifies the pixel's X-coordinate.


Calibration.CalibrationPoints.Item.PixelY Property

PixelY property

See Also | Availability | MIL Equivalent | PixelX | WorldX
Reference:
Calibration.CalibrationMode
Calibration.CalibrationPoints
Calibration.CalibrationPoints.Add
Calibration.CalibrationPoints.Count
Calibration.CalibrationPoints.Item
Calibration.CalibrationPoints.Item.PixelX
Calibration.CalibrationPoints.Item.WorldX
Calibration.CalibrationPoints.Item.WorldY
Calibration.CalibrationPoints.Remove
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalInquire(
InquireType =
M_CALIBRATION_IMAGE_POINTS_Y
)
Calibration
CalibrationPoints
Item
PixelY
Synopsis
Returns the Y-coordinate of the specified point in the collection in pixel coordinates.
[]
Syntax
[Double =] object.PixelY
[]
Syntax
[double =] object->PixelY
Type description
A double value that specifies the pixel's Y-coordinate.


Calibration.CalibrationPoints.Item.WorldX Property

WorldX property

See Also | Availability | MIL Equivalent | PixelY | WorldY
Reference:
Calibration.CalibrationMode
Calibration.CalibrationPoints
Calibration.CalibrationPoints.Add
Calibration.CalibrationPoints.Count
Calibration.CalibrationPoints.Item
Calibration.CalibrationPoints.Item.PixelX
Calibration.CalibrationPoints.Item.PixelY
Calibration.CalibrationPoints.Item.WorldY
Calibration.CalibrationPoints.Remove
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalInquire(
InquireType =
M_CALIBRATION_WORLD_POINTS_X
)
Calibration
CalibrationPoints
Item
WorldX
Synopsis
Returns the X-coordinate of the specified point in the collection in real-world coordinates.
[]
Syntax
[Double =] object.WorldX
[]
Syntax
[double =] object->WorldX
Type description
A double value that specifies the point's X-coordinate in real-world coordinates.


Calibration.CalibrationPoints.Item.WorldY Property

WorldY property

See Also | Availability | MIL Equivalent | WorldX
Reference:
Calibration.CalibrationMode
Calibration.CalibrationPoints
Calibration.CalibrationPoints.Add
Calibration.CalibrationPoints.Count
Calibration.CalibrationPoints.Item
Calibration.CalibrationPoints.Item.PixelX
Calibration.CalibrationPoints.Item.PixelY
Calibration.CalibrationPoints.Item.WorldX
Calibration.CalibrationPoints.Remove
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalInquire(
InquireType =
M_CALIBRATION_WORLD_POINTS_Y
)
Calibration
CalibrationPoints
Item
WorldY
Synopsis
Returns the Y-coordinate of the specified point in the collection in real-world coordinates.
[]
Syntax
[Double =] object.WorldY
[]
Syntax
[double =] object->WorldY
Type description
A double value that specifies the point's Y-coordinate in real-world coordinates.


Calibration.CalibrationPoints.Add Method

Add method

See Also | Availability | MIL Equivalent | Item | Remove
Reference:
Calibration.CalibrationMode
Calibration.CalibrationPoints
Calibration.CalibrationPoints.Count
Calibration.CalibrationPoints.Item
Calibration.CalibrationPoints.Item.PixelX
Calibration.CalibrationPoints.Item.PixelY
Calibration.CalibrationPoints.Item.WorldX
Calibration.CalibrationPoints.Item.WorldY
Calibration.CalibrationPoints.Remove
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Calibration
CalibrationPoints
Add
Synopsis
Adds a set of coordinates to the CalibrationPoints collection, for calibrating the imaging setup.
[]
Syntax
[Integer =] object.Add(
ByVal PixelX As Double,
ByVal PixelY As Double,
ByVal WorldX As Double,
ByVal WorldY As Double
)
[]
Syntax
[long =] object->Add(
double PixelX,
double PixelY,
double WorldX,
double WorldY
)
PixelX
A double value that specifies the X-pixel-coordinate. (default = 0)
PixelY
A double value that specifies the Y-pixel-coordinate. (default = 0)
WorldX
A double value that specifies the X-world-coordinate. (default = 0)
WorldY
A double value that specifies the Y-world-coordinate. (default = 0)
Return value
Returns the index of the new CalibrationPoint.
Remarks
  • For a piecewise linear interpolation calibration mode, the minimum number of coordinates is 3.
  • For a perspective transformation calibration mode, the minimum number of coordinates is 4.
  • The specified pixel coordinates should cover the area of the image from which you want real-world coordinates (the working area).
  • Note, you must call the CalibratePoints method to calibrate your imaging setup with the collection of calibration points.


Calibration.CalibrationPoints.Remove Method

Remove method

See Also | Availability | MIL Equivalent | Add
Reference:
Calibration.CalibrationMode
Calibration.CalibrationPoints
Calibration.CalibrationPoints.Add
Calibration.CalibrationPoints.Count
Calibration.CalibrationPoints.Item
Calibration.CalibrationPoints.Item.PixelX
Calibration.CalibrationPoints.Item.PixelY
Calibration.CalibrationPoints.Item.WorldX
Calibration.CalibrationPoints.Item.WorldY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Calibration
CalibrationPoints
Remove
Synopsis
Removes a specified set or all sets of coordinates from the collection of calibration points.
[]
Syntax
object.Remove(
ByVal Index As Integer
)
[]
Syntax
void object->Remove(
long Index
)
Index
A longintegerlong (integer for Visual Basic .Net) value or a CalAllConstants expression that specifies which set of coordinates to remove.
Value | Meaning
calAll | Removes all sets of coordinates from the collection of calibration points.
value | A longintegerlong (integer for Visual Basic .Net) value that specifies an index into the collection of coordinates to remove.
Remark
  • When a set of points is removed from the collection, index values greater than that of the removed set are reduced by one.


Calibration.CameraPosition Property

CameraPosition property

See Also | Availability | MIL Equivalent | CalibrationPoints | Grid
User Guide:
Coordinate systems and camera position
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalControl(
ControlType =
M_CAMERA_POSITION_X or
M_CAMERA_POSITION_Y
)

McalInquire(
InquireType =
M_CAMERA_POSITION_X or
M_CAMERA_POSITION_Y
)
Calibration
CameraPosition
Properties: X, Y
Synopsis
Allows you to specify or determine the position of the camera relative to the absolute coordinate system.
[]
Syntax
[CalibrationCameraPosition =] object.CameraPosition
[]
Syntax
[ICalibrationCameraPositionPtr =] object->CameraPosition
Type description
A CalibrationCameraPosition object.
Remarks
  • You cannot assign another CalibrationCameraPosition object to this property.
  • Changing the properties of the CameraPosition property after a Calibration control has been associated to an image or digitizer will not affect previously calibrated images.


Calibration.CameraPosition.X Property

X property

See Also | Availability | MIL Equivalent | Y
Reference:
Calibration.CameraPosition
Calibration.CameraPosition.Y
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalControl(
ControlType =
M_CAMERA_POSITION_X
)

McalInquire(
InquireType =
M_CAMERA_POSITION_X
)
Calibration
CameraPosition
X
Synopsis
Returns or sets the X-position of the camera relative to the absolute coordinate system.
[]
Syntax
object.X [= Double]
[]
Syntax
object->X [= double]
Type description
A double that specifies the relative X-position of the camera, in world-units.
Remark
  • The absolute coordinate system origin is the default camera position.


Calibration.CameraPosition.Y Property

Y property

See Also | Availability | MIL Equivalent | X
Reference:
Calibration.CameraPosition
Calibration.CameraPosition.X
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalControl(
ControlType =
M_CAMERA_POSITION_Y
)

McalInquire(
InquireType =
M_CAMERA_POSITION_Y
)
Calibration
CameraPosition
Y
Synopsis
Returns or sets the Y-position of the camera relative to the absolute coordinate system.
[]
Syntax
object.Y [= Double]
[]
Syntax
object->Y [= double]
Type description
A double that specifies the relative Y-position of the camera, in world-units.
Remark
  • The absolute coordinate system origin is the default camera position.


Calibration.Grid Property

Grid property

See Also | Availability | MIL Equivalent | CameraPosition | IsAllocated
User Guide:
Calibrating with a real-world grid

Reference:
Calibration.CalibrateGrid
Calibration.CalibratePoints
Calibration.CalibrationPoints
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalGrid(
GridOffsetX
GridOffsetY
RowNumber
ColumnNumber
RowSpacing
ColumnSpacing
)

McalInquire(
InquireType =
M_COLUMN_SPACING or
M_COLUMN_NUMBER or
M_ROW_NUMBER or
M_GRID_ORIGIN_X or
M_GRID_ORIGIN_Y or
M_ROW_SPACING
)
Calibration
Grid
Properties: ColumnSpacing, NumberOfColumns, NumberOfRows, OriginX, OriginY, RowSpacing
Synopsis
Allows you to specify or determine the calibration grid attributes.
[]
Syntax
[CalibrationGrid =] object.Grid
[]
Syntax
[ICalibrationGridPtr =] object->Grid
Type description
A CalibrationGrid object.
Remarks
  • You cannot assign another CalibrationGrid object to this property.
  • The property uses an image of a user-defined grid of circles and the world description of this grid to calibrate your imaging setup.
  • The grid should be large enough to cover the area of the image from which you want real-world results.
  • The CalibrateGrid method must be called after setting the properties of the Grid property in order to calibrate your imaging setup


Calibration.Grid.ColumnSpacing Property

ColumnSpacing property

See Also | Availability | MIL Equivalent | NumberOfColumns
Reference:
Calibration.CalibrateGrid
Calibration.Grid
Calibration.Grid.NumberOfColumns
Calibration.Grid.NumberOfRows
Calibration.Grid.OriginX
Calibration.Grid.OriginY
Calibration.Grid.RowSpacing
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalGrid(ColumnSpacing)

McalInquire(
InquireType =
M_COLUMN_SPACING
)
Calibration
Grid
ColumnSpacing
Synopsis
Returns or sets the number of world units between columns in the calibration grid.
[]
Syntax
object.ColumnSpacing [= Double]
[]
Syntax
object->ColumnSpacing [= double]
Type description
A double value that specifies the number of world units.
Remarks
  • The radius of the grid's circles should range between 6 and 10 pixels.
  • The minimum distance between the edges of the circles should be 6 pixels.
  • The center-to-center distance between the grid's circles should range from 18 to 22 pixels (22 pixels recommended). Note, however, that the row spacing is specified in world units.
  • The grid should be large enough to cover the area of the image from which you want real-world results.
  • The grid image should have high contrast.


Calibration.Grid.NumberOfColumns Property

NumberOfColumns property

See Also | Availability | MIL Equivalent | ColumnSpacing | NumberOfRows
Reference:
Calibration.CalibrateGrid
Calibration.Grid
Calibration.Grid.ColumnSpacing
Calibration.Grid.NumberOfRows
Calibration.Grid.OriginX
Calibration.Grid.OriginY
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalGrid(ColumnNumber)

McalInquire(
InquireType =
M_COLUMN_NUMBER
)
Calibration
Grid
NumberOfColumns
Synopsis
Returns or sets the number of columns in the calibration grid.
[]
Syntax
object.NumberOfColumns [= Integer]
[]
Syntax
object->NumberOfColumns [= long]
Type description
A long value that specifies the number of columns.
Remark
  • The minimum number of columns is 2.


Calibration.Grid.NumberOfRows Property

NumberOfRows property

See Also | Availability | MIL Equivalent | NumberOfColumns | OriginX
Reference:
Calibration.CalibrateGrid
Calibration.Grid
Calibration.Grid.ColumnSpacing
Calibration.Grid.NumberOfColumns
Calibration.Grid.OriginX
Calibration.Grid.OriginY
Calibration.Grid.RowSpacing
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalGrid(RowNumber)

McalInquire(
InquireType =
M_ROW_NUMBER
)
Calibration
Grid
NumberOfRows
Synopsis
Returns or sets the number of rows in the calibration grid.
[]
Syntax
object.NumberOfRows [= Integer]
[]
Syntax
object->NumberOfRows [= long]
Type description
A long value that specifies the number of rows.
Remark
  • The minimum number of rows is 2.


Calibration.Grid.OriginX Property

OriginX property

See Also | Availability | MIL Equivalent | NumberOfRows | OriginY
Reference:
Calibration.CalibrateGrid
Calibration.Grid
Calibration.Grid.ColumnSpacing
Calibration.Grid.NumberOfColumns
Calibration.Grid.NumberOfRows
Calibration.Grid.OriginY
Calibration.Grid.RowSpacing
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalGrid(GridOffsetX)

McalInquire(
InquireType =
M_GRID_ORIGIN_X
)
Calibration
Grid
OriginX
Synopsis
Returns or sets the X-offset from the origin of the real-world coordinate system to the top-left circle.
[]
Syntax
object.OriginX [= Double]
[]
Syntax
object->OriginX [= double]
Type description
A double value that specifies the X-coordinate of the offset, in world units.


Calibration.Grid.OriginY Property

OriginY property

See Also | Availability | MIL Equivalent | OriginX | RowSpacing
Reference:
Calibration.CalibrateGrid
Calibration.Grid
Calibration.Grid.ColumnSpacing
Calibration.Grid.NumberOfColumns
Calibration.Grid.NumberOfRows
Calibration.Grid.OriginX
Calibration.Grid.RowSpacing
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalGrid(GridOffsetY)

McalInquire(
InquireType =
M_GRID_ORIGIN_Y
)
Calibration
Grid
OriginY
Synopsis
Returns or sets the Y offset from the origin of the real-world coordinate system to the top-left circle.
[]
Syntax
object.OriginY [= Double]
[]
Syntax
object->OriginY [= double]
Type description
A double value that specifies the Y-coordinate of the offset, in world units.


Calibration.Grid.RowSpacing Property

RowSpacing property

See Also | Availability | MIL Equivalent | OriginY
Reference:
Calibration.CalibrateGrid
Calibration.Grid
Calibration.Grid.ColumnSpacing
Calibration.Grid.NumberOfColumns
Calibration.Grid.NumberOfRows
Calibration.Grid.OriginX
Calibration.Grid.OriginY
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalGrid(RowSpacing)

McalInquire(
InquireType =
M_ROW_SPACING
)
Calibration
Grid
RowSpacing
Synopsis
Returns or sets the number of world units between rows in the calibration grid, from circle center to circle center.
[]
Syntax
object.RowSpacing [= Double]
[]
Syntax
object->RowSpacing [= double]
Type description
A double value that specifies the number of world units.
Remarks
  • The radius of the grid's circles should range between 6 and 10 pixels.
  • The minimum distance between the edges of the circles should be 6 pixels.
  • The center-to-center distance between the grid's circles should range from 18 to 22 pixels (22 pixels recommended). Note, however, that the row spacing is specified in world units.
  • The grid should be large enough to cover the area of the image from which you want real-world results.
  • The grid image should have high contrast.


Calibration.IsAllocated Property

IsAllocated property

See Also | Availability | MIL Equivalent | Grid | IsCalibrated
User Guide:
Allocation of resources

Reference:
Calibration.Allocate
Calibration.AutomaticAllocation
Calibration.Free
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Calibration
IsAllocated
Synopsis
Returns whether the resources of the Calibration control are allocated.
[]
Syntax
[Boolean =] object.IsAllocated
[]
Syntax
[VARIANT_BOOL =] object->IsAllocated
Type description
A boolean value that specifies whether the resources of the control are allocated.
Value | Meaning
True | The resources of the control are allocated.
False | The resources of the control are not allocated.
[]
Example
This example shows how to use the IsAllocated property.

If Calibration1.IsAllocated Then
    Calibration1.Free()
End If
[]
Example
This example shows how to use the IsAllocated property.

if (m_Calibration1->IsAllocated)
   m_Calibration1->Free();


Calibration.IsCalibrated Property

IsCalibrated property

See Also | Availability | MIL Equivalent | IsAllocated | MilID
Reference:
Calibration.CalibrateGrid
Calibration.CalibratePoints
Calibration.Inquire
Calibration.Load
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalInquire(
InquireType =
M_CALIBRATION_SUCCESSFUL
)
Calibration
IsCalibrated
Synopsis
Returns whether the Calibration control was successfully calibrated. To calibrate the Calibration control, the CalibrateGrid or CalibratePoints method must be called successfully.
[]
Syntax
[Boolean =] object.IsCalibrated
[]
Syntax
[VARIANT_BOOL =] object->IsCalibrated
Type description
A boolean value that specifies whether the calibration was successful.
Value | Meaning
True | Calibration successful.
False | Calibration not successful.
Remark
  • This property will return False if a point is added to the CalibrationPoints collection after the imaging setup has been calibrated with the CalibrateGrid or the CalibratePoints method.


Calibration.MilID Property

MilID property

See Also | Availability | MIL Equivalent | IsCalibrated | Name
User Guide:
Integrating MIL functions with your ActiveMIL code
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalAlloc(CalibrationIdPtr)
Calibration
MilID
Synopsis
Returns the Native MIL identifier of the allocated resources of the Calibration control.
[]
Syntax
[Integer =] object.MilID
[]
Syntax
[long =] object->MilID
Type description
A long value that specifies the control's Native MIL identifier.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • The control's Modified method should be called after making Native MIL call(s) on the returned identifier.
  • If the control's IsAllocated property is False, the MilID property will be 0.


Calibration.Name Property

Name property

Availability | MIL Equivalent | MilID | OutputCoordinateSystem
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Calibration
Name
Synopsis
Returns or sets the name used in code to identify the Calibration control.
[]
Syntax
object.Name [= String]
[]
Syntax
object->Name [= _bstr_t]
Type description
A string expression that specifies the name of the Calibration control.
Remarks
  • This property cannot be set at run-time.
  • The default name for a new control is the type of control plus a unique integer. For example, the first new Calibration control you create on a form is named Calibration1 and the second Calibration control is named Calibration2.
  • A control's Name property must start with a letter and can be a maximum of 40 characters. It can include numbers and underscore (_) characters but cannot include punctuation or spaces. Although the Name property setting can be a keyword, property name, or the name of another object, it can create conflicts in your code.


Calibration.OutputCoordinateSystem Property

OutputCoordinateSystem property

See Also | Availability | MIL Equivalent | Name | PropertyValidation
User Guide:
Processing calibrated images

Reference:
Calibration.CalibrateGrid
Calibration.CalibratePoints
Calibration.CalibrationMode
Calibration.CalibrationPoints
Calibration.Grid
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalControl(
ControlType =
M_OUTPUT_COORDINATE_SYSTEM
)

McalInquire(
InquireType =
M_OUTPUT_COORDINATE_SYSTEM
)
Calibration
OutputCoordinateSystem
Synopsis
Returns or sets the output coordinate system in which to return results from operations on calibrated images.
[]
Syntax
object.OutputCoordinateSystem [= CalCoordinateSystemConstants]
[]
Syntax
object->OutputCoordinateSystem [= enum CalCoordinateSystemConstants]
Type description
A CalCoordinateSystemConstants expression that specifies the type of coordinate system to use.
Value | Meaning
calPixel | Results are returned in a pixel coordinate system.
calWorld | Results are returned in a world coordinate system.
[]
Example
This example shows how to select the coordinate system to use.

m_Calibration1->OutputCoordinateSystem = calWorld;


Calibration.OwnerSystem Property

OwnerSystem property

See Also | Availability | MIL Equivalent | AutomaticAllocation | OwnerSystemName
User Guide:
Owner system
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalAlloc(SystemId)
Calibration
OwnerSystem
Synopsis
Returns or sets the system on which the resources of the Calibration control are allocated.
[]
Syntax
object.OwnerSystem [= System]
[]
Syntax
object->OwnerSystem [= ISystemPtr]
Type description
A System control that specifies the system to set as the owner (parent) of the Calibration control.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The owner system can also be specified, with the name assigned to its control, using the OwnerSystemName property.
  • This property automatically sets the OwnerSystemName property.


Calibration.OwnerSystemName Property

OwnerSystemName property

See Also | Availability | MIL Equivalent | OwnerSystem | CalibrationMode
User Guide:
Owner system

Reference:
System
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalAlloc(SystemId)
Calibration
OwnerSystemName
Synopsis
Returns or sets the name of the System control representing the system on which the resources of the Calibration control are allocated.
[]
Syntax
object.OwnerSystemName [= String]
[]
Syntax
object->OwnerSystemName [= _bstr_t]
Type description
A string expression that specifies the name of the System control to set as the owner (parent) of the Calibration control.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The owner system can also be specified using the OwnerSystem property.
  • This property automatically sets the OwnerSystem property.


Calibration.PropertyValidation Property

PropertyValidation property

See Also | Availability | MIL Equivalent | OutputCoordinateSystem | RelativeOrigin
User Guide:
Error reporting
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Calibration
PropertyValidation
Synopsis
Returns or sets whether the properties of the Calibration control are dynamically validated.
[]
Syntax
object.PropertyValidation [= Boolean]
[]
Syntax
object->PropertyValidation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the property validation mode.
Value | Meaning
True | The control's properties are dynamically validated. Errors will be generated during the design process.
False | The control's properties are not dynamically validated. Errors will only be generated at run-time.
Remarks
  • At run-time, this property is read-only and is always set to True.
  • When set to True and, if one of the control's properties is not properly set, the control is outlined in red. The Error page of the control's property pages describes the specific error.


Calibration.RelativeOrigin Property

RelativeOrigin property

See Also | Availability | MIL Equivalent | PropertyValidation | Results
User Guide:
Coordinate systems and camera position
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalRelativeOrigin(
XOffset
YOffset
AngularOffset
)
Calibration
RelativeOrigin
Properties: Angle, X, Y

Method: Reset
Synopsis
Allows you to specify or determine the origin and/or orientation of the relative coordinate system.
[]
Syntax
[CalibrationRelativeOrigin =] object.RelativeOrigin
[]
Syntax
[ICalibrationRelativeOriginPtr =] object->RelativeOrigin
Type description
A CalibrationRelativeOrigin object.
Remarks
  • You cannot assign another CalibrationRelativeOrigin object to this property.
  • Any changes to the properties of the RelativeOrigin property will not affect the relative coordinate system of images already associated with the Calibration control.


Calibration.RelativeOrigin.Angle Property

Angle property

See Also | Availability | MIL Equivalent | X
Reference:
Calibration.RelativeOrigin
Calibration.RelativeOrigin.Reset
Calibration.RelativeOrigin.X
Calibration.RelativeOrigin.Y
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalRelativeOrigin(AngleOffset)

McalInquire(
InquireType =
M_RELATIVE_ORIGIN_ANGLE
)
Calibration
RelativeOrigin
Angle
Synopsis
Returns or sets the angle, in degrees, at which to orient the relative coordinate system.
[]
Syntax
object.Angle [= Double]
[]
Syntax
object->Angle [= double]
Type description
A double value that specifies the angle. (default = 0)
Remark
  • This angle is taken at a counter-clockwise direction relative to the X-axis of the absolute coordinate system.


Calibration.RelativeOrigin.X Property

X property

See Also | Availability | MIL Equivalent | Angle | Y
Reference:
Calibration.RelativeOrigin
Calibration.RelativeOrigin.Angle
Calibration.RelativeOrigin.Reset
Calibration.RelativeOrigin.Y
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalRelativeOrigin(XOffset)

McalInquire(
InquireType =
M_RELATIVE_ORIGIN_X
)
Calibration
RelativeOrigin
X
Synopsis
Returns or sets the X-offset from the absolute coordinate system to the relative coordinate system origin.
[]
Syntax
object.X [= Double]
[]
Syntax
object->X [= double]
Type description
A double value that specifies the X-offset, in world units.


Calibration.RelativeOrigin.Y Property

Y property

See Also | Availability | MIL Equivalent | X | Reset
Reference:
Calibration.RelativeOrigin
Calibration.RelativeOrigin.Angle
Calibration.RelativeOrigin.Reset
Calibration.RelativeOrigin.X
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalRelativeOrigin(YOffset)

McalInquire(
InquireType =
M_RELATIVE_ORIGIN_Y
)
Calibration
RelativeOrigin
Y
Synopsis
Returns or sets the Y-offset from the absolute coordinate system to the relative coordinate system origin.
[]
Syntax
object.Y [= Double]
[]
Syntax
object->Y [= double]
Type description
A double value that specifies the Y-offset, in world units.


Calibration.RelativeOrigin.Reset Method

Reset method

See Also | Availability | MIL Equivalent | Y
Reference:
Calibration.RelativeOrigin
Calibration.RelativeOrigin.Angle
Calibration.RelativeOrigin.X
Calibration.RelativeOrigin.Y
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalRelativeOrigin(
XOffset =
0.0
YOffset =
0.0
AngularOffset =
0.0
The ControlFlag =
M_DEFAULT
)
Calibration
RelativeOrigin
Reset
Synopsis
Resets the relative coordinate system to the absolute coordinate system.
[]
Syntax
object.Reset()
[]
Syntax
void object->Reset()
Remark
  • After a call to this method, the X, Y, and Angle properties of the RelativeOrigin property are reset to 0.


Calibration.Results Property

Results property

Availability | MIL Equivalent | RelativeOrigin | StreamSize
Not available in ActiveMIL-Lite

Available in ActiveMIL
McallInquire(
InquireType =
M_AVERAGE_PIXEL_ERROR or
M_AVERAGE_WORLD_ERROR or
M_MAXIMUM_PIXEL_ERROR or
M_MAXIMUM_WORLD_ERROR or
M_ASPECT_RATIO or
M_PIXEL_SIZE_X or
M_PIXEL_SIZE_Y
)
Calibration
Results
Properties: AveragePixelError, AverageWorldError, MaximumPixelError, MaximumWorldError, PixelAspectRatio, PixelSizeX, PixelSizeY

Method: Get
Synopsis
Allows you to obtain pixel characteristics results from a Calibrated control.
[]
Syntax
[CalibrationResults =] object.Results
[]
Syntax
[ICalibrationResultsPtr =] object->Results
Type description
A CalibrationResults object.
Remarks
  • Use the IsCalibrated property to determine if calibration is in effect.
  • You cannot assign another CalibrationResults object to this property.


Calibration.Results.AveragePixelError Property

AveragePixelError property

See Also | Availability | MIL Equivalent | AverageWorldError
Reference:
Calibration.Results
Calibration.Results.AverageWorldError
Calibration.Results.MaximumPixelError
Calibration.Results.MaximumWorldError
Calibration.Results.PixelAspectRatio
Calibration.Results.PixelSizeX
Calibration.Results.PixelSizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
McallInquire(
InquireType =
M_AVERAGE_PIXEL_ERROR
)
Calibration
Results
AveragePixelError
Synopsis
Returns the average calibration error, in pixels.
[]
Syntax
[Double =] object.AveragePixelError
[]
Syntax
[double =] object->AveragePixelError
Type description
A double value that returns the average pixel calibration error, in pixels.
Remark
  • This property only applies when the CalibrationMode property is set to perspective transformation.


Calibration.Results.AverageWorldError Property

AverageWorldError property

See Also | Availability | MIL Equivalent | AveragePixelError | MaximumPixelError
Reference:
Calibration.Results
Calibration.Results.AveragePixelError
Calibration.Results.MaximumPixelError
Calibration.Results.MaximumWorldError
Calibration.Results.PixelAspectRatio
Calibration.Results.PixelSizeX
Calibration.Results.PixelSizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
McallInquire(
InquireType =
M_AVERAGE_WORLD_ERROR
)
Calibration
Results
AverageWorldError
Synopsis
Returns the average calibration error, in world units.
[]
Syntax
[Double =] object.AverageWorldError
[]
Syntax
[double =] object->AverageWorldError
Type description
A double value that returns the average calibration error, in world units.
Remark
  • This property only applies when the CalibrationMode property is set to perspective transformation.


Calibration.Results.MaximumPixelError Property

MaximumPixelError property

See Also | Availability | MIL Equivalent | AverageWorldError | MaximumWorldError
Reference:
Calibration.Results
Calibration.Results.AveragePixelError
Calibration.Results.AverageWorldError
Calibration.Results.MaximumWorldError
Calibration.Results.PixelAspectRatio
Calibration.Results.PixelSizeX
Calibration.Results.PixelSizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
McallInquire(
InquireType =
M_MAXIMUM_PIXEL_ERROR
)
Calibration
Results
MaximumPixelError
Synopsis
Returns the maximum calibration error, in pixels.
[]
Syntax
[Double =] object.MaximumPixelError
[]
Syntax
[double =] object->MaximumPixelError
Type description
A double value that returns the maximum calibration error, in pixels.
Remarks
  • This property only applies when the CalibrationMode property is set to perspective transformation.
  • This result is valid only when the IsCalibrated property is equal to True.


Calibration.Results.MaximumWorldError Property

MaximumWorldError property

See Also | Availability | MIL Equivalent | MaximumPixelError | PixelAspectRatio
Reference:
Calibration.Results
Calibration.Results.AveragePixelError
Calibration.Results.AverageWorldError
Calibration.Results.MaximumPixelError
Calibration.Results.PixelAspectRatio
Calibration.Results.PixelSizeX
Calibration.Results.PixelSizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
McallInquire(
InquireType =
M_MAXIMUM_WORLD_ERROR
)
Calibration
Results
MaximumWorldError
Synopsis
Returns the maximum calibration error, in world units.
[]
Syntax
[Double =] object.MaximumWorldError
[]
Syntax
[double =] object->MaximumWorldError
Type description
A double value that returns the maximum calibration error, in world units.
Remarks
  • This property only applies when the CalibrationMode property is set to perspective transformation.
  • This result is valid only when the IsCalibrated property is equal to True.


Calibration.Results.PixelAspectRatio Property

PixelAspectRatio property

See Also | Availability | MIL Equivalent | MaximumWorldError | PixelSizeX
Reference:
Calibration.Results
Calibration.Results.AveragePixelError
Calibration.Results.AverageWorldError
Calibration.Results.MaximumPixelError
Calibration.Results.MaximumWorldError
Calibration.Results.PixelSizeX
Calibration.Results.PixelSizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
McallInquire(
InquireType =
M_ASPECT_RATIO
)
Calibration
Results
PixelAspectRatio
Synopsis
Returns the average pixel aspect ratio
[]
Syntax
[Double =] object.PixelAspectRatio
[]
Syntax
[double =] object->PixelAspectRatio
Type description
A double value that returns the average pixel aspect ratio (pixel width/pixel height).


Calibration.Results.PixelSizeX Property

PixelSizeX property

See Also | Availability | MIL Equivalent | PixelAspectRatio | PixelSizeY
Reference:
Calibration.Results
Calibration.Results.AveragePixelError
Calibration.Results.AverageWorldError
Calibration.Results.MaximumPixelError
Calibration.Results.MaximumWorldError
Calibration.Results.PixelAspectRatio
Calibration.Results.PixelSizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
McallInquire(
InquireType =
M_PIXEL_SIZE_X
)
Calibration
Results
PixelSizeX
Synopsis
Returns the average pixel size in the X-direction, in world units.
[]
Syntax
[Double =] object.PixelSizeX
[]
Syntax
[double =] object->PixelSizeX
Type description
A double value that returns the average pixel size in the X-direction.


Calibration.Results.PixelSizeY Property

PixelSizeY property

See Also | Availability | MIL Equivalent | PixelSizeX | Get
Reference:
Calibration.Results
Calibration.Results.AveragePixelError
Calibration.Results.AverageWorldError
Calibration.Results.MaximumPixelError
Calibration.Results.MaximumWorldError
Calibration.Results.PixelAspectRatio
Calibration.Results.PixelSizeX
Not available in ActiveMIL-Lite

Available in ActiveMIL
McallInquire(
InquireType =
M_PIXEL_SIZE_Y
)
Calibration
Results
PixelSizeY
Synopsis
Returns the average pixel size in the Y-direction, in world units.
[]
Syntax
[Double =] object.PixelSizeY
[]
Syntax
[double =] object->PixelSizeY
Type description
A double value that returns the average pixel size in the Y-direction.


Calibration.Results.Get Method

Get method

Availability | MIL Equivalent | PixelSizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Calibration
Results
Get
Synopsis
Returns a variant containing a result of the specified type.
[]
Syntax
object.Get(
ByVal ResultType As CalResultTypeConstants,
ByVal Value As Object
)
[]
Syntax
void object->Get(
enum CalResultTypeConstants ResultType,
VARIANT * Value
)
ResultType
A CalResultTypeConstants expression that specifies the result type.
Value | Meaning
calPixelSizeX | The average pixel size in the X-direction, in world units.
calPixelSizeY | The average pixel size in the Y-direction, in world units.
calPixelAspectRatio | The average pixel aspect ratio.
calAveragePixelError | The average calibration error, in pixels.
calMaximumPixelError | The maximum calibration error, in pixels.
calAverageWorldError | The average calibration error, in world units.
calMaximumWorldError | The maximum calibration error, in world units.
Value
A variantobjectvariant (object for Visual Basic .Net) value in which to copy the specified result.


Calibration.StreamSize Property

StreamSize property

See Also | Availability | MIL Equivalent | Results | TransformCacheEnabled
Reference:
Calibration.SaveStream
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalStream(
Operation =
M_INQUIRE_SIZE_BYTE
)
Calibration
StreamSize
Synopsis
Returns the number of bytes required to save the settings of the current Calibration control to a memory stream.
[]
Syntax
[Integer=]object.StreamSize(
[Version As Double]
)
[]
Syntax
[long =] object->StreamSize[double Version]
Version (optional in , default is amilDefault)
A double value or an ActiveMILDefaultConstants expression that specifies the ActiveMIL version number of the Calibration control.
Value | Meaning
amilDefault | Sets the version to the current version of ActiveMIL.
value | Sets the version to a specific version of ActiveMIL.
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the size, in bytes, needed to stream the Calibration control.
Remarks
  • This property is used to inquire the size of the array required to save the settings of a Calibration control to a memory stream, using the SaveStream method.
  • For a Calibration control, the ActiveMIL version number must be greater than or equal to 7.8 for a memory stream, and greater than or equal to 6.0 for a file.
  • The size of the Calibration control will vary depending on the ActiveMIL version specified.


Calibration.TransformCacheEnabled Property

TransformCacheEnabled property

See Also | Availability | MIL Equivalent | StreamSize | Allocate
User Guide:
Physically correcting an image
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalControl(
ControlType =
M_TRANSFORM_CACHE
)

McalInquire(
InquireType =
M_TRANSFORM_CACHE
)
Calibration
TransformCacheEnabled
Synopsis
Returns or sets whether to enable or disable a cache to accelerate the CorrectImage method.
[]
Syntax
object.TransformCacheEnabled [= Boolean]
[]
Syntax
object->TransformCacheEnabled [= VARIANT_BOOL]
Type description
A boolean value that specifies whether a cache is used. (default is True)
Value | Meaning
True | A cache is used.
False | A cache is not used.
Remark
  • Disabling the cache saves memory but slows down subsequent calls to the CorrectImage method.


Calibration.Allocate Method

Allocate method

See Also | Availability | MIL Equivalent | TransformCacheEnabled | CalibrateGrid
User Guide:
Setting up controls

Reference:
Calibration.Free
Calibration.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalAlloc()
Calibration
Allocate
Synopsis
Allocates the resources of the Calibration control.
[]
Syntax
object.Allocate()
[]
Syntax
void object->Allocate()
Remarks
  • By default, the control's AutomaticAllocation property is set to True, and therefore allocation is done automatically.
  • To preserve resources and delay allocation until necessary, set the AutomaticAllocation property to False and call the Allocate method only when the control is actually needed.
  • To create a new Calibration control at run-time, use the CreateObject method of the Application control.
  • If you call the Allocate method while the control is in the allocated state, an error is generated. To determine the allocation state of a control, use the IsAllocated property.
  • The following properties cannot be changed at run-time while the control is in the allocated state (free the control using the Free method):
    • CalibrationMode
    • OwnerSystem
    • OwnerSystemName
  • If you try to allocate a calibration control before its owner system or parent image is allocated, an error is generated.
[]
Example
This example demonstrates how to allocate multiple controls with a single call to the Allocate method.

// Allocate the m_Calibration1 object. This call is only needed if you have
// set the AutomaticAllocation property to FALSE in design-time with
// the property pages.
m_Calibration1->Allocate();


Calibration.CalibrateGrid Method

CalibrateGrid method

See Also | Availability | MIL Equivalent | Allocate | CalibratePoints
Reference:
Calibration.Grid
Calibration.Grid.ColumnSpacing
Calibration.Grid.NumberOfColumns
Calibration.Grid.NumberOfRows
Calibration.Grid.OriginX
Calibration.Grid.OriginY
Calibration.Grid.RowSpacing
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalCalibrateGrid()
Calibration
CalibrateGrid
Synopsis
Calibrate your imaging setup using a grid.
[]
Syntax
object.CalibrateGrid(
ByVal SourceImage As Image,
ByVal InvertYAxis As Boolean
)
[]
Syntax
void object->CalibrateGrid(
IImage * SourceImage,
VARIANT_BOOL InvertYAxis
)
SourceImage
An Image control that specifies the image from which to copy the data.
InvertYAxis (optional in , default is False)
A boolean expression that specifies the orientation of the Y-axis.
Value | Meaning
True | The positive Y-axis is orientated 90 degrees counter-clockwise with respect to the positive X-axis.
False | The positive Y-axis is orientated 90 degrees clockwise with respect to the positive X-axis.
Remarks
  • This method uses the source image of a user-defined grid of circles and the world description of this grid to calibrate your imaging setup. The Grid property specifies the world description of the grid. The mapping is stored in the properties of the CalibrationPoints property.
  • To create an accurate (subpixel) mapping, your physical grid should meet the following guidelines (at the working resolution):
    • The radius of the grid's circles should range between 6 and 10 pixels.
    • The center-to-center distance between the grid's circles should range from 18 to 32 pixels (22 pixels recommended).
    • The minimum distance between the edges of the circles should be 6 pixels.
    • The grid should be large enough to cover the area of the image from which you want real-world results.
    • The grid image should have high contrast.
[]
Example
This example calibrates the camera with a grid image.

// Calibrate the camera with the image of the grid and its world description
m_Calibration1->CalibrateGrid(m_Image1, FALSE);

// Perform an image transformation with the calibration grid
m_Calibration1->CorrectImage(m_Image1, m_Image1, calBilinear, calOverscanClear);


Calibration.CalibratePoints Method

CalibratePoints method

See Also | Availability | MIL Equivalent | CalibrateGrid | Control
Reference:
Calibration.CalibrationPoints
Calibration.CalibrationPoints.Add
Calibration.CalibrationPoints.Count
Calibration.CalibrationPoints.Item
Calibration.CalibrationPoints.Item.PixelX
Calibration.CalibrationPoints.Item.PixelY
Calibration.CalibrationPoints.Item.WorldX
Calibration.CalibrationPoints.Item.WorldY
Calibration.CalibrationPoints.Remove
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalList()
Calibration
CalibratePoints
Synopsis
Calibrates your imaging setup using a list of coordinates.
[]
Syntax
object.CalibratePoints()
[]
Syntax
void object->CalibratePoints()
Remark
  • This method uses the list of pixel coordinates and their associated world coordinates to calibrate your imaging setup; this list is made from points specified using the properties of the CalibrationPoints collection.


Calibration.Control Method

Control method

Availability | MIL Equivalent | CalibratePoints | ConvertCoordinateListPixelToWorld
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalControl()
Calibration
Control
Synopsis
Controls the attributes of the Calibration control.
[]
Syntax
object.Control(
ByVal ControlType As CalInquireAndControlConstants,
ByVal ControlValue As Double
)
[]
Syntax
void object->Control(
enum CalInquireAndControlConstants ControlType,
const _variant_t & ControlValue
)
ControlType
A CalInquireAndControlConstants expression that specifies the attribute to be modified.
ControlValue
A double value that specifies the new value to be set.

Remark
  • This method is reserved for future expansion.


Calibration.ConvertCoordinateListPixelToWorld Method

ConvertCoordinateListPixelToWorld method

See Also | Availability | MIL Equivalent | Control | ConvertCoordinateListWorldToPixel
Reference:
Calibration.ConvertCoordinateListWorldToPixel
Calibration.ConvertCoordinatePixelToWorld
Calibration.ConvertCoordinateWorldToPixel
Calibration.ConvertResultPixelToWorld
Calibration.ConvertResultWorldToPixel
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalTransformCoordinateList(
TransformType =
M_PIXEL_TO_WORLD
)
Calibration
ConvertCoordinateListPixelToWorld
Synopsis
Converts a list of coordinates from their pixel values to their world values.
[]
Syntax
object.ConvertCoordinateListPixelToWorld(
ByVal SourceArrayX As Array,
ByVal SourceArrayY As Array,
ByVal ResultArrayX As Array,
ByVal ResultArrayY As Array
)
[]
Syntax
void object->ConvertCoordinateListPixelToWorld(
const _variant_t & SourceArrayX,
const _variant_t & SourceArrayY,
VARIANT * ResultArrayX,
VARIANT * ResultArrayY
)
SourceArrayX
A user array that specifies the X-pixel-coordinates.

SourceArrayY
A user array that specifies the Y-pixel-coordinates.

ResultArrayX
A user array in which to return the X-world-coordinates.

ResultArrayY
A user array in which to return the Y-world-coordinates.

Remarks
  • The arrays must be of type double.
  • Note that, if you have changed the origin and/or orientation of the relative coordinate system, using the RelativeOrigin property, world coordinates will be returned in this relative coordinate system.


Calibration.ConvertCoordinateListWorldToPixel Method

ConvertCoordinateListWorldToPixel method

See Also | Availability | MIL Equivalent | ConvertCoordinateListPixelToWorld | ConvertCoordinatePixelToWorld
Reference:
Calibration.ConvertCoordinateListPixelToWorld
Calibration.ConvertCoordinatePixelToWorld
Calibration.ConvertCoordinateWorldToPixel
Calibration.ConvertResultPixelToWorld
Calibration.ConvertResultWorldToPixel
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalTransformCoordinateList(
TransformType =
M_WORLD_TO_PIXEL
)
Calibration
ConvertCoordinateListWorldToPixel
Synopsis
Converts a list of coordinates from their world values to their pixel values.
[]
Syntax
object.ConvertCoordinateListWorldToPixel(
ByVal SourceArrayX As Array,
ByVal SourceArrayY As Array,
ByVal ResultArrayX As Array,
ByVal ResultArrayY As Array
)
[]
Syntax
void object->ConvertCoordinateListWorldToPixel(
const _variant_t & SourceArrayX,
const _variant_t & SourceArrayY,
VARIANT * ResultArrayX,
VARIANT * ResultArrayY
)
SourceArrayX
A user array that specifies the X-world-coordinates.

SourceArrayY
A user array that specifies the Y-world-coordinates.

ResultArrayX
A user array in which to return the X-pixel-coordinates.

ResultArrayY
A user array in which to return the Y-pixel-coordinates.

Remarks
  • The arrays must be of type double.
  • Note that, if you have changed the origin and/or orientation of the relative coordinate system, using the RelativeOrigin property, world coordinates will be returned in this relative coordinate system.


Calibration.ConvertCoordinatePixelToWorld Method

ConvertCoordinatePixelToWorld method

See Also | Availability | MIL Equivalent | ConvertCoordinateListWorldToPixel | ConvertCoordinateWorldToPixel
Reference:
Calibration.ConvertCoordinateWorldToPixel
Calibration.ConvertResultPixelToWorld
Calibration.ConvertResultWorldToPixel
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalTransformCoordinate(
TransformType =
M_PIXEL_TO_WORLD
)
Calibration
ConvertCoordinatePixelToWorld
Synopsis
Converts a pair of coordinates from their pixel value to their world value.
[]
Syntax
object.ConvertCoordinatePixelToWorld(
ByVal X As Double,
ByVal Y As Double,
ByVal ResultX As Double,
ByVal ResultY As Double
)
[]
Syntax
void object->ConvertCoordinatePixelToWorld(
double X,
double Y,
double * ResultX,
double * ResultY
)
X
A double value that specifies the X-pixel-coordinate.
Y
A double value that specifies the Y-pixel-coordinate.
ResultX
A double value that returns the X-world-coordinate.
ResultY
A double value that returns the Y-world-coordinate.
Remark
  • Note that, if you have changed the origin and/or orientation of the relative coordinate system, using the RelativeOrigin property, world coordinates will be returned in this relative coordinate system.


Calibration.ConvertCoordinateWorldToPixel Method

ConvertCoordinateWorldToPixel method

See Also | Availability | MIL Equivalent | ConvertCoordinatePixelToWorld | ConvertResultPixelToWorld
Reference:
Calibration.ConvertCoordinatePixelToWorld
Calibration.ConvertResultPixelToWorld
Calibration.ConvertResultWorldToPixel
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalTransformCoordinate(
TransformType =
M_WORLD_TO_PIXEL
)
Calibration
ConvertCoordinateWorldToPixel
Synopsis
Converts a pair of coordinates from their world value to their pixel value.
[]
Syntax
object.ConvertCoordinateWorldToPixel(
ByVal X As Double,
ByVal Y As Double,
ByVal ResultX As Double,
ByVal ResultY As Double
)
[]
Syntax
void object->ConvertCoordinateWorldToPixel(
double X,
double Y,
double * ResultX,
double * ResultY
)
X
A double value that specifies the X-world-coordinate.
Y
A double value that specifies the Y-world-coordinate.
ResultX
A double value that returns the X-pixel-coordinate.
ResultY
A double value that returns the Y-pixel-coordinate.
Remark
  • Note that, if you have changed the origin and/or orientation of the relative coordinate system, using the RelativeOrigin property, world coordinates will be returned in this relative coordinate system.


Calibration.ConvertResultPixelToWorld Method

ConvertResultPixelToWorld method

See Also | Availability | MIL Equivalent | ConvertCoordinateWorldToPixel | ConvertResultWorldToPixel
Reference:
Calibration.ConvertCoordinatePixelToWorld
Calibration.ConvertCoordinateWorldToPixel
Calibration.ConvertResultWorldToPixel
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalTransformResult(
ResultType =
M_ PIXEL_TO_WORLD
)
Calibration
ConvertResultPixelToWorld
Synopsis
Converts a non-positional result (length, area, or angle) from its pixel value to its world value.
[]
Syntax
object.ConvertResultPixelToWorld(
ByVal ResultType As CalConvertResultTypeConstants,
ByVal InputResult As Double,
ByVal OutputResult As Double
)
[]
Syntax
void object->ConvertResultPixelToWorld(
enum CalConvertResultTypeConstants ResultType,
double InputResult,
double * OutputResult
)
ResultType
A CalConvertResultTypeConstants expression that specifies the result type.
Value | Meaning
calLength | The given value represents a length.
calLengthX | The given value represents a length in the X-direction only.
calLengthY | The given value represents a length in the Y-direction only.
calArea | The given value represents an area.
calAngle | The given value represents an angle.
InputResult
A double value that specifies the input result in pixel coordinates.
OutputResult
A double value that returns the output result in world coordinates.
Remark
  • This method uses the average pixel size to perform the conversion. Therefore, results will be more accurate if you use a corrected image.


Calibration.ConvertResultWorldToPixel Method

ConvertResultWorldToPixel method

See Also | Availability | MIL Equivalent | ConvertResultPixelToWorld | CorrectImage
Reference:
Calibration.ConvertCoordinatePixelToWorld
Calibration.ConvertCoordinateWorldToPixel
Calibration.ConvertResultPixelToWorld
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalTransformResult(
ResultType =
M_WORLD_TO_PIXEL
)
Calibration
ConvertResultWorldToPixel
Synopsis
Converts a non-positional result (length, area, or angle) from its world value to its pixel value.
[]
Syntax
object.ConvertResultWorldToPixel(
ByVal ResultType As CalConvertResultTypeConstants,
ByVal InputResult As Double,
ByVal OutputResult As Double
)
[]
Syntax
void object->ConvertResultWorldToPixel(
enum CalConvertResultTypeConstants ResultType,
double InputResult,
double * OutputResult
)
ResultType
A CalConvertResultTypeConstants expression that specifies the result type.
Value | Meaning
calLength | The given value represents a length.
calLengthX | The given value represents a length in the X-direction only.
calLengthY | The given value represents a length in the Y-direction only.
calArea | The given value represents an area.
calAngle | The given value represents an angle.
InputResult
A double value that specifies the input result in world coordinates.
OutputResult
A double value that returns the output result in pixel coordinates.
Remark
  • This method uses the average pixel size to perform the conversion. Therefore, results will be more accurate if you use a corrected image.


Calibration.CorrectImage Method

CorrectImage method

See Also | Availability | MIL Equivalent | ConvertResultWorldToPixel | Free
Reference:
Calibration.CalibrateGrid
Calibration.CalibratePoints
Calibration.CalibrationMode
Calibration.CalibrationPoints
Calibration.Grid
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalTransformImage()
Calibration
CorrectImage
Synopsis
Physically transforms an image to remove certain types of distortions.
[]
Syntax
object.CorrectImage(
ByVal SourceImage As Image,
ByVal DestinationImage As Image,
ByVal InterpolationMode As CalInterpolationModeConstants,
ByVal OverscanMode As CalOverscanModeConstants
)
[]
Syntax
void object->CorrectImage(
IImage * SourceImage,
IImage * DestinationImage,
enum CalInterpolationModeConstants InterpolationMode,
enum CalOverscanModeConstants OverscanMode
)
SourceImage
An Image control that specifies the image from which to copy the data.
DestinationImage
An Image control that specifies the destination image.
InterpolationMode (optional in , default is calNearestNeighbor)
A CalInterpolationModeConstants expression that specifies the type of interpolation.
Value | Meaning
calNearestNeighbor | Nearest-neighbor interpolation.
calBilinear | Bilinear interpolation.
calBicubic | Bicubic interpolation.
OverscanMode (optional in , default is calOverscanEnable)
A CalOverscanModeConstants expression that specifies the type of interpolation.
Value | Meaning
calOverscanEnable | If the associated point falls outside of the source image, use pixels from the source image's ancestor to determine the value of the destination pixel. If the source image is not a child image or if the associated point falls outside its ancestor, leave the destination pixel as is. .
calOverscanDisable | If the associated point falls outside of the source image, leave the destination pixel as is.
calOverscanClear | If the associated point falls outside of the source image, set the destination pixel to 0.
Remarks
  • The image is transformed such that:
    • It has an aspect ratio of 1:1.
    • Its relative coordinate system is aligned with its image coordinate system.
    • All of its pixels fit in the destination image, in accordance with the above two points.
  • Image data can only be transformed once. If you pass a transformed image to the CorrectImage method, it will just be copied to the destination image.
  • Note that the Calibration control is only associated with the image data; a corrected image, if saved and reloaded, will remain corrected but uncalibrated.
[]
Example
This example transforms an image according to the calibration grid.

// Calibrate the camera with the image of the grid and its world description
m_Calibration1->CalibrateGrid(m_Image1, FALSE);

// Perform an image transformation with the calibration grid
m_Calibration1->CorrectImage(m_Image1, m_Image1, calBilinear, calOverscanClear);


Calibration.Free Method

Free method

See Also | Availability | MIL Equivalent | CorrectImage | Inquire
User Guide:
Setting up controls

Reference:
Calibration.Allocate
Calibration.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalFree()
Calibration
Free
Synopsis
Frees the resources of the Calibration control.
[]
Syntax
object.Free()
[]
Syntax
void object->Free()
Remarks
  • The resources associated with the Calibration control are automatically freed when the control is destroyed. You must use the Free method if you want to free the control prematurely. Note that when you free the Calibration control, all of its results are deleted.
  • To determine the allocation state of a control, use the IsAllocated property. The Free method will generate an error if the control is not allocated.
  • When you use the Free method, the images and digitizers that were associated to the Calibration control will no longer be calibrated.
  • All results calibrated with the Calibration control and obtained before the Free method is called will remain calibrated but will no longer be associated to the Calibration control.
  • Any property can be changed when its control is in the allocated state, unless it is otherwise stated in the Remarks section of that property.
[]
Example
This example shows how to use the Free method.

If Calibration1.IsAllocated Then
    Calibration1.Free()
End If
[]
Example
This example shows how to use the Free method.

if (m_Calibration1->IsAllocated)
   m_Calibration1->Free();


Calibration.Inquire Method

Inquire method

Availability | MIL Equivalent | Free | Load
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalInquire()
Calibration
Inquire
Synopsis
Inquires about the attributes of the Calibration control.
[]
Syntax
[Object =] object.Inquire(
ByVal ParamToInquire As CalInquireAndControlConstants
)
[]
Syntax
[_variant_t =] object->Inquire(
enum CalInquireAndControlConstants ParamToInquire
)
ParamToInquire
A CalInquireAndControlConstants expression that specifies the attribute to inquire about.
Return value
The current value assigned to the attribute that is inquired about.
Remark
  • This method is reserved for future expansion.


Calibration.Load Method

Load method

See Also | Availability | MIL Equivalent | Inquire | LoadStream
User Guide:
Error reporting

Reference:
Calibration.Save
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalRestore()
Calibration
Load
Synopsis
Loads the calibration information and settings from a file, into the Calibration control.
[]
Syntax
object.Load(
ByVal FileName As String
)
[]
Syntax
void object->Load(
_bstr_t FileName
)
FileName
A string expression that specifies the name of the file from which to load the calibration settings and information.
Remarks
  • Note that the Grid properties are not available after calling the Load method.
  • If you pass the FileName parameter an empty string (""), the File Open dialog box is presented so that you can interactively select a filename.
  • The Load method will generate an error if the file cannot be found or loaded properly.


Calibration.LoadStream Method

LoadStream method

See Also | Availability | MIL Equivalent | Load | Modified
User Guide:
Using variants and arrays

Reference:
Calibration.Load
Calibration.SaveStream
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalStream(
Operation =
M_LOAD
)
Calibration
LoadStream
Synopsis
Loads the settings of a previously saved Calibration control from a file or memory stream.
[]
Syntax
object.LoadStream(
ByVal ArrayOfBytesOrFileName As Object,
ByVal StreamType As CalStreamTypeConstants
)
[]
Syntax
void object->LoadStream(
VARIANT * ArrayOfBytesOrFileName,
enum CalStreamTypeConstants StreamType
)
ArrayOfBytesOrFileName
A variantobjectvariant (object for Visual Basic .Net) value that specifies the stream that holds the settings of the Calibration control.
StreamType
A CalStreamTypeConstants expression that specifies the type of stream that holds the settings of the Calibration control.
Value | Meaning
calFile | Specifies a file stream.
calMemory | Specifies a memory stream.
Remarks
  • File and file stream are equivalent terms throughout this documentation.
  • The settings of the Calibration control can be saved using the SaveStream method.
  • The content loaded from a memory stream is equivalent to the same content loaded from a file. In addition, any file loaded with the Load method is equivalent to a file loaded using this method.
  • When calFile is set as the stream type, the ArrayOfBytesOrFileName parameter should specify the name and path of the file required for this operation. The method internally handles the opening and closing of the file.
  • []
     To specify the name of the file that holds the settings of the Calibration control, you must pass a string object to the ArrayOfBytesOrFileName parameter. To specify the location of the memory stream that holds the settings of the Calibration control, you must pass an array of bytes.
  • []
     To specify the name of the file that holds the settings of the Calibration control, you must pass a VARIANT containing a BSTR value to the ArrayOfBytesOrFileName parameter. To specify the location of the memory stream that holds the settings of the Calibration control, pass a VARIANT containing a SAFEARRAY object.


Calibration.Modified Method

Modified method

See Also | Availability | MIL Equivalent | LoadStream | Save
User Guide:
Integrating MIL functions with your ActiveMIL code
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Calibration
Modified
Synopsis
Informs the Calibration control that Native MIL calls were made on its resources.
[]
Syntax
object.Modified(
ByVal ModificationType As Integer
)
[]
Syntax
void object->Modified(
long ModificationType
)
ModificationType (optional in , default is amilDefault)
A longintegerlong (integer for Visual Basic .Net) value that specifies the modification type.
Value | Meaning
amilDefault | Specifies that native MIL calls were used to modify the contents of the Calibration control.
Remark
  • The Modified method should be called after performing a Native MIL Mcal...() function on the resources of the Calibration control. This ensures that all properties of the Calibration control are updated to match their state in MIL.


Calibration.Save Method

Save method

See Also | Availability | MIL Equivalent | Modified | SaveStream
Reference:
Calibration.Load
Calibration.Name
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalSave()
Calibration
Save
Synopsis
Saves the calibration information and settings of the Calibration control in a file.
[]
Syntax
object.Save(
ByVal FileName As String
)
[]
Syntax
void object->Save(
_bstr_t FileName
)
FileName
A string expression that specifies the name of the file in which to save the calibration information and settings.
Remarks
  • If you pass the FileName parameter an empty string (""), the File Open dialog box is presented so that you can interactively select a filename.
  • The Grid property and its properties are not saved by the Save method. Therefore, to save the calibration settings, the CalibrateGrid method must be called before.


Calibration.SaveStream Method

SaveStream method

See Also | Availability | MIL Equivalent | Save | ShowPropertyPages
Reference:
Calibration.LoadStream
Calibration.Save
Calibration.StreamSize
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalStream(
Operation =
M_SAVE
)
Calibration
SaveStream
Synopsis
Saves the settings of a Calibration control to a specified file or memory stream.
[]
Syntax
object.SaveStream(
ByVal ArrayOfBytesOrFileName As Object,
ByVal StreamType As CalStreamTypeConstants,
ByVal Version As Double
)
[]
Syntax
void object->SaveStream(
const _variant_t & ArrayOfBytesOrFileName,
enum CalStreamTypeConstants StreamType,
double Version
)
ArrayOfBytesOrFileName
A variantobjectvariant (object for Visual Basic .Net) value that specifies the stream in which to save the settings of the Calibration control.
StreamType
A CalStreamTypeConstants expression that specifies the type of stream in which to save the settings of the Calibration control.
Value | Meaning
calFile | Specifies a file stream.
calMemory | Specifies a memory stream.
Version (optional in , default is amilDefault)
A double value or an ActiveMILDefaultConstants expression that specifies the ActiveMIL version number of the Calibration control.
Value | Meaning
amilDefault | Sets the version to the current version of ActiveMIL.
value | Sets the version to a specific version of ActiveMIL.
Remarks
  • File and file stream are equivalent terms throughout this documentation.
  • The settings of the Calibration control can be loaded using the LoadStream method.
  • The content saved to a memory stream is equivalent to the same content saved to a file. In addition, any file saved with the Save method is equivalent to a file saved using this method.
  • When calFile is set as the stream type, if the specified file in which to save the settings of the Calibration control already exists, it will be overwritten when the method is performed.
  • When calMemory is set as the stream type, the ArrayOfBytesOrFileName parameter should specify the address of the block of memory required for this operation. The designated block must be large enough to store the entire object.
  • To inquire the size of the array required to save the settings of a Calibration control to a memory stream, use the StreamSize property.
  • You can use this method and other ActiveMIL methods to save all required ActiveMIL controls, as well as any other custom data, for your application to a memory stream. Once in a memory stream, you can write the stream to a single file or transfer it over a network. You are responsible for concatenating the streams and for saving the stream to file.
  • By supplying a specific version, you can control the Calibration control's accessibility. For instance, if you allocate a Calibration control using ActiveMIL 8.0 and set its version to 7.8, then this control can be loaded on a computer where ActiveMIL 7.8 is installed. Settings unique to the higher version will be ignored when the file or memory stream is loaded in the lower version. Also, a program using ActiveMIL of a higher version can access a Calibration control stream created or designated with an equal or lower version. Settings that do not exist in the lower version will be filled with default values when the file or memory stream is loaded in the higher version. For the Calibration control, the version specified must never be greater than the current ActiveMIL version, but must be greater than or equal to 7.8 for a memory stream, and greater than or equal to 6.0 for a file.
  • []
     To specify the name of the file in which to save the settings of the Calibration control, you must pass a string object to the ArrayOfBytesOrFileName parameter. To specify the location of the memory stream in which to save the settings of the Calibration control to, you must pass an array of bytes.
  • []
     To specify the name of the file in which to save the settings of the Calibration control, you must pass a VARIANT containing a BSTR value to the ArrayOfBytesOrFileName parameter. To specify the location of the memory stream in which to save the settings of the Calibration control, pass a VARIANT containing a SAFEARRAY object.


Calibration.ShowPropertyPages Method

ShowPropertyPages method

Availability | MIL Equivalent | SaveStream | ResultsModified
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Calibration
ShowPropertyPages
Synopsis
Opens the specified property pages of the Calibration control in a window.
[]
Syntax
object.ShowPropertyPages(
ByVal Pages As CalPropertyPagesConstants,
ByVal Caption As String,
ByVal hWndParent As Integer,
ByVal Reserved As Boolean
)
[]
Syntax
void object->ShowPropertyPages(
enum CalPropertyPagesConstants Pages,
_bstr_t Caption,
long hWndParent,
VARIANT_BOOL Reserved
)
Pages
A CalPropertyPagesConstants expression that specifies the page(s) to display. You can add the following constants together to display multiple pages.
Value | Meaning
calGeneralPropertyPage | Display the Calibration control's General property page.
calAttributesPropertyPage | Display the Calibration control's Attributes property page.
calGridPropertyPage | Display the Calibration control's Grid property page.
calCalibrationPointsPropertyPage | Display the Calibration control's Points property page.
calHistoryPropertyPage | Display the Calibration control's History property page.
calAllPropertyPages | Display all of the Calibration control's available property pages.
Caption (optional in , default is "")
A string value that specifies the caption for the property pages window. The default is an empty string, in which case a generic caption will be displayed.
hWndParent (optional in , default is 0)
A long value that specifies the window handle (HWND) of the property pages window's parent. The property pages window will be modal in relation to its parent window.
Reserved (optional in , default is True)
This parameter is reserved for future use. True is the only value available.
Value | Meaning
True | Meaning to be determined. This setting must always be used.
Remarks
  • If the Calibration control is created at design-time, the .NET ActiveX Control Importer (AxImp.exe) renames this ActiveMIL method from ShowPropertyPages() to CtlShowPropertyPages() to avoid name clashing with the ShowPropertyPages() method of the .NET Windows Form control. See the Windows Forms ActiveX Control Importer (AxImp.exe) topic in MSDN for more information. In addition, if the control is created at run-time with the AxMatrox.ActiveMIL.* namespace, you must use CtlShowPropertyPages() to call the ActiveMIL ShowPropertyPages() method.
  • This method is used to display the property pages so that properties can be set interactively at run-time.
  • This method will disable property page elements corresponding to properties that cannot be changed due to the current state of the control. For example, if a property cannot be changed while its control is in the allocated state, and the control is allocated, the corresponding element in the property page will be disabled. To change this property, call the Free method first.


Calibration.ResultsModified Event

ResultsModified event

Availability | MIL Equivalent | ShowPropertyPages
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Calibration
ResultsModified
Synopsis
Occurs after results have been modified.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_ResultsModified() Handles object.ResultsModified

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_ResultsModified(
ByVal sender As Object,
ByVal e As System.EventArgs
) Handles object.ResultsModified
[]
Syntax
void class::OnResultsModified()
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.


CharacterRecognition control

Availability
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Synopsis
The CharacterRecognition control provides a set of properties and methods which can be used to read or verify mechanically generated, character strings in 8-bit grayscale images.

Structure
CharacterRecognition |  |  |  |  |  | Properties: AcceptanceThreshold, AutomaticAllocation, AngleInterpolationMode, Constraints, EnableBlankCharacters, EnableBrokenCharacters, EnableTouchingCharacters, Font, ForegroundPixelValue, Image, ImageName, IsAllocated, IsPreprocessed, MaximumStringLength, MorphologicalFilteringIterations, Name, NumberOfStrings, OCRType, OwnerSystem, OwnerSystemName, PropertyValidation, Results, SearchAngle, SearchRegion, Speed, StringLocation, StringSeparatorCharacter, StringType, TargetCharacter, ThickeningIterations, ValidateStringEvent Methods: Allocate, CalibrateFont, Control, ConvertOCRType, Free, Inquire, Load, Modified, ReadString, Preprocess, Save, ShowPropertyPages, VerifyString Events: ResultsModified, ValidateString
 | Constraints |  |  |  |  | Properties: Count, Item
 |  | Item |  |  |  | Properties: CharacterList, ConstraintType
 | Font |  |  |  |  | Properties: CharacterList, Character, MilID, NumberOfCharacters, SortedCharacterList Methods: EraseCharacter, ExportGrayscale, ImportGrayscale, Invert, Resize
 |  | Character |  |  |  | Properties: CellSizeX, CellSizeY, OffsetX, OffsetY, SizeX, SizeY, Thickness
 | Results |  |  |  |  | Properties: Characters, MilID, Score, Strings, Threshold, Valid, Value Methods: Get, GetMultiple
 |  | Characters |  |  |  | Properties: Count, Item
 |  |  | Item |  |  | Properties: PositionX, PositionY, Score, SizeX, SizeY, Spacing, Valid, Value
 |  | Strings |  |  |  | Properties: Count, Item, ValueWithoutSeparatorCharacters
 |  |  | Item |  |  | Properties: Characters, Value, Valid, Score, Angle, Length
 |  |  |  | Characters |  | Properties: Count, Item
 |  |  |  |  | Item | Properties: PositionX, PositionY, Score, SizeX, SizeY, Spacing, Valid, Value
 | SearchAngle |  |  |  |  | Properties: Value, DeltaPositive, DeltaNegative
 | SearchRegion |  |  |  |  | Properties: CenterX, CenterY, EndX, EndY, FullSize, Mode, OffsetX, OffsetY, SizeX, SizeY, StartX, StartY
 | TargetCharacter |  |  |  |  | Properties: AcceptanceThreshold, InvalidSymbol, SizeX, SizeY, Spacing, PositionVariationX, PositionVariationY


CharacterRecognition.AcceptanceThreshold Property

AcceptanceThreshold property

See Also | Availability | MIL Equivalent | AutomaticAllocation
Reference:
CharacterRecognition.ReadString
CharacterRecognition.Results.Strings.Item.Valid
CharacterRecognition.TargetCharacter.AcceptanceThreshold
CharacterRecognition.VerifyString
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrControl(
ControlType =
M_STRING_ACCEPTANCE
)

MocrInquire(
InquireType =
M_STRING_ACCEPTANCE
)
CharacterRecognition
AcceptanceThreshold
Synopsis
Returns or sets the minimum acceptance level for an entire string to be accepted during a read or verify operation.
[]
Syntax
object.AcceptanceThreshold [= Double]
[]
Syntax
object->AcceptanceThreshold [= double]
Type description
A double value that specifies the minimum acceptance score. (default is 1.0)
Remarks
  • The value must be greater than 0.
  • If the correlation (match score) between the target string and the font is less than this level, the best correlation will be returned. However, in this case, the Results.Strings.Item(StringIndex).Valid property would be set to False.
  • If there is no correlation between the target string and the font (match score of 0.0), a blank string will be returned.
  • The match score depends on the image quality. You should experiment to determine what is a typical match score for your application.
  • The minimum acceptance level for a specific character to be accepted during a read or a verify operation is set with the TargetCharacter.AcceptanceThreshold property.
  • To return whether a character, in a specific string is valid according to the target character's acceptance threshold, use the Results.Strings.Item(StringIndex).Character.Item(CharacterIndex).Valid property.


CharacterRecognition.AngleInterpolationMode Property

AngleInterpolationMode property

Availability | MIL Equivalent | AutomaticAllocation | Constraints
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrControl(M_STRING_ANGLE_INTERPOLATION_MODE)
CharacterRecognition
AngleInterpolationMode
Synopsis
Returns or sets the type of interpolation to use when reading/verifying a string at an angle.
[]
Syntax
object.AngleInterpolationMode [= OCRInterpolationModeConstants]
[]
Syntax
object->AngleInterpolationMode [= enum OCRInterpolationModeConstants]
Type description
An OCRInterpolationModeConstants expression that specifies the type of interpolation. (default is OCRBilinear)
Value | Meaning
OCRNearestNeighbor | Nearest neighbor interpolation.
OCRBilinear | Bilinear interpolation.
OCRBicubic | Bicubic interpolation


CharacterRecognition.AutomaticAllocation Property

AutomaticAllocation property

See Also | Availability | MIL Equivalent | AcceptanceThreshold | AngleInterpolationMode
User Guide:
Setting up controls - Allocating and freeing resources

Reference:
CharacterRecognition.Allocate
CharacterRecognition.Free
CharacterRecognition.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
CharacterRecognition
AutomaticAllocation
Synopsis
Returns or sets whether the resources of the CharacterRecognition control are automatically allocated at run-time.
[]
Syntax
object.AutomaticAllocation [= Boolean]
[]
Syntax
object->AutomaticAllocation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the control's automatic allocation.
Value | Meaning
True | The control will be allocated automatically at run-time.
False | The control must be allocated explicitly, using the Allocate method.
Remarks
  • When the AutomaticAllocation property is False, an explicit call to the Allocate method is required. You can get the allocation state of the control by reading its IsAllocated property.
  • The default value is True for controls created at design-time, and False for controls created at run-time (for example, with the CreateObject method of the Application control).
  • When this property is set to True, automatic allocation will occur when the owner system of the CharacterRecognition control is allocated. For example, if System1 is set as the owner system of CharacterRecognition1, and System1 is not allocated, then CharacterRecognition1 will not be allocated, even if its AutomaticAllocation property is set to True. When System1 is allocated (with the Allocate method), CharacterRecognition1 will be allocated automatically, if its AutomaticAllocation property is set to True.
  • The resources of the control will be freed automatically when the control is destroyed.
[]
Example
This example demonstrates how to set up this control so that it is automatically allocated when its owner System control is allocated.

CharacterRecognition1.AutomaticAllocation = True
CharacterRecognition1.OwnerSystem = System1

' This call will also allocate CharacterRecognition1 since
' its OwnerSystem property is System1 and
' its AutomaticAllocation property is set to True
System1.Allocate()
[]
Example
This example demonstrates how to set up this control so that it is automatically allocated when its owner System control is allocated.

m_CharacterRecognition1->AutomaticAllocation = TRUE;
m_CharacterRecognition1->OwnerSystem = m_System1;

// This call will also allocate m_CharacterRecognition1 since
// its OwnerSystem property is m_System1 and
// its AutomaticAllocation property is set to TRUE
m_System1->Allocate();


CharacterRecognition.Constraints Property

Constraints property

See Also | Availability | MIL Equivalent | AngleInterpolationMode | EnableBlankCharacters
Reference:
CharacterRecognition.Preprocess
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrSetConstraint(
CharPosType =
M_DEFAULT
CharValidString
)

MocrAllocFont(StringLength)

MocrInquire(
InquireType =
((M_CONSTRAINT or
M_CONSTRAINT_TYPE or
M_STRING_SIZE) +
n) or
M_STRING_SIZE
)
CharacterRecognition
Constraints
Properties: Count, Item
Synopsis
Returns the collection of constraints available to the CharacterRecognition control, allowing access to its elements.
[]
Syntax
[OCRConstraints =] object.Constraints
[]
Syntax
[IOCRConstraintsPtr =] object->Constraints
Type description
An OCRConstraints expression that represents an instance of an OCRConstraints collection.
Remarks
  • This property specifies the character value constraints to apply at each position of the string in the target image.
  • When dealing with multiple strings, the same constraints will be applied to each string.


CharacterRecognition.Constraints.Count Property

Count property

Availability | MIL Equivalent | Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrAllocFont(StringLength)

MocrInquire(
InquireType =
M_STRING_SIZE
)
CharacterRecognition
Constraints
Count
Synopsis
Returns the number of elements in the collection of constraints.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A long value that specifies the number of elements currently in the collection.
Remarks
  • Each element in the constraints collection represents the constraints for a position in the string to be read.
  • The number of elements in this collection is equal to the value specified with the MaximumStringLength property.


CharacterRecognition.Constraints.Item Property

Item property

See Also | Availability | MIL Equivalent | Count
Reference:
CharacterRecognition.Constraints.Item.ConstraintType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrSetConstraint(CharPos)
CharacterRecognition
Constraints
Item
Properties: CharacterList, ConstraintType
Synopsis
Returns the element at the specified index in the collection of constraints.
[]
Syntax
[OCRConstraint=]object.Item(
Index As Integer
)
[]
Syntax
[IOCRConstraintPtr =] object->Item(
long Index
)
Index
A long value that specifies the index of the required element.
Type description
An OCRConstraint object.
Remarks
  • Each element in the constraints collection represents the constraints for a position in the string to be read.
  • If the value provided as the index does not match any existing element of the collection, an error occurs. Note that the index of this collection starts at one.


CharacterRecognition.Constraints.Item.CharacterList Property

CharacterList property

See Also | Availability | MIL Equivalent | ConstraintType
Reference:
CharacterRecognition.Constraints.Item.ConstraintType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrSetConstraint(
CharPosType =
M_DEFAULT
CharValidString
)

MocrInquire(
InquireType =
M_CONSTRAINT +
n
)
CharacterRecognition
Constraints
Item
CharacterList
Synopsis
Returns or sets the list of characters that can appear at the specified position in the target string.
[]
Syntax
object.CharacterList [= String]
[]
Syntax
object->CharacterList [= _bstr_t]
Type description
A string value that specifies the list of characters.
Remark
  • Unless the ConstraintType property is set to ocrUserDefinedConstraintType, this property is read-only. For example, if ConstraintType property is set to ocrDigits, the CharacterList property will automatically be set to "0123456789", for the corresponding position in the target image string.


CharacterRecognition.Constraints.Item.ConstraintType Property

ConstraintType property

See Also | Availability | MIL Equivalent | CharacterList
Reference:
CharacterRecognition.Constraints.Item.CharacterList
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrSetConstraint(CharPosType)

MocrInquire(
InquireType =
M_CONSTRAINT_TYPE +
n
)
CharacterRecognition
Constraints
Item
ConstraintType
Synopsis
Returns or sets the type of constraint to impose on the character at the specified position in the target string.
[]
Syntax
object.ConstraintType [= OCRConstraintTypeConstants]
[]
Syntax
object->ConstraintType [= enum OCRConstraintTypeConstants]
Type description
An OCRConstraintTypeConstants expression that evaluates to the type of character constraint.
Value | Meaning
ocrNone | All characters present in the font.
ocrUserDefinedConstraintType | Only the characters specified in the CharacterList property.
ocrDigits | Only characters "0" to "9" (ASCII codes 48 to 57).
ocrLetters | Only characters "A" to "Z", and "a" to "z" (ASCII codes 65 to 90 and 97 to 122).
ocrUppercaseLetters | Only characters "A" to "Z" (ASCII codes 65 to 90).
ocrLowercaseLetters | Only characters "a" to "z" (ASCII codes 97 to 122).
Remark
  • This property automatically sets the CharacterList property, unless the ConstraintType property is set to ocrUserDefinedConstraintType.


CharacterRecognition.EnableBlankCharacters Property

EnableBlankCharacters property

See Also | Availability | MIL Equivalent | Constraints | EnableBrokenCharacters
Reference:
CharacterRecognition.CalibrateFont
CharacterRecognition.MaximumStringLength
CharacterRecognition.OCRType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrControl(M_BLANK_CHARACTERS)

MocrInquire(M_BLANK_CHARACTERS)
CharacterRecognition
EnableBlankCharacters
Synopsis
Returns or sets whether blank characters should be found in the string.
[]
Syntax
object.EnableBlankCharacters [= Boolean]
[]
Syntax
object->EnableBlankCharacters [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the space between characters in the target image is read. (default is False)
Value | Meaning
True | Blank characters will be read from the string.
False | Blank characters will not be read from the string.
Remarks
  • Even if this property is set to False, spaces could still be erroneously read.
  • If this property is set to True, the MaximumStringLength property must include blank characters.
  • When this property is set to True, for best results, verify that the MaximumStringLength property is not set to a value significantly greater than the string being read.
  • Note that this property is only supported with the general search algorithm.


CharacterRecognition.EnableBrokenCharacters Property

EnableBrokenCharacters property

Availability | MIL Equivalent | EnableBlankCharacters | EnableTouchingCharacters
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrControl(M_BROKEN_CHAR)

MocrInquire(M_BROKEN_CHAR)
CharacterRecognition
EnableBrokenCharacters
Synopsis
Returns or sets whether broken characters can be read/verified.
[]
Syntax
object.EnableBrokenCharacters [= Boolean]
[]
Syntax
object->EnableBrokenCharacters [= VARIANT_BOOL]
Type description
A boolean value that specifies whether broken characters can be read/verified. (default is False)
Value | Meaning
True | Broken characters should be identified as possible characters.
False | Broken characters should not be identified as possible characters.
Remarks
  • Even if this property is set to False, broken characters could still be erroneously read if your target image is noisy, scratched, has low contrast characters, or if the illumination is not uniform.
  • When this property is set to False, a faster algorithm for reading and verifying is used.
  • When using a general search algorithm, the EnableBrokenCharacters property must be enabled to read a broken character. When using a constrained search algorithm, the CharacterRecognition control will automatically try to identify broken characters.


CharacterRecognition.EnableTouchingCharacters Property

EnableTouchingCharacters property

Availability | MIL Equivalent | EnableBrokenCharacters | Font
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrControl(M_BROKEN_CHAR)

MocrInquire(M_BROKEN_CHAR)
CharacterRecognition
EnableTouchingCharacters
Synopsis
Returns or sets whether touching characters can be read/verified.
[]
Syntax
object.EnableTouchingCharacters [= Boolean]
[]
Syntax
object->EnableTouchingCharacters [= VARIANT_BOOL]
Type description
A boolean value that specifies whether touching characters can be read/verified. (default is False)
Value | Meaning
True | Touching characters should be identified as possible characters.
False | Touching characters should not be identified as possible characters.
Remarks
  • Even if this property is set to False, touching characters could still be erroneously read if your target image is noisy, scratched, has low contrast characters, or if the illumination is not uniform.
  • When this property is set to False, a faster algorithm for reading and verifying is used.
  • When using a general search algorithm, the EnableTouchingCharacters property must be enabled to read touching characters. When using a constrained search algorithm, the CharacterRecognition control will automatically try to identify touching characters.


CharacterRecognition.Font Property

Font property

Availability | MIL Equivalent | EnableTouchingCharacters | ForegroundPixelValue
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrImportFont(CharListString)

MocrCopyFont(
Operation =
M_COPY_FROM_FONT or
M_COPY_TO_FONT
)

MocrModifyFont(
Operation =
M_INVERT
)

MocrControl(
ControlType =
M_CHAR_ERASE
)

MocrAllocFont()

MocrInquire(
InquireType =
M_CHAR_BOX_SIZE_X or
M_CHAR_BOX_SIZE_Y or
M_CHAR_OFFSET_X or
M_CHAR_OFFSET_Y or
M_CHAR_SIZE_X or
M_CHAR_SIZE_Y or
M_CHAR_THICKNESS
)
CharacterRecognition
Font
Properties: CharacterList, Character, MilID, NumberOfCharacters, SortedCharacterList

Methods: EraseCharacter, ExportGrayscale, ImportGrayscale, Invert, Resize
Synopsis
Allows you to specify or determine the characteristics of the font.
[]
Syntax
[OCRFont =] object.Font
[]
Syntax
[IOCRFontPtr =] object->Font
Type description
An OCRFont object.
Remarks
  • If the CharacterRecognition control is created at design-time, the .NET ActiveX Control Importer (AxImp.exe) renames our property from Font() to CtlFont() to avoid name clashing with the Font() property of the .NET Windows Form control. See the Windows Forms ActiveX Control Importer (AxImp.exe) topic in MSDN for more information. In addition, if the control is created at run-time with the AxMatrox.ActiveMIL.* namespace, you must use CtlFont() to call the ActiveMIL Font() property.
  • You cannot assign another OCRFont object to this property.
[]
Example
This example draws a series of characters into an image and imports those characters into the Font.

// Draw the alphabet (character list)
m_GraphicContextAlphabet->Image = m_Image1;
m_GraphicContextAlphabet->Text("FKLMN0123456789");

// Copy the character representation to the font
m_CharacterRecognition1->Font->ImportGrayscale(m_Image1, "FKLMN0123456789");


CharacterRecognition.Font.Character Property

Character property

Availability | MIL Equivalent | CharacterList | MilID
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrAllocFont(
CharCellSizeX
CharCellSizeY
CharOffsetX
CharOffsetY
CharSizeX
CharSizeY
CharThickness
)

MocrInquire(
InquireType =
M_CHAR_CELL_SIZE_X or
M_CHAR_CELL_SIZE_Y or
M_CHAR_OFFSET_X or
M_CHAR_OFFSET_Y or
M_CHAR_SIZE_X or
M_CHAR_SIZE_Y or
M_CHAR_THICKNESS
)
CharacterRecognition
Font
Character
Properties: CellSizeX, CellSizeY, OffsetX, OffsetY, SizeX, SizeY, Thickness
Synopsis
Allows you to specify or determine the dimensions of the font.
[]
Syntax
[OCRFontMetrics =] object.Character
[]
Syntax
[IOCRFontMetricsPtr =] object->Character
Type description
An OCRFontMetrics object.
Remark
  • You cannot assign another OCRFontMetrics object to this property.


CharacterRecognition.Font.Character.CellSizeX Property

CellSizeX property

See Also | Availability | MIL Equivalent | CellSizeY
User Guide:
Fonts

Reference:
CharacterRecognition.Font.Character.CellSizeY
CharacterRecognition.Font.Character.OffsetX
CharacterRecognition.Font.Character.OffsetY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrAllocFont(CharCellSizeX)

MocrInquire(
InquireType =
M_CHAR_CELL_SIZE_X
)
CharacterRecognition
Font
Character
CellSizeX
Synopsis
Returns or sets the width of the font characters' cells.
[]
Syntax
object.CellSizeX [= Integer]
[]
Syntax
object->CellSizeX [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the width of the font characters' cells, in pixels.
Remarks
  • This property cannot be set at run-time if the CharacterRecognition control is in the allocated state.
  • The values of the Font.Character properties must satisfy the following condition:
    • CellSizeX should range between 6 and 256 pixels.
    • CellSizeX >= SizeX + OffsetX*2.


CharacterRecognition.Font.Character.CellSizeY Property

CellSizeY property

See Also | Availability | MIL Equivalent | CellSizeX | OffsetX
User Guide:
Fonts

Reference:
CharacterRecognition.Font.Character.CellSizeX
CharacterRecognition.Font.Character.OffsetX
CharacterRecognition.Font.Character.OffsetY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrAllocFont(CharCellSizeY)

MocrInquire(
InquireType =
M_CHAR_CELL_SIZE_Y
)
CharacterRecognition
Font
Character
CellSizeY
Synopsis
Returns or sets the height of the font characters' cells.
[]
Syntax
object.CellSizeY [= Integer]
[]
Syntax
object->CellSizeY [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the height of the font characters' cells, in pixels.
Remarks
  • This property cannot be set at run-time if the CharacterRecognition control is in the allocated state.
  • The values of the Font.Character properties must satisfy the following condition:
    • CellSizeY should range between 6 and 256 pixels.
    • CellSizeY >= SizeY + OffsetY*2.


CharacterRecognition.Font.Character.OffsetX Property

OffsetX property

See Also | Availability | MIL Equivalent | CellSizeY | OffsetY
User Guide:
Fonts

Reference:
CharacterRecognition.Font.Character.CellSizeX
CharacterRecognition.Font.Character.CellSizeY
CharacterRecognition.Font.Character.OffsetY
CharacterRecognition.Font.Character.SizeX
CharacterRecognition.Font.Character.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrAllocFont(CharOffsetX)

MocrInquire(
InquireType =
M_CHAR_OFFSET_X
)
CharacterRecognition
Font
Character
OffsetX
Synopsis
Returns or sets the horizontal offset of the font characters within their cells.
[]
Syntax
object.OffsetX [= Integer]
[]
Syntax
object->OffsetX [= long]
Type description
A long value that specifies the X-coordinate of the top-left corner of the character, relative to the top-left corner of its cell, in pixels.
Remarks
  • This property cannot be set at run-time if the CharacterRecognition control is in the allocated state.
  • The minimum recommended value is 1.
  • The values of the Font.Character properties must satisfy the following condition:

    CellSizeX <= SizeX + OffsetX*2


CharacterRecognition.Font.Character.OffsetY Property

OffsetY property

See Also | Availability | MIL Equivalent | OffsetX | SizeX
User Guide:
Fonts

Reference:
CharacterRecognition.Font.Character.CellSizeX
CharacterRecognition.Font.Character.CellSizeY
CharacterRecognition.Font.Character.OffsetX
CharacterRecognition.Font.Character.SizeX
CharacterRecognition.Font.Character.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrAllocFont(CharOffsetY)

MocrInquire(
InquireType =
M_CHAR_OFFSET_Y
)
CharacterRecognition
Font
Character
OffsetY
Synopsis
Returns or sets the vertical offset of the font characters within their cell.
[]
Syntax
object.OffsetY [= Integer]
[]
Syntax
object->OffsetY [= long]
Type description
A long value that specifies the Y-coordinate of the top-left corner of the character, relative to the top-left corner of the cell, in pixels.
Remarks
  • This property cannot be set at run-time if the CharacterRecognition control is in the allocated state.
  • The minimum recommended value is 1.
  • The values of the Font.Character properties must satisfy the following condition:

    CellSizeY<= SizeY + OffsetY*2


CharacterRecognition.Font.Character.SizeX Property

SizeX property

See Also | Availability | MIL Equivalent | OffsetY | SizeY
User Guide:
Fonts

Reference:
CharacterRecognition.Font.Character.CellSizeX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrAllocFont(CharSizeX)

MocrInquire(
InquireType =
M_CHAR_SIZE_X
)
CharacterRecognition
Font
Character
SizeX
Synopsis
Returns or sets the width of the font characters' bounding boxes.
[]
Syntax
object.SizeX [= Integer]
[]
Syntax
object->SizeX [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the width of the font characters' bounding boxes, in pixels.
Remarks
  • This property cannot be set at run-time if the CharacterRecognition control is in the allocated state.
  • The values of the Font.Character properties must satisfy the following condition:
    • SizeX should range between 6 and 256 pixels.
    • CellSizeX >= SizeX + OffsetX*2.


CharacterRecognition.Font.Character.SizeY Property

SizeY property

See Also | Availability | MIL Equivalent | SizeX | Thickness
User Guide:
Fonts

Reference:
CharacterRecognition.Font.Character.CellSizeX
CharacterRecognition.Font.Character.CellSizeY
CharacterRecognition.Font.Character.SizeX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrAllocFont(CharCellSizeY)

MocrInquire(
InquireType =
M_CHAR_CELL_SIZE_Y
)
CharacterRecognition
Font
Character
SizeY
Synopsis
Returns or sets the height of the font characters' bounding boxes.
[]
Syntax
object.SizeY [= Integer]
[]
Syntax
object->SizeY [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the height of the font characters' bounding boxes, in pixels.
Remarks
  • This property cannot be set at run-time if the CharacterRecognition control is in the allocated state.
  • The properties of the Font.Character property must satisfy the following condition:
    • SizeY should range between 6 and 256 pixels.
    • CellSizeY>= SizeY + OffsetY*2.


CharacterRecognition.Font.Character.Thickness Property

Thickness property

See Also | Availability | MIL Equivalent | SizeY
User Guide:
Fonts
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrAllocFont(CharThickness)

MocrInquire(
InquireType =
M_CHAR_THICKNESS
)
CharacterRecognition
Font
Character
Thickness
Synopsis
Returns or sets the thickness (stroke width) of the font character.
[]
Syntax
object.Thickness [= Integer]
[]
Syntax
object->Thickness [= long]
Type description
A long value that specifies the thickness of the font characters.
Remark
  • This property cannot be set at run-time if the CharacterRecognition control is in the allocated state.


CharacterRecognition.Font.CharacterList Property

CharacterList property

Availability | MIL Equivalent | Character
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrInquire(M_CHAR_IN_FONT)
CharacterRecognition
Font
CharacterList
Synopsis
Returns the list of characters contained in the font.
[]
Syntax
[String =] object.CharacterList
[]
Syntax
[_bstr_t =] object->CharacterList
Type description
A string value that specifies the list of characters in the font.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • This property is modified by the ImportGrayscale method.


CharacterRecognition.Font.MilID Property

MilID property

See Also | Availability | MIL Equivalent | Character | NumberOfCharacters
User Guide:
Integrating MIL functions with your ActiveMIL code

Reference:
CharacterRecognition.IsAllocated
CharacterRecognition.Modified
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrAllocFont(FontIdPtr)
CharacterRecognition
Font
MilID
Synopsis
Returns the Native MIL identifier of the allocated resources of the font.
[]
Syntax
[Integer =] object.MilID
[]
Syntax
[long =] object->MilID
Type description
A long value that specifies the Native MIL identifier of the font.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • The control's Modified method should be called after making Native MIL call(s) on the returned identifier.
  • If the control's IsAllocated property is False, the MilID property will be 0.


CharacterRecognition.Font.NumberOfCharacters Property

NumberOfCharacters property

Availability | MIL Equivalent | MilID | SortedCharacterList
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrAllocFont(CharNumber)

MocrInquire(
M_CHAR_NUMBER
M_CHAR_NUMBER_IN_FONT
)
CharacterRecognition
Font
NumberOfCharacters
Synopsis
Returns or sets the number of characters in the font.
[]
Syntax
object.NumberOfCharacters [= Integer]
[]
Syntax
object->NumberOfCharacters [= long]
Type description
A long value that specifies the number of characters in the font.
Remarks
  • This property cannot be set at run-time if the CharacterRecognition control is in the allocated state.
  • This property is read-only if the StringType property is set to ocrSemiM12_92 or ocrSemiM13_88; these settings require a specific number of characters in the font.
  • The maximum number of characters allowed in the font is 500.
[]
Example
This example shows how to use the NumberOfCharacters property.

long CharNumber = m_CharacterRecognition1->Font->NumberOfCharacters;


CharacterRecognition.Font.SortedCharacterList Property

SortedCharacterList property

Availability | MIL Equivalent | NumberOfCharacters | EraseCharacter
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrCopyFont(M_COPY_FROM_FONT+M_SORT)

MocrInquire(M_COPY_FROM_FONT+M_SORT)
CharacterRecognition
Font
SortedCharacterList
Synopsis
Returns the characters of the font, sorted by their associated ASCII character code.
[]
Syntax
object.SortedCharacterList [= String]
[]
Syntax
object->SortedCharacterList [= _bstr_t]
Type description
A string containing the characters of the font, sorted.


CharacterRecognition.Font.EraseCharacter Method

EraseCharacter method

Availability | MIL Equivalent | SortedCharacterList | ExportGrayscale
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrControl(
ControlType =
M_CHAR_ERASE
)
CharacterRecognition
Font
EraseCharacter
Synopsis
Removes the specified character from the font, along with its grayscale representation.
[]
Syntax
object.EraseCharacter(
ByVal CharacterToErase As String
)
[]
Syntax
void object->EraseCharacter(
_bstr_t CharacterToErase
)
CharacterToErase
A string expression that specifies the character to erase.
Remark
  • Uses only the first character in the given CharacterToErase parameter and ignores all other characters in the string.


CharacterRecognition.Font.ExportGrayscale Method

ExportGrayscale method

Availability | MIL Equivalent | EraseCharacter | ImportGrayscale
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrCopyFont(
Operation =
M_COPY_FROM_FONT
)
CharacterRecognition
Font
ExportGrayscale
Synopsis
Copies the grayscale representation of one or more font characters, from the font to the specified image.
[]
Syntax
object.ExportGrayscale(
ByVal DestinationImage As Image,
ByVal CharacterList As String
)
[]
Syntax
void object->ExportGrayscale(
IImage * DestinationImage,
_bstr_t CharacterList
)
DestinationImage
An Image control that specifies the image to which the font characters are copied.
CharacterList
A string expression that specifies the character list.
Remarks
  • The CharacterList parameter specifies the characters to copy, using their associated ASCII characters.
  • If the CharacterList parameter is an empty string, all the font characters will be copied.
  • The character list can contain duplicates of the same character. For example, the CharacterList can contain two L's like in "HELLO".
  • Note that the maximum number of font characters that can be copied from the font to the image is limited to the number of characters in the font.


CharacterRecognition.Font.ImportGrayscale Method

ImportGrayscale method

See Also | Availability | MIL Equivalent | ExportGrayscale | Invert
Reference:
CharacterRecognition.Font.CharacterList
CharacterRecognition.Font.Invert
CharacterRecognition.Font.NumberOfCharacters
CharacterRecognition.ForegroundPixelValue
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrImportFont(FileFormat)

MocrCopyFont(
Operation =
M_COPY_TO_FONT
)
CharacterRecognition
Font
ImportGrayscale
Synopsis
Copies the grayscale representation of one or more font characters, from the specified image to the font.
[]
Syntax
object.ImportGrayscale(
ByVal SourceImage As Image,
ByVal CharacterList As String
)
[]
Syntax
void object->ImportGrayscale(
IImage * SourceImage,
_bstr_t CharacterList
)
SourceImage
An Image control that specifies the image from which the font characters are copied.
CharacterList
A string expression that specifies the characters in the image.
Remarks
  • The CharacterList parameter specifies the ASCII characters to associate with the character representations.
  • If a character specified in the character list already exists in the font, its character representation will be overwritten. New characters will be appended to the font.
  • It is crucial that the font's character representations respect the foreground value as set in the ForegroundPixelValue property. If the foreground value of the font does not match, the font will be unusable.
  • To invert the font, use the Font.Invert method.
  • If the Font.NumberOfCharacters property is equal to or greater than the number of characters in the font (the string length of the character list specified by the Font.CharacterList property), an error will occur and the copy operation will fail.
[]
Example
This example draws a series of characters into an image and imports those characters into the Font.

// Draw the alphabet (character list)
m_GraphicContextAlphabet->Image = m_Image1;
m_GraphicContextAlphabet->Text("FKLMN0123456789");

// Copy the character representation to the font
m_CharacterRecognition1->Font->ImportGrayscale(m_Image1, "FKLMN0123456789");


CharacterRecognition.Font.Invert Method

Invert method

See Also | Availability | MIL Equivalent | ImportGrayscale | Resize
Reference:
CharacterRecognition.ForegroundPixelValue
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrModifyFont(
Operation =
M_INVERT
)
CharacterRecognition
Font
Invert
Synopsis
Inverts the internal grayscale representation of the font.
[]
Syntax
object.Invert()
[]
Syntax
void object->Invert()
Remark
  • This method automatically changes the CharacterRecognition control's ForegroundPixelValue property to match that of the target image characters.


CharacterRecognition.Font.Resize Method

Resize method

Availability | MIL Equivalent | Invert
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrModifyFont(
M_RESIZE
M_NEARESTNEIGHBOR
M_BILINEAR
M_BICUBIC
M_DEFAULT
)
CharacterRecognition
Font
Resize
Synopsis
Resizes a font in the X- and Y-directions.
[]
Syntax
object.Resize(
ByVal InterpolationMode As ocrInterpolationModeConstants
)
[]
Syntax
void object->Resize(
enum ocrInterpolationModeConstants InterpolationMode
)
InterpolationMode (optional in , default is ocrBilinear)
An ocrInterpolationModeConstants expression that specifies the mode of interpolation.
Value | Meaning
ocrBilinear | Bilinear interpolation.
ocrBicubic | Bicubic interpolation.
ocrNearestNeighbor | Nearest neighbor interpolation.
ocrDefaultInterpolation | Specifies the default value.
Remarks
  • This operation physically changes the size of the characters of the font to match the target character size.
  • Once performed, all of the font's specifications are modified to this new size.
  • Note that changing the size of the font permanently can save time when compared to resizing the font before each read/verify operation.
  • Increasing the size of the font might be slower because the resize time might be less than the additional processing time required for a read or verify operation to find characters of a larger font.


CharacterRecognition.ForegroundPixelValue Property

ForegroundPixelValue property

Availability | MIL Equivalent | Font | Image
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrAllocFont(InitFlag)

MocrInquire(
InquireType =
M_FONT_INITFLAG
)
CharacterRecognition
ForegroundPixelValue
Synopsis
Returns or sets whether the characters are brighter or darker than the background.
[]
Syntax
object.ForegroundPixelValue [= OCRForegroundPixelValueConstants]
[]
Syntax
object->ForegroundPixelValue [= enum OCRForegroundPixelValueConstants]
Type description
An OCRForegroundPixelValueConstants expression that specifies if the characters are darker or brighter than the background.
Value | Meaning
ocrForegroundWhite | The characters to read are brighter than the background.
ocrForegroundBlack | The characters to read are darker than the background.
Remarks
  • This property cannot be set at run-time if the CharacterRecognition control is in the allocated state.
  • If you invert the current grayscale representations of the font using the Font.Invert method, the ForegroundPixelValue property is automatically updated.
  • It is crucial that the font's character representation respects the foreground value. If the foreground value of the font does not match, the font will be unusable.


CharacterRecognition.Image Property

Image property

See Also | Availability | MIL Equivalent | ForegroundPixelValue | ImageName
Reference:
Image
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
CharacterRecognition
Image
Synopsis
Returns or sets the image used for a read or verify operation and to specify a typical image to calibrate the font.
[]
Syntax
object.Image [= Image]
[]
Syntax
object->Image [= IImagePtr]
Type description
An Image control that specifies the source image to be used for read or verify operations.
Remarks
  • You can only perform character recognition operations on 8-bit grayscale unsigned images.
  • When specifying an image to calibrate the font, make sure that the sample image contains the string specified, and its size and spacing is representative of the images to be read or verified with the calibrated font. The cleaner the sample image, the better the calibration results.
  • The image must have its CanProcess property set to True.
  • []
     Use the Visual Basic Is Nothing statement to confirm that this property is currently not associated with a control.
  • []
     To remove the reference to the current control without assigning a new control, set the property to Nothing.
  • []
     To remove the reference to the current control without assigning a new control, set the property to NULL.
  • The target image can also be specified, with the name assigned to its control, using the ImageName property.
  • This property automatically sets the ImageName property.


CharacterRecognition.ImageName Property

ImageName property

See Also | Availability | MIL Equivalent | Image | IsAllocated
Reference:
Image
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
CharacterRecognition
ImageName
Synopsis
Returns or sets the name of the Image control used for a read or verify operation and to specify a typical image to calibrate the font.
[]
Syntax
object.ImageName [= String]
[]
Syntax
object->ImageName [= _bstr_t]
Type description
A string expression that specifies the name of the Image control to be used as the source image for read, verify, or font calibration operations.
Remarks
  • You can only perform character recognition operations on unsigned 8-bit grayscale images.
  • When specifying an image to calibrate the font, make sure that the sample image contains the string specified, and its size and spacing is representative of the images to be read or verified with the calibrated font. The cleaner the sample image, the better the calibration results.
  • The image must have its CanProcess property set to True.
  • To remove the reference to the current control without assigning a new control, specify an empty string ("").
  • The target image can also be specified using the Image property.
  • This property automatically sets the Image property.


CharacterRecognition.IsAllocated Property

IsAllocated property

See Also | Availability | MIL Equivalent | ImageName | IsPreprocessed
User Guide:
Allocation of resources

Reference:
CharacterRecognition.Allocate
CharacterRecognition.Free
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
CharacterRecognition
IsAllocated
Synopsis
Returns whether the resources of the CharacterRecognition control are allocated.
[]
Syntax
[Boolean =] object.IsAllocated
[]
Syntax
[VARIANT_BOOL =] object->IsAllocated
Type description
A boolean value that specifies whether the resources of the control are allocated.
Value | Meaning
True | The resources of the control are allocated.
False | The resources of the control are not allocated.
[]
Example
This example shows how to use the IsAllocated property.

If CharacterRecognition1.IsAllocated Then
            CharacterRecognition1.Free()
End If
[]
Example
This example shows how to use the IsAllocated property.

if (m_CharacterRecognition1->IsAllocated)
   m_CharacterRecognition1->Free();


CharacterRecognition.IsPreprocessed Property

IsPreprocessed property

See Also | Availability | MIL Equivalent | IsAllocated | MaximumStringLength
Reference:
CharacterRecognition.Preprocess
CharacterRecognition.ReadString
CharacterRecognition.VerifyString
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrInquire(M_PREPROCESSED)
CharacterRecognition
IsPreprocessed
Synopsis
Returns whether the CharacterRecognition control is preprocessed.
[]
Syntax
[Boolean =] object.IsPreprocessed
[]
Syntax
[VARIANT_BOOL =] object->IsPreprocessed
Type description
A boolean value that specifies whether or not the CharacterRecognition control is preprocessed.
Value | Meaning
True | The CharacterRecognition control is preprocessed.
False | The CharacterRecognition control is not preprocessed
Remarks
  • Calling the Preprocess method sets this property to True. Changing certain CharacterRecognition properties will reset this property to False.
  • The CharacterRecognition control must be preprocessed before calling the ReadString or VerifyString methods.


CharacterRecognition.MaximumStringLength Property

MaximumStringLength property

See Also | Availability | MIL Equivalent | IsPreprocessed | MorphologicalFilteringIterations
Reference:
CharacterRecognition.ReadString
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrAllocFont(StringLength)

MocrInquire(
InquireType =
M_STRING_SIZE
)
CharacterRecognition
MaximumStringLength
Synopsis
Returns or sets the maximum length of the string to be read or verified.
[]
Syntax
object.MaximumStringLength [= Integer]
[]
Syntax
object->MaximumStringLength [= long]
Type description
A long value that specifies the maximum length of the string.
Remarks
  • This property cannot be set at run-time if the CharacterRecognition control is in the allocated state.
  • This property is read-only if the StringType property is set to ocrSemiM12_92 or ocrSemiM13_88; these settings require a specific string length.
  • The maximum supported length of a string is 100 characters.


CharacterRecognition.MorphologicalFilteringIterations Property

MorphologicalFilteringIterations property

See Also | Availability | MIL Equivalent | MaximumStringLength | Name
Reference:
CharacterRecognition.Font.Character.Thickness
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrControl(M_MORPHOLOGIC_FILTERING)

MocrInquire(M_MORPHOLOGIC_FILTERING)
CharacterRecognition
MorphologicalFilteringIterations
Synopsis
Returns or sets the number of iterations for morphological filtering.
[]
Syntax
object.MorphologicalFilteringIterations [= Integer]
[]
Syntax
object->MorphologicalFilteringIterations [= long]
Type description
A long value that specifies the number of times morphological filtering should be performed. (default is 2)
Remarks
  • Morphological filtering can add robustness by internally enhancing the contrast of the image, but it requires processing time. The optimal number of iterations depends on the complexity of the typical image.
  • This value is added to the Font.Character.Thickness property as the total number of times the contrast between the background and the target characters should be enhanced.
  • The valid range is between 0.0 to 100.0.


CharacterRecognition.Name Property

Name property

Availability | MIL Equivalent | MorphologicalFilteringIterations | NumberOfStrings
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
CharacterRecognition
Name
Synopsis
Returns or sets the name used in code to identify the CharacterRecognition control.
[]
Syntax
object.Name [= String]
[]
Syntax
object->Name [= _bstr_t]
Type description
A string expression that specifies the name of the CharacterRecognition control.
Remarks
  • This property cannot be set at run-time.
  • The default name for a new control is the type of control plus a unique integer. For example, the first new CharacterRecognition control you create on a form is named CharacterRecognition1 and the second CharacterRecognition control is named CharacterRecognition2.
  • A control's Name property must start with a letter and can be a maximum of 40 characters. It can include numbers and underscore (_) characters but cannot include punctuation or spaces. Although the Name property setting can be a keyword, property name, or the name of another object, it can create conflicts in your code.


CharacterRecognition.NumberOfStrings Property

NumberOfStrings property

Availability | MIL Equivalent | Name | OCRType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrControl(M_STRING_NUMBER)

MocrInquire(M_STRING_NUMBER)
CharacterRecognition
NumberOfStrings
Synopsis
Returns or sets the number of strings to be found in the target image.
[]
Syntax
object.NumberOfStrings [= Integer]
[]
Syntax
object->NumberOfStrings [= long]
Type description
A long value that specifies the number of strings to be read/verified from the target image.
Value | Meaning
value | Number of strings in the target image.
ocrAny | Number of strings in the target image is determined automatically.
Remarks
  • Multiple strings can only be found if each string resides on a different line within the target image and each line of text does not overlap the previous.
  • The number of strings to be found must be very precise so as not to affect reading performance and reliability.
  • For best results all strings read in an image with multiple strings should be of similar length, have a consistent inter-line spacing and should start at a similar location along the X-axis.


CharacterRecognition.OCRType Property

OCRType property

See Also | Availability | MIL Equivalent | NumberOfStrings | OwnerSystem
Reference:
CharacterRecognition.Allocate
CharacterRecognition.ConvertOCRType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrAllocFont(FontType)

MocrInquire(M_METHOD)
CharacterRecognition
OCRType
Synopsis
Returns or sets the type of search algorithm used by the CharacterRecognition control.
[]
Syntax
object.OCRType [= OCRTypeConstants]
[]
Syntax
object->OCRType [= enum OCRTypeConstants]
Type description
An OCRTypeConstants expression that specifies the search algorithm. (default is ocrConstrained)
Value | Meaning
ocrGeneral | The general search algorithm works well with clean target images. It requires less information about the target string, but provides a less robust search.
ocrConstrained | The constrained search algorithm works well with degraded target images and requires more information about the target string, but provides a more robust search.
Remarks
  • If your target image has a visible threshold difference between the target characters and the background, uniform illumination, and the spacing between characters and the length of the string are unknown, try using the general search algorithm first.
  • If your target image contains noisy, scratched, or low contrast characters, or if the illumination is not uniform, try using the constrained search algorithm first.


CharacterRecognition.OwnerSystem Property

OwnerSystem property

See Also | Availability | MIL Equivalent | OCRType | OwnerSystemName
User Guide:
Owner system

Reference:
System
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrAllocFont(SystemId)

MocrInquire(M_OWNER_SYSTEM)
CharacterRecognition
OwnerSystem
Synopsis
Returns or sets the system on which the resources of the CharacterRecognition control are allocated.
[]
Syntax
object.OwnerSystem [= System]
[]
Syntax
object->OwnerSystem [= ISystemPtr]
Type description
A System control that specifies the system to set as the owner (parent) of this control.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The owner system can also be specified, with the name assigned to its control, using the OwnerSystemName property.
  • This property automatically sets the OwnerSystemName property.


CharacterRecognition.OwnerSystemName Property

OwnerSystemName property

See Also | Availability | MIL Equivalent | OwnerSystem | PropertyValidation
User Guide:
Owner system

Reference:
System
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrAllocFont(SystemId)
CharacterRecognition
OwnerSystemName
Synopsis
Returns or sets the name of the System control representing the system on which the resources of the CharacterRecognition control are allocated.
[]
Syntax
object.OwnerSystemName [= String]
[]
Syntax
object->OwnerSystemName [= _bstr_t]
Type description
A string expression that specifies the name of a System control to set as the owner (parent) of this control.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The owner system can also be specified using the OwnerSystem property.
  • This property automatically sets the OwnerSystem property.


CharacterRecognition.PropertyValidation Property

PropertyValidation property

See Also | Availability | MIL Equivalent | OwnerSystemName | Results
User Guide:
Error reporting
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
CharacterRecognition
PropertyValidation
Synopsis
Returns or sets whether the properties of the CharacterRecognition control are dynamically validated.
[]
Syntax
object.PropertyValidation [= Boolean]
[]
Syntax
object->PropertyValidation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the property validation mode.
Value | Meaning
True | The control's properties are dynamically validated. Errors will be generated during the design process.
False | The control's properties are not dynamically validated. Errors will only be generated at run-time.
Remarks
  • At run-time, this property is read-only and is always set to True.
  • When set to True and, if one of the control's properties is not properly set, then the control is outlined in red. The Error page of the control's property pages describes the specific error.


CharacterRecognition.Results Property

Results property

Availability | MIL Equivalent | PropertyValidation | SearchAngle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult()
CharacterRecognition
Results
Properties: Characters, MilID, Score, Strings, Threshold, Valid, Value

Methods: Get, GetMultiple
Synopsis
Allows you to obtain the results of the last read or verify operation.
[]
Syntax
[OCRResults =] object.Results
[]
Syntax
[IOCRResultsPtr =] object->Results
Type description
An OCRResults object.
Remarks
  • You cannot assign another OCRResults object to this property.
  • The first time an element of the collection is accessed, ActiveMIL will create separate internal arrays for each result type that can be retrieved, thereby increasing the speed of each subsequent result access. To prematurely free all these internal arrays, call the Free method.


CharacterRecognition.Results.Characters Property

Characters property

See Also | Availability | MIL Equivalent | MilID
Reference:
CharacterRecognition.MaximumStringLength
CharacterRecognition.ReadString
CharacterRecognition.VerifyString
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(
ResultToGet =
M_CHAR_POSITION_X or
M_CHAR_POSITION_X or
M_CHAR_SCORE or
M_CHAR_VALID_FLAG or
M_STRING
)
CharacterRecognition
Results
Characters
Properties: Count, Item
Synopsis
Returns the collection of found characters, obtained with the CharacterRecognition control, allowing access to its elements.
[]
Syntax
[OCRResultCharacters =] object.Characters
[]
Syntax
[IOCRResultCharactersPtr =] object->Characters
Type description
An OCRResultCharacters expression that represents an instance of an OCRResultCharacters collection.
Remark
  • The elements in the collection of found characters refers to the characters of the text, found in the target image.


CharacterRecognition.Results.Characters.Count Property

Count property

See Also | Availability | MIL Equivalent | Item
Reference:
CharacterRecognition.ReadString
CharacterRecognition.VerifyString
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(
ResultToGet =
M_TEXT_LENGTH or
(M_STRING_SIZE +
M_SUM)
)

MocrInquire(M_STRING_SIZE)
CharacterRecognition
Results
Characters
Count
Synopsis
Returns the number of elements in the collection of found characters.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A long value that specifies the number of elements currently in the collection.
Remarks
  • The elements in the character results collection refer to the characters found in the target image.
  • The number of elements in this collection is equal to the length of the entire text to read specified with the ReadString method, or the length of the expected string, specified with the VerifyString method.


CharacterRecognition.Results.Characters.Item Property

Item property

See Also | Availability | MIL Equivalent | Count
Reference:
CharacterRecognition.Constraints.Item.ConstraintType
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
CharacterRecognition
Results
Characters
Item
Properties: PositionX, PositionY, Score, SizeX, SizeY, Spacing, Valid, Value
Synopsis
Returns the element at the specified index in the collection of found characters.
[]
Syntax
[OCRResult=]object.Item(
Index As Integer
)
[]
Syntax
[IOCRResultPtr =] object->Item(
long Index
)
Index
A long value that specifies the index of the required element.
Type description
An OCRResult object.
Remark
  • If the value provided as the index does not match any existing element of the collection, an error occurs. Note that the index of this collection starts at one.


CharacterRecognition.Results.Characters.Item.PositionX Property

PositionX property

See Also | Availability | MIL Equivalent | PositionY
Reference:
CharacterRecognition.Results.Characters.Item.PositionY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(
ResultToGet =
M_CHAR_POSITION_X
)
CharacterRecognition
Results
Characters
Item
PositionX
Synopsis
Returns the X-coordinate of the center of the character found in the target image.
[]
Syntax
[Double =] object.PositionX
[]
Syntax
[double =] object->PositionX
Type description
A double value that returns the X-coordinate, in pixels.


CharacterRecognition.Results.Characters.Item.PositionY Property

PositionY property

See Also | Availability | MIL Equivalent | PositionX | Score
Reference:
CharacterRecognition.Results.Characters.Item.PositionX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(
ResultToGet =
M_CHAR_POSITION_Y
)
CharacterRecognition
Results
Characters
Item
PositionY
Synopsis
Returns the Y-coordinate of the center of the character found in the target image.
[]
Syntax
[Double =] object.PositionY
[]
Syntax
[double =] object->PositionY
Type description
A double value that returns the Y-coordinate, in pixels.


CharacterRecognition.Results.Characters.Item.Score Property

Score property

See Also | Availability | MIL Equivalent | PositionY | SizeX
Reference:
CharacterRecognition.AcceptanceThreshold
CharacterRecognition.Results.Characters.Item.Score
CharacterRecognition.Results.Characters.Item.Valid
CharacterRecognition.Results.Characters.Item.Value
CharacterRecognition.Results.Strings.Item.Characters.Item.Score
CharacterRecognition.Results.Strings.Item.Score
CharacterRecognition.TargetCharacter.AcceptanceThreshold
CharacterRecognition.TargetCharacter.InvalidSymbol
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(
ResultToGet =
M_CHAR_SCORE
)
CharacterRecognition
Results
Characters
Item
Score
Synopsis
Returns the match score for the character in the read or verified text.
[]
Syntax
[Double =] object.Score
[]
Syntax
[double =] object->Score
Type description
A double value that returns the match score, as a percentage.
Remarks
  • The match score is compared against the character acceptance level to determine a successful match between the font and the character in the target image.
  • If a character has a match score equal or above the character acceptance level, it is automatically considered a successful find and Results.Characters.Item(CharacterIndex).Valid will be set to True.
  • A match score is determined by the correlation between the target character and the font.
  • When the match score for the character is lower than the specified acceptance level, the unrecognized character will be replaced by the most-likely character. To replace unrecognized characters with a specific character, use the TargetCharacter.InvalidSymbol property.
  • To obtain the match score for the entire text, use the Results.Score property. To obtain the match score for a specific string, use the Results.Strings.Item(StringIndex).Score property.
  • To obtain the match score for a specific character within a specific string, use the Results.Strings.Item(StringIndex).Characters.Item(CharacterIndex).Score property.
  • To change the string acceptance threshold, use the AcceptanceThreshold property. To change the character acceptance threshold, use the TargetCharacer.AcceptanceThreshold property.
  • Use the Results.Character.Item(CharacterIndex).Value property to retrieve the character value from the text.


CharacterRecognition.Results.Characters.Item.SizeX Property

SizeX property

See Also | Availability | MIL Equivalent | Score | SizeY
Reference:
CharacterRecognition.Results.Characters.Item.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(M_CHAR_SIZE_X)
CharacterRecognition
Results
Characters
Item
SizeX
Synopsis
Returns the width of the character's bounding box.
[]
Syntax
[Double =] object.SizeX
[]
Syntax
[double =] object->SizeX
Type description
A double value that specifies the width, in pixels, of the character's bounding box.


CharacterRecognition.Results.Characters.Item.SizeY Property

SizeY property

See Also | Availability | MIL Equivalent | SizeX | Spacing
Reference:
CharacterRecognition.Results.Characters.Item.SizeX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(M_CHAR_SIZE_Y)
CharacterRecognition
Results
Characters
Item
SizeY
Synopsis
Returns the height of the character's bounding box.
[]
Syntax
[Double =] object.SizeY
[]
Syntax
[double =] object->SizeY
Type description
A double value that specifies the height, in pixels, of the character's bounding box.


CharacterRecognition.Results.Characters.Item.Spacing Property

Spacing property

See Also | Availability | MIL Equivalent | SizeY | Valid
Reference:
CharacterRecognition.Font.Character.CellSizeX
CharacterRecognition.Font.Character.CellSizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(M_CHAR_SPACING)
CharacterRecognition
Results
Characters
Item
Spacing
Synopsis
Returns the inter-character spacing between the current and the next character.
[]
Syntax
[Double =] object.Spacing
[]
Syntax
[double =] object->Spacing
Type description
A double value that returns the inter-character spacing (in pixels with floating point precision), between the current and next character, in the entire text.
Remarks
  • The inter-character spacing can be non-uniform since this property is for a particular character.
  • The spacing for the last character in the entire text is 0.


CharacterRecognition.Results.Characters.Item.Valid Property

Valid property

See Also | Availability | MIL Equivalent | Spacing | Value
Reference:
CharacterRecognition.Results.Strings.Item.Characters.Item.Valid
CharacterRecognition.Results.Strings.Item.Valid
CharacterRecognition.Results.Valid
CharacterRecognition.TargetCharacter.AcceptanceThreshold
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(
ResultToGet =
M_CHAR_VALID_FLAG
)
CharacterRecognition
Results
Characters
Item
Valid
Synopsis
Returns whether the selected character is valid according to the target character's acceptance threshold and constraints.
[]
Syntax
[Boolean =] object.Valid
[]
Syntax
[VARIANT_BOOL =] object->Valid
Type description
A boolean value that specifies whether the character is valid.
Value | Meaning
True | Character is valid.
False | Character is invalid.
Remarks
  • The character is valid when the match score is equal to or greater than the TargetCharacter.AcceptanceThreshold property and each character's constraints are met.
  • A match score is determined by the correlation between the target character and the font.
  • To determine whether a character, in a specific string is valid according to the target character's acceptance threshold, use the Result.String.Item(StringIndex).Character.Item(CharacterIndex).Valid property.
  • To determine wheher all the characters in the string are valid according to the string's acceptance threshold and each character's constraints, use either the Results.Valid property (when dealing with the entire text) or the Results.Strings.Item(StringIndex).Valid property (when dealing with a specific string).


CharacterRecognition.Results.Characters.Item.Value Property

Value property

See Also | Availability | MIL Equivalent | Valid
Reference:
CharacterRecognition.EnableBlankCharacters
CharacterRecognition.Results.Characters.Item.Valid
CharacterRecognition.TargetCharacter.AcceptanceThreshold
CharacterRecognition.TargetCharacter.InvalidSymbol
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(
ResultToGet =
M_TEXT
)
CharacterRecognition
Results
Characters
Item
Value
Synopsis
Returns the ASCII character associated with the character found at the specified position in the text.
[]
Syntax
[String =] object.Value
[]
Syntax
[_bstr_t =] object->Value
Type description
A string expression that returns the selected character.
Remarks
  • When the match score for the character is lower than the specified character acceptance threshold, the Results.Characters.Item(CharacterIndex).Valid property is set to False.
  • Spaces are read only if the EnableBlankCharacters property is enabled.


CharacterRecognition.Results.MilID Property

MilID property

See Also | Availability | MIL Equivalent | Characters | Score
User Guide:
Integrating MIL functions with your ActiveMIL code

Reference:
CharacterRecognition.IsAllocated
CharacterRecognition.Modified
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrAllocFont(FontIdPtr)
CharacterRecognition
Results
MilID
Synopsis
Returns the Native MIL identifier of the resources of the results.
[]
Syntax
[Integer =] object.MilID
[]
Syntax
[long =] object->MilID
Type description
A long value that specifies the results' Native MIL identifier.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • If the control's IsAllocated property is False, the MilID property will be 0.


CharacterRecognition.Results.Score Property

Score property

See Also | Availability | MIL Equivalent | MilID | Strings
Reference:
CharacterRecognition.AcceptanceThreshold
CharacterRecognition.Results.Characters.Item.Score
CharacterRecognition.Results.Strings.Item.Characters.Item.Score
CharacterRecognition.Results.Strings.Item.Score
CharacterRecognition.Results.Value
CharacterRecognition.TargetCharacter.AcceptanceThreshold
CharacterRecognition.TargetCharacter.InvalidSymbol
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(
ResultToGet =
M_TEXT_SCORE
)
CharacterRecognition
Results
Score
Synopsis
Returns the match score for the entire text that was read or verified.
[]
Syntax
[Double =] object.Score
[]
Syntax
[double =] object->Score
Type description
A double value that returns the match score, as a percentage.
Remarks
  • The match score is compared against the string acceptance threshold to determine a successful match between the font and the entire text in the target image.
  • If the entire text has a match score equal or above the string acceptance threshold, it is automatically considered a successful find and Results.Valid will be set to True.
  • A match score is determined by the correlation between the entire text in the target image and the font.
  • To obtain the match score for a specific character, use the Results.Characters.Item(CharacterIndex).Score property (when dealing with a character within the entire text) or use the Results.Strings.Item(StringIndex).Characters.Item(CharacterIndex).Score property (when dealing with a character within a selected string string).
  • To obtain the match score for a specific string, use the Results.Strings.Item(StringIndex).Score property.
  • To change the string acceptance threshold, use the AcceptanceThreshold property. To change the character acceptance threshold, use the TargetCharacer.AcceptanceThreshold property.
  • Use the Results.Value property to retrieve the entire text.
[]
Example
This example shows how to get the match score for a read string operation.

double Score;
Score = m_CharacterRecognition1->Results->Score;


CharacterRecognition.Results.Strings Property

Strings property

Availability | MIL Equivalent | Score | Threshold
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(
ResultToGet =
M_STRING_ANGLE or
M_STRING_SIZE or
M_STRING_SCORE or
M_STRING_VALID_FLAG or
M_STRING or
M_TEXT or
M_TEXT_LENGTH or
M_TEXT_SCORE
)
CharacterRecognition
Results
Strings
Properties: Count, Item, ValueWithoutSeparatorCharacters
Synopsis
Returns the collection of found strings, allowing access to its elements.
[]
Syntax
[OCRResultStrings =] object.Strings
[]
Syntax
[IOCRResultStringsPtr =] object->Strings
Type description
An OCRResultStrings object.


CharacterRecognition.Results.Strings.Count Property

Count property

Availability | MIL Equivalent | Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(M_NB_STRING)
CharacterRecognition
Results
Strings
Count
Synopsis
Returns the number of elements in the collection of found strings.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A long value that specifies the number of strings currently in the collection.
Remarks
  • The elements in the collection of found strings refer to the strings found in the target image.
  • If no strings are found, 0 is returned.


CharacterRecognition.Results.Strings.Item Property

Item property

See Also | Availability | MIL Equivalent | Count | ValueWithoutSeparatorCharacters
Reference:
CharacterRecognition.Constraints.Item.ConstraintType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrInquire(M_SELECT_STRING)
CharacterRecognition
Results
Strings
Item
Properties: Characters, Value, Valid, Score, Angle, Length
Synopsis
Returns the element at the specified index in the collection of found strings.
[]
Syntax
[OCRResultString=]object.Item(
Index As Integer
)
[]
Syntax
[IOCRResultStringPtr =] object->Item(
long Index
)
Index
A long value that specifies the index of the required string.
Type description
An OCRResultString object.
Remarks
  • If the value provided as the index does not match any existing element of the collection, an error occurs. Note that the index of this collection starts at one.
  • The elements in the collection of found strings refers to the strings found in the target image.


CharacterRecognition.Results.Strings.Item.Angle Property

Angle property

Availability | MIL Equivalent | Score | Length
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(M_STRING_ANGLE)
CharacterRecognition
Results
Strings
Item
Angle
Synopsis
Returns the angle at which the string was found.
[]
Syntax
[Double =] object.Angle
[]
Syntax
[double =] object->Angle
Type description
A double value that specifies the angle of the string, in degrees.


CharacterRecognition.Results.Strings.Item.Characters Property

Characters property

See Also | Availability | MIL Equivalent | Value
Reference:
CharacterRecognition.MaximumStringLength
CharacterRecognition.ReadString
CharacterRecognition.VerifyString
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(
ResultToGet =
M_CHAR_POSITION_X or
M_CHAR_POSITION_X or
M_CHAR_SCORE or
M_CHAR_VALID_FLAG or
M_STRING
)
CharacterRecognition
Results
Strings
Item
Characters
Properties: Count, Item
Synopsis
Returns the collection of found characters in the selected string, obtained with the CharacterRecognition control, allowing access to its elements.
[]
Syntax
[OCRResultCharacters =] object.Characters
[]
Syntax
[IOCRResultCharactersPtr =] object->Characters
Type description
An OCRResultCharacters expression that represents an instance of an OCRResultCharacters collection.
Remark
  • The elements in the collection of found characters refers to the characters of the selected string, found in the target image.


CharacterRecognition.Results.Strings.Item.Characters.Count Property

Count property

See Also | Availability | MIL Equivalent | Item
Reference:
CharacterRecognition.ReadString
CharacterRecognition.VerifyString
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(M_STRING_SIZE)
CharacterRecognition
Results
Strings
Item
Characters
Count
Synopsis
Returns the number of elements in the collection of found characters for the selected string.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A long value that specifies the number of elements currently in the collection.
Remarks
  • Each element in the collection represents the result for a position in the read string.
  • The number of elements in this collection is equal to the StringLenghtToRead specified in the ReadString method or the length of the ExpectedString specified in the VerifyString method.


CharacterRecognition.Results.Strings.Item.Characters.Item Property

Item property

See Also | Availability | MIL Equivalent | Count
Reference:
CharacterRecognition.Constraints.Item.ConstraintType
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
CharacterRecognition
Results
Strings
Item
Characters
Item
Properties: PositionX, PositionY, Score, SizeX, SizeY, Spacing, Valid, Value
Synopsis
Returns the element at the specified index in the collection of found characters for the selected string.
[]
Syntax
[OCRResultCharacter=]object.Item(
Index As Integer
)
[]
Syntax
[IOCRResultCharacterPtr =] object->Item(
long Index
)
Index
A long value that specifies the index of the required element.
Type description
An OCRResultCharacter object.
Remarks
  • If the value provided as the index does not match any existing element of the collection, an error occurs. Note that the indeces of this collection starts at one.
  • The elements in the collection of character results refer to the characters found in the target image.


CharacterRecognition.Results.Strings.Item.Characters.Item.PositionX Property

PositionX property

See Also | Availability | MIL Equivalent | PositionY
Reference:
CharacterRecognition.Results.Characters.Item.PositionY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(
ResultToGet =
M_CHAR_POSITION_X
)
CharacterRecognition
Results
Strings
Item
Characters
Item
PositionX
Synopsis
Returns the X-coordinate of the center of the character found in the selected string.
[]
Syntax
[Double =] object.PositionX
[]
Syntax
[double =] object->PositionX
Type description
A double value that returns the X-coordinate, in pixels.


CharacterRecognition.Results.Strings.Item.Characters.Item.PositionY Property

PositionY property

See Also | Availability | MIL Equivalent | PositionX | Score
Reference:
CharacterRecognition.Results.Characters.Item.PositionX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(
ResultToGet =
M_CHAR_POSITION_Y
)
CharacterRecognition
Results
Strings
Item
Characters
Item
PositionY
Synopsis
Returns the Y-coordinate of the center of the character found in the selected string.
[]
Syntax
[Double =] object.PositionY
[]
Syntax
[double =] object->PositionY
Type description
A double value that returns the Y-coordinate, in pixels.


CharacterRecognition.Results.Strings.Item.Characters.Item.Score Property

Score property

See Also | Availability | MIL Equivalent | PositionY | SizeX
Reference:
CharacterRecognition.AcceptanceThreshold
CharacterRecognition.Results.Characters.Item.Score
CharacterRecognition.Results.Characters.Item.Value
CharacterRecognition.Results.Score
CharacterRecognition.Results.Strings.Item.Characters.Item.Score
CharacterRecognition.Results.Strings.Item.Characters.Item.Valid
CharacterRecognition.Results.Strings.Item.Score
CharacterRecognition.TargetCharacter.AcceptanceThreshold
CharacterRecognition.TargetCharacter.InvalidSymbol
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(
ResultToGet =
M_CHAR_SCORE
)
CharacterRecognition
Results
Strings
Item
Characters
Item
Score
Synopsis
Returns the match score for the character in the selected string.
[]
Syntax
[Double =] object.Score
[]
Syntax
[double =] object->Score
Type description
A double value that returns the match score, as a percentage.
Remarks
  • The match score is compared against the character acceptance level to determine a successful match between the font and the character in the target image.
  • If a character has a match score equal or above the character acceptance level, it is automatically considered a successful find and Results.Strings.Item(StringIndex).Characters.Item(CharacterIndex).Valid will be set to True.
  • A match score is determined by the correlation between the target character and the font.
  • When the match score for the character is lower than the specified acceptance level, the unrecognized character will be replaced by the most-likely character. To replace unrecognized characters with a specific character, use the TargetCharacter.InvalidSymbol property.
  • To obtain the match score for the entire text, use the Results.Score property. To obtain the match score for a specific string, use the Results.Strings.Item(StringIndex).Score property.
  • To obtain the match score for a character within the entire text, use the Results.Characters.Item(CharacterIndex).Score property.
  • To change the string acceptance threshold, use the AcceptanceThreshold property. To change the character acceptance threshold, use the TargetCharacer.AcceptanceThreshold property.
  • Use the Results.Strings.Item(StringIndex).Character.Item(CharacterIndex).Value property to retrieve the character value from the string.


CharacterRecognition.Results.Strings.Item.Characters.Item.SizeX Property

SizeX property

Availability | MIL Equivalent | Score | SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(M_CHAR_SIZE_X)
CharacterRecognition
Results
Strings
Item
Characters
Item
SizeX
Synopsis
Returns the width of the character's bounding box for the character in the selected string.
[]
Syntax
[Double =] object.SizeX
[]
Syntax
[double =] object->SizeX
Type description
A double value that specifies the width, in pixels, of the character's bounding box.


CharacterRecognition.Results.Strings.Item.Characters.Item.SizeY Property

SizeY property

Availability | MIL Equivalent | SizeX | Spacing
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(M_CHAR_SIZE_Y)
CharacterRecognition
Results
Strings
Item
Characters
Item
SizeY
Synopsis
Returns the height of the font character's bounding box in the selected string.
[]
Syntax
[Double =] object.SizeY
[]
Syntax
[double =] object->SizeY
Type description
A double value that specifies the height, in pixels, of the character's bounding box.


CharacterRecognition.Results.Strings.Item.Characters.Item.Spacing Property

Spacing property

Availability | MIL Equivalent | SizeY | Valid
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(M_CHAR_SPACING)
CharacterRecognition
Results
Strings
Item
Characters
Item
Spacing
Synopsis
Returns the inter-character spacing between the current and the next character.
[]
Syntax
[Double =] object.Spacing
[]
Syntax
[double =] object->Spacing
Type description
A double value that specifies the inter-character spacing (in pixels with floating point precision), between the current and next character, in the target string.
Remarks
  • The inter-character spacing can be non-uniform since this property is for a particular character.
  • The spacing for the last character in the string is 0.


CharacterRecognition.Results.Strings.Item.Characters.Item.Valid Property

Valid property

See Also | Availability | MIL Equivalent | Spacing | Value
Reference:
CharacterRecognition.Results.Characters.Item.Valid
CharacterRecognition.Results.Strings.Item.Valid
CharacterRecognition.Results.Valid
CharacterRecognition.TargetCharacter.AcceptanceThreshold
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(
ResultToGet =
M_CHAR_VALID_FLAG
)
CharacterRecognition
Results
Strings
Item
Characters
Item
Valid
Synopsis
Returns whether the selected character is valid according to the target character's acceptance threshold and constraints.
[]
Syntax
[Boolean =] object.Valid
[]
Syntax
[VARIANT_BOOL =] object->Valid
Type description
A boolean value that specifies whether the character is valid.
Value | Meaning
True | Character is valid.
False | Character is invalid.
Remarks
  • The character is valid when the match score is equal to or greater than the TargetCharacter.AcceptanceThreshold property and each character's constraints are met.
  • A match score is determined by the correlation between the target character and the font.
  • To determine whether a selected character from the entire text is valid according to the target character's acceptance threshold, use the Results.Characters.Item(CharacterIndex).Valid property.
  • To determine wheher all the characters in the string are valid according to the string's acceptance threshold and each character's constraints, use either the Results.Valid property (when dealing with the entire text) or the Results.Strings.Item(StringIndex).Valid property (when dealing with a specific string).


CharacterRecognition.Results.Strings.Item.Characters.Item.Value Property

Value property

See Also | Availability | MIL Equivalent | Valid
Reference:
CharacterRecognition.AcceptanceThreshold
CharacterRecognition.EnableBlankCharacters
CharacterRecognition.Results.Strings.Item.Valid
CharacterRecognition.TargetCharacter.AcceptanceThreshold
CharacterRecognition.TargetCharacter.InvalidSymbol
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(
ResultToGet =
M_STRING
)
CharacterRecognition
Results
Strings
Item
Characters
Item
Value
Synopsis
Returns the ASCII character associated with the character found at the specified position in the string.
[]
Syntax
[String =] object.Value
[]
Syntax
[_bstr_t =] object->Value
Type description
A string expression that returns the character at the specified position in the string.
Remarks
  • When the match score for the character is lower than the specified character acceptance threshold, the Results.String(StringIndex)Characters.Item(CharacterIndex).Valid property is set to False.
  • Spaces are read only if the EnableBlankCharacters property is enabled.


CharacterRecognition.Results.Strings.Item.Length Property

Length property

Availability | MIL Equivalent | Angle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(M_STRING_SIZE)
CharacterRecognition
Results
Strings
Item
Length
Synopsis
Returns the length of the selected string.
[]
Syntax
[Double =] object.Length
[]
Syntax
[double =] object->Length
Type description
A double value that specifies the length of the string.
Remark
  • []
     The returned length does not include the null termination character.


CharacterRecognition.Results.Strings.Item.Score Property

Score property

See Also | Availability | MIL Equivalent | Valid | Angle
Reference:
CharacterRecognition.AcceptanceThreshold
CharacterRecognition.Results.Characters.Item.Score
CharacterRecognition.Results.Strings.Item.Characters.Item.Score
CharacterRecognition.Results.Strings.Item.Value
CharacterRecognition.TargetCharacter.AcceptanceThreshold
CharacterRecognition.TargetCharacter.InvalidSymbol
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(
ResultToGet =
M_STRING_SCORE
)
CharacterRecognition
Results
Strings
Item
Score
Synopsis
Returns the match score for the selected string.
[]
Syntax
[Double =] object.Score
[]
Syntax
[double =] object->Score
Type description
A double value that returns the match score, as a percentage.
Remarks
  • The match score is compared against the string acceptance threshold to determine a successful match between the font and the selected string in the target image.
  • If the selected string has a match score equal or above the string acceptance threshold, it is automatically considered a successful find and Results.Strings.Item(StringIndex).Valid will be set to True.
  • A match score is determined by the correlation between the target string and the font.
  • To obtain the match score for a specific character, use the Results.Characters.Item(CharacterIndex).Score property (when dealing with a character within the entire text) or use the Results.Strings.Item(StringIndex).Characters.Item(CharacterIndex).Score property (when dealing with a character within a selected string).
  • To return the match score for the entire text, use the Results.Score property.
  • To change the string acceptance threshold, use the AcceptanceThreshold property. To change the character acceptance threshold, use the TargetCharacer.AcceptanceThreshold property.
  • Use the Results.Strings.Item(StringIndex).Value property to retrieve the value of the string.


CharacterRecognition.Results.Strings.Item.Valid Property

Valid property

See Also | Availability | MIL Equivalent | Value | Score
Reference:
CharacterRecognition.AcceptanceThreshold
CharacterRecognition.Results.Characters.Item.Valid
CharacterRecognition.Results.Strings.Item.Characters.Item.Valid
CharacterRecognition.Results.Valid
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(
ResultToGet =
M_STRING_VALID_FLAG
)
CharacterRecognition
Results
Strings
Item
Valid
Synopsis
Returns whether the selected string is valid according to the target string's acceptance threshold and constraints.
[]
Syntax
[Boolean =] object.Valid
[]
Syntax
[VARIANT_BOOL =] object->Valid
Type description
A boolean value that specifies whether the string is valid.
Value | Meaning
True | String is valid.
False | Stringr is invalid.
Remarks
  • The string is valid when the match score is equal to or greater than the AcceptanceThreshold property and each character's constraints are met.
  • A match score is determined by the correlation between the target string and the font.
  • To determine whether a selected character is valid according to the target character's acceptance threshold, use the Results.Strings.Item(StringIndex).Characters.Item(CharacterIndex).Valid property (when dealing with a character within a selected string) or the Results.Characters.Item(CharacterIndex).Valid (when dealing with a selected character within the entire text).
  • To determine wheher all the characters in the string are valid according to the string's acceptance threshold and each character's constraints, use either the Results.Valid property (when dealing with the entire text) or the Results.Strings.Item(StringIndex).Valid property (when dealing with a specific string).


CharacterRecognition.Results.Strings.Item.Value Property

Value property

See Also | Availability | MIL Equivalent | Characters | Valid
Reference:
CharacterRecognition.AcceptanceThreshold
CharacterRecognition.EnableBlankCharacters
CharacterRecognition.Results.Strings.Item.Valid
CharacterRecognition.TargetCharacter.AcceptanceThreshold
CharacterRecognition.TargetCharacter.InvalidSymbol
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(
ResultToGet =
M_STRING
)
CharacterRecognition
Results
Strings
Item
Value
Synopsis
Returns the selected string.
[]
Syntax
[String =] object.Value
[]
Syntax
[_bstr_t =] object->Value
Type description
A string expression that returns the selected string.
Remarks
  • The string is null-terminated.
  • When the match score for the string is lower than the specified string acceptance threshold, the Results.String.Item(StringIndex).Valid property is set to False.
  • Spaces are read only if the EnableBlankCharacters property is enabled.


CharacterRecognition.Results.Strings.ValueWithoutSeparatorCharacters Property

ValueWithoutSeparatorCharacters property

See Also | Availability | MIL Equivalent | Item
Reference:
CharacterRecognition.StringSeparatorCharacter
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(
ResultToGet =
M_STRING
)
CharacterRecognition
Results
Strings
ValueWithoutSeparatorCharacters
Synopsis
Returns the entire text, including all available strings.
[]
Syntax
[String =] object.ValueWithoutSeparatorCharacters
[]
Syntax
[_bstr_t =] object->ValueWithoutSeparatorCharacters
Type description
A string containing the entire text, including all available strings.
Remark
  • All available strings include their separators, terminating characters, as well as any unprintable characters that the strings might contain. The string separator can be set using the StringSeparatorCharacter property.


CharacterRecognition.Results.Threshold Property

Threshold property

See Also | Availability | MIL Equivalent | Strings | Valid
Reference:
CharacterRecognition.OCRType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(M_THRESHOLD)
CharacterRecognition
Results
Threshold
Synopsis
Returns the value used to binarize the target image.
[]
Syntax
[Double =] object.Threshold
[]
Syntax
[double =] object->Threshold
Type description
A double value that returns the value used to binarize the target image.
Remarks
  • For best results the threshold between the characters and their background must be clearly visible in the target image.
  • The threshold must also preserve the shape of the characters.
  • Note that this property is supported only with the general search algorithm.


CharacterRecognition.Results.Valid Property

Valid property

See Also | Availability | MIL Equivalent | Threshold | Value
Reference:
CharacterRecognition.AcceptanceThreshold
CharacterRecognition.Results.Characters.Item.Valid
CharacterRecognition.Results.Strings.Item.Characters.Item.Valid
CharacterRecognition.Results.Strings.Item.Valid
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
CharacterRecognition
Results
Valid
Synopsis
Returns whether the entire text is valid according to the target string's acceptance threshold and constraints.
[]
Syntax
[Boolean =] object.Valid
[]
Syntax
[VARIANT_BOOL =] object->Valid
Type description
A boolean value that specifies whether the string read is valid.
Value | Meaning
True | String is valid.
False | String is invalid.
Remarks
  • The entire text is valid when the match score is equal to or greater than the AcceptanceThreshold property and each character's constraints are met.
  • A match score is determined by the correlation between the entire text and the font.
  • To determine whether a selected character is valid according to the target character's acceptance threshold, use the Results.Strings.Item(StringIndex).Characters.Item(CharacterIndex).Valid property (when dealing with a character within a selected string) or the Results.Characters.Item(CharacterIndex).Valid property (when dealing with a selected character within the entire text).
  • To determine whether a selected string is valid according to the string acceptance threshold, use the Result.Strings.Item(StringIndex).Valid property (when dealing with a specific string).


CharacterRecognition.Results.Value Property

Value property

See Also | Availability | MIL Equivalent | Valid | Get
Reference:
CharacterRecognition.AcceptanceThreshold
CharacterRecognition.EnableBlankCharacters
CharacterRecognition.Results.Strings.ValueWithoutSeparatorCharacters
CharacterRecognition.Results.Valid
CharacterRecognition.TargetCharacter.AcceptanceThreshold
CharacterRecognition.TargetCharacter.InvalidSymbol
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(
ResultToGet =
M_TEXT
)
CharacterRecognition
Results
Value
Synopsis
Returns the read or verified text.
[]
Syntax
[String =] object.Value
[]
Syntax
[_bstr_t =] object->Value
Type description
A string value that returns the read or verified text.
Remarks
  • The entire text is null-terminated.
  • When the match score for the entire text is lower than the specified string acceptance threshold, the Results.Valid property is set to False.
  • Spaces are read only if the EnableBlankCharacters property is enabled.
  • String separators are inserted between the different strings. Use the Results.Strings.ValueWithoutSeparatorCharacters property to retrieve the entire text without separators.
[]
Example
This example shows how to get the read string.

// Read the string
m_CharacterRecognition1->ReadString(0);

// Get the string and its reading score
ReadString = m_CharacterRecognition1->Results->Value;

double Score;
Score = m_CharacterRecognition1->Results->Score;


CharacterRecognition.Results.Get Method

Get method

Availability | MIL Equivalent | Value | GetMultiple
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult()
CharacterRecognition
Results
Get
Synopsis
Returns an array containing all the results of the specified type.
[]
Syntax
object.Get(
ByVal ResultType As OCRResultTypeConstants,
ByVal UserArray As Array
)
[]
Syntax
void object->Get(
enum OCRResultTypeConstants ResultType,
VARIANT * UserArray
)
ResultType
An OCRResultTypeConstants value that specifies the type of result that you want returned for each model occurrence.
Value | Meaning
ocrStringValid | The validity of the entire string based on the acceptance score.
ocrString | The null-terminated string found during the read/verify operation.
ocrNumberOfStrings | The number of strings read by the ReadString method.
ocrStringScore | The confidence score for the entire string calculated during the read/verify operation.
ocrStringAllocSize | The total size of the entire string.
ocrStringAngle | The angle of the entire string, in degrees.
ocrStringSize | The length of the null-terminated string found during the read/verify operation.
ocrText | The entire text.
ocrTextLength | The total number of characters in the entire text.
ocrTextScore | The match score for the entire text as determined during the read/verify operation.
ocrThreshold | The value used to binarize the target image.
ocrCharValidFlags | An array of flags listing the validity of each individual character within the string.
ocrCharScores | An array containing the confidence scores of each individual character within the string.
ocrCharPositionsX | An array containing the X-positions of each individual character within the string.
ocrCharPositionsY | An array containing the Y-positions of each individual character within the string.
ocrCharSizesX | An array containing the cell width of each individual character within the string.
ocrCharSizesY | An array containing the cell height of each individual character within the string.
ocrCharSpacings | An array containing the spacing between each pair of characters within the string.
UserArray
An array of type double in which to put the specified result.


CharacterRecognition.Results.GetMultiple Method

GetMultiple method

Availability | MIL Equivalent | Get
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrGetResult(M_NULL)

MocrGetResult(UserArray)
CharacterRecognition
Results
GetMultiple
Synopsis
Returns the results of the specified types, to a user array.
[]
Syntax
object.GetMultiple(
ByVal ResultTypeArray As Array,
ByVal UserArray As Array
)
[]
Syntax
void object->GetMultiple(
VARIANT * ResultTypeArray,
VARIANT * UserArray
)
ResultTypeArray
An array of OcrResultTypeConstants expressions that specifies the types of results to return to the user array.
Value | Meaning
ocrStringValid | The validity of the entire string based on the acceptance score.
ocrString | The null-terminated string found during the read/verify operation.
ocrNumberOfStrings | The number of strings read by the ReadString method.
ocrStringScore | The confidence score for the entire string calculated during the read/verify operation.
ocrStringAllocSize | The total size of the entire string.
ocrStringAngle | The angle of the entire string, in degrees.
ocrStringSize | The length of the null-terminated string found during the read/verify operation.
ocrText | The entire text.
ocrTextLength | The total number of characters in the entire text.
ocrTextScore | The match score for the entire text as determined during the read/verify operation.
ocrThreshold | The value used to binarize the target image.
ocrCharValidFlags | An array of flags listing the validity of each individual character within the string.
ocrCharScores | An array containing the confidence scores of each individual character within the string.
ocrCharPositionsX | An array containing the X-positions of each individual character within the string.
ocrCharPositionsY | An array containing the Y-positions of each individual character within the string.
ocrCharSizesX | An array containing the cell width of each individual character within the string.
ocrCharSizesY | An array containing the cell height of each individual character within the string.
ocrCharSpacings | An array containing the spacing between each pair of characters within the string.

UserArray
An array of type double in which to write the specified results.


CharacterRecognition.SearchAngle Property

SearchAngle property

Availability | MIL Equivalent | Results | SearchRegion
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
CharacterRecognition
SearchAngle
Properties: Value, DeltaPositive, DeltaNegative
Synopsis
Allows you to specify or determine the CharacterRecognition control's angular search range.
[]
Syntax
[OCRSearchAngle =] object.SearchAngle
[]
Syntax
[IOCRSearchAnglePtr =] object->SearchAngle
Type description
An OCRSearchAngle object.
Remark
  • You cannot assign another OCRSearchAngle object to this property.


CharacterRecognition.SearchAngle.DeltaNegative Property

DeltaNegative property

See Also | Availability | MIL Equivalent | DeltaPositive
User Guide:
Defining the target strings - Specifying other string information

Reference:
CharacterRecognition.Preprocess
CharacterRecognition.SearchAngle.DeltaPositive
CharacterRecognition.SearchAngle.Value
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrControl(M_STRING_ANGLE_DELTA_NEG)

MocrInquire(M_STRING_ANGLE_DELTA_NEG)
CharacterRecognition
SearchAngle
DeltaNegative
Synopsis
Returns or sets the negative angle range used in searching for a string.
[]
Syntax
object.DeltaNegative [= Double]
[]
Syntax
object->DeltaNegative [= double]
Type description
A double value that specifies the lower limit of the angular range, in degrees, relative to the nominal search angle in the clockwise direction. (default is 0.0°) The valid range for the DeltaNegative property is between 0.0° and 180.0°.
Remarks
  • Occurrences with angles outside the angular range cannot be returned as results.
  • The lower limit of the search region's angle range is Value - DeltaNegative.
  • The search is performed between the range of angles defined by the Value, DeltaNegative, and DeltaPositive properties.
  • Depending on the level of details present in the target image, using a small search region generally decreases the search time. Always set the search angle range to the minimum required when speed is a consideration.


CharacterRecognition.SearchAngle.DeltaPositive Property

DeltaPositive property

See Also | Availability | MIL Equivalent | Value | DeltaNegative
User Guide:
Defining the target strings - Specifying other string information

Reference:
CharacterRecognition.Preprocess
CharacterRecognition.SearchAngle.DeltaNegative
CharacterRecognition.SearchAngle.Value
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrControl(M_STRING_ANGLE_DELTA_POS)

MocrInquire(M_STRING_ANGLE_DELTA_POS)
CharacterRecognition
SearchAngle
DeltaPositive
Synopsis
Returns or sets the positive angle range used in searching for a string.
[]
Syntax
object.DeltaPositive [= Double]
[]
Syntax
object->DeltaPositive [= double]
Type description
A double value that specifies the upper limit of the angular range, in degrees, relative to the nominal search angle in the counter-clockwise direction. (default is 0.0°) The valid range for the DeltaPositive property is between 0.0° and 180.0°.
Remarks
  • Occurrences with angles outside the angular range cannot be returned as results.
  • The upper limit of the search region's angle range is Value + DeltaPositive.
  • The search is performed between the range of angles defined by the Value, DeltaNegative, and DeltaPositive properties.
  • Depending on the level of details present in the target image, using a small search region generally decreases the search time. Always set the search angle range to the minimum required when speed is a consideration.


CharacterRecognition.SearchAngle.Value Property

Value property

See Also | Availability | MIL Equivalent | DeltaPositive
Reference:
CharacterRecognition.SearchAngle.DeltaNegative
CharacterRecognition.SearchAngle.DeltaPositive
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrControl(M_STRING_ANGLE)

MocrInquire(M_STRING_ANGLE)
CharacterRecognition
SearchAngle
Value
Synopsis
Returns or sets the nominal angle used in searching for a string.
[]
Syntax
object.Value [= Double]
[]
Syntax
object->Value [= double]
Type description
A double value that specifies the initial angle, in degrees, at which the target image is searched. (default is 0.0°)
Remarks
  • Occurrences with angles outside the angular range cannot be returned as results.
  • The search is performed between the range of angles defined by the Value, DeltaNegative, and DeltaPositive properties.
  • The valid range is between -180.0° and 180.0°. The maximum span must not exceed 180.0°.
  • Depending on the level of details present in the target image, using a small search region generally decreases the search time. Always set the search angle to the minimum required when speed is a consideration.


CharacterRecognition.SearchRegion Property

SearchRegion property

Availability | MIL Equivalent | SearchAngle | Speed
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
CharacterRecognition
SearchRegion
Properties: CenterX, CenterY, EndX, EndY, FullSize, Mode, OffsetX, OffsetY, SizeX, SizeY, StartX, StartY
Synopsis
Allows you to specify or determine the region of interest in which to search for the string.
[]
Syntax
[RegionOfInterest =] object.SearchRegion
[]
Syntax
[IRegionOfInterestPtr =] object->SearchRegion
Type description
A RegionOfInterest object.
Remark
  • You cannot assign another RegionOfInterest object to this property.


CharacterRecognition.SearchRegion.CenterX Property

CenterX property

See Also | Availability | MIL Equivalent | CenterY
Reference:
CharacterRecognition.SearchRegion.CenterY
CharacterRecognition.SearchRegion.SizeX
CharacterRecognition.SearchRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
CharacterRecognition
SearchRegion
CenterX
Synopsis
Returns or sets the X-coordinate of the center of the search region.
[]
Syntax
object.CenterX [= Integer]
[]
Syntax
object->CenterX [= long]
Type description
A long value that specifies the X-coordinate of the center position, relative to the top-left corner of the target image.
Remarks
  • The center position, along with the size, define the region in which to search for the string.
  • The start position (offset) and end position will be modified as a result of moving the center position.


CharacterRecognition.SearchRegion.CenterY Property

CenterY property

See Also | Availability | MIL Equivalent | CenterX | EndX
Reference:
CharacterRecognition.SearchRegion.CenterX
CharacterRecognition.SearchRegion.SizeX
CharacterRecognition.SearchRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
CharacterRecognition
SearchRegion
CenterY
Synopsis
Returns or sets the Y-coordinate of the center of the search region.
[]
Syntax
object.CenterY [= Integer]
[]
Syntax
object->CenterY [= long]
Type description
A long value that specifies the Y-coordinate of a center position, relative to the top-left corner of the target image.
Remarks
  • The center position, along with the size, define the region in which to search for the string.
  • The start position (offset) and end position will be modified as a result of moving the center position.


CharacterRecognition.SearchRegion.EndX Property

EndX property

See Also | Availability | MIL Equivalent | CenterY | EndY
Reference:
CharacterRecognition.SearchRegion.EndY
CharacterRecognition.SearchRegion.StartX
CharacterRecognition.SearchRegion.StartY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
CharacterRecognition
SearchRegion
EndX
Synopsis
Returns or sets the X-coordinate of the end position of the search region.
[]
Syntax
object.EndX [= Integer]
[]
Syntax
object->EndX [= long]
Type description
A long value that specifies the X-coordinate of an end position, relative to the top-left corner of the target image.
Remarks
  • The start position (offset) and end position define the region in which to search for the string.
  • The center position, as well as the size, will be modified as a result of moving the end position.


CharacterRecognition.SearchRegion.EndY Property

EndY property

See Also | Availability | MIL Equivalent | EndX | FullSize
Reference:
CharacterRecognition.SearchRegion.EndX
CharacterRecognition.SearchRegion.StartX
CharacterRecognition.SearchRegion.StartY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
CharacterRecognition
SearchRegion
EndY
Synopsis
Returns or sets the Y-coordinate of the end position of the search region.
[]
Syntax
object.EndY [= Integer]
[]
Syntax
object->EndY [= long]
Type description
A long value that specifies the Y-coordinate of an end position, relative to the top-left corner of the target image.
Remarks
  • The start position (offset) and end position define the region in which to search for the string.
  • The center position, as well as the size, will be modified as a result of moving the end position.


CharacterRecognition.SearchRegion.FullSize Property

FullSize property

Availability | MIL Equivalent | EndY | Mode
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
CharacterRecognition
SearchRegion
FullSize
Synopsis
Returns or sets whether to search the entire target image.
[]
Syntax
object.FullSize [= Boolean]
[]
Syntax
object->FullSize [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the size of the search region is equal to the size of the target image.
Value | Meaning
True | Size of search region is same as that of the target image.
False | Size of the search region is not the same as that of the target image.
Remark
  • This property is reset to False when any property belonging to the SearchRegion property is changed.


CharacterRecognition.SearchRegion.Mode Property

Mode property

See Also | Availability | MIL Equivalent | FullSize | OffsetX
Reference:
CharacterRecognition.SearchRegion.OffsetX
CharacterRecognition.SearchRegion.OffsetY
CharacterRecognition.SearchRegion.SizeX
CharacterRecognition.SearchRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
CharacterRecognition
SearchRegion
Mode
Synopsis
Returns or sets the mode of anchoring the search region.
[]
Syntax
object.Mode [= RoiModeConstants]
[]
Syntax
object->Mode [= enum RoiModeConstants]
Type description
An RoiModeConstants expression that specifies the mode.
Value | Meaning
roiOffsetSize | The offset properties are anchored. This means that when the size changes, the offsets do not move; it is the center that is displaced accordingly.
roiCenterSize | The center properties are anchored. This means that when the size changes, the coordinates of the center do not move; it is the offsets that are displaced accordingly.


CharacterRecognition.SearchRegion.OffsetX Property

OffsetX property

See Also | Availability | MIL Equivalent | Mode | OffsetY
Reference:
CharacterRecognition.SearchRegion.OffsetY
CharacterRecognition.SearchRegion.SizeX
CharacterRecognition.SearchRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
CharacterRecognition
SearchRegion
OffsetX
Synopsis
Returns or sets the horizontal offset of the search region.
[]
Syntax
object.OffsetX [= Integer]
[]
Syntax
object->OffsetX [= long]
Type description
A long value that specifies the X-coordinate of the top-left corner of a region, relative to the top-left corner of the target image.
[]
Example
This example shows how to get the OffsetX property.

// Draw the string under the reading region
IRegionOfInterestPtr DrawingRegion = m_GraphicContext1->DrawingRegion;
DrawingRegion->StartX = m_CharacterRecognition1->SearchRegion->OffsetX +
                        m_CharacterRecognition1->SearchRegion->SizeX / 4;
DrawingRegion->StartY = m_CharacterRecognition1->SearchRegion->OffsetY +
                        m_CharacterRecognition1->SearchRegion->SizeY;


CharacterRecognition.SearchRegion.OffsetY Property

OffsetY property

See Also | Availability | MIL Equivalent | OffsetX | SizeX
Reference:
CharacterRecognition.SearchRegion.OffsetX
CharacterRecognition.SearchRegion.SizeX
CharacterRecognition.SearchRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
CharacterRecognition
SearchRegion
OffsetY
Synopsis
Returns or sets the vertical offset of the search region.
[]
Syntax
object.OffsetY [= Integer]
[]
Syntax
object->OffsetY [= long]
Type description
A long value that specifies the Y-coordinate of the top-left corner of a region, relative to the top-left corner of the target image.
[]
Example
This example shows how to get the OffsetY property.

// Draw the string under the reading region
IRegionOfInterestPtr DrawingRegion = m_GraphicContext1->DrawingRegion;
DrawingRegion->StartX = m_CharacterRecognition1->SearchRegion->OffsetX +
                        m_CharacterRecognition1->SearchRegion->SizeX / 4;
DrawingRegion->StartY = m_CharacterRecognition1->SearchRegion->OffsetY +
                        m_CharacterRecognition1->SearchRegion->SizeY;


CharacterRecognition.SearchRegion.SizeX Property

SizeX property

See Also | Availability | MIL Equivalent | OffsetY | SizeY
Reference:
CharacterRecognition.SearchRegion.Mode
CharacterRecognition.SearchRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
CharacterRecognition
SearchRegion
SizeX
Synopsis
Returns or sets the width of the search region.
[]
Syntax
object.SizeX [= Integer]
[]
Syntax
object->SizeX [= long]
Type description
A long value that specifies the number of pixels in the horizontal direction.
Remark
  • The Mode property determines whether the offset or center of the search region is displaced as a result of changing its width.
[]
Example
This example shows how to get the OffsetX property.

// Draw the string under the reading region
IRegionOfInterestPtr DrawingRegion = m_GraphicContext1->DrawingRegion;
DrawingRegion->StartX = m_CharacterRecognition1->SearchRegion->OffsetX +
                        m_CharacterRecognition1->SearchRegion->SizeX / 4;
DrawingRegion->StartY = m_CharacterRecognition1->SearchRegion->OffsetY +
                        m_CharacterRecognition1->SearchRegion->SizeY;


CharacterRecognition.SearchRegion.SizeY Property

SizeY property

See Also | Availability | MIL Equivalent | SizeX | StartX
Reference:
CharacterRecognition.SearchRegion.Mode
CharacterRecognition.SearchRegion.SizeX
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
CharacterRecognition
SearchRegion
SizeY
Synopsis
Returns or sets the height of the search region.
[]
Syntax
object.SizeY [= Integer]
[]
Syntax
object->SizeY [= long]
Type description
A long value that specifies the numbers of pixels in the vertical direction.
Remark
  • The Mode property determines whether the offset or center of the search region is displaced as a result of changing its height.
[]
Example
This example shows how to get the OffsetY property.

// Draw the string under the reading region
IRegionOfInterestPtr DrawingRegion = m_GraphicContext1->DrawingRegion;
DrawingRegion->StartX = m_CharacterRecognition1->SearchRegion->OffsetX +
                        m_CharacterRecognition1->SearchRegion->SizeX / 4;
DrawingRegion->StartY = m_CharacterRecognition1->SearchRegion->OffsetY +
                        m_CharacterRecognition1->SearchRegion->SizeY;


CharacterRecognition.SearchRegion.StartX Property

StartX property

See Also | Availability | MIL Equivalent | SizeY | StartY
Reference:
CharacterRecognition.SearchRegion.EndX
CharacterRecognition.SearchRegion.EndY
CharacterRecognition.SearchRegion.OffsetX
CharacterRecognition.SearchRegion.OffsetY
CharacterRecognition.SearchRegion.StartY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
CharacterRecognition
SearchRegion
StartX
Synopsis
Returns or sets the X-coordinate of the start position of the search region.
[]
Syntax
object.StartX [= Integer]
[]
Syntax
object->StartX [= long]
Type description
A long value that specifies the X-coordinate of a start position, relative to the top-left corner of the target image.
Remarks
  • The start position (offset) and end position define the region in which to search for the string.
  • The center position, as well as the size, will be modified as a result of moving the start position.


CharacterRecognition.SearchRegion.StartY Property

StartY property

See Also | Availability | MIL Equivalent | StartX
Reference:
CharacterRecognition.SearchRegion.EndX
CharacterRecognition.SearchRegion.EndY
CharacterRecognition.SearchRegion.OffsetX
CharacterRecognition.SearchRegion.OffsetY
CharacterRecognition.SearchRegion.StartX
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
CharacterRecognition
SearchRegion
StartY
Synopsis
Returns or sets the Y-coordinate of the start position of the search region.
[]
Syntax
object.StartY [= Integer]
[]
Syntax
object->StartY [= long]
Type description
A long value that specifies the Y-coordinate of a start position, relative to the top-left corner of the target image.
Remarks
  • The start position (offset) and end position define the region in which to search for the string.
  • The center position, as well as the size, will be modified as a result of moving the start position.


CharacterRecognition.Speed Property

Speed property

Availability | MIL Equivalent | SearchRegion | StringLocation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrControl (
ControlType =
M_SPEED
)

MocrInquire (
InquireType =
M_SPEED
)
CharacterRecognition
Speed
Synopsis
Returns or sets the speed factor.
[]
Syntax
object.Speed [= OCRHighLowConstants]
[]
Syntax
object->Speed [= enum OCRHighLowConstants]
Type description
An OCRHighLowConstants expression that specifies the speed of the algorithm. (default is ocrMedium)
Value | Meaning
ocrVeryLow | Most reliable but very slow.
ocrLow | Reliable but slow (for noisy images).
ocrMedium | Medium speed and reliability.
ocrHigh | Less reliable but fast.
ocrVeryHigh | Least reliable but very fast (for clean images).


CharacterRecognition.StringLocation Property

StringLocation property

Availability | MIL Equivalent | Speed | StringSeparatorCharacter
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrControl(
ControlType =
M_SKIP_STRING_LOCATION
)

MocrInquire(
InquireType =
M_SKIP_STRING_LOCATION
)
CharacterRecognition
StringLocation
Synopsis
Returns or sets whether the string location step is performed during read or verify operations.
[]
Syntax
object.StringLocation [= Boolean]
[]
Syntax
object->StringLocation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the string location step. (default is False)
Value | Meaning
True | String location step is performed.
False | String location step is not performed.
Remark
  • The string location step first locates the string in the target image before trying to identify characters against the font. Skipping this step can save processing time but reduces the robustness of the search.


CharacterRecognition.StringSeparatorCharacter Property

StringSeparatorCharacter property

Availability | MIL Equivalent | StringLocation | StringType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrControl(M_TEXT_STRING_SEPARATOR)

MocrImport(M_TEXT_STRING_SEPARATOR)
CharacterRecognition
StringSeparatorCharacter
Synopsis
Returns or sets the ASCII code of the character used to separate strings.
[]
Syntax
object.StringSeparatorCharacter [= String]
[]
Syntax
object->StringSeparatorCharacter [= _bstr_t]
Type description
A string expression that specifies the ASCII code of the character used to terminate each line of text in a target image containing multiple lines. (default is '\n' )


CharacterRecognition.StringType Property

StringType property

See Also | Availability | MIL Equivalent | StringSeparatorCharacter | TargetCharacter
Reference:
CharacterRecognition.Constraints
CharacterRecognition.Font.Character.CellSizeX
CharacterRecognition.Font.NumberOfCharacters
CharacterRecognition.MaximumStringLength
CharacterRecognition.OCRType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrAllocFont(FontType)

MocrInquire(
InquireType =
M_FONT_TYPE
)
CharacterRecognition
StringType
Synopsis
Returns or sets the type of font being defined.
[]
Syntax
object.StringType [= OCRStringTypeConstants]
[]
Syntax
object->StringType [= enum OCRStringTypeConstants]
Type description
An OCRStringTypeConstants expression that specifies the font type.
Value | Meaning
ocrSemiM12_92 | A font respecting the SEMI M12-92 standard.
ocrSemiM13_88 | A font respecting the SEMI M13-88 standard.
ocrUserDefinedStringType | A general user-defined font.
Remarks
  • This property cannot be set at run-time if the CharacterRecognition control is in the allocated state.
  • If this property is set to ocrSemiM12_92 or ocrSemiM13_88, the constrained search algorithm must be used. Both the MaximumStringLength, Font.NumberOfCharacters and Constraints are set automatically and should not be changed. A checksum calculation is automatically associated to this font.
  • If this property is set to ocrUserDefinedStringType, no MaximumStringLength, Font.NumberOfCharacters, Constraints, or checksum is set. The scale of the font is set to 1.0 and the character spacing is the same as the Font.Character.CellSizeX property.


CharacterRecognition.TargetCharacter Property

TargetCharacter property

See Also | Availability | MIL Equivalent | StringType | ThickeningIterations
Reference:
CharacterRecognition.CalibrateFont
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrControl(
ControlType =
M_CHAR_ACCEPTANCE or
M_CHAR_INVALID or
M_TARGET_CHAR_SIZE_X or
M_TARGET_CHAR_SIZE_Y or
M_TARGET_CHAR_SPACING
)

MocrInquire(
InquireType =
M_CHAR_ACCEPTANCE or
M_CHAR_INVALID or
M_TARGET_CHAR_SIZE_X or
M_TARGET_CHAR_SIZE_Y or
M_TARGET_CHAR_SPACING
)
CharacterRecognition
TargetCharacter
Properties: AcceptanceThreshold, InvalidSymbol, SizeX, SizeY, Spacing, PositionVariationX, PositionVariationY
Synopsis
Allows you to specify or determine the characteristics of the font characters.
[]
Syntax
[OCRTargetCharacter =] object.TargetCharacter
[]
Syntax
[IOCRTargetCharacterPtr =] object->TargetCharacter
Type description
An OCRTargetCharacter object.
Remarks
  • You cannot assign another OCRTargetCharacter object to this property.
  • You can set the properties of the TargetCharacter property manually, or have the CalibrateFont method automatically determine their proper values for you.


CharacterRecognition.TargetCharacter.AcceptanceThreshold Property

AcceptanceThreshold property

See Also | Availability | MIL Equivalent | InvalidSymbol
Reference:
CharacterRecognition.AcceptanceThreshold
CharacterRecognition.ReadString
CharacterRecognition.TargetCharacter.InvalidSymbol
CharacterRecognition.VerifyString
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrControl(
ControlType =
M_CHAR_ACCEPTANCE
)

MocrInquire(
InquireType =
M_CHAR_ACCEPTANCE
)
CharacterRecognition
TargetCharacter
AcceptanceThreshold
Synopsis
Returns or sets the minimum acceptance level for individual characters to be accepted during a read or verify operation.
[]
Syntax
object.AcceptanceThreshold [= Double]
[]
Syntax
object->AcceptanceThreshold [= double]
Type description
A double value that specifies the minimum percentage acceptance score. (default is 1)
Remarks
  • The value must be greater than 0.
  • If the correlation (match score) between the target character and the font is less than this level, it is not considered a match (an occurrence). The match score depends on the image quality. You should experiment to determine what is a typical match score for your application.
  • The minimum acceptance level for a the string to be accepted during a read or a verify operation is set with the CharacterRecognition control's AcceptanceThreshold property.
  • If a target image character's match score does not reach the specified acceptance level, you can use the InvalidSymbol property to force a specified symbol to be returned at that position in the string. If this property is an empty string (" "), the character with the closest match will be returned even if its score is smaller than this property value.


CharacterRecognition.TargetCharacter.InvalidSymbol Property

InvalidSymbol property

Availability | MIL Equivalent | AcceptanceThreshold | SizeX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrControl(
ControlType =
M_CHAR_INVALID
)

MocrInquire(
InquireType =
M_CHAR_INVALID
)
CharacterRecognition
TargetCharacter
InvalidSymbol
Synopsis
Returns or sets the symbol for unrecognized characters in the target string.
[]
Syntax
object.InvalidSymbol [= String]
[]
Syntax
object->InvalidSymbol [= _bstr_t]
Type description
A string expression that specifies the symbol to use for unrecognized characters.
Remarks
  • Only the first character in the string expression will be used.
  • If a target image character's match score does not reach the specified acceptance level (TargetCharacter.AcceptanceThreshold), you can use the InvalidSymbol property to force a specified symbol to be returned at that position in the string. If this property is an empty string (" "), the character with the closest match will be returned even if its score is smaller than the TargetCharacter.AcceptanceThreshold property value.


CharacterRecognition.TargetCharacter.PositionVariationX Property

PositionVariationX property

See Also | Availability | MIL Equivalent | Spacing | PositionVariationY
Reference:
CharacterRecognition.TargetCharacter.SizeX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrControl(
ControlType =
M_TARGET_CHAR_POSITION_VARIATION_X
)

MocrInquire(
InquireType =
M_TARGET_CHAR_POSITION_VARIATION_X
)
CharacterRecognition
TargetCharacter
PositionVariationX
Synopsis
Returns or sets the region being searched for characters within the target image, in the horizontal direction.
[]
Syntax
object.PositionVariationX [= Double]
[]
Syntax
object->PositionVariationX [= double]
Type description
A double value by which the position of the characters in the target string can vary in the horizontal direction.
Remarks
  • This property specifies the tolerance for the position of the character to be read.
  • The valid range is between 0.0 and 100.0.


CharacterRecognition.TargetCharacter.PositionVariationY Property

PositionVariationY property

See Also | Availability | MIL Equivalent | PositionVariationX
Reference:
CharacterRecognition.TargetCharacter.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrControl(
ControlType =
M_TARGET_CHAR_POSITION_VARIATION_Y
)

MocrInquire(
InquireType =
M_TARGET_CHAR_POSITION_VARIATION_Y
)
CharacterRecognition
TargetCharacter
PositionVariationY
Synopsis
Returns or sets the region being searched for characters within the target image, in the vertical direction.
[]
Syntax
object.PositionVariationY [= Double]
[]
Syntax
object->PositionVariationY [= double]
Type description
A double value by which the position of the characters in the target string can vary in the vertical direction.
Remarks
  • This property specifies the tolerance for the position of the character to be read.
  • The valid range is between 0.0 and 100.0.


CharacterRecognition.TargetCharacter.SizeX Property

SizeX property

See Also | Availability | MIL Equivalent | InvalidSymbol | SizeY
User Guide:
Defining_the_target_strings

Reference:
CharacterRecognition.CalibrateFont
CharacterRecognition.OCRType
CharacterRecognition.TargetCharacter.PositionVariationY
CharacterRecognition.TargetCharacter.PositionVariationY
CharacterRecognition.TargetCharacter.SizeY
CharacterRecognition.TargetCharacter.Spacing
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrControl(
ControlType =
M_TARGET_CHAR_SIZE_X
)

MocrInquire(
InquireType =
M_TARGET_CHAR_SIZE_X
)
CharacterRecognition
TargetCharacter
SizeX
Synopsis
Returns or sets the expected width of the characters to read from the target image.
[]
Syntax
object.SizeX [= Double]
[]
Syntax
object->SizeX [= double]
Type description
A double value that specifies the number of pixels in each character, in the horizontal direction (with floating point precision).
Value | Meaning
value | Width of the characters to read from the target image.
ocrSame | Width is found automatically from the average width of the characters in the target image.
Remarks
  • Note that ocrSame is not supported with the constrained search algorithm.
  • Using ocrSame enables automatic spacing detection, but it also increases the amount of time required for a search.
  • The CalibrateFont method automatically updates the SizeX, SizeY, and Spacing properties of the TargetCharacter property to match the dimensions of the characters in the sample image.


CharacterRecognition.TargetCharacter.SizeY Property

SizeY property

See Also | Availability | MIL Equivalent | SizeX | Spacing
User Guide:
Defining the target strings

Reference:
CharacterRecognition.CalibrateFont
CharacterRecognition.OCRType
CharacterRecognition.TargetCharacter.PositionVariationX
CharacterRecognition.TargetCharacter.PositionVariationY
CharacterRecognition.TargetCharacter.SizeX
CharacterRecognition.TargetCharacter.Spacing
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrControl(
ControlType =
M_TARGET_CHAR_SIZE_Y
)

MocrInquire(
InquireType =
M_TARGET_CHAR_SIZE_Y
)
CharacterRecognition
TargetCharacter
SizeY
Synopsis
Returns or sets the expected height of the characters to read from the target image.
[]
Syntax
object.SizeY [= Double]
[]
Syntax
object->SizeY [= double]
Type description
A double value that specifies the number of pixels in each character, n the vertical direction (with floating point precision).
Value | Meaning
value | Height of the characters to read from the target image.
ocrSame | Height is found automatically from the average height of the characters in the target image.
Remarks
  • Note that ocrSame is not supported with the constrained search algorithm.
  • Using ocrSame enables automatic spacing detection, but it also increases the amount of time required for a search.
  • The CalibrateFont method automatically updates the SizeX, SizeY, and Spacing properties of the TargetCharacter property to match the dimensions of the characters in the sample image.


CharacterRecognition.TargetCharacter.Spacing Property

Spacing property

See Also | Availability | MIL Equivalent | SizeY | PositionVariationX
Reference:
CharacterRecognition.CalibrateFont
CharacterRecognition.OCRType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrControl(
ControlType =
M_TARGET_CHAR_SPACING
)

MocrInquire(
InquireType =
M_TARGET_CHAR_SPACING
)
CharacterRecognition
TargetCharacter
Spacing
Synopsis
Returns or sets the expected inter-character spacing in the target string.
[]
Syntax
object.Spacing [= Double]
[]
Syntax
object->Spacing [= double]
Type description
A double value that specifies the inter-character spacing (in pixels with floating point precision) in the target string.
Value | Meaning
value | Inter-character spacing in the target string.
ocrSame | Width is found automatically from the average width of the variable spacing between characters in the target image.
ocrAny | Width is found automatically from the width of the uniform spacing between characters in the target image.
Remarks
  • The value for inter-character spacing must be greater than 1.
  • Note that ocrSame and ocrAny are not supported with the constrained search algorithm.
  • This value can be set automatically with the CalibrateFont method.
  • Using ocrSame or ocrAny enables automatic spacing detection, but they also increases the amount of time required for a search.


CharacterRecognition.ThickeningIterations Property

ThickeningIterations property

Availability | MIL Equivalent | TargetCharacter | ValidateStringEvent
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrControl(M_THICKEN_CHAR)

MocrInquire(M_THICKEN_CHAR)
CharacterRecognition
ThickeningIterations
Synopsis
Returns or sets the number of iterations for thickening.
[]
Syntax
object.ThickeningIterations [= Double]
[]
Syntax
object->ThickeningIterations [= double]
Type description
A double value that specifies the number of times the font character should be thickened to better match the target image. (default is 0.0)
Remarks
  • This property sets the thickness of the font before it is used in a search. It does not physicially change the font.
  • Once set, use the Preprocess method to speed up the search.
  • Setting this control accurately will increase the robustness of a search.
  • The valid range is between 0.0 to 100.0.


CharacterRecognition.ValidateStringEvent Property

ValidateStringEvent property

See Also | Availability | MIL Equivalent | ThickeningIterations | Allocate
Reference:
CharacterRecognition.ValidateString
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
CharacterRecognition
ValidateStringEvent
Synopsis
Returns or sets whether the ValidateString event is enabled.
[]
Syntax
object.ValidateStringEvent [= Boolean]
[]
Syntax
object->ValidateStringEvent [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the event.
Value | Meaning
True | The ValidateString event is enabled and will be fired after a read or verify operation.
False | The ValidateString event is disabled and will not be fired after a read or verify operation.


CharacterRecognition.Allocate Method

Allocate method

See Also | Availability | MIL Equivalent | ValidateStringEvent | CalibrateFont
User Guide:
Setting up controls

Reference:
CharacterRecognition.AutomaticAllocation
CharacterRecognition.Free
CharacterRecognition.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrAllocFont()
CharacterRecognition
Allocate
Synopsis
Allocates the resources of the CharacterRecognition control.
[]
Syntax
object.Allocate()
[]
Syntax
void object->Allocate()
Remarks
  • By default, the control's AutomaticAllocation property is set to True, and therefore allocation is done automatically.
  • To preserve resources and delay allocation until necessary, set the AutomaticAllocation property to False and call the Allocate method only when the control is actually needed.
  • To create a new CharacterRecognition control at run-time, use the CreateObject method of the Application control.
  • If you call the Allocate method while the control is in the allocated state, an error is generated. To determine the allocation state of a control, use the IsAllocated property.
  • The following properties cannot be changed at run-time while the control is in the allocated state (free the control using the Free method):
    • OwnerSystem
    • OwnerSystemName
    • StringType
    • MaximumStringLength
    • ForegroundPixelValue
    • Font.NumberOfCharacters
    • Font.CharacterList
    • Properties of the Font.Character property
  • If you try to allocate a Calibration control before its owner system is allocated, an error is generated.
[]
Example
This example demonstrates how to allocate multiple controls with a single call to the Allocate method.

CharacterRecognition1.AutomaticAllocation = True
CharacterRecognition1.OwnerSystem = System1

' This call will also allocate CharacterRecognition1 since
' its OwnerSystem property is System1 and
' its AutomaticAllocation property is set to True
System1.Allocate()
[]
Example
This example demonstrates how to allocate multiple controls with a single call to the Allocate method.

m_CharacterRecognition1->AutomaticAllocation = TRUE;
m_CharacterRecognition1->OwnerSystem = m_System1;

// This call will also allocate m_CharacterRecognition1 since
// its OwnerSystem property is m_System1 and
// its AutomaticAllocation property is set to TRUE
m_System1->Allocate();


CharacterRecognition.CalibrateFont Method

CalibrateFont method

See Also | Availability | MIL Equivalent | Allocate | Control
Reference:
CharacterRecognition.ConvertOCRType
CharacterRecognition.Image
CharacterRecognition.StringType
CharacterRecognition.TargetCharacter
CharacterRecognition.TargetCharacter.SizeX
CharacterRecognition.TargetCharacter.SizeY
CharacterRecognition.TargetCharacter.Spacing
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrCalibrateFont()
CharacterRecognition
CalibrateFont
Synopsis
Calibrates the font's target character size and spacing to match the dimensions of the string in the sample target image.
[]
Syntax
object.CalibrateFont(
ByVal SampleString As String,
ByVal MinimumSizeX As Double,
ByVal MinimumSizeY As Double,
ByVal MaximumSizeX As Double,
ByVal MaximumSizeY As Double,
ByVal StepX As Double,
ByVal StepY As Double
)
[]
Syntax
void object->CalibrateFont(
_bstr_t SampleString,
double MinimumSizeX,
double MinimumSizeY,
double MaximumSizeX,
double MaximumSizeY,
double StepX,
double StepY
)
SampleString
A string value that specifies the character string present in the sample target image.
MinimumSizeX
A double value that specifies the minimum possible character width in the sample target image, with subpixel accuracy.
MinimumSizeY
A double value that specifies the minimum possible character height in the sample target image, with subpixel accuracy.
MaximumSizeX
A double value that specifies the maximum possible character width in the sample target image, with subpixel accuracy.
MaximumSizeY
A double value that specifies the maximum possible character height in the sample target image, with subpixel accuracy.
StepX
A double value that specifies the step value to use for calibrating the width, with subpixel accuracy.
StepY
A double value that specifies the step value to use for calibrating the height, with subpixel accuracy.
Remarks
  • This method automatically updates the SizeX, SizeY, and Spacing properties of the TargetCharacter property to match the dimensions of the characters of the string in the sample image.
  • The following conditions must be met:
    • (MinimumSizeX / SizeX) >= 0.25.
    • (MinimumSizeY / SizeY) >= 0.25.
    • (MaximumSizeX / SizeX) <= 4.0.
    • (MaximumSizeY / SizeY) <= 4.0.
    • MinimumSizeX, MaximumSizeX, MinimumSizeY, and MaximumSizeY should range between 6 and 256 pixels.
  • This method automatically finds the target font size by finding the best read score for the sample target image, by varying the font size between the specified minimum and maximum width and height using the respective step values (the smaller the step values, the more precise the calibration).
  • You can only perform character recognition operations on 8-bit grayscale unsigned images.
  • The Image property is used to specify the sample target image.
  • You can only calibrate on one string and not all the strings within the entire text.
  • The sample target image must contain the string specified in this method. The size and spacing of the sample target image must be representative of the images to be read or verified with the calibrated font. The cleaner the target image, the better the calibration results.
  • A small step value combined with a large difference between the minimum and maximum values could cause this method to take several seconds or even minutes to complete. In general, a range of +/- 1 pixel with a step between 0.1 and 0.2 pixels provides good results in a reasonable amount of time. Note that the greater the number of steps between the minimum and maximum sizes, the longer this operation takes.
  • This method is only available with the constrained search algorithm. To change the search algorithm used by the CharacterRecognition control, use the ConvertOCRType method.
[]
Example
This example shows how to use the CalibrateFont method.

// Calibrate the OCR font
m_CharacterRecognition1->CalibrateFont(STRING_CALIBRATION,
                                       CHAR_SIZE_X_MIN, CHAR_SIZE_X_MAX,
                                       CHAR_SIZE_X_STEP, CHAR_SIZE_Y_MIN,
                                       CHAR_SIZE_Y_MAX, CHAR_SIZE_Y_STEP);


CharacterRecognition.Control Method

Control method

See Also | Availability | MIL Equivalent | CalibrateFont | ConvertOCRType
Reference:
CharacterRecognition.Inquire
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrControl()
CharacterRecognition
Control
Synopsis
Controls the attributes of the CharacterRecognition control.
[]
Syntax
object.Control(
ByVal ControlType As OCRInquireAndControlConstants,
ByVal ControlValue As Object
)
[]
Syntax
void object->Control(
enum OCRInquireAndControlConstants ControlType,
const _variant_t & ControlValue
)
ControlType
An OCRInquireAndControlConstants expression that specifies the attribute to be modified.
ControlValue
A variantobjectvariant (object for Visual Basic .Net) value that specifies the new value to be set.
Remark
  • This method is reserved for future expansion.


CharacterRecognition.ConvertOCRType Method

ConvertOCRType method

See Also | Availability | MIL Equivalent | Control | Free
Reference:
CharacterRecognition.Allocate
CharacterRecognition.OCRType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrControl(M_METHOD_CONVERT)
CharacterRecognition
ConvertOCRType
Synopsis
Converts the the search algorithm used by the CharacterRecognition control from one type to the other.
[]
Syntax
object.ConvertOCRType(
ByVal ConvertOCRType As ocrTypeConstant
)
[]
Syntax
void object->ConvertOCRType(
enum ocrTypeConstant ConvertOCRType
)
ConvertOCRType (optional in , default is ocrConstrained)
An ocrTypeConstant expression that specifies the search algorithm.
Value | Meaning
ocrGeneral | Specifies the general search algorithm, which works well with clean target images. It requires less information about the target string, but provides a less robust search
ocrConstrained | Specifies the constrained search algorithm, which works well with degraded target images and requires more information about the targets string, but provides a more robust search.
Remarks
  • This method should be called after allocating the resources of the CharacterRecognition control.
  • Not all properties are available with both search algorithms. When you change the search algorithm, invalid settings are reset to their default values.


CharacterRecognition.Free Method

Free method

See Also | Availability | MIL Equivalent | ConvertOCRType | Inquire
User Guide:
Setting up controls

Reference:
CharacterRecognition.Allocate
CharacterRecognition.AutomaticAllocation
CharacterRecognition.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrFree()
CharacterRecognition
Free
Synopsis
Frees the resources of the CharacterRecognition control.
[]
Syntax
object.Free()
[]
Syntax
void object->Free()
Remarks
  • The resources associated with the CharacterRecognition control are automatically freed when the control is destroyed. You must use the Free method if you want to free the control prematurely. Note that when you free the CharacterRecognition control, all of its results are deleted.
  • To determine the allocation state of a control, use the IsAllocated property. While a CharacterRecognition control is in the allocated state, some of its properties cannot be changed at run-time (for example, the maximum string length). At run-time, to modify a property that cannot be changed after allocation, you must free the control (using the Free method), change its property(ies), and then re-allocate the control (using the Allocate method). For example, at run-time, to change the maximum length of the string to be read or verified, you must free the CharacterRecognition control, make the change in the MaximumStringLength property, and allocate the control again.
  • The Free method will generate an error if the control is not allocated.
  • Any property can be changed when its control is in the allocated state, unless it is otherwise stated in the Remarks section of that property.
[]
Example
This example shows how to use the Free method.

If CharacterRecognition1.IsAllocated Then
            CharacterRecognition1.Free()
End If
[]
Example
This example shows how to use the Free method.

if (m_CharacterRecognition1->IsAllocated)
   m_CharacterRecognition1->Free();


CharacterRecognition.Inquire Method

Inquire method

See Also | Availability | MIL Equivalent | Free | Load
Reference:
CharacterRecognition.Control
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrInquire()
CharacterRecognition
Inquire
Synopsis
Inquires about the attributes of the CharacterRecognition control.
[]
Syntax
[Object =] object.Inquire(
ByVal ParamToInquire As OCRInquireAndControlConstants
)
[]
Syntax
[_variant_t =] object->Inquire(
enum OCRInquireAndControlConstants ParamToInquire
)
ParamToInquire
An OCRInquireAndControlConstants expression that specifies the attribute to inquire about.
Return value
The current value assigned to the attribute that is inquired about.
Remark
  • This method is reserved for future expansion.


CharacterRecognition.Load Method

Load method

See Also | Availability | MIL Equivalent | Inquire | Modified
User Guide:
Error reporting

Reference:
CharacterRecognition.Save
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrRestoreFont()
CharacterRecognition
Load
Synopsis
Loads the font from a file, into the CharacterRecognition control.
[]
Syntax
object.Load(
ByVal FileName As String
)
[]
Syntax
void object->Load(
_bstr_t FileName
)
FileName
A string expression that specifies the name of the file from which to load the font.
Remarks
  • If you pass the FileName parameter an empty string (""), the File Open dialog box is presented so that you can interactively select a file name.
  • The Load method will generate an error if the file cannot be found or loaded properly.
  • Note that only one-band, 8-bit unsigned, grayscale images can be loaded for character recognition.


CharacterRecognition.Modified Method

Modified method

See Also | Availability | MIL Equivalent | Load | ReadString
User Guide:
Integrating MIL functions with your ActiveMIL code

Reference:
CharacterRecognition.Font.MilID
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
CharacterRecognition
Modified
Synopsis
Informs the CharacterRecognition control that Native MIL calls were made on its resources.
[]
Syntax
object.Modified(
ByVal ModificationType As Integer
)
[]
Syntax
void object->Modified(
long ModificationType
)
ModificationType (optional in , default is amilDefault)
A long value that specifies the modification type.
Value | Meaning
amilDefault | Specifies that native MIL calls were used to modify the contents of the CharacterRecognition control.
Remark
  • The Modified method should be called after performing a Native MIL Mocr...() function on the resources of the CharacterRecognition control. This ensures that all properties of the CharacterRecognition control are updated to match their state in MIL.


CharacterRecognition.Preprocess Method

Preprocess method

See Also | Availability | MIL Equivalent | ReadString | Save
Reference:
CharacterRecognition.IsPreprocessed
CharacterRecognition.Save
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrPreprocess()
CharacterRecognition
Preprocess
Synopsis
Preprocesses the CharacterRecognition control. This trains the CharacterRecognition control to search for a string in the most efficient manner.
[]
Syntax
object.Preprocess()
[]
Syntax
void object->Preprocess()
Remarks
  • Call this method after all properties have been set.
  • When you use the Save method, preprocessing is saved with the control. Upon loading, the control does not need to be preprocessed again.
  • Note that if some of the control's properties are changed after a call to this method, the control must be preprocessed again. To determine if the control is in a preprocessed state, use the IsPreprocessed property.
  • This method is potentially quite lengthy (up to several seconds).


CharacterRecognition.ReadString Method

ReadString method

See Also | Availability | MIL Equivalent | Modified | Preprocess
Reference:
CharacterRecognition.Results
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrReadString()
CharacterRecognition
ReadString
Synopsis
Reads a string from the target image.
[]
Syntax
object.ReadString(
ByVal StringLengthToRead As Integer
)
[]
Syntax
void object->ReadString(
long StringLengthToRead
)
StringLengthToRead
A longintegerlong (integer for Visual Basic .Net) value or a OCRMiscConstants expression that specifies the length of the string to read. If this parameter is not set, the value of the MaximumStringLength property will be used. (default is 0)
Value | Meaning
value | Specifies the string length.
ocrAny | Specifies that the string length will be determined automatically when the general search algorithm is used.
Remarks
  • StringLengthToRead must be less than or equal to the length specified by the MaximumStringLength property.
  • When the default value of 0 is used for the StringLengthToRead parameter, the value specified by the MaximumStringLength property is used internally.
  • You can only perform character recognition operations on 8-bit grayscale unsigned images.
[]
Example
This example reads a string in an image and shows it in another image.

// Read the string
m_CharacterRecognition1->ReadString(0);

// Get the string and its reading score
ReadString = m_CharacterRecognition1->Results->Value;

double Score;
Score = m_CharacterRecognition1->Results->Score;


CharacterRecognition.Save Method

Save method

See Also | Availability | MIL Equivalent | Preprocess | ShowPropertyPages
Reference:
CharacterRecognition.Constraints
CharacterRecognition.Font
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrSaveFont()
CharacterRecognition
Save
Synopsis
Saves the font data in a file.
[]
Syntax
object.Save(
ByVal FileName As String
)
[]
Syntax
void object->Save(
_bstr_t FileName
)
FileName
A string expression that specifies the name of the file in which to save the data.
Remarks
  • This property saves all the settings of the font and the constraints associated with the font.
  • For easier use with other Matrox Imaging software products, it is recommended that you use the MFO file extension.
  • If you pass the FileName parameter an empty string (""), the File Open dialog box is presented so that you can interactively select a file name.
[]
Example
This example shows how to save a font in a file.

m_CharacterRecognition1->Save("X:\\Images\\MyFont.mfo");


CharacterRecognition.ShowPropertyPages Method

ShowPropertyPages method

Availability | MIL Equivalent | Save | VerifyString
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
CharacterRecognition
ShowPropertyPages
Synopsis
Opens the specified property pages of the Character Recognition control in a window.
[]
Syntax
object.ShowPropertyPages(
ByVal Pages As OCRPropertyPagesConstants,
ByVal Caption As String,
ByVal hWndParent As Integer,
ByVal Reserved As Boolean
)
[]
Syntax
void object->ShowPropertyPages(
enum OCRPropertyPagesConstants Pages,
_bstr_t Caption,
long hWndParent,
VARIANT_BOOL Reserved
)
Pages
An OCRPropertyPagesConstants expression that specifies the page(s) to display. You can add the following constants together to display multiple pages.
Value | Meaning
ocrGeneralPropertyPage | Display the CharacterRecognition control's General property page.
ocrAttributesPropertyPage | Display the CharacterRecognition control's Attributes property page.
ocrFontPropertyPage | Display the CharacterRecognition control's Font property page.
ocrConstraintsPropertyPage | Display the CharacterRecognition control's Constraints property page.
ocrTargetCharacterPropertyPage | Display the CharacterRecognition control's TargetCharacter property page.
ocrROIPropertyPage | Display the CharacterRecognition control's Region of Interest property page.
ocrHistoryPropertyPage | Display the CharacterRecognition control's History property page.
ocrAllPropertyPages | Display all of the CharacterRecognition control's available property pages.
Caption (optional in , default is "")
A string value that specifies the caption for the property pages window. The default is an empty string, in which case a generic caption will be displayed.
hWndParent (optional in , default is 0)
A long value that specifies the window handle (HWND) of the property pages window's parent. The property pages window will be modal in relation to its parent window.
Reserved (optional in , default is True)
This parameter is reserved for future use. True is the only value available.
Value | Meaning
True | Meaning to be determined. This setting must always be used.
Remarks
  • If the CharacterRecognition control is created at design-time, the .NET ActiveX Control Importer (AxImp.exe) renames this ActiveMIL method from ShowPropertyPages() to CtlShowPropertyPages() to avoid name clashing with the ShowPropertyPages() method of the .NET Windows Form control. See the Windows Forms ActiveX Control Importer (AxImp.exe) topic in MSDN for more information. In addition, if the control is created at run-time with the AxMatrox.ActiveMIL.* namespace, you must use CtlShowPropertyPages() to call the ActiveMIL ShowPropertyPages() method.
  • This method is used to display the property pages so that properties can be set interactively at run-time.
  • This method will disable property page elements corresponding to properties that cannot be changed due to the current state of the control. For example, if a property cannot be changed while its control is in the allocated state, and the control is allocated, the corresponding element in the property page will be disabled. To change this property, call the Free method first.


CharacterRecognition.VerifyString Method

VerifyString method

See Also | Availability | MIL Equivalent | ShowPropertyPages | ResultsModified
Reference:
CharacterRecognition.AcceptanceThreshold
CharacterRecognition.ConvertOCRType
CharacterRecognition.OCRType
CharacterRecognition.ReadString
CharacterRecognition.StringLocation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MocrVerifyString()
CharacterRecognition
VerifyString
Synopsis
Verifies that a known string is present in the image.
[]
Syntax
object.VerifyString(
ByVal ExpectedString As String
)
[]
Syntax
void object->VerifyString(
_bstr_t ExpectedString
)
ExpectedString
A string value that specifies the known character string.
Remarks
  • You can only perform character recognition operations on 8-bit grayscale unsigned images.
  • This method is similar to the ReadString method, but with the expected string being known.
  • For a more robust search, use the constrained search algorithm. To change the search algorithm used by the CharacterRecognition control, use the ConvertOCRType method.
  • Blank characters cannot be verified and will be ignored.
  • The specified string must be null-terminated.
  • If string location is disabled (using the StringLocation property), use a child image to limit the area to be read.
  • You can only verify one string and not all the strings within the entire text.
  • When dealing with multiple lines of text, the first string found is located according to the type of search algorithm used, constraints and processing properties. Note that this is not necessarily the first string in the image.
  • When the match score of the string is below the string acceptance threshold (the AcceptanceThreshold property), the string with the highest match score will be returned and the valid property will be set to as false.
  • If there is no correlation between the target string and the font (match score of 0.0), a blank string will be returned.
  • The match score depends on the image quality. You should experiment to determine what is a typical match score for your application.


CharacterRecognition.ResultsModified Event

ResultsModified event

Availability | MIL Equivalent | VerifyString | ValidateString
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
CharacterRecognition
ResultsModified
Synopsis
Occurs after results have been modified.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_ResultsModified() Handles object.ResultsModified

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_ResultsModified(
ByVal sender As Object,
ByVal e As System.EventArgs
) Handles object.ResultsModified
[]
Syntax
void class::OnResultsModified()
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.


CharacterRecognition.ValidateString Event

ValidateString event

Availability | MIL Equivalent | ResultsModified
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Orion
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
MocrHookFunction(
HookType =
M_STRING_VALIDATION
)
CharacterRecognition
ValidateString
Synopsis
Occurs after a read or verify operation.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_ValidateString(
ByVal StringToValidate As String,
ByVal StringValid As Boolean
) Handles object.ValidateString

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_ValidateString(
ByVal sender As Object,
ByVal e As AxMatrox.ActiveMIL.ICharacterRecognitionEvents_ValidateStringEvent
) Handles object.ValidateString
[]
Syntax
void class::OnValidateString(
_bstr_t StringToValidate,
VARIANT_BOOL * StringValid
)
StringToValidate
A string expression in which to receive the character string to be validated.
StringValid
A boolean value in which you must write whether the string read is valid.
Value | Meaning
True | String is valid.
False | String is invalid.
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • For performance reasons, this event must be enabled in order to be fired. To enable the event, set the ValidateStringEvent property to True.
  • This event is fired after a character string has passed all other specified contraints and its match score is above the string acceptance threshold.
  • This event allows you to perform a custom validation on the otherwise acceptable string, before it is considered fully acceptable and written in the collection of character recognition results. For example, your event procedure can perform a custom checksum operation on the string.
  • This event might be fired one or many times during the read or validate operation.


Code control

Availability
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Synopsis
A Code control allows you to read and write several types of bar codes, 2D codes and composite code.

Structure
Code |  |  | Properties: AutomaticAllocation, CodeType, EncodingType, ErrorCorrectionType, EscapeSequence, ForegroundPixelValue, ImageThreshold, Image, ImageName, IsAllocated, MilID, Name, OwnerSystem, OwnerSystemName, PropertyValidation, Results, ScanlineHeight, ScanlineStep, ScanReverse, SearchRegion, Speed, StreamSize, SubType, TargetGrid, TargetStringLength, Timeout, UsePresearch Methods: Allocate, CalculateCodeSize, Control, Free, Inquire, Load, LoadStream, Modified, ReadCode, Save, SaveStream, ShowPropertyPages, VerifyCode, WriteCode Event: ResultsModified
 | Results |  | Properties: DecodedString, DecodedStringSize, EncodingType, ErrorCorrectionType, GridAngle, GridCellSize, ImageThreshold, NumberOfCellsX, NumberOfCellsY, Score, Status, VerificationGrade Methods: Get, GetMultiple
 |  | VerificationGrade | Properties: AxialNonUniformity, Decodability, Decode, Defects, EdgeDetermination, MinimumEdgeContrast, MinimumReflectance, Modulation, OverallSymbol, PrintGrowth, Rap, StartStopPattern, SymbolBased, SymbolContrast, UnusedErrorCorrection
 | SearchRegion |  | Properties: CenterX, CenterY, EndX, EndY, FullSize, Mode, OffsetX, OffsetY, SizeX, SizeY, StartX, StartY
 | TargetGrid |  | Properties: DotSpacing, MaximumCellSize, MinimumCellSize, NumberOfCellsX, NumberOfCellsY, SearchAngleDeltaNegative, SearchAngleDeltaPositive, SearchAngle


Code.AutomaticAllocation Property

AutomaticAllocation property

See Also | Availability | MIL Equivalent | CodeType
User Guide:
Setting up controls

Reference:
Code.Allocate
Code.Free
Code.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Code
AutomaticAllocation
Synopsis
Returns or sets whether the resources of the Code control will be automatically allocated at run-time.
[]
Syntax
object.AutomaticAllocation [= Boolean]
[]
Syntax
object->AutomaticAllocation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the control's automatic allocation.
Value | Meaning
True | The control will be allocated automatically at run-time.
False | The control must be allocated explicitly, using the Allocate method.
Remarks
  • When the AutomaticAllocation property is False, an explicit call to the Allocate method is required. You can get the allocation state of a control by reading its IsAllocated property.
  • The default value is True for controls created at design-time, and False for controls created at run-time (for example, created with the CreateObject method of the Application control).
  • When this property is set to True, automatic allocation will occur when the owner system of the Code control is allocated. For example, if System1 is set as the OwnerSystem of Code1, and System1 is not allocated, then Code1 will not be allocated, even if its AutomaticAllocation property is set to True. When System1 is allocated (with the Allocate method), Code1 will be allocated automatically if its AutomaticAllocation property is set to True.
  • The resources of the control will be freed automatically when the control is destroyed.
[]
Example
This example demonstrates how to set up this control so that it is automatically allocated when its owner System control is allocated.

Code1.AutomaticAllocation = True
Code1.OwnerSystem = System1

' This call will also allocate Code1 since its OwnerSystem property is System1
' and its AutomaticAllocation property is set to True
System1.Allocate()
[]
Example
This example demonstrates how to set up this control so that it is automatically allocated when its owner System control is allocated.

m_Code1->AutomaticAllocation = TRUE;
m_Code1->OwnerSystem = m_System1;

// This call will also allocate m_Code1 since
// its OwnerSystem property is m_System1 and
// its AutomaticAllocation property is set to TRUE
m_System1->Allocate();


Code.CodeType Property

CodeType property

See Also | Availability | MIL Equivalent | AutomaticAllocation | EncodingType
User Guide:
Overview of codes
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeAlloc(CodeType)
Code
CodeType
Synopsis
Returns or sets the type of code to read, write, or verify.
[]
Syntax
object.CodeType [= CodeTypeConstants]
[]
Syntax
object->CodeType [= enum CodeTypeConstants]
Type description
A CodeTypeConstants expression that specifies the code type.
Value | Meaning
codeBC412 | BC412 code type.
codeCodabar | Codabar code type.
codeCompositeCode | Composite code type. The code type is a composite of a 1D and a 2D code type. Controls that apply to both 1D and 2D codes apply to this code type.
codeCode39 | Code39 code type.
codeCode93 | Code93 code type.
codeCode128 | Code128 code type.
codeDataMatrix | DataMatrix code type. This is a 2D code type.
codeEAN8 | EAN8 code type.
codeEAN13 | EAN13 code type.
codeInterleave25 | Interleaved 2/5 code type. codeInterleave25 is best used in a fixed-length application, with all reading equipment programmed to accept messages only of the correct length.
codeMaxicode | Maxicode code type. This is a 2D code type.
codeMicroPDF417 | MicroPDF417 code type. This is a 2D code type.
codePDF417 | PDF417 code type. This is a 2D code type.
codePharmaCode | Pharmacode code type.
codePlanet | Planet code type.
codePostnet | Postnet code type.
codeQRCode | QR code type. This is a 2D code type.
codeRSSCode | RSS code type.
codeUPCA | UPC-A code type.
codeUPCE | UPC-E code type.
Remark
  • This property cannot be set at run-time if the control is in the allocated state.
[]
Example
This example shows how to set the CodeType property.

// Set the CodeType and Image properties and Allocate the Code control
m_Code1->Free();
m_Code1->CodeType = codeMaxicode;
m_Code1->EncodingType = codeAnyEncoding;
m_Code1->Allocate();


Code.EncodingType Property

EncodingType property

Availability | MIL Equivalent | CodeType | ErrorCorrectionType
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeControl(
ControlType =
M_ENCODING
)

McodeInquire(
ControlType =
M_ENCODING
)
Code
EncodingType
Synopsis
Returns or sets the type of encoding scheme.
[]
Syntax
object.EncodingType [= CodeEncodingTypeConstants]
[]
Syntax
object->EncodingType [= enum CodeEncodingTypeConstants]
Type description
A CodeEncodingTypeConstants expression that specifies the type of encoding scheme for a given code type.

For codeBC412, codeCodabar, codeMicroPDF417, or PDF417 codes, the following setting is available:
Value | Meaning
codeStandardEncoding | Standard encoding type.

For a codeCode39 code, the following settings are available: (default is codeStandardEncoding )
Value | Meaning
codeASCII | ASCII encoding.
codeStandardEncoding | Standard encoding type.

For a codeCode128, code, the following setting is available:
Value | Meaning
codeASCII | ASCII encoding.

For a codeComposite code, the following settings are available:
Value | Meaning
codeEAN8Encoding | EAN 8 encoding.
codeEAN13Encoding | EAN 13 encoding.
codeUPCAEncoding | UPC-A encoding.
codeUPCEEncoding | UPC-E encoding.
codeUCCEAN128_PDF417 | UCCEAN128 PDF417 encoding.
codeUCCEAN128_MicroPDF417 | UCCEAN128 MicroPDF417 encoding.

For both codeComposite and codeRSSCode codes, the following settings are available: (default is codeRSS14 )
Value | Meaning
codeRSS14 | RSS 14 encoding.
codeRSS14Stacked | RSS 14 Stacked encoding.
codeRSS14StackedOmni | RSS 14 Stacked Omni encoding.
codeRSS14Truncated | RSS 14 Truncated encoding.
codeRSSExpanded | RSS Expanded encoding.
codeRSSExpandedStacked | RSS Expanded Stacked encoding.
codeRSSLimited | RSS Limited encoding.

For a codeDataMatrix code, the following settings are available: (default is codeAnyEncoding )
Value | Meaning
codeAnyEncoding | Automatically detect the encoding type.
codeNumeric | Numeric encoding. For codeDataMatrix code, spaces are also allowed.
codeAlpha | Alpha encoding.
codeAlphaNumericPunc | AlphaNumericPunc encoding.
codeAlphaNumeric | AlphaNumeric encoding.
codeASCII | ASCII encoding.
codeIS08 | IS08 encoding.

For codeEAN8, codeEAN13, codeInterleave25, codePharmaCode, codePlanet, codePostnet, codeUPCA, and codeUPCE codes, the following setting is available:
Value | Meaning
codeNumeric | Numeric encoding.

For a codeMaxicode code, the following settings are available: (default is codeAnyEncoding )
Value | Meaning
codeAnyEncoding | Automatically detect the encoding type.
codeMode2 | Encoding mode 2.
codeMode3 | Encoding mode 3.
codeMode4 | Encoding mode 4.
codeMode5 | Encoding mode 5.
codeMode6 | Encoding mode 6.

For a codeQRCode code, the following settings are available: (default is codeAnyEncoding)
Value | Meaning
codeAnyEncoding | Automatically detect the encoding type.
codeQRCodeModel1 | QR code Model 1 encoding.
codeQRCodeModel2 | QR code Model 2 encoding.
Remark
  • You must set this property when reading a Code 39 code type.
[]
Example
This example shows how to set the EncodingType property.

// Set the CodeType and Image properties and Allocate the Code control
m_Code1->Free();
m_Code1->CodeType = codeMaxicode;
m_Code1->EncodingType = codeAnyEncoding;
m_Code1->Allocate();


Code.ErrorCorrectionType Property

ErrorCorrectionType property

Availability | MIL Equivalent | EncodingType | EscapeSequence
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeControl(
ControlType =
M_ERROR_CORRECTION
)

McodeInquire(
ControlType =
M_ERROR_CORRECTION
)
Code
ErrorCorrectionType
Synopsis
Returns or sets the type of error correction.
[]
Syntax
object.ErrorCorrectionType [= CodeErrorCorrectionTypeConstants]
[]
Syntax
object->ErrorCorrectionType [= enum CodeErrorCorrectionTypeConstants]
Type description
A CodeErrorCorrectionTypeConstants expression that specifies the type of error correction for a given code type.

For codeBC412, codeCodabar, or codePharmaCode codes, the following setting is available:
Value | Meaning
codeNoErrorCorrection | No error correction.

For codeCode39 or codeInterleave25 codes, the following settings are available:
Value | Meaning
codeNoErrorCorrection | No error correction.
codeCheckDigit | Check-digit error correction.

For codeCode93, codeCode128, codeEAN8, codeEAN13, codePlanet, codePostnet, codeRSSCode, codeUPCA, or codeUPCE codes, the following setting is available:
Value | Meaning
codeCheckDigit | Check-digit error correction.

For a codeCompositeCode code, the following setting is available:
Value | Meaning
codeComposite | Composite code error correction.

For a codeDataMatrix code, the following settings are available:
Value | Meaning
codeNoErrorCorrection | No error correction.
codeAnyErrorCorrection | Automatically detect the error correction type.
codeEcc10 | 10 error correction.
codeEcc40 | 40 error correction.
codeEcc50 | 50 error correction.
codeEcc60 | 60 error correction.
codeEcc70 | 70 error correction.
codeEcc80 | 80 error correction.
codeEcc90 | 90 error correction.
codeEcc100 | 100 error correction.
codeEcc110 | 110 error correction.
codeEcc120 | 120 error correction.
codeEcc130 | 130 error correction.
codeEcc140 | 140 error correction.
codeEcc200 | 200 error correction.

For codeMaxicode or a codeMicroPDF417 codes, the following setting is available:
Value | Meaning
codeReedSolomon | Reed Solomon error correction.

For a codeQRCode code, the following settings are available:
Value | Meaning
codeAnyErrorCorrection | Automatically detect the error correction type.
codeEccH | Highest-level QR code error correction.
codeEccL | Lowest-level QR code error correction.
codeEccM | Low-level QR code error correction.
codeEccQ | High-level QR code error correction.

For a codePDF417 code, the following settings are available:
Value | Meaning
codeAnyErrorCorrection | Automatically detect the error correction type.
codeReedSolomon0 | Reed Solomon0 error correction.
codeReedSolomon1 | Reed Solomon1 error correction.
codeReedSolomon2 | Reed Solomon2 error correction.
codeReedSolomon3 | Reed Solomon3 error correction.
codeReedSolomon4 | Reed Solomon4 error correction.
codeReedSolomon5 | Reed Solomon5 error correction.
codeReedSolomon6 | Reed Solomon6 error correction.
codeReedSolomon7 | Reed Solomon7 error correction.
codeReedSolomon8 | Reed Solomon8 error correction.


Code.EscapeSequence Property

EscapeSequence property

See Also | Availability | MIL Equivalent | ErrorCorrectionType | ForegroundPixelValue
Reference:
Code.EncodingType
Code.WriteCode
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeWrite(
ControlFlag =
M_ESCAPE_SEQUENCE
)

McodeGetResult(
ResultType =
M_ESCAPE_SEQUENCE
)
Code
EscapeSequence
Synopsis
Returns or sets whether non-printable characters are represented in hexadecimal notation.
[]
Syntax
object.EscapeSequence [= Boolean]
[]
Syntax
object->EscapeSequence [= VARIANT_BOOL]
Type description
A boolean value that specifies whether non-printable characters are represented in \x00 (hexadecimal) notation. (default is False)
Value | Meaning
True | Non-printable characters are represented in \x00 (hexadecimal) notation.
False | Non-printable characters are not represented in \x00 (hexadecimal) notation.
Remarks
  • When this parameter is set to True, the string will be encoded using \x00 (hexadecimal) notation for all non-printable characters.
  • When setting this parameter, you must use a code type that supports all ASCII characters, and select the appropriate encoding scheme if the code type supports several.
  • The ASCII code for non-printable characters in the string to encode must be in hexadecimal format and be preceded by \x. For example, use \x0D for ASCII 13, which is the carriage return.
  • If you want to encode the "\" character in escape sequence mode, type "\\".
  • This property affects the following properties and methods of the Code control:
    • The string passed in the CalculateCodeSize method;
    • The string passed in the WriteCode method;
    • The Results.DecodedStringSize property;
    • The Results.DecodedString property;
    • The Results.Get method when getting codeDecodedString and codeDecodedStringSize.
[]
Example
This example shows how to set the EscapeSequence property.

m_Code->EscapeSequence = TRUE;
m_Code->Image = m_LoadedImage;
m_Code->Allocate();


Code.ForegroundPixelValue Property

ForegroundPixelValue property

Availability | MIL Equivalent | EscapeSequence | ImageThreshold
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeControl(
ControlType =
M_FOREGROUND_VALUE
)

McodeInquire(
ControlType =
M_FOREGROUND_VALUE
)
Code
ForegroundPixelValue
Synopsis
Returns or sets the color of the code.
[]
Syntax
object.ForegroundPixelValue [= CodeForegroundPixelValueConstants]
[]
Syntax
object->ForegroundPixelValue [= enum CodeForegroundPixelValueConstants]
Type description
A CodeForegroundPixelValueConstants expression that specifies the color. (default is codeForegroundBlack)
Value | Meaning
codeForegroundWhite | White.
codeForegroundBlack | Black.
[]
Example
This example shows how to set the ForegroundPixelValue property.

m_Code->Free();

m_Code->CodeType = m_Code1->CodeType;
m_Code->EncodingType = m_Code1->Results->EncodingType;
m_Code->ErrorCorrectionType = m_Code1->Results->ErrorCorrectionType;
m_Code->ForegroundPixelValue = m_Code1->ForegroundPixelValue;


Code.Image Property

Image property

See Also | Availability | MIL Equivalent | ImageThreshold | ImageName
Reference:
Image
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeWrite(ImageBufId)

McodeRead(ImageBufId)
Code
Image
Synopsis
Returns or sets the source image of a read operation or the destination image of a write operation.
[]
Syntax
object.Image [= Image]
[]
Syntax
object->Image [= IImagePtr]
Type description
An Image control that specifies the source image.
Remarks
  • The Code control supports unsigned 8-bit grayscale images only.
  • The image must have its CanProcess property set to True.
  • []
     Use the Visual Basic Is Nothing statement to confirm that this property is currently not associated with a control.
  • []
     To remove the reference to the current control without assigning a new control, set the property to Nothing.
  • []
     To remove the reference to the current control without assigning a new control, set the property to NULL.
  • The image can also be specified, with the name assigned to its control, using the ImageName property.
  • This property automatically sets the ImageName property.
[]
Example
This example shows how to set the Image property.

m_Code1->Image = m_MaxicodeImage;
m_Code1->WriteCode(static_cast<_bstr_t>(DecodedString));


Code.ImageName Property

ImageName property

See Also | Availability | MIL Equivalent | Image | IsAllocated
Reference:
Image
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeWrite(ImageBufId)

McodeRead(ImageBufId)
Code
ImageName
Synopsis
Returns or sets the name of the source image of a read operation or the destination image of a write operation.
[]
Syntax
object.ImageName [= String]
[]
Syntax
object->ImageName [= _bstr_t]
Type description
A string expression that specifies the name of the Image control to use as the source image.
Remarks
  • The Code control supports unsigned 8-bit grayscale images only.
  • The image must have its CanProcess property set to True
  • To remove the reference to the current control without assigning a new control, specify an empty string ("").
  • The target image can also be specified using the Image property.
  • This property automatically sets the Image property.


Code.ImageThreshold Property

ImageThreshold property

See Also | Availability | MIL Equivalent | ForegroundPixelValue | Image
Reference:
Code.Results.ImageThreshold
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeControl(
ControlType =
M_THRESHOLD
)

McodeInquire(
ControlType =
M_THRESHOLD
)
Code
ImageThreshold
Synopsis
Returns or sets the threshold value used to internally binarize the source image of a read operation.
[]
Syntax
object.ImageThreshold [= Integer]
[]
Syntax
object->ImageThreshold [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value or an ActiveMILDefaultConstants expression that specifies the threshold value. (default is amilDefault)
Value | Meaning
amilDefault | Resets the property to the default value. The threshold value is chosen automatically from the source image's histogram (the two highest peaks in the histogram are located and the threshold value is set to the minimum value between these peaks).
value | Specifies the threshold value.
Remark
  • Note that if the background is both darker and lighter than the code, a simple binarization will not separate the code from the background. In this case, you should process the image before calling the Read Method so that the background is either darker or lighter than the code.
[]
Example
This example shows how to set the ImageThreshold property.

m_Code->Speed = codeMedium;
m_Code->ImageThreshold = amilDefault;
m_Code->TargetStringLength = codeAny;


Code.IsAllocated Property

IsAllocated property

See Also | Availability | MIL Equivalent | ImageName | MilID
User Guide:
Allocation of resources

Reference:
Code.Allocate
Code.Free
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Code
IsAllocated
Synopsis
Returns whether the resources of the Code control are allocated.
[]
Syntax
[Boolean =] object.IsAllocated
[]
Syntax
[VARIANT_BOOL =] object->IsAllocated
Type description
A boolean value that specifies whether the resources of the control are allocated.
Value | Meaning
True | The resources of the control are allocated.
False | The resources of the control are not allocated.
[]
Example
This example shows how to use the IsAllocated property.

If Code1.IsAllocated Then
    Code1.Free()
End If
[]
Example
This example shows how to use the IsAllocated property.

if (m_Code1->IsAllocated)
   m_Code1->Free();


Code.MilID Property

MilID property

See Also | Availability | MIL Equivalent | IsAllocated | Name
User Guide:
Integrating MIL functions with your ActiveMIL code

Reference:
Code.IsAllocated
Code.Modified
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeAlloc(CodeIdPtr)
Code
MilID
Synopsis
Returns the Native MIL identifier of the allocated resources of the Code control.
[]
Syntax
[Integer =] object.MilID
[]
Syntax
[long =] object->MilID
Type description
A long value that specifies the control's Native MIL identifier.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • The control's Modified method should be called after making Native MIL call(s) on the returned identifier.
  • If the control's IsAllocated property is False, the MilID will be 0.


Code.Name Property

Name property

Availability | MIL Equivalent | MilID | OwnerSystem
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Code
Name
Synopsis
Returns or sets the name used in code to identify the Code control.
[]
Syntax
object.Name [= String]
[]
Syntax
object->Name [= _bstr_t]
Type description
A string expression that specifies the name of the Code control.
Remarks
  • This property cannot be set at run-time.
  • The default name for a new control is the type of control plus a unique integer. For example, the first new Code control you create on a form is named Code1 and the second Code control will be named Code2.
  • A control's Name property must start with a letter and can be a maximum of 40 characters. It can include numbers and underscore (_) characters but cannot include punctuation or spaces. Although the Name property setting can be a keyword, property name, or the name of another object, it can create conflicts in your code.


Code.OwnerSystem Property

OwnerSystem property

See Also | Availability | MIL Equivalent | Name | OwnerSystemName
User Guide:
Owner system

Reference:
System
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeAlloc(SystemId)
Code
OwnerSystem
Synopsis
Returns or sets the system on which the resources of the Code control are allocated.
[]
Syntax
object.OwnerSystem [= System]
[]
Syntax
object->OwnerSystem [= ISystemPtr]
Type description
A System control that specifies the system to set as the owner (parent) of the Code control.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The owner system can also be specified, with the name assigned to its control, using the OwnerSystemName property.
  • This property automatically sets the OwnerSystemName property.


Code.OwnerSystemName Property

OwnerSystemName property

See Also | Availability | MIL Equivalent | OwnerSystem | PropertyValidation
User Guide:
Owner system

Reference:
System
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeAlloc(SystemId)
Code
OwnerSystemName
Synopsis
Returns or sets the name of the System control representing the system on which the resources of the Code control are allocated.
[]
Syntax
object.OwnerSystemName [= String]
[]
Syntax
object->OwnerSystemName [= _bstr_t]
Type description
A string expression that specifies the name of the System control to set as the owner (parent) of the Code control.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The owner system can also be specified using the OwnerSystem property.
  • This property automatically sets the OwnerSystem property.


Code.PropertyValidation Property

PropertyValidation property

See Also | Availability | MIL Equivalent | OwnerSystemName | Results
User Guide:
Error reporting
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Code
PropertyValidation
Synopsis
Returns or sets whether the properties of the Code control are dynamically validated.
[]
Syntax
object.PropertyValidation [= Boolean]
[]
Syntax
object->PropertyValidation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the property validation mode.
Value | Meaning
True | The control's properties will be dynamically validated. Errors will be generated during the design process.
False | The control's properties will not be dynamically validated. Errors will only be generated at run-time.
Remarks
  • At run-time, this property is read-only and is always set to True.
  • When set to True and if one of the control's properties is not properly set, then the control is outlined in red. The Error page of the control's property pages describes the specific error.


Code.Results Property

Results property

Availability | MIL Equivalent | PropertyValidation | ScanlineHeight
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult()
Code
Results
Properties: DecodedString, DecodedStringSize, EncodingType, ErrorCorrectionType, GridAngle, GridCellSize, ImageThreshold, NumberOfCellsX, NumberOfCellsY, Score, Status, VerificationGrade

Methods: Get, GetMultiple
Synopsis
Allows you to obtain results from the last read or write operation.
[]
Syntax
[CodeResults =] object.Results
[]
Syntax
[ICodeResultsPtr =] object->Results
Type description
A CodeResults object.
[]
Example
This example shows how to use the Results property.

CString DecodedString =
   static_cast<LPCTSTR> (m_Code1->Results->DecodedString);

CodeEncodingTypeConstants EncodingType = m_Code1->Results->EncodingType;


Code.Results.DecodedString Property

DecodedString property

See Also | Availability | MIL Equivalent | DecodedStringSize
Reference:
Code.Results.DecodedStringSize
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult(
ResultType =
M_STRING
)
Code
Results
DecodedString
Synopsis
Returns the decoded string of a read operation.
[]
Syntax
[String =] object.DecodedString
[]
Syntax
[_bstr_t =] object->DecodedString
Type description
A string expression that returns the decoded string.
Remark
  • The setting of the EscapeSequence property affects the results of this property.
[]
Example
This example shows how to use the DecodedString property.

CString DecodedString =
   static_cast<LPCTSTR> (m_Code1->Results->DecodedString);

CodeEncodingTypeConstants EncodingType = m_Code1->Results->EncodingType;


Code.Results.DecodedStringSize Property

DecodedStringSize property

See Also | Availability | MIL Equivalent | DecodedString | EncodingType
Reference:
Code.Results.DecodedString
Code.TargetStringLength
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult(
ResultType =
M_STRING_SIZE
)
Code
Results
DecodedStringSize
Synopsis
Returns the length of the decoded string of a read operation.
[]
Syntax
[Integer =] object.DecodedStringSize
[]
Syntax
[long =] object->DecodedStringSize
Type description
A long value that returns the length of the decoded string.
Remark
  • The setting of the EscapeSequence property affects the results of this property.


Code.Results.EncodingType Property

EncodingType property

See Also | Availability | MIL Equivalent | DecodedStringSize | ErrorCorrectionType
Reference:
Code.EncodingType
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult(
ResultType =
M_ENCODING
)
Code
Results
EncodingType
Synopsis
Returns the encoding type of the code that was read.
[]
Syntax
[CodeEncodingTypeConstants =] object.EncodingType
[]
Syntax
[enum CodeEncodingTypeConstants =] object->EncodingType
Type description
A CodeEncodingTypeConstants expression that specifies the encoding type.
Value | Meaning
codeNumeric | Numeric encoding.
codeAlpha | Alpha encoding.
codeAlphaNumericPunc | AlphaNumericPunc encoding.
codeAlphaNumeric | AlphaNumeric encoding.
codeASCII | ASCII encoding.
codeIS08 | IS08 encoding.
codeStandardEncoding | Standard encoding type.
codeUnknownEncoding | Unknown encoding type.
codeMode2 | Encoding mode 2.
codeMode3 | Encoding mode 3.
codeMode4 | Encoding mode 4.
codeMode5 | Encoding mode 5.
codeMode6 | Encoding mode 6.
Remark
  • To determine which EncodingType constants are supported for your code type, see the EncodingType property.
[]
Example
This example shows how to use the EncodingType property.

CString DecodedString =
   static_cast<LPCTSTR> (m_Code1->Results->DecodedString);

CodeEncodingTypeConstants EncodingType = m_Code1->Results->EncodingType;


Code.Results.ErrorCorrectionType Property

ErrorCorrectionType property

See Also | Availability | MIL Equivalent | EncodingType | GridAngle
Reference:
Code.ErrorCorrectionType
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult(
ResultType =
M_ERROR_CORRECTION
)
Code
Results
ErrorCorrectionType
Synopsis
Returns the error correction type of the code that was read.
[]
Syntax
[CodeErrorCorrectionTypeConstants =] object.ErrorCorrectionType
[]
Syntax
[enum CodeErrorCorrectionTypeConstants =] object->ErrorCorrectionType
Type description
A CodeErrorCorrectionTypeConstants expression that specifies the error correction type.
Value | Meaning
codeNoErrorCorrection | No error correction.
codeUnknownErrorCorrection | Unknown error correction.
codeEcc10 | 10 error correction.
codeEcc40 | 40 error correction.
codeEcc50 | 050 error correction.
codeEcc60 | 60 error correction.
codeEcc70 | 70 error correction.
codeEcc80 | 080 error correction.
codeEcc90 | 90 error correction.
codeEcc100 | 100 error correction.
codeEcc110 | 110 error correction.
codeEcc120 | 120 error correction.
codeEcc130 | 130 error correction.
codeEcc140 | 140 error correction.
codeEcc200 | 200 error correction.
codeCheckDigit | Check-digit error correction.
codeReedSolomon | Reed Solomon error correction.
codeReedSolomon1 | Reed Solomon1 error correction.
codeReedSolomon2 | Reed Solomon2 error correction.
codeReedSolomon3 | Reed Solomon3 error correction.
codeReedSolomon4 | Reed Solomon4 error correction.
codeReedSolomon5 | Reed Solomon5 error correction.
codeReedSolomon6 | Reed Solomon6 error correction.
codeReedSolomon7 | Reed Solomon7 error correction.
codeReedSolomon8 | Reed Solomon8 error correction.


Code.Results.GridAngle Property

GridAngle property

See Also | Availability | MIL Equivalent | ErrorCorrectionType | GridCellSize
Reference:
Code.TargetGrid.SearchAngle
Code.TargetGrid.SearchAngleDeltaNegative
Code.TargetGrid.SearchAngleDeltaPositive
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult(
ResultType =
M_ANGLE
)
Code
Results
GridAngle
Synopsis
Returns the angle at which the code was read.
[]
Syntax
[Double =] object.GridAngle
[]
Syntax
[double =] object->GridAngle
Type description
A double value that returns the angle.


Code.Results.GridCellSize Property

GridCellSize property

See Also | Availability | MIL Equivalent | GridAngle | ImageThreshold
Reference:
Code.TargetGrid.MaximumCellSize
Code.TargetGrid.MinimumCellSize
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult(
ResultType =
M_CELL_SIZE,
)
Code
Results
GridCellSize
Synopsis
Returns the cell size of the code that was read.
[]
Syntax
[Double =] object.GridCellSize
[]
Syntax
[double =] object->GridCellSize
Type description
A double value that returns the cell size.


Code.Results.ImageThreshold Property

ImageThreshold property

See Also | Availability | MIL Equivalent | GridCellSize | NumberOfCellsX
Reference:
Code.ImageThreshold
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult(
ResultType =
M_THRESHOLD
)
Code
Results
ImageThreshold
Synopsis
Returns the threshold value that used to internally binarize the source image following a read operation.
[]
Syntax
[Integer =] object.ImageThreshold
[]
Syntax
[long =] object->ImageThreshold
Type description
A long value that specifies the threshold value.


Code.Results.NumberOfCellsX Property

NumberOfCellsX property

See Also | Availability | MIL Equivalent | ImageThreshold | NumberOfCellsY
Reference:
Code.Results.NumberOfCellsY
Code.TargetGrid.NumberOfCellsX
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult(
ResultType =
M_CELL_NUMBER_X
)
Code
Results
NumberOfCellsX
Synopsis
Returns the number of cells in the X-direction of a 2D code that was read.
[]
Syntax
[Integer =] object.NumberOfCellsX
[]
Syntax
[long =] object->NumberOfCellsX
Type description
A long value that returns the number of cells in the X-direction.
[]
Example
This example shows how to use the NumberOfCellsX property.

long NumberOfCellsX;
long NumberOfCellsY;

NumberOfCellsX = m_Code->Results->NumberOfCellsX;
NumberOfCellsY = m_Code->Results->NumberOfCellsY;


Code.Results.NumberOfCellsY Property

NumberOfCellsY property

See Also | Availability | MIL Equivalent | NumberOfCellsX | Score
Reference:
Code.Results.NumberOfCellsX
Code.TargetGrid.NumberOfCellsY
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult(
ResultType =
M_CELL_NUMBER_Y
)
Code
Results
NumberOfCellsY
Synopsis
Returns the number of cells in the Y-direction of a 2D code that was read.
[]
Syntax
[Integer =] object.NumberOfCellsY
[]
Syntax
[long =] object->NumberOfCellsY
Type description
A long value that returns the number of cells in the Y-direction.
[]
Example
This example shows how to use the NumberOfCellsY property.

long NumberOfCellsX;
long NumberOfCellsY;

NumberOfCellsX = m_Code->Results->NumberOfCellsX;
NumberOfCellsY = m_Code->Results->NumberOfCellsY;


Code.Results.Score Property

Score property

See Also | Availability | MIL Equivalent | NumberOfCellsY | Status
Reference:
Code.Results
Code.Results.DecodedString
Code.Results.DecodedStringSize
Code.Results.EncodingType
Code.Results.ErrorCorrectionType
Code.Results.GridAngle
Code.Results.GridCellSize
Code.Results.NumberOfCellsX
Code.Results.NumberOfCellsY
Code.Results.Status
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult(
ResultType =
M_SCORE
)
Code
Results
Score
Synopsis
Returns the confidence score of a read operation.
[]
Syntax
[Double =] object.Score
[]
Syntax
[double =] object->Score
Type description
A double value that returns the confidence score.


Code.Results.Status Property

Status property

See Also | Availability | MIL Equivalent | Score | VerificationGrade
Reference:
Code.Results
Code.Results.DecodedString
Code.Results.DecodedStringSize
Code.Results.EncodingType
Code.Results.ErrorCorrectionType
Code.Results.GridAngle
Code.Results.GridCellSize
Code.Results.NumberOfCellsX
Code.Results.NumberOfCellsY
Code.Results.Score
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult(
ResultType =
M_STATUS
)
Code
Results
Status
Synopsis
Returns the status of a read, write, or verify operation.
[]
Syntax
[CodeStatusConstants =] object.Status
[]
Syntax
[enum CodeStatusConstants =] object->Status
Type description
A CodeStatusConstants expression that specifies the status of the operation.

For a read operation, possible status results are:
Value | Meaning
codeCRCFailed | Cyclic redundancy check failed.
codeNoResultAvailable | No results available.
codeReadOK | Read operation was successful.
codeStatusNotFound | Code was not found.
codeUnknownErrorCorrection | Unknown error correction type.
codeUnknownEncoding | Unknown encoding type.

For a write operation, possible status results are:
Value | Meaning
codeNoResultAvailable | No results available.
codeWriteFailed | Write operation failed.
codeWriteOK | Write operation was successful.

For a verify operation, possible status results are:
Value | Meaning
codeNoResultAvailable | No results available.
codeVerifyFailed | Code verify failed.
codeVerifyOK | Code status was verified.
[]
Example
This example shows how to check the Status property.

// Draw the decoded strings in the target image if the
// status is set to codeOK
if (m_Code39->Results->Status == codeOK)
   {
   m_GraphicContextCode39->Text("Decoded string:");

   long NewOffsetY = LINE_HEIGHT +
                     m_GraphicContextCode39->DrawingRegion->OffsetY;

   m_GraphicContextCode39->DrawingRegion->OffsetY = NewOffsetY;

   m_GraphicContextCode39->Text("\"" + m_Code39->Results->DecodedString + "\"");
   }


Code.Results.VerificationGrade Property

VerificationGrade property

Availability | MIL Equivalent | Status | Get
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Code
Results
VerificationGrade
Properties: AxialNonUniformity, Decodability, Decode, Defects, EdgeDetermination, MinimumEdgeContrast, MinimumReflectance, Modulation, OverallSymbol, PrintGrowth, Rap, StartStopPattern, SymbolBased, SymbolContrast, UnusedErrorCorrection
Synopsis
Allows you to determine the grades for different aspects of the code.
[]
Syntax
[CodeVerificationGrade =] object.VerificationGrade
[]
Syntax
[ICodeVerificationGradePtr =] object->VerificationGrade
Type description
A CodeVerificationGrade object.


Code.Results.VerificationGrade.AxialNonUniformity Property

AxialNonUniformity property

See Also | Availability | MIL Equivalent | Decodability
User Guide:
Verifying your code
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult(
ResultType =
M_AXIAL_NONUNIFORMITY_GRADE
)
Code
Results
VerificationGrade
AxialNonUniformity
Synopsis
Returns the grade for the axial nonuniformity of the code that was verified.
[]
Syntax
[CodeGradeConstants =] object.AxialNonUniformity
[]
Syntax
[enum CodeGradeConstants =] object->AxialNonUniformity
Type description
A CodeGradeConstants expression that returns the grade for the axial nonuniformity of the code.
Value | Meaning
codeA | Returns the best grade for the result.
codeB | Returns a good grade for the result.
codeC | Returns a fair grade for the result.
codeD | Returns a poor grade for the result.
codeF | Returns the worst grade for the result.
codeGradeNotAvailable | Returns that the result is not available for the code.
Remarks
  • The axial nonuniformity is a measure of how spacing between sampling points differs from one axis to another (width to height).
  • This result is only available for codeDataMatrix, codeMaxicode, and codeQRCode code types.
  • This result is only available after a call to the VerifyCode method.


Code.Results.VerificationGrade.Decodability Property

Decodability property

Availability | MIL Equivalent | AxialNonUniformity | Decode
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult(
ResultType =
M_DECODABILITY_GRADE
)
Code
Results
VerificationGrade
Decodability
Synopsis
Returns the grade for the decodability of the code that was verified.
[]
Syntax
[CodeGradeConstants =] object.Decodability
[]
Syntax
[enum CodeGradeConstants =] object->Decodability
Type description
A CodeGradeConstants expression returns the grade for the decodability of the code.
Value | Meaning
codeA | Returns the best grade for the result.
codeB | Returns a good grade for the result.
codeC | Returns a fair grade for the result.
codeD | Returns a poor grade for the result.
codeF | Returns the worst grade for the result.
codeGradeNotAvailable | Returns that the result is not available for the code.
Remarks
  • Decodability is a measure of how close the scan reflectance profile is to decode failure.
  • The scan reflectance profile is a record of values measured along a line across the width of a bar code. There are nine values that affect the grade of the scan reflectance profile: decodability, decode, defects, edge determination, minimum edge contrast, minimum reflectance, modulation, start/stop pattern, and symbol contrast.
  • This result is available for all 1D barcodes, and the codeCompositeCode, codeRSSCode, and codePDF417 code types.
  • This result is only available after a call to the VerifyCode method.


Code.Results.VerificationGrade.Decode Property

Decode property

Availability | MIL Equivalent | Decodability | Defects
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult(
ResultType =
M_DECODE_GRADE
)
Code
Results
VerificationGrade
Decode
Synopsis
Returns the decode grade for the code that was verified.
[]
Syntax
[CodeGradeConstants =] object.Decode
[]
Syntax
[enum CodeGradeConstants =] object->Decode
Type description
A CodeGradeConstants expression that returns the decode grade.
Value | Meaning
codeA | Returns the best grade for the result.
codeB | Returns a good grade for the result.
codeC | Returns a fair grade for the result.
codeD | Returns a poor grade for the result.
codeF | Returns the worst grade for the result.
codeGradeNotAvailable | Returns that the result is not available for the code.
Remarks
  • The decode grade is a measure of how well the sequence of marks and spaces in a code can be decoded into a series of digits and guard patterns.
  • For codes other than 1D barcodes, only codeA, codeF, and codeGradeNotAvailable are available.
  • This result is only available after a call to the VerifyCode method.


Code.Results.VerificationGrade.Defects Property

Defects property

Availability | MIL Equivalent | Decode | EdgeDetermination
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult(
ResultType =
M_DEFECTS_GRADE
)
Code
Results
VerificationGrade
Defects
Synopsis
Returns the grade for the defects of the code that was verified.
[]
Syntax
[CodeGradeConstants =] object.Defects
[]
Syntax
[enum CodeGradeConstants =] object->Defects
Type description
A CodeGradeConstants expression that returns the grade of the defects of the code.
Value | Meaning
codeA | Returns the best grade for the result.
codeB | Returns a good grade for the result.
codeC | Returns a fair grade for the result.
codeD | Returns a poor grade for the result.
codeF | Returns the worst grade for the result.
codeGradeNotAvailable | Returns that the result is not available for the code.
Remarks
  • The more spots or voids in the code, the lower the grade.
  • This property is available for all 1D barcodes, and the codeRSSCode, codeCompositeCode, and codePDF417 code types.
  • This result is only available after a call to the VerifyCode method.


Code.Results.VerificationGrade.EdgeDetermination Property

EdgeDetermination property

Availability | MIL Equivalent | Defects | MinimumEdgeContrast
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult(
ResultType =
M_EDGE_DETERMINATION_GRADE
)
Code
Results
VerificationGrade
EdgeDetermination
Synopsis
Returns the grade for whether the verified code has an appropriate number of bars and spaces.
[]
Syntax
[CodeGradeConstants =] object.EdgeDetermination
[]
Syntax
[enum CodeGradeConstants =] object->EdgeDetermination
Type description
A CodeGradeConstants expression that returns the edge determination grade for the code.
Value | Meaning
codeA | Returns the best grade for the result.
codeB | Returns a good grade for the result.
codeC | Returns a fair grade for the result.
codeD | Returns a poor grade for the result.
codeF | Returns the worst grade for the result.
codeGradeNotAvailable | Returns that the result is not available for the code.
Remarks
  • This result is only available for all 1D barcodes, and codeCompositeCode, codeRSSCode, and PDF417 code types.
  • This result is only available after a call to the VerifyCode method.


Code.Results.VerificationGrade.MinimumEdgeContrast Property

MinimumEdgeContrast property

Availability | MIL Equivalent | EdgeDetermination | MinimumReflectance
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult(
ResultType =
M_MINIMUM_EDGE_CONTRAST_GRADE
)
Code
Results
VerificationGrade
MinimumEdgeContrast
Synopsis
Returns the grade for the minimum edge contrast of the code that was verified.
[]
Syntax
[CodeGradeConstants =] object.MinimumEdgeContrast
[]
Syntax
[enum CodeGradeConstants =] object->MinimumEdgeContrast
Type description
A CodeGradeConstants expression that returns the minimum edge contrast grade.
Value | Meaning
codeA | Returns the best grade for the result.
codeB | Returns a good grade for the result.
codeC | Returns a fair grade for the result.
codeD | Returns a poor grade for the result.
codeF | Returns the worst grade for the result.
codeGradeNotAvailable | Returns that the result is not available for the code.
Remarks
  • Minimum edge contrast is the minimum contrast between bars and their adjacent spaces.
  • The smallest difference allowed is 15 per cent.
  • This is available for all 1D barcodes, and the codeRSSCode, codeCompositeCode, and codePDF417 code types.
  • This result is only available after a call to the VerifyCode method.


Code.Results.VerificationGrade.MinimumReflectance Property

MinimumReflectance property

Availability | MIL Equivalent | MinimumEdgeContrast | Modulation
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult(
ResultType =
M_MINIMUM_REFLECTANCE_GRADE
)
Code
Results
VerificationGrade
MinimumReflectance
Synopsis
Returns the grade for the minimum reflectance of the code that was verified.
[]
Syntax
[CodeGradeConstants =] object.MinimumReflectance
[]
Syntax
[enum CodeGradeConstants =] object->MinimumReflectance
Type description
A CodeGradeConstants expression that returns the minimum reflectance grade.
Value | Meaning
codeA | Returns the best grade for the result.
codeB | Returns a good grade for the result.
codeC | Returns a fair grade for the result.
codeD | Returns a poor grade for the result.
codeF | Returns the worst grade for the result.
codeGradeNotAvailable | Returns that the result is not available for the code.
Remarks
  • The darkest bar of the code should have a reflectance of less than half of the background.
  • This is available for all 1D barcodes, and the codeRSSCode, codeCompositeCode, and codePDF417 code types.
  • This result is only available after a call to the VerifyCode method.


Code.Results.VerificationGrade.Modulation Property

Modulation property

Availability | MIL Equivalent | MinimumReflectance | OverallSymbol
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult(
ResultType =
M_MODULATION_GRADE
)
Code
Results
VerificationGrade
Modulation
Synopsis
Returns the grade for the modulation of the code that was verified.
[]
Syntax
[CodeGradeConstants =] object.Modulation
[]
Syntax
[enum CodeGradeConstants =] object->Modulation
Type description
A CodeGradeConstants expression that returns the grade for the modulation of the code.
Value | Meaning
codeA | Returns the best grade for the result.
codeB | Returns a good grade for the result.
codeC | Returns a fair grade for the result.
codeD | Returns a poor grade for the result.
codeF | Returns the worst grade for the result.
codeGradeNotAvailable | Returns that the result is not available for the code.
Remarks
  • Modulation is the edge contrast as a proportion of symbol contrast.
  • A higher grade means less chance of a poor reading.
  • This result is available for all 1D barcodes, and the codeRSSCode, codeCompositeCode, and codePDF417 code types.
  • This result is only available after a call to the VerifyCode method.


Code.Results.VerificationGrade.OverallSymbol Property

OverallSymbol property

Availability | MIL Equivalent | Modulation | PrintGrowth
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult(
ResultType =
M_OVERALL_SYMBOL_GRADE
)
Code
Results
VerificationGrade
OverallSymbol
Synopsis
Returns the worst grade obtained for the results of a verify operation of the code.
[]
Syntax
[CodeGradeConstants =] object.OverallSymbol
[]
Syntax
[enum CodeGradeConstants =] object->OverallSymbol
Type description
A CodeGradeConstants expression that returns the worst grade of the code.
Value | Meaning
codeA | Returns the best grade for the result.
codeB | Returns a good grade for the result.
codeC | Returns a fair grade for the result.
codeD | Returns a poor grade for the result.
codeF | Returns the worst grade for the result.
codeGradeNotAvailable | Returns that the result is not available for the code.
Remark
  • This result is only available after a call to the VerifyCode method.


Code.Results.VerificationGrade.PrintGrowth Property

PrintGrowth property

See Also | Availability | MIL Equivalent | OverallSymbol | Rap
User Guide:
Verifying your code
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult(
ResultType =
M_PRINT_GROWTH_GRADE
)
Code
Results
VerificationGrade
PrintGrowth
Synopsis
Returns the grade for the print growth of the code that was verified.
[]
Syntax
[CodeGradeConstants =] object.PrintGrowth
[]
Syntax
[enum CodeGradeConstants =] object->PrintGrowth
Type description
A CodeGradeConstants expression that returns the grade for the print growth.
Value | Meaning
codeA | Returns the best grade for the result.
codeB | Returns a good grade for the result.
codeC | Returns a fair grade for the result.
codeD | Returns a poor grade for the result.
codeF | Returns the worst grade for the result.
codeGradeNotAvailable | Returns that the result is not available for the code.
Remarks
  • This result is only available for codeDataMatrix, codeMaxicode, and codeQRCode code types.
  • This result is only available after a call to the VerifyCode method.


Code.Results.VerificationGrade.Rap Property

Rap property

See Also | Availability | MIL Equivalent | PrintGrowth | StartStopPattern
User Guide:
Verifying your code
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult(
ResultType =
M_RAP_GRADE
)
Code
Results
VerificationGrade
Rap
Synopsis
Returns the grade for the Row Address Pattern (RAP) of the code that was verified.
[]
Syntax
[CodeGradeConstants =] object.Rap
[]
Syntax
[enum CodeGradeConstants =] object->Rap
Type description
A CodeGradeConstants expression returns the grade for the RAP of the code.
Value | Meaning
codeA | Returns the best grade for the result.
codeB | Returns a good grade for the result.
codeC | Returns a fair grade for the result.
codeD | Returns a poor grade for the result.
codeF | Returns the worst grade for the result.
codeGradeNotAvailable | Returns that the result is not available for the code.
Remarks
  • This property verifies how close a scanned code's RAP stands to its ideal pattern.
  • This result is available for the codeCompositeCode and codeMicroPDF417 code types.
  • This result is only available after a call to the VerifyCode method.


Code.Results.VerificationGrade.StartStopPattern Property

StartStopPattern property

See Also | Availability | MIL Equivalent | Rap | SymbolBased
User Guide:
Verifying your code
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult(
ResultType =
M_START_STOP_PATTERN_GRADE
)
Code
Results
VerificationGrade
StartStopPattern
Synopsis
Returns the grade forthe start/stop patern of the code that was verified.
[]
Syntax
[CodeGradeConstants =] object.StartStopPattern
[]
Syntax
[enum CodeGradeConstants =] object->StartStopPattern
Type description
A CodeGradeConstants expression that returns the grade for the code's start/stop pattern.
Value | Meaning
codeA | Returns the best grade for the result.
codeB | Returns a good grade for the result.
codeC | Returns a fair grade for the result.
codeD | Returns a poor grade for the result.
codeF | Returns the worst grade for the result.
codeGradeNotAvailable | Returns that the result is not available for the code.
Remarks
  • The start/stop pattern is a set pattern that marks the end points of the code.
  • This result is available for the codeCompositeCode and PDF417 code types.
  • This result is only available after a call to the VerifyCode method.


Code.Results.VerificationGrade.SymbolBased Property

SymbolBased property

See Also | Availability | MIL Equivalent | StartStopPattern | SymbolContrast
User Guide:
Verifying your code
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeResult(
ResultType =
M_SYMBOL_BASED_GRADE
)
Code
Results
VerificationGrade
SymbolBased
Synopsis
Returns the grade for the pattern of the code that was verified.
[]
Syntax
[CodeGradeConstants =] object.SymbolBased
[]
Syntax
[enum CodeGradeConstants =] object->SymbolBased
Type description
A CodeGradeConstants expression that returns the grade for the pattern of the code.
Value | Meaning
codeA | Returns the best grade for the result.
codeB | Returns a good grade for the result.
codeC | Returns a fair grade for the result.
codeD | Returns a poor grade for the result.
codeF | Returns the worst grade for the result.
codeGradeNotAvailable | Returns that the result is not available for the code.
Remarks
  • This grade is a measure of how close a scanned code's pattern stands to its ideal pattern.
  • This result is available for the codeCompositeCode, codeMicroPDF417, and codePDF417 code types.
  • This result is only available after a call to the VerifyCode method.


Code.Results.VerificationGrade.SymbolContrast Property

SymbolContrast property

See Also | Availability | MIL Equivalent | SymbolBased | UnusedErrorCorrection
User Guide:
Verifying your code
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult(
ResultType =
M_SYMBOL_CONTRAST_GRADE
)
Code
Results
VerificationGrade
SymbolContrast
Synopsis
Returns the grade for the symbol contrast of the code that was verified.
[]
Syntax
[CodeGradeConstants =] object.SymbolContrast
[]
Syntax
[enum CodeGradeConstants =] object->SymbolContrast
Type description
A CodeGradeConstants expression that returns the grade for the symbol contrast of the code.
Value | Meaning
codeA | Returns the best grade for the result.
codeB | Returns a good grade for the result.
codeC | Returns a fair grade for the result.
codeD | Returns a poor grade for the result.
codeF | Returns the worst grade for the result.
codeGradeNotAvailable | Returns that the result is not available for the code.
Remarks
  • This result is available for all codes except the codeMicroPDF417 code type.
  • This result is only available after a call to the VerifyCode method.


Code.Results.VerificationGrade.UnusedErrorCorrection Property

UnusedErrorCorrection property

See Also | Availability | MIL Equivalent | SymbolContrast
User Guide:
Verifying your code
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult(
ResultType =
M_UNUSED_ERROR_CORRECTION_GRADE
)
Code
Results
VerificationGrade
UnusedErrorCorrection
Synopsis
Returns the grade for the error correction information in the code that was verified.
[]
Syntax
[CodeGradeConstants =] object.UnusedErrorCorrection
[]
Syntax
[enum CodeGradeConstants =] object->UnusedErrorCorrection
Type description
A CodeGradeConstants expression that returns the grade for the error correction.
Value | Meaning
codeA | Returns the best grade for the result.
codeB | Returns a good grade for the result.
codeC | Returns a fair grade for the result.
codeD | Returns a poor grade for the result.
codeF | Returns the worst grade for the result.
codeGradeNotAvailable | Returns that the result is not available for the code.
Remarks
  • This grade is the extent to which regional or spot damage in the code has eroded the reading safety margin that error correction provides.
  • This result is available for the codeDatamatrix, codeMaxicode, and codeQRCode code types.
  • This result is only available after a call to the VerifyCode method.


Code.Results.Get Method

Get method

Availability | MIL Equivalent | VerificationGrade | GetMultiple
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult()
Code
Results
Get
Synopsis
Copies a result from the last read, write, or verify operation.
[]
Syntax
object.Get(
ByVal ResultType As CodeResultTypeConstants,
ByVal Value As Object
)
[]
Syntax
void object->Get(
enum CodeResultTypeConstants ResultType,
VARIANT * Value
)
ResultType
A CodeResultTypeConstants expression that specifies the type of result to copy.
Value | Meaning
codeAxialNonUniformityGrade | The grade for the axial nonuniformity of the code.
codeDecodabilityGrade | The grade for the decodability of the code.
codeDecodedString | The decoded string of the read operation.
codeDecodedStringSize | The length of the decoded string of the read operation.
codeDecodedStringSizeWithEscapeSequence | The length of the decoded string of the read operation, including all ASCII characters used to encode the non-printing characters.
codeDecodedStringWithEscapeSequence | The decoded string of the read operation, in a special format that puts the ASCII codes for non-printing characters in a \xNN format, where NN is the hexadecimal value of the ASCII code for the character.
codeDecodeGrade | The decode grade of the code.
codeDefectsGrade | The grade for the defects of the code.
codeEdgeDeterminationGrade | The grade for the whether the code has an appropriate number of bars and spaces.
codeEncodingType | The encoding type of the code that was read.
codeErrorCorrectionType | The error correction type of the code that was read.
codeGridAngle | The angle at which the code was read.
codeGridCellSize | The cell size of the code that was read.
codeImageThreshold | The threshold value used to internally binarize the source image of a read operation.
codeMinimumEdgeContrastGrade | The grade for the minimum edge contrast of the code.
codeMinimumReflectanceGrade | The grade for the minimum reflectance of the code.
codeModulationGrade | The grade for the edge contrast as a proportion of code contrast.
codeNumberOfCellsX | The number of cells in the X-direction of the DataMatrix code that was read.
codeNumberOfCellsY | The number of cells in the Y-direction of the DataMatrix code that was read.
codeOverallSymbolGrade | The worst grade obtained for the results of the code.
codePrintGrowthGrade | The grade for the print growth of the code.
codeRapGrade | The grade for the Row Address Patterns of the code.
codeScore | The confidence score of the read operation.
codeStatus | The status of the read or write operation.
codeStartStopPatternGrade | The grade for the start/stop pattern of the code.
codeSymbolBasedGrade | The grade for the code's pattern.
codeSymbolContrastGrade | The grade for the code contrast.
codeUnusedErrorCorrectionGrade | The grade for the error correction information in the code.
codeWriteMinimumSizeX | The minimum width required for the destination image of a write operation.
codeWriteMinimumSizeY | The minimum height required for the destination image of a write operation.
Value
A variantobjectvariant (object for Visual Basic .Net) value in which to copy the specified result.
Remarks
  • The setting of the EscapeSequence property affects the results when passing codeDecodedString or codeDecodedStringSize to this method.
  • These results are available after calling the ReadCode, VerifyCode, or WriteCode methods.


Code.Results.GetMultiple Method

GetMultiple method

Availability | MIL Equivalent | Get
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult(M_NULL)

McodeGetResult(UserArray)
Code
Results
GetMultiple
Synopsis
Returns the results of the specified types, to a user array.
[]
Syntax
object.GetMultiple(
ByVal ResultTypeArray As Array,
ByVal UserArray As Array
)
[]
Syntax
void object->GetMultiple(
VARIANT * ResultTypeArray,
VARIANT * UserArray
)
ResultTypeArray
An array of CodeResultTypeConstants expressions that specifies the types of results to return to the user array.
Value | Meaning
codeAxialNonUniformityGrade | The grade for the axial nonuniformity of the code. The axial nonuniformity is a measure of how spacing between sampling points differs from one axis to another (width to height).
codeDecodabilityGrade | The grade for the decodability of the code. Decodability is a measure of how close the scan reflectance profile is to decode failure.
codeDecodedString | The decoded string of the read operation.
codeDecodedStringSize | The length of the decoded string of the read operation.
codeDecodedStringSizeWithEscapeSequence | The length of the decoded string of the read operation , including all ASCII characters used to encode the non-printing characters in the count.
codeDecodedStringWithEscapeSequence | The decoded string of the read operation, in a special format that puts the ASCII codes for non-printing characters in a \xNN format where NN is the hexadecimal value of the ASCII code for the unprintable character.
codeDecodeGrade | The grade of the decode.
codeDefectsGrade | The grade for the defects of the code.
codeEdgeDeterminationGrade | The grade for whether the code has an appropriate number of bars and spaces.
codeEncodingType | The encoding type of the code that was read.
codeErrorCorrectionType | The error correction type of the code that was read.
codeGridAngle | The angle at which the code was read.
codeGridCellSize | The cell size of the code that was read.
codeImageThreshold | The threshold value used to internally binarize the source image of a read operation.
codeMinimumEdgeContrastGrade | The grade for the minimum edge contrast of the code. Minimum edge contrast is the minimum contrast between bars and their adjacent spaces.
codeMinimumReflectanceGrade | The grade for the minimum reflectance of the code.
codeModulationGrade | The grade for the edge contrast as a proportion of code contrast.
codeNumberOfCellsX | The number of cells in the X-direction of the DataMatrix code that was read.
codeNumberOfCellsY | The number of cells in the Y-direction of the DataMatrix code that was read.
codeOverallSymbolGrade | The worst grade of the results for the code.
codePrintGrowthGrade | The grade for the print growth of the code. The print growth is the extent in which the boundaries of the black and white markings are within their module's boundaries.
codeRapGrade | The grade for the Row Address Patterns (RAP) of the code. This verifies how close a scanned code's RAP stands to its ideal pattern.
codeScore | The confidence score of the read operation.
codeStatus | The status of the read or write operation.
codeStartStopPatternGrade | The grade for the start/stop pattern of the code. The start/stop pattern is a set pattern that marks the end points of the code.
codeSymbolBasedGrade | The grade for the code's pattern. This grade is a measure of how close a scanned code's pattern stands to its ideal pattern.
codeSymbolContrastGrade | The grade for the code contrast.
codeUnusedErrorCorrectionGrade | The grade for the error correction in the code.
codeWriteMinimumSizeX | The minimum width required for the destination image of a write operation.
codeWriteMinimumSizeY | The minimum height required for the destination image of a write operation.

UserArray
An array of type double in which to write the specified results.

Remarks
  • The setting of the EscapeSequence property affects the results when passing codeDecodedString or codeDecodedStringSize to this method.
  • The scan reflectance profile is a record of values measured along a line across the width of a bar code (line profile). There are nine values that affect the grade of the scan reflectance profile: decodability, decode, defects, edge determination, minimum edge contrast, minimum reflectance, modulation, start/stop pattern, and symbol contrast.
  • Reflectance is the ratio of light which is reflected back from the white spaces of a bar code during scanning to the amount of light reflected under similar illumination conditions.
  • codeUnusedErrorCorrectionGrade tests the extent to which regional or spot damage in the code has eroded the reading safety margin that error correction provides.


Code.ScanlineHeight Property

ScanlineHeight property

See Also | Availability | MIL Equivalent | Results | ScanlineStep
User Guide:
Supported code types
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeControl(
ControlType =
M_SCANLINE_HEIGHT
)
Code
ScanlineHeight
Synopsis
Returns and sets the scanline height when reading scanline-based codes.
[]
Syntax
object.ScanlineHeight [= Integer]
[]
Syntax
object->ScanlineHeight [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value or an ActiveMILDefaultConstants expression that specifies the scanline height when reading scanline-based codes. (default is amilDefault)
Value | Meaning
amilDefault | Resets the property to the scanline height calculated using the value of the Speed property.
value | Specifies the scanline height, in pixels, where 0 < value <= 256
Remarks
  • The scanline is the line, taken across the image, where the Code control tries to read the code information. It is usually first taken across the middle of the image, and then, if the code is not found, it is taken either higher or lower in the image.
  • The scanline height is the thickness of the scanline.
  • This property only applies to 1D codes and codes with 1D components.
  • The reading speed will depend on the combination of the scanline height and the ScanlineStep properties. In general, the lower the value of this property, the faster the code will be read. If you increase the value of this property, the reading operation might be more robust when dealing with codes that are difficult to read.
  • Using the default value is recommended.


Code.ScanlineStep Property

ScanlineStep property

See Also | Availability | MIL Equivalent | ScanlineHeight | ScanReverse
User Guide:
Supported code types
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeControl(
ControlType =
M_SCANLINE_STEP
)
Code
ScanlineStep
Synopsis
Returns and sets the scanline frequency when reading scanline-based codes.
[]
Syntax
object.ScanlineStep [= Integer]
[]
Syntax
object->ScanlineStep [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value or an ActiveMILDefaultConstants expression that specifies the scanline frequency when reading scanline-based codes. (default is amilDefault)
Value | Meaning
amilDefault | Resets the property to the scanline frequency calculated using the value of the Speed property.
value | Specifies the scanline frequency, in pixels, where 1<value.
Remarks
  • The scanline is the line, taken across the image, where the Code control tries to read the code information. It is usually first taken across the middle of the image, and then, if the code is not found, it is taken either higher or lower in the image.
  • The scanline step is the gap between scanlines.
  • This property only applies to 1D codes and codes with 1D components.
  • The reading speed will depend on the combination of the ScanlineHeight and the scanline step properties. In general, the higher the value of this property, the faster the code will be read. The bigger the step, the more chance of missing a readable line of code.
  • Using the default value is recommended.


Code.ScanReverse Property

ScanReverse property

Availability | MIL Equivalent | ScanlineStep | SearchRegion
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeControl(
ControlType =
M_SCAN_REVERSE
)
Code
ScanReverse
Synopsis
Returns or sets the direction in which the barcode reader will scan the barcode.
[]
Syntax
object.ScanReverse [= Boolean]
[]
Syntax
object->ScanReverse [= VARIANT_BOOL]
Type description
A boolean expression that specifies the scanning direction of the barcode reader.
Value | Meaning
False | Specifies that the barcode reader will not scan the barcode right-to-left.
True | Specifies that the barcode reader will scan the barcode left-to-right and right-to-left.
Remark
  • This property is only valid for 1-D bar codes.


Code.SearchRegion Property

SearchRegion property

Availability | MIL Equivalent | ScanReverse | Speed
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Code
SearchRegion
Properties: CenterX, CenterY, EndX, EndY, FullSize, Mode, OffsetX, OffsetY, SizeX, SizeY, StartX, StartY
Synopsis
Allows you to specify the region of the image in which to search for the code.
[]
Syntax
[RegionOfInterest =] object.SearchRegion
[]
Syntax
[IRegionOfInterestPtr =] object->SearchRegion
Type description
A RegionOfInterest object.


Code.SearchRegion.CenterX Property

CenterX property

See Also | Availability | MIL Equivalent | CenterY
Reference:
Code.SearchRegion.CenterY
Code.SearchRegion.SizeX
Code.SearchRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Code
SearchRegion
CenterX
Synopsis
Returns or sets the X-coordinate of the center of the search region.
[]
Syntax
object.CenterX [= Integer]
[]
Syntax
object->CenterX [= long]
Type description
A long value that specifies the X-coordinate of the center point, relative to the top-left corner of the image.
Remarks
  • The center point, along with the size, define the search region.
  • The start point (offset) and end point will be modified as a result of moving the center point.


Code.SearchRegion.CenterY Property

CenterY property

See Also | Availability | MIL Equivalent | CenterX | EndX
Reference:
Code.SearchRegion.CenterX
Code.SearchRegion.SizeX
Code.SearchRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Code
SearchRegion
CenterY
Synopsis
Returns or sets the Y-coordinate of the center of the search region.
[]
Syntax
object.CenterY [= Integer]
[]
Syntax
object->CenterY [= long]
Type description
A long value that specifies the Y-coordinate of the center point, relative to the top-left corner of the image.
Remarks
  • The center point, along with the size, define the search region.
  • The start point (offset) and end point will be modified as a result of moving the center point.


Code.SearchRegion.EndX Property

EndX property

See Also | Availability | MIL Equivalent | CenterY | EndY
Reference:
Code.SearchRegion.EndY
Code.SearchRegion.StartX
Code.SearchRegion.StartY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Code
SearchRegion
EndX
Synopsis
Returns or sets the X-coordinate of the end point of the search region.
[]
Syntax
object.EndX [= Integer]
[]
Syntax
object->EndX [= long]
Type description
A long value that specifies the X-coordinate of the end point, relative to the top-left corner of the image.
Remarks
  • The start point (offset), along with the end point, define the search region.
  • The center point and the size will be modified as a result of moving the end point.


Code.SearchRegion.EndY Property

EndY property

See Also | Availability | MIL Equivalent | EndX | FullSize
Reference:
Code.SearchRegion.EndX
Code.SearchRegion.StartX
Code.SearchRegion.StartY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Code
SearchRegion
EndY
Synopsis
Returns or sets the Y coordinate of the end point of the search region.
[]
Syntax
object.EndY [= Integer]
[]
Syntax
object->EndY [= long]
Type description
A long value that specifies the Y-coordinate of the end point, relative to the top-left corner of the image.
Remarks
  • The start point (offset), along with the end point, define the search region.
  • The center point and the size will be modified as a result of moving the end point.


Code.SearchRegion.FullSize Property

FullSize property

Availability | MIL Equivalent | EndY | Mode
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Code
SearchRegion
FullSize
Synopsis
Returns or sets whether to search the entire image when performing a read operation.
[]
Syntax
object.FullSize [= Boolean]
[]
Syntax
object->FullSize [= VARIANT_BOOL]
Type description
A boolean value that specifies whether to search the entire image. (default is True)
Value | Meaning
True | Search the entire image.
False | Search only the region specified by the SearchRegion property.


Code.SearchRegion.Mode Property

Mode property

See Also | Availability | MIL Equivalent | FullSize | OffsetX
Reference:
Code.SearchRegion.OffsetX
Code.SearchRegion.OffsetY
Code.SearchRegion.SizeX
Code.SearchRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Code
SearchRegion
Mode
Synopsis
Returns or sets the mode of anchoring the RegionOfInterest.
[]
Syntax
object.Mode [= RoiModeConstants]
[]
Syntax
object->Mode [= enum RoiModeConstants]
Type description
A RoiModeConstants expression that specifies the mode of operation.
Value | Meaning
codeOffsetSize | The offset properties are anchored. This means that when the size changes, the offsets do not move; it is the center that is displaced accordingly.
codeCenterSize | The center properties are anchored. This means that when the size changes, the coordinates of the center do not move; it is the offsets that are displaced accordingly.


Code.SearchRegion.OffsetX Property

OffsetX property

See Also | Availability | MIL Equivalent | Mode | OffsetY
Reference:
Code.SearchRegion.OffsetY
Code.SearchRegion.SizeX
Code.SearchRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Code
SearchRegion
OffsetX
Synopsis
Returns or sets the horizontal offset of the search region.
[]
Syntax
object.OffsetX [= Integer]
[]
Syntax
object->OffsetX [= long]
Type description
A long value that specifies the X-coordinate of the top-left corner of the search region, relative to the top-left corner of the image.


Code.SearchRegion.OffsetY Property

OffsetY property

See Also | Availability | MIL Equivalent | OffsetX | SizeX
Reference:
Code.SearchRegion.OffsetX
Code.SearchRegion.SizeX
Code.SearchRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Code
SearchRegion
OffsetY
Synopsis
Returns or sets the vertical offset of the search region.
[]
Syntax
object.OffsetY [= Integer]
[]
Syntax
object->OffsetY [= long]
Type description
A long value that specifies the Y-coordinate of the top-left corner of the search region, relative to the top-left corner of the image.


Code.SearchRegion.SizeX Property

SizeX property

See Also | Availability | MIL Equivalent | OffsetY | SizeY
Reference:
Code.SearchRegion.Mode
Code.SearchRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Code
SearchRegion
SizeX
Synopsis
Returns or sets the width of the search region.
[]
Syntax
object.SizeX [= Integer]
[]
Syntax
object->SizeX [= long]
Type description
A long value that specifies the width.
Remarks
  • The Mode property determines whether the object's offset or center is displaced as a result of changing its width.
  • This property cannot be set at run-time if the control is in the allocated state.


Code.SearchRegion.SizeY Property

SizeY property

See Also | Availability | MIL Equivalent | SizeX | StartX
Reference:
Code.SearchRegion.Mode
Code.SearchRegion.SizeX
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Code
SearchRegion
SizeY
Synopsis
Returns or sets the height of the search region.
[]
Syntax
object.SizeY [= Integer]
[]
Syntax
object->SizeY [= long]
Type description
A long value that specifies the height.
Remarks
  • The Mode property determines whether the object's offset or center is displaced as a result of changing its height.
  • This property cannot be set at run-time if the control is in the allocated state.


Code.SearchRegion.StartX Property

StartX property

See Also | Availability | MIL Equivalent | SizeY | StartY
Reference:
Code.SearchRegion.EndX
Code.SearchRegion.EndY
Code.SearchRegion.OffsetX
Code.SearchRegion.OffsetY
Code.SearchRegion.StartY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Code
SearchRegion
StartX
Synopsis
Returns or sets the X-coordinate of the start point of the search region.
[]
Syntax
object.StartX [= Integer]
[]
Syntax
object->StartX [= long]
Type description
A long value that specifies the X-coordinate of the start point of the search region, relative to the top-left corner of the image.
Remarks
  • The center point, along with the size, will be modified as a result of moving the start point.
  • The start point (offset) and end point define the search region.


Code.SearchRegion.StartY Property

StartY property

See Also | Availability | MIL Equivalent | StartX
Reference:
Code.SearchRegion.EndX
Code.SearchRegion.EndY
Code.SearchRegion.OffsetX
Code.SearchRegion.OffsetY
Code.SearchRegion.StartX
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Code
SearchRegion
StartY
Synopsis
Returns or sets the Y-coordinate of the start point of the search region.
[]
Syntax
object.StartY [= Integer]
[]
Syntax
object->StartY [= long]
Type description
A long value that specifies the Y-coordinate of the start point of the search region, relative to the top-left corner of the image.
Remarks
  • The center point, along with the size, will be modified as a result of moving the start point.
  • The start point (offset) and end point define the search region.


Code.Speed Property

Speed property

Availability | MIL Equivalent | SearchRegion | StreamSize
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeControl(
ControlType =
M_SPEED
)

McodeInquire(
ControlType =
M_SPEED
)
Code
Speed
Synopsis
Returns or sets the speed of a read operation.
[]
Syntax
object.Speed [= CodeHighLowConstants]
[]
Syntax
object->Speed [= enum CodeHighLowConstants]
Type description
A CodeHighLowConstants expression that specifies the search speed.
Value | Meaning
codeVeryLow | Most reliable but very slow.
codeLow | Reliable but slow (for noisy images).
codeMedium | Default speed.
codeHigh | Less reliable but fast.
codeVeryHigh | Least reliable but very fast (for clean images).
Remark
  • The faster the search speed, the less robust the read operation.
[]
Example
This example shows how to set the Speed property.

m_Code->Speed = codeMedium;
m_Code->ImageThreshold = amilDefault;
m_Code->TargetStringLength = codeAny;


Code.StreamSize Property

StreamSize property

See Also | Availability | MIL Equivalent | Speed | SubType
Reference:
Code.SaveStream
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeStream(
Operation =
M_INQUIRE_SIZE_BYTE
)
Code
StreamSize
Synopsis
Returns the number of bytes required to save the settings of the current Code control to a memory stream.
[]
Syntax
[Integer=]object.StreamSize(
[Version As Double]
)
[]
Syntax
[long =] object->StreamSize[double Version]
Version (optional in , default is amilDefault)
A double value or an ActiveMILDefaultConstants expression that specifies the ActiveMIL version number of the Code control.
Value | Meaning
amilDefault | Sets the version to the current version of ActiveMIL.
value | Sets the version to a specific version of ActiveMIL.
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the size, in bytes, needed to stream the Code control.
Remarks
  • This property is used to inquire the size of the array required to save the settings of a Code control to a memory stream, using the SaveStream method.
  • For a Code control, the ActiveMIL version number must be greater than or equal to 7.0.
  • The size of the Code control will vary depending on the ActiveMIL version specified.


Code.SubType Property

SubType property

Availability | MIL Equivalent | StreamSize | TargetGrid
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeControl(
ControlType =
M_SUB_TYPE
)
Code
SubType
Synopsis
Returns or sets the particular sub-types, in a family of codes, for which to search during a read operation.
[]
Syntax
object.SubType [= CodeSubTypeConstants]
[]
Syntax
object->SubType [= enum CodeSubTypeConstants]
Type description
A CodeSubTypeConstants or ActiveMILDefaultsConstants expression that specifies the codes in a family of codes for which to search.

Constants can be added together to select multiple code types at a time.
Value | Meaning
amilDefault | Specifies to use the default sub-type. For most code sub-types, this will be the same as the code type allocated. For the Composite and RSS code sub-types, amilDefault is the same as codeAnyType.
codeAnyType | Specifies that any sub-type can be used by the read operation. The composite and RSS code types are the only code types that support this setting.
codeEAN8Type | Specifies that an EAN 8 code sub-type will be used by the read operation. The composite code type is the only code type that supports this setting.
codeEAN13Type | Specifies that an EAN 13 code sub-type will be used by the read operation. The composite code type is the only code type that supports this setting.
codeMicroPDF417Type | Specifies that a MicroPDF417 code sub-type will be used by the read operation.
codePDF417Type | Specifies that a PDF417 code sub-type will be used by the read operation.
codeRSS14StackedOmniType | Specifies that an RSS14 Stacked Omni code sub-type will be used by the read operation. The composite and RSS code types are the only code types that support this setting.
codeRSS14StackedType | Specifies that an RSS14 Stacked code sub-type will be used by the read operation. The composite and RSS code types are the only code types that support this setting.
codeRSS14TruncatedType | Specifies that an RSS14 Truncated code sub-type will be used by the read operation. The composite and RSS code types are the only code types that support this setting.
codeRSS14Type | Specifies that an RSS14 code sub-type will be used by the read operation. The composite and RSS code types are the only code types that support this setting.
codeRSSExpandedType | Specifies that an RSS Expanded code sub-type will be used by the read operation. The composite and RSS code types are the only code types that support this setting.
codeRSSExpandedStackedType | Specifies that an RSS Expanded Stacked code sub-type will be used by the read operation. The composite and RSS code types are the only code types that support this setting.
codeRSSLimitedType | Specifies that an RSS Limited code sub-type will be used by the read operation. The composite and RSS code types are the only code types that support this setting.
codeUCCEAN128Type | Specifies that an UCCEAN 128 code sub-type will be used by the read operation. Composite code is the only code type that supports this setting.
codeUPCAType | Specifies that an UPCA code sub-type will be used by the read operation. Composite code is the only code type that supports this setting.
codeUPCEType | Specifies that an UPCE code sub-type will be used by the read operation. Composite code is the only code type that supports this setting.
Remarks
  • This property is only useful for composite and RSS code types.
  • When the code allocation specifies a family of code types instead of a single code type, you can use the SubType property to enable only some of the code sub-types of the family.
  • The sub-types are additive. If you select the codeRSS14Type and codeUPCAType sub-types, you will be able to search for RSS14 and UPC-A codes.
  • Some versions of RSS code types only differ by their bar height. In these cases, the read will be successful even if only one of the sub-types is selected. For example, RSS-14 and RSS-14 Truncated codes can be read if either codeRSS14Type or codeRSS14TruncatedType is selected.
  • Enabling fewer sub-types will help increase the speed of the read operation.
  • If you selected sub-types previously, they would no longer be selected when using the SubType property again.


Code.TargetGrid Property

TargetGrid property

Availability | MIL Equivalent | SubType | TargetStringLength
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeControl(
ControlType =
M_DOT_SPACING or
M_SEARCH_ANGLE_DELTA_NEG or
M_SEARCH_ANGLE or
M_CELL_NUMBER_Y or
M_CELL_NUMBER_X or
M_CELL_SIZE_MIN or
M_CELL_SIZE_MAX or
M_SEARCH_ANGLE_DELTA_POS
)

McodeInquire(
InquireType =
M_DOT_SPACING or
M_SEARCH_ANGLE_DELTA_NEG or
M_SEARCH_ANGLE or
M_CELL_NUMBER_Y or
M_CELL_NUMBER_X or
M_CELL_SIZE_MIN or
M_CELL_SIZE_MAX or
M_SEARCH_ANGLE_DELTA_POS
)
Code
TargetGrid
Properties: DotSpacing, MaximumCellSize, MinimumCellSize, NumberOfCellsX, NumberOfCellsY, SearchAngleDeltaNegative, SearchAngleDeltaPositive, SearchAngle
Synopsis
Allows you to specify read or write boundaries, in order to improve robustness.
[]
Syntax
[CodeTargetGrid =] object.TargetGrid
[]
Syntax
[ICodeTargetGridPtr =] object->TargetGrid
Type description
A CodeTargetGrid object.
[]
Example
This example shows how to use the TargetGrid property.

m_Code->TargetGrid->DotSpacing = amilDefault;
m_Code->TargetGrid->NumberOfCellsX = codeAny;
m_Code->TargetGrid->NumberOfCellsY = codeAny;


Code.TargetGrid.DotSpacing Property

DotSpacing property

See Also | Availability | MIL Equivalent | MaximumCellSize
Reference:
Code.TargetGrid.MaximumCellSize
Code.TargetGrid.MinimumCellSize
Code.TargetGrid.NumberOfCellsX
Code.TargetGrid.NumberOfCellsY
Code.TargetGrid.SearchAngle
Code.TargetGrid.SearchAngleDeltaNegative
Code.TargetGrid.SearchAngleDeltaPositive
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeControl(
ControlType =
M_DOT_SPACING
)

McodeInquire(
InquireType =
M_DOT_SPACING
)
Code
TargetGrid
DotSpacing
Synopsis
Returns or sets the spacing between the modules of a datamatrix code
[]
Syntax
object.DotSpacing [= Integer]
[]
Syntax
object->DotSpacing [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value or an ActiveMILDefaultConstants expression that specifies the dot spacing, in pixels. DotSpacing is equivalent to half the distance between the edges of the dots in the code. (default is amilDefault)
Value | Meaning
amilDefault | Resets the property to the default setting. The default setting is equivalent to no space between the modules of a datamatrix code.
value | Specifies half the distance between the edges of the dots in the code.
[]
Example
This example shows how to set the DotSpacing property.

m_Code->TargetGrid->DotSpacing = amilDefault;
m_Code->TargetGrid->NumberOfCellsX = codeAny;
m_Code->TargetGrid->NumberOfCellsY = codeAny;


Code.TargetGrid.MaximumCellSize Property

MaximumCellSize property

See Also | Availability | MIL Equivalent | DotSpacing | MinimumCellSize
Reference:
Code.TargetGrid.DotSpacing
Code.TargetGrid.MinimumCellSize
Code.TargetGrid.NumberOfCellsX
Code.TargetGrid.NumberOfCellsY
Code.TargetGrid.SearchAngle
Code.TargetGrid.SearchAngleDeltaNegative
Code.TargetGrid.SearchAngleDeltaPositive
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeControl(
ControlType =
M_CELL_SIZE_MAX
)

McodeInquire(
InquireType =
M_CELL_SIZE_MAX
)
Code
TargetGrid
MaximumCellSize
Synopsis
Returns or sets the maximum cell size for a read operation.
[]
Syntax
object.MaximumCellSize [= Double]
[]
Syntax
object->MaximumCellSize [= double]
Type description
A double value or an ActiveMILDefaultConstants expression that specifies the maximum cell size, in pixels. (default is amilDefault)
Value | Meaning
amilDefault | Resets the property to the default setting. The default setting automatically chooses a suitable cell size.
value | Specifies the maximum cell size.
Remarks
  • This property is not supported for write operations.
  • Data Matrix and Maxicode read operations are more robust if you specify the cell size.


Code.TargetGrid.MinimumCellSize Property

MinimumCellSize property

See Also | Availability | MIL Equivalent | MaximumCellSize | NumberOfCellsX
Reference:
Code.TargetGrid.DotSpacing
Code.TargetGrid.MaximumCellSize
Code.TargetGrid.NumberOfCellsX
Code.TargetGrid.NumberOfCellsY
Code.TargetGrid.SearchAngle
Code.TargetGrid.SearchAngleDeltaNegative
Code.TargetGrid.SearchAngleDeltaPositive
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeControl(
ControlType =
M_CELL_SIZE_MIN
)

McodeInquire(
InquireType =
M_CELL_SIZE_MIN
)
Code
TargetGrid
MinimumCellSize
Synopsis
Returns or sets the minimum cell size for a read or write operation.
[]
Syntax
object.MinimumCellSize [= Double]
[]
Syntax
object->MinimumCellSize [= double]
Type description
A double value or an ActiveMILDefaultConstants expression that specifies the minimum cell size, in pixels. (default is amilDefault)
Value | Meaning
amilDefault | Resets the property to the default setting. For most read operations, the default setting is 4. For a write operation, the default setting is to resize the code so that it just fits into the destination image of the operation.
value | Specifies the minimum cell size.
Remarks
  • []
     If you inquire about the minimum cell size needed with the MinimumCellSize property set to Nothing, amilDefault will be equivalent to 10 for a Maxicode code type, or 4 for other bar code types.
  • []
     If you inquire about the minimum cell size needed with the MinimumCellSize property set to NULL, amilDefault will be equivalent to 10 for a Maxicode code type, or 4 for other bar code types.


Code.TargetGrid.NumberOfCellsX Property

NumberOfCellsX property

See Also | Availability | MIL Equivalent | MinimumCellSize | NumberOfCellsY
Reference:
Code.TargetGrid.DotSpacing
Code.TargetGrid.MaximumCellSize
Code.TargetGrid.MinimumCellSize
Code.TargetGrid.NumberOfCellsY
Code.TargetGrid.SearchAngle
Code.TargetGrid.SearchAngleDeltaNegative
Code.TargetGrid.SearchAngleDeltaPositive
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeControl(
ControlType =
M_CELL_NUMBER_X
)

McodeInquire(
InquireType =
M_CELL_NUMBER_X
)
Code
TargetGrid
NumberOfCellsX
Synopsis
Returns or sets the number of cells in the X-direction of a 2D code.
[]
Syntax
object.NumberOfCellsX [= Integer]
[]
Syntax
object->NumberOfCellsX [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of cells. The default setting (codeAny) searches for a code with any number of cells.
Remarks
  • This property is only supported for 2-dimensional symbologies (codeDataMatrix and codePDF417 code types), and not for bar codes.
  • For the PDF417 code type, the number of cells in the X direction is defined as 17c + 35, where c is the number of columns and 35 represents the number of cells required for the start and stop patterns.
  • The number of cells is not used for Maxicode because it is a fixed size.
  • If you know the number of cells, you can increase the speed of the read operation by setting this property.
[]
Example
This example shows how to set the NumberOfCellsX property.

m_Code->TargetGrid->DotSpacing = amilDefault;
m_Code->TargetGrid->NumberOfCellsX = codeAny;
m_Code->TargetGrid->NumberOfCellsY = codeAny;


Code.TargetGrid.NumberOfCellsY Property

NumberOfCellsY property

See Also | Availability | MIL Equivalent | NumberOfCellsX | SearchAngleDeltaNegative
Reference:
Code.TargetGrid.DotSpacing
Code.TargetGrid.MaximumCellSize
Code.TargetGrid.MinimumCellSize
Code.TargetGrid.NumberOfCellsX
Code.TargetGrid.SearchAngle
Code.TargetGrid.SearchAngleDeltaNegative
Code.TargetGrid.SearchAngleDeltaPositive
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeControl(
ControlType =
M_CELL_NUMBER_Y
)

McodeInquire(
InquireType =
M_CELL_NUMBER_Y
)
Code
TargetGrid
NumberOfCellsY
Synopsis
Returns or sets the number of cells in the Y-direction of a 2D code.
[]
Syntax
object.NumberOfCellsY [= Integer]
[]
Syntax
object->NumberOfCellsY [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of cells. The default setting (codeAny) searches for a code with any number of cells.
Remarks
  • This property is only supported for 2-dimensional symbologies (codeDataMatrix and codePDF417 code types), and not for bar codes.
  • The number of cells is not used for Maxicode because it is a fixed size.
  • If you know the number of cells, you can increase the speed of the read operation by setting this property.
[]
Example
This example shows how to set the NumberOfCellsY property.

m_Code->TargetGrid->DotSpacing = amilDefault;
m_Code->TargetGrid->NumberOfCellsX = codeAny;
m_Code->TargetGrid->NumberOfCellsY = codeAny;


Code.TargetGrid.SearchAngle Property

SearchAngle property

See Also | Availability | MIL Equivalent | SearchAngleDeltaPositive
Reference:
Code.TargetGrid.DotSpacing
Code.TargetGrid.MaximumCellSize
Code.TargetGrid.MinimumCellSize
Code.TargetGrid.NumberOfCellsX
Code.TargetGrid.NumberOfCellsY
Code.TargetGrid.SearchAngleDeltaNegative
Code.TargetGrid.SearchAngleDeltaPositive
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeControl(
ControlType =
M_SEARCH_ANGLE
)

McodeInquire(
InquireType =
M_SEARCH_ANGLE
)
Code
TargetGrid
SearchAngle
Synopsis
Returns or sets the angle at which to search for the code.
[]
Syntax
object.SearchAngle [= Double]
[]
Syntax
object->SearchAngle [= double]
Type description
A double value, between 0.0 and 360.0, or an ActiveMILDefaultConstants expression that specifies the angle in degrees. (default is amilDefault)
Value | Meaning
amilDefault | Resets the property to the default value. The default is 0.0.
value | Specifies the angle in degrees.
Remarks
  • The search is performed between the range of angles defined by the SearchAngle, SearchAngleDeltaNegative, and SearchAngleDeltaPositive properties.
  • If the code has bearer bars, you must specify the search angle.
  • For the PDF417, Maxicode, and Data Matrix codes, the angular range does not affect the speed of the operation.
[]
Example
This example shows how to set the SearchAngle property.

m_Code->TargetGrid->SearchAngleDeltaNegative = amilDefault;
m_Code->TargetGrid->SearchAngleDeltaPositive = amilDefault;
m_Code->TargetGrid->SearchAngle = amilDefault;


Code.TargetGrid.SearchAngleDeltaNegative Property

SearchAngleDeltaNegative property

See Also | Availability | MIL Equivalent | NumberOfCellsY | SearchAngleDeltaPositive
Reference:
Code.TargetGrid.DotSpacing
Code.TargetGrid.MaximumCellSize
Code.TargetGrid.MinimumCellSize
Code.TargetGrid.NumberOfCellsX
Code.TargetGrid.NumberOfCellsY
Code.TargetGrid.SearchAngle
Code.TargetGrid.SearchAngleDeltaPositive
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeControl(
ControlType =
M_SEARCH_ANGLE_DELTA_NEG
)

McodeInquire(
InquireType =
M_SEARCH_ANGLE_DELTA_NEG
)
Code
TargetGrid
SearchAngleDeltaNegative
Synopsis
Returns or sets the negative angle range used in a read operation.
[]
Syntax
object.SearchAngleDeltaNegative [= Double]
[]
Syntax
object->SearchAngleDeltaNegative [= double]
Type description
A double value, between 0.0 and 180.0, or an ActiveMILDefaultConstants expression that specifies the angle in degrees. (default is amilDefault)
Value | Meaning
amilDefault | Resets the property to the default value. The default is 5.0
value | Specifies the angle in degrees.
Remarks
  • The search is performed between the range of angles defined by the SearchAngle, SearchAngleDeltaNegative, and SearchAngleDeltaPositive properties.
  • For PDF417, Maxicode, and Datamatrix codes, the angular range does not affect the speed of the operation.
  • If the code has bearer bars, you must specify the search angle.
[]
Example
This example shows how to set the SearchAngleDeltaNegative property.

m_Code->TargetGrid->SearchAngleDeltaNegative = amilDefault;
m_Code->TargetGrid->SearchAngleDeltaPositive = amilDefault;
m_Code->TargetGrid->SearchAngle = amilDefault;


Code.TargetGrid.SearchAngleDeltaPositive Property

SearchAngleDeltaPositive property

See Also | Availability | MIL Equivalent | SearchAngleDeltaNegative | SearchAngle
Reference:
Code.TargetGrid.DotSpacing
Code.TargetGrid.MaximumCellSize
Code.TargetGrid.MinimumCellSize
Code.TargetGrid.NumberOfCellsX
Code.TargetGrid.NumberOfCellsY
Code.TargetGrid.SearchAngle
Code.TargetGrid.SearchAngleDeltaNegative
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeControl(
ControlType =
M_SEARCH_ANGLE_DELTA_POS
)

McodeInquire(
InquireType =
M_SEARCH_ANGLE_DELTA_POS
)
Code
TargetGrid
SearchAngleDeltaPositive
Synopsis
Returns or sets the positive angle range used in a read operation.
[]
Syntax
object.SearchAngleDeltaPositive [= Double]
[]
Syntax
object->SearchAngleDeltaPositive [= double]
Type description
A double value, between 0.0 and 180.0, or an ActiveMILDefaultConstants expression that specifies the angle in degrees. (default is amilDefault)
Value | Meaning
amilDefault | Resets the property to the default value. The default is 5.0
value | Specifies the angle in degrees.
Remarks
  • The search is performed between the range of angles defined by the SearchAngle, SearchAngleDeltaNegative, and SearchAngleDeltaPositive properties.
  • For PDF417, Maxicode, and Datamatrix codes, the angular range does not affect the speed of the operation.
  • If the code has bearer bars, you must specify the search angle.
[]
Example
This example shows how to set the SearchAngleDeltaPositive property.

m_Code->TargetGrid->SearchAngleDeltaNegative = amilDefault;
m_Code->TargetGrid->SearchAngleDeltaPositive = amilDefault;
m_Code->TargetGrid->SearchAngle = amilDefault;


Code.TargetStringLength Property

TargetStringLength property

Availability | MIL Equivalent | TargetGrid | Timeout
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeControl(
ResultType =
M_STRING_SIZE
)

McodeInquire(
ResultType =
M_STRING_SIZE
)
Code
TargetStringLength
Synopsis
Returns or sets the size of the string for which to search.
[]
Syntax
object.TargetStringLength [= Integer]
[]
Syntax
object->TargetStringLength [= long]
Type description
A long value that specifies the required size. (default is codeAny)
Value | Meaning
codeAny | Search for a string of any size.
Remarks
  • You must specify the string size when reading the BC412 code type.
  • If you know the exact size of the string, you can increase the robustness of the read operation by setting this property.
  • The string length will be affected by the setting of the EscapeSequence property.
[]
Example
This example shows how to set the TargetStringLength property.

m_Code->Speed = codeMedium;
m_Code->ImageThreshold = amilDefault;
m_Code->TargetStringLength = codeAny;


Code.Timeout Property

Timeout property

Availability | MIL Equivalent | TargetStringLength | UsePresearch
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeControl(
ControlType =
M_TIMEOUT
)
Code
Timeout
Synopsis
Returns or sets the maximum decoding time for a read operation.
[]
Syntax
Get:
[Double=]object.Timeout(
[CodeDisableConstants As Double]
)

Set:
object.Timeout(
[CodeDisableConstants As Double],
value_to_set as Double
)
[]
Syntax
object->Timeout[double CodeDisableConstants] [= double]
CodeDisableConstants (optional in , default is codeDisable)
A double value or a CodeDisableConstants or an ActiveMilDefaultConstants expression that specifies whether a maximum decoding time is set.
Value | Meaning
amilDefault | Specifies the default value.
codeDisable | Specifies there is no maximum decoding time.
value | Specifies the maximum decoding time, in msec.
Type description
A double expression that specifies the maximum decoding time for a read operation.
Remarks
  • This result is only available for a ReadCode operation.
  • Value can be any value greater than or equal to 0.


Code.UsePresearch Property

UsePresearch property

See Also | Availability | MIL Equivalent | Timeout | Allocate
Reference:
Code.ReadCode
Code.TargetGrid.MaximumCellSize
Code.TargetGrid.MinimumCellSize
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeControl(
ControlType =
M_USE_PRESEARCH
)
Code
UsePresearch
Synopsis
Returns or sets whether to use the presearch algorithm prior to a read operation.
[]
Syntax
object.UsePresearch [= Boolean]
[]
Syntax
object->UsePresearch [= VARIANT_BOOL]
Type description
A boolean value that specifies whether to use the preseach algorithm to localize a code prior to a read operation.
Value | Meaning
True | The presearch algorithm will be used just prior to the read operation.
False | The presearch algorithm will not be used. (default)
Remarks
  • This property is only used for 2D code types.
  • When using this property, it is recommended that you also specify the best cell size range possible, especially if the cell size is greater than 10 or less than 6.


Code.Allocate Method

Allocate method

See Also | Availability | MIL Equivalent | UsePresearch | CalculateCodeSize
User Guide:
Setting up controls

Reference:
Code.AutomaticAllocation
Code.Free
Code.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeAlloc()
Code
Allocate
Synopsis
Allocates the resources of the Code control.
[]
Syntax
object.Allocate()
[]
Syntax
void object->Allocate()
Remarks
  • By default, the control's AutomaticAllocation property is set to True, and therefore allocation is done automatically.
  • To preserve resources and delay allocation until necessary, set the AutomaticAllocation property to False and call the Allocate method only when the control is actually needed.
  • To create a new Code control at run-time, use the CreateObject method of the Application control.
  • If you call the Allocate method while the control is in the allocated state, an error is generated. To determine the allocation state of a control, use the IsAllocated property.
  • The following properties cannot be changed at run-time while the control is in the allocated state (free the control using the Free method):
    • OwnerSystem
    • OwnerSystemName
    • CodeType
  • If you try to allocate a Code control before its owner system is allocated, an error is generated.
[]
Example
This example demonstrates how to allocate multiple controls with a single call to the Allocate method.

Code1.AutomaticAllocation = True
Code1.OwnerSystem = System1

' This call will also allocate Code1 since its OwnerSystem property is System1
' and its AutomaticAllocation property is set to True
System1.Allocate()
[]
Example
This example demonstrates how to allocate multiple controls with a single call to the Allocate method.

m_Code1->AutomaticAllocation = TRUE;
m_Code1->OwnerSystem = m_System1;

// This call will also allocate m_Code1 since
// its OwnerSystem property is m_System1 and
// its AutomaticAllocation property is set to TRUE
m_System1->Allocate();


Code.CalculateCodeSize Method

CalculateCodeSize method

See Also | Availability | MIL Equivalent | Allocate | Control
Reference:
Code.CodeType
Code.EncodingType
Code.ErrorCorrectionType
Code.WriteCode
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeGetResult(
ResultType =
M_WRITE_SIZE_X or
M_WRITE_SIZE_Y
)
Code
CalculateCodeSize
Synopsis
Calculate the minimum X- and Y-size required for the destination image of a write operation.
[]
Syntax
object.CalculateCodeSize(
ByVal CodeString As String,
ByVal X As Integer,
ByVal Y As Integer
)
[]
Syntax
void object->CalculateCodeSize(
_bstr_t CodeString,
long * X,
long * Y
)
CodeString
A string expression that specifies the text to be encoded.
X
A long value that returns the X-size, in pixels.
Y
A long value that returns the Y-size, in pixels.
Remarks
  • The minimum size is determined from the CodeType, ErrorCorrectionType, and EncodingType properties.
  • The minimum size will be returned as one of the properties in the Results.VerificationGrade property.
  • The setting of the EscapeSequence property affects the results of this method.
[]
Example
This example shows how to use the CalculateCodeSize method.

long X, Y;
// Read the code
m_Code1->CalculateCodeSize(static_cast<_bstr_t>(DecodedString), &X, &Y);


Code.Control Method

Control method

See Also | Availability | MIL Equivalent | CalculateCodeSize | Free
Reference:
Code.Inquire
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeControl()
Code
Control
Synopsis
Controls the attributes of the Code control.
[]
Syntax
object.Control(
ByVal ControlType As CodeInquireAndControlConstants,
ByVal ControlValue As Object
)
[]
Syntax
void object->Control(
enum CodeInquireAndControlConstants ControlType,
const _variant_t & ControlValue
)
ControlType
A CodeInquireAndControlConstants expression that specifies the attribute to be modified.
ControlValue
A variantobjectvariant (object for Visual Basic .Net) value that specifies the new value to be set.
Remark
  • This method is reserved for future expansion.


Code.Free Method

Free method

See Also | Availability | MIL Equivalent | Control | Inquire
User Guide:
Setting up controls

Reference:
Code.Allocate
Code.AutomaticAllocation
Code.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeFree()
Code
Free
Synopsis
Frees the resources of the Code control.
[]
Syntax
object.Free()
[]
Syntax
void object->Free()
Remarks
  • The results associated with a Code control are automatically freed when the control is destroyed. You must use the Free method if you want to free the control prematurely. Note that when you free the Code control, all of its results are deleted.
  • To determine the allocation state of a control, use the IsAllocated property. While a Code control is in the allocated state, some of its properties cannot be changed at run-time. At run-time, to modify a property that cannot be changed after allocation, you must free the control (using the Free method), change its property(ies), and then re-allocate the control (using the Allocate method).
  • The Free method will generate an error if the control is not allocated.
  • Any property can be changed when its control is in the allocated state, unless it is otherwise stated in the Remarks section of that property.
[]
Example
This example shows how to use the Free method.

If Code1.IsAllocated Then
    Code1.Free()
End If
[]
Example
This example shows how to use the Free method.

if (m_Code1->IsAllocated)
   m_Code1->Free();


Code.Inquire Method

Inquire method

Availability | MIL Equivalent | Free | Load
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeInquire()
Code
Inquire
Synopsis
Inquires about the attributes of the Code control.
[]
Syntax
[Object =] object.Inquire(
ByVal ParamToInquire As CodeInquireAndControlConstants
)
[]
Syntax
[_variant_t =] object->Inquire(
enum CodeInquireAndControlConstants ParamToInquire
)
ParamToInquire
A CodeInquireAndControlConstants expression that specifies the attribute to inquire about.
Return value
The current value assigned to the attribute that is inquired about.
Remark
  • This method is reserved for future expansion.


Code.Load Method

Load method

See Also | Availability | MIL Equivalent | Inquire | LoadStream
Reference:
Code.Save
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeRestore()
Code
Load
Synopsis
Loads the code from a file into the Code control.
[]
Syntax
object.Load(
ByVal FileName As String
)
[]
Syntax
void object->Load(
_bstr_t FileName
)
FileName
A string expression that specifies the name of the file from which to load the code.
Remark
  • All of the code's properties are restored when calling this method.


Code.LoadStream Method

LoadStream method

See Also | Availability | MIL Equivalent | Load | Modified
User Guide:
Using variants and arrays

Reference:
Code.Load
Code.SaveStream
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeStream(
Operation =
M_LOAD
)
Code
LoadStream
Synopsis
Loads the settings of a previously saved Code control from a file or memory stream.
[]
Syntax
object.LoadStream(
ByVal ArrayOfBytesOrFileName As Object,
ByVal StreamType As CodeStreamTypeConstants
)
[]
Syntax
void object->LoadStream(
VARIANT * ArrayOfBytesOrFileName,
enum CodeStreamTypeConstants StreamType
)
ArrayOfBytesOrFileName
A variantobjectvariant (object for Visual Basic .Net) value that specifies the stream that holds the settings of the Code control.
StreamType
A CodeStreamTypeConstants expression that specifies the type of stream that holds the settings of the Code control.
Value | Meaning
codeFile | Specifies a file stream.
codeMemory | Specifies a memory stream.
Remarks
  • File and file stream are equivalent terms throughout this documentation.
  • The settings of the Code control can be saved using the SaveStream method.
  • The content loaded from a memory stream is equivalent to the same content loaded from a file. In addition, any file loaded with the Load method is equivalent to a file loaded using this method.
  • When codeFile is set as the stream type, the ArrayOfBytesOrFileName parameter should specify the name and path of the file required for this operation. The method internally handles the opening and closing of the file.
  • []
     To specify the name of the file that holds the settings of the Code control, you must pass a string object to the ArrayOfBytesOrFileName parameter. To specify the location of the memory stream that holds the settings of the Code control, you must pass an array of bytes.
  • []
     To specify the name of the file that holds the settings of the Code control, you must pass a VARIANT containing a BSTR value to the ArrayOfBytesOrFileName parameter. To specify the location of the memory stream that holds the settings of the Code control, pass a VARIANT containing a SAFEARRAY object.


Code.Modified Method

Modified method

See Also | Availability | MIL Equivalent | LoadStream | ReadCode
User Guide:
Integrating MIL functions with your ActiveMIL code

Reference:
Code.MilID
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Code
Modified
Synopsis
Informs the Code control that Native MIL calls were made on its resources.
[]
Syntax
object.Modified(
ByVal ModificationType As Integer
)
[]
Syntax
void object->Modified(
long ModificationType
)
ModificationType (optional in , default is amilDefault)
A longintegerlong (integer for Visual Basic .Net) value that specifies the modification type.
Value | Meaning
amilDefault | Specifies that native MIL calls were used to modify the contents of the Code control.
Remark
  • The Modified method should be used after performing a Native MIL Mcode...() function on the resources of the Code control. This ensures that all properties of the Code control are updated to match their state in MIL.


Code.ReadCode Method

ReadCode method

See Also | Availability | MIL Equivalent | Modified | Save
Reference:
Code.AutomaticAllocation
Code.CodeType
Code.CodeType
Code.ErrorCorrectionType
Code.EscapeSequence
Code.ForegroundPixelValue
Code.ImageThreshold
Code.Results
Code.SearchRegion
Code.Speed
Code.TargetGrid
Code.TargetStringLength
Code.UsePresearch
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeRead()
Code
ReadCode
Synopsis
Read the specified type of code in an image.
[]
Syntax
object.ReadCode()
[]
Syntax
void object->ReadCode()
Remarks
  • The CodeType property specifies the type of code for which to search. The EncodingType and ErrorCorrectionType properties specify, respectively, the type of encoding and error correction.
  • The SearchRegion property determines the area of the image in which to search for the code.
  • The TargetGrid property specifies the positional parameters of the search.
  • Use the Results property to retrieve results.
[]
Example
This example shows how to extract information from a Maxicode.

Code1.CodeType = codeMaxicode
Code1.EncodingType = codeAnyEncoding
Code1.Allocate()

' Read the code
Code1.ReadCode()

Dim DecodedString As String
DecodedString = Code1.Results.DecodedString

' Remove "End of string" characters
' This string ends with two unprintable characters
Dim EndOfStringRemoved() As String
EndOfStringRemoved = Split(DecodedString, Chr(30) & Chr(4), , vbTextCompare)

' Fields of the string are delimited by the ASCII character code 29.
' It will be split and put in an array.
Dim ParsedStringArray() As String
ParsedStringArray = Split(EndOfStringRemoved(0), Chr(29), , vbTextCompare)

Dim PrincipalMessage As String
Dim ZipCode As String
Dim CountryCode As String
Dim ClassOfService As String
If UBound(ParsedStringArray) >= 3 Then
    ' Extract information knowing the following:
    '    - The first string contains the principal message.
    '    - The second string contains the zip code.
    '    - The third string contains the country code.
    '    - The fourth string contains the class of service.
    '    - All following strings are free messages.
    PrincipalMessage = ParsedStringArray(0)
    ZipCode = ParsedStringArray(1)
    CountryCode = ParsedStringArray(2)
    ClassOfService = ParsedStringArray(3)
End If
[]
Examples
This example shows how to use the ReadCode method.

m_Code1->Image = m_MaxicodeImage;
m_Code1->ReadCode();

CString DecodedString =
   static_cast<LPCTSTR> (m_Code1->Results->DecodedString);

CodeEncodingTypeConstants EncodingType = m_Code1->Results->EncodingType;
This example shows how to extract information from a Maxicode.

m_Code1->CodeType = codeMaxicode;
m_Code1->EncodingType = codeAnyEncoding;
m_Code1->Allocate();

// Read the code
m_Code1->ReadCode();

CString DecodedString;
// A cast to LPCTSTR is necessary when assigning a CString with a _bstr_t
DecodedString = static_cast<LPCTSTR>(m_Code1->Results->DecodedString);

// Remove "End of string" characters
// This string ends with two unprintable characters
CString EndOfStringRemoved;
long Index = DecodedString.Find("\x1E\x04");
if (Index != -1)
   EndOfStringRemoved = DecodedString.Left(Index);
else
   EndOfStringRemoved = DecodedString;

// Fields of the string are delimited by the ASCII character code 0x1D.
// It will be split and put in an array.
CStringArray ParsedStringArray;
long CurrentIndex = 0;
long LastIndex = 0;
do
   {
   CString str;

   CurrentIndex = EndOfStringRemoved.Find("\x1D", LastIndex);
   if (CurrentIndex != -1)
      str = EndOfStringRemoved.Mid(LastIndex, CurrentIndex - LastIndex);
   else
      str = EndOfStringRemoved.Mid(LastIndex, CurrentIndex - LastIndex);
   ParsedStringArray.Add(str);

   LastIndex = CurrentIndex + 1;
   }
while (CurrentIndex != -1);

CString PrincipalMessage;
CString ZipCode;
CString CountryCode;
CString ClassOfService;
if (ParsedStringArray.GetUpperBound() >= 3)
   {
   // Extract information knowing the following:
   //    - The first string contains the principal message.
   //    - The second string contains the zip code.
   //    - The third string contains the country code.
   //    - The fourth string contains the class of service.
   //    - All following strings are free messages.
   PrincipalMessage = ParsedStringArray[0];
   ZipCode = ParsedStringArray[1];
   CountryCode = ParsedStringArray[2];
   ClassOfService = ParsedStringArray[3];
   }


Code.Save Method

Save method

See Also | Availability | MIL Equivalent | ReadCode | SaveStream
Reference:
Code.Load
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeSave()
Code
Save
Synopsis
Saves the code data into a file.
[]
Syntax
object.Save(
ByVal FileName As String
)
[]
Syntax
void object->Save(
_bstr_t FileName
)
FileName
A string expression that specifies the name of the file in which to save the data.
Remarks
  • This method saves all of the code's properties.
  • The code can be retrieved with the Load method.


Code.SaveStream Method

SaveStream method

See Also | Availability | MIL Equivalent | Save | ShowPropertyPages
Reference:
Code.LoadStream
Code.Save
Code.StreamSize
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeStream(
Operation =
M_SAVE
)
Code
SaveStream
Synopsis
Saves the settings of a Code control to a specified file or memory stream.
[]
Syntax
object.SaveStream(
ByVal ArrayOfBytesOrFileName As Object,
ByVal StreamType As CodeStreamTypeConstants,
ByVal Version As Double
)
[]
Syntax
void object->SaveStream(
const _variant_t & ArrayOfBytesOrFileName,
enum CodeStreamTypeConstants StreamType,
double Version
)
ArrayOfBytesOrFileName
A variantobjectvariant (object for Visual Basic .Net) value that specifies the stream in which to save the settings of the Code control.
StreamType
A CodeStreamTypeConstants expression that specifies the type of stream in which to save the settings of the Code control.
Value | Meaning
codeFile | Specifies a file stream.
codeMemory | Specifies a memory stream.
Version (optional in , default is amilDefault)
A double value or an ActiveMILDefaultConstants expression that specifies the ActiveMIL version number of the Code control.
Value | Meaning
amilDefault | Sets the version to the current version of ActiveMIL.
value | Sets the version to a specific version of ActiveMIL.
Remarks
  • File and file stream are equivalent terms throughout this documentation.
  • The settings of the Code control can be loaded using the LoadStream method.
  • The content saved to a memory stream is equivalent to the same content saved to a file. In addition, any file saved with the Save method is equivalent to a file saved using this method.
  • When codeFile is set as the stream type, if the specified file in which to save the settings of the Code control already exists, it will be overwritten when the method is performed.
  • When codeMemory is set as the stream type, the ArrayOfBytesOrFileName parameter should specify the address of the block of memory required for this operation. The designated block must be large enough to store the entire object.
  • To inquire the size of the array required to save the settings of a Code control to a memory stream, use the StreamSize property.
  • You can use this method and other ActiveMIL methods to save all required ActiveMIL controls, as well as any other custom data, for your application to a memory stream. Once in a memory stream, you can write the stream to a single file or transfer it over a network. You are responsible for concatenating the streams and for saving the stream to file.
  • By supplying a specific version, you can control the Code control's accessibility. For instance, if you allocate a Code control using ActiveMIL 8.0 and set its version to 7.0, then this control can be loaded on a computer where ActiveMIL 7.0 is installed. Settings unique to the higher version will be ignored when the file or memory stream is loaded in the lower version. Also, a program using ActiveMIL of a higher version can access a Code control stream created or designated with an equal or lower version. Settings that do not exist in the lower version will be filled with default values when the file or memory stream is loaded in the higher version. The version specified must never be greater than the current ActiveMIL version, but must be greater than or equal to 7.0 for the Code control.
  • []
     To specify the name of the file in which to save the settings of the Code control, you must pass a string object to the ArrayOfBytesOrFileName parameter. To specify the location of the memory stream in which to save the settings of the Code control, you must pass an array of bytes.
  • []
     To specify the name of the file in which to save the settings of the Code control, you must pass a VARIANT containing a BSTR value to the ArrayOfBytesOrFileName parameter. To specify the location of the memory stream in which to save the settings of the Code control, pass a VARIANT containing a SAFEARRAY object.


Code.ShowPropertyPages Method

ShowPropertyPages method

Availability | MIL Equivalent | SaveStream | VerifyCode
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Code
ShowPropertyPages
Synopsis
Opens the specified property pages of the Code control in a window.
[]
Syntax
object.ShowPropertyPages(
ByVal Pages As CodePropertyPagesConstants,
ByVal Caption As String,
ByVal hWndParent As Integer,
ByVal Reserved As Boolean
)
[]
Syntax
void object->ShowPropertyPages(
enum CodePropertyPagesConstants Pages,
_bstr_t Caption,
long hWndParent,
VARIANT_BOOL Reserved
)
Pages
A CodePropertyPagesConstants expression that specifies the page(s) to display. You can add the following constants together to display multiple pages.
Value | Meaning
codeGeneralPropertyPage | Display the Code control's General property page.
codeAttributesPropertyPage | Display the Code control's Attributes property page.
codeTargetGridPropertyPage | Display the Code control's Target Grid property page.
codeROIPropertyPage | Display the Code control's Region of Interest property page.
codeHistoryPropertyPage | Display the Code control's History property page.
codeAllPropertyPages | Display all of the Code control's available property pages.
Caption (optional in , default is "")
A string value that specifies the caption for the property pages window. The default is an empty string, in which case a generic caption will be displayed.
hWndParent (optional in , default is 0)
A long value that specifies the window handle (HWND) of the property pages window's parent. The property pages window will be modal in relation to its parent window.
Reserved (optional in , default is True)
This parameter is reserved for future use. True is the only value available.
Value | Meaning
True | Meaning to be determined. This setting must always be used.
Remarks
  • If the Code control is created at design-time, the .NET ActiveX Control Importer (AxImp.exe) renames this ActiveMIL method from ShowPropertyPages() to CtlShowPropertyPages() to avoid name clashing with the ShowPropertyPages() method of the .NET Windows Form control. See the Windows Forms ActiveX Control Importer (AxImp.exe) topic in MSDN for more information. In addition, if the control is created at run-time with the AxMatrox.ActiveMIL.* namespace, you must use CtlShowPropertyPages() to call the ActiveMIL ShowPropertyPages() method.
  • This method is used to display the property pages so that properties can be set interactively at run-time.
  • This method will disable property page elements corresponding to properties that cannot be changed due to the current state of the control. For example, if a property cannot be changed while its control is in the allocated state, and the control is allocated, the corresponding element in the property page will be disabled. To change this property, call the Free method first.


Code.VerifyCode Method

VerifyCode method

Availability | MIL Equivalent | ShowPropertyPages | WriteCode
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeVerify()
Code
VerifyCode
Synopsis
Computes the different quality grades of the code included in the specified source image.
[]
Syntax
object.VerifyCode(
ByVal StringToGrade As String
)
[]
Syntax
void object->VerifyCode(
_bstr_t StringToGrade
)
StringToGrade
A string expression that specifies the string of the code to be graded.
Remarks
  • This method is not supported by codePharmaCode, codePlanet, or codePostnet code types.
  • If the code cannot be decoded by ActiveMIL, all grades will be returned as F.
  • If you cannot read a code with cell sizes that are size 2 or smaller, you can enlarge the image using Resize method of the ImageProcessing control.
  • The results of this method will be returned in the properties of the Results.VerificationGrade property.


Code.WriteCode Method

WriteCode method

See Also | Availability | MIL Equivalent | VerifyCode | ResultsModified
Reference:
Code.AutomaticAllocation
Code.CodeType
Code.CodeType
Code.ErrorCorrectionType
Code.EscapeSequence
Code.ForegroundPixelValue
Code.ImageThreshold
Code.Results
Code.SearchRegion
Code.Speed
Code.TargetGrid
Code.TargetStringLength
Code.UsePresearch
Not available in ActiveMIL-Lite

Available in ActiveMIL
McodeWrite()
Code
WriteCode
Synopsis
Encode an ASCII string into the specified object image.
[]
Syntax
object.WriteCode(
ByVal StringToEncode As String
)
[]
Syntax
void object->WriteCode(
_bstr_t StringToEncode
)
StringToEncode
A string expression that specifies the text to encode.
Remarks
  • The ASCII string is encoded into the image specified by the Image property.
  • The CodeType property specifies the type of code to use. The EncodingType and ErrorCorrectionType properties specify, respectively, the encoding scheme and error correction (when using this method, these properties cannot be set to codeAnyEncoding or codeAnyErrorCorrection, respectively).
  • The MinimumCellSize property specifies the cell size, in pixels, of a unit of the code. If this property is set to amilDefault, the code is resized so as to just fit into the destination image of the operation.
  • The status of a write operation can be retrieved using the Status property.
  • The setting of the EscapeSequence property affects the results of this method.
  • When writing a Codabar code type, the encoded string must be numeric, but can contain the following ASCII marks: -, :, /, ., and +. In addition, the string must start and end with any of the following characters: a, b, c, or d.
  • When writing an Interleaved 2 of 5 code type, the code type requires a string that has an even number of characters. This code type is best used in a fixed-length application, with all reading equipment programmed to only accept messages of the correct length.
[]
Example
This example shows how to use the WriteCode method.

m_Code1->Image = m_MaxicodeImage;
m_Code1->WriteCode(static_cast<_bstr_t>(DecodedString));


Code.ResultsModified Event

ResultsModified event

Availability | MIL Equivalent | WriteCode
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Code
ResultsModified
Synopsis
Occurs after results have been modified.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_ResultsModified() Handles object.ResultsModified

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_ResultsModified(
ByVal sender As Object,
ByVal e As System.EventArgs
) Handles object.ResultsModified
[]
Syntax
void class::OnResultsModified()
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.


Digitizer control

Availability
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Synopsis
A Digitizer control manipulates and controls the digitizer section of an imaging board. It allows you to set the state required for either simple or complex acquisition and allows acquisition commands to be sent to the imaging board.

Structure
Digitizer Properties: AutomaticAllocation, AutomaticInputGain, Bayer, BlackReference, Brightness, Calibration, CalibrationName, CameraColorLockEnabled, CameraLockEnabled, CameraLockEvent, CameraLockSensitivity, CameraPresentEvent, CameraUnlockSensitivity, Channel, ColorMode, Contrast, DataDepth, DataType, DeviceNumber, Exposure1ClockFrequency, Exposure1ClockSource, Exposure1Enabled, Exposure1Format, Exposure1Mode, Exposure1Source, Exposure1TimeDelay, Exposure1Time, Exposure2ClockFrequency, Exposure2ClockSource, Exposure2Enabled, Exposure2Format, Exposure2Mode, Exposure2Source, Exposure2TimeDelay, Exposure2Time, FieldStartEvenEvent, FieldStartEvent, FieldStartOddEvent, FocusParameters, Format, FrameStartEvent, GrabContinuousEndTrigger, GrabDirectionX, GrabDirectionY, GrabEndEvent, GrabFieldEndEvenEvent, GrabFieldEndEvent, GrabFieldEndOddEvent, GrabFieldNumber, GrabFrameEndEvent, GrabFrameStartEvent, GrabInProgress, GrabLineEndEvent, GrabLineEvent, GrabMode, GrabPeriod, GrabReservedColors, GrabStartEvent, GrabStartMode, GrabTimeout, Hue, Image, ImageName, InitializationFlag, InputFilter, InputGain, InputMode, InputRegion, InputTypeVCR, InterpolationMode, IsAllocated, IsCameraLocked, IsCameraPresent, LastGrabInTrueImage, LUTEnabled, LUT, MilID, MultipleBuffering, Name, NumberOfBands, OwnerSystem, OwnerSystemName, PropertyValidation, ReferenceChannel, Saturation, ScaleQuality, ScaleX, ScaleY, ScanMode, SerialPortDataEvent, SerialPort, SignalChannel, SizeX, SizeY, SyncChannel, SynchronizeOnGrabEnd, SynchronizeOnGrabStart, TriggerEnabled, TriggerMode, TriggerFormat, TriggerSource, UserBits, UserBitChangedEvent, UserInFormat, UserOutFormat, UseVoltageReference, WhiteReference

Methods: Allocate, Control, Focus, Free, GrabAbort, GrabContinuous, GrabWait, Grab, Halt, Inquire, Modified, SendTrigger, ShowPropertyPages

Events: CameraLock, CameraPresent, FieldStartEven, FieldStartOdd, FieldStart, FrameStart, GrabEnd, GrabFieldEndEven, GrabFieldEndOdd, GrabFieldEnd, GrabFrameEnd, GrabFrameStart, GrabLine, GrabLineEnd, GrabStart, MoveLens, SerialPortData, ProcessModifiedImage, UserBitChanged
Bayer Properties: ConversionEnabled, UseCoefficients, WhiteBalanceCoefficients, WhiteBalanceMode

Method: CalculateCoefficients
FocusParameters Properties: FocusRegion, MaximumPositionVariation, MaximumPosition, MinimumPosition, StartPosition
FocusRegion Properties: CenterX, CenterY, EndX, EndY, FullSize, Mode, OffsetX, OffsetY, SizeX, SizeY, StartX, StartY
InputRegion Properties: CenterX, CenterY, EndX, EndY, FullSize, Mode, OffsetX, OffsetY, SizeX, SizeY, StartX, StartY
LUT Properties: DataDepth, DataType, MilID, NumberOfBands, Size

Methods: GenerateColor, GenerateFunction, GenerateRamp, Get, Put
MultipleBuffering Properties: SequenceCount, FrameRate, NumberOfFrameMissed, NumberOfFrameProcessed, SynchronizationMode

Methods: Process, Halt
SerialPort Properties: Channel, DataLength, DataPending, Parity, Speed, StopBits, StringDelimiter, Timeout

Methods: ReadString, WriteString
UserBits Properties: CameraControl1, CameraControl2, CameraControl3, CameraControl4, Count, CountIn, CountOut, Item

Methods: GetModeMask, GetValueMask, SetModeMask, SetValueMask
Item Properties: Value, Mode, InterruptEnabled, Format


Digitizer.AutomaticAllocation Property

AutomaticAllocation property

See Also | Availability | MIL Equivalent | AutomaticInputGain
User Guide:
Setting up controls - Allocating and freeing resources

Reference:
Digitizer.Allocate
Digitizer.Free
Digitizer.IsAllocated
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Digitizer
AutomaticAllocation
Synopsis
Returns or sets whether the resources of the Digitizer control are automatically allocated at run-time.
[]
Syntax
object.AutomaticAllocation [= Boolean]
[]
Syntax
object->AutomaticAllocation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the control's automatic allocation.
Value | Meaning
True | The control will be allocated automatically at run-time.
False | The control must be allocated explicitly, using the Allocate method.
Remarks
  • When the AutomaticAllocation property is False, an explicit call to the Allocate method is required. You can get the allocation state of the control by reading its IsAllocated property.
  • The default value is True for controls created at design-time, and False for controls created at run-time (for example, created with the CreateObject method of the Application control).
  • When this property is set to True, automatic allocation will occur when the owner system of the Digitizer control is allocated. For example, if System1 is set as the owner system of Digitizer1, and System1 is not allocated, then Digitizer1 will not be allocated, even if its AutomaticAllocation property is set to True. When System1 is allocated (with the Allocate method), Digitizer1 will be allocated automatically if its AutomaticAllocation property is set to True.
  • The resources of the control will be freed automatically when the control is destroyed.
[]
Example
This example demonstrates how to set up this control so that it is automatically allocated when its owner System control is allocated.

Digitizer1.AutomaticAllocation = True
Digitizer1.OwnerSystem = System1

' This call will also allocate Digitizer1 since
' its OwnerSystem property is System1 and
' its AutomaticAllocation property is set to True
System1.Allocate()
[]
Example
This example demonstrates how to set up this control so that it is automatically allocated when its owner System control is allocated.

m_Digitizer1->AutomaticAllocation = TRUE;
m_Digitizer1->OwnerSystem = m_System1;

// This call will also allocate m_Digitizer1 since
// its OwnerSystem property is m_System1 and
// its AutomaticAllocation property is set to TRUE
m_System1->Allocate();


Digitizer.AutomaticInputGain Property

AutomaticInputGain property

See Also | Availability | MIL Equivalent | AutomaticAllocation | Bayer
Reference:
Digitizer.Control
Digitizer.InputGain
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox CronosPlus

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Corona-II
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Morphis
MdigControl(
ControlType =
M_GRAB_AUTOMATIC_INPUT_GAIN
)

MdigInquire(
InquireType =
M_GRAB_AUTOMATIC_INPUT_GAIN
)
Digitizer
AutomaticInputGain
Synopsis
Returns or sets whether the on-board decoder should automatically set the input gain.
[]
Syntax
object.AutomaticInputGain [= Boolean]
[]
Syntax
object->AutomaticInputGain [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the gain will be set automatically.
Value | Meaning
True | The AutomaticInputGain property is enabled.
False | The AutomaticInputGain property is disabled.
Remarks
  • This property is only supported if your system has an on-board decoder (NTSC/PAL) and it is involved in the grab.
  • When the AutomaticInputGain property is set to False, the InputGain property is available for boards that support both properties.
Remarks for Matrox Morphis
  • By default, this property affects both the chrominance and luminance components of the input signal. To affect only the chrominance or luminance component of the input signal (after separation), use the Control method with digChrominanceAutomaticInputGain or digLuminanceAutomaticInputGain, respectively.
  • If the luminance and chrominance components of the input signal have different input-signal gain, this property returns the input-signal gain of the luminance component.


Digitizer.Bayer Property

Bayer property

Availability | MIL Equivalent | AutomaticInputGain | BlackReference
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Corona-II
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox CronosPlus
Not supported on Matrox Helios XA
Not supported on Matrox Morphis
Not supported on Matrox Odyssey XA
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
No MIL equivalent
Digitizer
Bayer
Properties: ConversionEnabled, UseCoefficients, WhiteBalanceCoefficients, WhiteBalanceMode

Method: CalculateCoefficients
Synopsis
Allows you to specify or determine the digitizer's Bayer properties.
[]
Syntax
object.Bayer [= Bayer]
[]
Syntax
object->Bayer [= IBayerPtr]
Type description
A Bayer object.
Remark
  • You cannot assign another Bayer object to this property.


Digitizer.Bayer.ConversionEnabled Property

ConversionEnabled property

See Also | Availability | MIL Equivalent | UseCoefficients
User Guide:
Using images with the Bayer color filter
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Corona-II
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox CronosPlus
Not supported on Matrox Helios XA
Not supported on Matrox Morphis
Not supported on Matrox Odyssey XA
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MdigControl(
ControlType =
M_BAYER_CONVERSION
)

MdigInquire(
InquireType =
M_BAYER_CONVERSION
)
Digitizer
Bayer
ConversionEnabled
Synopsis
Returns or sets whether to perform Bayer conversion when grabbing images from a camera with a Bayer color filter.
[]
Syntax
object.ConversionEnabled [= Boolean]
[]
Syntax
object->ConversionEnabled [= VARIANT_BOOL]
Type description
A boolean value that activates or deactivates the conversion of grabbed images. (default is True )
Value | Meaning
True | Enables the Bayer conversion on the grabbed image. The DCF specifies the conversion's Bayer pattern.
False | Disables the Bayer conversion on the grabbed image.
Remarks
  • Use this property only when grabbing from a camera that has a Bayer color filter (as specified by the DCF), otherwise an error is generated.
  • For a more conventional technique of controlling Bayer conversion, call the Bayer method of the Image control and see Using images with the Bayer color filter section in Chapter 13: Images.
  • To white balance the grabbed images, set the WhiteBalanceMode property to True.


Digitizer.Bayer.UseCoefficients Property

UseCoefficients property

Availability | MIL Equivalent | ConversionEnabled | WhiteBalanceCoefficients
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Corona-II
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox CronosPlus
Not supported on Matrox Helios XA
Not supported on Matrox Morphis
Not supported on Matrox Odyssey XA
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
No MIL equivalent
Digitizer
Bayer
UseCoefficients
Synopsis
Returns and sets whether the white balance coefficients that have been set explicitly will be used.
[]
Syntax
object.UseCoefficients [= Boolean]
[]
Syntax
object->UseCoefficients [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the white balance coefficients have been set explicitly using the Bayer.WhiteBalanceCoefficients property will be used. (default is False)
Value | Meaning
True | The white balance coefficients that have been set explicitly will be used.
False | The white balance coefficients that have been set explicitly will not be used.
Remarks
  • Note that this property only has an effect if the ConversionEnabled is enabled.
  • You can manually specify the white balance coefficients, using the Bayer.WhiteBalanceCoefficients property. Alternatively, the CalculateCoefficients method can automatically calculate the white balance correction coefficients.
  • Use this property only when grabbing from a camera that has a Bayer color filter (as specified by the DCF), otherwise an error is generated.


Digitizer.Bayer.WhiteBalanceCoefficients Property

WhiteBalanceCoefficients property

See Also | Availability | MIL Equivalent | UseCoefficients | WhiteBalanceMode
User Guide:
Using images with the Bayer color filter

Reference:
Digitizer.Bayer
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Corona-II
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox CronosPlus
Not supported on Matrox Helios XA
Not supported on Matrox Morphis
Not supported on Matrox Odyssey XA
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MdigControl(
ControlType =
M_BAYER_COEFFICIENT_ID
)

MdigInquire(
InquireType =
M_BAYER_COEFFICIENT_ID
)
Digitizer
Bayer
WhiteBalanceCoefficients
Synopsis
Returns or sets the white balance correction coefficient for the specified intermediate RGB band.
[]
Syntax
Get:
[Single=]object.WhiteBalanceCoefficients(
Band As DigBandConstants
)

Set:
object.WhiteBalanceCoefficients(
Band As DigBandConstants,
value_to_set as Single
)
[]
Syntax
object->WhiteBalanceCoefficients[enum DigBandConstants Band] [= float]
Band
An DigBandConstants expression that specifies the intermediate RGB band.
Value | Meaning
digRed | Red band.
digGreen | Green band.
digBlue | Blue band.
Type description
A float value that specifies the value for the specified intermediate RGB band.
Remarks
  • Note that this property only has an effect if the ConversionEnabled is enabled.
  • You can specify a different coefficient for each band. To do so, set this property 3 times, each time specifying a different band.
  • The CalculateCoefficients method writes the white balance coefficients to this property. If you call the CalculateCoefficients method after setting this property, your values will be overwritten.
  • Use this property only when grabbing from a camera that has a Bayer color filter (as specified by the DCF), otherwise an error is generated.
  • For more information, see the Correcting the white balance of your Bayer images subsection in the Using images with the Bayer color filter section in Chapter 13: Images.


Digitizer.Bayer.WhiteBalanceMode Property

WhiteBalanceMode property

Availability | MIL Equivalent | WhiteBalanceCoefficients | CalculateCoefficients
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Corona-II
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox CronosPlus
Not supported on Matrox Helios XA
Not supported on Matrox Morphis
Not supported on Matrox Odyssey XA
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MdigControl(
ControlType =
M_WHITE_BALANCE
)

MdigInquire(
InquireType =
M_WHITE_BALANCE
)
Digitizer
Bayer
WhiteBalanceMode
Synopsis
Returns and sets whether to perform white balancing.
[]
Syntax
object.WhiteBalanceMode [= DigWhiteBalanceModeConstants]
[]
Syntax
object->WhiteBalanceMode [= enum DigWhiteBalanceModeConstants]
Type description
A DigWhiteBalanceModeConstants expression that sets whether to perform white balance correction on the grabbed image.
Value | Meaning
digWhiteBalanceEnable | Enables white balancing.
digWhiteBalanceDisable | Disables white balancing.
Remarks
  • You can use this property only if the ConversionEnabled property is enabled.
  • If you have not called the CalculateCoefficients method or manually set the Bayer.WhiteBalanceCoefficients property before enabling this property, the driver will automatically calculate the white balance coefficients and then use those coefficients for subsequent images.
  • Note that if this property is disabled and then re-enabled, the previously calculated coefficients (specified by the Bayer.WhiteBalanceCoefficients property) are used.
  • Use this property only when grabbing from a camera that has a Bayer color filter (as specified by the DCF), otherwise an error is generated.


Digitizer.Bayer.CalculateCoefficients Method

CalculateCoefficients method

Availability | MIL Equivalent | WhiteBalanceMode
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD

Not supported on:
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Helios XA
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Morphis
Not supported on Matrox Odyssey XA
Not supported on Matrox Orion
Not supported on Matrox Solios XCL
Not supported on Matrox Solios XA
MdigControl(
M_WHITE_BALANCE =
M_CALCULATE
)
Digitizer
Bayer
CalculateCoefficients
Synopsis
Calculates the new coefficients.
[]
Syntax
object.CalculateCoefficients()
[]
Syntax
void object->CalculateCoefficients()
Remarks
  • Note that this property only has an effect if the ConversionEnabled is enabled.
  • This method forces the calculation of new white balance coefficients and writes them to the Bayer.WhiteBalanceCoefficients property, overwriting existing coefficients.
  • To calculate the coefficients, the digitizer automatically grabs an image that it assumes is a uniform shade of gray that is not saturated. If you are using a triggered camera, you must send a trigger for the internal grab to complete; otherwise, this method will wait indefinitely. For more information, see the Correcting the white balance of your Bayer images subsection in the Using images with the Bayer color filter section in Chapter 13: Images.
  • Use this method only when grabbing from a camera that has a Bayer color filter (as specified by the DCF), otherwise an error is generated.


Digitizer.BlackReference Property

BlackReference property

See Also | Availability | MIL Equivalent | Bayer | Brightness
User Guide:
Reference levels

Reference:
Digitizer.ReferenceChannel
Digitizer.UseVoltageReference
Digitizer.WhiteReference
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Helios XCL
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Orion
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Solios XA
MdigReference(
ReferenceType =
M_BLACK_REF
)
Digitizer
BlackReference
Synopsis
Returns or sets the digitalization black reference level.
[]
Syntax
object.BlackReference [= Double]
[]
Syntax
object->BlackReference [= double]
Type description
A double value that specifies the input video signal's digitization white reference level (0 - 255).

Alternatively, this value can be a DigReferenceLevelConstants expression.
Value | Meaning
digMaxLevel | Sets the value to the maximum level.
digMinLevel | Sets the value to the minimum level.
Remarks
  • For RGB or multi-tap sources, the individual channels can be set to different levels. Use the ReferenceChannel property to select the channel to which to apply the reference change.
  • To calculate the value to pass to this property, use the following equation with the appropriate voltages specified in the remarks for your particular board:
  • Some consecutive levels might have the same effect, depending on the physical number of levels that can be set on your board.
  • Some digitizers might take a few milliseconds before the reference level stabilizes.
Remarks for Matrox Corona-II
  • The minimum black reference level setting 0 corresponds to 0.6 V, while the maximum black reference level setting 255 corresponds to 1.6 V.
  • The minimum black reference level setting 0 corresponds to 0.6 V, while the maximum black reference level setting 255 corresponds to 1.6 V.

    Note that some consecutive settings between these values might produce the same result due to the fact that there are only 98 distinct adjustments (adjustments of 10.23 mV each).

Remark for Matrox CronosPlus
  • This property is not supported, but you can control the reference levels by using the following:
    • When grabbing in monochrome, you can control the brightness and contrast levels of the composite input signal, using the Brightness and Contrast properties.
    • When grabbing in color, you can control the brightness, contrast, hue, and saturation levels of the composite input signal using the Brightness, Contrast, Hue, and Saturation properties.
Remarks for Matrox Genesis
  • The minimum black reference level setting 0 corresponds to 0.0 V, while the maximum black reference level setting 255 corresponds to 2.5 V.

    Note that some consecutive settings between these values might produce the same result due to the fact that there are only 255 distinct adjustments (adjustments of 9.80 mV each).

  • Also, note that the white level should be higher than the black level.
Remarks for Matrox Helios XA
  • The minimum black reference level setting 1 corresponds to -1V, while the maximum black reference level setting corresponds to +1V.
  • The following settings are for the Analog module only. Refer to Adjusting the reference levels, in the Frame Grabbers chapter of the Matrox Odyssey Installation and Hardware Guide. There are three ways to change the input signal's gain:

    The first method is to set the BlackReference and WhiteReference properties as a part of the maximum hardware value. This method is commonly used interactively (for example, in an application that allows you to change the settings until you are satisfied with the image quality). Note that the black reference level must always be less than the white level. Do not use the InputGain property if you are using this method since the gain will be adjusted automatically.

    The second method is to set the black and the white reference levels in Volts (for example, give 0.7 for 700 mV). By setting the reference level in volts, the optimum levels for the offset and gain controls will be calculated automatically. This is more useful if you know the actual input signal voltages.

    The third method is to set BlackReference and then use the InputGain property set to a value between the minimum and maximum values. This method corresponds more closely to the actual hardware that controls the reference levels. The hardware has an offset control followed by a gain control; the analog-to-digital converter cannot be programmed directly with the reference levels. Note that when using this method, you should not specify a white reference level because it would cause the gain to be altered.

  • This property can be set using a voltage value if the UseVoltageReference property is set to True. The reference levels are from -1.0V to +1.0V (for example, use 0.7 for 700mV).
Remark for Matrox Meteor-II /1394
  • This property is not supported, but you can control the reference levels by using the following:
    • When grabbing in monochrome, you can control the brightness and contrast levels of the composite input signal, using the Brightness and Contrast properties.
    • When grabbing in color, you can control the brightness, contrast, hue, and saturation levels of the composite input signal using the Brightness, Contrast, Hue, and Saturation properties.
Remark for Matrox Meteor-II /Multi-Channel
  • The minimum black reference level setting 0 corresponds to 0.6 V, while the maximum black reference level setting 255 corresponds to 1.6 V.

    Note that some consecutive settings between these values might produce the same result due to the fact that there are only 98 distinct adjustments (adjustments of 10.23 mV each).

Remark for Matrox Meteor-II /Standard
  • This property is not supported, but you can control the reference levels by using the following:
    • When grabbing in monochrome, you can control the brightness and contrast levels of the composite input signal, using the Brightness and Contrast properties.
    • When grabbing in color, you can control the brightness, contrast, hue, and saturation levels of the composite input signal using the Brightness, Contrast, Hue, and Saturation properties.
Remark for Matrox Morphis
  • This property is not supported, but you can control the reference levels by using the following:
    • When grabbing in monochrome, you can control the brightness and contrast levels of the composite input signal, using the Brightness and Contrast properties.
    • When grabbing in color, you can control the brightness, contrast, hue, and saturation levels of the composite input signal using the Brightness, Contrast, Hue, and Saturation properties.
Remarks for Matrox Odyssey XA
  • The minimum black reference level setting 1 corresponds to -1V, while the maximum black reference level setting corresponds to +1V.
  • The following settings are for the Analog module only. Refer to Adjusting the reference levels, in the Frame Grabbers chapter of the Matrox Odyssey Installation and Hardware Guide. There are three ways to change the input signal's gain:

    The first method is to set the BlackReference and WhiteReference properties as a part of the maximum hardware value. This method is commonly used interactively (for example, in an application that allows you to change the settings until you are satisfied with the image quality). Note that the black reference level must always be less than the white level. Do not use the InputGain property if you are using this method since the gain will be adjusted automatically.

    The second method is to set the black and the white reference levels in Volts (for example, give 0.7 for 700 mV). By setting the reference level in volts, the optimum levels for the offset and gain controls will be calculated automatically. This is more useful if you know the actual input signal voltages.

    The third method is to set BlackReference and then use the InputGain property set to a value between the minimum and maximum values. This method corresponds more closely to the actual hardware that controls the reference levels. The hardware has an offset control followed by a gain control; the analog-to-digital converter cannot be programmed directly with the reference levels. Note that when using this method, you should not specify a white reference level because it would cause the gain to be altered.

  • This property can be set using a voltage value if the UseVoltageReference property is set to True. The reference levels are from -1.0V to +1.0V (for example, use 0.7 for 700mV).
Remarks for Matrox Orion
  • The minimum black reference level setting 0 corresponds to 0.6 V, while the maximum black reference level setting 255 corresponds to 1.6 V.

    Note that some consecutive settings between these values might produce the same result due to the fact that there are only 98 distinct adjustments (adjustments of 10.23 mV each).

  • On the Matrox Orion, the black reference value can be set from 1 to 254.
  • When grabbing monochrome data using the decoder section, you can control the brightness and contrast levels of the input signal, using the Brightness and Contrast properties.
  • When grabbing in color using the decoder section, you can control the brightness, contrast, hue, and saturation levels of the composite input signal using the Brightness, Contrast, Hue, and Saturation properties.
Remarks for Matrox Solios XA
  • The minimum black reference level setting 1 corresponds to -1V, while the maximum black reference level setting corresponds to +1V.
  • The following settings are for the Analog module only. Refer to Adjusting the reference levels, in the Frame Grabbers chapter of the Matrox Odyssey Installation and Hardware Guide. There are three ways to change the input signal's gain:

    The first method is to set the BlackReference and WhiteReference properties as a part of the maximum hardware value. This method is commonly used interactively (for example, in an application that allows you to change the settings until you are satisfied with the image quality). Note that the black reference level must always be less than the white level. Do not use the InputGain property if you are using this method since the gain will be adjusted automatically.

    The second method is to set the black and the white reference levels in Volts (for example, give 0.7 for 700 mV). By setting the reference level in volts, the optimum levels for the offset and gain controls will be calculated automatically. This is more useful if you know the actual input signal voltages.

    The third method is to set BlackReference and then use the InputGain property set to a value between the minimum and maximum values. This method corresponds more closely to the actual hardware that controls the reference levels. The hardware has an offset control followed by a gain control; the analog-to-digital converter cannot be programmed directly with the reference levels. Note that when using this method, you should not specify a white reference level because it would cause the gain to be altered.

  • This property can be set using a voltage value if the UseVoltageReference property is set to True. The reference levels are from -1.0V to +1.0V (for example, use 0.7 for 700mV).


Digitizer.Brightness Property

Brightness property

See Also | Availability | MIL Equivalent | BlackReference | Calibration
User Guide:
Reference levels

Reference:
Digitizer.Contrast
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox CronosPlus
Fully supported on Matrox Morphis

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Corona-II
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Orion
MdigReference(
ReferenceType =
M_BRIGHTNESS_REF
)

MdigInquire(
InquireType =
M_BRIGHTNESS_REF
)
Digitizer
Brightness
Synopsis
Returns or sets the brightness reference level used to digitize composite video input signals.
[]
Syntax
object.Brightness [= Integer]
[]
Syntax
object->Brightness [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the brightness reference level used to digitize the video input signal (0 - 255).

Alternatively, this value can be set to a DigReferenceLevelConstants expression.
Value | Meaning
digMaxLevel | Sets the value to the maximum level.
digMinLevel | Sets the value to the minimum level.
Remarks
  • Some digitizers might take a few msecs before the reference level stabilizes.
  • Some consecutive levels might have the same effect, depending on the physical number of levels that can be set on your board.
Remark for Matrox Orion
  • This property is only supported when grabbing monochrome or color data with the decoder section.


Digitizer.Calibration Property

Calibration property

See Also | Availability | MIL Equivalent | Brightness | CalibrationName
User Guide:
Automatically getting results in real-world units
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalAssociate()
Digitizer
Calibration
Synopsis
Returns or sets the Calibration control to associate with the digitizer.
[]
Syntax
object.Calibration [= Calibration]
[]
Syntax
object->Calibration [= ICalibrationPtr]
Type description
A Calibration control that specifies the calibration to associate with the digitizer.
Remarks
  • The Calibration control can also be specified, with the name assigned to its control, using the CalibrationName property.
  • This property automatically sets the CalibrationName property.
  • []
     Use the Visual Basic Is Nothing statement to confirm that this property is currently not associated with a control.
  • []
     To remove the reference to the current control without assigning a new control, set the property to Nothing.
  • []
     To remove the reference to the current control without assigning a new control, set the property to NULL.


Digitizer.CalibrationName Property

CalibrationName property

See Also | Availability | MIL Equivalent | Calibration | CameraColorLockEnabled
User Guide:
Automatically getting results in real-world units
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalAssociate()
Digitizer
CalibrationName
Synopsis
Returns or sets the Calibration control to associate with the digitizer.
[]
Syntax
object.CalibrationName [= String]
[]
Syntax
object->CalibrationName [= _bstr_t]
Type description
A string expression that specifies the name of the Calibration control to associate with the digitizer.
Remarks
  • To remove the reference to the current control without assigning a new control, specify an empty string ("").
  • The Calibration control can also be specified using the Calibration property.
  • This property automatically sets the Calibration property.


Digitizer.CameraColorLockEnabled Property

CameraColorLockEnabled property

Availability | MIL Equivalent | CalibrationName | CameraLockEnabled
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Orion
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox CronosPlus
Fully supported on Matrox Morphis

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MdigControl(M_CAMERA_COLOR_LOCK)

MdigInquire(M_CAMERA_COLOR_LOCK)
Digitizer
CameraColorLockEnabled
Synopsis
Returns or sets if a color lock is performed.
[]
Syntax
object.CameraColorLockEnabled [= Boolean]
[]
Syntax
object->CameraColorLockEnabled [= VARIANT_BOOL]
Type description
A boolean value that specifies whether a color lock is performed. (default is True)
Value | Meaning
True | A color lock check is performed before the grab.
False | A color lock is not performed.
Remarks
  • This property can return True when the CameraLockEnabled property is set to True, or when the IsCameraLocked property returns True.
  • This property is only for use with composite color DCFs.
  • This property will always return false when using any DCF besides a composite color DCF.


Digitizer.CameraLockEnabled Property

CameraLockEnabled property

Availability | MIL Equivalent | CameraColorLockEnabled | CameraLockEvent
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Orion
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Solios XA

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Helios XCL
Not supported on Matrox Morphis
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XCL
MdigControl(M_CAMERA_LOCK)

MdigInquire(M_CAMERA_LOCK)
Digitizer
CameraLockEnabled
Synopsis
Returns or sets the state of the camera lock mechanism.
[]
Syntax
object.CameraLockEnabled [= Boolean]
[]
Syntax
object->CameraLockEnabled [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the digitizer is locked with the video source before starting the grab. (default is True)
Value | Meaning
True | The digitizer waits for a camera lock before grabbing.
False | The digitizer does not wait for a camera lock before grabbing.
Remarks
  • This property is useful during channel-switching when the digitizer might not be synchronized with the source.
  • Setting this property to False can result in a synchronization-lost error.


Digitizer.CameraLockEvent Property

CameraLockEvent property

See Also | Availability | MIL Equivalent | CameraLockEnabled | CameraLockSensitivity
Reference:
Digitizer.CameraLock
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Solios XA

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Helios XCL
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Morphis
Not supported on Matrox Odyssey XCL
Not supported on Matrox Orion
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XCL
No MIL equivalent
Digitizer
CameraLockEvent
Synopsis
Returns or sets whether the CameraLock event is enabled.
[]
Syntax
object.CameraLockEvent [= Boolean]
[]
Syntax
object->CameraLockEvent [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the CameraLock event is enabled.
Value | Meaning
True | The CameraLock event is enabled and will be fired.
False | The CameraLock event is disabled so it will not be fired.


Digitizer.CameraLockSensitivity Property

CameraLockSensitivity property

Availability | MIL Equivalent | CameraLockEvent | CameraPresentEvent
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard

Not supported on:
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Morphis
See remarks for support on Matrox Orion
MdigControl(M_CAMERA_LOCK_SENSITIVITY)

MdigInquire(M_CAMERA_LOCK_SENSITIVITY)
Digitizer
CameraLockSensitivity
Synopsis
Returns or sets the line-lock sensitivity of the camera.
[]
Syntax
object.CameraLockSensitivity [= Integer]
[]
Syntax
object->CameraLockSensitivity [= long]
Type description
A long value from 0 to 255 that specifies the balance between the speed and reliability.
Remark
  • This property is useful to balance the lock-speed with the lock-reliability.
Remark for Matrox Morphis
  • This property is available only if the camera is already locked.
Remark for Matrox Orion
  • This property is available only if the camera is already locked.


Digitizer.CameraPresentEvent Property

CameraPresentEvent property

See Also | Availability | MIL Equivalent | CameraLockSensitivity | CameraUnlockSensitivity
Reference:
Digitizer.CameraPresent
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox Helios XA
Fully supported on Matrox Solios XA

Not supported on:
Not supported on Matrox Morphis
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Helios XCL
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Orion
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XCL
No MIL equivalent
Digitizer
CameraPresentEvent
Synopsis
Returns or sets whether the CameraPresent event is enabled.
[]
Syntax
object.CameraPresentEvent [= Boolean]
[]
Syntax
object->CameraPresentEvent [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the CameraPresent event is enabled.
Value | Meaning
True | The CameraPresent event is enabled and will be fired.
False | The CameraPresent event is disabled so it will not be fired.


Digitizer.CameraUnlockSensitivity Property

CameraUnlockSensitivity property

Availability | MIL Equivalent | CameraPresentEvent | Channel
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II

Not supported on:
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Morphis
See remarks for support on Matrox Orion
MdigControl(M_CAMERA_UNLOCK_SENSITIVITY)

MdigInquire(M_CAMERA_UNLOCK_SENSITIVITY)
Digitizer
CameraUnlockSensitivity
Synopsis
Returns or sets the line-lock sensitivity of the camera when the camera is not locked.
[]
Syntax
object.CameraUnlockSensitivity [= Integer]
[]
Syntax
object->CameraUnlockSensitivity [= long]
Type description
A long value from 0 to 255 that specifies the balance between the speed and reliability.
Remarks
  • This property is useful to balance the unlock-speed with the unlock-reliability.
  • When performing a channel-switch, the hardware needs to be unlocked from the video source before locking to the new video source. If the hardware is not unlocked properly, it can affect the speed and reliability of the next lock.
Remark for Matrox Morphis
  • This property is available only if the camera is not already locked.
Remark for Matrox Orion
  • This property is available only if the camera is not already locked.


Digitizer.Channel Property

Channel property

See Also | Availability | MIL Equivalent | CameraUnlockSensitivity | ColorMode
User Guide:
The device number

Reference:
Digitizer.CameraLockEnabled
Digitizer.SignalChannel
Digitizer.SyncChannel
Available in ActiveMIL-Lite

Available in ActiveMIL

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Orion
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MdigChannel(Channel)

MdigInquire(
InquireType =
M_CHANNEL
)
Digitizer
Channel
Synopsis
Returns or sets the active input data and synchronization channel of the digitizer.
[]
Syntax
object.Channel [= DigChannelConstants]
[]
Syntax
object->Channel [= enum DigChannelConstants]
Type description
A DigChannelConstants expression or an ActiveMILDefaultConstant expression that specifies the channel on which the digitizer is to receive the video signal by default. The default synchronization channel specified in the DCF will be used.
Value | Meaning
amilDefault | The default channel for the specified DCF or digCh0.
digCh0 | Channel 0.
digCh1 | Channel 1.
digCh2 | Channel 2.
digCh3 | Channel 3.
digCh4 | Channel 4.
digCh5 | Channel 5.
digCh6 | Channel 6.
digCh7 | Channel 7.
digCh8 | Channel 8.
digCh9 | Channel 9.
digCh10 | Channel 10.
digCh11 | Channel 11.
digCh12 | Channel 12.
digCh13 | Channel 13.
digCh14 | Channel 14.
digCh15 | Channel 15.
digCh16 | Channel 16.
digCh17 | Channel 17.
digCh18 | Channel 18.
digCh19 | Channel 19.
digCh20 | Channel 20.
digCh21 | Channel 21.
digCh22 | Channel 22.
digCh23 | Channel 23.
digChRGB | RGB input. Same as digCh0 except that synchronization is set on digCh3.
Remark
  • The available settings depend on the number of channels supported by the digitizer's data format. If the digitizer does not have the specified channel, an error is generated and the last selected channel remains effective.
Remarks for Matrox Corona-II
  • To set the active input data channel independently, use the SignalChannel property.
  • To set the synchronization channel independently, use the SyncChannel property.
  • digChRGB is available only if grabbing from an RGB source.
  • If you intend to switch channels, enable camera locking before the switch (use the CameraLockEnabled property). Locking the camera during channel-switching is useful when the digitizer might not be synchronized with the source. When performing a channel-switch, the hardware needs to be unlocked from the current camera and locked to the new camera. If the hardware is not locked properly, it can affect the speed and reliability of the next unlock. Sets whether the camera is locked during channel-switching.
  • The camera description and the mode, specified in the DCF, determine the channels available for switching:
    Camera Type | Channel | Signal/Synchronization input
    Any | amilDefault | Same as digCh0.
    RGB | digCh0 | VID1_IN1, VID1_IN2, and VID1_IN3
    digCh1 | VID2_IN1, VID2_IN2, and VID2_IN3
    digChRGB | VID1_IN1, VID1_IN2, and VID1_IN3 .and SYNC_IN (synchronization signal)
    Monochrome | digCh0 | VID1_IN1
    digCh1 | VID1_IN2
    digCh2 | VID1_IN3
    digCh4 | VID2_IN1
    digCh5 | VID2_IN2
    digCh6 | VID2_IN3
    Monochrome dual-tap | digCh0 | VID1_IN1, VID1_IN2
    digCh1 | VID2_IN1, VID2_IN2

    Note that the number of channels available is determined by the camera type used. However, digCh3 is not supported.

Remarks for Matrox CronosPlus
  • If you intend to switch channels, enable camera locking before the switch (use the CameraLockEnabled property). Locking the camera during channel-switching is useful when the digitizer might not be synchronized with the source. When performing a channel-switch, the hardware needs to be unlocked from the current camera and locked to the new camera. If the hardware is not locked properly, it can affect the speed and reliability of the next unlock. Sets whether the camera is locked during channel-switching.
  • The camera description and the mode, specified in the DCF, determine the channels available for switching:
    Camera Type | Channel | Signal input
    Monochrome or composite | digCh0 | VID_IN0
    digCh1 | VID_IN1
    digCh2 | VID_IN2
    digCh3 | VID_IN3

    Note that only digCh0 through digCh3 are supported.

Remarks for Matrox Genesis
  • To set the active input data channel independently, use the SignalChannel property.
  • To set the synchronization channel independently, use the SyncChannel property.
  • The camera description and the mode, specified in the DCF, determine the channels available for switching:
    Camera Type | Channel | Signal input | Synchronization
    Monochrome | digCh0 | Analog video input 1 | Analog video input 1
    digCh1 | Analog video input 2 | Analog video input 2
    digCh2 | Analog video input 3 | Analog video input 3
    digCh3 | Analog video input 4 | Analog video input 4
    digRGB
    8-bit monochrome digital input | digCh0 | DATA,INPUT 0-7
    digCh1 | DATA,INPUT 8-15
    digCh2 | DATA, INPUT 16-23
    digCh3 | DATA, INPUT 24-31
    digRGB
    16-bit or 8-bit dual-tap monochrome digital input | digCh0 | DATA, INPUT 0-15
    digCh1 | DATA, INPUT 16-31

    Note that the number of channels available is determined by the camera type used.

Remarks for Matrox Helios XA
  • To set the active input data channel independently, use the SignalChannel property.
  • To set the synchronization channel independently, use the SyncChannel property.
  • If you intend to switch channels, enable camera locking before the switch (use the CameraLockEnabled property). Locking the camera during channel-switching is useful when the digitizer might not be synchronized with the source. When performing a channel-switch, the hardware needs to be unlocked from the current camera and locked to the new camera. If the hardware is not locked properly, it can affect the speed and reliability of the next unlock. Sets whether the camera is locked during channel-switching.
  • The camera description and the mode, specified in the DCF, determine the channels available for switching::
    Channel | Signal/Synchronization input
    digCh0 | P0_VID_IN_ n, where n is either A or B.
    digCh1 | P1_VID_IN_ n, where n is either A or B.

    Note that only digCh0 and digCh1 are supported.

  • The active input data signal must be received on a signal whose name ends with the same letter as the data signal or the specified digitizer must not be able to receive data on this signal.
Remark for Matrox Helios XCL
  • Only digCh0 and amilDefault are available. No channel switching is supported.
Remark for Matrox Meteor-II /1394
  • The camera description and the mode, specified in the DCF, determine the channels available for switching:
    Camera Type | Channel | Signal/Synchronization input
    Any | amilDefault | Same as digCh0
    Y/C | digCh0 | VID_IN1 (Y camera 1) and VID_IN2 (C camera 1)
    Monochrome | digCh0 | VID_IN1 and 1394 INPUT

    Note that only digCh0 is supported.

Remarks for Matrox Meteor-II /Camera Link
  • To set the active input data channel independently, use the SignalChannel property.
  • The camera description and the mode, specified in the DCF, determine the channels available for switching:
    Camera Type | Channel | Signal input
    Any | amilDefault | Same as digCh0.
    Base mode connection | digCh0 | Connector 1
    digCh1 | Connector 1

    Note that only digCh0 and digCh1 are supported.

    For more information on the camera description, see the Cameras that can be connected to Matrox Meteor-II section in Chapter 5: Matrox Meteor-II of the Board Specific notes.

Remark for Matrox Meteor-II /Digital
  • The camera description and the mode, specified in the DCF, determine the channels available for switching:
    Camera Type | Channel | Signal input
    Any | amilDefault | Same as digCh0.
    8-bit monochrome | digCh0 | DATA,INPUT 0-7
    digCh1 | DATA,INPUT 8-15
    digCh2 | DATA, INPUT 16-23
    digCh3 | DATA, INPUT 24-31
    16-bit or 8-bit dual-tap monochrome | digCh0 | DATA, INPUT 0-15
    digCh1 | DATA, INPUT 16-31

    Note that the number of channels available is determined by the camera type used.

Remarks for Matrox Meteor-II /Multi-Channel
  • To set the active input data channel independently, use the SignalChannel property.
  • To set the synchronization channel independently, use the SyncChannel property.
  • digChRGB is available only if grabbing from an RGB source.
  • If you intend to switch channels, enable camera locking before the switch (use the CameraLockEnabled property). Locking the camera during channel-switching is useful when the digitizer might not be synchronized with the source. When performing a channel-switch, the hardware needs to be unlocked from the current camera and locked to the new camera. If the hardware is not locked properly, it can affect the speed and reliability of the next unlock. Sets whether the camera is locked during channel-switching.
  • The camera description and the mode, specified in the DCF, determine the channels available for switching:
    Camera Type | Channel | Signal input | Synchronization signal
    Any | amilDefault | Same as digCh0. | Same as digCh0.
    RGB | digCh0 | VID1_IN1, VID1_IN2, and VID1_IN3
    digCh1 | VID2_IN1, VID2_IN2, and VID2_IN3
    digRGB | VID1_IN1, VID1_IN2, and VID1_IN3 | SYNC_IN
    Monochrome¹ | digCh0 | VID1_IN1 | VID1_IN1
    digCh1 | VID1_IN2 | VID1_IN2
    digCh2 | VID1_IN3 | VID1_IN3
    digCh3 | SYNC_IN
    digCh4 | VID2_IN1 | VID2_IN1
    digCh5 | VID2_IN2 | VID2_IN2
    digCh6 | VID2_IN3 | VID2_IN3
    digCh7 | SYNC_IN
    Monochrome dual-tap | digCh0 | VID1_IN1 and VID1_IN2
    digCh1 | VID2_IN1 and VID2_IN2

    Note that the number of channels available is determined by the camera type used.

    ¹ digCh3 and digCh7 are not supported for data with a monochrome camera.

Remarks for Matrox Meteor-II /Standard
  • If you intend to switch channels, enable camera locking before the switch (use the CameraLockEnabled property). Locking the camera during channel-switching is useful when the digitizer might not be synchronized with the source. When performing a channel-switch, the hardware needs to be unlocked from the current camera and locked to the new camera. If the hardware is not locked properly, it can affect the speed and reliability of the next unlock. Sets whether the camera is locked during channel-switching.
  • The camera description and the mode, specified in the DCF, determine the channels available for switching:
    Camera Type | Channel | Signal/Synchronization input
    Any | amilDefault | Same as digCh0
    Y/C | digCh0 | VID_IN1 (Y camera 1) and VID_IN2 (C camera 1)
    digCh1 | VID_IN3 (Y camera 2) and VID_IN4 (C camera 2)
    digCh2 | VID_IN6 (Y camera 3) and VID_IN7 (C camera 4)
    digCh3 | VID_IN8 (Y camera 4) and VID_IN5 (C camera 4)
    digCh4 | VID_IN9 (Y camera 5) and VID_IN10 (C camera 5)
    digCh5 | VID_IN11 (Y camera 6) and VID_IN12 (C camera 6)
    Composite¹ or monochrome | digCh0 | VID_IN1
    digCh1 | VID_IN2
    digCh2 | VID_IN3
    digCh3 | VID_IN4
    digCh4 | VID_IN5
    digCh5 | VID_IN6
    digCh6 | VID_IN7
    digCh7 | VID_IN8
    digCh8 | VID_IN9
    digCh9 | VID_IN10
    digCh10 | VID_IN11
    digCh11 | VID_IN12

    ¹ Composite cameras refer to the Matrox Meteor-II /Standard only.

    Matrox Meteor-II /Standard for CompactPCI supports up to 7 monochrome cameras only.

    Note that the number of channels available is determined by the camera type used.

Remarks for Matrox Morphis
  • If you intend to switch channels, enable camera locking before the switch (use the CameraLockEnabled property). Locking the camera during channel-switching is useful when the digitizer might not be synchronized with the source. When performing a channel-switch, the hardware needs to be unlocked from the current camera and locked to the new camera. If the hardware is not locked properly, it can affect the speed and reliability of the next unlock. Sets whether the camera is locked during channel-switching.
  • The camera description and the mode, specified in the DCF, determine the channels available for switching:
    Camera Type | Channel | Signal input
    Any | amilDefault | Same as digCh0.
    Monochrome | digCh0 | VID_IN0
    digCh1 | VID_IN1
    digCh2 | VID_IN2
    digCh3 | VID_IN3
    digCh4 | VID_IN4
    digCh5 | VID_IN5
    digCh6 | VID_IN6
    digCh7 | VID_IN7
    digCh8 | VID_IN8
    digCh9 | VID_IN9
    digCh10 | VID_IN10
    digCh11 | VID_IN11
    digCh12 | VID_IN12
    digCh13 | VID_IN13
    digCh14 | VID_IN14
    digCh15 | VID_IN15
    Y/C | digCh0 | VID_IN0 (Y of Camera 1) and VID_IN1 (C of Camera 1)
    digCh1 | VID_IN2 (Y of Camera 2) and VID_IN3 (C of Camera 2)
    digCh2 | VID_IN4 (Y of Camera 3) and VID_IN5 (C of Camera 3)
    digCh3 | VID_IN6 (Y of Camera 4) and VID_IN7 (C of Camera 4)
    digCh4 | VID_IN8 (Y of Camera 5) and VID_IN9 (C of Camera 5)
    digCh5 | VID_IN10 (Y of Camera 6) and VID_IN11 (C of Camera 6)
    digCh6 | VID_IN12 (Y of Camera 7) and VID_IN13 (C of Camera 7)
    digCh7 | VID_IN14 (Y of Camera 8) and VID_IN15 (C of Camera 8)

    Note that the number of channels supported depends on the type of cameras used.

  • If you intend to switch channels after grabbing a single field or frame, enable the fast-channel switching mode to minimize loss of time between grabs; enable the digFastCameraLock control type of the Control method Digitizer control.
Remarks for Matrox Odyssey XA
  • To set the active input data channel independently, use the SignalChannel property.
  • To set the synchronization channel independently, use the SyncChannel property.
  • If you intend to switch channels, enable camera locking before the switch (use the CameraLockEnabled property). Locking the camera during channel-switching is useful when the digitizer might not be synchronized with the source. When performing a channel-switch, the hardware needs to be unlocked from the current camera and locked to the new camera. If the hardware is not locked properly, it can affect the speed and reliability of the next unlock. Sets whether the camera is locked during channel-switching.
  • The camera description and the mode, specified in the DCF, determine the channels available for switching::
    Channel | Signal/Synchronization input
    digCh0 | P0_VID_IN_ n, where n is either A or B.
    digCh1 | P1_VID_IN_ n, where n is either A or B.

    Note that only digCh0 and digCh1 are supported.

  • The active input data signal must be received on a signal whose name ends with the same letter as the data signal or the specified digitizer must not be able to receive data on this signal.
Remark for Matrox Odyssey XCL
  • Only digCh0 and amilDefault are available. No channel switching is supported.
Remark for Matrox Odyssey XD
  • Only digCh0 and amilDefault are available. No channel switching is supported.
Remarks for Matrox Orion
  • To set the active input data channel independently, use the SignalChannel property.
  • To set the synchronization channel independently, use the SyncChannel property.
  • digChRGB is available only if grabbing from an RGB source.
  • If you intend to switch channels, enable camera locking before the switch (use the CameraLockEnabled property). Locking the camera during channel-switching is useful when the digitizer might not be synchronized with the source. When performing a channel-switch, the hardware needs to be unlocked from the current camera and locked to the new camera. If the hardware is not locked properly, it can affect the speed and reliability of the next unlock. Sets whether the camera is locked during channel-switching.
  • The camera description and the mode, specified in the DCF, determine the channels available for switching:
    Camera Type | Channel | Signal/Synchronization input | Orion | Orion / Std for 4Sight-II | Orion /RGB for 4Sight-II | Orion /Dual for 4Sight-II
    Any | amilDefault | Same as digCH0. | Yes | Yes | Yes | Yes
    Monochrome | digCh0 | VID_IN1 | Yes | Yes
    digCh1 | VID_IN2 | Yes | Yes
    digCh2 | VID_IN3 | Yes | Yes
    digCh4 | VID_IN5 | Yes | Yes
    digCh5 | VID_IN6 | Yes | Yes
    digCh6 | VID_IN7 | Yes | Yes
    Color RGB (RGB path) | digCh0 | VID_IN1, VID_IN2 and VID_IN3 | Yes | Yes
    digCh1 | VID_IN5, VID_IN6, and VID_IN7 | Yes | Yes
    digRGB | VID_IN1, VID_IN2, and VID_IN3. SYNCH_IN (synchronization signal). | Yes | Yes
    Composite-monochrome/color (decoder path) | digCh0 | VID_IN1 | Yes | Yes | Yes | Yes
    digCh1 | VID_IN2 | Yes | Yes | Yes | Yes
    digCh2 | VID_IN3 | Yes | Yes | Yes | Yes
    digCh3 | VID_IN4 | Yes | Yes | Yes | Yes
    digCh4 | VID_IN5 | Yes | Yes | Yes | Yes
    digCh5 | VID_IN6 | Yes | Yes | Yes | Yes
    digCh6 | VID_IN7 | Yes | Yes | Yes | Yes
    digCh7 | VID_IN8 | Yes | Yes | Yes | Yes
    digCh8 | VID_IN9 | Yes | Yes | Yes
    digCh9 | VID_IN10 | Yes | Yes | Yes
    digCh10 | VID_IN11 | Yes | Yes | Yes
    digCh11 | VID_IN12 | Yes | Yes | Yes
    digCh12 | VID_IN13 | Yes
    digCh13 | VID_IN14 | Yes
    digCh14 | VID_IN15 | Yes
    digCh15 | VID_IN16 | Yes
    digCh16 | VID_IN17 | Yes
    digCh17 | VID_IN18 | Yes
    digCh18 | VID_IN19 | Yes
    digCh19 | VID_IN20 | Yes
    digCh20 | VID_IN21 | Yes
    digCh21 | VID_IN22 | Yes
    digCh22 | VID_IN23 | Yes
    digCh23 | VID_IN24 | Yes
    Y/C (decoder path) | digCh0 | VID_IN1 (Y of camera 1) and VID_IN2 (C of camera 1) | Yes | Yes | Yes | Yes
    digCh1 | VID_IN3 (Y of camera 2) and VID_IN4 (C of camera 2) | Yes | Yes | Yes | Yes
    digCh2 | VID_IN5 (Y of camera 3) and VID_IN6 (C of camera 3) | Yes | Yes | Yes | Yes
    digCh3 | VID_IN7 (Y of camera 4) and VID_IN8 (C of camera 4) | Yes | Yes | Yes | Yes
    digCh4 | VID_IN9 (Y of camera 5) and VID_IN10 (C of camera 5) | Yes | Yes | Yes
    digCh5 | VID_IN1 (Y of camera 6) and VID_IN12 (C of camera 6) | Yes | Yes | Yes

    ¹ digCh3 and digCh7 are not supported for data with a monochrome camera. Instead, they are used for synchronization.

    Note that the number of channels supported depends on the type of cameras used.

    When using the RGB path on Matrox Orion or Matrox Orion /RGB for 4Sight-II, you can override the default channel specified in the DCF using the SyncChannel property.

    Only digCh0 through digCh7 are supported on Matrox Orion. digCh12 through digCH23 are supported on the Matrox Orion /Dual for 4Sight-II.

  • If you intend to switch channels after grabbing a single field or frame, enable the fast-channel switching mode to minimize loss of time between grabs; enable the digFastCameraLock control type of the Control method Digitizer control.
Remarks for Matrox Solios XA
  • To set the active input data channel independently, use the SignalChannel property.
  • To set the synchronization channel independently, use the SyncChannel property.
  • If you intend to switch channels, enable camera locking before the switch (use the CameraLockEnabled property). Locking the camera during channel-switching is useful when the digitizer might not be synchronized with the source. When performing a channel-switch, the hardware needs to be unlocked from the current camera and locked to the new camera. If the hardware is not locked properly, it can affect the speed and reliability of the next unlock. Sets whether the camera is locked during channel-switching.
  • The camera description and the mode, specified in the DCF, determine the channels available for switching::
    Channel | Signal/Synchronization input
    digCh0 | P0_VID_IN_ n, where n is either A or B.
    digCh1 | P1_VID_IN_ n, where n is either A or B.

    Note that only digCh0 and digCh1 are supported.

  • The active input data signal must be received on a signal whose name ends with the same letter as the data signal or the specified digitizer must not be able to receive data on this signal.
Remark for Matrox Solios XCL
  • Only digCh0 and amilDefault are available. No channel switching is supported.


Digitizer.ColorMode Property

ColorMode property

Availability | MIL Equivalent | Channel | Contrast
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Orion

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MdigInquire(
InquireType =
M_COLOR_MODE
)
Digitizer
ColorMode
Synopsis
Returns the color mode of the input video signal.
[]
Syntax
[DigColorModeConstants =] object.ColorMode
[]
Syntax
[enum DigColorModeConstants =] object->ColorMode
Type description
A DigColorModeConstants expression that specifies the color mode of the signal.
Value | Meaning
digComposite | Composite color input.
digMonochrome | Monochrome input.
digRGB | Component RGB color input.
digExternalChrominance | Separate chrominance color input.
digMonochromeViaRGB | Monochrome input through the RGB section.
Remark for Matrox Corona-II
  • Only the digRGB and digMonochromeViaRGB ColorMode settings are supported.
Remark for Matrox CronosPlus
  • Only the digMonochrome, digExternalChrominance, and digComposite ColorMode settings are supported.
Remark for Matrox Genesis
  • Only the digRGB and digMonochrome ColorMode settings are supported.
Remark for Matrox Helios XA
  • Only the digRGB, digMonochromeViaRGB, and digMonochrome ColorMode settings are supported.
Remark for Matrox Helios XCL
  • Only the digRGB, digMonochromeViaRGB, and digMonochrome ColorMode settings are supported.
Remark for Matrox Meteor-II /1394
  • Only the digMonochromeViaRGB ColorMode settings are supported.
Remark for Matrox Meteor-II /Camera Link
  • Only the digRGB and digMonochrome ColorMode settings are supported.
Remark for Matrox Meteor-II /Digital
  • Only the digRGB and digMonochrome ColorMode settings are supported.
Remark for Matrox Meteor-II /Multi-Channel
  • Only the digMonochromeViaRGB and digRGB ColorMode settings are supported.
Remark for Matrox Meteor-II /Standard
  • Only the digMonochrome, digExternalChrominance, and digComposite ColorMode settings are supported.
Remark for Matrox Morphis
  • Only the digMonochrome, digExternalChrominance, and digComposite ColorMode settings are supported.
Remark for Matrox Odyssey XA
  • Only the digRGB and digMonochrome ColorMode settings are supported.
Remark for Matrox Odyssey XCL
  • Only the digRGB and digMonochrome ColorMode settings are supported.
Remark for Matrox Odyssey XD
  • Only the digRGB and digMonochrome ColorMode settings are supported.
Remark for Matrox Solios XA
  • Only the digRGB, digMonochromeViaRGB, and digMonochrome ColorMode settings are supported.
Remark for Matrox Solios XCL
  • Only the digRGB, digMonochromeViaRGB, and digMonochrome ColorMode settings are supported.


Digitizer.Contrast Property

Contrast property

See Also | Availability | MIL Equivalent | ColorMode | DataDepth
User Guide:
Reference levels

Reference:
Digitizer.Brightness
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox CronosPlus
Fully supported on Matrox Morphis

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Corona-II
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XCL
Not supported on Matrox Solios XA

See remarks for support on:
See remarks for support on Matrox Orion
MdigReference(
ReferenceType =
M_CONTRAST_REF
)

MdigInquire(
InquireType =
M_CONTRAST_REF
)
Digitizer
Contrast
Synopsis
Returns or sets the contrast reference level used to digitize composite video input signals.
[]
Syntax
object.Contrast [= Integer]
[]
Syntax
object->Contrast [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the contrast reference level used to digitize composite video input signals (0 - 255).

Alternatively, this value can be to set a DigReferenceLevelConstants expression.
Value | Meaning
digMaxLevel | Sets the value to the maximum level.
digMinLevel | Sets the value to the minimum level.
Remarks
  • Some digitizers might take a few msecs before the reference level stabilizes.
  • Some consecutive levels might have the same effect, depending on the physical number of levels that can be set on your board.
Remark for Matrox Orion
  • This property is only supported when grabbing monochrome or color data with the decoder section.


Digitizer.DataDepth Property

DataDepth property

See Also | Availability | MIL Equivalent | Contrast | DataType
User Guide:
The data format

Reference:
Digitizer.DataType
Digitizer.Format
Digitizer.OwnerSystem
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigInquire(
InquireType =
M_SIZE_BIT
)
Digitizer
DataDepth
Synopsis
Returns the digitizer's data depth.
[]
Syntax
[Integer =] object.DataDepth
[]
Syntax
[long =] object->DataDepth
Type description
A long value that specifies the number of bits. Possible values are 1, 8, 16, or 32.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The digitizer's DCF, specified using the Format property, establishes the value of this property.


Digitizer.DataType Property

DataType property

See Also | Availability | MIL Equivalent | DataDepth | DeviceNumber
User Guide:
The data format

Reference:
Digitizer.DataDepth
Digitizer.Format
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigInquire(
InquireType =
M_FORMAT
)
Digitizer
DataType
Synopsis
Returns the digitizer's data type.
[]
Syntax
[DigDataTypeConstants =] object.DataType
[]
Syntax
[enum DigDataTypeConstants =] object->DataType
Type description
A DigDataTypeConstants expression that specifies the data type.
Value | Meaning
digUnsigned | The data includes only non-negative integers.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The digitizer's DCF, specified using the Format property, establishes the value of this property.


Digitizer.DeviceNumber Property

DeviceNumber property

See Also | Availability | MIL Equivalent | DataType | Exposure1ClockFrequency
User Guide:
The device number
Available in ActiveMIL-Lite

Available in ActiveMIL

See remarks for support on:
See remarks for support on Matrox Corona-II
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Genesis
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Orion
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MdigAlloc(DigNum)
Digitizer
DeviceNumber
Synopsis
Returns or sets the device number of the digitizer.
[]
Syntax
object.DeviceNumber [= Integer]
[]
Syntax
object->DeviceNumber [= long]
Type description
A long value that specifies the device number.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • This property identifies the first acquisition path with which to associate a timing control unit (for example, a programmable synchronization generator (PSG) or a video capture controller) on your frame grabber.
  • If the system supports the possibility of independent acquisition paths, the digitizer's device number together with its DCF establishes if it represents dependent or independent acquisition path(s) from other digitizers on the system. If independent, grabs from these digitizers occur simultaneously. If dependent, grabs from these digitizers occur consecutively.
  • To inquire about the number of possible independent digitizers that can be allocated in a system, use the NumberOfDigitizers property of the System control.
  • The list of possible values is restricted by the DCF, specified using the Format property of the Digitizer control, and the particular frame grabber that you are using.
  • For more information on device numbers, see The Device Number section in Digitizer of the ActiveMIL User Guide.
Remark for Matrox Corona-II
  • This property must be set to 0, since you can only grab from one digitizer at a time.
Remark for Matrox CronosPlus
  • This property must be set to 0, since you can only grab from one digitizer at a time.
Remark for Matrox Genesis
  • This property must be set to 0, since you can only grab from one digitizer at a time.
Remarks for Matrox Helios XA
  • This property must be set to a value in the range of 0 to 3.
  • For details regarding how to specify an appropriate value, as well as the allocation of specific independent digitizers, see Allocating independent ActiveMIL digitizers in the Matrox Helios chapter of the Board Specific Notes.
Remarks for Matrox Helios XCL
  • This property must be set to 0 when using the single-Full version and to either 0 or 1 when using the dual-Base version. (You can grab from only up to two digitizers at a time.)
  • For details regarding how to specify an appropriate value, as well as the allocation of specific independent digitizers, see Allocating independent ActiveMIL digitizers in the Matrox Helios chapter of the Board Specific Notes.
Remarks for Matrox Meteor-II /1394
  • This property must be set to 0, since you can only grab from one digitizer at a time.
  • For details regarding grabbing from multiple cameras, see Grabbing from multiple 1394 DCAM-compliant cameras in the Matrox Meteor-II chapter of the Board Specific Notes.
Remark for Matrox Meteor-II /Camera Link
  • This property must be set to 0, since you can only grab from one digitizer at a time.
Remark for Matrox Meteor-II /Digital
  • This property must be set to 0, since you can only grab from one digitizer at a time.
Remark for Matrox Meteor-II /Multi-Channel
  • This property must be set to 0, since you can only grab from one digitizer at a time.
Remark for Matrox Meteor-II /Standard
  • This property must be set to 0, since you can only grab from one digitizer at a time.
Remarks for Matrox Morphis
  • When dealing with Matrox Morphis Dual or Matrox Morphis PC/104-Plus, this property must be set to a value in the range of 0 to 1.
  • When dealing with Matrox Morphis Quad, this property must be set to a value in the range of 0 to 4.
Remarks for Matrox Odyssey XA
  • When dealing with a cluster of boards featuring Matrox Odyssey Xpro, this property must be set to a value in the range of 0 to 31. Otherwise, this property must be set to a value in the range of 0 to 3.
  • Note that when dealing with a cluster of boards featuring Matrox Odyssey Xpro, each board within the cluster has its acquisition paths numbered sequentially. To determine which device number associates with which board, use the Inquire method of the System control with sysDevnDigitizerType, where n is the device number in question. Use the NumberOfDigitizers property of the System control to return the total number of possible independent digitizers available to the specified system.
  • For details regarding how to specify an appropriate value, as well as the allocation of specific independent digitizers, see Allocating independent ActiveMIL digitizers in the Matrox Odyssey chapter of the Board Specific Notes.
Remarks for Matrox Odyssey XCL
  • When dealing with a cluster of boards featuring Matrox Odyssey Xpro, this property must be set to a value in the range of 0 to 31. Otherwise, this property is set to 0 when using the Single-Full version and to 0 or 1 when using the Dual-Base version (since you can grab from only up to two digitizers at a time).
  • Note that when dealing with a cluster of boards featuring Matrox Odyssey Xpro, each board within the cluster has its acquisition paths numbered sequentially. To determine which device number associates with which board, use the Inquire method of the System control with sysDevnDigitizerType, where n is the device number in question. Use the NumberOfDigitizers property of the System control to return the total number of possible independent digitizers available to the specified system.
  • For details regarding how to specify an appropriate value, as well as the allocation of specific independent digitizers, see Allocating independent ActiveMIL digitizers in the Matrox Odyssey chapter of the Board Specific Notes.
Remarks for Matrox Odyssey XD
  • When dealing with a cluster of boards featuring Matrox Odyssey Xpro, this property must be set to a value in the range of 0 to 31. Otherwise, this property must be set to a value in the range of 0 to 3.
  • Note that when dealing with a cluster of boards featuring Matrox Odyssey Xpro, each board within the cluster has its acquisition paths numbered sequentially. To determine which device number associates with which board, use the Inquire method of the System control with sysDevnDigitizerType, where n is the device number in question. Use the NumberOfDigitizers property of the System control to return the total number of possible independent digitizers available to the specified system.
  • For details regarding how to specify an appropriate value, as well as the allocation of specific independent digitizers, see Allocating independent ActiveMIL digitizers in the Matrox Odyssey chapter of the Board Specific Notes.
Remark for Matrox Orion
  • This property must be set to either 0 or 1, since you can only grab from up to two digitizers at a time. The value 1 is only available for Matrox Orion /Dual for 4Sight-II.
Remarks for Matrox Solios XA
  • This property must be set to a value in the range of 0 to 3, except when using Matrox Solios XA single analog. In this case, this property must be set to 0.
  • For details regarding how to specify an appropriate value, as well as the allocation of specific independent digitizers, see Allocating independent ActiveMIL digitizers in the Matrox Solios chapter of the Board Specific Notes.
Remarks for Matrox Solios XCL
  • This property must be set to 0 when using the single-Full version and to either 0 or 1 when using the dual-Base version. (You can grab from only up to two digitizers at a time.)
  • For details regarding how to specify an appropriate value, as well as the allocation of specific independent digitizers, see Allocating independent ActiveMIL digitizers in the Matrox Solios chapter of the Board Specific Notes.


Digitizer.Exposure1ClockFrequency Property

Exposure1ClockFrequency property

See Also | Availability | MIL Equivalent | DeviceNumber | Exposure1ClockSource
Reference:
Digitizer.Exposure1ClockSource
Digitizer.Exposure1Enabled
Digitizer.Exposure1Mode
Digitizer.Exposure1Source
Digitizer.Exposure1Time
Digitizer.Exposure1TimeDelay
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox CronosPlus
Not supported on Matrox Morphis
MdigInquire(
InquireType =
M_GRAB_EXPOSURE_CLOCK_FREQUENCY +
M_TIMER1
)
Digitizer
Exposure1ClockFrequency
Synopsis
Returns the frequency of the clock in Hertz that is used to generate the exposure signal for Timer1.
[]
Syntax
object.Exposure1ClockFrequency [= Double]
[]
Syntax
object->Exposure1ClockFrequency [= double]
Type description
A double value that specifies the frequency of the clock in Hertz that is used to generate the exposure signal for Timer1.


Digitizer.Exposure1ClockSource Property

Exposure1ClockSource property

See Also | Availability | MIL Equivalent | Exposure1ClockFrequency | Exposure1Enabled
Reference:
Digitizer.Exposure1Enabled
Digitizer.Exposure1Mode
Digitizer.Exposure1Source
Digitizer.Exposure1Time
Digitizer.Exposure1TimeDelay
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Orion
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox CronosPlus
Not supported on Matrox Morphis
MdigControl(
ControlType =
M_GRAB_EXPOSURE_CLOCK_SOURCE +
M_TIMER1
)

MdigInquire(
InquireType =
M_GRAB_EXPOSURE_CLOCK_SOURCE +
M_TIMER1
)
Digitizer
Exposure1ClockSource
Synopsis
Returns or sets the clock source that drives the exposure counter for Timer1.
[]
Syntax
object.Exposure1ClockSource [= DigExposureClockSourceConstants]
[]
Syntax
object->Exposure1ClockSource [= enum DigExposureClockSourceConstants]
Type description
A DigExposureClockSourceConstants expression that specifies the clock source that drives the exposure counter for Timer1. (default is digDefaultClock)
Value | Meaning
digSystemClock | Use a 25 MHz clock source frequency.
digPixelClock | Use the pixel clock frequency (dependent on your camera).
digHSyncClock | Use the horizontal sync frequency.
digTimer1Clock | Use the frequency of the exposure Timer1.
digTimer2Clock | Use the frequency of the exposure Timer2.
digDefaultClock | Use the most appropriate clock source (as determined by the driver).


Digitizer.Exposure1Enabled Property

Exposure1Enabled property

See Also | Availability | MIL Equivalent | Exposure1ClockSource | Exposure1Format
User Guide:
Triggered grabs

Reference:
Digitizer.Exposure1Mode
Digitizer.Exposure1Source
Digitizer.Exposure1Time
Digitizer.Exposure1TimeDelay
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Orion
Not supported on Matrox CronosPlus
Not supported on Matrox Morphis
MdigControl(
ControlType =
M_GRAB_EXPOSURE +
M_TIMER1
)

MdigInquire(
ControlType =
M_GRAB_EXPOSURE +
M_TIMER1
)
Digitizer
Exposure1Enabled
Synopsis
Returns or sets whether Timer1 is used to generate an exposure signal.
[]
Syntax
object.Exposure1Enabled [= Boolean]
[]
Syntax
object->Exposure1Enabled [= VARIANT_BOOL]
Type description
A boolean value that specifies the status of Timer1.
Value | Meaning
True | Timer1 is enabled.
False | Timer1 is disabled.


Digitizer.Exposure1Format Property

Exposure1Format property

Availability | MIL Equivalent | Exposure1Enabled | Exposure1Mode
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Morphis
Not supported on Matrox Orion
MdigControl(
ControlType =
M__GRAB_EXPOSURE_FORMAT or
M_TIMER1
)
Digitizer
Exposure1Format
Synopsis
Returns or sets the state of TTL or RS-422/LVDS transmitters for the exposure signal generated by Timer1 and user-defined output signals.
[]
Syntax
object.Exposure1Format [= DigUserFormatConstants]
[]
Syntax
object->Exposure1Format [= enum DigUserFormatConstants]
Type description
A DigUserFormatConstants expression that specifies the state of the TTL or RS-422/LVDS transmitters for the exposure signal generated by Timer1 and user-defined output signals, on systems whose transmitters are enabled through software and where the option of both TTL and RS-422/LVDS are possible.
Value | Meaning
digDisableUserFormat | Disables the exposure signal generated by Timer1.
digEnableUserFormat | Enables the exposure signal generated by Timer1.
digTTL | Enables the TTL drivers for the exposure signal generated by Timer1.
digLVDS | Enables the LVDS drivers for exposure signal generated by Timer1.
Remark
  • Refer to the UserOutFormat property to change the formats on other Matrox imaging boards.


Digitizer.Exposure1Mode Property

Exposure1Mode property

See Also | Availability | MIL Equivalent | Exposure1Format | Exposure1Source
User Guide:
Triggered grabs

Reference:
Digitizer.Exposure1Enabled
Digitizer.Exposure1Source
Digitizer.Exposure1Time
Digitizer.Exposure1TimeDelay
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Orion
Not supported on Matrox CronosPlus
Not supported on Matrox Morphis
MdigControl(
ControlType =
M_GRAB_EXPOSURE_MODE +
M_TIMER1
)

MdigInquire(
InquireType =
M_GRAB_EXPOSURE_MODE +
M_TIMER1
)
Digitizer
Exposure1Mode
Synopsis
Returns or sets the active level of the exposure signal generated by Timer1.
[]
Syntax
object.Exposure1Mode [= DigSignalModeConstants]
[]
Syntax
object->Exposure1Mode [= enum DigSignalModeConstants]
Type description
A DigSignalModeConstants expression that specifies the active level of the exposure signal.
Value | Meaning
digLevelHigh | The active level of the exposure signal is high.
digLevelLow | The active level of the exposure signal is low.
Remark
  • This property is useful for inverting the generated exposure signal.


Digitizer.Exposure1Source Property

Exposure1Source property

See Also | Availability | MIL Equivalent | Exposure1Mode | Exposure1TimeDelay
User Guide:
Triggered grabs

Reference:
Digitizer.Exposure1Enabled
Digitizer.Exposure1Mode
Digitizer.Exposure1Time
Digitizer.Exposure1TimeDelay
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox CronosPlus
Not supported on Matrox Morphis

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MdigControl(
ControlType =
M_GRAB_EXPOSURE_SOURCE +
M_TIMER1
)

MdigInquire(
InquireType =
M_GRAB_EXPOSURE_SOURCE +
M_TIMER1
)
Digitizer
Exposure1Source
Synopsis
Returns or sets the trigger source for Timer1.
[]
Syntax
object.Exposure1Source [= DigSignalSourceConstants]
[]
Syntax
object->Exposure1Source [= enum DigSignalSourceConstants]
Type description
A DigSignalSourceConstants expression that specifies the trigger source for the exposure Timer1.
Value | Meaning
digNull | Timer1 inactive.
digSoftware | Use software trigger.
digHardwarePort0 | Use hardware trigger connected to port 0. See Remarks for details.
digHardwarePort1 | Use hardware trigger connected to port 1. See Remarks for details.
digHardwarePort2 | Use hardware trigger connected to port 2. See Remarks for details.
digHardwarePort3 | Use hardware trigger connected to port 3. See Remarks for details.
digHardwarePort4 | Use hardware trigger connected to port 4. See Remarks for details.
digHardwarePort5 | Use hardware trigger connected to port 5. See Remarks for details.
digHardwarePort6 | Use hardware trigger connected to port 6. See Remarks for details.
digHardwarePort7 | Use hardware trigger connected to port 7. See Remarks for details.
digHardwarePort8 | Use hardware trigger connected to port 8. See Remarks for details.
digHardwarePort9 | Use hardware trigger connected to port 9. See Remarks for details.
digHardwarePort10 | Use hardware trigger connected to port 10. See Remarks for details.
digHardwarePort11 | Use hardware trigger connected to port 11. See Remarks for details.
digHardwarePort12 | Use hardware trigger connected to port 12. See Remarks for details.
digHardwarePort13 | Use hardware trigger connected to port 13. See Remarks for details.
digHardwarePort14 | Use hardware trigger connected to port 14. See Remarks for details.
digHardwarePort15 | Use hardware trigger connected to port 15. See Remarks for details.
digHSync | Trigger on each horizontal synchronization signal.
digVSync | Trigger on each vertical synchronization signal.
digTimer2 | Trigger on the output of Timer2.
digContinuous | The timer is periodic. It will be automatically reset after the active period of the exposure signal is output. This causes the exposure signal to loop between the inactive (delay) and active state.
Remarks
  • When the setting is digSoftware, the trigger can be generated by calling the SendTrigger method.
  • The rising edge of the signal will activate the trigger, unless otherwise specified in the DCF.
Remark for Matrox Corona-II
  • The settings represent the following signals:
    DigSignalSourceConstant | Signal Type | Connector | Details/Signal Name
    digHardwarePort0 | Opto-isolated hardware trigger signal | Video input connector | A combination of Pin 34 (OPTOTRIG-) and Pin 35 (OPTOTRIG+)
    digHardwarePort1 | TTL hardware trigger signal | Digital interface connector | Pin 2 (TRIGGER)
    digHardwarePort2 | RS-422/LVDS trigger signal | Video input connector of the companion digital-input board | A combination of Pin 73 (TRIG+) and Pin 74 (TRIG-)

    The digHardwarePort1 and digHardwarePort15 are not supported.

Remark for Matrox Genesis
  • The settings represent the following signals:
    DigSignalSourceConstant | Signal Type | Connector | Details/Signal Name
    digHardwarePort0 | opto-isolated hardware trigger signal | Video input connector | A combination of Pin 1 (+) and Pin 3 (-)
    digHardwarePort1 | RS-422 hardware trigger signal | Companion digital input boar | A combination of Pin 47 (TRIGGER, INPUT, +) and Pin 48 (TRIGGER, INPUT, -)
    RS-422 hardware trigger signal | Digital cable adaptor board, | A combination of Pin 9 (TRIGGER, INPUT, 422+) and Pin 43 (TRIGGER, INPUT, 422-)
    TTL hardware trigger signal | Digital cable adaptor board, | Pin 67 (TRIGGER, INPUT, TTL)

    The digHardwarePort2 and digHardwarePort15 are not supported.

Remarks for Matrox Helios XA
  • The settings represent the following signals:
    Value | Digitizer | External auxiliary I/O connector 0 (DB-44) | External auxiliary I/O connector 1 (DB-9) | Analog video input connector DVI 0 | Analog video input connector DVI 1
    digHardwarePort0 | 0 | P0_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 1 | P1_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 2 | P2_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 3 | P30_OPTO_AUX(TRIG)_IN
    digHardwarePort1 | 0 | P0_TTL_AUX(TRIG)_IN
    digHardwarePort1 | 1 | P1_TTL_AUX(TRIG)_IN
    digHardwarePort1 | 2 | P2_TTL_AUX(TRIG)_IN
    digHardwarePort1 | 3 | P3_TTL_AUX(TRIG)_IN
    digHardwarePort2 | Any | LVDS/TTL_AUX_IN0¹
    digHardwarePort3 | Any | LVDS/TTL_AUX_IN1¹
    digHardwarePort4 | Any | LVDS/TTL_AUX_IN2¹
    digHardwarePort5 | Any | LVDS/TTL_AUX_IN3¹
    digHardwarePort6 | Any | LVDS/TTL_AUX_IN4¹
    digHardwarePort7 | Any | LVDS/TTL_AUX_IN5¹
    digHardwarePort8 | Any | LVDS/TTL_AUX_IN6¹
    digHardwarePort9 | Any | LVDS/TTL_AUX_IN7¹

    ¹ Note that the user-defined signals are shared between digitizers. If used by one digitizer, they can be simultaneously used by the others that shares this user-defined signal.

    The digHardwarePort10 and digHardwarePort15 are not supported on the Camera Link module.

  • For more information, refer to Synchronization and control signals, in the Frame Grabber chapter of the Matrox Helios Installation and Hardware Guide. In addition, some of these signals, when used for trigger input, affect the same trigger input controller.
Remarks for Matrox Helios XCL
  • The settings represent the following signals:
    Value | Digitizer | External auxiliary I/O connector 0 (HD-44) | External auxiliary I/O connector 1 (DB-9)
    digHardwarePort0 | Any | OPTO_AUX_IN0¹
    digHardwarePort1 | Any | OPTO_AUX_IN1¹
    digHardwarePort2 | Any | TTL_AUX_IO_0¹
    digHardwarePort3 | Any | TTL_AUX_IO_1¹
    digHardwarePort4 | Any | LVDS_AUX_IN0¹
    digHardwarePort5 | Any | LVDS_AUX_IN1¹
    digHardwarePort6 | 0 | P0_OPTO_AUX_IN0
    digHardwarePort7 | 0 | P0_OPTO_AUX_IN1
    digHardwarePort8 | 0 | P0_TTL_AUX_IO_0
    digHardwarePort8 | 1 | P0_TTL_AUX_IO_0
    digHardwarePort9 | 0 | P0_TTL_AUX_IO_1
    digHardwarePort9 | 1 | P0_TTL_AUX_IO_1
    digHardwarePort10 | 0 | P0_LVDS_AUX_IN0
    digHardwarePort11 | 0 | P0_LVDS_AUX_IN1

    ¹ Note that the user-defined signals are shared between digitizers. If used by one digitizer, they can be simultaneously used by the others that shares this user-defined signal.

    The digHardwarePort12 and digHardwarePort15 are not supported on the Camera Link module.

  • For more information, refer to Synchronization and control signals, in the Frame Grabber chapter of the Matrox Helios Installation and Hardware Guide. In addition, some of these signals, when used for trigger input, affect the same trigger input controller.
Remark for Matrox Meteor-II /Camera Link
  • The settings represent the following signals:
    DigSignalSourceConstant | Signal Type | Connector | Details/Signal Name
    digHardwarePort0 | Opto-isolated hardware trigger signal | Trigger input connector | a combination of Pin 7 (OPTOTRIG+) and Pin 2 (OPTOTRIG-)
    digHardwarePort1 | RS-422/LVDS trigger | Trigger input connector | Pin 3 (TRIGGER, INPUT, +) and Pin 8 (TRIGGER, INPUT, -)
    TTL trigger | Trigger input connector | Pin 1

    The digHardwarePort2 and digHardwarePort15 are not supported.

Remark for Matrox Meteor-II /Digital
  • The settings represent the following signals:
    DigSignalSourceConstant | Signal Type | Connector | Details/Signal Name
    digHardwarePort0 | Opto-isolated hardware trigger signal | Trigger input connector | A combination of Pin 7 (OPTOTRIG+) and Pin 2 (OPTOTRIG-)
    digHardwarePort1 | RS-422/LVDS trigger | Digital interface connector | Pin 47 (TRIGGER, INPUT, +) and Pin 48 (TRIGGER, INPUT, -)
    TTL trigger | Trigger input connector | Pin 1

    The digHardwarePort2 and digHardwarePort15 are not supported.

Remark for Matrox Meteor-II /Multi-Channel
  • The settings represent the following signals:
    DigSignalSourceConstant | Signal Type | Connector | Details/Signal Name
    digHardwarePort0 | Uses the opto-isolated hardware trigger signal on the , accessible from | Video input connector | a combination of Pin 34 (OPTOTRIG-) and Pin 35 (OPTOTRIG+)
    digHardwarePort1 | Uses the TTL hardware trigger signal, accessible from of | Video input connector | Pin 20
    digHardwarePort2 | Uses RS-422/LVDS trigger signal on the , accessible from | Video input connector of the companion digital-input board | A combination of Pin 73 (TRIG+) and Pin 74 (TRIG-)

    The digHardwarePort3 and digHardwarePort15 are not supported.

Remarks for Matrox Odyssey XA
  • The settings represent the following signals:
    Value | Digitizer | External auxiliary I/O connector 0 (DB-44) | External auxiliary I/O connector 1 (DB-9) | Analog video input connector DVI 0 | Analog video input connector DVI 1
    digHardwarePort0 | 0 | P0_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 1 | P1_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 2 | P2_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 3 | P30_OPTO_AUX(TRIG)_IN
    digHardwarePort1 | 0 | P0_TTL_AUX(TRIG)_IN
    digHardwarePort1 | 1 | P1_TTL_AUX(TRIG)_IN
    digHardwarePort1 | 2 | P2_TTL_AUX(TRIG)_IN
    digHardwarePort1 | 3 | P3_TTL_AUX(TRIG)_IN
    digHardwarePort2 | Any | LVDS/TTL_AUX_IN0¹
    digHardwarePort3 | Any | LVDS/TTL_AUX_IN1¹
    digHardwarePort4 | Any | LVDS/TTL_AUX_IN2¹
    digHardwarePort5 | Any | LVDS/TTL_AUX_IN3¹
    digHardwarePort6 | Any | LVDS/TTL_AUX_IN4¹
    digHardwarePort7 | Any | LVDS/TTL_AUX_IN5¹
    digHardwarePort8 | Any | LVDS/TTL_AUX_IN6¹
    digHardwarePort9 | Any | LVDS/TTL_AUX_IN7¹

    ¹ Note that the user-defined signals are shared between digitizers. If used by one digitizer, they can be simultaneously used by the others that shares this user-defined signal.

    The digHardwarePort10 and digHardwarePort15 are not supported on the Camera Link module.

  • For more information, refer to Synchronization and control signals, in the Frame Grabber chapter of the Matrox Odyssey Installation and Hardware Guide. In addition, some of these signals, when used for trigger input, affect the same trigger input controller.
Remarks for Matrox Odyssey XCL
  • The settings represent the following signals:
    Value | Digitizer | External auxiliary I/O connector 0 (HD-44) | External auxiliary I/O connector 1 (DB-9)
    digHardwarePort0 | Any | OPTO_AUX_IN0¹
    digHardwarePort1 | Any | OPTO_AUX_IN1¹
    digHardwarePort2 | Any | TTL_AUX_IO_0¹
    digHardwarePort3 | Any | TTL_AUX_IO_1¹
    digHardwarePort4 | Any | LVDS_AUX_IN0¹
    digHardwarePort5 | Any | LVDS_AUX_IN1¹
    digHardwarePort6 | 0 | P0_OPTO_AUX_IN0
    digHardwarePort7 | 0 | P0_OPTO_AUX_IN1
    digHardwarePort8 | 0 | P0_TTL_AUX_IO_0
    digHardwarePort8 | 1 | P0_TTL_AUX_IO_0
    digHardwarePort9 | 0 | P0_TTL_AUX_IO_1
    digHardwarePort9 | 1 | P0_TTL_AUX_IO_1
    digHardwarePort10 | 0 | P0_LVDS_AUX_IN0
    digHardwarePort11 | 0 | P0_LVDS_AUX_IN1

    ¹ Note that the user-defined signals are shared between digitizers. If used by one digitizer, they can be simultaneously used by the others that shares this user-defined signal.

    The digHardwarePort12 and digHardwarePort15 are not supported on the Camera Link module.

  • For more information, refer to Synchronization and control signals, in the Frame Grabber chapter of the Matrox Odyssey Installation and Hardware Guide. In addition, some of these signals, when used for trigger input, affect the same trigger input controller.
Remark for Matrox Odyssey XD
  • The settings represent the following signals:
    Value | Digitizer | Digital input video connector 0 | Digital input video connector 0 | External auxilliary I/O connector 0 (DB-44) | External auxiliary I/O connector 1 (DB-9).
    digHardwarePort0 | 0 | P0_TTL_AUX(TRIG)_IO
    digHardwarePort0 | 1 | P1_TTL_AUX(TRIG)_IO
    digHardwarePort0 | 2 | P2_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 3 | P3_OPTO_AUX(TRIG)_IN
    digHardwarePort1 | 0 | P0_LVDS_AUX_(VSYNC)_IN
    digHardwarePort1 | 1 | P1_LVDS_AUX_(VSYNC)_IN
    digHardwarePort1 | 2 | P2_LVDS_AUX_(VSYNC)_IN
    digHardwarePort1 | 3 | P3_LVDS_AUX_(VSYNC)_IN
    digHardwarePort2 | 0 | P0_OPTO_AUX(TRIG)_IN0
    digHardwarePort2 | 1 | P1_OPTO_AUX(TRIG)_IN0
    digHardwarePort2 | 2 | P2_OPTO_AUX(TRIG)_IN0
    digHardwarePort2 | 3 | P3_OPTO_AUX(TRIG)_IN0
    digHardwarePort3 | 0 | P0_OPTO_AUX(TRIG)_IN1
    digHardwarePort3 | 1 | P1_OPTO_AUX(TRIG)_IN1
    digHardwarePort3 | 2 | P2_OPTO_AUX(TRIG)_IN1
    digHardwarePort3 | 3 | P3_OPTO_AUX(TRIG)_IN1
    digHardwarePort4 | 0 | LVDS/TTL_AUX(TRIG)_IN0¹
    digHardwarePort5 | 0 | LVDS/TTL_AUX(TRIG)_IN1¹
    digHardwarePort6 | 0 | LVDS/TTL_AUX(TRIG)_IN2¹
    digHardwarePort7 | 0 | LVDS/TTL_AUX(TRIG)_IN3¹
    digHardwarePort8 | 0 | LVDS/TTL_AUX(TRIG)_IN4¹
    digHardwarePort9 | 0 | LVDS/TTL_AUX(TRIG)_IN5¹
    digHardwarePort10 | 0 | LVDS/TTL_AUX(TRIG)_IN6¹
    digHardwarePort11 | 0 | LVDS/TTL_AUX(TRIG)_IN7¹

    ¹ Note that the user-defined signals are shared between digitizers. If used by one digitizer, they can be simultaneously used by the others that shares this user-defined signal.

    The digHardwarePort11 and digHardwarePort15 are not supported.

Remarks for Matrox Solios XA
  • The settings represent the following signals:
    Value | Digitizer | External auxiliary I/O connector 0 (DB-44) | External auxiliary I/O connector 1 (DB-9) | Analog video input connector DVI 0 | Analog video input connector DVI 1
    digHardwarePort0 | 0 | P0_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 1 | P1_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 2 | P2_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 3 | P30_OPTO_AUX(TRIG)_IN
    digHardwarePort1 | 0 | P0_TTL_AUX(TRIG)_IN
    digHardwarePort1 | 1 | P1_TTL_AUX(TRIG)_IN
    digHardwarePort1 | 2 | P2_TTL_AUX(TRIG)_IN
    digHardwarePort1 | 3 | P3_TTL_AUX(TRIG)_IN
    digHardwarePort2 | Any | LVDS/TTL_AUX_IN0¹
    digHardwarePort3 | Any | LVDS/TTL_AUX_IN1¹
    digHardwarePort4 | Any | LVDS/TTL_AUX_IN2¹
    digHardwarePort5 | Any | LVDS/TTL_AUX_IN3¹
    digHardwarePort6 | Any | LVDS/TTL_AUX_IN4¹
    digHardwarePort7 | Any | LVDS/TTL_AUX_IN5¹
    digHardwarePort8 | Any | LVDS/TTL_AUX_IN6¹
    digHardwarePort9 | Any | LVDS/TTL_AUX_IN7¹

    ¹ Note that the user-defined signals are shared between digitizers. If used by one digitizer, they can be simultaneously used by the others that shares this user-defined signal.

    The digHardwarePort10 and digHardwarePort15 are not supported on the Camera Link module.

  • For more information, refer to Synchronization and control signals, in the Frame Grabber chapter of the Matrox Helios Installation and Hardware Guide. In addition, some of these signals, when used for trigger input, affect the same trigger input controller.
Remarks for Matrox Solios XCL
  • The settings represent the following signals:
    Value | Digitizer | External auxiliary I/O connector 0 (HD-44) | External auxiliary I/O connector 1 (DB-9)
    digHardwarePort0 | Any | OPTO_AUX_IN0¹
    digHardwarePort1 | Any | OPTO_AUX_IN1¹
    digHardwarePort2 | Any | TTL_AUX_IO_0¹
    digHardwarePort3 | Any | TTL_AUX_IO_1¹
    digHardwarePort4 | Any | LVDS_AUX_IN0¹
    digHardwarePort5 | Any | LVDS_AUX_IN1¹
    digHardwarePort6 | 0 | P0_OPTO_AUX_IN0
    digHardwarePort7 | 0 | P0_OPTO_AUX_IN1
    digHardwarePort8 | 0 | P0_TTL_AUX_IO_0
    digHardwarePort8 | 1 | P0_TTL_AUX_IO_0
    digHardwarePort9 | 0 | P0_TTL_AUX_IO_1
    digHardwarePort9 | 1 | P0_TTL_AUX_IO_1
    digHardwarePort10 | 0 | P0_LVDS_AUX_IN0
    digHardwarePort11 | 0 | P0_LVDS_AUX_IN1

    ¹ Note that the user-defined signals are shared between digitizers. If used by one digitizer, they can be simultaneously used by the others that shares this user-defined signal.

    The digHardwarePort12 and digHardwarePort15 are not supported on the Camera Link module.

  • For more information, refer to Synchronization and control signals, in the Frame Grabber chapter of the Matrox Helios Installation and Hardware Guide. In addition, some of these signals, when used for trigger input, affect the same trigger input controller.


Digitizer.Exposure1Time Property

Exposure1Time property

See Also | Availability | MIL Equivalent | Exposure1TimeDelay | Exposure2ClockFrequency
User Guide:
Triggered grabs

Reference:
Digitizer.Exposure1Mode
Digitizer.Exposure1Source
Digitizer.Exposure1TimeDelay
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /1394
Not supported on Matrox CronosPlus
Not supported on Matrox Morphis
MdigControl(
ControlType =
M_GRAB_EXPOSURE_TIME +
M_TIMER1
)

MdigInquire(
InquireType =
M_GRAB_EXPOSURE_TIME +
M_TIMER1
)
Digitizer
Exposure1Time
Synopsis
Returns or sets the grab exposure time, or the active time of Timer1.
[]
Syntax
object.Exposure1Time [= Double]
[]
Syntax
object->Exposure1Time [= double]
Type description
A double value that specifies the grab exposure time in nsec.
Remarks
  • This sets the active time of Timer1.
  • An error might occur if the specified time could not be generated.


Digitizer.Exposure1TimeDelay Property

Exposure1TimeDelay property

See Also | Availability | MIL Equivalent | Exposure1Source | Exposure1Time
User Guide:
Triggered grabs

Reference:
Digitizer.Exposure1Enabled
Digitizer.Exposure1Mode
Digitizer.Exposure1Source
Digitizer.Exposure1Time
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /1394
Not supported on Matrox CronosPlus
Not supported on Matrox Morphis
MdigControl(
ControlType =
M_GRAB_EXPOSURE_TIME_DELAY +
M_TIMER1
)

MdigInquire(
InquireType =
M_GRAB_EXPOSURE_TIME_DELAY +
M_TIMER1
)
Digitizer
Exposure1TimeDelay
Synopsis
Returns or sets the delay between the trigger event and the start of exposure, or sets the inactive time of Timer1.
[]
Syntax
object.Exposure1TimeDelay [= Double]
[]
Syntax
object->Exposure1TimeDelay [= double]
Type description
A double value that specifies the delay, in nsec.
Remarks
  • This sets the inactive time of Timer1.
  • An error might occur if the specified delay could not be generated.


Digitizer.Exposure2ClockFrequency Property

Exposure2ClockFrequency property

See Also | Availability | MIL Equivalent | Exposure1Time | Exposure2ClockSource
Reference:
Digitizer.Exposure2ClockSource
Digitizer.Exposure2Enabled
Digitizer.Exposure2Mode
Digitizer.Exposure2Source
Digitizer.Exposure2Time
Digitizer.Exposure2TimeDelay
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox CronosPlus
Not supported on Matrox Morphis
MdigInquire(
InquireType =
M_GRAB_EXPOSURE_CLOCK_FREQUENCY +
M_TIMER2
)
Digitizer
Exposure2ClockFrequency
Synopsis
Returns the frequency of the clock in Hertz that is used to generate the exposure signal for Timer2.
[]
Syntax
object.Exposure2ClockFrequency [= Double]
[]
Syntax
object->Exposure2ClockFrequency [= double]
Type description
A double value that specifies the frequency of the clock in Hertz that is used to generate the exposure signal for Timer2.


Digitizer.Exposure2ClockSource Property

Exposure2ClockSource property

See Also | Availability | MIL Equivalent | Exposure2ClockFrequency | Exposure2Enabled
Reference:
Digitizer.Exposure2Enabled
Digitizer.Exposure2Mode
Digitizer.Exposure2Source
Digitizer.Exposure2Time
Digitizer.Exposure2TimeDelay
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Orion
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox CronosPlus
Not supported on Matrox Morphis
MdigControl(
ControlType =
M_GRAB_EXPOSURE_CLOCK_SOURCE +
M_TIMER2
)

MdigInquire(
InquireType =
M_GRAB_EXPOSURE_CLOCK_SOURCE +
M_TIMER2
)
Digitizer
Exposure2ClockSource
Synopsis
Returns or sets the clock source that drives the exposure counter for Timer2.
[]
Syntax
object.Exposure2ClockSource [= DigExposureClockSourceConstants]
[]
Syntax
object->Exposure2ClockSource [= enum DigExposureClockSourceConstants]
Type description
A DigExposureClockSourceConstants expression that specifies the clock source that drives the exposure counter for Timer2. (default is digDefaultClock)
Value | Meaning
digSystemClock | Use a 25 MHz clock source frequency.
digPixelClock | Use the pixel clock frequency (dependent on your camera).
digHSyncClock | Use the horizontal sync frequency.
digTimer1Clock | Use the frequency of the exposure Timer1.
digTimer2Clock | Use the frequency of the exposure Timer2.
digDefaultClock | Use the most appropriate clock source (as determined by the driver).


Digitizer.Exposure2Enabled Property

Exposure2Enabled property

See Also | Availability | MIL Equivalent | Exposure2ClockSource | Exposure2Format
User Guide:
Triggered grabs

Reference:
Digitizer.Exposure2Source
Digitizer.Exposure2Time
Digitizer.Exposure2TimeDelay
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Orion
Not supported on Matrox CronosPlus
Not supported on Matrox Morphis
MdigControl(
ControlType =
M_GRAB_EXPOSURE +
M_TIMER2
)

MdigInquire(
InquireType =
M_GRAB_EXPOSURE +
M_TIMER2
)
Digitizer
Exposure2Enabled
Synopsis
Returns or sets whether Timer2 is used to generate an exposure signal.
[]
Syntax
object.Exposure2Enabled [= Boolean]
[]
Syntax
object->Exposure2Enabled [= VARIANT_BOOL]
Type description
A boolean value that specifies the status of Timer2.
Value | Meaning
True | Timer2 is enabled.
False | Timer2 is disabled.


Digitizer.Exposure2Format Property

Exposure2Format property

Availability | MIL Equivalent | Exposure2Enabled | Exposure2Mode
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Morphis
Not supported on Matrox Orion
MdigControl(
ControlType =
M__GRAB_EXPOSURE_FORMAT or
M_TIMER2
)
Digitizer
Exposure2Format
Synopsis
Returns or sets the state of TTL or RS-422/LVDS drivers/receivers for the exposure signal generated by Timer2 and user-defined signals.
[]
Syntax
object.Exposure2Format [= DigUserFormatConstants]
[]
Syntax
object->Exposure2Format [= enum DigUserFormatConstants]
Type description
A DigUserFormatConstants expression that specifies the state of the TTL or RS-422/LVDS drivers/receivers for the exposure signal generated by Timer2 and user-defined signals, on systems whose drivers/receivers are enabled through software and where the option of both TTL and RS-422/LVDS are possible.
Value | Meaning
digDisableUserFormat | Exposure signal generated by Timer2 is disabled.
digEnableUserFormat | Exposure signal generated by Timer2 is enabled.
digTTL | The TTL drivers for exposure signal generated by Timer2 is enabled.
digLVDS | The LVDS drivers for exposure signal generated by Timer2 is enabled.


Digitizer.Exposure2Mode Property

Exposure2Mode property

See Also | Availability | MIL Equivalent | Exposure2Format | Exposure2Source
User Guide:
Triggered grabs

Reference:
Digitizer.Exposure2Enabled
Digitizer.Exposure2Source
Digitizer.Exposure2Time
Digitizer.Exposure2TimeDelay
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Orion
Not supported on Matrox CronosPlus
Not supported on Matrox Morphis
MdigControl(
ControlType =
M_GRAB_EXPOSURE_MODE +
M_TIMER2
)

MdigInquire(
InquireType =
M_GRAB_EXPOSURE_MODE +
M_TIMER2
)
Digitizer
Exposure2Mode
Synopsis
Returns or sets the active level of the exposure signal generated by Timer2.
[]
Syntax
object.Exposure2Mode [= DigSignalModeConstants]
[]
Syntax
object->Exposure2Mode [= enum DigSignalModeConstants]
Type description
A DigSignalModeConstants expression that specifies the active level of the signal.
Value | Meaning
digLevelHigh | The active level of the exposure signal is high.
digLevelLow | The active level of the exposure signal is low.
Remark
  • This property is useful for inverting the generated exposure signal.


Digitizer.Exposure2Source Property

Exposure2Source property

See Also | Availability | MIL Equivalent | Exposure2Mode | Exposure2TimeDelay
User Guide:
Triggered grabs

Reference:
Digitizer.Exposure2Enabled
Digitizer.Exposure2Mode
Digitizer.Exposure2Time
Digitizer.Exposure2TimeDelay
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Morphis

Not supported on:
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox CronosPlus

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MdigControl(
ControlType =
M_GRAB_EXPOSURE_SOURCE +
M_TIMER2
)

MdigInquire(
InquireType =
M_GRAB_EXPOSURE_SOURCE +
M_TIMER2
)
Digitizer
Exposure2Source
Synopsis
Returns or sets the trigger source for Timer2.
[]
Syntax
object.Exposure2Source [= DigSignalSourceConstants]
[]
Syntax
object->Exposure2Source [= enum DigSignalSourceConstants]
Type description
A DigSignalSourceConstants expression that specifies the exposure source for Timer2.
Value | Meaning
digNull | Timer2 inactive.
digSoftware | Use software trigger.
digHardwarePort0 | Use hardware trigger connected to port 0. See Remarks for details.
digHardwarePort1 | Use hardware trigger connected to port 1. See Remarks for details.
digHardwarePort2 | Use hardware trigger connected to port 2. See Remarks for details.
digHardwarePort3 | Use hardware trigger connected to port 3. See Remarks for details.
digHardwarePort4 | Use hardware trigger connected to port 4. See Remarks for details.
digHardwarePort5 | Use hardware trigger connected to port 5. See Remarks for details.
digHardwarePort6 | Use hardware trigger connected to port 6. See Remarks for details.
digHardwarePort7 | Use hardware trigger connected to port 7. See Remarks for details.
digHardwarePort8 | Use hardware trigger connected to port 8. See Remarks for details.
digHardwarePort9 | Use hardware trigger connected to port 9. See Remarks for details.
digHardwarePort10 | Use hardware trigger connected to port 10. See Remarks for details.
digHardwarePort11 | Use hardware trigger connected to port 11. See Remarks for details.
digHardwarePort12 | Use hardware trigger connected to port 12. See Remarks for details.
digHardwarePort13 | Use hardware trigger connected to port 13. See Remarks for details.
digHardwarePort14 | Use hardware trigger connected to port 14. See Remarks for details.
digHardwarePort15 | Use hardware trigger connected to port 15. See Remarks for details.
digHSync | Trigger on each horizontal synchronization signal.
digVSync | Trigger on each vertical synchronization signal.
digTimer1 | Trigger on the output of Timer1.
digContinuous | The timer is periodic. It will be automatically reset after the active period of the exposure signal is output. This causes the exposure signal to loop between the inactive (delay) and active state.
Remarks
  • When the setting is digSoftware, the trigger can be generated by calling the SendTrigger method.
  • The rising edge of the signal will activate the trigger, unless otherwise specified in the DCF.
Remark for Matrox Corona-II
  • The settings represent the following signals:
    DigSignalSourceConstant | Signal Type | Connector | Details/Signal Name
    digHardwarePort0 | Opto-isolated hardware trigger signal | Video input connector | A combination of Pin 34 (OPTOTRIG-) and Pin 35 (OPTOTRIG+)
    digHardwarePort1 | TTL hardware trigger signal | Digital interface connector | Pin 2 (TRIGGER)
    digHardwarePort2 | RS-422/LVDS trigger signal | Video input connector of the companion digital-input board | A combination of Pin 73 (TRIG+) and Pin 74 (TRIG-)

    The digHardwarePort1 and digHardwarePort15 are not supported.

Remark for Matrox Genesis
  • The settings represent the following signals:
    DigSignalSourceConstant | Signal Type | Connector | Details/Signal Name
    digHardwarePort0 | opto-isolated hardware trigger signal | Video input connector | A combination of Pin 1 (+) and Pin 3 (-)
    digHardwarePort1 | RS-422 hardware trigger signal | Companion digital input boar | A combination of Pin 47 (TRIGGER, INPUT, +) and Pin 48 (TRIGGER, INPUT, -)
    RS-422 hardware trigger signal | Digital cable adaptor board, | A combination of Pin 9 (TRIGGER, INPUT, 422+) and Pin 43 (TRIGGER, INPUT, 422-)
    TTL hardware trigger signal | Digital cable adaptor board, | Pin 67 (TRIGGER, INPUT, TTL)

    The digHardwarePort2 and digHardwarePort15 are not supported.

Remarks for Matrox Helios XA
  • The settings represent the following signals:
    Value | Digitizer | External auxiliary I/O connector 0 (DB-44) | External auxiliary I/O connector 1 (DB-9) | Analog video input connector DVI 0 | Analog video input connector DVI 1
    digHardwarePort0 | 0 | P0_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 1 | P1_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 2 | P2_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 3 | P30_OPTO_AUX(TRIG)_IN
    digHardwarePort1 | 0 | P0_TTL_AUX(TRIG)_IN
    digHardwarePort1 | 1 | P1_TTL_AUX(TRIG)_IN
    digHardwarePort1 | 2 | P2_TTL_AUX(TRIG)_IN
    digHardwarePort1 | 3 | P3_TTL_AUX(TRIG)_IN
    digHardwarePort2 | Any | LVDS/TTL_AUX_IN0¹
    digHardwarePort3 | Any | LVDS/TTL_AUX_IN1¹
    digHardwarePort4 | Any | LVDS/TTL_AUX_IN2¹
    digHardwarePort5 | Any | LVDS/TTL_AUX_IN3¹
    digHardwarePort6 | Any | LVDS/TTL_AUX_IN4¹
    digHardwarePort7 | Any | LVDS/TTL_AUX_IN5¹
    digHardwarePort8 | Any | LVDS/TTL_AUX_IN6¹
    digHardwarePort9 | Any | LVDS/TTL_AUX_IN7¹

    ¹ Note that the user-defined signals are shared between digitizers. If used by one digitizer, they can be simultaneously used by the others that shares this user-defined signal.

    The digHardwarePort10 and digHardwarePort15 are not supported on the Camera Link module.

  • For more information, refer to Synchronization and control signals, in the Frame Grabber chapter of the Matrox Helios Installation and Hardware Guide. In addition, some of these signals, when used for trigger input, affect the same trigger input controller.
Remarks for Matrox Helios XCL
  • The settings represent the following signals:
    Value | Digitizer | External auxiliary I/O connector 0 (HD-44) | External auxiliary I/O connector 1 (DB-9)
    digHardwarePort0 | Any | OPTO_AUX_IN0¹
    digHardwarePort1 | Any | OPTO_AUX_IN1¹
    digHardwarePort2 | Any | TTL_AUX_IO_0¹
    digHardwarePort3 | Any | TTL_AUX_IO_1¹
    digHardwarePort4 | Any | LVDS_AUX_IN0¹
    digHardwarePort5 | Any | LVDS_AUX_IN1¹
    digHardwarePort6 | 0 | P0_OPTO_AUX_IN0
    digHardwarePort7 | 0 | P0_OPTO_AUX_IN1
    digHardwarePort8 | 0 | P0_TTL_AUX_IO_0
    digHardwarePort8 | 1 | P0_TTL_AUX_IO_0
    digHardwarePort9 | 0 | P0_TTL_AUX_IO_1
    digHardwarePort9 | 1 | P0_TTL_AUX_IO_1
    digHardwarePort10 | 0 | P0_LVDS_AUX_IN0
    digHardwarePort11 | 0 | P0_LVDS_AUX_IN1

    ¹ Note that the user-defined signals are shared between digitizers. If used by one digitizer, they can be simultaneously used by the others that shares this user-defined signal.

    The digHardwarePort12 and digHardwarePort15 are not supported on the Camera Link module.

  • For more information, refer to Synchronization and control signals, in the Frame Grabber chapter of the Matrox Helios Installation and Hardware Guide. In addition, some of these signals, when used for trigger input, affect the same trigger input controller.
Remark for Matrox Meteor-II /Camera Link
  • The settings represent the following signals:
    DigSignalSourceConstant | Signal Type | Connector | Details/Signal Name
    digHardwarePort0 | Opto-isolated hardware trigger signal | Trigger input connector | a combination of Pin 7 (OPTOTRIG+) and Pin 2 (OPTOTRIG-)
    digHardwarePort1 | RS-422/LVDS trigger | Trigger input connector | Pin 3 (TRIGGER, INPUT, +) and Pin 8 (TRIGGER, INPUT, -)
    TTL trigger | Trigger input connector | Pin 1

    The digHardwarePort2 and digHardwarePort15 are not supported.

Remark for Matrox Meteor-II /Digital
  • The settings represent the following signals:
    DigSignalSourceConstant | Signal Type | Connector | Details/Signal Name
    digHardwarePort0 | Opto-isolated hardware trigger signal | Trigger input connector | A combination of Pin 7 (OPTOTRIG+) and Pin 2 (OPTOTRIG-)
    digHardwarePort1 | RS-422/LVDS trigger | Digital interface connector | Pin 47 (TRIGGER, INPUT, +) and Pin 48 (TRIGGER, INPUT, -)
    TTL trigger | Trigger input connector | Pin 1

    The digHardwarePort2 and digHardwarePort15 are not supported.

Remark for Matrox Meteor-II /Multi-Channel
  • The settings represent the following signals:
    DigSignalSourceConstant | Signal Type | Connector | Details/Signal Name
    digHardwarePort0 | Uses the opto-isolated hardware trigger signal on the , accessible from | Video input connector | a combination of Pin 34 (OPTOTRIG-) and Pin 35 (OPTOTRIG+)
    digHardwarePort1 | Uses the TTL hardware trigger signal, accessible from of | Video input connector | Pin 20
    digHardwarePort2 | Uses RS-422/LVDS trigger signal on the , accessible from | Video input connector of the companion digital-input board | A combination of Pin 73 (TRIG+) and Pin 74 (TRIG-)

    The digHardwarePort3 and digHardwarePort15 are not supported.

Remarks for Matrox Odyssey XA
  • The settings represent the following signals:
    Value | Digitizer | External auxiliary I/O connector 0 (DB-44) | External auxiliary I/O connector 1 (DB-9) | Analog video input connector DVI 0 | Analog video input connector DVI 1
    digHardwarePort0 | 0 | P0_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 1 | P1_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 2 | P2_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 3 | P30_OPTO_AUX(TRIG)_IN
    digHardwarePort1 | 0 | P0_TTL_AUX(TRIG)_IN
    digHardwarePort1 | 1 | P1_TTL_AUX(TRIG)_IN
    digHardwarePort1 | 2 | P2_TTL_AUX(TRIG)_IN
    digHardwarePort1 | 3 | P3_TTL_AUX(TRIG)_IN
    digHardwarePort2 | Any | LVDS/TTL_AUX_IN0¹
    digHardwarePort3 | Any | LVDS/TTL_AUX_IN1¹
    digHardwarePort4 | Any | LVDS/TTL_AUX_IN2¹
    digHardwarePort5 | Any | LVDS/TTL_AUX_IN3¹
    digHardwarePort6 | Any | LVDS/TTL_AUX_IN4¹
    digHardwarePort7 | Any | LVDS/TTL_AUX_IN5¹
    digHardwarePort8 | Any | LVDS/TTL_AUX_IN6¹
    digHardwarePort9 | Any | LVDS/TTL_AUX_IN7¹

    ¹ Note that the user-defined signals are shared between digitizers. If used by one digitizer, they can be simultaneously used by the others that shares this user-defined signal.

    The digHardwarePort10 and digHardwarePort15 are not supported on the Camera Link module.

  • For more information, refer to Synchronization and control signals, in the Frame Grabber chapter of the Matrox Odyssey Installation and Hardware Guide. In addition, some of these signals, when used for trigger input, affect the same trigger input controller.
Remarks for Matrox Odyssey XCL
  • The settings represent the following signals:
    Value | Digitizer | External auxiliary I/O connector 0 (HD-44) | External auxiliary I/O connector 1 (DB-9)
    digHardwarePort0 | Any | OPTO_AUX_IN0¹
    digHardwarePort1 | Any | OPTO_AUX_IN1¹
    digHardwarePort2 | Any | TTL_AUX_IO_0¹
    digHardwarePort3 | Any | TTL_AUX_IO_1¹
    digHardwarePort4 | Any | LVDS_AUX_IN0¹
    digHardwarePort5 | Any | LVDS_AUX_IN1¹
    digHardwarePort6 | 0 | P0_OPTO_AUX_IN0
    digHardwarePort7 | 0 | P0_OPTO_AUX_IN1
    digHardwarePort8 | 0 | P0_TTL_AUX_IO_0
    digHardwarePort8 | 1 | P0_TTL_AUX_IO_0
    digHardwarePort9 | 0 | P0_TTL_AUX_IO_1
    digHardwarePort9 | 1 | P0_TTL_AUX_IO_1
    digHardwarePort10 | 0 | P0_LVDS_AUX_IN0
    digHardwarePort11 | 0 | P0_LVDS_AUX_IN1

    ¹ Note that the user-defined signals are shared between digitizers. If used by one digitizer, they can be simultaneously used by the others that shares this user-defined signal.

    The digHardwarePort12 and digHardwarePort15 are not supported on the Camera Link module.

  • For more information, refer to Synchronization and control signals, in the Frame Grabber chapter of the Matrox Odyssey Installation and Hardware Guide. In addition, some of these signals, when used for trigger input, affect the same trigger input controller.
Remark for Matrox Odyssey XD
  • The settings represent the following signals:
    Value | Digitizer | Digital input video connector 0 | Digital input video connector 0 | External auxilliary I/O connector 0 (DB-44) | External auxiliary I/O connector 1 (DB-9).
    digHardwarePort0 | 0 | P0_TTL_AUX(TRIG)_IO
    digHardwarePort0 | 1 | P1_TTL_AUX(TRIG)_IO
    digHardwarePort0 | 2 | P2_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 3 | P3_OPTO_AUX(TRIG)_IN
    digHardwarePort1 | 0 | P0_LVDS_AUX_(VSYNC)_IN
    digHardwarePort1 | 1 | P1_LVDS_AUX_(VSYNC)_IN
    digHardwarePort1 | 2 | P2_LVDS_AUX_(VSYNC)_IN
    digHardwarePort1 | 3 | P3_LVDS_AUX_(VSYNC)_IN
    digHardwarePort2 | 0 | P0_OPTO_AUX(TRIG)_IN0
    digHardwarePort2 | 1 | P1_OPTO_AUX(TRIG)_IN0
    digHardwarePort2 | 2 | P2_OPTO_AUX(TRIG)_IN0
    digHardwarePort2 | 3 | P3_OPTO_AUX(TRIG)_IN0
    digHardwarePort3 | 0 | P0_OPTO_AUX(TRIG)_IN1
    digHardwarePort3 | 1 | P1_OPTO_AUX(TRIG)_IN1
    digHardwarePort3 | 2 | P2_OPTO_AUX(TRIG)_IN1
    digHardwarePort3 | 3 | P3_OPTO_AUX(TRIG)_IN1
    digHardwarePort4 | 0 | LVDS/TTL_AUX(TRIG)_IN0¹
    digHardwarePort5 | 0 | LVDS/TTL_AUX(TRIG)_IN1¹
    digHardwarePort6 | 0 | LVDS/TTL_AUX(TRIG)_IN2¹
    digHardwarePort7 | 0 | LVDS/TTL_AUX(TRIG)_IN3¹
    digHardwarePort8 | 0 | LVDS/TTL_AUX(TRIG)_IN4¹
    digHardwarePort9 | 0 | LVDS/TTL_AUX(TRIG)_IN5¹
    digHardwarePort10 | 0 | LVDS/TTL_AUX(TRIG)_IN6¹
    digHardwarePort11 | 0 | LVDS/TTL_AUX(TRIG)_IN7¹

    ¹ Note that the user-defined signals are shared between digitizers. If used by one digitizer, they can be simultaneously used by the others that shares this user-defined signal.

    The digHardwarePort11 and digHardwarePort15 are not supported.

Remarks for Matrox Solios XA
  • The settings represent the following signals:
    Value | Digitizer | External auxiliary I/O connector 0 (DB-44) | External auxiliary I/O connector 1 (DB-9) | Analog video input connector DVI 0 | Analog video input connector DVI 1
    digHardwarePort0 | 0 | P0_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 1 | P1_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 2 | P2_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 3 | P30_OPTO_AUX(TRIG)_IN
    digHardwarePort1 | 0 | P0_TTL_AUX(TRIG)_IN
    digHardwarePort1 | 1 | P1_TTL_AUX(TRIG)_IN
    digHardwarePort1 | 2 | P2_TTL_AUX(TRIG)_IN
    digHardwarePort1 | 3 | P3_TTL_AUX(TRIG)_IN
    digHardwarePort2 | Any | LVDS/TTL_AUX_IN0¹
    digHardwarePort3 | Any | LVDS/TTL_AUX_IN1¹
    digHardwarePort4 | Any | LVDS/TTL_AUX_IN2¹
    digHardwarePort5 | Any | LVDS/TTL_AUX_IN3¹
    digHardwarePort6 | Any | LVDS/TTL_AUX_IN4¹
    digHardwarePort7 | Any | LVDS/TTL_AUX_IN5¹
    digHardwarePort8 | Any | LVDS/TTL_AUX_IN6¹
    digHardwarePort9 | Any | LVDS/TTL_AUX_IN7¹

    ¹ Note that the user-defined signals are shared between digitizers. If used by one digitizer, they can be simultaneously used by the others that shares this user-defined signal.

    The digHardwarePort10 and digHardwarePort15 are not supported on the Camera Link module.

  • For more information, refer to Synchronization and control signals, in the Frame Grabber chapter of the Matrox Helios Installation and Hardware Guide. In addition, some of these signals, when used for trigger input, affect the same trigger input controller.
Remarks for Matrox Solios XCL
  • The settings represent the following signals:
    Value | Digitizer | External auxiliary I/O connector 0 (HD-44) | External auxiliary I/O connector 1 (DB-9)
    digHardwarePort0 | Any | OPTO_AUX_IN0¹
    digHardwarePort1 | Any | OPTO_AUX_IN1¹
    digHardwarePort2 | Any | TTL_AUX_IO_0¹
    digHardwarePort3 | Any | TTL_AUX_IO_1¹
    digHardwarePort4 | Any | LVDS_AUX_IN0¹
    digHardwarePort5 | Any | LVDS_AUX_IN1¹
    digHardwarePort6 | 0 | P0_OPTO_AUX_IN0
    digHardwarePort7 | 0 | P0_OPTO_AUX_IN1
    digHardwarePort8 | 0 | P0_TTL_AUX_IO_0
    digHardwarePort8 | 1 | P0_TTL_AUX_IO_0
    digHardwarePort9 | 0 | P0_TTL_AUX_IO_1
    digHardwarePort9 | 1 | P0_TTL_AUX_IO_1
    digHardwarePort10 | 0 | P0_LVDS_AUX_IN0
    digHardwarePort11 | 0 | P0_LVDS_AUX_IN1

    ¹ Note that the user-defined signals are shared between digitizers. If used by one digitizer, they can be simultaneously used by the others that shares this user-defined signal.

    The digHardwarePort12 and digHardwarePort15 are not supported on the Camera Link module.

  • For more information, refer to Synchronization and control signals, in the Frame Grabber chapter of the Matrox Helios Installation and Hardware Guide. In addition, some of these signals, when used for trigger input, affect the same trigger input controller.


Digitizer.Exposure2Time Property

Exposure2Time property

See Also | Availability | MIL Equivalent | Exposure2TimeDelay | FieldStartEvenEvent
User Guide:
Triggered grabs

Reference:
Digitizer.Exposure2Enabled
Digitizer.Exposure2Mode
Digitizer.Exposure2Source
Digitizer.Exposure2TimeDelay
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /1394
Not supported on Matrox CronosPlus
Not supported on Matrox Morphis
MdigControl(
ControlType =
M_GRAB_EXPOSURE_TIME +
M_TIMER2
)

MdigInquire(
InquireType =
M_GRAB_EXPOSURE_TIME +
M_TIMER2
)
Digitizer
Exposure2Time
Synopsis
Returns or sets the grab exposure time, or the active time of Timer2.
[]
Syntax
object.Exposure2Time [= Double]
[]
Syntax
object->Exposure2Time [= double]
Type description
A double value that specifies the grab exposure time in nsec.
Remarks
  • This sets the active time of Timer2.
  • An error might occur if the specified time could not be generated.


Digitizer.Exposure2TimeDelay Property

Exposure2TimeDelay property

See Also | Availability | MIL Equivalent | Exposure2Source | Exposure2Time
User Guide:
Triggered grabs

Reference:
Digitizer.Exposure2Enabled
Digitizer.Exposure2Mode
Digitizer.Exposure2Source
Digitizer.Exposure2Time
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /1394
Not supported on Matrox CronosPlus
Not supported on Matrox Morphis
MdigControl(
ControlType =
M_GRAB_EXPOSURE_TIME_DELAY +
M_TIMER2
)

MdigInquire(
InquireType =
M_GRAB_EXPOSURE_TIME_DELAY +
M_TIMER2
)
Digitizer
Exposure2TimeDelay
Synopsis
Returns or sets the delay between the trigger event and the start of exposure, or sets the inactive time of Timer2.
[]
Syntax
object.Exposure2TimeDelay [= Double]
[]
Syntax
object->Exposure2TimeDelay [= double]
Type description
A double value that specifies the delay, in nsec.
Remarks
  • This sets the inactive time of Timer2.
  • An error might occur if the specified delay could not be generated.


Digitizer.FieldStartEvenEvent Property

FieldStartEvenEvent property

See Also | Availability | MIL Equivalent | Exposure2Time | FieldStartEvent
Reference:
Digitizer.FieldStartEven
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox Orion
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Genesis
No MIL equivalent
Digitizer
FieldStartEvenEvent
Synopsis
Returns or sets whether the FieldStartEven event is enabled.
[]
Syntax
object.FieldStartEvenEvent [= Boolean]
[]
Syntax
object->FieldStartEvenEvent [= VARIANT_BOOL]
Type description
A boolean value that specifies the status of the FieldStartEven event.
Value | Meaning
True | The FieldStartEven event is enabled and will be fired.
False | The FieldStartEven event is disabled so it will not be fired.


Digitizer.FieldStartEvent Property

FieldStartEvent property

See Also | Availability | MIL Equivalent | FieldStartEvenEvent | FieldStartOddEvent
Reference:
Digitizer.FieldStart
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox Orion
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
No MIL equivalent
Digitizer
FieldStartEvent
Synopsis
Returns or sets whether the FieldStart event is enabled.
[]
Syntax
object.FieldStartEvent [= Boolean]
[]
Syntax
object->FieldStartEvent [= VARIANT_BOOL]
Type description
A boolean value that specifies the status of the FieldStart event.
Value | Meaning
True | The FieldStart event is enabled and will be fired.
False | The FieldStart event is disabled so it will not be fired.


Digitizer.FieldStartOddEvent Property

FieldStartOddEvent property

See Also | Availability | MIL Equivalent | FieldStartEvent | FocusParameters
Reference:
Digitizer.FieldStartOdd
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox Orion
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
No MIL equivalent
Digitizer
FieldStartOddEvent
Synopsis
Returns or sets whether the FieldStartOdd event is enabled.
[]
Syntax
object.FieldStartOddEvent [= Boolean]
[]
Syntax
object->FieldStartOddEvent [= VARIANT_BOOL]
Type description
A boolean value that specifies the status of the FieldStartOdd event.
Value | Meaning
True | The FieldStartOdd event is enabled and will be fired.
False | The FieldStartOdd event is disabled so it will not be fired.


Digitizer.FocusParameters Property

FocusParameters property

Availability | MIL Equivalent | FieldStartOddEvent | Format
Not available in ActiveMIL-Lite

Available in ActiveMIL
MdigFocus(
FocusImageRegionBufId
MinPosition
StartPosition
MaxPosition
MaxPositionVariation
)
Digitizer
FocusParameters
Properties: FocusRegion, MaximumPositionVariation, MaximumPosition, MinimumPosition, StartPosition
Synopsis
Allows you to specify or determine the positional parameters used to search for the optimum focus position.
[]
Syntax
[FocusParameters =] object.FocusParameters
[]
Syntax
[IFocusParametersPtr =] object->FocusParameters
Type description
A FocusParameters object.
Remark
  • You cannot assign another FocusParameters object to this property.


Digitizer.FocusParameters.FocusRegion Property

FocusRegion property

See Also | Availability | MIL Equivalent | MaximumPositionVariation
User Guide:
Auto-focusing

Reference:
Digitizer.FocusParameters
Not available in ActiveMIL-Lite

Available in ActiveMIL
MdigFocus(FocusImageRegionBufId)
Digitizer
FocusParameters
FocusRegion
Properties: CenterX, CenterY, EndX, EndY, FullSize, Mode, OffsetX, OffsetY, SizeX, SizeY, StartX, StartY
Synopsis
Allows you to specify or determine the region of the grabbed image to analyze.
[]
Syntax
[RegionOfInterest =] object.FocusRegion
[]
Syntax
[IRegionOfInterestPtr =] object->FocusRegion
Type description
A RegionOfInterest object.
Remarks
  • You cannot assign another RegionOfInterest object to this property.
  • Analyzing only a region of the grabbed image is primarily useful if there are objects at different distances within the camera's field of view.


Digitizer.FocusParameters.FocusRegion.CenterX Property

CenterX property

See Also | Availability | MIL Equivalent | CenterY
Reference:
Digitizer.FocusParameters.FocusRegion.CenterY
Digitizer.FocusParameters.FocusRegion.SizeX
Digitizer.FocusParameters.FocusRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Digitizer
FocusParameters
FocusRegion
CenterX
Synopsis
Returns or sets the X-coordinate of the center of the sub-region.
[]
Syntax
object.CenterX [= Integer]
[]
Syntax
object->CenterX [= long]
Type description
A long value that specifies the X-coordinate of the center point, relative to the top-left corner of the image.
Remarks
  • The center point, along with the size, define the sub-region.
  • The start point (offset) and end point will be modified as a result of moving the center point.


Digitizer.FocusParameters.FocusRegion.CenterY Property

CenterY property

See Also | Availability | MIL Equivalent | CenterX | EndX
Reference:
Digitizer.FocusParameters.FocusRegion.CenterX
Digitizer.FocusParameters.FocusRegion.SizeX
Digitizer.FocusParameters.FocusRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Digitizer
FocusParameters
FocusRegion
CenterY
Synopsis
Returns or sets the Y-coordinate of the center of the sub-region.
[]
Syntax
object.CenterY [= Integer]
[]
Syntax
object->CenterY [= long]
Type description
A long value that specifies the Y-coordinate of the center point, relative to the top-left corner of the image.
Remarks
  • The center point, along with the size, define the sub-region.
  • The start point (offset) and end point will be modified as a result of moving the center point.


Digitizer.FocusParameters.FocusRegion.EndX Property

EndX property

See Also | Availability | MIL Equivalent | CenterY | EndY
Reference:
Digitizer.FocusParameters.FocusRegion.EndY
Digitizer.FocusParameters.FocusRegion.StartX
Digitizer.FocusParameters.FocusRegion.StartY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Digitizer
FocusParameters
FocusRegion
EndX
Synopsis
Returns or sets the X-coordinate of the end point of the sub-region.
[]
Syntax
object.EndX [= Integer]
[]
Syntax
object->EndX [= long]
Type description
A long value that specifies the X-coordinate of the end point, relative to the top-left corner of the image.
Remarks
  • The start point (offset), along with the end point, define the sub-region.
  • The center point and the size will be modified as a result of moving the end point.


Digitizer.FocusParameters.FocusRegion.EndY Property

EndY property

See Also | Availability | MIL Equivalent | EndX | FullSize
Reference:
Digitizer.FocusParameters.FocusRegion.EndX
Digitizer.FocusParameters.FocusRegion.StartX
Digitizer.FocusParameters.FocusRegion.StartY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Digitizer
FocusParameters
FocusRegion
EndY
Synopsis
Returns or sets the Y-coordinate of the end point of the sub-region.
[]
Syntax
object.EndY [= Integer]
[]
Syntax
object->EndY [= long]
Type description
A long value that specifies the Y-coordinate of the end point, relative to the top-left corner of the image.
Remarks
  • The start point (offset), along with the end point, define the sub-region.
  • The center point and the size will be modified as a result of moving the end point.


Digitizer.FocusParameters.FocusRegion.FullSize Property

FullSize property

Availability | MIL Equivalent | EndY | Mode
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Digitizer
FocusParameters
FocusRegion
FullSize
Synopsis
Returns or sets whether to analyze the entire image.
[]
Syntax
object.FullSize [= Boolean]
[]
Syntax
object->FullSize [= VARIANT_BOOL]
Type description
A boolean value that specifies whether to analyze the entire image. (default is True)
Value | Meaning
True | Analyze the entire image .
False | Analyze only the region specified by the FocusRegion property.


Digitizer.FocusParameters.FocusRegion.Mode Property

Mode property

See Also | Availability | MIL Equivalent | FullSize | OffsetX
Reference:
Digitizer.FocusParameters.FocusRegion.OffsetX
Digitizer.FocusParameters.FocusRegion.OffsetY
Digitizer.FocusParameters.FocusRegion.SizeX
Digitizer.FocusParameters.FocusRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Digitizer
FocusParameters
FocusRegion
Mode
Synopsis
Returns or sets the mode of operation for the region of interest.
[]
Syntax
object.Mode [= RoiModeConstants]
[]
Syntax
object->Mode [= enum RoiModeConstants]
Type description
A RoiModeConstants expression that specifies the mode of operation.
Value | Meaning
roiOffsetSize | The offset properties are anchored. This means that when the size changes, the offsets do not move; it is the center that is displaced accordingly.
roiCenterSize | The center properties are anchored. This means that when the size changes, the coordinates of the center do not move; it is the offsets that are displaced accordingly.


Digitizer.FocusParameters.FocusRegion.OffsetX Property

OffsetX property

See Also | Availability | MIL Equivalent | Mode | OffsetY
Reference:
Digitizer.FocusParameters.FocusRegion.OffsetY
Digitizer.FocusParameters.FocusRegion.SizeX
Digitizer.FocusParameters.FocusRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufChild1d(OffX)

MbufChild2d(OffX)

MbufChildColor2d(OffX)
Digitizer
FocusParameters
FocusRegion
OffsetX
Synopsis
Returns or sets the horizontal offset of the sub-region.
[]
Syntax
object.OffsetX [= Integer]
[]
Syntax
object->OffsetX [= long]
Type description
A long value that specifies the X-coordinate of the top-left corner of the sub-region, relative to the top-left corner of the image.


Digitizer.FocusParameters.FocusRegion.OffsetY Property

OffsetY property

See Also | Availability | MIL Equivalent | OffsetX | SizeX
Reference:
Digitizer.FocusParameters.FocusRegion.OffsetX
Digitizer.FocusParameters.FocusRegion.SizeX
Digitizer.FocusParameters.FocusRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufChild2d(OffY)

MbufChildColor2d(OffY)
Digitizer
FocusParameters
FocusRegion
OffsetY
Synopsis
Returns or sets the vertical offset of the sub-region.
[]
Syntax
object.OffsetY [= Integer]
[]
Syntax
object->OffsetY [= long]
Type description
A long value that specifies the Y-coordinate of the top-left corner of the sub-region, relative to the top-left corner of the image.


Digitizer.FocusParameters.FocusRegion.SizeX Property

SizeX property

See Also | Availability | MIL Equivalent | OffsetY | SizeY
Reference:
Digitizer.FocusParameters.FocusRegion.Mode
Digitizer.FocusParameters.FocusRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufChild1d(SizeX)

MbufChild2d(SizeX)

MbufChildColor2d(SizeX)
Digitizer
FocusParameters
FocusRegion
SizeX
Synopsis
Returns or sets the width of the search region.
[]
Syntax
object.SizeX [= Integer]
[]
Syntax
object->SizeX [= long]
Type description
A long value that specifies the width.
Remark
  • The Mode property determines whether the object's offset or center is displaced as a result of changing its width.


Digitizer.FocusParameters.FocusRegion.SizeY Property

SizeY property

See Also | Availability | MIL Equivalent | SizeX | StartX
Reference:
Digitizer.FocusParameters.FocusRegion.Mode
Digitizer.FocusParameters.FocusRegion.SizeX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufChild2d(SizeY)

MbufChildColor2d(SizeY)
Digitizer
FocusParameters
FocusRegion
SizeY
Synopsis
Returns or sets the height of the sub-region.
[]
Syntax
object.SizeY [= Integer]
[]
Syntax
object->SizeY [= long]
Type description
A long value that specifies the height.
Remark
  • The Mode property determines whether the object's offset or center is displaced as a result of changing its height.


Digitizer.FocusParameters.FocusRegion.StartX Property

StartX property

See Also | Availability | MIL Equivalent | SizeY | StartY
Reference:
Digitizer.FocusParameters.FocusRegion.EndX
Digitizer.FocusParameters.FocusRegion.EndY
Digitizer.FocusParameters.FocusRegion.OffsetX
Digitizer.FocusParameters.FocusRegion.OffsetY
Digitizer.FocusParameters.FocusRegion.StartY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Digitizer
FocusParameters
FocusRegion
StartX
Synopsis
Returns or sets the X-coordinate of the start point of the sub-region.
[]
Syntax
object.StartX [= Integer]
[]
Syntax
object->StartX [= long]
Type description
A long value that specifies the X-coordinate of the start point of the sub-region, relative to the top-left corner of the image.
Remarks
  • The center point, along with the size, will be modified as a result of moving the start point.
  • The start point (offset) and end point define the sub-region.


Digitizer.FocusParameters.FocusRegion.StartY Property

StartY property

See Also | Availability | MIL Equivalent | StartX
Reference:
Digitizer.FocusParameters.FocusRegion.EndX
Digitizer.FocusParameters.FocusRegion.EndY
Digitizer.FocusParameters.FocusRegion.OffsetX
Digitizer.FocusParameters.FocusRegion.OffsetY
Digitizer.FocusParameters.FocusRegion.StartX
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Digitizer
FocusParameters
FocusRegion
StartY
Synopsis
Returns or sets the Y-coordinate of the start point of the sub-region.
[]
Syntax
object.StartY [= Integer]
[]
Syntax
object->StartY [= long]
Type description
A long value that specifies the Y-coordinate of the start point of the sub-region, relative to the top-left corner of the image.
Remarks
  • The center point, along with the size, will be modified as a result of moving the start point.
  • The start point (offset) and end point define the sub-region.


Digitizer.FocusParameters.MaximumPosition Property

MaximumPosition property

See Also | Availability | MIL Equivalent | MaximumPositionVariation | MinimumPosition
User Guide:
Auto-focusing

Reference:
Digitizer.FocusParameters
Not available in ActiveMIL-Lite

Available in ActiveMIL
MdigFocus(MaxPosition)
Digitizer
FocusParameters
MaximumPosition
Synopsis
Returns or sets the maximum focus position of the search.
[]
Syntax
object.MaximumPosition [= Integer]
[]
Syntax
object->MaximumPosition [= long]
Type description
A long value that specifies the position, in terms of lens motor steps. (default is 255)


Digitizer.FocusParameters.MaximumPositionVariation Property

MaximumPositionVariation property

See Also | Availability | MIL Equivalent | FocusRegion | MaximumPosition
User Guide:
Auto-focusing

Reference:
Digitizer.FocusParameters
Not available in ActiveMIL-Lite

Available in ActiveMIL
MdigFocus(MaxPositionVariation)
Digitizer
FocusParameters
MaximumPositionVariation
Synopsis
Returns or sets the positional increment in a smart-scan search.
[]
Syntax
object.MaximumPositionVariation [= Integer]
[]
Syntax
object->MaximumPositionVariation [= long]
Type description
A long value that specifies the positional increment, in terms of lens motor steps. The default positional increment is 1/16 of the value specified by the MaximumPosition property.
[]
Example
This example adjusts the focus parameters.

// Adjust Focus parameters
m_Digitizer1->FocusParameters->MaximumPositionVariation = 32;
m_Digitizer1->FocusParameters->StartPosition = 32;


Digitizer.FocusParameters.MinimumPosition Property

MinimumPosition property

See Also | Availability | MIL Equivalent | MaximumPosition | StartPosition
User Guide:
Auto-focusing

Reference:
Digitizer.FocusParameters
Not available in ActiveMIL-Lite

Available in ActiveMIL
MdigFocus(MinPosition)
Digitizer
FocusParameters
MinimumPosition
Synopsis
Returns or sets the minimum focus position of the search.
[]
Syntax
object.MinimumPosition [= Integer]
[]
Syntax
object->MinimumPosition [= long]
Type description
A long value that specifies specifies the position, in terms of lens motor steps. (default is 0)


Digitizer.FocusParameters.StartPosition Property

StartPosition property

See Also | Availability | MIL Equivalent | MinimumPosition
User Guide:
Auto-focusing

Reference:
Digitizer.FocusParameters
Not available in ActiveMIL-Lite

Available in ActiveMIL
MdigFocus(StartPosition)
Digitizer
FocusParameters
StartPosition
Synopsis
Returns or sets the starting focus position of the search.
[]
Syntax
object.StartPosition [= Integer]
[]
Syntax
object->StartPosition [= long]
Type description
A long value that specifies the position, in terms of lens motor steps. By default, this property is set to the same value as the MinimumPosition property.
[]
Example
This example adjusts the focus parameters.

// Adjust Focus parameters
m_Digitizer1->FocusParameters->MaximumPositionVariation = 32;
m_Digitizer1->FocusParameters->StartPosition = 32;


Digitizer.Format Property

Format property

See Also | Availability | MIL Equivalent | FocusParameters | FrameStartEvent
User Guide:
Grabbing an image overview

Reference:
Digitizer.DeviceNumber
Digitizer.Grab
Digitizer.GrabContinuous
Digitizer.GrabMode
Digitizer.ScaleX
Digitizer.ScaleY
Available in ActiveMIL-Lite

Available in ActiveMIL

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Orion
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MdigAlloc(DataFormat)

MdigInquire(
InquireType =
M_FORMAT
)
Digitizer
Format
Synopsis
Returns or sets the digitizer configuration format of the specified digitizer.
[]
Syntax
object.Format [= String]
[]
Syntax
object->Format [= _bstr_t]
Type description
A string expression that specifies the digitizer configuration format to use.
Value | Meaning
DCF file name | The name of the digitizer configuration format (DCF) file, if the digitizer supports DCF files.
"CCIR" | Uses a DCF for a CCIR, 768x576, 14. 75 MHz, analog camera.
"CCIRViaRGB" | Uses a DCF for an CCIR, 768x576, 14. 75 MHz, analog camera. If your frame grabber has both a decoder and an RGB path, the red RGB path will be used.
"RS170" | Uses a DCF for an RS-170, 640x480, 12. 27 MHz, analog camera.
"RS170ViaRGB" | Uses a DCF for an RS170, 640x480, 12. 27 MHz, analog camera. If your frame grabber has both a decoder and an RGB path, the RGB path will be used.
"DEFAULT" | This corresponds to the data format chosen with MILConfig.
"NTSC" | Uses a DCF for a 640x480, 12. 27 MHz camera (similar to NTSC resolution and frame rate) for a color camera .
"NTSCViaRGB" | Uses a DCF for a component RGB, 640x480, 12. 27 MHz camera. If your frame grabber has both a decoder and an RGB path, the RGB path will be used. This is for a color camera.
"NTSCViaYC" | Uses a DCF for a component NTSC Y/C (SVHS), 640x480, 12. 27 MHz color camera.
"PAL" | Uses a DCF for a 768x576, 14. 75 MHz camera (similar to PAL resolution and frame rate). This is for a color camera.
"PALViaRGB" | Uses a DCF for a component RGB, 768x576, 14. 75 MHz camera. If your frame grabber has both a decoder and an RGB path, the RGB path will be used. This is for a color camera.
"PALViaYC" | Uses a DCF for a PAL Y/C, 768x576, 14. 75 MHz color camera.
"xXy data [@z[FPS]]" | The string format, where x is the width in pixels, y is the height in pixels, data is the image data format, and z is the frame rate. For example, "640X480 YUV411 @30FPS", "320X240 YUV422 @7.5", and "1024X768 YUV" are accepted strings for one type of camera. Note that if no frame rate is specified, the fastest available frame rate will be used. The list of all supported formats is available at design-time. Note also that it is important not to omit the space between the string format and the image data format, as well as the space between the image data format and the frame rate if specified.
Remarks
  • This property cannot be set at run-time if the object is in the allocated state.
  • Typically, Digitizer controls with different formats must have different owner systems.
  • You can create multiple Digitizer controls that have the same owner system. Create as many Digitizer controls as you have cameras with different formats, from which you want to grab.
  • A DCF file can also be specified.
Remarks for Matrox Corona-II
  • Set each Digitizer control's DeviceNumber property to 0, since you can only grab from one digitizer at a time. Call the Grab method of any digitizer. If you use a digitizer that is different from the previous call, a camera switch will occur.
  • The following values are available:
    • DCF file name
    • "DEFAULT"
    • "CCIR"
    • "CCIRViaRGB"
    • "RS170"
    • "RS170ViaRGB"
    • "NTSCViaRGB" Note that this specifies a DCF for RGB format with an external synchronization signal.
    • "PALViaRGB" Note that this specifies a DCF for RGB format with an external synchronization signal.
Remarks for Matrox CronosPlus
  • Set each Digitizer control's DeviceNumber property to 0, since you can only grab from one digitizer at a time. Call the Grab method of any digitizer. If you use a digitizer that is different from the previous call, a camera switch will occur.
  • The following values are available:
    • DCF file name
    • "DEFAULT"
    • "CCIR"
    • "RS170"
    • "DEFAULT"
    • "NTSC"
    • "NTSCViaYC"
    • "PAL"
    • "PALViaYC"
Remark for Matrox Genesis
  • The following values are available:
    • DCF file name
    • "DEFAULT"
    • "CCIR"
    • "RS170"
    • "NTSCViaRGB" Note that this specifies a DCF for RGB format with a composite synchronization signal on green.
    • "PALViaRGB" Note that this specifies a DCF for RGB format with a composite synchronization signal on green.
Remark for Matrox Helios XA
  • The following values are available:
    • DCF file name
    • "DEFAULT"
    • "CCIR"
    • "CCIRViaRGB"
    • "RS170"
    • "RS170ViaRGB"
    • "NTSCViaRGB" Note that this specifies a DCF for RGB format with an external synchronization signal.
    • "PALViaRGB" Note that this specifies a DCF for RGB format with an external synchronization signal.
Remark for Matrox Helios XCL
  • The following values are available:
    • DCF file name
    • "DEFAULT"
Remark for Matrox Meteor-II /1394
  • The following values are available:
    • DCF file name
    • "DEFAULT"
    • "RS170"
    • "NTSC"
Remark for Matrox Meteor-II /Camera Link
  • The following values are available:
    • DCF file name
    • "DEFAULT"
Remark for Matrox Meteor-II /Digital
  • The following values are available:
    • DCF file name
    • "DEFAULT"
Remark for Matrox Meteor-II /Multi-Channel
  • The following values are available:
    • DCF file name
    • "DEFAULT"
    • "CCIR"
    • "CCIRViaRGB"
    • "RS170"
    • "RS170ViaRGB"
    • "NTSCViaRGB" Note that this specifies a DCF for RGB format with an external synchronization signal.
    • "PALViaRGB" Note that this specifies a DCF for RGB format with an external synchronization signal.
Remark for Matrox Meteor-II /Standard
  • The following values are available:
    • DCF file name
    • "DEFAULT"
    • "CCIR"
    • "RS170"
    • "DEFAULT"
    • "NTSC"
    • "NTSCViaYC"
    • "PAL"
    • "PALViaYC"
Remark for Matrox Morphis
  • The following values are available:
    • DCF file name
    • "DEFAULT"
    • "CCIR"
    • "RS170"
    • "DEFAULT"
    • "NTSC"
    • "NTSCViaYC"
    • "PAL"
    • "PALViaYC"
Remarks for Matrox Odyssey XA
  • Digitizers can be allocated even if the frame grabber is physically connected to another Matrox Odyssey, as long as they are both part of the same cluster.
  • The following values are available:
    • DCF file name
    • "DEFAULT"
    • "CCIR"
    • "CCIRViaRGB"
    • "RS170"
    • "RS170ViaRGB"
    • "NTSCViaRGB" Note that this specifies a DCF for RGB format with an external synchronization signal.
    • "PALViaRGB" Note that this specifies a DCF for RGB format with an external synchronization signal.
Remarks for Matrox Odyssey XCL
  • Digitizers can be allocated even if the frame grabber is physically connected to another Matrox Odyssey, as long as they are both part of the same cluster.
  • The following values are available:
    • DCF file name
    • "DEFAULT"
Remarks for Matrox Odyssey XD
  • Digitizers can be allocated even if the frame grabber is physically connected to another Matrox Odyssey, as long as they are both part of the same cluster.
  • The following values are available:
    • DCF file name
    • "DEFAULT"
Remarks for Matrox Orion
  • Set each Digitizer control's DeviceNumber property to 0, since you can only grab from one digitizer at a time. Call the Grab method of any digitizer. If you use a digitizer that is different from the previous call, a camera switch will occur.
  • Matrox Orion has a special feature that permits real-time transfers of grabbed images to display memory and Host memory simultaneously. For example, an application can perform a continuous color grab in a buffer selected on the display and at the same time grab in a monochrome Host image for processing.

    To use this feature, create two Digitizer controls. Both controls must have their Format property set to the same DCF, and their DeviceNumber property set to 0. This is because the same physical acquisition paths are used when grabbing.

    After the digitizers are allocated, you can then use the GrabContinuous method of one Digitizer control to grab into an image selected on the display and use the Grab method of the second Digitizer control to grab into a Host image. This results in the same grabbed image being transferred to each image in their respective destination formats.

    Both the image selected to the display and the Host image need not be in the same format or the same size. In addition, the GrabMode, ScaleX, and ScaleY properties can be set independently for each digitizer. Changing any other property for one digitizer, will affect the other.

  • The following values are available:
    • DCF file name
    • "DEFAULT"
    • "CCIR"
    • "CCIRViaRGB"
    • "RS170"
    • "RS170ViaRGB"
    • "NTSC"
    • "NTSCViaRGB" Note that this specifies a DCF for RGB format with a composite synchronization signal on green.
    • "NTSCViaYC"
    • "PAL"
    • "PALViaRGB"
    • "PALViaYC" Note that this specifies a DCF for RGB format with an external synchronization signal.
Remarks for Matrox Solios XA
  • The following values are available:
    • DCF file name
    • "DEFAULT"
    • "CCIR"
    • "CCIRViaRGB"
    • "RS170"
    • "RS170ViaRGB"
    • "NTSCViaRGB" Note that this specifies a DCF for RGB format with an external synchronization signal.
    • "PALViaRGB" Note that this specifies a DCF for RGB format with an external synchronization signal.
  • "NTSCViaRGB" and "PALViaRGB" are not supported on Matrox Solios single analog.
Remark for Matrox Solios XCL
  • The following values are available:
    • DCF file name
    • "DEFAULT"


Digitizer.FrameStartEvent Property

FrameStartEvent property

See Also | Availability | MIL Equivalent | Format | GrabContinuousEndTrigger
User Guide:
Digitizer events

Reference:
Digitizer.FrameStart
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox Orion
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
No MIL equivalent
Digitizer
FrameStartEvent
Synopsis
Returns or sets whether the FrameStart event is enabled.
[]
Syntax
object.FrameStartEvent [= Boolean]
[]
Syntax
object->FrameStartEvent [= VARIANT_BOOL]
Type description
A boolean value that specifies the status of the FrameStart event.
Value | Meaning
True | The FrameStart event will be fired.
False | The FrameStart event will not be fired.


Digitizer.GrabContinuousEndTrigger Property

GrabContinuousEndTrigger property

See Also | Availability | MIL Equivalent | FrameStartEvent | GrabDirectionX
User Guide:
Triggered grabs

Reference:
Digitizer.TriggerEnabled
Digitizer.TriggerMode
Digitizer.TriggerSource
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigControl(
ControlType =
M_GRAB_CONTINUOUS_END_TRIGGER
)

MdigInquire(
InquireType =
M_GRAB_CONTINUOUS_END_TRIGGER
)
Digitizer
GrabContinuousEndTrigger
Synopsis
Returns or sets whether an automatic trigger is generated when the Halt method is called during a triggered continuous grab.
[]
Syntax
object.GrabContinuousEndTrigger [= Boolean]
[]
Syntax
object->GrabContinuousEndTrigger [= VARIANT_BOOL]
Type description
A boolean value that specifies whether an automatic trigger is generated when the Halt method is called during a triggered continuous grab.

The default for a software trigger grab is True. The default for a hardware trigger grab is False.
Value | Meaning
True | An automatic trigger is generated after the Halt method is called when performing a triggered continuous grab.
False | An automatic trigger is not generated after the Halt method is called when performing a triggered continuous grab.
Remarks
  • Note that for a software triggered continuous grab:
    • When this property is set to True, the Halt method will generate a software trigger that invokes the last grab.
    • When this property is set to False, the Halt method will wait indefinitely until a software trigger is issued on a separate thread before invoking the last grab.
  • Note that for a hardware triggered continuous grab:
    • When this property is set to True, the Halt method will invoke a last grab and not wait indefinitely for a hardware trigger.
    • When this property is set to False, the Halt method will wait indefinitely until a hardware trigger is generated before invoking the last grab.


Digitizer.GrabDirectionX Property

GrabDirectionX property

Availability | MIL Equivalent | GrabContinuousEndTrigger | GrabDirectionY
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Orion
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /1394
MdigControl(
ControlType =
M_GRAB_DIRECTION_X
)

MdigInquire(
InquireType =
M_GRAB_DIRECTION_X
)
Digitizer
GrabDirectionX
Synopsis
Returns or sets the horizontal grab direction.
[]
Syntax
object.GrabDirectionX [= DigGrabDirectionConstants]
[]
Syntax
object->GrabDirectionX [= enum DigGrabDirectionConstants]
Type description
A DigGrabDirectionConstants expression that specifies the direction in which to grab the image.
Value | Meaning
digReverse | Flip the grabbed image horizontally.
digForward | digForward Grab normally in the horizontal direction.


Digitizer.GrabDirectionY Property

GrabDirectionY property

Availability | MIL Equivalent | GrabDirectionX | GrabEndEvent
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Orion
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /1394

See remarks for support on:
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
MdigControl(
ControlType =
M_GRAB_DIRECTION_Y
)

MdigInquire(
InquireType =
M_GRAB_DIRECTION_Y
)
Digitizer
GrabDirectionY
Synopsis
Returns or sets the vertical grab direction.
[]
Syntax
object.GrabDirectionY [= DigGrabDirectionConstants]
[]
Syntax
object->GrabDirectionY [= enum DigGrabDirectionConstants]
Type description
A DigGrabDirectionConstants expression that specifies the direction in which to grab the image.
Value | Meaning
digReverse | Flip the grabbed image vertically.
digForward | Grab from top to bottom, in the vertical direction.
Remarks for Matrox Meteor-II /Camera Link
  • This only has an effect if the Location property of the destination image is set imOnBoard.
  • In addition, digReverse is not supported if the CanDisplay property of the destination image is enabled.
Remarks for Matrox Meteor-II /Digital
  • This only has an effect if the Location property of the destination image is set imOnBoard.
  • In addition, digReverse is not supported if the CanDisplay property of the destination image is enabled.


Digitizer.GrabEndEvent Property

GrabEndEvent property

See Also | Availability | MIL Equivalent | GrabDirectionY | GrabFieldEndEvenEvent
Reference:
Digitizer.GrabEnd
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Digitizer
GrabEndEvent
Synopsis
Returns or sets whether the GrabEnd event is enabled.
[]
Syntax
object.GrabEndEvent [= Boolean]
[]
Syntax
object->GrabEndEvent [= VARIANT_BOOL]
Type description
A boolean value that specifies the status of the GrabEnd event.
Value | Meaning
True | The GrabEnd event is enabled and will be fired.
False | The GrabEnd event is disabled so it will not be fired.


Digitizer.GrabFieldEndEvenEvent Property

GrabFieldEndEvenEvent property

See Also | Availability | MIL Equivalent | GrabEndEvent | GrabFieldEndEvent
Reference:
Digitizer.GrabFieldEndEven
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Corona-II
Fully supported on Matrox Orion
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /1394
No MIL equivalent
Digitizer
GrabFieldEndEvenEvent
Synopsis
Returns or sets whether the GrabFieldEndEven event is enabled.
[]
Syntax
object.GrabFieldEndEvenEvent [= Boolean]
[]
Syntax
object->GrabFieldEndEvenEvent [= VARIANT_BOOL]
Type description
A boolean value that specifies the status of the GrabFieldEndEven event.
Value | Meaning
True | The GrabFieldEndEven event is enabled and will be fired.
False | The GrabFieldEndEven event is disabled so it will not be fired.


Digitizer.GrabFieldEndEvent Property

GrabFieldEndEvent property

See Also | Availability | MIL Equivalent | GrabFieldEndEvenEvent | GrabFieldEndOddEvent
Reference:
Digitizer.GrabFieldEnd
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Corona-II
Fully supported on Matrox Orion
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /1394
No MIL equivalent
Digitizer
GrabFieldEndEvent
Synopsis
Returns or sets whether the GrabFieldEnd event is enabled.
[]
Syntax
object.GrabFieldEndEvent [= Boolean]
[]
Syntax
object->GrabFieldEndEvent [= VARIANT_BOOL]
Type description
A boolean value that specifies the status of the GrabFieldEnd event.
Value | Meaning
True | The GrabFieldEnd event is enabled and will be fired.
False | The GrabFieldEnd event is disabled so it will not be fired.


Digitizer.GrabFieldEndOddEvent Property

GrabFieldEndOddEvent property

See Also | Availability | MIL Equivalent | GrabFieldEndEvent | GrabFieldNumber
Reference:
Digitizer.GrabFieldEndOdd
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Corona-II
Fully supported on Matrox Orion
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /1394
No MIL equivalent
Digitizer
GrabFieldEndOddEvent
Synopsis
Returns or sets whether the GrabFieldEndOdd event is enabled.
[]
Syntax
object.GrabFieldEndOddEvent [= Boolean]
[]
Syntax
object->GrabFieldEndOddEvent [= VARIANT_BOOL]
Type description
A boolean value that specifies the status of the GrabFieldEndOdd event.
Value | Meaning
True | The GrabFieldEndOdd event is enabled and will be fired.
False | The GrabFieldEndOdd event is disabled so it will not be fired.


Digitizer.GrabFieldNumber Property

GrabFieldNumber property

See Also | Availability | MIL Equivalent | GrabFieldEndOddEvent | GrabFrameEndEvent
User Guide:
Grabbing a single field

Reference:
Digitizer.Grab
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigControl(
ControlType =
M_GRAB_FIELD_NUM
)

MdigInquire(
InquireType =
M_GRAB_FIELD_NUM
)
Digitizer
GrabFieldNumber
Synopsis
Returns or sets the number of fields to grab when grabbing data with the Grab method.
[]
Syntax
object.GrabFieldNumber [= Integer]
[]
Syntax
object->GrabFieldNumber [= long]
Type description
A long value that specifies the number of fields to grab. This property can only be set to 1 or 2.
Remarks
  • When grabbing with interlaced cameras, 2 fields are grabbed by default. If you change the number of fields to 1, ActiveMIL treats each field as one frame (and as a result reduces the grab time by half).
  • When grabbing with progressive scanning cameras, 1 field is grabbed by default, and ActiveMIL treats each field as one frame.


Digitizer.GrabFrameEndEvent Property

GrabFrameEndEvent property

See Also | Availability | MIL Equivalent | GrabFieldNumber | GrabFrameStartEvent
Reference:
Digitizer.GrabFrameEnd
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Digitizer
GrabFrameEndEvent
Synopsis
Returns or sets whether the GrabFrameEnd event is enabled.
[]
Syntax
object.GrabFrameEndEvent [= Boolean]
[]
Syntax
object->GrabFrameEndEvent [= VARIANT_BOOL]
Type description
A boolean value that specifies the status of the GrabFrameEnd event.
Value | Meaning
True | The GrabFrameEnd event is enabled and will be fired.
False | The GrabFrameEnd event is disabled so it will not be fired.


Digitizer.GrabFrameStartEvent Property

GrabFrameStartEvent property

See Also | Availability | MIL Equivalent | GrabFrameEndEvent | GrabInProgress
Reference:
Digitizer.GrabFrameStart
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital

See remarks for support on:
See remarks for support on Matrox Genesis
No MIL equivalent
Digitizer
GrabFrameStartEvent
Synopsis
Returns or sets whether the GrabFrameStart event is enabled.
[]
Syntax
object.GrabFrameStartEvent [= Boolean]
[]
Syntax
object->GrabFrameStartEvent [= VARIANT_BOOL]
Type description
A boolean value that specifies the status of the GrabFrameStart event.
Value | Meaning
True | The GrabFrameStart event is enabled and will be fired.
False | The GrabFrameStart event is disabled so it will not be fired.
Remark for Matrox Genesis
  • This property is not supported on Matrox Genesis-LC.


Digitizer.GrabInProgress Property

GrabInProgress property

See Also | Availability | MIL Equivalent | GrabFrameStartEvent | GrabLineEndEvent
Reference:
Digitizer.Grab
Digitizer.GrabContinuous
Digitizer.Halt
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigInquire(
InquireType =
M_GRAB_IN_PROGRESS
)
Digitizer
GrabInProgress
Synopsis
Returns whether a grab is in progress.
[]
Syntax
[Boolean =] object.GrabInProgress
[]
Syntax
[VARIANT_BOOL =] object->GrabInProgress
Type description
A boolean value that specifies whether a grab is in progress.
Value | Meaning
True | Grab in progress.
False | No grab in progress.
Remark
  • This can be used to determine if a continuous grab is in progress. However, this property will also return True if an asynchronous single grab is in progress.


Digitizer.GrabLineEndEvent Property

GrabLineEndEvent property

See Also | Availability | MIL Equivalent | GrabInProgress | GrabLineEvent
User Guide:
Digitizer events

Reference:
Digitizer.GrabLine
Digitizer.GrabLineEnd
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Morphis
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Orion
Not supported on Matrox Odyssey XD
No MIL equivalent
Digitizer
GrabLineEndEvent
Synopsis
Returns or sets whether the GrabLineEnd event is enabled.
[]
Syntax
Get:
[Boolean=]object.GrabLineEndEvent(
LineNumber As Integer
)

Set:
object.GrabLineEndEvent(
LineNumber As Integer,
value_to_set as Boolean
)
[]
Syntax
object->GrabLineEndEvent[long LineNumber] [= VARIANT_BOOL]
LineNumber
A longintegerlong (integer for Visual Basic .Net) value that specifies the line number of the frame being grabbed upon which to generate the event.
Type description
A boolean value that specifies whether the GrabLineEnd event is enabled.
Value | Meaning
True | The GrabLineEnd event is enabled and will be fired.
False | The GrabLineEnd event is disabled so it will not be fired.
Remark
  • Note that the data of the specified line number is in the buffer and ready to be processed when the GrabLineEnd event is generated.


Digitizer.GrabLineEvent Property

GrabLineEvent property

See Also | Availability | MIL Equivalent | GrabLineEndEvent | GrabMode
User Guide:
Digitizer events

Reference:
Digitizer.GrabLine
Digitizer.GrabLineEnd
Digitizer.GrabLineEndEvent
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Morphis
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /Multi-Channel
No MIL equivalent
Digitizer
GrabLineEvent
Synopsis
Returns or sets whether the GrabLine event is enabled.
[]
Syntax
Get:
[Boolean=]object.GrabLineEvent(
LineNumber As Integer
)

Set:
object.GrabLineEvent(
LineNumber As Integer,
value_to_set as Boolean
)
[]
Syntax
object->GrabLineEvent[long LineNumber] [= VARIANT_BOOL]
LineNumber
A longintegerlong (integer for Visual Basic .Net) value that specifies the line number of the frame being grabbed upon which to generate the event.
Type description
A boolean value that specifies whether the GrabLine event is enabled.
Value | Meaning
True | The GrabLine event is enabled and will be fired.
False | The GrabLine event is disabled so it will not be fired.
Remark
  • Note that the data of the specified line number might not be in the buffer when the GrabLine event is generated. To ensure that the data of the specified line number is in the buffer when an event is generated, enable the GrabLineEndEvent property and use the GrabLineEnd event.


Digitizer.GrabMode Property

GrabMode property

See Also | Availability | MIL Equivalent | GrabLineEvent | GrabPeriod
User Guide:
Grab mode

Reference:
Digitizer.GrabWait
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Orion
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL
MdigControl(
ControlType =
M_GRAB_MODE
)

MdigInquire(
InquireType =
M_GRAB_MODE
)
Digitizer
GrabMode
Synopsis
Returns or sets the type of synchronization used, when grabbing data with the Grab method.
[]
Syntax
object.GrabMode [= DigGrabModeConstants]
[]
Syntax
object->GrabMode [= enum DigGrabModeConstants]
Type description
A DigGrabModeConstants expression that specifies the type of synchronization wanted.
Value | Meaning
digSynchronous | Synchronize your application with the end of a grab operation (that is, wait until a grab has finished before returning from the grab command).
digAsynchronous | Allows your application to continue after initiating the start of a grab, rather than waiting for the grab to finish. Only one grab can be queued at a time. If an attempt to queue more than one is made, the Grab method will wait for the current frame to be grabbed before returning.
digAsynchronousQueued | Queus the grab on-board if another grab is issued before the first one has finished. An unlimited number of grabs can be queued at a time.
Remark
  • In asynchronous mode, you can use the GrabWait method to force your application to wait until the grab in progress has finished.


Digitizer.GrabPeriod Property

GrabPeriod property

Availability | MIL Equivalent | GrabMode | GrabReservedColors
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Orion
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
MdigInquire(
InquireType =
M_GRAB_PERIOD
)
Digitizer
GrabPeriod
Synopsis
Returns the duration of a frame grab.
[]
Syntax
[Double =] object.GrabPeriod
[]
Syntax
[double =] object->GrabPeriod
Type description
A double value that specifies the time required to grab a frame, in msec.
Remark
  • Note that this property returns the value specified in the DCF.


Digitizer.GrabReservedColors Property

GrabReservedColors property

Availability | MIL Equivalent | GrabPeriod | GrabStartEvent
Available in ActiveMIL-Lite

Available in ActiveMIL

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Orion
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MdigControl(
ControlType =
M_GRAB_WINDOW_RANGE
)

MdigInquire(
InquireType =
M_GRAB_WINDOW_RANGE
)
Digitizer
GrabReservedColors
Synopsis
Returns the state of limiting the range of the grabbed pixel values.
[]
Syntax
object.GrabReservedColors [= Boolean]
[]
Syntax
object->GrabReservedColors [= VARIANT_BOOL]
Type description
A boolean value that specifies whether reserved color are grabbed.
Value | Meaning
True | Disables limiting the range of the grabbed pixel values. (0-255).
False | Enables limiting the range of the grabbed pixel values. The values that do not fall withing the range are clipped.
Remark for Matrox Corona-II
  • The range of the limit when grabbing into a 1-band image is 10 to 245.
Remark for Matrox CronosPlus
  • The range of the limit when grabbing into a 1-band buffer is between 16 and 235.
Remark for Matrox Genesis
  • The range of the limit when grabbing into a 1-band image is 10 to 245.
Remark for Matrox Helios XA
  • The range of the limit when grabbing into a 1-band image is 10 to 245.
Remark for Matrox Helios XCL
  • The range of the limit when grabbing into a 1-band image is 10 to 245.
Remark for Matrox Meteor-II /1394
  • The range of the limit when grabbing into a 1-band image is 10 to 245.
Remark for Matrox Meteor-II /Camera Link
  • The range of the limit when grabbing into a 1-band image is 10 to 245.
Remark for Matrox Meteor-II /Digital
  • The range of the limit when grabbing into a 1-band image is 10 to 245.
Remark for Matrox Meteor-II /Multi-Channel
  • The range of the limit when grabbing into a 1-band image is 10 to 245.
Remark for Matrox Meteor-II /Standard
  • The range of the limit when grabbing into a 1-band buffer is between 16 and 235.
Remark for Matrox Morphis
  • The range of the limit when grabbing into a 1-band buffer is between 16 and 235.
Remark for Matrox Odyssey XA
  • The range of the limit when grabbing into a 1-band image is 10 to 245.
Remark for Matrox Odyssey XCL
  • The range of the limit when grabbing into a 1-band image is 10 to 245.
Remark for Matrox Odyssey XD
  • The range of the limit when grabbing into a 1-band image is 10 to 245.
Remarks for Matrox Orion
  • The range of the limit when grabbing into a 1-band buffer is between 16 and 235.
  • The range of the limit when setting when grabbing into a monochrome image with the RGB path is 10 to 245.
Remark for Matrox Solios XA
  • The range of the limit when grabbing into a 1-band image is 10 to 245.
Remark for Matrox Solios XCL
  • The range of the limit when grabbing into a 1-band image is 10 to 245.


Digitizer.GrabStartEvent Property

GrabStartEvent property

See Also | Availability | MIL Equivalent | GrabReservedColors | GrabStartMode
Reference:
Digitizer.GrabStart
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Digitizer
GrabStartEvent
Synopsis
Returns or sets whether the GrabStart event is enabled.
[]
Syntax
object.GrabStartEvent [= Boolean]
[]
Syntax
object->GrabStartEvent [= VARIANT_BOOL]
Type description
A boolean value that specifies the status of the GrabStart event.
Value | Meaning
True | The GrabStart event is enabled and will be fired.
False | The GrabStart event is disabled so it will not be fired.


Digitizer.GrabStartMode Property

GrabStartMode property

See Also | Availability | MIL Equivalent | GrabStartEvent | GrabTimeout
Reference:
Digitizer.Grab
Digitizer.GrabContinuous
Available in ActiveMIL-Lite

Available in ActiveMIL

See remarks for support on:
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Genesis
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox Orion
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MdigControl(
ControlType =
M_GRAB_START_MODE
)

MdigInquire(
InquireType =
M_GRAB_START_MODE
)
Digitizer
GrabStartMode
Synopsis
Returns or sets the field on which to start the grab.
[]
Syntax
object.GrabStartMode [= DigGrabStartModeConstants]
[]
Syntax
object->GrabStartMode [= enum DigGrabStartModeConstants]
Type description
A DigGrabStartModeConstants expression that specifies the field on which to start grabbing.
Value | Meaning
digFieldStartEven | Start the grab on an even field.
digFieldStartOdd | Start the grab on an odd field.
digFieldStart | Start the grab on any field.
Remark for Matrox Corona-II
  • The default setting for this property is digFieldStartOdd.
Remark for Matrox CronosPlus
  • The default setting for this property is digFieldStartOdd.
Remark for Matrox Genesis
  • The default setting for this property is digFieldStartEven.
Remark for Matrox Helios XA
  • The default setting for this property is digFieldStartOdd.
Remark for Matrox Helios XCL
  • The default setting for this property is digFieldStartOdd.
Remark for Matrox Meteor-II /1394
  • The default setting for this property is digFieldStartEven.
Remark for Matrox Meteor-II /Camera Link
  • The default setting for this property is digFieldStartEven.
Remark for Matrox Meteor-II /Digital
  • The default setting for this property is digFieldStartEven.
Remark for Matrox Meteor-II /Multi-Channel
  • The default setting for this property is digFieldStartOdd.
Remark for Matrox Meteor-II /Standard
  • The default setting for this property is digFieldStartEven.
Remark for Matrox Morphis
  • The default setting for this property is digFieldStartOdd.
Remark for Matrox Odyssey XA
  • The default setting for this property is digFieldStartOdd.
Remark for Matrox Odyssey XCL
  • The default setting for this property is digFieldStartOdd.
Remark for Matrox Odyssey XD
  • The default setting for this property is digFieldStartOdd.
Remark for Matrox Orion
  • The default setting for this property is digFieldStartOdd.
Remark for Matrox Solios XA
  • The default setting for this property is digFieldStartOdd.
Remark for Matrox Solios XCL
  • The default setting for this property is digFieldStartOdd.


Digitizer.GrabTimeout Property

GrabTimeout property

See Also | Availability | MIL Equivalent | GrabStartMode | Hue
Reference:
Digitizer.Grab
Digitizer.TriggerEnabled
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigControl(
ControlType =
M_GRAB_TIMEOUT
)

MdigInquire(
InquireType =
M_GRAB_TIMEOUT
)
Digitizer
GrabTimeout
Synopsis
Returns or sets the maximum time to wait for a frame before reporting an error.
[]
Syntax
object.GrabTimeout [= Integer]
[]
Syntax
object->GrabTimeout [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value or an ActiveMILDefaultConstants expression that specifies the maximum time. (default is amilDefault)
Value | Meaning
amilDefault | Value determined by the frame period.
digInfinite | Wait indefinitely. This setting is recommended only for triggered cameras.
value | A longintegerlong (integer for Visual Basic .Net) value in msec. Must be set to a value greater than 0.


Digitizer.Hue Property

Hue property

See Also | Availability | MIL Equivalent | GrabTimeout | Image
User Guide:
Reference levels

Reference:
Digitizer.Brightness
Digitizer.Contrast
Digitizer.Saturation
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox CronosPlus
Fully supported on Matrox Morphis

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Corona-II
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Orion
MdigReference(
ReferenceType =
M_HUE_REF
)

MdigInquire(
InquireType =
M_HUE_REF
)
Digitizer
Hue
Synopsis
Returns or sets the hue reference level used to digitize composite video input signals.
[]
Syntax
object.Hue [= Integer]
[]
Syntax
object->Hue [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the hue reference level used to digitize composite video input signals.

Alternatively, this value can be set to a DigReferenceLevelConstants expression.
Value | Meaning
digMaxLevel | Sets the value to the maximum level.
digMinLevel | Sets the value to the minimum level.
Remarks
  • Some digitizers might take a few msecs before the reference level stabilizes.
  • Some consecutive levels might have the same effect, depending on the physical number of levels that can be set on your board.
  • This property is only supported when grabbing color data (not monochrome data).
Remark for Matrox Orion
  • This property is supported when grabbing with the decoder section of Matrox Orion.


Digitizer.Image Property

Image property

See Also | Availability | MIL Equivalent | Hue | ImageName
Reference:
Image
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigGrab(DigId)

MdigGrabContinuous(DigId)
Digitizer
Image
Synopsis
Returns or sets the destination image for grab operations.
[]
Syntax
object.Image [= Image]
[]
Syntax
object->Image [= IImagePtr]
Type description
An Image control that specifies the destination image for grab operations.
Remarks
  • The image must have its CanGrab property to True.

    Refer to the CanGrab property of the Image control for board-specific information.

  • []
     Use the Visual Basic Is Nothing statement to confirm that this property is currently not associated with a control.
  • []
     To remove the reference to the current control without assigning a new control, set the property to Nothing.
  • []
     To remove the reference to the current control without assigning a new control, set the property to NULL.
  • The target image can also be specified, with the name assigned to its control, using the ImageName property.
  • This property automatically sets the ImageName property.
[]
Example
This example puts a sequence of images in an array of image controls.

for (i=0; i<5; i++)
   {
   m_Digitizer1->Image = MySequence[i];
   m_Digitizer1->Grab();
   }


Digitizer.ImageName Property

ImageName property

See Also | Availability | MIL Equivalent | Image | InitializationFlag
Reference:
Image
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigGrab(DigId)

MdigGrabContinuous(DigId)
Digitizer
ImageName
Synopsis
Returns or sets the name of the destination image that is used for grab operations.
[]
Syntax
object.ImageName [= String]
[]
Syntax
object->ImageName [= _bstr_t]
Type description
A string expression that specifies the name of the Image control to use as the destination image for grab operations.
Remarks
  • The image must have its CanGrab property to True

    Refer to the CanGrab property of the Image control for board-specific information.

  • To remove the reference to the current control without assigning a new control, specify an empty string ("").
  • The target image can also be specified using the Image property.
  • This property automatically sets the Image property.


Digitizer.InitializationFlag Property

InitializationFlag property

Availability | MIL Equivalent | ImageName | InputFilter
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigAlloc(InitFlag)
Digitizer
InitializationFlag
Synopsis
Returns or sets the initialization type of the specified digitizer.
[]
Syntax
object.InitializationFlag [= DigInitializationFlagConstants]
[]
Syntax
object->InitializationFlag [= enum DigInitializationFlagConstants]
Type description
A DigInitializationFlagConstants expression that specifies the type of initialization. (default is digDefaultFlag)
Value | Meaning
digDefaultFlag | This is the default value.
Remarks
  • This property cannot be set at run-time if the object is in the allocated state.
  • Note that an imOnBoard image is typically allocated in display memory.


Digitizer.InputFilter Property

InputFilter property

Availability | MIL Equivalent | InitializationFlag | InputGain
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Helios XCL
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Morphis
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Orion
See remarks for support on Matrox Solios XA
MdigControl(M_INPUT_FILTER)
Digitizer
InputFilter
Synopsis
Returns or sets the low-pass filter applied to incoming data.
[]
Syntax
object.InputFilter [= ]
[]
Syntax
object->InputFilter [= ]
Type description
A DigInputFilterConstants expression that specifies the low-pass filter applied to incoming data.
Value | Meaning
amilDefault | Board-specific value.
digLowPass0 | Board-specific value.
digLowPass1 | Board-specific value.
digLowPass2 | Board-specific value.
digBypass | Specifies that no input filter is used.

By default, the filter is applied to incoming data on all acquisition paths used by the digitizer. To apply the filter to a specific acquisition path used by the digitizer, you can add one of the following DigChannelConstants expressions to any of the DigInputFilterConstants expressions:
Value | Meaning
digCh0 | Specifies the filter for the first acquisition path used by the digitizer.
digCh1 | Specifies the filter for the second acquisition path used by the digitizer.
digCh2 | Specifies the filter for the third acquisition path used by the digitizer.
digCh3 | Specifies the filter for the fourth acquisition path used by the digitizer.
Remark
  • Note that each channel represents the available acquisition path used by the digitizer.
Remarks for Matrox Corona-II
  • amilDefault is the same as digLowPass2.
  • digLowPass0 uses a filter of 8 MHz.
  • digLowPass1 uses a filter of 10 MHz.
  • digLowPass2 uses a filter of 12.5MHz.
  • The DigChannelConstants expression digCh3 is not supported.
Remarks for Matrox Helios XA
  • Refer to the Installation and hardware reference manual for more information regarding the frequencies of low-pass filters.
  • amilDefault is the same as digLowPass1.
  • digLowPass0 uses a filter of 7.5 MHz.
  • digLowPass1 uses a filter of 40 MHz.
  • digBypass and digLowPass2 are not available.
Remarks for Matrox Odyssey XA
  • Refer to the Installation and hardware reference manual for more information regarding the frequencies of low-pass filters.
  • amilDefault is the same as digLowPass1.
  • digLowPass0 uses a filter of 7.5 MHz.
  • digLowPass1 uses a filter of 40 MHz.
  • digBypass and digLowPass2 are not available.
Remarks for Matrox Orion
  • amilDefault is the same as digLowPass1.
  • digLowPass1 uses a filter of 8 MHz.
  • digLowPass0 and digLowPass2 are not available.
  • Note that digBypass is available only for the RGB path.
  • The DigChannelConstants expression digCh3 is not supported.
  • For Matrox Orion for 4Sight-II, the DigChannelConstants expressions are not supported. (The filter is always applied to all acquisition paths of the specified digitizer.)
Remarks for Matrox Solios XA
  • Refer to the Installation and hardware reference manual for more information regarding the frequencies of low-pass filters.
  • amilDefault is the same as digLowPass1.
  • digLowPass0 uses a filter of 7.5 MHz.
  • digLowPass1 uses a filter of 40 MHz.
  • digBypass and digLowPass2 are not available.


Digitizer.InputGain Property

InputGain property

See Also | Availability | MIL Equivalent | InputFilter | InputMode
Reference:
Digitizer.AutomaticInputGain
Digitizer.Control
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Helios XCL
Not supported on Matrox Odyssey XCL
Not supported on Matrox Solios XCL
Not supported on Matrox Odyssey XD

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Orion
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Solios XA
MdigControl(M_GRAB_INPUT_GAIN)
Digitizer
InputGain
Synopsis
Returns or sets the gain to apply to the input signal .
[]
Syntax
object.InputGain [= DigInputGainConstants]
[]
Syntax
object->InputGain [= enum DigInputGainConstants]
Type description
A DigInputGainConstants expression that specifies the factor with which to amplify the input signal when grabbing.
Value | Meaning
amilDefault | Board-specific value.
digGain0 | Board-specific value.
digGain1 | Board-specific value.
digGain2 | Board-specific value.
digGain3 | Board-specific value.
digGain4 | Board-specific value.
0-255 | A specific integer value which specifies the gain factor.
Remark
  • This property allows you to optimize the amplitude of the video input signal so that the full dynamic range of the component digitizing the video is used.
Remark for Matrox Corona-II
  • The following InputGain settings are supported:
    Setting | Input Voltage | Gain
    amilDefault | Same as digGain2 | Same as digGain2
    digGain0 | 1.4 - 2.0 Vpp | 1.3
    digGain1 | 1.0 - 1.4 Vpp | 2
    digGain2 | 0.7 - 1.0 Vpp | 2.8
    digGain3 | 0.0 - 0.7 Vpp | 4
    digGain4 | 2.1 - 2.9 Vpp | 1
Remarks for Matrox CronosPlus
  • The following InputGain settings are supported:
    Setting | Gain
    amilDefault | The default input-signal gain level is applied (the exact value varies depending on the board).
    0-255 | A specific integer value which specifies the gain factor.
  • Note that this property is only supported when the AutomaticInputGain property is set to False.
Remarks for Matrox Genesis
  • The following InputGain settings are supported:
    Setting | Input Voltage | Gain
    amilDefault | Same as digGain3 | Same as DigGain3
    digGain0 | 1.0 - 1.4 Vpp | 2
    digGain1 | 0.8 - 1.0 Vpp | 2.7
    digGain2 | 0.7 - 0.8 Vpp | 3.3
    digGain3 | 0.0 - 0.7 Vpp | 4.1
  • By default, the input-signal gain set by this property is applied to all acquisition paths used by the digitizer. To apply an input-signal gain to one or more specific acquisition paths, use the Control method with the ControlType setting digInputGainOnChm.
  • If the acquisition paths used by the digitizer have different input-signal gain, this property returns the input-signal gain of the first acquisition path.
Remarks for Matrox Helios XA
  • The following InputGain settings are supported:
    Setting | Input Voltage | Gain
    amilDefault | Range is as specified in the DCF. | Gain is as specified in the DCF.
    digGain0 | 0.0 - 1. 0 Vpp | 1
    digGain1 | 0.0 - 0.5 Vpp | 2
    digGain2 | 0.0 - 0.333 Vpp | 3
    digGain3 | 0.0 - 0.25 Vpp | 3.99
    0-255 | Any input voltage. | A specific integer value which specifies the gain factor.
  • By default, the input-signal gain set by this property is applied to all acquisition paths used by the digitizer. To apply an input-signal gain to one or more specific acquisition paths, use the Control method with the ControlType setting digInputGainOnChm.
  • If the acquisition paths used by the digitizer have different input-signal gain, this property returns the input-signal gain of the first acquisition path.
  • This property affects the BlackReference and WhiteReference properties.
  • Note that the gain level can also be set using the DCF or using the native library function set.
Remarks for Matrox Meteor-II /1394
  • The following InputGain settings are supported:
    Setting | Gain
    0-255 | A specific integer value which specifies the gain factor.
  • Note that the minimum value supported by the camera will be mapped to 0; the maximum value supported by the camera will be mapped to 255.
Remark for Matrox Meteor-II /Multi-Channel
  • The following InputGain settings are supported:
    Setting | Input Voltage | Gain
    amilDefault | Same as digGain2 | Same as digGain2
    digGain0 | 1.4 - 2.1Vpp | 1.3
    digGain1 | 1.0 - 1.4 Vpp | 2
    digGain2 | 0.7 - 1.0 Vpp | 2.8
    digGain3 | 0.0 - 0.7 Vpp | 4
    digGain4 | 2.1 - 2.9 Vpp | 1
Remarks for Matrox Meteor-II /Standard
  • The following InputGain settings are supported:
    Setting | Gain
    0-255 | A specific integer value which specifies the gain factor.
  • Note that this property is only supported when the AutomaticInputGain property is set to False.
Remarks for Matrox Morphis
  • The following InputGain settings are supported:
    Setting | Gain
    amilDefault | The default input-signal gain level is applied (the exact value varies depending on the board).
    0-255 | A specific integer value which specifies the gain factor.
  • By default, the input-signal gain set by this property is applied to both the chrominance and luminance components of the input signal. To apply an input-signal gain to only the chrominance or luminance component of the input signal, use the Control method with the ControlType setting digChrominanceInputGain or digLuminanceInputGain, respectively.
  • If the luminance and chrominance components of the input signal have different input-signal gain settings, this property returns the input-signal gain of the luminance component.
  • Note that this property is only supported when the AutomaticInputGain property is set to False and the ControlType settings digChrominanceAutomaticInputGain and digLuminanceAutomaticInputGain of the Control method are disabled.
Remarks for Matrox Odyssey XA
  • The following InputGain settings are supported:
    Setting | Input Voltage | Gain
    amilDefault | Range is as specified in the DCF. | Gain is as specified in the DCF.
    digGain0 | 0.0 - 1. 0 Vpp | 1
    digGain1 | 0.0 - 0.5 Vpp | 2
    digGain2 | 0.0 - 0.333 Vpp | 3
    digGain3 | 0.0 - 0.25 Vpp | 3.99
    0-255 | Any input voltage. | A specific integer value which specifies the gain factor.
  • By default, the input-signal gain set by this property is applied to all acquisition paths used by the digitizer. To apply an input-signal gain to one or more specific acquisition paths, use the Control method with the ControlType setting digInputGainOnChm.
  • If the acquisition paths used by the digitizer have different input-signal gain, this property returns the input-signal gain of the first acquisition path.
  • This property affects the BlackReference and WhiteReference properties.
  • Note that the gain level can also be set using the DCF or using the native library function set.
Remarks for Matrox Orion
  • The following InputGain settings are supported:
    Setting | Input Voltage | Gain
    amilDefault | Same as digGain2 | Same as digGain2
    0-255 | Any input voltage. | A specific integer value which specifies the gain factor.
  • The following additional InputGain settings are supported by the Matrox Orion /RGB for 4Sight-II:
    Setting | Input Voltage | Gain
    digGain0 | 1.4 - 2.0 Vpp | 1.3
    digGain1 | 1.0 - 1.4 Vpp | 2
    digGain2 | 0.7 - 1.0 Vpp | 2.8
    digGain3 | 0.0 - 0.7 Vpp | 4
  • When grabbing using the decoder path, this property is only supported when the AutomaticInputGain property is set to False.
Remarks for Matrox Solios XA
  • The following InputGain settings are supported:
    Setting | Input Voltage | Gain
    amilDefault | Range is as specified in the DCF. | Gain is as specified in the DCF.
    digGain0 | 0.0 - 1. 0 Vpp | 1
    digGain1 | 0.0 - 0.5 Vpp | 2
    digGain2 | 0.0 - 0.333 Vpp | 3
    digGain3 | 0.0 - 0.25 Vpp | 3.99
    0-255 | Any input voltage. | A specific integer value which specifies the gain factor.
  • By default, the input-signal gain set by this property is applied to all acquisition paths used by the digitizer. To apply an input-signal gain to one or more specific acquisition paths, use the Control method with the ControlType setting digInputGainOnChm.
  • If the acquisition paths used by the digitizer have different input-signal gain, this property returns the input-signal gain of the first acquisition path.
  • This property affects the BlackReference and WhiteReference properties.
  • Note that the gain level can also be set using the DCF or using the native library function set.


Digitizer.InputMode Property

InputMode property

See Also | Availability | MIL Equivalent | InputGain | InputRegion
Reference:
Digitizer.Format
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigInquire(
InquireType =
M_INPUT_MODE
)
Digitizer
InputMode
Synopsis
Returns the type of video signal produced by the input source.
[]
Syntax
[DigInputModeConstants =] object.InputMode
[]
Syntax
[enum DigInputModeConstants =] object->InputMode
Type description
A DigInputModeConstants expression that specifies the type of the video signal.
Value | Meaning
digAnalog | This input source (camera) is analog.
digDigital | This input source (camera) is digital.
Remark
  • The digitizer's DCF specified using the Format property, establishes the value of this property.


Digitizer.InputRegion Property

InputRegion property

Availability | MIL Equivalent | InputMode | InputTypeVCR
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Orion
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Meteor-II /1394
MdigControl(
ControlType =
M_SOURCE_OFFSET_X or
M_SOURCE_OFFSET_Y or
M_SOURCE_SIZE_X or
M_SOURCE_SIZE_Y
)

MdigInquire(
InquireType =
M_SOURCE_OFFSET_X or
M_SOURCE_OFFSET_Y or
M_SOURCE_SIZE_X or
M_SOURCE_SIZE_Y
)
Digitizer
InputRegion
Properties: CenterX, CenterY, EndX, EndY, FullSize, Mode, OffsetX, OffsetY, SizeX, SizeY, StartX, StartY
Synopsis
Allows you to specify or determine the digitizer's input region.
[]
Syntax
[RegionOfInterest =] object.InputRegion
[]
Syntax
[IRegionOfInterestPtr =] object->InputRegion
Type description
A RegionOfInterest object.
Remarks
  • You cannot assign another RegionOfInterest object to this property.
  • The digitizer's input region determines the video capture window.
  • The typically-used properties of the input region are the horizontal/vertical offsets and sizes.
Remark for Matrox Meteor-II /1394
  • On the Matrox Meteor-II /1394 board, it is possible to optimize grabs by taking advantage of hardware cropping with a format 7-capable camera. To do so, allocate the camera in format 7. When using the SizeX, SizeY, OffsetX, and OffsetY properties of the InputRegion property, the cropping will be done by the camera hardware if it is supported, that is, if the specified offsets and sizes match the boundaries of one of the supported sub-regions.

    Use the digSourceCompensation Control Type of the Control method to disable the software compensation to make sure the hardware cropping is used.

    Under any other circumstance, cropping will be done by software.


Digitizer.InputRegion.CenterX Property

CenterX property

See Also | Availability | MIL Equivalent | CenterY
Reference:
Digitizer.InputRegion.CenterY
Digitizer.InputRegion.OffsetX
Digitizer.InputRegion.OffsetY
Digitizer.InputRegion.SizeX
Digitizer.InputRegion.SizeY
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Digitizer
InputRegion
CenterX
Synopsis
Returns or sets the X-coordinate of the center of the input region.
[]
Syntax
object.CenterX [= Integer]
[]
Syntax
object->CenterX [= long]
Type description
A long value that specifies the X-coordinate of the center point, relative to the top-left corner of the frame/field of data being input to the digitizer.
Remarks
  • The center point, along with the size, defines the region that the digitizer transfers to storage.
  • The start point (offset) and end point will be modified as a result of moving the center point.


Digitizer.InputRegion.CenterY Property

CenterY property

See Also | Availability | MIL Equivalent | CenterX | EndX
Reference:
Digitizer.InputRegion.CenterX
Digitizer.InputRegion.OffsetX
Digitizer.InputRegion.OffsetY
Digitizer.InputRegion.SizeX
Digitizer.InputRegion.SizeY
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Digitizer
InputRegion
CenterY
Synopsis
Returns or sets the Y-coordinate of the center of the input region.
[]
Syntax
object.CenterY [= Integer]
[]
Syntax
object->CenterY [= long]
Type description
A long value that specifies the Y-coordinate of the center point, relative to the top-left corner of the frame/field of data being input to the digitizer.
Remarks
  • The center point, along with the size, defines the region that the digitizer transfers to storage.
  • The start point (offset) and end point will be modified as a result of moving the center point.


Digitizer.InputRegion.EndX Property

EndX property

See Also | Availability | MIL Equivalent | CenterY | EndY
Reference:
Digitizer.InputRegion.EndY
Digitizer.InputRegion.StartX
Digitizer.InputRegion.StartY
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Digitizer
InputRegion
EndX
Synopsis
Returns or sets the X-coordinate of the end point of the input region.
[]
Syntax
object.EndX [= Integer]
[]
Syntax
object->EndX [= long]
Type description
A long value that specifies the X-coordinate of an end point, relative to the top-left corner of the frame/field of data being input to the digitizer.
Remarks
  • The start point (offset) and end point define the region that the digitizer transfers to storage.
  • The center point, as well as the size, will be modified as a result of moving the end point.


Digitizer.InputRegion.EndY Property

EndY property

See Also | Availability | MIL Equivalent | EndX | FullSize
Reference:
Digitizer.InputRegion.EndX
Digitizer.InputRegion.StartX
Digitizer.InputRegion.StartY
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Digitizer
InputRegion
EndY
Synopsis
Returns or sets the Y-coordinate of the end point of the input region.
[]
Syntax
object.EndY [= Integer]
[]
Syntax
object->EndY [= long]
Type description
A long value that specifies the Y-coordinate of an end point, relative to the top-left corner of the frame/field of data being input to the digitizer.
Remarks
  • The start point (offset) and end point define the region that the digitizer transfers to storage.
  • The center point, as well as the size, will be modified as a result of moving the end point.


Digitizer.InputRegion.FullSize Property

FullSize property

Availability | MIL Equivalent | EndY | Mode
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Digitizer
InputRegion
FullSize
Synopsis
Returns or sets whether to use the entire frame/field of data as the input region.
[]
Syntax
object.FullSize [= Boolean]
[]
Syntax
object->FullSize [= VARIANT_BOOL]
Type description
A boolean value that specifies whether to use the entire image. (default is True)
Value | Meaning
True | Use the entire image.
False | Use only the region specified by the other properties of the InputRegion property.
Remark
  • This property is reset to False when another property of the InputRegion property is changed.


Digitizer.InputRegion.Mode Property

Mode property

See Also | Availability | MIL Equivalent | FullSize | OffsetX
Reference:
Digitizer.InputRegion.SizeX
Digitizer.InputRegion.SizeY
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Digitizer
InputRegion
Mode
Synopsis
Returns or sets the mode of anchoring the input region.
[]
Syntax
object.Mode [= RoiModeConstants]
[]
Syntax
object->Mode [= enum RoiModeConstants]
Type description
A RoiModeConstants expression that specifies the mode.
Value | Meaning
roiOffsetSize | The offset properties are anchored. This means that when the size changes, the offsets do not move; it is the center that is displaced accordingly.
roiCenterSize | The center properties are anchored. This means that when the size changes, the coordinates of the center do not move; it is the offsets that are displaced accordingly.


Digitizer.InputRegion.OffsetX Property

OffsetX property

See Also | Availability | MIL Equivalent | Mode | OffsetY
Reference:
Digitizer.InputRegion.CenterX
Digitizer.InputRegion.CenterY
Digitizer.InputRegion.OffsetY
Digitizer.InputRegion.SizeX
Digitizer.InputRegion.SizeY
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigControl(
ControlType =
M_SOURCE_OFFSET_X
)

MdigInquire(
InquireType =
M_SOURCE_OFFSET_X
)
Digitizer
InputRegion
OffsetX
Synopsis
Returns or sets the horizontal offset of the input region.
[]
Syntax
object.OffsetX [= Integer]
[]
Syntax
object->OffsetX [= long]
Type description
A long value that specifies the X-coordinate of the top-left corner of the region, relative to the top-left corner of the frame/field of data being input to the digitizer.


Digitizer.InputRegion.OffsetY Property

OffsetY property

See Also | Availability | MIL Equivalent | OffsetX | SizeX
Reference:
Digitizer.InputRegion.CenterX
Digitizer.InputRegion.CenterY
Digitizer.InputRegion.OffsetX
Digitizer.InputRegion.SizeX
Digitizer.InputRegion.SizeY
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigControl(
ControlType =
M_SOURCE_OFFSET_Y
)

MdigInquire(
InquireType =
M_SOURCE_OFFSET_Y
)
Digitizer
InputRegion
OffsetY
Synopsis
Returns or sets the vertical offset of the input region.
[]
Syntax
object.OffsetY [= Integer]
[]
Syntax
object->OffsetY [= long]
Type description
A long value that specifies the Y-coordinate of the top-left corner of the region, relative to the top-left corner of the frame/field of data being input to the digitizer.


Digitizer.InputRegion.SizeX Property

SizeX property

See Also | Availability | MIL Equivalent | OffsetY | SizeY
Reference:
Digitizer.InputRegion.SizeY
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigControl(
ControlType =
M_SOURCE_SIZE_X
)

MdigInquire(
InquireType =
M_SOURCE_SIZE_X
)
Digitizer
InputRegion
SizeX
Synopsis
Returns or sets the width of the input region.
[]
Syntax
object.SizeX [= Integer]
[]
Syntax
object->SizeX [= long]
Type description
A long value that specifies the number of pixels in the horizontal direction.
Remark
  • The Mode property determines whether the offset or center of the input region is displaced as a result of changing its width.


Digitizer.InputRegion.SizeY Property

SizeY property

See Also | Availability | MIL Equivalent | SizeX | StartX
Reference:
Digitizer.InputRegion.Mode
Digitizer.InputRegion.SizeX
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigControl(
ControlType =
M_SOURCE_SIZE_Y
)

MdigInquire(
InquireType =
M_SOURCE_SIZE_Y
)
Digitizer
InputRegion
SizeY
Synopsis
Returns or sets the height of the input region.
[]
Syntax
object.SizeY [= Integer]
[]
Syntax
object->SizeY [= long]
Type description
A long value that specifies the numbers of pixels in the vertical direction.
Remark
  • The Mode property determines whether the offset or center of the input region is displaced as a result of changing its height.


Digitizer.InputRegion.StartX Property

StartX property

See Also | Availability | MIL Equivalent | SizeY | StartY
Reference:
Digitizer.InputRegion.EndX
Digitizer.InputRegion.EndY
Digitizer.InputRegion.OffsetX
Digitizer.InputRegion.OffsetY
Digitizer.InputRegion.StartY
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Digitizer
InputRegion
StartX
Synopsis
Returns or sets the X-coordinate of the start point of the input region.
[]
Syntax
object.StartX [= Integer]
[]
Syntax
object->StartX [= long]
Type description
A long value that specifies the X-coordinate of a start point, relative to the top-left corner of the frame/field of data being input to the digitizer.
Remarks
  • The start point (offset) and end point define the region that the digitizer transfers to storage.
  • The center point, as well as the size, will be modified as a result of moving the start point.


Digitizer.InputRegion.StartY Property

StartY property

See Also | Availability | MIL Equivalent | StartX
Reference:
Digitizer.InputRegion.EndX
Digitizer.InputRegion.EndY
Digitizer.InputRegion.OffsetX
Digitizer.InputRegion.OffsetY
Digitizer.InputRegion.StartX
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Digitizer
InputRegion
StartY
Synopsis
Returns or sets the Y-coordinate of the start point of the input region.
[]
Syntax
object.StartY [= Integer]
[]
Syntax
object->StartY [= long]
Type description
A long value that specifies the Y-coordinate of a start point, relative to the top-left corner of the frame/field of data being input to the digitizer.
Remarks
  • The start point (offset) and end point define the region that the digitizer transfers to storage.
  • The center point, as well as the size, will be modified as a result of moving the start point.


Digitizer.InputTypeVCR Property

InputTypeVCR property

Availability | MIL Equivalent | InputRegion | InterpolationMode
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Morphis
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MdigControl(
ControlType =
M_VCR_INPUT_TYPE
)

MdigInquire(
InquireType =
M_VCR_INPUT_TYPE
)
Digitizer
InputTypeVCR
Synopsis
Returns or sets whether the VCR input mode is active.
[]
Syntax
object.InputTypeVCR [= Boolean]
[]
Syntax
object->InputTypeVCR [= VARIANT_BOOL]
Type description
A boolean value that specifies the status of VCR input mode. (default is False)
Value | Meaning
True | VCR input mode.
False | Normal input mode.
Remarks
  • The VCR input mode allows the digitizer to be adaptable to an uneven video stream. This is very useful for VCRs since the frame period output by a VCR is not always constant especially in "pause" or "fast forward" modes.
  • If your frame grabber uses DCF files, select a VCR-specific DCF instead of using this property.


Digitizer.InterpolationMode Property

InterpolationMode property

Availability | MIL Equivalent | InputTypeVCR | IsAllocated
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Orion

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox CronosPlus
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Morphis
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MdigControl(
ControlType =
M_INTERPOLATION_MODE
)

MdigInquire(
InquireType =
M_INTERPOLATION_MODE
)
Digitizer
InterpolationMode
Synopsis
Returns or sets the type of interpolation used during a grab.
[]
Syntax
object.InterpolationMode [= digInterpolationModeConstants]
[]
Syntax
object->InterpolationMode [= enum digInterpolationModeConstants]
Type description
A digInterpolationModeConstants expression that specifies the type of interpolation used during a grab. (default is digBilinear)
Value | Meaning
digNearestNeighbor | Nearest neighbor interpolation.
digAverage | Average interpolation.
digBilinear | Bilinear interpolation.
Remarks
  • This property can be set when the scaling factor is 1 (ScaleX and ScaleY properties).
  • When the scaling factor is set to 1, the default of this property is digNearestNeighbor.
  • Interpolation can be performed on each field separately, or on a frame, depending on the setting of the ScaleQuality property.


Digitizer.IsAllocated Property

IsAllocated property

See Also | Availability | MIL Equivalent | InterpolationMode | IsCameraLocked
User Guide:
Allocation of resources

Reference:
Digitizer.Allocate
Digitizer.Free
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Digitizer
IsAllocated
Synopsis
Returns whether the resources of the Digitizer control are allocated.
[]
Syntax
[Boolean =] object.IsAllocated
[]
Syntax
[VARIANT_BOOL =] object->IsAllocated
Type description
A boolean value that specifies whether the resources of the control are allocated.
Value | Meaning
True | The digitizer is allocated.
False | The digitizer is not allocated
[]
Example
This example shows how to use the IsAllocated property.

If Digitizer1.IsAllocated Then
    Digitizer1.Free()
End If
[]
Example
This example shows how to use the IsAllocated property.

if (m_Digitizer1->IsAllocated)
   m_Digitizer1->Free();


Digitizer.IsCameraLocked Property

IsCameraLocked property

See Also | Availability | MIL Equivalent | IsAllocated | IsCameraPresent
Reference:
Digitizer.CameraColorLockEnabled
Digitizer.CameraLockEnabled
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Orion
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Solios XA

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Helios XCL
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XCL
MdigInquire(M_CAMERA_LOCKED)
Digitizer
IsCameraLocked
Synopsis
Returns whether a camera lock is detected.
[]
Syntax
[Boolean =] object.IsCameraLocked
[]
Syntax
[VARIANT_BOOL =] object->IsCameraLocked
Type description
A boolean value that specifies whether a camera lock is detected.
Value | Meaning
True | A camera lock is detected.
False | A camera lock has not been detected.
Remark
  • For this property to return True with a color composite DCF, a color lock must also be detected.


Digitizer.IsCameraPresent Property

IsCameraPresent property

Availability | MIL Equivalent | IsCameraLocked | LastGrabInTrueImage
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Orion
Fully supported on Matrox Solios XA

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Helios XCL
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XCL
MdigInquire(
ControlType =
M_CAMERA_PRESENT
)
Digitizer
IsCameraPresent
Synopsis
Returns whether a camera is present.
[]
Syntax
[Boolean =] object.IsCameraPresent
[]
Syntax
[VARIANT_BOOL =] object->IsCameraPresent
Type description
A boolean value that specifies whether a camera is present.
Value | Meaning
True | A camera is present.
False | A camera is not present.
Remark
  • Note that this property does not indicate that a camera is locked. To inquire if a camera is locked, use the IsCameraLocked property of the Digitizer control.


Digitizer.LastGrabInTrueImage Property

LastGrabInTrueImage property

See Also | Availability | MIL Equivalent | IsCameraPresent | LUTEnabled
Reference:
Digitizer.GrabContinuous
Digitizer.Halt
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigControl(
ControlType =
M_LAST_GRAB_IN_TRUE_BUFFER
)

MdigInquire(
InquireType =
M_LAST_GRAB_IN_TRUE_BUFFER
)
Digitizer
LastGrabInTrueImage
Synopsis
Returns or sets whether a monoshot grab is performed when the Halt method is called after performing a continuous grab.
[]
Syntax
object.LastGrabInTrueImage [= Boolean]
[]
Syntax
object->LastGrabInTrueImage [= VARIANT_BOOL]
Type description
A boolean value that specifies whether a monoshot grab is performed when the Halt method is called after performing a continuous grab operation. (default is True)
Value | Meaning
True | Specifies that a monoshot grab is performed.
False | Specifies that the last frame grabbed during the continuous grab operation is copied.
Remarks
  • This property only has an effect if the target image of the continuous grab is selected on a display. When the target image is selected on the display, the continuous grab will typically grab into the display and only update the target image when the Halt method is called. This property establishes how the update to the target image is made.
  • Note that after performing a monoshot grab in the target image, the display is updated.
  • Setting this property to False might decrease the time it takes for the continuous grab to terminate once the Halt method is called (since copying a frame tends to take less time than grabbing a frame).


Digitizer.LUT Property

LUT property

See Also | Availability | MIL Equivalent | LUTEnabled | MilID
User Guide:
LUTs and the digitizer
Overview of LUTs
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox CronosPlus
Not supported on Matrox Morphis

See remarks for support on:
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Orion
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Genesis
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MbufAlloc1d()

MbufAlloc2d()

MbufAllocColor()

MdigLut()
Digitizer
LUT
Properties: DataDepth, DataType, MilID, NumberOfBands, Size

Methods: GenerateColor, GenerateFunction, GenerateRamp, Get, Put
Synopsis
Allows you to specify or determine the data to load into digitizer's physical LUT.
[]
Syntax
[LUT =] object.LUT
[]
Syntax
[ILUTPtr =] object->LUT
Type description
A LUT object.
Remarks
  • You cannot assign another LUT object to this property.
  • Once configured, you must enable the use of the LUT, so that it is loaded into the digitizer's physical LUT upon a grab. Use the LUTEnabled property to enable the use of the LUT.
  • ActiveMIL uses the data format (DCF) of the digitizer to determine whether a physical LUT is supported. If it is not, an error is generated.
  • This property allows you to specify the data to load into the digitizer's physical LUT. This information, along with the digitizer's DCF establishes how the physical LUT is actually configured. The following table indicates how the physical digitizer's LUT is configured:
    Configuration of the digitizer's LUT | Determining factor
    Number of entries in the digitizer's physical LUT | Data being grabbed (DCF)
    Depth (8- or 16-bit) | The LUT.DataDepth property
    Number of bands | The DCF and the LUT.NumberOfBands property
  • The digitizer's physical LUT is typically configured to have the same number of components (bands) as either the LUT.NumberOfBands property or the data to be grabbed (determined by the digitizer's DCF), depending on which has more bands. The digitizer's physical LUT is also configured to have the same number of entries as the maximum possible value per band of the data to grab. The depth of the digitizer's physical LUT is configured to be either 8- or 16-bits per band, depending on if the LUT.DataDepth property is 8-bit or 16-bit, respectively. Cameras, however, are not so limited. When dealing with a 10- or 12-bit camera, use a 16-bit destination grab image and load the digitizer's physical LUT with the difference zero padded. Note that if the digitizer's physical LUT cannot support the depth of the LUT data, an error will occur.
  • To copy the data from the LUT property to the digitizer's physical LUT, the number of entries of the LUT must match the digitizer's input data range.
  • LUT data is loaded into the digitizer's physical LUT, as follows:
    LUT | Digitizer's physical LUT | Result
    1 band | 1 band | The LUT is copied directly into the digitizer's physical LUT.
    1 band | 3 band | The LUT is copied into each component of the digitizer's physical LUT.
    3 band | 1 band | The first band of the LUT is copied into the digitizer's physical LUT.
    3 band | 1 band | Each of the LUT's bands are copied into the corresponding component of the digitizer's physical LUT.
  • If the destination grab image depth is larger than that of the digitizer's physical LUT, the destination grab image's least significant bits are set to zero when the data is grabbed. If the digitizer's physical LUT depth is greater than that of the destination grab image, the most-significant bits of the data (the non-zero values) are used when the data is grabbed.
Remarks for Matrox Corona-II
  • If 10-, 12-, 14-, 16-, or 32-bit digital data is grabbed, the digitizer's physical LUT is not available.
  • Regardless of the depth at which data is grabbed, YUV data bypasses the digitizer's physical LUT.
Remark for Matrox Genesis
  • Note that if 32-bit data is grabbed, the digitizer's physical LUT is not used.
Remark for Matrox Helios XA
  • Note that if 14-, 16-, or 32-bit data is grabbed, the digitizer's physical LUT is not used.
Remark for Matrox Helios XCL
  • Note that if 14-, 16-, or 32-bit data is grabbed, the digitizer's physical LUT is not used.
Remark for Matrox Meteor-II /Camera Link
  • Note that if 14-, 16-, or 32-bit data is grabbed, the digitizer's physical LUT is not used.
Remark for Matrox Meteor-II /Digital
  • Note that if 14-, 16-, or 32-bit data is grabbed, the digitizer's physical LUT is not used.
Remark for Matrox Meteor-II /Multi-Channel
  • Note that if 14-, 16-, or 32-bit data is grabbed, the digitizer's physical LUT is not used.
Remark for Matrox Odyssey XA
  • Note that if 14-, 16-, or 32-bit data is grabbed, the digitizer's physical LUT is not used.
Remark for Matrox Odyssey XCL
  • Note that if 14-, 16-, or 32-bit data is grabbed, the digitizer's physical LUT is not used.
Remark for Matrox Odyssey XD
  • Note that if 14-, 16-, or 32-bit data is grabbed, the digitizer's physical LUT is not used.
Remarks for Matrox Orion
  • Note that if 14-, 16-, or 32-bit data is grabbed, the digitizer's physical LUT is not used.
  • Regardless of the depth at which data is grabbed, YUV data bypasses the digitizer's physical LUT.
  • The digitizer's physical LUT is not available on Matrox Orion /Standard or /Dual for 4Sight-II.
Remark for Matrox Solios XA
  • Note that if 14-, 16-, or 32-bit data is grabbed, the digitizer's physical LUT is not used.
Remark for Matrox Solios XCL
  • Note that if 14-, 16-, or 32-bit data is grabbed, the digitizer's physical LUT is not used.


Digitizer.LUT.DataDepth Property

DataDepth property

See Also | Availability | MIL Equivalent | DataType
User Guide:
LUTs and the digitizer

Reference:
Digitizer.LUT.DataType
Digitizer.LUT.NumberOfBands
Digitizer.OwnerSystem
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /1394
Not supported on Matrox CronosPlus
Not supported on Matrox Morphis

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Orion
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MbufAlloc1d(
Attribute =
M_LUT
Type
)

MbufAlloc2d(
Attribute =
M_LUT
Type
)

MbufAllocColor(
Attribute =
M_LUT
Type
)

MbufInquire(
InquireType =
M_SIZE_BIT
)
Digitizer
LUT
DataDepth
Synopsis
Returns or sets the data depth of the LUT to load in the digitizer's physical LUT.
[]
Syntax
object.DataDepth [= Integer]
[]
Syntax
object->DataDepth [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of bits. Possible values are 8, 16, and 32.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • Use the DataType property to specify the data type. The possible DataDepth settings for the corresponding DataType settings are:
    DataDepth | DataType
    8, 16, or 32 | lutSigned
    8, 16, or 32 | lutUnsigned
    32 | lutFloat
  • Use the NumberOfBands property to specify the number of bands in the LUT to load in the digitizer's physical LUT.
  • The digitizer's physical LUT is configured to have the same number of entries as the maximum possible value per band of the data to grab. The depth of the digitizer's physical LUT is configured to be either 8-, 16-bits, or 32-bits per band, depending on if the LUT.DataDepth property is 8-, 16-bits, or 32-bits, respectively. Cameras, however, are not so limited. When dealing with a 10- or 12-bit camera, use a 16-bit destination grab image and load the digitizer's physical LUT with the difference zero padded. Note that if the digitizer's physical LUT cannot support the depth of the LUT data, an error will occur.
  • If the destination grab image depth is larger than that of the digitizer's physical LUT, the destination grab image's least significant bits are set to zero when the data is grabbed. If the physical digitizer's physical LUT depth is greater than that of the destination grab image, the most-significant bits of the data (the non-zero values) are used when the data is grabbed.
  • Once configured, you must enable the use of the LUT , so that it is loaded into the digitizer's physical LUT upon a grab. Use he LUTEnabled property to enable the use of the LUT.
Remarks for Matrox Corona-II
  • Regardless of the depth at which data is grabbed, YUV data bypasses the digitizer's physical LUT.
  • If 10-, 12-, 14-, 16-, or 32-bit digital data is grabbed, the digitizer's physical LUT is not available.
Remark for Matrox Genesis
  • Note that if 32-bit data is grabbed, the digitizer's physical LUT is not used.
Remark for Matrox Helios XA
  • Note that if 14-, 16-, or 32-bit data is grabbed, the digitizer's physical LUT is not used.
Remark for Matrox Helios XCL
  • Note that if 14-, 16-, or 32-bit data is grabbed, the digitizer's physical LUT is not used.
Remark for Matrox Meteor-II /Camera Link
  • Note that if 14-, 16-, or 32-bit data is grabbed, the digitizer's physical LUT is not used.
Remark for Matrox Meteor-II /Digital
  • Note that if 14-, 16-, or 32-bit data is grabbed, the digitizer's physical LUT is not used.
Remark for Matrox Meteor-II /Multi-Channel
  • Note that if 14-, 16-, or 32-bit data is grabbed, the digitizer's physical LUT is not used.
Remark for Matrox Odyssey XA
  • Note that if 14-, 16-, or 32-bit data is grabbed, the digitizer's physical LUT is not used.
Remark for Matrox Odyssey XCL
  • Note that if 14-, 16-, or 32-bit data is grabbed, the digitizer's physical LUT is not used.
Remark for Matrox Odyssey XD
  • Note that if 14-, 16-, or 32-bit data is grabbed, the digitizer's physical LUT is not used.
Remarks for Matrox Orion
  • Note that if 14-, 16-, or 32-bit data is grabbed, the digitizer's physical LUT is not used.
  • Regardless of the depth at which data is grabbed, YUV data bypasses the digitizer's physical LUT.
  • The digitizer's physical LUT is not available on Matrox Orion /Standard or /Dual for 4Sight-II.
Remark for Matrox Solios XA
  • Note that if 14-, 16-, or 32-bit data is grabbed, the digitizer's physical LUT is not used.
Remark for Matrox Solios XCL
  • Note that if 14-, 16-, or 32-bit data is grabbed, the digitizer's physical LUT is not used.


Digitizer.LUT.DataType Property

DataType property

See Also | Availability | MIL Equivalent | DataDepth | MilID
User Guide:
LUTs and the digitizer

Reference:
Digitizer.LUT.DataDepth
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Orion
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /1394
Not supported on Matrox CronosPlus
Not supported on Matrox Morphis
MbufAlloc1d(
Attribute =
M_LUT
Type
)

MbufAlloc2d(
Attribute =
M_LUT
Type
)

MbufAllocColor(
Attribute =
M_LUT
Type
)

MbufInquire(
InquireType =
M_TYPE
)
Digitizer
LUT
DataType
Synopsis
Returns or sets the data type of the LUT.
[]
Syntax
object.DataType [= LUTDataTypeConstants]
[]
Syntax
object->DataType [= enum LUTDataTypeConstants]
Type description
A LUTDataTypeConstants expression that specifies the data type.
Value | Meaning
lutSigned | The data includes only integers.
lutUnsigned | The data includes only non-integers.
lutFloat | The data includes only floating-point numbers.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • Use the DataDepth property to specify the data depth. The possible DataDepth settings for the corresponding DataType settings are:
    DataDepth | DataType
    8, 16 or 32 | lutSigned
    8, 16 or 32 | lutUnsigned
    32 | lutFloat


Digitizer.LUT.MilID Property

MilID property

See Also | Availability | MIL Equivalent | DataType | NumberOfBands
User Guide:
Integrating MIL functions with your ActiveMIL code

Reference:
Digitizer.IsAllocated
Digitizer.Modified
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Orion
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /1394
Not supported on Matrox CronosPlus
Not supported on Matrox Morphis
MbufAlloc1d(
Attribute =
M_LUT
BufIdPtr
)

MbufAlloc2d(
Attribute =
M_LUT
BufIdPtr
)

MbufAllocColor(
Attribute =
M_LUT
BufIdPtr
)
Digitizer
LUT
MilID
Synopsis
Returns the Native MIL identifier of the allocated resources of the LUT.
[]
Syntax
[Integer =] object.MilID
[]
Syntax
[long =] object->MilID
Type description
A long value that specifies the Native MIL identifier of the LUT.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • The control's Modified method should be called after making Native MIL call(s) on the returned identifier.
  • If the control's IsAllocated property is False, the MilID property will be 0.


Digitizer.LUT.NumberOfBands Property

NumberOfBands property

See Also | Availability | MIL Equivalent | MilID | Size
User Guide:
Setting up your LUT
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Orion
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Corona-II
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox CronosPlus
Not supported on Matrox Morphis
MbufAllocColor(
Attribute =
M_LUT
SizeBand
)

MbufInquire(
InquireType =
M_SIZE_BAND
)
Digitizer
LUT
NumberOfBands
Synopsis
Returns or sets the number of color bands of the LUT.
[]
Syntax
object.NumberOfBands [= Integer]
[]
Syntax
object->NumberOfBands [= long]
Type description
A long value that specifies the number of bands (1 or 3, default is 1).
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The digitizer's physical LUT is typically configured to have the same number of components (bands) as either this property or the data to be grabbed (determined by the digitizer's DCF), depending on which has more bands.
  • LUT data is loaded into the digitizer's physical LUT, as follows:
    LUT | Digitizer's physical LUT | Result
    1 band | 1 band | The LUT is copied directly into the digitizer's physical LUT.
    1 band | 3 band | The LUT is copied into each component of the digitizer's physical LUT.
    3 band | 1 band | The first band of the LUT is copied into the digitizer's physical LUT.
    3 band | 1 band | Each of the LUT's bands are copied into the corresponding component of the digitizer's physical LUT.


Digitizer.LUT.Size Property

Size property

Availability | MIL Equivalent | NumberOfBands | GenerateColor
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /1394
Not supported on Matrox CronosPlus
Not supported on Matrox Morphis

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Orion
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MbufAllocColor(
Attribute =
M_LUT
SizeBand
)

MbufInquire(
InquireType =
M_SIZE_X
)
Digitizer
LUT
Size
Synopsis
Returns or sets the size (number of entries) of the LUT to load in the digitizer's physical LUT.
[]
Syntax
object.Size [= Integer]
[]
Syntax
object->Size [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of LUT entries. (default is 256)
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The digitizer's physical LUT is configured to have the same number of entries as the maximum possible value per band of the data to grab. Therefore, you must set this property so that it matches the number of entries of the digitizer's physical LUT.
Remarks for Matrox Corona-II
  • When grabbing 8-bit data, the digitizer's physical LUT has 256 entries.
  • When grabbing 10-bit data, the digitizer's physical LUT has 1024 entries.
  • Regardless of the depth at which the data is grabbed, YUV data bypass the digitizer LUT.
Remarks for Matrox Genesis
  • When grabbing 8-bit data, the digitizer's physical LUT has 256 entries.
  • When grabbing 10-, 12-, or 13-bit data, the digitizer's physical LUT has 8192 entries.
Remarks for Matrox Helios XA
  • When grabbing 10-bit data, the digitizer's physical LUT has 1024 entries.
  • When grabbing 12-bit data, the digitizer's physical LUT has 4096 entries.
Remarks for Matrox Helios XCL
  • When grabbing 8-bit data, the digitizer's physical LUT has 256 entries.
  • When grabbing 10-bit data, the digitizer's physical LUT has 1024 entries.
  • When grabbing 12-bit data, the digitizer's physical LUT has 4096 entries.
Remarks for Matrox Meteor-II /Camera Link
  • When grabbing 8-bit data, the digitizer's physical LUT has 256 entries.
  • When grabbing 10-bit data, the digitizer's physical LUT has 1024 entries.
  • When grabbing 12-bit data, the digitizer's physical LUT has 4096 entries.
Remark for Matrox Meteor-II /Digital
  • When grabbing 8-bit data, the digitizer's physical LUT has 256 entries.
Remark for Matrox Meteor-II /Multi-Channel
  • When grabbing 8-bit data, the digitizer's physical LUT has 256 entries.
Remarks for Matrox Odyssey XA
  • When grabbing 10-bit data, the digitizer's physical LUT has 1024 entries.
  • When grabbing 12-bit data, the digitizer's physical LUT has 4096 entries.
Remarks for Matrox Odyssey XCL
  • When grabbing 8-bit data, the digitizer's physical LUT has 256 entries.
  • When grabbing 10-bit data, the digitizer's physical LUT has 1024 entries.
  • When grabbing 12-bit data, the digitizer's physical LUT has 4096 entries.
Remarks for Matrox Odyssey XD
  • When grabbing 8-bit data, the digitizer's physical LUT has 256 entries.
  • When grabbing 10-bit data, the digitizer's physical LUT has 1024 entries.
  • When grabbing 12-bit data, the digitizer's physical LUT has 4096 entries.
Remark for Matrox Orion
  • When grabbing 8-bit data, the digitizer's physical LUT has 256 entries.
Remarks for Matrox Solios XA
  • When grabbing 10-bit data, the digitizer's physical LUT has 1024 entries.
  • When grabbing 12-bit data, the digitizer's physical LUT has 4096 entries.
Remarks for Matrox Solios XCL
  • When grabbing 8-bit data, the digitizer's physical LUT has 256 entries.
  • When grabbing 10-bit data, the digitizer's physical LUT has 1024 entries.
  • When grabbing 12-bit data, the digitizer's physical LUT has 4096 entries.


Digitizer.LUT.GenerateColor Method

GenerateColor method

See Also | Availability | MIL Equivalent | Size | GenerateFunction
User Guide:
Generating data into LUTs

Reference:
Digitizer.LUT.GenerateRamp
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Orion
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /1394
Not supported on Matrox CronosPlus
Not supported on Matrox Morphis
No MIL equivalent
Digitizer
LUT
GenerateColor
Synopsis
Sets the specified LUT index entries to the specified color.
[]
Syntax
object.GenerateColor(
ByVal StartIndex As Integer,
ByVal EndIndex As Integer,
ByVal Color As System.UInt32
)
[]
Syntax
void object->GenerateColor(
long StartIndex,
long EndIndex,
OLE_COLOR Color
)
StartIndex
A longintegerlong (integer for Visual Basic .Net) value that specifies the first LUT index entry for which to set a color. This value must be less than or equal to the value of EndIndex.
EndIndex
A longintegerlong (integer for Visual Basic .Net) value that specifies the last LUT index entry for which to set a color.
Color
A Color value that specifies the color with which to fill the LUT.
Remarks
  • For the Color parameter, pass a property of the specified type or use your environment's RGB() function to explicitly set a value for each of the color bands (red, green, blue).
  • Each band of the LUT is filled with a corresponding component of the specified Color. For example, the red band will be filled with the red component, the green band with the green component, and the blue band with the blue component.
  • []
     To convert a System.Drawing.Color to an UInt32 value, use .NET framework's System.Drawing.ColorTranslator.ToOle method to convert the System.Drawing.Color value to an integer. Then, convert that integer to an UInt32 value, using .NET framework's System.Convert.ToUInt32 method.


Digitizer.LUT.GenerateFunction Method

GenerateFunction method

See Also | Availability | MIL Equivalent | GenerateColor | GenerateRamp
User Guide:
Generating data into LUTs

Reference:
Digitizer.LUT.GenerateRamp
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Orion
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /1394
Not supported on Matrox CronosPlus
Not supported on Matrox Morphis
MgenLutFunction()
Digitizer
LUT
GenerateFunction
Synopsis
Generates data into the LUT according to the specified function.
[]
Syntax
object.GenerateFunction(
ByVal Function As LUTFunctionConstants,
ByVal StartIndex As Integer,
ByVal StartXValue As Double,
ByVal EndIndex As Integer,
ByVal a As Double,
ByVal b As Double,
ByVal c As Double
)
[]
Syntax
void object->GenerateFunction(
enum LUTFunctionConstants Function,
long StartIndex,
double StartXValue,
long EndIndex,
double a,
double b,
double c
)
Function
A LUTFunctionConstants expression that specifies the function to generate data.
Value | Meaning
lutLog | alogb(x) + c
lutExp | abx
lutSin | asin(bx) + c, where x is in degrees.
lutCos | acos(bx) + c, where x is in degrees.
lutTan | atan(bx) + c, where x is in degrees.
lutQuad | ax2 + bx + c
StartIndex
A long value that specifies the first LUT index entry for which to generate a value. This value must be less than or equal to the value of EndIndex.
StartXValue
A double value that specifies the initial value of X in the function.
EndIndex
A long value that specifies the last LUT index entry for which to generate a value.
a (optional in , default is 1.0)
A double value that specifies the value of the function constant a. (default is 1.0)
b (optional in , default is 1.0)
A double value that specifies the value of the function constant b. (default is 1.0)
c (optional in , default is 0.0)
A double value that specifies the value of the function constant c. (default is 0.0)
Remark
  • If the LUT is a multi-band LUT, the same data is written to all bands. To load different values into each, use the LUT.Put method.


Digitizer.LUT.GenerateRamp Method

GenerateRamp method

See Also | Availability | MIL Equivalent | GenerateFunction | Get
User Guide:
Generating data into LUTs

Reference:
Digitizer.LUT.GenerateFunction
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Orion
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /1394
Not supported on Matrox CronosPlus
Not supported on Matrox Morphis
MgenLutRamp()
Digitizer
LUT
GenerateRamp
Synopsis
Generates a ramp, inverse ramp, or constant into the LUT according to the specified function.
[]
Syntax
object.GenerateRamp(
ByVal StartIndex As Integer,
ByVal StartValue As Double,
ByVal EndIndex As Integer,
ByVal EndValue As Double
)
[]
Syntax
void object->GenerateRamp(
long StartIndex,
double StartValue,
long EndIndex,
double EndValue
)
StartIndex
A long value that specifies the first LUT index for which to generate a value. This value must be less than or equal to the value of EndIndex.
StartValue
A double value that specifies the initial LUT value. It is also used to calculate the increment between LUT entries ((start value - end value) / number of entries).
EndIndex
A long value that specifies the last LUT index for which to generate a value.
EndValue
A double value that specifies the final LUT value. It is also used to calculate the increment between LUT entries ((start value - end value) / number of entries).
Remarks
  • StartValue and EndValue accept only integer values, except when using a floating-point LUT.
  • If StartValue and EndValue are the same value, the entire LUT is filled with this value.
  • If EndValue is smaller than StartValue, an inverse ramp is generated.


Digitizer.LUT.Get Method

Get method

See Also | Availability | MIL Equivalent | GenerateRamp | Put
Reference:
Digitizer.LUT.Put
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Orion
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /1394
Not supported on Matrox CronosPlus
Not supported on Matrox Morphis
MbufGet()
Digitizer
LUT
Get
Synopsis
Copies LUT data to a specified user-array.
[]
Syntax
object.Get(
ByVal UserArray As Array,
ByVal Band As LUTBandConstants,
ByVal Offset As Integer,
ByVal Size As Integer
)
[]
Syntax
void object->Get(
VARIANT * UserArray,
enum LUTBandConstants Band,
long Offset,
long Size
)
UserArray
An array in which to put the data.

Band (optional in , default is lutAllBands)
A LUTBandConstants expression or long value that specifies the band from which to get the data.
Value | Meaning
lutRed | Copy from the red band only.
lutGreen | Copy from the green band only.
lutBlue | Copy from the blue band only.
lutAllBands | Copy from all bands.
value | Index of the band (0...n-1)
Offset (optional in , default is 0.0)
A long value that specifies the offset of the LUT region from which to get the data.
Size (optional in , default is -1.0)
A long value that specifies the number of LUT entries from which to get the data.
Remarks
  • Ensure that the user array is large enough to accommodate the data from the LUT.
  • It is assumed that the user array is of the same data type and depth as the LUT.


Digitizer.LUT.Put Method

Put method

See Also | Availability | MIL Equivalent | Get
Reference:
Digitizer.LUT.Get
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Orion
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /1394
Not supported on Matrox CronosPlus
Not supported on Matrox Morphis
MbufPut()
Digitizer
LUT
Put
Synopsis
Puts data from a specified user-array into the LUT.
[]
Syntax
object.Put(
ByVal UserArray As Array,
ByVal Band As LUTBandConstants,
ByVal Offset As Integer,
ByVal Size As Integer
)
[]
Syntax
void object->Put(
const _variant_t & UserArray,
enum LUTBandConstants Band,
long Offset,
long Size
)
UserArray
An array that contains the data to be read.

Band (optional in , default is lutAllBands)
A LUTBandConstants expression or long value that specifies the band in which to copy the data.
Value | Meaning
lutRed | Copy to the red band only.
lutGreen | Copy to the green band only.
lutBlue | Copy to the blue band only.
lutAllBands | Copy to all bands.
value | Index of the band (0...n-1).
Offset (optional in , default is 0.0)
A long value that specifies the offset of the LUT region in which to copy the data.
Size (optional in , default is -1.0)
A long value that specifies the number of entries into which to copy the data.
Remark
  • It is assumed that the array is of the same data type and depth as the LUT.
[]
Example
This example shows how to create and fill a safe array to be used with the Put method of the LUT.

// Size of the storage array.
DWORD numElements[] = {256};

// The image has a data depth of 8 bits and an unsigned data type,
// so create a one-dimensional array of type VT_UI1 for the LUT.
COleSafeArray LutArray;
LutArray.Create(VT_UI1, 1, numElements);

// Enter data into the arrays.
// Fill the array to create a ramp LUT.
long index[1];
for(int i = 0; i < 256; i++)
   {
   index[0] = i;
   LutArray.PutElement(index, &i);
   }

// Always attach a COleSafeArray to a _variant_t before calling
// ActiveMIL's Put method.
// The attach process invalidates the original COleSafeArray object
// by setting its variant type to VT_EMPTY.
_variant_t LutArrayVariant;
LutArrayVariant.Attach(LutArray);

// Enter the array data in the LUT of the digitizer.
m_Digitizer1->LUT->Put(LutArrayVariant,lutAllBands, 0, 256);

// Optionally, detach the _variant_t into the original COleSafeArray.
// If you do, COleSafeArray will delete the SAFEARRAY at its destruction.
// If you don't, _variant_t will delete it at its destruction.
// In either case, the memory will be released at the appropriate time.
LutArray.Attach(LutArrayVariant.Detach());


Digitizer.LUTEnabled Property

LUTEnabled property

Availability | MIL Equivalent | LastGrabInTrueImage | LUT
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Digitizer
LUTEnabled
Synopsis
Returns or sets whether the digitizer's custom LUT will be used when it grabs.
[]
Syntax
object.LUTEnabled [= Boolean]
[]
Syntax
object->LUTEnabled [= VARIANT_BOOL]
Type description
A boolean value that specifies whether a custom LUT will be used.
Value | Meaning
True | Use custom LUT.
False | Use transparent LUT.
Remark
  • Before enabling this property, you should set up the digitizer's custom LUT with the properties of the LUT property.


Digitizer.MilID Property

MilID property

See Also | Availability | MIL Equivalent | LUT | MultipleBuffering
User Guide:
Integrating MIL functions into your ActiveMIL code

Reference:
Digitizer.IsAllocated
Digitizer.Modified
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigAlloc(DigIdPtr)
Digitizer
MilID
Synopsis
Returns the Native MIL identifier of the allocated resources of the Digitizer control.
[]
Syntax
[Integer =] object.MilID
[]
Syntax
[long =] object->MilID
Type description
A long value that specifies the control's Native MIL identifier.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • The control's Modified method should be called after making Native MIL call(s) on the returned identifier.
  • If the control's IsAllocated property is False, the MilID will be 0.


Digitizer.MultipleBuffering Property

MultipleBuffering property

Availability | MIL Equivalent | MilID | Name
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Digitizer
MultipleBuffering
Properties: SequenceCount, FrameRate, NumberOfFrameMissed, NumberOfFrameProcessed, SynchronizationMode

Methods: Process, Halt
Synopsis
Allows you to build a multiple buffering application.
[]
Syntax
object.MultipleBuffering [= MultipleBuffering]
[]
Syntax
object->MultipleBuffering [= IMultipleBufferingPtr]
Type description
A MultipleBuffering object.
Remark
  • You cannot assign another MultipleBuffering object to this property.


Digitizer.MultipleBuffering.FrameRate Property

FrameRate property

Availability | MIL Equivalent | SequenceCount | NumberOfFrameMissed
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigInquire(
InquireType =
M_PROCESS_FRAME_RATE
)
Digitizer
MultipleBuffering
FrameRate
Synopsis
Returns the rate at which the frames are grabbed, when grabbing with the MultipleBuffering.Process method.
[]
Syntax
[Double =] object.FrameRate
[]
Syntax
[double =] object->FrameRate
Type description
A double value that specifies the rate at which the frames are grabbed, when grabbing with the MultipleBuffering.Process method, in frames per second.
Remark
  • Note that the value of this property is determined based on the average of the camera's frame rate, and the total amount of time to execute the procedure(s) handling the ProcessModifiedImage event of the Digitizer control.


Digitizer.MultipleBuffering.NumberOfFrameMissed Property

NumberOfFrameMissed property

Availability | MIL Equivalent | FrameRate | NumberOfFrameProcessed
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigInquire(
InquireType =
M_PROCESS_FRAME_MISSED
)
Digitizer
MultipleBuffering
NumberOfFrameMissed
Synopsis
Returns the number of frames believed to be missed, when grabbing with the MultipleBuffering.Process method.
[]
Syntax
[Integer =] object.NumberOfFrameMissed
[]
Syntax
[long =] object->NumberOfFrameMissed
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of frames believed to be missed when grabbing with the MultipleBuffering.Process method.
Remarks
  • This property cannot be accessed before the grabs are stopped.
  • The value of this property is based on a comparison between the values of the MultipleBuffering.FrameRate and the MultipleBuffering.NumberOfFrameProcessed properties.
  • If a grab is triggered from a variable trigger or if the procedure handling the ProcessModifiedImage event of the Digitizer control is slow, the value of this property will be affected.
  • The value of this property is most trustworthy with a camera in continuous mode.


Digitizer.MultipleBuffering.NumberOfFrameProcessed Property

NumberOfFrameProcessed property

Availability | MIL Equivalent | NumberOfFrameMissed | SynchronizationMode
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigInquire(
InquireType =
M_PROCESS_FRAME_COUNT
)
Digitizer
MultipleBuffering
NumberOfFrameProcessed
Synopsis
Returns the number of frames grabbed in the sequence, when grabbing with the MultipleBuffering.Process method.
[]
Syntax
[Integer =] object.NumberOfFrameProcessed
[]
Syntax
[long =] object->NumberOfFrameProcessed
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of frames grabbed in the sequence, when grabbing with the MultipleBuffering.Process method.
Remark
  • This property cannot be accessed before the grabs are stopped.


Digitizer.MultipleBuffering.SequenceCount Property

SequenceCount property

Availability | MIL Equivalent | FrameRate
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigProcess(
Operation =
M_SEQUENCE +
M_COUNT(n)
)
Digitizer
MultipleBuffering
SequenceCount
Synopsis
Returns or sets the number of images to grab in the list of Image controls, when grabbing with the MultipleBuffering.Process method of the Digitizer control.
[]
Syntax
object.SequenceCount [= Integer]
[]
Syntax
object->SequenceCount [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value or an ActiveMILDefaultConstants expression that specifies the number of images to grab in the list of Image controls, when grabbing with the MultipleBuffering.Process method of the Digitizer control. (default is amilDefault)
Value | Meaning
amilDefault | Specifies that the number of images to grab is equal to the number of images in list of Image controls.
value | Specifies the number of images to grab. The maximum number of images that can be specified is 2 to the power of 28.
Remarks
  • This property only affects the MultipleBuffering.Process method when its Operation parameter is set to digSequence.
  • This property must be set before calling the MultipleBuffering.Process method.
  • Note that if the value of this property is greater than the number of images in the list of Image controls, the grab will be done in round-robin style.


Digitizer.MultipleBuffering.SynchronizationMode Property

SynchronizationMode property

Availability | MIL Equivalent | NumberOfFrameProcessed | Process
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigProcess(OperationFlag)
Digitizer
MultipleBuffering
SynchronizationMode
Synopsis
Returns or sets the synchronization mode used when grabbing with the MultipleBuffering.Process method.
[]
Syntax
object.SynchronizationMode [= DigSynchronizationModeConstants]
[]
Syntax
object->SynchronizationMode [= enum DigSynchronizationModeConstants]
Type description
A DigSynchronizationModeConstants expression that specifies the synchronization mode used when grabbing with the MultipleBuffering.Process method. (default is digAsynchronousMode)
Value | Meaning
digAsynchronousMode | Sets the synchonization mode to asynchronous. The Image controls are prepared, and then control is returned to the calling thread while, in the background, the grabs will begin.
digSynchronousMode | Sets the synchonization mode to synchronous. The MultipleBuffering.Process method will block the calling thread until the list of sequential grabs has completed.


Digitizer.MultipleBuffering.Halt Method

Halt method

Availability | MIL Equivalent | Process
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigProcess(
Operation =
M_STOP
)

MdigProcess(
Operation =
M_STOP +
M_WAIT
)
Digitizer
MultipleBuffering
Halt
Synopsis
Stops the multiple buffering operation of the MultipleBuffering.Process method.
[]
Syntax
object.Halt(
ByVal Wait As Boolean
)
[]
Syntax
void object->Halt(
VARIANT_BOOL Wait
)
Wait
A boolean value that specifies whether to wait for all previously queued grabs to finish before returning control to the Host, when the multiple buffering operation of the MultipleBuffering.Process method is stopped.
Value | Meaning
True | Stops queuing new grabs and waits for all previously queued grabs to finish before returning control to the Host.
False | Stops the grabs and cancels all grabs that might have been queued.
Remarks
  • This method only has an effect if you have called the MultipleBuffering.Process method with digStart.
  • Note that cancelled grabs will not trigger the ProcessModifiedImage event, but the events for the previous grabs are still processed.
  • In general, this method is called synchronously, unless it is called from the event procedure of the ProcessModifiedImage event; in which case, this method is called asynchronously to avoid a dead lock.
  • If the Halt method is called synchronously from the main thread, all the messages in the main message loop will not be processed until the Halt method finishes executing. This means that the Windows user interface might not be updated during this time.
[]
Example
Shows how to build a multiple buffering application.

' Number of images in the buffering grab queue.
Const MAXIMUM_NUMBER_OF_IMAGES = 20

' Array of Images
Private ProcessImages(0) As Matrox.ActiveMIL.IImage

Dim Continue As Boolean = True
Dim i As Integer

' Build an image array for the multiple buffering operation
'
While Continue And i <= MAXIMUM_NUMBER_OF_IMAGES

    ' Create an Image control
    Dim NewImage As Matrox.ActiveMIL.IImage
    NewImage = Application1.CreateObject("MIL.Image", False)

    ' Set its properties
    NewImage.CanGrab = True
    NewImage.CanProcess = True
    NewImage.CanDisplay = True
    NewImage.SizeX = Image1.SizeX
    NewImage.SizeY = Image1.SizeY

    Try
        ' Try allocating the image
        NewImage.Allocate()

        ' Add the image to the array of images
        ReDim Preserve ProcessImages(i)
        ProcessImages(i) = NewImage
    Catch
        ' An exception was thrown while allocating the image
        ' Stop allocating new images
        Continue = False
    End Try

    i += 1
End While

' Start an asynchronous multiple buffering operation
' To stop the operation, call Digitizer1.MultipleBuffering.Halt(False)
'
Digitizer1.MultipleBuffering.Process(DigOperationConstants.digStart, _
                                     ProcessImages)

''''''''''''''''''''''''''''''''''''''''''''''''''

''''''''''''''''''''''''''''''''''''''''''''''''''
'  Occurs when a frame is grabbed or when an     '
'  image is modified from the Process operation. '
''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub Digitizer1_ProcessModifiedImage(ByVal sender As Object, _
            ByVal e As IDigitizerEvents_ProcessModifiedImageEvent) _
            Handles Digitizer1.ProcessModifiedImage

    ' Simulate a rotating GrabContinuous
    Static angle As Integer

    angle += 1
    ImageProcessing1.Source1 = ProcessImages(e.imageIndex)
    ImageProcessing1.Rotate(angle, _
                            ImpInterpolationModeConstants.impNearestNeighbor, _
                            ImpOverscanModeConstants.impOverscanEnable, _
                            amilDefault, _
                            amilDefault, _
                            amilDefault, _
                            amilDefault)

 ' End of processing
    End Sub


Digitizer.MultipleBuffering.Process Method

Process method

See Also | Availability | MIL Equivalent | SynchronizationMode | Halt
User Guide:
Using variants and arrays - CActiveMILObjectsArray
Available in ActiveMIL-Lite

Available in ActiveMIL

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Orion
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MdigProcess()
Digitizer
MultipleBuffering
Process
Synopsis
Acquires and stores images sequentially in a list of Image controls.
[]
Syntax
object.Process(
ByVal Operation As DigOperationConstants,
ByVal ImagesArray As Array
)
[]
Syntax
void object->Process(
enum DigOperationConstants Operation,
VARIANT * ImagesArray
)
Operation
A DigOperationConstants expression that specifies the acquisition mode.
Value | Meaning
digSequence | Grabs into the images of the list of Image controls. By default, the sequence will stop once the end of the list of destination Image controls is reached.
digStart | Starts grabbing round-robin into the images of the list of Image controls. The grabs will continue until stopped (using the MultipleBuffering.Halt method).
ImagesArray
A variantobjectvariant (object for Visual Basic .Net) value that specifies the array of images into which to grab the image data. This array can be of type string (the names of Image controls), or object references that refer to Image controls. The images must be in an allocated state before this method is called.

Remarks
  • []
     In C++, use the CActiveMILObjectsArray class to pass a safearray of Image controls.
  • The images must have their CanGrab property set to True.
  • When you set the Operation parameter to digSequence, you can specify the number of grabs to perform in a sequence, with the MultipleBuffering.SequenceCount property.
  • The ProcessModifiedImage event is triggered each time an image is modified in the specified list of Image controls. So every time a new frame is grabbed in an image in the list, the event is triggered. You should add your processing code to the procedure that handles this event. The event procedure receives the index of the modified image in the array of Image controls.
  • If the procedure handling the ProcessModifiedImage event modifies the image that called it, the event for that image will not be called again until that image is modified by some other operation or a new grab. This is to avoid infinite recursive calls being generated. However, if the procedure modifies another image in the list, the ProcessModifiedImage event will be called for that image.
  • The images are filled with the grabbed data in the order in which their controls are listed in the array.
  • In all cases, if the grab destination image is smaller than the digitizer's frame size, the image will be filled and all other data will be lost. If the grab destination image is larger than the digitizer's frame size, the image will be filled up to the digitizer's frame size. The rest of the image will remain untouched.
  • You can use the MultipleBuffering.SynchronizationMode property to specify whether to execute the MultipleBuffering.Process method synchronously or asynchronously.
  • If executing synchronously, the MultipleBuffering.Process method will block the thread until the list of sequential grabs has completed. No message in the main message loop will be processed when working in synchronous mode. The Windows user interface might not be updated while running MultipleBuffering.Process synchronously from the main thread.
  • If executing asynchronously, the Image controls are prepared, and then control is returned to the calling thread while, in the background, the grabs will begin. The MultipleBuffering.Process method can be slower if a lot of messages are processed in the main message loop.
  • When using the MultipleBuffering.Process method with digSequence, the grabs can stop either at the end of the list of Image controls or after a predefined number of grabs occur. Note that the latter can cause round-robin grabbing if the predefined number is greater than the number of Image controls available.
  • When using the MultipleBuffering.Process method with digStart, there is no preset end to the list of grabs; therefore, the MultipleBuffering.Process method grabs round-robin through the list of Image controls. You must call the MultipleBuffering.Halt method to issue a stop command, otherwise an endless loop is created.
  • When grabbing round-robin, if the average time it takes to process a frame is greater than the frame rate of a camera, frames will eventually be missed.
  • Note that if running on a computer with multiple CPUs, you can run multiple instances of the event procedure up to the number of CPUs present in the computer. To do so, you must use the Control method of the System control with the ControlType parameter set to sysModifiedImageHookMode and the ControlFlag set to sysMultiThread.
  • It is not recommended to change the settings of the digitizer currently being used when grabs are still pending.
Remarks for Matrox Corona-II
  • When performing a grab, the width and the horizontal position of the grab destination image and the grab region (set with the InputRegion.SizeX and InputRegion.SizeY properties or with the InputRegion.OffsetX or InputRegion.OffsetY properties) must be a multiple of 4 bytes. If not, the grab will be clipped accordingly.
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 or 16 bits.
  • When performing a grab, the width of the grab destination image (set using the SizeX property of the Image control) must be at least 16 bytes. If not, an error will occur.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware color space converter
Remarks for Matrox CronosPlus
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 bits.
  • When performing a grab, the width of the grab destination image (set using the SizeX property of the Image control) must be at least 16 bytes. The height (set using the SizeY property of the Image control) must be at least 4 lines. If not, an error will occur.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Genesis
  • When performing a grab, the width of the grab destination image must be at least 32 bytpes. If not, an error will occur.
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can be 8, 16, or 32 bits.
  • When using a color camera to grab into a monochrome image, the red (alpha) band is grabbed.
Remarks for Matrox Helios XA
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 or 16 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Helios XCL
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 or 16 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Meteor-II /1394
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion might be done in the hardware or by the software depending on the camera. Note that there is very little CPU usage when the color space conversion is done by the software.
Remarks for Matrox Meteor-II /Camera Link
  • When performing a grab, the width and the horizontal position of the grab destination image and the grab region (set with the InputRegion.SizeX and InputRegion.SizeY properties or with the InputRegion.OffsetX or InputRegion.OffsetY properties) must be a multiple of 4 bytes. If not, the grab will be clipped accordingly.
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 or 16 bits.
  • When using a color camera to grab into a monochrome image, the red (alpha) band is grabbed.
Remarks for Matrox Meteor-II /Digital
  • When performing a grab, the width and the horizontal position of the grab destination image and the grab region (set with the InputRegion.SizeX and InputRegion.SizeY properties or with the InputRegion.OffsetX or InputRegion.OffsetY properties) must be a multiple of 4 bytes. If not, the grab will be clipped accordingly.
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 or 16 bits.
  • When using a color camera to grab into a monochrome image, the red (alpha) band is grabbed.
Remarks for Matrox Meteor-II /Multi-Channel
  • When performing a grab, the width and the horizontal position of the grab destination image and the grab region (set with the InputRegion.SizeX and InputRegion.SizeY properties or with the InputRegion.OffsetX or InputRegion.OffsetY properties) must be a multiple of 4 bytes. If not, the grab will be clipped accordingly.
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 bits.
  • When performing a grab, the width of the grab destination image (set using the SizeX property of the Image control) must be at least 16 bytes. If not, an error will occur.
  • When using a color camera to grab into a monochrome image, the green band is grabbed.
Remarks for Matrox Meteor-II /Standard
  • When performing a grab, the width and the horizontal position of the grab destination image and the grab region (set with the InputRegion.SizeX and InputRegion.SizeY properties or with the InputRegion.OffsetX or InputRegion.OffsetY properties) must be a multiple of 4 bytes. If not, the grab will be clipped accordingly.
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 bits.
  • When performing a grab, the width of the grab destination image (set using the SizeX property of the Image control) must be at least 16 bytes. If not, an error will occur.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Morphis
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Odyssey XA
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can be 8, 16, or 32 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Odyssey XCL
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can be 8, 16, or 32 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Odyssey XD
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can be 8, 16, or 32 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Orion
  • When performing a grab, the width and the horizontal position of the grab destination image and the grab region (set with the InputRegion.SizeX and InputRegion.SizeY properties or with the InputRegion.OffsetX or InputRegion.OffsetY properties) must be a multiple of 4 bytes. If not, the grab will be clipped accordingly.
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Solios XA
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 or 16 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Solios XCL
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 or 16 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
[]
Example
Shows how to build a multiple buffering application.

' Number of images in the buffering grab queue.
Const MAXIMUM_NUMBER_OF_IMAGES = 20

' Array of Images
Private ProcessImages(0) As Matrox.ActiveMIL.IImage

Dim Continue As Boolean = True
Dim i As Integer

' Build an image array for the multiple buffering operation
'
While Continue And i <= MAXIMUM_NUMBER_OF_IMAGES

    ' Create an Image control
    Dim NewImage As Matrox.ActiveMIL.IImage
    NewImage = Application1.CreateObject("MIL.Image", False)

    ' Set its properties
    NewImage.CanGrab = True
    NewImage.CanProcess = True
    NewImage.CanDisplay = True
    NewImage.SizeX = Image1.SizeX
    NewImage.SizeY = Image1.SizeY

    Try
        ' Try allocating the image
        NewImage.Allocate()

        ' Add the image to the array of images
        ReDim Preserve ProcessImages(i)
        ProcessImages(i) = NewImage
    Catch
        ' An exception was thrown while allocating the image
        ' Stop allocating new images
        Continue = False
    End Try

    i += 1
End While

' Start an asynchronous multiple buffering operation
' To stop the operation, call Digitizer1.MultipleBuffering.Halt(False)
'
Digitizer1.MultipleBuffering.Process(DigOperationConstants.digStart, _
                                     ProcessImages)

''''''''''''''''''''''''''''''''''''''''''''''''''

''''''''''''''''''''''''''''''''''''''''''''''''''
'  Occurs when a frame is grabbed or when an     '
'  image is modified from the Process operation. '
''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub Digitizer1_ProcessModifiedImage(ByVal sender As Object, _
            ByVal e As IDigitizerEvents_ProcessModifiedImageEvent) _
            Handles Digitizer1.ProcessModifiedImage

    ' Simulate a rotating GrabContinuous
    Static angle As Integer

    angle += 1
    ImageProcessing1.Source1 = ProcessImages(e.imageIndex)
    ImageProcessing1.Rotate(angle, _
                            ImpInterpolationModeConstants.impNearestNeighbor, _
                            ImpOverscanModeConstants.impOverscanEnable, _
                            amilDefault, _
                            amilDefault, _
                            amilDefault, _
                            amilDefault)

 ' End of processing
    End Sub


Digitizer.Name Property

Name property

Availability | MIL Equivalent | MultipleBuffering | NumberOfBands
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Digitizer
Name
Synopsis
Returns or sets the name used in code to identify the Digitizer control.
[]
Syntax
object.Name [= String]
[]
Syntax
object->Name [= _bstr_t]
Type description
A string expression that specifies the object name.
Remarks
  • This property cannot be set at run-time.
  • The default name for a new control is the type of control plus a unique integer. For example, the first new Digitizer control you create on a form is named Digitizer 1 and the second Digitizer1 control is named Digitizer2.
  • A control's Name property must start with a letter and can be a maximum of 40 characters. It can include numbers and underscore (_) characters but cannot include spaces or punctuation. Although the Name property setting can be a keyword, property name, or the name of another object, it can create conflicts in your code.


Digitizer.NumberOfBands Property

NumberOfBands property

See Also | Availability | MIL Equivalent | Name | OwnerSystem
User Guide:
Dimensions
The data format

Reference:
Digitizer.Format
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufInquire(
InquireType =
M_SIZE_BAND
)
Digitizer
NumberOfBands
Synopsis
Returns the number of color bands of the specified digitizer's data.
[]
Syntax
[Integer =] object.NumberOfBands
[]
Syntax
[long =] object->NumberOfBands
Type description
A long value that specifies the number of bands (1 or 3).
Remark
  • The digitizer's DCF, specified using the Format property, establishes the value of this property.


Digitizer.OwnerSystem Property

OwnerSystem property

See Also | Availability | MIL Equivalent | NumberOfBands | OwnerSystemName
User Guide:
Grabbing an image overview
Owner system

Reference:
System
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigAlloc(SystemId)
Digitizer
OwnerSystem
Synopsis
Returns or sets the system on which the resources of the Digitizer control are allocated.
[]
Syntax
object.OwnerSystem [= System]
[]
Syntax
object->OwnerSystem [= ISystemPtr]
Type description
A System control that specifies the system to set as the owner (parent) of the Digitizer control.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The owner system can also be specified, with the name assigned to its control, using the OwnerSystemName property.
  • This property automatically sets the OwnerSystemName property.


Digitizer.OwnerSystemName Property

OwnerSystemName property

See Also | Availability | MIL Equivalent | OwnerSystem | PropertyValidation
User Guide:
Grabbing an image overview
Owner system

Reference:
System
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigAlloc(SystemId)
Digitizer
OwnerSystemName
Synopsis
Returns or sets the name of the System control representing the system on which the resources of the Digitizer control are allocated.
[]
Syntax
object.OwnerSystemName [= String]
[]
Syntax
object->OwnerSystemName [= _bstr_t]
Type description
A string expression that specifies the name of the System control to set as the owner (parent) of the Digitizer control.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The owner system can also be specified using the OwnerSystem property.
  • This property automatically sets the OwnerSystem property.


Digitizer.PropertyValidation Property

PropertyValidation property

See Also | Availability | MIL Equivalent | OwnerSystemName | ReferenceChannel
User Guide:
Error reporting
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Digitizer
PropertyValidation
Synopsis
Returns or sets whether the properties of the Digitizer control are dynamically validated.
[]
Syntax
object.PropertyValidation [= Boolean]
[]
Syntax
object->PropertyValidation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the property validation mode.
Value | Meaning
True | The digitizer's properties will be dynamically validated. Errors will be generated during the design process.
False | The properties will not be dynamically validated. Errors will only be generated at run-time.
Remarks
  • At run-time, this property is read-only and is always set to True.
  • When set to True and if one of the control's properties is not properly set, then the control is outlined in red. The error page of the control's property pages describes the specific error.


Digitizer.ReferenceChannel Property

ReferenceChannel property

See Also | Availability | MIL Equivalent | PropertyValidation | Saturation
User Guide:
Reference levels

Reference:
Digitizer.BlackReference
Digitizer.WhiteReference
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigReference(ReferenceType)
Digitizer
ReferenceChannel
Synopsis
Returns or sets the channel to which to apply the black and white reference level adjustments.
[]
Syntax
object.ReferenceChannel [= DigChannelConstants]
[]
Syntax
object->ReferenceChannel [= enum DigChannelConstants]
Type description
A DigChannelConstants expression that specifies the channel to which to apply the black and white reference level adjustments. (default is digCh0)
Value | Meaning
digCh0 | Input channel 0.
digCh1 | Input channel 1.
digCh2 | Input channel 2.
digCh3 | Input channel 3.
digChRGB | Apply references to all channels.
Remarks
  • For monochrome video signals, this property is ignored.
  • This property should be used with RGB or multi-tap sources to set the black and white reference levels of the red, green, and blue channels independently.
[]
Example
This example shows how to use the ReferenceChannel property.

' Change the black reference level of the blue channel.
' The change will be visible after modifying the BlackReference property value.
Digitizer1.ReferenceChannel = digCh2 ' Blue channel
Digitizer1.BlackReference = 200

' Change the white reference level of the red channel.
' The change will be visible after modifying the WhiteReference property value.
Digitizer1.ReferenceChannel = digCh0 ' Red channel
Digitizer1.WhiteReference = 10
[]
Example
This example shows how to use the ReferenceChannel property.

// Change the black reference level of the blue channel.
// The change will be visible after modifying the BlackReference property value.
m_Digitizer1->ReferenceChannel = digCh2; // Blue channel
m_Digitizer1->BlackReference = 200;

// Change the white reference level of the red channel.
// The change will be visible after modifying the WhiteReference property value.
m_Digitizer1->ReferenceChannel = digCh0; // Blue channel
m_Digitizer1->WhiteReference = 10;


Digitizer.Saturation Property

Saturation property

See Also | Availability | MIL Equivalent | ReferenceChannel | ScaleQuality
User Guide:
Reference levels
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox CronosPlus
Fully supported on Matrox Morphis

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Corona-II
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Orion
MdigReference(
Referencetype =
M_SATURATION_REF
)
Digitizer
Saturation
Synopsis
Returns or sets the saturation level used to digitize composite video input signals.
[]
Syntax
object.Saturation [= Integer]
[]
Syntax
object->Saturation [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the saturation level used to digitize composite video input signals.

Alternatively, this value can be set to a DigReferenceLevelConstants expression.
Value | Meaning
digMaxLevel | Sets the value to the maximum level.
digMinLevel | Sets the value to the minimum level.
Remarks
  • Some digitizers might take a few msecs before the reference level stabilizes.
  • Some consecutive levels might have the same effect, depending on the physical number of levels that can be set on your board.
  • This property is supported when grabbing color data (not monochrome data).
Remark for Matrox Orion
  • This property is only supported when grabbing with the decoder section of Matrox Orion.


Digitizer.ScaleQuality Property

ScaleQuality property

Availability | MIL Equivalent | Saturation | ScaleX
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Orion

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox CronosPlus
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Morphis
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MdigControl(
ControlType =
M_GRAB_SCALE_QUALITY
)

MdigInquire(
InquireType =
M_GRAB_SCALE_QUALITY
)
Digitizer
ScaleQuality
Synopsis
Returns or sets whether scaling is performed on field or frame basis.
[]
Syntax
object.ScaleQuality [= DigScaleQualityConstants]
[]
Syntax
object->ScaleQuality [= enum DigScaleQualityConstants]
Type description
A DigScaleQualityConstants expression that specifies whether scaling is performed on a field or frame basis. (default is digQualityLow)
Value | Meaning
digQualityLow | Scales each field separately before being composed into a single scaled frame.
digQualityHigh | Scales an entire frame.
Remarks
  • Scaling fields can cause some vertical scaling artifacts, but produces minimal grab latency.
  • Scaling frames yields high-quality scaling, but doubles grab latency.
  • When this property is set to digQualityHigh, an entire frame is grabbed in on-board memory before it is scaled.


Digitizer.ScaleX Property

ScaleX property

See Also | Availability | MIL Equivalent | ScaleQuality | ScaleY
User Guide:
Scaling grabbed data

Reference:
Digitizer.Grab
Digitizer.GrabContinuous
Digitizer.InterpolationMode
Digitizer.ScaleY
Available in ActiveMIL-Lite

Available in ActiveMIL

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Orion
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MdigControl(
ControlType =
M_GRAB_SCALE or
M_GRAB_SCALE_X
)

MdigInquire(
InquireType =
M_GRAB_SCALE or
M_GRAB_SCALE_X
)
Digitizer
ScaleX
Synopsis
Returns or sets the horizontal scaling factor when grabbing data.
[]
Syntax
object.ScaleX [= Double]
[]
Syntax
object->ScaleX [= double]
Type description
A double value that specifies the horizontal scaling factor.
Value | Meaning
digFillDestination | Calculates and sets the scaling factor to fill the destination image. The best scaling factor supported will be used.
Value = 1 | Applies no scaling.
Value = 1/n | Reduces the image size. Remember that to reduce the image size, the specified value must always be less than 1. For a complete list of the values of n, refer to the remarks below.
Value > 1 | Increases the image size in the horizontal direction.
Remark
  • Data is grabbed using the Grab, GrabContinuous or Digitizer.MultipleBuffering.Process method.
Remarks for Matrox Corona-II
  • The supported scaling factors are: 1, 1/2, 1/3, ..., 1/16.
  • When grabbing into a YUV image, only the following scaling factors are supported: 1 and 0.5.
Remark for Matrox CronosPlus
  • The supported scaling factors are: 1, 1/2, 1/3, ..., 1/64 since the board supports arbritrary scaling.
Remark for Matrox Genesis
  • The supported scaling factors are: 4, 2, 1, 1/2, 1/3, ..., 1/16.
Remark for Matrox Helios XA
  • The supported scaling factors are: 1, 1/2, 1/3, ..., 1/16.
Remark for Matrox Helios XCL
  • The supported scaling factors are: 1, 1/2, 1/3, ..., 1/16.
Remark for Matrox Meteor-II /1394
  • All scaling factors greater than 0 are supported.
Remark for Matrox Meteor-II /Camera Link
  • The supported scaling factors are: 1, 1/2, 1/3, ..., 1/16.
Remark for Matrox Meteor-II /Digital
  • The supported scaling factors are: 1, 1/2, 1/3, ..., 1/16.
Remark for Matrox Meteor-II /Multi-Channel
  • The supported scaling factors are: 1, 1/2, 1/3, ..., 1/16.
Remark for Matrox Meteor-II /Standard
  • The supported scaling factors are: 1, 1/2, 1/3, ..., 1/16.
Remark for Matrox Morphis
  • The supported scaling factors are: 1, 1/2, 1/3, ..., 1/16.
Remark for Matrox Odyssey XA
  • The supported scaling factors are: 1, 1/2, 1/3, ..., 1/16.
Remark for Matrox Odyssey XCL
  • The supported scaling factors are: 1, 1/2, 1/3, ..., 1/16.
Remark for Matrox Odyssey XD
  • The supported scaling factors are: 1, 1/2, 1/3, ..., 1/16.
Remarks for Matrox Orion
  • The supported scaling factors are 0 < x < 255, since Matrox Orion supports arbitrary scaling. Passing a value between 0 and 1 will reduce the image size, while passing a value greater than 1 will zoom the image. A bilinear filter is always applied when the scaling value is not 1 or 0.5.
  • When the scaling factor is set to 1 or 0.5, a nearest-neighbor interpolation is applied by default. Use the InterpolationMode property to specify different interpolation mode.
  • When the scaling factor is not set to 1 or 0.5, a bilinear interpolation filter is applied by default. Use the InputFilter property to specify a different filter.
Remark for Matrox Solios XA
  • The supported scaling factors are: 1, 1/2, 1/3, ..., 1/16.
Remark for Matrox Solios XCL
  • The supported scaling factors are: 1, 1/2, 1/3, ..., 1/16.
[]
Example
This example shows how to use the ScaleX property.

m_Image1->SizeX = static_cast<long>(m_Digitizer1->SizeX * m_Digitizer1->ScaleX);
m_Image1->SizeY = static_cast<long>(m_Digitizer1->SizeY * m_Digitizer1->ScaleY);


Digitizer.ScaleY Property

ScaleY property

See Also | Availability | MIL Equivalent | ScaleX | ScanMode
User Guide:
Scaling grabbed data

Reference:
Digitizer.Grab
Digitizer.GrabContinuous
Digitizer.InterpolationMode
Digitizer.ScaleX
Available in ActiveMIL-Lite

Available in ActiveMIL

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Orion
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MdigControl(
ControlType =
M_GRAB_SCALE or
M_GRAB_SCALE_Y
)

MdigInquire(
InquireType =
M_GRAB_SCALE or
M_GRAB_SCALE_Y
)
Digitizer
ScaleY
Synopsis
Returns or sets the vertical scaling factor when grabbing data.
[]
Syntax
object.ScaleY [= Double]
[]
Syntax
object->ScaleY [= double]
Type description
A double value that specifies the vertical scaling factor. A value less than 1 subsamples in the vertical direction.
Value | Meaning
digFillDestination | Calculates ans sets the scaling factor to fill the destination image. The best scaling factor supported will be used.
Value = 1 | Applies no scaling.
Value = 1/n | Reduces the image size. Remember that to reduce the image size, the specified value must always be less than 1. For a complete list of the values of n, refer to the remarks below.
Value > 1 | Increase the image size in the vertical direction.
Remark
  • Data is grabbed using the Grab, GrabContinuous or Digitizer.MultipleBuffering.Process method.
Remark for Matrox Corona-II
  • The supported scaling factors are: 1, 1/2, 1/3, ..., 1/16.
Remark for Matrox CronosPlus
  • The supported scaling factors are: 1, 1/2, 1/3, ..., 1/64 since the board supports arbritrary scaling.
Remark for Matrox Genesis
  • The supported scaling factors are: 4, 2, 1, 1/2, 1/3, ..., 1/16.
Remark for Matrox Helios XA
  • The supported scaling factors are: 1, 1/2, 1/3, ..., 1/16.
Remark for Matrox Helios XCL
  • The supported scaling factors are: 1, 1/2, 1/3, ..., 1/16.
Remark for Matrox Meteor-II /1394
  • All scaling factors greater than 0 are supported.
Remark for Matrox Meteor-II /Camera Link
  • The supported scaling factors are: 1, 1/2, 1/3, ..., 1/16.
Remark for Matrox Meteor-II /Digital
  • The supported scaling factors are: 1, 1/2, 1/3, ..., 1/16.
Remark for Matrox Meteor-II /Multi-Channel
  • The supported scaling factors are: 1, 1/2, 1/3, ..., 1/16.
Remark for Matrox Meteor-II /Standard
  • The supported scaling factors are: 1, 1/2, 1/3, ..., 1/16.
Remark for Matrox Morphis
  • The supported scaling factors are: 1, 1/2, 1/3, ..., 1/16.
Remark for Matrox Odyssey XA
  • The supported scaling factors are: 1, 1/2, 1/3, ..., 1/16.
Remark for Matrox Odyssey XCL
  • The supported scaling factors are: 1, 1/2, 1/3, ..., 1/16.
Remark for Matrox Odyssey XD
  • The supported scaling factors are: 1, 1/2, 1/3, ..., 1/16.
Remarks for Matrox Orion
  • The supported scaling factors are 0 < x < 255, since Matrox Orion supports arbitrary scaling. Passing a value between 0 and 1 will reduce the image size, while passing a value greater than 1 will zoom the image. A bilinear filter is always applied when the scaling value is not 1 or 0.5.
  • When the scaling factor is set to 1 or 1/2, a nearest-neighbor interpolation is applied by default. Use the InterpolationMode property to specify different interpolation mode.
  • When the scaling factor is not set to 1 or 1/2, a bilinear interpolation filter is applied by default. When the scaling value is 1 or 1/2, a nearest-neighbor interpolation filter is applied by default. Use the InputFilter property to specify a different filter.
Remark for Matrox Solios XA
  • The supported scaling factors are: 1, 1/2, 1/3, ..., 1/16.
Remark for Matrox Solios XCL
  • The supported scaling factors are: 1, 1/2, 1/3, ..., 1/16.
[]
Example
This example shows how to use the ScaleY property.

m_Image1->SizeX = static_cast<long>(m_Digitizer1->SizeX * m_Digitizer1->ScaleX);
m_Image1->SizeY = static_cast<long>(m_Digitizer1->SizeY * m_Digitizer1->ScaleY);


Digitizer.ScanMode Property

ScanMode property

See Also | Availability | MIL Equivalent | ScaleY | SerialPortDataEvent
User Guide:
Scaling grabbed data
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigInquire(
InquireType =
M_SCAN_MODE
)
Digitizer
ScanMode
Synopsis
Returns the scan mode of the digitizer.
[]
Syntax
[DigScanModeConstants =] object.ScanMode
[]
Syntax
[enum DigScanModeConstants =] object->ScanMode
Type description
A DigScanModeConstants expression that specifies the scan mode of the digitizer..
Value | Meaning
digProgressive | A linear (progressive) scan of each frame.
digInterlace | An interleaved scan of each frame.
digLinescan | A scan of a line.


Digitizer.SerialPort Property

SerialPort property

See Also | Availability | MIL Equivalent | SerialPortDataEvent | SignalChannel
Reference:
Digitizer.SerialPortData
Digitizer.SerialPortDataEvent
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox CronosPlus
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Morphis
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MdigControl(
ControlType =
M_UART_DATA_LENGTH or
M_UART_OUTPUT or
M_UART_PARITY or
M_UART_READ_STRING or
M_UART_SPEED or
M_UART_STOP_BITS or
M_UART_STRING_DELIMITER or
M_UART_TIMEOUT or
M_UART_WRITE_STRING
)

MdigInquire(
InquireType =
M_UART_STRING_DELIMITER or
M_UART_DATA_LENGTH or
M_UART_DATA_PENDING or
M_UART_OUTPUT or
M_UART_PARITY or
M_UART_SPEED or
M_UART_STOP_BITS or
M_UART_TIMEOUT
)
Digitizer
SerialPort
Properties: Channel, DataLength, DataPending, Parity, Speed, StopBits, StringDelimiter, Timeout

Methods: ReadString, WriteString
Synopsis
Allows you to specify or determine the digitizer's serial port properties.
[]
Syntax
[SerialPort =] object.SerialPort
[]
Syntax
[ISerialPortPtr =] object->SerialPort
Type description
A SerialPort object.
Remarks
  • You cannot assign another SerialPort object to this property.
  • This property is only supported on systems that have a UART.


Digitizer.SerialPort.Channel Property

Channel property

Availability | MIL Equivalent | DataLength
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Corona-II
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Orion
Not supported on Matrox CronosPlus
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Morphis
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MdigControl(
ControlType =
M_UART_* +
(M_CH0 or
M_CH1)
)

MdigInquire(
InquireType =
M_UART_* +
(M_CH0 or
M_CH1)
)
Digitizer
SerialPort
Channel
Synopsis
Returns or sets the serial port to be used.
[]
Syntax
object.Channel [= DigChannelConstants]
[]
Syntax
object->Channel [= enum DigChannelConstants]
Type description
A DigChannelConstants expression that specifies to which of the two available SerialPorts, the SerialPort properties will be applied.
Value | Meaning
digCh0 | Channel 0
digCh1 | Channel 1
Remark
  • This property is only available at run-time.


Digitizer.SerialPort.DataLength Property

DataLength property

See Also | Availability | MIL Equivalent | Channel | DataPending
Reference:
Digitizer.SerialPort
Digitizer.SerialPort.StringDelimiter
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /1394
Not supported on Matrox CronosPlus
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Morphis
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MdigControl(
ControlType =
M_UART_DATA_LENGTH
)

MdigInquire(
InquireType =
M_UART_DATA_LENGTH
)
Digitizer
SerialPort
DataLength
Synopsis
Returns or sets the data length of the serial port.
[]
Syntax
object.DataLength [= Integer]
[]
Syntax
object->DataLength [= long]
Type description
A long value that specifies the number of data bits per character sent or received on the serial port. Valid values are 7 or 8.


Digitizer.SerialPort.DataPending Property

DataPending property

Availability | MIL Equivalent | DataLength | Parity
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /1394
Not supported on Matrox CronosPlus
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Morphis
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MdigInquire(
InquireType =
M_UART_DATA_PENDING
)
Digitizer
SerialPort
DataPending
Synopsis
Returns whether there is pending data in the input buffer of the serial port.
[]
Syntax
[Boolean =] object.DataPending
[]
Syntax
[VARIANT_BOOL =] object->DataPending
Type description
A boolean expression that specifies whether there is pending data in the input buffer of the serial port.
Value | Meaning
True | Serial port's input buffer has pending data.
False | Serial port's input buffer is empty.


Digitizer.SerialPort.Parity Property

Parity property

Availability | MIL Equivalent | DataPending | Speed
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /1394
Not supported on Matrox CronosPlus
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Morphis
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MdigControl(
ControlType =
M_UART_PARITY
)

MdigInquire(
InquireType =
M_UART_PARITY
)
Digitizer
SerialPort
Parity
Synopsis
Returns or sets the parity of the serial port.
[]
Syntax
object.Parity [= DigParityConstants]
[]
Syntax
object->Parity [= enum DigParityConstants]
Type description
A DigParityConstants expression that specifies the parity of the serial port.
Value | Meaning
digOddParity | The number of 1's will be odd.
digEvenParity | The number of 1's will be even.
digNoParity | The serial port has no parity.
Remark
  • Parity is a way to describe the extra data bits that are sent as a form of error detection. When setting the parity to digOddParity, the extra bit added will be a 0 or 1 in order to have an odd number of 1's in the data bits per character. When setting the parity to digEvenParity, the extra bit added will be a 0 or 1 in order to have an even number of 1's in the data bits per character. When setting the parity to digNoParity, no extra data bit is added.


Digitizer.SerialPort.Speed Property

Speed property

Availability | MIL Equivalent | Parity | StopBits
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /1394
Not supported on Matrox CronosPlus
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Morphis
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MdigControl(
ControlType =
M_UART_SPEED
)

MdigInquire(
InquireType =
M_UART_SPEED
)
Digitizer
SerialPort
Speed
Synopsis
Returns and sets the speed of the serial port.
[]
Syntax
object.Speed [= Integer]
[]
Syntax
object->Speed [= long]
Type description
A long value that specifies the object's speed. Valid values are: 230400, 115200, 76800, 57600, 38400, 28800, 19200, 14400, 9600, 7200, 4800, 3600, 2400, 1800, 1200, 600. (default is 14400)


Digitizer.SerialPort.StopBits Property

StopBits property

Availability | MIL Equivalent | Speed | StringDelimiter
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /1394
Not supported on Matrox CronosPlus
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Morphis
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MdigControl(
ControlType =
M_UART_STOP_BITS
)

MdigInquire(
ControlType =
M_UART_STOP_BITS
)
Digitizer
SerialPort
StopBits
Synopsis
Returns and sets the number of stop bits on the serial port.
[]
Syntax
object.StopBits [= Integer]
[]
Syntax
object->StopBits [= long]
Type description
A long value that specifies the number of stop bits. Valid values are 1 or 2. (default is 1)
Remark
  • A stop bit is an extra data bit that signals the end of character data being sent or received.


Digitizer.SerialPort.StringDelimiter Property

StringDelimiter property

See Also | Availability | MIL Equivalent | StopBits | Timeout
Reference:
Digitizer.SerialPort
Digitizer.SerialPort.DataLength
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /1394
Not supported on Matrox CronosPlus
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Morphis
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MdigControl(
ControlType =
M_UART_STRING_DELIMITER
)

MdigInquire(
InquireType =
M_UART_STRING_DELIMITER
)
Digitizer
SerialPort
StringDelimiter
Synopsis
Returns or sets the character used to terminate strings of incoming or outgoing data from the serial port.
[]
Syntax
object.StringDelimiter [= Byte]
[]
Syntax
object->StringDelimiter [= unsigned char]
Type description
A unsigned charbyteunsigned char (byte for Visual Basic .Net) expression that specifies the character used to terminate the strings of incoming or outgoing data.
Remarks
  • []
     The default is the '\0' character.
  • []
     The default is 0. Note that 0 is the ASCII code of the '\0' character.
  • []
     Set this property to the ASCII code of the required character.
  • The delimiter is not sent when writing data; it is read for incoming data.


Digitizer.SerialPort.Timeout Property

Timeout property

Availability | MIL Equivalent | StringDelimiter | ReadString
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /1394
Not supported on Matrox CronosPlus
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Morphis
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MdigControl(
ControlType =
M_UART_TIMEOUT
)

MdigInquire(
InquireType =
M_UART_TIMEOUT
)
Digitizer
SerialPort
Timeout
Synopsis
Returns or sets the maximum time to wait between bytes when reading incoming data from the input buffer of the serial port.
[]
Syntax
object.Timeout [= Integer]
[]
Syntax
object->Timeout [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value or a DigMiscConstants expression that specifies the maximum time to wait between incoming bytes. (default is digInfinite)
Value | Meaning
digInfinite | The serial port will wait infinitely between incoming bytes of data.
value | Maximum time in msec.
Remark
  • If this property is set to -1, the result is the same as selecting digInfinite.


Digitizer.SerialPort.ReadString Method

ReadString method

See Also | Availability | MIL Equivalent | Timeout | WriteString
Reference:
Digitizer.SerialPort.StringDelimiter
Digitizer.SerialPort.WriteString
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /1394
Not supported on Matrox CronosPlus
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Morphis
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MdigControl(
ControlType =
M_UART_READ_STRING +
M_UART_READ_STRING_MAXIMUM_LENGTH +
M_UART_READ_STRING_LENGTH
)
Digitizer
SerialPort
ReadString
Synopsis
Reads a string of data from the input buffer of the serial port.
[]
Syntax
[String =] object.ReadString(
ByVal NumberOfCharacters As Integer
)
[]
Syntax
[_bstr_t =] object->ReadString(
long NumberOfCharacters
)
NumberOfCharacters (optional in , default is 0)
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of characters to read from the input buffer of the serial port.
Return value
Returns the string of data read from the serial port.
Remarks
  • The character specified by the StringDelimiter property is read.
  • If the number of characters is set to 0, the string delimiter will be the character specified by the StringDelimiter property.
  • You can only read a maximum of 4096 characters at a time.
[]
Example
Show how to read a string from the UART of the board.

DCB dcb;                // Windows com port configuration struct
HANDLE hCom;            // Windows com port handle
char *TestString;
char *ReadBuffer;
unsigned long SendSize;
unsigned long ReadSize;
unsigned long SentSize;
unsigned long i;
long volatile DoSomething=0;

TestString = "This is a test string";
SendSize = strlen( TestString );

ReadBuffer = (char*)malloc ( SendSize + 1 );
for ( i=0; i<=SendSize ; i++ )
   ReadBuffer[i] = '\0';

// Changing uart configuration on Matrox Board.
m_Digitizer1->SerialPort->Parity = digNoParity;
m_Digitizer1->SerialPort->Speed = 9600;
m_Digitizer1->SerialPort->DataLength = 8;
m_Digitizer1->SerialPort->StopBits = 1;

// Openning windows com port handle.
hCom = CreateFile ("COM1" ,
                   GENERIC_READ | GENERIC_WRITE,
                   0, NULL,
                   OPEN_EXISTING,
                   0, NULL);

if (hCom == INVALID_HANDLE_VALUE)
   {
   AfxMessageBox("Unable to open com port\n");

   if (m_System1->IsAllocated)
      m_System1->Free();

   return Returned;
   }

if (!GetCommState (hCom, &dcb))
   {
   AfxMessageBox("Unable to get com port state\n");

   if (m_System1->IsAllocated)
      m_System1->Free();

   return Returned;
   }

/* Changing windows com port configuration. */
dcb.BaudRate = 9600;
dcb.ByteSize = 8;
dcb.StopBits = ONESTOPBIT;
dcb.Parity = NOPARITY;
dcb.fRtsControl = RTS_CONTROL_HANDSHAKE;

if (!SetCommState(hCom, &dcb))
   {
   AfxMessageBox(" Unable to set com port to desired configuration\n");

   if (m_System1->IsAllocated)
      m_System1->Free();

   return Returned;
   }
   /* Writing data trough the windows com port. */
   if (!WriteFile( hCom, TestString, SendSize, &SentSize, NULL))
      {
      AfxMessageBox(" Unable to write data trough com port\n");

      if (m_System1->IsAllocated)
         m_System1->Free();

      return Returned;
      }

   // setting the read timeout between each characters to 10 seconds.
   m_Digitizer1->SerialPort->Timeout = 10000;
   m_Digitizer1->SerialPort->StringDelimiter = "\0";
   if (m_Digitizer1->SerialPort->DataPending == VARIANT_TRUE)
      {
      _bstr_t strRead = m_Digitizer1->SerialPort->ReadString(0);
      CString strReadString = static_cast<LPCTSTR>(strRead);

      // Show the string that has been read.
      AfxMessageBox(strReadString);
      }


Digitizer.SerialPort.WriteString Method

WriteString method

See Also | Availability | MIL Equivalent | ReadString
Reference:
Digitizer.SerialPort.ReadString
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /1394
Not supported on Matrox CronosPlus
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Morphis
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MdigControl(
ControlType =
M_UART_WRITE_STRING
)
Digitizer
SerialPort
WriteString
Synopsis
Writes a string of data to the output buffer of the serial port.
[]
Syntax
object.WriteString(
ByVal OutputString As String
)
[]
Syntax
void object->WriteString(
_bstr_t OutputString
)
OutputString
A string expression that specifies the string to write to the output buffer of the serial port.
Remark
  • The number of characters to write will be determined by the StringDelimiter property. The character of the string delimiter will not be sent.
[]
Example
Show how to write a string to the UART of the board.

DCB dcb;                // Windows com port configuration struct
HANDLE hCom;            // Windows com port handle
char *TestString;
char *ReadBuffer;
unsigned long SendSize;
unsigned long ReadSize;
unsigned long SentSize;
unsigned long i;
long volatile DoSomething=0;

TestString = "This is a test string";
SendSize = strlen( TestString );

ReadBuffer = (char*)malloc ( SendSize + 1 );
for ( i=0; i<=SendSize ; i++ )
   ReadBuffer[i] = '\0';

// Changing uart configuration on Matrox Board.
m_Digitizer1->SerialPort->Parity = digNoParity;
m_Digitizer1->SerialPort->Speed = 9600;
m_Digitizer1->SerialPort->DataLength = 8;
m_Digitizer1->SerialPort->StopBits = 1;

// Openning windows com port handle.
hCom = CreateFile ("COM1" ,
                   GENERIC_READ | GENERIC_WRITE,
                   0, NULL,
                   OPEN_EXISTING,
                   0, NULL);

if (hCom == INVALID_HANDLE_VALUE)
   {
   AfxMessageBox("Unable to open com port\n");

   if (m_System1->IsAllocated)
      m_System1->Free();

   return Returned;
   }

if (!GetCommState (hCom, &dcb))
   {
   AfxMessageBox("Unable to get com port state\n");

   if (m_System1->IsAllocated)
      m_System1->Free();

   return Returned;
   }

/* Changing windows com port configuration. */
dcb.BaudRate = 9600;
dcb.ByteSize = 8;
dcb.StopBits = ONESTOPBIT;
dcb.Parity = NOPARITY;
dcb.fRtsControl = RTS_CONTROL_HANDSHAKE;

if (!SetCommState(hCom, &dcb))
   {
   AfxMessageBox(" Unable to set com port to desired configuration\n");

   if (m_System1->IsAllocated)
      m_System1->Free();

   return Returned;
   }

// Test to send data from the Matrox Uart.
m_Digitizer1->SerialPort->StringDelimiter = "\0";
m_Digitizer1->SerialPort->Timeout = 1000;
m_Digitizer1->SerialPort->WriteString(TestString);

// Reading string trough the windows com port.
if (!ReadFile(hCom, ReadBuffer, SendSize, &ReadSize, NULL))
   {
   AfxMessageBox("Unable to read data trough com port\n");

   if (m_System1->IsAllocated)
      m_System1->Free();

   return Returned;
   }


Digitizer.SerialPortDataEvent Property

SerialPortDataEvent property

See Also | Availability | MIL Equivalent | ScanMode | SerialPort
Reference:
Digitizer.SerialPort
Digitizer.SerialPortData
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /1394
Not supported on Matrox CronosPlus
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Morphis
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
No MIL equivalent
Digitizer
SerialPortDataEvent
Synopsis
Returns or sets whether the SerialPortData event is enabled.
[]
Syntax
object.SerialPortDataEvent [= Boolean]
[]
Syntax
object->SerialPortDataEvent [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the SerialPortData event will be fired.
Value | Meaning
True | SerialPortData event will be fired when data is received on the serial port.
False | SerialPortData event will not be fired when data is received on the serial port.


Digitizer.SignalChannel Property

SignalChannel property

See Also | Availability | MIL Equivalent | SerialPort | SizeX
Reference:
Digitizer.Channel
Digitizer.SyncChannel
Available in ActiveMIL-Lite

Available in ActiveMIL

See remarks for support on:
See remarks for support on Matrox Corona-II
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Genesis
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Orion
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MdigChannel(
Channel =
channel +
M_SIGNAL
)
Digitizer
SignalChannel
Synopsis
Returns or sets the active input data signal channel of a digitizer.
[]
Syntax
object.SignalChannel [= ChannelConstants]
[]
Syntax
object->SignalChannel [= enum ChannelConstants]
Type description
A DigChannelConstants expression or an ActiveMILDefaultConstant expression that specifies the channel on which the digitizer is to receive the input data signal.
Value | Meaning
amilDefault | The default channel for the specified DCF or digCh0.
digCh0 | Channel 0.
digCh1 | Channel 1.
digCh2 | Channel 2.
digCh3 | Channel 3.
digCh4 | Channel 4.
digCh5 | Channel 5.
digCh6 | Channel 6.
digCh7 | Channel 7.
digCh8 | Channel 8.
digCh9 | Channel 9.
digCh10 | Channel 10.
digCh11 | Channel 11.
digCh12 | Channel 12.
digCh13 | Channel 13.
digCh14 | Channel 14.
digCh15 | Channel 15.
digCh16 | Channel 16.
digCh17 | Channel 17.
digCh18 | Channel 18.
digCh19 | Channel 19.
digCh20 | Channel 20.
digCh21 | Channel 21.
digCh22 | Channel 22.
digCh23 | Channel 23.
digRGB | Same as digCh0 except that synchronization is set on digCh3.
Remark
  • The available settings depend on the number of channels supported by the digitizer's data format. If the digitizer does not have the specified channel, an error is generated and the last selected channel remains effective.
Remarks for Matrox Corona-II
  • To set the synchronization channel independently, use the SyncChannel property.
  • To set the signal and synchronization channels jointly, use the Channel property.
  • digChRGB is available only if grabbing from an RGB source.
  • If you intend to switch channels, enable camera locking before the switch (use the CameraLockEnabled property). Locking the camera during channel-switching is useful when the digitizer might not be synchronized with the source. When performing a channel-switch, the hardware needs to be unlocked from the current camera and locked to the new camera. If the hardware is not locked properly, it can affect the speed and reliability of the next unlock. Sets whether the camera is locked during channel-switching.
  • The camera description and the mode, specified in the DCF, determine the channels available for switching:
    Camera Type | Channel | Signal input
    Any | amilDefault | Same as digCh0.
    RGB | digCh0 | VID1_IN1, VID1_IN2, and VID1_IN3
    digCh1 | VID2_IN1, VID2_IN2, and VID2_IN3
    digChRGB | VID1_IN1, VID1_IN2, and VID1_IN3 .and SYNC_IN (synchronization signal)
    Monochrome | digCh0 | VID1_IN1
    digCh1 | VID1_IN2
    digCh2 | VID1_IN3
    digCh4 | VID2_IN1
    digCh5 | VID2_IN2
    digCh6 | VID2_IN3
    Monochrome dual-tap | digCh0 | VID1_IN1, VID1_IN2
    digCh1 | VID2_IN1, VID2_IN2

    Note that the number of channels available is determined by the camera type used. However, digCh3 is not supported.

Remarks for Matrox CronosPlus
  • If you intend to switch channels, enable camera locking before the switch (use the CameraLockEnabled property). Locking the camera during channel-switching is useful when the digitizer might not be synchronized with the source. When performing a channel-switch, the hardware needs to be unlocked from the current camera and locked to the new camera. If the hardware is not locked properly, it can affect the speed and reliability of the next unlock. Sets whether the camera is locked during channel-switching.
  • The camera description and the mode, specified in the DCF, determine the channels available for switching:
    Camera Type | Channel | Signal input
    Monochrome or composite | digCh0 | VID_IN0
    digCh1 | VID_IN1
    digCh2 | VID_IN2
    digCh3 | VID_IN3

    Note that only digCh0 through digCh3 are supported.

Remarks for Matrox Genesis
  • To set the synchronization channel independently, use the SyncChannel property.
  • To set the signal and synchronization channels jointly, use the Channel property.
  • The camera description and the mode, specified in the DCF, determine the channels available for switching:
    Camera Type | Channel | Signal input
    Monochrome | digCh0 | Analog video input 1
    digCh1 | Analog video input 2
    digCh2 | Analog video input 3
    digCh3 | Analog video input 4
    digRGB
    8-bit monochrome digital input | digCh0 | DATA,INPUT 0-7
    digCh1 | DATA,INPUT 8-15
    digCh2 | DATA, INPUT 16-23
    digCh3 | DATA, INPUT 24-31
    digRGB
    16-bit or 8-bit dual-tap monochrome digital input | digCh0 | DATA, INPUT 0-15
    digCh1 | DATA, INPUT 16-31

    Note that the number of channels available is determined by the camera type used.

Remarks for Matrox Helios XA
  • To set the synchronization channel independently, use the SyncChannel property.
  • To set the signal and synchronization channels jointly, use the Channel property.
  • If you intend to switch channels, enable camera locking before the switch (use the CameraLockEnabled property). Locking the camera during channel-switching is useful when the digitizer might not be synchronized with the source. When performing a channel-switch, the hardware needs to be unlocked from the current camera and locked to the new camera. If the hardware is not locked properly, it can affect the speed and reliability of the next unlock. Sets whether the camera is locked during channel-switching.
  • The camera description and the mode, specified in the DCF, determine the channels available for switching::
    Channel | Signal input
    digCh0 | P0_VID_IN_ n, where n is either A or B.
    digCh1 | P1_VID_IN_ n, where n is either A or B.

    Note that only digCh0 and digCh1 are supported.

  • The active input data signal must be received on a signal whose name ends with the same letter as the data signal or the specified digitizer must not be able to receive data on this signal.
Remark for Matrox Helios XCL
  • Only digCh0 and amilDefault are available. No channel switching is supported.
Remark for Matrox Meteor-II /1394
  • The camera description and the mode, specified in the DCF, determine the channels available for switching:
    Camera Type | Channel | Signal input
    Any | amilDefault | Same as digCh0
    Y/C | digCh0 | VID_IN1 (Y camera 1) and VID_IN2 (C camera 1)
    Monochrome | digCh0 | VID_IN1 and 1394 INPUT

    Note that only digCh0 is supported.

Remarks for Matrox Meteor-II /Camera Link
  • To set the signal and synchronization channels jointly, use the Channel property.
  • The camera description and the mode, specified in the DCF, determine the channels available for switching:
    Camera Type | Channel | Signal input
    Any | amilDefault | Same as digCh0.
    Base mode connection | digCh0 | Connector 1
    digCh1 | Connector 1

    Note that only digCh0 and digCh1 are supported.

    For information on the camera description, see the Cameras that can be connected to Matrox Meteor-II section in Chapter 5: Matrox Meteor-II of the Board Specific notes.

Remark for Matrox Meteor-II /Digital
  • The camera description and the mode, specified in the DCF, determine the channels available for switching:
    Camera Type | Channel | Signal input
    Any | amilDefault | Same as digCh0.
    8-bit monochrome | digCh0 | DATA,INPUT 0-7
    digCh1 | DATA,INPUT 8-15
    digCh2 | DATA, INPUT 16-23
    digCh3 | DATA, INPUT 24-31
    16-bit or 8-bit dual-tap monochrome | digCh0 | DATA, INPUT 0-15
    digCh1 | DATA, INPUT 16-31

    Note that the number of channels available is determined by the camera type used.

Remarks for Matrox Meteor-II /Multi-Channel
  • To set the synchronization channel independently, use the SyncChannel property.
  • To set the signal and synchronization channels jointly, use the Channel property.
  • digChRGB is available only if grabbing from an RGB source.
  • If you intend to switch channels, enable camera locking before the switch (use the CameraLockEnabled property). Locking the camera during channel-switching is useful when the digitizer might not be synchronized with the source. When performing a channel-switch, the hardware needs to be unlocked from the current camera and locked to the new camera. If the hardware is not locked properly, it can affect the speed and reliability of the next unlock. Sets whether the camera is locked during channel-switching.
  • The camera description and the mode, specified in the DCF, determine the channels available for switching:
    Camera Type | Channel | Signal input
    Any | amilDefault | Same as digCh0.
    RGB | digCh0 | VID1_IN1, VID1_IN2, and VID1_IN3
    digCh1 | VID2_IN1, VID2_IN2, and VID2_IN3
    digRGB | VID1_IN1, VID1_IN2, and VID1_IN3
    Monochrome¹ | digCh0 | VID1_IN1
    digCh1 | VID1_IN2
    digCh2 | VID1_IN3
    digCh3
    digCh4 | VID2_IN1
    digCh5 | VID2_IN2
    digCh6 | VID2_IN3
    digCh7
    Monochrome dual-tap | digCh0 | VID1_IN1 and VID1_IN2
    digCh1 | VID2_IN1 and VID2_IN2

    Note that the number of channels available is determined by the camera type used.

    ¹ digCh3 and digCh7 are not supported for data with a monochrome camera.

Remarks for Matrox Meteor-II /Standard
  • If you intend to switch channels, enable camera locking before the switch (use the CameraLockEnabled property). Locking the camera during channel-switching is useful when the digitizer might not be synchronized with the source. When performing a channel-switch, the hardware needs to be unlocked from the current camera and locked to the new camera. If the hardware is not locked properly, it can affect the speed and reliability of the next unlock. Sets whether the camera is locked during channel-switching.
  • The camera description and the mode, specified in the DCF, determine the channels available for switching:
    Camera Type | Channel | Signal input
    Any | amilDefault | Same as digCh0
    Y/C | digCh0 | VID_IN1 (Y camera 1) and VID_IN2 (C camera 1)
    digCh1 | VID_IN3 (Y camera 2) and VID_IN4 (C camera 2)
    digCh2 | VID_IN6 (Y camera 3) and VID_IN7 (C camera 4)
    digCh3 | VID_IN8 (Y camera 4) and VID_IN5 (C camera 4)
    digCh4 | VID_IN9 (Y camera 5) and VID_IN10 (C camera 5)
    digCh5 | VID_IN11 (Y camera 6) and VID_IN12 (C camera 6)
    Composite¹ or monochrome | digCh0 | VID_IN1
    digCh1 | VID_IN2
    digCh2 | VID_IN3
    digCh3 | VID_IN4
    digCh4 | VID_IN5
    digCh5 | VID_IN6
    digCh6 | VID_IN7
    digCh7 | VID_IN8
    digCh8 | VID_IN9
    digCh9 | VID_IN10
    digCh10 | VID_IN11
    digCh11 | VID_IN12

    ¹ Composite cameras refer to the Matrox Meteor-II /Standard only.

    Matrox Meteor-II /Standard for CompactPCI supports up to 7 monochrome cameras only.

    Note that the number of channels available is determined by the camera type used.

Remarks for Matrox Morphis
  • If you intend to switch channels, enable camera locking before the switch (use the CameraLockEnabled property). Locking the camera during channel-switching is useful when the digitizer might not be synchronized with the source. When performing a channel-switch, the hardware needs to be unlocked from the current camera and locked to the new camera. If the hardware is not locked properly, it can affect the speed and reliability of the next unlock. Sets whether the camera is locked during channel-switching.
  • The camera description and the mode, specified in the DCF, determine the channels available for switching:
    Camera Type | Channel | Signal input
    Any | amilDefault | Same as digCh0.
    Monochrome | digCh0 | VID_IN0
    digCh1 | VID_IN1
    digCh2 | VID_IN2
    digCh3 | VID_IN3
    digCh4 | VID_IN4
    digCh5 | VID_IN5
    digCh6 | VID_IN6
    digCh7 | VID_IN7
    digCh8 | VID_IN8
    digCh9 | VID_IN9
    digCh10 | VID_IN10
    digCh11 | VID_IN11
    digCh12 | VID_IN12
    digCh13 | VID_IN13
    digCh14 | VID_IN14
    digCh15 | VID_IN15
    Y/C | digCh0 | VID_IN0 (Y of Camera 1) and VID_IN1 (C of Camera 1)
    digCh1 | VID_IN2 (Y of Camera 2) and VID_IN3 (C of Camera 2)
    digCh2 | VID_IN4 (Y of Camera 3) and VID_IN5 (C of Camera 3)
    digCh3 | VID_IN6 (Y of Camera 4) and VID_IN7 (C of Camera 4)
    digCh4 | VID_IN8 (Y of Camera 5) and VID_IN9 (C of Camera 5)
    digCh5 | VID_IN10 (Y of Camera 6) and VID_IN11 (C of Camera 6)
    digCh6 | VID_IN12 (Y of Camera 7) and VID_IN13 (C of Camera 7)
    digCh7 | VID_IN14 (Y of Camera 8) and VID_IN15 (C of Camera 8)

    Note that the number of channels supported depends on the type of cameras used.

  • If you intend to switch channels after grabbing a single field or frame, enable the fast-channel switching mode to minimize loss of time between grabs; enable the digFastCameraLock control type of the Control method Digitizer control.
Remarks for Matrox Odyssey XA
  • To set the synchronization channel independently, use the SyncChannel property.
  • To set the signal and synchronization channels jointly, use the Channel property.
  • If you intend to switch channels, enable camera locking before the switch (use the CameraLockEnabled property). Locking the camera during channel-switching is useful when the digitizer might not be synchronized with the source. When performing a channel-switch, the hardware needs to be unlocked from the current camera and locked to the new camera. If the hardware is not locked properly, it can affect the speed and reliability of the next unlock. Sets whether the camera is locked during channel-switching.
  • The camera description and the mode, specified in the DCF, determine the channels available for switching::
    Channel | Signal input
    digCh0 | P0_VID_IN_ n, where n is either A or B.
    digCh1 | P1_VID_IN_ n, where n is either A or B.

    Note that only digCh0 and digCh1 are supported.

  • The active input data signal must be received on a signal whose name ends with the same letter as the data signal or the specified digitizer must not be able to receive data on this signal.
Remark for Matrox Odyssey XCL
  • Only digCh0 and amilDefault are available. No channel switching is supported.
Remark for Matrox Odyssey XD
  • Only digCh0 and amilDefault are available. No channel switching is supported.
Remarks for Matrox Orion
  • To set the synchronization channel independently, use the SyncChannel property.
  • To set the signal and synchronization channels jointly, use the Channel property.
  • digChRGB is available only if grabbing from an RGB source.
  • If you intend to switch channels, enable camera locking before the switch (use the CameraLockEnabled property). Locking the camera during channel-switching is useful when the digitizer might not be synchronized with the source. When performing a channel-switch, the hardware needs to be unlocked from the current camera and locked to the new camera. If the hardware is not locked properly, it can affect the speed and reliability of the next unlock. Sets whether the camera is locked during channel-switching.
  • The camera description and the mode, specified in the DCF, determine the channels available for switching:
    Camera Type | Channel | Signal input | Orion | Orion / Std for 4Sight-II | Orion /RGB for 4Sight-II | Orion /Dual for 4Sight-II
    Any | amilDefault | Same as digCH0. | Yes | Yes | Yes | Yes
    Monochrome | digCh0 | VID_IN1 | Yes | Yes
    digCh1 | VID_IN2 | Yes | Yes
    digCh2 | VID_IN3 | Yes | Yes
    digCh4 | VID_IN5 | Yes | Yes
    digCh5 | VID_IN6 | Yes | Yes
    digCh6 | VID_IN7 | Yes | Yes
    Color RGB (RGB path) | digCh0 | VID_IN1, VID_IN2 and VID_IN3 | Yes | Yes
    digCh1 | VID_IN5, VID_IN6, and VID_IN7 | Yes | Yes
    digRGB | VID_IN1, VID_IN2, and VID_IN3. SYNCH_IN (synchronization signal). | Yes | Yes
    Composite-monochrome/color (decoder path) | digCh0 | VID_IN1 | Yes | Yes | Yes | Yes
    digCh1 | VID_IN2 | Yes | Yes | Yes | Yes
    digCh2 | VID_IN3 | Yes | Yes | Yes | Yes
    digCh3 | VID_IN4 | Yes | Yes | Yes | Yes
    digCh4 | VID_IN5 | Yes | Yes | Yes | Yes
    digCh5 | VID_IN6 | Yes | Yes | Yes | Yes
    digCh6 | VID_IN7 | Yes | Yes | Yes | Yes
    digCh7 | VID_IN8 | Yes | Yes | Yes | Yes
    digCh8 | VID_IN9 | Yes | Yes | Yes
    digCh9 | VID_IN10 | Yes | Yes | Yes
    digCh10 | VID_IN11 | Yes | Yes | Yes
    digCh11 | VID_IN12 | Yes | Yes | Yes
    digCh12 | VID_IN13 | Yes
    digCh13 | VID_IN14 | Yes
    digCh14 | VID_IN15 | Yes
    digCh15 | VID_IN16 | Yes
    digCh16 | VID_IN17 | Yes
    digCh17 | VID_IN18 | Yes
    digCh18 | VID_IN19 | Yes
    digCh19 | VID_IN20 | Yes
    digCh20 | VID_IN21 | Yes
    digCh21 | VID_IN22 | Yes
    digCh22 | VID_IN23 | Yes
    digCh23 | VID_IN24 | Yes
    Y/C (decoder path) | digCh0 | VID_IN1 (Y of camera 1) and VID_IN2 (C of camera 1) | Yes | Yes | Yes | Yes
    digCh1 | VID_IN3 (Y of camera 2) and VID_IN4 (C of camera 2) | Yes | Yes | Yes | Yes
    digCh2 | VID_IN5 (Y of camera 3) and VID_IN6 (C of camera 3) | Yes | Yes | Yes | Yes
    digCh3 | VID_IN7 (Y of camera 4) and VID_IN8 (C of camera 4) | Yes | Yes | Yes | Yes
    digCh4 | VID_IN9 (Y of camera 5) and VID_IN10 (C of camera 5) | Yes | Yes | Yes
    digCh5 | VID_IN1 (Y of camera 6) and VID_IN12 (C of camera 6) | Yes | Yes | Yes

    ¹ digCh3 and digCh7 are not supported for data with a monochrome camera. Instead, they are used for synchronization.

    Note that the number of channels supported depends on the type of cameras used.

    When using the RGB path on Matrox Orion or Matrox Orion /RGB for 4Sight-II, you can override the default channel specified in the DCF using the SyncChannel property.

    Only digCh0 through digCh7 are supported on Matrox Orion. digCh12 through digCH23 are supported on the Matrox Orion /Dual for 4Sight-II.

  • If you intend to switch channels after grabbing a single field or frame, enable the fast-channel switching mode to minimize loss of time between grabs; enable the digFastCameraLock control type of the Control method Digitizer control.
Remarks for Matrox Solios XA
  • To set the synchronization channel independently, use the SyncChannel property.
  • To set the signal and synchronization channels jointly, use the Channel property.
  • If you intend to switch channels, enable camera locking before the switch (use the CameraLockEnabled property). Locking the camera during channel-switching is useful when the digitizer might not be synchronized with the source. When performing a channel-switch, the hardware needs to be unlocked from the current camera and locked to the new camera. If the hardware is not locked properly, it can affect the speed and reliability of the next unlock. Sets whether the camera is locked during channel-switching.
  • The camera description and the mode, specified in the DCF, determine the channels available for switching::
    Channel | Signal input
    digCh0 | P0_VID_IN_ n, where n is either A or B.
    digCh1 | P1_VID_IN_ n, where n is either A or B.

    Note that only digCh0 and digCh1 are supported.

  • The active input data signal must be received on a signal whose name ends with the same letter as the data signal or the specified digitizer must not be able to receive data on this signal.
Remark for Matrox Solios XCL
  • Only digCh0 and amilDefault are available. No channel switching is supported.


Digitizer.SizeX Property

SizeX property

See Also | Availability | MIL Equivalent | SignalChannel | SizeY
User Guide:
The data format

Reference:
Digitizer.Format
Digitizer.SizeY
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigInquire(
InquireType =
M_SIZE_X
)
Digitizer
SizeX
Synopsis
Returns the digitizer's data width.
[]
Syntax
[Integer =] object.SizeX
[]
Syntax
[long =] object->SizeX
Type description
A long value that specifies the number of pixels in the horizontal direction.
Remark
  • The digitizer's DCF, specified using the Format property, establishes the value of this property. For example, with the RS170 and NTSC standards, the SizeX and SizeY will be 640 and 480, respectively.
[]
Example
This example shows how to get the SizeX of the digitizer.

// Adjust Image1 to the size of the digitizer
m_Image1->SizeX   = m_Digitizer1->SizeX;
m_Image1->SizeY   = m_Digitizer1->SizeY;
m_Image1->CanGrab = TRUE;
m_Image1->Allocate();


Digitizer.SizeY Property

SizeY property

See Also | Availability | MIL Equivalent | SizeX | SyncChannel
User Guide:
The data format

Reference:
Digitizer.Format
Digitizer.SizeX
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigInquire(
InquireType =
M_SIZE_Y
)
Digitizer
SizeY
Synopsis
Returns the digitizer's data height.
[]
Syntax
[Integer =] object.SizeY
[]
Syntax
[long =] object->SizeY
Type description
A long value that specifies the numbers of pixels in the vertical direction.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The digitizer's DCF, specified using the Format property, establishes the value of this property.
[]
Example
This example shows how to get the SizeY of the digitizer.

// Adjust Image1 to the size of the digitizer
m_Image1->SizeX   = m_Digitizer1->SizeX;
m_Image1->SizeY   = m_Digitizer1->SizeY;
m_Image1->CanGrab = TRUE;
m_Image1->Allocate();


Digitizer.SyncChannel Property

SyncChannel property

See Also | Availability | MIL Equivalent | SizeY | SynchronizeOnGrabEnd
Reference:
Digitizer.Channel
Digitizer.SignalChannel
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox CronosPlus
Not supported on Matrox Helios XCL
Not supported on Matrox Morphis
Not supported on Matrox Odyssey XCL
Not supported on Matrox Solios XCL
Not supported on Matrox Odyssey XD

See remarks for support on:
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Genesis
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Orion
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Solios XA
MdigChannel(
Channel =
channel +
M_SYNC
)
Digitizer
SyncChannel
Synopsis
Returns or sets the synchronization channel of the digitizer.
[]
Syntax
object.SyncChannel [= DigChannelConstants]
[]
Syntax
object->SyncChannel [= enum DigChannelConstants]
Type description
A DigChannelConstants expression that specifies the channel on which the digitizer is to receive the synchronization signals.
Value | Meaning
digCh0 | Channel 0.
digCh1 | Channel 1.
digCh2 | Channel 2.
digCh3 | Channel 3.
digCh4 | Channel 4.
digCh5 | Channel 5.
digCh6 | Channel 6.
digCh7 | Channel 7.
Remarks
  • The available settings depend on the number of channels supported with the digitizer's data format.
  • To set the synchronization signal channel, use the SignalChannel property.
  • To set the synchronization signal and data channels jointly, use the Channel property.
Remark for Matrox Corona-II
  • The default channel of the sync signal can be overridden with any of the following:
    Sync input channel | Sync input signal
    digCh0 | VID1_IN1
    digCh1 | VID1_IN2
    digCh2 | VID1_IN3
    digCh3 | SYNC_IN
    digCh4 | VID2_IN1
    digCh5 | VID2_IN2
    digCh6 | VID2_IN3
    digCh7 | SYNC_IN
Remark for Matrox Genesis
  • The default channel of the sync signal can be overridden with any of the following:
    Sync input channel | Sync input signal
    digCh0 | Analog video input 1
    digCh1 | Analog video input 2
    digCh2 | Analog video input 3
    digCh3 | Analog video input 4
Remarks for Matrox Helios XA
  • With the analog module, the default channel of the sync signal can be overridden with any of the following:
    Sync input channel | Sync input signal
    digCh0 | P0_VID_IN_ n, where n is either A or B.
    digCh1 | This corresponds to P1_VID_IN_ n, where n is either A or B.
    digCh2 | This corresponds to P2_VID_IN_ n, where n is either A or B.
    digCh3 | This corresponds to P3_VID_IN_ n, where n is either A or B.
  • The synchronization signal must be received on a signal whose name ends with the same letter as the data signal or the specified digitizer must not be able to receive data on this signal.
Remark for Matrox Meteor-II /Multi-Channel
  • The default channel of the sync signal can be overridden with any of the following:
    Sync input channel | Sync input signal
    digCh0 | VID1_IN1
    digCh1 | VID1_IN2
    digCh2 | VID1_IN3
    digCh3 | SYNC_IN
    digCh4 | VID2_IN1
    digCh5 | VID2_IN2
    digCh6 | VID2_IN3
    digCh7 | SYNC_IN
Remarks for Matrox Odyssey XA
  • With the analog module, the default channel of the sync signal can be overridden with any of the following:
    Sync input channel | Sync input signal
    digCh0 | P0_VID_IN_ n, where n is either A or B.
    digCh1 | This corresponds to P1_VID_IN_ n, where n is either A or B.
    digCh2 | This corresponds to P2_VID_IN_ n, where n is either A or B.
    digCh3 | This corresponds to P3_VID_IN_ n, where n is either A or B.
  • The synchronization signal must be received on a signal whose name ends with the same letter as the data signal or the specified digitizer must not be able to receive data on this signal.
Remark for Matrox Orion
  • When using the RGB path on Matrox Orion or Matrox Orion /RGB for 4Sight-II, the default channel of the sync signal can be overridden with any of the following:
    Camera Type/ Channel | Data channel | Sync channel | Signal
    Monochrome When the data channel is digCh0, digCh1, or digCh2, the sync can be on any of these channels: digCh0 VID_IN1
    digCh1 | VID_IN2
    digCh2 | VID_IN3
    digCh3 | VID_IN4
    When the data channel is digCh4, digCh5, or digCh6, the sync can be on any of these channels: digCh4 VID_IN5
    digCh5 | VID_IN6
    digCh6 | VID_IN7
    digCh7 | VID_IN8
    Color RGB When the SignalChannel property is set to digCh0, the sync can be on any of these channels: digCh0 VID_IN1
    digCh1 | VID_IN2
    digCh2 | VID_IN3
    digCh3 | VID_IN4
    When the SignalChannel property is set to digCh1, the sync can be on any of these channels: digCh4 VID_IN5
    digCh5 | VID_IN6
    digCh6 | VID_IN7
    digCh7 | VID_IN8
Remarks for Matrox Solios XA
  • With the analog module, the default channel of the sync signal can be overridden with any of the following:
    Sync input channel | Sync input signal
    digCh0 | P0_VID_IN_ n, where n is either A or B.
    digCh1 | This corresponds to P1_VID_IN_ n, where n is either A or B.
    digCh2 | This corresponds to P2_VID_IN_ n, where n is either A or B.
    digCh3 | This corresponds to P3_VID_IN_ n, where n is either A or B.
  • The synchronization signal must be received on a signal whose name ends with the same letter as the data signal or the specified digitizer must not be able to receive data on this signal.


Digitizer.SynchronizeOnGrabEnd Property

SynchronizeOnGrabEnd property

Availability | MIL Equivalent | SyncChannel | SynchronizeOnGrabStart
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Morphis
Not supported on Matrox Orion
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MdigControl(M_SYNCHRONIZE_ON_STARTED)
Digitizer
SynchronizeOnGrabEnd
Synopsis
Returns or sets a second digitizer with which to synchronize the digitizer, so that the two digitizers grab consecutively.
[]
Syntax
object.SynchronizeOnGrabEnd [= Digitizer]
[]
Syntax
object->SynchronizeOnGrabEnd [= IDigitizerPtr]
Type description
A Digitizer object that specifies a second digitizer with which to synchronize the digitizer. ActiveMIL is forced to wait for the end of a grab performed by the second digitizer before grabbing with the digitizer.
Remarks
  • This property allows you to grab sequential frames from two or more MIL digitizers.
  • To synchronize the grab of the digitizer with the start of a grab performed by another digitizer, use the SynchronizeOnGrabStart property.


Digitizer.SynchronizeOnGrabStart Property

SynchronizeOnGrabStart property

Availability | MIL Equivalent | SynchronizeOnGrabEnd | TriggerEnabled
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Morphis
Not supported on Matrox Orion
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
MdigControl(M_GRAB_WAIT)
Digitizer
SynchronizeOnGrabStart
Synopsis
Returns or sets a second digitizer with which to synchronize the digitizer, so that the two digitizers grab simultaneously.
[]
Syntax
object.SynchronizeOnGrabStart [= Digitizer]
[]
Syntax
object->SynchronizeOnGrabStart [= IDigitizerPtr]
Type description
A Digitizer object that specifies a second digitizer with which to synchronize the digitizer. ActiveMIL is forced to wait for the start of a grab performed by the second digitizer before grabbing with the digitizer.
Remark
  • To synchronize the grab of the digitizer with the end of a grab performed by another digitizer, use the SynchronizeOnGrabEnd property.
Remark for Matrox Genesis
  • Note that this property is only supported when the destination images are on different systems of the same cluster.
Remark for Matrox Odyssey XA
  • Note that this property is only supported when the destination images are on different systems of the same cluster.
Remark for Matrox Odyssey XCL
  • Note that this property is only supported when the destination images are on different systems of the same cluster.
Remark for Matrox Odyssey XD
  • Note that this property is only supported when the destination images are on different systems of the same cluster.


Digitizer.TriggerEnabled Property

TriggerEnabled property

See Also | Availability | MIL Equivalent | SynchronizeOnGrabStart | TriggerMode
User Guide:
Triggered grabs

Reference:
Digitizer.Grab
Digitizer.TriggerSource
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Orion
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Solios XCL
Fully supported on Matrox Solios XA

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
MdigControl(
ControlType =
M_GRAB_TRIGGER
)

MdigInquire(
InquireType =
M_GRAB_TRIGGER
)
Digitizer
TriggerEnabled
Synopsis
Returns or sets whether a grab should wait for a trigger.
[]
Syntax
object.TriggerEnabled [= Boolean]
[]
Syntax
object->TriggerEnabled [= VARIANT_BOOL]
Type description
A boolean expression that specifies whether the grab should wait for a trigger.
Value | Meaning
True | The grab waits for a trigger.
False | The grab is continuous.
Remarks
  • If this property is set to True, you must specify which input is used to relay the trigger event (use the TriggerSource property).
  • If a synchronous call to the Grab method is made, or the GrabWait method is called, the method will not return until a trigger event has occurred and the frame has been grabbed. To make an asynchronous call to the Grab method, set the GrabMode property to digAsynchronous.
Remarks for Matrox Genesis
  • To use the start of a grab performed by another digitizer to trigger the event, use the Digitizer.SynchronizeOnGrabStart property rather than setting this property to True.
  • To use the end of a grab performed by another digitizer to trigger the event, use the Digitizer.SynchronizeOnGrabEnd property rather than setting this property to True.
Remarks for Matrox Odyssey XA
  • To use the start of a grab performed by another digitizer to trigger the event, use the Digitizer.SynchronizeOnGrabStart property rather than setting this property to True.
  • To use the end of a grab performed by another digitizer to trigger the event, use the Digitizer.SynchronizeOnGrabEnd property rather than setting this property to True.
Remarks for Matrox Odyssey XCL
  • To use the start of a grab performed by another digitizer to trigger the event, use the Digitizer.SynchronizeOnGrabStart property rather than setting this property to True.
  • To use the end of a grab performed by another digitizer to trigger the event, use the Digitizer.SynchronizeOnGrabEnd property rather than setting this property to True.
Remarks for Matrox Odyssey XD
  • To use the start of a grab performed by another digitizer to trigger the event, use the Digitizer.SynchronizeOnGrabStart property rather than setting this property to True.
  • To use the end of a grab performed by another digitizer to trigger the event, use the Digitizer.SynchronizeOnGrabEnd property rather than setting this property to True.


Digitizer.TriggerFormat Property

TriggerFormat property

Availability | MIL Equivalent | TriggerMode | TriggerSource
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Orion
Not supported on Matrox Corona-II
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox CronosPlus
Not supported on Matrox Morphis

See remarks for support on:
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MdigControl(
ControlType =
M_GRAB_TRIGGER_FORMAT or
M_HARDWARE_PORTn
)
Digitizer
TriggerFormat
Synopsis
Returns or sets the state of the TTL, OPTO, or LVDS receivers for the trigger inputs.
[]
Syntax
Get:
[DigUserFormatConstants=]object.TriggerFormat(
HardwarePort As DigSignalSourceConstants
)

Set:
object.TriggerFormat(
HardwarePort As DigSignalSourceConstants,
value_to_set as DigUserFormatConstants
)
[]
Syntax
object->TriggerFormat[enum DigSignalSourceConstants HardwarePort] [= enum DigUserFormatConstants]
HardwarePort
A DigSignalSourceConstants expression that specifies the source of the trigger.
Value | Meaning
digHardwarePort0 | Use hardware trigger connected to port 0. See Remarks for details.
digHardwarePort1 | Use hardware trigger connected to port 1. See Remarks for details.
digHardwarePort2 | Use hardware trigger connected to port 2. See Remarks for details.
digHardwarePort3 | Use hardware trigger connected to port 3. See Remarks for details.
digHardwarePort4 | Use hardware trigger connected to port 4. See Remarks for details.
digHardwarePort5 | Use hardware trigger connected to port 5. See Remarks for details.
digHardwarePort6 | Use hardware trigger connected to port 6. See Remarks for details.
digHardwarePort7 | Use hardware trigger connected to port 7. See Remarks for details.
digHardwarePort8 | Use hardware trigger connected to port 8. See Remarks for details.
digHardwarePort9 | Use hardware trigger connected to port 9. See Remarks for details.
digHardwarePort10 | Use hardware trigger connected to port 10. See Remarks for details.
digHardwarePort11 | Use hardware trigger connected to port 11. See Remarks for details.
Type description
A DigUserFormatConstants expression that specifies the state of the TTL, OPTO, or LVDS receivers for the trigger signals, on systems whose receivers are enabled through software and where the option of TTL, OPTO, and LVDS are possible.
Value | Meaning
digDisableUserFormat | Triggers are disabled.
digEnableUserFormat | Triggers are enabled.
digTTL | The TTL receivers for triggers are enabled.
digLVDS | The LVDS receivers for triggers are enabled.
digOpto | The OPTO receivers for triggers are enabled.
Remarks
  • Note that some user-defined signals are not independant and it is possible to set many user-defined signals by setting one user-defined signal.
  • Note that for other Matrox imaging boards that have user-defined signals, but are not supported by this property, see the System control.
Remark for Matrox Helios XA
  • The settings represent the following signals:
    Value | Digitizer | External auxiliary I/O connector 0 (DB-44) | External auxiliary I/O connector 1 (DB-9) | Analog video input connector DVI 0 | Analog video input connector DVI 1
    digHardwarePort0 | 0 | P0_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 1 | P1_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 2 | P2_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 3 | P3_OPTO_AUX(TRIG)_IN
    digHardwarePort1 | 0 | P0_TTL_AUX(TRIG)_IN
    digHardwarePort1 | 1 | P1_TTL_AUX(TRIG)_IN
    digHardwarePort1 | 2 | P2_TTL_AUX(TRIG)_IN
    digHardwarePort1 | 3 | P3_TTL_AUX(TRIG)_IN
    digHardwarePort2 | Any | LVDS/TTL_AUX_IN0¹
    digHardwarePort3 | Any | LVDS/TTL_AUX_IN1¹
    digHardwarePort4 | Any | LVDS/TTL_AUX_IN2¹
    digHardwarePort5 | Any | LVDS/TTL_AUX_IN3¹
    digHardwarePort6 | Any | LVDS/TTL_AUX_IN4¹
    digHardwarePort7 | Any | LVDS/TTL_AUX_IN5¹
    digHardwarePort8 | Any | LVDS/TTL_AUX_IN6¹
    digHardwarePort9 | Any | LVDS/TTL_AUX_IN7¹

    ¹ Note that the user-defined signals are shared between digitizers. If used by one digitizer, they can be simultaneously used by the others that shares this user-defined signal.

Remark for Matrox Helios XCL
  • The settings represent the following signals:
    Value | Digitizer | External auxiliary I/O connector 0 (HD-44) | External auxiliary I/O connector 1 (DB-9)
    digHardwarePort0 | Any | OPTO_AUX_IN0¹
    digHardwarePort1 | Any | OPTO_AUX_IN1¹
    digHardwarePort2 | Any | TTL_AUX_IO_0¹
    digHardwarePort3 | Any | TTL_AUX_IO_1¹
    digHardwarePort4 | Any | LVDS_AUX_IN0¹
    digHardwarePort5 | Any | LVDS_AUX_IN1¹
    digHardwarePort6 | 0 | P0_OPTO_AUX_IN0
    digHardwarePort7 | 0 | P0_OPTO_AUX_IN1
    digHardwarePort8 | 0 | P0_TTL_AUX_IO_0
    digHardwarePort8 | 1 | P1_TTL_AUX_IO_0
    digHardwarePort9 | 0 | P0_TTL_AUX_IO_1
    digHardwarePort9 | 1 | P1_TTL_AUX_IO_1
    digHardwarePort10 | 0 | P0_LVDS_AUX_IN0
    digHardwarePort11 | 0 | P0_LVDS_AUX_IN0

    ¹ Note that the user-defined signals are shared between digitizers. If used by one digitizer, they can be simultaneously used by the others that shares this user-defined signal.

Remark for Matrox Odyssey XA
  • The settings represent the following signals:
    Value | Digitizer | External auxiliary I/O connector 0 (DB-44) | External auxiliary I/O connector 1 (DB-9) | Analog video input connector DVI 0 | Analog video input connector DVI 1
    digHardwarePort0 | 0 | P0_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 1 | P1_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 2 | P2_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 3 | P3_OPTO_AUX(TRIG)_IN
    digHardwarePort1 | 0 | P0_TTL_AUX(TRIG)_IN
    digHardwarePort1 | 1 | P1_TTL_AUX(TRIG)_IN
    digHardwarePort1 | 2 | P2_TTL_AUX(TRIG)_IN
    digHardwarePort1 | 3 | P3_TTL_AUX(TRIG)_IN
    digHardwarePort2 | Any | LVDS/TTL_AUX_IN0¹
    digHardwarePort3 | Any | LVDS/TTL_AUX_IN1¹
    digHardwarePort4 | Any | LVDS/TTL_AUX_IN2¹
    digHardwarePort5 | Any | LVDS/TTL_AUX_IN3¹
    digHardwarePort6 | Any | LVDS/TTL_AUX_IN4¹
    digHardwarePort7 | Any | LVDS/TTL_AUX_IN5¹
    digHardwarePort8 | Any | LVDS/TTL_AUX_IN6¹
    digHardwarePort9 | Any | LVDS/TTL_AUX_IN7¹

    ¹ Note that the user-defined signals are shared between digitizers. If used by one digitizer, they can be simultaneously used by the others that shares this user-defined signal.

Remark for Matrox Odyssey XCL
  • The settings represent the following signals:
    Value | Digitizer | External auxiliary I/O connector 0 (HD-44) | External auxiliary I/O connector 1 (DB-9)
    digHardwarePort0 | Any | OPTO_AUX_IN0¹
    digHardwarePort1 | Any | OPTO_AUX_IN1¹
    digHardwarePort2 | Any | TTL_AUX_IO_0¹
    digHardwarePort3 | Any | TTL_AUX_IO_1¹
    digHardwarePort4 | Any | LVDS_AUX_IN0¹
    digHardwarePort5 | Any | LVDS_AUX_IN1¹
    digHardwarePort6 | 0 | P0_OPTO_AUX_IN0
    digHardwarePort7 | 0 | P0_OPTO_AUX_IN1
    digHardwarePort8 | 0 | P0_TTL_AUX_IO_0
    digHardwarePort8 | 1 | P1_TTL_AUX_IO_0
    digHardwarePort9 | 0 | P0_TTL_AUX_IO_1
    digHardwarePort9 | 1 | P1_TTL_AUX_IO_1
    digHardwarePort10 | 0 | P0_LVDS_AUX_IN0
    digHardwarePort11 | 0 | P0_LVDS_AUX_IN0

    ¹ Note that the user-defined signals are shared between digitizers. If used by one digitizer, they can be simultaneously used by the others that shares this user-defined signal.

Remark for Matrox Odyssey XD
  • The settings represent the following signals:
    Value | Digitizer | Digital input video connector 0 | Digital input video connector 1 | External auxilliary I/O connector 0 (DB-44) | External auxiliary I/O connector 1 (DB-9).
    digHardwarePort0 | 0 | P0_TTL_AUX(TRIG)_IO
    digHardwarePort0 | 1 | P1_TTL_AUX(TRIG)_IO
    digHardwarePort0 | 2 | P2_TTL_AUX(TRIG)_IN
    digHardwarePort0 | 3 | P3_TTL_AUX(TRIG)_IN
    digHardwarePort1 | 0 | P0_LVDS_AUX_(VSYNC)_IN
    digHardwarePort1 | 1 | P1_LVDS_AUX_(VSYNC)_IN
    digHardwarePort1 | 2 | P2_LVDS_AUX_(VSYNC)_IN
    digHardwarePort1 | 3 | P3_LVDS_AUX_(VSYNC)_IN
    digHardwarePort2 | 0 | P0_OPTO_AUX(TRIG)_IN0
    digHardwarePort2 | 1 | P1_OPTO_AUX(TRIG)_IN0
    digHardwarePort2 | 2 | P2_OPTO_AUX(TRIG)_IN0
    digHardwarePort2 | 3 | P3_OPTO_AUX(TRIG)_IN0
    digHardwarePort3 | 0 | P0_OPTO_AUX(TRIG)_IN1
    digHardwarePort3 | 1 | P1_OPTO_AUX(TRIG)_IN1
    digHardwarePort3 | 2 | P2_OPTO_AUX(TRIG)_IN1
    digHardwarePort3 | 3 | P3_OPTO_AUX(TRIG)_IN1
    digHardwarePort4 | 0 | LVDS/TTL_AUX(TRIG)_IN0¹
    digHardwarePort5 | 0 | LVDS/TTL_AUX(TRIG)_IN1¹
    digHardwarePort6 | 0 | LVDS/TTL_AUX(TRIG)_IN2¹
    digHardwarePort7 | 0 | LVDS/TTL_AUX(TRIG)_IN3¹
    digHardwarePort8 | 0 | LVDS/TTL_AUX(TRIG)_IN4¹
    digHardwarePort9 | 0 | LVDS/TTL_AUX(TRIG)_IN5¹
    digHardwarePort10 | 0 | LVDS/TTL_AUX(TRIG)_IN6¹
    digHardwarePort11 | 0 | LVDS/TTL_AUX(TRIG)_IN7¹

    ¹ Note that the user-defined signals are shared between digitizers. If used by one digitizer, they can be simultaneously used by the others that shares this user-defined signal.

Remark for Matrox Solios XA
  • The settings represent the following signals:
    Value | Digitizer | External auxiliary I/O connector 0 (DB-44) | External auxiliary I/O connector 1 (DB-9) | Analog video input connector DVI 0 | Analog video input connector DVI 1
    digHardwarePort0 | 0 | P0_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 1 | P1_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 2 | P2_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 3 | P3_OPTO_AUX(TRIG)_IN
    digHardwarePort1 | 0 | P0_TTL_AUX(TRIG)_IN
    digHardwarePort1 | 1 | P1_TTL_AUX(TRIG)_IN
    digHardwarePort1 | 2 | P2_TTL_AUX(TRIG)_IN
    digHardwarePort1 | 3 | P3_TTL_AUX(TRIG)_IN
    digHardwarePort2 | Any | LVDS/TTL_AUX_IN0¹
    digHardwarePort3 | Any | LVDS/TTL_AUX_IN1¹
    digHardwarePort4 | Any | LVDS/TTL_AUX_IN2¹
    digHardwarePort5 | Any | LVDS/TTL_AUX_IN3¹
    digHardwarePort6 | Any | LVDS/TTL_AUX_IN4¹
    digHardwarePort7 | Any | LVDS/TTL_AUX_IN5¹
    digHardwarePort8 | Any | LVDS/TTL_AUX_IN6¹
    digHardwarePort9 | Any | LVDS/TTL_AUX_IN7¹

    ¹ Note that the user-defined signals are shared between digitizers. If used by one digitizer, they can be simultaneously used by the others that shares this user-defined signal.

Remark for Matrox Solios XCL
  • The settings represent the following signals:
    Value | Digitizer | External auxiliary I/O connector 0 (HD-44) | External auxiliary I/O connector 1 (DB-9)
    digHardwarePort0 | Any | OPTO_AUX_IN0¹
    digHardwarePort1 | Any | OPTO_AUX_IN1¹
    digHardwarePort2 | Any | TTL_AUX_IO_0¹
    digHardwarePort3 | Any | TTL_AUX_IO_1¹
    digHardwarePort4 | Any | LVDS_AUX_IN0¹
    digHardwarePort5 | Any | LVDS_AUX_IN1¹
    digHardwarePort6 | 0 | P0_OPTO_AUX_IN0
    digHardwarePort7 | 0 | P0_OPTO_AUX_IN1
    digHardwarePort8 | 0 | P0_TTL_AUX_IO_0
    digHardwarePort8 | 1 | P1_TTL_AUX_IO_0
    digHardwarePort9 | 0 | P0_TTL_AUX_IO_1
    digHardwarePort9 | 1 | P1_TTL_AUX_IO_1
    digHardwarePort10 | 0 | P0_LVDS_AUX_IN0
    digHardwarePort11 | 0 | P0_LVDS_AUX_IN0

    ¹ Note that the user-defined signals are shared between digitizers. If used by one digitizer, they can be simultaneously used by the others that shares this user-defined signal.


Digitizer.TriggerMode Property

TriggerMode property

See Also | Availability | MIL Equivalent | TriggerEnabled | TriggerFormat
User Guide:
Triggered grabs
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Meteor-II /1394
MdigControl(
ControlType =
M_GRAB_TRIGGER_MODE
)

MdigInquire(
InquireType =
M_GRAB_TRIGGER_MODE
)
Digitizer
TriggerMode
Synopsis
Returns or sets the hardware trigger activation mode.
[]
Syntax
object.TriggerMode [= DigSignalModeConstants]
[]
Syntax
object->TriggerMode [= enum DigSignalModeConstants]
Type description
A DigSignalModeConstants expression that specifies the hardware trigger activation mode.
Value | Meaning
digLevelHigh | The trigger is active while the trigger source signal is high.
digLevelLow | The trigger is active while the trigger source signal is low.
digEdgeRising | A low to high signal transition activates the trigger.
digEdgeFalling | A high to low signal transition activates the trigger.
Remark
  • This property affects the trigger activation mode for triggered grabs. If does not affect the trigger acvtivation mode for exposure timers. To set this mode for exposure timers, customize the DCF.
Remark for Matrox Meteor-II /1394
  • Only the following values are supported:
    • digEdgeRising
    • digEdgeFalling


Digitizer.TriggerSource Property

TriggerSource property

See Also | Availability | MIL Equivalent | TriggerFormat | UserBits
User Guide:
Triggered grabs

Reference:
Digitizer.TriggerEnabled
Digitizer.TriggerMode
Available in ActiveMIL-Lite

Available in ActiveMIL

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Orion
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MdigControl(
ControlType =
M_GRAB_TRIGGER_SOURCE
)

MdigInquire(
InquireType =
M_GRAB_TRIGGER_SOURCE
)
Digitizer
TriggerSource
Synopsis
Returns or sets the signal source of the grab trigger.
[]
Syntax
object.TriggerSource [= DigSignalSourceConstants]
[]
Syntax
object->TriggerSource [= enum DigSignalSourceConstants]
Type description
A DigSignalSourceConstants expression that specifies the source of the trigger.
Value | Meaning
digNull | The trigger is inactive (continuous grab mode).
digSoftware | Use the software trigger.
digHardwarePort0 | Use the hardware trigger connected to port 0. (This is the most common connection for analog input.) See Remarks for details.
digHardwarePort1 | Use the hardware trigger connected to port 1. (This is the most common connection for digital input/output.) See Remarks for details.
digHardwarePort2 | Use the hardware trigger connected to port 2. See Remarks for details.
digHardwarePort3 | Use the hardware trigger connected to port 3. See Remarks for details.
digHardwarePort4 | Use the hardware trigger connected to port 4. See Remarks for details.
digHardwarePort5 | Use the hardware trigger connected to port 5. See Remarks for details.
digHardwarePort6 | Use the hardware trigger connected to port 6. See Remarks for details.
digHardwarePort7 | Use the hardware trigger connected to port 7. See Remarks for details.
digHardwarePort8 | Use the hardware trigger connected to port 8. See Remarks for details.
digHardwarePort9 | Use the hardware trigger connected to port 9. See Remarks for details.
digHardwarePort10 | Use the hardware trigger connected to port 10. See Remarks for details.
digHardwarePort11 | Use the hardware trigger connected to port 11. See Remarks for details.
digHardwarePort12 | Use the hardware trigger connected to port 12. See Remarks for details.
digHardwarePort13 | Use the hardware trigger connected to port 13. See Remarks for details.
digHardwarePort14 | Use the hardware trigger connected to port 14. See Remarks for details.
digHardwarePort15 | Use the hardware trigger connected to port 15. See Remarks for details.
digHardwarePortCamera | Use the hardware trigger connected to the same connector as the selected input device (determined by ActiveMIL).
digTimer1 | Trigger on the output of Timer1.
digTimer2 | Trigger on the output of Timer2.
Remark
  • When the setting is digSoftware, the trigger can be generated by calling the SendTrigger method.
Remarks for Matrox Corona-II
  • The settings represent the following signals:
    DigSignalSourceConstant | Signal Type | Connector | Details/Signal Name
    digHardwarePort0 | Opto-isolated hardware trigger signal | Video input connector | A combination of Pin 34 (OPTOTRIG-) and Pin 35 (OPTOTRIG+)
    digHardwarePort1 | TTL hardware trigger signal | Digital interface connector | Pin 2 (TRIGGER)
    digHardwarePort2 | RS-422/LVDS trigger signal | Video input connector of the companion digital-input board | A combination of Pin 73 (TRIG+) and Pin 74 (TRIG-)
  • The digHardwarePort1 and digHardwarePort15 are not supported.
Remarks for Matrox CronosPlus
  • The settings represent the following signals:
    DigSignalSourceConstant | Details/Signal Name
    digHardwarePort0 | Uses user defined signal 0
  • The digHardwarePort1 and digHardwarePort15 are not supported.
Remarks for Matrox Genesis
  • The settings represent the following signals:
    DigSignalSourceConstant | Signal Type | Connector | Details/Signal Name
    digHardwarePort0 | opto-isolated hardware trigger signal | Trigger input connector | A combination of Pin 1 (+) and Pin 3 (-)
    digHardwarePort1 | RS-422 hardware trigger signal | Companion digital input boar | A combination of Pin 47 (TRIGGER, INPUT, +) and Pin 48 (TRIGGER, INPUT, -)
    RS-422 hardware trigger signal | Digital cable adaptor board, | A combination of Pin 9 (TRIGGER, INPUT, 422+) and Pin 43 (TRIGGER, INPUT, 422-)
    TTL hardware trigger signal | Digital cable adaptor board, | Pin 67 (TRIGGER, INPUT, TTL)
  • The digHardwarePort2 and digHardwarePort15 are not supported.
Remark for Matrox Helios XA
  • The settings represent the following signals:
    Value | Digitizer | External auxiliary I/O connector 1 (DB-9) | Analog Video Input Connector (DVI-0) | Analog Video Input Connector (DVI-1) | External auxiliary I/O connector 0 (HD-44)
    digHardwarePort0 | 0 | P0_OPTO_AUX(TRIG)_IN
    digHardwarePort1 | 1 | P1_OPTO_AUX(TRIG)_IN1
    digHardwarePort2 | 2 | P2_OPTO_AUX(TRIG)_IN2
    digHardwarePort3 | 3 | P3_OPTO_AUX(TRIG)_IN3
    digHardwarePort4 | 0 | P0_TTL_AUX(TRIG)_IN
    digHardwarePort5 | 1 | P1_TTL_AUX(TRIG)_IN
    digHardwarePort6 | 2 | P2_TTL_AUX(TRIG)_IN
    digHardwarePort7 | 3 | P3_TTL_AUX(TRIG)_IN
    digHardwarePort8 | Any | LVDS/TTL_AUX_IN0
    digHardwarePort9 | Any | LVDS/TTL_AUX_IN1
    digHardwarePort10 | Any | LVDS/TTL_AUX_IN2
    digHardwarePort11 | Any | LVDS/TTL_AUX_IN3
    digHardwarePort12 | Any | LVDS/TTL_AUX_IN4
    digHardwarePort13 | Any | LVDS/TTL_AUX_IN5
    digHardwarePort14 | Any | LVDS/TTL_AUX_IN6
    digHardwarePort15 | Any | LVDS/TTL_AUX_IN7
Remarks for Matrox Helios XCL
  • The settings represent the following signals:
    Value | Digitizer | External auxiliary I/O connector 0 (HD-44) | External auxiliary I/O connector 1 (DB-9)
    digHardwarePort0 | Any | OPTO_AUX_IN0
    digHardwarePort1 | Any | OPTO_AUX_IN1
    digHardwarePort2 | Any | TTL_AUX_IO_0
    digHardwarePort3 | Any | TTL_AUX_IO_1
    digHardwarePort4 | Any | LVDS_AUX_IN0
    digHardwarePort5 | Any | LVDS_AUX_IN1
    digHardwarePort6 | 0 | P0_OPTO_AUX_IN0
    digHardwarePort7 | 0 | P0_OPTO_AUX_IN1
    digHardwarePort8 | 0 | P0_TTL_AUX_IO_0
    digHardwarePort9 | 0 | TTL_AUX_IO_1
    digHardwarePort10 | 0 | P0_LVDS_AUX_IN0
    digHardwarePort11 | 0 | P0_LVDS_AUX_IN1
    digHardwarePort12 | 1 | P1_TTL_AUX_IO_0
    digHardwarePort13 | 1 | P1_TTL_AUX_IO_1
  • The digHardwarePort14 and digHardwarePort15 are not supported on the Camera Link module.
Remarks for Matrox Meteor-II /1394
  • The description of the digHardwarePort0 setting is camera-dependent.
  • The digHardwarePort1 and digHardwarePort15 are not supported.
Remarks for Matrox Meteor-II /Camera Link
  • The settings represent the following signals:
    DigSignalSourceConstant | Signal Type | Connector | Details/Signal Name
    digHardwarePort0 | Opto-isolated hardware trigger signal | Trigger input connector | a combination of Pin 7 (OPTOTRIG+) and Pin 2 (OPTOTRIG-)
    digHardwarePort1 | RS-422/LVDS trigger | Trigger input connector | Pin 3 (TRIGGER, INPUT, +) and Pin 8 (TRIGGER, INPUT, -)
    TTL trigger | Trigger input connector | Pin 1
  • The digHardwarePort2 and digHardwarePort15 are not supported.
Remarks for Matrox Meteor-II /Digital
  • The settings represent the following signals:
    DigSignalSourceConstant | Signal Type | Connector | Details/Signal Name
    digHardwarePort0 | Opto-isolated hardware trigger signal | Trigger input connector | A combination of Pin 7 (OPTOTRIG+) and Pin 2 (OPTOTRIG-)
    digHardwarePort1 | RS-422/LVDS trigger | Digital interface connector | Pin 47 (TRIGGER, INPUT, +) and Pin 48 (TRIGGER, INPUT, -)
    TTL trigger | Trigger input connector | Pin 1
  • The digHardwarePort2 and digHardwarePort15 are not supported.
Remarks for Matrox Meteor-II /Multi-Channel
  • The settings represent the following signals:
    DigSignalSourceConstant | Signal Type | Connector | Details/Signal Name
    digHardwarePort0 | Uses the opto-isolated hardware trigger signal on the , accessible from | Video input connector | a combination of Pin 34 (OPTOTRIG-) and Pin 35 (OPTOTRIG+)
    digHardwarePort1 | Uses the TTL hardware trigger signal, accessible from of | Video input connector | Pin 20
    digHardwarePort2 | Uses RS-422/LVDS trigger signal on the , accessible from | Video input connector of the companion digital-input board | A combination of Pin 73 (TRIG+) and Pin 74 (TRIG-)
  • The digHardwarePort3 and digHardwarePort15 are not supported.
Remarks for Matrox Meteor-II /Standard
  • The settings represent the following signals:
    DigSignalSourceConstant | Signal Type | Connector | Details/Signal Name
    digHardwarePort0 | Opto-isolated hardware trigger signal | Video input connector | A combination of Pin 34 (OPTOTRIG-) and Pin 35 (OPTOTRIG+)
  • The digHardwarePort1 and digHardwarePort15 are not supported.
Remarks for Matrox Morphis
  • The settings represent the following signals:
    DigSignalSourceConstant | Connector | Details/Signal Name
    digHardwarePort0 | M_DEV0 digitizer | TRIG_IN_0 or OPTOTRIG_0
    digHardwarePort0 | M_DEV1 digitizer | TRIG_IN_1 or OPTOTRIG_1
  • The digHardwarePort1 and digHardwarePort15 are not supported.
Remark for Matrox Odyssey XA
  • The settings represent the following signals:
    Value | Digitizer | External auxiliary I/O connector 1 (DB-9) | Analog Video Input Connector (DVI-0) | Analog Video Input Connector (DVI-1) | External auxiliary I/O connector 0 (HD-44)
    digHardwarePort0 | 0 | P0_OPTO_AUX(TRIG)_IN
    digHardwarePort1 | 1 | P1_OPTO_AUX(TRIG)_IN1
    digHardwarePort2 | 2 | P2_OPTO_AUX(TRIG)_IN2
    digHardwarePort3 | 3 | P3_OPTO_AUX(TRIG)_IN3
    digHardwarePort4 | 0 | P0_TTL_AUX(TRIG)_IN
    digHardwarePort5 | 1 | P1_TTL_AUX(TRIG)_IN
    digHardwarePort6 | 2 | P2_TTL_AUX(TRIG)_IN
    digHardwarePort7 | 3 | P3_TTL_AUX(TRIG)_IN
    digHardwarePort8 | Any | LVDS/TTL_AUX_IN0
    digHardwarePort9 | Any | LVDS/TTL_AUX_IN1
    digHardwarePort10 | Any | LVDS/TTL_AUX_IN2
    digHardwarePort11 | Any | LVDS/TTL_AUX_IN3
    digHardwarePort12 | Any | LVDS/TTL_AUX_IN4
    digHardwarePort13 | Any | LVDS/TTL_AUX_IN5
    digHardwarePort14 | Any | LVDS/TTL_AUX_IN6
    digHardwarePort15 | Any | LVDS/TTL_AUX_IN7
Remarks for Matrox Odyssey XCL
  • The settings represent the following signals:
    Value | Digitizer | External auxiliary I/O connector 0 (HD-44) | External auxiliary I/O connector 1 (DB-9)
    digHardwarePort0 | Any | OPTO_AUX_IN0
    digHardwarePort1 | Any | OPTO_AUX_IN1
    digHardwarePort2 | Any | TTL_AUX_IO_0
    digHardwarePort3 | Any | TTL_AUX_IO_1
    digHardwarePort4 | Any | LVDS_AUX_IN0
    digHardwarePort5 | Any | LVDS_AUX_IN1
    digHardwarePort6 | 0 | P0_OPTO_AUX_IN0
    digHardwarePort7 | 0 | P0_OPTO_AUX_IN1
    digHardwarePort8 | 0 | P0_TTL_AUX_IO_0
    digHardwarePort9 | 0 | TTL_AUX_IO_1
    digHardwarePort10 | 0 | P0_LVDS_AUX_IN0
    digHardwarePort11 | 0 | P0_LVDS_AUX_IN1
    digHardwarePort12 | 1 | P1_TTL_AUX_IO_0
    digHardwarePort13 | 1 | P1_TTL_AUX_IO_1
  • The digHardwarePort14 and digHardwarePort15 are not supported on the Camera Link module.
Remark for Matrox Odyssey XD
  • The settings represent the following signals:
    Value | Digitizer | Digital input video connector 0 | Digital input video connector 0 | External auxilliary I/O connector 0 (DB-44) | External auxiliary I/O connector 1 (DB-9).
    digHardwarePort0 | 0 | P0_TTL_AUX(TRIG)_IO
    digHardwarePort0 | 1 | P1_TTL_AUX(TRIG)_IO
    digHardwarePort0 | 2 | P2_OPTO_AUX(TRIG)_IN
    digHardwarePort0 | 3 | P3_OPTO_AUX(TRIG)_IN
    digHardwarePort1 | 0 | P0_LVDS_AUX_(VSYNC)_IN
    digHardwarePort1 | 1 | P1_LVDS_AUX_(VSYNC)_IN
    digHardwarePort1 | 2 | P2_LVDS_AUX_(VSYNC)_IN
    digHardwarePort1 | 3 | P3_LVDS_AUX_(VSYNC)_IN
    digHardwarePort2 | 0 | P0_OPTO_AUX(TRIG)_IN0
    digHardwarePort2 | 1 | P1_OPTO_AUX(TRIG)_IN0
    digHardwarePort2 | 2 | P2_OPTO_AUX(TRIG)_IN0
    digHardwarePort2 | 3 | P3_OPTO_AUX(TRIG)_IN0
    digHardwarePort3 | 0 | P0_OPTO_AUX(TRIG)_IN1
    digHardwarePort3 | 1 | P1_OPTO_AUX(TRIG)_IN1
    digHardwarePort3 | 2 | P2_OPTO_AUX(TRIG)_IN1
    digHardwarePort3 | 3 | P3_OPTO_AUX(TRIG)_IN1
    digHardwarePort4 | 0 | LVDS/TTL_AUX(TRIG)_IN0¹
    digHardwarePort5 | 0 | LVDS/TTL_AUX(TRIG)_IN1¹
    digHardwarePort6 | 0 | LVDS/TTL_AUX(TRIG)_IN2¹
    digHardwarePort7 | 0 | LVDS/TTL_AUX(TRIG)_IN3¹
    digHardwarePort8 | 0 | LVDS/TTL_AUX(TRIG)_IN4¹
    digHardwarePort9 | 0 | LVDS/TTL_AUX(TRIG)_IN5¹
    digHardwarePort10 | 0 | LVDS/TTL_AUX(TRIG)_IN6¹
    digHardwarePort11 | 0 | LVDS/TTL_AUX(TRIG)_IN7¹

    ¹ Note that the user-defined signals are shared between digitizers. If used by one digitizer, they can be simultaneously used by the others that shares this user-defined signal.

    The digHardwarePort11 and digHardwarePort15 are not supported.

Remarks for Matrox Orion
  • The settings represent the following signals:
    DigSignalSourceConstant | Signal Type | Connector | Details/Signal Name
    digHardwarePort0 | Opto-isolated hardware trigger signal | Video input connector | A combination of Pin 34 (OPTOTRIG-) and Pin 35 (OPTOTRIG+)
    digHardwarePort1 | TTL hardware trigger signal | Pin 20 on the digital interface connector | A combination of Pin 34 (OPTOTRIG-) and Pin 35 (OPTOTRIG+)
  • The digHardwarePort2 and digHardwarePort15 are not supported.
Remark for Matrox Solios XA
  • The settings represent the following signals:
    Value | Digitizer | External auxiliary I/O connector 1 (DB-9) | Analog Video Input Connector (DVI-0) | Analog Video Input Connector (DVI-1) | External auxiliary I/O connector 0 (HD-44)
    digHardwarePort0 | 0 | P0_OPTO_AUX(TRIG)_IN
    digHardwarePort1 | 1 | P1_OPTO_AUX(TRIG)_IN1
    digHardwarePort2 | 2 | P2_OPTO_AUX(TRIG)_IN2
    digHardwarePort3 | 3 | P3_OPTO_AUX(TRIG)_IN3
    digHardwarePort4 | 0 | P0_TTL_AUX(TRIG)_IN
    digHardwarePort5 | 1 | P1_TTL_AUX(TRIG)_IN
    digHardwarePort6 | 2 | P2_TTL_AUX(TRIG)_IN
    digHardwarePort7 | 3 | P3_TTL_AUX(TRIG)_IN
    digHardwarePort8 | Any | LVDS/TTL_AUX_IN0
    digHardwarePort9 | Any | LVDS/TTL_AUX_IN1
    digHardwarePort10 | Any | LVDS/TTL_AUX_IN2
    digHardwarePort11 | Any | LVDS/TTL_AUX_IN3
    digHardwarePort12 | Any | LVDS/TTL_AUX_IN4
    digHardwarePort13 | Any | LVDS/TTL_AUX_IN5
    digHardwarePort14 | Any | LVDS/TTL_AUX_IN6
    digHardwarePort15 | Any | LVDS/TTL_AUX_IN7
Remark for Matrox Solios XCL
  • The digHardwarePort14 and digHardwarePort15 are not supported on the Camera Link module.


Digitizer.UserBitChangedEvent Property

UserBitChangedEvent property

See Also | Availability | MIL Equivalent | UserBits | UserInFormat
Board Specific Notes:
User-defined signals for Matrox Helios
User-defined signals for Matrox Odyssey
User-defined signals for Matrox Solios

Reference:
System.UserBitChanged
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Morphis
Not supported on Matrox Orion
No MIL equivalent
Digitizer
UserBitChangedEvent
Synopsis
Returns or sets whether the UserBitChanged event is enabled.
[]
Syntax
[Boolean =] object.UserBitChangedEvent
[]
Syntax
[VARIANT_BOOL =] object->UserBitChangedEvent
Type description
A boolean value that specifies the state of the event.
Value | Meaning
True | The UserBitChanged event is enabled and will be fired after a user-defined input signal changes state.
False | The UserBitChanged event is disabled and will not be fired after a user-defined input signal changes state.
Remark
  • Note that only user-defined input signals can fire the event and only if their interrupt state has been enabled (using the UserBits.Item(UserBitIndex).InterruptEnabled property).


Digitizer.UserBits Property

UserBits property

See Also | Availability | MIL Equivalent | TriggerSource | UserBitChangedEvent
Board Specific Notes:
User-defined signals for Matrox Genesis
User-defined signals for Matrox Helios
User-defined signals for Matrox Odyssey
User-defined signals for Matrox Orion
User-defined signals for Matrox Solios
User-defined signals for Matrox Corona-II
User-defined signals for Matrox Meteor-II
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Orion
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox CronosPlus
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Morphis
MdigControl(
ControlType =
M_USER_BIT_*
)

MdigInquire(
InquireType =
same values as above
)
Digitizer
UserBits
Properties: CameraControl1, CameraControl2, CameraControl3, CameraControl4, Count, CountIn, CountOut, Item

Methods: GetModeMask, GetValueMask, SetModeMask, SetValueMask
Synopsis
Allows you to specify or determine the state of the user-defined signals.
[]
Syntax
object.UserBits [= DigitizerUserBits]
[]
Syntax
object->UserBits [= IDigitizerUserBitsPtr]
Type description
A DigitizerUserBits object.
Remarks
  • Note that for other Matrox imaging boards that have user-defined signals, but are not supported by this property, see the System control.
  • Please refer to the board-specific notes for the correspondence between the ActiveMIL user-defined signal numbers and the user-defined signals.


Digitizer.UserBits.CameraControl1 Property

CameraControl1 property

See Also | Availability | MIL Equivalent | CameraControl2
Board Specific Notes:
User-defined signals for Matrox Helios
User-defined signals for Matrox Odyssey
User-defined signals for Matrox Meteor-II
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Helios XA
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Morphis
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XD
Not supported on Matrox Orion
Not supported on Matrox Solios XA
MdigControl(
ControlType =
M_USER_BIT_VALUE +
M_CC1
)

MdigInquire(
InquireType =
M_USER_BIT_VALUE +
M_CC1
)
Digitizer
UserBits
CameraControl1
Synopsis
Returns or sets the functional state (on/off) of the current bit of camera control signal 1 (CC1).
[]
Syntax
object.CameraControl1 [= Boolean]
[]
Syntax
object->CameraControl1 [= VARIANT_BOOL]
Type description
A boolean value that specifies the functional state of camera control signal 1.
Value | Meaning
True | The current bit of camera control signal 1 is on.
False | The current bit of camera control signal 1 is off.
Remark
  • Prior to setting this property, camera control signal 1 must be assigned to a user-defined signal group using the Control method with digCameraControlOutputnSource.


Digitizer.UserBits.CameraControl2 Property

CameraControl2 property

See Also | Availability | MIL Equivalent | CameraControl1 | CameraControl3
Board Specific Notes:
User-defined signals for Matrox Helios
User-defined signals for Matrox Odyssey
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Helios XA
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Morphis
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XD
Not supported on Matrox Orion
Not supported on Matrox Solios XA
MdigControl(
ControlType =
M_USER_BIT_VALUE +
M_CC2
)

MdigInquire(
InquireType =
M_USER_BIT_VALUE +
M_CC2
)
Digitizer
UserBits
CameraControl2
Synopsis
Returns or sets the functional state (on/off) of the current bit of camera control signal 2 (CC2).
[]
Syntax
object.CameraControl2 [= Boolean]
[]
Syntax
object->CameraControl2 [= VARIANT_BOOL]
Type description
A boolean value that specifies the functional state of camera control signal 2.
Value | Meaning
True | The current bit of camera control signal 2 is on.
False | The current bit of camera control signal 2 is off.
Remark
  • Prior to setting this property, camera control signal 2 must be assigned to a user-defined signal group using the Control method with digCameraControlOutputnSource.


Digitizer.UserBits.CameraControl3 Property

CameraControl3 property

See Also | Availability | MIL Equivalent | CameraControl2 | CameraControl4
Board Specific Notes:
User-defined signals for Matrox Helios
User-defined signals for Matrox Odyssey
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Helios XA
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Morphis
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XD
Not supported on Matrox Orion
Not supported on Matrox Solios XA
MdigControl(
ControlType =
M_USER_BIT_VALUE +
M_CC3
)

MdigInquire(
InquireType =
M_USER_BIT_VALUE +
M_CC3
)
Digitizer
UserBits
CameraControl3
Synopsis
Returns or sets the functional state (on/off) of the current bit of camera control signal 3 (CC3).
[]
Syntax
object.CameraControl3 [= Boolean]
[]
Syntax
object->CameraControl3 [= VARIANT_BOOL]
Type description
A boolean value that specifies the functional state of camera control signal 3.
Value | Meaning
True | The current bit of camera control signal 3 is on.
False | The current bit of camera control signal 3 is off.
Remark
  • Prior to setting this property, camera control signal 3 must be assigned to a user-defined signal group using the Control method with digCameraControlOutputnSource.


Digitizer.UserBits.CameraControl4 Property

CameraControl4 property

See Also | Availability | MIL Equivalent | CameraControl3 | Count
Board Specific Notes:
User-defined signals for Matrox Helios
User-defined signals for Matrox Odyssey
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Helios XA
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Morphis
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XD
Not supported on Matrox Orion
Not supported on Matrox Solios XA
MdigControl(
ControlType =
M_USER_BIT_VALUE +
M_CC4
)

MdigInquire(
InquireType =
M_USER_BIT_VALUE +
M_CC4
)
Digitizer
UserBits
CameraControl4
Synopsis
Returns or sets the functional state (on/off) of the current bit of camera control signal 4 (CC4).
[]
Syntax
object.CameraControl4 [= Boolean]
[]
Syntax
object->CameraControl4 [= VARIANT_BOOL]
Type description
A boolean value that specifies the functional state of camera control signal 4.
Value | Meaning
True | The current bit of camera control signal 4 is on.
False | The current bit of camera control signal 4 is off.
Remark
  • Prior to setting this property, camera control signal 4 must be assigned to a user-defined signal group using the Control method with digCameraControlOutputnSource.


Digitizer.UserBits.Count Property

Count property

See Also | Availability | MIL Equivalent | CameraControl4 | CountIn
Board Specific Notes:
User-defined signals for Matrox Genesis
User-defined signals for Matrox Helios
User-defined signals for Matrox Odyssey
User-defined signals for Matrox Orion
User-defined signals for Matrox Solios
User-defined signals for Matrox Corona-II
User-defined signals for Matrox Meteor-II

Reference:
Digitizer.UserBits.CountIn
Digitizer.UserBits.CountOut
Digitizer.UserBits.Item
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Orion
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox CronosPlus
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Morphis
No MIL equivalent
Digitizer
UserBits
Count
Synopsis
Returns the number of elements in the collection of user-defined signals.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of elements currently in the collection.
Remarks
  • Each element in the collection represents a user-defined signal.
  • This count includes the total number of input, output, and I/O user-defined signals.


Digitizer.UserBits.CountIn Property

CountIn property

See Also | Availability | MIL Equivalent | Count | CountOut
Board Specific Notes:
User-defined signals for Matrox Genesis
User-defined signals for Matrox Helios
User-defined signals for Matrox Odyssey
User-defined signals for Matrox Orion
User-defined signals for Matrox Solios
User-defined signals for Matrox Corona-II
User-defined signals for Matrox Meteor-II

Reference:
Digitizer.UserBits.Count
Digitizer.UserBits.CountOut
Digitizer.UserBits.Item
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Orion
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox CronosPlus
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Morphis
No MIL equivalent
Digitizer
UserBits
CountIn
Synopsis
Returns the number of user-defined signals that can be used for input.
[]
Syntax
[Integer =] object.CountIn
[]
Syntax
[long =] object->CountIn
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of user-defined signals that can be used for input.
Remark
  • This count includes the number of input and I/O user-defined signals.


Digitizer.UserBits.CountOut Property

CountOut property

See Also | Availability | MIL Equivalent | CountIn | Item
Board Specific Notes:
User-defined signals for Matrox Genesis
User-defined signals for Matrox Helios
User-defined signals for Matrox Odyssey
User-defined signals for Matrox Orion
User-defined signals for Matrox Solios
User-defined signals for Matrox Corona-II
User-defined signals for Matrox Meteor-II

Reference:
Digitizer.UserBits.Count
Digitizer.UserBits.CountIn
Digitizer.UserBits.Item
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Orion
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox CronosPlus
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Morphis
No MIL equivalent
Digitizer
UserBits
CountOut
Synopsis
Returns the number of user-defined signals that can be used for output.
[]
Syntax
[Integer =] object.CountOut
[]
Syntax
[long =] object->CountOut
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of user-defined signals that can be used for output.
Remark
  • This count includes the number of output and I/O user-defined signals.


Digitizer.UserBits.Item Property

Item property

See Also | Availability | MIL Equivalent | CountOut | GetModeMask
Board Specific Notes:
User-defined signals for Matrox Genesis
User-defined signals for Matrox Helios
User-defined signals for Matrox Odyssey
User-defined signals for Matrox Orion
User-defined signals for Matrox Solios
User-defined signals for Matrox Corona-II
User-defined signals for Matrox Meteor-II

Reference:
Digitizer.UserBits.Count
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox CronosPlus
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Morphis

See remarks for support on:
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Genesis
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Orion
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
No MIL equivalent
Digitizer
UserBits
Item
Properties: Value, Mode, InterruptEnabled, Format
Synopsis
Returns the element at the specified index in the collection of user-defined signals.
[]
Syntax
[DigitizerUserBit=]object.Item(
Index As Integer
)
[]
Syntax
[IDigitizerUserBitPtr =] object->Item(
long Index
)
Index
A longintegerlong (integer for Visual Basic .Net) value that specifies the index of the required user-defined signal.
Type description
A DigitizerUserBit object
Remark
  • If the value provided as the index does not match any existing element of the collection, an error occurs. Note that the index of this collection starts at zero.
Remark for Matrox Corona-II
  • Refer to User-defined signals for Matrox Corona-II for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Genesis
  • Refer to User-defined signals for Matrox Genesis for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Helios XA
  • Refer to User-defined signals for Matrox Helios for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Helios XCL
  • Refer to User-defined signals for Matrox Helios for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remarks for Matrox Meteor-II /Camera Link
  • Refer to User-defined signals for Matrox Meteor-II for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
  • Note that user-defined signals 0 and 1 correspond to camera control signals. To use these signals, set the digCameraControlOutputnSource control type of the Control method to digUserBitCCA or digUserBitCCB, respectively.
Remark for Matrox Meteor-II /Digital
  • Refer to User-defined signals for Matrox Meteor-II for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Meteor-II /Multi-Channel
  • Refer to User-defined signals for Matrox Meteor-II for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Meteor-II /Standard
  • Refer to User-defined signals for Matrox Meteor-II for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Odyssey XA
  • Refer to User-defined signals for Matrox Odyssey for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Odyssey XCL
  • Refer to User-defined signals for Matrox Odyssey for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Odyssey XD
  • Refer to User-defined signals for Matrox Odyssey for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Orion
  • Refer to User-defined signals for Matrox Orion for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Solios XA
  • Refer to User-defined signals for Matrox Solios for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Solios XCL
  • Refer to User-defined signals for Matrox Solios for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.


Digitizer.UserBits.Item.Format Property

Format property

See Also | Availability | MIL Equivalent | InterruptEnabled
Reference:
Digitizer.UserBits.Item.InterruptEnabled
Digitizer.UserBits.Item.Mode
Digitizer.UserBits.Item.Value
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Morphis
Not supported on Matrox Orion
MdigControl(
ControlType =
M_USER_BIT_FORMAT +
n
)

MdigInquire(
InquireType =
M_USER_BIT_FORMAT +
n
)
Digitizer
UserBits
Item
Format
Synopsis
Returns or sets the state of the TTL or LVDS drivers/receivers for the user-defined signal.
[]
Syntax
object.Format [= DigUserFormatConstants]
[]
Syntax
object->Format [= enum DigUserFormatConstants]
Type description
A DigUserFormatConstants expression that specifies the state of the TTL or LVDS drivers/receivers for user-defined signals, on systems whose drivers/receivers are enabled through software and where the option of both TTL and LVDS are possible.
Value | Meaning
digDisableUserFormat | User-defined signals are disabled.
digEnableUserFormat | User-defined signals are enabled.
digTTL | The TTL drivers/receivers for user-defined signals are enabled.
digLVDS | The LVDS drivers/receivers for user-defined signals are enabled.
Remarks
  • Note that for other Matrox imaging boards that have user-defined signals, but are not supported by this property, see the UserInFormat and UserOutFormat properties of the Digitizer control.
  • Note that some user-defined signals cannot be affected individually. In this case, if you affect any one of the user-defined signals in the group, they will all be affected.
  • To determine which user-defined signals can be affected, refer to the Installation and Hardware Reference manual of your Matrox imaging board.


Digitizer.UserBits.Item.InterruptEnabled Property

InterruptEnabled property

See Also | Availability | MIL Equivalent | Mode | Format
Reference:
Digitizer.UserBits.Item.Format
Digitizer.UserBits.Item.Mode
Digitizer.UserBits.Item.Value
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Solios XCL
Fully supported on Matrox Solios XA
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XA

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Orion
Not supported on Matrox Morphis
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /1394
MdigControl(
ControlType =
M_USER_BIT_INTERRUPT_STATE +
n
)

MdigInquire(
InquireType =
M_USER_BIT_INTERRUPT_STATE +
n
)
Digitizer
UserBits
Item
InterruptEnabled
Synopsis
Returns or sets the interrupt state of the specified user-defined input signal.
[]
Syntax
object.InterruptEnabled [= Boolean]
[]
Syntax
object->InterruptEnabled [= VARIANT_BOOL]
Type description
A boolean value that specifies the interrupt state of the specified user-defined input signal.
Value | Meaning
True | Enables the interrupt.
False | Disables the interrupt.
Remarks
  • The user-defined signal must be in input mode.
  • If its interrupt state is enabled, the user-defined signal will generate an interrupt upon a rising edge.


Digitizer.UserBits.Item.Mode Property

Mode property

See Also | Availability | MIL Equivalent | Value | InterruptEnabled
Board Specific Notes:
User-defined signals for Matrox Helios
User-defined signals for Matrox Odyssey
User-defined signals for Matrox Solios

Reference:
Digitizer.UserBits.Item.Format
Digitizer.UserBits.Item.InterruptEnabled
Digitizer.UserBits.Item.Value
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Morphis
Not supported on Matrox Orion
MdigControl(
ControlType =
M_USER_BIT_MODE +
n
)

MdigInquire(
InquireType =
M_USER_BIT_MODE +
n
)
Digitizer
UserBits
Item
Mode
Synopsis
Returns or sets the mode (input/output) of the specified user-defined I/O signal.
[]
Syntax
object.Mode [= DigUserBitModeConstants]
[]
Syntax
object->Mode [= enum DigUserBitModeConstants]
Type description
A DigUserBitModeConstants expression that specifies the mode of the specified user-defined I/O signal.
Value | Meaning
digInput | The specified user-defined signal is an input signal.
digOutput | The specified user-defined signal is an output signal.
Remark
  • The user-defined signal must be a I/O (bi-directional) signal.


Digitizer.UserBits.Item.Value Property

Value property

See Also | Availability | MIL Equivalent | Mode
Board Specific Notes:
User-defined signals for Matrox Genesis
User-defined signals for Matrox Helios
User-defined signals for Matrox Odyssey
User-defined signals for Matrox Orion
User-defined signals for Matrox Corona-II
User-defined signals for Matrox Meteor-II

Reference:
Digitizer.UserBits.Item.Format
Digitizer.UserBits.Item.InterruptEnabled
Digitizer.UserBits.Item.Mode
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Orion
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox CronosPlus
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Morphis
MdigControl(
ControlType =
M_USER_BIT_VALUE +
n
)

MdigInquire(
InquireType =
M_USER_BIT_VALUE +
n
)
Digitizer
UserBits
Item
Value
Synopsis
Returns or sets the functional state of the current bit of the specified user-defined signal, if it is a user-defined output signal. If it is a user-defined input signal, it can only return the functional state of the current bit.
[]
Syntax
object.Value [= Boolean]
[]
Syntax
object->Value [= VARIANT_BOOL]
Type description
A boolean value that specifies the functional state of the user-defined signal.
Value | Meaning
True | The current bit of the user-defined output signal is on.
False | The current bit of the user-defined output signal is off.
Remark
  • The specified user-defined signal must be in output mode.


Digitizer.UserBits.GetModeMask Method

GetModeMask method

See Also | Availability | MIL Equivalent | Item | GetValueMask
Board Specific Notes:
User-defined signals for Matrox Helios
User-defined signals for Matrox Odyssey
User-defined signals for Matrox Solios

Reference:
Digitizer.UserBits.GetValueMask
Digitizer.UserBits.SetModeMask
Digitizer.UserBits.SetValueMask
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Morphis
Not supported on Matrox Orion

See remarks for support on:
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MdigInquire(
InquireType =
M_USER_BIT_MODE +
M_BIT_MASK
)
Digitizer
UserBits
GetModeMask
Synopsis
Returns the mode (input/output) of the specified user-defined signals.
[]
Syntax
[Integer =] object.GetModeMask(
ByVal Mask As Integer
)
[]
Syntax
[long =] object->GetModeMask(
long Mask
)
Mask
A longintegerlong (integer for Visual Basic .Net) value that specifies a bit-encoded mask, identifying the user-defined signals about which to inquire. Enabled bits in the mask value identify which user-defined signal(s) to inquire.
Return value
A longintegerlong (integer for Visual Basic .Net) value that returns the mode of the specified user-defined signals, using a bit-encoded value.
Remarks
  • This method allows you to inquire about several user-defined signals at the same time. Alternatively, you can use the UserBits.Item(UserBitIndex).Mode property.
  • Bits set to 1 in the bit-encoded value mean that their corresponding user-defined signals are set to input. Bits set to 0 in the bit-encoded value mean that their corresponding user-defined signals are set to output.
  • The Mask parameter determines which user-defined signals will be inquired. For example, the value 45 would establish a mask that inquires about user-defined signals 0, 2, 3, and 5 since the binary equivalent of 45 is equal to 101101.
  • If the user-defined signals, specified using the mask, do not match any existing element in the collection of user-defined signals, an error occurs.
Remark for Matrox Helios XA
  • Refer to User-defined signals for Matrox Helios for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Helios XCL
  • Refer to User-defined signals for Matrox Helios for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Odyssey XA
  • Refer to User-defined signals for Matrox Odyssey for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Odyssey XCL
  • Refer to User-defined signals for Matrox Odyssey for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Odyssey XD
  • Refer to User-defined signals for Matrox Odyssey for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Solios XA
  • Refer to User-defined signals for Matrox Solios for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Solios XCL
  • Refer to User-defined signals for Matrox Solios for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.


Digitizer.UserBits.GetValueMask Method

GetValueMask method

See Also | Availability | MIL Equivalent | GetModeMask | SetModeMask
Board Specific Notes:
User-defined signals for Matrox Helios
User-defined signals for Matrox Odyssey
User-defined signals for Matrox Solios

Reference:
Digitizer.UserBits.GetModeMask
Digitizer.UserBits.SetModeMask
Digitizer.UserBits.SetValueMask
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Morphis
Not supported on Matrox Orion

See remarks for support on:
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MdigInquire(
InquireType =
M_USER_BIT_VALUE +
M_BIT_MASK
)
Digitizer
UserBits
GetValueMask
Synopsis
Returns the functional state (on/off) of the current bit of the specified user-defined signals.
[]
Syntax
[Integer =] object.GetValueMask(
ByVal Mask As Integer
)
[]
Syntax
[long =] object->GetValueMask(
long Mask
)
Mask
A longintegerlong (integer for Visual Basic .Net) value that specifies a bit-encoded mask, identifying the user-defined signals about which to inquire. Enabled bits in the mask value identify which user-defined signals to inquire.
Return value
A longintegerlong (integer for Visual Basic .Net) value that returns the functional state of the specified user-defined signals, using a bit-encoded value.
Remarks
  • This method allows you to inquire about several user-defined signals at the same time. Alternatively, you can use the UserBits.Item(UserBitIndex).Value property.
  • Bits set to 1 in the bit-encoded value mean that their corresponding user-defined signals are on. Bits set to 0 in the bit-encoded value mean that their corresponding user-defined signals are off.
  • The Mask parameter determines which user-defined signals will be inquired. For example, the value 45 would establish a mask that inquires about user-defined signals 0, 2, 3, and 5 since the binary equivalent of 45 is equal to 101101.
  • If the user-defined signals, specified using the mask, do not match any existing element in the collection of user-defined signals, an error occurs.
Remark for Matrox Helios XA
  • Refer to User-defined signals for Matrox Helios for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Helios XCL
  • Refer to User-defined signals for Matrox Helios for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Odyssey XA
  • Refer to User-defined signals for Matrox Odyssey for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Odyssey XCL
  • Refer to User-defined signals for Matrox Odyssey for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Odyssey XD
  • Refer to User-defined signals for Matrox Odyssey for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Solios XA
  • Refer to User-defined signals for Matrox Solios for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Solios XCL
  • Refer to User-defined signals for Matrox Solios for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.


Digitizer.UserBits.SetModeMask Method

SetModeMask method

See Also | Availability | MIL Equivalent | GetValueMask | SetValueMask
Board Specific Notes:
User-defined signals for Matrox Helios
User-defined signals for Matrox Odyssey
User-defined signals for Matrox Solios

Reference:
Digitizer.UserBits.GetModeMask
Digitizer.UserBits.GetValueMask
Digitizer.UserBits.SetValueMask
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Morphis
Not supported on Matrox Orion

See remarks for support on:
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MdigControl(
ControlType =
M_USER_BIT_MODE +
M_BIT_MASK
)
Digitizer
UserBits
SetModeMask
Synopsis
Sets the mode (input/output) of the specified user-defined I/O signals.
[]
Syntax
object.SetModeMask(
ByVal Mask As Integer,
ByVal Value As Integer
)
[]
Syntax
void object->SetModeMask(
long Mask,
long Value
)
Mask
A longintegerlong (integer for Visual Basic .Net) value that specifies a bit-encoded mask, identifying the user-defined I/O signals to control. Enabled bits in the mask value identify which user-defined signals to control.
Value
A longintegerlong (integer for Visual Basic .Net) value that specifies the input/output mode of the specified user-defined I/O signals, using a bit-encoded value. Bits set in the bit-encoded value affect their corresponding user-defined signals as follows.
Value | Meaning
1 | Output mode.
0 | Input mode.
Remarks
  • This method allows you to set several user-defined signals at the same time. Alternatively, you can use the UserBits.Item(UserBitIndex).Mode property.
  • The specified user-defined signals must be I/O (bi-directional) signals.
  • The Mask parameter determines which user-defined signals will be affected. For example, the value 45 would establish a mask that affects user-defined signals 0, 2, 3, and 5 since the binary equivalent of 45 is equal to 101101.
  • If the user-defined signals, specified using the mask, do not match any existing element in the collection of user-defined signals, an error occurs.
Remark for Matrox Helios XA
  • Refer to User-defined signals for Matrox Helios for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Helios XCL
  • Refer to User-defined signals for Matrox Helios for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Odyssey XA
  • Refer to User-defined signals for Matrox Odyssey for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Odyssey XCL
  • Refer to User-defined signals for Matrox Odyssey for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Odyssey XD
  • Refer to User-defined signals for Matrox Odyssey for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Solios XA
  • Refer to User-defined signals for Matrox Solios for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Solios XCL
  • Refer to User-defined signals for Matrox Solios for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.


Digitizer.UserBits.SetValueMask Method

SetValueMask method

See Also | Availability | MIL Equivalent | SetModeMask
Board Specific Notes:
User-defined signals for Matrox Helios
User-defined signals for Matrox Odyssey
User-defined signals for Matrox Solios

Reference:
Digitizer.UserBits.GetModeMask
Digitizer.UserBits.GetValueMask
Digitizer.UserBits.SetModeMask
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Morphis
Not supported on Matrox Orion

See remarks for support on:
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MdigControl(
ControlType =
M_USER_BIT_VALUE +
M_BIT_MASK
)
Digitizer
UserBits
SetValueMask
Synopsis
Sets the functional state (on/off) of the current bit of the specified user-defined output signals.
[]
Syntax
object.SetValueMask(
ByVal Mask As Integer,
ByVal Value As Integer
)
[]
Syntax
void object->SetValueMask(
long Mask,
long Value
)
Mask
A longintegerlong (integer for Visual Basic .Net) value that specifies a bit-encoded mask, identifying the user-defined output signals to control. Enabled bits in the mask value identify which user-defined signals to control.
Value
A longintegerlong (integer for Visual Basic .Net) value that specifies the functional state of the user-defined output signals, using a bit-encoded value. Bits set in the bit-encoded value affect their corresponding user-defined signals as follows.
Value | Meaning
1 | The current bit of the user-defined signal is set to on.
0 | The current bit of the user-defined signal is set to off.
Remarks
  • This method allows you to set several user-defined signals at the same time. Alternatively, you can use the UserBits.Item(UserBitIndex).Value property.
  • The specified user-defined signals must be in output mode.
  • The Mask parameter determines which user-defined signals will be affected. For example, the value 45 would establish a mask that affects user-defined signals 0, 2, 3, and 5 since the binary equivalent of 45 is equal to 101101.
  • If the user-defined signals, specified using the mask, do not match any existing element in the collection of user-defined signals, an error occurs.
Remark for Matrox Helios XA
  • Refer to User-defined signals for Matrox Helios for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Helios XCL
  • Refer to User-defined signals for Matrox Helios for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Odyssey XA
  • Refer to User-defined signals for Matrox Odyssey for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Odyssey XCL
  • Refer to User-defined signals for Matrox Odyssey for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Odyssey XD
  • Refer to User-defined signals for Matrox Odyssey for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Solios XA
  • Refer to User-defined signals for Matrox Solios for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Solios XCL
  • Refer to User-defined signals for Matrox Solios for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.


Digitizer.UserInFormat Property

UserInFormat property

See Also | Availability | MIL Equivalent | UserBitChangedEvent | UserOutFormat
Reference:
Digitizer.Exposure1Source
Digitizer.Exposure2Source
Digitizer.UserOutFormat
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Morphis
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Camera Link
MdigControl(
ControlType =
M_USER_IN_FORMAT
)

MdigInquire(
InquireType =
M_USER_IN_FORMAT
)
Digitizer
UserInFormat
Synopsis
Returns or sets the state of TTL or RS-422/LVDS receivers for digital inputs and digital I/O's programmed as inputs.
[]
Syntax
object.UserInFormat [= DigUserFormatConstants]
[]
Syntax
object->UserInFormat [= enum DigUserFormatConstants]
Type description
A DigUserFormatConstants expression that specifies the state of the TTL or RS-422/LVDS receivers for triggers and user-defined input signals, on systems whose receivers are enabled through software and where the option of both TTL and RS-422/LVDS are possible.
Value | Meaning
digTTL | The TTL receivers for trigger and user inputs are enabled.
digRS422 | The RS-422 receivers for trigger and user inputs are enabled.
digLVDS | The LVDS receivers for trigger and user inputs are enabled.
digDisableUserFormat | Trigger and user inputs are disabled.
Remarks for Matrox Genesis
  • When the UserInFormat parameter is digLVDS, the LVDS trigger on either the companion digital input board or the digital cable adaptor board, are used instead of the TTL trigger. In addition, the LVDS USER0 and USER1 user-defined signals are used isntead of the TTL user-defined signals.
  • When the UserInFormat parameter is digRS422, the RS-422 trigger on either the companion digital input board or the digital cable adaptor board are used, instead of the TTL trigger. In addition, the RS-422 USER0 and USER1 INPUT user-defined signals instead of the TTL user-defined signals.
  • When the UserInFormat parameter is digTTL, the TTL trigger is used instead of the RS-422/LVDS trigger on either the companion digital input board or the digital cable adaptor board. In addition, the TTL USER0 and USER1 INPUT user-defined signals instead of the RS-422/LVDS user-defined signals.
Remarks for Matrox Meteor-II /Camera Link
  • When the UserInFormat parameter is digLVDS, the LVDS triggeron the digital interface connector is used instead of the TTL trigger on the trigger input connector.
  • When the UserInFormat parameter is digRS422, the RS-422 trigger on the digital interface connector is used instead of the TTL trigger on the trigger input connector.
  • When the UserInFormat parameter is digTTL, the TTL trigger on the trigger input connector instead of the RS-422/LVDS trigger on the digital interface connector.
Remarks for Matrox Meteor-II /Digital
  • When the UserInFormat parameter is digLVDS, the LVDS triggeron the digital interface connector is used instead of the TTL trigger on the trigger input connector.
  • When the UserInFormat parameter is digRS422, the RS-422 trigger on the digital interface connector is used instead of the TTL trigger on the trigger input connector.
  • When the UserInFormat parameter is digTTL, the TTL trigger on the trigger input connector instead of the RS-422/LVDS trigger on the digital interface connector.


Digitizer.UserOutFormat Property

UserOutFormat property

See Also | Availability | MIL Equivalent | UserInFormat | UseVoltageReference
Reference:
Digitizer.UserInFormat
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Morphis
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Camera Link
MdigControl(
ControlType =
M_USER_OUT_FORMAT
)

MdigInquire(
InquireType =
M_USER_OUT_FORMAT
)
Digitizer
UserOutFormat
Synopsis
Returns or sets the state of TTL or RS-422/LVDS drivers for digital outputs and digital I/Os programmed as outputs.
[]
Syntax
object.UserOutFormat [= DigUserFormatConstants]
[]
Syntax
object->UserOutFormat [= enum DigUserFormatConstants]
Type description
A DigUserFormatConstants expression that specifies the state of the TTL or RS-422/LVDS drivers for exposures and user-defined output signals, on systems whose I/O drivers are enabled through software and where the option of both TTL and RS-422/LVDS are possible.
Value | Meaning
digTTL | The TTL drivers for exposure and user outputs are enabled.
digRS422 | The RS-422 drivers for exposure and user outputs are enabled.
digLVDS | The LVDS drivers for exposure and user outputs are enabled.
digDisable | Exposure and user outputs are disabled.
Remarks for Matrox Genesis
  • When the UserOutFormat parameter is digLVDS, the LVDS USER0 and USER1 OUTPUT user-defined signals are used instead of the TTL user-defined signals.
  • When the UserOutFormat parameter is digRS422, the RS-422 USER0 and USER1 OUTPUT user-defined signals are used instead of the TTL user-defined signals. In addition, the RS-422 exposure timers (1 and 2) are used instead of the TTL exposure timers.
  • When the UserOutFormat parameter is digTTL, the TTL USER0 and USER1 OUTPUT user-defined signals are used instead of the RS-422/LVDS user-defined signals.
Remarks for Matrox Meteor-II /Camera Link
  • When the UserOutFormat parameter is digTTL, the TTL exposure timers (1 and 2) are used instead of the RS-422/LVDS exposure timers.
  • By default, this property is applied to all acquisition paths used by the digitizer. To apply this property to one or more specific acquisition paths, add digChanneln, where n can be from 0 to 4.
  • []
     Note that digChanneln value must be cast to a DigInputGainConstant expression to be used.
Remarks for Matrox Meteor-II /Digital
  • When the UserOutFormat parameter is digLVDS, the LVDS exposure timers (1 and 2) are used instead of the TTL exposure timers.
  • When the UserOutFormat parameter is digRS422, the RS-422 exposure timers (1 and 2) are used instead of the TTL exposure timers.
  • When the UserOutFormat parameter is digTTL, the TTL exposure timers (1 and 2) are used instead of the RS-422/LVDS exposure timers.


Digitizer.UseVoltageReference Property

UseVoltageReference property

See Also | Availability | MIL Equivalent | UserOutFormat | WhiteReference
Reference:
Digitizer.BlackReference
Digitizer.WhiteReference
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Solios XA

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Helios XCL
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Morphis
Not supported on Matrox Odyssey XCL
Not supported on Matrox Orion
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XCL
MdigReference(M_VOLTAGE)
Digitizer
UseVoltageReference
Synopsis
Sets whether the values passed to the BlackReference and WhiteReference properties are in Volts.
[]
Syntax
object.UseVoltageReference [= Boolean]
[]
Syntax
object->UseVoltageReference [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the values passed to the BlackReference and WhiteReference properties are in volts.
Value | Meaning
True | The values passed to the BlackReference and WhiteReference properties are in Volts.
False | The values passed to the BlackReference and WhiteReference properties are not in Volts.
Remarks
  • Although the BlackReference and WhiteReference properties can be set in Volts, the values for these properties are never returned in Volts.
  • For details about how non-voltage values are determined, see the remarks in the BlackReference and WhiteReference properties.


Digitizer.WhiteReference Property

WhiteReference property

See Also | Availability | MIL Equivalent | UseVoltageReference | Allocate
User Guide:
Reference levels

Reference:
Digitizer.BlackReference
Digitizer.ReferenceChannel
Digitizer.UseVoltageReference
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Odyssey XCL
Not supported on Matrox Helios XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Orion
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Solios XA
MdigReference(
ReferenceType =
M_WHITE_REF
)

MdigInquire(
InquireType =
M_WHITE_REF
)
Digitizer
WhiteReference
Synopsis
Returns or sets the digitization's white reference level.
[]
Syntax
object.WhiteReference [= Double]
[]
Syntax
object->WhiteReference [= double]
Type description
A double value that specifies the input video signal's digitization white reference level (0 - 255).

Alternatively, this value can be a DigReferenceLevelConstants expression.
Value | Meaning
digMaxLevel | Sets the value to the maximum level.
digMinLevel | Sets the value to the minimum level.
Remarks
  • For RGB or multi-tap sources, the individual channels can be set to different levels. Use the ReferenceChannel property to select the channel to which to apply the reference change.
  • To calculate the value to pass to this property, use the following equation with the appropriate voltages specified in the remarks for your particular board:
  • Some consecutive levels might have the same effect, depending on the physical number of levels that can be set on your board.
  • Some digitizers might take a few milliseconds before the reference level stabilizes.
Remarks for Matrox Corona-II
  • The minimum white reference level setting 0 corresponds to 1.6V, while the maximum white reference level setting 255 corresponds to 2.6V.
  • Note that some consecutive settings between these values might produce the same result due to the fact that there are only 98 distinct adjustments (adjustments of 10.23 mV each).
Remark for Matrox CronosPlus
  • This property is not supported, but you can control the reference levels by using the following:
    • When grabbing in monochrome, you can control the brightness and contrast levels of the composite input signal, using the Brightness and Contrast properties.
    • When grabbing in color, you can control the brightness, contrast, hue, and saturation levels of the composite input signal using the Brightness, Contrast, Hue and Saturation properties, respectively.
Remarks for Matrox Genesis
  • The minimum white reference level setting 0 corresponds to 0.0V, while the maximum white reference level setting 255 corresponds to 2.5V.
  • Note that some consecutive settings between these values might produce the same result due to the fact that there are only 255 distinct adjustments (adjustments of 9.80 mV each).
  • Also, note that the white level should be higher than the black level.
Remarks for Matrox Helios XA
  • The minimum white reference level setting 1 corresponds to -1V, while the maximum white reference level setting 255 corresponds to +1V. Note that the white level should be higher than the black level.
  • The following settings are for the Analog module only. Refer to Adjusting the reference levels, in the Frame Grabbers chapter of the Matrox Odyssey Installation and Hardware Guide. There are three ways to change the input signal's gain:

    The first method is to set the BlackReference and WhiteReference properties as a part of the maximum hardware value. This method is commonly used interactively (for example, in an application that allows you to change the settings until you are satisfied with the image quality). Note that the black reference level must always be less than the white level. Do not use the InputGain property if you are using this method since the gain will be adjusted automatically.

    The second method is to set the black and the white reference levels in Volts (for example, give 0.7 for 700 mV). By setting the reference level in volts, the optimum levels for the offset and gain controls will be calculated automatically. This is more useful if you know the actual input signal voltages.

    The third method is to set BlackReference and then use the InputGain property set to a value between the minimum and maximum values. This method corresponds more closely to the actual hardware that controls the reference levels. The hardware has an offset control followed by a gain control; the analog-to-digital converter cannot be programmed directly with the reference levels. Note that when using this method, you should not specify a white reference level because it would cause the gain to be altered.

  • This property can be set using a voltage value if the UseVoltageReference property is set to True. The reference levels are from -1.0V to +1.0V (for example, use 0.7 for 700mV).
Remark for Matrox Meteor-II /1394
  • This property is not supported, but you can control the reference levels by using the following:
    • When grabbing in monochrome, you can control the brightness and contrast levels of the composite input signal, using the Brightness and Contrast properties.
    • When grabbing in color, you can control the brightness, contrast, hue, and saturation levels of the composite input signal using the Brightness, Contrast, Hue and Saturation properties, respectively.
Remark for Matrox Meteor-II /Multi-Channel
  • The minimum white reference level setting 0 corresponds to 1.6V, while the maximum white reference level setting 255 corresponds to 2.6V.

    Note that some consecutive settings between these values might produce the same result due to the fact that there are only 98 distinct adjustments (adjustments of 10.23 mV each).

Remark for Matrox Meteor-II /Standard
  • This property is not supported, but you can control the reference levels by using the following:
    • When grabbing in monochrome, you can control the brightness and contrast levels of the composite input signal, using the Brightness and Contrast properties.
    • When grabbing in color, you can control the brightness, contrast, hue, and saturation levels of the composite input signal using the Brightness, Contrast, Hue and Saturation properties, respectively.
Remark for Matrox Morphis
  • This property is not supported, but you can control the reference levels by using the following:
    • When grabbing in monochrome, you can control the brightness and contrast levels of the composite input signal, using the Brightness and Contrast properties.
    • When grabbing in color, you can control the brightness, contrast, hue, and saturation levels of the composite input signal using the Brightness, Contrast, Hue and Saturation properties, respectively.
Remarks for Matrox Odyssey XA
  • The minimum white reference level setting 1 corresponds to -1V, while the maximum white reference level setting 255 corresponds to +1V. Note that the white level should be higher than the black level.
  • The following settings are for the Analog module only. Refer to Adjusting the reference levels, in the Frame Grabbers chapter of the Matrox Odyssey Installation and Hardware Guide. There are three ways to change the input signal's gain:

    The first method is to set the BlackReference and WhiteReference properties as a part of the maximum hardware value. This method is commonly used interactively (for example, in an application that allows you to change the settings until you are satisfied with the image quality). Note that the black reference level must always be less than the white level. Do not use the InputGain property if you are using this method since the gain will be adjusted automatically.

    The second method is to set the black and the white reference levels in Volts (for example, give 0.7 for 700 mV). By setting the reference level in volts, the optimum levels for the offset and gain controls will be calculated automatically. This is more useful if you know the actual input signal voltages.

    The third method is to set BlackReference and then use the InputGain property set to a value between the minimum and maximum values. This method corresponds more closely to the actual hardware that controls the reference levels. The hardware has an offset control followed by a gain control; the analog-to-digital converter cannot be programmed directly with the reference levels. Note that when using this method, you should not specify a white reference level because it would cause the gain to be altered.

  • This property can be set using a voltage value if the UseVoltageReference property is set to True. The reference levels are from -1.0V to +1.0V (for example, use 0.7 for 700mV).
Remarks for Matrox Orion
  • The minimum white reference level setting 1 corresponds to 1.6V, while the maximum white reference level setting 254 corresponds to 2.6V.
  • Note that some consecutive settings between these values might produce the same result due to the fact that there are only 98 distinct adjustments (adjustments of 10.23 mV each).
  • When grabbing color using the decoder section of Matrox Orion, you can control the brightness, contrast, hue, and saturation levels of the composite input signal, using the Brightness, Contrast, Hue and Saturation properties, respectively.
  • When grabbing monochrome data using the decoder section of Matrox Orion, you can control the brightness and contrast levels of the input signal, using the Brightness, and Contrast properties, respectively.
Remarks for Matrox Solios XA
  • The minimum white reference level setting 1 corresponds to -1V, while the maximum white reference level setting 255 corresponds to +1V. Note that the white level should be higher than the black level.
  • The following settings are for the Analog module only. Refer to Adjusting the reference levels, in the Frame Grabbers chapter of the Matrox Odyssey Installation and Hardware Guide. There are three ways to change the input signal's gain:

    The first method is to set the BlackReference and WhiteReference properties as a part of the maximum hardware value. This method is commonly used interactively (for example, in an application that allows you to change the settings until you are satisfied with the image quality). Note that the black reference level must always be less than the white level. Do not use the InputGain property if you are using this method since the gain will be adjusted automatically.

    The second method is to set the black and the white reference levels in Volts (for example, give 0.7 for 700 mV). By setting the reference level in volts, the optimum levels for the offset and gain controls will be calculated automatically. This is more useful if you know the actual input signal voltages.

    The third method is to set BlackReference and then use the InputGain property set to a value between the minimum and maximum values. This method corresponds more closely to the actual hardware that controls the reference levels. The hardware has an offset control followed by a gain control; the analog-to-digital converter cannot be programmed directly with the reference levels. Note that when using this method, you should not specify a white reference level because it would cause the gain to be altered.

  • This property can be set using a voltage value if the UseVoltageReference property is set to True. The reference levels are from -1.0V to +1.0V (for example, use 0.7 for 700mV).


Digitizer.Allocate Method

Allocate method

See Also | Availability | MIL Equivalent | WhiteReference | Control
User Guide:
Properties of images
Setting up controls

Reference:
Digitizer.AutomaticAllocation
Digitizer.Free
Digitizer.IsAllocated
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigAlloc()
Digitizer
Allocate
Synopsis
Allocates the resources of the Digitizer control.
[]
Syntax
object.Allocate()
[]
Syntax
void object->Allocate()
Remarks
  • By default, the control's AutomaticAllocation property is set to True, and therefore allocation is done automatically.
  • To preserve resources and delay allocation until necessary, set the AutomaticAllocation property to False and call the Allocate method only when the control is actually needed.
  • To create a new Digitizer control at run-time, use the CreateObject method of the Application control.
  • If you call the Allocate method while the control is in the allocated state, an error is generated. To determine the allocation state of a control, use the IsAllocated property.
  • The following properties cannot be changed at run-time while the control is in the allocated state (free the control using the Free method):
    • OwnerSystem
    • OwnerSystemName
    • DeviceNumber
    • Format
    • InitializationFlag
    • LUT.DataDepth
    • LUT.DataType
    • LUT.NumberOfBands
    • LUT.Size
  • If you try to allocate a Digitizer control before its owner system is allocated, an error is generated.
[]
Example
This example demonstrates how to allocate multiple controls with a single call to the Allocate method.

Digitizer1.AutomaticAllocation = True
Digitizer1.OwnerSystem = System1

' This call will also allocate Digitizer1 since
' its OwnerSystem property is System1 and
' its AutomaticAllocation property is set to True
System1.Allocate()
[]
Example
This example demonstrates how to allocate multiple controls with a single call to the Allocate method.

m_Digitizer1->AutomaticAllocation = TRUE;
m_Digitizer1->OwnerSystem = m_System1;

// This call will also allocate m_Digitizer1 since
// its OwnerSystem property is m_System1 and
// its AutomaticAllocation property is set to TRUE
m_System1->Allocate();


Digitizer.Control Method

Control method

See Also | Availability | MIL Equivalent | Allocate | Focus
Reference:
Digitizer.Inquire
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox CronosPlus
Not supported on Matrox Odyssey XD

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Orion
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Solios XCL
See remarks for support on Matrox Solios XA
MdigControl(
ControlType =
M_BRIGHTNESS or
M_CAMERA_LOCK or
(M_ENABLED +
M_FAST) or
M_CAMERA_PRESENT_SENSITIVITY or
M_CAMERALINK_CCn_SOURCE or
M_CAPTURE_QUALITY or
M_CAPTURE_SIZE or
M_COUPLING_MODE or
(M_AC +
M_DC) or
M_FOCUS or
M_GAMMA or
M_GAIN or
M_AUTO_EXPOSURE or
M_GRAB_AUTOMATIC_INPUT_GAIN or
(M_CHROMINANCE +
M_LUMINANCE) or
M_GRAB_INPUT_GAIN or
(M_CHn +
M_CHROMINANCE +
M_LUMINANCE) or
M_GRAB_SAMPLING_POSITION or
M_HUE or
M_INPUT_FILTER or
M_IRIS or
M_OPTICAL_FILTER or
M_PAN or
M_SATURATION or
M_SHARPNESS or
M_SHUTTER or
M_SOURCE_COMPENSATION or
M_TARGET_TEMPERATURE or
M_TILT or
M_WHITE_BALANCE_U or
M_WHITE_BALANCE_V or
M_ZOOM
)
Digitizer
Control
Synopsis
Controls the attributes of the Digitizer control.
[]
Syntax
object.Control(
ByVal ControlType As DigInquireAndControlConstants,
ByVal Value As Object
)
[]
Syntax
void object->Control(
enum DigInquireAndControlConstants ControlType,
const _variant_t & Value
)
ControlType
A DigInquireAndControlConstants, DigCameraLinkSpecificConstants, DigGrabInputGainConstants or Dig1394SpecificConstants expression that specifies the attribute to be modified.

See the Parameter associations table for possible values.
Value
A variantobjectvariant (object for Visual Basic .Net) value that specifies the new value to be set.
Parameter association
Possible values for parameters ControlType and ControlValue.

The following ControlType parameter settings are DigInquireAndControlConstants expressions.

ControlType |  | ControlValue |
digCameraPresentSensitivity | Sets the number of vertical synchronization pulses that will occur after a channel switch. If no signal is present, a "signal not present" error is generated. This control type is available only when the digFastCameraLock control type is enabled. | amilDefault | Selects the number of vertical synchronization pulses that provides the optimal compromise between speed and reliability (varies depending on the board).
 |  | 0 - 255 | The number of veritical synchronization pulses for which the digitizer will wait. 0 means the digitizer will not check for a camera before grabbing.
digChrominanceAutomaticInputGain | Sets whether the input gain setting is automatically set by the on-board decoder and applied to the chrominance component of the input signal (for composite, after separation). To apply the input gain to both the luminance and chrominance components of the input signal, use the AutomaticInputGain property. | digEnable | Enables automatic setting of the input gain for the chrominance component of the input signal.
 |  | digDisable | Disables automatic setting of the input gain for the chrominance component of the input signal.
digChrominanceInputGain | Sets the input gain and applies it to the chrominance component of the input signal. To apply the input gain to both the luminance and chrominance components of the input signal, use the InputGain property. | amilDefault | Specifies that the default gain (board-specific) is applied to the chrominance component of the input signal.
 |  | 0-255 | Specifies an integer value which is used to determine the gain applied to the chrominance component of the input signal.
digCouplingMode | Sets the signal coupling of the available data channels. | digAC | Specifies that the input signal of the data channel(s) is capacitor coupled (AC coupled).
 |  | digDC | Specifies that the input signal of the data channel(s) is directly coupled (DC coupled).
digFastCameraLock | Controls ultra-fast camera locking. To enable normal camera locking, use the CameraLockEnabled. property. | digEnable | Enables ultra-fast camera locking. This uses numerous optimizations to increase the speed of the lock. It allows quality to be compromised for the goal of speed. Use ultra-fast camera locking when high reliability is not an issue; increasing the speed of the camera lock affects the robustness of the subsequent unlock.
 |  | digDisable | Disables ultra-fast camera locking.
digGrabSamplingPosition | Fine-tunes the delay along the analog signal at which the pixel clock will sample. | 0-255 | Specifies the delay along the analog signal.
digLuminanceAutomaticInputGain | Sets whether the input gain is automatically set by the on-board decoder and applied to the luminance component of the input signal (for composite, after separation). To apply the input gain to both the luminance and chrominance components of the input signal, use the AutomaticInputGain property. | digEnable | Enables automatic setting of the input gain for the luminance component of the input signal.
 |  | digDisable | Disables automatic setting of the input gain for the luminance component of the input signal.
digLuminanceInputGain | Sets the input gain and applies it to the luminance component of the input signal. To apply the input gain to both the luminance and chrominance components of the input signal, use the InputGain property. | amilDefault | Specifies that the default gain (board-specific) is applied to the luminance component of the input signal.
 |  | 0-255 | Specifies an integer value which is used to determine the gain applied to the luminance component of the input signal.
The following ControlType parameter settings are DigCameraLinkSpecificConstants expressions.

ControlType |  | ControlValue |
digCameraControlOutputnSource | Routes a specific camera control output n, where n is the number of the camera control output (1, 2, 3, or 4). | amilDefault | Implements the default behavior, as specified in the DCF.
 |  | digGrabExposureTimer1 | The camera control output comes from exposure timer 1.
 |  | digGrabExposureTimer2 | The camera control output comes from exposure timer 2.
 |  | digHsync | The camera control output comes from the horizontal synchronization frequency.
 |  | digPixClk | The camera control output comes from the pixel clock frequency.
 |  | digUserBitCCA | Adds the specified Camera Link signal to group A, so that setting one of the user-defined signal in this group will set all user-defined signals in this group.
 |  | digUserBitCCB | Adds the specified Camera Link signal to group B, so that setting one of the user-defined signal in this group will set all user-defined signals in this group.
 |  | digVsync | The camera control output comes from the vertical synchronization frequency.
The following ControlType parameter settings are DigGrabInputGainConstants expressions.

ControlType |  | ControlValue |
digInputGainOnChm | Sets the input gain that is applied to acquistion path m, where m is the number of the acquisition path used by the specified digitizer (0, 1, 2 or 3). To apply the input gain to all the acquisition paths used by the digitizer, use the InputGain property. | amilDefault | Specifies the default gain. (Board-specific)
 |  | 0-255 | Specifies an integer value which is used to determine the gain.
 |  | digGain0 | Specifies the first supported gain for the given valid input voltage. (Board-specific)
 |  | digGain1 | Specifies the second supported gain for the given valid input voltage. (Board-specific)
 |  | digGain2 | Specifies the third supported gain for the given valid input voltage. (Board-specific)
 |  | digGain3 | Specifies the fourth supported gain for the given valid input voltage. (Board-specific)
 |  | digGain4 | Specifies the fifth supported gain for the given valid input voltage. (Board-specific)
The following ControlType parameter settings are Dig1394SpecificConstants expressions. Note that these settings are DCAM-specific. For more information, refer to your camera's Hardware Reference manual and the Setting 1394 DCAM-compliant camera features section in Chapter 5: Matrox Meteor-II.

ControlType |  | ControlValue |
digAutoExposure | Sets whether the exposure should be set manually to the specified value if the camera controls the exposure level automatically and continously. | amilDefault | The automatic exposure will be set to its automatic mode.
 |  | value | Specifies a value between the minimum and maximum values supported by the camera. The supported camera-specific values can be determined using the Inquire method.
digBrightness | Sets the black level of the picture. | amilDefault | The brightness will be set to its automatic mode.
 |  | value | Specifies a value between the minimum and maximum values supported by the camera. The supported camera-specific values can be determined using the Inquire method.
digCaptureQuality | Controls the capture quality of the image. | amilDefault | The camera feature will be set to its automatic mode.
 |  | value | Specifies a value between the minimum and maximum values supported by the camera. The supported camera-specific values can be determined using the Inquire method.
digCaptureSize | Controls the capture size of the image. | amilDefault | The camera feature will be set to its automatic mode.
 |  | value | Specifies a value between the minimum and maximum values supported by the camera. The supported camera-specific values can be determined using the Inquire method.
digFocus | Controls the lens focus capabilities. | amilDefault | The camera feature will be set to its automatic mode.
 |  | value | Specifies a value between the minimum and maximum values supported by the camera. The supported camera-specific values can be determined using the Inquire method.
digGain | Controls the camera circuit gain. | amilDefault | The camera feature will be set to its automatic mode.
 |  | value | Specifies a value between the minimum and maximum values supported by the camera. The supported camera-specific values can be determined using the Inquire method.
digGamma | Defines the function between the incoming light level and output picture level. | amilDefault | The camera feature will be set to its automatic mode.
 |  | value | Specifies a value between the minimum and maximum values supported by the camera. The supported camera-specific values can be determined using the Inquire method.
digHue | Controls the color phase of the picture. | amilDefault | The camera feature will be set to its automatic mode.
 |  | value | Specifies a value between the minimum and maximum values supported by the camera. The supported camera-specific values can be determined using the Inquire method.
digIris | Controls the mechanical lens iris. | amilDefault | The camera feature will be set to its automatic mode.
 |  | value | Specifies a value between the minimum and maximum values supported by the camera. The supported camera-specific values can be determined using the Inquire method.
digOpticalFilter | Controls the optical filter of the camera lens function. | amilDefault | The camera feature will be set to its automatic mode.
 |  | value | Specifies a value between the minimum and maximum values supported by the camera. The supported camera-specific values can be determined using the Inquire method.
digPan | Controls the camera panning capabilities. | amilDefault | The camera feature will be set to its automatic mode.
 |  | value | Specifies a value between the minimum and maximum values supported by the camera. The supported camera-specific values can be determined using the Inquire method.
digSaturation | Controls the color saturation of the picture. | amilDefault | The camera feature will be set to its automatic mode.
 |  | value | Specifies a value between the minimum and maximum values supported by the camera. The supported camera-specific values can be determined using the Inquire method.
digSharpness | Controls the sharpness of the picture. | amilDefault | The camera feature will be set to its automatic mode.
 |  | value | Specifies a value between the minimum and maximum values supported by the camera. The supported camera-specific values can be determined using the Inquire method.
digShutter | Controls the integration time of the incoming light. | amilDefault | The camera feature will be set to its automatic mode.
 |  | value | Specifies a value between the minimum and maximum values supported by the camera. The supported camera-specific values can be determined using the Inquire method.
digSourceCompensation | Sets the source compensation for cropping an input signal capture window. | amilDefault | Implements the default behavior, which is the same as digEnable.
 |  | digEnable | When cropping the input region (using the Digitizer control's InputRegion property), the capture window will be cropped by software, if not supported by hardware.
 |  | digDisable | When cropping the input region (using the Digitizer control's InputRegion property), the capture window will be cropped by hardware provided that you are using a format 7-capable camera and the trigger is enabled. In this case, if the capture window specified does not match a subregion, an error will be generated.
digTargetTemperature | Sets the target temperature for the camera. | amilDefault | The camera feature will be set to its automatic mode.
 |  | value | Specifies a value between the minimum and maximum values supported by the camera. The supported camera-specific values can be determined using the Inquire method.
digTilt | Controls the camera tilt capabilities. | amilDefault | The camera feature will be set to its automatic mode.
 |  | value | Specifies a value between the minimum and maximum values supported by the camera. The supported camera-specific values can be determined using the Inquire method.
digWhiteBalanceU | Sets the U chrominance (color) component of the data. | amilDefault | The camera feature will be set to its automatic mode.
 |  | value | Specifies a value between the minimum and maximum values supported by the camera. The supported camera-specific values can be determined using the Inquire method.
digWhiteBalanceV | Sets the V chrominance (color) component of the data. | amilDefault | The camera feature will be set to its automatic mode.
 |  | value | Specifies a value between the minimum and maximum values supported by the camera. The supported camera-specific values can be determined using the Inquire method.
digZoom | Controls the camera lens zoom capabilities. | amilDefault | The camera feature will be set to its automatic mode.
 |  | value | Specifies a value between the minimum and maximum values supported by the camera. The supported camera-specific values can be determined using the Inquire method.
Remarks for Matrox Genesis
  • The following ControlType setting is supported:
    • digInputGainOnChm
  • The ControlType setting digInputGainOnChm supports the following ControlValue settings:
    Setting | Input Voltage | Gain
    amilDefault | Same as digGain3 | Same as digGain3
    digGain0 | 1.0 - 1.4 Vpp | 2
    digGain1 | 0.8 - 1.0 Vpp | 2.7
    digGain2 | 0.7 - 0.8 Vpp | 3.3
    digGain3 | 0.0 - 0.7 Vpp | 4.1
Remarks for Matrox Helios XA
  • The following ControlType settings are supported:
    • digCouplingMode
    • digInputGainOnChm
  • The ControlType setting digInputGainOnChm supports the following ControlValue settings:
    Setting | Input Voltage | Gain
    amilDefault | Same as the one specified in the DCF. | Same as the one specified in the DCF.
    digGain0 | 0.0-1.0 Vpp | 1
    digGain1 | 0.0 - 0.5 Vpp | 2
    digGain2 | 0.0 - 0.333 Vpp | 3
    digGain3 | 0.0 - 0.25 Vpp | 3.99

    An integer value in the range of 0-255 can also be used to determine the gain.

Remarks for Matrox Helios XCL
  • The following ControlType setting is supported:
    • digCameraControlOutputnSource
  • When the ControlType setting digCameraControlOutputnSource is set to digUserBitCCA, use the user-defined signal CC0 to control the group. Note that you can only ouput a total of 2 different signals on the 4 signals available.
  • When the ControlType setting digCameraControlOutputnSource is set to digUserBitCCB, use the user-defined signal CC1 to control the group. Note that you can only ouput a total of 2 different signals on the 4 signals available.
  • If you set the digCameraControlOutputnSource control type to digUserBitCCA or digUserBitCCB, use the CameraControl1, CameraControl2, CameraControl3, and CameraControl4 properties to access the user-defined signals of group A or B.
Remarks for Matrox Meteor-II /1394
  • The following ControlType settings are supported:
    • digAutoExposure
    • digBrightness
    • digCaptureSize
    • digCaptureQuality
    • digFocus
    • digGamma
    • digGain
    • digHue
    • digIris
    • digOpticalFilter
    • digPan
    • digSaturation
    • digSharpness
    • digShutter
    • digSourceCompensation
    • digTargetTemperature
    • digTilt
    • digWhiteBalanceU
    • digWhiteBalanceV
    • digZoom
  • See the IEEE 1394 serial bus-specific features section in Chapter 5: Matrox Meteor-II of the ActiveMIL Board Specific Notes.
Remarks for Matrox Meteor-II /Camera Link
  • The following ControlType setting is supported:
    • digCameraControlOutputnSource
  • The ControlType setting digCameraControlOutputnSource does not support the following ControlValue settings:
    • digHSync
    • digPixClk
    • digVSync
  • Note when setting the digCameraControlOutputnSource control type to digUserBitCCA or digUserBitCCB, user-defined signal 0 can only be assigned to group A and user-defined signal 1 can only be assigned to group B. In addition, use user-defined signal 0 to access the user-defined signals of group A and use user-defined signal 1 to access the user-defined signals of group B.
Remark for Matrox Meteor-II /Multi-Channel
  • The following ControlType setting is supported for the PC/104-Plus form factor only:
    • digGrabSamplePosition.
Remarks for Matrox Morphis
  • The following ControlType settings are supported:
    • digChrominanceAutomaticInputGain
    • digChrominanceInputGain
    • digFastCameraLock
    • digLuminanceAutomaticInputGain
    • digLuminanceInputGain
  • Note that the ControlType setting digChrominanceInputGain supports the ControlValue setting 0-255 only when the ControlType setting digChrominanceAutomaticInputGain is disabled and the AutomaticInputGain property of the Digitizer control is set to False.
  • Note that the ControlType setting digLuminanceInputGain supports the ControlValue setting 0-255 only when the ControlType setting digLuminanceAutomaticInputGain is disabled and the AutomaticInputGain property of the Digitizer control is set to False.
Remarks for Matrox Odyssey XA
  • The following ControlType settings are supported:
    • digCouplingMode
    • digInputGainOnChm
  • The ControlType setting digInputGainOnChm supports the following ControlValue settings:
    Setting | Input Voltage | Gain
    amilDefault | Same as the one specified in the DCF. | Same as the one specified in the DCF.
    digGain0 | 0.0-1.0 Vpp | 1
    digGain1 | 0.0 - 0.5 Vpp | 2
    digGain2 | 0.0 - 0.333 Vpp | 3
    digGain3 | 0.0 - 0.25 Vpp | 3.99

    An integer value in the range of 0-255 can also be used to determine the gain.

Remarks for Matrox Odyssey XCL
  • The following ControlType setting is supported:
    • digCameraControlOutputnSource
  • When the ControlType setting digCameraControlOutputnSource is set to digUserBitCCA, use the user-defined signal CC0 to control the group. Note that you can only ouput a total of 2 different signals on the 4 signals available.
  • When the ControlType setting digCameraControlOutputnSource is set to digUserBitCCB, use the user-defined signal CC1 to control the group. Note that you can only ouput a total of 2 different signals on the 4 signals available.
  • If you set the digCameraControlOutputnSource control type to digUserBitCCA or digUserBitCCB, use the CameraControl1, CameraControl2, CameraControl3, and CameraControl4 properties to access the user-defined signals of group A or B.
Remarks for Matrox Orion
  • The following ControlType settings are supported on Matrox Orion /Standard and /Dual for 4Sight-II only:
    • digFastCameraLock
    • digCameraPresentSensitivity
  • Note that when the ControlType setting digFastCameraLock is enabled on Matrox Orion /Standard and /Dual for 4Sight-II, the CameraLockSensitivity and CameraUnlockSensitivity properties have no effect.
Remarks for Matrox Solios XA
  • The following ControlType settings are supported:
    • digCouplingMode
    • digInputGainOnChm
  • The ControlType setting digInputGainOnChm supports the following ControlValue settings:
    Setting | Input Voltage | Gain
    amilDefault | Same as the one specified in the DCF. | Same as the one specified in the DCF.
    digGain0 | 0.0-1.0 Vpp | 1
    digGain1 | 0.0 - 0.5 Vpp | 2
    digGain2 | 0.0 - 0.333 Vpp | 3
    digGain3 | 0.0 - 0.25 Vpp | 3.99

    An integer value in the range of 0-255 can also be used to determine the gain.

Remarks for Matrox Solios XCL
  • The following ControlType setting is supported:
    • digCameraControlOutputnSource
  • When the ControlType setting digCameraControlOutputnSource is set to digUserBitCCA, use the user-defined signal CC0 to control the group. Note that you can only ouput a total of 2 different signals on the 4 signals available.
  • When the ControlType setting digCameraControlOutputnSource is set to digUserBitCCB, use the user-defined signal CC1 to control the group. Note that you can only ouput a total of 2 different signals on the 4 signals available.
  • If you set the digCameraControlOutputnSource control type to digUserBitCCA or digUserBitCCB, use the CameraControl1, CameraControl2, CameraControl3, and CameraControl4 properties to access the user-defined signals of group A or B.


Digitizer.Focus Method

Focus method

See Also | Availability | MIL Equivalent | Control | Free
User Guide:
Auto-focusing

Reference:
Digitizer.FocusParameters
Not available in ActiveMIL-Lite

Available in ActiveMIL
MdigFocus()
Digitizer
Focus
Synopsis
Adjusts the camera's lens motor to a position which provides optimum focus.
[]
Syntax
[Integer =] object.Focus(
ByVal ProcessingMode As DigFocusModeConstants,
ByVal AutoGrab As Boolean,
ByVal Subsample As Boolean,
ByVal Filter As Boolean
)
[]
Syntax
[long =] object->Focus(
enum DigFocusModeConstants ProcessingMode,
VARIANT_BOOL AutoGrab,
VARIANT_BOOL Subsample,
VARIANT_BOOL Filter
)
ProcessingMode (optional in , default is digSmartScan+n)
A DigFocusModeConstants expression that specifies the strategy used to find the optimum focus position.
Value | Meaning
digBisection | Break down the positional range until the optimum focus position is found.
digRefocus+n | Scan up or down until the optimum focus position is found or until the minimum or maximum position is reached. The default number of positions used to verify a found peak is 2 but can be changed by adding the number to digRefocus.
digScanAll | Scan all positions between the minimum and maximum in order to find the optimum focus position.
digSmartScan+n | Perform three refocus searches, each with a smaller positional increment, until the optimum focus position is found. The default number of positions used to verify a found peak is 2 but can be changed by adding the number to digSmartScan.
digEvaluate | Do not find the optimum focus position; just return the focus indicator value for the image specified by the Image property.
AutoGrab (optional in , default is True)
A boolean value that specifies whether the images are grabbed automatically or by the MoveLens event procedure.
Value | Meaning
True | Grabbing is performed automatically .
False | Grabbing is performed by the MoveLens event procedure.
Subsample (optional in , default is True)
A boolean value that specifies whether to subsample the grabbed images.
Value | Meaning
True | Subsample the grabbed images .
False | Don't subsample.
Filter (optional in , default is True)
A boolean value that specifies whether to filter the grabbed images.
Value | Meaning
True | Filter the grabbed images .
False | Don't filter.
Return value
The optimum focus position or the focus indicator value, depending on the setting for DigFocusModeConstants.
Remarks
  • If the Digitizer control is created at design-time, the .NET ActiveX Control Importer (AxImp.exe) renames this ActiveMIL method from Focus() to CtlFocus() to avoid name clashing with the Focus() method of the .NET Windows Form control. See the Windows Forms ActiveX Control Importer (AxImp.exe) topic in MSDN for more information. In addition, if the control is created at run-time with the AxMatrox.ActiveMIL.* namespace, you must use CtlFocus() to call the ActiveMIL Focus() method.
  • This method is not available in ActiveMIL-Lite.
  • This method determines the optimum focus position by grabbing an image at an initial lens position and analyzing the focus quality of the grabbed images. It then fires a MoveLens event for which you must code a procedure that changes the position of the lens motor. The method grabs and analyzes another image. The process repeats until the optimum focus position is found.
  • The specified search strategy determines how the position of the lens motor is updated (in which direction and how much) between grabs.
  • The FocusParameters property specifies the minimum, maximum, and starting focus positions of the search. It also allows you to analyze only a sub-region of each grabbed image.
  • When the AutoGrab setting is False, you must add a MoveLens event procedure that changes the position of the lens motor between grabs.
[]
Example
This example performs an auto-focus operation.

//Perform auto-focus
long Position;
Position = m_Digitizer1->Focus(
   static_cast<DigFocusModeConstants>(digSmartScan + FOCUS_SENSITIVITY),
   FALSE, TRUE, TRUE);


Digitizer.Free Method

Free method

See Also | Availability | MIL Equivalent | Focus | GrabAbort
User Guide:
Setting up controls

Reference:
Digitizer.Allocate
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigFree()
Digitizer
Free
Synopsis
Frees the resources of the Digitizer control.
[]
Syntax
object.Free()
[]
Syntax
void object->Free()
Remarks
  • The resources associated with a Digitizer control are automatically freed when the control is destroyed. You must use the Free method if you want to free the control prematurely.
  • To determine the allocation state of a control, use the IsAllocated property. While a Digitizer control is in the allocated state, some of its properties cannot be changed at run-time (for example, you cannot change the owner system of the control). At run-time, to modify a property that cannot be changed after allocation, you must free the control (using the Free method), change its property(ies), and then re-allocate the control (using the Allocate method). For example, at run-time, to change the owner system of the Digitizer control, you must free the Digitizer control, make the change to the OwnerSystem property, and allocate the control again.
  • The Free method will generate an error if the control is not allocated.
  • Any property can be changed when its control is in the allocated state, unless it is otherwise stated in the Remarks section of that property.
[]
Example
This example shows how to use the Free method.

If Digitizer1.IsAllocated Then
    Digitizer1.Free()
End If
[]
Example
This example shows how to use the Free method.

if (m_Digitizer1->IsAllocated)
   m_Digitizer1->Free();


Digitizer.Grab Method

Grab method

See Also | Availability | MIL Equivalent | GrabWait | Halt
User Guide:
Grab mode
Grabbing a single field
Grabbing an image - overview
Triggered grabs

Reference:
Digitizer.Format
Digitizer.GrabContinuous
Digitizer.GrabFieldNumber
Digitizer.GrabMode
Digitizer.GrabWait
Digitizer.Image
Available in ActiveMIL-Lite

Available in ActiveMIL

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Orion
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MdigGrab()
Digitizer
Grab
Synopsis
Grabs data from an input device into the digitizer's associated destination image.
[]
Syntax
object.Grab()
[]
Syntax
void object->Grab()
Remarks
  • The data will be written to the image specified by the Image property. The image must have its CanGrab property set to True.
  • By default, this method returns once the entire frame has been grabbed. To have the Grab method return immediately, set the GrabMode property to digAsynchronous. This is useful when doing double-buffered processing. To synchronize with the end of a frame in asynchronous mode, use the GrabWait method.
  • When acquiring data from a line-scan camera, the exact number of rows grabbed is determined by the DCF.
  • In all cases, if the grab destination image is smaller than the digitizer's frame size, the image will be filled and all other data will be lost. If the grab destination image is larger than the digitizer's frame size, the image will be filled up to the digitizer's frame size. The rest of the image will remain untouched.
  • When acquiring data from an interlaced camera, both the odd and even fields are grabbed unless otherwise set with the GrabFieldNumber property.
  • Use the GrabContinuous method to continuously acquire frames of data. If you need to process the sequential frames, use the MultipleBuffering.Process method instead. The MultipleBuffering.Process method grabs images sequentially into a list of Image controls and performs the processing in an event procedure that handles the ProcessModifiedImage event.
  • Refer to the Format property of the Image control for potential restrictions relating to your grab destination image.
  • It is not possible to grab into a color-band child image when the image format is packed.
Remarks for Matrox Corona-II
  • When performing a grab, the width and the horizontal position of the grab destination image and the grab region (set with properties of the InputRegion property) must be a multiple of 4 bytes. If not, the grab will be clipped accordingly.
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 or 16 bits.
  • When performing a grab, the width of the grab destination image (set using the SizeX property of the Image control) must be at least 16 bytes. If not, an error will occur.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox CronosPlus
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 bits.
  • When performing a grab, the width of the grab destination image (set using the SizeX property of the Image control) must be at least 16 bytes. The height (set using the SizeY property of the Image control) must be at least 4 lines. If not, an error will occur.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Genesis
  • When performing a grab, the width of the grab destination image must be at least 32 bytes. If not, an error will occur.
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can be 8, 16, or 32 bits.
  • When using a color camera to grab into a monochrome image, the red (alpha) band is grabbed.
Remarks for Matrox Helios XA
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 or 16 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Helios XCL
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 or 16 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Meteor-II /1394
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 or 16 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Meteor-II /Camera Link
  • When performing a grab, the width and the horizontal position of the grab destination image and the grab region (set with properties of the InputRegion property) must be a multiple of 4 bytes. If not, the grab will be clipped accordingly.
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 or 16 bits.
  • When using a color camera to grab into a monochrome image, the red (alpha) band is grabbed.
Remarks for Matrox Meteor-II /Digital
  • When performing a grab, the width and the horizontal position of the grab destination image and the grab region (set with properties of the InputRegion property) must be a multiple of 4 bytes. If not, the grab will be clipped accordingly.
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 or 16 bits.
  • When using a color camera to grab into a monochrome image, the red (alpha) band is grabbed.
Remarks for Matrox Meteor-II /Multi-Channel
  • When performing a grab, the width and the horizontal position of the grab destination image and the grab region (set with properties of the InputRegion property) must be a multiple of 4 bytes. If not, the grab will be clipped accordingly.
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 bits.
  • When performing a grab, the width of the grab destination image (set using the SizeX property of the Image control) must be at least 16 bytes. If not, an error will occur.
  • When using a color camera to grab into a monochrome image, the green band is grabbed.
Remarks for Matrox Meteor-II /Standard
  • When performing a grab, the width and the horizontal position of the grab destination image and the grab region (set with properties of the InputRegion property) must be a multiple of 4 bytes. If not, the grab will be clipped accordingly.
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 bits.
  • When performing a grab, the width of the grab destination image (set using the SizeX property of the Image control) must be at least 16 bytes. If not, an error will occur.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Morphis
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Odyssey XA
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can be 8, 16, or 32 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Odyssey XCL
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can be 8, 16, or 32 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Odyssey XD
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can be 8, 16, or 32 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Orion
  • When performing a grab, the width and the horizontal position of the grab destination image and the grab region (set with properties of the InputRegion property) must be a multiple of 4 bytes. If not, the grab will be clipped accordingly.
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Solios XA
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 or 16 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Solios XCL
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 or 16 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
[]
Example
This example shows how to grab one single frame.

m_Digitizer1->Image = m_Image1;
m_Digitizer1->Grab();


Digitizer.GrabAbort Method

GrabAbort method

Availability | MIL Equivalent | Free | GrabContinuous
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Orion
Fully supported on Matrox Solios XCL
Fully supported on Matrox Solios XA
Fully supported on Matrox Odyssey XD

Not supported on:
Not supported on Matrox Meteor-II /1394
MdigControl(M_GRAB_ABORT)
Digitizer
GrabAbort
Synopsis
Stops the grab in progress and aborts queued grabs.
[]
Syntax
object.GrabAbort()
[]
Syntax
void object->GrabAbort()
Remark
  • This is useful for cancelling a triggered grab that is waiting for the trigger.


Digitizer.GrabContinuous Method

GrabContinuous method

See Also | Availability | MIL Equivalent | GrabAbort | GrabWait
User Guide:
Grab mode
Grabbing a single field
Grabbing an image - overview
Triggered grabs

Reference:
Digitizer.Format
Digitizer.GrabContinuous
Digitizer.GrabFieldNumber
Digitizer.GrabMode
Digitizer.GrabWait
Digitizer.Image
Available in ActiveMIL-Lite

Available in ActiveMIL

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Orion
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MdigGrabContinuous()
Digitizer
GrabContinuous
Synopsis
Grabs data continuously from an input device into the digitizer's associated destination image.
[]
Syntax
object.GrabContinuous()
[]
Syntax
void object->GrabContinuous()
Remarks
  • The data will be written to the image specified by the Image property. The image must have its CanGrab property set to True.
  • When acquiring data from a line-scan type of input device, each line of the destination image is filled from top to bottom or a single line is grabbed, depending on the data format specified by the Format property. The operation will end only when the entire image or a single line has been filled.
  • When grabbing in color, the destination image must have the same number of color bands (in general, three) as the digitizer. All bands will be filled simultaneously.
  • By default, this method returns once the entire frame has been grabbed. To have the Grab method return immediately, set the GrabMode property to digAsynchronous. This is useful when doing double-buffered processing. Alternatively, you can use the Process method of the MultipleBuffering property for its multiple buffering capabilities. To synchronize with the end of a frame in asynchronous mode, use the GrabWait method.
  • When acquiring data from a line-scan camera, the exact number of rows grabbed is determined by the DCF.
  • In all cases, if the grab destination image is smaller than the digitizer's frame size, the image will be filled and all other data will be lost. If the grab destination image is larger than the digitizer's frame size, the image will be filled up to the digitizer's frame size. The rest of the image will remain untouched.
  • When acquiring data from an interlaced camera, both the odd and even fields are grabbed unless otherwise set with the GrabFieldNumber property.
  • Use the GrabContinuous method to continuously acquire frames of data. If you need to process the sequential frames, use the MultipleBuffering.Process method to grab images sequentially into a list of Image controls and perform the processing in an event procedure that handles the ProcessModifiedImage event.
  • Refer to the Format property for potential restrictions relating to your grab destination image.
  • It is not possible to grab into a color-band child image when the image format is packed.
Remarks for Matrox Corona-II
  • When performing a grab, the width and the horizontal position of the grab destination image and the grab region (set with the InputRegion.SizeX and InputRegion.SizeY properties or with the InputRegion.OffsetX or InputRegion.OffsetY properties) must be a multiple of 4 bytes. If not, the grab will be clipped accordingly.
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 or 16 bits.
  • When performing a grab, the width of the grab destination image (set using the SizeX property of the Image control) must be at least 16 bytes. If not, an error will occur.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox CronosPlus
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 bits.
  • When performing a grab, the width of the grab destination image (set using the SizeX property of the Image control) must be at least 16 bytes. The height (set using the SizeY property of the Image control) must be at least 4 lines. If not, an error will occur.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Genesis
  • When performing a grab, the width of the grab destination image must be at least 32 bytpes. If not, an error will occur.
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can be 8, 16, or 32 bits.
  • When using a color camera to grab into a monochrome image, the red (alpha) band is grabbed.
Remarks for Matrox Helios XA
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 or 16 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Helios XCL
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 or 16 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Meteor-II /1394
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 or 16 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Meteor-II /Camera Link
  • When performing a grab, the width and the horizontal position of the grab destination image and the grab region (set with the InputRegion.SizeX and InputRegion.SizeY properties or with the InputRegion.OffsetX or InputRegion.OffsetY properties) must be a multiple of 4 bytes. If not, the grab will be clipped accordingly.
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 or 16 bits.
  • When using a color camera to grab into a monochrome image, the red (alpha) band is grabbed.
Remarks for Matrox Meteor-II /Digital
  • When performing a grab, the width and the horizontal position of the grab destination image and the grab region (set with the InputRegion.SizeX and InputRegion.SizeY properties or with the InputRegion.OffsetX or InputRegion.OffsetY properties) must be a multiple of 4 bytes. If not, the grab will be clipped accordingly.
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 or 16 bits.
  • When using a color camera to grab into a monochrome image, the red (alpha) band is grabbed.
Remarks for Matrox Meteor-II /Multi-Channel
  • When performing a grab, the width and the horizontal position of the grab destination image and the grab region (set with the InputRegion.SizeX and InputRegion.SizeY properties or with the InputRegion.OffsetX or InputRegion.OffsetY properties) must be a multiple of 4 bytes. If not, the grab will be clipped accordingly.
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 bits.
  • When performing a grab, the width of the grab destination image (set using the SizeX property of the Image control) must be at least 16 bytes. If not, an error will occur.
  • When using a color camera to grab into a monochrome image, the green band is grabbed.
Remarks for Matrox Meteor-II /Standard
  • When performing a grab, the width and the horizontal position of the grab destination image and the grab region (set with the InputRegion.SizeX and InputRegion.SizeY properties or with the InputRegion.OffsetX or InputRegion.OffsetY properties) must be a multiple of 4 bytes. If not, the grab will be clipped accordingly.
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 bits.
  • When performing a grab, the width of the grab destination image (set using the SizeX property of the Image control) must be at least 16 bytes. If not, an error will occur.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Morphis
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Odyssey XA
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can be 8, 16, or 32 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Odyssey XCL
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can be 8, 16, or 32 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Odyssey XD
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can be 8, 16, or 32 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Orion
  • When performing a grab, the width and the horizontal position of the grab destination image and the grab region (set with the InputRegion.SizeX and InputRegion.SizeY properties or with the InputRegion.OffsetX or InputRegion.OffsetY properties) must be a multiple of 4 bytes. If not, the grab will be clipped accordingly.
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Solios XA
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 or 16 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
Remarks for Matrox Solios XCL
  • When performing a grab, the grab destination image's depth (set using the DataDepth property of the Image control) can only be 8 or 16 bits.
  • When performing a grab with a color camera into a monochrome image, the color data is first converted into YUV and then the Y (luminance) component is stored in the image. The color space conversion is done in the hardware.
[]
Example
This example shows how to start a continuous grab.

m_Digitizer1->Image = m_Image1;
m_Digitizer1->GrabContinuous();

// ...

m_Digitizer1->Halt();


Digitizer.GrabWait Method

GrabWait method

See Also | Availability | MIL Equivalent | GrabContinuous | Grab
User Guide:
Double buffering
Grab mode
Multiple buffering

Reference:
Digitizer.Grab
Digitizer.GrabMode
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigGrabWait()
Digitizer
GrabWait
Synopsis
Waits for the end of the grab in progress.
[]
Syntax
object.GrabWait(
ByVal Flag As DigGrabWaitConstants
)
[]
Syntax
void object->GrabWait(
enum DigGrabWaitConstants Flag
)
Flag
A DigGrabWaitConstants expression that specifies the digitizer condition for which to wait.
Value | Meaning
digGrabEnd | Wait for the end of the queued grabs.
digGrabFrameEnd | Waits for the end of current grab.
Remarks
  • This allows you to temporarily override a GrabMode property of digAsynchronous on the specified digitizer.
  • For a continuous grab, you can synchronize your application with each end of frame or end of field using digGrabNextFrame and digGrabNextField, respectively. When grabbing continuously, the digGrabEnd flag cannot be used.
[]
Example
This example shows how to wait for the end of the current grab.

m_Digitizer1->Image = m_Image1;
m_Digitizer1->Grab();
m_Digitizer1->GrabWait(digGrabEnd);


Digitizer.Halt Method

Halt method

See Also | Availability | MIL Equivalent | Grab | Inquire
User Guide:
Grab mode

Reference:
Digitizer.GrabContinuous
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigHalt()
Digitizer
Halt
Synopsis
Halts a continuous grab from an input device.
[]
Syntax
object.Halt()
[]
Syntax
void object->Halt()
Remark
  • This method will wait for the end of the current frame before returning, to ensure the last frame is always valid.
[]
Example
This example shows how to stop a continuous grab.

if (m_Digitizer1->IsAllocated)
   {
   m_Digitizer1->Halt();
   }


Digitizer.Inquire Method

Inquire method

See Also | Availability | MIL Equivalent | Halt | Modified
Reference:
Digitizer.Control
Available in ActiveMIL-Lite

Available in ActiveMIL

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Orion
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Solios XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
MdigInquire(
ControlValue =
M_BRIGHTNESS or
M_CAMERA_LOCK or
(M_ENABLED +
M_FAST) or
M_CAMERALINK_CCn_SOURCE or
M_CAPTURE_QUALITY or
M_CAPTURE_SIZE or
M_COUPLING_MODE or
(M_AC +
M_DC) or
M_FOCUS or
M_GAIN or
M_GAMMA or
M_AUTO_EXPOSURE or
M_GRAB_AUTOMATIC_INPUT_GAIN or
(M_CHROMINANCE +
M_LUMINANCE) or
M_GRAB_INPUT_GAIN or
(M_CHn +
M_CHROMINANCE +
M_LUMINANCE) or
M_GRAB_SAMPLING_POSITION or
M_HOOK_MASTER_THREAD_HANDLE or
M_HOOK_MASTER_THREAD_ID or
M_HUE or
M_IRIS or
M_MODEL or
M_MODEL_LENGTH or
M_NATIVE_CAMERA_ID or
M_NATIVE_CONTROL_ID or
M_NATIVE_ID or
M_NATIVE_LAST_GRAB_OSB_ID or
M_OPTICAL_FILTER or
M_PAN or
M_SATURATION or
M_SERIAL_NUMBER_0 or
M_SERIAL_NUMBER_1 or
M_SHARPNESS or
M_SHUTTER or
M_SOURCE_COMPENSATION or
M_TARGET_TEMPERATURE or
M_TILT or
M_VENDOR or
M_VENDOR_LENGTH or
M_WHITE_BALANCE_U or
M_WHITE_BALANCE_V or
M_ZOOM
)
Digitizer
Inquire
Synopsis
Inquires about the attributes of the Digitizer control.
[]
Syntax
[Object =] object.Inquire(
ByVal ParamToInquire As DigInquireAndControlConstants
)
[]
Syntax
[_variant_t =] object->Inquire(
enum DigInquireAndControlConstants ParamToInquire
)
ParamToInquire
A DigInquireAndControlConstants, a DigCameraLinkSpecificConstants, DigGrabInputGainConstants or Dig1394SpecificConstants expression that specifies the attribute to inquire about.

See the Parameter associations table for possible values.
Return value
The current value assigned to the attribute that is inquired about.
See the Parameter associations table for possible values
Parameter association
Possible values for the ParamToInquire parameter and their return values.

The following ParamToInquire parameter settings are DigInquireAndControlConstants expressions.

ParamToInquire |  | Return value |
digCameraPresentSensitivity | Returns the number of vertical synchronization pulses that will occur after a channel switch. If no signal is present, a "signal not present" error is generated. | 0 - 255 | The number of veritical synchronization pulses for which the digitizer will wait. 0 means the digitizer will not check for a camera before grabbing.
digChrominanceAutomaticInputGain | Returns whether the automatic setting of the input gain for the chrominance component of the input signal has been enabled (for composite, after separation). | digEnable | Enables automatic setting of the input gain for the chrominance component of the input signal.
 |  | digDisable | Disables automatic setting of the input gain for the chrominance component of the input signal.
digChrominanceInputGain | Returns the input gain setting applied to the chrominance component of the input signal. | 0-255 | Specifies an integer value used to determine the gain applied to the chrominance component of the input signal.
digCouplingMode | Returns the signal coupling of the available data channels. | digAC | Specifies that the input signal of the data channel(s) is capacitor coupled (AC coupled).
 |  | digDC | Specifies that the input signal of the data channel(s) is directly coupled (DC coupled).
digFastCameraLock | Returns whether ultra-fast camera locking is enabled or disabled. | digEnable | Enables ultra-fast camera locking.
 |  | digDisable | Disables ultra-fast camera locking.
digGrabSamplingPosition | Returns the delay along the analog signal at which the pixel clock will sample. | 0-255 | Specifies the delay along the analog signal.
digLuminanceAutomaticInputGain | Returns whether the automatic setting of the input gain for the luminance component of the input signal has been enabled (for composite, after separation). | digEnable | Enables automatic setting of the input gain for the luminance component of the input signal.
 |  | digDisable | Disables automatic setting of the input gain for the luminance component of the input signal.
digLuminanceInputGain | Returns the input gain setting applied to the luminance component of the input signal. | 0-255 | Specifies an integer value used to determine the gain applied to the luminance component of the input signal.
digNativeCameraID | Returns the board-level native identifier of the camera associated with the digitizer. |  |
digNativeControlID | Returns the board-level native identifier of the digitizer. |  |
digNativeID | Returns the board-level native identifier of the digitizer. |  |
digNativeLastGrabOSBID | Returns the identifier of the board-level native OSB (operations status block) used in the last grab. |  |
digMasterThreadHandle | Returns the handle of the main interrupt thread that dispatches the handling of the grab events to their respective threads. |  |
digMasterThreadID | Returns the ID of the main interrupt thread that dispatches the handling of the grab events to their respective threads. |  |
The following ParamToInquire parameter settings are DigCameraLinkSpecificConstants expressions.

ParamToInquire |  | Return value |
digCameraControlOutputnSource | Returns the type of signal routed to a specific camera control output n, where n is the number of the camera control output (1, 2, 3, or 4). | digGrabExposureTimer1 | The camera control output comes from exposure timer 1.
 |  | digGrabExposureTimer2 | The camera control output comes from exposure timer 2.
 |  | digHsync | The camera control output comes from the horizontal synchronization frequency.
 |  | digPixClk | The camera control output comes from the pixel clock frequency.
 |  | digUserBitCCA | Adds the specified Camera Link signal to group A, so that setting one of the user-defined signal in this group will set all user-defined signals in this group.
 |  | digUserBitCCB | Adds the specified Camera Link signal to group B, so that setting one of the user-defined signal in this group will set all user-defined signals in this group.
 |  | digVsync | The camera control output comes from the vertical synchronization frequency.
The following ParamToInquire parameter settings are DigGrabInputGainConstants expressions:

ParamToInquire |  | Return value |
digInputGainOnChm | Returns the input gain that is applied to the acquistion path m, where m is the number of the acquisition path used by the specified digitizer (0, 1, 2 or 3). | 0-255 | Specifies an integer value which is used to determine the gain.
 |  | digGain0 | Specifies the first supported gain for the given valid input voltage. (Board-specific)
 |  | digGain1 | Specifies the second supported gain for the given valid input voltage. (Board-specific)
 |  | digGain2 | Specifies the third supported gain for the given valid input voltage. (Board-specific)
 |  | digGain3 | Specifies the fourth supported gain for the given valid input voltage. (Board-specific)
 |  | digGain4 | Specifies the fifth supported gain for the given valid input voltage. (Board-specific)
The following ParamToInquire parameter settings are Dig1394SpecificConstants expressions. Note that these settings are DCAM-specific. For more information, refer to your camera's Hardware Reference manual and the Setting 1394 DCAM-compliant camera features section in Chapter 5: Matrox Meteor-II.

ParamToInquire |  | Return value |
digAutoExposure | Returns the camera exposure level. | value | Possible return values are camera-specific.
digBrightness | Returns the black level of the picture. | value | Possible return values are camera-specific.
digCaptureQuality | Returns the capture quality of the image. | value | Possible return values are camera-specific.
digCaptureSize | Returns the capture size of the image. | value | Possible return values are camera-specific.
digFocus | Returns the lens focus capabilities. | value | Possible return values are camera-specific.
digGain | Returns the camera circuit gain. | value | Possible return values are camera-specific.
digGamma | Returns the function between the incoming light level and output picture level. | value | Possible return values are camera-specific.
digHue | Returns the color phase of the picture. | value | Possible return values are camera-specific.
digIris | Returns the mechanical lens iris. | value | Possible return values are camera-specific.
digModel | Returns the name of the camera model. |  |
digModelLength | Returns the length of the string returned by digModel. |  |
digOpticalFilter | Returns the optical filter of the camera lens function. | value | Possible return values are camera-specific.
digPan | Returns the camera panning capabilities. | value | Possible return values are camera-specific.
digSaturation | Returns the color saturation of the picture. | value | Possible return values are camera-specific.
digSerialNumber0 | Returns the low part of the serial number of the camera. |  |
digSerialNumber1 | Returns the high part of the serial number of the camera. |  |
digSharpness | Returns the sharpness of the picture. | value | Possible return values are camera-specific.
digShutter | Returns the integration time of the incoming light. | value | Possible return values are camera-specific.
digSourceCompensation | Returns whether the capture window will be cropped by software or by hardware. | digEnable | When cropping the input region, the capture window will be cropped by software, if not supported by hardware.
 |  | digDisable | When cropping the input region, the capture window will be cropped by hardware provided that you are using a format 7-capable camera and the trigger is enabled. In this case, if the capture window specified does not match a subregion, an error will be generated.
digTargetTemperature | Returns the target temperature for the camera. | value | Possible return values are camera-specific.
digTemperature | Returns the temperature inside the camera. |  |
digTilt | Returns the camera tilt capabilities. | value | Possible return values are camera-specific.
digVendor | Returns the name of the camera vendor. |  |
digVendorLength | Returns the length of the string returned by digVendor. |  |
digWhiteBalanceU | Returns the U chrominance (color) component of the data. | value | Possible return values are camera-specific.
digWhiteBalanceV | Returns the V chrominance (color) component of the data. | value | Possible return values are camera-specific.
digZoom | Returns the camera lens zoom capabilities. | value | Possible return values are camera-specific.
One of the following values can be added to any of the Dig1394SpecificConstants expressions to determine the minimum and maximum values supported by your 1394 DCAM-compliant camera:

ParamToInquire |  | Return value |
digMaximumValue | Returns the largest value supported. | value | Possible return values are camera-specific.
digMinimumValue | Returns the smallest value supported. | value | Possible return values are camera-specific.
Remark for Matrox Corona-II
  • The following ParamToInquire settings are supported:
    • digMasterThreadHandle
    • digMasterThreadID
Remark for Matrox CronosPlus
  • The following ParamToInquire settings are supported:
    • digMasterThreadHandle
    • digMasterThreadID
Remarks for Matrox Genesis
  • The following ParamToInquire settings are supported:
    • digInputGainOnChm
    • digNativeCameraID
    • digNativeControlID
    • digNativeID
    • digNativeLastGrabOSBID
  • Note that the board-level native identifier refers to the Matrox Genesis Native Library identifier.
  • The following values are supported for the ParamToInquire setting digInputGainOnChm:
    Setting | Input Voltage | Gain
    amilDefault | Same as digGain3 | Same as DigGain3
    digGain0 | 1.0 - 1.4 Vpp | 2
    digGain1 | 0.8 - 1.0 Vpp | 2.7
    digGain2 | 0.7 - 0.8 Vpp | 3.3
    digGain3 | 0.0 - 0.7 Vpp | 4.1
Remarks for Matrox Helios XA
  • The following ParamToInquire settings are supported:
    • digCouplingMode
    • digInputGainOnChm
  • The following values are supported for the ParamToInquire setting digInputGainOnChm:
    Setting | Input Voltage | Gain
    amilDefault | Same as the one specified in the DCF. | Same as the one specified in the DCF.
    digGain0 | 0.0-1.0 Vpp | 1
    digGain1 | 0.0 - 0.5 Vpp | 2
    digGain2 | 0.0 - 0.333 Vpp | 3
    digGain3 | 0.0 - 0.25 Vpp | 3.99

    An integer value in the range of 0-255 can also be used to determine the gain.

Remark for Matrox Helios XCL
  • The following ParamToInquire settings are supported:
    • digCameraControlOutputnSource
Remarks for Matrox Meteor-II /1394
  • The following ParamToInquire settings are supported:
    • digAutoExposure
    • digBrightness
    • digCaptureSize
    • digCaptureQuality
    • digFocus
    • digGain
    • digGamma
    • digHue
    • digIris
    • digModel
    • digModelLength
    • digOpticalFilter
    • digPan
    • digSaturation
    • digSerialNumber0
    • digSerialNumber1
    • digSharpness
    • digShutter
    • digSourceCompensation
    • digTargetTemperature
    • digTemperature
    • digTilt
    • digVendor
    • digVendorLength
    • digWhiteBalanceU
    • digWhiteBalanceV
    • digZoom
  • When you add digMinimumValue or digMaximumValue to the ParamToInquire setting, the minimum or maximum value for the camera feature is returned, respectively. Note that this value is camera specific. When digMinimumValue or digMaximumValue is not added, the current (actual) value for the camera feature is returned. See the IEEE 1394 serial bus-specific features section in Chapter 5: Matrox Meteor-II of the ActiveMIL Board Specific Notes.
Remark for Matrox Meteor-II /Camera Link
  • The following ParamToInquire settings are supported:
    • digCameraControlOutputnSource
    • digNativeCameraID
    • digNativeControlID
    • digNativeID
    • digNativeLastGrabOSBID
Remark for Matrox Meteor-II /Digital
  • The following ParamToInquire settings are supported:
    • digNativeCameraID
    • digNativeControlID
    • digNativeID
    • digNativeLastGrabOSBID
Remarks for Matrox Meteor-II /Multi-Channel
  • The following ParamToInquire settings are supported:
    • digMasterThreadHandle
    • digMasterThreadID
  • The following ParamToInquire setting is supported on the PC/104-Plus form factor only:
    • digGrabSamplingPosition
Remark for Matrox Meteor-II /Standard
  • The following ParamToInquire settings are supported:
    • digMasterThreadHandle
    • digMasterThreadID
Remark for Matrox Morphis
  • The following ParamToInquire settings are supported:
    • digChrominanceAutomaticInputGain
    • digChrominanceInputGain
    • digFastCameraLock
    • digLuminanceAutomaticInputGain
    • digLuminanceInputGain
Remarks for Matrox Odyssey XA
  • The following ParamToInquire settings are supported:
    • digCouplingMode
    • digInputGainOnChm
    • digNativeCameraID
    • digNativeControlID
    • digNativeID
    • digNativeLastGrabOSBID
  • The following values are supported for the ParamToInquire setting digInputGainOnChm:
    Setting | Input Voltage | Gain
    amilDefault | Same as the one specified in the DCF. | Same as the one specified in the DCF.
    digGain0 | 0.0-1.0 Vpp | 1
    digGain1 | 0.0 - 0.5 Vpp | 2
    digGain2 | 0.0 - 0.333 Vpp | 3
    digGain3 | 0.0 - 0.25 Vpp | 3.99

    An integer value in the range of 0-255 can also be used to determine the gain.

Remark for Matrox Odyssey XCL
  • The following ParamToInquire settings are supported:
    • digCameraControlOutputnSource
    • digNativeCameraID
    • digNativeControlID
    • digNativeID
    • digNativeLastGrabOSBID
Remark for Matrox Odyssey XD
  • The following ParamToInquire settings are supported:
    • digNativeCameraID
    • digNativeControlID
    • digNativeID
    • digNativeLastGrabOSBID
Remarks for Matrox Orion
  • The following ParamToInquire settings are supported:
    • digMasterThreadHandle
    • digMasterThreadID
  • The following ParamToInquire setting is supported on the Matrox Orion /Standard and /Dual for the 4Sight-II only:
    • digFastCameraLock
Remarks for Matrox Solios XA
  • The following ParamToInquire settings are supported:
    • digCouplingMode
    • digInputGainOnChm
  • The following values are supported for the ParamToInquire setting digInputGainOnChm:
    Setting | Input Voltage | Gain
    amilDefault | Same as the one specified in the DCF. | Same as the one specified in the DCF.
    digGain0 | 0.0-1.0 Vpp | 1
    digGain1 | 0.0 - 0.5 Vpp | 2
    digGain2 | 0.0 - 0.333 Vpp | 3
    digGain3 | 0.0 - 0.25 Vpp | 3.99

    An integer value in the range of 0-255 can also be used to determine the gain.

Remark for Matrox Solios XCL
  • The following ParamToInquire settings are supported:
    • digCameraControlOutputnSource


Digitizer.Modified Method

Modified method

See Also | Availability | MIL Equivalent | Inquire | SendTrigger
User Guide:
Integrating MIL functions into your ActiveMIL code

Reference:
Digitizer.MilID
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Digitizer
Modified
Synopsis
Informs the digitizer that Native MIL calls were made on its resources.
[]
Syntax
object.Modified(
ByVal ModificationType As Integer
)
[]
Syntax
void object->Modified(
long ModificationType
)
ModificationType (optional in , default is amilDefault)
A long value that specifies the modification type.
Value | Meaning
amilDefault | Specifies that native MIL calls were used to modify the contents of the image.
Remark
  • The Modified method should be called after performing a Native MIL Mdig...() function on the resources of the Digitizer control. This ensures that all properties of the Digitizer control are updated to match their state in MIL.


Digitizer.SendTrigger Method

SendTrigger method

See Also | Availability | MIL Equivalent | Modified | ShowPropertyPages
User Guide:
Triggered grabs

Reference:
Digitizer.Exposure1Enabled
Digitizer.Exposure2Enabled
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigControl(
ControlType =
M_GRAB_TRIGGER or
(M_GRAB_EXPOSURE +
M_TIMER1) or
(M_GRAB_EXPOSURE +
M_TIMER2)M_GRAB_TRIGGER or
M_ACTIVATE
ControlValue =
M_ACTIVATE
)
Digitizer
SendTrigger
Synopsis
Sends a software trigger to the specified digitizer if its trigger source is set to software.
[]
Syntax
object.SendTrigger(
ByVal SoftwareTriggerType As Integer
)
[]
Syntax
void object->SendTrigger(
long SoftwareTriggerType
)
SoftwareTriggerType (optional in , default is digGrabTrigger)
A long value that specifies the software trigger type.
Value | Meaning
digGrabTrigger | Start the grab immediately (for software triggers). An asynchronous or continuous grab must be in progress.
digTimer1Trigger | Activate the grab exposure Timer1 when using a software trigger. Enable or disable the grab exposure Timer1 when using a non-software trigger source.
digTimer2Trigger | Activate the grab exposure Timer2 when using a software trigger. Enable or disable the grab exposure Timer2 when using a non-software trigger source.
Remarks
  • If the digitizer's TriggerEnabled property is set to True and the SendTrigger method is called after a grab call, it will initiate the actual grab (or the appropriate exposure timer).
  • The grab call must be asynchronous (that is, issue the grab with the Grab method in asynchronous mode or with the GrabContinuous method) or the grab call must be on a separate thread.


Digitizer.ShowPropertyPages Method

ShowPropertyPages method

Availability | MIL Equivalent | SendTrigger | CameraLock
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Digitizer
ShowPropertyPages
Synopsis
Opens the specified property pages of the Digitizer control in a window.
[]
Syntax
object.ShowPropertyPages(
ByVal Pages As DigPropertyPagesConstants,
ByVal Caption As String,
ByVal hWndParent As Integer,
ByVal Reserved As Boolean
)
[]
Syntax
void object->ShowPropertyPages(
enum DigPropertyPagesConstants Pages,
_bstr_t Caption,
long hWndParent,
VARIANT_BOOL Reserved
)
Pages
A DigPropertyPagesConstants expression that specifies the page(s) to display. You can add the following constants together to display multiple pages.
Value | Meaning
digGeneralPropertyPage | Display the Digitizer control's General property page.
digAttributesPropertyPage | Display the Digitizer control's Attributes property page.
digEventsPropertyPage | Display the Digitizer control's Events property page.
digLUTPropertyPage | Display the Digitizer control's LUT property page.
digHistoryPropertyPage | Display the Digitizer control's History property page.
digAllPropertyPages | Display all of the Digitizer control's available property pages.
Caption (optional in , default is "")
A string value that specifies the caption for the property pages window. The default is an empty string, in which case a generic caption will be displayed.
hWndParent (optional in , default is 0)
A long value that specifies the window handle (HWND) of the property pages window's parent. The property pages window will be modal in relation to its parent window.
Reserved (optional in , default is True)
This parameter is reserved for future use. True is the only value available.
Value | Meaning
True | Meaning to be determined. This setting must always be used.
Remarks
  • If the Digitizer control is created at design-time, the .NET ActiveX Control Importer (AxImp.exe) renames this ActiveMIL method from ShowPropertyPages() to CtlShowPropertyPages() to avoid name clashing with the ShowPropertyPages() method of the .NET Windows Form control. See the Windows Forms ActiveX Control Importer (AxImp.exe) topic in MSDN for more information. In addition, if the control is created at run-time with the AxMatrox.ActiveMIL.* namespace, you must use CtlShowPropertyPages() to call the ActiveMIL ShowPropertyPages() method.
  • This method is used to display the property pages so that properties can be set interactively at run-time.
  • This method will disable property page elements corresponding to properties that cannot be changed due to the current state of the control. For example, if a property cannot be changed while its control is in the allocated state, and the control is allocated, the corresponding element in the property page will be disabled. To change this property, call the Free method first.


Digitizer.CameraLock Event

CameraLock event

See Also | Availability | MIL Equivalent | ShowPropertyPages | CameraPresent
User Guide:
Digitizer events

Reference:
Digitizer.CameraLockEvent
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Solios XA

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Helios XCL
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Morphis
Not supported on Matrox Odyssey XCL
Not supported on Matrox Orion
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XCL
MdigHookFunction(
HookType =
M_CAMERA_LOCK
)
Digitizer
CameraLock
Synopsis
Occurs when the camera is locked during a channel-switch.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_CameraLock() Handles object.CameraLock

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_CameraLock(
ByVal sender As Object,
ByVal e As System.EventArgs
) Handles object.CameraLock
[]
Syntax
void class::OnCameraLock()
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • For performance reasons, this event must be enabled in order to be fired. To enable the event, set the CameraLockEvent property to True.


Digitizer.CameraPresent Event

CameraPresent event

See Also | Availability | MIL Equivalent | CameraLock | FieldStartEven
User Guide:
Digitizer events

Reference:
Digitizer.CameraPresentEvent
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox Helios XA
Fully supported on Matrox Morphis
Fully supported on Matrox Solios XA

Not supported on:
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Helios XCL
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Orion
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XCL
MdigHookFunction(
HookType =
M_CAMERA_PRESENT
)
Digitizer
CameraPresent
Synopsis
Occurs when a camera is present.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_CameraPresent() Handles object.CameraPresent

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_CameraPresent(
ByVal sender As Object,
ByVal e As System.EventArgs
) Handles object.CameraPresent
[]
Syntax
void class::OnCameraPresent()
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • For performance reasons, this event must be enabled in order to be fired. To enable the event, set the CameraPresentEvent property to True.
  • Use the IsCameraPresent property to inquire if the camera is currently present.


Digitizer.FieldStart Event

FieldStart event

See Also | Availability | MIL Equivalent | FieldStartOdd | FrameStart
User Guide:
Digitizer events

Reference:
Digitizer.FieldStartEvent
Digitizer.FrameStart
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Orion
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Genesis
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
MdigHookFunction(
HookType =
M_FIELD_START
)
Digitizer
FieldStart
Synopsis
Occurs at the start of the incoming signal's fields.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_FieldStart() Handles object.FieldStart

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_FieldStart(
ByVal sender As Object,
ByVal e As System.EventArgs
) Handles object.FieldStart
[]
Syntax
void class::OnFieldStart()
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • For performance reasons, this event must be enabled in order to be fired. To enable the event, set the FieldStartEvent property to True.
  • This event is fired continuously when a signal from a camera is available. Starting or stopping the grab does not affect this event.


Digitizer.FieldStartEven Event

FieldStartEven event

See Also | Availability | MIL Equivalent | CameraPresent | FieldStartOdd
User Guide:
Digitizer events

Reference:
Digitizer.FieldStartEvenEvent
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Orion
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Genesis
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
MdigHookFunction(
HookType =
M_FIELD_START_EVEN
)
Digitizer
FieldStartEven
Synopsis
Occurs at the start of the incoming signal's even fields.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_FieldStartEven() Handles object.FieldStartEven

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_FieldStartEven(
ByVal sender As Object,
ByVal e As System.EventArgs
) Handles object.FieldStartEven
[]
Syntax
void class::OnFieldStartEven()
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • For performance reasons, this event must be enabled in order to be fired. To enable the event, set the FieldStartEvenEvent property to True.
  • This event is fired continuously when a signal from a camera is available. Starting or stopping the grab does not affect this event.


Digitizer.FieldStartOdd Event

FieldStartOdd event

See Also | Availability | MIL Equivalent | FieldStartEven | FieldStart
User Guide:
Digitizer events

Reference:
Digitizer.FieldStartOddEvent
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Orion
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Genesis
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
MdigHookFunction(
HookType =
M_FIELD_START_ODD
)
Digitizer
FieldStartOdd
Synopsis
Occurs at the start of the incoming signal's odd fields.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_FieldStartOdd() Handles object.FieldStartOdd

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_FieldStartOdd(
ByVal sender As Object,
ByVal e As System.EventArgs
) Handles object.FieldStartOdd
[]
Syntax
void class::OnFieldStartOdd()
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • For performance reasons, this event must be enabled in order to be fired. To enable the event, set the FieldStartOddEvent property to True.
  • This event is fired continuously when a signal from a camera is available. Starting or stopping the grab does not affect this event.


Digitizer.FrameStart Event

FrameStart event

See Also | Availability | MIL Equivalent | FieldStart | GrabEnd
User Guide:
Digitizer events

Reference:
Digitizer.FrameStartEvent
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox Orion
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Genesis
MdigHookFunction(
HookType =
M_FRAME_START
)
Digitizer
FrameStart
Synopsis
Occurs at the start of each grabbed or displayed frame.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_FrameStart() Handles object.FrameStart

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_FrameStart(
ByVal sender As Object,
ByVal e As System.EventArgs
) Handles object.FrameStart
[]
Syntax
void class::OnFrameStart()
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • For performance reasons, this event must be enabled in order to be fired. To enable the event, set the FrameStartEvent property to True.
  • The digitizer's FrameStart event is fired continuously when a signal from a camera is available. Starting or stopping the grab does not affect this event.


Digitizer.GrabEnd Event

GrabEnd event

See Also | Availability | MIL Equivalent | FrameStart | GrabFieldEndEven
User Guide:
Digitizer events

Reference:
Digitizer.GrabEndEvent
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigHookFunction(
HookType =
M_GRAB_END
)
Digitizer
GrabEnd
Synopsis
Occurs at the end of grab.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_GrabEnd() Handles object.GrabEnd

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_GrabEnd(
ByVal sender As Object,
ByVal e As System.EventArgs
) Handles object.GrabEnd
[]
Syntax
void class::OnGrabEnd()
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • For performance reasons, this event must be enabled in order to be fired. To enable the event, set the GrabEndEvent property to True.
  • When grabbing continuously, the event is fired only after the last frame is grabbed. To be notified at the end of each frame, use the GrabFrameEnd event.
  • A function hooked to this event is called when all the data of the grab is transferred to the Host. This means that the hooked function can be called after the GrabStart or GrabFrameStart events of the next grabbed frame.


Digitizer.GrabFieldEnd Event

GrabFieldEnd event

See Also | Availability | MIL Equivalent | GrabFieldEndOdd | GrabFrameEnd
User Guide:
Digitizer events

Reference:
Digitizer.GrabFieldEndEvent
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Genesis
Fully supported on Matrox Corona-II
Fully supported on Matrox Orion
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /1394
MdigHookFunction(
HookType =
M_GRAB_FIELD_END
)
Digitizer
GrabFieldEnd
Synopsis
Occurs at the end of each grabbed field.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_GrabFieldEnd() Handles object.GrabFieldEnd

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_GrabFieldEnd(
ByVal sender As Object,
ByVal e As System.EventArgs
) Handles object.GrabFieldEnd
[]
Syntax
void class::OnGrabFieldEnd()
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • For performance reasons, this event must be enabled in order to be fired. To enable the event, set the GrabFieldEndEvent property to True.


Digitizer.GrabFieldEndEven Event

GrabFieldEndEven event

See Also | Availability | MIL Equivalent | GrabEnd | GrabFieldEndOdd
User Guide:
Digitizer events

Reference:
Digitizer.GrabFieldEndEvenEvent
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Genesis
Fully supported on Matrox Corona-II
Fully supported on Matrox Orion
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /1394
MdigHookFunction(
HookType =
M_GRAB_FIELD_END_EVEN
)
Digitizer
GrabFieldEndEven
Synopsis
Occurs at the end of each grabbed even field.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_GrabFieldEndEven() Handles object.GrabFieldEndEven

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_GrabFieldEndEven(
ByVal sender As Object,
ByVal e As System.EventArgs
) Handles object.GrabFieldEndEven
[]
Syntax
void class::OnGrabFieldEndEven()
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • For performance reasons, this event must be enabled in order to be fired. To enable the event, set the GrabFieldEndEvenEvent property to True.


Digitizer.GrabFieldEndOdd Event

GrabFieldEndOdd event

See Also | Availability | MIL Equivalent | GrabFieldEndEven | GrabFieldEnd
User Guide:
Digitizer events

Reference:
Digitizer.GrabFieldEndOddEvent
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Genesis
Fully supported on Matrox Corona-II
Fully supported on Matrox Orion
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /1394
MdigHookFunction(
HookType =
M_GRAB_FIELD_END_ODD
)
Digitizer
GrabFieldEndOdd
Synopsis
Occurs at the end of each grabbed odd field.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_GrabFieldEndOdd() Handles object.GrabFieldEndOdd

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_GrabFieldEndOdd(
ByVal sender As Object,
ByVal e As System.EventArgs
) Handles object.GrabFieldEndOdd
[]
Syntax
void class::OnGrabFieldEndOdd()
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • For performance reasons, this event must be enabled in order to be fired. To enable the event, set the GrabFieldEndOddEvent property to True.


Digitizer.GrabFrameEnd Event

GrabFrameEnd event

See Also | Availability | MIL Equivalent | GrabFieldEnd | GrabFrameStart
User Guide:
Digitizer events

Reference:
Digitizer.GrabFrameEndEvent
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigHookFunction(
HookType =
M_GRAB_FRAME_END
)
Digitizer
GrabFrameEnd
Synopsis
Occurs at the end of each grabbed frame.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_GrabFrameEnd() Handles object.GrabFrameEnd

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_GrabFrameEnd(
ByVal sender As Object,
ByVal e As System.EventArgs
) Handles object.GrabFrameEnd
[]
Syntax
void class::OnGrabFrameEnd()
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • For performance reasons, this event must be enabled in order to be fired. To enable the event, set the GrabFrameEndEvent property to True.


Digitizer.GrabFrameStart Event

GrabFrameStart event

See Also | Availability | MIL Equivalent | GrabFrameEnd | GrabLine
User Guide:
Digitizer events

Reference:
Digitizer.GrabFrameStartEvent
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Corona-II
Fully supported on Matrox Orion
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital

See remarks for support on:
See remarks for support on Matrox Genesis
MdigHookFunction(
HookType =
M_GRAB_FRAME_START
)
Digitizer
GrabFrameStart
Synopsis
Occurs at the start of each grabbed frame.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_GrabFrameStart() Handles object.GrabFrameStart

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_GrabFrameStart(
ByVal sender As Object,
ByVal e As System.EventArgs
) Handles object.GrabFrameStart
[]
Syntax
void class::OnGrabFrameStart()
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • For performance reasons, this event must be enabled in order to be fired. To enable the event, set the GrabFrameStartEvent property to True.
Remark for Matrox Genesis
  • This property is not supported on Matrox Genesis-LC.


Digitizer.GrabLine Event

GrabLine event

See Also | Availability | MIL Equivalent | GrabFrameStart | GrabLineEnd
User Guide:
Digitizer events

Reference:
Digitizer.GrabLineEnd
Digitizer.GrabLineEvent
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Morphis
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /Multi-Channel
MdigHookFunction(
HookType =
M_GRAB_LINE
)
Digitizer
GrabLine
Synopsis
Occurs when the specified line number is reached.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_GrabLine(
ByVal LineNumber As Integer
) Handles object.GrabLine

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_GrabLine(
ByVal sender As Object,
ByVal e As AxMatrox.ActiveMIL.IDigitizerEvents_GrabLineEvent
) Handles object.GrabLine
[]
Syntax
void class::OnGrabLine(
long LineNumber
)
LineNumber
A longintegerlong (integer for Visual Basic .Net) value that specifies the line number of the frame being grabbed upon which to generate this event.
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • For performance reasons, this event must be enabled in order to be fired. To enable the event, set the GrabLineEvent property to True.
  • The line number of the frame being grabbed, upon which to generate this event, must be specified in the GrabLineEvent property.
  • Note that the data of the specified line number might not be in the buffer when this event is generated.


Digitizer.GrabLineEnd Event

GrabLineEnd event

See Also | Availability | MIL Equivalent | GrabLine | GrabStart
User Guide:
Digitizer events

Reference:
Digitizer.GrabLine
Digitizer.GrabLineEndEvent
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Morphis
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Orion
Not supported on Matrox Odyssey XD
MdigHookFunction(
HookType =
M_GRAB_LINE_END
)
Digitizer
GrabLineEnd
Synopsis
Occurs when the data of the specified line number is in the buffer and ready to be processed.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_GrabLineEnd(
ByVal LineNumber As Integer
) Handles object.GrabLineEnd

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_GrabLineEnd(
ByVal sender As Object,
ByVal e As AxMatrox.ActiveMIL.IDigitizerEvents_GrabLineEndEvent
) Handles object.GrabLineEnd
[]
Syntax
void class::OnGrabLineEnd(
long LineNumber
)
LineNumber
A longintegerlong (integer for Visual Basic .Net) value that specifies the line number of the frame being grabbed upon which to generate this event.
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • For performance reasons, this event must be enabled in order to be fired. To enable the event, set the GrabLineEndEvent property to True.
  • The line number of the frame being grabbed, upon which to generate this event, must be specified in the GrabLineEndEvent property.
  • Note that the data of the specified line number is in the buffer and ready to be processed when this event is generated.


Digitizer.GrabStart Event

GrabStart event

See Also | Availability | MIL Equivalent | GrabLineEnd | MoveLens
User Guide:
Digitizer events

Reference:
Digitizer.GrabStartEvent
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigHookFunction(
HookType =
M_GRAB_START
)
Digitizer
GrabStart
Synopsis
Occurs at the start of grab.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_GrabStart() Handles object.GrabStart

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_GrabStart(
ByVal sender As Object,
ByVal e As System.EventArgs
) Handles object.GrabStart
[]
Syntax
void class::OnGrabStart()
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • For performance reasons, this event must be enabled in order to be fired. To enable the event, set the GrabStartEvent property to True.
  • When grabbing continuously, the event is fired only when the first frame is grabbed. To be notified at the start of each frame, use the GrabFrameStart event.


Digitizer.MoveLens Event

MoveLens event

Availability | MIL Equivalent | GrabStart | SerialPortData
Not available in ActiveMIL-Lite

Available in ActiveMIL
MdigFocus(FocusHookPtr)
Digitizer
MoveLens
Synopsis
Occurs after each new focus position determined by the Focus method.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_MoveLens(
ByVal EventType As DigMoveLensConstants,
ByVal Position As Integer
) Handles object.MoveLens

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_MoveLens(
ByVal sender As Object,
ByVal e As AxMatrox.ActiveMIL.IDigitizerEvents_MoveLensEvent
) Handles object.MoveLens
[]
Syntax
void class::OnMoveLens(
enum DigMoveLensConstants EventType,
long Position
)
EventType
A DigMoveLensConstants expression that specifies whether the optimum focus position was found or whether a new position needs to be analyzed.
Value | Meaning
digChange | Change the focus position to the value specified by the Position parameter.
digOnFocus | The optimum focus position was found and is specified by the Position parameter.
Position
A long value that specifies the focus position, in terms of lens motor steps.
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • This event is not available in ActiveMIL-Lite.


Digitizer.ProcessModifiedImage Event

ProcessModifiedImage event

Availability | MIL Equivalent | SerialPortData | UserBitChanged
Available in ActiveMIL-Lite

Available in ActiveMIL
MdigProcess(HookHandler)
Digitizer
ProcessModifiedImage
Synopsis
Occurs when an image, in the array of Image controls passed to the MultipleBuffering.Process method, is modified.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_ProcessModifiedImage(
ByVal ImageIndex As Integer
) Handles object.ProcessModifiedImage

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_ProcessModifiedImage(
ByVal sender As Object,
ByVal e As AxMatrox.ActiveMIL.IDigitizerEvents_ProcessModifiedImageEvent
) Handles object.ProcessModifiedImage
[]
Syntax
void class::OnProcessModifiedImage(
long ImageIndex
)
ImageIndex
A longintegerlong (integer for Visual Basic .Net) value that represents the index of the image modified in the array of Image controls passed to the MultipleBuffering.Process method.
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • After the MultipleBuffering.Process method has been called, this event is triggered each time a frame is grabbed into an image in the specified list of Image controls (or if one of those images is otherwise modified).
  • The average time it takes for the event procedure to process a frame must be less than the frame rate of the camera when grabbing round-robin; otherwise, frames will eventually be missed.
  • If the event procedure modifies the image that triggered it, the event will not be called again for that image until that image is modified by some other operation or a new grab. This is to avoid infinite recursive calls being generated. However, if the event procedure modifies another image in the list, the ProcessModifiedImage event will be triggered for that image.
[]
Example
Shows how to build a multiple buffering application.

' Number of images in the buffering grab queue.
Const MAXIMUM_NUMBER_OF_IMAGES = 20

' Array of Images
Private ProcessImages(0) As Matrox.ActiveMIL.IImage

Dim Continue As Boolean = True
Dim i As Integer

' Build an image array for the multiple buffering operation
'
While Continue And i <= MAXIMUM_NUMBER_OF_IMAGES

    ' Create an Image control
    Dim NewImage As Matrox.ActiveMIL.IImage
    NewImage = Application1.CreateObject("MIL.Image", False)

    ' Set its properties
    NewImage.CanGrab = True
    NewImage.CanProcess = True
    NewImage.CanDisplay = True
    NewImage.SizeX = Image1.SizeX
    NewImage.SizeY = Image1.SizeY

    Try
        ' Try allocating the image
        NewImage.Allocate()

        ' Add the image to the array of images
        ReDim Preserve ProcessImages(i)
        ProcessImages(i) = NewImage
    Catch
        ' An exception was thrown while allocating the image
        ' Stop allocating new images
        Continue = False
    End Try

    i += 1
End While

' Start an asynchronous multiple buffering operation
' To stop the operation, call Digitizer1.MultipleBuffering.Halt(False)
'
Digitizer1.MultipleBuffering.Process(DigOperationConstants.digStart, _
                                     ProcessImages)

''''''''''''''''''''''''''''''''''''''''''''''''''

''''''''''''''''''''''''''''''''''''''''''''''''''
'  Occurs when a frame is grabbed or when an     '
'  image is modified from the Process operation. '
''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub Digitizer1_ProcessModifiedImage(ByVal sender As Object, _
            ByVal e As IDigitizerEvents_ProcessModifiedImageEvent) _
            Handles Digitizer1.ProcessModifiedImage

    ' Simulate a rotating GrabContinuous
    Static angle As Integer

    angle += 1
    ImageProcessing1.Source1 = ProcessImages(e.imageIndex)
    ImageProcessing1.Rotate(angle, _
                            ImpInterpolationModeConstants.impNearestNeighbor, _
                            ImpOverscanModeConstants.impOverscanEnable, _
                            amilDefault, _
                            amilDefault, _
                            amilDefault, _
                            amilDefault)

 ' End of processing
    End Sub


Digitizer.SerialPortData Event

SerialPortData event

See Also | Availability | MIL Equivalent | MoveLens | ProcessModifiedImage
Reference:
Digitizer.SerialPort
Digitizer.SerialPortDataEvent
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /1394
Not supported on Matrox CronosPlus
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Morphis
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MdigHookFunction(
HookType =
M_UART_DATA_RECEIVED
)
Digitizer
SerialPortData
Synopsis
Occurs when data is received on the serial port.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_SerialPortData() Handles object.SerialPortData

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_SerialPortData(
ByVal sender As Object,
ByVal e As System.EventArgs
) Handles object.SerialPortData
[]
Syntax
void class::OnSerialPortData()
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • For performance reasons, this event must be enabled in order to be fired. To enable the event, set the SerialPortDataEvent property to True.


Digitizer.UserBitChanged Event

UserBitChanged event

See Also | Availability | MIL Equivalent | ProcessModifiedImage
Board Specific Notes:
User-defined signals for Matrox Helios
User-defined signals for Matrox Odyssey
User-defined signals for Matrox Solios
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Morphis
Not supported on Matrox Orion
MdigHookFunction(
HookType =
M_USER_BIT_CHANGE
)
Digitizer
UserBitChanged
Synopsis
Occurs when the user-defined signal generates an interrupt upon a rising edge.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_UserBitChanged(
ByVal UserBit As Integer
) Handles object.UserBitChanged

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_UserBitChanged(
ByVal sender As Object,
ByVal e As AxMatrox.ActiveMIL.IDigitizerEvents_UserBitChangedEvent
) Handles object.UserBitChanged
[]
Syntax
void class::OnUserBitChanged(
long UserBit
)
UserBit
A longintegerlong (integer for Visual Basic .Net) value that specifies the user-defined signal which generated the event.
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • For performance reasons, this event must be enabled in order to be fired. To enable the event, set the UserBitChangedEvent property to True.
  • Note that only user-defined input signals can fire the event and only if their interrupt state has been enabled (using the UserBits.Item(UserBitIndex).InterruptEnabled property).
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.


Display control

Availability
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Synopsis
A Display control displays images and manipulates their display. The Display control offers many display effects, such as annotation, LUTs, and panning and zooming.

Structure
Display |  | Properties: AutomaticAllocation, BackColor, CenterDisplay, DataDepth, DataType, DesktopSizeX, DesktopSizeY, DeviceNumber, DisplayType, ExternalWindow, FillDisplay, Format, FrameStartEvent, hWnd, Image, ImageName, InitializationFlag, InterpolationMode, IsAllocated, LUTEnabled, SelectedLUT, LUT, MilID, MoveEnabled, Name, NoTearing, NumberOfBands, OffsetX, OffsetY, OverlapEnabled, OverlayImage, OverlayKeyColor, OverlayKeySupported, OverlayVisible, OverlayWriting, OwnerSystem, OwnerSystemName, PaletteCollapse, PanX, PanY, PropertyValidation, ReservedColorsOptimization, ResizeEnabled, SizeX, SizeY, SnapX, SnapY, SyncType, ThreadPriority, UpdateEnabled, UserWindow, ViewBitShift, ViewMode, ZoomX, ZoomY Methods: Allocate, ClearOverlay, Control, Free, Inquire, Modified, Pan, ShowPropertyPages, Update, Zoom Events: Click, DblClick, FrameStart, KeyDown, KeyPress, KeyUp, MouseDown, MouseMove, MouseUp, Paint, ScrollHorizontal, ScrollVertical, Zoom
 | ExternalWindow | Properties: ControlKey, hWnd, InitialPositionX, InitialPositionY, MaximizeButton, MenuBarChange, MenuBar, MinimizeButton, PanX, PanY, Scrollbar, SystemButton, TitleBarChange, TitleBar, Title, Visible, ZoomButton, ZoomX, ZoomY
 | LUT | Properties: DataDepth, DataType, MaximumPixelValue, MilID, MinimumPixelValue, NumberOfBands, Size Methods: GenerateColor, GenerateFunction, GenerateRamp, Get, Put


Display.AutomaticAllocation Property

AutomaticAllocation property

See Also | Availability | MIL Equivalent | BackColor
User Guide:
Displaying an image -- overview
Setting up controls - Allocating and freeing resources

Reference:
Display.Allocate
Display.Free
Display.IsAllocated
Display.OwnerSystem
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Display
AutomaticAllocation
Synopsis
Returns or sets whether the resources of the Display control are automatically allocated at run-time.
[]
Syntax
object.AutomaticAllocation [= Boolean]
[]
Syntax
object->AutomaticAllocation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the control's automatic allocation.
Value | Meaning
True | The control will be allocated automatically at run-time.
False | The control must be allocated explicitly, using the Allocate method.
Remarks
  • When the AutomaticAllocation property is False, an explicit call to the Allocate method is required. You can get the allocation state of an object by reading its IsAllocated property.
  • The default value is True for controls created at design-time, and False for controls created at run-time (for example, created with the CreateObject method of the Application control).
  • When this property is set to True, automatic allocation will occur when the owner system of the Display control is allocated. For example, if System1 is set as the owner system of Display1, and System1 is not allocated, then Display1 will not be allocated, even if its AutomaticAllocation property is set to True. When System1 is allocated (with the Allocate method), Display1 will be allocated automatically if its AutomaticAllocation property is set to True.
  • The resources of the control will be freed automatically when the control is destroyed.
[]
Example
This example demonstrates how to set up this control so that it is automatically allocated when its owner System control is allocated.

Display1.AutomaticAllocation = True
Display1.OwnerSystem = System1

' This call will also allocate Display1 since
' its OwnerSystem property is System1 and
' its AutomaticAllocation property is set to True
System1.Allocate()
[]
Example
This example demonstrates how to set up this control so that it is automatically allocated when its owner System control is allocated.

m_Display1->AutomaticAllocation = TRUE;
m_Display1->OwnerSystem = m_System1;

// This call will also allocate m_Display1 since
// its OwnerSystem property is m_System1 and
// its AutomaticAllocation property is set to TRUE
m_System1->Allocate();


Display.BackColor Property

BackColor property

See Also | Availability | MIL Equivalent | AutomaticAllocation | CenterDisplay
User Guide:
Removing an image from the display
The display window

Reference:
Display.Image
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Display
BackColor
Synopsis
Returns or sets the background color of the display window.
[]
Syntax
object.BackColor [= System.Drawing.Color ]
[]
Syntax
object->BackColor [= OLE_COLOR]
Type description
A Color value that specifies the background color of a display object.
Remarks
  • Pass a property of type OLE_COLOR or use your environment's RGB() function to explicitly set a value for each of the color bands (red, green, and blue).
  • This property has an effect only when the DisplayType property is set to dispDefaultWindow.
  • The background color specified by this property is only used to clear the portions of the display that are not being used to display an image.
  • []
     To convert a System.Drawing.Color to an integer value, use the System.Drawing.ColorTranslator 's ToOle method.


Display.CenterDisplay Property

CenterDisplay property

Availability | MIL Equivalent | BackColor | DataDepth
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_CENTER_DISPLAY
)

MdispInquire(
InquireType =
M_CENTER_DISPLAY
)
Display
CenterDisplay
Synopsis
Returns or sets whether the image selected to the display will be centered in the display.
[]
Syntax
object.CenterDisplay [= Boolean]
[]
Syntax
object->CenterDisplay [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the image selected to the display will be centered in the display, both in X and Y. (default is amilDefault)
Value | Meaning
amilDefault | Specifies the default value. The default value is True for an external window except if the window is maximized. For all other windows, the default value is False.
True | Specifies that the image selected to the display will be centered in the display.
False | Specifies that the image selected to the display will not be centered in the display.
Remarks
  • When this property is set to True, the image selected to the display will be offset by ( (width of the window - width of the image)/2, (height of the window - height of the image)/2 ) in the window.
  • This property is only available for windowed displays.


Display.DataDepth Property

DataDepth property

See Also | Availability | MIL Equivalent | CenterDisplay | DataType
User Guide:
Data type and depth
Displaying an image overview

Reference:
Display.DataType
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispInquire(
InquireType =
M_SIZE_BIT
)
Display
DataDepth
Synopsis
Returns the data depth of the display.
[]
Syntax
[Integer =] object.DataDepth
[]
Syntax
[long =] object->DataDepth
Type description
A long value that specifies the number of bits. Possible values are 8, 16, or 32.


Display.DataType Property

DataType property

See Also | Availability | MIL Equivalent | DataDepth | DesktopSizeX
User Guide:
Data type and depth
Displaying an image overview

Reference:
Display.DataDepth
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispInquire(
InquireType =
M_SIGN
)
Display
DataType
Synopsis
Returns the data type of the display.
[]
Syntax
[DispDataTypeConstants =] object.DataType
[]
Syntax
[enum DispDataTypeConstants =] object->DataType
Type description
A DispDataTypeConstants expression that specifies the data type.
Value | Meaning
dispSigned | The data includes only integers.
dispUnsigned | The data includes only non-negative numbers.
dispFloat | The data includes only floating-point numbers.


Display.DesktopSizeX Property

DesktopSizeX property

See Also | Availability | MIL Equivalent | DataType | DesktopSizeY
Reference:
Display.DesktopSizeY
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispInquire(
InquireType =
M_SIZE_X
)
Display
DesktopSizeX
Synopsis
Returns the Windows desktop width.
[]
Syntax
[Integer =] object.DesktopSizeX
[]
Syntax
[long =] object->DesktopSizeX
Type description
A long value that specifies the desktop width, in pixels.


Display.DesktopSizeY Property

DesktopSizeY property

See Also | Availability | MIL Equivalent | DesktopSizeX | DeviceNumber
Reference:
Display.DesktopSizeX
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispInquire(
InquireType =
M_SIZE_Y
)
Display
DesktopSizeY
Synopsis
Returns the Window's desktop height.
[]
Syntax
[Integer =] object.DesktopSizeY
[]
Syntax
[long =] object->DesktopSizeY
Type description
A long value that specifies the desktop height, in pixels.


Display.DeviceNumber Property

DeviceNumber property

See Also | Availability | MIL Equivalent | DesktopSizeY | DisplayType
User Guide:
Display number
Displaying multiple images
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispAlloc(DispNum)
Display
DeviceNumber
Synopsis
Returns or sets the device number (or rank) of the display.
[]
Syntax
object.DeviceNumber [= Integer]
[]
Syntax
object->DeviceNumber [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value or an ActiveMILDefaultConstants expression that specifies the device number (or rank) of the display. (default is amilDefault)
Value | Meaning
amilDefault | This is the only permitted value.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • Based on the Display control's Format property, ActiveMIL finds the best device to use when displaying an image. Therefore, the device number must be set to amilDefault (default setting).


Display.DisplayType Property

DisplayType property

See Also | Availability | MIL Equivalent | DeviceNumber | ExternalWindow
User Guide:
Displaying multiple images
Overlay-display mechanism
The display window
Types of displays

Reference:
Display.ExternalWindow
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispAlloc(InitFlag)

MdispSelect()

MdispSelectWindow()

MdispInquire(
InquireType =
M_TYPE
)
Display
DisplayType
Synopsis
Returns or sets the type of display.
[]
Syntax
object.DisplayType [= DispDisplayTypeConstants]
[]
Syntax
object->DisplayType [= enum DispDisplayTypeConstants]
Type description
A DispDisplayTypeConstants expression that specifies the type of display.
Value | Meaning
dispDefaultWindow | Displays in the window selected using the MIL Configuration utility.
dispUserWindow | Displays in a user-specified window.
dispExternalWindow | Displays in an external window created by ActiveMIL.
dispAuxiliary | Displays the image without a surrounding window.
dispActiveMILWindow | Displays in a windowed display created by ActiveMIL.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • When the display type is set to M_DEFAULT in the MIL Configuration utility, and the DisplayType property is set to dispDefaultWindow, the display type is actually set to dispActiveMILWindow.
  • When dispUserWindow is specified, the UserWindow property must be set in code at run-time to specify the window to be used for display.
  • When dispUserWindow is specified, you can specify the handle of the user-defined window or child window to use for display, rather than displaying into an ActiveMIL window. The user-defined window is automatically refreshed when the display is modified (for example, when the image data is modified). You can use the Display.Image property to remove the image from the display.
  • When dispExternalWindow is specified, the ExternalWindow object can be accessed using the ExternalWindow property.
  • When dispExternalWindow is specified, setting an image to display creates a window surrounding the image. The window is created to fit the image if the image is smaller in size than the desktop. Otherwise, the right and bottom portion of the image, the part that exceeds the desktop, is not displayed.
  • When dispDefaultWindow, dispUserWindow, or dispExternalWindow is specified, the overlay image allows the underlying image to be seen within a surrounding window. If the overlay image is moved, the underlying image follows the same movement.
  • When dispAuxiliary is specified, the image is displayed at the top-left corner of an auxiliary screen. The border outside the image is blanked out if the image is smaller in size than the screen area (if the hardware supports this). Otherwise, the right and bottom portion of the image, the part that exceeds the display size, is not displayed.
  • When dispAuxiliary is specified, you must manage your own overlay window and fill it with the keying color in order to see the underlying image.
  • You can control the displayed area using the Zoom or Pan method. You can also set the PanX, PanY, ZoomX, or ZoomY, property. To display the image elsewhere, allocate a parent image that is the same size as the auxiliary screen's display resolution and then allocate a child image, at the required location.
  • For all DisplayType property settings, only one image can be displayed at a time on a specific display control. Use child images to display multiple images.
  • When creating the Display control at run-time, the DisplayType property is set to dispExternalWindow by default.
  • When creating the Display control at run-time, it is not possible to set the DisplayType property to dispActiveMILWindow.
  • []
     If this property is set to dispDefaultWindow, Visual Basic's Display.Visible property defaults to True. For all other display types, the default is False. Setting Visual Basic's Display.Visible property to True in the latter case causes the display's icon to become visible at run-time.


Display.ExternalWindow Property

ExternalWindow property

See Also | Availability | MIL Equivalent | DisplayType | FillDisplay
User Guide:
Panning and zooming
The display window

Reference:
Display.DisplayType
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_WINDOW_...
)

MdispInquire(
InquireType =
M_WINDOW_...
)
Display
ExternalWindow
Properties: ControlKey, hWnd, InitialPositionX, InitialPositionY, MaximizeButton, MenuBarChange, MenuBar, MinimizeButton, PanX, PanY, Scrollbar, SystemButton, TitleBarChange, TitleBar, Title, Visible, ZoomButton, ZoomX, ZoomY
Synopsis
Returns the display's ExternalWindow object, allowing access to its properties. The external window is a display window, created and managed by ActiveMIL, that allows panning and zooming via scrollbars and buttons.
[]
Syntax
[ExternalWindow =] object.ExternalWindow
[]
Syntax
[IExternalWindowPtr =] object->ExternalWindow
Type description
A value that represents an ExternalWindow object.
Remark
  • This property can only be used if the DisplayType property of the Display control is set to dispExternalWindow.


Display.ExternalWindow.ControlKey Property

ControlKey property

See Also | Availability | MIL Equivalent | hWnd
User Guide:
The display window
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_WINDOW_KEYBOARD_USE
)
Display
ExternalWindow
ControlKey
Synopsis
Returns or sets whether to activate the keys associated with the display's window.
[]
Syntax
object.ControlKey [= Boolean]
[]
Syntax
object->ControlKey [= VARIANT_BOOL]
Type description
A boolean value that specifies whether to activate the keys associated with the display's window. (default is True)
Value | Meaning
True | Activate the keys associated with the display's window.
False | Do not activate the keys associated with the display's window.
Remarks
  • This property can only be used if the DisplayType property of the Display control is set to dispExternalWindow.
  • The default key usage is:
    + Increase the X and Y zoom factors.
    - Decrease the X and Y zoom factors.
    Pg-up | Scroll the image up to the previous display section.
    Pg-dn | Scroll the image down to the next display section.
    Up arrow | Scroll the image up to the previous line.
    Dn arrow | Scroll the image down to the next line.
    Left arrow | Pan the image left by one pixel.
    Right arrow | Pan the image right by one pixel.
    Ctrl Up arrow | Scroll the image up to the previous display section.
    Ctrl Dn arrow | Scroll the image down to the next display section.
    Ctrl Left arrow | Pan the image left to the previous display section.
    Ctrl Right arrow | Pan the image right to the next display section.

    The `+` and `-` keys have the same effect as the menu bar buttons (letter `Z` with triangle pointing up or down); they increase and decrease the zoom factors. The other keys have the same effect as the scroll bars that appear in the display's window.


Display.ExternalWindow.hWnd Property

hWnd property

See Also | Availability | MIL Equivalent | ControlKey | InitialPositionX
User Guide:
The display window
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispInquire(
InquireType =
M_WINDOW_HANDLE
)
Display
ExternalWindow
hWnd
Synopsis
Returns the window handle (HWND) of the display window.
[]
Syntax
[Integer =] object.hWnd
[]
Syntax
[long =] object->hWnd
Type description
A long value that specifies the window handle.
Remark
  • This property can only be used if the DisplayType property of the Display control is set to dispExternalWindow.


Display.ExternalWindow.InitialPositionX Property

InitialPositionX property

See Also | Availability | MIL Equivalent | hWnd | InitialPositionY
User Guide:
The display window

Reference:
Display.ExternalWindow.InitialPositionY
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_WINDOW_INITIAL_POSITION_X
)
Display
ExternalWindow
InitialPositionX
Synopsis
Returns or sets the initial, left-most, X-coordinate of the window's client area.
[]
Syntax
object.InitialPositionX [= Integer]
[]
Syntax
object->InitialPositionX [= long]
Type description
A long value that specifies the initial, left-most, X-coordinate of the window's client area, in pixels.
Remark
  • This property can only be used if the DisplayType property of the Display control is set to dispExternalWindow.


Display.ExternalWindow.InitialPositionY Property

InitialPositionY property

See Also | Availability | MIL Equivalent | InitialPositionX | MaximizeButton
User Guide:
The display window

Reference:
Display.ExternalWindow.InitialPositionX
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_WINDOW_INITIAL_POSITION_Y
)
Display
ExternalWindow
InitialPositionY
Synopsis
Returns or sets the initial, top-most, Y-coordinate of the window's client area.
[]
Syntax
object.InitialPositionY [= Integer]
[]
Syntax
object->InitialPositionY [= long]
Type description
A long value that specifies the initial, top-most, Y-coordinate of the window's client area, in pixels.
Remark
  • This property can only be used if the DisplayType property of the Display control is set to dispExternalWindow.


Display.ExternalWindow.MaximizeButton Property

MaximizeButton property

See Also | Availability | MIL Equivalent | InitialPositionY | MenuBarChange
User Guide:
The display window

Reference:
Display.ExternalWindow.MinimizeButton
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_WINDOW_MAXBUTTON
)

MdispInquire(
InquireType =
M_WINDOW_MAXBUTTON
)
Display
ExternalWindow
MaximizeButton
Synopsis
Returns or sets whether the window's maximize button is visible.
[]
Syntax
object.MaximizeButton [= Boolean]
[]
Syntax
object->MaximizeButton [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the window's maximize button is visible. (default is True)
Value | Meaning
True | Visible.
False | Not visible.
Remark
  • This property can only be used if the DisplayType property of the Display control is set to dispExternalWindow.


Display.ExternalWindow.MenuBar Property

MenuBar property

See Also | Availability | MIL Equivalent | MenuBarChange | MinimizeButton
User Guide:
The display window

Reference:
Display.ExternalWindow.MenuBarChange
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_WINDOW_MENU_BAR
)

MdispInquire(
InquireType =
M_WINDOW_MENU_BAR
)
Display
ExternalWindow
MenuBar
Synopsis
Returns or sets whether the window's menu bar is visible.
[]
Syntax
object.MenuBar [= Boolean]
[]
Syntax
object->MenuBar [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the window's menu bar is visible. (default is True)
Value | Meaning
True | Visible.
False | Not visible.
Remarks
  • This property can only be used if the DisplayType property of the Display control is set to dispExternalWindow.
  • To set whether the menu bar presence can be toggled, use the MenuBarChange property.


Display.ExternalWindow.MenuBarChange Property

MenuBarChange property

See Also | Availability | MIL Equivalent | MaximizeButton | MenuBar
Reference:
Display.ExternalWindow.MenuBar
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_WINDOW_MENU_BAR_CHANGE
)

MdispInquire(
InquireType =
M_WINDOW_MENU_BAR_CHANGE
)
Display
ExternalWindow
MenuBarChange
Synopsis
Returns or sets the status of toggling the presence of the window's menu bar.
[]
Syntax
object.MenuBarChange [= Boolean]
[]
Syntax
object->MenuBarChange [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the presence of the window's menu bar can be toggled. (default is True)
Value | Meaning
True | Toggling allowed.
False | Toggling not allowed.
Remarks
  • This property can only be used if the DisplayType property of the Display control is set to dispExternalWindow.
  • To make the menu bar visible, use the MenuBar property.


Display.ExternalWindow.MinimizeButton Property

MinimizeButton property

See Also | Availability | MIL Equivalent | MenuBar | PanX
User Guide:
The display window

Reference:
Display.ExternalWindow.MaximizeButton
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_WINDOW_MINBUTTON
)

MdispInquire(
InquireType =
M_WINDOW_MINBUTTON
)
Display
ExternalWindow
MinimizeButton
Synopsis
Returns or sets whether the window's minimize button is visible.
[]
Syntax
object.MinimizeButton [= Boolean]
[]
Syntax
object->MinimizeButton [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the window's minimize button is visible. (default is True)
Value | Meaning
True | Visible.
False | Not visible.
Remark
  • This property can only be used if the DisplayType property of the Display control is set to dispExternalWindow.


Display.ExternalWindow.PanX Property

PanX property

See Also | Availability | MIL Equivalent | MinimizeButton | PanY
User Guide:
Attaching scroll bars to the display window
Panning and zooming
The display window

Reference:
Display.ExternalWindow.PanY
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispInquire(
InquireType =
M_WINDOW_PAN_X
)
Display
ExternalWindow
PanX
Synopsis
Returns the position of the horizontal scroll bar in the display's window.
[]
Syntax
[Integer =] object.PanX
[]
Syntax
[long =] object->PanX
Type description
A long value that specifies the position of the horizontal scroll bar in the display's window.
Remarks
  • This property can only be used if the DisplayType property of the Display control is set to dispExternalWindow.
  • This property is read-only. Use the scroll bars on the window to pan the image.


Display.ExternalWindow.PanY Property

PanY property

See Also | Availability | MIL Equivalent | PanX | Scrollbar
User Guide:
Attaching scroll bars to the display window
Panning and zooming
The display window

Reference:
Display.ExternalWindow.PanX
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispInquire(
InquireType =
M_WINDOW_PAN_Y
)
Display
ExternalWindow
PanY
Synopsis
Returns the position of the vertical scroll bar in the display's window.
[]
Syntax
[Integer =] object.PanY
[]
Syntax
[long =] object->PanY
Type description
A long value that specifies the position of the vertical scroll bar in the display's window.
Remarks
  • This property can only be used if the DisplayType property of the Display control is set to dispExternalWindow.
  • This property is read-only. Use the scroll bars on the window to pan the image.


Display.ExternalWindow.Scrollbar Property

Scrollbar property

See Also | Availability | MIL Equivalent | PanY | SystemButton
User Guide:
Attaching scroll bars to the display window
Panning and zooming
The display window
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_WINDOW_SCROLLBAR
)

MdispInquire(
InquireType =
M_WINDOW_SCROLLBAR
)
Display
ExternalWindow
Scrollbar
Synopsis
Returns or sets whether the window's scroll bar is visible.
[]
Syntax
object.Scrollbar [= Boolean]
[]
Syntax
object->Scrollbar [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the window's scroll bar is visible. (default is True)
Value | Meaning
True | Visible.
False | Not visible.
Remark
  • This property can only be used if the DisplayType property of the Display control is set to dispExternalWindow.


Display.ExternalWindow.SystemButton Property

SystemButton property

See Also | Availability | MIL Equivalent | Scrollbar | TitleBarChange
User Guide:
The display window
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_WINDOW_SYSBUTTON
)

MdispInquire(
InquireType =
M_WINDOW_SYSBUTTON
)
Display
ExternalWindow
SystemButton
Synopsis
Returns or sets whether the window's system button is visible.
[]
Syntax
object.SystemButton [= Boolean]
[]
Syntax
object->SystemButton [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the window's system button is visible. (default is True)
Value | Meaning
True | Visible.
False | Not visible.
Remark
  • This property can only be used if the DisplayType property of the Display control is set to dispExternalWindow.


Display.ExternalWindow.Title Property

Title property

See Also | Availability | MIL Equivalent | TitleBar | Visible
User Guide:
The display window

Reference:
Display.ExternalWindow.TitleBarChange
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_TITLE
)

MdispInquire(
InquireType =
M_TITLE
)
Display
ExternalWindow
Title
Synopsis
Returns or sets the window's title.
[]
Syntax
object.Title [= String]
[]
Syntax
object->Title [= _bstr_t]
Type description
A string expression that specifies the display window's title.
Remarks
  • This property can only be used if the DisplayType property of the Display control is set to dispExternalWindow.
  • To make the title bar visible, use the TitleBar property.


Display.ExternalWindow.TitleBar Property

TitleBar property

See Also | Availability | MIL Equivalent | TitleBarChange | Title
User Guide:
The display window

Reference:
Display.ExternalWindow.TitleBarChange
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_WINDOW_TITLE_BAR
)

MdispInquire(
InquireType =
M_WINDOW_TITLE_BAR
)
Display
ExternalWindow
TitleBar
Synopsis
Returns or sets whether the window's title bar is visible.
[]
Syntax
object.TitleBar [= Boolean]
[]
Syntax
object->TitleBar [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the window's title bar is visible. (default is True)
Value | Meaning
True | Visible.
False | Not visible.
Remarks
  • This property can only be used if the DisplayType property of the Display control is set to dispExternalWindow.
  • To set a title for the title bar, use the Title property.
  • To set whether the title bar presence can be toggled, use the TitleBarChange property.


Display.ExternalWindow.TitleBarChange Property

TitleBarChange property

See Also | Availability | MIL Equivalent | SystemButton | TitleBar
User Guide:
The display window

Reference:
Display.ExternalWindow.TitleBar
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_WINDOW_TITLE_BAR_CHANGE
)

MdispInquire(
InquireType =
M_WINDOW_TITLE_BAR_CHANGE
)
Display
ExternalWindow
TitleBarChange
Synopsis
Returns or sets the status of toggling the presence of the window's title bar.
[]
Syntax
object.TitleBarChange [= Boolean]
[]
Syntax
object->TitleBarChange [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the presence of the window's title bar can be toggled. (default is True)
Value | Meaning
True | Toggling allowed.
False | Toggling not allowed.
Remarks
  • This property can only be used if the DisplayType property of the Display control is set to dispExternalWindow.
  • To make the title bar visible, use the TitleBar property.
  • Double-clicking on the image will toggle between Title On and Title Off. If the title bar is present, you can also right-click on the title bar to select Title Off.


Display.ExternalWindow.Visible Property

Visible property

See Also | Availability | MIL Equivalent | Title | ZoomButton
User Guide:
The display window
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Display
ExternalWindow
Visible
Synopsis
Returns or sets whether the specified external window is visible.
[]
Syntax
object.Visible [= Boolean]
[]
Syntax
object->Visible [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the external window is visible.
Value | Meaning
True | Specifies that the external window is visible.
False | Specifies that the external window is not visible.
Remarks
  • This property can only be used if the DisplayType property of the Display control is set to dispExternalWindow.
  • If the setting is False, the external window is not visible. If the external window is closed, its Visible property is set to False. To show the external window again after it has been closed by the user, set its Visible property to True once again.


Display.ExternalWindow.ZoomButton Property

ZoomButton property

See Also | Availability | MIL Equivalent | Visible | ZoomX
User Guide:
The display window
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_WINDOW_ZOOM
)

MdispInquire(
InquireType =
M_WINDOW_ZOOM
)
Display
ExternalWindow
ZoomButton
Synopsis
Returns or sets whether the window's zoom buttons (+, -) are visible.
[]
Syntax
object.ZoomButton [= Boolean]
[]
Syntax
object->ZoomButton [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the window's zoom buttons (+, -) are visible. (default is True)
Value | Meaning
True | Visible.
False | Not visible.
Remark
  • This property can only be used if the DisplayType property of the Display control is set to dispExternalWindow.


Display.ExternalWindow.ZoomX Property

ZoomX property

See Also | Availability | MIL Equivalent | ZoomButton | ZoomY
User Guide:
Panning and zooming
The display window

Reference:
Display.ExternalWindow.ZoomButton
Display.ExternalWindow.ZoomY
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispInquire(
InquireType =
M_WINDOW_ZOOM_FACTOR_X
)
Display
ExternalWindow
ZoomX
Synopsis
Returns the display's zoom factor in the X-direction.
[]
Syntax
[Double =] object.ZoomX
[]
Syntax
[double =] object->ZoomX
Type description
A double value that specifies the display's zoom factor in the X-direction.
Remarks
  • This property can only be used if the DisplayType property of the Display control is set to dispExternalWindow.
  • Use the zoom buttons on the window to modify the zoom factor. When zoomed, the image will be displayed starting from its top left corner, unless it has been panned and/or scrolled, using the window scrollbar. The data in the image is not modified; only the display is zoomed.


Display.ExternalWindow.ZoomY Property

ZoomY property

See Also | Availability | MIL Equivalent | ZoomX
User Guide:
Panning and zooming
The display window

Reference:
Display.ExternalWindow.ZoomButton
Display.ExternalWindow.ZoomX
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispInquire(
InquireType =
M_WINDOW_ZOOM_FACTOR_Y
)
Display
ExternalWindow
ZoomY
Synopsis
Returns the display's zoom factor in the Y-direction.
[]
Syntax
[Double =] object.ZoomY
[]
Syntax
[double =] object->ZoomY
Type description
A double value that specifies the display's zoom factor in the Y-direction.
Remarks
  • This property can only be used if the DisplayType property of the Display control is set to dispExternalWindow.
  • Use the zoom buttons on the window to modify the zoom factor. When zoomed, the image will be displayed starting from its top-left corner, unless it has been panned and/or scrolled, using the window scrollbar. The data in the image is not modified; only the display is zoomed.


Display.FillDisplay Property

FillDisplay property

Availability | MIL Equivalent | ExternalWindow | Format
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_FILL_DISPLAY
)

MdispInquire(
InquireType =
M_FILL_DISPLAY
)
Display
FillDisplay
Synopsis
Returns or sets whether the display will be filled with the selected image using an automatically calculated zoom factor.
[]
Syntax
object.FillDisplay [= Boolean]
[]
Syntax
object->FillDisplay [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the display will be filled with the selected image using an automatically calculated zoom factor. (default is False)
Value | Meaning
True | Specifies that the filling of the display is enabled.
False | Specifies that the filling of the display is disabled.
Remarks
  • When this property is set to True, this setting overrides the zoom factors (ZoomX and ZoomY properties, or Zoom method), disables the window's zoom buttons (ExternalWindow.ZoomButton property), and overrides pan settings (PanX and PanY properties, or Pan method)
  • When this property is set to False, other zoom factors can be applied.
  • This property is only available for windowed displays.


Display.Format Property

Format property

See Also | Availability | MIL Equivalent | FillDisplay | FrameStartEvent
User Guide:
The data format
Video output format
Available in ActiveMIL-Lite

Available in ActiveMIL

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Orion
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MdispAlloc(DispFormat)

MdispInquire(
InquireType =
M_FORMAT
)
Display
Format
Synopsis
Returns or sets the format of the display.
[]
Syntax
object.Format [= String]
[]
Syntax
object->Format [= _bstr_t]
Type description
A string value or an ActiveMILDefaultConstants expression that specifies the display format to use. (default is amilDefault)
Value | Meaning
amilDefault | Default display format. This setting must be used for windowed displays.
VCF file name | The name of the video configuration format (VCF) file of the display as a string, for example "1024x768x32@60hz.vcf". This setting can only be used for auxiliary displays.
Remarks
  • This property cannot be set at run-time if the object is in the allocated state.
  • For auxiliary displays, if the display format is specified as a string, ActiveMIL does not impose any restrictions on this format.
  • For auxiliary displays, when the display format is set to amilDefault, MIL should uses the format specified in the milsetup.h file.
Remark for Matrox Corona-II
  • When allocating auxiliary displays (dispAuxiliary setting of the DisplayType property), you can pass one of the following:
    Display Format | Description
    "CCIR" | Encoder enabled in composite format without colorburst.
    "NTSC"* | Encoder enabled in composite format with colorburst.
    "NTSC_RGB" | Encoder enabled in RGB format with sync on green.
    "NTSC_YC"* | Encoder enabled in Y/C formats with colorburst.
    "PAL"* | Encoder enabled in composite format with colorburst.
    "PAL_RGB" | Encoder enabled in RGB format with sync on green.
    "PAL_YC"* | Encoder enabled in Y/C formats with colorburst.
    "RS170" | Encoder enabled in composite format without colorburst.
    *Selecting these display formats will produce both composite and Y/C outputs.
Remark for Matrox CronosPlus
  • The auxiliary display formats are not available unless you have a second graphics controller (G400 or higher) installed. If you have a G400 or higher graphics controller installed, you can use the secong CRT output for your auxiliary screen. Also, G400's second CRT output does not support encoded vidoe formats, only the G450 and higher do.

    When using a second CRT output for your auxiliary screen, your display driver's DualHead mode must be disabled; otherwise, both the display driver and the MIL driver will attempt to access the second CRT output.

Remarks for Matrox Genesis
  • The auxiliary display formats are not available unless you have a second graphics controller (G400 or higher) installed. If you have a G400 or higher graphics controller installed, you can use the secong CRT output for your auxiliary screen. Also, G400's second CRT output does not support encoded vidoe formats, only the G450 and higher do.

    When using a second CRT output for your auxiliary screen, your display driver's DualHead mode must be disabled; otherwise, both the display driver and the MIL driver will attempt to access the second CRT output.

  • One of the following VCF (Video Configuration Format) files can be specified:
    Filename | Display Format
    "640x480x8PP"* | 640 x 480 at 60 Hz
    "800x600x8PP"* | 800 x 600 at 60 Hz
    "1024x768x8PP"* | 1024 x 768 at 60 Hz
    "1280x1024x8PP"* | 1280 x 1024 at 60 Hz
    "1600x1200x8PP"* | 1600 x 1200 at 60 Hz
    "VM101_60.VCF" | 640 x 480 at 60 Hz
    "VM101_72.VCF" | 640 x 480 at 72 Hz
    "VM103_60.VCF" | 800 x 600 at 60 Hz
    "VM103_72.VCF" | 800 x 600 at 72 Hz
    "VM105_60.VCF" | 1024 x 768 at 60 Hz
    "VM105_72.VCF" | 1024 x 768 at 72 Hz
    "CM001_60.VCF" | 1152 x 882 at 60 Hz
    "CM001_72.VCF" | 1152 x 882 at 72 Hz
    "VM107_60.VCF" | 1280 x 1024 at 60 Hz
    "VM107_72.VCF" | 1280 x 1024 at 72 Hz
    "VM11C_60.VCF" | 1600 x 1200 at 60 Hz
    *These display formats can be specifies if you have a second graphics controller (G400 or higher VGA board) installed, and you allocate the display on the graphics controller.
Remark for Matrox Helios XA
  • The auxiliary display formats are not available unless you have a second graphics controller (G400 or higher) installed. If you have a G400 or higher graphics controller installed, you can use the secong CRT output for your auxiliary screen. Also, G400's second CRT output does not support encoded vidoe formats, only the G450 and higher do.

    When using a second CRT output for your auxiliary screen, your display driver's DualHead mode must be disabled; otherwise, both the display driver and the MIL driver will attempt to access the second CRT output.

Remark for Matrox Helios XCL
  • The auxiliary display formats are not available unless you have a second graphics controller (G400 or higher) installed. If you have a G400 or higher graphics controller installed, you can use the secong CRT output for your auxiliary screen. Also, G400's second CRT output does not support encoded vidoe formats, only the G450 and higher do.

    When using a second CRT output for your auxiliary screen, your display driver's DualHead mode must be disabled; otherwise, both the display driver and the MIL driver will attempt to access the second CRT output.

Remark for Matrox Meteor-II /1394
  • The auxiliary display formats are not available unless you have a second graphics controller (G400 or higher) installed. If you have a G400 or higher graphics controller installed, you can use the secong CRT output for your auxiliary screen. Also, G400's second CRT output does not support encoded vidoe formats, only the G450 and higher do.

    When using a second CRT output for your auxiliary screen, your display driver's DualHead mode must be disabled; otherwise, both the display driver and the MIL driver will attempt to access the second CRT output.

Remark for Matrox Meteor-II /Camera Link
  • The auxiliary display formats are not available unless you have a second graphics controller (G400 or higher) installed. If you have a G400 or higher graphics controller installed, you can use the secong CRT output for your auxiliary screen. Also, G400's second CRT output does not support encoded vidoe formats, only the G450 and higher do.

    When using a second CRT output for your auxiliary screen, your display driver's DualHead mode must be disabled; otherwise, both the display driver and the MIL driver will attempt to access the second CRT output.

Remark for Matrox Meteor-II /Digital
  • The auxiliary display formats are not available unless you have a second graphics controller (G400 or higher) installed. If you have a G400 or higher graphics controller installed, you can use the secong CRT output for your auxiliary screen. Also, G400's second CRT output does not support encoded vidoe formats, only the G450 and higher do.

    When using a second CRT output for your auxiliary screen, your display driver's DualHead mode must be disabled; otherwise, both the display driver and the MIL driver will attempt to access the second CRT output.

Remark for Matrox Meteor-II /Multi-Channel
  • The auxiliary display formats are not available unless you have a second graphics controller (G400 or higher) installed. If you have a G400 or higher graphics controller installed, you can use the secong CRT output for your auxiliary screen. Also, G400's second CRT output does not support encoded vidoe formats, only the G450 and higher do.

    When using a second CRT output for your auxiliary screen, your display driver's DualHead mode must be disabled; otherwise, both the display driver and the MIL driver will attempt to access the second CRT output.

Remark for Matrox Meteor-II /Standard
  • The auxiliary display formats are not available unless you have a second graphics controller (G400 or higher) installed. If you have a G400 or higher graphics controller installed, you can use the secong CRT output for your auxiliary screen. Also, G400's second CRT output does not support encoded vidoe formats, only the G450 and higher do.

    When using a second CRT output for your auxiliary screen, your display driver's DualHead mode must be disabled; otherwise, both the display driver and the MIL driver will attempt to access the second CRT output.

Remark for Matrox Morphis
  • The auxiliary display formats are not available unless you have a second graphics controller (G400 or higher) installed. If you have a G400 or higher graphics controller installed, you can use the secong CRT output for your auxiliary screen. Also, G400's second CRT output does not support encoded vidoe formats, only the G450 and higher do.

    When using a second CRT output for your auxiliary screen, your display driver's DualHead mode must be disabled; otherwise, both the display driver and the MIL driver will attempt to access the second CRT output.

Remark for Matrox Odyssey XA
  • The auxiliary display formats are not available unless you have a second graphics controller (G400 or higher) installed. If you have a G400 or higher graphics controller installed, you can use the secong CRT output for your auxiliary screen. Also, G400's second CRT output does not support encoded vidoe formats, only the G450 and higher do.

    When using a second CRT output for your auxiliary screen, your display driver's DualHead mode must be disabled; otherwise, both the display driver and the MIL driver will attempt to access the second CRT output.

Remark for Matrox Odyssey XCL
  • The auxiliary display formats are not available unless you have a second graphics controller (G400 or higher) installed. If you have a G400 or higher graphics controller installed, you can use the secong CRT output for your auxiliary screen. Also, G400's second CRT output does not support encoded vidoe formats, only the G450 and higher do.

    When using a second CRT output for your auxiliary screen, your display driver's DualHead mode must be disabled; otherwise, both the display driver and the MIL driver will attempt to access the second CRT output.

Remark for Matrox Odyssey XD
  • The auxiliary display formats are not available unless you have a second graphics controller (G400 or higher) installed. If you have a G400 or higher graphics controller installed, you can use the secong CRT output for your auxiliary screen. Also, G400's second CRT output does not support encoded vidoe formats, only the G450 and higher do.

    When using a second CRT output for your auxiliary screen, your display driver's DualHead mode must be disabled; otherwise, both the display driver and the MIL driver will attempt to access the second CRT output.

Remark for Matrox Orion
  • When allocating auxiliary displays (dispAuxiliary setting of the DisplayType property), you can pass one of the following:
    Display Format | Description
    "CCIR" | Encoder enabled in composite format without colorburst.
    "NTSC"* | Encoder enabled in composite format with colorburst.
    "NTSC_RGB" | Encoder enabled in RGB format with sync on green.
    "NTSC_YC"* | Encoder enabled in Y/C formats with colorburst.
    "PAL"* | Encoder enabled in composite format with colorburst.
    "PAL_RGB" | Encoder enabled in RGB format with sync on green.
    "PAL_YC"* | Encoder enabled in Y/C formats with colorburst.
    "RS170" | Encoder enabled in composite format without colorburst.
    *Selecting these display formats will produce both composite and Y/C outputs.
Remark for Matrox Solios XA
  • The auxiliary display formats are not available unless you have a second graphics controller (G400 or higher) installed. If you have a G400 or higher graphics controller installed, you can use the secong CRT output for your auxiliary screen. Also, G400's second CRT output does not support encoded vidoe formats, only the G450 and higher do.

    When using a second CRT output for your auxiliary screen, your display driver's DualHead mode must be disabled; otherwise, both the display driver and the MIL driver will attempt to access the second CRT output.

Remark for Matrox Solios XCL
  • The auxiliary display formats are not available unless you have a second graphics controller (G400 or higher) installed. If you have a G400 or higher graphics controller installed, you can use the secong CRT output for your auxiliary screen. Also, G400's second CRT output does not support encoded vidoe formats, only the G450 and higher do.

    When using a second CRT output for your auxiliary screen, your display driver's DualHead mode must be disabled; otherwise, both the display driver and the MIL driver will attempt to access the second CRT output.


Display.FrameStartEvent Property

FrameStartEvent property

See Also | Availability | MIL Equivalent | Format | hWnd
Reference:
Display.FrameStart
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Display
FrameStartEvent
Synopsis
Returns or sets whether the FrameStart event is enabled.
[]
Syntax
object.FrameStartEvent [= Boolean]
[]
Syntax
object->FrameStartEvent [= VARIANT_BOOL]
Type description
A boolean value that specifies the status of the FrameStart event.
Value | Meaning
True | The FrameStart event will be fired.
False | The FrameStart event will not be fired.
Remark
  • This property is not supported when the graphics controller does not have non-destructive overlay capabilities.


Display.hWnd Property

hWnd property

See Also | Availability | MIL Equivalent | FrameStartEvent | Image
User Guide:
The display window
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispInquire(
InquireType =
M_WINDOW_HANDLE
)
Display
hWnd
Synopsis
Returns the window handle (HWND) of the display window.
[]
Syntax
[Integer =] object.hWnd
[]
Syntax
[long =] object->hWnd
Type description
A long value that specifies the window handle.


Display.Image Property

Image property

See Also | Availability | MIL Equivalent | hWnd | ImageName
Reference:
Image.DataDepth
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispSelect()

MdispSelectWindow()
Display
Image
Synopsis
Returns or sets the image to display.
[]
Syntax
object.Image [= Image]
[]
Syntax
object->Image [= IImagePtr]
Type description
An Image control that specifies the source image to display.
Remarks
  • For windowed displays, when displaying non 8-bit images on an 8-bit display, the image's DataDepth and the display's DataDepth properties do not have to match.

    In other display resolutions and for auxiliary displays, the image depth must equal the number of output display bits; that is, the DataDepth properties of the image and display must match.

    A number of view mode settings are available to simulate the display of non 8-bit images, using the display's ViewMode property. Note that under these simulated display conditions, processing time might be slower. Also, note that some boards do not support all of the view mode settings for simulating the display of non 8-bit images.

  • The image must have its CanDisplay property set to True.
  • You can only display one image at a time on a specific display.
  • []
     Use the Visual Basic Is Nothing statement to confirm that this property is currently not associated with a control.
  • []
     To remove the reference to the current control without assigning a new control, set the property to Nothing.
  • []
     To remove the reference to the current control without assigning a new control, set the property to NULL.
  • When removing the reference to the current control, for windowed displays, the display is closed. For auxiliary displays, the display is blanked.
  • You can only remove the entire image from the display. Therefore, when displaying a parent image, you cannot remove one of its child images from the display.
  • It is not necessary to stop displaying the image before selecting another image for display.
  • The image can also be specified with the name assigned to its control, using the ImageName property.
  • This property automatically sets the ImageName property.


Display.ImageName Property

ImageName property

See Also | Availability | MIL Equivalent | Image | InitializationFlag
User Guide:
Grabbing an image - overview

Reference:
Image.DataDepth
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispSelect()

MdispSelectWindow()
Display
ImageName
Synopsis
Returns or sets the name of the image to display.
[]
Syntax
object.ImageName [= String]
[]
Syntax
object->ImageName [= _bstr_t]
Type description
A string expression that specifies the name of the Image control to display.
Remarks
  • For windowed displays, when displaying non 8-bit images on an 8-bit display, the image's DataDepth and the display's DataDepth properties do not have to match.

    In other display resolutions and for auxiliary displays, the image depth must equal the number of output display bits; that is, the DataDepth properties of the image and display must match.

    A number of view mode settings are available to simulate the display of non 8-bit images, using the display's ViewMode property. Note that under these simulated display conditions, processing time might be slower. Also, note that some boards do not support all of the view mode settings for simulating the display of non 8-bit images.

  • The image must have its CanDisplay property set to True.
  • You can only display one image at a time on a specific display.
  • To remove the reference to the current control without assigning a new control, specify an empty string ("").
  • When removing the reference to the current control, for windowed displays, the display is closed. For auxiliary displays, the display is blanked.
  • You can only remove the entire image from the display. Therefore, when displaying a parent image, you cannot remove one of its child images from the display.
  • It is not necessary to stop displaying the image before selecting another image for display.
  • The target image can also be specified using the Image property.
  • This property automatically sets the Image property.


Display.InitializationFlag Property

InitializationFlag property

See Also | Availability | MIL Equivalent | ImageName | InterpolationMode
Reference:
Display.Allocate
Display.AutomaticAllocation
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispAlloc(InitFlag)
Display
InitializationFlag
Synopsis
Returns or sets the initialization type of the display.
[]
Syntax
object.InitializationFlag [= DispInitializationFlagConstants]
[]
Syntax
object->InitializationFlag [= enum DispInitializationFlagConstants]
Type description
A DispInitializationFlagConstants expression that specifies the type of initialization.
Value | Meaning
dispDefaultFlag | This is the only permitted value.
Remark
  • This property cannot be set at run-time if the display is in the allocated state.


Display.InterpolationMode Property

InterpolationMode property

Availability | MIL Equivalent | InitializationFlag | IsAllocated
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_INTERPOLATION_MODE
)

MdispInquire(
InquireType =
M_INTERPOLATION_MODE
)
Display
InterpolationMode
Synopsis
Returns or sets the mode of interpolation used to display a zoomed image.
[]
Syntax
object.InterpolationMode [= DispInterpolationModeConstants]
[]
Syntax
object->InterpolationMode [= enum DispInterpolationModeConstants]
Type description
A DispInterpolationModeConstants expression that specifies the mode of interpolation used to display a zoomed image. (default is dispFast)
Value | Meaning
dispNearestNeighbor | Specifies the nearest neighbor interpolation.
dispFast | Specifies to use the fastest interpolation mode available to update the display.


Display.IsAllocated Property

IsAllocated property

See Also | Availability | MIL Equivalent | InterpolationMode | LUTEnabled
User Guide:
Allocation of resources

Reference:
Display.Allocate
Display.Free
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Display
IsAllocated
Synopsis
Returns whether the resources of the Display control are allocated.
[]
Syntax
[Boolean =] object.IsAllocated
[]
Syntax
[VARIANT_BOOL =] object->IsAllocated
Type description
A boolean value that specifies whether the resources of the control are allocated.
Value | Meaning
True | The resources of the control are allocated.
False | The resources of the control are not allocated
[]
Example
This example shows how to use the IsAllocated property.

If Display1.IsAllocated Then
    Display1.Free()
End If
[]
Example
This example shows how to use the IsAllocated property.

if (m_Display1->IsAllocated)
   m_Display1->Free();


Display.LUT Property

LUT property

See Also | Availability | MIL Equivalent | SelectedLUT | MilID
User Guide:
LUTs and the display
Overview of LUTs
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc1d()

MbufAlloc2d()

MbufAllocColor()

MdispLut()
Display
LUT
Properties: DataDepth, DataType, MaximumPixelValue, MilID, MinimumPixelValue, NumberOfBands, Size

Methods: GenerateColor, GenerateFunction, GenerateRamp, Get, Put
Synopsis
Allows you to specify or determine the display's custom LUT.
[]
Syntax
[LUT =] object.LUT
[]
Syntax
[ILUTPtr =] object->LUT
Type description
A LUT object.
Remarks
  • You cannot assign another LUT object to this property.
  • Use this property to set up a custom LUT for the display of any image selected to the display.
  • Once the LUT is set up, you must enable it with the LUTEnabled property.
  • For windowed displays, ActiveMIL indirectly programs the physical output LUTs through the use of a Windows palette. ActiveMIL checks the target display to determine whether or not a LUT is supported. If not, an error is generated.
  • In general, the LUT will not be used when displaying a 3-band 8-bit image under a non-8-bit display resolution.
  • Under Windows, the LUT will not be used in non-256-color display resolutions.
  • A LUT cannot be associated to an auxiliary display in a 256-color display resolution.
  • If you associate a one-band LUT with a windowed display, the same data is loaded in each component of the logical palette.
  • If you associate a three-band color LUT with a windowed display, each band of the LUT is loaded into its corresponding component of the logical palette.
  • For more information on managing LUT and achieving the appropriate display effect, see the LUTs and the display section in Chapter 15: Display of the ActiveMIL User Guide.


Display.LUT.DataDepth Property

DataDepth property

See Also | Availability | MIL Equivalent | DataType
User Guide:
Data type and depth
LUTs and the display
Overview of LUTs

Reference:
Display.LUT.DataType
Display.LUT.NumberOfBands
Display.OwnerSystem
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc1d(
Attribute =
M_LUT
Type
)

MbufAlloc2d(
Attribute =
M_LUT
Type
)

MbufAllocColor(
Attribute =
M_LUT
Type
)

MbufInquire(
InquireType =
M_SIZE_BIT
)
Display
LUT
DataDepth
Synopsis
Returns or sets the data depth of the LUT.
[]
Syntax
object.DataDepth [= Integer]
[]
Syntax
object->DataDepth [= long]
Type description
A long value that specifies the number of bits. Possible values are 1, 8, 16, and 32.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • Use the DataType property to specify the data type. The possible DataDepth settings for the corresponding DataType settings are:
    DataDepth | DataType
    8, 16, or 32 | lutSigned
    1, 8, 16, or 32 | lutUnsigned
    32 | lutFloat
  • Use the NumberOfBands property to specify the number of bands in the LUT.


Display.LUT.DataType Property

DataType property

See Also | Availability | MIL Equivalent | DataDepth | MaximumPixelValue
User Guide:
Data type and depth
LUTs and the display

Reference:
Display.LUT.DataDepth
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc1d(
Attribute =
M_LUT
Type
)

MbufAlloc2d(
Attribute =
M_LUT
Type
)

MbufAllocColor(
Attribute =
M_LUT
Type
)

MbufInquire(
InquireType =
M_TYPE
)
Display
LUT
DataType
Synopsis
Returns or sets the data type of the LUT.
[]
Syntax
object.DataType [= LUTDataTypeConstants]
[]
Syntax
object->DataType [= enum LUTDataTypeConstants]
Type description
A LUTDataTypeConstants expression that specifies the data type.
Value | Meaning
lutSigned | The data includes only integers.
lutUnsigned | The data includes only non-negative integers.
lutFloat | The data includes only floating-point numbers.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • Use the DataDepth property to specify the data depth. The possible DataDepth settings for the corresponding DataType settings are:
    DataDepth | DataType
    8, 16, or 32 | lutSigned
    1, 8, 16, or 32 | lutUnsigned
    32 | lutFloat


Display.LUT.MaximumPixelValue Property

MaximumPixelValue property

See Also | Availability | MIL Equivalent | DataType | MilID
Reference:
Display.LUT.MinimumPixelValue
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufControl(
ControlType =
M_MAX
)

MbufInquire(
InquireType =
M_MAX
)
Display
LUT
MaximumPixelValue
Synopsis
Returns or sets the maximum pixel value possible in the image selected to the display.
[]
Syntax
object.MaximumPixelValue [= Double]
[]
Syntax
object->MaximumPixelValue [= double]
Type description
A double value that specifies the maximum pixel value possible in the image selected to the display.
Remarks
  • MaximumPixelValue and MinimumPixelValue should specify the range of pixel values in the image. Upon display, pixel values between MaximumPixelValue and MinimumPixelValue are remapped linearly to values between the maximum and minimum display values possible.
  • Pixel values larger than the maximum value or smaller than the minimum value will result in undetermined effects upon display.
  • The maximum pixel value must be within the range of the image type. For example, for an unsigned 8-bit image, set this property to a value between 0 and 255, inclusive.


Display.LUT.MilID Property

MilID property

See Also | Availability | MIL Equivalent | MaximumPixelValue | MinimumPixelValue
User Guide:
Integrating MIL functions into your ActiveMIL code

Reference:
Display.IsAllocated
Display.Modified
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc1d(
Attribute =
M_LUT
BufIdPtr
)

MbufAlloc2d(
Attribute =
M_LUT
BufIdPtr
)

MbufAllocColor(
Attribute =
M_LUT
BufIdPtr
)
Display
LUT
MilID
Synopsis
Returns the Native MIL identifier of the allocated resources of the LUT.
[]
Syntax
[Integer =] object.MilID
[]
Syntax
[long =] object->MilID
Type description
A long value that specifies the Native MIL identifier of the LUT.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • The control's Modified method should be called after making Native MIL call(s) on the returned identifier.
  • If the control's IsAllocated property is False, the MilID property will be 0.


Display.LUT.MinimumPixelValue Property

MinimumPixelValue property

See Also | Availability | MIL Equivalent | MilID | NumberOfBands
Reference:
Display.LUT.MaximumPixelValue
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufControl(
ControlType =
M_MIN
)

MbufInquire(
InquireType =
M_MIN
)
Display
LUT
MinimumPixelValue
Synopsis
Returns or sets the minimum pixel value possible in the image selected to the display.
[]
Syntax
object.MinimumPixelValue [= Double]
[]
Syntax
object->MinimumPixelValue [= double]
Type description
A double value that specifies the minimum pixel value possible in the image selected to the display.
Remarks
  • MaximumPixelValue and MinimumPixelValue should specify the range of pixel values in the image. Upon display, pixel values between MaximumPixelValue and MinimumPixelValue are remapped linearly to values between the maximum and minimum display values possible.
  • Pixel values larger than the maximum value or smaller than the minimum value will result in undetermined effects upon display.
  • The minimum pixel value must be within the range of the image type. For example, for an unsigned 8-bit image, set this property to a value between 0 and 255, inclusive.


Display.LUT.NumberOfBands Property

NumberOfBands property

See Also | Availability | MIL Equivalent | MinimumPixelValue | Size
User Guide:
Dimensions
Overview of LUTs
Setting up your LUT
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufAllocColor(
Attribute =
M_LUT
SizeBand
)

MbufInquire(
InquireType =
M_SIZE_BAND
)
Display
LUT
NumberOfBands
Synopsis
Returns or sets the number of color bands of the LUT.
[]
Syntax
object.NumberOfBands [= Integer]
[]
Syntax
object->NumberOfBands [= long]
Type description
A long value that specifies the number of bands (1 or 3).
Remark
  • This property cannot be set at run-time if the control is in the allocated state.


Display.LUT.Size Property

Size property

See Also | Availability | MIL Equivalent | NumberOfBands | GenerateColor
User Guide:
Overview of LUTs
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufAllocColor(
Attribute =
M_LUT
SizeBand
)

MbufInquire(
InquireType =
M_SIZE_X
)
Display
LUT
Size
Synopsis
Returns or sets the size of the LUT.
[]
Syntax
object.Size [= Integer]
[]
Syntax
object->Size [= long]
Type description
A long value that specifies the number of LUT entries.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The number of LUT entries must be the same as the maximum number of intensities that can be represented in the displayed image. In other words, if you want to invert an 8-bit grayscale image (that is, an image that can have 256 intensities), your LUT must also have 256 entries.


Display.LUT.GenerateColor Method

GenerateColor method

See Also | Availability | MIL Equivalent | Size | GenerateFunction
User Guide:
Generating data into LUTs
LUTs and the display
Overview of LUTs

Reference:
Display.LUT.GenerateRamp
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufPutColor2d()
Display
LUT
GenerateColor
Synopsis
Sets the specified LUT index entries to the specified color.
[]
Syntax
object.GenerateColor(
ByVal StartIndex As Integer,
ByVal EndIndex As Integer,
ByVal Color As System.UInt32
)
[]
Syntax
void object->GenerateColor(
long StartIndex,
long EndIndex,
OLE_COLOR Color
)
StartIndex
A longintegerlong (integer for Visual Basic .Net) value that specifies the first LUT index entry for which to set a color. This value must be less than or equal to the value of EndIndex.
EndIndex
A longintegerlong (integer for Visual Basic .Net) value that specifies the last LUT index entry for which to set a color.
Color
A Color value that specifies the color with which to fill the LUT.
Remarks
  • Use your environment's RGB() function to explicitly set a value for each of the color bands (red, green, blue).
  • Each band of the LUT is filled with a corresponding component of the specified color. For example, the red band will be filled with the red component, the green band with the green component, and the blue band with the blue component.
  • Note that to obtain good results, the specified color must be carefully selected to provide the best color match for displaying your image. If the values of the LUT closely match the RGB values that occur frequently in the image to be displayed, very good results can be obtained.
  • []
     To convert a System.Drawing.Color to an UInt32 value, use .NET framework's System.Drawing.ColorTranslator.ToOle method to convert the System.Drawing.Color value to an integer. Then, convert that integer to an UInt32 value, using .NET framework's System.Convert.ToUInt32 method.


Display.LUT.GenerateFunction Method

GenerateFunction method

See Also | Availability | MIL Equivalent | GenerateColor | GenerateRamp
User Guide:
Generating data into LUTs
Overview of LUTs

Reference:
Display.LUT.GenerateRamp
Available in ActiveMIL-Lite

Available in ActiveMIL
MgenLutFunction()
Display
LUT
GenerateFunction
Synopsis
Generates data into the LUT according to the specified function.
[]
Syntax
object.GenerateFunction(
ByVal Function As LUTFunctionConstants,
ByVal StartIndex As Integer,
ByVal StartXValue As Double,
ByVal EndIndex As Integer,
ByVal a As Double,
ByVal b As Double,
ByVal c As Double
)
[]
Syntax
void object->GenerateFunction(
enum LUTFunctionConstants Function,
long StartIndex,
double StartXValue,
long EndIndex,
double a,
double b,
double c
)
Function
A LUTFunctionConstants expression that specifies the function to generate data.
Value | Meaning
lutLog | alogb(x) + c
lutExp | abx
lutSin | asin(bx) + c, where x is in degrees.
lutCos | acos(bx) + c, where x is in degrees.
lutTan | atan(bx) + c, where x is in degrees.
lutQuad | ax2 + bx + c
StartIndex
A long value that specifies the first LUT index entry for which to generate a value. This value must be less than or equal to the value of EndIndex.
StartXValue
A double value that specifies the initial value of X in the function.
EndIndex
A long value that specifies the last LUT index entry for which to generate a value.
a (optional in , default is 1.0)
A double value that specifies the value of the function constant a.
b (optional in , default is 1.0)
A double value that specifies the value of the function constant b.
c (optional in , default is 0.0)
A double value that specifies the value of the function constant c.
Remark
  • If the LUT is a multi-band LUT, the same data is written to all bands. To load different values into each, use the LUT.Put method.


Display.LUT.GenerateRamp Method

GenerateRamp method

See Also | Availability | MIL Equivalent | GenerateFunction | Get
User Guide:
Generating data into LUTs
Overview of LUTs

Reference:
Display.LUT.GenerateFunction
Available in ActiveMIL-Lite

Available in ActiveMIL
MgenLutRamp()
Display
LUT
GenerateRamp
Synopsis
Generates a ramp, inverse ramp, or constant into the LUT according to the specified function.
[]
Syntax
object.GenerateRamp(
ByVal StartIndex As Integer,
ByVal StartValue As Double,
ByVal EndIndex As Integer,
ByVal EndValue As Double
)
[]
Syntax
void object->GenerateRamp(
long StartIndex,
double StartValue,
long EndIndex,
double EndValue
)
StartIndex
A long value that specifies the first LUT index for which to generate a value. This value must be less than or equal to the value of EndIndex.
StartValue
A double value that specifies the initial LUT value. It is also used to calculate the increment between LUT entries ((start value end value) / number of entries).
EndIndex
A long value that specifies the last LUT index for which to generate a value.
EndValue
A double value that specifies the final LUT value. It is also used to calculate the increment between LUT entries ((start value - end value) / number of entries).
Remarks
  • StartValue and EndValue accept only integer values, except when using a floating-point LUT.
  • If StartValue and EndValue are the same value, the entire LUT is filled with this value.
  • If EndValue is smaller than StartValue, an inverse ramp is generated.


Display.LUT.Get Method

Get method

See Also | Availability | MIL Equivalent | GenerateRamp | Put
User Guide:
Overview of LUTs

Reference:
Display.LUT.Put
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufGet()
Display
LUT
Get
Synopsis
Copies the LUT data to a specified user-array.
[]
Syntax
object.Get(
ByVal UserArray As Array,
ByVal Band As LUTBandConstants,
ByVal Offset As Integer,
ByVal Size As Integer
)
[]
Syntax
void object->Get(
VARIANT * UserArray,
enum LUTBandConstants Band,
long Offset,
long Size
)
UserArray
An array in which to put the data.

Band (optional in , default is lutAllBands)
A long value or LUTBandConstants expression that specifies the band from which to get the data.
Value | Meaning
lutRed | Copy from the red band only.
lutGreen | Copy from the green band only.
lutBlue | Copy from the blue band only.
lutAllBands | Copy from all bands.
value | Index of the band (0...n-1)
Offset (optional in , default is 0.0)
A long value that specifies the offset of the LUT region from which to get the data.
Size (optional in , default is -1.0)
A long value that specifies the number of LUT entries from which to get the data.
Remarks
  • Ensure that the user array is large enough to accommodate the data from the LUT.
  • It is assumed that the user array is of the same data type and depth as the LUT.


Display.LUT.Put Method

Put method

See Also | Availability | MIL Equivalent | Get
User Guide:
Overview of LUTs

Reference:
Display.LUT.Get
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufPut()
Display
LUT
Put
Synopsis
Puts data from a specified user-array into the LUT.
[]
Syntax
object.Put(
ByVal UserArray As Array,
ByVal Band As LUTBandConstants,
ByVal Offset As Integer,
ByVal Size As Integer
)
[]
Syntax
void object->Put(
const _variant_t & UserArray,
enum LUTBandConstants Band,
long Offset,
long Size
)
UserArray
An array that contains the data to be read.

Band (optional in , default is lutAllBands)
A long value or LUTBandConstants expression that specifies the band in which to copy the data.
Value | Meaning
lutRed | Copy to the red band only.
lutGreen | Copy to the green band only.
lutBlue | Copy to the blue band only.
lutAllBands | Copy to all bands.
value | Index of the band (0...n-1).
Offset (optional in , default is 0.0)
A long value that specifies the offset of the LUT region in which to copy the data.
Size (optional in , default is -1.0)
A long value that specifies the number of LUT entries into which to copy the data.
Remark
  • It is assumed that the array is of the same data type and depth as the LUT.


Display.LUTEnabled Property

LUTEnabled property

See Also | Availability | MIL Equivalent | IsAllocated | SelectedLUT
User Guide:
LUTs and the display
Overview of LUTs

Reference:
Display.LUTEnabled
Image.LUTEnabled
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox Orion
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Morphis
No MIL equivalent
Display
LUTEnabled
Synopsis
Returns or sets whether the display's selected LUT will be used for the display of images.
[]
Syntax
object.LUTEnabled [= Boolean]
[]
Syntax
object->LUTEnabled [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the display's selected LUT will be used.
Value | Meaning
True | Use the display's selected LUT.
False | Use a transparent LUT.
Remarks
  • Before enabling this property, use the SelectedLUT property in the Display control to determine the display's selected LUT. The display's selected LUT can be either a custom LUT or a pseudo color LUT.
  • When this property is enabled, all displayed images will use the same selected LUT; consequently, an image's custom LUT will have no effect, even if enabled.
  • If the content of a LUT changes while the image is on the display, the changes will not take effect until the LUTEnabled property of the Display control is enabled again.
Remark for Matrox Corona-II
  • A LUT cannot be associated with an auxiliary display.
Remark for Matrox CronosPlus
  • A LUT cannot be associated with an auxiliary display.
Remark for Matrox Meteor-II /1394
  • A LUT cannot be associated with an auxiliary display.
Remark for Matrox Meteor-II /Camera Link
  • A LUT cannot be associated with an auxiliary display.
Remark for Matrox Meteor-II /Digital
  • A LUT cannot be associated with an auxiliary display.
Remark for Matrox Meteor-II /Multi-Channel
  • A LUT cannot be associated with an auxiliary display.
Remark for Matrox Meteor-II /Standard
  • A LUT cannot be associated with an auxiliary display.
Remark for Matrox Morphis
  • A LUT cannot be associated with an auxiliary display.
Remark for Matrox Orion
  • A LUT cannot be associated with an auxiliary display.


Display.MilID Property

MilID property

See Also | Availability | MIL Equivalent | LUT | MoveEnabled
User Guide:
Integrating MIL functions into your ActiveMIL code

Reference:
Display.IsAllocated
Display.Modified
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispAlloc(DisplayIdPtr)
Display
MilID
Synopsis
Returns the Native MIL identifier of the allocated resources of the Display control.
[]
Syntax
[Integer =] object.MilID
[]
Syntax
[long =] object->MilID
Type description
A long value that specifies the control's Native MIL identifier.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • The display's Modified method should be called after making Native MIL call(s) on the returned identifier.
  • If the display's IsAllocated property is False, the MilID will be 0.


Display.MoveEnabled Property

MoveEnabled property

See Also | Availability | MIL Equivalent | MilID | Name
User Guide:
The display window
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_WINDOW_MOVE
)

MdispInquire(
InquireType =
M_WINDOW_MOVE
)
Display
MoveEnabled
Synopsis
Returns or sets whether window movement is allowed.
[]
Syntax
object.MoveEnabled [= Boolean]
[]
Syntax
object->MoveEnabled [= VARIANT_BOOL]
Type description
A boolean value that specifies the status of window movement. (default is True)
Value | Meaning
True | Window movement is allowed.
False | Window movement is not allowed.
Remark
  • If MoveEnabled is set to False, movement of the display's top-level window is also disabled.


Display.Name Property

Name property

See Also | Availability | MIL Equivalent | MoveEnabled | NoTearing
User Guide:
Displaying an image -- overview
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Display
Name
Synopsis
Returns or sets the name used in code to identify the Display control.
[]
Syntax
object.Name [= String]
[]
Syntax
object->Name [= _bstr_t]
Type description
A string expression that specifies the name of the Display control.
Remarks
  • This property cannot be set at run-time.
  • The default name for a new control is the type of control plus a unique integer. For example, the first new Display control you create on a form is named Display1 and the second Display control is named Display2.
  • A control's Name property must start with a letter and can be a maximum of 40 characters. It can include numbers and underscore (_) characters but can't include punctuation or spaces. Although the Name property setting can be a keyword, property name, or the name of another object, this can create conflicts in your code.


Display.NoTearing Property

NoTearing property

See Also | Availability | MIL Equivalent | Name | NumberOfBands
User Guide:
Screen tearing
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_NO_TEARING
)

MdispInquire(
InquireType =
M_NO_TEARING
)
Display
NoTearing
Synopsis
Returns or sets whether the no-tearing mode is enabled.
[]
Syntax
object.NoTearing [= Boolean]
[]
Syntax
object->NoTearing [= VARIANT_BOOL]
Type description
A boolean value that specifies the status of the no-tearing mode. (default is False)
Value | Meaning
True | Specifies that the no-tearing mode is enabled.
False | Specifies that the no-tearing mode is disabled.
Remarks
  • No tearing-mode requires special hardware, such as a Matrox Millennium G400, G450, or G550 graphics controller.
  • If no tearing is enabled, but it is not supported by your hardware, an error message is produced.


Display.NumberOfBands Property

NumberOfBands property

See Also | Availability | MIL Equivalent | NoTearing | OffsetX
User Guide:
Data type and depth
Dimensions
Number of bands

Reference:
Display.Format
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispInquire(
InquireType =
M_SIZE_BAND
)
Display
NumberOfBands
Synopsis
Returns the number of color bands of the display.
[]
Syntax
[Integer =] object.NumberOfBands
[]
Syntax
[long =] object->NumberOfBands
Type description
A long value that specifies the number of bands (1 or 3).
Remarks
  • The property specifies the number of bands the display is capable of displaying.
  • For windowed displays, 3 will be returned; for auxiliary displays, 1 or 3 will be returned.


Display.OffsetX Property

OffsetX property

See Also | Availability | MIL Equivalent | NumberOfBands | OffsetY
Reference:
Display.OffsetY
Display.SizeX
Display.SizeY
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispInquire(
InquireType =
M_WINDOW_OFFSET_X
)
Display
OffsetX
Synopsis
Returns the horizontal offset of the display's window client area.
[]
Syntax
[Integer =] object.OffsetX
[]
Syntax
[long =] object->OffsetX
Type description
A long value that specifies the X-offset of the display's window client area, relative to the top-left corner of the screen (of the primary monitor).
Remark
  • This property is only available for windowed displays.


Display.OffsetY Property

OffsetY property

See Also | Availability | MIL Equivalent | OffsetX | OverlapEnabled
Reference:
Display.OffsetX
Display.SizeX
Display.SizeY
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispInquire(
InquireType =
M_WINDOW_OFFSET_Y
)
Display
OffsetY
Synopsis
Returns the vertical offset of the display's window client area.
[]
Syntax
[Integer =] object.OffsetY
[]
Syntax
[long =] object->OffsetY
Type description
A long value that specifies the Y-offset of the display's window client area, relative to the top-left corner of the screen (of the primary monitor).
Remark
  • This property is only available for windowed displays.


Display.OverlapEnabled Property

OverlapEnabled property

Availability | MIL Equivalent | OffsetY | OverlayImage
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_WINDOW_OVERLAP
)

MdispInquire(
InquireType =
M_WINDOW_OVERLAP
)
Display
OverlapEnabled
Synopsis
Returns or sets whether other windows can overlap the display's window.
[]
Syntax
object.OverlapEnabled [= Boolean]
[]
Syntax
object->OverlapEnabled [= VARIANT_BOOL]
Type description
A boolean value that specifies the status of display-window overlapping. (default is True)
Value | Meaning
True | Other windows are allowed to overlap the display's window
False | The display's window forces itself on-top of all other windows.
Remark
  • If OverlapEnabled is set to False, the display's top-level window is placed on top.


Display.OverlayImage Property

OverlayImage property

See Also | Availability | MIL Equivalent | OverlapEnabled | OverlayKeyColor
User Guide:
Annotating the displayed image non-destructively

Reference:
Display.Image
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispInquire(
InquireType =
M_OVERLAY_ID
)
Display
OverlayImage
Synopsis
Allows you access to the overlay image associated with the display.
[]
Syntax
[Image =] object.OverlayImage
[]
Syntax
[IImagePtr =] object->OverlayImage
Type description
An internally managed Image control that specifies the overlay image associated with the display.
Remarks
  • This property is available only if the OverlayWriting property is True.
  • You can only set the ContentModifiedEvent and FileFormat properties of this image.
  • You can call any method except for the Allocate, Free, or AssignMemory methods.
  • []
     Use the Visual Basic Is Nothing statement to confirm that this property is currently not associated with a control.
  • []
     To remove the reference to the current control without assigning a new control, set the property to Nothing.
  • []
     To remove the reference to the current control without assigning a new control, set the property to NULL.
[]
Example
This example clears the display's overlay image.

// Clear overlay image, this makes the overlay transparent.
m_Display1->OverlayImage->Clear(m_Display1->OverlayKeyColor);
m_Display1->OverlayVisible = TRUE;


Display.OverlayKeyColor Property

OverlayKeyColor property

See Also | Availability | MIL Equivalent | OverlayImage | OverlayKeySupported
User Guide:
Annotating the displayed image non-destructively
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(M_TRANSPARENT_COLOR)

MdispInquire(M_TRANSPARENT_COLOR)
Display
OverlayKeyColor
Synopsis
Returns or sets the transparency (keying) color.
[]
Syntax
object.OverlayKeyColor [= System.Drawing.Color ]
[]
Syntax
object->OverlayKeyColor [= OLE_COLOR]
Type description
A color value that specifies the transparency (keying) color.
Remarks
  • Pixels of the image selected to the display are displayed only where the corresponding pixels of the overlay image are set to the transparency color.
  • An 8-bit value should be specified for an 8-bit display mode.
  • For a non 8-bit display mode, use your environment's RGB() function to explicitly set a value for each of the color bands (red, green, and blue).
  • Use the OverlayKeySupported property to determine if your system supports transparency (keying).
  • []
     To convert a System.Drawing.Color to an integer value, use the System.Drawing.ColorTranslator 's ToOle method.


Display.OverlayKeySupported Property

OverlayKeySupported property

See Also | Availability | MIL Equivalent | OverlayKeyColor | OverlayVisible
User Guide:
Annotating the displayed image non-destructively
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispInquire(
InquireType =
M_KEY_SUPPORTED
)
Display
OverlayKeySupported
Synopsis
Returns whether the system associated with the selected display supports transparency (keying).
[]
Syntax
[Boolean =] object.OverlayKeySupported
[]
Syntax
[VARIANT_BOOL =] object->OverlayKeySupported
Type description
A boolean value that specifies whether the system supports transparency (keying).
Value | Meaning
True | Supported.
False | Not supported.
Remark
  • All systems support transparency (keying), but this property indicates if the support exist in hardware or only in software.


Display.OverlayVisible Property

OverlayVisible property

See Also | Availability | MIL Equivalent | OverlayKeySupported | OverlayWriting
User Guide:
LUTs and the display
Overview of LUTs
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_OVERLAY_SHOW
)

MdispInquire(
InquireType =
M_OVERLAY_SHOW
)
Display
OverlayVisible
Synopsis
Returns or sets whether the overlay image associated with the display is visible.
[]
Syntax
object.OverlayVisible [= Boolean]
[]
Syntax
object->OverlayVisible [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the overlay image associated with the display is visible. (default is True)
Value | Meaning
True | Visible.
False | Not visible.
Remarks
  • When this property is set to False, only the image selected on the display is displayed.
  • When this property is set to True, annotations or other changes made to the overlay image, in a color other than the transparency color, will annotate the image selected on the display. Set the tranparency color using the OverlayKeyColor property.


Display.OverlayWriting Property

OverlayWriting property

See Also | Availability | MIL Equivalent | OverlayVisible | OwnerSystem
User Guide:
Annotating the displayed image non-destructively

Reference:
Display.OverlayImage
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Orion
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
MdispControl(
ControlType =
M_OVERLAY
)

MdispInquire(
InquireType =
M_OVERLAY
)
Display
OverlayWriting
Synopsis
Returns or sets whether ActiveMIL's overlay-display mechanism is enabled.
[]
Syntax
object.OverlayWriting [= Boolean]
[]
Syntax
object->OverlayWriting [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the overlay-display mechanism. (default is False)
Value | Meaning
True | Enabled.
False | Disabled.
Remarks
  • This mechanism allows you to annotate displayed images non-destructively. For more information on ActiveMIL's overlay image, see the Annotating the displayed image non-destructively section in Chpater 15: Display of the ActiveMIL User Guide.
  • If this property is set to True, an overlay image is associated with the display. This image can be accessed with the OverlayImage property.
  • Note that once created, the overlay image is like any other image. That is, you can perform operations on it as you would on a normal image (except for grabbing).
Remark for Matrox Genesis
  • The display's overlay image will always be 1 band.


Display.OwnerSystem Property

OwnerSystem property

See Also | Availability | MIL Equivalent | OverlayWriting | OwnerSystemName
User Guide:
Displaying an image - overview
Owner system

Reference:
Display.Control
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispAlloc(SystemId)
Display
OwnerSystem
Synopsis
Returns or sets the system on which the resources of the Display control are allocated.
[]
Syntax
object.OwnerSystem [= System]
[]
Syntax
object->OwnerSystem [= ISystemPtr]
Type description
A System control that specifies the system to set as the owner (parent) of the Display control.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The owner system can also be specified, with the name assigned to its control, using the OwnerSystemName property.
  • This property automatically sets the OwnerSystemName property.


Display.OwnerSystemName Property

OwnerSystemName property

See Also | Availability | MIL Equivalent | OwnerSystem | PaletteCollapse
User Guide:
Displaying an image - overview
Owner system

Reference:
Display.Control
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispAlloc(SystemId)
Display
OwnerSystemName
Synopsis
Returns or sets the name of the System control representing the system on which the resources of the Display control are allocated.
[]
Syntax
object.OwnerSystemName [= String]
[]
Syntax
object->OwnerSystemName [= _bstr_t]
Type description
A string expression that specifies the name of the System control to set as the owner (parent) of the Display control.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The owner system can also be specified using the OwnerSystem property.
  • This property automatically sets the OwnerSystem property.


Display.PaletteCollapse Property

PaletteCollapse property

See Also | Availability | MIL Equivalent | OwnerSystemName | PanX
User Guide:
LUTs and the display
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_WINDOW_PALETTE_NOCOLLAPSE
)

MdispInquire(
InquireType =
M_WINDOW_PALETTE_NOCOLLAPSE
)
Display
PaletteCollapse
Synopsis
Returns or sets whether the Windows palette manager uses palette optimization when realizing the output LUT values from Windows' logical palette.
[]
Syntax
object.PaletteCollapse [= Boolean]
[]
Syntax
object->PaletteCollapse [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the Windows manager uses optimization when realizing the output LUT values from the Windows logical palette. (default is False)
Value | Meaning
True | The Windows palette manager attempts the best color usage of the logical palette when realizing the output LUTs. It tries to map colors from the logical palette into the currently-realized output LUTs to reduce the number of requested new entries.
False | The Windows palette manager loads each component of the logical palette directly "as is" in the corresponding output LUT. This can result in a color occurring more than once in the output LUTs.
Remark
  • This property is only available for windowed displays.


Display.PanX Property

PanX property

See Also | Availability | MIL Equivalent | PaletteCollapse | PanY
User Guide:
Attaching scroll bars to the display window
Panning and zooming

Reference:
Display.PanY
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispPan(XOffset)
Display
PanX
Synopsis
Returns or sets the number of pixels by which to pan an image in the horizontal direction when it is displayed.
[]
Syntax
object.PanX [= Double]
[]
Syntax
object->PanX [= double]
Type description
A double value that specifies the number of pixels.
Remark
  • You can pan a displayed image in both the X- and Y- directions, simultaneously, by calling the Pan method.


Display.PanY Property

PanY property

See Also | Availability | MIL Equivalent | PanX | PropertyValidation
User Guide:
Attaching scroll bars to the display window
Panning and, zooming

Reference:
Display.PanX
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispPan(YOffset)
Display
PanY
Synopsis
Returns or sets the number of pixels by which to scroll an image in the vertical direction when it is displayed.
[]
Syntax
object.PanY [= Double]
[]
Syntax
object->PanY [= double]
Type description
A double value that specifies the number of pixels.
Remark
  • You can pan a displayed image in both the X- and Y- directions, simultaneously, by calling the Pan method.


Display.PropertyValidation Property

PropertyValidation property

See Also | Availability | MIL Equivalent | PanY | ReservedColorsOptimization
User Guide:
Error reporting
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Display
PropertyValidation
Synopsis
Returns or sets whether the properties of the Display control are dynamically validated.
[]
Syntax
object.PropertyValidation [= Boolean]
[]
Syntax
object->PropertyValidation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the property validation mode.
Value | Meaning
True | The control's properties will be dynamically validated. Errors will be generated during the design process.
False | The control's properties will not be dynamically validated. Errors will only be generated at run-time.
Remarks
  • At run-time, this property is read-only and is always set to True.
  • When set to True and if one of the control's properties is not properly set, then the control is outlined in red. The error page of the control's property pages describes the specific error.


Display.ReservedColorsOptimization Property

ReservedColorsOptimization property

Availability | MIL Equivalent | PropertyValidation | ResizeEnabled
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_WINDOW_RANGE
)

MdispInquire(
InquireType =
M_WINDOW_RANGE
)
Display
ReservedColorsOptimization
Synopsis
Returns or sets whether to inform the display that the displayed image values will be restricted to between 10 and 245.
[]
Syntax
object.ReservedColorsOptimization [= Boolean]
[]
Syntax
object->ReservedColorsOptimization [= VARIANT_BOOL]
Type description
A boolean value that specifies whether to inform the display that the displayed image values will be restricted to between 10 and 245. (default is True)
Value | Meaning
True | The displayed image values will be restricted to those values outside the Windows reserved color range (0-10 and 245-255).
False | The displayed image will use the full range of values available (0-255).
Remark
  • When this parameter is set to True, pixels in the range of 0-10 are mapped to 0 and pixels in the range of 245-255 are mapped to 255. This allows the optimization of the display update.


Display.ResizeEnabled Property

ResizeEnabled property

See Also | Availability | MIL Equivalent | ReservedColorsOptimization | SizeX
User Guide:
The display window
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_WINDOW_RESIZE
)

MdispInquire(
InquireType =
M_WINDOW_RESIZE
)
Display
ResizeEnabled
Synopsis
Returns or sets whether the display window is resizeable.
[]
Syntax
object.ResizeEnabled [= Boolean]
[]
Syntax
object->ResizeEnabled [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the display window is resizeable. (default is True)
Value | Meaning
True | Resizeable.
False | Not resizeable.
Remark
  • If ResizeEnabled is set to False, the display's top-level window is also fixed in size.


Display.SelectedLUT Property

SelectedLUT property

Availability | MIL Equivalent | LUTEnabled | LUT
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispLut()
Display
SelectedLUT
Synopsis
Returns or sets which LUT will be selected on the display when the LUTEnabled property is set to true.
[]
Syntax
object.SelectedLUT [= DispSelectedLUTConstants]
[]
Syntax
object->SelectedLUT [= enum DispSelectedLUTConstants]
Type description
A DispSelectedLUTConstants expression that specifies which LUT will be selected on the display. (default is dispCustomLUT)
Value | Meaning
dispPseudoColorLUT | A pseudo color LUT will be selected on the display.
dispCustomLUT | The custom LUT specified with the LUT property of the Display control.
Remark
  • The LUTEnabled property of the Display control must be set to True to display images using the display's selected LUT.


Display.SizeX Property

SizeX property

See Also | Availability | MIL Equivalent | ResizeEnabled | SizeY
User Guide:
The display window

Reference:
Display.SizeY
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispInquire(
InquireType =
M_WINDOW_SIZE_X
)
Display
SizeX
Synopsis
Returns the width of the display.
[]
Syntax
[Integer =] object.SizeX
[]
Syntax
[long =] object->SizeX
Type description
A long value that specifies the number of pixels in the horizontal direction.


Display.SizeY Property

SizeY property

See Also | Availability | MIL Equivalent | SizeX | SnapX
User Guide:
The display window

Reference:
Display.SizeX
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispInquire(
InquireType =
M_WINDOW_SIZE_Y
)
Display
SizeY
Synopsis
Returns the height of the display.
[]
Syntax
[Integer =] object.SizeY
[]
Syntax
[long =] object->SizeY
Type description
A long value that specifies the numbers of pixels in the vertical direction.


Display.SnapX Property

SnapX property

See Also | Availability | MIL Equivalent | SizeY | SnapY
User Guide:
The display window

Reference:
Display.SnapY
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_WINDOW_SNAP_X
)
Display
SnapX
Synopsis
Returns or sets the horizontal resolution of the grid used by the display window's movements.
[]
Syntax
object.SnapX [= Integer]
[]
Syntax
object->SnapX [= long]
Type description
A long value that specifies the number of pixels that make up one cell of the grid (for example, a value of 4 creates a grid in which the allowed X-positions are 0, 4, 8, 12, ...).
Remarks
  • The default value is 1.
  • The value of SnapX can be either positive or negative. Positive snap values adjust the X-coordinate to the closest right pixel; negative ones adjust it to the closest left pixel.


Display.SnapY Property

SnapY property

See Also | Availability | MIL Equivalent | SnapX | SyncType
User Guide:
The display window

Reference:
Display.SnapX
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_WINDOW_SNAP_Y
)
Display
SnapY
Synopsis
Returns or sets the vertical resolution of the grid used by the display window's movements.
[]
Syntax
object.SnapY [= Integer]
[]
Syntax
object->SnapY [= long]
Type description
A long value that specifies the number of pixels that make up one cell of the grid (for example, a value of 4 creates a grid in which the allowed Y-positions are 0, 4, 8, 12, ...).
Remarks
  • The default value is 1.
  • The value of SnapY can be either positive or negative. Positive snap values adjust the X-coordinate to the closest upper pixel; negative ones adjust it to the closest lower pixel.


Display.SyncType Property

SyncType property

Availability | MIL Equivalent | SnapY | ThreadPriority
Available in ActiveMIL-Lite

Available in ActiveMIL

See remarks for support on:
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Orion
See remarks for support on Matrox Genesis
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MdispControl(
ControlType =
M_SYNC_TYPE
)

MdispInquire(
InquireType =
M_SYNC_TYPE
)
Display
SyncType
Synopsis
Returns or sets the output synchonization signal.
[]
Syntax
object.SyncType [= dispSyncType]
[]
Syntax
object->SyncType [= enum dispSyncType]
Type description
A dispSyncType expression that specifies the output synchronization signal. (default is dispDefaultSync)
Value | Meaning
dispGreen | The output synchronization signal is on green.
dispSeparate | The output synchronization and data signals are separated.
dispNoSync | The encoder output does not contain a synchronization.
dispDefaultSync | Same as dispGreen.
Remark
  • This property is only supported when the display format is RGB.
Remark for Matrox Corona-II
  • When this property is set to dispSeparate, the output synchronization signal is on pin 12 and the composite data signal is on pin 10 of the HD-44 connector.
Remark for Matrox CronosPlus
  • This property is not supported.
Remark for Matrox Genesis
  • This property is not supported.
Remark for Matrox Helios XA
  • This property is not supported.
Remark for Matrox Helios XCL
  • This property is not supported.
Remark for Matrox Meteor-II /1394
  • This property is not supported.
Remark for Matrox Meteor-II /Camera Link
  • This property is not supported.
Remark for Matrox Meteor-II /Digital
  • This property is not supported.
Remark for Matrox Meteor-II /Multi-Channel
  • This property is not supported.
Remark for Matrox Meteor-II /Standard
  • This property is not supported.
Remark for Matrox Morphis
  • This property is not supported.
Remark for Matrox Odyssey XA
  • This property is not supported.
Remark for Matrox Odyssey XCL
  • This property is not supported.
Remark for Matrox Odyssey XD
  • This property is not supported.
Remarks for Matrox Orion
  • When this property is set to dispSeparate, the output synchronization signal is on pin 12 and the composite data signal is on pin 10 of the HD-44 connector.
  • For the Matrox Orion grab modules for 4Sight-II (/RGB, /Dual and /Standard), when this property is set to dispDefaultSync, the output synchronization signal is sent to all channels (red, blue, green, and separate) by default.
Remark for Matrox Solios XA
  • This property is not supported.
Remark for Matrox Solios XCL
  • This property is not supported.


Display.ThreadPriority Property

ThreadPriority property

See Also | Availability | MIL Equivalent | SyncType | UpdateEnabled
User Guide:
CPU-assisted display
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_THREAD_PRIORITY
)

MdispInquire(
InquireType =
M_THREAD_PRIORITY
)
Display
ThreadPriority
Synopsis
Returns or sets the thread priority for the display.
[]
Syntax
object.ThreadPriority [= Integer]
[]
Syntax
object->ThreadPriority [= long]
Type description
A long value that specifies the thread priority.
Value | Meaning
1-6 | Low (Idle).
7-10 | Normal.
11-15 | High.
16, 22-26, 31 | Real-time.
Remarks
  • This property is only available when the DisplayType property is set to dispExternalWindow.
  • Use this setting to control the priority given to update the display.


Display.UpdateEnabled Property

UpdateEnabled property

See Also | Availability | MIL Equivalent | ThreadPriority | UserWindow
User Guide:
The display window
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_UPDATE
)

MdispInquire(
InquireType =
M_UPDATE
)
Display
UpdateEnabled
Synopsis
Returns or sets whether the display window can be updated.
[]
Syntax
object.UpdateEnabled [= Boolean]
[]
Syntax
object->UpdateEnabled [= VARIANT_BOOL]
Type description
A boolean value that specifies whether or not the display window can be updated. (default is True)
Value | Meaning
True | Display window can be updated.
False | Display window cannot be updated.
Remark
  • This property can be used to temporarily disable updates when the image is being modified by more than one operation; the display can then be updated at the end of all operations.


Display.UserWindow Property

UserWindow property

See Also | Availability | MIL Equivalent | UpdateEnabled | ViewBitShift
User Guide:
The display window

Reference:
Display.DisplayType
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispSelectWindow (ClientWindowHandle)
Display
UserWindow
Synopsis
Returns or sets the user window used by the Display control for displaying the image.
[]
Syntax
object.UserWindow [= Integer]
[]
Syntax
object->UserWindow [= long]
Type description
A long value that specifies the hWnd of the control or form into which you want to display images.
Remark
  • This property is valid when the DisplayType property is set to dispUserWindow.


Display.ViewBitShift Property

ViewBitShift property

See Also | Availability | MIL Equivalent | UserWindow | ViewMode
User Guide:
Displaying non 8-bit images

Reference:
Display.ViewMode
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_VIEW_BIT_SHIFT
)

MdispInquire(
InquireType =
M_VIEW_BIT_SHIFT
)
Display
ViewBitShift
Synopsis
Returns or sets the bit-shift applied to a non 8-bit image upon display.
[]
Syntax
object.ViewBitShift [= Integer]
[]
Syntax
object->ViewBitShift [= long]
Type description
A long value that specifies the number of bits by which to bit-shift the pixel values of the image selected to the display.
Remarks
  • This property only has an effect when the ViewMode property is set to dispBitShift.
  • The number of bits by which to shift should be set to the number of significant bits in the image minus 8. For example, if a 16-bit image contains data grabbed from a 10-bit digitizer, a shift of 2 should be used.


Display.ViewMode Property

ViewMode property

See Also | Availability | MIL Equivalent | ViewBitShift | ZoomX
User Guide:
Displaying non 8-bit images

Reference:
Display.ViewBitShift
Available in ActiveMIL-Lite with restrictions (see remarks)

Available in ActiveMIL
MdispControl(
ControlType =
M_VIEW_MODE
)

MdispInquire(
InquireType =
M_VIEW_MODE
)
Display
ViewMode
Synopsis
Returns or sets the mode of displaying non 8-bit grayscale images or 3-band non 8-bit color images.
[]
Syntax
object.ViewMode [= DispViewModeConstants]
[]
Syntax
object->ViewMode [= enum DispViewModeConstants]
Type description
A DispViewModeConstants expression that specifies how non 8-bit images are remapped to the display. (default is dispTransparent)
Value | Meaning
dispBitShift | Bit-shifts the pixel values of the image by the specified number of bits upon updating the display.
dispAutoScale | Remaps the pixel values to the display so that the minimum and maximum values in the image (not the full range of the image) are set to 0 and 255, respectively
dispMultiBytes | Displays each byte in separate display pixels.
dispDefaultViewMode | Same as dispTransparent.
dispTransparent | No pixel remapping will be performed. Only the 8-least significant bits of the image will be displayed.
Remarks
  • This property cannot be set to dispAutoScale when using ActiveMIL-Lite.
  • When selecting dispBitShift, to specify the number of bits by which to shift, use the ViewBitShift property.
  • If the image contains a single value, and you are selecting dispAutoScale, its corresponding displayed value is determined by linearly re-mapping the full possible range of the image (for example, 0 to 64K) to 0 through 255.
  • When selecting dispMultiBytes, each pixel of a 16-bit image will occupy two consecutive display pixels. Each pixel of a 32-bit image will occupy four consecutive display pixels. This mode is only supported for 16-bit and 32-bit 1-band image. This mode is primarily useful when grabbing from a multi-tap camera.


Display.ZoomX Property

ZoomX property

See Also | Availability | MIL Equivalent | ViewMode | ZoomY
User Guide:
Panning and zooming

Reference:
Display.Zoom
Display.ZoomY
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispZoom(XFactor)
Display
ZoomX
Synopsis
Returns or sets the factor by which to zoom a displayed image in the X-direction.
[]
Syntax
object.ZoomX [= Double]
[]
Syntax
object->ZoomX [= double]
Type description
A double value that specifies the X-zoom factor. Zoom factors between 0.0 and 16.0, inclusive (except 0.0), are supported.
Remarks
  • When zoomed, the image will be displayed starting from its top-left corner, unless it has been panned and/or scrolled, using the Pan method.
  • The data in the image is not modified; only the display is zoomed.
  • You can zoom a display in both the X- and Y-directions, simultaneously, by calling the Zoom method.


Display.ZoomY Property

ZoomY property

See Also | Availability | MIL Equivalent | ZoomX | Allocate
User Guide:
Panning and zooming

Reference:
Display.Zoom
Display.ZoomX
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispZoom(YFactor)
Display
ZoomY
Synopsis
Returns or sets the factor by which to zoom a displayed image in the Y-direction.
[]
Syntax
object.ZoomY [= Double]
[]
Syntax
object->ZoomY [= double]
Type description
A double value that specifies the Y-zoom factor. Zoom factors between 0.0 and 16.0, inclusive (except 0.0), are supported.
Remarks
  • When zoomed, the image will be displayed starting from its top-left corner, unless it has been panned and/or scrolled, using the Pan method.
  • The data in the image is not modified; only the display is zoomed.
  • You can zoom a display in both the X- and Y-directions, simultaneously, by calling the Zoom method.


Display.Allocate Method

Allocate method

See Also | Availability | MIL Equivalent | ZoomY | ClearOverlay
User Guide:
Displaying an image -- overview
Properties of images
Setting up controls

Reference:
Display.AutomaticAllocation
Display.Free
Display.IsAllocated
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispAlloc()
Display
Allocate
Synopsis
Allocates the resources of the Display control.
[]
Syntax
object.Allocate()
[]
Syntax
void object->Allocate()
Remarks
  • By default, the control's AutomaticAllocation property is set to True, and therefore allocation is done automatically.
  • To preserve resources and delay allocation until necessary, set the AutomaticAllocation property to False and call the Allocate method only when the control is actually needed.
  • To create a new Display control at run-time, use the CreateObject method of the Application control.
  • If you call the Allocate method while the control is in the allocated state, an error is generated. To determine the allocation state of a control, use the IsAllocated property.
  • The following properties cannot be changed at run-time while the control is in the allocated state (free the control using the Free method):
    • OwnerSystem
    • OwnerSystemName
    • DeviceNumber
    • Format
    • InitializationFlag
    • DisplayType
    • LUT.DataDepth
    • LUT.DataType
    • LUT.NumberOfBands
    • LUT.Size
  • If you try to allocate a Display control before its owner system is allocated, an error is generated.
[]
Example
This example demonstrates how to allocate multiple controls with a single call to the Allocate method.

Display1.AutomaticAllocation = True
Display1.OwnerSystem = System1

' This call will also allocate Display1 since
' its OwnerSystem property is System1 and
' its AutomaticAllocation property is set to True
System1.Allocate()
[]
Example
This example demonstrates how to allocate multiple controls with a single call to the Allocate method.

m_Display1->AutomaticAllocation = TRUE;
m_Display1->OwnerSystem = m_System1;

// This call will also allocate m_Display1 since
// its OwnerSystem property is m_System1 and
// its AutomaticAllocation property is set to TRUE
m_System1->Allocate();


Display.ClearOverlay Method

ClearOverlay method

Availability | MIL Equivalent | Allocate | Control
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_OVERLAY_CLEAR
)
Display
ClearOverlay
Synopsis
Returns or sets the value to which the overlay image associated with the display should be cleared.
[]
Syntax
object.ClearOverlay(
ByVal Color As DispClearOverlayConstants
)
[]
Syntax
void object->ClearOverlay(
enum DispClearOverlayConstants Color
)
Color (optional in , default is dispTransparentColor)
A longintegerlong (integer for Visual Basic .Net) value or a DispClearOverlayConstants expression that specifies the value to which the overlay image, associated with the display, should be cleared.
Value | Meaning
dispClearOverlayDefault | Specifies the default value.
dispTransparentColor | The display's overlay image will be cleared to the transparency color.
value | Specifies the value to which the display's overlay image will be cleared.
Remarks
  • Set the transparency color using the Display.OverlayKeyColor property.
  • For an 8-bit display mode, specify an 8-bit value to which the display's overlay image will be cleared.
  • For a non 8-bit value display mode, use your environment's RGB() function to explicitly set a RGB value to which the display's overlay image will be cleared.


Display.Control Method

Control method

See Also | Availability | MIL Equivalent | ClearOverlay | Free
Reference:
Display.Inquire
Available in ActiveMIL-Lite

Available in ActiveMIL

See remarks for support on:
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Genesis
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox Orion
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MdispControl()
Display
Control
Synopsis
Controls the attributes of the Display control.
[]
Syntax
object.Control(
ByVal ControlType As DispInquireAndControlConstants,
ByVal ControlValue As Object
)
[]
Syntax
void object->Control(
enum DispInquireAndControlConstants ControlType,
const _variant_t & ControlValue
)
ControlType
A DispInquireAndControlConstants expression that specifies the attribute to be modified.
ControlValue
A variantobjectvariant (object for Visual Basic .Net) value that specifies the new value to be set.

See the Parameter associations table for possible values.
Parameter association
Possible values for parameters ControlType and ControlValue.

ControlType |  | ControlValue |
dispColorMode | Set the main frame buffer color band(s) to use for display. | dispRed | Display the red band in monochrome.
 |  | dispGreen | Display the green band in monochrome.
 |  | dispBlue | Display the blue band in monochrome.
 |  | dispColor | Display the main frame buffer in true color.
dispThreadPriority | Set the priority of the thread used for display (created internally). | Low (Idle) | 1-6
 |  | Normal | 7-10
 |  | High | 11-15
 |  | Real-time | 16-26
dispWindowUpdateOnPaint | Set how to update the display. | dispEnable | Update upon receipt of a WM_PAINT message in Windows.
 |  | dispDisable | Update upon receipt of a WM_ERASEBKGND message in Windows.
 |  | amilDefault | Leave the choice to ActiveMIL.
dispEncoderFilter | Set the filter for luminance | dispLowPass0 | Low-pass filter type A.
 |  | dispLowPass1 | Low-pass filter type B.
 |  | dispLowPass2 | 5.5 MHz low-pass filter.
 |  | dispNotch | Subcarrier frequency low-pass filter.
 |  | dispDefaultFilter | Same as dispLowPass0.
dispEncoderPedestal | Set whether a pedestal is generated in the composite video signal. | dispEnable | Generate a pedestal in the composite video signal.
 |  | dispDisable | Do not generate a pedestal.
Remark for Matrox Corona-II
  • The ControlType dispColorMode is not supported.
Remark for Matrox CronosPlus
  • The ControlTypes dispColorMode, dispEncoderFilter and dispEncoderPedestal are not supported.
Remark for Matrox Genesis
  • The ControlTypes dispEncoderFilter and dispEncoderPedestal are not supported.
Remark for Matrox Helios XA
  • The ControlTypes dispColorMode, dispEncoderFilter and dispEncoderPedestal are not supported.
Remark for Matrox Helios XCL
  • The ControlTypes dispColorMode, dispEncoderFilter and dispEncoderPedestal are not supported.
Remark for Matrox Meteor-II /1394
  • The ControlTypes dispColorMode, dispEncoderFilter and dispEncoderPedestal are not supported.
Remark for Matrox Meteor-II /Camera Link
  • The ControlTypes dispColorMode, dispEncoderFilter and dispEncoderPedestal are not supported.
Remark for Matrox Meteor-II /Digital
  • The ControlTypes dispColorMode, dispEncoderFilter and dispEncoderPedestal are not supported.
Remark for Matrox Meteor-II /Multi-Channel
  • The ControlTypes dispColorMode, dispEncoderFilter and dispEncoderPedestal are not supported.
Remark for Matrox Meteor-II /Standard
  • The ControlTypes dispColorMode, dispEncoderFilter and dispEncoderPedestal are not supported.
Remark for Matrox Morphis
  • The ControlTypes dispColorMode, dispEncoderFilter and dispEncoderPedestal are not supported.
Remark for Matrox Odyssey XA
  • The ControlTypes dispColorMode, dispEncoderFilter and dispEncoderPedestal are not supported.
Remark for Matrox Odyssey XCL
  • The ControlTypes dispColorMode, dispEncoderFilter and dispEncoderPedestal are not supported.
Remark for Matrox Odyssey XD
  • The ControlTypes dispColorMode, dispEncoderFilter and dispEncoderPedestal are not supported.
Remark for Matrox Orion
  • The ControlType dispColorMode is not supported.
Remark for Matrox Solios XA
  • The ControlTypes dispColorMode, dispEncoderFilter and dispEncoderPedestal are not supported.
Remark for Matrox Solios XCL
  • The ControlTypes dispColorMode, dispEncoderFilter and dispEncoderPedestal are not supported.


Display.Free Method

Free method

See Also | Availability | MIL Equivalent | Control | Inquire
User Guide:
Setting up controls

Reference:
Display.Allocate
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispFree()
Display
Free
Synopsis
Frees the resources of the Display control.
[]
Syntax
object.Free()
[]
Syntax
void object->Free()
Remarks
  • The resources associated with a Display control are automatically freed when the control is destroyed. You must use the Free method if you want to free the control prematurely. For example, if you have a large display that is required only at startup, you can free it using the Free method, once it is no longer needed, to release the memory used by the display.
  • To determine the allocation state of a control, use the IsAllocated property. While a Display control is in the allocated state, some of its properties cannot be changed at run-time; for example, you cannot change the owner system of a display while it is allocated. At run-time, to modify a property that cannot be changed after allocation, you must free the control (using the Free method), change its property(ies), and then re-allocate the control (using the Allocate method). For example, at run-time, to change the owner system of the display, you must free the Display control, make the change in the OwnerSystem property, and allocate the control again.
  • The Free method will generate an error if the control is not allocated.
  • Any property can be changed when its control is in the allocated state, unless it is otherwise stated in the Remarks section of that property.
[]
Example
This example shows how to use the Free method.

If Display1.IsAllocated Then
    Display1.Free()
End If
[]
Example
This example shows how to use the Free method.

if (m_Display1->IsAllocated)
   m_Display1->Free();


Display.Inquire Method

Inquire method

See Also | Availability | MIL Equivalent | Free | Modified
User Guide:
Color images-storage format
The display window

Reference:
Display.Control
Available in ActiveMIL-Lite

Available in ActiveMIL

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Orion
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox Corona-II
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MdispInquire()
Display
Inquire
Synopsis
Inquires about the attributes of the Display control.
[]
Syntax
[Object =] object.Inquire(
ByVal ParamToInquire As DispInquireAndControlConstants
)
[]
Syntax
[_variant_t =] object->Inquire(
enum DispInquireAndControlConstants ParamToInquire
)
ParamToInquire
A DispInquireAndControlConstants expression that specifies the attribute to inquire about.
Value | Meaning
dispColorMode | The main frame buffer color band(s) used for display (dispColor, dispRed, dispGreen, or dispBlue).
dispNativeID | The board-level native identifier of the display (if any).
dispNativeControlID | The board-level native identifier of the control associated with the display.
dispThreadPriority | The thread priority for the display (1 26). For windowed displays only.
dispPixelFormat | The display's pixel format. (dispMono8Planar, dispRGB15Packed, dispRGB16Packed, dispRGB24Packed, dispBGR24Packed, dispRGB32Packed, dispBGR32Packed)
dispDirectDrawSurface | Pointer to the DirectDraw primary surface (LPDDRAWSURFACE) used by the display window or dispNull.
dispWindowUpdateOnPaint | The type of update being used (dispEnable or dispDisable).
dispEncoderFilter | The filter for luminance (dispLowPass0, dispLowPass1, dispLowPass2, dispNotch, or dispDefaultFilter).
dispEncoderPedestal | Whether a pedestal is generated in the composite video signal (dispEnable or dispDisable).
Return value
The current value assigned to the behavior that is inquired about.
Remark for Matrox Corona-II
  • The ParamToInquire settings dispColorMode, dispNativeID, and dispNativeControlId are not supported.
Remark for Matrox CronosPlus
  • The ParamToInquire settings dispColorMode, dispNativeID, dispNativeControlId, dispEncoderFilter, and dispEncoderPedestal are not supported.
Remark for Matrox Genesis
  • The ParamToInquire settings dispEncoderFilter and dispEncoderPedestal are not supported.
Remark for Matrox Helios XA
  • The ParamToInquire settings dispColorMode, dispNativeID, dispNativeControlId, dispEncoderFilter, and dispEncoderPedestal are not supported.
Remark for Matrox Helios XCL
  • The ParamToInquire settings dispColorMode, dispNativeID, dispNativeControlId, dispEncoderFilter, and dispEncoderPedestal are not supported.
Remark for Matrox Meteor-II /1394
  • The ParamToInquire settings dispColorMode, dispNativeID, dispNativeControlId, dispEncoderFilter, and dispEncoderPedestal are not supported.
Remark for Matrox Meteor-II /Camera Link
  • The ParamToInquire settings dispColorMode, dispNativeID, dispNativeControlId, dispEncoderFilter, and dispEncoderPedestal are not supported.
Remark for Matrox Meteor-II /Digital
  • The ParamToInquire settings dispColorMode, dispNativeID, dispNativeControlId, dispEncoderFilter, and dispEncoderPedestal are not supported.
Remark for Matrox Meteor-II /Multi-Channel
  • The ParamToInquire settings dispColorMode, dispNativeID, dispNativeControlId, dispEncoderFilter, and dispEncoderPedestal are not supported.
Remark for Matrox Meteor-II /Standard
  • The ParamToInquire settings dispColorMode, dispNativeID, dispNativeControlId, dispEncoderFilter, and dispEncoderPedestal are not supported.
Remark for Matrox Morphis
  • The ParamToInquire settings dispColorMode, dispNativeID, dispNativeControlId, dispEncoderFilter, and dispEncoderPedestal are not supported.
Remark for Matrox Odyssey XA
  • The ParamToInquire settings dispColorMode, dispNativeID, dispNativeControlId, dispEncoderFilter, and dispEncoderPedestal are not supported.
Remark for Matrox Odyssey XCL
  • The ParamToInquire settings dispColorMode, dispNativeID, dispNativeControlId, dispEncoderFilter, and dispEncoderPedestal are not supported.
Remark for Matrox Odyssey XD
  • The ParamToInquire settings dispColorMode, dispNativeID, dispNativeControlId, dispEncoderFilter, and dispEncoderPedestal are not supported.
Remark for Matrox Orion
  • The ParamToInquire settings dispColorMode, dispNativeID, and dispNativeControlId are not supported.
Remark for Matrox Solios XA
  • The ParamToInquire settings dispColorMode, dispNativeID, dispNativeControlId, dispEncoderFilter, and dispEncoderPedestal are not supported.
Remark for Matrox Solios XCL
  • The ParamToInquire settings dispColorMode, dispNativeID, dispNativeControlId, dispEncoderFilter, and dispEncoderPedestal are not supported.


Display.Modified Method

Modified method

See Also | Availability | MIL Equivalent | Inquire | Pan
User Guide:
Integrating MIL functions into your ActiveMIL code

Reference:
Display.MilID
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Display
Modified
Synopsis
Informs the Display control that Native MIL calls were made on its resources.
[]
Syntax
object.Modified(
ByVal ModificationType As Integer
)
[]
Syntax
void object->Modified(
long ModificationType
)
ModificationType (optional in , default is amilDefault)
A longintegerlong (integer for Visual Basic .Net) value or an ActiveMILDefaultConstants expression that specifies the modification type.
Value | Meaning
amilDefault | Specifies that native MIL calls were used to modify the contents of the Display control.
value | Specifies the modification type.
Remark
  • The Modified method should be called after performing a Native MIL Mdisp...() function on the resources of the Display control. This ensures that all properties of the Display control are updated to match their state in MIL.


Display.Pan Method

Pan method

See Also | Availability | MIL Equivalent | Modified | ShowPropertyPages
User Guide:
Panning and zooming

Reference:
Display.Zoom
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispPan()
Display
Pan
Synopsis
Pans and scrolls the image being displayed.
[]
Syntax
object.Pan(
ByVal XOffset As Double,
ByVal YOffset As Double
)
[]
Syntax
void object->Pan(
double XOffset,
double YOffset
)
XOffset
A double value that specifies the number of pixels by which to pan the image being displayed.
YOffset
A double value that specifies the number of pixels by which to scroll the image being displayed.
Remarks
  • Specify the pan and scroll values relative to the top-left corner of the image. Specify a positive XOffset value to pan the image to the left and a positive YOffset value to scroll the image upwards.
  • The offsets are in image pixels (not screen pixels), so they are not affected by the current zoom factor. For example, if the display has an associated zoom factor of 4.0, panning by an offset of one image pixel results in panning by 4.0 on the display.
  • You can pan a displayed image in either X- or Y- directions, seperately, using the PanX or PanY property.


Display.ShowPropertyPages Method

ShowPropertyPages method

Availability | MIL Equivalent | Pan | Update
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Display
ShowPropertyPages
Synopsis
Opens the specified property pages of the Display control in a window.
[]
Syntax
object.ShowPropertyPages(
ByVal Pages As DispPropertyPagesConstants,
ByVal Caption As String,
ByVal hWndParent As Integer,
ByVal Reserved As Boolean
)
[]
Syntax
void object->ShowPropertyPages(
enum DispPropertyPagesConstants Pages,
_bstr_t Caption,
long hWndParent,
VARIANT_BOOL Reserved
)
Pages
A DispPropertyPagesConstants expression that specifies the page(s) to display. You can add the following constants together to display multiple pages.
Value | Meaning
dispGeneralPropertyPage | Display the Display control's General property page.
dispAttributesPropertyPage | Display the Display control's Attributes property page.
dispWindowPropertyPage | Display the Display control's Window property page.
dispColorsPropertyPage | Display the Display control's Colors property page.
dispLUTPropertyPage | Display the Display control's LUT property page.
dispHistoryPropertyPage | Display the Display control's History property page.
dispAllPropertyPages | Display all of the Display control's available property pages.
Caption (optional in , default is "")
A string value that specifies the caption for the property pages window. The default is an empty string, in which case a generic caption will be displayed.
hWndParent (optional in , default is 0)
A long value that specifies the window handle (HWND) of the property pages window's parent. The property pages window will be modal in relation to its parent window.
Reserved (optional in , default is True)
This parameter is reserved for future use. True is the only value available.
Value | Meaning
True | Meaning to be determined. This setting must always be used.
Remarks
  • If the Display control is created at design-time, the .NET ActiveX Control Importer (AxImp.exe) renames this ActiveMIL method from ShowPropertyPages() to CtlShowPropertyPages() to avoid name clashing with the ShowPropertyPages() method of the .NET Windows Form control. See the Windows Forms ActiveX Control Importer (AxImp.exe) topic in MSDN for more information. In addition, if the control is created at run-time with the AxMatrox.ActiveMIL.* namespace, you must use CtlShowPropertyPages() to call the ActiveMIL ShowPropertyPages() method.
  • This method is used to display the property pages so that properties can be set interactively at run-time.
  • This method will disable property page elements corresponding to properties that cannot be changed due to the current state of the control. For example, if a property cannot be changed while its control is in the allocated state, and the control is allocated, the corresponding element in the property page will be disabled. To change this property, call the Free method first.


Display.Update Method

Update method

See Also | Availability | MIL Equivalent | ShowPropertyPages | Zoom
User Guide:
The display window
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispControl(
ControlType =
M_WINDOW_PAINT
)
Display
Update
Synopsis
Forces the update of the display window.
[]
Syntax
object.Update()
[]
Syntax
void object->Update()
Remarks
  • If the Display control is created at design-time, the .NET ActiveX Control Importer (AxImp.exe) renames this ActiveMIL method from Update() to CtlUpdate() to avoid name clashing with the Update() method of the .NET Windows Form control. See the Windows Forms ActiveX Control Importer (AxImp.exe) topic in MSDN for more information. In addition, if the control is created at run-time with the AxMatrox.ActiveMIL.* namespace, you must use CtlUpdate() to call the ActiveMIL Update() method.
  • Calling this method will result in a Paint event being fired.
  • Using this method will have no effect on an auxiliary display.


Display.Zoom Method

Zoom method

See Also | Availability | MIL Equivalent | Update | Click
User Guide:
Panning and zooming

Reference:
Display.Pan
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispZoom()
Display
Zoom
Synopsis
Magnifies or reduces the view of the image being displayed.
[]
Syntax
object.Zoom(
ByVal XFactor As Double,
ByVal YFactor As Double,
ByVal Incremental As Boolean
)
[]
Syntax
void object->Zoom(
double XFactor,
double YFactor,
VARIANT_BOOL Incremental
)
XFactor
A double value that specifies the factor by which to zoom the image, associated with the display, in the X-direction.
YFactor
A double value that specifies the factor by which to zoom the image, associated with the display, in the Y-direction.
Incremental (optional in , default is False)
A boolean value that specifies if the value is added to the current ZoomX and ZoomY property values.
Value | Meaning
True | The value is added to the current ZoomX and ZoomY property values.
False | The value is not added the current ZoomX and ZoomY property values.
Remarks
  • This method associates a zoom factor with the display. When an image is associated with the display, it is zoomed according to this factor. The zoomed image will be displayed starting from its top-left corner, unless it has been panned and/or scrolled (using the Pan method).
  • Zoom factors between 0.0 and 16.0, inclusive (except 0.0), are supported.


Display.Click Event

Click event

See Also | Availability | MIL Equivalent | Zoom | DblClick
Reference:
Display.DblClick
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Display
Click
Synopsis
Occurs when the user clicks any mouse button.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_Click() Handles object.Click

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_Click(
ByVal sender As Object,
ByVal e As System.EventArgs
) Handles object.Click
[]
Syntax
void class::OnClick()
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • []
     You cannot directly handle the Click event of a Display control created at run-time, which has its Click property set to dispUserWindow. In this case, you should add a procedure for the Click event of your user window rather than the Click event of your control. For example, use PictureBox1_Click(...) instead of Display1_Click(...).
  • If the mouse button is clicked on the specified object, it receives the event.
  • If there is code in the Click event procedure, the DblClick event is intercepted and prevented from occurring.


Display.DblClick Event

DblClick event

See Also | Availability | MIL Equivalent | Click | FrameStart
Reference:
Display.Click
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Display
DblClick
Synopsis
Occurs when the user double-clicks the left mouse button.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_DblClick() Handles object.DblClick

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_DblClick(
ByVal sender As Object,
ByVal e As System.EventArgs
) Handles object.DblClick
[]
Syntax
void class::OnDblClick()
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • []
     You cannot directly handle the DblClick event of a Display control created at run-time, which has its DisplayType property set to dispUserWindow. In this case, you should add a procedure for the DblClick event of your user window rather than the DblClick event of your control. For example, use PictureBox1_DblClick(...) instead of Display1_DblClick(...).
  • If the mouse button is clicked on the specified object, it receives the event.
  • If there is code in the Click event procedure, it intercepts the DblClick event, preventing it from occurring.


Display.FrameStart Event

FrameStart event

See Also | Availability | MIL Equivalent | DblClick | KeyDown
Reference:
Display.FrameStartEvent
Available in ActiveMIL-Lite

Available in ActiveMIL
MdispHookFunction(
HookType =
M_FRAME_START
)
Display
FrameStart
Synopsis
Occurs at the start of each displayed frame.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_FrameStart() Handles object.FrameStart

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_FrameStart(
ByVal sender As Object,
ByVal e As System.EventArgs
) Handles object.FrameStart
[]
Syntax
void class::OnFrameStart()
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • For performance reasons, this event must be enabled in order to be fired. To enable the event, set the FrameStartEvent property to True.
  • The display's FrameStart event occurs at each vertical refresh of the display screen. This allows synchronization between the application and the display. This event is not supported if your graphics controller does not have non-destructive overlay capabilities.


Display.KeyDown Event

KeyDown event

See Also | Availability | MIL Equivalent | FrameStart | KeyPress
Reference:
Display.KeyPress
Display.KeyUp
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Display
KeyDown
Synopsis
Occurs when the user presses a key.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_KeyDown(
ByVal keycode As Integer,
ByVal shift As Integer
) Handles object.KeyDown

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_KeyDown(
ByVal sender As Object,
ByVal e As AxMatrox.ActiveMIL.IDisplayEvents_KeyDownEvent
) Handles object.KeyDown
[]
Syntax
void class::OnKeyDown(
long keycode,
long shift
)
keycode
A long value that specifies the physical key that was pressed, such as the F1 key or the HOME key.
shift
A bit-encoded long value that corresponds to the state of the SHIFT, CTRL, and ALT keys at the time of the event.
Value | Meaning
1 | SHIFT key (bit 0)
2 | CTRL key (bit 1)
4 | ALT key (bit 2)
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • If the key is pressed when the specified object has the focus, it receives the event.
  • The shift parameter is a bit-encoded value, wherein the three least-significant bits are interpreted. Some, all, or none of the bits might be set, indicating that some, all, or none of the keys are pressed. For example, if both CTRL and ALT are pressed, the value of shift is 6.
  • To interpret the ANSI character of the key, use the KeyPress event.
  • The possible keycode values:
    Value | Description | Value | Description | Value | Description | Value | Description
    1 | Left mouse button | 16 | SHIFT key | 34 | PAGE DOWN key | 42 | PRINT SCREEN key
    2 | Right mouse button | 17 | CTRL key | 35 | END key | 43 | EXECUTE key
    3 | CANCEL key | 18 | MENU key | 36 | HOME key | 44 | SNAPSHOT key
    4 | Middle mouse button | 19 | PAUSE key | 37 | LEFT ARROW key | 45 | INS key
    8 | BACKSPACE key | 20 | CAPS LOCK key | 38 | UP ARROW key | 46 | DEL key
    9 | TAB key | 27 | ESC key | 39 | RIGHT ARROW key | 47 | HELP key
    12 | CLEAR key | 32 | SPACEBAR key | 40 | DOWN ARROW key | 144 | NUM LOCK key
    13 | ENTER key | 33 | PAGE UP key | 41 | SELECT key

    Key A through key Z are the same as their ASCII equivalents: 'A' through 'Z':

    Value | Description | Value | Description | Value | Description | Value | Description
    65 | A key | 72 | H key | 79 | O key | 86 | V key
    66 | B key | 73 | I key | 80 | P key | 87 | W key
    67 | C key | 74 | J key | 81 | Q key | 88 | X key
    68 | D key | 75 | K key | 82 | R key | 89 | Y key
    69 | E key | 76 | L key | 83 | S key | 90 | Z key
    70 | F key | 77 | M key | 84 | T key
    71 | G key | 78 | N key | 85 | U key

    Key 0 through key 9 are the same as their ASCII equivalents: '0' through '9':

    Value | Description | Value | Description | Value | Description | Value | Description
    48 | 0 key | 51 | 3 key | 54 | 6 key | 57 | 9 key
    49 | 1 key | 52 | 4 key | 55 | 7 key
    50 | 2 key | 53 | 5 key | 56 | 8 key

    Keys on the numeric keypad:

    Value | Description | Value | Description | Value | Description | Value | Description
    96 | 0 key | 100 | 4 key | 104 | 8 key | 108 | ENTER (keypad) key
    97 | 1 key | 101 | 5 key | 105 | 9 key | 109 | MINUS SIGN (-) key
    98 | 2 key | 102 | 6 key | 106 | MULTIPLICATION SIGN (*) key | 110 | DECIMAL POINT(.) key
    99 | 3 key | 103 | 7 key | 107 | PLUS SIGN (+) key | 111 | DIVISION SIGN (/) key

    Function keys:

    Value | Description | Value | Description | Value | Description | Value | Description
    112 | F1 key | 116 | F5 key | 120 | F9 key | 124 | F13 key
    113 | F2 key | 117 | F6 key | 121 | F10 key | 125 | F14 key
    114 | F3 key | 118 | F7 key | 122 | F11 key | 126 | F15 key
    115 | F4 key | 119 | F8 key | 123 | F12 key | 127 | F16 key


Display.KeyPress Event

KeyPress event

See Also | Availability | MIL Equivalent | KeyDown | KeyUp
Reference:
Display.KeyDown
Display.KeyUp
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Display
KeyPress
Synopsis
Occurs when the user presses and releases an ANSI key.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_KeyPress(
ByVal keyascii As Integer
) Handles object.KeyPress

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_KeyPress(
ByVal sender As Object,
ByVal e As AxMatrox.ActiveMIL.IDisplayEvents_KeyPressEvent
) Handles object.KeyPress
[]
Syntax
void class::OnKeyPress(
long keyascii
)
keyascii
A long value that specifies a standard numeric ANSI. This parameter is passed by reference.
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • If an ANSI key is pressed and released when the specified object has the focus, it receives the event.
  • Changing the keyascii value sends a different character to the object. Changing keyascii to 0 cancels the keystroke so the object receives no character.
  • KeyPress interprets the uppercase and lowercase of each character as separate key codes and, therefore, as two separate characters. KeyDown and KeyUp events interpret the uppercase and lowercase of each character by means of two parameters: keycode, which indicates the physical key (for example, returning both A and a as the same key), and shift, which indicates the state of shift+key (for example, returning either A or a as different keys).
  • Note that the ANSI number for the keyboard combination of CTRL+@ is 0. Because Visual Basic recognizes a keyascii value of 0 as a zero-length string (""), avoid using CTRL+@ in your applications.


Display.KeyUp Event

KeyUp event

See Also | Availability | MIL Equivalent | KeyPress | MouseDown
Reference:
Display.KeyDown
Display.KeyPress
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Display
KeyUp
Synopsis
Occurs when the user releases a key.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_KeyUp(
ByVal keycode As Integer,
ByVal shift As Integer
) Handles object.KeyUp

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_KeyUp(
ByVal sender As Object,
ByVal e As AxMatrox.ActiveMIL.IDisplayEvents_KeyUpEvent
) Handles object.KeyUp
[]
Syntax
void class::OnKeyUp(
long keycode,
long shift
)
keycode
A long value that specifies the physical key that was pressed, such as the F1 key or the HOME key.
shift
A bit-encoded long value that corresponds to the state of the SHIFT, CTRL, and ALT keys at the time of the event.
Value | Meaning
1 | SHIFT key (bit 0)
2 | CTRL key (bit 1)
4 | ALT key (bit 2)
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • If the key is released when the specified object has the focus, it receives the event.
  • The shift parameter is a bit-encoded value, wherein the three least-significant bits are interpreted. Some, all, or none of the bits might be set, indicating that some, all, or none of the keys are pressed. For example, if both CTRL and ALT are pressed, the value of shift is 6.
  • To interpret the ANSI character of the key, use the KeyPress event.
  • The possible keycode values:
    Value | Description | Value | Description | Value | Description | Value | Description
    1 | Left mouse button | 16 | SHIFT key | 34 | PAGE DOWN key | 42 | PRINT SCREEN key
    2 | Right mouse button | 17 | CTRL key | 35 | END key | 43 | EXECUTE key
    3 | CANCEL key | 18 | MENU key | 36 | HOME key | 44 | SNAPSHOT key
    4 | Middle mouse button | 19 | PAUSE key | 37 | LEFT ARROW key | 45 | INS key
    8 | BACKSPACE key | 20 | CAPS LOCK key | 38 | UP ARROW key | 46 | DEL key
    9 | TAB key | 27 | ESC key | 39 | RIGHT ARROW key | 47 | HELP key
    12 | CLEAR key | 32 | SPACEBAR key | 40 | DOWN ARROW key | 144 | NUM LOCK key
    13 | ENTER key | 33 | PAGE UP key | 41 | SELECT key

    Key A through key Z are the same as their ASCII equivalents: 'A' through 'Z':

    Value | Description | Value | Description | Value | Description | Value | Description
    65 | A key | 72 | H key | 79 | O key | 86 | V key
    66 | B key | 73 | I key | 80 | P key | 87 | W key
    67 | C key | 74 | J key | 81 | Q key | 88 | X key
    68 | D key | 75 | K key | 82 | R key | 89 | Y key
    69 | E key | 76 | L key | 83 | S key | 90 | Z key
    70 | F key | 77 | M key | 84 | T key
    71 | G key | 78 | N key | 85 | U key

    Key 0 through key 9 are the same as their ASCII equivalents: '0' through '9':

    Value | Description | Value | Description | Value | Description | Value | Description
    48 | 0 key | 51 | 3 key | 54 | 6 key | 57 | 9 key
    49 | 1 key | 52 | 4 key | 55 | 7 key
    50 | 2 key | 53 | 5 key | 56 | 8 key

    Keys on the numeric keypad:

    Value | Description | Value | Description | Value | Description | Value | Description
    96 | 0 key | 100 | 4 key | 104 | 8 key | 108 | ENTER (keypad) key
    97 | 1 key | 101 | 5 key | 105 | 9 key | 109 | MINUS SIGN (-) key
    98 | 2 key | 102 | 6 key | 106 | MULTIPLICATION SIGN (*) key | 110 | DECIMAL POINT(.) key
    99 | 3 key | 103 | 7 key | 107 | PLUS SIGN (+) key | 111 | DIVISION SIGN (/) key

    Function keys:

    Value | Description | Value | Description | Value | Description | Value | Description
    112 | F1 key | 116 | F5 key | 120 | F9 key | 124 | F13 key
    113 | F2 key | 117 | F6 key | 121 | F10 key | 125 | F14 key
    114 | F3 key | 118 | F7 key | 122 | F11 key | 126 | F15 key
    115 | F4 key | 119 | F8 key | 123 | F12 key | 127 | F16 key


Display.MouseDown Event

MouseDown event

See Also | Availability | MIL Equivalent | KeyUp | MouseMove
Reference:
Display.Click
Display.DblClick
Display.MouseMove
Display.MouseUp
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Display
MouseDown
Synopsis
Occurs when the user clicks a mouse button.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_MouseDown(
ByVal Button As Short,
ByVal Shift As Short,
ByVal X As Integer,
ByVal Y As Integer
) Handles object.MouseDown

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_MouseDown(
ByVal sender As Object,
ByVal e As AxMatrox.ActiveMIL.IDisplayEvents_MouseDownEvent
) Handles object.MouseDown
[]
Syntax
void class::OnMouseDown(
short Button,
short Shift,
long X,
long Y
)
Button
A bit-encoded short value that identifies the button that was pressed and caused the event.
Value | Meaning
1 | Left (bit 0)
2 | Right (bit 1)
4 | Middle (bit 2)
Shift
A bit-encoded short value that corresponds to the state of the SHIFT, CTRL, and ALT keys at the time of the event.
Value | Meaning
1 | SHIFT key (bit 0)
2 | CTRL key (bit 1)
4 | ALT key (bit 2)
X
A longintegerlong (integer for Visual Basic .Net) value that specifies the X-coordinate of the current location of the mouse pointer.
Y
A longintegerlong (integer for Visual Basic .Net) value that specifies the Y-coordinate of the current location of the mouse pointer.
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • []
     You cannot directly handle the MouseDown event of a Display control created at run-time, which has its DisplayType property set to dispUserWindow. In this case, you should add a procedure for the MouseDown event of your user window rather than the MouseDown event of your control. For example, use PictureBox1_MouseDown(...) instead of Display1_MouseDown(...).
  • If the mouse button is clicked when the specified object has the focus, it receives the event.
  • The Button parameter is a bit-encoded value wherein the three least significant bits are interpreted. Only one of the bits is set, indicating the button that caused the event.
  • The Shift parameter is a bit-encoded value, wherein the three least-significant bits are interpreted. Some, all, or none of the bits can be set, indicating that some, all, or none of the keys are pressed. For example, if both CTRL and ALT are pressed, the value of Shift is 6.
  • Use a MouseDown or MouseUp event procedure to specify actions that will occur when a given mouse button is pressed or released. Unlike the Click and DblClick events, MouseDown and MouseUp events allow you to distinguish between the left, right, and middle mouse buttons. You can also write code for mouse-keyboard combinations that use the SHIFT, CTRL, and ALT keyboard modifiers.
  • You can use a MouseMove event procedure to respond to an event caused by moving the mouse. The Button parameter for MouseDown and MouseUp differs from the Button parameter used for MouseMove. For MouseDown and MouseUp, the Button parameter indicates exactly one button per event, whereas for MouseMove, it indicates the current state of all buttons.


Display.MouseMove Event

MouseMove event

See Also | Availability | MIL Equivalent | MouseDown | MouseUp
Reference:
Display.MouseDown
Display.MouseUp
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Display
MouseMove
Synopsis
Occurs when the user moves the mouse.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_MouseMove(
ByVal Button As Short,
ByVal Shift As Short,
ByVal X As Integer,
ByVal Y As Integer
) Handles object.MouseMove

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_MouseMove(
ByVal sender As Object,
ByVal e As AxMatrox.ActiveMIL.IDisplayEvents_MouseMoveEvent
) Handles object.MouseMove
[]
Syntax
void class::OnMouseMove(
short Button,
short Shift,
long X,
long Y
)
Button
A bit-encoded short value that identifies the buttons that were pressed and caused the event.
Value | Meaning
1 | Left (bit 0)
2 | Right (bit 1)
4 | Middle (bit 2)
Shift
A bit-encoded short value that corresponds to the state of the SHIFT, CTRL, and ALT keys at the time of the event.
Value | Meaning
1 | SHIFT key (bit 0)
2 | CTRL key (bit 1)
4 | ALT key (bit 2)
X
A longintegerlong (integer for Visual Basic .Net) value that specifies the X-coordinate of the current location of the mouse pointer.
Y
A longintegerlong (integer for Visual Basic .Net) value that specifies the Y-coordinate of the current location of the mouse pointer.
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • []
     You cannot directly handle the MouseMove event of a Display control created at run-time, which has its DisplayType property set to dispUserWindow. In this case, you should add a procedure for the MouseMove event of your user window rather than the MouseMove event of your control. For example, use PictureBox1_MouseMove(...) instead of Display1_MouseMove(...).
  • The MouseMove event is generated continually as the mouse pointer moves across objects. Unless another object has captured the mouse, an object recognizes a MouseMove event whenever the mouse position is within its borders.
  • The Button parameter is a bit-encoded value wherein the three least significant bits are interpreted.
  • The Shift parameter is a bit-encoded value wherein the three least-significant bits are interpreted. Some, all, or none of the bits can be set, indicating that some, all, or none of the keys are pressed. For example, if both CTRL and ALT are pressed, the value of shift is 6.
  • You can use MouseDown and MouseUp event procedures to respond to events caused by pressing and releasing mouse buttons.
  • The Button parameter for MouseMove differs from the Button parameter for MouseDown and MouseUp. For MouseMove, the Button parameter indicates the current state of all buttons; a single MouseMove event can indicate that some, all, or no buttons are pressed. For MouseDown and MouseUp, the Button parameter indicates which button caused the event.


Display.MouseUp Event

MouseUp event

See Also | Availability | MIL Equivalent | MouseMove | Paint
Reference:
Display.MouseDown
Display.MouseMove
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Display
MouseUp
Synopsis
Occurs when the user releases a mouse button.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_MouseUp(
ByVal Button As Short,
ByVal Shift As Short,
ByVal X As Integer,
ByVal Y As Integer
) Handles object.MouseUp

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_MouseUp(
ByVal sender As Object,
ByVal e As AxMatrox.ActiveMIL.IDisplayEvents_MouseUpEvent
) Handles object.MouseUp
[]
Syntax
void class::OnMouseUp(
short Button,
short Shift,
long X,
long Y
)
Button
A bit-encoded short value that identifies the button that was pressed and caused the event.
Value | Meaning
1 | Left (bit 0)
2 | Right (bit 1)
4 | Middle (bit 2)
Shift
A bit-encoded short value that corresponds to the state of the SHIFT, CTRL, and ALT keys at the time of the event.
Value | Meaning
1 | SHIFT key (bit 0)
2 | CTRL key (bit 1)
4 | ALT key (bit 2)
X
A longintegerlong (integer for Visual Basic .Net) value that specifies the X-coordinate of the current location of the mouse pointer.
Y
A longintegerlong (integer for Visual Basic .Net) value that specifies the Y-coordinate of the current location of the mouse pointer.
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • []
     You cannot directly handle the MouseUp event of a Display control created at run-time, which has its DisplayType property set to dispUserWindow. In this case, you should add a procedure for the MouseUp event of your user window rather than the MouseUp event of your control. For example, use PictureBox1_MouseUp(...) instead of Display1_MouseUp(...).
  • If the mouse is released when the specified object has the focus, it receives the event.
  • The button parameter is a bit-encoded value wherein the three least-significant bits are interpreted. Only one of the bits is set, indicating the button that caused the event.
  • The shift parameter is a bit-encoded value wherein the three least-significant bits are interpreted. Some, all, or none of the bits can be set, indicating that some, all, or none of the keys are pressed. For example, if both CTRL and ALT are pressed, the value of shift is 6.
  • Use a MouseDown or MouseUp event procedure to specify actions that will occur when a given mouse button is pressed or released. Unlike the Click and DblClick events, MouseDown and MouseUp events allows you to distinguish between the left, right, and middle mouse buttons. You can also write code for mouse-keyboard combinations that use the SHIFT, CTRL, and ALT keyboard modifiers.
  • You can use a MouseMove event procedure to respond to an event caused by moving the mouse. The button parameter for MouseDown and MouseUp differs from the button parameter used for MouseMove. For MouseDown and MouseUp, the button parameter indicates which button caused the event, whereas for MouseMove, it indicates the current state of all buttons.


Display.Paint Event

Paint event

See Also | Availability | MIL Equivalent | MouseUp | ScrollHorizontal
Reference:
Display.BackColor
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Display
Paint
Synopsis
Occurs when part or all of an object is exposed after being moved or enlarged, or after a window that was covering the object has been moved.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_Paint() Handles object.Paint

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_Paint(
ByVal sender As Object,
ByVal e As System.EventArgs
) Handles object.Paint
[]
Syntax
void class::OnPaint()
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • A Paint event procedure is useful if you have output from graphics methods in your code. With this procedure, you can ensure that such output is repainted when necessary.
  • Using a Paint event procedure for certain tasks can cause a cascading event. In general, avoid using a this procedure to do the following:
    • Move or size a form or control.
    • Change any variables that affect size or appearance, such as setting an object's BackColor property.


Display.ScrollHorizontal Event

ScrollHorizontal event

See Also | Availability | MIL Equivalent | Paint | ScrollVertical
User Guide:
Attaching scroll bars to the display window

Reference:
Display.ScrollVertical
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Display
ScrollHorizontal
Synopsis
Occurs when the content of the display changes in a manner that requires the horizontal scroll bar values to be adjusted.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_ScrollHorizontal(
ByVal MinValue As Integer,
ByVal MaxValue As Integer,
ByVal Value As Integer,
ByVal LargeChangeValue As Integer,
ByVal Enabled As Boolean
) Handles object.ScrollHorizontal

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_ScrollHorizontal(
ByVal sender As Object,
ByVal e As AxMatrox.ActiveMIL.IDisplayEvents_ScrollHorizontalEvent
) Handles object.ScrollHorizontal
[]
Syntax
void class::OnScrollHorizontal(
long MinValue,
long MaxValue,
long Value,
long LargeChangeValue,
VARIANT_BOOL Enabled
)
MinValue
A long value that corresponds to the minimum value to which to set your scrollbar control.
MaxValue
A long value that corresponds to the maximum value to which to set your scrollbar control.
Value
A long value that corresponds to the value to which to set your scrollbar control.
LargeChangeValue
A long value that corresponds to the large change value to scroll a full display width.
Enabled
A boolean value that indicates whether the scrollbar should be enabled. This parameter will be False when the contents of the display are fully displayed.
Value | Meaning
True | Scrollbar is enabled.
False | Scrollbar is disabled.
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • In most cases, this event will be fired after panning or zooming the display, or when a new image is selected on the display.


Display.ScrollVertical Event

ScrollVertical event

See Also | Availability | MIL Equivalent | ScrollHorizontal | Zoom
User Guide:
Attaching scroll bars to the display window

Reference:
Display.ScrollHorizontal
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Display
ScrollVertical
Synopsis
Occurs when the content of the display changes in a manner that requires the vertical scroll bar values to be adjusted.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_ScrollVertical(
ByVal MinValue As Integer,
ByVal MaxValue As Integer,
ByVal Value As Integer,
ByVal LargeChangeValue As Integer,
ByVal Enabled As Boolean
) Handles object.ScrollVertical

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_ScrollVertical(
ByVal sender As Object,
ByVal e As AxMatrox.ActiveMIL.IDisplayEvents_ScrollVerticalEvent
) Handles object.ScrollVertical
[]
Syntax
void class::OnScrollVertical(
long MinValue,
long MaxValue,
long Value,
long LargeChangeValue,
VARIANT_BOOL Enabled
)
MinValue
A long value that corresponds to the minimum value to which to set your scrollbar control.
MaxValue
A long value that corresponds to the maximum value to which to set your scrollbar control.
Value
A long value that corresponds to the value to which to set your scrollbar control.
LargeChangeValue
A long value that corresponds to the large change value to scroll a full display width.
Enabled
A boolean value that indicates whether the scrollbar should be enabled. This will be False when the contents of the display are fully displayed.
Value | Meaning
True | Scrollbar is enabled.
False | Scrollbar is disabled.
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • In most cases, this event will be fired after panning or zooming the display, or when a new image is selected on the display.


Display.Zoom Event

Zoom event

See Also | Availability | MIL Equivalent | ScrollVertical
User Guide:
Panning and zooming

Reference:
Display.Zoom
Display.ZoomX
Display.ZoomY
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Display
Zoom
Synopsis
Occurs after the display window has been zoomed.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_Zoom(
ByVal XFactor As Double,
ByVal YFactor As Double
) Handles object.Zoom

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_Zoom(
ByVal sender As Object,
ByVal e As AxMatrox.ActiveMIL.IDisplayEvents_ZoomEvent
) Handles object.Zoom
[]
Syntax
void class::OnZoom(
double XFactor,
double YFactor
)
XFactor
A double value that corresponds to the Zoom X-factor of the display.
YFactor
A double value that corresponds to the Zoom Y-factor of the display.
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • Zooming occurs as a result of calling the Zoom method or setting the ZoomX or ZoomY property.


EdgeFinder control

Availability
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Synopsis
An EdgeFinder control allows you to extract geometric primitives in images such as object contours or thin curvilinear shapes. The control provides image processing capabilities, feature calculation, and annotation capabilities. It also provides analysis capabilities allowing for the advanced manipulation of results. An EdgeFinder control can also be used with a ModelFinder control; that is, you can define models from the result of an edge extraction, or you can find model occurrences in the result of an edge extraction. Finally, the EdgeFinder control offers complete support for calibration. The extraction of edges can be performed in the calibrated real-world such that, even without physically correcting your images, results can be returned in real-world units.

Structure
EdgeFinder Properties: Accuracy, ApproximationTolerance, AutomaticAllocation, ChainAllNeighbors, ChainApproximation, DetailLevel, DrawingParameters, EdgeType, ExtractionFilter, ExtractionScale, FeatureList, FillGapParameters, Filters, FloatMode, ForegroundValue, Image, ImageFeature, ImageName, IsAllocated, MagnitudeType, MaskSizeX, MaskSizeY, MilID, ModelFinderCompatible, ModificationCount, Name, NearestNeighbors, NumberOfFeretAngles, OwnerSystem, OwnerSystemName, PropertyValidation, Results, SortingKeys, SourceDerivativeImages, StreamSize, Threshold, Timeout

Methods: Allocate, ApplyFilter, Calculate, CalculateFromResult, Control, Draw, Free, Inquire, Load, LoadStream, Mask, Modified, PutEdgeResults, Save, SaveStream, ShowPropertyPages

Event: ResultsModified
DrawingParameters Properties: CrossSize, RelativeOriginX, RelativeOriginY, ScaleX, ScaleY
ExtractionFilter Properties: FilterType, Kernel, Mode, OverscanType, OverscanValue, Power, Smoothness
Kernel Properties: Depth, Width
FeatureList Properties: AverageStrength, Box, CenterOfGravity, CircleFit, Closure, ContactPoints, ConvexPerimeter, EdgelAngle, EdgelMagnitude, EllipseFit, FastLength, FeretElongation, FirstPoint, GeneralFeret, LabelValue, Length, LineFit, MaximumFeretAngle, MaximumFeretDiameter, MeanFeretDiameter, MinimumFeretAngle, MinimumFeretDiameter, MomentElongation, MomentElongationAngle, Position, Size, Strength, Tortuosity

Methods: DeselectAll, SelectAll
Box Properties: FeretX, FeretY, XMaximum, XMinimum, YMaximum, YMinimum

Methods: DeselectAll, SelectAll
CenterOfGravity Properties: X, Y

Methods: DeselectAll, SelectAll
CircleFit Properties: CenterX, CenterY, Coverage, Error, Radius

Methods: DeselectAll, SelectAll
ContactPoints Properties: XMaximumAtYMaximum, XMinimumAtYMinimum, YMaximumAtXMinimum, YMinimumAtXMaximum

Methods: DeselectAll, SelectAll
EllipseFit Properties: Angle, CenterX, CenterY, Coverage, Error, MajorAxis, MinorAxis

Methods: DeselectAll, SelectAll
FirstPoint Properties: X, Y

Methods: DeselectAll, SelectAll
GeneralFeret Properties: Angle, Enabled, RelativeToMomentElongationAngle
LineFit Properties: A, B, C, Error

Methods: DeselectAll, SelectAll
Position Properties: X, Y

Methods: DeselectAll, SelectAll
FillGapParameters Properties: Angle, Candidate, Continuity, Distance, Polarity
Filters Properties: NearestNeighborRadius, Count, Item

Methods: Add, Remove
Item Properties: Condition, Description, Feature, FilterType, FirstValue, SecondValue
ImageFeature Properties: Angle, Derivatives, Magnitude, Mask, Source
NearestNeighbors Properties: Angle, AngleTolerance, EdgelType, IsNeighborsPresent, MaximumNumberOfEdgels, MaximumSearchRadius, MinimumSearchRadius, MinimumSpacing, SearchAngle, SearchAngleEnabled, SearchAngleSign, SearchAngleTolerance, SourcePoints

Methods: GetNeighbors, GetNeighborsInUserArrays
SourcePoints Properties: Count, Item

Methods: Add, AddMultiple, Remove
Item Properties: Angle, Neighbors, X, Y
Neighbors Properties: Count, Item
Item Properties: ChainLabel, EdgelIndex, X, Y
Results Properties: AngleImage, Count, CrossDerivativeImage, FirstDerivativeXImage, FirstDerivativeYImage, Item, MagnitudeImage, MilID, SecondDerivativeXImage, SecondDerivativeYImage, SizeX, SizeY, StreamSize, ThresholdHighValue, ThresholdLowValue, TimeoutEnd, TotalNumberOfEdgels, TotalNumberOfVertices

Methods: CalculateStat, Draw, Get, GetMultiple, ItemAtLabel, Save, SaveStream
Item Properties: AverageStrength, BoxXMaximum, BoxXMinimum, BoxYMaximum, BoxYMinimum, CenterOfGravityX, CenterOfGravityY, CircleFitCenterX, CircleFitCenterY, CircleFitCoverage, CircleFitError, CircleFitRadius, Closure, ContactPointXMaximumAtYMaximum, ContactPointXMinimumAtYMinimum, ContactPointYMaximumAtXMinimum, ContactPointYMinimumAtXMaximum, ConvexPerimeter, Edgels, EllipseFitAngle, EllipseFitCenterX, EllipseFitCenterY, EllipseFitCoverage, EllipseFitError, EllipseFitMajorAxis, EllipseFitMinorAxis, FastLength, FeretElongation, FeretX, FeretY, FirstPointX, FirstPointY, GeneralFeret, GeneralFeretFirstEdgelIndex, GeneralFeretSecondEdgelIndex, LabelValue, Length, LineFitA, LineFitB, LineFitC, LineFitError, MaximumFeretAngle, MaximumFeretDiameter, MaximumFeretFirstEdgelIndex, MaximumFeretSecondEdgelIndex, MeanFeretDiameter, MinimumFeretAngle, MinimumFeretDiameter, MinimumFeretFirstEdgelIndex, MinimumFeretSecondEdgelIndex, MomentElongation, MomentElongationAngle, PositionX, PositionY, Size, Strength, Tortuosity, Vertices

Method: Draw
Edgels Properties: Count, Item
Item Properties: Angle, ChainCode, ChainIndex, Magnitude, X, Y
Vertices Properties: Count, Item
Item Properties: Bulge, ChainIndex, EdgelIndex, X, Y
SortingKeys Properties: Count, Item

Methods: Add, DecreasePriority, IncreasePriority, Remove
Item Properties: Description, Feature, Ordering, Priority
SourceDerivativeImages Properties: CrossDerivative, CrossDerivativeName, DerivativeX, DerivativeXName, DerivativeY, DerivativeYName, ImageValidation
Threshold Properties: LowValue, HighValue, Mode, ThresholdType


EdgeFinder.Accuracy Property

Accuracy property

Availability | MIL Equivalent | ApproximationTolerance
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_ACCURACY
)

MedgeInquire(
InquireType =
M_ACCURACY
)
EdgeFinder
Accuracy
Synopsis
Returns or sets the edgel accuracy required for the edge extraction.
[]
Syntax
object.Accuracy [= EdgeAccuracyConstants]
[]
Syntax
object->Accuracy [= enum EdgeAccuracyConstants]
Type description
An EdgeAccuracyConstants value that specifies the required edgel accuracy. (default is edgeAccuracyHigh)
Value | Meaning
edgeAccuracyDisable | Disable the edgel accuracy. Edgels will be calculated at their pixel locations.
edgeAccuracyHigh | High accuracy. Edgels will be calculated at accurate subpixel locations.
edgeAccuracyVeryHigh | Very high accuracy. Edgels will be calculated at very accurate subpixel locations. This setting uses a classical camera model to compensate for any pixel distortion aberration.
Remark
  • Accuracy depends on the image's dynamic range, sharpness, and noise. The best accuracy is achieved in well contrasted noise-free images.


EdgeFinder.ApproximationTolerance Property

ApproximationTolerance property

Availability | MIL Equivalent | Accuracy | AutomaticAllocation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_APPROXIMATION_TOLERANCE
)

MedgeInquire(
InquireType =
M_APPROXIMATION_TOLERANCE
)
EdgeFinder
ApproximationTolerance
Synopsis
Returns or sets the resolution required for the edge approximation.
[]
Syntax
object.ApproximationTolerance [= Double]
[]
Syntax
object->ApproximationTolerance [= double]
Type description
A double value, between 0.0 - 100.0, that specifies the resolution of the edge approximation. The default value is 50.0.
Remarks
  • This property is used to perform post-calculations on extracted edges.
  • When this property is set to 0.0, a very fine edge approximation is performed. When set to 100.0, a coarse edge approximation is performed.


EdgeFinder.AutomaticAllocation Property

AutomaticAllocation property

See Also | Availability | MIL Equivalent | ApproximationTolerance | ChainAllNeighbors
Reference:
Application.CreateObject
EdgeFinder.Allocate
EdgeFinder.AutomaticAllocation
EdgeFinder.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeAlloc()
EdgeFinder
AutomaticAllocation
Synopsis
Returns or sets whether the resources of the EdgeFinder control are automatically allocated at run-time.
[]
Syntax
object.AutomaticAllocation [= Boolean]
[]
Syntax
object->AutomaticAllocation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the control's automatic allocation.
Value | Meaning
True | The control will be allocated automatically at run-time.
False | The control must be allocated explicitly, using the Allocate method.
Remarks
  • When the AutomaticAllocation property is False, an explicit call to the Allocate method is required. You can get the allocation state of the control by reading its IsAllocated property.
  • The default value is True for controls created at design-time, and False for controls created at run-time (for example, created with the CreateObject method of the Application control).
  • When this property is set to True, automatic allocation will occur when the owner system of the EdgeFinder control is allocated. For example, if System1 is set as the owner system of EdgeFinder1, and System1 is not allocated, then EdgeFinder1 will not be allocated, even if its AutomaticAllocation property is set to True. When System1 is allocated (with the Allocate method), EdgeFinder1 will be allocated automatically if its AutomaticAllocation property is set to True.
  • The resources of the control will be freed automatically when the control is destroyed.


EdgeFinder.ChainAllNeighbors Property

ChainAllNeighbors property

Availability | MIL Equivalent | AutomaticAllocation | ChainApproximation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_CHAIN_ALL_NEIGHBORS
)

MedgeInquire(
InquireType =
M_CHAIN_ALL_NEIGHBORS
)
EdgeFinder
ChainAllNeighbors
Synopsis
Returns or sets whether edge chains are built using an 8-connected lattice, or using an 8-connected lattice and all the available neighboring edgels.
[]
Syntax
object.ChainAllNeighbors [= Boolean]
[]
Syntax
object->ChainAllNeighbors [= VARIANT_BOOL]
Type description
A boolean value that specifies whether all the available neighboring edgels are used with an 8-connected lattice to build edge chains. (default is False)
Value | Meaning
True | Edge chains are built using an 8-connected lattice and all the available neighboring edgels.
False | Edge chains are built using only an 8-connected lattice.
Remarks
  • When this property is set to False, the edge width cannot exceed one pixel. When this property is set to True, the edge width can exceed one pixel.
  • Setting this property to True can result in slightly longer calculations.


EdgeFinder.ChainApproximation Property

ChainApproximation property

Availability | MIL Equivalent | ChainAllNeighbors | DetailLevel
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_CHAIN_APPROXIMATION
)

MedgeInquire(
InquireType =
M_CHAIN_APPROXIMATION
)
EdgeFinder
ChainApproximation
Synopsis
Returns or sets the approximation of edges into simple geometric features.
[]
Syntax
object.ChainApproximation [= EdgeChainApproximationConstants]
[]
Syntax
object->ChainApproximation [= enum EdgeChainApproximationConstants]
Type description
An EdgeChainApproximationConstants expression that specifies the geometric feature used to approximate edges. (default is edgeDisable)
Value | Meaning
edgeDisable | Disable the approximation of edges.
edgeLine | A polygonal segmentation of each edge will be performed.
Remark
  • This property is used to perform post-calculations on extracted edges.


EdgeFinder.DetailLevel Property

DetailLevel property

See Also | Availability | MIL Equivalent | ChainApproximation | DrawingParameters
Reference:
EdgeFinder.Threshold
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
ControlType =
M_DETAIL_LEVEL
)

MmodInquire(
InquireType =
M_DETAIL_LEVEL
)
EdgeFinder
DetailLevel
Synopsis
Returns or sets the level of details used to extract edges from the source image.
[]
Syntax
object.DetailLevel [= EdgeDetailLevelConstants]
[]
Syntax
object->DetailLevel [= enum EdgeDetailLevelConstants]
Type description
An EdgeDetailLevelConstants expression that specifies the detail level the EdgeFinder control will use to extract edges. (default is edgeDetailLevelMedium)
Value | Meaning
edgeDetailLevelMedium | Average detail level, suitable for most images.
edgeDetailLevelHigh | High detail level, suitable for images with low contrast.
edgeDetailLevelVeryHigh | Very high detail level, suitable for images with very low contrast. Note that this mode performs an exhaustive edge extraction and is very sensitive to noise.
Remarks
  • This property determines what is considered an edge. A higher detail level will include more edges than a lower detail level.
  • Typically, this property is only used when interfacing with the ModelFinder control. Otherwise, the Threshold property should be used instead.
  • This property overrides the Threshold property.
  • The default mode (modMedium) offers a robust detection of edges from images with contrast variation, noise, and non-uniform illumination. Nevertheless, in cases where objects of interest have a very low contrast compared to high contrast areas in the image, some low contrast edges can be missed.
  • Note that the source image is not directly modified; this property merely extracts the edge-based information from the image.


EdgeFinder.DrawingParameters Property

DrawingParameters property

Availability | MIL Equivalent | DetailLevel | EdgeType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_DRAW_CROSS_SIZE or
M_DRAW_RELATIVE_ORIGIN_X or
M_DRAW_RELATIVE_ORIGIN_Y or
M_DRAW_SCALE_X or
M_DRAW_SCALE_Y
)

MedgeInquire(
InquireType =
M_DRAW_CROSS_SIZE or
M_DRAW_RELATIVE_ORIGIN_X or
M_DRAW_RELATIVE_ORIGIN_Y or
M_DRAW_SCALE_X or
M_DRAW_SCALE_Y
)
EdgeFinder
DrawingParameters
Properties: CrossSize, RelativeOriginX, RelativeOriginY, ScaleX, ScaleY
Synopsis
Allows you to specify or determine the characteristics of the drawing parameters.
[]
Syntax
[EdgeDrawingParameters =] object.DrawingParameters
[]
Syntax
[IEdgeDrawingParametersPtr =] object->DrawingParameters
Type description
An EdgeDrawingParameters object.
Remark
  • You cannot assign another EdgeDrawingParameters object to this property.


EdgeFinder.DrawingParameters.CrossSize Property

CrossSize property

See Also | Availability | MIL Equivalent | RelativeOriginX
Reference:
EdgeFinder.Results.Draw
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_DRAW_CROSS_SIZE
)

MedgeInquire(
InquireType =
M_DRAW_CROSS_SIZE
)
EdgeFinder
DrawingParameters
CrossSize
Synopsis
Returns or sets the size of the cross used to draw certain drawing operations.
[]
Syntax
object.CrossSize [= Double]
[]
Syntax
object->CrossSize [= double]
Type description
A double value that specifies the cross size that is used to draw certain drawing operations.
Remark
  • The cross size affects the following drawing operations of the Results.Draw method:
    • edgeDrawCenterOfGravity
    • edgeDrawEdgels
    • edgeDrawPosition


EdgeFinder.DrawingParameters.RelativeOriginX Property

RelativeOriginX property

Availability | MIL Equivalent | CrossSize | RelativeOriginY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_DRAW_RELATIVE_ORIGIN_X
)

MedgeInquire(
InquireType =
M_DRAW_RELATIVE_ORIGIN_X
)
EdgeFinder
DrawingParameters
RelativeOriginX
Synopsis
Returns or sets the X-coordinate of the drawing region's top-left corner in the source image.
[]
Syntax
object.RelativeOriginX [= Double]
[]
Syntax
object->RelativeOriginX [= double]
Type description
A double value that specifies, in pixels, the X-coordinate of the top-left corner of the source image's region in which to draw.


EdgeFinder.DrawingParameters.RelativeOriginY Property

RelativeOriginY property

Availability | MIL Equivalent | RelativeOriginX | ScaleX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_DRAW_RELATIVE_ORIGIN_Y
)

MedgeInquire(
InquireType =
M_DRAW_RELATIVE_ORIGIN_Y
)
EdgeFinder
DrawingParameters
RelativeOriginY
Synopsis
Returns or sets the Y-coordinate of the drawing region's top-left corner in the source image.
[]
Syntax
object.RelativeOriginY [= Double]
[]
Syntax
object->RelativeOriginY [= double]
Type description
A double value that specifies, in pixels, the Y-coordinate of the top-left corner of the source image's region in which to draw.


EdgeFinder.DrawingParameters.ScaleX Property

ScaleX property

Availability | MIL Equivalent | RelativeOriginY | ScaleY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_DRAW_SCALE_X
)

MedgeInquire(
InquireType =
M_DRAW_SCALE_X
)
EdgeFinder
DrawingParameters
ScaleX
Synopsis
Returns or sets the scale factor in the X-direction.
[]
Syntax
object.ScaleX [= Double]
[]
Syntax
object->ScaleX [= double]
Type description
A double value that specifies the factor with which to scale in the X-direction.


EdgeFinder.DrawingParameters.ScaleY Property

ScaleY property

Availability | MIL Equivalent | ScaleX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_DRAW_SCALE_Y
)

MedgeInquire(
InquireType =
M_DRAW_SCALE_Y
)
EdgeFinder
DrawingParameters
ScaleY
Synopsis
Returns or sets the scale factor in the Y-direction.
[]
Syntax
object.ScaleY [= Double]
[]
Syntax
object->ScaleY [= double]
Type description
A double value that specifies the factor with which to scale in the Y-direction.


EdgeFinder.EdgeType Property

EdgeType property

Availability | MIL Equivalent | DrawingParameters | ExtractionFilter
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeAlloc(ContextType)

MedgeInquire(
InquireType =
M_CONTEXT_TYPE
)
EdgeFinder
EdgeType
Synopsis
Returns or sets the type of EdgeFinder control.
[]
Syntax
object.EdgeType [= EdgeTypeConstants]
[]
Syntax
object->EdgeType [= enum EdgeTypeConstants]
Type description
An EdgeTypeConstants expression that specifies the type of EdgeFinder control. (default is edgeContour)
Value | Meaning
edgeContour | A contour context type, which is used to find object contours in images.
edgeCrest | A crest context type, which is used to find thin line crests in images.
Remark
  • This property cannot be set at run-time if the control is in the allocated state.


EdgeFinder.ExtractionFilter Property

ExtractionFilter property

Availability | MIL Equivalent | EdgeType | ExtractionScale
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_FILTER_MODE or
M_FILTER_SMOOTHNESS or
M_FILTER_TYPE or
M_KERNEL_DEPTH or
M_KERNEL_WIDTH or
M_OVERSCAN or
M_OVERSCAN_REPLACE_VALUE
)

MedgeInquire(
InquireType =
M_FILTER_MODE or
M_FILTER_SMOOTHNESS or
M_FILTER_TYPE or
M_KERNEL_DEPTH or
M_KERNEL_WIDTH or
M_OVERSCAN or
M_OVERSCAN_REPLACE_VALUE
)

MedgeInquire(
InquireType =
M_FILTER_POWER
)
EdgeFinder
ExtractionFilter
Properties: FilterType, Kernel, Mode, OverscanType, OverscanValue, Power, Smoothness
Synopsis
Allows you to specify or determine the filter settings used to perform the edge extraction.
[]
Syntax
[EdgeExtractionFilter =] object.ExtractionFilter
[]
Syntax
[IEdgeExtractionFilterPtr =] object->ExtractionFilter
Type description
An EdgeExtractionFilter object.
Remark
  • You cannot assign another EdgeExtractionFilter object to this property.


EdgeFinder.ExtractionFilter.FilterType Property

FilterType property

See Also | Availability | MIL Equivalent | Kernel
User Guide:
Customizing the edge extraction settings

Reference:
EdgeFinder.ExtractionFilter.Mode
EdgeFinder.ExtractionFilter.Smoothness
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_FILTER_TYPE
)

MedgeInquire(
InquireType =
M_FILTER_TYPE
)
EdgeFinder
ExtractionFilter
FilterType
Synopsis
Returns or sets the type of filter used to perform the neighborhood operation used to extract edges.
[]
Syntax
object.FilterType [= EdgeFilterConstants]
[]
Syntax
object->FilterType [= enum EdgeFilterConstants]
Type description
An EdgeFilterConstants expression that specifies the filter type used to perform the neighborhood operation. (default is edgeShen)
Value | Meaning
edgeDeriche | An Infinite Support Canny-Deriche filter.
edgeFreiChen | A Frei Chen filter.
edgePrewitt | A Prewitt filter.
edgeShen | An Infinite Support Shen-Castan filter.
edgeSobel | A Sobel filter.
Remarks
  • The type of filter chosen determines the distribution of the neighborhoods' influence (when extracting edges).
  • Shen-Castan and Canny-Deriche are Infinite Impulse Response (IIR) filters. They allow you to extract both crests and contours.
  • Infinite filters allow you to set the filter mode used to calculate edges, and the degree of smoothness applied to the images in the edge extraction, by using the ExtractionFilter.Mode and ExtractionFilter.Smoothness properties, respectively.
  • For the Shen-Castan filter, the neighborhoods' influence decreases much faster as the distance from the central pixel increases, compared to the Canny-Deriche filter. Typically, the Shen-Castan filter performs an excellent edge extraction on most images; however, if you are extracting unusually thick crests that yield inappropriate results, you should use the Canny-Deriche filter.
  • For the Canny-Deriche filter, the neighborhoods' influence decreases much slower as the distance from the central pixel increases, compared to the Shen-Castan filter. Typically, the Canny-Deriche filter is used for unusually thick crests.
  • Sobel, Prewitt, and Frei Chen are Finite Impulse Response (FIR) filters. Unlike IIR filters, predefined filters only allow you to extract contours.
  • If you use a predefined filter, the ExtractionFilter.Smoothness and ExtractionFilter.Mode properties are ignored.
  • Shen-Castan filter is an exponential weighting function, of the general form:
  • Canny-Deriche is an exponential weighting function, of the general form:
  • A Sobel filter can be represented with the following convolution kernels:
  • A Prewitt filter can be represented with the following convolution kernels:
  • A Frei Chen filter can be represented with the following convolution kernels:


EdgeFinder.ExtractionFilter.Kernel Property

Kernel property

See Also | Availability | MIL Equivalent | FilterType | Mode
User Guide:
Customizing the edge extraction settings
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_KERNEL_DEPTH or
M_KERNEL_WIDTH
)

MedgeInquire(
InquireType =
M_KERNEL_DEPTH or
M_KERNEL_WIDTH or
M_KERNEL_SIZE
)
EdgeFinder
ExtractionFilter
Kernel
Properties: Depth, Width
Synopsis
Allows you to specify or determine the kernel settings used to perform the edge extraction filter.
[]
Syntax
[EdgeKernel =] object.Kernel
[]
Syntax
[IEdgeKernelPtr =] object->Kernel
Type description
An EdgeKernel object.
Remark
  • You cannot assign another EdgeKernel object to this property.


EdgeFinder.ExtractionFilter.Kernel.Depth Property

Depth property

See Also | Availability | MIL Equivalent | Width
Reference:
EdgeFinder.ExtractionFilter.FilterType
EdgeFinder.ExtractionFilter.Mode
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_KERNEL_DEPTH
)

MedgeInquire(
InquireType =
M_KERNEL_DEPTH
)
EdgeFinder
ExtractionFilter
Kernel
Depth
Synopsis
Returns or sets the depth of the convolution kernel used for the kernel filtering mode.
[]
Syntax
object.Depth [= Integer]
[]
Syntax
object->Depth [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the depth of the kernel. Valid values are 8 and 16. (default is 8)
Remarks
  • This property is ignored unless the ExtractionFilter.Mode property is set to edgeKernel.
  • Typically, this property only affects Infinite Impulse Response (IIR) type filters, which you can set with the ExtractionFilter.FilterType property.
  • The depth of the kernel is set in terms of bits. That is, a value of 8 means an 8-bit kernel depth, while a value of 16 means a 16-bit kernel depth.
  • An 8-bit kernel depth is faster, though less accurate, than a 16-bit kernel depth.


EdgeFinder.ExtractionFilter.Kernel.Width Property

Width property

See Also | Availability | MIL Equivalent | Depth
User Guide:
Customizing the edge extraction settings

Reference:
EdgeFinder.ExtractionFilter.FilterType
EdgeFinder.ExtractionFilter.Mode
EdgeFinder.ExtractionFilter.Smoothness
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_KERNEL_WIDTH
)

MedgeInquire(
InquireType =
M_KERNEL_WIDTH
)
EdgeFinder
ExtractionFilter
Kernel
Width
Synopsis
Returns the maximum X and Y size of the convolution kernel used for kernel filtering modes.
[]
Syntax
object.Width [= Integer]
[]
Syntax
object->Width [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value or an EdgeAutomaticConstants expression that specifies the kernel size. (default is edgeAutomatic)
Value | Meaning
edgeAutomatic | The kernel size is automatically determined.
value | Odd value greater than 3.
Remarks
  • The size of the kernel can be constrained by the available hardware resources. Larger kernels result in longer processing times.
  • This property only has an effect if the ExtractionFilter.Mode property is set to edgeKernel, and the ExtractionFilter.FilterType property is set to either edgeShen or edgeDeriche.
  • If this property is set to edgeAutomatic, the maximum X and Y size of the convolution kernel is set automatically, for a given smoothness factor.
  • If the kernel size is set automatically, the size of the kernel (for a given smoothness factor) is calculated as the size beyond which the quantified filter values are zero. If the smoothness factor calls for a kernel size that is beyond the limits of your hardware, the smoothness will be sacrificed to achieve the largest possible kernel size.
  • If the kernel size is set to a specific value, and your hardware cannot handle the kernel size, the effective smoothness factor will be saturated to the maximum possible value for the specified kernel size.
  • You can set the smoothness factor with the ExtractionFilter.Smoothness property.


EdgeFinder.ExtractionFilter.Mode Property

Mode property

See Also | Availability | MIL Equivalent | Kernel | OverscanType
User Guide:
Customizing the edge extraction settings

Reference:
EdgeFinder.ExtractionFilter.FilterType
EdgeFinder.ExtractionFilter.Kernel.Width
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL

See remarks for support on:
See remarks for support on Matrox Corona-II
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox Morphis
See remarks for support on Matrox Orion
See remarks for support on Matrox Genesis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MedgeControl(
ControlType =
M_FILTER_MODE
)

MedgeInquire(
InquireType =
M_FILTER_MODE
)
EdgeFinder
ExtractionFilter
Mode
Synopsis
Returns or sets the mode in which to perform the edge extraction filter.
[]
Syntax
object.Mode [= EdgeFilterModeConstants]
[]
Syntax
object->Mode [= enum EdgeFilterModeConstants]
Type description
An EdgeFilterModeConstants or an ActiveMILDefaultConstants expression that specifies the mode used to perform the filter. (default is amilDefault)
Value | Meaning
amilDefault | Specifies the default filter mode.
edgeRecursive | Specifies the recursive filter mode.
edgeKernel | Specifies the kernel filter mode.
Remarks
  • If special hardware is available to perform the convolution, the default is edgeKernel. If special hardware is not available to perform the convolution, the default is edgeRecursive. The default is typically set to the most efficient mode.
  • This property only has an effect if the ExtractionFilter.FilterType property is set to either edgeShen or edgeDeriche.
  • If you set this property to edgeRecursive, a recursive implementation of the filter will be used. If this mode actually used a kernel, the kernel size would be theoretically infinite.
  • If you set this property to edgeKernel, a non-recursive implementation of the filter will be used. In this case, a kernel is used to perform the neighborhood operation. You can set the size of the filter's convolution kernel with the ExtractionFilter.Kernel.Width property. Note that the size of the kernel can be constrained by the available hardware resources.
  • When using an Infinite Impulse Response (IIR) filter in kernel mode, the filtering is done using a kernel approximation (Finite Impulse Response) of the filter. Typically, you would only use kernel mode if dedicated hardware is available to perform the convolution.
Remark for Matrox Corona-II
  • When using an IIR filter, the edgeKernel mode is not as efficient as the edgeRecursive mode, for large kernels.
Remark for Matrox CronosPlus
  • When using an IIR filter, the edgeKernel mode is not as efficient as the edgeRecursive mode, for large kernels.
Remark for Matrox Genesis
  • When using an IIR filter, the edgeKernel mode is not as efficient as the edgeRecursive mode, for large kernels.
Remark for Matrox Meteor-II /1394
  • When using an IIR filter, the edgeKernel mode is not as efficient as the edgeRecursive mode, for large kernels.
Remark for Matrox Meteor-II /Camera Link
  • When using an IIR filter, the edgeKernel mode is not as efficient as the edgeRecursive mode, for large kernels.
Remark for Matrox Meteor-II /Digital
  • When using an IIR filter, the edgeKernel mode is not as efficient as the edgeRecursive mode, for large kernels.
Remark for Matrox Meteor-II /Multi-Channel
  • When using an IIR filter, the edgeKernel mode is not as efficient as the edgeRecursive mode, for large kernels.
Remark for Matrox Meteor-II /Standard
  • When using an IIR filter, the edgeKernel mode is not as efficient as the edgeRecursive mode, for large kernels.
Remark for Matrox Morphis
  • When using an IIR filter, the edgeKernel mode is not as efficient as the edgeRecursive mode, for large kernels.
Remark for Matrox Odyssey XA
  • When using an IIR filter, the edgeKernel mode is not as efficient as the edgeRecursive mode, for large kernels.
Remark for Matrox Odyssey XCL
  • When using an IIR filter, the edgeKernel mode is not as efficient as the edgeRecursive mode, for large kernels.
Remark for Matrox Odyssey XD
  • When using an IIR filter, the edgeKernel mode is not as efficient as the edgeRecursive mode, for large kernels.
Remark for Matrox Orion
  • When using an IIR filter, the edgeKernel mode is not as efficient as the edgeRecursive mode, for large kernels.
Remark for Matrox Solios XA
  • When using an IIR filter, the edgeKernel mode is not as efficient as the edgeRecursive mode, for large kernels.
Remark for Matrox Solios XCL
  • When using an IIR filter, the edgeKernel mode is not as efficient as the edgeRecursive mode, for large kernels.


EdgeFinder.ExtractionFilter.OverscanType Property

OverscanType property

See Also | Availability | MIL Equivalent | Mode | OverscanValue
User Guide:
Overscan region

Reference:
EdgeFinder.ExtractionFilter.Mode
EdgeFinder.ExtractionFilter.OverscanValue
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_OVERSCAN
)

MedgeInquire(
InquireType =
M_OVERSCAN
)
EdgeFinder
ExtractionFilter
OverscanType
Synopsis
Returns or sets the type of overscan processing for the border pixels.
[]
Syntax
object.OverscanType [= EdgeOverscanTypeConstants]
[]
Syntax
object->OverscanType [= enum EdgeOverscanTypeConstants]
Type description
An EdgeOverscanTypeConstants expression that specifies how to process the border pixels of the source image. (default is edgeTransparent)
Value | Meaning
edgeTransparent | The border pixels of a source image are processed using transparent overscan pixel values.
edgeMirror | The border pixels of a source image are processed using overscan pixel values that mirror the source image pixel values.
edgeReplace | The border pixels of a source image are processed using overscan pixel values set to the overscan replacement value.
edgeOverscanDisable | No overscan will be used.
Remarks
  • This property is ignored if the ExtractionFilter.Mode property is set to edgeRecursive.
  • When overscan is disabled, the border pixels of the source image are not processed by the neighborhood operation if additional processing time is needed.
  • When using a mirror overscan, the overscan pixel values will be a mirror copy of the source image's borders. For example:
  • You can set the overscan replacement value with the ExtractionFilter.OverscanValue property.
  • When using a transparent overscan, the overscan pixel values will be those of the parent image. If they are not available, a mirror overscan is used instead.


EdgeFinder.ExtractionFilter.OverscanValue Property

OverscanValue property

See Also | Availability | MIL Equivalent | OverscanType | Power
User Guide:
Overscan region

Reference:
EdgeFinder.ExtractionFilter.Mode
EdgeFinder.ExtractionFilter.OverscanType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_OVERSCAN_REPLACE_VALUE
)

MedgeInquire(
InquireType =
M_OVERSCAN_REPLACE_VALUE
)
EdgeFinder
ExtractionFilter
OverscanValue
Synopsis
Returns or sets a replacement value for the overscan neighborhood pixel values.
[]
Syntax
object.OverscanValue [= Integer]
[]
Syntax
object->OverscanValue [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value, an EdgeOverscanValueConstants, or an ActiveMILDefaultConstants expression that specifies the overscan neighborhood pixel values. (default is amilDefault)
Value | Meaning
amilDefault | Overscan neighborhood pixels are set to the default value. The default value is 0.
edgeReplaceMaximum | Overscan neighborhood pixels are set to the maximum value of the source image.
edgeReplaceMinimum | Overscan neighborhood pixels are set to the minimum value of the source image.
value | Overscan neighborhood pixels are set to this value.
Remark
  • This property is ignored unless the ExtractionFilter.OverscanType property is set to edgeReplace, and the ExtractionFilter.Mode property is set to edgeRecursive.


EdgeFinder.ExtractionFilter.Power Property

Power property

Availability | MIL Equivalent | OverscanValue | Smoothness
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeInquire(
InquireType =
M_FILTER_POWER
)
EdgeFinder
ExtractionFilter
Power
Synopsis
Returns the power of the current filter used to extract edges.
[]
Syntax
[Double =] object.Power
[]
Syntax
[double =] object->Power
Type description
A double value that sets the power the current filter uses to perform the edge extraction.
Remark
  • The power of the current filter indicates the decreasing factor of the noise variance. As the following image illustrates, h represents the filter values, and the sum is computed through the filter support (which can be either finite or infinite):


EdgeFinder.ExtractionFilter.Smoothness Property

Smoothness property

See Also | Availability | MIL Equivalent | Power
User Guide:
Smoothing

Reference:
EdgeFinder.ExtractionFilter.FilterType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_FILTER_SMOOTHNESS
)

MedgeInquire(
InquireType =
M_FILTER_SMOOTHNESS
)
EdgeFinder
ExtractionFilter
Smoothness
Synopsis
Returns or sets the degree of smoothness (strength of denoising) applied by the filter during the neighborhood operation.
[]
Syntax
object.Smoothness [= Double]
[]
Syntax
object->Smoothness [= double]
Type description
A double value from 0.0 to 100.0 that specifies the strength of the smoothing operation. (default is 50.0)
Remarks
  • A setting of 100.0 results in a strong noise reduction effect, while a setting of 0.0 has almost no noise reduction effect.
  • This property only has an effect if the ExtractionFilter.FilterType property is set to either edgeShen or edgeDeriche.


EdgeFinder.ExtractionScale Property

ExtractionScale property

Availability | MIL Equivalent | ExtractionFilter | FeatureList
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_EXTRACTION_SCALE
)

MedgeInquire(
InquireType =
M_EXTRACTION_SCALE
)
EdgeFinder
ExtractionScale
Synopsis
Returns or sets the image scale at which to extract the edges.
[]
Syntax
object.ExtractionScale [= Double]
[]
Syntax
object->ExtractionScale [= double]
Type description
A double value or an ActiveMilDefaultConstants expression that specifies the edge extraction scale of the image. (default is 1)
Value | Meaning
amilDefault | Specifies the default value.
value | Specifies the edge extraction scale, where value > 0.
1 | Applies no scaling.
Remarks
  • This property is for advanced users of the EdgeFinder control. The default setting usually provides the most accurate search results.
  • This property sets the scale of the image at which to do the edge extraction. Once the extraction is complete, the results are scaled to the original scale of the image.
  • An extraction scale less than 1 speeds up the the search but can result in a less reliable result, including, the loss of important details and/or a reduction in the accuracy of the search results.
  • Note that an extraction scale greater than 1 will slow down the search.
  • This property must be set before calling the Calculate method.
  • Note that 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).


EdgeFinder.FeatureList Property

FeatureList property

See Also | Availability | MIL Equivalent | ExtractionScale | FillGapParameters
Reference:
EdgeFinder.Calculate
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(ControlType)
EdgeFinder
FeatureList
Properties: AverageStrength, Box, CenterOfGravity, CircleFit, Closure, ContactPoints, ConvexPerimeter, EdgelAngle, EdgelMagnitude, EllipseFit, FastLength, FeretElongation, FirstPoint, GeneralFeret, LabelValue, Length, LineFit, MaximumFeretAngle, MaximumFeretDiameter, MeanFeretDiameter, MinimumFeretAngle, MinimumFeretDiameter, MomentElongation, MomentElongationAngle, Position, Size, Strength, Tortuosity

Methods: DeselectAll, SelectAll
Synopsis
Allows you to select features for calculation.
[]
Syntax
[EdgeFeatureList =] object.FeatureList
[]
Syntax
[IEdgeFeatureListPtr =] object->FeatureList
Type description
An EdgeFeatureList object.
Remarks
  • You cannot assign another EdgeFeatureList object to this property.
  • Call the Calculate method to calculate the selected features.


EdgeFinder.FeatureList.AverageStrength Property

AverageStrength property

See Also | Availability | MIL Equivalent | Box
Reference:
EdgeFinder.Calculate
EdgeFinder.FeatureList.Strength
EdgeFinder.Results.Item.AverageStrength
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_AVERAGE_STRENGTH
)

MedgeInquire(
InquireType =
M_AVERAGE_STRENGTH
)
EdgeFinder
FeatureList
AverageStrength
Synopsis
Returns or sets whether the average strength feature of each edge is selected for calculation.
[]
Syntax
object.AverageStrength [= Boolean]
[]
Syntax
object->AverageStrength [= VARIANT_BOOL]
Type description
A boolean value that specifies whether each edge's average strength feature is selected for calculation. (default is False)
Value | Meaning
True | The average strength feature of each edge is selected for calculation.
False | The average strength feature of each edge is not selected for calculation.
Remarks
  • The average strength is the average energy of each edge, which is defined as the energy of the edge (FeatureList.Strength) divided by its number of edgels.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).AverageStrength property.


EdgeFinder.FeatureList.Box Property

Box property

See Also | Availability | MIL Equivalent | AverageStrength | CenterOfGravity
Reference:
EdgeFinder.Calculate
EdgeFinder.FeatureList.Box.DeselectAll
EdgeFinder.FeatureList.Box.SelectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_BOX or
M_BOX_X_MIN or
M_BOX_Y_MIN or
M_BOX_X_MAX or
M_BOX_Y_MAX
)

MedgeInquire(
InquireType =
M_BOX_X_MIN or
M_BOX_Y_MIN or
M_BOX_X_MAX or
M_BOX_Y_MAX
)

MedgeControl(
ControlType =
M_FERET_BOX or
M_FERET_X or
M_FERET_Y
)

MedgeInquire(
InquireType =
M_FERET_X or
M_FERET_Y
)
EdgeFinder
FeatureList
Box
Properties: FeretX, FeretY, XMaximum, XMinimum, YMaximum, YMinimum

Methods: DeselectAll, SelectAll
Synopsis
Allows you to specify or determine which bounding box feature(s) are selected for calculation.
[]
Syntax
[EdgeFeatureBox =] object.Box
[]
Syntax
[IEdgeFeatureBoxPtr =] object->Box
Type description
An EdgeFeatureBox object.
Remarks
  • You cannot assign another FeatureBox object to this property.
  • All the box features can be selected at once by calling the SelectAll method.
  • All the box features can be deselected at once by calling the DeselectAll method.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).Box... properties.


EdgeFinder.FeatureList.Box.FeretX Property

FeretX property

See Also | Availability | MIL Equivalent | FeretY
Reference:
EdgeFinder.Calculate
EdgeFinder.FeatureList.Box.XMaximum
EdgeFinder.FeatureList.Box.XMinimum
EdgeFinder.Results.Item.FeretX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_FERET_X
)

MedgeInquire(
InquireType =
M_FERET_X
)
EdgeFinder
FeatureList
Box
FeretX
Synopsis
Returns or sets whether each edge's X-Feret feature is selected for calculation.
[]
Syntax
object.FeretX [= Boolean]
[]
Syntax
object->FeretX [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the X-Feret feature of each edge is selected for calculation. (default is False)
Value | Meaning
True | Each edge's X-Feret feature is selected for calculation.
False | Each edge's X-Feret feature is not selected for calculation.
Remarks
  • The X-Feret is the dimension of the minimum bounding box of an edge in the horizontal direction; that is, FeatureList.Box.XMaximum - FeatureList.Box.XMinimum.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).FeretX property.


EdgeFinder.FeatureList.Box.FeretY Property

FeretY property

See Also | Availability | MIL Equivalent | FeretX | XMaximum
Reference:
EdgeFinder.Calculate
EdgeFinder.FeatureList.Box.YMaximum
EdgeFinder.FeatureList.Box.YMinimum
EdgeFinder.Results.Item.FeretY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_FERET_Y
)

MedgeInquire(
InquireType =
M_FERET_Y
)
EdgeFinder
FeatureList
Box
FeretY
Synopsis
Returns or sets whether each edge's Y-Feret feature is selected for calculation.
[]
Syntax
object.FeretY [= Boolean]
[]
Syntax
object->FeretY [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the Y-Feret feature of each edge is selected for calculation. (default is False)
Value | Meaning
True | Each edge's Y-Feret feature is selected for calculation.
False | Each edge's Y-Feret feature is not selected for calculation.
Remarks
  • The Y-Feret is the dimension of the minimum bounding box of an edge in the vertical direction; that is, FeatureList.Box.YMaximum - FeatureList.Box.YMinimum.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).FeretY property.


EdgeFinder.FeatureList.Box.XMaximum Property

XMaximum property

See Also | Availability | MIL Equivalent | FeretY | XMinimum
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.BoxXMaximum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_BOX_X_MAX
)

MedgeInquire(
InquireType =
M_BOX_X_MAX
)
EdgeFinder
FeatureList
Box
XMaximum
Synopsis
Returns or sets whether the X-maximum feature of each edge's bounding box is selected for calculation.
[]
Syntax
object.XMaximum [= Boolean]
[]
Syntax
object->XMaximum [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the X-maximum feature of the bounding box of each edge is selected for calculation. (default is False)
Value | Meaning
True | The X-maximum feature of each edge's bounding box is selected for calculation.
False | The X-maximum feature of each edge's bounding box is not selected for calculation.
Remarks
  • The X-maximum is the extreme top edgel coordinate of each edge.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).BoxXMaximum property.


EdgeFinder.FeatureList.Box.XMinimum Property

XMinimum property

See Also | Availability | MIL Equivalent | XMaximum | YMaximum
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.BoxXMinimum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_BOX_X_MIN
)

MedgeInquire(
InquireType =
M_BOX_X_MIN
)
EdgeFinder
FeatureList
Box
XMinimum
Synopsis
Returns or sets whether the X-minimum feature of each edge's bounding box is selected for calculation.
[]
Syntax
object.XMinimum [= Boolean]
[]
Syntax
object->XMinimum [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the X-minimum feature of the bounding box of each edge is selected for calculation. (default is False)
Value | Meaning
True | The X-minimum feature of each edge's bounding box is selected for calculation.
False | The X-minimum feature of each edge's bounding box is not selected for calculation.
Remarks
  • The X-minimum is the extreme left edgel coordinate of each edge.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).BoxXMinimum property.


EdgeFinder.FeatureList.Box.YMaximum Property

YMaximum property

See Also | Availability | MIL Equivalent | XMinimum | YMinimum
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.BoxYMaximum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_BOX_Y_MAX
)

MedgeInquire(
InquireType =
M_BOX_Y_MAX
)
EdgeFinder
FeatureList
Box
YMaximum
Synopsis
Returns or sets whether the Y-maximum feature of each edge's bounding box is selected for calculation.
[]
Syntax
object.YMaximum [= Boolean]
[]
Syntax
object->YMaximum [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the Y-maximum feature of the bounding box of each edge is selected for calculation. (default is False)
Value | Meaning
True | The Y-maximum feature of each edge's bounding box is selected for calculation.
False | The Y-maximum feature of each edge's bounding box is not selected for calculation.
Remarks
  • The Y-maximum is the extreme bottom edgel coordinate of each edge.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).BoxYMaximum property.


EdgeFinder.FeatureList.Box.YMinimum Property

YMinimum property

See Also | Availability | MIL Equivalent | YMaximum | DeselectAll
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.BoxYMinimum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_BOX_Y_MIN
)

MedgeInquire(
InquireType =
M_BOX_Y_MIN
)
EdgeFinder
FeatureList
Box
YMinimum
Synopsis
Returns or sets whether the Y-minimum feature of each edge's bounding box is selected for calculation.
[]
Syntax
object.YMinimum [= Boolean]
[]
Syntax
object->YMinimum [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the Y-minimum feature of the bounding box of each edge is selected for calculation. (default is False)
Value | Meaning
True | The Y-minimum feature of each edge's bounding box is selected for calculation.
False | The Y-minimum feature of each edge's bounding box is not selected for calculation.
Remarks
  • The Y-minimum is the extreme right edgel coordinate of each edge.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).BoxYMinimum property.


EdgeFinder.FeatureList.Box.DeselectAll Method

DeselectAll method

Availability | MIL Equivalent | YMinimum | SelectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_BOX
ControlValue =
M_DISABLE
)
EdgeFinder
FeatureList
Box
DeselectAll
Synopsis
Deselects all the features in the box feature list.
[]
Syntax
object.DeselectAll()
[]
Syntax
void object->DeselectAll()
Remark
  • This method sets each feature in the box feature list to False.


EdgeFinder.FeatureList.Box.SelectAll Method

SelectAll method

Availability | MIL Equivalent | DeselectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_BOX
ControlValue =
M_ENABLE
)
EdgeFinder
FeatureList
Box
SelectAll
Synopsis
Selects all the features in the box feature list.
[]
Syntax
object.SelectAll()
[]
Syntax
void object->SelectAll()
Remark
  • This method sets each feature in the box feature list to True.


EdgeFinder.FeatureList.CenterOfGravity Property

CenterOfGravity property

See Also | Availability | MIL Equivalent | Box | CircleFit
Reference:
EdgeFinder.Calculate
EdgeFinder.FeatureList.CenterOfGravity.DeselectAll
EdgeFinder.FeatureList.CenterOfGravity.SelectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_CENTER_OF_GRAVITY or
M_CENTER_OF_GRAVITY_X or
M_CENTER_OF_GRAVITY_Y
)

MedgeInquire(
InquireType =
M_CENTER_OF_GRAVITY_X or
M_CENTER_OF_GRAVITY_Y
)
EdgeFinder
FeatureList
CenterOfGravity
Properties: X, Y

Methods: DeselectAll, SelectAll
Synopsis
Allows you to specify or determine which center of gravity feature(s) are selected for calculation.
[]
Syntax
[EdgeFeatureCenterOfGravity =] object.CenterOfGravity
[]
Syntax
[IEdgeFeatureCenterOfGravityPtr =] object->CenterOfGravity
Type description
An EdgeFeatureCenterOfGravity object.
Remarks
  • You cannot assign another FeatureCenterOfGravity object to this property.
  • All the center of gravity features can be selected at once by calling the SelectAll method.
  • All the center of gravity features can be deselected at once by calling the DeselectAll method.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).CenterOfGravity... properties.


EdgeFinder.FeatureList.CenterOfGravity.X Property

X property

See Also | Availability | MIL Equivalent | Y
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.CenterOfGravityX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_CENTER_OF_GRAVITY_X
)

MedgeInquire(
InquireType =
M_CENTER_OF_GRAVITY_X
)
EdgeFinder
FeatureList
CenterOfGravity
X
Synopsis
Returns or sets whether the X-coordinate feature of each edge's center of gravity is selected for calculation.
[]
Syntax
object.X [= Boolean]
[]
Syntax
object->X [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the X-coordinate feature of the center of gravity of each edge is selected for calculation. (default is False)
Value | Meaning
True | The X-coordinate feature of each edge's center of gravity is selected for calculation.
False | The X-coordinate feature of each edge's center of gravity is not selected for calculation.
Remarks
  • The X-coordinate is equal to the average position of edgel positions in X.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).CenterOfGravityX property.


EdgeFinder.FeatureList.CenterOfGravity.Y Property

Y property

See Also | Availability | MIL Equivalent | X | DeselectAll
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.CenterOfGravityY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_CENTER_OF_GRAVITY_Y
)

MedgeInquire(
InquireType =
M_CENTER_OF_GRAVITY_Y
)
EdgeFinder
FeatureList
CenterOfGravity
Y
Synopsis
Returns or sets whether the Y-coordinate feature of each edge's center of gravity is selected for calculation.
[]
Syntax
object.Y [= Boolean]
[]
Syntax
object->Y [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the Y-coordinate feature of the center of gravity of each edge is selected for calculation. (default is False)
Value | Meaning
True | The Y-coordinate feature of each edge's center of gravity is selected for calculation.
False | The Y-coordinate feature of each edge's center of gravity is not selected for calculation.
Remarks
  • The Y-coordinate is equal to the average position of edgel positions in Y.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).CenterOfGravityY property.


EdgeFinder.FeatureList.CenterOfGravity.DeselectAll Method

DeselectAll method

Availability | MIL Equivalent | Y | SelectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_CENTER_OF_GRAVITY
ControlValue =
M_DISABLE
)
EdgeFinder
FeatureList
CenterOfGravity
DeselectAll
Synopsis
Deselects all the features in the center of gravity feature list.
[]
Syntax
object.DeselectAll()
[]
Syntax
void object->DeselectAll()
Remark
  • This method sets each feature in the center of gravity feature list to False.


EdgeFinder.FeatureList.CenterOfGravity.SelectAll Method

SelectAll method

Availability | MIL Equivalent | DeselectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_CENTER_OF_GRAVITY
ControlValue =
M_ENABLE
)
EdgeFinder
FeatureList
CenterOfGravity
SelectAll
Synopsis
Selects all the features in the center of gravity feature list.
[]
Syntax
object.SelectAll()
[]
Syntax
void object->SelectAll()
Remark
  • This method sets each feature in the center of gravity feature list to True.


EdgeFinder.FeatureList.CircleFit Property

CircleFit property

See Also | Availability | MIL Equivalent | CenterOfGravity | Closure
Reference:
EdgeFinder.Calculate
EdgeFinder.FeatureList.CircleFit.DeselectAll
EdgeFinder.FeatureList.CircleFit.SelectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_CIRCLE_FIT_CENTER_X or
M_CIRCLE_FIT_CENTER_Y or
M_CIRCLE_FIT_COVERAGE or
M_CIRCLE_FIT_ERROR or
M_CIRCLE_FIT_RADIUS
)

MedgeInquire(
InquireType =
M_CIRCLE_FIT_CENTER_X or
M_CIRCLE_FIT_CENTER_Y or
M_CIRCLE_FIT_COVERAGE or
M_CIRCLE_FIT_ERROR or
M_CIRCLE_FIT_RADIUS
)
EdgeFinder
FeatureList
CircleFit
Properties: CenterX, CenterY, Coverage, Error, Radius

Methods: DeselectAll, SelectAll
Synopsis
Allows you to specify or determine which circle fit feature(s) are selected for calculation.
[]
Syntax
[EdgeFeatureCircleFit =] object.CircleFit
[]
Syntax
[IEdgeFeatureCircleFitPtr =] object->CircleFit
Type description
An EdgeFeatureCircleFit object.
Remarks
  • You cannot assign another EdgeFeatureCircleFit object to this property.
  • All the circle fit features can be selected at once by calling the SelectAll method.
  • All the circle fit features can be deselected at once by calling the DeselectAll method.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).CircleFit... properties.


EdgeFinder.FeatureList.CircleFit.CenterX Property

CenterX property

See Also | Availability | MIL Equivalent | CenterY
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.CircleFitCenterX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_CIRCLE_FIT_CENTER_X
)

MedgeInquire(
InquireType =
M_CIRCLE_FIT_CENTER_X
)
EdgeFinder
FeatureList
CircleFit
CenterX
Synopsis
Returns or sets whether the X-coordinate of the center of the circle that is the best fit for each edge is selected for calculation.
[]
Syntax
[Boolean =] object.CenterX
[]
Syntax
[VARIANT_BOOL =] object->CenterX
Type description
A boolean value that specifies whether the X-coordinate of the center of the circle that is the best fit is selected for calculation. (default is False)
Value | Meaning
True | The X-coordinate of the center of the circle that is the best fit is selected for calculation.
False | The X-coordinate of the center of the circle that is the best fit is not selected for calculation.
Remark
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).CircleFitCenterX property.


EdgeFinder.FeatureList.CircleFit.CenterY Property

CenterY property

See Also | Availability | MIL Equivalent | CenterX | Coverage
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.CircleFitCenterY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_CIRCLE_FIT_CENTER_Y
)

MedgeInquire(
InquireType =
M_CIRCLE_FIT_CENTER_Y
)
EdgeFinder
FeatureList
CircleFit
CenterY
Synopsis
Returns or sets whether the Y-coordinate of the center of the circle that is the best fit for each edge is selected for calculation.
[]
Syntax
[Boolean =] object.CenterY
[]
Syntax
[VARIANT_BOOL =] object->CenterY
Type description
A boolean value that specifies whether the Y-coordinate of the center of the circle that is the best fit is selected for calculation. (default is False)
Value | Meaning
True | The Y-coordinate of the center of the circle that is the best fit is selected for calculation.
False | The Y-coordinate of the center of the circle that is the best fit is not selected for calculation.
Remark
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).CircleFitCenterY property.


EdgeFinder.FeatureList.CircleFit.Coverage Property

Coverage property

See Also | Availability | MIL Equivalent | CenterY | Error
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.CircleFitCoverage
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_CIRCLE_FIT_COVERAGE
)

MedgeInquire(
InquireType =
M_CIRCLE_FIT_COVERAGE
)
EdgeFinder
FeatureList
CircleFit
Coverage
Synopsis
Returns or sets whether the coverage of the circle that is the best fit for each edge is selected for calculation.
[]
Syntax
[Boolean =] object.Coverage
[]
Syntax
[VARIANT_BOOL =] object->Coverage
Type description
A boolean value that specifies whether the coverage of the circle that is the best fit is selected for calculation. (default is False)
Value | Meaning
True | The coverage of the circle that is the best fit is selected for calculation.
False | The coverage of the circle that is the best fit is not selected for calculation.
Remarks
  • The coverage describes the portion of the circle covered by the edge. The value returned is between 0.0 and 1.0, inclusive, where 0 equals no coverage, 0.5 equals 50 percent coverage, and 1.0 equals 100 percent coverage.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).CircleFitCoverage property.


EdgeFinder.FeatureList.CircleFit.Error Property

Error property

See Also | Availability | MIL Equivalent | Coverage | Radius
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.CircleFitError
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_CIRCLE_FIT_ERROR
)

MedgeInquire(
InquireType =
M_CIRCLE_FIT_ERROR
)
EdgeFinder
FeatureList
CircleFit
Error
Synopsis
Returns or sets whether the fit error of the circle that is the best fit for each edge is selected for calculation.
[]
Syntax
[Boolean =] object.Error
[]
Syntax
[VARIANT_BOOL =] object->Error
Type description
A boolean value that specifies whether the fit error of the circle that is the best fit is selected for calculation. (default is False)
Value | Meaning
True | The fit error of the circle that is the best fit is selected for calculation.
False | The fit error of the circle that is the best fit is not selected for calculation.
Remarks
  • The fit error is calculated as the average quadratic error.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).CircleFitError property.


EdgeFinder.FeatureList.CircleFit.Radius Property

Radius property

See Also | Availability | MIL Equivalent | Error | DeselectAll
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.CircleFitRadius
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_CIRCLE_FIT_RADIUS
)

MedgeInquire(
InquireType =
M_CIRCLE_FIT_RADIUS
)
EdgeFinder
FeatureList
CircleFit
Radius
Synopsis
Returns or sets whether the radius of the circle that is the best fit for each edge is selected for calculation.
[]
Syntax
[Boolean =] object.Radius
[]
Syntax
[VARIANT_BOOL =] object->Radius
Type description
A boolean value that specifies whether the radius of the circle that is the best fit is selected for calculation. (default is False)
Value | Meaning
True | The radius of the circle that is the best fit is selected for calculation.
False | The radius of the circle that is the best fit is not selected for calculation.
Remark
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).CircleFitRadius property.


EdgeFinder.FeatureList.CircleFit.DeselectAll Method

DeselectAll method

Availability | MIL Equivalent | Radius | SelectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_CIRCLE_FIT
ControlValue =
M_DISABLE
)
EdgeFinder
FeatureList
CircleFit
DeselectAll
Synopsis
Deselects all the features in the circle feature list.
[]
Syntax
object.DeselectAll()
[]
Syntax
void object->DeselectAll()
Remark
  • This method sets each feature in the circle feature list to False.


EdgeFinder.FeatureList.CircleFit.SelectAll Method

SelectAll method

Availability | MIL Equivalent | DeselectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_CIRCLE_FIT
ControlValue =
M_ENABLE
)
EdgeFinder
FeatureList
CircleFit
SelectAll
Synopsis
Selects all the features in the circle feature list.
[]
Syntax
object.SelectAll()
[]
Syntax
void object->SelectAll()
Remark
  • This method sets each feature in the circle feature list to True.


EdgeFinder.FeatureList.Closure Property

Closure property

See Also | Availability | MIL Equivalent | CircleFit | ContactPoints
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.Closure
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_CLOSURE
)

MedgeInquire(
InquireType =
M_CLOSURE
)
EdgeFinder
FeatureList
Closure
Synopsis
Returns or sets whether the closure feature of each edge is selected for calculation.
[]
Syntax
object.Closure [= Boolean]
[]
Syntax
object->Closure [= VARIANT_BOOL]
Type description
A boolean value that specifies whether each edge's closure feature is selected for calculation. (default is False)
Value | Meaning
True | The closure feature of each edge is selected for calculation.
False | The closure feature of each edge is not selected for calculation.
Remark
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).Closure property.


EdgeFinder.FeatureList.ContactPoints Property

ContactPoints property

See Also | Availability | MIL Equivalent | Closure | ConvexPerimeter
Reference:
EdgeFinder.Calculate
EdgeFinder.FeatureList.ContactPoints.DeselectAll
EdgeFinder.FeatureList.ContactPoints.SelectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_CONTACT_POINTS or
M_X_MIN_AT_Y_MIN or
M_X_MAX_AT_Y_MAX or
M_Y_MIN_AT_X_MAX or
M_Y_MAX_AT_X_MIN
)

MedgeInquire(
InquireType =
M_X_MIN_AT_Y_MIN or
M_X_MAX_AT_Y_MAX or
M_Y_MIN_AT_X_MAX or
M_Y_MAX_AT_X_MIN
)
EdgeFinder
FeatureList
ContactPoints
Properties: XMaximumAtYMaximum, XMinimumAtYMinimum, YMaximumAtXMinimum, YMinimumAtXMaximum

Methods: DeselectAll, SelectAll
Synopsis
Allows you to specify or determine which contact point feature(s) are selected for calculation.
[]
Syntax
[EdgeFeatureContactPoints =] object.ContactPoints
[]
Syntax
[IEdgeFeatureContactPointsPtr =] object->ContactPoints
Type description
An EdgeFeatureContactPoints object.
Remarks
  • You cannot assign another FeatureContactPoints object to this property.
  • All the contact point features can be selected at once by calling the SelectAll method.
  • All the contact point features can be deselected at once by calling the DeselectAll method.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).ContactPoint... properties.


EdgeFinder.FeatureList.ContactPoints.XMaximumAtYMaximum Property

XMaximumAtYMaximum property

See Also | Availability | MIL Equivalent | XMinimumAtYMinimum
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.ContactPointXMaximumAtYMaximum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_X_MAX_AT_Y_MAX
)

MedgeInquire(
InquireType =
M_X_MAX_AT_Y_MAX
)
EdgeFinder
FeatureList
ContactPoints
XMaximumAtYMaximum
Synopsis
Returns or sets whether each edge's X-maximum at Y-maximum contact point feature is selected for calculation.
[]
Syntax
object.XMaximumAtYMaximum [= Boolean]
[]
Syntax
object->XMaximumAtYMaximum [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the X-maximum at Y-maximum contact point feature of each edge is selected for calculation. (default is False)
Value | Meaning
True | Each edge's X-maximum at Y-maximum contact point feature is selected for calculation.
False | Each edge's X-maximum at Y-maximum contact point feature is not selected for calculation.
Remarks
  • The four contact points, together with the four box coordinates, give four points on the convex perimeter of the edge.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).ContactPointXMaximumAtYMaximum property.


EdgeFinder.FeatureList.ContactPoints.XMinimumAtYMinimum Property

XMinimumAtYMinimum property

See Also | Availability | MIL Equivalent | XMaximumAtYMaximum | YMaximumAtXMinimum
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.ContactPointXMinimumAtYMinimum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_X_MIN_AT_Y_MIN
)

MedgeInquire(
InquireType =
M_X_MIN_AT_Y_MIN
)
EdgeFinder
FeatureList
ContactPoints
XMinimumAtYMinimum
Synopsis
Returns or sets whether each edge's X-minimum at Y-minimum contact point feature is selected for calculation.
[]
Syntax
object.XMinimumAtYMinimum [= Boolean]
[]
Syntax
object->XMinimumAtYMinimum [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the X-minimum at Y-minimum contact point feature of each edge is selected for calculation. (default is False)
Value | Meaning
True | Each edge's X-minimum at Y-minimum contact point feature is selected for calculation.
False | Each edge's X-minimum at Y-minimum contact point feature is not selected for calculation.
Remarks
  • The four contact points, together with the four box coordinates, give four points on the convex perimeter of the edge.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).ContactPointXMinimumAtYMinimum property.


EdgeFinder.FeatureList.ContactPoints.YMaximumAtXMinimum Property

YMaximumAtXMinimum property

See Also | Availability | MIL Equivalent | XMinimumAtYMinimum | YMinimumAtXMaximum
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.ContactPointYMaximumAtXMinimum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_Y_MAX_AT_X_MIN
)

MedgeInquire(
InquireType =
M_Y_MAX_AT_X_MIN
)
EdgeFinder
FeatureList
ContactPoints
YMaximumAtXMinimum
Synopsis
Returns or sets whether each edge's Y-maximum at X-minimum contact point feature is selected for calculation.
[]
Syntax
object.YMaximumAtXMinimum [= Boolean]
[]
Syntax
object->YMaximumAtXMinimum [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the Y-maximum at X-minimum contact point feature of each edge is selected for calculation. (default is False)
Value | Meaning
True | Each edge's Y-maximum at X-minimum contact point feature is selected for calculation.
False | Each edge's Y-maximum at X-minimum contact point feature is not selected for calculation.
Remarks
  • The four contact points, together with the four box coordinates, give four points on the convex perimeter of the edge.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).ContactPointYMaximumAtXMinimum property.


EdgeFinder.FeatureList.ContactPoints.YMinimumAtXMaximum Property

YMinimumAtXMaximum property

See Also | Availability | MIL Equivalent | YMaximumAtXMinimum | DeselectAll
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.ContactPointYMinimumAtXMaximum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_Y_MIN_AT_X_MAX
)

MedgeInquire(
InquireType =
M_Y_MIN_AT_X_MAX
)
EdgeFinder
FeatureList
ContactPoints
YMinimumAtXMaximum
Synopsis
Returns or sets whether each edge's Y-minimum at X-maximum contact point feature is selected for calculation.
[]
Syntax
object.YMinimumAtXMaximum [= Boolean]
[]
Syntax
object->YMinimumAtXMaximum [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the Y-minimum at X-maximum contact point feature of each edge is selected for calculation. (default is False)
Value | Meaning
True | Each edge's Y-minimum at X-maximum contact point feature is selected for calculation.
False | Each edge's Y-minimum at X-maximum contact point feature is not selected for calculation.
Remarks
  • The four contact points, together with the four box coordinates, give four points on the convex perimeter of the edge.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).ContactPointYMinimumAtXMaximum property.


EdgeFinder.FeatureList.ContactPoints.DeselectAll Method

DeselectAll method

Availability | MIL Equivalent | YMinimumAtXMaximum | SelectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_CONTACT_POINTS
ControlValue =
M_DISABLE
)
EdgeFinder
FeatureList
ContactPoints
DeselectAll
Synopsis
Deselects all the features in the contact points feature list.
[]
Syntax
object.DeselectAll()
[]
Syntax
void object->DeselectAll()
Remark
  • This method sets each feature in the contact points feature list to False.


EdgeFinder.FeatureList.ContactPoints.SelectAll Method

SelectAll method

Availability | MIL Equivalent | DeselectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_CONTACT_POINTS
ControlValue =
M_ENABLE
)
EdgeFinder
FeatureList
ContactPoints
SelectAll
Synopsis
Selects all the features in the contact points feature list.
[]
Syntax
object.SelectAll()
[]
Syntax
void object->SelectAll()
Remark
  • This method sets each feature in the contact points feature list to True.


EdgeFinder.FeatureList.ConvexPerimeter Property

ConvexPerimeter property

See Also | Availability | MIL Equivalent | ContactPoints | EdgelAngle
Reference:
EdgeFinder.Calculate
EdgeFinder.NumberOfFeretAngles
EdgeFinder.Results.Item.ConvexPerimeter
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_CONVEX_PERIMETER
)

MedgeInquire(
InquireType =
M_CONVEX_PERIMETER
)
EdgeFinder
FeatureList
ConvexPerimeter
Synopsis
Returns or sets whether the convex elongation feature of each edge is selected for calculation.
[]
Syntax
object.ConvexPerimeter [= Boolean]
[]
Syntax
object->ConvexPerimeter [= VARIANT_BOOL]
Type description
A boolean value that specifies whether each edge's convex elongation feature is selected for calculation. (default is False)
Value | Meaning
True | The convex elongation feature of each edge is selected for calculation.
False | The convex elongation feature of each edge is not selected for calculation.
Remarks
  • The convex elongation is an approximation of the perimeter of the convex hull of an edge. It is derived from several Feret diameters; therefore, a larger number of Ferets gives a more accurate result. To set the number of Ferets, use the NumberOfFeretAngles property.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).ConvexPerimeter property.


EdgeFinder.FeatureList.EdgelAngle Property

EdgelAngle property

See Also | Availability | MIL Equivalent | ConvexPerimeter | EdgelMagnitude
Reference:
EdgeFinder.ImageFeature.Angle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_SAVE_CHAIN_ANGLE
)

MedgeInquire(
InquireType =
M_SAVE_CHAIN_ANGLE
)
EdgeFinder
FeatureList
EdgelAngle
Synopsis
Returns or sets whether the angle value of the edge at each edgel position is saved.
[]
Syntax
object.EdgelAngle [= Boolean]
[]
Syntax
object->EdgelAngle [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the edge's angle value at each edgel position is saved. (default is False)
Value | Meaning
True | The edge's angle value at each edgel position is saved.
False | The edge's angle value at each edgel position is not saved.
Remark
  • This property can be post-calculated only if Angle has also been set to True.


EdgeFinder.FeatureList.EdgelMagnitude Property

EdgelMagnitude property

See Also | Availability | MIL Equivalent | EdgelAngle | EllipseFit
Reference:
EdgeFinder.ImageFeature.Magnitude
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_SAVE_CHAIN_MAGNITUDE
)

MedgeInquire(
InquireType =
M_SAVE_CHAIN_MAGNITUDE
)
EdgeFinder
FeatureList
EdgelMagnitude
Synopsis
Returns or sets whether the magnitude value of the edge at each edgel position is saved.
[]
Syntax
object.EdgelMagnitude [= Boolean]
[]
Syntax
object->EdgelMagnitude [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the magnitude value at each edgel position is saved. (default is False)
Value | Meaning
True | The edge's magnitude value at each edgel position is saved.
False | The edge's magnitude value at each edgel position is not saved.
Remark
  • This property can be post-calculated only if Magnitude has also been set to True.


EdgeFinder.FeatureList.EllipseFit Property

EllipseFit property

See Also | Availability | MIL Equivalent | EdgelMagnitude | FastLength
Reference:
EdgeFinder.Calculate
EdgeFinder.FeatureList.EllipseFit.DeselectAll
EdgeFinder.FeatureList.EllipseFit.SelectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_BOX or
M_ELLIPSE_FIT_ANGLE or
M_ELLIPSE_FIT_CENTER_X or
M_ELLIPSE_FIT_CENTER_Y or
M_ELLIPSE_FIT_COVERAGE or
M_ELLIPSE_FIT_ERROR or
M_ELLIPSE_FIT_MAJOR_AXIS or
M_ELLIPSE_FIT_MINOR_AXIS
)

MedgeInquire(
InquireType =
M_ELLIPSE_FIT_ANGLE or
M_ELLIPSE_FIT_CENTER_X or
M_ELLIPSE_FIT_CENTER_Y or
M_ELLIPSE_FIT_COVERAGE or
M_ELLIPSE_FIT_ERROR or
M_ELLIPSE_FIT_MAJOR_AXIS or
M_ELLIPSE_FIT_MINOR_AXIS
)
EdgeFinder
FeatureList
EllipseFit
Properties: Angle, CenterX, CenterY, Coverage, Error, MajorAxis, MinorAxis

Methods: DeselectAll, SelectAll
Synopsis
Allows you to specify or determine which ellipse fit feature(s) are selected for calculation.
[]
Syntax
[EdgeFeatureEllipse =] object.EllipseFit
[]
Syntax
[IEdgeFeatureEllipsePtr =] object->EllipseFit
Type description
An EdgeFeatureEllipse object.
Remarks
  • You cannot assign another FeatureBox object to this property.
  • All the box features can be selected at once by calling the SelectAll method.
  • All the box features can be deselected at once by calling the DeselectAll method.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).Ellipse... properties.


EdgeFinder.FeatureList.EllipseFit.Angle Property

Angle property

See Also | Availability | MIL Equivalent | CenterX
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.EllipseFitAngle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_ELLIPSE_FIT_ANGLE
)

MedgeInquire(
InquireType =
M_ELLIPSE_FIT_ANGLE
)
EdgeFinder
FeatureList
EllipseFit
Angle
Synopsis
Returns or sets whether the angle of the ellipse that is the best fit for each edge is calculated.
[]
Syntax
[Boolean =] object.Angle
[]
Syntax
[VARIANT_BOOL =] object->Angle
Type description
A boolean value that specifies whether the angle of the ellipse that is the best fit for each edge is calculated. (default is False)
Value | Meaning
True | The ellipse fit angle will be calculated.
False | The ellipse fit angle will not be calculated.
Remark
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).EllipseFitAngle property.


EdgeFinder.FeatureList.EllipseFit.CenterX Property

CenterX property

See Also | Availability | MIL Equivalent | Angle | CenterY
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.EllipseFitCenterX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_ELLIPSE_FIT_CENTER_X
)

MedgeInquire(
InquireType =
M_ELLIPSE_FIT_CENTER_X
)
EdgeFinder
FeatureList
EllipseFit
CenterX
Synopsis
Returns or sets whether the X-coordinate of the ellipse of the circle that is the best fit for each edge is selected for calculation.
[]
Syntax
[Boolean =] object.CenterX
[]
Syntax
[VARIANT_BOOL =] object->CenterX
Type description
A boolean value that specifies whether the X-coordinate of the center of the ellipse that is the best fit is selected for calculation. (default is False)
Value | Meaning
True | The X-coordinate of the center of the ellipse that is the best fit is selected for calculation.
False | The X-coordinate of the center of the ellipse that is the best fit is not selected for calculation.
Remark
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).EllipseFitCenterX property.


EdgeFinder.FeatureList.EllipseFit.CenterY Property

CenterY property

See Also | Availability | MIL Equivalent | CenterX | Coverage
Reference:
EdgeFinder.Calculate
EdgeFinder.FeatureList.EllipseFit.CenterX
EdgeFinder.Results.Item.EllipseFitCenterY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_ELLIPSE_FIT_CENTER_Y
)

MedgeInquire(
InquireType =
M_ELLIPSE_FIT_CENTER_Y
)
EdgeFinder
FeatureList
EllipseFit
CenterY
Synopsis
Returns or sets whether the Y-coordinate of the center of the ellipse that is the best fit for each edge is selected for calculation.
[]
Syntax
[Boolean =] object.CenterY
[]
Syntax
[VARIANT_BOOL =] object->CenterY
Type description
A boolean value that specifies whether the Y-coordinate of the ellipse of the circle that is the best fit is selected for calculation. (default is False)
Value | Meaning
True | The Y-coordinate of the center of the ellipse that is the best fit is selected for calculation.
False | The Y-coordinate of the center of the ellipse that is the best fit is not selected for calculation.
Remark
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).EllipseFitCenterY property.


EdgeFinder.FeatureList.EllipseFit.Coverage Property

Coverage property

See Also | Availability | MIL Equivalent | CenterY | Error
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.EllipseFitCoverage
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_ELLIPSE_FIT_COVERAGE
)

MedgeInquire(
InquireType =
M_ELLIPSE_FIT_COVERAGE
)
EdgeFinder
FeatureList
EllipseFit
Coverage
Synopsis
Returns or sets whether the coverage of the ellipse that is the best fit for each edge is selected for calculation.
[]
Syntax
[Boolean =] object.Coverage
[]
Syntax
[VARIANT_BOOL =] object->Coverage
Type description
A boolean value that specifies whether the coverage of the ellipse that is the best fit is selected for calculation. (default is False)
Value | Meaning
True | The coverage of the ellipse that is the best fit is selected for calculation.
False | The coverage of the ellipse that is the best fit is not selected for calculation.
Remarks
  • The coverage describes the portion of the ellipse covered by the edge. The value returned is between 0.0 and 1.0, inclusive, where 0 equals no coverage, 0.5 equals 50 percent coverage, and 1.0 equals 100 percent coverage.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).EllipseFitCoverage property.


EdgeFinder.FeatureList.EllipseFit.Error Property

Error property

See Also | Availability | MIL Equivalent | Coverage | MajorAxis
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.EllipseFitError
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_ELLIPSE_FIT_ERROR
)

MedgeInquire(
InquireType =
M_ELLIPSE_FIT_ERROR
)
EdgeFinder
FeatureList
EllipseFit
Error
Synopsis
Returns or sets whether the fit error of the ellipse that is the best fit for each edge is selected for calculation.
[]
Syntax
[Boolean =] object.Error
[]
Syntax
[VARIANT_BOOL =] object->Error
Type description
A boolean value that specifies whether the fit error of the ellipse that is the best fit is selected for calculation. (default is False)
Value | Meaning
True | The fit error of the ellipse that is the best fit is selected for calculation.
False | The fit error of the ellipse that is the best fit is not selected for calculation.
Remarks
  • The fit error is calculated as the average quadratic error.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).EllipseFitError property.


EdgeFinder.FeatureList.EllipseFit.MajorAxis Property

MajorAxis property

See Also | Availability | MIL Equivalent | Error | MinorAxis
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.EllipseFitMajorAxis
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_ELLIPSE_FIT_MAJOR_AXIS
)

MedgeInquire(
InquireType =
M_ELLIPSE_FIT_MAJOR_AXIS
)
EdgeFinder
FeatureList
EllipseFit
MajorAxis
Synopsis
Returns or sets whether the major axis of the ellipse that is the best fit for each edge is calculated.
[]
Syntax
[Boolean =] object.MajorAxis
[]
Syntax
[VARIANT_BOOL =] object->MajorAxis
Type description
A boolean value that specifies whether the major axis of the ellipse that is the best fit for each edge is calculated. (default is False)
Value | Meaning
True | The ellipse fit major axis will be calculated.
False | The ellipse fit major axis will not be calculated.
Remark
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).EllipseFitMajorAxis property.


EdgeFinder.FeatureList.EllipseFit.MinorAxis Property

MinorAxis property

See Also | Availability | MIL Equivalent | MajorAxis | DeselectAll
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.EllipseFitMinorAxis
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_ELLIPSE_FIT_MINOR_AXIS
)

MedgeInquire(
InquireType =
M_ELLIPSE_FIT_MINOR_AXIS
)
EdgeFinder
FeatureList
EllipseFit
MinorAxis
Synopsis
Returns or sets whether the minor axis of the ellipse that is the best fit for each edge is calculated.
[]
Syntax
[Boolean =] object.MinorAxis
[]
Syntax
[VARIANT_BOOL =] object->MinorAxis
Type description
A boolean value that specifies whether the minor axis of the ellipse that is the best fit for each edge is calculated. (default is False)
Value | Meaning
True | The ellipse fit minor axis will be calculated.
False | The ellipse fit minor axis will not be calculated.
Remark
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).EllipseFitMinorAxis property.


EdgeFinder.FeatureList.EllipseFit.DeselectAll Method

DeselectAll method

Availability | MIL Equivalent | MinorAxis | SelectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_ELLIPSE_FIT
ControlValue =
M_DISABLE
)
EdgeFinder
FeatureList
EllipseFit
DeselectAll
Synopsis
Deselects all the features in the box feature list.
[]
Syntax
object.DeselectAll()
[]
Syntax
void object->DeselectAll()
Remark
  • This method sets each feature in the ellipse feature list to False.


EdgeFinder.FeatureList.EllipseFit.SelectAll Method

SelectAll method

Availability | MIL Equivalent | DeselectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_ELLIPSE_FIT
ControlValue =
M_ENABLE
)
EdgeFinder
FeatureList
EllipseFit
SelectAll
Synopsis
Selects all the features in the box feature list.
[]
Syntax
object.SelectAll()
[]
Syntax
void object->SelectAll()
Remark
  • This method sets each feature in the ellipse feature list to True.


EdgeFinder.FeatureList.FastLength Property

FastLength property

See Also | Availability | MIL Equivalent | EllipseFit | FeretElongation
Reference:
EdgeFinder.Calculate
EdgeFinder.FeatureList.Length
EdgeFinder.Results.Item.FastLength
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_FAST_LENGTH
)

MedgeInquire(
InquireType =
M_FAST_LENGTH
)
EdgeFinder
FeatureList
FastLength
Synopsis
Returns or sets whether the length feature of each edge is selected for fast calculation.
[]
Syntax
object.FastLength [= Boolean]
[]
Syntax
object->FastLength [= VARIANT_BOOL]
Type description
A boolean value that specifies whether each edge's length feature is selected for fast calculation. (default is False)
Value | Meaning
True | The length feature of each edge is selected for fast calculation.
False | The length feature of each edge is not selected for fast calculation.
Remarks
  • This property gives a coarser but faster approximation of the edge's length than can be calculated with the FeatureList.Length property.
  • The fast length calculation is equal to:
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).FastLength property.


EdgeFinder.FeatureList.FeretElongation Property

FeretElongation property

See Also | Availability | MIL Equivalent | FastLength | FirstPoint
Reference:
EdgeFinder.Calculate
EdgeFinder.FeatureList.MaximumFeretDiameter
EdgeFinder.FeatureList.MinimumFeretDiameter
EdgeFinder.Results.Item.FeretElongation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_FERET_ELONGATION
)

MedgeInquire(
InquireType =
M_FERET_ELONGATION
)
EdgeFinder
FeatureList
FeretElongation
Synopsis
Returns or sets whether the Feret elongation feature of each edge is selected for calculation.
[]
Syntax
object.FeretElongation [= Boolean]
[]
Syntax
object->FeretElongation [= VARIANT_BOOL]
Type description
A boolean value that specifies whether each edge's Feret elongation feature is selected for calculation. (default is False)
Value | Meaning
True | The Feret elongation feature of each edge is selected for calculation.
False | The Feret elongation feature of each edge is not selected for calculation.
Remarks
  • The Feret elongation is a measure of the shape of each edge. It is equal to FeatureList.MaximumFeretDiameter / FeatureList.MinimumFeretDiameter. It is accurate for reasonably compact objects, but becomes less accurate for very elongated objects (because FeatureList.MinimumFeretDiameter becomes less accurate).
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).FeretElongation property.


EdgeFinder.FeatureList.FirstPoint Property

FirstPoint property

See Also | Availability | MIL Equivalent | FeretElongation | GeneralFeret
Reference:
EdgeFinder.Calculate
EdgeFinder.FeatureList.FirstPoint.DeselectAll
EdgeFinder.FeatureList.FirstPoint.SelectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_FIRST_POINT or
M_FIRST_POINT_X or
M_FIRST_POINT_Y
ControlType =
M_FIRST_POINT_X or
M_FIRST_POINT_Y
)
EdgeFinder
FeatureList
FirstPoint
Properties: X, Y

Methods: DeselectAll, SelectAll
Synopsis
Allows you to specify or determine which first point feature(s) are selected for calculation.
[]
Syntax
[EdgeFeatureFirstPoint =] object.FirstPoint
[]
Syntax
[IEdgeFeatureFirstPointPtr =] object->FirstPoint
Type description
An EdgeFeatureFirstPoint object.
Remarks
  • You cannot assign another FeatureFirstPoint object to this property.
  • All the first point features can be selected at once by calling the SelectAll method.
  • All the first point features can be deselected at once by calling the DeselectAll method.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).FirstPoint... properties.


EdgeFinder.FeatureList.FirstPoint.X Property

X property

See Also | Availability | MIL Equivalent | Y
Reference:
EdgeFinder.Calculate
EdgeFinder.FeatureList.FirstPoint.Y
EdgeFinder.Results.Item.FirstPointX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_FIRST_POINT_X
)

MedgeInquire(
InquireType =
M_FIRST_POINT_X
)
EdgeFinder
FeatureList
FirstPoint
X
Synopsis
Returns or sets whether the X-coordinate feature of each edge's first point is selected for calculation.
[]
Syntax
object.X [= Boolean]
[]
Syntax
object->X [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the X-coordinate feature of the first point of each edge is selected for calculation. (default is False)
Value | Meaning
True | The X-coordinate feature of each edge's first point is selected for calculation.
False | The X-coordinate feature of each edge's first point is not selected for calculation.
Remarks
  • Together with FeatureList.FirstPoint.Y, these values define a unique point for each edge, which is always the first point of each edge chain.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).FirstPointX property.


EdgeFinder.FeatureList.FirstPoint.Y Property

Y property

See Also | Availability | MIL Equivalent | X | DeselectAll
Reference:
EdgeFinder.Calculate
EdgeFinder.FeatureList.FirstPoint.X
EdgeFinder.Results.Item.FirstPointY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_FIRST_POINT_Y
)

MedgeInquire(
InquireType =
M_FIRST_POINT_Y
)
EdgeFinder
FeatureList
FirstPoint
Y
Synopsis
Returns or sets whether the Y-coordinate feature of each edge's first point is selected for calculation.
[]
Syntax
object.Y [= Boolean]
[]
Syntax
object->Y [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the Y-coordinate feature of the first point of each edge is selected for calculation. (default is False)
Value | Meaning
True | The Y-coordinate feature of each edge's first point is selected for calculation.
False | The Y-coordinate feature of each edge's first point is not selected for calculation.
Remarks
  • Together with FeatureList.FirstPoint.X, these values define a unique point for each edge, which is always the first point of each edge chain.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).FirstPointY property.


EdgeFinder.FeatureList.FirstPoint.DeselectAll Method

DeselectAll method

Availability | MIL Equivalent | Y | SelectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_FIRST_POINT
ControlValue =
M_DISABLE
)
EdgeFinder
FeatureList
FirstPoint
DeselectAll
Synopsis
Deselects all the features in the first point feature list.
[]
Syntax
object.DeselectAll()
[]
Syntax
void object->DeselectAll()
Remark
  • This method sets each feature in the first point feature list to False.


EdgeFinder.FeatureList.FirstPoint.SelectAll Method

SelectAll method

Availability | MIL Equivalent | DeselectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_FIRST_POINT
ControlValue =
M_ENABLE
)
EdgeFinder
FeatureList
FirstPoint
SelectAll
Synopsis
Selects all the features in the first point feature list.
[]
Syntax
object.SelectAll()
[]
Syntax
void object->SelectAll()
Remark
  • This method sets each feature in the first point feature list to True.


EdgeFinder.FeatureList.GeneralFeret Property

GeneralFeret property

See Also | Availability | MIL Equivalent | FirstPoint | LabelValue
Reference:
EdgeFinder.Calculate
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_GENERAL_FERET or
M_GENERAL_FERET_ANGLE
)

MedgeInquire(
InquireType =
M_GENERAL_FERET or
M_GENERAL_FERET_ANGLE
)
EdgeFinder
FeatureList
GeneralFeret
Properties: Angle, Enabled, RelativeToMomentElongationAngle
Synopsis
Allows you to specify or determine which general Feret feature(s) are selected for calculation.
[]
Syntax
[EdgeFeatureGeneralFeret =] object.GeneralFeret
[]
Syntax
[IEdgeFeatureGeneralFeretPtr =] object->GeneralFeret
Type description
An EdgeFeatureGeneralFeret object.
Remarks
  • You cannot assign another FeatureGeneralFeret object to this property.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).GeneralFeret... properties.


EdgeFinder.FeatureList.GeneralFeret.Angle Property

Angle property

See Also | Availability | MIL Equivalent | Enabled
Reference:
EdgeFinder.FeatureList.GeneralFeret.Enabled
EdgeFinder.Results.Item.GeneralFeret
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_GENERAL_FERET_ANGLE
)

MedgeInquire(
InquireType =
M_GENERAL_FERET_ANGLE
)
EdgeFinder
FeatureList
GeneralFeret
Angle
Synopsis
Returns or sets the angle at which to calculate the Feret.
[]
Syntax
object.Angle [= Double]
[]
Syntax
object->Angle [= double]
Type description
A double value that specifies the angle at which to calculate the Feret, in degrees. The default value is 0.0.
Remarks
  • To calculate the Feret, GeneralFeret.Enabled must be set to True.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).GeneralFeret property.


EdgeFinder.FeatureList.GeneralFeret.Enabled Property

Enabled property

See Also | Availability | MIL Equivalent | Angle | RelativeToMomentElongationAngle
Reference:
EdgeFinder.FeatureList.GeneralFeret.Angle
EdgeFinder.Results.Item.GeneralFeret
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_GENERAL_FERET
)

MedgeInquire(
InquireType =
M_GENERAL_FERET
)
EdgeFinder
FeatureList
GeneralFeret
Enabled
Synopsis
Returns or sets whether the general Feret feature is selected for calculation.
[]
Syntax
object.Enabled [= Boolean]
[]
Syntax
object->Enabled [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the general Feret feature is selected for calculation. (default is False)
Value | Meaning
True | The general Feret feature is selected for calculation.
False | The general Feret feature is not selected for calculation.
Remarks
  • To set the angle at which to calculate the Feret, use the FeatureList.GeneralFeret.Angle property.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).GeneralFeret property.


EdgeFinder.FeatureList.GeneralFeret.RelativeToMomentElongationAngle Property

RelativeToMomentElongationAngle property

See Also | Availability | MIL Equivalent | Enabled
Reference:
EdgeFinder.FeatureList.GeneralFeret.Angle
EdgeFinder.Results.Item.GeneralFeret
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_MOMENT_ELONGATION_ANGLE
)

MedgeInquire(
InquireType =
M_MOMENT_ELONGATION_ANGLE
)
EdgeFinder
FeatureList
GeneralFeret
RelativeToMomentElongationAngle
Synopsis
Returns or sets whether to calculate the moment elongation of each edge.
[]
Syntax
object.RelativeToMomentElongationAngle [= Boolean]
[]
Syntax
object->RelativeToMomentElongationAngle [= VARIANT_BOOL]
Type description
A boolean value that specifies whether to calculate the moment elongation of each edge. (default is False)
Value | Meaning
True | The moment elongation will be calculated.
False | The moment elongation will not be calculated.
Remark
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).GeneralFeret property.


EdgeFinder.FeatureList.LabelValue Property

LabelValue property

See Also | Availability | MIL Equivalent | GeneralFeret | Length
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.LabelValue
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_LABEL_VALUE
)

MedgeInquire(
ControlType =
M_LABEL_VALUE
)
EdgeFinder
FeatureList
LabelValue
Synopsis
Returns or sets whether the label value feature of each edge is selected for calculation.
[]
Syntax
object.LabelValue [= Boolean]
[]
Syntax
object->LabelValue [= VARIANT_BOOL]
Type description
A boolean value that specifies whether each edge's label value feature is selected for calculation. (default is True)
Value | Meaning
True | The label value feature of each edge is selected for calculation.
False | The label value feature of each edge is not selected for calculation.
Remarks
  • The label value is a positive integer greater or equal to one.
  • Each edge in an image has a unique label value.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).LabelValue property.


EdgeFinder.FeatureList.Length Property

Length property

See Also | Availability | MIL Equivalent | LabelValue | LineFit
Reference:
EdgeFinder.Calculate
EdgeFinder.FeatureList.FastLength
EdgeFinder.Results.Item.Length
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_LENGTH
)

MedgeInquire(
InquireType =
M_LENGTH
)
EdgeFinder
FeatureList
Length
Synopsis
Returns or sets whether the length feature of each edge is selected for calculation.
[]
Syntax
object.Length [= Boolean]
[]
Syntax
object->Length [= VARIANT_BOOL]
Type description
A boolean value that specifies whether each edge's length feature is selected for calculation. (default is False)
Value | Meaning
True | The length feature of each edge is selected for calculation.
False | The length feature of each edge is not selected for calculation.
Remarks
  • This property gives a more accurate but slower approximation of the edge's length than can be calculated with the FeatureList.FastLength property.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).Length property.


EdgeFinder.FeatureList.LineFit Property

LineFit property

See Also | Availability | MIL Equivalent | Length | MaximumFeretAngle
Reference:
EdgeFinder.Calculate
EdgeFinder.FeatureList.LineFit.DeselectAll
EdgeFinder.FeatureList.LineFit.SelectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_LINE_FIT_A or
M_LINE_FIT_B or
M_LINE_FIT_C or
M_LINE_FIT_ERROR
)

MedgeInquire(
InquireType =
M_LINE_FIT_A or
M_LINE_FIT_B or
M_LINE_FIT_C or
M_LINE_FIT_ERROR
)
EdgeFinder
FeatureList
LineFit
Properties: A, B, C, Error

Methods: DeselectAll, SelectAll
Synopsis
Allows you to specify or determine which line fit feature(s) are selected for calculation.
[]
Syntax
[EdgeFeatureLineFit =] object.LineFit
[]
Syntax
[IEdgeFeatureLineFitPtr =] object->LineFit
Type description
An EdgeFeatureLineFit object.
Remarks
  • You cannot assign another FeatureLineFit object to this property.
  • All the line fit features can be selected at once by calling the SelectAll method.
  • All the line fit features can be deselected at once by calling the DeselectAll method.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).LineFit... properties.


EdgeFinder.FeatureList.LineFit.A Property

A property

See Also | Availability | MIL Equivalent | B
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.LineFitA
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_LINE_FIT_A
)

MedgeInquire(
InquireType =
M_LINE_FIT_A
)
EdgeFinder
FeatureList
LineFit
A
Synopsis
Returns or sets whether the A variable feature of the line that is the best fit for each edge is selected for calculation.
[]
Syntax
[Boolean =] object.A
[]
Syntax
[VARIANT_BOOL =] object->A
Type description
A boolean value that specifies whether the A variable of the line that is the best fit is selected for calculation. (default is False)
Value | Meaning
True | The A variable of the line that is the best fit is selected for calculation.
False | The A variable of the line that is the best fit is not selected for calculation.
Remarks
  • The line fit approximation is based on the following equation: Ax + By + C = 0.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).LineFitA property.


EdgeFinder.FeatureList.LineFit.B Property

B property

See Also | Availability | MIL Equivalent | A | C
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.LineFitB
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_LINE_FIT_B
)

MedgeInquire(
InquireType =
M_LINE_FIT_B
)
EdgeFinder
FeatureList
LineFit
B
Synopsis
Returns or sets whether the B variable feature of the line that is the best fit for each edge is selected for calculation.
[]
Syntax
[Boolean =] object.B
[]
Syntax
[VARIANT_BOOL =] object->B
Type description
A boolean value that specifies whether the B variable of the line that is the best fit is selected for calculation. (default is False)
Value | Meaning
True | The B variable of the line that is the best fit is selected for calculation.
False | The B variable of the line that is the best fit is not selected for calculation.
Remarks
  • The line fit approximation is based on the following equation: Ax + By + C = 0.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).LineFitB property.


EdgeFinder.FeatureList.LineFit.C Property

C property

See Also | Availability | MIL Equivalent | B | Error
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.LineFitC
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_LINE_FIT_C
)

MedgeInquire(
InquireType =
M_LINE_FIT_C
)
EdgeFinder
FeatureList
LineFit
C
Synopsis
Returns or sets whether the C variable feature of the line that is the best fit for each edge is selected for calculation.
[]
Syntax
[Boolean =] object.C
[]
Syntax
[VARIANT_BOOL =] object->C
Type description
A boolean value that specifies whether the C variable of the line that is the best fit is selected for calculation. (default is False)
Value | Meaning
True | The C variable of the line that is the best fit is selected for calculation.
False | The C variable of the line that is the best fit is not selected for calculation.
Remarks
  • The line fit approximation is based on the following equation: Ax + By + C = 0.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).LineFitC property.


EdgeFinder.FeatureList.LineFit.Error Property

Error property

See Also | Availability | MIL Equivalent | C | DeselectAll
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.LineFitError
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_LINE_FIT_ERROR
)

MedgeInquire(
InquireType =
M_LINE_FIT_ERROR
)
EdgeFinder
FeatureList
LineFit
Error
Synopsis
Returns or sets whether the fit error feature of the line that is the best fit for each edge is selected for calculation.
[]
Syntax
[Boolean =] object.Error
[]
Syntax
[VARIANT_BOOL =] object->Error
Type description
A boolean value that specifies whether the fit error of the line that is the best fit is selected for calculation. (default is False)
Value | Meaning
True | The fit error of the line that is the best fit is selected for calculation.
False | The fit error of the line that is the best fit is not selected for calculation.
Remarks
  • The fit error is calculated as the average quadratic error.
  • The line fit approximation is based on the following equation: Ax + By + C = 0.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).LineFitError property.


EdgeFinder.FeatureList.LineFit.DeselectAll Method

DeselectAll method

Availability | MIL Equivalent | Error | SelectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_LINE_FIT
ControlValue =
M_DISABLE
)
EdgeFinder
FeatureList
LineFit
DeselectAll
Synopsis
Deselects all the features in the line fit feature list.
[]
Syntax
object.DeselectAll()
[]
Syntax
void object->DeselectAll()
Remark
  • This method sets each feature in the line fit feature list to False.


EdgeFinder.FeatureList.LineFit.SelectAll Method

SelectAll method

Availability | MIL Equivalent | DeselectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_LINE_FIT
ControlValue =
M_ENABLE
)
EdgeFinder
FeatureList
LineFit
SelectAll
Synopsis
Selects all the features in the line fit feature list.
[]
Syntax
object.SelectAll()
[]
Syntax
void object->SelectAll()
Remark
  • This method sets each feature in the line fit feature list to True.


EdgeFinder.FeatureList.MaximumFeretAngle Property

MaximumFeretAngle property

See Also | Availability | MIL Equivalent | LineFit | MaximumFeretDiameter
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.MaximumFeretAngle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_FERET_MAX_ANGLE
)

MedgeInquire(
InquireType =
M_FERET_MAX_ANGLE
)
EdgeFinder
FeatureList
MaximumFeretAngle
Synopsis
Returns or sets whether the maximum Feret angle feature of each edge is selected for calculation.
[]
Syntax
object.MaximumFeretAngle [= Boolean]
[]
Syntax
object->MaximumFeretAngle [= VARIANT_BOOL]
Type description
A boolean value that specifies whether each edge's maximum Feret angle feature is selected for calculation. (default is False)
Value | Meaning
True | The maximum Feret angle feature of each edge is selected for calculation.
False | The maximum Feret angle feature of each edge is not selected for calculation.
Remarks
  • The maximum Feret angle is the angle at which the maximum Feret diameter is found.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).MaximumFeretAngle property.


EdgeFinder.FeatureList.MaximumFeretDiameter Property

MaximumFeretDiameter property

See Also | Availability | MIL Equivalent | MaximumFeretAngle | MeanFeretDiameter
Reference:
EdgeFinder.Calculate
EdgeFinder.NumberOfFeretAngles
EdgeFinder.Results.Item.MaximumFeretDiameter
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_FERET_MAX_DIAMETER
)

MedgeInquire(
InquireType =
M_FERET_MAX_DIAMETER
)
EdgeFinder
FeatureList
MaximumFeretDiameter
Synopsis
Returns or sets whether the maximum Feret diameter feature of each edge is selected for calculation.
[]
Syntax
object.MaximumFeretDiameter [= Boolean]
[]
Syntax
object->MaximumFeretDiameter [= VARIANT_BOOL]
Type description
A boolean value that specifies whether each edge's maximum Feret diameter feature is selected for calculation. (default is False)
Value | Meaning
True | The maximum Feret diameter feature of each edge is selected for calculation.
False | The maximum Feret diameter feature of each edge is not selected for calculation.
Remarks
  • The maximum Feret diameter is the largest Feret diameter found after checking the number of angles specified with the NumberOfFeretAngles property. More angles will give a more accurate result, but will take longer to calculate.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).MaximumFeretDiameter property.


EdgeFinder.FeatureList.MeanFeretDiameter Property

MeanFeretDiameter property

See Also | Availability | MIL Equivalent | MaximumFeretDiameter | MinimumFeretAngle
Reference:
EdgeFinder.Calculate
EdgeFinder.NumberOfFeretAngles
EdgeFinder.Results.Item.MeanFeretDiameter
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_FERET_MEAN_DIAMETER
)

MedgeInquire(
InquireType =
M_FERET_MEAN_DIAMETER
)
EdgeFinder
FeatureList
MeanFeretDiameter
Synopsis
Returns or sets whether the mean Feret diameter feature of each edge is selected for calculation.
[]
Syntax
object.MeanFeretDiameter [= Boolean]
[]
Syntax
object->MeanFeretDiameter [= VARIANT_BOOL]
Type description
A boolean value that specifies whether each edge's mean Feret diameter feature is selected for calculation. (default is False)
Value | Meaning
True | The mean Feret diameter feature of each edge is selected for calculation.
False | The mean Feret diameter feature of each edge is not selected for calculation.
Remarks
  • The mean Feret diameter is the average Feret diameter of all the angles checked, which is set with the NumberOfFeretAngles property.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).MeanFeretDiameter property.


EdgeFinder.FeatureList.MinimumFeretAngle Property

MinimumFeretAngle property

See Also | Availability | MIL Equivalent | MeanFeretDiameter | MinimumFeretDiameter
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.MinimumFeretAngle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_FERET_MIN_ANGLE
)

MedgeInquire(
InquireType =
M_FERET_MIN_ANGLE
)
EdgeFinder
FeatureList
MinimumFeretAngle
Synopsis
Returns or sets whether the minimum Feret angle feature of each edge is selected for calculation.
[]
Syntax
object.MinimumFeretAngle [= Boolean]
[]
Syntax
object->MinimumFeretAngle [= VARIANT_BOOL]
Type description
A boolean value that specifies whether each edge's minimum Feret angle feature is selected for calculation. (default is False)
Value | Meaning
True | The minimum Feret angle feature of each edge is selected for calculation.
False | The minimum Feret angle feature of each edge is not selected for calculation.
Remarks
  • The minimum Feret angle is the angle at which the minimum Feret diameter is found.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).MinimumFeretAngle property.


EdgeFinder.FeatureList.MinimumFeretDiameter Property

MinimumFeretDiameter property

See Also | Availability | MIL Equivalent | MinimumFeretAngle | MomentElongation
Reference:
EdgeFinder.Calculate
EdgeFinder.NumberOfFeretAngles
EdgeFinder.Results.Item.MinimumFeretDiameter
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_FERET_MIN_DIAMETER
)

MedgeInquire(
InquireType =
M_FERET_MIN_DIAMETER
)
EdgeFinder
FeatureList
MinimumFeretDiameter
Synopsis
Returns or sets whether the minimum Feret diameter feature of each edge is selected for calculation.
[]
Syntax
object.MinimumFeretDiameter [= Boolean]
[]
Syntax
object->MinimumFeretDiameter [= VARIANT_BOOL]
Type description
A boolean value that specifies whether each edge's minimum Feret diameter feature is selected for calculation. (default is False)
Value | Meaning
True | The minimum Feret diameter feature of each edge is selected for calculation.
False | The minimum Feret diameter feature of each edge is not selected for calculation.
Remarks
  • The minimum Feret diameter is the smallest Feret diameter found after checking the number of angles specified with the NumberOfFeretAngles property. More angles will give a more accurate result, but will take longer to calculate.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).MinimumFeretDiameter property.


EdgeFinder.FeatureList.MomentElongation Property

MomentElongation property

See Also | Availability | MIL Equivalent | MinimumFeretDiameter | MomentElongationAngle
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.MomentElongation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_MOMENT_ELONGATION
)

MedgeInquire(
InquireType =
M_MOMENT_ELONGATION
)
EdgeFinder
FeatureList
MomentElongation
Synopsis
Returns or sets whether the moment elongation feature of each edge is selected for calculation.
[]
Syntax
object.MomentElongation [= Boolean]
[]
Syntax
object->MomentElongation [= VARIANT_BOOL]
Type description
A boolean value that specifies whether each edge's moment elongation feature is selected for calculation. (default is False)
Value | Meaning
True | The moment elongation feature of each edge is selected for calculation.
False | The moment elongation feature of each edge is not selected for calculation.
Remarks
  • The moment elongation is equal to the ratio of the eigenvalues of the edge chain's inertial matrix.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).MomentElongation property.


EdgeFinder.FeatureList.MomentElongationAngle Property

MomentElongationAngle property

See Also | Availability | MIL Equivalent | MomentElongation | Position
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.MomentElongationAngle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_MOMENT_ELONGATION_ANGLE
)

MedgeInquire(
InquireType =
M_MOMENT_ELONGATION_ANGLE
)
EdgeFinder
FeatureList
MomentElongationAngle
Synopsis
Returns or sets whether to calculate the angle of the principle axis along each edge's moment elongation.
[]
Syntax
object.MomentElongationAngle [= Boolean]
[]
Syntax
object->MomentElongationAngle [= VARIANT_BOOL]
Type description
A boolean value that specifies whether each edge's moment elongation angle is calculated. (default is False)
Value | Meaning
True | The moment elongation angle of each edge is selected for calculation.
False | The moment elongation angle of each edge is not selected for calculation.
Remarks
  • The moment elongation is equal to the ratio of the eigenvalues of the edge chain's inertial matrix.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).MomentElongationAngle property.


EdgeFinder.FeatureList.Position Property

Position property

See Also | Availability | MIL Equivalent | MomentElongationAngle | Size
Reference:
EdgeFinder.Calculate
EdgeFinder.FeatureList.Position.DeselectAll
EdgeFinder.FeatureList.Position.SelectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_POSITION or
M_POSITION_X or
M_POSITION_Y
)

MedgeInquire(
InquireType =
M_POSITION_X or
M_POSITION_Y
)
EdgeFinder
FeatureList
Position
Properties: X, Y

Methods: DeselectAll, SelectAll
Synopsis
Allows you to specify or determine which position feature(s) are selected for calculation.
[]
Syntax
[EdgeFeaturePosition =] object.Position
[]
Syntax
[IEdgeFeaturePositionPtr =] object->Position
Type description
An EdgeFeaturePosition object.
Remarks
  • You cannot assign another FeaturePosition object to this property.
  • All the position features can be selected at once by calling the SelectAll method.
  • All the position features can be deselected at once by calling the DeselectAll method.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).Position... properties.


EdgeFinder.FeatureList.Position.X Property

X property

See Also | Availability | MIL Equivalent | Y
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.PositionX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_POSITION_X
)

MedgeInquire(
InquireType =
M_POSITION_X
)
EdgeFinder
FeatureList
Position
X
Synopsis
Returns or sets whether each edge's X-position feature is selected for calculation.
[]
Syntax
object.X [= Boolean]
[]
Syntax
object->X [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the X-position feature of each edge is selected for calculation. (default is False)
Value | Meaning
True | The X-position feature of each edge is selected for calculation.
False | The X-position feature of each edge is not selected for calculation.
Remarks
  • The X-position of the edge is defined by the X-coordinate of the edge chain's middle edgel.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).PositionX property.


EdgeFinder.FeatureList.Position.Y Property

Y property

See Also | Availability | MIL Equivalent | X | DeselectAll
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.PositionY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_POSITION_Y
)

MedgeInquire(
InquireType =
M_POSITION_Y
)
EdgeFinder
FeatureList
Position
Y
Synopsis
Returns or sets whether each edge's Y-position feature is selected for calculation.
[]
Syntax
object.Y [= Boolean]
[]
Syntax
object->Y [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the Y-position feature of each edge is selected for calculation. (default is False)
Value | Meaning
True | The Y-position feature of each edge is selected for calculation.
False | The Y-position feature of each edge is not selected for calculation.
Remarks
  • The Y-position of the edge is defined by the Y-coordinate of the edge chain's middle edgel.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).PositionY property.


EdgeFinder.FeatureList.Position.DeselectAll Method

DeselectAll method

Availability | MIL Equivalent | Y | SelectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_POSITION
ControlValue =
M_DISABLE
)
EdgeFinder
FeatureList
Position
DeselectAll
Synopsis
Deselects all the features in the position feature list.
[]
Syntax
object.DeselectAll()
[]
Syntax
void object->DeselectAll()
Remark
  • This method sets each feature in the position feature list to False.


EdgeFinder.FeatureList.Position.SelectAll Method

SelectAll method

Availability | MIL Equivalent | DeselectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_POSITION
ControlValue =
M_ENABLE
)
EdgeFinder
FeatureList
Position
SelectAll
Synopsis
Selects all the features in the position feature list.
[]
Syntax
object.SelectAll()
[]
Syntax
void object->SelectAll()
Remark
  • This method sets each feature in the position feature list to True.


EdgeFinder.FeatureList.Size Property

Size property

See Also | Availability | MIL Equivalent | Position | Strength
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.Size
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_SIZE
)

MedgeInquire(
InquireType =
M_SIZE
)
EdgeFinder
FeatureList
Size
Synopsis
Returns or sets whether the size feature of each edge is selected for calculation.
[]
Syntax
object.Size [= Boolean]
[]
Syntax
object->Size [= VARIANT_BOOL]
Type description
A boolean value that specifies whether each edge's size feature is selected for calculation. (default is False)
Value | Meaning
True | The size feature of each edge is selected for calculation.
False | The size feature of each edge is not selected for calculation.
Remarks
  • The size is the number of edgels of each edge.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).Size property.


EdgeFinder.FeatureList.Strength Property

Strength property

See Also | Availability | MIL Equivalent | Size | Tortuosity
Reference:
EdgeFinder.Calculate
EdgeFinder.Results.Item.Strength
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_STRENGTH
)

MedgeInquire(
InquireType =
M_STRENGTH
)
EdgeFinder
FeatureList
Strength
Synopsis
Returns or sets whether the strength feature of each edge is selected for calculation.
[]
Syntax
object.Strength [= Boolean]
[]
Syntax
object->Strength [= VARIANT_BOOL]
Type description
A boolean value that specifies whether each edge's strength feature is selected for calculation. (default is False)
Value | Meaning
True | The strength feature of each edge is selected for calculation.
False | The strength feature of each edge is not selected for calculation.
Remarks
  • The strength is the energy of each edge, which is defined as the sum of the square of the edgels' magnitude values.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).Strength property.


EdgeFinder.FeatureList.Tortuosity Property

Tortuosity property

See Also | Availability | MIL Equivalent | Strength | DeselectAll
Reference:
EdgeFinder.Calculate
EdgeFinder.FeatureList.Box
EdgeFinder.FeatureList.Length
EdgeFinder.Results.Item.Tortuosity
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_TORTUOSITY
)

MedgeInquire(
InquireType =
M_TORTUOSITY
)
EdgeFinder
FeatureList
Tortuosity
Synopsis
Returns or sets whether the tortuosity feature of each edge is selected for calculation.
[]
Syntax
object.Tortuosity [= Boolean]
[]
Syntax
object->Tortuosity [= VARIANT_BOOL]
Type description
A boolean value that specifies whether each edge's tortuosity feature is selected for calculation. (default is False)
Value | Meaning
True | The tortuosity feature of each edge is selected for calculation.
False | The tortuosity feature of each edge is not selected for calculation.
Remarks
  • The tortuosity measure is equal to the ratio of the diagonal length of the edge's bounding box (FeatureList.Box) by the length of the edge (FeatureList.Length). Therefore, a non-tortuous edge (a straight line) will have a tortuosity of 1.0 while a tortuous edge will have its tortuosity decreasing toward zero.
  • After the Calculate method is called, results can be obtained using the Results.Item(EdgeIndex).Tortuosity property.


EdgeFinder.FeatureList.DeselectAll Method

DeselectAll method

Availability | MIL Equivalent | Tortuosity | SelectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_ALL_FEATURES
ControlValue =
M_DISABLE
)
EdgeFinder
FeatureList
DeselectAll
Synopsis
Deselects all the features in the feature list.
[]
Syntax
object.DeselectAll()
[]
Syntax
void object->DeselectAll()
Remark
  • This method sets each feature in the feature list to False.


EdgeFinder.FeatureList.SelectAll Method

SelectAll method

Availability | MIL Equivalent | DeselectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_ALL_FEATURES
ControlValue =
M_ENABLE
)
EdgeFinder
FeatureList
SelectAll
Synopsis
Selects all the features in the feature list.
[]
Syntax
object.SelectAll()
[]
Syntax
void object->SelectAll()
Remark
  • This method sets each feature in the feature list to True.


EdgeFinder.FillGapParameters Property

FillGapParameters property

Availability | MIL Equivalent | FeatureList | Filters
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_FILL_GAP_DISTANCE or
M_FILL_GAP_ANGLE or
M_FILL_GAP_POLARITY or
M_FILL_GAP_CONTINUITY
)

MedgeInquire(
InquireType =
M_FILL_GAP_DISTANCE or
M_FILL_GAP_ANGLE or
M_FILL_GAP_POLARITY or
M_FILL_GAP_CONTINUITY
)
EdgeFinder
FillGapParameters
Properties: Angle, Candidate, Continuity, Distance, Polarity
Synopsis
Allows you to specify or determine the characteristics of the gap filling parameters.
[]
Syntax
[ EdgeFillGapParameters =] object.FillGapParameters
[]
Syntax
[IEdgeFillGapParametersPtr =] object->FillGapParameters
Type description
An EdgeFillGapParameters object.
Remark
  • You cannot assign another EdgeFillGapParameters object to this property.


EdgeFinder.FillGapParameters.Angle Property

Angle property

See Also | Availability | MIL Equivalent | Candidate
Reference:
EdgeFinder.FillGapParameters.Continuity
EdgeFinder.FillGapParameters.Distance
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_FILL_GAP_ANGLE
)

MedgeInquire(
InquireType =
M_FILL_GAP_ANGLE
)
EdgeFinder
FillGapParameters
Angle
Synopsis
Returns or sets the angle at which to search for edge extremity candidates to fill edge gaps.
[]
Syntax
object.Angle [= Double]
[]
Syntax
object->Angle [= double]
Type description
A double value that specifies the angle, in degrees, at which edge extremity candidates used to fill edge gaps are searched. The default value is 360.0 degrees.
Remarks
  • This property, along with the FillGapParameters.Distance property, define a region where two chain extremities can be linked.
  • Two chain extremities can only be linked if both are included in the search region of the other.
  • To select the best edge extremity candidate when more than one is present, use the FillGapParameters.Continuity property.


EdgeFinder.FillGapParameters.Candidate Property

Candidate property

Availability | MIL Equivalent | Angle | Continuity
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_FILL_GAP_CANDIDATE
)

MedgeInquire(
InquireType =
M_FILL_GAP_CANDIDATE
)
EdgeFinder
FillGapParameters
Candidate
Synopsis
Returns or sets whether to fill an edge extremity with the other extremity of the same edge, or with an extremity of any edge.
[]
Syntax
object.Candidate [= EdgeCandidateConstants]
[]
Syntax
object->Candidate [= enum EdgeCandidateConstants]
Type description
An EdgeCandidateConstants expression that specifies whether edges are filled with the other extremity of the same edge, or with an extremity of any edge. (default is edgeCandidateSame)
Value | Meaning
edgeCandidateSame | Edges are filled with the other extremity of the same edge.
edgeCandidateAny | Edges are filled with an extremity of any edge.


EdgeFinder.FillGapParameters.Continuity Property

Continuity property

See Also | Availability | MIL Equivalent | Candidate | Distance
Reference:
EdgeFinder.FillGapParameters.Angle
EdgeFinder.FillGapParameters.Distance
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_FILL_GAP_CONTINUITY
)

MedgeInquire(
InquireType =
M_FILL_GAP_CONTINUITY
)
EdgeFinder
FillGapParameters
Continuity
Synopsis
Returns or sets the continuity constraint used to perform edge gap filling when more than one edge extremity candidate is present.
[]
Syntax
object.Continuity [= Double]
[]
Syntax
object->Continuity [= double]
Type description
A double value that specifies the continuity constraint used to choose the best candidate with which to fill the edge gap. The default value is 50.0.
Remarks
  • The FillGapParameters.Angle and FillGapParameters.Distance properties define the region where two chain extremities can be linked. This is the set from which the best extremity candidate edgel is chosen.
  • Among the whole set of extremity candidate edgels, the one which fulfills the continuity criteria best is chosen to fill the gap.
  • When this property is set to 0.0, the closest candidate is chosen to link edge segments together.
  • When this property is set to 100.0, the candidate that gives the most continuous result (minimum curvature) is chosen.


EdgeFinder.FillGapParameters.Distance Property

Distance property

See Also | Availability | MIL Equivalent | Continuity | Polarity
Reference:
EdgeFinder.FillGapParameters.Angle
EdgeFinder.FillGapParameters.Continuity
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_FILL_GAP_DISTANCE
)

MedgeInquire(
InquireType =
M_FILL_GAP_DISTANCE
)
EdgeFinder
FillGapParameters
Distance
Synopsis
Returns or sets the maximum distance radius to search for edge extremity candidates to fill edge gaps.
[]
Syntax
object.Distance [= Double]
[]
Syntax
object->Distance [= double]
Type description
A double value or an EdgeInfiniteConstants expression that specifies the maximum distance radius. (default is 0.0)
Value | Meaning
edgeInfinite | The maximum distance radius is infinite.
value | The maximum distance radius value.
Remarks
  • This property, along with the FillGapParameters.Angle property, define a region where two chain extremities can be linked.
  • Two chain extremities can only be linked if both are included in the search region of the other.
  • To select the best edge extremity candidate when more than one is present, use the FillGapParameters.Continuity property.


EdgeFinder.FillGapParameters.Polarity Property

Polarity property

See Also | Availability | MIL Equivalent | Distance
Reference:
EdgeFinder.EdgeType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_FILL_GAP_POLARITY
)

MedgeInquire(
InquireType =
M_FILL_GAP_POLARITY
)
EdgeFinder
FillGapParameters
Polarity
Synopsis
Returns or sets the use of the edge polarity to perform the filling of edge gaps.
[]
Syntax
object.Polarity [= EdgePolarityConstants]
[]
Syntax
object->Polarity [= enum EdgePolarityConstants]
Type description
An EdgePolarityConstants expression that specifies the polarity constraint to use when edge gaps are filled. (default is edgePolarityAny)
Value | Meaning
edgeSame | Gaps between edges that have the same polarity will be filled.
edgeReverse | Gaps between edges that have reverse polarity will be filled.
edgePolarityAny | Gaps between edges will be filled, regardless of their polarity.
Remark
  • This property's edgeSame and edgeReverse settings are only supported if the EdgeType property is set to edgeCrest.


EdgeFinder.Filters Property

Filters property

See Also | Availability | MIL Equivalent | FillGapParameters | FloatMode
Reference:
EdgeFinder.ApplyFilter
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeSelect()
EdgeFinder
Filters
Properties: NearestNeighborRadius, Count, Item

Methods: Add, Remove
Synopsis
Returns the collection of filters available to the EdgeFinder control, allowing access to its elements.
[]
Syntax
[EdgeFilters =] object.Filters
[]
Syntax
[IEdgeFiltersPtr =] object->Filters
Type description
An EdgeFilters expression that represents an instance of an EdgeFilters collection.
Remark
  • To apply a filter in this collection to the edge results, use the ApplyFilter method.
[]
Example
This example shows how to use filters.

Dim MainChainLabel As Long

MainChainLabel = AMEdgeContext.Results.Item(1).LabelValue
Dim FilterIndex As Long

FilterIndex = AMEdgeContext.Filters.Add(edgeDelete, edgeLabelValue, _
              edgeOutsideChain, MainChainLabel)
AMEdgeContext.ApplyFilter(FilterIndex)
AMEdgeContext.Filters.Remove(FilterIndex)


EdgeFinder.Filters.Count Property

Count property

Availability | MIL Equivalent | NearestNeighborRadius | Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
Filters
Count
Synopsis
Returns the number of elements in the collection of edge filters.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A long value that specifies the number of elements currently in the collection.
Remark
  • The elements in the edge filters collection refer to the filters available to the EdgeFinder control.


EdgeFinder.Filters.Item Property

Item property

Availability | MIL Equivalent | Count | Add
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
Filters
Item
Properties: Condition, Description, Feature, FilterType, FirstValue, SecondValue
Synopsis
Returns the element at the specified index in the collection of edge filters.
[]
Syntax
[EdgeFilter=]object.Item(
Index As Integer
)
[]
Syntax
[IEdgeFilterPtr =] object->Item(
long Index
)
Index
A long value that specifies the index of the required element.
Type description
An EdgeFilter object.
Remarks
  • The elements in the edge filters collection refer to the filters available to the EdgeFinder control.
  • This property allows you to change the properties of a filter.
  • If the value provided as the index does not match any existing element in the collection, an error occurs. Note that the index of the first element of this collection starts at one.


EdgeFinder.Filters.Item.Condition Property

Condition property

See Also | Availability | MIL Equivalent | Description
Reference:
EdgeFinder.FeatureList
EdgeFinder.Filters.NearestNeighborRadius
EdgeFinder.Results.Item.Closure
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeSelect(Condition)
EdgeFinder
Filters
Item
Condition
Synopsis
Returns or sets the condition with which to filter the edges.
[]
Syntax
object.Condition [= EdgeFilterConditionConstants]
[]
Syntax
object->Condition [= enum EdgeFilterConditionConstants]
Type description
An EdgeFilterConditionConstants or EdgeNotApplicableConstants expression that specifies which edges to filter.

EdgeFilterConditionConstants: (default is edgeLessThan)
Value | Meaning
edgeOutOfRange | This condition filters edges whose values for the specified feature are less than FirstValue or greater than SecondValue.
edgeInRange | This condition filters edges whose values for the specified feature are from FirstValue to SecondValue, inclusive.
edgeEqualTo | This condition filters edges whose values for the specified feature are equal to FirstValue.
edgeNotEqualTo | This condition filters edges whose values for the specified feature are not equal to FirstValue.
edgeGreaterThan | This condition filters edges whose values for the specified feature are greater than FirstValue.
edgeLessThan | This condition filters edges whose values for the specified feature are less than FirstValue.
edgeGreaterOrEqualTo | This condition filters edges whose values for the specified feature are greater than or equal to FirstValue.
edgeLessOrEqualTo | This condition filters edges whose values for the specified feature are less than or equal to FirstValue.
edgeOutsideChain | This condition filters edges outside the specified edge, or outside edges of the specified group.
edgeOutsideOrEqualChain | This condition filters edges outside or equal to the specified edge, or outside or equal to edges of the specified group.
edgeInsideChain | This condition filters edges inside the specified edge, or inside edges of the specified group.
edgeInsideOrEqualChain | This condition filters edges inside or equal to the specified edge, or inside or equal to edges of the specified group.
edgeOutsideBox | This condition filters edges outside the bounding box of the specified edge, or outside the bounding box of the edges of the specified group.
edgeOutsideOrEqualBox | This condition filters edges outside or equal to the bounding box of the specified edge, or outside or equal to the bounding box of the edges of the specified group.
edgeInsideBox | This condition filters edges inside the bounding box of the specified edge, or inside the bounding box of the edges of the specified group.
edgeInsideOrEqualBox | This condition filters edges inside or equal to the bounding box of the specified edge, or inside or equal to the bounding box of the edges of the specified group.
edgeNearestNeighbor | This condition filters the closest edge within the specified radius and location.
edgeAllNearestNeighbors | This condition filters the closest edges within the specified radius and location.

EdgeNotApplicableConstants:
Value | Meaning
edgeFilterNotApplicable | The filter does not apply.
Remarks
  • To specify an edge selection based on edge features:
    • The Condition parameter must either be set to a condition that uses one limit (edgeEqualTo, edgeGreaterThan, edgeGreaterOrEqualTo, edgeLessThan, edgeLessOrEqualTo, edgeNotEqualTo) or a condition that uses two limits (edgeInRange, edgeOutOfRange).
  • To specify an edge selection based on the cropped portion of a specified edge:
    • The side of the chain to crop is specified with the Condition parameter. Note that only conditions that specify one limit apply to edge cropping; that is, the valid conditions are: edgeGreaterThan, edgeGreaterOrEqualTo, edgeLessThan, edgeLessOrEqualTo, edgeNotEqualTo.
  • To specify an edge selection based on the inter-relationship of edges:
    • The Condition parameter must be set to either an inside or outside box or chain value; that is, edgeOutsideChain, edgeInsideChain, edgeOutsideBox, or edgeInsideBox. Edges that are either inside or outside the specified chain or box are filtered.
    • If an edge is not closed, the edgeInsideChain and edgeOutsideChain settings are not supported. The Results.Item.Closure property returns whether an edge is closed.
  • To specify an edge selection based on the proximity of the edges to a point:
    • The Condition parameter must be set to either edgeNearestNeighbor or edgeAllNearestNeighbors. These settings specify that either the closest edge or edges, respectively, within the specified radius and location are filtered.
    • The radius distance is set with the Filters.NearestNeighborRadius property.


EdgeFinder.Filters.Item.Description Property

Description property

Availability | MIL Equivalent | Condition | Feature
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
Filters
Item
Description
Synopsis
Returns a phrase, which is composed by ActiveMIL, describing the edge filter.
[]
Syntax
[String =] object.Description
[]
Syntax
[_bstr_t =] object->Description
Type description
A string expression that describes the edge filter.


EdgeFinder.Filters.Item.Feature Property

Feature property

See Also | Availability | MIL Equivalent | Description | FilterType
Reference:
EdgeFinder.FeatureList
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeSelect(Feature)
EdgeFinder
Filters
Item
Feature
Synopsis
Returns or sets the feature results to use as part of the filter criterion.
[]
Syntax
object.Feature [= EdgeFeatureConstants]
[]
Syntax
object->Feature [= enum EdgeFeatureConstants]
Type description
An EdgeFeatureConstants, EdgeNotApplicableConstants, EdgeCropChainFilterConstants, EdgeAdditionalFilterConstants, or EdgeCriterionConstants expression that specifies the feature results to use as part of the selection criterion.

The settings for Feature that are of type EdgeFeatureConstants are: (default is edgeLabelValue)
Value | Meaning
edgeAverageStrength | The AverageStrength feature.
edgeBoxXMinimum | The XMinimum feature of the bounding box.
edgeBoxYMinimum | The YMinimum feature of the bounding box.
edgeBoxXMaximum | The XMaximum feature of the bounding box.
edgeBoxYMaximum | The YMaximum feature of the bounding box.
edgeCenterOfGravityX | The X-coordinate feature of the center of gravity.
edgeCenterOfGravityY | The Y-coordinate feature of the center of gravity.
edgeCircleFitCenterX | The X-coordinate feature of the center of the circle that is the best fit.
edgeCircleFitCenterY | The Y-coordinate feature of the center of the circle that is the best fit.
edgeCircleFitRadius | The radius feature of the center of the circle that is the best fit.
edgeCircleFitCoverage | The coverage feature of the center of the circle that is the best fit.
edgeClosure | The edge Closure feature.
edgeContactPointsXMinimumAtYMinimum | The XMinimumAtYMinimum contact point feature.
edgeContactPointsXMaximumAtYMaximum | The XMaximumAtYMaximum contact point feature.
edgeContactPointsYMinimumAtXMaximum | The YMinimumAtXMaximum contact point feature.
edgeContactPointsYMaximumAtXMinimum | The YMaximumAtXMinimum contact point feature.
edgeConvexPerimeter | The ConvexPerimeter feature.
edgeMomentElongation | The MomentElongation feature.
edgeFastLength | The FastLength feature.
edgeFeretElongation | The FeretElongation feature.
edgeFeretX | The FeretX feature of the bounding box.
edgeFeretY | The FeretY feature of the bounding box.
edgeGeneralFeret | The GeneralFeret feature.
edgeLabelValue | The LabelValue feature.
edgeLength | The Length feature.
edgeLineFitA | The A variable feature of the line that is the best fit.
edgeLineFitB | The B variable feature of the line that is the best fit.
edgeLineFitC | The C variable feature of the line that is the best fit.
edgeLineFitError | The error feature of the line that is the best fit.
edgeMaximumFeretAngle | The MaximumFeretAngle feature.
edgeMaximumFeretDiameter | The MaximumFeretDiameter feature.
edgeMeanFeretDiameter | The MeanFeretDiameter feature.
edgeMinimumFeretAngle | The MinimumFeretAngle feature.
edgeMinimumFeretDiameter | The MinimumFeretDiameter feature.
edgePositionX | The PositionX feature.
edgePositionY | The PositionY feature.
edgeFirstPointX | The FirstPointX feature.
edgeFirstPointY | The FirstPointY feature.
edgeSize | The Size feature.
edgeStrength | The Strength feature.
edgeTortuosity | The Tortuosity feature.

EdgeNotApplicableConstants:
Value | Meaning
edgeFilterNotApplicable | The feature does not apply.

EdgeCropChainFilterConstants:
Value | Meaning
edgeCropChainAtIndex | The chain will be cropped at the specified index.
edgeCropChainAtLabel | The chain will be cropped at the specified label.

EdgeAdditionalFilterConstants:
Value | Meaning
edgeIndex | Edges that meet the specified edge result index condition are filtered.

EdgeCriterionConstants:
Value | Meaning
edgeAllEdges | All edges are filtered.
edgeExcludedEdges | The excluded edges are filtered.
edgeIncludedEdges | The included edges are filtered.
Remarks
  • To specify an edge selection based on edge features:
    • A valid edge feature must be used as part of the selection criterion.
  • To specify an edge selection based on the cropped portion of a specified edge:
    • The Feature parameter must be set to either edgeCropChainAtIndex or edgeCropChainAtLabel.
  • To specify an edge selection based on the inter-relationship of edges:
    • The Feature parameter defines the subset of edges to look inside or outside the set of edges being filtered.


EdgeFinder.Filters.Item.FilterType Property

FilterType property

See Also | Availability | MIL Equivalent | Feature | FirstValue
Reference:
EdgeFinder.Filters
EdgeFinder.Filters.Item.Condition
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeSelect(Operation)
EdgeFinder
Filters
Item
FilterType
Synopsis
Returns or sets the type of filter to apply to the specified edges.
[]
Syntax
object.FilterType [= EdgeFilterTypeConstants]
[]
Syntax
object->FilterType [= enum EdgeFilterTypeConstants]
Type description
An EdgeFilterTypeConstants expression that specifies the type of filter to apply on the specified edges. (default is edgeExclude)
Value | Meaning
edgeDelete | Deletes all edges that meet the specified condition.
edgeExclude | Excludes edges that meet the specified condition.
edgeInclude | Includes edges that meet the specified condition.
Remarks
  • The Filters property contains the collection of filters available to the EdgeFinder control.
  • The condition with which to filter the edges is specified by the Filters.Item(FilterIndex).Condition property of the EdgeFinder control.
  • The edgeDelete setting removes edges permanently and, consequently, prevents these edges from being re-included.
  • The edgeExclude setting affects only the status of currently included edges.
  • The edgeInclude setting affects only the status of currently excluded edges.


EdgeFinder.Filters.Item.FirstValue Property

FirstValue property

Availability | MIL Equivalent | FilterType | SecondValue
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeSelect(Param1)
EdgeFinder
Filters
Item
FirstValue
Synopsis
Returns or sets the first value for the specified feature or condition.
[]
Syntax
object.FirstValue [= Double]
[]
Syntax
object->FirstValue [= double]
Type description
A double value that specifies the condition or feature's first value.
Remarks
  • To specify an edge selection based on edge features:
    • For conditions that use one limit, set FirstValue to the required condition limit.
    • For conditions that use two limits, set FirstValue to the to the high condition limit.
  • To specify an edge selection based on the cropped portion of a specified edge:
    • The newly created edge receives a new label, which is specified with FirstValue. This is the edge that will be filtered. Note that the non-selected part of the edge keeps its label value.
  • To specify an edge selection based on the inter-relationship of edges:
    • If the subset of edges refers to a specific edge, set FirstValue to the label value of the edge.
  • To specify an edge selection based on the proximity of the edges to a point:
    • FirstValue specifies the X-coordinate of the point from which the edge selection is based on.


EdgeFinder.Filters.Item.SecondValue Property

SecondValue property

Availability | MIL Equivalent | FirstValue
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeSelect(Param2)
EdgeFinder
Filters
Item
SecondValue
Synopsis
Returns or sets the second value for the specified feature or condition.
[]
Syntax
object.SecondValue [= Double]
[]
Syntax
object->SecondValue [= double]
Type description
A double value that specifies the condition or feature's second value.
Remarks
  • To specify an edge selection based on edge features:
    • For conditions that use two limits, set SecondValue to the low condition limit.
  • To specify an edge selection based on the cropped portion of a specified edge:
    • The edgel index where the chain will be cropped is specified with the SecondValue parameter.
  • To specify an edge selection based on the proximity of the edges to a point:
    • SecondValue specifies the Y-coordinate of the point from which the edge selection is based on.


EdgeFinder.Filters.NearestNeighborRadius Property

NearestNeighborRadius property

See Also | Availability | MIL Equivalent | Count
Reference:
EdgeFinder.Filters.Item.Condition
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_NEAREST_NEIGHBOR_RADIUS
)

MedgeInquire(
InquireType =
M_NEAREST_NEIGHBOR_RADIUS
)
EdgeFinder
Filters
NearestNeighborRadius
Synopsis
Returns or sets the radius distance used to select the closest edge or edges from a point.
[]
Syntax
object.NearestNeighborRadius [= Double]
[]
Syntax
object->NearestNeighborRadius [= double]
Type description
A double value that specifies the radius distance within which the closest edge or edges from a point are selected. (default is 2.0)
Remark
  • This property is supported only if the Filters.Item.Condition property is set to either edgeNearestNeighbor or edgeAllNearestNeighbors.


EdgeFinder.Filters.Add Method

Add method

See Also | Availability | MIL Equivalent | Item | Remove
Reference:
EdgeFinder.ApplyFilter
EdgeFinder.FeatureList
EdgeFinder.Filters.NearestNeighborRadius
EdgeFinder.Results.Item.Closure
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
Filters
Add
Synopsis
Adds a new edge filter to the collection.
[]
Syntax
[Integer =] object.Add(
ByVal FilterType As EdgeFilterTypeConstants,
ByVal Feature As EdgeFeatureConstants,
ByVal Condition As EdgeFilterConditionConstants,
ByVal FirstValue As Double,
ByVal SecondValue As Double
)
[]
Syntax
[long =] object->Add(
enum EdgeFilterTypeConstants FilterType,
enum EdgeFeatureConstants Feature,
enum EdgeFilterConditionConstants Condition,
double FirstValue,
double SecondValue
)
FilterType (optional in , default is edgeExclude)
An EdgeFilterTypeConstants expression that specifies the type of filter to apply on the specified edges.
Value | Meaning
edgeDelete | Deletes all edges that meet the specified condition.
edgeExclude | Excludes edges that meet the specified condition.
edgeInclude | Includes edges that meet the specified condition.
Feature (optional in , default is edgeLabelValue)
An EdgeFeatureConstants, EdgeNotApplicableConstants, EdgeCropChainFilterConstants, EdgeAdditionalFilterConstants, or EdgeCriterionConstants expression that specifies the feature used to filter.

EdgeFeatureConstants:
Value | Meaning
edgeAverageStrength | The AverageStrength feature.
edgeBoxXMinimum | The XMinimum feature of the bounding box.
edgeBoxYMinimum | The YMinimum feature of the bounding box.
edgeBoxXMaximum | The XMaximum feature of the bounding box.
edgeBoxYMaximum | The YMaximum feature of the bounding box.
edgeCenterOfGravityX | The X-coordinate feature of the center of gravity.
edgeCenterOfGravityY | The Y-coordinate feature of the center of gravity.
edgeCircleFitCenterX | The X-coordinate feature of the center of the circle that is the best fit.
edgeCircleFitCenterY | The Y-coordinate feature of the center of the circle that is the best fit.
edgeCircleFitRadius | The radius feature of the center of the circle that is the best fit.
edgeCircleFitCoverage | The coverage feature of the center of the circle that is the best fit.
edgeClosure | The edge Closure feature.
edgeContactPointsXMinimumAtYMinimum | The XMinimumAtYMinimum contact point feature.
edgeContactPointsXMaximumAtYMaximum | The XMaximumAtYMaximum contact point feature.
edgeContactPointsYMinimumAtXMaximum | The YMinimumAtXMaximum contact point feature.
edgeContactPointsYMaximumAtXMinimum | The YMaximumAtXMinimum contact point feature.
edgeConvexPerimeter | The ConvexPerimeter feature.
edgeMomentElongation | The MomentElongation feature.
edgeFastLength | The FastLength feature.
edgeFeretElongation | The FeretElongation feature.
edgeFeretX | The FeretX feature of the bounding box.
edgeFeretY | The FeretY feature of the bounding box.
edgeGeneralFeret | The GeneralFeret feature.
edgeLabelValue | The LabelValue feature.
edgeLength | The Length feature.
edgeLineFitA | The A variable feature of the line that is the best fit.
edgeLineFitB | The B variable feature of the line that is the best fit.
edgeLineFitC | The C variable feature of the line that is the best fit.
edgeLineFitError | The error feature of the line that is the best fit.
edgeMaximumFeretAngle | The MaximumFeretAngle feature.
edgeMaximumFeretDiameter | The MaximumFeretDiameter feature.
edgeMeanFeretDiameter | The MeanFeretDiameter feature.
edgeMinimumFeretAngle | The MinimumFeretAngle feature.
edgeMinimumFeretDiameter | The MinimumFeretDiameter feature.
edgePositionX | The PositionX feature.
edgePositionY | The PositionY feature.
edgeFirstPointX | The FirstPointX feature.
edgeFirstPointY | The FirstPointY feature.
edgeSize | The Size feature.
edgeStrength | The Strength feature.
edgeTortuosity | The Tortuosity feature.

EdgeNotApplicableConstants:
Value | Meaning
edgeFilterNotApplicable | The filter does not apply.

EdgeCropChainFilterConstants:
Value | Meaning
edgeCropChainAtIndex | The edge will be split at the specified edgel index.
edgeCropChainAtLabel | The chain will be cropped at the specified label.

EdgeAdditionalFilterConstants:
Value | Meaning
edgeIndex | Edges that meet the specified edge result index condition are filtered.

EdgeCriterionConstants:
Value | Meaning
edgeAllEdges | All edges are filtered.
edgeExcludedEdges | The excluded edges are filtered.
edgeIncludedEdges | The included edges are filtered.
Condition (optional in , default is edgeLessThan)
An EdgeFilterConditionConstants or EdgeNotApplicableConstants expression that specifies the condition to remove or include edged.

EdgeFilterConditionConstants:
Value | Meaning
edgeOutOfRange | This condition filters edges whose values for the specified feature are less than FirstValue or greater than SecondValue.
edgeInRange | This condition filters edges whose values for the specified feature are from FirstValue to SecondValue, inclusive.
edgeEqualTo | This condition filters edges whose values for the specified feature are equal to FirstValue.
edgeNotEqualTo | This condition filters edges whose values for the specified feature are not equal to FirstValue.
edgeGreaterThan | This condition filters edges whose values for the specified feature are greater than FirstValue.
edgeLessThan | This condition filters edges whose values for the specified feature are less than FirstValue.
edgeGreaterOrEqualTo | This condition filters edges whose values for the specified feature are greater than or equal to FirstValue.
edgeLessOrEqualTo | This condition filters edges whose values for the specified feature are less than or equal to FirstValue.
edgeOutsideChain | This condition filters edges outside the specified edge, or outside edges of the specified group.
edgeOutsideOrEqualChain | This condition filters edges outside or equal to the specified edge, or outside or equal to edges of the specified group.
edgeInsideChain | This condition filters edges inside the specified edge, or inside edges of the specified group.
edgeInsideOrEqualChain | This condition filters edges inside or equal to the specified edge, or inside or equal to edges of the specified group.
edgeOutsideBox | This condition filters edges outside the bounding box of the specified edge, or outside the bounding box of the edges of the specified group.
edgeOutsideOrEqualBox | This condition filters edges outside or equal to the bounding box of the specified edge, or outside or equal to the bounding box of the edges of the specified group.
edgeInsideBox | This condition filters edges inside the bounding box of the specified edge, or inside the bounding box of the edges of the specified group.
edgeInsideOrEqualBox | This condition filters edges inside or equal to the bounding box of the specified edge, or inside or equal to the bounding box of the edges of the specified group.
edgeNearestNeighbor | This condition filters the closest edge within the specified radius and location.
edgeAllNearestNeighbors | This condition filters the closest edges within the specified radius and location.

EdgeNotApplicableConstants:
Value | Meaning
edgeFilterNotApplicable | The filter does not apply.
FirstValue (optional in , default is 0)
A double value that is dependent on the feature and condition chosen.
SecondValue (optional in , default is 0)
A double value that is dependent on the feature and condition chosen.
Return value
Returns a long value that specifies the index of the added filter in the collection of filters.
Remarks
  • The edgeDelete setting removes edges permanently and, consequently, prevents these edges from being re-included.
  • The edgeExclude setting affects only the status of currently included edges.
  • The edgeInclude setting affects only the status of currently excluded edges.
  • Edges are filtered based on one of the following:
    • A calculated edge feature (EdgeFinder.FeatureList), where the edge selection depends on whether the specified edge feature meets the specified condition.
    • The cropped portion of a specified edge, where the edge selection depends on the condition applied to the edge that will be cropped.
    • The inter-relationship of edges, where the edge selection depends on whether edges meet the specified inside/outside box or inside/outside chain condition of the specified edge or group of edges.
    • The proximity of an edge or edges to a specified point, where the edge selection depends on the specified radius, and the nearest neighbor condition.
  • To specify an edge selection based on edge features:
    • A valid edge feature must be used as part of the selection criterion.
    • The Condition parameter must either be set to a condition that uses one limit (edgeEqualTo, edgeGreaterThan, edgeGreaterOrEqualTo, edgeLessThan, edgeLessOrEqualTo, edgeNotEqualTo) or a condition that uses two limits (edgeInRange, edgeOutOfRange).
    • For conditions that use one limit, set FirstValue to the required condition limit.
    • For conditions that use two limits, set FirstValue to the to the high condition limit and set SecondValue to the low condition limit.
  • To specify an edge selection based on the cropped portion of a specified edge:
    • The Feature parameter must be set to either edgeCropChainAtIndex or edgeCropChainAtLabel.
    • The side of the chain to crop is specified with the Condition parameter. Note that only conditions that specify one limit apply to edge cropping; that is, the valid conditions are: edgeGreaterThan, edgeGreaterOrEqualTo, edgeLessThan, edgeLessOrEqualTo, edgeNotEqualTo.
    • The edgel index where the chain will be cropped is specified with the SecondValue parameter.
    • The newly created edge receives a new label, which is specified with FirstValue. This is the edge that will be filtered. Note that the non-selected part of the edge keeps its label value.
  • To specify an edge selection based on the inter-relationship of edges:
    • The Feature parameter defines the subset of edges to look inside or outside the set of edges being filtered.
    • The Condition parameter must be set to either an inside or outside box or chain value; that is, edgeOutsideChain, edgeInsideChain, edgeOutsideBox, or edgeInsideBox. Edges that are either inside or outside the specified chain or box are filtered.
    • If an edge is not closed, the edgeInsideChain, edgeOutsideChain, edgeInsideOrEqualChain, and edgeOutsideOrEqualChain settings are not supported. The Results.Item.Closure property returns whether an edge is closed.
    • If the subset of edges refers to a specific edge, set FirstValue to the label value of the edge.
  • To specify an edge selection based on the proximity of the edges to a point:
    • The Condition parameter must be set to either edgeNearestNeighbor or edgeAllNearestNeighbors. These settings specify that either the closest edge or edges, respectively, within the specified radius and location are filtered.
    • The radius distance is set with the Filters.NearestNeighborRadius property.
    • FirstValue specifies the X-coordinate of the point from which the edge selection is based on.
    • SecondValue specifies the Y-coordinate of the point from which the edge selection is based on.


EdgeFinder.Filters.Remove Method

Remove method

Availability | MIL Equivalent | Add
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
Filters
Remove
Synopsis
Removes a filter from the collection.
[]
Syntax
object.Remove(
ByVal Index As Integer
)
[]
Syntax
void object->Remove(
long Index
)
Index
A long value that specifies an index into the collection of filters, identifying the filter to remove.


EdgeFinder.FloatMode Property

FloatMode property

Availability | MIL Equivalent | Filters | ForegroundValue
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_FLOAT_MODE
)

MedgeInquire(
InquireType =
M_FLOAT_MODE
)
EdgeFinder
FloatMode
Synopsis
Returns or sets whether to force all the processing of edge extraction operations to be of type float.
[]
Syntax
object.FloatMode [= Boolean]
[]
Syntax
object->FloatMode [= VARIANT_BOOL]
Type description
A boolean value that specifies whether forcing the float processing of edge extraction operations is enabled. (default is False)
Value | Meaning
True | Enable the float processing of edge extraction operations.
False | Disable the float processing of edge extraction operations.


EdgeFinder.ForegroundValue Property

ForegroundValue property

See Also | Availability | MIL Equivalent | FloatMode | Image
Reference:
EdgeFinder.EdgeType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_FOREGROUND_VALUE
)

MedgeInquire(
InquireType =
M_FOREGROUND_VALUE
)
EdgeFinder
ForegroundValue
Synopsis
Returns or sets the foreground color of the line crests to extract from the image.
[]
Syntax
object.ForegroundValue [= EdgeForegroundValueConstants]
[]
Syntax
object->ForegroundValue [= enum EdgeForegroundValueConstants]
Type description
An EdgeForegroundValueConstants expression that specifies the foreground color of the line crests. (default is edgeForegroundBlack)
Value | Meaning
edgeForegroundWhite | White foreground color.
edgeForegroundBlack | Black foreground color.
edgeForegroundAny | Any foreground color.
Remarks
  • This property is not supported if the EdgeType property is set to edgeContour.
  • When this property is set to edgeForegroundWhite, the line crests are lighter than the image's background color. This corresponds to ridge-like lines extracted in the image (a ridge-like Gaussian profile).
  • When this property is set to edgeForegroundBlack, the line crests are darker than the image's background color. This corresponds to valley-like lines extracted in the image (a valley-like Gaussian profile).
  • When this property is set to edgeForegroundAny, the line crests can either be lighter or darker than the image's background color.


EdgeFinder.Image Property

Image property

See Also | Availability | MIL Equivalent | ForegroundValue | ImageFeature
Reference:
EdgeFinder.Calculate
EdgeFinder.ImageName
Image.CanProcess
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeCalculate(SourceImageId)
EdgeFinder
Image
Synopsis
Returns or sets the source image containing the edges to extract.
[]
Syntax
object.Image [= Image]
[]
Syntax
object->Image [= IImagePtr]
Type description
An Image control that specifies the source image from which to extract edges.
Remarks
  • Edges are extracted by calling the Calculate method.
  • The source image must be 1-band 8-bit unsigned or 1-band 32-bit float. When the source image is 32-bit float, floating precision calculations are performed.
  • The image must have its CanProcess property set to True.
  • The source image can also be specified, with the name assigned to its control, using the ImageName property.
  • This property automatically sets the ImageName property.
  • []
     Use the Visual Basic Is Nothing statement to confirm that this property is currently not associated with a control.
  • []
     To remove the reference to the current control without assigning a new control, set the property to Nothing.
  • []
     To remove the reference to the current control without assigning a new control, set the property to NULL.


EdgeFinder.ImageFeature Property

ImageFeature property

Availability | MIL Equivalent | Image | ImageName
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_SAVE_ANGLE or
M_SAVE_DERIVATIVES or
M_SAVE_MAGNITUDE or
M_SAVE_IMAGE
)

MedgeInquire(
InquireType =
M_SAVE_ANGLE or
M_SAVE_DERIVATIVES or
M_SAVE_MAGNITUDE or
M_SAVE_IMAGE
)
EdgeFinder
ImageFeature
Properties: Angle, Derivatives, Magnitude, Mask, Source
Synopsis
Allows you to specify or determine which image feature(s) are selected for saving.
[]
Syntax
[EdgeImageFeature =] object.ImageFeature
[]
Syntax
[IEdgeImageFeaturePtr =] object->ImageFeature
Type description
An EdgeImageFeature object.


EdgeFinder.ImageFeature.Angle Property

Angle property

Availability | MIL Equivalent | Derivatives
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_SAVE_ANGLE
)

MedgeInquire(
InquireType =
M_SAVE_ANGLE
)
EdgeFinder
ImageFeature
Angle
Synopsis
Returns or sets whether the internal angle image used when extracting edges is saved.
[]
Syntax
object.Angle [= Boolean]
[]
Syntax
object->Angle [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the internal angle image is saved. (default is False)
Value | Meaning
True | Saves the internal angle image.
False | Does not save the internal angle image.
Remark
  • Each angle value refers to the perpendicular direction of the edge at the edgel position. Note that the angle value is not meaningful in the whole image; it is only meaningful for edgels whose magnitude value is above the lower bound threshold value.


EdgeFinder.ImageFeature.Derivatives Property

Derivatives property

Availability | MIL Equivalent | Angle | Magnitude
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_SAVE_DERIVATIVES
)

MedgeInquire(
InquireType =
M_SAVE_DERIVATIVES
)
EdgeFinder
ImageFeature
Derivatives
Synopsis
Returns or sets whether the internal derivative images used when extracting edges is saved.
[]
Syntax
object.Derivatives [= Boolean]
[]
Syntax
object->Derivatives [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the internal derivative images is saved. (default is False)
Value | Meaning
True | Saves the internal derivative images.
False | Does not save the internal derivative images.
Remark
  • This property saves the internal first, second, and cross derivative images.


EdgeFinder.ImageFeature.Magnitude Property

Magnitude property

See Also | Availability | MIL Equivalent | Derivatives | Mask
Reference:
EdgeFinder.EdgeType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_SAVE_MAGNITUDE
)

MedgeInquire(
InquireType =
M_SAVE_MAGNITUDE
)
EdgeFinder
ImageFeature
Magnitude
Synopsis
Returns or sets whether the internal magnitude image used when extracting edges is saved.
[]
Syntax
object.Magnitude [= Boolean]
[]
Syntax
object->Magnitude [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the internal magnitude image is saved. (default is False)
Value | Meaning
True | Saves the internal magnitude image.
False | Does not save the internal magnitude image.
Remarks
  • If the EdgeType property is set to edgeContour, the magnitude is the norm of the gradient vector at the edgel position.
  • If the EdgeType property is set to edgeCrest, the magnitude is equal to the maximum Eigen value of the Hessian matrix at the edgel position.


EdgeFinder.ImageFeature.Mask Property

Mask property

See Also | Availability | MIL Equivalent | Magnitude | Source
Reference:
EdgeFinder.Mask
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_SAVE_MASK
)

MedgeInquire(
InquireType =
M_SAVE_MASK
)
EdgeFinder
ImageFeature
Mask
Synopsis
Returns or sets whether the mask image used to ignore edges is saved.
[]
Syntax
object.Mask [= Boolean]
[]
Syntax
object->Mask [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the mask image is saved. (default is False)
Value | Meaning
True | Saves the mask image.
False | Does not save the mask image.


EdgeFinder.ImageFeature.Source Property

Source property

Availability | MIL Equivalent | Mask
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_SAVE_IMAGE
)

MedgeInquire(
InquireType =
M_SAVE_IMAGE
)
EdgeFinder
ImageFeature
Source
Synopsis
Returns or sets whether the source image used to extract edges from is saved.
[]
Syntax
object.Source [= Boolean]
[]
Syntax
object->Source [= VARIANT_BOOL]
Type description
A boolean value (default is False)
Value | Meaning
True | Saves the source image.
False | Does not save the source image.


EdgeFinder.ImageName Property

ImageName property

See Also | Availability | MIL Equivalent | ImageFeature | IsAllocated
Reference:
EdgeFinder.Calculate
EdgeFinder.Image
Image.CanProcess
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeCalculate(SourceImageId)
EdgeFinder
ImageName
Synopsis
Returns or sets the name of the source image containing the edges to extract.
[]
Syntax
object.ImageName [= String]
[]
Syntax
object->ImageName [= _bstr_t]
Type description
A string expression that specifies the name of the source image from which to extract edges.
Remarks
  • Edges are extracted by calling the Calculate method.
  • The source image must be 1-band 8-bit unsigned or 1-band 32-bit float. When the source image is 32-bit float, floating precision calculations are performed.
  • To remove the reference to the current control without assigning a new control, specify an empty string ("").
  • The image must have its CanProcess property set to True.
  • The source image can also be specified using the Image property.
  • This property automatically sets the Image property.


EdgeFinder.IsAllocated Property

IsAllocated property

Availability | MIL Equivalent | ImageName | MagnitudeType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeInquire()
EdgeFinder
IsAllocated
Synopsis
Returns whether the resources of the EdgeFinder control are allocated.
[]
Syntax
[Boolean =] object.IsAllocated
[]
Syntax
[VARIANT_BOOL =] object->IsAllocated
Type description
A boolean value that specifies whether the control is allocated.
Value | Meaning
True | The resources of the control are allocated.
False | The resources of the control are not allocated.


EdgeFinder.MagnitudeType Property

MagnitudeType property

Availability | MIL Equivalent | IsAllocated | MaskSizeX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_MAGNITUDE_TYPE
)

MedgeInquire(
InquireType =
M_MAGNITUDE_TYPE
)
EdgeFinder
MagnitudeType
Synopsis
Returns or sets the type of magnitude used to extract edges.
[]
Syntax
object.MagnitudeType [= EdgeMagnitudeTypeConstants]
[]
Syntax
object->MagnitudeType [= enum EdgeMagnitudeTypeConstants]
Type description
An EdgeMagnitudeTypeConstants expression that specifies the magnitude type used in an edge extraction. (default is edgeSquareOfNorm)
Value | Meaning
edgeSquareOfNorm | Edges are extracted using the square of the gradient norm.
edgeNorm | Edges are extracted using the gradient norm.
Remark
  • The edgeSquareOfNorm setting optimizes the edge extraction operation; that is, it is faster than edgeNorm, while still preserving a very good edgel position accuracy.


EdgeFinder.MaskSizeX Property

MaskSizeX property

See Also | Availability | MIL Equivalent | MagnitudeType | MaskSizeY
Reference:
EdgeFinder.Mask
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeInquire(
InquireType =
M_MASK_SIZE_X
)
EdgeFinder
MaskSizeX
Synopsis
Returns the X-size of the mask.
[]
Syntax
[Integer =] object.MaskSizeX
[]
Syntax
[long =] object->MaskSizeX
Type description
A long value that specifies the mask's width.
Remark
  • To specify the mask image, use the Mask method.


EdgeFinder.MaskSizeY Property

MaskSizeY property

See Also | Availability | MIL Equivalent | MaskSizeX | MilID
Reference:
EdgeFinder.Mask
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeInquire(
InquireType =
M_MASK_SIZE_Y
)
EdgeFinder
MaskSizeY
Synopsis
Returns the Y-size of the mask.
[]
Syntax
[Integer =] object.MaskSizeY
[]
Syntax
[long =] object->MaskSizeY
Type description
A long value that specifies the mask's height.
Remark
  • To specify the mask image, use the Mask method.


EdgeFinder.MilID Property

MilID property

See Also | Availability | MIL Equivalent | MaskSizeY | ModelFinderCompatible
User Guide:
Integrating MIL functions into your ActiveMIL code.

Reference:
EdgeFinder.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeAlloc(ContextIdPtr)
EdgeFinder
MilID
Synopsis
Returns the Native MIL identifier of the allocated resources of the EdgeFinder control.
[]
Syntax
[Integer =] object.MilID
[]
Syntax
[long =] object->MilID
Type description
A long value that specifies the control's Native MIL identifier.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • The control's Modified method should be called after making Native MIL call(s) on the returned identifier.
  • If the control's IsAllocated property is False, the MilID property will be 0.


EdgeFinder.ModelFinderCompatible Property

ModelFinderCompatible property

Availability | MIL Equivalent | MilID | ModificationCount
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_MODEL_FINDER_COMPATIBLE
)

MedgeInquire(
InquireType =
M_MODEL_FINDER_COMPATIBLE
)
EdgeFinder
ModelFinderCompatible
Synopsis
Returns or sets whether the EdgeFinder control can be used with a ModelFinder control.
[]
Syntax
object.ModelFinderCompatible [= Boolean]
[]
Syntax
object->ModelFinderCompatible [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the EdgeFinder control and a Model Finder control can be used together. (default is False)
Value | Meaning
True | Specifies the EdgeFinder control can be used with a ModelFinder control.
False | Specifies the EdgeFinder control cannot be used with a ModelFinder control.
Remark
  • When the EdgeFinder control is used with a ModelFinder control, you can define models from the result of an edge extraction, or you can find model occurrences in the result of an edge extraction.


EdgeFinder.ModificationCount Property

ModificationCount property

Availability | MIL Equivalent | ModelFinderCompatible | Name
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeInquire(M_MODIFICATION_COUNT)
EdgeFinder
ModificationCount
Synopsis
Returns the current value of the modification counter.
[]
Syntax
[Integer =] object.ModificationCount
[]
Syntax
[long =] object->ModificationCount
Type description
A long value that specifies the modification counter's current value.
Remarks
  • The modification counter is increased by one each time a modification is made to the EdgeFinder control's context operation settings.
  • The modification counter is initialized to a number that is unique to the EdgeFinder control and is given its own unique range.
  • If the EdgeFinder control is freed, this number will not be assigned to a new EdgeFinder control.
  • This property can be useful when designing your application. For example, if the modification counter has changed, you can prompt the user to save before closing the application.


EdgeFinder.Name Property

Name property

Availability | MIL Equivalent | ModificationCount | NearestNeighbors
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeAlloc(ContextIdPtr)
EdgeFinder
Name
Synopsis
Returns or sets the name used in code to identify the EdgeFinder control.
[]
Syntax
object.Name [= String]
[]
Syntax
object->Name [= _bstr_t]
Type description
A string expression that specifies the name of the EdgeFinder control.
Remarks
  • This property cannot be set at run-time.
  • The default name for a new control is the type of control plus a unique integer. For example, the first new EdgeFinder control you create on a form is named EdgeFinder1 and the second EdgeFinder control is named EdgeFinder2.
  • A control's Name property must start with a letter and can be a maximum of 40 characters. It can include numbers and underscore (_) characters but cannot include spaces or punctuation. Although the Name property setting can be a keyword, property name, or the name of another object, it can create conflicts in your code.
  • You can create an array of EdgeFinder controls by setting the Name property to the same value.
  • []
     Note that two different types of controls cannot share the same name.


EdgeFinder.NearestNeighbors Property

NearestNeighbors property

See Also | Availability | MIL Equivalent | Name | NumberOfFeretAngles
Reference:
EdgeFinder.ApplyFilter
EdgeFinder.Calculate
EdgeFinder.NearestNeighbors.GetNeighbors
EdgeFinder.NearestNeighbors.GetNeighborsInUserArrays
EdgeFinder.NearestNeighbors.IsNeighborsPresent
EdgeFinder.NearestNeighbors.SourcePoints.Item.Neighbors
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetNeighbors()

MedgeControl(
ControlType =
M_NEIGHBOR_ANGLE or
M_NEIGHBOR_ANGLE_TOLERANCE or
M_NEIGHBOR_MAXIMUM_NUMBER or
M_NEIGHBOR_MINIMUM_SPACING or
M_SEARCH_ANGLE or
M_SEARCH_ANGLE_ENABLED or
M_SEARCH_ANGLE_SIGN or
M_SEARCH_ANGLE_TOLERANCE or
M_SEARCH_RADIUS_MAX or
M_SEARCH_RADIUS_MIN
)

MedgeInquire(
InquireType =
M_NEIGHBOR_ANGLE or
M_NEIGHBOR_ANGLE_TOLERANCE or
M_NEIGHBOR_MAXIMUM_NUMBER or
M_NEIGHBOR_MINIMUM_SPACING or
M_SEARCH_ANGLE or
M_SEARCH_ANGLE_ENABLED or
M_SEARCH_ANGLE_SIGN or
M_SEARCH_ANGLE_TOLERANCE or
M_SEARCH_RADIUS_MAX or
M_SEARCH_RADIUS_MIN
)
EdgeFinder
NearestNeighbors
Properties: Angle, AngleTolerance, EdgelType, IsNeighborsPresent, MaximumNumberOfEdgels, MaximumSearchRadius, MinimumSearchRadius, MinimumSpacing, SearchAngle, SearchAngleEnabled, SearchAngleSign, SearchAngleTolerance, SourcePoints

Methods: GetNeighbors, GetNeighborsInUserArrays
Synopsis
Returns the collection of nearest neighbors available to the EdgelFinder control, allowing access to its elements.
[]
Syntax
[EdgeNearestNeighbors =] object.NearestNeighbors
[]
Syntax
[IEdgeNearestNeighborsPtr =] object->NearestNeighbors
Type description
An EdgeNearestNeighbors expression that represents an instance of an EdgeNearestNeighbors collection.
Remarks
  • You cannot assign another EdgeNearestNeighbors object to this property.
  • This property is used when finding the closest edgels to a list of points.
  • After a call to the Calculate or ApplyFilter method, the nearest neighbors contained in the NearestNeighbors.SourcePoints.Item.Neighbors collection are no longer synchronized with the current EdgeFinder results. You must therefore call the NearestNeighbors.GetNeighbors or NearestNeighbors.GetNeighborsInUserArrays method to find the nearest neighbors in the current set of EdgeFinder results. Note that the NearestNeighbors.IsNeighborsPresent property returns whether the current neighbors in the collection are synchronized with the current results.
[]
Example
This example shows how to set source points and get their nearest neighbors.

' Declare source points arrays
Dim SPArrayX(1) As Double
Dim SPArrayY(1) As Double
Dim SPArrayAngle(1) As Double

' Add source points in arrays
SPArrayX(0) = 295
SPArrayY(0) = 211
SPArrayAngle(0) = 22
SPArrayX(1) = 121
SPArrayY(1) = 150
SPArrayAngle(1) = 15

' Add all the source points to the edge control at the same time
AMEdgeContext.NearestNeighbors.SourcePoints.AddMultiple(SPArrayX, _
                                            SPArrayY, SPArrayAngle)

' Number of source points added
Dim NbSourcePts As Long
NbSourcePts = AMEdgeContext.NearestNeighbors.SourcePoints.Count()
' The maximum number of neighbors found is equal to the number of
' source(points) multiplied by the maximum number of neighbors that
' can be found for each source point
Dim MaxNbNeighborsFound = _
   NbSourcePts * AMEdgeContext.NearestNeighbors.MaximumNumberOfEdgels

' Declare user arrays to get neighbors
Dim UserXArray(MaxNbNeighborsFound) As Double
Dim UserYArray(MaxNbNeighborsFound) As Double
Dim UserIndexArray(MaxNbNeighborsFound) As Integer
Dim UserLabelArray(MaxNbNeighborsFound) As Integer

AMEdgeContext.NearestNeighbors.GetNeighborsInUserArrays(SPArrayX, _
   SPArrayY, SPArrayAngle, UserXArray, UserYArray, UserIndexArray, _
   UserLabelArray)

' Get neighbors in
' AMEdgeContext.NearestNeighbors.SourcePoints.Item(index).Neighbors
' collection of each source point
AMEdgeContext.NearestNeighbors.GetNeighbors()
Dim AMILArrayValue As Integer
Dim AMILCollectionValue As Integer
Dim NbNeighbors As Integer

For i = 1 To NbSourcePts
   ' Number of source points found for source point number "i"
   NbNeighbors = _
    AMEdgeContext.NearestNeighbors.SourcePoints.Item(i).Neighbors.Count()
   For j = 1 To NbNeighbors
      ' AMIL collection is one-based
      AMILCollectionValue = _
        AMEdgeContext.NearestNeighbors.SourcePoints.Item(i).Neighbors.Item(j).X
      ' Array are zero-based
      AMILArrayValue = UserXArray(i + j - 2)
      Next j
   Next i


EdgeFinder.NearestNeighbors.Angle Property

Angle property

See Also | Availability | MIL Equivalent | AngleTolerance
Reference:
EdgeFinder.ImageFeature.Angle
EdgeFinder.NearestNeighbors.AngleTolerance
EdgeFinder.NearestNeighbors.SourcePoints.Item.Angle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_NEIGHBOR_ANGLE
)

MedgeInquire(
InquireType =
M_NEIGHBOR_ANGLE
)
EdgeFinder
NearestNeighbors
Angle
Synopsis
Returns or sets the gradient angle that an edgel must have, before being considered a closest edgel candidate.
[]
Syntax
object.Angle [= EdgeAngleConstants]
[]
Syntax
object->Angle [= enum EdgeAngleConstants]
Type description
An EdgeAngleConstants expression that specifies the required gradient angle for edgel candidates. (default is edgeAngleAny)
Value | Meaning
edgeAngleSame | The gradient angle of the edgel candidate must have the same angle as the source point.
edgeAngleReverse | The gradient angle of the edgel candidate must have the reverse angle (+ 180°) of the source point.
edgeAngleSameOrReverse | The gradient angle of the edgel candidate must either have the same, or the reverse angle of the source point.
edgeAngleAny | The edgel candidate can have any gradient angle.
Remarks
  • This property is used when finding the closest edgels to a list of points.
  • This property's setting is based on a source angle, which you must provide for each source point, with the NearestNeighbors.SourcePoints.Item(Index).Angle property.
  • You can set a tolerance for this property's setting with the NearestNeighbors.AngleTolerance property. Only edgels that have a gradient angle that falls within this angular range can be returned.
  • Setting this property to edgeAngleAny is equivalent to setting the NearestNeighbors.AngleTolerance property to 360.0°. In this case, you need not provide the source angles with the NearestNeighbors.SourcePoints.Item(Index).Angle property.
  • This property is only valid if the ImageFeature.Angle property was set to True.


EdgeFinder.NearestNeighbors.AngleTolerance Property

AngleTolerance property

See Also | Availability | MIL Equivalent | Angle | EdgelType
Reference:
EdgeFinder.NearestNeighbors.Angle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_NEIGHBOR_ANGLE_TOLERANCE
)

MedgeInquire(
InquireType =
M_NEIGHBOR_ANGLE_TOLERANCE
)
EdgeFinder
NearestNeighbors
AngleTolerance
Synopsis
Returns or sets the angular tolerance to use for the angle constraint.
[]
Syntax
object.AngleTolerance [= Double]
[]
Syntax
object->AngleTolerance [= double]
Type description
A double value, between 0.0° - 360.0°, that specifies the tolerance of the gradient angle applied to the closest edgel candidates. (default is 180.0°)
Remarks
  • This property is used when finding the closest edgels to a list of points.
  • The tolerance set with this property is applied to the angle constraint, which you can set with the NearestNeighbors.Angle property. Only edgels that have a gradient angle that falls within this angular range can be returned.
  • Setting this property to 360.0° is equivalent to setting the NearestNeighbors.Angle property to edgeAngleAny.
  • This property is ignored if the NearestNeighbors.Angle property is set to edgeAngleAny.


EdgeFinder.NearestNeighbors.EdgelType Property

EdgelType property

See Also | Availability | MIL Equivalent | AngleTolerance | IsNeighborsPresent
Reference:
EdgeFinder.NearestNeighbors.MaximumNumberOfEdgels
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetNeighbors(ControlFlag)
EdgeFinder
NearestNeighbors
EdgelType
Synopsis
Returns or sets the accuracy with which to return edgels.
[]
Syntax
object.EdgelType [= EdgeEdgelTypeConstants]
[]
Syntax
object->EdgelType [= enum EdgeEdgelTypeConstants]
Type description
An EdgeEdgelTypeConstants value that specifies the required accuracy. (default is edgeEdgels)
Value | Meaning
edgeEdgels | Edgels are returned with normal accuracy.
edgeSubEdgels | Edgels are returned with high accuracy.
Remarks
  • This property is used when finding the closest edgels to a list of points.
  • When this property is set to edgeEdgels, only edgels explicitly located in the EdgeFinder results can be returned.
  • When this property is set to edgeSubEdgels, a point between two edgels can be returned.
  • This property is only valid if the NearestNeighbors.MaximumNumberOfEdgels property is set to 1.


EdgeFinder.NearestNeighbors.IsNeighborsPresent Property

IsNeighborsPresent property

See Also | Availability | MIL Equivalent | EdgelType | MaximumNumberOfEdgels
Reference:
EdgeFinder.ApplyFilter
EdgeFinder.Calculate
EdgeFinder.NearestNeighbors.GetNeighbors
EdgeFinder.NearestNeighbors.GetNeighborsInUserArrays
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
NearestNeighbors
IsNeighborsPresent
Synopsis
Returns whether the current neighbors in the collection are synchronized with the current results.
[]
Syntax
object.IsNeighborsPresent [= Boolean]
[]
Syntax
object->IsNeighborsPresent [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the current neighbors and the current results are synchronized.
Value | Meaning
True | The current neighbors and the current results are synchronized.
False | The current neighbors and the current results are not synchronized.
Remarks
  • This property is used when finding the closest edgels to a list of points.
  • If you call the GetNeighbors or GetNeighborsInUserArrays method, the nearest neighbors are found in the current set of results, and therefore this property is set to True. However, if you then change the results by adding or removing source points (for example, by calling the Calculate or ApplyFilter method), the nearest neighbors are no longer those in the current set of results, and therefore this property is set to False.


EdgeFinder.NearestNeighbors.MaximumNumberOfEdgels Property

MaximumNumberOfEdgels property

Availability | MIL Equivalent | IsNeighborsPresent | MaximumSearchRadius
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_NEIGHBOR_MAXIMUM_NUMBER
)

MedgeInquire(
InquireType =
M_NEIGHBOR_MAXIMUM_NUMBER
)
EdgeFinder
NearestNeighbors
MaximumNumberOfEdgels
Synopsis
Returns or sets the maximum number of edgels that can be returned, for each source point.
[]
Syntax
object.MaximumNumberOfEdgels [= Integer]
[]
Syntax
object->MaximumNumberOfEdgels [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies, for each source point, the maximum number of edgels that can be returned. The default value is 1.
Remark
  • This property is used when finding the closest edgels to a list of points.


EdgeFinder.NearestNeighbors.MaximumSearchRadius Property

MaximumSearchRadius property

See Also | Availability | MIL Equivalent | MaximumNumberOfEdgels | MinimumSearchRadius
Reference:
EdgeFinder.NearestNeighbors.MinimumSearchRadius
EdgeFinder.NearestNeighbors.SourcePoints.Add
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_SEARCH_RADIUS_MAX
)

MedgeInquire(
InquireType =
M_SEARCH_RADIUS_MAX
)
EdgeFinder
NearestNeighbors
MaximumSearchRadius
Synopsis
Returns or sets the maximum radius distance in the EdgeFinder results that will be searched.
[]
Syntax
object.MaximumSearchRadius [= Double]
[]
Syntax
object->MaximumSearchRadius [= double]
Type description
A double value or an EdgeInfiniteConstants expression that specifies the maximum radius distance. (default is edgeInfinite)
Value | Meaning
edgeInfinite | The maximum distance radius spans all edgels in the EdgeFinder results.
value | The maximum distance radius value.
Remarks
  • This property is used when finding the closest edgels to a list of points.
  • The maximum distance radius value is set in pixels.
  • You can use the NearestNeighbors.SourcePoints.Add property to set the source point from which the radius is measured.
  • Used together, the NearestNeighbors.MaximumSearchRadius and the NearestNeighbors.MinimumSearchRadius properties define a ring-like region, in the EdgeFinder results, that will be used to find the closest edgels. All edgels that fall outside this ring will be ignored.


EdgeFinder.NearestNeighbors.MinimumSearchRadius Property

MinimumSearchRadius property

See Also | Availability | MIL Equivalent | MaximumSearchRadius | MinimumSpacing
Reference:
EdgeFinder.NearestNeighbors.MaximumSearchRadius
EdgeFinder.NearestNeighbors.SourcePoints.Add
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_SEARCH_RADIUS_MIN
)

MedgeInquire(
InquireType =
M_SEARCH_RADIUS_MIN
)
EdgeFinder
NearestNeighbors
MinimumSearchRadius
Synopsis
Returns or sets the minimum radius distance in the EdgeFinder results that will be searched.
[]
Syntax
object.MinimumSearchRadius [= Double]
[]
Syntax
object->MinimumSearchRadius [= double]
Type description
A double value that specifies the minimum radius distance, in pixels. (default is 0)
Remarks
  • This property is used when finding the closest edgels to a list of points.
  • You can use the NearestNeighbors.SourcePoints.Add property to set the source point from which the radius is measured.
  • Used together, the NearestNeighbors.MinimumSearchRadius and the NearestNeighbors.MaximumSearchRadius properties define a ring-like region, in the EdgeFinder results, that will be used to find the closest edgels. All edgels that fall outside this ring will be ignored.


EdgeFinder.NearestNeighbors.MinimumSpacing Property

MinimumSpacing property

Availability | MIL Equivalent | MinimumSearchRadius | SearchAngle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_NEIGHBOR_MINIMUM_SPACING
)

MedgeInquire(
InquireType =
M_NEIGHBOR_MINIMUM_SPACING
)
EdgeFinder
NearestNeighbors
MinimumSpacing
Synopsis
Returns or sets the minimum distance separating closest edgel candidates within the same edge.
[]
Syntax
object.MinimumSpacing [= Double]
[]
Syntax
object->MinimumSpacing [= double]
Type description
A double value or an EdgeInfiniteConstants expression that specifies the minimum distance. (default is edgeInfinite)
Value | Meaning
edgeInfinite | No minimum distance separating two edgel candidates.
value | The minimum distance value separating two edgel candidates.
Remarks
  • This property is used when finding the closest edgels to a list of points.
  • The minimum distance value is set in edgels.
  • The minimum distance value must be greater than or equal to 1.


EdgeFinder.NearestNeighbors.SearchAngle Property

SearchAngle property

See Also | Availability | MIL Equivalent | MinimumSpacing | SearchAngleEnabled
Reference:
EdgeFinder.NearestNeighbors.SearchAngleSign
EdgeFinder.NearestNeighbors.SearchAngleTolerance
EdgeFinder.NearestNeighbors.SourcePoints.Add
EdgeFinder.NearestNeighbors.SourcePoints.Add
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_SEARCH_ANGLE
)

MedgeInquire(
InquireType =
M_SEARCH_ANGLE
)
EdgeFinder
NearestNeighbors
SearchAngle
Synopsis
Returns or sets the search angle constraint.
[]
Syntax
object.SearchAngle [= Double]
[]
Syntax
object->SearchAngle [= double]
Type description
A double value, between 0.0° - 360.0°, that specifies the angle of search that is applied to the EdgeFinder results. (default is 0.0°)
Remarks
  • If NearestNeighbors.SearchAngleEnabled is set, this property is used when finding the closest edgels to a list of points.
  • The angle set with this property is relative to the source angle, which you can provide when calling the NearestNeighbors.SourcePoints.Add method.
  • You can set a tolerance and orientation for the angle set with this property. To do so, use the NearestNeighbors.SearchAngleTolerance and NearestNeighbors.SearchAngleSign properties.
  • This property, in addition to the NearestNeighbors.SearchAngleTolerance and NearestNeighbors.SearchAngleSign properties, establishes the ROI (Region of Interest) in the EdgeFinder results. Only edgels within this ROI will be considered the nearest neighbors.


EdgeFinder.NearestNeighbors.SearchAngleEnabled Property

SearchAngleEnabled property

See Also | Availability | MIL Equivalent | SearchAngle | SearchAngleSign
Reference:
EdgeFinder.NearestNeighbors.SearchAngle
EdgeFinder.NearestNeighbors.SearchAngleSign
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
NearestNeighbors
SearchAngleEnabled
Synopsis
Returns whether the search angle is used for finding nearest neighbors.
[]
Syntax
object.SearchAngleEnabled [= Boolean]
[]
Syntax
object->SearchAngleEnabled [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the NearestNeighbors.SearchAngle constraint is used in finding the nearest edgels to a point.
Value | Meaning
True | The search angle constraint will be used .
False | The search angle constraint will not be used.
Remark
  • This property is used when finding the closest edgels to a list of points.


EdgeFinder.NearestNeighbors.SearchAngleSign Property

SearchAngleSign property

See Also | Availability | MIL Equivalent | SearchAngleEnabled | SearchAngleTolerance
Reference:
EdgeFinder.NearestNeighbors.SearchAngle
EdgeFinder.NearestNeighbors.SearchAngleEnabled
EdgeFinder.NearestNeighbors.SearchAngleTolerance
EdgeFinder.NearestNeighbors.SourcePoints.Add
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_SEARCH_ANGLE_SIGN
)

MedgeInquire(
InquireType =
M_SEARCH_ANGLE_SIGN
)
EdgeFinder
NearestNeighbors
SearchAngleSign
Synopsis
Returns or sets the orientation to use for the search angle constraint.
[]
Syntax
object.SearchAngleSign [= EdgeDirectionSignConstants]
[]
Syntax
object->SearchAngleSign [= enum EdgeDirectionSignConstants]
Type description
An EdgeDirectionSignConstants expression that specifies the orientation of the angle of search that is applied to the EdgeFinder results. (default is edgeSearchAngleSignSame)
Value | Meaning
edgeSearchAngleSignSame | The orientation of the angle must be the same as the source angle.
edgeSearchAngleSignReverse | The orientation of the angle must be the reverse (+ 180°) of the source angle.
edgeSearchAngleSignSameOrReverse | The orientation of the angle can be the same as, or the reverse of, the source angle.
Remarks
  • This property is used when finding the closest edgels to a list of points.
  • The orientation set with this property is relative to the source angle, which you can provide when calling the NearestNeighbors.SourcePoints.Add method.
  • If you set this property to edgeSearchAngleSignReverse, the angle used will look flipped when compared to the source angle. For example, if the reference angle is 45°, then the reverse orientation would be 225°.
  • If NearestNeighbors.SearchAngleEnabled is enabled you can set an angle and tolerance for the orientation set with this property. To do so, use the NearestNeighbors.SearchAngle and NearestNeighbors.SearchAngleTolerance properties.
  • This property, in addition to the NearestNeighbors.SearchAngle and NearestNeighbors.SearchAngleTolerance properties, establishes the ROI (Region of Interest) in the EdgeFinder results. Only edgels within this ROI will be considered the nearest neighbors.


EdgeFinder.NearestNeighbors.SearchAngleTolerance Property

SearchAngleTolerance property

See Also | Availability | MIL Equivalent | SearchAngleSign | SourcePoints
Reference:
EdgeFinder.NearestNeighbors.SearchAngle
EdgeFinder.NearestNeighbors.SearchAngleEnabled
EdgeFinder.NearestNeighbors.SearchAngleSign
EdgeFinder.NearestNeighbors.SourcePoints.Add
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_SEARCH_ANGLE_TOLERANCE
)

MedgeInquire(
InquireType =
M_SEARCH_ANGLE_TOLERANCE
)
EdgeFinder
NearestNeighbors
SearchAngleTolerance
Synopsis
Returns or sets the angular tolerance to use for the search angle constraint.
[]
Syntax
object.SearchAngleTolerance [= Double]
[]
Syntax
object->SearchAngleTolerance [= double]
Type description
A double value, between 0.0° - 360.0°, that specifies the tolerance of the angle of search that is applied to the EdgeFinder results. (default is 360.0°)
Remarks
  • This property is used when finding the closest edgels to a list of points.
  • The tolerance set with this property is relative to the source angle, which you can provide when calling the NearestNeighbors.SourcePoints.Add method.
  • You can set an angle and orientation for the tolerance set with this property. To do so, make sure NearestNeighbors.SearchAngleEnabled is set and use the NearestNeighbors.SearchAngle and NearestNeighbors.SearchAngleSign properties.
  • This property, in addition to the NearestNeighbors.SearchAngle and NearestNeighbors.SearchAngleSign properties, establishes the ROI (Region of Interest) in the EdgeFinder results. Only edgels within this ROI will be considered the nearest neighbors.


EdgeFinder.NearestNeighbors.SourcePoints Property

SourcePoints property

Availability | MIL Equivalent | SearchAngleTolerance | GetNeighbors
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
NearestNeighbors
SourcePoints
Properties: Count, Item

Methods: Add, AddMultiple, Remove
Synopsis
Allows you to specify or determine the source points used to find the nearest neighbors.
[]
Syntax
[EdgeSourcePoints =] object.SourcePoints
[]
Syntax
[IEdgeSourcePointsPtr =] object->SourcePoints
Type description
An EdgeSourcePoints object.
Remarks
  • This property is used when finding the closest edgels to a list of points.
  • You cannot assign another EdgeSourcePoints object to this property.


EdgeFinder.NearestNeighbors.SourcePoints.Count Property

Count property

Availability | MIL Equivalent | Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
NearestNeighbors
SourcePoints
Count
Synopsis
Returns the number of elements in the collection of source points.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of elements currently in the collection.
Remark
  • This property is used when finding the closest edgels to a list of points.


EdgeFinder.NearestNeighbors.SourcePoints.Item Property

Item property

Availability | MIL Equivalent | Count | Add
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
NearestNeighbors
SourcePoints
Item
Properties: Angle, Neighbors, X, Y
Synopsis
Returns the element at the specified index in the collection of source points.
[]
Syntax
[EdgeSourcePoint=]object.Item(
Index As Integer
)
[]
Syntax
[IEdgeSourcePointPtr =] object->Item(
long Index
)
Index
A longintegerlong (integer for Visual Basic .Net) value that specifies the index of the required element.
Type description
An EdgeSourcePoint object.
Remark
  • This property is used when finding the closest edgels to a list of points.


EdgeFinder.NearestNeighbors.SourcePoints.Item.Angle Property

Angle property

See Also | Availability | MIL Equivalent | Neighbors
Reference:
EdgeFinder.NearestNeighbors.SourcePoints.Add
EdgeFinder.NearestNeighbors.SourcePoints.AddMultiple
EdgeFinder.NearestNeighbors.SourcePoints.Item.Neighbors.Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
NearestNeighbors
SourcePoints
Item
Angle
Synopsis
Returns the angle associated with each source point.
[]
Syntax
object.Angle [= Double]
[]
Syntax
object->Angle [= double]
Type description
A double value, between 0.0° - 360.0°, that specifies the angle of the source point, in degrees. (default is 0.0°)
Remarks
  • This property is used when finding the closest edgels to a list of points. This property returns the angle constraint of a point in that list. The angle constraint can be used to refine the search for edgel candidates.
  • To add a new source point, use the NearestNeighbors.SourcePoints.Add or NearestNeighbors.SourcePoints.AddMultiple method.
  • The nearest neighbor of the source point can be obtained with the NearestNeighbors.SourcePoints.Item(Index).Neighbors.Item(Index) property.


EdgeFinder.NearestNeighbors.SourcePoints.Item.Neighbors Property

Neighbors property

See Also | Availability | MIL Equivalent | Angle | X
Reference:
EdgeFinder.ApplyFilter
EdgeFinder.Calculate
EdgeFinder.NearestNeighbors.GetNeighbors
EdgeFinder.NearestNeighbors.GetNeighborsInUserArrays
EdgeFinder.NearestNeighbors.IsNeighborsPresent
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
NearestNeighbors
SourcePoints
Item
Neighbors
Properties: Count, Item
Synopsis
Returns the collection of nearest neighbors available to the EdgeFinder control, allowing access to its elements.
[]
Syntax
[EdgeSourcePointNeighbors =] object.Neighbors
[]
Syntax
[IEdgeSourcePointNeighborsPtr =] object->Neighbors
Type description
An EdgeSourcePointNeighbors expression that represents an instance of an EdgeSourcePointNeighbors collection.
Remarks
  • This property is used when finding the closest edgels to a list of points.
  • After a call to the Calculate or ApplyFilter method, the nearest neighbors contained in the NearestNeighbors.SourcePoints.Item.Neighbors collection are no longer synchronized with the current EdgeFinder results. You must therefore call the NearestNeighbors.GetNeighbors or NearestNeighbors.GetNeighborsInUserArrays method to find the nearest neighbors in the current set of EdgeFinder results. Note that the NearestNeighbors.IsNeighborsPresent property returns whether the current neighbors in the collection are synchronized with the current results.


EdgeFinder.NearestNeighbors.SourcePoints.Item.Neighbors.Count Property

Count property

Availability | MIL Equivalent | Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
NearestNeighbors
SourcePoints
Item
Neighbors
Count
Synopsis
Returns the number of elements in the collection of neighbors.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of elements currently in the collection.
Remark
  • This property is used when finding the closest edgels to a list of points.


EdgeFinder.NearestNeighbors.SourcePoints.Item.Neighbors.Item Property

Item property

Availability | MIL Equivalent | Count
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
NearestNeighbors
SourcePoints
Item
Neighbors
Item
Properties: ChainLabel, EdgelIndex, X, Y
Synopsis
Returns the element at the specified index in the collection of nearest neighbors.
[]
Syntax
[EdgeSourcePointNeighbor=]object.Item(
Index As Integer
)
[]
Syntax
[IEdgeSourcePointNeighborPtr =] object->Item(
long Index
)
Index
A longintegerlong (integer for Visual Basic .Net) value that specifies the index of the required element.
Type description
An EdgeSourcePointNeighbor object.
Remark
  • This property is used when finding the closest edgels to a list of points.
[]
Example
This example shows how to set source points, find their nearest neighbors and get them one by one.

' Declare source points arrays
Dim SPArrayX(1) As Double
Dim SPArrayY(1) As Double
Dim SPArrayAngle(1) As Double

' Add source points in arrays
SPArrayX(0) = 295
SPArrayY(0) = 211
SPArrayAngle(0) = 22
SPArrayX(1) = 121
SPArrayY(1) = 150
SPArrayAngle(1) = 15

' Add all the source points to the edge control at the same time
AMEdgeContext.NearestNeighbors.SourcePoints.AddMultiple(SPArrayX, _
                                            SPArrayY, SPArrayAngle)

' Number of source points added
Dim NbSourcePts As Long
NbSourcePts = AMEdgeContext.NearestNeighbors.SourcePoints.Count()

' Get neighbors in
' AMEdgeContext.NearestNeighbors.SourcePoints.Item(index).Neighbors
' collection of each source point
AMEdgeContext.NearestNeighbors.GetNeighbors()
Dim AMILCollectionValue As Integer
Dim NbNeighbors As Integer

For i = 1 To NbSourcePts
   ' Number of source points found for source point number "i"
   NbNeighbors = _
    AMEdgeContext.NearestNeighbors.SourcePoints.Item(i).Neighbors.Count()
   For j = 1 To NbNeighbors
      ' AMIL collection is one-based
      AMILCollectionValue = _
        AMEdgeContext.NearestNeighbors.SourcePoints.Item(i).Neighbors.Item(j).X
        Next j
     Next i


EdgeFinder.NearestNeighbors.SourcePoints.Item.Neighbors.Item.ChainLabel Property

ChainLabel property

Availability | MIL Equivalent | EdgelIndex
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
NearestNeighbors
SourcePoints
Item
Neighbors
Item
ChainLabel
Synopsis
Returns the label of the edges from which the closest edgels in the EdgeFinder results was found.
[]
Syntax
[Double =] object.ChainLabel
[]
Syntax
[double =] object->ChainLabel
Type description
A double value that specifies the label of the edges containing the closest edgels.
Remarks
  • This property is used when finding the closest edgels to a list of points.
  • This property is only valid after calling the NearestNeighbors.GetNeighbors method.


EdgeFinder.NearestNeighbors.SourcePoints.Item.Neighbors.Item.EdgelIndex Property

EdgelIndex property

Availability | MIL Equivalent | ChainLabel | X
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
NearestNeighbors
SourcePoints
Item
Neighbors
Item
EdgelIndex
Synopsis
Returns the index of the closest edgels found in the EdgeFinder results.
[]
Syntax
[Double =] object.EdgelIndex
[]
Syntax
[double =] object->EdgelIndex
Type description
A double value that specifies the index of the closest edgels.
Remarks
  • This property is used when finding the closest edgels to a list of points.
  • This property is only valid after calling the NearestNeighbors.GetNeighbors method.


EdgeFinder.NearestNeighbors.SourcePoints.Item.Neighbors.Item.X Property

X property

See Also | Availability | MIL Equivalent | EdgelIndex | Y
Reference:
EdgeFinder.NearestNeighbors.GetNeighbors
EdgeFinder.NearestNeighbors.SourcePoints.Item.X
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
NearestNeighbors
SourcePoints
Item
Neighbors
Item
X
Synopsis
Returns the X-coordinate of the nearest neighbor.
[]
Syntax
object.X [= Double]
[]
Syntax
object->X [= double]
Type description
A double value that specifies the nearest neighbor's X-coordinate.
Remarks
  • This property is used when finding the closest edgels to a list of points.
  • This property returns the X-coordinate of the point in the EdgeFinder results that is the closest to its associated source point. The associated source point can be returned with the NearestNeighbors.SourcePoints.Item.X property.
  • This property is only valid after calling the NearestNeighbors.GetNeighbors method.


EdgeFinder.NearestNeighbors.SourcePoints.Item.Neighbors.Item.Y Property

Y property

See Also | Availability | MIL Equivalent | X
Reference:
EdgeFinder.NearestNeighbors.SourcePoints.Item.Y
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
NearestNeighbors
SourcePoints
Item
Neighbors
Item
Y
Synopsis
Returns the Y-coordinate of the nearest neighbor.
[]
Syntax
object.Y [= Double]
[]
Syntax
object->Y [= double]
Type description
A double value that specifies the nearest neighbor's Y-coordinate.
Remarks
  • This property is used when finding the closest edgels to a list of points.
  • This property returns the Y-coordinate of the point in the EdgeFinder results that is the closest to its associated source point. The associated source point can be returned with the NearestNeighbors.SourcePoints.Item.Y property.
  • This property is only valid after calling the NearestNeighbors.GetNeighbors method.


EdgeFinder.NearestNeighbors.SourcePoints.Item.X Property

X property

See Also | Availability | MIL Equivalent | Neighbors | Y
Reference:
EdgeFinder.NearestNeighbors.SourcePoints.Add
EdgeFinder.NearestNeighbors.SourcePoints.AddMultiple
EdgeFinder.NearestNeighbors.SourcePoints.Item.Neighbors.Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
NearestNeighbors
SourcePoints
Item
X
Synopsis
Returns the X-coordinate of the source point.
[]
Syntax
object.X [= Double]
[]
Syntax
object->X [= double]
Type description
A double value that specifies the source point's X-coordinate.
Remarks
  • This property is used when finding the closest edgels to a list of points. This property returns the X-coordinate of a point in that list.
  • To add a new source point, use the NearestNeighbors.SourcePoints.Add or NearestNeighbors.SourcePoints.AddMultiple method.
  • The nearest neighbor of the source point can be obtained with the NearestNeighbors.SourcePoints.Item(Index).Neighbors.Item(Index) property.


EdgeFinder.NearestNeighbors.SourcePoints.Item.Y Property

Y property

See Also | Availability | MIL Equivalent | X
Reference:
EdgeFinder.NearestNeighbors.SourcePoints.Add
EdgeFinder.NearestNeighbors.SourcePoints.AddMultiple
EdgeFinder.NearestNeighbors.SourcePoints.Item.Neighbors.Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
NearestNeighbors
SourcePoints
Item
Y
Synopsis
Returns the Y-coordinate of the source point.
[]
Syntax
object.Y [= Double]
[]
Syntax
object->Y [= double]
Type description
A double value that specifies the source point's Y-coordinate.
Remarks
  • This property is used when finding the closest edgels to a list of points. This property returns the Y-coordinate of a point in that list.
  • To add a new source point, use the NearestNeighbors.SourcePoints.Add or NearestNeighbors.SourcePoints.AddMultiple method.
  • The nearest neighbor of the source point can be obtained with the NearestNeighbors.SourcePoints.Item(Index).Neighbors.Item(Index) property.


EdgeFinder.NearestNeighbors.SourcePoints.Add Method

Add method

See Also | Availability | MIL Equivalent | Item | AddMultiple
Reference:
EdgeFinder.NearestNeighbors.GetNeighbors
EdgeFinder.NearestNeighbors.GetNeighborsInUserArrays
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
NearestNeighbors
SourcePoints
Add
Synopsis
Adds a new element to the collection of source points.
[]
Syntax
object.Add(
ByVal SrcX As Double,
ByVal SrcY As Double,
ByVal SrcValue As Double
)
[]
Syntax
void object->Add(
double SrcX,
double SrcY,
double SrcValue
)
SrcX
A double value that specifies the X-coordinate of the new source point.
SrcY
A double value that specifies the Y-coordinate of the new source point.
SrcValue (optional in , default is 0)
A double value that specifies the angle constraint, in degrees, of the new source point.
Remarks
  • This method is used when finding the closest edgels to a list of points.
  • The angle constraint can be used to refine the search for edgel candidates.
  • To find the closest edgels, you must use either the NearestNeighbors.GetNeighbors or NearestNeighbors.GetNeighborsInUserArrays method.


EdgeFinder.NearestNeighbors.SourcePoints.AddMultiple Method

AddMultiple method

Availability | MIL Equivalent | Add | Remove
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
NearestNeighbors
SourcePoints
AddMultiple
Synopsis
Adds multiple new elements to the collection of source points.
[]
Syntax
object.AddMultiple(
ByVal SrcX As Array,
ByVal SrcY As Array,
ByVal SrcValue As Array
)
[]
Syntax
void object->AddMultiple(
VARIANT * SrcX,
VARIANT * SrcY,
VARIANT * SrcValue
)
SrcX
An array in which to specify the X-coordinate of the new source point.

SrcY
An array in which to specify the Y-coordinate of the new source point.

SrcValue
An array in which to specify the angle constraint, in degrees, of the new source point.

Remarks
  • This method is used when finding the closest edgels to a list of points.
  • The angle constraint can be used to refine the search for edgel candidates.
  • To find the closest edgels, you must use either the NearestNeighbors.GetNeighbors or NearestNeighbors.GetNeighborsInUserArrays method.
[]
Example
This example shows how to add many source points at the same time.

' Declare source points arrays
Dim SPArrayX(1) As Double
Dim SPArrayY(1) As Double
Dim SPArrayAngle(1) As Double

' Add source points in arrays
SPArrayX(0) = 295
SPArrayY(0) = 211
SPArrayAngle(0) = 22
SPArrayX(1) = 121
SPArrayY(1) = 150
SPArrayAngle(1) = 15

' Add all the source points to the edge control at the same time
AMEdgeContext.NearestNeighbors.SourcePoints.AddMultiple(SPArrayX, _
                                            SPArrayY, SPArrayAngle)


EdgeFinder.NearestNeighbors.SourcePoints.Remove Method

Remove method

Availability | MIL Equivalent | AddMultiple
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
NearestNeighbors
SourcePoints
Remove
Synopsis
Removes a point from the collection of source points.
[]
Syntax
object.Remove(
ByVal Index As Integer
)
[]
Syntax
void object->Remove(
long Index
)
Index
A longintegerlong (integer for Visual Basic .Net) value or an EdgeAllConstants expression that specifies an index into the collection of source points, identifying the point to remove.
Value | Meaning
value | An index value identifying the point to remove.
edgeAll | Remove all points from the collection.
Remark
  • This method is used when finding the closest edgels to a list of points.


EdgeFinder.NearestNeighbors.GetNeighbors Method

GetNeighbors method

See Also | Availability | MIL Equivalent | SourcePoints | GetNeighborsInUserArrays
Reference:
EdgeFinder.ApplyFilter
EdgeFinder.Calculate
EdgeFinder.NearestNeighbors.GetNeighborsInUserArrays
EdgeFinder.NearestNeighbors.IsNeighborsPresent
EdgeFinder.NearestNeighbors.SourcePoints.Add
EdgeFinder.NearestNeighbors.SourcePoints.AddMultiple
EdgeFinder.NearestNeighbors.SourcePoints.Item.Neighbors
EdgeFinder.NearestNeighbors.SourcePoints.Item.Neighbors.Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetNeighbors()
EdgeFinder
NearestNeighbors
GetNeighbors
Synopsis
Finds the closest edgels to a list of points and copies the data to the collection of nearest neighbors.
[]
Syntax
object.GetNeighbors(
ByVal EdgelType As Integer
)
[]
Syntax
void object->GetNeighbors(
long EdgelType
)
EdgelType (optional in , default is amilDefault)
A longintegerlong (integer for Visual Basic .Net) value or an ActiveMILDefaultConstants expression that specifies the edgel type.
Value | Meaning
amilDefault | Specifies the default value for the edgel type.
value | Specifies the edgel type.
Remarks
  • This method is used when finding the closest edgels to a list of points.
  • The source points used to find the closest edgels can be provided with either the NearestNeighbors.SourcePoints.Add or NearestNeighbors.SourcePoints.AddMultiple properties.
  • To retrieve the closest edgels, use the NearestNeighbors.SourcePoints.Item.Neighbors.Item property.
  • After a call to the Calculate or ApplyFilter method, the nearest neighbors contained in the NearestNeighbors.SourcePoints.Item.Neighbors collection are no longer synchronized with the current EdgeFinder results. You must therefore call the NearestNeighbors.GetNeighbors or NearestNeighbors.GetNeighborsInUserArrays method to find the nearest neighbors in the current set of EdgeFinder results. Note that the NearestNeighbors.IsNeighborsPresent property returns whether the current neighbors in the collection are synchronized with the current results.


EdgeFinder.NearestNeighbors.GetNeighborsInUserArrays Method

GetNeighborsInUserArrays method

See Also | Availability | MIL Equivalent | GetNeighbors
Reference:
EdgeFinder.ApplyFilter
EdgeFinder.Calculate
EdgeFinder.NearestNeighbors.GetNeighbors
EdgeFinder.NearestNeighbors.IsNeighborsPresent
EdgeFinder.NearestNeighbors.SourcePoints.Add
EdgeFinder.NearestNeighbors.SourcePoints.AddMultiple
EdgeFinder.NearestNeighbors.SourcePoints.Item.Neighbors
EdgeFinder.NearestNeighbors.SourcePoints.Item.Neighbors.Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetNeighbors()
EdgeFinder
NearestNeighbors
GetNeighborsInUserArrays
Synopsis
Finds the closest edgels to a list of points and copies the data to the specified user arrays.
[]
Syntax
object.GetNeighborsInUserArrays(
ByVal SourceXArray As Array,
ByVal SourceYArray As Array,
ByVal SourceAngleArray As Array,
ByVal NeighborXArray As Array,
ByVal NeighborYArray As Array,
ByVal NeighborIndexArray As Array,
ByVal NeighborLabelArray As Array
)
[]
Syntax
void object->GetNeighborsInUserArrays(
VARIANT * SourceXArray,
VARIANT * SourceYArray,
VARIANT * SourceAngleArray,
VARIANT * NeighborXArray,
VARIANT * NeighborYArray,
VARIANT * NeighborIndexArray,
VARIANT * NeighborLabelArray
)
SourceXArray
An array in which to put the X-coordinate of the source point.

SourceYArray
An array in which to put the Y-coordinate of the source point.

SourceAngleArray
An array in which to put the angle constraint, in degrees, of the source point.

NeighborXArray
An array in which to put the X-coordinate of the closest edgel.

NeighborYArray
An array in which to put the Y-coordinate of the closest edgel.

NeighborIndexArray
An array in which to put the index of the closest edgel.

NeighborLabelArray
An array in which to put the label of the closest edgel.

Remarks
  • This method is used when finding the closest edgels to a list of points.
  • The source points used to find the closest edgels can be provided with either the NearestNeighbors.SourcePoints.Add or NearestNeighbors.SourcePoints.AddMultiple properties.
  • When using this method, the closest edgels are not accessible with the NearestNeighbors.SourcePoints.Item.Neighbors.Item property.
  • After a call to the Calculate or ApplyFilter method, the nearest neighbors contained in the NearestNeighbors.SourcePoints.Item.Neighbors collection are no longer synchronized with the current EdgeFinder results. You must therefore call the NearestNeighbors.GetNeighbors or NearestNeighbors.GetNeighborsInUserArrays method to find the nearest neighbors in the current set of EdgeFinder results. Note that the NearestNeighbors.IsNeighborsPresent property returns whether the current neighbors in the collection are synchronized with the current results.
[]
Example
This example shows how to get the nearest neighbors in arrays provided by the user.

' Declare source points arrays
Dim SPArrayX(1) As Double
Dim SPArrayY(1) As Double
Dim SPArrayAngle(1) As Double

' Add source points in arrays
SPArrayX(0) = 295
SPArrayY(0) = 211
SPArrayAngle(0) = 22
SPArrayX(1) = 121
SPArrayY(1) = 150
SPArrayAngle(1) = 15

' Add all the source points to the edge control at the same time
AMEdgeContext.NearestNeighbors.SourcePoints.AddMultiple(SPArrayX, _
                                            SPArrayY, SPArrayAngle)

' Number of source points added
Dim NbSourcePts As Long
NbSourcePts = AMEdgeContext.NearestNeighbors.SourcePoints.Count()
' The maximum number of neighbors found is equal to the number of
' source(points) multiplied by the maximum number of neighbors that
' can be found for each source point
Dim MaxNbNeighborsFound = _
   NbSourcePts * AMEdgeContext.NearestNeighbors.MaximumNumberOfEdgels

' Declare user arrays to get neighbors
Dim UserXArray(MaxNbNeighborsFound) As Double
Dim UserYArray(MaxNbNeighborsFound) As Double
Dim UserIndexArray(MaxNbNeighborsFound) As Integer
Dim UserLabelArray(MaxNbNeighborsFound) As Integer

AMEdgeContext.NearestNeighbors.GetNeighborsInUserArrays(SPArrayX, _
   SPArrayY, SPArrayAngle, UserXArray, UserYArray, UserIndexArray, _
   UserLabelArray)


EdgeFinder.NumberOfFeretAngles Property

NumberOfFeretAngles property

Availability | MIL Equivalent | NearestNeighbors | OwnerSystem
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_NUMBER_OF_FERETS
)

MedgeInquire(
InquireType =
M_NUMBER_OF_FERETS
)
EdgeFinder
NumberOfFeretAngles
Synopsis
Returns or sets the number of Ferets to be used when calculating a Feret feature.
[]
Syntax
object.NumberOfFeretAngles [= Integer]
[]
Syntax
object->NumberOfFeretAngles [= long]
Type description
A long value that specifies the number of Ferets to be used to calculate a Feret feature. (default is 8)
Remark
  • The first Feret angle used is always 0°, and the difference between successive angles is 180° / number of Ferets.


EdgeFinder.OwnerSystem Property

OwnerSystem property

Availability | MIL Equivalent | NumberOfFeretAngles | OwnerSystemName
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeAlloc(SystemId)
EdgeFinder
OwnerSystem
Synopsis
Returns or sets the system on which the resources of the EdgeFinder control are allocated
[]
Syntax
object.OwnerSystem [= System]
[]
Syntax
object->OwnerSystem [= ISystemPtr]
Type description
A System control that specifies the system to set as the owner (parent) of the EdgeFinder control.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The owner system can also be specified, with the name assigned to its control, using the OwnerSystemName property.
  • This property automatically sets the OwnerSystemName property.


EdgeFinder.OwnerSystemName Property

OwnerSystemName property

See Also | Availability | MIL Equivalent | OwnerSystem | PropertyValidation
User Guide:
Owner system
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeAlloc(SystemId)
EdgeFinder
OwnerSystemName
Synopsis
Returns or sets the name of the System control representing the system on which the resources of the EdgeFinder control are allocated.
[]
Syntax
object.OwnerSystemName [= String]
[]
Syntax
object->OwnerSystemName [= _bstr_t]
Type description
A string expression that specifies the name of the System control to set as the owner (parent) of the EdgeFinder control.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The owner system can also be specified using the OwnerSystem property.
  • This property automatically sets the OwnerSystem property.


EdgeFinder.PropertyValidation Property

PropertyValidation property

See Also | Availability | MIL Equivalent | OwnerSystemName | Results
User Guide:
Error reporting
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
PropertyValidation
Synopsis
Returns or sets whether the properties of the EdgeFinder control are dynamically validated.
[]
Syntax
object.PropertyValidation [= Boolean]
[]
Syntax
object->PropertyValidation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the property validation mode.
Value | Meaning
True | The control's properties will be dynamically validated. Errors will be generated during the design process.
False | The control's properties will not be dynamically validated. Errors will only be generated at run-time.
Remarks
  • At run-time, this property is read-only and is always set to True.
  • When set to True and if one of the control's properties is not properly set, then the control is outlined in red. The error page of the control's property pages describes the specific error.


EdgeFinder.Results Property

Results property

See Also | Availability | MIL Equivalent | PropertyValidation | SortingKeys
Reference:
EdgeFinder.Calculate
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult()
EdgeFinder
Results
Properties: AngleImage, Count, CrossDerivativeImage, FirstDerivativeXImage, FirstDerivativeYImage, Item, MagnitudeImage, MilID, SecondDerivativeXImage, SecondDerivativeYImage, SizeX, SizeY, StreamSize, ThresholdHighValue, ThresholdLowValue, TimeoutEnd, TotalNumberOfEdgels, TotalNumberOfVertices

Methods: CalculateStat, Draw, Get, GetMultiple, ItemAtLabel, Save, SaveStream
Synopsis
Returns the collection of results calculated for the EdgeFinder control, allowing access to its properties.
[]
Syntax
[EdgeResults =] object.Results
[]
Syntax
[IEdgeResultsPtr =] object->Results
Type description
An EdgeResults expression that represents an instance of an EdgeResults collection.
Remark
  • The Results property will contain, after a call to the Calculate method is made, results for each edge found.


EdgeFinder.Results.AngleImage Property

AngleImage property

See Also | Availability | MIL Equivalent | Count
Reference:
EdgeFinder.ImageFeature.Angle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_ANGLE_ID
)
EdgeFinder
Results
AngleImage
Synopsis
Returns the internal angle identifier image.
[]
Syntax
[Image =] object.AngleImage
[]
Syntax
[IImagePtr =] object->AngleImage
Type description
An Image control that specifies the internal angle identifier image.
Remarks
  • The angle is returned from 0° to 360° (counter-clockwise) and is mapped in the entire range of 0.0 to 255.0.
  • This property is only valid if the ImageFeature.Angle property is set to True.


EdgeFinder.Results.Count Property

Count property

Availability | MIL Equivalent | AngleImage | CrossDerivativeImage
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_NUMBER_OF_CHAINS
)
EdgeFinder
Results
Count
Synopsis
Returns the number of elements in the collection of edge results.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A long value that specifies the number of elements currently in the collection.
Remark
  • The elements in the edge results collection refer to the feature results of each edge.


EdgeFinder.Results.CrossDerivativeImage Property

CrossDerivativeImage property

See Also | Availability | MIL Equivalent | Count | FirstDerivativeXImage
Reference:
EdgeFinder.ImageFeature.Derivatives
EdgeFinder.SourceDerivativeImages.CrossDerivative
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_CROSS_DERIVATIVE_ID
)
EdgeFinder
Results
CrossDerivativeImage
Synopsis
Returns the internal cross derivative identifier image.
[]
Syntax
[Image =] object.CrossDerivativeImage
[]
Syntax
[IImagePtr =] object->CrossDerivativeImage
Type description
An Image control that specifies the internal cross derivative identifier image.
Remarks
  • This property is only valid if the ImageFeature.Derivatives property is set to True.
  • When provided by Edge Finder, derivative images are always consistent (for example, they have the same scaling factor) and are always normalized such that the maximum output value is 1024 (for 8-bit source images). When provided by the user, derivative images should respect these limitations for best performances.
  • You can set your own cross derivative images with the SourceDerivativeImages.CrossDerivative property. Note that typically, derivative images should be provided by Edge Finder.


EdgeFinder.Results.FirstDerivativeXImage Property

FirstDerivativeXImage property

See Also | Availability | MIL Equivalent | CrossDerivativeImage | FirstDerivativeYImage
Reference:
EdgeFinder.ImageFeature.Derivatives
EdgeFinder.SourceDerivativeImages.DerivativeX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_FIRST_DERIVATIVE_X_ID
)
EdgeFinder
Results
FirstDerivativeXImage
Synopsis
Returns the internal first derivative identifier image (in the X-direction).
[]
Syntax
[Image =] object.FirstDerivativeXImage
[]
Syntax
[IImagePtr =] object->FirstDerivativeXImage
Type description
An Image control that specifies the internal first derivative identifier image (in the X-direction).
Remarks
  • This property is only valid if the ImageFeature.Derivatives property is set to True.
  • When provided by Edge Finder, derivative images are always consistent (for example, they have the same scaling factor) and are always normalized such that the maximum output value is 1024 (for 8-bit source images). When provided by the user, derivative images should respect these limitations for best performances.
  • You can set your own first derivative images (in the X-direction) with the SourceDerivativeImages.DerivativeX property. Note that typically, derivative images should be provided by Edge Finder.


EdgeFinder.Results.FirstDerivativeYImage Property

FirstDerivativeYImage property

See Also | Availability | MIL Equivalent | FirstDerivativeXImage | Item
Reference:
EdgeFinder.ImageFeature.Derivatives
EdgeFinder.SourceDerivativeImages.DerivativeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_FIRST_DERIVATIVE_Y_ID
)
EdgeFinder
Results
FirstDerivativeYImage
Synopsis
Returns the internal first derivative identifier image (in the Y-direction).
[]
Syntax
[Image =] object.FirstDerivativeYImage
[]
Syntax
[IImagePtr =] object->FirstDerivativeYImage
Type description
An Image control that specifies the internal first derivative identifier image (in the Y-direction).
Remarks
  • This property is only valid if the ImageFeature.Derivatives property is set to True.
  • When provided by Edge Finder, derivative images are always consistent (for example, they have the same scaling factor) and are always normalized such that the maximum output value is 1024 (for 8-bit source images). When provided by the user, derivative images should respect these limitations for best performances.
  • You can set your own first derivative images (in the Y-direction) with the SourceDerivativeImages.DerivativeY property. Note that typically, derivative images should be provided by Edge Finder.


EdgeFinder.Results.Item Property

Item property

Availability | MIL Equivalent | FirstDerivativeYImage | MagnitudeImage
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
Results
Item
Properties: AverageStrength, BoxXMaximum, BoxXMinimum, BoxYMaximum, BoxYMinimum, CenterOfGravityX, CenterOfGravityY, CircleFitCenterX, CircleFitCenterY, CircleFitCoverage, CircleFitError, CircleFitRadius, Closure, ContactPointXMaximumAtYMaximum, ContactPointXMinimumAtYMinimum, ContactPointYMaximumAtXMinimum, ContactPointYMinimumAtXMaximum, ConvexPerimeter, Edgels, EllipseFitAngle, EllipseFitCenterX, EllipseFitCenterY, EllipseFitCoverage, EllipseFitError, EllipseFitMajorAxis, EllipseFitMinorAxis, FastLength, FeretElongation, FeretX, FeretY, FirstPointX, FirstPointY, GeneralFeret, GeneralFeretFirstEdgelIndex, GeneralFeretSecondEdgelIndex, LabelValue, Length, LineFitA, LineFitB, LineFitC, LineFitError, MaximumFeretAngle, MaximumFeretDiameter, MaximumFeretFirstEdgelIndex, MaximumFeretSecondEdgelIndex, MeanFeretDiameter, MinimumFeretAngle, MinimumFeretDiameter, MinimumFeretFirstEdgelIndex, MinimumFeretSecondEdgelIndex, MomentElongation, MomentElongationAngle, PositionX, PositionY, Size, Strength, Tortuosity, Vertices

Method: Draw
Synopsis
Returns the element at the specified index in the collection of EdgeFinder results.
[]
Syntax
[EdgeResult=]object.Item(
Index As Integer
)
[]
Syntax
[IEdgeResultPtr =] object->Item(
long Index
)
Index
A long value that specifies the index of the required element.
Type description
An EdgeResult object.
Remarks
  • This property is used to get results of a particular edge.
  • The elements in the collection of edge results refer to the feature results of each edge.
  • The index of the first element of this collection starts at one.
  • If the value provided as the index does not match any existing element in the collection, an error occurs.


EdgeFinder.Results.Item.AverageStrength Property

AverageStrength property

See Also | Availability | MIL Equivalent | BoxXMaximum
Reference:
EdgeFinder.FeatureList.Strength
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_AVERAGE_STRENGTH
)
EdgeFinder
Results
Item
AverageStrength
Synopsis
Returns the result for the average strength feature.
[]
Syntax
[Double =] object.AverageStrength
[]
Syntax
[double =] object->AverageStrength
Type description
A double value that specifies the average strength of each edge.
Remarks
  • The average strength is defined as the energy of the edge (FeatureList.Strength) divided by its number of edges.
  • This property is only valid if the FeatureList.Strength property is set to True.


EdgeFinder.Results.Item.BoxXMaximum Property

BoxXMaximum property

See Also | Availability | MIL Equivalent | AverageStrength | BoxXMinimum
Reference:
EdgeFinder.FeatureList.Box.XMaximum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_BOX_X_MAX
)
EdgeFinder
Results
Item
BoxXMaximum
Synopsis
Returns the result for the XMaximum feature of the bounding box.
[]
Syntax
[Double =] object.BoxXMaximum
[]
Syntax
[double =] object->BoxXMaximum
Type description
A double value that specifies the maximum X-coordinate of the bounding box.
Remarks
  • The maximum X-coordinate of the bounding box is defined as the extreme top edgel coordinate of each edge.
  • This property is only valid if the FeatureList.Box.XMaximum property is set to True.


EdgeFinder.Results.Item.BoxXMinimum Property

BoxXMinimum property

See Also | Availability | MIL Equivalent | BoxXMaximum | BoxYMaximum
Reference:
EdgeFinder.FeatureList.Box.XMinimum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_BOX_X_MIN
)
EdgeFinder
Results
Item
BoxXMinimum
Synopsis
Returns the result for the XMinimum feature of the bounding box.
[]
Syntax
[Double =] object.BoxXMinimum
[]
Syntax
[double =] object->BoxXMinimum
Type description
A double value that specifies the minimum X-coordinate of the bounding box.
Remarks
  • The minimum X-coordinate of the bounding box is defined as the extreme left edgel coordinate of each edge.
  • This property is only valid if the FeatureList.Box.XMinimum property is set to True.


EdgeFinder.Results.Item.BoxYMaximum Property

BoxYMaximum property

See Also | Availability | MIL Equivalent | BoxXMinimum | BoxYMinimum
Reference:
EdgeFinder.FeatureList.Box.YMaximum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_BOX_Y_MAX
)
EdgeFinder
Results
Item
BoxYMaximum
Synopsis
Returns the result for the YMaximum feature of the bounding box.
[]
Syntax
[Double =] object.BoxYMaximum
[]
Syntax
[double =] object->BoxYMaximum
Type description
A double value that specifies the maximum Y-coordinate of the bounding box.
Remarks
  • The maximum Y-coordinate of the bounding box is defined as the extreme bottom edgel coordinate of each edge.
  • This property is only valid if the FeatureList.Box.YMaximum property is set to True.


EdgeFinder.Results.Item.BoxYMinimum Property

BoxYMinimum property

See Also | Availability | MIL Equivalent | BoxYMaximum | CenterOfGravityX
Reference:
EdgeFinder.FeatureList.Box.YMinimum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_BOX_Y_MIN
)
EdgeFinder
Results
Item
BoxYMinimum
Synopsis
Returns the result for the YMinimum feature of the bounding box.
[]
Syntax
[Double =] object.BoxYMinimum
[]
Syntax
[double =] object->BoxYMinimum
Type description
A double value that specifies the minimum Y-coordinate of the bounding box.
Remarks
  • The minimum Y-coordinate of the bounding box is defined as the extreme right edgel coordinate of each edge.
  • This property is only valid if the FeatureList.Box.YMinimum property is set to True.


EdgeFinder.Results.Item.CenterOfGravityX Property

CenterOfGravityX property

See Also | Availability | MIL Equivalent | BoxYMinimum | CenterOfGravityY
Reference:
EdgeFinder.FeatureList.CenterOfGravity.X
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_CENTER_OF_GRAVITY_X
)
EdgeFinder
Results
Item
CenterOfGravityX
Synopsis
Returns the result for the X-coordinate feature of each edge's center of gravity.
[]
Syntax
[Double =] object.CenterOfGravityX
[]
Syntax
[double =] object->CenterOfGravityX
Type description
A double value that specifies the X-coordinate of the center of gravity of each edge.
Remarks
  • The center of gravity's X-coordinate is equal to the average position of edgel positions in X.
  • This property is only valid if the FeatureList.CenterOfGravity.X property is set to True.


EdgeFinder.Results.Item.CenterOfGravityY Property

CenterOfGravityY property

See Also | Availability | MIL Equivalent | CenterOfGravityX | CircleFitCenterX
Reference:
EdgeFinder.FeatureList.CenterOfGravity.Y
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_CENTER_OF_GRAVITY_Y
)
EdgeFinder
Results
Item
CenterOfGravityY
Synopsis
Returns the result for the Y-coordinate feature of each edge's center of gravity.
[]
Syntax
[Double =] object.CenterOfGravityY
[]
Syntax
[double =] object->CenterOfGravityY
Type description
A double value that specifies the Y-coordinate of the center of gravity of each edge.
Remarks
  • The center of gravity's Y-coordinate is equal to the average position of edgel positions in Y.
  • This property is only valid if the FeatureList.CenterOfGravity.Y property is set to True.


EdgeFinder.Results.Item.CircleFitCenterX Property

CircleFitCenterX property

See Also | Availability | MIL Equivalent | CenterOfGravityY | CircleFitCenterY
Reference:
EdgeFinder.FeatureList.CircleFit.CenterX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_CIRCLE_FIT_CENTER_X
)
EdgeFinder
Results
Item
CircleFitCenterX
Synopsis
Returns the result for the X-coordinate feature of the center of the circle that is the best fit for each edge.
[]
Syntax
[Double =] object.CircleFitCenterX
[]
Syntax
[double =] object->CircleFitCenterX
Type description
A double value that specifies the X-coordinate of the center of the circle that is the best fit.
Remark
  • This property is only valid if the FeatureList.CircleFit.CenterX property is set to True.


EdgeFinder.Results.Item.CircleFitCenterY Property

CircleFitCenterY property

See Also | Availability | MIL Equivalent | CircleFitCenterX | CircleFitCoverage
Reference:
EdgeFinder.FeatureList.CircleFit.CenterY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_CIRCLE_FIT_CENTER_Y
)
EdgeFinder
Results
Item
CircleFitCenterY
Synopsis
Returns the result for the Y-coordinate feature of the center of the circle that is the best fit for each edge.
[]
Syntax
[Double =] object.CircleFitCenterY
[]
Syntax
[double =] object->CircleFitCenterY
Type description
A double value that specifies the Y-coordinate of the center of the circle that is the best fit.
Remark
  • This property is only valid if the FeatureList.CircleFit.CenterY property is set to True.


EdgeFinder.Results.Item.CircleFitCoverage Property

CircleFitCoverage property

See Also | Availability | MIL Equivalent | CircleFitCenterY | CircleFitError
Reference:
EdgeFinder.FeatureList.CircleFit.Coverage
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_CIRCLE_FIT_COVERAGE
)
EdgeFinder
Results
Item
CircleFitCoverage
Synopsis
Returns the result for the coverage feature of the circle that is the best fit for each edge.
[]
Syntax
[Double =] object.CircleFitCoverage
[]
Syntax
[double =] object->CircleFitCoverage
Type description
A double value that specifies the coverage of the circle that is the best fit.
Remarks
  • The coverage describes the portion of the circle covered by the edge.
  • Values are returned between 0.0 to 1.0. The lower the value, the lower the coverage. For example, 0 equals no coverage, 0.5 equals 50 percent coverage, and 1.0 equals 100 percent coverage.
  • This property is only valid if the FeatureList.CircleFit.Coverage property is set to True.


EdgeFinder.Results.Item.CircleFitError Property

CircleFitError property

See Also | Availability | MIL Equivalent | CircleFitCoverage | CircleFitRadius
Reference:
EdgeFinder.FeatureList.CircleFit.Error
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_CIRCLE_FIT_ERROR
)
EdgeFinder
Results
Item
CircleFitError
Synopsis
Returns the result for the fit error feature of the circle that is the best fit for each edge.
[]
Syntax
[Double =] object.CircleFitError
[]
Syntax
[double =] object->CircleFitError
Type description
A double value that specifies the fit error of the circle that is the best fit.
Remarks
  • The fit error is calculated as the average quadratic error.
  • This property is only valid if the FeatureList.CircleFit.Error property is set to True.


EdgeFinder.Results.Item.CircleFitRadius Property

CircleFitRadius property

See Also | Availability | MIL Equivalent | CircleFitError | Closure
Reference:
EdgeFinder.FeatureList.CircleFit.Radius
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_CIRCLE_FIT_RADIUS
)
EdgeFinder
Results
Item
CircleFitRadius
Synopsis
Returns the result for the radius feature of the circle that is the best fit for each edge.
[]
Syntax
[Double =] object.CircleFitRadius
[]
Syntax
[double =] object->CircleFitRadius
Type description
A double value that specifies the radius of the circle that is the best fit.
Remark
  • This property is only valid if the FeatureList.CircleFit.Radius property is set to True.


EdgeFinder.Results.Item.Closure Property

Closure property

Availability | MIL Equivalent | CircleFitRadius | ContactPointXMaximumAtYMaximum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_CLOSURE
)
EdgeFinder
Results
Item
Closure
Synopsis
Returns the result for the closure feature of each edge.
[]
Syntax
[Boolean =] object.Closure
[]
Syntax
[VARIANT_BOOL =] object->Closure
Type description
A boolean value that specifies whether each edge is closed.
Value | Meaning
True | A closed edge.
False | An open edge.
Remark
  • This property is only valid if the FeatureList.Closure property is set to True.


EdgeFinder.Results.Item.ContactPointXMaximumAtYMaximum Property

ContactPointXMaximumAtYMaximum property

See Also | Availability | MIL Equivalent | Closure | ContactPointXMinimumAtYMinimum
Reference:
EdgeFinder.FeatureList.ContactPoints.XMaximumAtYMaximum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_X_MAX_AT_Y_MAX
)
EdgeFinder
Results
Item
ContactPointXMaximumAtYMaximum
Synopsis
Returns the result for each edge's X-maximum at Y-maximum contact point feature.
[]
Syntax
[Double =] object.ContactPointXMaximumAtYMaximum
[]
Syntax
[double =] object->ContactPointXMaximumAtYMaximum
Type description
A double value that specifies the X-maximum at Y-maximum contact point of each edge.
Remarks
  • The four contact points, together with the four box coordinates, give four points on the convex perimeter of the edge.
  • This property is only valid if the FeatureList.ContactPoints.XMaximumAtYMaximum property is set to True.


EdgeFinder.Results.Item.ContactPointXMinimumAtYMinimum Property

ContactPointXMinimumAtYMinimum property

See Also | Availability | MIL Equivalent | ContactPointXMaximumAtYMaximum | ContactPointYMaximumAtXMinimum
Reference:
EdgeFinder.FeatureList.ContactPoints.XMinimumAtYMinimum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_X_MIN_AT_Y_MIN
)
EdgeFinder
Results
Item
ContactPointXMinimumAtYMinimum
Synopsis
Returns the result for each edge's X-minimum at Y-minimum contact point feature.
[]
Syntax
[Double =] object.ContactPointXMinimumAtYMinimum
[]
Syntax
[double =] object->ContactPointXMinimumAtYMinimum
Type description
A double value that specifies the X-minimum at Y-minimum contact point of each edge.
Remarks
  • The four contact points, together with the four box coordinates, give four points on the convex perimeter of the edge.
  • This property is only valid if the FeatureList.ContactPoints.XMinimumAtYMinimum property is set to True.


EdgeFinder.Results.Item.ContactPointYMaximumAtXMinimum Property

ContactPointYMaximumAtXMinimum property

See Also | Availability | MIL Equivalent | ContactPointXMinimumAtYMinimum | ContactPointYMinimumAtXMaximum
Reference:
EdgeFinder.FeatureList.ContactPoints.YMaximumAtXMinimum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_Y_MAX_AT_X_MIN
)
EdgeFinder
Results
Item
ContactPointYMaximumAtXMinimum
Synopsis
Returns the result for each edge's Y-maximum at X-minimum contact point feature.
[]
Syntax
[Double =] object.ContactPointYMaximumAtXMinimum
[]
Syntax
[double =] object->ContactPointYMaximumAtXMinimum
Type description
A double value that specifies the Y-maximum at X-minimum contact point of each edge.
Remarks
  • The four contact points, together with the four box coordinates, give four points on the convex perimeter of the edge.
  • This property is only valid if the FeatureList.ContactPoints.YMaximumAtXMinimum property is set to True.


EdgeFinder.Results.Item.ContactPointYMinimumAtXMaximum Property

ContactPointYMinimumAtXMaximum property

See Also | Availability | MIL Equivalent | ContactPointYMaximumAtXMinimum | ConvexPerimeter
Reference:
EdgeFinder.FeatureList.ContactPoints.YMinimumAtXMaximum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_Y_MIN_AT_X_MAX
)
EdgeFinder
Results
Item
ContactPointYMinimumAtXMaximum
Synopsis
Returns the result for each edge's Y-minimum at X-maximum contact point feature.
[]
Syntax
[Double =] object.ContactPointYMinimumAtXMaximum
[]
Syntax
[double =] object->ContactPointYMinimumAtXMaximum
Type description
A double value that specifies the Y-minimum at X-maximum contact point of each edge.
Remarks
  • The four contact points, together with the four box coordinates, give four points on the convex perimeter of the edge.
  • This property is only valid if the FeatureList.ContactPoints.YMinimumAtXMaximum property is set to True.


EdgeFinder.Results.Item.ConvexPerimeter Property

ConvexPerimeter property

See Also | Availability | MIL Equivalent | ContactPointYMinimumAtXMaximum | Edgels
Reference:
EdgeFinder.FeatureList.ConvexPerimeter
EdgeFinder.NumberOfFeretAngles
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_CONVEX_PERIMETER
)
EdgeFinder
Results
Item
ConvexPerimeter
Synopsis
Returns the result for the convex elongation feature of each edge.
[]
Syntax
[Double =] object.ConvexPerimeter
[]
Syntax
[double =] object->ConvexPerimeter
Type description
A double value that specifies each edge's convex elongation.
Remarks
  • The convex elongation is an approximation of the perimeter of the convex hull of an edge. It is derived from several Feret diameters; therefore, a larger number of Ferets gives a more accurate result. To set the number of Ferets, use the NumberOfFeretAngles property.
  • This property is only valid if the FeatureList.ConvexPerimeter property is set to True.


EdgeFinder.Results.Item.Edgels Property

Edgels property

Availability | MIL Equivalent | ConvexPerimeter | EllipseFitAngle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_NUMBER_OF_CHAINED_EDGELS or
M_CHAIN_ANGLE or
M_CHAIN_CODE or
M_CHAIN_MAGNITUDE or
M_CHAIN_X or
M_CHAIN_Y or
M_CHAIN_INDEX
)
EdgeFinder
Results
Item
Edgels
Properties: Count, Item
Synopsis
Returns the collection of edgels in the edge chain, allowing access to each element.
[]
Syntax
[EdgeResultEdgels =] object.Edgels
[]
Syntax
[IEdgeResultEdgelsPtr =] object->Edgels
Type description
An EdgeResultEdgels expression that represents an instance of an Edgels collection.


EdgeFinder.Results.Item.Edgels.Count Property

Count property

Availability | MIL Equivalent | Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_NUMBER_OF_CHAINED_EDGELS
)
EdgeFinder
Results
Item
Edgels
Count
Synopsis
Returns the number of elements in the collection of edgels.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A long value that specifies the number of elements currently in the collection.
Remark
  • The elements in the collection of edgels refer to the total number of edgels in the edge(s).


EdgeFinder.Results.Item.Edgels.Item Property

Item property

Availability | MIL Equivalent | Count
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
Results
Item
Edgels
Item
Properties: Angle, ChainCode, ChainIndex, Magnitude, X, Y
Synopsis
Returns the element at the specified index in the collection of edgels.
[]
Syntax
[EdgeResultEdgel=]object.Item(
Index As Integer
)
[]
Syntax
[IEdgeResultEdgelPtr =] object->Item(
long Index
)
Index
A long value that specifies the index of the required item.
Type description
An EdgeResultEdgel object.
Remarks
  • If the value provided as the index does not match any existing element in the collection, an error occurs. The index of the first element in the Edgels collection is 1.
  • The elements in the collection of edgels refer to the total number of edgels in the edge.


EdgeFinder.Results.Item.Edgels.Item.Angle Property

Angle property

Availability | MIL Equivalent | ChainCode
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_CHAIN_ANGLE
)
EdgeFinder
Results
Item
Edgels
Item
Angle
Synopsis
Returns the angle values of the edge's edgels.
[]
Syntax
[Double =] object.Angle
[]
Syntax
[double =] object->Angle
Type description
A double value that specifies the angle of each edgel in the edge.


EdgeFinder.Results.Item.Edgels.Item.ChainCode Property

ChainCode property

Availability | MIL Equivalent | Angle | ChainIndex
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_CHAIN_CODE
)
EdgeFinder
Results
Item
Edgels
Item
ChainCode
Synopsis
Returns the edge's chain code.
[]
Syntax
[Integer =] object.ChainCode
[]
Syntax
[long =] object->ChainCode
Type description
A long value that specifies the chain code of the edge.
Remark
  • The chain code describes the chain connexity using the following neighboring code to access the next edgels:


EdgeFinder.Results.Item.Edgels.Item.ChainIndex Property

ChainIndex property

Availability | MIL Equivalent | ChainCode | Magnitude
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_CHAIN_INDEX
)
EdgeFinder
Results
Item
Edgels
Item
ChainIndex
Synopsis
Returns the index of the edge's edgels.
[]
Syntax
[Integer =] object.ChainIndex
[]
Syntax
[long =] object->ChainIndex
Type description
A long value that specifies the index of each edgel in the edge.


EdgeFinder.Results.Item.Edgels.Item.Magnitude Property

Magnitude property

Availability | MIL Equivalent | ChainIndex | X
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_CHAIN_MAGNITUDE
)
EdgeFinder
Results
Item
Edgels
Item
Magnitude
Synopsis
Returns the magnitude values of the edge's edgels.
[]
Syntax
[Double =] object.Magnitude
[]
Syntax
[double =] object->Magnitude
Type description
A double value that specifies the magnitude of each edgel in the edge.


EdgeFinder.Results.Item.Edgels.Item.X Property

X property

Availability | MIL Equivalent | Magnitude | Y
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_CHAIN_X
)
EdgeFinder
Results
Item
Edgels
Item
X
Synopsis
Returns the X-coordinates of the edge's edgels.
[]
Syntax
[Double =] object.X
[]
Syntax
[double =] object->X
Type description
A double value that specifies the X-coordinate of each edgel in the edge.


EdgeFinder.Results.Item.Edgels.Item.Y Property

Y property

Availability | MIL Equivalent | X
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_CHAIN_Y
)
EdgeFinder
Results
Item
Edgels
Item
Y
Synopsis
Returns the Y-coordinates of the edge's edgels.
[]
Syntax
[Double =] object.Y
[]
Syntax
[double =] object->Y
Type description
A double value that specifies the Y-coordinate of each edgel in the edge.


EdgeFinder.Results.Item.EllipseFitAngle Property

EllipseFitAngle property

See Also | Availability | MIL Equivalent | Edgels | EllipseFitCenterX
Reference:
EdgeFinder.FeatureList.EllipseFit.Angle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_ELLIPSE_FIT_ANGLE
)
EdgeFinder
Results
Item
EllipseFitAngle
Synopsis
Returns the result for the angle feature of the ellipse that is the best fit for each edge.
[]
Syntax
[Double =] object.EllipseFitAngle
[]
Syntax
[double =] object->EllipseFitAngle
Type description
A double value that specifies the angle of the ellipse that is the best fit
Remark
  • This property is only valid if the FeatureList.EllipseFit.Angle property is set to True.


EdgeFinder.Results.Item.EllipseFitCenterX Property

EllipseFitCenterX property

See Also | Availability | MIL Equivalent | EllipseFitAngle | EllipseFitCenterY
Reference:
EdgeFinder.FeatureList.EllipseFit.CenterX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_ELLIPSE_FIT_CENTER_X
)
EdgeFinder
Results
Item
EllipseFitCenterX
Synopsis
Returns the result for the X-coordinate feature of the center of the ellipse that is the best fit for each edge.
[]
Syntax
[Double =] object.EllipseFitCenterX
[]
Syntax
[double =] object->EllipseFitCenterX
Type description
A double value that specifies the X-coordinate of the center of the ellipse that is the best fit.
Remark
  • This property is only valid if the FeatureList.EllipseFit.CenterX property is set to True.


EdgeFinder.Results.Item.EllipseFitCenterY Property

EllipseFitCenterY property

See Also | Availability | MIL Equivalent | EllipseFitCenterX | EllipseFitCoverage
Reference:
EdgeFinder.FeatureList.EllipseFit.CenterY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_ELLIPSE_FIT_CENTER_Y
)
EdgeFinder
Results
Item
EllipseFitCenterY
Synopsis
Returns the result for the Y-coordinate feature of the center of the ellipse that is the best fit for each edge.
[]
Syntax
[Double =] object.EllipseFitCenterY
[]
Syntax
[double =] object->EllipseFitCenterY
Type description
A double value that specifies the Y-coordinate of the center of the ellipse that is the best fit.
Remark
  • This property is only valid if the FeatureList.EllipseFit.CenterY property is set to True.


EdgeFinder.Results.Item.EllipseFitCoverage Property

EllipseFitCoverage property

See Also | Availability | MIL Equivalent | EllipseFitCenterY | EllipseFitError
Reference:
EdgeFinder.FeatureList.EllipseFit.Coverage
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_ELLIPSE_FIT_COVERAGE
)
EdgeFinder
Results
Item
EllipseFitCoverage
Synopsis
Returns the result for the coverage feature of the ellipse that is the best fit for each edge.
[]
Syntax
[Double =] object.EllipseFitCoverage
[]
Syntax
[double =] object->EllipseFitCoverage
Type description
A double value that specifies the coverage of the ellipse that is the best fit.
Remarks
  • The coverage describes the portion of the ellipse covered by the edge.
  • Values are returned between 0.0 to 1.0. The lower the value, the lower the coverage. For example, 0.0 equals no coverage, 0.5 equals 50 percent coverage, and 1.0 equals 100 percent coverage.
  • This property is only valid if the FeatureList.EllipseFit.Coverage property is set to True.


EdgeFinder.Results.Item.EllipseFitError Property

EllipseFitError property

See Also | Availability | MIL Equivalent | EllipseFitCoverage | EllipseFitMajorAxis
Reference:
EdgeFinder.FeatureList.EllipseFit.Error
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_ELLIPSE_FIT_ERROR
)
EdgeFinder
Results
Item
EllipseFitError
Synopsis
Returns the result for the fit error feature of the ellipse that is the best fit for each edge.
[]
Syntax
[Double =] object.EllipseFitError
[]
Syntax
[double =] object->EllipseFitError
Type description
A double value that specifies the fit error of the ellipse that is the best fit.
Remarks
  • The fit error is calculated as the average quadratic error.
  • This property is only valid if the FeatureList.EllipseFit.Error property is set to True.


EdgeFinder.Results.Item.EllipseFitMajorAxis Property

EllipseFitMajorAxis property

See Also | Availability | MIL Equivalent | EllipseFitError | EllipseFitMinorAxis
Reference:
EdgeFinder.FeatureList.EllipseFit.MajorAxis
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_ELLIPSE_FIT_MAJOR_AXIS
)
EdgeFinder
Results
Item
EllipseFitMajorAxis
Synopsis
Returns the result for the major axis feature of the ellipse that is the best fit for each edge.
[]
Syntax
[Double =] object.EllipseFitMajorAxis
[]
Syntax
[double =] object->EllipseFitMajorAxis
Type description
A double value that specifies the major axis of the ellipse that is the best fit.
Remarks
  • The major axis divides the ellipse across its long dimension into two equal halves. It is also the principle axis of symmetry.
  • This property is only valid if the FeatureList.EllipseFit.MajorAxis property is set to True.


EdgeFinder.Results.Item.EllipseFitMinorAxis Property

EllipseFitMinorAxis property

See Also | Availability | MIL Equivalent | EllipseFitMajorAxis | FastLength
Reference:
EdgeFinder.FeatureList.EllipseFit.MinorAxis
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_ELLIPSE_FIT_MINOR_AXIS
)
EdgeFinder
Results
Item
EllipseFitMinorAxis
Synopsis
Returns the result for the minor axis feature of the ellipse that is the best fit for each edge.
[]
Syntax
[Double =] object.EllipseFitMinorAxis
[]
Syntax
[double =] object->EllipseFitMinorAxis
Type description
A double value that specifies the major axis of the ellipse that is the best fit.
Remarks
  • The major axis divides the ellipse across its short dimension into two equal halves, perpendicular to the major axis. The minor axis is an axis of symmetry.
  • This property is only valid if the FeatureList.EllipseFit.MinorAxis property is set to True.


EdgeFinder.Results.Item.FastLength Property

FastLength property

See Also | Availability | MIL Equivalent | EllipseFitMinorAxis | FeretElongation
Reference:
EdgeFinder.FeatureList.FastLength
EdgeFinder.Results.Item.Length
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_FAST_LENGTH
)
EdgeFinder
Results
Item
FastLength
Synopsis
Returns the result for the quickly calculated length feature of each edge.
[]
Syntax
[Double =] object.FastLength
[]
Syntax
[double =] object->FastLength
Type description
A double value that specifies each edge's quickly calculated length.
Remarks
  • This property gives a coarser but faster approximation of the edge's length than can be calculated with the Results.Item(EdgeIndex).Length property.
  • The fast length calculation is equal to:
  • This property is only valid if the FeatureList.FastLength property is set to True.


EdgeFinder.Results.Item.FeretElongation Property

FeretElongation property

See Also | Availability | MIL Equivalent | FastLength | FeretX
Reference:
EdgeFinder.FeatureList.FeretElongation
EdgeFinder.FeatureList.MaximumFeretDiameter
EdgeFinder.FeatureList.MinimumFeretDiameter
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_FERET_ELONGATION
)
EdgeFinder
Results
Item
FeretElongation
Synopsis
Returns the result for theFeret elongation feature of each edge.
[]
Syntax
[Double =] object.FeretElongation
[]
Syntax
[double =] object->FeretElongation
Type description
A double value that specifies each edge's Feret elongation.
Remarks
  • The Feret elongation is a measure of the shape of each edge. It is equal to the FeatureList.MaximumFeretDiameter / FeatureList.MinimumFeretDiameter. It is accurate for reasonably compact objects, but becomes less accurate for very elongated objects (because FeatureList.MinimumFeretDiameter becomes less accurate).
  • This property is only valid if the FeatureList.FeretElongation property is set to True.


EdgeFinder.Results.Item.FeretX Property

FeretX property

See Also | Availability | MIL Equivalent | FeretElongation | FeretY
Reference:
EdgeFinder.FeatureList.Box.FeretX
EdgeFinder.FeatureList.Box.XMaximum
EdgeFinder.FeatureList.Box.XMinimum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_FERET_X
)
EdgeFinder
Results
Item
FeretX
Synopsis
Returns the result for the X-Feret feature of each edge.
[]
Syntax
[Double =] object.FeretX
[]
Syntax
[double =] object->FeretX
Type description
A double value that specifies each edge's X-Feret.
Remarks
  • The X-Feret is the dimension of the minimum bounding box of an edge in the horizontal direction; that is, FeatureList.Box.XMaximum - FeatureList.Box.XMinimum.
  • This property is only valid if the FeatureList.Box.FeretX property is set to True.


EdgeFinder.Results.Item.FeretY Property

FeretY property

See Also | Availability | MIL Equivalent | FeretX | FirstPointX
Reference:
EdgeFinder.FeatureList.Box.FeretY
EdgeFinder.FeatureList.Box.YMaximum
EdgeFinder.FeatureList.Box.YMinimum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_FERET_Y
)
EdgeFinder
Results
Item
FeretY
Synopsis
Returns the result for the Y-Feret feature of each edge.
[]
Syntax
[Double =] object.FeretY
[]
Syntax
[double =] object->FeretY
Type description
A double value that specifies each edge's Y-Feret.
Remarks
  • The Y-Feret is the dimension of the minimum bounding box of an edge in the vertical direction; that is, FeatureList.Box.YMaximum - FeatureList.Box.YMinimum.
  • This property is only valid if the FeatureList.Box.FeretY property is set to True.


EdgeFinder.Results.Item.FirstPointX Property

FirstPointX property

See Also | Availability | MIL Equivalent | FeretY | FirstPointY
Reference:
EdgeFinder.FeatureList.FirstPoint.X
EdgeFinder.Results.Item.FirstPointY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_FIRST_POINT_X
)
EdgeFinder
Results
Item
FirstPointX
Synopsis
Returns the result for the X-coordinate feature of each edge's first point.
[]
Syntax
[Double =] object.FirstPointX
[]
Syntax
[double =] object->FirstPointX
Type description
A double value that specifies the X-coordinate of the first point of each edge.
Remarks
  • Together with Results.Item(EdgeIndex).FirstPointY, these values define a unique point for each edge, which is always the first point of each edge chain.
  • This property is only valid if the FeatureList.FirstPoint.X property is set to True.


EdgeFinder.Results.Item.FirstPointY Property

FirstPointY property

See Also | Availability | MIL Equivalent | FirstPointX | GeneralFeret
Reference:
EdgeFinder.FeatureList.FirstPoint.Y
EdgeFinder.Results.Item.FirstPointX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_FIRST_POINT_Y
)
EdgeFinder
Results
Item
FirstPointY
Synopsis
Returns the result for the Y-coordinate feature of each edge's first point.
[]
Syntax
[Double =] object.FirstPointY
[]
Syntax
[double =] object->FirstPointY
Type description
A double value that specifies the Y-coordinate of the first point of each edge.
Remarks
  • Together with Results.Item(EdgeIndex).FirstPointX, these values define a unique point for each edge, which is always the first point of each edge chain.
  • This property is only valid if the FeatureList.FirstPoint.Y property is set to True.


EdgeFinder.Results.Item.GeneralFeret Property

GeneralFeret property

See Also | Availability | MIL Equivalent | FirstPointY | GeneralFeretFirstEdgelIndex
Reference:
EdgeFinder.FeatureList.GeneralFeret.Angle
EdgeFinder.FeatureList.GeneralFeret.Enabled
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_GENERAL_FERET
)
EdgeFinder
Results
Item
GeneralFeret
Synopsis
Returns the result for the general Feret feature of each edge.
[]
Syntax
[Double =] object.GeneralFeret
[]
Syntax
[double =] object->GeneralFeret
Type description
A double value that specifies the general Feret of each edge.
Remarks
  • To set the angle at which to calculate the Feret, use the FeatureList.GeneralFeret.Angle property.
  • This property is only valid if the FeatureList.GeneralFeret.Enabled property is set to True.


EdgeFinder.Results.Item.GeneralFeretFirstEdgelIndex Property

GeneralFeretFirstEdgelIndex property

Availability | MIL Equivalent | GeneralFeret | GeneralFeretSecondEdgelIndex
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_GENERAL_FERET +
M_FIRST_FERET_INDEX
)
EdgeFinder
Results
Item
GeneralFeretFirstEdgelIndex
Synopsis
Returns the result for the first index at which the general Ferets have been found.
[]
Syntax
[Integer =] object.GeneralFeretFirstEdgelIndex
[]
Syntax
[long =] object->GeneralFeretFirstEdgelIndex
Type description
A long value that specifies the result for the general Ferets' first index.


EdgeFinder.Results.Item.GeneralFeretSecondEdgelIndex Property

GeneralFeretSecondEdgelIndex property

Availability | MIL Equivalent | GeneralFeretFirstEdgelIndex | LabelValue
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_GENERAL_FERET +
M_SECOND_FERET_INDEX
)
EdgeFinder
Results
Item
GeneralFeretSecondEdgelIndex
Synopsis
Returns the result for the second index at which the general Ferets have been found.
[]
Syntax
[Integer =] object.GeneralFeretSecondEdgelIndex
[]
Syntax
[long =] object->GeneralFeretSecondEdgelIndex
Type description
A long value that specifies the result for the general Ferets' second index.


EdgeFinder.Results.Item.LabelValue Property

LabelValue property

See Also | Availability | MIL Equivalent | GeneralFeretSecondEdgelIndex | Length
Reference:
EdgeFinder.FeatureList.LabelValue
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_LABEL_VALUE
)
EdgeFinder
Results
Item
LabelValue
Synopsis
Returns the label value of the edge.
[]
Syntax
[Integer =] object.LabelValue
[]
Syntax
[long =] object->LabelValue
Type description
A long value that specifies the label value given to an edge.
Remarks
  • The label value is a positive integer greater or equal to one.
  • Each edge in an image has a unique label value.
  • This property is only valid if the FeatureList.LabelValue property is set to True.


EdgeFinder.Results.Item.Length Property

Length property

See Also | Availability | MIL Equivalent | LabelValue | LineFitA
Reference:
EdgeFinder.FeatureList.Length
EdgeFinder.Results.Item.FastLength
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_LENGTH
)
EdgeFinder
Results
Item
Length
Synopsis
Returns the result for the length feature.
[]
Syntax
[Double =] object.Length
[]
Syntax
[double =] object->Length
Type description
A double value that specifies the length of the edge.
Remarks
  • This property gives a more accurate but slower approximation of the edge's length than Results.Item(EdgeIndex).FastLength property.
  • This property is only valid if the FeatureList.Length property is set to True.


EdgeFinder.Results.Item.LineFitA Property

LineFitA property

See Also | Availability | MIL Equivalent | Length | LineFitB
Reference:
EdgeFinder.FeatureList.LineFit.A
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_LINE_FIT_A
)
EdgeFinder
Results
Item
LineFitA
Synopsis
Returns the result for the A variable feature of the line that is the best fit for each edge.
[]
Syntax
[Double =] object.LineFitA
[]
Syntax
[double =] object->LineFitA
Type description
A double value that specifies the A variable of the line that is the best fit.
Remarks
  • The line fit approximation is based on the following equation: Ax + By + C = 0.
  • This property is only valid if the FeatureList.LineFit.A property is set to True.


EdgeFinder.Results.Item.LineFitB Property

LineFitB property

See Also | Availability | MIL Equivalent | LineFitA | LineFitC
Reference:
EdgeFinder.FeatureList.LineFit.B
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_LINE_FIT_B
)
EdgeFinder
Results
Item
LineFitB
Synopsis
Returns the result for the B variable feature of the line that is the best fit for each edge.
[]
Syntax
[Double =] object.LineFitB
[]
Syntax
[double =] object->LineFitB
Type description
A double value that specifies the B variable of the line that is the best fit.
Remarks
  • The line fit approximation is based on the following equation: Ax + By + C = 0.
  • This property is only valid if the FeatureList.LineFit.B property is set to True.


EdgeFinder.Results.Item.LineFitC Property

LineFitC property

See Also | Availability | MIL Equivalent | LineFitB | LineFitError
Reference:
EdgeFinder.FeatureList.LineFit.C
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_LINE_FIT_C
)
EdgeFinder
Results
Item
LineFitC
Synopsis
Returns the result for the C variable feature of the line that is the best fit for each edge.
[]
Syntax
[Double =] object.LineFitC
[]
Syntax
[double =] object->LineFitC
Type description
A double value that specifies the C variable of the line that is the best fit.
Remarks
  • The line fit approximation is based on the following equation: Ax + By + C = 0.
  • This property is only valid if the FeatureList.LineFit.C property is set to True.


EdgeFinder.Results.Item.LineFitError Property

LineFitError property

See Also | Availability | MIL Equivalent | LineFitC | MaximumFeretAngle
Reference:
EdgeFinder.FeatureList.LineFit.Error
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_LINE_FIT_ERROR
)
EdgeFinder
Results
Item
LineFitError
Synopsis
Returns the result for the fit error feature of the line that is the best fit for each edge.
[]
Syntax
[Double =] object.LineFitError
[]
Syntax
[double =] object->LineFitError
Type description
A double value that specifies the fit error of the line that is the best fit.
Remarks
  • The line fit approximation is based on the following equation: Ax + By + C = 0.
  • This property is only valid if the FeatureList.LineFit.Error property is set to True.


EdgeFinder.Results.Item.MaximumFeretAngle Property

MaximumFeretAngle property

See Also | Availability | MIL Equivalent | LineFitError | MaximumFeretDiameter
Reference:
EdgeFinder.FeatureList.MaximumFeretAngle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_FERET_MAX_ANGLE
)
EdgeFinder
Results
Item
MaximumFeretAngle
Synopsis
Returns the result for the maximum Feret angle feature of each edge.
[]
Syntax
[Double =] object.MaximumFeretAngle
[]
Syntax
[double =] object->MaximumFeretAngle
Type description
A double value that specifies the maximum Feret angle of each edge, in degrees.
Remarks
  • The maximum Feret angle is the angle at which the maximum Feret diameter is found. Positive values indicate a counter-clockwise displacement from the positive X-axis.
  • This property is only valid if the FeatureList.MaximumFeretAngle property is set to True.


EdgeFinder.Results.Item.MaximumFeretDiameter Property

MaximumFeretDiameter property

See Also | Availability | MIL Equivalent | MaximumFeretAngle | MaximumFeretFirstEdgelIndex
Reference:
EdgeFinder.FeatureList.MaximumFeretDiameter
EdgeFinder.NumberOfFeretAngles
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_FERET_MAX_DIAMETER
)
EdgeFinder
Results
Item
MaximumFeretDiameter
Synopsis
Returns the result for the maximum Feret diameter feature of each edge.
[]
Syntax
[Double =] object.MaximumFeretDiameter
[]
Syntax
[double =] object->MaximumFeretDiameter
Type description
A double value that specifies the maximum Feret diameter of each edge.
Remarks
  • The maximum Feret diameter is the largest Feret diameter found after checking the number of angles specified with the NumberOfFeretAngles property. More angles will give a more accurate result, but will take longer to calculate.
  • This property is only valid if the FeatureList.MaximumFeretDiameter property is set to True.


EdgeFinder.Results.Item.MaximumFeretFirstEdgelIndex Property

MaximumFeretFirstEdgelIndex property

Availability | MIL Equivalent | MaximumFeretDiameter | MaximumFeretSecondEdgelIndex
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_FERET_MAX_DIAMETER +
M_FIRST_FERET_INDEX
)
EdgeFinder
Results
Item
MaximumFeretFirstEdgelIndex
Synopsis
Returns the result for the first index at which the maximum Ferets have been found.
[]
Syntax
[Integer =] object.MaximumFeretFirstEdgelIndex
[]
Syntax
[long =] object->MaximumFeretFirstEdgelIndex
Type description
A long value that specifies the result for the maximum Ferets' first index.


EdgeFinder.Results.Item.MaximumFeretSecondEdgelIndex Property

MaximumFeretSecondEdgelIndex property

Availability | MIL Equivalent | MaximumFeretFirstEdgelIndex | MeanFeretDiameter
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_FERET_MAX_DIAMETER +
M_SECOND_FERET_INDEX
)
EdgeFinder
Results
Item
MaximumFeretSecondEdgelIndex
Synopsis
Returns the result for the second index at which the maximum Ferets have been found.
[]
Syntax
[Integer =] object.MaximumFeretSecondEdgelIndex
[]
Syntax
[long =] object->MaximumFeretSecondEdgelIndex
Type description
A long value that specifies the result for the maximum Ferets' second index.


EdgeFinder.Results.Item.MeanFeretDiameter Property

MeanFeretDiameter property

See Also | Availability | MIL Equivalent | MaximumFeretSecondEdgelIndex | MinimumFeretAngle
Reference:
EdgeFinder.FeatureList.MeanFeretDiameter
EdgeFinder.NumberOfFeretAngles
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_FERET_MEAN_DIAMETER
)
EdgeFinder
Results
Item
MeanFeretDiameter
Synopsis
Returns the result for the mean Feret diameter feature of each edge.
[]
Syntax
[Double =] object.MeanFeretDiameter
[]
Syntax
[double =] object->MeanFeretDiameter
Type description
A double value that specifies the mean Feret diameter of each edge.
Remarks
  • The mean Feret diameter is the average Feret diameter of all the angles checked, which is set with the NumberOfFeretAngles property. More angles will give a more accurate result, but will take longer to calculate.
  • This property is only valid if the FeatureList.MeanFeretDiameter property is set to True.


EdgeFinder.Results.Item.MinimumFeretAngle Property

MinimumFeretAngle property

See Also | Availability | MIL Equivalent | MeanFeretDiameter | MinimumFeretDiameter
Reference:
EdgeFinder.FeatureList.MinimumFeretAngle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_FERET_MIN_ANGLE
)
EdgeFinder
Results
Item
MinimumFeretAngle
Synopsis
Returns the result for the minimum Feret angle feature of each edge.
[]
Syntax
[Double =] object.MinimumFeretAngle
[]
Syntax
[double =] object->MinimumFeretAngle
Type description
A double value that specifies the angle of the minimum Feret diameter of each edge, in degrees.
Remarks
  • The minimum Feret angle is the angle at which the minimum Feret diameter is found. Positive values indicate a counter-clockwise displacement from the positive X-axis.
  • This property is only valid if the FeatureList.MinimumFeretAngle property is set to True.


EdgeFinder.Results.Item.MinimumFeretDiameter Property

MinimumFeretDiameter property

See Also | Availability | MIL Equivalent | MinimumFeretAngle | MinimumFeretFirstEdgelIndex
Reference:
EdgeFinder.FeatureList.MinimumFeretDiameter
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_FERET_MIN_DIAMETER
)
EdgeFinder
Results
Item
MinimumFeretDiameter
Synopsis
Returns the result for the minimum Feret diameter feature of each edge.
[]
Syntax
[Double =] object.MinimumFeretDiameter
[]
Syntax
[double =] object->MinimumFeretDiameter
Type description
A double value that specifies the minimum Feret diameter of each edge.
Remarks
  • The minimum Feret diameter is the smallest Feret diameter found after checking the number of angles specified with the NumberOfFeretAngles property. More angles will give a more accurate result, but will take longer to calculate.
  • This property is only valid if the FeatureList.MinimumFeretDiameter property is set to True.


EdgeFinder.Results.Item.MinimumFeretFirstEdgelIndex Property

MinimumFeretFirstEdgelIndex property

Availability | MIL Equivalent | MinimumFeretDiameter | MinimumFeretSecondEdgelIndex
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_FERET_MIN_DIAMETER +
M_FIRST_FERET_INDEX
)
EdgeFinder
Results
Item
MinimumFeretFirstEdgelIndex
Synopsis
Returns the result for the first index at which the minimum Ferets have been found.
[]
Syntax
[Integer =] object.MinimumFeretFirstEdgelIndex
[]
Syntax
[long =] object->MinimumFeretFirstEdgelIndex
Type description
A long value that specifies the result for the minimum Ferets' first index.


EdgeFinder.Results.Item.MinimumFeretSecondEdgelIndex Property

MinimumFeretSecondEdgelIndex property

Availability | MIL Equivalent | MinimumFeretFirstEdgelIndex | MomentElongation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_FERET_MIN_DIAMETER +
M_SECOND_FERET_INDEX
)
EdgeFinder
Results
Item
MinimumFeretSecondEdgelIndex
Synopsis
Returns the result for the second index at which the minimum Ferets have been found.
[]
Syntax
[Integer =] object.MinimumFeretSecondEdgelIndex
[]
Syntax
[long =] object->MinimumFeretSecondEdgelIndex
Type description
A long value that specifies the result for the minimum Ferets' second index.


EdgeFinder.Results.Item.MomentElongation Property

MomentElongation property

See Also | Availability | MIL Equivalent | MinimumFeretSecondEdgelIndex | MomentElongationAngle
Reference:
EdgeFinder.FeatureList.MomentElongation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_MOMENT_ELONGATION
)
EdgeFinder
Results
Item
MomentElongation
Synopsis
Returns the result for the moment elongation feature of each edge.
[]
Syntax
[Double =] object.MomentElongation
[]
Syntax
[double =] object->MomentElongation
Type description
A double value that specifies the moment elongation of each edge.
Remarks
  • The moment elongation is equal to the ratio of the Eigen values of the edge chain's inertial matrix.
  • This property is only valid if the FeatureList.MomentElongation property is set to True.


EdgeFinder.Results.Item.MomentElongationAngle Property

MomentElongationAngle property

See Also | Availability | MIL Equivalent | MomentElongation | PositionX
Reference:
EdgeFinder.FeatureList.MomentElongationAngle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_MOMENT_ELONGATION_ANGLE
)
EdgeFinder
Results
Item
MomentElongationAngle
Synopsis
Returns the result for the moment elongation feature of each edge.
[]
Syntax
[Double =] object.MomentElongationAngle
[]
Syntax
[double =] object->MomentElongationAngle
Type description
A double value that specifies the moment elongation angle of each edge.
Remarks
  • The moment elongation angle is equal to the ratio of the Eigen values of the edge chain's inertial matrix.
  • This property is only valid if the FeatureList.MomentElongationAngle property is set to True.


EdgeFinder.Results.Item.PositionX Property

PositionX property

See Also | Availability | MIL Equivalent | MomentElongationAngle | PositionY
Reference:
EdgeFinder.FeatureList.Position.X
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_POSITION_X
)
EdgeFinder
Results
Item
PositionX
Synopsis
Returns the result for the X-position feature of each edge.
[]
Syntax
[Double =] object.PositionX
[]
Syntax
[double =] object->PositionX
Type description
A double value that specifies the X-position of each edge.
Remarks
  • The X-position of the edge is defined by the X-coordinate of the edge chain's middle edgel.
  • This property is only valid if the FeatureList.Position.X property is set to True.


EdgeFinder.Results.Item.PositionY Property

PositionY property

See Also | Availability | MIL Equivalent | PositionX | Size
Reference:
EdgeFinder.FeatureList.Position.Y
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_POSITION_Y
)
EdgeFinder
Results
Item
PositionY
Synopsis
Returns the result for the Y-position feature of each edge.
[]
Syntax
[Double =] object.PositionY
[]
Syntax
[double =] object->PositionY
Type description
A double value that specifies the Y-position of each edge.
Remarks
  • The Y-position of the edge is defined by the Y-coordinate of the edge chain's middle edgel.
  • This property is only valid if the FeatureList.Position.Y property is set to True.


EdgeFinder.Results.Item.Size Property

Size property

See Also | Availability | MIL Equivalent | PositionY | Strength
Reference:
EdgeFinder.FeatureList.Size
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_SIZE
)
EdgeFinder
Results
Item
Size
Synopsis
Returns the result for the size feature of each edge.
[]
Syntax
[Integer =] object.Size
[]
Syntax
[long =] object->Size
Type description
A long value that specifies the size of each edge.
Remarks
  • The size is the number of edgels of each edge.
  • This property is only valid if the FeatureList.Size property is set to True.


EdgeFinder.Results.Item.Strength Property

Strength property

See Also | Availability | MIL Equivalent | Size | Tortuosity
Reference:
EdgeFinder.FeatureList.Strength
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_STRENGTH
)
EdgeFinder
Results
Item
Strength
Synopsis
Returns the result for the strength feature of each edge.
[]
Syntax
[Double =] object.Strength
[]
Syntax
[double =] object->Strength
Type description
A double value that specifies the strength of each edge.
Remarks
  • The strength is the energy of each edge, which is defined as the sum of the square of the edgels' magnitude values.
  • This property is only valid if the FeatureList.Strength property is set to True.


EdgeFinder.Results.Item.Tortuosity Property

Tortuosity property

See Also | Availability | MIL Equivalent | Strength | Vertices
Reference:
EdgeFinder.FeatureList.Box
EdgeFinder.FeatureList.Length
EdgeFinder.FeatureList.Tortuosity
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_TORTUOSITY
)
EdgeFinder
Results
Item
Tortuosity
Synopsis
Returns the result for the tortuosity feature of each edge.
[]
Syntax
[Double =] object.Tortuosity
[]
Syntax
[double =] object->Tortuosity
Type description
A double value that specifies the tortuosity of each edge.
Remarks
  • The tortuosity measure is equal to the ratio of the diagonal length of the edge's bounding box (FeatureList.Box) by the length of the edge (FeatureList.Length). Therefore, a non-tortuous edge (a straight line) will have a tortuosity of 1.0 while a tortuous edge will have its tortuosity decreasing toward zero.
  • This property is only valid if the FeatureList.Tortuosity property is set to True.


EdgeFinder.Results.Item.Vertices Property

Vertices property

Availability | MIL Equivalent | Tortuosity | Draw
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_NUMBER_OF_VERTICES or
M_VERTICES_X or
M_VERTICES_Y or
M_BULGES
)
EdgeFinder
Results
Item
Vertices
Properties: Count, Item
Synopsis
Returns the collection of vertices in the edge chain, allowing access to each element.
[]
Syntax
[EdgeResultVertices =] object.Vertices
[]
Syntax
[IEdgeResultVerticesPtr =] object->Vertices
Type description
An EdgeResultVertices expression that represents an instance of an EdgeResultVertices collection.


EdgeFinder.Results.Item.Vertices.Count Property

Count property

Availability | MIL Equivalent | Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_NUMBER_OF_VERTICES
)
EdgeFinder
Results
Item
Vertices
Count
Synopsis
Returns the number of elements in the collection of edge vertices.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A long value that specifies the number of elements currently in the collection.


EdgeFinder.Results.Item.Vertices.Item Property

Item property

Availability | MIL Equivalent | Count
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
Results
Item
Vertices
Item
Properties: Bulge, ChainIndex, EdgelIndex, X, Y
Synopsis
Returns the element at the specified index in the collection of edge vertices.
[]
Syntax
[EdgeResultVertex=]object.Item(
Index As Integer
)
[]
Syntax
[IEdgeResultVertexPtr =] object->Item(
long Index
)
Index
A long value that specifies the index of the required item.
Type description
An EdgeResultVertex object.
Remarks
  • If the value provided as the index does not match any existing element in the collection, an error occurs. The index of the first element in the Vertices collection is 1.
  • The elements in the collection of vertices refer to the total number of vertices in the edge.


EdgeFinder.Results.Item.Vertices.Item.Bulge Property

Bulge property

See Also | Availability | MIL Equivalent | ChainIndex
Reference:
EdgeFinder.ChainApproximation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_BULGES
)
EdgeFinder
Results
Item
Vertices
Item
Bulge
Synopsis
Returns the bulge values of the chain approximation's vertices.
[]
Syntax
[Double =] object.Bulge
[]
Syntax
[double =] object->Bulge
Type description
A double value that specifies the bulge of the edge's vertices.
Remarks
  • The bulge determines the circular arc that lies between the current vertex and the next vertex; it is equal to the tangent of one fourth the included angle between consecutive vertices, and is negative for a clockwise arc. For example, the bulge of a straight line is 0 while the bulge of a of semicircle is 1.
  • Note that to retrieve bulge values, the ChainApproximation property must not be set to edgeDisable.


EdgeFinder.Results.Item.Vertices.Item.ChainIndex Property

ChainIndex property

See Also | Availability | MIL Equivalent | Bulge | EdgelIndex
User Guide:
Approximating the edges

Reference:
EdgeFinder.ChainApproximation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_VERTICES_CHAIN_INDEX
)
EdgeFinder
Results
Item
Vertices
Item
ChainIndex
Synopsis
Returns the index of the vertices' corresponding edge, in a chain approximation.
[]
Syntax
[Integer =] object.ChainIndex
[]
Syntax
[long =] object->ChainIndex
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the index of the vertices' corresponding edge.
Remark
  • This property is ignored if the ChainApproximation property is set to edgeDisable.


EdgeFinder.Results.Item.Vertices.Item.EdgelIndex Property

EdgelIndex property

See Also | Availability | MIL Equivalent | ChainIndex | X
User Guide:
Approximating the edges

Reference:
EdgeFinder.ChainApproximation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_VERTICES_INDEX
)
EdgeFinder
Results
Item
Vertices
Item
EdgelIndex
Synopsis
Returns the index of the vertices' corresponding edgels, in a chain approximation.
[]
Syntax
[Integer =] object.EdgelIndex
[]
Syntax
[long =] object->EdgelIndex
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the index of the vertices' corresponding edgels.
Remark
  • This property is ignored if the ChainApproximation property is set to edgeDisable.


EdgeFinder.Results.Item.Vertices.Item.X Property

X property

Availability | MIL Equivalent | EdgelIndex | Y
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_VERTICES_X
)
EdgeFinder
Results
Item
Vertices
Item
X
Synopsis
Returns the X-coordinates of the chain approximation's vertices.
[]
Syntax
[Double =] object.X
[]
Syntax
[double =] object->X
Type description
A double value that specifies the X-coordinates of the edge's vertices.


EdgeFinder.Results.Item.Vertices.Item.Y Property

Y property

Availability | MIL Equivalent | X
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_VERTICES_Y
)
EdgeFinder
Results
Item
Vertices
Item
Y
Synopsis
Returns the Y-coordinates of the chain approximation's vertices.
[]
Syntax
[Double =] object.Y
[]
Syntax
[double =] object->Y
Type description
A double value that specifies the Y-coordinates of the edge's vertices.


EdgeFinder.Results.Item.Draw Method

Draw method

Availability | MIL Equivalent | Vertices
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox CronosPlus
Fully supported on Matrox Corona-II
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Orion

See remarks for support on:
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MedgeDraw(
EdgeIndexOrEdgeLabel =
EdgeIndex
)
EdgeFinder
Results
Item
Draw
Synopsis
Draws the specified results, calculated for the edge, in the destination image.
[]
Syntax
object.Draw(
ByVal ImageOrGraphicContext As Object,
ByVal Operation As EdgeDrawOperationConstants
)
[]
Syntax
void object->Draw(
IDispatch * ImageOrGraphicContext,
enum EdgeDrawOperationConstants Operation
)
ImageOrGraphicContext
An Image control that specifies the image into which to draw, or a GraphicContext control that specifies the graphic context and image to use to draw features.
Operation (optional in , default is edgeDrawEdge)
An EdgeDrawOperationConstants expression that specifies the result features to draw. These constants can be added together to draw multiple features simultaneously.
Value | Meaning
edgeDrawEdge | Draws the edges.
edgeDrawEdgels | Draws a cross at each edgel.
edgeDrawSegments | Draws the segments of the edge approximation.
edgeDrawVertices | Draws the segment intersections (or vertices) of the edge approximation.
edgeDrawBox | Draws a bounding box around each edge.
edgeDrawCenterOfGravity | Draws a cross at the center of gravity of each edge.
edgeDrawPosition | Draws a cross at the center of each edge.
edgeDrawLabel | Draws each edge's label.
edgeDrawIndex | Draws each edge's index.
edgeDrawMaximumFeret | Draws the edges' maximum Feret, using an H-type line (|-|) on contact with the edge's two extrema edgels, at the maximum Feret diameter's angle.
edgeDrawMinimumFeret | Draws the edges' minimum Feret, using an H-type line (|-|) on contact with the edge's two extrema edgels, at the minimum Feret diameter's angle.
edgeDrawGeneralFeret | Draws the edges' general Feret, using an H-type line (|-|) on contact with the edge's two extrema edgels, at the general Feret diameter's angle.
edgeDrawCenterOfGravityWithValue | Draws the coordinates of the center of gravity of each edge.
edgeDrawPositionWithValue | Draws the coordinates of the center of each edge.
edgeDrawMaximumFeretWithValue | Draws the maximum Feret value of each edge.
edgeDrawMinimumFeretWithValue | Draws the minimum Feret value of each edge.
edgeDrawGeneralFeretWithValue | Draws the general Feret value of each edge.
edgeDrawCircleFit | Draws the circle fit of each edge.
edgeDrawLineFit | Draws the line fit of each edge.
edgeDrawEllipseFit | Draws the ellipse fit of each edge.
Remark for Matrox Odyssey XA
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the EdgeFinder control. If not, an error will occur.
Remark for Matrox Odyssey XCL
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the EdgeFinder control. If not, an error will occur.
Remark for Matrox Odyssey XD
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the EdgeFinder control. If not, an error will occur.
Remark for Matrox Solios XA
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the EdgeFinder control. If not, an error will occur.
Remark for Matrox Solios XCL
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the EdgeFinder control. If not, an error will occur.


EdgeFinder.Results.MagnitudeImage Property

MagnitudeImage property

See Also | Availability | MIL Equivalent | Item | MilID
Reference:
EdgeFinder.ImageFeature.Magnitude
EdgeFinder.MagnitudeType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_MAGNITUDE_ID
)
EdgeFinder
Results
MagnitudeImage
Synopsis
Returns the internal magnitude identifier image.
[]
Syntax
[Image =] object.MagnitudeImage
[]
Syntax
[IImagePtr =] object->MagnitudeImage
Type description
An Image control that specifies the internal magnitude identifier image.
Remarks
  • This property is only valid if the ImageFeature.Magnitude property is set to True.
  • The magnitude image is filled according to the MagnitudeType property. If the MagnitudeType property is set to edgeSquareOfNorm, magnitude values are truncated on 15.0 bits. If the MagnitudeType property is set to edgeNorm, magnitude values are returned on 8.7 bits, with fixed-point precision. In float mode, the same conventions are used, but with float precision.


EdgeFinder.Results.MilID Property

MilID property

See Also | Availability | MIL Equivalent | MagnitudeImage | SecondDerivativeXImage
Reference:
EdgeFinder.IsAllocated
EdgeFinder.Modified
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeAllocResult(EdgeResultIdPtr)
EdgeFinder
Results
MilID
Synopsis
Returns the Native MIL identifier of the allocated resources of the results.
[]
Syntax
[Integer =] object.MilID
[]
Syntax
[long =] object->MilID
Type description
A long value that returns the Native MIL identifier of the collection of EdgeFinder results.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • The control's Modified method should be called after making Native MIL call(s) on the returned identifier.
  • If the control's IsAllocated property is set to False, the MilID will be 0.


EdgeFinder.Results.SecondDerivativeXImage Property

SecondDerivativeXImage property

See Also | Availability | MIL Equivalent | MilID | SecondDerivativeYImage
Reference:
EdgeFinder.ImageFeature.Derivatives
EdgeFinder.SourceDerivativeImages.DerivativeX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_SECOND_DERIVATIVE_X_ID
)
EdgeFinder
Results
SecondDerivativeXImage
Synopsis
Returns the internal second derivative identifier image (in the X-direction).
[]
Syntax
[Image =] object.SecondDerivativeXImage
[]
Syntax
[IImagePtr =] object->SecondDerivativeXImage
Type description
An Image control that specifies the internal second derivative identifier image (in the X-direction).
Remarks
  • This property is only valid if the ImageFeature.Derivatives property is set to True.
  • When provided by Edge Finder, derivative images are always consistent (for example, they have the same scaling factor) and are always normalized such that the maximum output value is 1024 (for 8-bit source images). When provided by the user, derivative images should respect these limitations for best performances.
  • You can set your own second derivative images (in the X-direction) with the SourceDerivativeImages.DerivativeX property. Note that typically, derivative images should be provided by Edge Finder.


EdgeFinder.Results.SecondDerivativeYImage Property

SecondDerivativeYImage property

See Also | Availability | MIL Equivalent | SecondDerivativeXImage | SizeX
Reference:
EdgeFinder.ImageFeature.Derivatives
EdgeFinder.SourceDerivativeImages.DerivativeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_SECOND_DERIVATIVE_Y_ID
)
EdgeFinder
Results
SecondDerivativeYImage
Synopsis
Returns the internal second derivative identifier image (in the Y-direction).
[]
Syntax
[Image =] object.SecondDerivativeYImage
[]
Syntax
[IImagePtr =] object->SecondDerivativeYImage
Type description
An Image control that specifies the internal second derivative identifier image (in the Y-direction).
Remarks
  • This property is only valid if the ImageFeature.Derivatives property is set to True.
  • When provided by Edge Finder, derivative images are always consistent (for example, they have the same scaling factor) and are always normalized such that the maximum output value is 1024 (for 8-bit source images). When provided by the user, derivative images should respect these limitations for best performances.
  • You can set your own second derivative images (in the Y-direction) with the SourceDerivativeImages.DerivativeY property. Note that typically, derivative images should be provided by Edge Finder.


EdgeFinder.Results.SizeX Property

SizeX property

Availability | MIL Equivalent | SecondDerivativeYImage | SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_SIZE_X
)
EdgeFinder
Results
SizeX
Synopsis
Returns the width of the image from which the edges were extracted.
[]
Syntax
[Double =] object.SizeX
[]
Syntax
[double =] object->SizeX
Type description
A double value that specifies the number of pixels in the horizontal direction.


EdgeFinder.Results.SizeY Property

SizeY property

Availability | MIL Equivalent | SizeX | StreamSize
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_SIZE_Y
)
EdgeFinder
Results
SizeY
Synopsis
Returns the height of the image from which the edges were extracted.
[]
Syntax
[Double =] object.SizeY
[]
Syntax
[double =] object->SizeY
Type description
A double value that specifies the number of pixels in the vertical direction.


EdgeFinder.Results.StreamSize Property

StreamSize property

See Also | Availability | MIL Equivalent | SizeY | ThresholdHighValue
Reference:
EdgeFinder.Results.SaveStream
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeStream(
Operation =
M_INQUIRE_SIZE_BYTE
)
EdgeFinder
Results
StreamSize
Synopsis
Returns the number of bytes required to save EdgeFinder results (edge chains and/or edge approximations) to a memory stream in CAD DXF format.
[]
Syntax
[Integer=]object.StreamSize(
[ChainTypeToStream As EdgeChainTypeConstants],
[Version As Double]
)
[]
Syntax
[long =] object->StreamSize[enum EdgeChainTypeConstants ChainTypeToStream][double Version]
ChainTypeToStream (optional in , default is edgeStreamChain)
An EdgeChainTypeConstants expression that specifies the EdgeFinder results to save.
Value | Meaning
edgeStreamChain | Saves edge chains.
edgeStreamChainApproximation | Saves edge approximations.
edgeStreamAll | Saves both edge chains and edge approximations.
edgeStreamDefault | Specifies the default value.
Version (optional in , default is amilDefault)
A double value or a ActiveMILDefaultConstants expression that specifies the ActiveMIL version number of the EdgeFinder results.
Value | Meaning
amilDefault | Sets the version to the current version of ActiveMIL.
value | Sets the version to a specific version of ActiveMIL.
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the size, in bytes, needed to stream the EdgeFinder results.
Remarks
  • This property is used to inquire the size of the array required to save the EdgeFinder results to a memory stream, using the SaveStream method.
  • For the EdgeFinder control, the ActiveMIL version number must be greater than or equal to 7.5.
  • The size of the EdgeFinder results will vary depending on the ActiveMIL version specified.


EdgeFinder.Results.ThresholdHighValue Property

ThresholdHighValue property

See Also | Availability | MIL Equivalent | StreamSize | ThresholdLowValue
Reference:
EdgeFinder.Threshold.HighValue
EdgeFinder.Threshold.Mode
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_THRESHOLD_HIGH
)
EdgeFinder
Results
ThresholdHighValue
Synopsis
Returns the higher value used by the hysteresis threshold to extract edges.
[]
Syntax
[Integer =] object.ThresholdHighValue
[]
Syntax
[long =] object->ThresholdHighValue
Type description
A long value that specifies the higher bound of the hysteresis threshold used to extract edges.
Remarks
  • The higher bound of the hysteresis threshold is set with the Threshold.HighValue property.
  • This property is only valid if the Threshold.Mode property is set to edgeThresholdUserDefined.


EdgeFinder.Results.ThresholdLowValue Property

ThresholdLowValue property

See Also | Availability | MIL Equivalent | ThresholdHighValue | TimeoutEnd
Reference:
EdgeFinder.Threshold.LowValue
EdgeFinder.Threshold.Mode
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_THRESHOLD_LOW
)
EdgeFinder
Results
ThresholdLowValue
Synopsis
Returns the lower bound value used by the hysteresis threshold to extract edges.
[]
Syntax
[Integer =] object.ThresholdLowValue
[]
Syntax
[long =] object->ThresholdLowValue
Type description
A long value that specifies the lower bound of the hysteresis threshold used to extract edges.
Remarks
  • The lower bound of the hysteresis threshold is set with the Threshold.LowValue property.
  • This property is only valid if the Threshold.Mode property is set to edgeThresholdUserDefined.


EdgeFinder.Results.TimeoutEnd Property

TimeoutEnd property

See Also | Availability | MIL Equivalent | ThresholdLowValue | TotalNumberOfEdgels
Reference:
EdgeFinder.Timeout
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
ResultType =
M_TIMEOUT_END
)
EdgeFinder
Results
TimeoutEnd
Synopsis
Returns whether the timeout limit was reached.
[]
Syntax
[Boolean =] object.TimeoutEnd
[]
Syntax
[VARIANT_BOOL =] object->TimeoutEnd
Type description
A boolean value that specifies whether the timeout was reached.
Value | Meaning
True | The timeout limit has been reached.
False | The timeout limit has not been reached.
Remark
  • The timeout limit can be set with the Timeout property. By default, there is no timeout limit.


EdgeFinder.Results.TotalNumberOfEdgels Property

TotalNumberOfEdgels property

Availability | MIL Equivalent | TimeoutEnd | TotalNumberOfVertices
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
EdgeIndexOrLabelValue =
M_ALL
ResultType =
M_NUMBER_OF_CHAINED_EDGELS
)
EdgeFinder
Results
TotalNumberOfEdgels
Synopsis
Returns the total number of edgels in the edges.
[]
Syntax
[Integer =] object.TotalNumberOfEdgels
[]
Syntax
[long =] object->TotalNumberOfEdgels
Type description
A long value that specifies the edges' total number of edgels.


EdgeFinder.Results.TotalNumberOfVertices Property

TotalNumberOfVertices property

Availability | MIL Equivalent | TotalNumberOfEdgels | CalculateStat
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
EdgeIndexOrLabelValue =
M_ALL
ResultType =
M_NUMBER_OF_VERTICES
)
EdgeFinder
Results
TotalNumberOfVertices
Synopsis
Returns the total number of chain approximation vertices in the edges.
[]
Syntax
[Integer =] object.TotalNumberOfVertices
[]
Syntax
[long =] object->TotalNumberOfVertices
Type description
A long value that specifies the edges' total number of chain approximation vertices.


EdgeFinder.Results.CalculateStat Method

CalculateStat method

See Also | Availability | MIL Equivalent | TotalNumberOfVertices | Draw
Reference:
EdgeFinder.ChainApproximation
EdgeFinder.FeatureList.GeneralFeret.Angle
EdgeFinder.Results.Item.LabelValue
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResultSingle(
ResultType =
(M_MAX +
result type) or
(M_MAX_ABS +
result type) or
(M_MEAN +
result type) or
(M_MIN +
result type) or
(M_MIN_ABS +
result type) or
(M_STANDARD_DEVIATION +
result type)
)
EdgeFinder
Results
CalculateStat
Synopsis
Calculates the statistics of a characteristic of an edge or of all edges in the results of an EdgeFinder control.
[]
Syntax
[Double =] object.CalculateStat(
ByVal StatType As EdgeStatTypeConstants,
ByVal ResultType As EdgeResutlTypeConstant,
ByVal IndexOrLabelValue As long
)
[]
Syntax
[double =] object->CalculateStat(
enum EdgeStatTypeConstants StatType,
enum EdgeResutlTypeConstant ResultType,
enum long IndexOrLabelValue
)
StatType
An EdgeStatTypeConstants expression that specifies the statistic to calculate.
Value | Meaning
edgeMinimum | The minimum value of the requested characteristic.
edgeMaximum | The maximum value of the requested characteristic.
edgeMinimumAbsolute | The minimum absolute value of the requested characteristic.
edgeMaximumAbsolute | The maximum absolute value of the requested characteristic.
edgeMean | The mean value of the requested characteristic.
edgeStandardDeviation | The standard deviation of the requested characteristic.
ResultType
An EdgeResutlTypeConstant expression that specifies the characteristic for which to calculate the statistic.
Value | Meaning
edgeAverageStrengths | The average strength value of each edge.
edgeBoxXMinimums | The X-coordinate of each edge's extreme left edgel.
edgeBoxYMinimums | The Y-coordinate of each edge's extreme top edgel.
edgeBoxXMaximums | The X-coordinate of each edge's extreme right edgel.
edgeBoxYMaximums | The Y-coordinate of each edge's extreme bottom edgel.
edgeCentersOfGravityX | The X-coordinate of each edge's center of gravity.
edgeCentersOfGravityY | The Y-coordinate of each edge's center of gravity.
edgeClosures | The closure status of each edge.
edgeContactPointsXMinimumAtYMinimums | The minimum X-coordinate at the minimum Y-coordinate of each edge. Together with edgeBoxYMinimums, this is one of four contact points on the convex perimeter of the edge. .
edgeContactPointsXMaximumAtYMaximums | The maximum X-coordinate at the maximum Y-coordinate of each edge. Together with edgeBoxYMaximums, this is one of four contact points on the convex perimeter of the edge.
edgeContactPointsYMinimumAtXMaximums | The minimum Y-coordinate at the maximum X-coordinate of each edge. Together with edgeBoxXMaximums, this is one of four contact points on the convex perimeter of the edge.
edgeContactPointsYMaximumAtXMinimums | The maximum Y-coordinate at the minimum X-coordinate of each edge. Together with edgeBoxXMinimums, this is one of four contact points on the convex perimeter of the edge.
edgeConvexPerimeters | The convex elongation of each edge.
edgeMomentElongations | The moment elongation of each edge.
edgeFastLengths | The fast length of each edge.
edgeFeretElongations | The Feret elongation of each edge. This is accurate for reasonably compact objects, but becomes less accurate for very elongated objects.
edgeFeretsX | The X-Feret value of each edge. This is the dimension of the minimum bounding box of an edge in the horizontal direction.
edgeFeretsY | The Y-Feret value of each edge. This is the dimension of the minimum bounding box of an edge in the vertical direction.
edgeGeneralFerets | The general Feret of each edge. This is the Feret diameter calculated at the value set with the FeatureList.GeneralFeret.Angle property.
edgeLengths | The length of each edge. This is a more accurate but slower approximation of the edge's length than edgeFastLengths.
edgeMaximumFeretAngles | The maximum Feret angle of each edge, in degrees. This is the angle at which the maximum Feret diameter is found. Positive values indicate a counter-clockwise displacement from the positive X-axis..
edgeMaximumFeretDiameters | The maximum Feret diameter of each edge.
edgeMeanFeretDiameters | The average Feret diameter at all the angles checked.
edgeMinimumFeretAngles | The minimum Feret angle of each edge.
edgeMinimumFeretDiameters | The minimum Feret diameter of each edge.
edgePositionsX | The X-position of each edge. The position of the edge is defined by the middle edgel of the edge
edgePositionsY | The Y-position of each edge. The position of the edge is defined by the middle edgel of the edge.
edgeFirstPointsX | The X-coordinate of each edge's first point.
edgeFirstPointsY | The Y-coordinate of each edge's first point.
edgeSizes | The number of edgels in each edge.
edgeStrengths | The strength value of each edge.
edgeTortuosities | The tortuosity measure of each edge.
edgeNumberOfChains | The number of included edges.
edgeNumberOfChainedEdgels | The number of edgels in each edge.
edgeChainsX | The X-coordinates of each edge's edgels.
edgeChainsY | The Y-coordinates of each edge's edgels.
edgeChainsXAndChainsYPacked | The X- and Y-coordinates of each edge's edgels.
edgeChainCodes | The chain code of each edge.
edgeChainMagnitudes | The magnitude values of each edge's edgels.
edgeChainAngles | The angle values of each edge's edgels.
edgeChainMagnitudesAndAnglesPacked | The magnitude and angle values of each edge's edgels.
edgeNumberOfVertices | The number of vertices in the chain approximation.
edgeVerticesX | The X-coordinates of the vertices in the chain approximation.
edgeVerticesY | The Y-coordinates of the vertices in the chain approximation.
edgeVerticesXAndVerticesYPacked | The X- and Y-coordinates of the vertices in the chain approximation.
edgeBulges | The bulge values between vertices.
edgeEdgeTypes | The type of the EdgeFinder context that was used to extract edges.
edgeEdgeSizesX | The width of the image from which the edges were extracted, in pixels.
edgeEdgeSizesY | The height of the image from which the edges were extracted, in pixels.
edgeThresholdsLow | The lower bound value, used by the hysteresis threshold to extract edges.
edgeThresholdsHigh | The upper bound value, used by the hysteresis threshold to extract edges.
edgeChainIndex | The index of each edgel's edge.
edgeResultLabelValue | The label value of each edge in an image. The label value is a positive integer greater or equal to one; each edge in an image has a unique label value.
edgeGeneralFeretFirstEdgelIndex | The first index of the edgel from which the general Feret was calculated.
edgeGeneralFeretSecondEdgelIndex | The second index of the edgel from which the general Feret was calculated.
edgeMinimumFeretFirstEdgelIndex | The first index of the edgel from which the minimum Feret was calculated.
edgeMinimumFeretSecondEdgelIndex | The second index of the edgel from which the minimum Feret was calculated.
edgeMaximumFeretFirstEdgelIndex | The first index of the edgel from which the maximum Feret was calculated.
edgeMaximumFeretSecondEdgelIndex | The second index of the edgel from which the maximum Feret was calculated.
IndexOrLabelValue (optional in , default is edgeTypeLabel)
A longintegerlong (integer for Visual Basic .Net) value or edgeDataTypeConstants expression that specifies the edge(s) that will be used to calculate statistics.
Value | Meaning
value | A specific edge, identified by either its index or label value.
edgeAll | All edges.

For a specific edge, you can add one of the following edgeDataTypeConstants constants to specify whether you are identifying the edge with its label or its index.
Value | Meaning
edgeTypeIndex | The edge is identified using its index value.
edgeTypeLabel | The edge is identified using its label value.
Return value
The statistical value of the requested characteristic.
Remarks
  • Index values for the following settings fall within the range, 0 to (the total number of elements in the collection – 1): edgeGeneralFeretFirstEdgelIndex, edgeGeneralFeretSecondEdgelIndex, edgeMinimumFeretFirstEdgelIndex, edgeMinimumFeretSecondEdgelIndex, edgeMaximumFeretFirstEdgelIndex, and edgeMaximumFeretSecondEdgelIndex. Therefore, if you want to access a specific element in the collection, you must add one to it.
  • Label values can be obtained using the Results.Item.LabelValue property. Index values must fall within the range, 0 to (the number of included edges in the EdgeFinder results - 1).
  • The chain code (edgeChainCodes) describes how edgels are connected using the following neighbor code:
  • The following settings are not valid if the ChainApproximation property is set to edgeDisable: edgeBulges, edgeNumberOfVertices, edgeVerticesX, edgeVerticesY, edgeVerticesXAndVerticesYPacked.
  • The bulge determines the circular arc that lies between the current vertex and the next vertex; it is equal to the tangent of 1/4 the angle between consecutive vertices, and is negative for a clockwise arc. For example, the bulge of a straight line is 0 while the bulge of a semicircle is 1.


EdgeFinder.Results.Draw Method

Draw method

See Also | Availability | MIL Equivalent | CalculateStat | Get
Reference:
EdgeFinder.ChainApproximation
EdgeFinder.DrawingParameters.CrossSize
EdgeFinder.DrawingParameters.RelativeOriginX
EdgeFinder.DrawingParameters.RelativeOriginY
EdgeFinder.DrawingParameters.ScaleX
EdgeFinder.DrawingParameters.ScaleY
EdgeFinder.EdgeType
EdgeFinder.FeatureList.Box.SelectAll
EdgeFinder.FeatureList.GeneralFeret.Enabled
EdgeFinder.FeatureList.LabelValue
EdgeFinder.FeatureList.MaximumFeretAngle
EdgeFinder.FeatureList.MaximumFeretDiameter
EdgeFinder.FeatureList.MinimumFeretAngle
EdgeFinder.FeatureList.MinimumFeretDiameter
EdgeFinder.FeatureList.Position.X
EdgeFinder.FeatureList.Position.Y
EdgeFinder.ImageFeature.Angle
EdgeFinder.ImageFeature.Derivatives
EdgeFinder.ImageFeature.Magnitude
EdgeFinder.ImageFeature.Source
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox CronosPlus
Fully supported on Matrox Corona-II
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Orion

See remarks for support on:
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MedgeDraw()
EdgeFinder
Results
Draw
Synopsis
Draws the specified results in the destination image.
[]
Syntax
object.Draw(
ByVal ImageOrGraphicContext As Object,
ByVal Operation As EdgeDrawOperationConstants,
ByVal Criterion As EdgeCriterionConstants
)
[]
Syntax
void object->Draw(
IDispatch * ImageOrGraphicContext,
enum EdgeDrawOperationConstants Operation,
enum EdgeCriterionConstants Criterion
)
ImageOrGraphicContext
An Image control that specifies the image into which to draw, or a GraphicContext control that specifies the graphic context and image to use to draw features.
Operation (optional in , default is edgeDrawEdge)
An EdgeDrawOperationConstants expression that specifies the features to draw. These constants can be added together to draw multiple features simultaneously.
Value | Meaning
edgeDrawEdge | Draws the edges.
edgeDrawEdgels | Draws a cross at each edgel.
edgeDrawSegments | Draws the segments of the edge approximation.
edgeDrawVertices | Draws the segment intersections (or vertices) of the edge approximation.
edgeDrawBox | Draws a bounding box around each edge.
edgeDrawCenterOfGravity | Draws a cross at the center of gravity of each edge.
edgeDrawPosition | Draws a cross at the center of each edge.
edgeDrawLabel | Draws each edge's label.
edgeDrawIndex | Draws each edge's index.
edgeDrawMaximumFeret | Draws the edges' maximum Feret, using an H-type line (|-|) on contact with the edge's two extrema edgels, at the maximum Feret diameter's angle.
edgeDrawMinimumFeret | Draws the edges' minimum Feret, using an H-type line (|-|) on contact with the edge's two extrema edgels, at the minimum Feret diameter's angle.
edgeDrawGeneralFeret | Draws the edges' general Feret, using an H-type line (|-|) on contact with the edge's two extrema edgels, at the general Feret diameter's angle.
edgeDrawImage | Draws the source image.
edgeDrawResultMaskImage | Draws the mask image.
edgeDrawFirstDerivativeXImage | Draws the internal first derivative image of the source image, in the X-direction.
edgeDrawFirstDerivativeYImage | Draws the internal first derivative image of the source image, in the Y-direction.
edgeDrawSecondDerivativeXImage | Draws the internal second derivative image of the source image, in the X-direction.
edgeDrawSecondDerivativeYImage | Draws the internal second derivative image of the source image, in the Y-direction.
edgeDrawCrossDerivativeImage | Draws the internal cross-derivative image of the source image.
edgeDrawMagnitudeImage | Draws the internal magnitude image.
edgeDrawAngleImage | Draws the internal angle image.
edgeDrawCenterOfGravityWithValue | Draws the coordinates of the center of gravity of each edge.
edgeDrawPositionWithValue | Draws the coordinates of the center of each edge.
edgeDrawMaximumFeretWithValue | Draws the maximum Feret value of each edge.
edgeDrawMinimumFeretWithValue | Draws the minimum Feret value of each edge.
edgeDrawGeneralFeretWithValue | Draws the general Feret value of each edge.
edgeDrawCircleFit | Draws the circle fit of each edge.
edgeDrawLineFit | Draws the line fit of each edge.
edgeDrawEllipseFit | Draws the ellipse fit of each edge.
Criterion (optional in , default is edgeIncludedEdges)
An EdgeCriterionConstants expression that specifies the edges to draw.
Value | Meaning
edgeAllEdges | Draws all edges.
edgeExcludedEdges | Draws all currently excluded edges.
edgeIncludedEdges | Draws all currently included edges.
Remarks
  • The destination image can be any supported MIL image.
  • You can choose to draw in the display's overlay image.
  • When using this method to draw features in calibrated images, this method draws all the requested features according to whether the destination image is physically corrected or not.
  • The following Operation parameter settings are only valid if the EdgeType property is set to edgeCrest:
    • edgeDrawCrossDerivativeImage
    • edgeDrawSecondDerivativeXImage
    • edgeDrawSecondDerivativeYImage
  • The following Operation parameter settings are only valid if the EdgeType property is set to edgeContour:
    • edgeDrawFirstDerivativeXImage
    • edgeDrawFirstDerivativeYImage
  • The following list specifies the features which must be selected and calculated to perform certain drawing operations:
    edgeDrawAngleImage | To perform this operation, the ImageFeature.Angle property must be set to True.
    edgeDrawBox | To perform this operation, you must select all the features in the box feature list. You can do this by either calling the FeatureList.Box.SelectAll method, or setting each box feature to True.
    edgeDrawMaximumFeret | To perform this operation, the following properties must be set to True: FeatureList.MaximumFeretAngle, FeatureList.MaximumFeretDiameter.
    edgeDrawMinimumFeret | To perform this operation, the FeatureList.MinimumFeretAngle and FeatureList.MinimumFeretDiameter properties must be set to True.
    edgeDrawFirstDerivativeXImage, edgeDrawFirstDerivativeYImage, edgeDrawSecondDerivativeXImage, edgeDrawSecondDerivativeYImage, edgeDrawCrossDerivativeImage | To perform these operations, the ImageFeature.Derivatives property must be set to True.
    edgeDrawGeneralFeret | To perform this operation, the FeatureList.GeneralFeret.Enabled property must be set to True.
    edgeDrawImage | To perform this operation, the ImageFeature.Source property must be set to True.
    edgeDrawLabel | To perform this operation, the FeatureList.LabelValue property must be set to True.
    edgeDrawMagnitudeImage | To perform this operation, the ImageFeature.Magnitude property must be set to True.
    edgeDrawPosition | To perform this operation, the FeatureList.Position.X and FeatureList.Position.Y properties must be set to True.
    edgeDrawSegments, edgeDrawVertices | To perform these operations, the ChainApproximation property must be set to edgeLine.
  • The operation settings listed below draw a cross at the specified location. The size of this cross can be set with the DrawingParameters.CrossSize property.
    • edgeDrawCenterOfGravity
    • edgeDrawEdgels
    • edgeDrawPosition
  • This method also allows you to draw a zoomed region of the Edge Finder results. To do so, set the following properties to an appropriate value: DrawingParameters.RelativeOriginX, DrawingParameters.RelativeOriginY, DrawingParameters.ScaleX, and DrawingParameters.ScaleY.

    DrawingParameters.RelativeOriginX and DrawingParameters.RelativeOriginY specify, in pixels, the coordinates of the top-left corner of the region in the source image, while DrawingParameters.ScaleX and DrawingParameters.ScaleX specify the X- and Y-scaling factors used to fill the destination image.

Remark for Matrox Odyssey XA
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the EdgeFinder control. If not, an error will occur.
Remark for Matrox Odyssey XCL
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the EdgeFinder control. If not, an error will occur.
Remark for Matrox Odyssey XD
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the EdgeFinder control. If not, an error will occur.
Remark for Matrox Solios XA
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the EdgeFinder control. If not, an error will occur.
Remark for Matrox Solios XCL
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the EdgeFinder control. If not, an error will occur.


EdgeFinder.Results.Get Method

Get method

See Also | Availability | MIL Equivalent | Draw | GetMultiple
Reference:
Calibration.OutputCoordinateSystem
EdgeFinder.Results.Count
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult()
EdgeFinder
Results
Get
Synopsis
Copies the specified feature results to a user array.
[]
Syntax
object.Get(
ByVal ResultType As EdgeResultTypeConstants,
ByVal UserArray As Array,
ByVal IndexOrLabelValue As Integer
)
[]
Syntax
void object->Get(
enum EdgeResultTypeConstants ResultType,
VARIANT * UserArray,
long IndexOrLabelValue
)
ResultType
An EdgeResultTypeConstants expression that specifies the feature result data to place in the user array.
Value | Meaning
edgeAverageStrengths | The average strength feature.
edgeMomentElongationAngles | The ratio of the principle values of the edge's intertial matrix, which corresponds to the principal directions of the edge shape.
edgeCircleFitsCenterX | The X-coordinate of the center of the circle that is the best fit for each edge.
edgeCircleFitsCenterY | The Y-coordinate of the center of the circle that is the best fit for each edge.
edgeCircleFitsRadius | The radius of the circle that is the best fit for each edge.
edgeCircleFitsError | The fit error of the circle that is the best fit of each edge.
edgeCircleFitsCoverage | The portion of the circle that is covered by the edge.
edgeEllipseFitsCenterX | The X-coordinate of the center of the ellipse that is the best fit for each edge.
edgeEllipseFitsCenterY | The Y-coordinate of the center of the ellipse that is the best fit for each edge.
edgeEllipseFitsMinorAxis | The minor axis, the line through the center of an ellipse perpindicular to the major axis, of the ellipse that is the best fit for each edge.
edgeEllipseFitsMajorAxis | The major axis, the line through the center of an ellipse perpindicular to the minor axis, of the ellipse that is the best fit for each edge.
edgeEllipseFitsAngle | The angle of the ellipse that is the best fit for each edge.
edgeEllipseFitsError | The fit error of the ellipse that is the best fit of each edge.
edgeTimeoutEnd | The maximum edge extraction and calculation time for a calculation.
edgeLineFitsA | The A variable of the line that is the best fit for each edge approximation, based on the equation Ax + By + C = 0.
edgeLineFitsB | The B variable of the line that is the best fit for each edge approximation, based on the equation Ax + By + C = 0.
edgeLineFitsC | The C variable of the line that is the best fit for each edge approximation, based on the equation Ax + By + C = 0.
edgeLineFitsError | The fit error of the line that is the best fit of each edge.
edgeLineFitsCoverage | The percentage coverage of the line that is the best fit for an edge.
edgeBoxXMinimums | The XMinimum feature of the bounding box.
edgeBoxYMinimums | The YMinimum feature of the bounding box.
edgeBoxXMaximums | The XMaximum feature of the bounding box.
edgeBoxYMaximums | The YMaximum feature of the bounding box.
edgeCentersOfGravityX | The X-coordinate feature of the center of gravity.
edgeCentersOfGravityY | The Y-coordinate feature of the center of gravity.
edgeClosures | The Closure feature.
edgeContactPointsXMinimumAtYMinimums | The XMinimumAtYMinimum contact point feature.
edgeContactPointsXMaximumAtYMaximums | The XMaximumAtYMaximum contact point feature.
edgeContactPointsYMinimumAtXMaximums | The YMinimumAtXMaximum contact point feature.
edgeContactPointsYMaximumAtXMinimums | The YMaximumAtXMinimum contact point feature.
edgeConvexPerimeters | The ConvexPerimeter feature.
edgeMomentElongations | The MomentElongation feature.
edgeFastLengths | The FastLength feature.
edgeFeretElongations | The FeretElongation feature.
edgeFeretsX | The FeretX feature.
edgeFeretsY | The FeretY feature.
edgeGeneralFerets | The GeneralFeret feature.
edgeLengths | The Length feature.
edgeMaximumFeretAngles | The MaximumFeretAngle feature.
edgeMaximumFeretDiameters | The MaximumFeretDiameter feature.
edgeMeanFeretDiameters | The MeanFeretDiameter feature.
edgeMinimumFeretAngles | The MinimumFeretAngle feature.
edgeMinimumFeretDiameters | The MinimumFeretDiameter feature.
edgePositionsX | The PositionX feature.
edgePositionsY | The PositionY feature.
edgeFirstPointsX | The FirstPointX feature.
edgeFirstPointsY | The FirstPointY feature.
edgeSizes | The Size feature.
edgeStrengths | The Strength feature.
edgeTortuosities | The Tortuosity feature.
edgeNumberOfChains | The number of included edges.
edgeNumberOfChainedEdgels | The total number of edgels in the edges.
edgeChainsX | The X-coordinates of the edge(s)' edgels.
edgeChainsY | The Y-coordinates of the edge(s)' edgels.
edgeChainsXAndChainsYPacked | The X- and Y-coordinates of the edge(s)' edgels.
edgeChainCodes | The edge(s)' chain code.
edgeChainMagnitudes | The Magnitude of the edge(s)' edgels.
edgeChainAngles | The Angle of the edge(s)' edgels.
edgeChainMagnitudesAndAnglesPacked | The Magnitude and Angle of the edge(s)' edgels.
edgeNumberOfVertices | The total number of Vertices in the edges.
edgeVerticesX | The X-coordinates of the chain approximation's vertices.
edgeVerticesY | The Y-coordinates of the chain approximation's vertices.
edgeVerticesXAndVerticesYPacked | The X- and Y-coordinates of the chain approximation's vertices.
edgeBulge | The bulge of the chain approximation's vertices.
edgeEdgeTypes | The type of the Edge Finder context that was used to extract edges.
edgeEdgeSizesX | The width of the image from which the edges were extracted, in pixels.
edgeEdgeSizesY | The height of the image from which the edges were extracted, in pixels.
edgeThresholdsLow | The lower bound value, used by the hysteresis threshold to extract edges.
edgeThresholdsHigh | The upper bound value, used by the hysteresis threshold to extract edges.
edgeChainIndex | The index of each edgel's edge.
edgeVerticesIndex | The index of the vertices' corresponding edgels, in a chain approximation.
edgeVerticesChainIndex | The index of the vertices' corresponding edge, in a chain approximation.
edgeResultLabelValue | The label value of each edge in an image.
edgeGeneralFeretFirstEdgelIndex | The first index of the edgel from which the general Feret was calculated.
edgeGeneralFeretSecondEdgelIndex | The second index of the edgel from which the general Feret was calculated.
edgeMinimumFeretFirstEdgelIndex | The first index of the edgel from which the minimum Feret was calculated.
edgeMinimumFeretSecondEdgelIndex | The second index of the edgel from which the minimum Feret was calculated.
edgeMaximumFeretFirstEdgelIndex | The first index of the edgel from which the maximum Feret was calculated.
edgeMaximumFeretSecondEdgelIndex | The second index of the edgel from which the maximum Feret was calculated.
edgeAngleImageSizeX | The width of the angle image, in pixels.
edgeAngleImageSizeY | The height of the angle image, in pixels.
edgeAngleImageNumberOfBands | The number of color bands of the angle image.
edgeAngleImageSign | The range of the angle image (either signed or unsigned).
edgeAngleImageType | The data type and depth of the angle image. Depth is returned in bits.
edgeAngleImageSizeBit | The depth per band (in bits) of the angle image.
edgeMagnitudeImageSizeX | The width of the magnitude image, in pixels.
edgeMagnitudeImageSizeY | The height of the magnitude image, in pixels.
edgeMagnitudeImageNumberOfBands | The number of color bands of the magnitude image.
edgeMagnitudeImageSign | The range of the magnitude image (either signed or unsigned).
edgeMagnitudeImageType | The data type and depth of the magnitude image. Depth is returned in bits.
edgeMagnitudeImageSizeBit | The depth per band (in bits) of the magnitude image.
edgeFirstDerivativeXImageSizeX | The width of the first derivative image (in the X-direction), in pixels.
edgeFirstDerivativeXImageSizeY | The height of the first derivative image (in the X-direction), in pixels.
edgeFirstDerivativeXImageNumberOfBands | The number of color bands of the first derivative image (in the X-direction).
edgeFirstDerivativeXImageSign | The range of the first derivative image (in the X-direction). Either signed or unsigned.
edgeFirstDerivativeXImageType | The data type and depth of the first derivative image (in the X-direction). Depth is returned in bits.
edgeFirstDerivativeXImageSizeBit | The depth per band (in bits) of the first derivative image (in the X-direction).
edgeFirstDerivativeYImageSizeX | The width of the first derivative image (in the Y-direction), in pixels.
edgeFirstDerivativeYImageSizeY | The height of the first derivative image (in the Y-direction), in pixels.
edgeFirstDerivativeYImageNumberOfBands | The number of color bands of the first derivative image (in the Y-direction).
edgeFirstDerivativeYImageSign | The range of the first derivative image (in the Y-direction). Either signed or unsigned.
edgeFirstDerivativeYImageType | The data type and depth of the first derivative image (in the Y-direction). Depth is returned in bits.
edgeFirstDerivativeYImageSizeBit | The depth per band (in bits) of the first derivative image (in the Y-direction).
edgeSecondDerivativeXImageSizeX | The width of the second derivative image (in the X-direction), in pixels.
edgeSecondDerivativeXImageSizeY | The height of the second derivative image (in the X-direction), in pixels.
edgeSecondDerivativeXImageNumberOfBands | The number of color bands of the second derivative image (in the X-direction).
edgeSecondDerivativeXImageSign | The range of the second derivative image (in the X-direction). Either signed or unsigned.
edgeSecondDerivativeXImageType | The data type and depth of the second derivative image (in the X-direction). Depth is returned in bits.
edgeSecondDerivativeXImageSizeBit | The depth per band (in bits) of the second derivative image (in the X-direction).
edgeSecondDerivativeYImageSizeX | The width of the second derivative image (in the Y-direction), in pixels.
edgeSecondDerivativeYImageSizeY | The height of the second derivative image (in the Y-direction), in pixels.
edgeSecondDerivativeYImageNumberOfBands | The number of color bands of the second derivative image (in the Y-direction).
edgeSecondDerivativeYImageSign | The range of the second derivative image (in the Y-direction). Either signed or unsigned.
edgeSecondDerivativeYImageType | The data type and depth of the second derivative image (in the Y-direction). Depth is returned in bits.
edgeSecondDerivativeYImageSizeBit | The depth per band (in bits) of the second derivative image (in the Y-direction).
edgeCrossDerivativeImageSizeX | The width of the cross derivative image, in pixels.
edgeCrossDerivativeImageSizeY | The height of the cross derivative image, in pixels.
edgeCrossDerivativeImageNumberOfBands | The number of color bands of the cross derivative image.
edgeCrossDerivativeImageSign | The range of the cross derivative image. Either signed or unsigned.
edgeCrossDerivativeImageType | The data type and depth of the cross derivative image. Depth is returned in bits.
edgeCrossDerivativeImageSizeBit | The depth per band (in bits) of the cross derivative image.
UserArray
An array in which to put the specified result.

IndexOrLabelValue (optional in , default is amilDefault)
A long value that specifies an index or label value into the collection of edge results, identifying which edge results are copied. If a value is not specified, all edge results of the specified feature are returned.
Remarks
  • Index values for the following settings fall within the range, 0 to (the total number of elements in the collection – 1): edgeGeneralFeretFirstEdgelIndex, edgeGeneralFeretSecondEdgelIndex, edgeMinimumFeretFirstEdgelIndex, edgeMinimumFeretSecondEdgelIndex, edgeMaximumFeretFirstEdgelIndex, edgeMaximumFeretSecondEdgelIndex, edgeVerticesIndex, edgeChainIndex, and edgeVerticesChainIndex. Therefore, if you want to access a specific element in the collection, you must add one to it.
  • Ensure that the user array is large enough to accommodate the requested data. The size of the user array should be equal to the number of results (returned using the Results.Count property).
  • If your source image has been associated with a Calibration control, positional results are by default returned in real-world units. To have results returned in pixel units, you can set the OutputCoordinateSystem property of the Calibration control to calPixel to return all results in pixel units. All positional results are relative to the top-left pixel in the source image or the origin of the world-coordinate system if the image is calibrated.
  • Note that in the presence of distortion, some results are meaningless when converted from real-world to pixel units (for example, the Feret angles). For example, if an edge appears warped in the source image, but the calibration control of the source image compensates for this during the extraction, the resulting Feret angles are meaningful in the real-world coordinate system, and meaningless in the image coordinate system.
  • The following settings are not valid if the ChainApproximation property is set to edgeDisable: edgeBulge, edgeNumberOfVertices, edgeVerticesChainIndex, edgeVerticesIndex, edgeVerticesX, edgeVerticesY, edgeVerticesXAndVerticesYPacked.
  • The label value is a positive integer greater or equal to one; each edge in an image has a unique label value.


EdgeFinder.Results.GetMultiple Method

GetMultiple method

Availability | MIL Equivalent | Get | ItemAtLabel
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(M_NULL)

MedgeGetResult(UserArray)
EdgeFinder
Results
GetMultiple
Synopsis
Copies the specified features results to a user array.
[]
Syntax
object.GetMultiple(
ByVal ResultIndexOrLabelArray As Array,
ByVal ResultTypeArray As Array,
ByVal UserArray As Array
)
[]
Syntax
void object->GetMultiple(
VARIANT * ResultIndexOrLabelArray,
VARIANT * ResultTypeArray,
VARIANT * UserArray
)
ResultIndexOrLabelArray (optional in , default is edgeAll)
An array that specifies the edge from which to copy the specified feature results.
Value | Meaning
edgeAll | Specifies all edges. The target array will be filled with the specified type of result for all the included edges. Note that the target array values are ordered by edge indices.
amilDefault | Same as edgeAll.
value | Specifies either the edge's index or label. Index values must fall within the following range: 0 to the number of included edges in the EdgeFinder.Result property-1. Label value can be returned with the result type M_LABEL_VALUE.

One of the following values can be added to the result types listed in the table above:
Value | Meaning
edgeTypeIndex | Specifies an edge using its index value.
edgeTypeLabel | Specifies an edge using its label value.

ResultTypeArray
An array of EdgeResultTypeConstants expressions that specifies the feature result data to place in the user array.
Value | Meaning
edgeAverageStrengths | The average strength feature.
edgeBoxXMinimums | The XMinimum feature of the bounding box.
edgeBoxYMinimums | The YMinimum feature of the bounding box.
edgeBoxXMaximums | The XMaximum feature of the bounding box.
edgeBoxYMaximums | The YMaximum feature of the bounding box.
edgeCentersOfGravityX | The X-coordinate feature of the center of gravity.
edgeCentersOfGravityY | The Y-coordinate feature of the center of gravity.
edgeClosures | The Closure feature.
edgeContactPointsXMinimumAtYMinimums | The XMinimumAtYMinimum contact point feature.
edgeContactPointsXMaximumAtYMaximums | The XMaximumAtYMaximum contact point feature.
edgeContactPointsYMinimumAtXMaximums | The YMinimumAtXMaximum contact point feature.
edgeContactPointsYMaximumAtXMinimums | The YMaximumAtXMinimum contact point feature.
edgeConvexPerimeters | The ConvexPerimeter feature.
edgeMomentElongations | The MomentElongation feature.
edgeCircleFitsCenterX | The X-coordinate of the center of the circle that is the best fit for each edge.
edgeCircleFitsCenterY | The Y-coordinate of the center of the circle that is the best fit for each edge.
edgeCircleFitsRadius | The radius of the circle that is the best fit for each edge.
edgeCircleFitsError | The fit error of the circle that is the best fit of each edge.
edgeCircleFitsCoverage | The portion of the circle that is covered by the edge.
edgeEllipseFitsCenterX | The X-coordinate of the center of the ellipse that is the best fit for each edge.
edgeEllipseFitsCenterY | The Y-coordinate of the center of the ellipse that is the best fit for each edge.
edgeEllipseFitsMinorAxis | The minor axis, the line through the center of an ellipse perpindicular to the major axis, of the ellipse that is the best fit for each edge.
edgeEllipseFitsMajorAxis | The major axis, the line through the center of an ellipse perpindicular to the minor axis, of the ellipse that is the best fit for each edge.
edgeEllipseFitsAngle | The angle of the ellipse that is the best fit for each edge.
edgeEllipseFitsError | The fit error of the ellipse that is the best fit of each edge.
edgeTimeoutEnd | The maximum edge extraction and calculation time for a calculation.
edgeLineFitsA | The A variable of the line that is the best fit for each edge approximation, based on the equation Ax + By + C = 0.
edgeLineFitsB | The B variable of the line that is the best fit for each edge approximation, based on the equation Ax + By + C = 0.
edgeLineFitsC | The C variable of the line that is the best fit for each edge approximation, based on the equation Ax + By + C = 0.
edgeLineFitsError | The fit error of the line that is the best fit of each edge.
edgeLineFitsCoverage | The percentage coverage of the line that is the best fit for an edge.
edgeFastLengths | The FastLength feature.
edgeFeretElongations | The FeretElongation feature.
edgeFeretsX | The FeretX feature.
edgeFeretsY | The FeretY feature.
edgeGeneralFerets | The GeneralFeret feature.
edgeLengths | The Length feature.
edgeMaximumFeretAngles | The MaximumFeretAngle feature.
edgeMaximumFeretDiameters | The MaximumFeretDiameter feature.
edgeMeanFeretDiameters | The MeanFeretDiameter feature.
edgeMinimumFeretAngles | The MinimumFeretAngle feature.
edgeMinimumFeretDiameters | The MinimumFeretDiameter feature.
edgePositionsX | The PositionX feature.
edgePositionsY | The PositionY feature.
edgeFirstPointsX | The FirstPointX feature.
edgeFirstPointsY | The FirstPointY feature.
edgeSizes | The Size feature.
edgeStrengths | The Strength feature.
edgeTortuosities | The Tortuosity feature.
edgeNumberOfChains | The number of included edges.
edgeNumberOfChainedEdgels | The total number of edgels in the edges.
edgeChainsX | The X-coordinates of the edge(s)' edgels.
edgeChainsY | The Y-coordinates of the edge(s)' edgels.
edgeChainsXAndChainsYPacked | The X- and Y-coordinates of the edge(s)' edgels.
edgeChainCodes | The edge(s)' chain code.
edgeChainMagnitudes | The Magnitude of the edge(s)' edgels.
edgeChainAngles | The Angle of the edge(s)' edgels.
edgeChainMagnitudesAndAnglesPacked | The Magnitude and Angle of the edge(s)' edgels.
edgeNumberOfVertices | The total number of Vertices in the edges.
edgeVerticesX | The X-coordinates of the chain approximation's vertices.
edgeVerticesY | The Y-coordinates of the chain approximation's vertices.
edgeVerticesXAndVerticesYPacked | The X- and Y-coordinates of the chain approximation's vertices.
edgeBulge | The bulge of the chain approximation's vertices.
edgeEdgeTypes | The type of the Edge Finder context that was used to extract edges.
edgeEdgeSizesX | The width of the image from which the edges were extracted, in pixels.
edgeEdgeSizesY | The height of the image from which the edges were extracted, in pixels.
edgeThresholdsLow | The lower bound value, used by the hysteresis threshold to extract edges.
edgeThresholdsHigh | The upper bound value, used by the hysteresis threshold to extract edges.
edgeChainIndex | The index of each edgel's edge.
edgeVerticesIndex | The index of the vertices' corresponding edgels, in a chain approximation.
edgeVerticesChainIndex | The index of the vertices' corresponding edge, in a chain approximation.
edgeResultLabelValue | The label value of each edge in an image.
edgeGeneralFeretFirstEdgelIndex | The first index of the edgel from which the general Feret was calculated.
edgeGeneralFeretSecondEdgelIndex | The second index of the edgel from which the general Feret was calculated.
edgeMinimumFeretFirstEdgelIndex | The first index of the edgel from which the minimum Feret was calculated.
edgeMinimumFeretSecondEdgelIndex | The second index of the edgel from which the minimum Feret was calculated.
edgeMaximumFeretFirstEdgelIndex | The first index of the edgel from which the maximum Feret was calculated.
edgeMaximumFeretSecondEdgelIndex | The second index of the edgel from which the maximum Feret was calculated.
edgeAngleImageSizeX | The width of the angle image, in pixels.
edgeAngleImageSizeY | The height of the angle image, in pixels.
edgeAngleImageNumberOfBands | The number of color bands of the angle image.
edgeAngleImageSign | The range of the angle image (either signed or unsigned).
edgeAngleImageType | The data type and depth of the angle image. Depth is returned in bits.
edgeAngleImageSizeBit | The depth per band (in bits) of the angle image.
edgeMagnitudeImageSizeX | The width of the magnitude image, in pixels.
edgeMagnitudeImageSizeY | The height of the magnitude image, in pixels.
edgeMagnitudeImageNumberOfBands | The number of color bands of the magnitude image.
edgeMagnitudeImageSign | The range of the magnitude image (either signed or unsigned).
edgeMagnitudeImageType | The data type and depth of the magnitude image. Depth is returned in bits.
edgeMagnitudeImageSizeBit | The depth per band (in bits) of the magnitude image.
edgeFirstDerivativeXImageSizeX | The width of the first derivative image (in the X-direction), in pixels.
edgeFirstDerivativeXImageSizeY | The height of the first derivative image (in the X-direction), in pixels.
edgeFirstDerivativeXImageNumberOfBands | The number of color bands of the first derivative image (in the X-direction).
edgeFirstDerivativeXImageSign | The range of the first derivative image (in the X-direction). Either signed or unsigned.
edgeFirstDerivativeXImageType | The data type and depth of the first derivative image (in the X-direction). Depth is returned in bits.
edgeFirstDerivativeXImageSizeBit | The depth per band (in bits) of the first derivative image (in the X-direction).
edgeFirstDerivativeYImageSizeX | The width of the first derivative image (in the Y-direction), in pixels.
edgeFirstDerivativeYImageSizeY | The height of the first derivative image (in the Y-direction), in pixels.
edgeFirstDerivativeYImageNumberOfBands | The number of color bands of the first derivative image (in the Y-direction).
edgeFirstDerivativeYImageSign | The range of the first derivative image (in the Y-direction). Either signed or unsigned.
edgeFirstDerivativeYImageType | The data type and depth of the first derivative image (in the Y-direction). Depth is returned in bits.
edgeFirstDerivativeYImageSizeBit | The depth per band (in bits) of the first derivative image (in the Y-direction).
edgeSecondDerivativeXImageSizeX | The width of the second derivative image (in the X-direction), in pixels.
edgeSecondDerivativeXImageSizeY | The height of the second derivative image (in the X-direction), in pixels.
edgeSecondDerivativeXImageNumberOfBands | The number of color bands of the second derivative image (in the X-direction).
edgeSecondDerivativeXImageSign | The range of the second derivative image (in the X-direction). Either signed or unsigned.
edgeSecondDerivativeXImageType | The data type and depth of the second derivative image (in the X-direction). Depth is returned in bits.
edgeSecondDerivativeXImageSizeBit | The depth per band (in bits) of the second derivative image (in the X-direction).
edgeSecondDerivativeYImageSizeX | The width of the second derivative image (in the Y-direction), in pixels.
edgeSecondDerivativeYImageSizeY | The height of the second derivative image (in the Y-direction), in pixels.
edgeSecondDerivativeYImageNumberOfBands | The number of color bands of the second derivative image (in the Y-direction).
edgeSecondDerivativeYImageSign | The range of the second derivative image (in the Y-direction). Either signed or unsigned.
edgeSecondDerivativeYImageType | The data type and depth of the second derivative image (in the Y-direction). Depth is returned in bits.
edgeSecondDerivativeYImageSizeBit | The depth per band (in bits) of the second derivative image (in the Y-direction).
edgeCrossDerivativeYImageSizeX | The width of the cross derivative image, in pixels.
edgeCrossDerivativeYImageSizeY | The height of the cross derivative image, in pixels.
edgeCrossDerivativeYImageNumberOfBands | The number of color bands of the cross derivative image.
edgeCrossDerivativeYImageSign | The range of the cross derivative image. Either signed or unsigned.
edgeCrossDerivativeYImageType | The data type and depth of the cross derivative image. Depth is returned in bits.
edgeCrossDerivativeYImageSizeBit | The depth per band (in bits) of the cross derivative image.

UserArray
An array of type double in which to write the specified results.

Remarks
  • Index values for the following settings fall within the range, 0 to (the total number of elements in the collection – 1): edgeGeneralFeretFirstEdgelIndex, edgeGeneralFeretSecondEdgelIndex, edgeMinimumFeretFirstEdgelIndex, edgeMinimumFeretSecondEdgelIndex, edgeMaximumFeretFirstEdgelIndex, edgeMaximumFeretSecondEdgelIndex, edgeVerticesIndex, edgeChainIndex, and edgeVerticesChainIndex. Therefore, if you want to access a specific element in the collection, you must add one to it.
  • Ensure that the user array is large enough to accommodate the requested data. The size of the user array should be equal to the number of results (returned using the Results.Count property).
  • If your source image has been associated with a Calibration control, positional results are by default returned in real-world units. To have results returned in pixel units, you can set the OutputCoordinateSystem property of the Calibration control to calPixel to return all results in pixel units. All positional results are relative to the top-left pixel in the source image or the origin of the world-coordinate system if the image is calibrated.
  • Note that in the presence of distortion, some results are meaningless when converted from real-world to pixel units (for example, the Feret angles). For example, if an edge appears warped in the source image, but the calibration control of the source image compensates for this during the extraction, the resulting Feret angles are meaningful in the real-world coordinate system, and meaningless in the image coordinate system.
  • The following settings are not valid if the ChainApproximation property is set to edgeDisable: edgeBulge, edgeNumberOfVertices, edgeVerticesChainIndex, edgeVerticesIndex, edgeVerticesX, edgeVerticesY, edgeVerticesXAndVerticesYPacked.
  • The label value is a positive integer greater or equal to one; each edge in an image has a unique label value.


EdgeFinder.Results.ItemAtLabel Method

ItemAtLabel method

Availability | MIL Equivalent | GetMultiple | Save
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeGetResult(
EdgeIndexOrLabelValue =
M_TYPE_LABEL +
LabelValue
)
EdgeFinder
Results
ItemAtLabel
Synopsis
Returns the element in the collection of EdgeFinder edges with the index corresponding to the specified user label.
[]
Syntax
[EdgeResult =] object.ItemAtLabel(
ByVal LabelValue As Integer
)
[]
Syntax
[IEdgeResultPtr =] object->ItemAtLabel(
long LabelValue
)
LabelValue
A long value that specifies the label value of the required element.
Return value
An EdgeResult object.


EdgeFinder.Results.Save Method

Save method

Availability | MIL Equivalent | ItemAtLabel | SaveStream
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeSave(
ContextIdOrResultId =
EdgeResultId
)
EdgeFinder
Results
Save
Synopsis
Saves Edge Finder results (edge chains and/or edge approximations) to disk, in a standard DXF format CAD file.
[]
Syntax
object.Save(
ByVal FileName As String,
ByVal ItemToSave As EdgeSaveConstants,
ByVal FileType As EdgeFileTypeConstants
)
[]
Syntax
void object->Save(
_bstr_t FileName,
enum EdgeSaveConstants ItemToSave,
enum EdgeFileTypeConstants FileType
)
FileName
A string expression that specifies the name and path of the file in which to save the data.
ItemToSave
An EdgeSaveConstants or EdgeAllConstants expression that specifies whether to save edge chains, edge approximations, or both.

EdgeSaveConstants:
Value | Meaning
edgeChains | Saves edge chains.
edgeChainApproximation | Saves edge approximations.

EdgeAllConstants:
Value | Meaning
edgeAll | Saves both edge chains and edge approximations.
FileType
An EdgeFileTypeConstants expression that specifies the type of file to save.
Value | Meaning
edgeDXF | Saves the file in a standard DXF CAD format.


EdgeFinder.Results.SaveStream Method

SaveStream method

See Also | Availability | MIL Equivalent | Save
Reference:
EdgeFinder.Results.Save
EdgeFinder.Results.StreamSize
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeStream(
Operation =
M_SAVE
)
EdgeFinder
Results
SaveStream
Synopsis
Saves EdgeFinder results (edge chains and/or edge approximations) to a specified file or memory stream in CAD DXF format.
[]
Syntax
object.SaveStream(
ByVal ArrayOfBytesOrFileName As Object,
ByVal StreamType As EdgeStreamTypeConstants,
ByVal ChainTypeToStream As EdgeChainTypeConstants,
ByVal Version As Double
)
[]
Syntax
void object->SaveStream(
const _variant_t & ArrayOfBytesOrFileName,
enum EdgeStreamTypeConstants StreamType,
enum EdgeChainTypeConstants ChainTypeToStream,
double Version
)
ArrayOfBytesOrFileName
A variantobjectvariant (object for Visual Basic .Net) value that specifies the stream in which to save the EdgeFinder results.
StreamType
A EdgeStreamTypeConstants expression that specifies the type of stream in which to save the EdgeFinder results.
Value | Meaning
edgeFile | Specifies a file stream.
edgeMemory | Specifies a memory stream.
ChainTypeToStream (optional in , default is edgeStreamChain)
An EdgeChainTypeConstants expression that specifies the EdgeFinder results to save.
Value | Meaning
edgeStreamChain | Saves edge chains.
edgeStreamChainApproximation | Saves edge approximations.
edgeStreamAll | Saves both edge chains and edge approximations.
edgeStreamDefault | Specifies the default value.
Version (optional in , default is amilDefault)
A double value or a ActiveMILDefaultConstants expression that specifies the ActiveMIL version number of the EdgeFinder results.
Value | Meaning
amilDefault | Sets the version to the current version of ActiveMIL.
value | Sets the version to a specific version of ActiveMIL.
Remarks
  • File and file stream are equivalent terms throughout this documentation.
  • The settings of the EdgeFinder control can be loaded using the LoadStream method.
  • The content saved to a memory stream is equivalent to the same content saved to a file. In addition, any file saved with the Results.Save method is equivalent to a file saved using this method.
  • When edgeFile is set as the stream type, if the specified file in which to save the EdgeFinder results already exists, it will be overwritten when the method is performed.
  • When edgeMemory is set as the stream type, the ArrayOfBytesOrFileName parameter should specify the address of the block of memory required for this operation. The designated block must be large enough to store the entire object.
  • To inquire the size of the array required to save the EdgeFinder results to a memory stream, use the StreamSize property.
  • You can use this method and other ActiveMIL methods to save all required ActiveMIL controls, as well as any other custom data, for your application to a memory stream. Once in a memory stream, you can write the stream to a single file or transfer it over a network. You are responsible for concatenating the streams and for saving the stream to file.
  • By supplying a specific version, you can control the EdgeFinder control's accessibility. For instance, if you allocate a EdgeFinder control using ActiveMIL 8.0 and set its version to 7.5, then this control can be loaded on a computer where ActiveMIL 7.5 is installed. Settings unique to the higher version will be ignored when the file or memory stream is loaded in the lower version. Also, a program using ActiveMIL of a higher version can access a EdgeFinder control stream created or designated with an equal or lower version. Settings that do not exist in the lower version will be filled with default values when the file or memory stream is loaded in the higher version. The version specified must never be greater than the current ActiveMIL version, but must be greater than or equal to 7.5 for the EdgeFinder control.
  • []
     To specify the name of the file in which to save the EdgeFinder results, you must pass a string object to the ArrayOfBytesOrFileName parameter. To specify the location of the memory stream in which to save the EdgeFinder results, you must pass an array of bytes.
  • []
     To specify the name of the file in which to save the EdgeFinder results, you must pass a VARIANT containing a BSTR value to the ArrayOfBytesOrFileName parameter. To specify the location of the memory stream in which to save the EdgeFinder results, pass a VARIANT containing a SAFEARRAY object.


EdgeFinder.SortingKeys Property

SortingKeys property

Availability | MIL Equivalent | Results | SourceDerivativeImages
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl (
ControlType =
Feature +
(M_SORTn_DOWN or
M_SORTn_UP or
M_NO_SORT)
)
EdgeFinder
SortingKeys
Properties: Count, Item

Methods: Add, DecreasePriority, IncreasePriority, Remove
Synopsis
Returns the collection of sorting keys available to the EdgeFinder control, allowing access to its elements.
[]
Syntax
[EdgeSortingKeys =] object.SortingKeys
[]
Syntax
[IEdgeSortingKeysPtr =] object->SortingKeys
Type description
An EdgeSortingKeys expression that represents an instance of an EdgeSortingKeys collection.
Remark
  • This collection cannot have more than three elements.


EdgeFinder.SortingKeys.Count Property

Count property

Availability | MIL Equivalent | Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
SortingKeys
Count
Synopsis
Returns the number of elements in the collection of sorting keys.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A long value that specifies the number of elements currently in the collection.
Remark
  • A maximum of three sorting keys can be used to sort the feature results, therefore this collection can contain up to three sorting keys.


EdgeFinder.SortingKeys.Item Property

Item property

Availability | MIL Equivalent | Count | Add
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
SortingKeys
Item
Properties: Description, Feature, Ordering, Priority
Synopsis
Returns the element at the specified index in the collection of edge sorting keys.
[]
Syntax
[EdgeSortingKey=]object.Item(
Index As Integer
)
[]
Syntax
[IEdgeSortingKeyPtr =] object->Item(
long Index
)
Index
A long value that specifies the index of the required item.
Type description
An EdgeSortingKey object.
Remarks
  • The elements in the collection of sorting keys refers to the sorting keys that the edge results will be sorted with.
  • If the value provided as the index does not match any existing element in the collection, an error occurs. Note, the index of the first element of this collection starts at one.


EdgeFinder.SortingKeys.Item.Description Property

Description property

Availability | MIL Equivalent | Feature
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
SortingKeys
Item
Description
Synopsis
Returns a phrase, which is composed by ActiveMIL, describing the sorting key.
[]
Syntax
[String =] object.Description
[]
Syntax
[_bstr_t =] object->Description
Type description
A string expression that describes the edge sorting key.


EdgeFinder.SortingKeys.Item.Feature Property

Feature property

Availability | MIL Equivalent | Description | Ordering
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
Feature +
(M_SORTn_DOWN or
M_SORTn_UP)
)
EdgeFinder
SortingKeys
Item
Feature
Synopsis
Returns or sets the feature by which results are sorted.
[]
Syntax
object.Feature [= EdgeFeatureConstants]
[]
Syntax
object->Feature [= enum EdgeFeatureConstants]
Type description
An EdgeFeatureConstants, EdgeNotApplicableConstants, EdgeCropChainFilterConstants, EdgeAdditionalFilterConstants, or EdgeCriterionConstants expression that specifies the feature by which results are sorted.

EdgeFeatureConstants: (default is edgeLabelValue)
Value | Meaning
edgeAverageStrength | The AverageStrength feature.
edgeBoxXMinimum | The XMinimum feature of the bounding box.
edgeBoxYMinimum | The YMinimum feature of the bounding box.
edgeBoxXMaximum | The XMaximum feature of the bounding box.
edgeBoxYMaximum | The YMaximum feature of the bounding box.
edgeCenterOfGravityX | The X-coordinate feature of the center of gravity.
edgeCenterOfGravityY | The Y-coordinate feature of the center of gravity.
edgeClosure | The edge Closure feature.
edgeContactPointsXMinimumAtYMinimum | The XMinimumAtYMinimum contact point feature.
edgeContactPointsXMaximumAtYMaximum | The XMaximumAtYMaximum contact point feature.
edgeContactPointsYMinimumAtXMaximum | The YMinimumAtXMaximum contact point feature.
edgeContactPointsYMaximumAtXMinimum | The YMaximumAtXMinimum contact point feature.
edgeConvexPerimeter | The ConvexPerimeter feature.
edgeMomentElongation | The MomentElongation feature.
edgeFastLength | The FastLength feature.
edgeFeretElongation | The FeretElongation feature.
edgeFeretX | The FeretX feature of the bounding box.
edgeFeretY | The FeretY feature of the bounding box.
edgeGeneralFeret | The GeneralFeret feature.
edgeLabelValue | The LabelValue feature.
edgeLength | The Length feature.
edgeMaximumFeretAngle | The MaximumFeretAngle feature.
edgeMaximumFeretDiameter | The MaximumFeretDiameter feature.
edgeMeanFeretDiameter | The MeanFeretDiameter feature.
edgeMinimumFeretAngle | The MinimumFeretAngle feature.
edgeMinimumFeretDiameter | The MinimumFeretDiameter feature.
edgePositionX | The PositionX feature.
edgePositionY | The PositionY feature.
edgeFirstPointX | The FirstPointX feature.
edgeFirstPointY | The FirstPointY feature.
edgeSize | The Size feature.
edgeStrength | The Strength feature.
edgeTortuosity | The Tortuosity feature.

EdgeNotApplicableConstants:
Value | Meaning
edgeFilterNotApplicable | The filter does not apply.

EdgeCropChainFilterConstants:
Value | Meaning
edgeCropChainAtIndex | The edge will be split at the specified edgel index.
edgeCropChainAtLabel | The chain will be cropped at the specified label.

EdgeAdditionalFilterConstants:
Value | Meaning
edgeIndex | Edges that meet the specified edge result index condition are filtered.

EdgeCriterionConstants:
Value | Meaning
edgeAllEdges | All edges are sorted.
edgeExcludedEdges | The excluded edges are sorted.
edgeIncludedEdges | The included edges are sorted.
Remarks
  • The feature that you select as a sorting key must be selected for calculation in the feature list.
  • To sort your results, the sorting keys must be created before you calculate your results.


EdgeFinder.SortingKeys.Item.Ordering Property

Ordering property

See Also | Availability | MIL Equivalent | Feature | Priority
Reference:
EdgeFinder.SortingKeys.Item.Feature
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_SORTn_DOWN or
M_SORTn_UP
)
EdgeFinder
SortingKeys
Item
Ordering
Synopsis
Returns or sets the order in which to sort the edge results using the specified feature.
[]
Syntax
object.Ordering [= EdgeOrderingConstants]
[]
Syntax
object->Ordering [= enum EdgeOrderingConstants]
Type description
An EdgeOrderingConstants expression that specifies whether to sort results in increasing or decreasing order. (default is edgeIncreasing)
Value | Meaning
edgeIncreasing | Sorts edge results in increasing order.
edgeDecreasing | Sorts edge results in decreasing order.
Remark
  • The SortingKeys.Item.Feature property specifies the feature by which the edge results are sorted in increasing or decreasing order.


EdgeFinder.SortingKeys.Item.Priority Property

Priority property

See Also | Availability | MIL Equivalent | Ordering
Reference:
EdgeFinder.SortingKeys.DecreasePriority
EdgeFinder.SortingKeys.IncreasePriority
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_SORTn_DOWN or
M_SORTn_UP
)
EdgeFinder
SortingKeys
Item
Priority
Synopsis
Returns the priority of the sorting key.
[]
Syntax
[EdgePriorityConstants =] object.Priority
[]
Syntax
[enum EdgePriorityConstants =] object->Priority
Type description
An EdgePriorityConstants expression that specifies the priority of the sorting key. (default is edgePriority1)
Value | Meaning
edgePriority1 | Specifies the sorting key as the first, by which results are sorted.
edgePriority2 | Specifies the sorting key as the second, by which results are sorted.
edgePriority3 | Specifies the sorting key as the third, by which results are sorted.
Remarks
  • You can increase or decrease the priority of a sorting key using the SortingKeys.IncreasePriority and SortingKeys.DecreasePriority methods, respectively.
  • If a sorting key is assigned to a priority that is already assigned to another sorting key, it will override the current assignment and the replaced sorting key and all those that follow will move down a priority.


EdgeFinder.SortingKeys.Add Method

Add method

See Also | Availability | MIL Equivalent | Item | DecreasePriority
Reference:
EdgeFinder.SortingKeys.DecreasePriority
EdgeFinder.SortingKeys.IncreasePriority
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_SORTn_DOWN or
M_SORTn_UP
)
EdgeFinder
SortingKeys
Add
Synopsis
Adds a new sorting key to the collection.
[]
Syntax
[Integer =] object.Add(
ByVal Feature As EdgeFeatureConstants,
ByVal Ordering As EdgeOrderingConstants,
ByVal Priority As EdgePriorityConstants
)
[]
Syntax
[long =] object->Add(
enum EdgeFeatureConstants Feature,
enum EdgeOrderingConstants Ordering,
enum EdgePriorityConstants Priority
)
Feature (optional in , default is edgeLabelValue)
An EdgeFeatureConstants expression that specifies the feature by which results are sorted.
Value | Meaning
edgeAverageStrength | The AverageStrength feature.
edgeBoxXMinimum | The XMinimum feature of the bounding box.
edgeBoxYMinimum | The YMinimum feature of the bounding box.
edgeBoxXMaximum | The XMaximum feature of the bounding box.
edgeBoxYMaximum | The YMaximum feature of the bounding box.
edgeCenterOfGravityX | The X-coordinate feature of the center of gravity.
edgeCenterOfGravityY | The Y-coordinate feature of the center of gravity.
edgeClosure | The edge Closure feature.
edgeContactPointsXMinimumAtYMinimum | The XMinimumAtYMinimum contact point feature.
edgeContactPointsXMaximumAtYMaximum | The XMaximumAtYMaximum contact point feature.
edgeContactPointsYMinimumAtXMaximum | The YMinimumAtXMaximum contact point feature.
edgeContactPointsYMaximumAtXMinimum | The YMaximumAtXMinimum contact point feature.
edgeConvexPerimeter | The ConvexPerimeter feature.
edgeMomentElongation | The MomentElongation feature.
edgeFastLength | The FastLength feature.
edgeFeretElongation | The FeretElongation feature.
edgeFeretX | The FeretX feature of the bounding box.
edgeFeretY | The FeretY feature of the bounding box.
edgeGeneralFeret | The GeneralFeret feature.
edgeLabelValue | The LabelValue feature.
edgeLength | The Length feature.
edgeMaximumFeretAngle | The MaximumFeretAngle feature.
edgeMaximumFeretDiameter | The MaximumFeretDiameter feature.
edgeMeanFeretDiameter | The MeanFeretDiameter feature.
edgeMinimumFeretAngle | The MinimumFeretAngle feature.
edgeMinimumFeretDiameter | The MinimumFeretDiameter feature.
edgePositionX | The PositionX feature.
edgePositionY | The PositionY feature.
edgeFirstPointX | The FirstPointX feature.
edgeFirstPointY | The FirstPointY feature.
edgeSize | The Size feature.
edgeStrength | The Strength feature.
edgeTortuosity | The Tortuosity feature.
Ordering (optional in , default is edgeIncreasing)
An EdgeOrderingConstants expression that specifies the order in which to sort the feature's results.
Value | Meaning
edgeIncreasing | Sorts the features' results in ascending order.
edgeDecreasing | Sorts the features' results in descending order.
Priority (optional in , default is edgePriority1)
An EdgePriorityConstants expression that specifies the priority of the sorting key(s).
Value | Meaning
edgePriority1 | Specifies the sorting key as the first, by which results are sorted.
edgePriority2 | Specifies the sorting key as the second, by which results are sorted.
edgePriority3 | Specifies the sorting key as the third, by which results are sorted.
Return value
Returns a long value that specifies the index of the added sorting key in the collection of sorting keys.
Remarks
  • To sort results by a specified feature, this feature must have been selected for calculation in the feature list.
  • You can sort your results by a maximum of three sorting keys. To sort your results, these sorting keys must be created before you calculate your results.
  • You can increase or decrease the priority of a sorting key using the SortingKeys.IncreasePriority or SortingKeys.DecreasePriority methods, respectively.
  • If a sorting key is assigned to a priority that is already assigned to another sorting key, it will override the current assignment and the replaced sorting key and all those that follow will move down a priority.


EdgeFinder.SortingKeys.DecreasePriority Method

DecreasePriority method

Availability | MIL Equivalent | Add | IncreasePriority
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_SORTn_DOWN
)
EdgeFinder
SortingKeys
DecreasePriority
Synopsis
Decreases the priority of a sorting key.
[]
Syntax
[Integer =] object.DecreasePriority(
ByVal Index As Integer
)
[]
Syntax
[long =] object->DecreasePriority(
long Index
)
Index
A long value that specifies an index into the collection of sorting keys, identifying the sorting key to use.
Return value
Returns a long value that specifies the index of the decreased sorting key in the collection of sorting keys.
Remarks
  • If the priority to which you want to decrease a sorting key is assigned to another sorting key, these sorting keys will swap priorities.
  • If you try to decrease the priority of a sorting key that is already at the lowest priority (edgePriority3), an error will be generated.


EdgeFinder.SortingKeys.IncreasePriority Method

IncreasePriority method

Availability | MIL Equivalent | DecreasePriority | Remove
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_SORTn_UP
)
EdgeFinder
SortingKeys
IncreasePriority
Synopsis
Increases the priority of a sorting key.
[]
Syntax
[Integer =] object.IncreasePriority(
ByVal Index As Integer
)
[]
Syntax
[long =] object->IncreasePriority(
long Index
)
Index
A long value that specifies an index into the collection of sorting keys, identifying the sorting key to use.
Return value
Returns a long value that specifies the index of the increased sorting key in the collection of sorting keys.
Remarks
  • If the priority to which you want to increase a sorting key is assigned to another sorting key, these sorting keys will swap priorities.
  • If you try to increase the priority of a sorting key that is already at the highest priority (edgePriority1), an error will be generated.


EdgeFinder.SortingKeys.Remove Method

Remove method

Availability | MIL Equivalent | IncreasePriority
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_NO_SORT
)
EdgeFinder
SortingKeys
Remove
Synopsis
Removes a sorting key from the collection.
[]
Syntax
object.Remove(
ByVal Index As Integer
)
[]
Syntax
void object->Remove(
long Index
)
Index
A long value that specifies an index into the collection of sorting keys, identifying the sorting key to remove.
Remark
  • When a sorting key is removed, the sorting keys that follow this sorting key move up to the next highest priority.


EdgeFinder.SourceDerivativeImages Property

SourceDerivativeImages property

Availability | MIL Equivalent | SortingKeys | StreamSize
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeCalculate(
SourceDeriv1Id
SourceDeriv2Id
SourceDeriv3Id
)
EdgeFinder
SourceDerivativeImages
Properties: CrossDerivative, CrossDerivativeName, DerivativeX, DerivativeXName, DerivativeY, DerivativeYName, ImageValidation
Synopsis
Allows you to specify or determine the derivative images containing the edges to extract.
[]
Syntax
[EdgeDerivativeImage =] object.SourceDerivativeImages
[]
Syntax
[IEdgeDerivativeImagePtr =] object->SourceDerivativeImages
Type description
An EdgeDerivativeImage object.


EdgeFinder.SourceDerivativeImages.CrossDerivative Property

CrossDerivative property

See Also | Availability | MIL Equivalent | CrossDerivativeName
Reference:
EdgeFinder.Calculate
EdgeFinder.EdgeType
EdgeFinder.ExtractionFilter.Smoothness
EdgeFinder.Image
EdgeFinder.ImageName
EdgeFinder.SourceDerivativeImages.CrossDerivativeName
Image.CanProcess
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeCalculate(SourceDeriv3Id)
EdgeFinder
SourceDerivativeImages
CrossDerivative
Synopsis
Returns or sets the cross-derivative image used to extract edges.
[]
Syntax
object.CrossDerivative [= Image]
[]
Syntax
object->CrossDerivative [= IImagePtr]
Type description
An Image control that specifies the cross-derivative image to use to perform the edge extraction.
Remarks
  • This property is not supported if the EdgeType property is set to edgeContour.
  • This property is not valid if you specify a source image with the Image or ImageName property, or if you performing post-calculations on edge results.
  • Edges are extracted by calling the Calculate method.
  • Cross-derivative images must be 1-band 16-bit signed or 1-band 32-bit float. When the cross-derivative image is 32-bit float, floating precision calculations are performed.
  • All cross-derivative images must be consistent (for example, they must have the same scaling factor), and they must be of the same type and size.
  • When setting your own cross-derivative images, the majority of processing control settings remain in effect, except for ExtractionFilter.Smoothness.
  • The image must have its CanProcess property set to True.
  • The source image can also be specified, with the name assigned to its control, using the SourceDerivativeImages.CrossDerivativeName property.
  • This property automatically sets the SourceDerivativeImages.CrossDerivativeName property.
  • []
     Use the Visual Basic Is Nothing statement to confirm that this property is currently not associated with a control.
  • []
     To remove the reference to the current control without assigning a new control, set the property to Nothing.
  • []
     To remove the reference to the current control without assigning a new control, set the property to NULL.


EdgeFinder.SourceDerivativeImages.CrossDerivativeName Property

CrossDerivativeName property

See Also | Availability | MIL Equivalent | CrossDerivative | DerivativeX
Reference:
EdgeFinder.Calculate
EdgeFinder.EdgeType
EdgeFinder.ExtractionFilter.Smoothness
EdgeFinder.Image
EdgeFinder.ImageName
EdgeFinder.SourceDerivativeImages.CrossDerivative
Image.CanProcess
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeCalculate(SourceDeriv3Id)
EdgeFinder
SourceDerivativeImages
CrossDerivativeName
Synopsis
Returns or sets the name of the cross-derivative Image control used to extract edges.
[]
Syntax
object.CrossDerivativeName [= String]
[]
Syntax
object->CrossDerivativeName [= _bstr_t]
Type description
A string expression that specifies the name of the cross-derivative Image control to use to perform the edge extraction.
Remarks
  • This property is not supported if the EdgeType property is set to edgeContour.
  • This property is not valid if you specify a source image with the Image or ImageName property, or if you are performing post-calculations on edge results.
  • Edges are extracted by calling the Calculate method.
  • Cross-derivative images must be 1-band 16-bit signed or 1-band 32-bit float. When the cross-derivative image is 32-bit float, floating precision calculations are performed.
  • All cross-derivative images must be consistent (for example, they must have the same scaling factor), and they must be of the same type and size.
  • When setting your own cross-derivative images, the majority of processing control settings remain in effect, except for ExtractionFilter.Smoothness.
  • The image must have its CanProcess property set to True.
  • The cross-derivative image can also be specified using the SourceDerivativeImages.CrossDerivative property.
  • This property automatically sets the SourceDerivativeImages.CrossDerivative property.
  • To remove the reference to the current control without assigning a new control, specify an empty string ("").


EdgeFinder.SourceDerivativeImages.DerivativeX Property

DerivativeX property

See Also | Availability | MIL Equivalent | CrossDerivativeName | DerivativeXName
Reference:
EdgeFinder.Calculate
EdgeFinder.EdgeType
EdgeFinder.ExtractionFilter.Smoothness
EdgeFinder.Image
EdgeFinder.ImageName
EdgeFinder.SourceDerivativeImages.DerivativeXName
Image.CanProcess
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeCalculate(SourceDeriv1Id)
EdgeFinder
SourceDerivativeImages
DerivativeX
Synopsis
Returns or sets the X-source derivative image used to extract edges.
[]
Syntax
object.DerivativeX [= Image]
[]
Syntax
object->DerivativeX [= IImagePtr]
Type description
An Image control that specifies the X-source derivative image to use to perform the edge extraction.
Remarks
  • If the EdgeType property is set to edgeContour, the SourceDerivativeImages.DerivativeX property returns or sets the first derivative of the image in the X-direction. If the EdgeType property is set to edgeCrest, the SourceDerivativeImages.DerivativeX property returns or sets the second derivative of the image in the X-direction.
  • This property is not valid if you specify a source image with the Image or ImageName property, or if you are performing post-calculations on edge results.
  • Edges are extracted by calling the Calculate method.
  • X-source derivative images must be 1-band 16-bit signed or 1-band 32-bit float. When the X-source derivative image is 32-bit float, floating precision calculations are performed.
  • All X-source derivative images must be consistent (for example, they must have the same scaling factor), and they must be of the same type and size.
  • When setting your own X-source derivative images, the majority of processing control settings remain in effect, except for ExtractionFilter.Smoothness.
  • The image must have its CanProcess property set to True.
  • The X-source derivative image can also be specified, with the name assigned to its control, using the SourceDerivativeImages.DerivativeXName property.
  • This property automatically sets the SourceDerivativeImages.DerivativeXName property.
  • []
     Use the Visual Basic Is Nothing statement to confirm that this property is currently not associated with a control.
  • []
     To remove the reference to the current control without assigning a new control, set the property to Nothing.
  • []
     To remove the reference to the current control without assigning a new control, set the property to NULL.


EdgeFinder.SourceDerivativeImages.DerivativeXName Property

DerivativeXName property

See Also | Availability | MIL Equivalent | DerivativeX | DerivativeY
Reference:
EdgeFinder.Calculate
EdgeFinder.EdgeType
EdgeFinder.ExtractionFilter.Smoothness
EdgeFinder.Image
EdgeFinder.ImageName
EdgeFinder.SourceDerivativeImages.DerivativeX
EdgeFinder.SourceDerivativeImages.DerivativeXName
Image.CanProcess
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeCalculate(SourceDeriv1Id)
EdgeFinder
SourceDerivativeImages
DerivativeXName
Synopsis
Returns or sets the name of the X-source derivative Image control used to extract edges.
[]
Syntax
object.DerivativeXName [= String]
[]
Syntax
object->DerivativeXName [= _bstr_t]
Type description
A string expression that specifies the name of X-source derivative Image control to use to perform the edge extraction.
Remarks
  • If the EdgeType property is set to edgeContour, the SourceDerivativeImages.DerivativeX property returns or sets the first derivative of the image in the X-direction. If the EdgeType property is set to edgeCrest, the SourceDerivativeImages.DerivativeX property returns or sets the second derivative of the image in the X-direction.
  • This property is not valid if you specify a source image with the Image or ImageName property, or if you are performing post-calculations on edge results.
  • Edges are extracted by calling the Calculate method.
  • X-source derivative images must be 1-band 16-bit signed or 1-band 32-bit float. When the X-source derivative image is 32-bit float, floating precision calculations are performed.
  • All X-source derivative images must be consistent (for example, they must have the same scaling factor), and they must be of the same type and size.
  • When setting your own X-source derivative images, the majority of processing control settings remain in effect, except for ExtractionFilter.Smoothness.
  • The image must have its CanProcess property set to True.
  • The X-source derivative image can also be specified, with the name assigned to its control, using the SourceDerivativeImages.DerivativeXName property.
  • This property automatically sets the SourceDerivativeImages.DerivativeXName property.
  • To remove the reference to the current control without assigning a new control, specify an empty string ("").


EdgeFinder.SourceDerivativeImages.DerivativeY Property

DerivativeY property

See Also | Availability | MIL Equivalent | DerivativeXName | DerivativeYName
Reference:
EdgeFinder.Calculate
EdgeFinder.EdgeType
EdgeFinder.ExtractionFilter.Smoothness
EdgeFinder.Image
EdgeFinder.ImageName
EdgeFinder.SourceDerivativeImages.DerivativeYName
Image.CanProcess
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeCalculate(SourceDeriv2Id)
EdgeFinder
SourceDerivativeImages
DerivativeY
Synopsis
Returns or sets the Y-source derivative image used to extract edges.
[]
Syntax
object.DerivativeY [= Image]
[]
Syntax
object->DerivativeY [= IImagePtr]
Type description
An Image control that specifies the Y-source derivative image to use to perform the edge extraction.
Remarks
  • If the EdgeType property is set to edgeContour, the SourceDerivativeImages.DerivativeY property returns or sets the first derivative of the image in the Y-direction. If the EdgeType property is set to edgeCrest, the SourceDerivativeImages.DerivativeY property returns or sets the second derivative of the image in the Y-direction.
  • This property is not valid if you specify a source image with the Image or ImageName property, or if you are performing post-calculations on edge results.
  • Edges are extracted by calling the Calculate method.
  • Y-source derivative images must be 1-band 16-bit signed or 1-band 32-bit float. When the Y-source derivative image is 32-bit float, floating precision calculations are performed.
  • All Y-source derivative images must be consistent (for example, they must have the same scaling factor), and they must be of the same type and size.
  • When setting your own Y-source derivative images, the majority of processing control settings remain in effect, except for ExtractionFilter.Smoothness.
  • The image must have its CanProcess property set to True.
  • The Y-source derivative image can also be specified, with the name assigned to its control, using the SourceDerivativeImages.DerivativeYName property.
  • This property automatically sets the SourceDerivativeImages.DerivativeYName property.
  • []
     Use the Visual Basic Is Nothing statement to confirm that this property is currently not associated with a control.
  • []
     To remove the reference to the current control without assigning a new control, set the property to Nothing.
  • []
     To remove the reference to the current control without assigning a new control, set the property to NULL.


EdgeFinder.SourceDerivativeImages.DerivativeYName Property

DerivativeYName property

See Also | Availability | MIL Equivalent | DerivativeY | ImageValidation
Reference:
EdgeFinder.Calculate
EdgeFinder.EdgeType
EdgeFinder.ExtractionFilter.Smoothness
EdgeFinder.Image
EdgeFinder.ImageName
EdgeFinder.SourceDerivativeImages.DerivativeY
EdgeFinder.SourceDerivativeImages.DerivativeYName
Image.CanProcess
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeCalculate(SourceDeriv2Id)
EdgeFinder
SourceDerivativeImages
DerivativeYName
Synopsis
Returns or sets the name of the Y-source derivative Image control used to extract edges.
[]
Syntax
object.DerivativeYName [= String]
[]
Syntax
object->DerivativeYName [= _bstr_t]
Type description
A string expression that specifies the name of Y-source derivative Image control to use to perform the edge extraction.
Remarks
  • If the EdgeType property is set to edgeContour, the SourceDerivativeImages.DerivativeY property returns or sets the first derivative of the image in the Y-direction. If the EdgeType property is set to edgeCrest, the SourceDerivativeImages.DerivativeY property returns or sets the second derivative of the image in the Y-direction.
  • This property is not valid if you specify a source image with the Image or ImageName property, or if you are performing post-calculations on edge results.
  • Edges are extracted by calling the Calculate method.
  • Y-source derivative images must be 1-band 16-bit signed or 1-band 32-bit float. When the Y-source derivative image is 32-bit float, floating precision calculations are performed.
  • All Y-source derivative images must be consistent (for example, they must have the same scaling factor), and they must be of the same type and size.
  • When setting your own Y-source derivative images, the majority of processing control settings remain in effect, except for ExtractionFilter.Smoothness.
  • The image must have its CanProcess property set to True.
  • The Y-source derivative image can also be specified, with the name assigned to its control, using the SourceDerivativeImages.DerivativeYName property.
  • This property automatically sets the SourceDerivativeImages.DerivativeYName property.
  • To remove the reference to the current control without assigning a new control, specify an empty string ("").


EdgeFinder.SourceDerivativeImages.ImageValidation Property

ImageValidation property

See Also | Availability | MIL Equivalent | DerivativeYName
Reference:
EdgeFinder.Image
EdgeFinder.ImageName
EdgeFinder.SourceDerivativeImages
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeCalculate(
ControlFlag =
M_NO_CHECK
)
EdgeFinder
SourceDerivativeImages
ImageValidation
Synopsis
Sets whether optimal performance during Edge Finder calculations is ensured.
[]
Syntax
object.ImageValidation [= Boolean]
[]
Syntax
object->ImageValidation [= VARIANT_BOOL]
Type description
A boolean value that specifies whether to ensure optimal performance during Edge Finder calculations. (default is True)
Value | Meaning
True | Optimal performance is ensured.
False | Optimal performance is not ensured.
Remarks
  • This property is only supported for derivative images (SourceDerivativeImages). For source images (Image or ImageName), optimal performance is always ensured.
  • This property should only be used if each derivative image has pixel values that do not go beyond the range of positive or negative 1024 (that is, signed 10-bit values). This ensures optimal performance since Edge Finder does not have to verify unnecessary values.


EdgeFinder.StreamSize Property

StreamSize property

See Also | Availability | MIL Equivalent | SourceDerivativeImages | Threshold
Reference:
EdgeFinder.SaveStream
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeStream(
Operation =
M_INQUIRE_SIZE_BYTE
)
EdgeFinder
StreamSize
Synopsis
Returns the number of bytes required to save the settings of the EdgeFinder control to a memory stream.
[]
Syntax
[Integer=]object.StreamSize(
[Version As Double]
)
[]
Syntax
[long =] object->StreamSize[double Version]
Version (optional in , default is amilDefault)
A double value or an ActiveMILDefaultConstants expression that specifies the ActiveMIL version number of the EdgeFinder control.
Value | Meaning
amilDefault | Sets the version to the current version of ActiveMIL.
value | Sets the version to a specific version of ActiveMIL.
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the size, in bytes, needed to stream the EdgeFinder control.
Remarks
  • This property is used to inquire the size of the array required to save the settings of an EdgeFinder control to a memory stream, using the SaveStream method.
  • For the EdgeFinder control, the ActiveMIL version number must be greater than or equal to 7.5.
  • The size of the EdgeFinder control will vary depending on the ActiveMIL version specified.


EdgeFinder.Threshold Property

Threshold property

Availability | MIL Equivalent | StreamSize | Timeout
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_THRESHOLD_MODE or
M_THRESHOLD_TYPE or
M_THRESHOLD_LOW or
M_THRESHOLD_HIGH
)

MedgeInquire(
InquireType =
M_THRESHOLD_MODE or
M_THRESHOLD_TYPE or
M_THRESHOLD_LOW or
M_THRESHOLD_HIGH
)
EdgeFinder
Threshold
Properties: LowValue, HighValue, Mode, ThresholdType
Synopsis
Allows you to specify or determine the threshold settings used to perform the edge extraction.
[]
Syntax
[EdgeThreshold =] object.Threshold
[]
Syntax
[IEdgeThresholdPtr =] object->Threshold
Type description
An EdgeThreshold object.
Remark
  • You cannot assign another EdgeThreshold object to this property.


EdgeFinder.Threshold.HighValue Property

HighValue property

See Also | Availability | MIL Equivalent | LowValue | Mode
Reference:
EdgeFinder.Threshold.Mode
EdgeFinder.Threshold.ThresholdType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_THRESHOLD_HIGH
)

MedgeInquire(
InquireType =
M_THRESHOLD_HIGH
)
EdgeFinder
Threshold
HighValue
Synopsis
Returns or sets the higher bound of the hysteresis threshold value.
[]
Syntax
object.HighValue [= Integer]
[]
Syntax
object->HighValue [= long]
Type description
A long value that specifies the hysteresis threshold's higher bound. (default is 0)
Remarks
  • Edge Finder uses a classical hysteresis threshold to extract relevant edges in the image.
  • Use the Threshold.ThresholdType property to set the type of hysteresis threshold.
  • Note that higher threshold values result in a less sensitive edgel detection (less edgels are detected).
  • This property is only supported if the Threshold.Mode property is set to edgeThresholdUserDefined.


EdgeFinder.Threshold.LowValue Property

LowValue property

See Also | Availability | MIL Equivalent | HighValue
Reference:
EdgeFinder.Threshold.Mode
EdgeFinder.Threshold.ThresholdType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_THRESHOLD_LOW
)

MedgeInquire(
InquireType =
M_THRESHOLD_LOW
)
EdgeFinder
Threshold
LowValue
Synopsis
Returns or sets the lower bound of the hysteresis threshold value.
[]
Syntax
object.LowValue [= Integer]
[]
Syntax
object->LowValue [= long]
Type description
A long value that specifies the hysteresis threshold's lower bound. (default is 0)
Remarks
  • Edge Finder uses a classical hysteresis threshold to extract relevant edges in the image.
  • Use the Threshold.ThresholdType property to set the type of hysteresis threshold.
  • Note that lower threshold values result in a more sensitive edgel detection (less edgels are detected).
  • This property is only supported if the Threshold.Mode property is set to edgeThresholdUserDefined.


EdgeFinder.Threshold.Mode Property

Mode property

See Also | Availability | MIL Equivalent | HighValue | ThresholdType
Reference:
EdgeFinder.Threshold.HighValue
EdgeFinder.Threshold.LowValue
EdgeFinder.Threshold.ThresholdType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_THRESHOLD_MODE
)

MedgeInquire(
InquireType =
M_THRESHOLD_MODE
)
EdgeFinder
Threshold
Mode
Synopsis
Returns or sets the threshold mode used to extract edges.
[]
Syntax
object.Mode [= EdgeThresholdModeConstants]
[]
Syntax
object->Mode [= enum EdgeThresholdModeConstants]
Type description
An EdgeThresholdModeConstants expression that specifies the edge extraction's threshold mode. (default is edgeThresholdHigh)
Value | Meaning
edgeThresholdLow | A low threshold, where all edges over a minimum noise-based estimated threshold are extracted.
edgeThresholdMedium | A medium threshold, where robust edge selections that minimize the extraction of false edges due to the image's noise are performed (preferred for multi-contrasted images).
edgeThresholdHigh | A high threshold, where very robust edge selections that minimize the extraction of false edges due to the image's noise are performed.
edgeThresholdVeryHigh | A very high threshold, where only the most contrasted edges in the image are extracted.
edgeThresholdUserDefined | Threshold values will be user-defined.
edgeThresholdDisable | No threshold. All edges are extracted.
Remarks
  • Edge Finder uses a classical hysteresis threshold to extract relevant edges in the image. Use the Threshold.ThresholdType property to set the type of hysteresis threshold.
  • Note that lower threshold values result in a more sensitive edgel detection; that is:
    • edgeThresholdMedium always results in a lower (or equal) number of edgels than edgeThresholdLow.
    • edgeThresholdHigh always results in a lower (or equal) number of edgels than edgeThresholdMedium.
    • edgeThresholdVeryHigh always results in a lower (or equal) number of edgels than edgeThresholdHigh.
    • edgeThresholdDisable always extracts all edges.
  • Depending on the mode specified, this property automatically determines the threshold values used to perform the edge extraction. If this property is set to edgeThresholdUserDefined, the higher- and lower-bound threshold values must be explicitly set with the Threshold.HighValue and Threshold.LowValue properties, respectively.


EdgeFinder.Threshold.ThresholdType Property

ThresholdType property

See Also | Availability | MIL Equivalent | Mode
Reference:
EdgeFinder.Threshold.HighValue
EdgeFinder.Threshold.LowValue
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_THRESHOLD_TYPE
)

MedgeInquire(
InquireType =
M_THRESHOLD_TYPE
)
EdgeFinder
Threshold
ThresholdType
Synopsis
Returns or sets the type of the hysteresis threshold used to extract edges.
[]
Syntax
object.ThresholdType [= EdgeThresholdTypeConstants]
[]
Syntax
object->ThresholdType [= enum EdgeThresholdTypeConstants]
Type description
An EdgeThresholdTypeConstants expression that specifies the edge extraction's threshold type. (default is edgeHysteresis)
Value | Meaning
edgeHysteresis | Both the lower bound threshold value and the higher bound threshold value will be used to perform the edge extraction.
edgeNoHysteresis | The lower bound threshold value is equal to the higher bound threshold value; this will be used to perform the edge extraction.
edgeFullHysteresis | The lower bound threshold value is 0; this will be used to perform the edge extraction.
Remarks
  • Use the Threshold.HighValue and Threshold.LowValue properties to set the higher and lower threshold bounds, respectively.
  • Note that higher threshold values result in a less sensitive edgel detection (less edgels are detected), while lower threshold values result in a more sensitive edgel detection (more edgels are detected).


EdgeFinder.Timeout Property

Timeout property

Availability | MIL Equivalent | Threshold | Allocate
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl(
ControlType =
M_TIMEOUT
)

MedgeInquire(
InquireType =
M_TIMEOUT
)
EdgeFinder
Timeout
Synopsis
Returns or sets the maximum edge extraction and calculation time.
[]
Syntax
object.Timeout [= Double]
[]
Syntax
object->Timeout [= double]
Type description
A double value or an EdgeTimeoutConstants expression that specifies the maximum time. (default is edgeTimeOutDisable)
Value | Meaning
value | The maximum amount of edge extraction and calculation time, in msec. Value must be greater than 0.
edgeTimeOutDisable | An infinite amount of edge extraction and calculation time.


EdgeFinder.Allocate Method

Allocate method

See Also | Availability | MIL Equivalent | Timeout | ApplyFilter
Reference:
Application.CreateObject
EdgeFinder.AutomaticAllocation
EdgeFinder.EdgeType
EdgeFinder.Free
EdgeFinder.IsAllocated
EdgeFinder.OwnerSystem
EdgeFinder.OwnerSystemName
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeAlloc()

MedgeAllocResult()
EdgeFinder
Allocate
Synopsis
Allocates the resources of the EdgeFinder control.
[]
Syntax
object.Allocate()
[]
Syntax
void object->Allocate()
Remarks
  • By default, the control's AutomaticAllocation property is set to True, and therefore allocation is done automatically.
  • To preserve resources and delay allocation until necessary, set the AutomaticAllocation property to False and call the Allocate method only when the control is actually needed.
  • To create a new EdgeFinder control at run-time, use the CreateObject method of the Application control.
  • If you call the Allocate method while the control is in the allocated state, an error is generated. To determine the allocation state of a control, use the IsAllocated property.
  • The following properties cannot be changed at run-time while the control is in the allocated state (free the control using the Free method):
    • OwnerSystem
    • OwnerSystemName
    • EdgeType
  • If you try to allocate an EdgeFinder control before its owner system is allocated, an error is generated.


EdgeFinder.ApplyFilter Method

ApplyFilter method

See Also | Availability | MIL Equivalent | Allocate | Calculate
Reference:
EdgeFinder.ApplyFilter
EdgeFinder.Calculate
EdgeFinder.Filters
EdgeFinder.ForegroundValue
EdgeFinder.Image
EdgeFinder.NearestNeighbors.GetNeighbors
EdgeFinder.NearestNeighbors.GetNeighborsInUserArrays
EdgeFinder.NearestNeighbors.IsNeighborsPresent
EdgeFinder.NearestNeighbors.SourcePoints.Item.Neighbors
EdgeFinder.NumberOfFeretAngles
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeSelect(
Operation =
M_DELETE or
M_EXCLUDE_ONLY or
M_INCLUDE_ONLY
)
EdgeFinder
ApplyFilter
Synopsis
Applies a filter that specifies the edges to include, exclude, or delete permanently from the edge results.
[]
Syntax
object.ApplyFilter(
ByVal Index As Integer,
ByVal Cumulative As Boolean
)
[]
Syntax
void object->ApplyFilter(
long Index,
VARIANT_BOOL Cumulative
)
Index (optional in , default is 1)
A longintegerlong (integer for Visual Basic .Net) value or an EdgeAllConstants expression that specifies the filter(s) to apply.
Value | Meaning
value | A longintegerlong (integer for Visual Basic .Net) value that specifies an index into the collection of filters, identifying the edge filter to use. The first edge filter has an index of 1.
edgeAll | Applies all defined filters at once.
Cumulative (optional in , default is True)
A boolean value that indicates whether to apply the filter on the currently included or excluded subset of edges or on all the edges.
Value | Meaning
True | Applies the filter on the currently included or excluded subset of edges, depending on the settings of the Filters.Item(FilterIndex).FilterType property.
False | Applies the filter on all the edges.
Remarks
  • The Filters property specifies the collection of edge filters available to the EdgeFinder control.
  • Note that after a filter is applied, the index value for edges in the collection of edge results collection might change because the remaining included edges are renumbered starting at 1.
  • All edges are included by default. Once an edge has been excluded, it can be re-included with this method by applying a filter that includes this edge. You would typically exclude a set of edges based on a given criterion and re-include a subset of these based on a different criterion.
  • If you set the Index parameter to edgeAll, the Cumulative parameter must be set to True.
  • After a call to the Calculate or ApplyFilter method, the nearest neighbors contained in the NearestNeighbors.SourcePoints.Item.Neighbors collection are no longer synchronized with the current EdgeFinder results. You must therefore call the NearestNeighbors.GetNeighbors or NearestNeighbors.GetNeighborsInUserArrays method to find the nearest neighbors in the current set of EdgeFinder results. Note that the NearestNeighbors.IsNeighborsPresent property returns whether the current neighbors in the collection are synchronized with the current results.


EdgeFinder.Calculate Method

Calculate method

See Also | Availability | MIL Equivalent | ApplyFilter | CalculateFromResult
Reference:
EdgeFinder.ApplyFilter
EdgeFinder.Calculate
EdgeFinder.NearestNeighbors.GetNeighbors
EdgeFinder.NearestNeighbors.GetNeighborsInUserArrays
EdgeFinder.NearestNeighbors.IsNeighborsPresent
EdgeFinder.NearestNeighbors.SourcePoints.Item.Neighbors
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeCalculate()
EdgeFinder
Calculate
Synopsis
Extracts the edges from an image and calculates selected features.
[]
Syntax
object.Calculate()
[]
Syntax
void object->Calculate()
Remarks
  • The source image must be 1-band 8-bit unsigned or 1-band 32-bit float. When the source image is 32-bit float, floating precision calculations are performed.
  • Features are only calculated if they are set to True. By default, they are set to False.
  • If the source image or derivative images are calibrated, results are calculated in the world coordinate system, otherwise they are calculated in the image coordinate system.
  • If the source image or derivative images are calibrated, you can retrieve results in real-world or in pixel units. However, in the presence of distortion, some results are meaningless when converted from real-world to pixel units (for example, Feret angles). For example, if an edge appears warped in the source image, but the Calibration control of the source image compensates for this during the extraction, the resulting Feret angles are meaningful in the real-world coordinate system, and meaningless in the image coordinate system.
  • After a call to the Calculate or ApplyFilter method, the nearest neighbors contained in the NearestNeighbors.SourcePoints.Item.Neighbors collection are no longer synchronized with the current EdgeFinder results. You must therefore call the NearestNeighbors.GetNeighbors or NearestNeighbors.GetNeighborsInUserArrays method to find the nearest neighbors in the current set of EdgeFinder results. Note that the NearestNeighbors.IsNeighborsPresent property returns whether the current neighbors in the collection are synchronized with the current results.


EdgeFinder.CalculateFromResult Method

CalculateFromResult method

See Also | Availability | MIL Equivalent | Calculate | Control
Reference:
EdgeFinder.ApplyFilter
EdgeFinder.Calculate
EdgeFinder.NearestNeighbors.GetNeighbors
EdgeFinder.NearestNeighbors.GetNeighborsInUserArrays
EdgeFinder.NearestNeighbors.IsNeighborsPresent
EdgeFinder.NearestNeighbors.SourcePoints.Item.Neighbors
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeCalculate(
SourceImageId =
M_NULL
SourceDeriv1Id =
M_NULL
SourceDeriv2Id =
M_NULL
SourceDeriv3Id =
M_NULL
)
EdgeFinder
CalculateFromResult
Synopsis
Calculates selected features from the result of each edge found.
[]
Syntax
object.CalculateFromResult()
[]
Syntax
void object->CalculateFromResult()
Remarks
  • Features are only calculated if they are set to True. By default, they are set to False.
  • If the source image or derivative images used to calculate results are calibrated, results are calculated in the world coordinate system, otherwise they are calculated in the image coordinate system.
  • If the source image or derivative images used to calculate results are calibrated, you can retrieve results in real-world or in pixel units. However, in the presence of distortion, some results are meaningless when converted from real-world to pixel units (for example, Feret angles). For example, if an edge appears warped in the source image, but the Calibration control of the source image compensates for this during the extraction, the resulting Feret angles are meaningful in the real-world coordinate system, and meaningless in the image coordinate system.
  • After a call to the Calculate or ApplyFilter method, the nearest neighbors contained in the NearestNeighbors.SourcePoints.Item.Neighbors collection are no longer synchronized with the current EdgeFinder results. You must therefore call the NearestNeighbors.GetNeighbors or NearestNeighbors.GetNeighborsInUserArrays method to find the nearest neighbors in the current set of EdgeFinder results. Note that the NearestNeighbors.IsNeighborsPresent property returns whether the current neighbors in the collection are synchronized with the current results.


EdgeFinder.Control Method

Control method

See Also | Availability | MIL Equivalent | CalculateFromResult | Draw
Reference:
EdgeFinder.Inquire
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeControl()
EdgeFinder
Control
Synopsis
Controls the attributes of the EdgeFinder control.
[]
Syntax
object.Control(
ByVal ControlType As EdgeInquireAndControlConstants,
ByVal ControlValue As Object
)
[]
Syntax
void object->Control(
enum EdgeInquireAndControlConstants ControlType,
const _variant_t & ControlValue
)
ControlType
An EdgeInquireAndControlConstants expression that specifies the attribute to be modified.
Value | Meaning
edgeNotApplicable | The edge does not apply.
ControlValue
A variantobjectvariant (object for Visual Basic .Net) value that specifies the new value to be set.


EdgeFinder.Draw Method

Draw method

Availability | MIL Equivalent | Control | Free
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox CronosPlus
Fully supported on Matrox Corona-II
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Orion

See remarks for support on:
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MedgeDraw()
EdgeFinder
Draw
Synopsis
Draws specified edge feature in the destination image.
[]
Syntax
object.Draw(
ByVal ImageOrGraphicContext As Object,
ByVal Operation As EdgeGeneralDrawOperationConstants
)
[]
Syntax
void object->Draw(
IDispatch * ImageOrGraphicContext,
enum EdgeGeneralDrawOperationConstants Operation
)
ImageOrGraphicContext
An Image control that specifies the image into which to draw, or a GraphicContext control that specifies the graphic context and image to use to draw the feature.
Operation
An EdgeGeneralDrawOperationConstants expression that specifies the result feature to draw.
Value | Meaning
edgeDrawMask | Draws the mask.
Remark for Matrox Odyssey XA
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the EdgeFinder control. If not, an error will occur.
Remark for Matrox Odyssey XCL
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the EdgeFinder control. If not, an error will occur.
Remark for Matrox Odyssey XD
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the EdgeFinder control. If not, an error will occur.
Remark for Matrox Solios XA
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the EdgeFinder control. If not, an error will occur.
Remark for Matrox Solios XCL
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the EdgeFinder control. If not, an error will occur.


EdgeFinder.Free Method

Free method

See Also | Availability | MIL Equivalent | Draw | Inquire
Reference:
EdgeFinder.Allocate
EdgeFinder.AutomaticAllocation
EdgeFinder.Free
EdgeFinder.IsAllocated
EdgeFinder.OwnerSystem
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeFree()
EdgeFinder
Free
Synopsis
Frees the resources of the EdgeFinder control.
[]
Syntax
object.Free()
[]
Syntax
void object->Free()
Remarks
  • The resources associated with an EdgeFinder control are automatically freed when the control is destroyed. You must use the Free method if you want to free the control prematurely. Note that when you free the EdgeFinder control, all of its results are deleted.
  • The Free method will generate an error if the control is not allocated.
  • To determine the allocation state of a control, use the IsAllocated property. While an EdgeFinder control is in the allocated state, some of its properties cannot be changed at run-time (for example, the owner system of an EdgeFinder control). At run-time, to modify a property that cannot be changed after allocation, you must free the control (using the Free method), change its property(ies), and then re-allocate the control (using the Allocate method). For example, at run-time, to change the owner system of an EdgeFinder control, you must free the EdgeFinder control, make the change in the OwnerSystem property, and allocate the control again.
  • Any property can be changed when its control is in the allocated state, unless it is otherwise stated in the Remarks section of that property.


EdgeFinder.Inquire Method

Inquire method

See Also | Availability | MIL Equivalent | Free | Load
Reference:
EdgeFinder.Control
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeInquire()
EdgeFinder
Inquire
Synopsis
Inquires about the attributes of the EdgeFinder control.
[]
Syntax
[Object =] object.Inquire(
ByVal ParamToInquire As EdgeInquireAndControlConstants
)
[]
Syntax
[_variant_t =] object->Inquire(
enum EdgeInquireAndControlConstants ParamToInquire
)
ParamToInquire
An EdgeInquireAndControlConstants expression that specifies the attribute to inquire about.
Value | Meaning
edgeNotApplicable | The edge does not apply.
Return value
The current value assigned to the attribute that is inquired about.


EdgeFinder.Load Method

Load method

See Also | Availability | MIL Equivalent | Inquire | LoadStream
Reference:
EdgeFinder.Filters
EdgeFinder.Save
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeRestore(FileName)
EdgeFinder
Load
Synopsis
Loads a previously saved EdgeFinder control from a file.
[]
Syntax
object.Load(
ByVal FileName As String
)
[]
Syntax
void object->Load(
_bstr_t FileName
)
FileName
A string expression that specifies the name of the EdgeFinder file.
Remarks
  • This method restores all of the EdgeFinder control's settings that were in effect when the EdgeFinder control was saved.
  • Note that the content of the Filters collections cannot be saved and, subsequently, cannot be loaded.


EdgeFinder.LoadStream Method

LoadStream method

See Also | Availability | MIL Equivalent | Load | Mask
User Guide:
Using variants and arrays

Reference:
EdgeFinder.Load
EdgeFinder.SaveStream
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeStream(
Operation =
M_LOAD
)
EdgeFinder
LoadStream
Synopsis
Loads the settings of a previously saved EdgeFinder control from a file or memory stream.
[]
Syntax
object.LoadStream(
ByVal ArrayOfBytesOrFileName As Object,
ByVal StreamType As EdgeStreamTypeConstants
)
[]
Syntax
void object->LoadStream(
VARIANT * ArrayOfBytesOrFileName,
enum EdgeStreamTypeConstants StreamType
)
ArrayOfBytesOrFileName
A variantobjectvariant (object for Visual Basic .Net) value that specifies the stream that holds the settings of the EdgeFinder control.
StreamType
A EdgeStreamTypeConstants expression that specifies the type of stream that holds the settings of the EdgeFinder control.
Value | Meaning
edgeFile | Specifies a file stream.
edgeMemory | Specifies a memory stream.
Remarks
  • File and file stream are equivalent terms throughout this documentation.
  • The settings of the EdgeFinder control can be saved using the SaveStream method.
  • The content loaded from a memory stream is equivalent to the same content loaded from a file. In addition, any file loaded with the Load method is equivalent to a file loaded using this method.
  • When edgeFile is set as the stream type, the ArrayOfBytesOrFileName parameter should specify the name and path of the file required for this operation. The method internally handles the opening and closing of the file.
  • []
     To specify the name of the file that holds the settings of the EdgeFinder control, you must pass a string object to the ArrayOfBytesOrFileName parameter. To specify the location of the memory stream that holds the settings of the EdgeFinder control, you must pass an array of bytes.
  • []
     To specify the name of the file that holds the settings of the EdgeFinder control, you must pass a VARIANT containing a BSTR value to the ArrayOfBytesOrFileName parameter. To specify the location of the memory stream that holds the settings of the EdgeFinder control, pass a VARIANT containing a SAFEARRAY object.


EdgeFinder.Mask Method

Mask method

See Also | Availability | MIL Equivalent | LoadStream | Modified
Reference:
EdgeFinder.Calculate
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeMask()
EdgeFinder
Mask
Synopsis
Masks regions of the specified image.
[]
Syntax
object.Mask(
ByVal MaskImage As Image
)
[]
Syntax
void object->Mask(
IImage * MaskImage
)
MaskImage
An Image control which specifies the image to use as the mask.
Remarks
  • After a mask is applied, subsequent calls to the Calculate method will therefore extract edges only in the image's un-masked regions.
  • A masked pixel corresponds to a non-zero value in the mask image.
  • To clear the mask, set the MaskImage parameter to an Image control cleared to 0.
  • The mask image can be calibrated; however, this is not necessary, since the mask is applied on a pixel basis.


EdgeFinder.Modified Method

Modified method

Availability | MIL Equivalent | Mask | PutEdgeResults
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
Modified
Synopsis
Informs the EdgeFinder control that Native MIL calls were made on its resources.
[]
Syntax
object.Modified(
ByVal ModificationType As Integer
)
[]
Syntax
void object->Modified(
long ModificationType
)
ModificationType (optional in , default is amilDefault)
A longintegerlong (integer for Visual Basic .Net) value or an ActiveMILDefaultConstants expression that specifies the modification type.
Value | Meaning
amilDefault | Specifies that native MIL calls were used to modify the contents of the EdgeFinder control.
value | Specifies the modification type.
Remark
  • The Modified method should be called after performing a Native MIL Mmod...() function on the resources of the EdgeFinder control. This ensures that all properties of the EdgeFinder control are updated to match their state in MIL.


EdgeFinder.PutEdgeResults Method

PutEdgeResults method

See Also | Availability | MIL Equivalent | Modified | Save
Reference:
ModelFinder
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgePut()
EdgeFinder
PutEdgeResults
Synopsis
Puts edge chains from user-supplied arrays into the results of an EdgeFinder control.
[]
Syntax
object.PutEdgeResults(
ByVal UserLabelArray As Array,
ByVal UserXArray As Array,
ByVal UserYArray As Array,
ByVal UserAngleArray As Array,
ByVal UserMagnitudeArray As Array
)
[]
Syntax
void object->PutEdgeResults(
VARIANT * UserLabelArray,
VARIANT * UserXArray,
VARIANT * UserYArray,
VARIANT * UserAngleArray,
VARIANT * UserMagnitudeArray
)
UserLabelArray
An array in which to specify the indices of the edgels to add to the results.

UserXArray
An array in which to specify the X-coordinate(s) of the edgel(s) to add to the results.

UserYArray
An array in which to specify the Y-coordinate(s) of the edgel(s) to add to the results.

UserAngleArray (optional in , default is 0)
An array in which to specify the orientation of the edgels to add to the results.

UserMagnitudeArray (optional in , default is 0)
An array in which to specify the magnitude of the edgels to add to the results.

Remarks
  • This method can be useful if you want to construct an EdgeFinder result that cannot be obtained from one image. You can therefore combine results to, for example, build a complete model for a ModelFinder control.
  • Consecutive edgels of the edge chains must occupy seperate connected pixels; they must all be either 4 or 8-connected. In addition, the edges must be a maximum of 1 pixel wide.
  • All edge chains must be at the same scale and this scale must be the scale at which they were originally extracted. If edgels were extracted at a different scale (ExtractionScale property), you must convert them to their original scale.


EdgeFinder.Save Method

Save method

See Also | Availability | MIL Equivalent | PutEdgeResults | SaveStream
Reference:
EdgeFinder.Filters
EdgeFinder.Load
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeSave(FileName)
EdgeFinder
Save
Synopsis
Saves the settings of the EdgeFinder control to disk.
[]
Syntax
object.Save(
ByVal FileName As String
)
[]
Syntax
void object->Save(
_bstr_t FileName
)
FileName
A string expression that specifies the name of the file in which to save the data.
Remarks
  • It is recommended that you use the MEF file extension for easier use with other Matrox Imaging software products.
  • This function saves all the information about the previously allocated EdgeFinder control to disk, including all of the individual edge's current settings.
  • This information can be reloaded, using the Load method.
  • Note that the content of the Filters collections will not be saved.


EdgeFinder.SaveStream Method

SaveStream method

See Also | Availability | MIL Equivalent | Save | ShowPropertyPages
Reference:
EdgeFinder.LoadStream
EdgeFinder.Save
EdgeFinder.StreamSize
Not available in ActiveMIL-Lite

Available in ActiveMIL
MedgeStream(
Operation =
M_SAVE
)
EdgeFinder
SaveStream
Synopsis
Saves the settings of a EdgeFinder control to a specified file or memory stream.
[]
Syntax
object.SaveStream(
ByVal ArrayOfBytesOrFileName As Object,
ByVal StreamType As EdgeStreamTypeConstants,
ByVal Version As Double
)
[]
Syntax
void object->SaveStream(
const _variant_t & ArrayOfBytesOrFileName,
enum EdgeStreamTypeConstants StreamType,
double Version
)
ArrayOfBytesOrFileName
A variantobjectvariant (object for Visual Basic .Net) value that specifies the stream in which to save the settings of the EdgeFinder control.
StreamType
A EdgeStreamTypeConstants expression that specifies the type of stream in which to save the settings of the EdgeFinder control.
Value | Meaning
edgeFile | Specifies a file stream.
edgeMemory | Specifies a memory stream.
Version (optional in , default is amilDefault)
A double value or an ActiveMILDefaultConstants expression that specifies the ActiveMIL version number of the EdgeFinder control.
Value | Meaning
amilDefault | Sets the version to the current version of ActiveMIL.
value | Sets the version to a specific version of ActiveMIL.
Remarks
  • File and file stream are equivalent terms throughout this documentation.
  • It is recommended that you use the MEF file extension for easier use with other Matrox Imaging software products.
  • The settings of the EdgeFinder control can be loaded using the LoadStream method.
  • The content saved to a memory stream is equivalent to the same content saved to a file. In addition, any file saved with the Save method is equivalent to a file saved using this method.
  • When edgeFile is set as the stream type, if the specified file in which to save the settings of the EdgeFinder control already exists, it will be overwritten when the method is performed.
  • When edgeMemory is set as the stream type, the ArrayOfBytesOrFileName parameter should specify the address of the block of memory required for this operation. The designated block must be large enough to store the entire object.
  • To inquire the size of the array required to save the settings of a EdgeFinder control to a memory stream, use the StreamSize property.
  • You can use this method and other ActiveMIL methods to save all required ActiveMIL controls, as well as any other custom data, for your application to a memory stream. Once in a memory stream, you can write the stream to a single file or transfer it over a network. You are responsible for concatenating the streams and for saving the stream to file.
  • By supplying a specific version, you can control the EdgeFinder control's accessibility. For instance, if you allocate a EdgeFinder control using ActiveMIL 8.0 and set its version to 7.5, then this control can be loaded on a computer where ActiveMIL 7.5 is installed. Settings unique to the higher version will be ignored when the file or memory stream is loaded in the lower version. Also, a program using ActiveMIL of a higher version can access a EdgeFinder control stream created or designated with an equal or lower version. Settings that do not exist in the lower version will be filled with default values when the file or memory stream is loaded in the higher version. The version specified must never be greater than the current ActiveMIL version, but must be greater than or equal to 7.5 for the EdgeFinder control.
  • []
     To specify the name of the file in which to save the settings of the EdgeFinder control, you must pass a string object to the ArrayOfBytesOrFileName parameter. To specify the location of the memory stream in which to save the settings of the EdgeFinder control, you must pass an array of bytes.
  • []
     To specify the name of the file in which to save the settings of the EdgeFinder control, you must pass a VARIANT containing a BSTR value to the ArrayOfBytesOrFileName parameter. To specify the location of the memory stream in which to save the settings of the EdgeFinder control, pass a VARIANT containing a SAFEARRAY object.


EdgeFinder.ShowPropertyPages Method

ShowPropertyPages method

See Also | Availability | MIL Equivalent | SaveStream | ResultsModified
Reference:
EdgeFinder.Free
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
ShowPropertyPages
Synopsis
[]
Syntax
object.ShowPropertyPages(
ByVal Pages As EdgePropertyPagesConstants,
ByVal Caption As String,
ByVal hWndParent As Integer,
ByVal Reserved As Boolean
)
[]
Syntax
void object->ShowPropertyPages(
enum EdgePropertyPagesConstants Pages,
_bstr_t Caption,
long hWndParent,
VARIANT_BOOL Reserved
)
Pages (optional in , default is edgeAllPropertyPages)
An EdgePropertyPagesConstants expression that specifies the page(s) to display. You can add the following constants together to display multiple pages.
Value | Meaning
edgeGeneralPropertyPage | Display the EdgeFinder control's General property page.
edgeAttributesPropertyPage | Display the EdgeFinder control's Attributes property page.
edgeFeatureListPropertyPage | Display the EdgeFinder control's Feature List property page.
edgeFiltersPropertyPage | Display the EdgeFinder control's Filters property page.
edgeFillGapParametersPropertyPage | Display the EdgeFinder control's Fill Gap Parameters property page.
edgeSortingKeysPropertyPage | Display the EdgeFinder control's Sorting Key property page.
edgeHistoryPropertyPage | Display the EdgeFinder control's History property page.
edgeAllPropertyPages | Display all of the EdgeFinder control's available property pages.
Caption (optional in , default is "")
A string value that specifies the caption for the property pages window. The default is an empty string, in which case a generic caption will be displayed.
hWndParent (optional in , default is 0)
A long value that specifies the window handle (HWND) of the property pages window's parent. The property pages window will be modal in relation to its parent window.
Reserved (optional in , default is True)
This parameter is reserved for future use. True is the only value available.
Value | Meaning
True | Meaning to be determined. This setting must always be used.
Remarks
  • If the EdgeFinder control is created at design-time, the .NET ActiveX Control Importer (AxImp.exe) renames this ActiveMIL method from ShowPropertyPages() to CtlShowPropertyPages() to avoid name clashing with the ShowPropertyPages() method of the .NET Windows Form control. See the Windows Forms ActiveX Control Importer (AxImp.exe) topic in MSDN for more information. In addition, if the control is created at run-time with the AxMatrox.ActiveMIL.* namespace, you must use CtlShowPropertyPages() to call the ActiveMIL ShowPropertyPages() method.
  • This method is used to display the property pages so that properties can be set interactively at run-time.
  • This method will disable property page elements corresponding to properties that cannot be changed due to the current state of the control. For example, if a property cannot be changed while its control is in the allocated state, and the control is allocated, the corresponding element in the property page will be disabled. To change this property, call the Free method first.


EdgeFinder.ResultsModified Event

ResultsModified event

Availability | MIL Equivalent | ShowPropertyPages
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
EdgeFinder
ResultsModified
Synopsis
Occurs after results have been modified.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_ResultsModified() Handles object.ResultsModified

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_ResultsModified(
ByVal sender As Object,
ByVal e As System.EventArgs
) Handles object.ResultsModified
[]
Syntax
void class::OnResultsModified()
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.


GraphicContext control

Availability
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Synopsis
The GraphicContext control provides a set of graphic primitives that can be used to create drawings and text annotations in an image.

Structure
GraphicContext |  | Properties: AutomaticAllocation, BackgroundColor, BackgroundMode, BackgroundShade, DrawingRegion, FontScaleX, FontScaleY, Font, ForegroundColor, ForegroundShade, Image, ImageName, IsAllocated, MilID, Name, OwnerSystem, OwnerSystemName, PropertyValidation Methods: Allocate, Arc, Clear, Control, Cross, Dot, Dots, Fill, Free, Inquire, LineSegment, LineSegments, Modified, Rectangle, ShowPropertyPages, Text
 | DrawingRegion | Properties: CenterX, CenterY, EndX, EndY, FullSize, Mode, OffsetX, OffsetY, SizeX, SizeY, StartX, StartY


GraphicContext.AutomaticAllocation Property

AutomaticAllocation property

See Also | Availability | MIL Equivalent | BackgroundColor
User Guide:
Setting up controls - Allocating and freeing resources

Reference:
GraphicContext.Allocate
GraphicContext.Free
GraphicContext.IsAllocated
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
GraphicContext
AutomaticAllocation
Synopsis
Returns or sets whether the resources of the GraphicContext control are automatically allocated at run-time.
[]
Syntax
object.AutomaticAllocation [= Boolean]
[]
Syntax
object->AutomaticAllocation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the control's automatic allocation.
Value | Meaning
True | The control will be allocated automatically at run-time.
False | The control must be allocated explicitly, using the Allocate method.
Remarks
  • When the AutomaticAllocation property is False, an explicit call to the Allocate method is required. You can get the allocation state of the control by reading its IsAllocated property.
  • The default value is True for controls created at design-time, and False for controls created at run-time (for example, created with the CreateObject method of the Application control).
  • When this property is set to True, automatic allocation will occur when the owner system of the GraphicContext control is allocated. For example, if System1 is set as the owner system of GraphicContext1, and System1 is not allocated, then GraphicContext1 will not be allocated, even if its AutomaticAllocation property is set to True. When System1 is allocated (with the Allocate method), GraphicContext1 will be allocated automatically if its AutomaticAllocation property is set to True.
  • The resources of the control will be freed automatically when the control is destroyed.
[]
Example
This example demonstrates how to set up this control so that it is automatically allocated when its owner System control is allocated.

GraphicContext1.AutomaticAllocation = True
GraphicContext1.OwnerSystem = System1

' This call will also allocate GraphicContext1 since
' its OwnerSystem property is System1 and
' its AutomaticAllocation property is set to True
System1.Allocate()
[]
Example
This example demonstrates how to set up this control so that it is automatically allocated when its owner System control is allocated.

m_GraphicContext1->AutomaticAllocation = TRUE;
m_GraphicContext1->OwnerSystem = m_System1;

// This call will also allocate m_GraphicContext1 since
// its OwnerSystem property is m_System1 and
// its AutomaticAllocation property is set to TRUE
m_System1->Allocate();


GraphicContext.BackgroundColor Property

BackgroundColor property

See Also | Availability | MIL Equivalent | AutomaticAllocation | BackgroundMode
User Guide:
Writing text

Reference:
GraphicContext.BackgroundMode
GraphicContext.BackgroundShade
GraphicContext.ForegroundColor
GraphicContext.Text
Available in ActiveMIL-Lite

Available in ActiveMIL
MgraBackColor()

MgraInquire(
InquireType =
M_BACKCOLOR
)
GraphicContext
BackgroundColor
Synopsis
Returns or sets the background color of the GraphicContext control.
[]
Syntax
object.BackgroundColor [= System.Drawing.Color ]
[]
Syntax
object->BackgroundColor [= OLE_COLOR]
Type description
A Color value that specifies the background color.
Remarks
  • When using the graphic context to draw in an 8-bit, 3-band image, use your environment's RGB() function to explicitly set a value for each of the color bands (red, green, and blue).
  • The red, green, and blue values must be values between 0 and 255, inclusive.
  • This property does not work on 16-bit or 32-bit per band images. To set the background color for these images, you must use the Control method with graBackColor.
  • The default background color is black.
  • The type of background (transparent or opaque) is determined by the BackgroundMode property.
  • This property applies to the Text method.
  • To specify a grayscale shade rather than a color, use the BackgroundShade property. If both the BackgroundShade and BackgroundColor properties are set, the property that was last set is used.
  • []
     To convert a System.Drawing.Color to an integer value, use the System.Drawing.ColorTranslator 's ToOle method.


GraphicContext.BackgroundMode Property

BackgroundMode property

See Also | Availability | MIL Equivalent | BackgroundColor | BackgroundShade
User Guide:
Writing text

Reference:
GraphicContext.BackgroundColor
GraphicContext.Text
Available in ActiveMIL-Lite

Available in ActiveMIL
MgraControl(
ControlType =
M_BACKGROUND_MODE
)

MgraInquire(
InquireType =
M_BACKGROUND_MODE
)
GraphicContext
BackgroundMode
Synopsis
Returns or sets the type of background to apply when drawing text.
[]
Syntax
object.BackgroundMode [= GraBackgroundModeConstants]
[]
Syntax
object->BackgroundMode [= enum GraBackgroundModeConstants]
Type description
A GraBackgroundModeConstants expression that specifies the type of background. (default is graOpaque)
Value | Meaning
graOpaque | Fills the background with the current background color before drawing text.
graTransparent | Does not change the background before drawing text. This creates a transparent background for printed characters.
Remarks
  • This property applies to the Text method.
  • The color to apply to the background is determined by the BackgroundColor property.


GraphicContext.BackgroundShade Property

BackgroundShade property

See Also | Availability | MIL Equivalent | BackgroundMode | DrawingRegion
User Guide:
Writing text

Reference:
GraphicContext.BackgroundColor
GraphicContext.Text
Available in ActiveMIL-Lite

Available in ActiveMIL
MgraBackColor()

MgraInquire(
InquireType =
M_BACKCOLOR
)
GraphicContext
BackgroundShade
Synopsis
Returns or sets the background shade of the GraphicContext control.
[]
Syntax
object.BackgroundShade [= Double]
[]
Syntax
object->BackgroundShade [= double]
Type description
A double value that specifies the background shade as a grayscale value.
Remarks
  • If the given value exceeds the range of the destination image, only the least significant bits of the value are used.
  • When drawing in a 1-band image, the grayscale value is cast to the type of the destination image.
  • When drawing in a multi-band image, the grayscale value is cast to the type of the destination image's bands. This value is replicated in each band.
  • The deafult background shade is black.
  • To specify a color rather than a shade, use the BackgroundColor property. If both the BackgroundShade and BackgroundColor properties are set, the property that was last set is used.
  • This property applies to the Text method.


GraphicContext.DrawingRegion Property

DrawingRegion property

See Also | Availability | MIL Equivalent | BackgroundShade | FontScaleX
User Guide:
Setting positional properties
Available in ActiveMIL-Lite

Available in ActiveMIL
MgraArc(
XCenter
YCenter
)

MgraArcFill(
XCenter
YCenter
)

MgraLine(
XStart
YStart
XEnd
YEnd
)

MgraRect(
XStart
YStart
XEnd
YEnd
)

MgraRectFill(
XStart
YStart
XEnd
YEnd
)

MgraFill(
XStart
YStart
)
GraphicContext
DrawingRegion
Properties: CenterX, CenterY, EndX, EndY, FullSize, Mode, OffsetX, OffsetY, SizeX, SizeY, StartX, StartY
Synopsis
Allows you to specify or determine the drawing region within the image.
[]
Syntax
[RegionOfInterest =] object.DrawingRegion
[]
Syntax
[IRegionOfInterestPtr =] object->DrawingRegion
Type description
A RegionOfInterest object.
Remarks
  • Most graphic context methods use the positions specified by the drawing region. The way in which a specific method uses the positional values of the drawing region is detailed in the method's description.
  • You can use Interactively Setting Properties to define your drawing region.
[]
Example
This example shows how to use the DrawingRegion property.

' Draw a rectangle in a GraphicContext with DrawingRegion
BoxGraphicContext.DrawingRegion.Mode = roiOffsetSize
BoxGraphicContext.DrawingRegion.StartX = 20
BoxGraphicContext.DrawingRegion.StartY = 150
BoxGraphicContext.DrawingRegion.EndX = 480
BoxGraphicContext.DrawingRegion.EndY = 340
BoxGraphicContext.Rectangle()
[]
Example
This example shows how to use the DrawingRegion property.

// Draw a box around occurrence
IRegionOfInterestPtr DrawingRegion = m_GraphicContext1->DrawingRegion;
DrawingRegion->CenterX             = 100;
DrawingRegion->CenterY             = 100;
DrawingRegion->SizeX               = 50;
DrawingRegion->SizeY               = 25;


GraphicContext.DrawingRegion.CenterX Property

CenterX property

See Also | Availability | MIL Equivalent | CenterY
Reference:
GraphicContext.DrawingRegion.CenterY
GraphicContext.DrawingRegion.SizeX
GraphicContext.DrawingRegion.SizeY
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
GraphicContext
DrawingRegion
CenterX
Synopsis
Returns or sets the X-coordinate of the center of the drawing region.
[]
Syntax
object.CenterX [= Integer]
[]
Syntax
object->CenterX [= long]
Type description
A long value that specifies the X-coordinate of the center point, relative to the top-left corner of the destination image.
Remarks
  • The center point, along with the size, define the drawing region.
  • The start point (offset) and end point will be modified as a result of moving the center point.
  • CenterX accepts only pixel coordinates. To draw in a calibrated image using real-world coordinates, you must first convert the coordinates from their real-world value to their pixel value using the ConvertCoordinateWorldToPixel method or ConvertCoordinateListWorldToPixel method.
[]
Example
This example shows how to set the CenterX property.

// Draw a box around occurrence
IRegionOfInterestPtr DrawingRegion = m_GraphicContext1->DrawingRegion;
DrawingRegion->CenterX             = 100;
DrawingRegion->CenterY             = 100;
DrawingRegion->SizeX               = 50;
DrawingRegion->SizeY               = 25;


GraphicContext.DrawingRegion.CenterY Property

CenterY property

See Also | Availability | MIL Equivalent | CenterX | EndX
Reference:
GraphicContext.DrawingRegion.CenterX
GraphicContext.DrawingRegion.SizeX
GraphicContext.DrawingRegion.SizeY
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
GraphicContext
DrawingRegion
CenterY
Synopsis
Returns or sets the Y-coordinate of the center of the drawing region.
[]
Syntax
object.CenterY [= Integer]
[]
Syntax
object->CenterY [= long]
Type description
A long value that specifies the Y-coordinate of a center point, relative to the top-left corner of the destination image.
Remarks
  • The center point, along with the size, define the drawing region.
  • The start point (offset) and end point will be modified as a result of moving the center point.
  • CenterY accepts only pixel coordinates. To draw in a calibrated image using real-world coordinates, you must first convert the coordinates from their real-world value to their pixel value using the ConvertCoordinateWorldToPixel method or ConvertCoordinateListWorldToPixel method.
[]
Example
This example shows how to set the CenterY property.

// Draw a box around occurrence
IRegionOfInterestPtr DrawingRegion = m_GraphicContext1->DrawingRegion;
DrawingRegion->CenterX             = 100;
DrawingRegion->CenterY             = 100;
DrawingRegion->SizeX               = 50;
DrawingRegion->SizeY               = 25;


GraphicContext.DrawingRegion.EndX Property

EndX property

See Also | Availability | MIL Equivalent | CenterY | EndY
Reference:
GraphicContext.DrawingRegion.EndY
GraphicContext.DrawingRegion.StartX
GraphicContext.DrawingRegion.StartY
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
GraphicContext
DrawingRegion
EndX
Synopsis
Returns or sets the X-coordinate of the end point of a region of interest.
[]
Syntax
object.EndX [= Integer]
[]
Syntax
object->EndX [= long]
Type description
A long value that specifies the X-coordinate of an end point, relative to the top-left corner of the destination image.
Remarks
  • The start point (offset) and end point define the drawing region.
  • The center point, as well as the size, will be modified as a result of moving the end point.
  • EndX accepts only pixel coordinates. To draw in a calibrated image using real-world coordinates, you must first convert the coordinates from their real-world value to their pixel value using the ConvertCoordinateWorldToPixel method or ConvertCoordinateListWorldToPixel method.
[]
Example
This example shows how to set the EndX property.

m_GraphicContext1->DrawingRegion->StartX  = 0;
m_GraphicContext1->DrawingRegion->StartY  = 0;
m_GraphicContext1->DrawingRegion->EndX    = 50;
m_GraphicContext1->DrawingRegion->EndY    = 100;


GraphicContext.DrawingRegion.EndY Property

EndY property

See Also | Availability | MIL Equivalent | EndX | FullSize
Reference:
GraphicContext.DrawingRegion.EndX
GraphicContext.DrawingRegion.StartX
GraphicContext.DrawingRegion.StartY
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
GraphicContext
DrawingRegion
EndY
Synopsis
Returns or sets the Y-coordinate of the end point of the drawing region.
[]
Syntax
object.EndY [= Integer]
[]
Syntax
object->EndY [= long]
Type description
A long value that specifies the Y-coordinate of an end point, relative to the top-left corner of the destination image.
Remarks
  • The start point (offset) and end point define the drawing region.
  • The center point, as well as the size, will be modified as a result of moving the end point.
  • EndY accepts only pixel coordinates. To draw in a calibrated image using real-world coordinates, you must first convert the coordinates from their real-world value to their pixel value using the ConvertCoordinateWorldToPixel method or ConvertCoordinateListWorldToPixel method.
[]
Example
This example shows how to set the EndY property.

m_GraphicContext1->DrawingRegion->StartX  = 0;
m_GraphicContext1->DrawingRegion->StartY  = 0;
m_GraphicContext1->DrawingRegion->EndX    = 50;
m_GraphicContext1->DrawingRegion->EndY    = 100;


GraphicContext.DrawingRegion.FullSize Property

FullSize property

Availability | MIL Equivalent | EndY | Mode
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
GraphicContext
DrawingRegion
FullSize
Synopsis
Returns or sets whether to use the entire destination image as the drawing region.
[]
Syntax
object.FullSize [= Boolean]
[]
Syntax
object->FullSize [= VARIANT_BOOL]
Type description
A boolean value that specifies whether to use the entire image. (default is True)
Value | Meaning
True | Use the entire image.
False | Use only the region specified by the other properties of the DrawingRegion property.
Remark
  • This property is reset to False when another property of the DrawingRegion property is changed.


GraphicContext.DrawingRegion.Mode Property

Mode property

See Also | Availability | MIL Equivalent | FullSize | OffsetX
Reference:
GraphicContext.DrawingRegion.OffsetX
GraphicContext.DrawingRegion.OffsetY
GraphicContext.DrawingRegion.SizeX
GraphicContext.DrawingRegion.SizeY
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
GraphicContext
DrawingRegion
Mode
Synopsis
Returns or sets the mode of anchoring the drawing region.
[]
Syntax
object.Mode [= RoiModeConstants]
[]
Syntax
object->Mode [= enum RoiModeConstants]
Type description
A RoiModeConstants expression that specifies the mode.
Value | Meaning
roiOffsetSize | The offset properties are anchored. This means that when the size changes, the offsets do not move; it is the center that is displaced accordingly.
roiCenterSize | The center properties are anchored. This means that when the size changes, the coordinates of the center do not move; it is the offsets that are displaced accordingly.
[]
Example
This example shows how to set the Mode property.

// Print a string in the overlay image
DrawingRegion = m_GraphicContextOverlayLeft->DrawingRegion;
DrawingRegion->Mode     = roiCenterSize;
DrawingRegion->SizeX    = 140;
DrawingRegion->SizeY    = 20;
DrawingRegion->CenterX  = ImageWidth / 4;
DrawingRegion->CenterY  = ImageHeight / 4;
m_GraphicContextOverlayLeft->Text("ActiveMIL Overlay");


GraphicContext.DrawingRegion.OffsetX Property

OffsetX property

See Also | Availability | MIL Equivalent | Mode | OffsetY
Reference:
GraphicContext.DrawingRegion.OffsetY
GraphicContext.DrawingRegion.SizeX
GraphicContext.DrawingRegion.SizeY
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
GraphicContext
DrawingRegion
OffsetX
Synopsis
Returns or sets the horizontal offset of the drawing region.
[]
Syntax
object.OffsetX [= Integer]
[]
Syntax
object->OffsetX [= long]
Type description
A long value that specifies the X-coordinate of the top-left corner of a region, relative to the top-left corner of the destination image.
Remark
  • OffsetX accepts only pixel coordinates. To draw in a calibrated image using real-world coordinates, you must first convert the coordinates from their real-world value to their pixel value using the ConvertCoordinateWorldToPixel method or ConvertCoordinateListWorldToPixel method.


GraphicContext.DrawingRegion.OffsetY Property

OffsetY property

See Also | Availability | MIL Equivalent | OffsetX | SizeX
Reference:
GraphicContext.DrawingRegion.OffsetX
GraphicContext.DrawingRegion.SizeX
GraphicContext.DrawingRegion.SizeY
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
GraphicContext
DrawingRegion
OffsetY
Synopsis
Returns or sets the vertical offset of the drawing region.
[]
Syntax
object.OffsetY [= Integer]
[]
Syntax
object->OffsetY [= long]
Type description
A long value that specifies the Y-coordinate of the top-left corner of a region, relative to the top-left corner of the destination image.
Remark
  • OffsetY accepts only pixel coordinates. To draw in a calibrated image using real-world coordinates, you must first convert the coordinates from their real-world value to their pixel value using the ConvertCoordinateWorldToPixel method or ConvertCoordinateListWorldToPixel method.


GraphicContext.DrawingRegion.SizeX Property

SizeX property

See Also | Availability | MIL Equivalent | OffsetY | SizeY
Reference:
GraphicContext.DrawingRegion.Mode
GraphicContext.DrawingRegion.SizeY
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
GraphicContext
DrawingRegion
SizeX
Synopsis
Returns or sets the width of the drawing region.
[]
Syntax
object.SizeX [= Integer]
[]
Syntax
object->SizeX [= long]
Type description
A long value that specifies the number of pixels in the horizontal direction.
Remark
  • The Mode property determines whether the drawing region's offset or center is displaced as a result of changing its width.
[]
Example
This example shows how to set the SizeX property.

// Draw a box around occurrence
IRegionOfInterestPtr DrawingRegion = m_GraphicContext1->DrawingRegion;
DrawingRegion->CenterX             = 100;
DrawingRegion->CenterY             = 100;
DrawingRegion->SizeX               = 50;
DrawingRegion->SizeY               = 25;


GraphicContext.DrawingRegion.SizeY Property

SizeY property

See Also | Availability | MIL Equivalent | SizeX | StartX
Reference:
GraphicContext.DrawingRegion.Mode
GraphicContext.DrawingRegion.SizeX
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
GraphicContext
DrawingRegion
SizeY
Synopsis
Returns or sets the height of the drawing region.
[]
Syntax
object.SizeY [= Integer]
[]
Syntax
object->SizeY [= long]
Type description
A long value that specifies the numbers of pixels in the vertical direction.
Remark
  • The Mode property determines whether the drawing region's offset or center is displaced as a result of changing its height.
[]
Example
This example shows how to set the SizeY property.

// Draw a box around occurrence
IRegionOfInterestPtr DrawingRegion = m_GraphicContext1->DrawingRegion;
DrawingRegion->CenterX             = 100;
DrawingRegion->CenterY             = 100;
DrawingRegion->SizeX               = 50;
DrawingRegion->SizeY               = 25;


GraphicContext.DrawingRegion.StartX Property

StartX property

See Also | Availability | MIL Equivalent | SizeY | StartY
Reference:
GraphicContext.DrawingRegion.EndX
GraphicContext.DrawingRegion.EndY
GraphicContext.DrawingRegion.OffsetX
GraphicContext.DrawingRegion.OffsetY
GraphicContext.DrawingRegion.StartY
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
GraphicContext
DrawingRegion
StartX
Synopsis
Returns or sets the X-coordinate of the start point of the drawing region.
[]
Syntax
object.StartX [= Integer]
[]
Syntax
object->StartX [= long]
Type description
A long value that specifies the X-coordinate of a start point, relative to the top-left corner of the destination image.
Remarks
  • The start point (offset) and end point define the drawing region.
  • The center point, as well as the size, will be modified as a result of moving the start point.
  • StartX accepts only pixel coordinates. To draw in a calibrated image using real-world coordinates, you must first convert the coordinates from their real-world value to their pixel value using the ConvertCoordinateWorldToPixel method or ConvertCoordinateListWorldToPixel method.
[]
Example
This example shows how to set the StartX property.

m_GraphicContext1->DrawingRegion->StartX  = 0;
m_GraphicContext1->DrawingRegion->StartY  = 0;
m_GraphicContext1->DrawingRegion->EndX    = 50;
m_GraphicContext1->DrawingRegion->EndY    = 100;


GraphicContext.DrawingRegion.StartY Property

StartY property

See Also | Availability | MIL Equivalent | StartX
Reference:
GraphicContext.DrawingRegion.EndX
GraphicContext.DrawingRegion.EndY
GraphicContext.DrawingRegion.OffsetX
GraphicContext.DrawingRegion.OffsetY
GraphicContext.DrawingRegion.StartX
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
GraphicContext
DrawingRegion
StartY
Synopsis
Returns or sets the Y-coordinate of the start point of the drawing region.
[]
Syntax
object.StartY [= Integer]
[]
Syntax
object->StartY [= long]
Type description
A long value that specifies the Y-coordinate of a start point, relative to the top-left corner of the destination image.
Remarks
  • The start point (offset) and end point define the drawing region.
  • The center point, as well as the size, will be modified as a result of moving the start point.
  • StartY accepts only pixel coordinates. To draw in a calibrated image using real-world coordinates, you must first convert the coordinates from their real-world value to their pixel value using the ConvertCoordinateWorldToPixel method or ConvertCoordinateListWorldToPixel method.
[]
Example
This example shows how to set the StartY property.

m_GraphicContext1->DrawingRegion->StartX  = 0;
m_GraphicContext1->DrawingRegion->StartY  = 0;
m_GraphicContext1->DrawingRegion->EndX    = 50;
m_GraphicContext1->DrawingRegion->EndY    = 100;


GraphicContext.Font Property

Font property

See Also | Availability | MIL Equivalent | FontScaleY | ForegroundColor
User Guide:
Writing text

Reference:
GraphicContext.FontScaleX
GraphicContext.FontScaleY
GraphicContext.Text
Available in ActiveMIL-Lite

Available in ActiveMIL
Mgrafont(FontName)

MgraInquire(
InquireType =
M_FONT
)
GraphicContext
Font
Synopsis
Returns or sets the type of font with which to write text.
[]
Syntax
object.Font [= GraFontConstants]
[]
Syntax
object->Font [= enum GraFontConstants]
Type description
A GraFontConstants expression that specifies the type of font.
Value | Meaning
graDefaultSmall | The default font with 8x16 pixel wide characters.
graDefaultMedium | The default font with 12x24 pixel wide characters.
graDefaultLarge | The default font with 16x32 pixel wide characters.
Remarks
  • If the GraphicContext control is created at design-time, the .NET ActiveX Control Importer (AxImp.exe) renames this ActiveMIL property from Font() to CtlFont() to avoid name clashing with the Font() property of the .NET Windows Form control. See the Windows Forms ActiveX Control Importer (AxImp.exe) topic in MSDN for more information. In addition, if the control is created at run-time with the AxMatrox.ActiveMIL.* namespace, you must use CtlFont() to call the ActiveMIL Font() property.
  • For the GraphicContext control, this property applies to the Text method.


GraphicContext.FontScaleX Property

FontScaleX property

See Also | Availability | MIL Equivalent | DrawingRegion | FontScaleY
User Guide:
Writing text

Reference:
GraphicContext.Font
GraphicContext.FontScaleY
GraphicContext.Text
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
MgraFontScale(XFontScale)

MgraInquire(
InquireType =
M_FONT_X_SCALE
)
GraphicContext
FontScaleX
Synopsis
Returns or sets the X-scale-factor by which to multiply the width of the font characters.
[]
Syntax
object.FontScaleX [= Double]
[]
Syntax
object->FontScaleX [= double]
Type description
A double value that specifies the X-scale-factor.
Remark
  • This property applies to the Text method.
Remark for Matrox Genesis
  • ActiveMIL uses the Host to scale by a non-integer factor; integer factors are scaled by the on-board Matrox Genesis processor.


GraphicContext.FontScaleY Property

FontScaleY property

See Also | Availability | MIL Equivalent | FontScaleX | Font
User Guide:
Writing text

Reference:
GraphicContext.Font
GraphicContext.FontScaleX
GraphicContext.Text
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
MgraFontScale(YFontScale)

MgraInquire(
InquireType =
M_FONT_Y_SCALE
)
GraphicContext
FontScaleY
Synopsis
Returns or sets the Y-scale-factor by which to multiply the height of the font characters.
[]
Syntax
object.FontScaleY [= Double]
[]
Syntax
object->FontScaleY [= double]
Type description
A double value that specifies the Y-scale-factor.
Remark
  • This property applies to the Text method.
Remark for Matrox Genesis
  • ActiveMIL uses the Host to scale by a non-integer factor; integer factors are scaled by the on-board Matrox Genesis processor.


GraphicContext.ForegroundColor Property

ForegroundColor property

See Also | Availability | MIL Equivalent | Font | ForegroundShade
User Guide:
Preparing for graphics

Reference:
GraphicContext.Arc
GraphicContext.BackgroundColor
GraphicContext.Cross
GraphicContext.Dot
GraphicContext.ForegroundShade
GraphicContext.Rectangle
GraphicContext.Text
Available in ActiveMIL-Lite

Available in ActiveMIL
MgraColor(ForegroundColor)

MgraInquire(
InquireType =
M_COLOR
)
GraphicContext
ForegroundColor
Synopsis
Returns or sets the foreground color of the GraphicContext control.
[]
Syntax
object.ForegroundColor [= System.Drawing.Color ]
[]
Syntax
object->ForegroundColor [= OLE_COLOR]
Type description
A Color value that specifies the foreground color.
Remarks
  • When using the graphic context to draw in an 8-bit, 3-band image, use your environment's RGB() function to explicitly set a value for each of the color bands (red, green, and blue).
  • The red, green, and blue values must be values between 0 and 255, inclusive.
  • This property does not work on 16-bit or 32-bit per band images. To set the foreground color for these images, you must use the Control method with graColor.
  • The default foreground color is white.
  • All graphic context methods use this color when drawing graphics.
  • To specify a grayscale shade rather than a color, use the ForegroundShade property. If both the ForegroundShade and ForegroundColor properties are set, the property that was last set is used.
  • This property applies to the Text method.
  • []
     To convert a System.Drawing.Color to an integer value, use the System.Drawing.ColorTranslator 's ToOle method.
[]
Example
This example shows how to annotate an image with a different text color set by the ForegroundColor property.

// Draw annotations in each components of the copied image
IRegionOfInterestPtr DrawingRegionRed = m_GraphicContextRed->DrawingRegion;
DrawingRegionRed->StartX = m_ChildImage2->SizeX / 16;
DrawingRegionRed->StartY = m_ChildImage2->SizeY / 8;
m_GraphicContextRed->ForegroundColor = 0xFF;
m_GraphicContextRed->Text("TOUCAN");


GraphicContext.ForegroundShade Property

ForegroundShade property

See Also | Availability | MIL Equivalent | ForegroundColor | Image
User Guide:
Preparing for graphics

Reference:
GraphicContext.Arc
GraphicContext.Cross
GraphicContext.Dot
GraphicContext.ForegroundColor
GraphicContext.Rectangle
GraphicContext.Text
Available in ActiveMIL-Lite

Available in ActiveMIL
MgraColor(ForegroundColor)

MgraInquire(
InquireType =
M_COLOR
)
GraphicContext
ForegroundShade
Synopsis
Returns or sets the foreground shade of the GraphicContext control.
[]
Syntax
object.ForegroundShade [= Double]
[]
Syntax
object->ForegroundShade [= double]
Type description
A double value that specifies the foreground shade as a grayscale value.
Remarks
  • If the given value exceeds the range of the destination image, only the least significant bits of the value are used.
  • When drawing in a 1-band image, the grayscale value is cast to the type of the destination image.
  • When drawing in a multi-band image, the grayscale value is cast to the type of the destination image's bands. This value is replicated in each band.
  • The default foreground shade is white.
  • All graphic context methods use this shade when drawing graphics.
  • To specify a color rather than a shade, use the ForegroundColor property. If both the ForegroundShade and ForegroundColor properties are set, the property that was last set is used.
  • This property applies to the Text method.


GraphicContext.Image Property

Image property

See Also | Availability | MIL Equivalent | ForegroundShade | ImageName
Reference:
Image
Available in ActiveMIL-Lite

Available in ActiveMIL
MgraArc(DestImageBufId)

MgraArcFill(DestImageBufId)

MgraDot(DestImageBufId)

MgraFill(DestImageBufId)

MgraLine(DestImageBufId)

MgraRect(DestImageBufId)

MgraRectFill(DestImageBufId)

MgraText(DestImageBufId)
GraphicContext
Image
Synopsis
Returns or sets the image used by the GraphicContext control as the destination for all drawing operations.
[]
Syntax
object.Image [= Image]
[]
Syntax
object->Image [= IImagePtr]
Type description
An Image control that specifies the destination image to be used for all drawing operations.
Remarks
  • The image must have its CanProcess property set to True.
  • []
     Use the Visual Basic Is Nothing statement to confirm that this property is currently not associated with a control.
  • []
     To remove the reference to the current control without assigning a new control, set the property to Nothing.
  • []
     To remove the reference to the current control without assigning a new control, set the property to NULL.
  • The image can also be specified, with the name assigned to its control, using the ImageName property.
  • This property automatically sets the ImageName property.


GraphicContext.ImageName Property

ImageName property

See Also | Availability | MIL Equivalent | Image | IsAllocated
Reference:
Image
Available in ActiveMIL-Lite

Available in ActiveMIL
MgraArc(DestImageBufId)

MgraArcFill(DestImageBufId)

MgraDot(DestImageBufId)

MgraFill(DestImageBufId)

MgraLine(DestImageBufId)

MgraRect(DestImageBufId)

MgraRectFill(DestImageBufId)

MgraText(DestImageBufId)
GraphicContext
ImageName
Synopsis
Returns or sets the name of the Image control that is used by the GraphicContext control as the destination for all drawing operations.
[]
Syntax
object.ImageName [= String]
[]
Syntax
object->ImageName [= _bstr_t]
Type description
A string expression that specifies the name of the Image control to be used for all drawing operations.
Remarks
  • The image must have its CanProcess property set to True.
  • To remove the reference to the current control without assigning a new control, specify an empty string ("").
  • The target image can also be specified using the Image property.
  • This property automatically sets the Image property.


GraphicContext.IsAllocated Property

IsAllocated property

See Also | Availability | MIL Equivalent | ImageName | MilID
User Guide:
Allocation of resources

Reference:
GraphicContext.Allocate
GraphicContext.Free
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
GraphicContext
IsAllocated
Synopsis
Returns whether the resources of the GraphicContext control are allocated.
[]
Syntax
[Boolean =] object.IsAllocated
[]
Syntax
[VARIANT_BOOL =] object->IsAllocated
Type description
A boolean value that specifies whether the resources of the control are allocated.
Value | Meaning
True | The resources of the control are allocated.
False | The resources of the control are not allocated.
[]
Example
This example shows how to use the IsAllocated property.

If GraphicContext1.IsAllocated Then
    GraphicContext1.Free()
End If
[]
Example
This example shows how to use the IsAllocated property.

if (m_GraphicContext1->IsAllocated)
   m_GraphicContext1->Free();


GraphicContext.MilID Property

MilID property

See Also | Availability | MIL Equivalent | IsAllocated | Name
User Guide:
Integrating MIL functions into your ActiveMIL code

Reference:
GraphicContext.IsAllocated
GraphicContext.Modified
Available in ActiveMIL-Lite

Available in ActiveMIL
MgraAlloc(GraphContIdPtr)
GraphicContext
MilID
Synopsis
Returns the Native MIL identifier of the allocated resources of the GraphicContext control.
[]
Syntax
[Integer =] object.MilID
[]
Syntax
[long =] object->MilID
Type description
A long value that specifies the control's Native MIL identifier.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • The control's Modified method should be called after making Native MIL call(s) on the returned identifier.
  • If the control's IsAllocated property is False, the MilID property will be 0.


GraphicContext.Name Property

Name property

Availability | MIL Equivalent | MilID | OwnerSystem
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
GraphicContext
Name
Synopsis
Returns or sets the name used in code to identify the GraphicContext control.
[]
Syntax
object.Name [= String]
[]
Syntax
object->Name [= _bstr_t]
Type description
A string expression that specifies the name of the GraphicContext control.
Remarks
  • This property cannot be set at run-time.
  • The default name for a new control is the type of control plus a unique integer. For example, the first new GraphicContext control you create on a form is named GraphicContext1 and the second GraphicContext control is named GraphicContext2.
  • A control's Name property must start with a letter and can be a maximum of 40 characters. It can include numbers and underscore (_) characters but cannot include spaces or punctuation. Although the Name property setting can be a keyword, property name, or the name of another object, it can create conflicts in your code.


GraphicContext.OwnerSystem Property

OwnerSystem property

See Also | Availability | MIL Equivalent | Name | OwnerSystemName
User Guide:
Owner system

Reference:
System
Available in ActiveMIL-Lite

Available in ActiveMIL
MgraAlloc(SystemId)
GraphicContext
OwnerSystem
Synopsis
Returns or sets the system on which the resources of the GraphicContext control are allocated.
[]
Syntax
object.OwnerSystem [= System]
[]
Syntax
object->OwnerSystem [= ISystemPtr]
Type description
A System control that specifies the system to set as the owner (parent) of the GraphicContext control.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The owner system can also be specified, with the name assigned to its control, using the OwnerSystemName property.
  • This property automatically sets the OwnerSystemName property.
[]
Example
This example shows how to set the OwnerSystem property.

// Set the owner system for the both graphic context
m_GraphicContextLeftOverlay->OwnerSystem = OwnerSystem;
m_GraphicContextRightOverlay->OwnerSystem = OwnerSystem;

// Allocate both graphic contexts
m_GraphicContextLeftOverlay->Allocate();
m_GraphicContextRightOverlay->Allocate();


GraphicContext.OwnerSystemName Property

OwnerSystemName property

See Also | Availability | MIL Equivalent | OwnerSystem | PropertyValidation
User Guide:
Owner system

Reference:
System
Available in ActiveMIL-Lite

Available in ActiveMIL
MgraAlloc(SystemId)
GraphicContext
OwnerSystemName
Synopsis
Returns or sets the name of the System control representing the system on which the resources of the GraphicContext control are allocated.
[]
Syntax
object.OwnerSystemName [= String]
[]
Syntax
object->OwnerSystemName [= _bstr_t]
Type description
A string expression that specifies the name of the System control to set as the owner (parent) of the GraphicContext control.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The owner system can also be specified using the OwnerSystem property.
  • This property automatically sets the OwnerSystem property.


GraphicContext.PropertyValidation Property

PropertyValidation property

See Also | Availability | MIL Equivalent | OwnerSystemName | Allocate
User Guide:
Error reporting
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
GraphicContext
PropertyValidation
Synopsis
Returns or sets whether the properties of the GraphicContext control are dynamically validated.
[]
Syntax
object.PropertyValidation [= Boolean]
[]
Syntax
object->PropertyValidation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the property validation mode.
Value | Meaning
True | The control's properties will be dynamically validated. Errors will be generated during the design process.
False | The control's properties will not be dynamically validated. Errors will only be generated at run-time.
Remarks
  • At run-time, this property is read-only and is always set to True.
  • When set to True and if one of the control's properties is not properly set, then the control is outlined in red. The error page of the control's property pages describes the specific error.


GraphicContext.Allocate Method

Allocate method

See Also | Availability | MIL Equivalent | PropertyValidation | Arc
User Guide:
Setting up controls

Reference:
GraphicContext.AutomaticAllocation
GraphicContext.Free
GraphicContext.IsAllocated
Available in ActiveMIL-Lite

Available in ActiveMIL
MgraAlloc()
GraphicContext
Allocate
Synopsis
Allocates the resources of the GraphicContext control.
[]
Syntax
object.Allocate()
[]
Syntax
void object->Allocate()
Remarks
  • By default, the control's AutomaticAllocation property is set to True, and therefore allocation is done automatically.
  • To preserve resources and delay allocation until necessary, set the AutomaticAllocation property to False and call the Allocate method only when the control is actually needed.
  • To create a new GraphicContext control at run-time, use the CreateObject method of the Application control.
  • If you call the Allocate method while the control is in the allocated state, an error is generated. To determine the allocation state of a control, use the IsAllocated property.
  • The following properties cannot be changed at run-time while the control is in the allocated state (free the control using the Free method):
    • OwnerSystem
    • OwnerSystemName
  • If you try to allocate a Graphic Context control before its owner system is allocated, an error is generated.
[]
Example
This example demonstrates how to allocate multiple controls with a single call to the Allocate method.

GraphicContext1.AutomaticAllocation = True
GraphicContext1.OwnerSystem = System1

' This call will also allocate GraphicContext1 since
' its OwnerSystem property is System1 and
' its AutomaticAllocation property is set to True
System1.Allocate()
[]
Example
This example demonstrates how to allocate multiple controls with a single call to the Allocate method.

m_GraphicContext1->AutomaticAllocation = TRUE;
m_GraphicContext1->OwnerSystem = m_System1;

// This call will also allocate m_GraphicContext1 since
// its OwnerSystem property is m_System1 and
// its AutomaticAllocation property is set to TRUE
m_System1->Allocate();


GraphicContext.Arc Method

Arc method

See Also | Availability | MIL Equivalent | Allocate | Clear
User Guide:
Drawing an arc
Overview of graphics

Reference:
GraphicContext.DrawingRegion
GraphicContext.ForegroundColor
GraphicContext.Image
Available in ActiveMIL-Lite

Available in ActiveMIL
MgraArc()

MgraArcFill()
GraphicContext
Arc
Synopsis
Draws an arc.
[]
Syntax
object.Arc(
ByVal StartAngle As Double,
ByVal EndAngle As Double,
ByVal FillRegion As Boolean
)
[]
Syntax
void object->Arc(
double StartAngle,
double EndAngle,
VARIANT_BOOL FillRegion
)
StartAngle (optional in , default is 0.0)
A double value that specifies the angle at which to start drawing the arc. If omitted, defaults to 0.0 degrees
EndAngle (optional in , default is 360.0)
A double value that specifies the angle at which to end drawing the arc. If omitted, defaults to 360.0 degrees
FillRegion (optional in , default is False)
A boolean value that specifies whether the region covered by the arc should be filled. If omitted, defaults to False.
Value | Meaning
True | The region covered by the arc is filled.
False | The region covered by the arc is not filled.
Remarks
  • The position and size of the arc are determined by the DrawingRegion property.
  • The start and end angles are expressed in degrees, moving counter-clockwise relative to the positive x-axis.
  • The image to be affected is determined by the Image Property.
  • If part of the arc falls outside of the image, that part is clipped.
  • The graphic is drawn in the current foreground color. The foreground color is also used to fill.
[]
Example
This example shows how to use the Arc method.

m_GraphicContext1->DrawingRegion->CenterX = 100;
m_GraphicContext1->DrawingRegion->CenterY = 100;
m_GraphicContext1->Arc(0.0, 360.0, FALSE);


GraphicContext.Clear Method

Clear method

See Also | Availability | MIL Equivalent | Arc | Control
User Guide:
Preparing for graphics

Reference:
GraphicContext.BackgroundColor
GraphicContext.Image
Available in ActiveMIL-Lite

Available in ActiveMIL
MgraClear()
GraphicContext
Clear
Synopsis
Clears an image.
[]
Syntax
object.Clear()
[]
Syntax
void object->Clear()
Remark
  • This method uses the color specified in the ForegroundColor or ForegroundShade property, and clears the image specified in its Image property.
[]
Example
This example shows how to Clear an image.

GraphicContext1.ForegroundColor = System.Drawing.Color.FromArgb(11, 22, 33)
GraphicContext1.Clear()
[]
Example
This example shows how to Clear an image.

m_GraphicContext1->ForegroundColor = RGB(11, 22, 33);
m_GraphicContext1->Clear();


GraphicContext.Control Method

Control method

See Also | Availability | MIL Equivalent | Clear | Cross
Reference:
GraphicContext.Inquire
Available in ActiveMIL-Lite

Available in ActiveMIL
MgraControl()
GraphicContext
Control
Synopsis
Controls the attributes of the GraphicContext control.
[]
Syntax
object.Control(
ByVal ControlType As GraInquireAndControlConstants,
ByVal ControlValue As Integer
)
[]
Syntax
void object->Control(
enum GraInquireAndControlConstants ControlType,
const _variant_t & ControlValue
)
ControlType
A GraInquireAndControlConstants expression that specifies the attribute to be modified.
Value | Meaning
graBackColor+graRed | Set the red color component of the background color.
graBackColor+graGreen | Set the green color component of the background color.
graBackColor+graBlue | Set the blue color component of the background color.
graColor+graRed | Set the red color component of the foreground color.
graColor+graGreen | Set the green color component of the foreground color.
graColor+graBlue | Set the blue color component of the foreground color.
ControlValue
A long value that specifies the new value to be set.

Remarks
  • Set the ControlValue parameter, according to the depth (per band) of the image associated with the GraphicContext control.
  • When using the GraphicContext control to draw in an 8-bit, 3-band image, set the ControlValue parameter to an RGB value using your environment's RGB() function. The ControlType parameter should be set to graColor or graBackColor. The red, green, and blue values must be values between 0 and 255, inclusive.
  • You can also set the color components of 16-bit and 32-bit images. Note that only the Control method provides a way to set the color components independently.
  • When drawing in a 16-bit or 32-bit multi-band image, the components of the RGB value are cast to the type of the destination image's band.


GraphicContext.Cross Method

Cross method

See Also | Availability | MIL Equivalent | Control | Dot
User Guide:
Drawing a cross
Overview of graphics

Reference:
GraphicContext.DrawingRegion
GraphicContext.ForegroundColor
GraphicContext.Image
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
GraphicContext
Cross
Synopsis
Draws a cross.
[]
Syntax
object.Cross(
ByVal Angle As Double
)
[]
Syntax
void object->Cross(
double Angle
)
Angle (optional in , default is 0.0)
A double value that specifies the angle at which to draw the cross.
Remarks
  • The position and size of the cross are determined by the DrawingRegion property.
  • The image to be affected is determined by the Image Property.
  • If part of the cross falls outside of the image, that part is clipped off.
  • The graphic is drawn in the current foreground color.
[]
Example
This example shows how to draw a Cross.

double Angle = 45.0;

m_GraphicContextCross->DrawingRegion->CenterX = 100;
m_GraphicContextCross->DrawingRegion->CenterY = 200;
m_GraphicContextCross->Cross(Angle);


GraphicContext.Dot Method

Dot method

See Also | Availability | MIL Equivalent | Cross | Dots
User Guide:
Overview of graphics

Reference:
GraphicContext.DrawingRegion
GraphicContext.ForegroundColor
GraphicContext.Image
Available in ActiveMIL-Lite

Available in ActiveMIL
MgraDot()
GraphicContext
Dot
Synopsis
Draws a single-pixel dot.
[]
Syntax
object.Dot()
[]
Syntax
void object->Dot()
Remarks
  • The StartX and StartY properties of the DrawingRegion property determine the position of the dot.
  • The image to be affected is determined by the Image Property.
  • If the coordinates are not valid in the image, nothing will be drawn.
  • The graphic is drawn in the current foreground color.


GraphicContext.Dots Method

Dots method

See Also | Availability | MIL Equivalent | Dot | Fill
User Guide:
Overview of graphics

Reference:
Calibration.ConvertCoordinateListWorldToPixel
Calibration.ConvertCoordinateWorldToPixel
GraphicContext.Dot
GraphicContext.DrawingRegion
GraphicContext.ForegroundColor
GraphicContext.Image
Available in ActiveMIL-Lite

Available in ActiveMIL
MgraDots()
GraphicContext
Dots
Synopsis
Draw one or more single-pixel dots.
[]
Syntax
object.Dots(
ByVal PosXArray As Array,
ByVal PosYArray As Array
)
[]
Syntax
void object->Dots(
VARIANT * PosXArray,
VARIANT * PosYArray
)
PosXArray
An array of type longintegerlong (integer for Visual Basic .Net) that contains the X-coordinate(s) of the dots to draw.

PosYArray
An array of type longintegerlong (integer for Visual Basic .Net) that contains the Y-coordinate(s) of the dots to draw.

Remarks
  • The dots are drawn in the image specified by the Image property.
  • Each given coordinate is relative to the top-left corner of the destination image. If the coordinates are not valid in the image, nothing will be drawn.
  • The graphic is drawn in the current foreground color.
  • PosXArray and PosYArray accept only pixel coordinates. To draw in a calibrated image using real-world coordinates, you must first convert the coordinates from their real-world value to their pixel value using the ConvertCoordinateWorldToPixel method or ConvertCoordinateListWorldToPixel method.


GraphicContext.Fill Method

Fill method

See Also | Availability | MIL Equivalent | Dots | Free
User Guide:
Filling an object
Overview of graphics

Reference:
GraphicContext.DrawingRegion
GraphicContext.ForegroundColor
GraphicContext.Image
Available in ActiveMIL-Lite

Available in ActiveMIL
MgraFill()
GraphicContext
Fill
Synopsis
Performs a boundary-type seed fill.
[]
Syntax
object.Fill()
[]
Syntax
void object->Fill()
Remarks
  • The StartX and StartY properties of the DrawingRegion property determine the seed position.
  • The image to be affected is determined by the Image Property.
  • This operation will fill in an area of the image with the foreground color, starting from the specified seed position. It is performed on pixels vertically and horizontally adjacent to the original seed pixel, if they have the same value as the seed pixel.
  • If the coordinates are not within an enclosed area, filling occurs until the boundaries of the image are encountered. If the coordinates are not valid in the image, the operation is not performed.
[]
Example
This example shows how to perform a boundary-type seed fill on an image.

GraphicContext1.ForegroundColor = System.Drawing.Color.FromArgb(11, 22, 33)
GraphicContext1.Image = DisplayedImage

GraphicContext1.DrawingRegion.StartX = 10
GraphicContext1.DrawingRegion.StartY = 10

GraphicContext1.Fill()
[]
Example
This example shows how to perform a boundary-type seed fill on an image.

m_GraphicContext1->ForegroundColor = RGB(11, 22, 33);
m_GraphicContext1->Image = m_DisplayedImage;
m_GraphicContext1->DrawingRegion->StartX = 10;
m_GraphicContext1->DrawingRegion->StartY = 10;
m_GraphicContext1->Fill();


GraphicContext.Free Method

Free method

See Also | Availability | MIL Equivalent | Fill | Inquire
User Guide:
Setting up controls

Reference:
GraphicContext.Allocate
GraphicContext.AutomaticAllocation
Available in ActiveMIL-Lite

Available in ActiveMIL
MgraFree()
GraphicContext
Free
Synopsis
Frees the resources of the GraphicContext control.
[]
Syntax
object.Free()
[]
Syntax
void object->Free()
Remarks
  • The resources of the GraphicContext control are automatically freed when the control is destroyed. You must use the Free method if you want to free the control, prematurely.
  • To determine the allocation state of a control, use the IsAllocated property. While a GraphicContext control is in the allocated state, some of its properties cannot be changed at run-time (for example, you cannot change the owner system of the control). At run-time, to modify a property that cannot be changed after allocation, you must free the control (using the Free method), change its property(ies), and then re-allocate the control (using the Allocate method). For example, at run-time, to change the owner system of the control, you must free the GraphicContext control, make the change in the OwnerSystem property, and allocate the control again.
  • The Free method will generate an error if the control is not allocated.
  • Any property can be changed when its control is in the allocated state, unless it is otherwise stated in the Remarks section of that property.
[]
Example
This example shows how to use the Free method.

If GraphicContext1.IsAllocated Then
    GraphicContext1.Free()
End If
[]
Example
This example shows how to use the Free method.

if (m_GraphicContext1->IsAllocated)
   m_GraphicContext1->Free();


GraphicContext.Inquire Method

Inquire method

See Also | Availability | MIL Equivalent | Free | LineSegment
Reference:
GraphicContext.Control
Available in ActiveMIL-Lite

Available in ActiveMIL
MgraInquire()
GraphicContext
Inquire
Synopsis
Inquires about the attributes of the GraphicContext control.
[]
Syntax
[Object =] object.Inquire(
ByVal ParamToInquire As GraInquireAndControlConstants
)
[]
Syntax
[_variant_t =] object->Inquire(
enum GraInquireAndControlConstants ParamToInquire
)
ParamToInquire
A GraInquireAndControlConstants expression that specifies the attribute to inquire about.
Value | Meaning
graBackColor+ graRed | The red color component of the background color.
graBackColor+ graGreen | The green color component of the background color.
graBackColor+ graBlue | The blue color component of the background color.
graColor+ graRed | The red color component of the foreground color.
graColor+ graGreen | The green color component of the foreground color.
graColor+ graBlue | The blue color component of the foreground color.
Return value
The current value assigned to the attribute that is inquired about.


GraphicContext.LineSegment Method

LineSegment method

See Also | Availability | MIL Equivalent | Inquire | LineSegments
User Guide:
Overview of graphics

Reference:
GraphicContext.DrawingRegion
GraphicContext.ForegroundColor
GraphicContext.Image
Available in ActiveMIL-Lite

Available in ActiveMIL
MgraLine()
GraphicContext
LineSegment
Synopsis
Draws a line segment.
[]
Syntax
object.LineSegment()
[]
Syntax
void object->LineSegment()
Remarks
  • The line segment is drawn between the points represented by the DrawingRegion property's StartX, StartY and EndX, EndY properties.
  • The image to be affected is determined by the Image Property.
  • The line is plotted in function of the specified coordinates, even if they lie outside the image. If the coordinates are not valid in the image, the part of the line segment that falls outside of the image is clipped off.
  • The graphic is drawn in the current foreground color.
[]
Example
This example shows how to draw a LineSegment on an image.

GraphicContext1.ForegroundColor = System.Drawing.Color.FromArgb(11, 22, 33)
GraphicContext1.Image = DisplayedImage

GraphicContext1.DrawingRegion.StartX = 10
GraphicContext1.DrawingRegion.StartY = 10
GraphicContext1.DrawingRegion.EndX = 100
GraphicContext1.DrawingRegion.EndY = 100

GraphicContext1.LineSegment()
[]
Example
This example shows how to draw a LineSegment on an image.

m_GraphicContext1->ForegroundColor = RGB(11, 22, 33);
m_GraphicContext1->Image = m_DisplayedImage;
m_GraphicContext1->DrawingRegion->StartX = 10;
m_GraphicContext1->DrawingRegion->StartY = 10;
m_GraphicContext1->DrawingRegion->EndX = 100;
m_GraphicContext1->DrawingRegion->EndY = 100;
m_GraphicContext1->LineSegment();


GraphicContext.LineSegments Method

LineSegments method

See Also | Availability | MIL Equivalent | LineSegment | Modified
User Guide:
Overview of graphics

Reference:
Calibration.ConvertCoordinateListWorldToPixel
Calibration.ConvertCoordinateWorldToPixel
GraphicContext.DrawingRegion
GraphicContext.ForegroundColor
GraphicContext.Image
GraphicContext.LineSegment
Available in ActiveMIL-Lite

Available in ActiveMIL
MgraLines()
GraphicContext
LineSegments
Synopsis
Draw one or more line segments.
[]
Syntax
object.LineSegments(
ByVal StartXArray As Array,
ByVal StartYArray As Array,
ByVal EndXArray As Array,
ByVal EndYArray As Array
)
[]
Syntax
void object->LineSegments(
VARIANT * StartXArray,
VARIANT * StartYArray,
VARIANT * EndXArray,
VARIANT * EndYArray
)
StartXArray
An array of type longintegerlong (integer for Visual Basic .Net) that contains the X-coordinate(s) of the start of the line segments.

StartYArray
An array of type longintegerlong (integer for Visual Basic .Net) that contains the Y-coordinate(s) of the start of the line segments.

EndXArray
An array of type longintegerlong (integer for Visual Basic .Net) that contains the X-coordinate(s) of the end of the line segments.

EndYArray
An array of type longintegerlong (integer for Visual Basic .Net) that contains the Y-coordinate(s) of the end of the line segments.

Remarks
  • The lines are drawn in the image specified by the Image property.
  • Each given coordinate is relative to the top-left corner of the destination image.
  • The line is plotted in function of the specified coordinates, even if they lie outside the image. If the coordinates are not valid in the image, the part of the line segment that falls outside of the image is clipped off.
  • The graphic is drawn in the current foreground color.
  • StartXArray, StartYArray, EndXArray and EndYArray accept only pixel coordinates. To draw in a calibrated image using real-world coordinates, you must first convert the coordinates from their real-world value to their pixel value using the ConvertCoordinateWorldToPixel method or ConvertCoordinateListWorldToPixel method.


GraphicContext.Modified Method

Modified method

See Also | Availability | MIL Equivalent | LineSegments | Rectangle
User Guide:
Integrating MIL functions with your ActiveMIL code

Reference:
GraphicContext.MilID
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
GraphicContext
Modified
Synopsis
Informs the GraphicContext control that Native MIL calls were made on its resources.
[]
Syntax
object.Modified(
ByVal ModificationType As Integer
)
[]
Syntax
void object->Modified(
long ModificationType
)
ModificationType (optional in , default is amilDefault)
A long value that specifies the modification type.
Value | Meaning
amilDefault | Specifies that native MIL calls were used to modify the contents of the GraphicContext control.
Remark
  • The Modified method should be called after performing a Native MIL Mgra...() function on the resources of the GraphicContext control. This ensures that all properties of the GraphicContext control are updated to match their state in MIL.


GraphicContext.Rectangle Method

Rectangle method

See Also | Availability | MIL Equivalent | Modified | ShowPropertyPages
User Guide:
Overview of graphics

Reference:
GraphicContext.DrawingRegion
GraphicContext.ForegroundColor
GraphicContext.Image
Available in ActiveMIL-Lite

Available in ActiveMIL
MgraRect()

MgraRectFill()
GraphicContext
Rectangle
Synopsis
Draws a rectangle.
[]
Syntax
object.Rectangle(
ByVal FillRegion As Boolean,
ByVal Angle As Double
)
[]
Syntax
void object->Rectangle(
VARIANT_BOOL FillRegion,
double Angle
)
FillRegion (optional in , default is False)
A boolean value that specifies whether the rectangle should be filled. If omitted, defaults to False.
Value | Meaning
True | The rectangle is filled
False | The rectangle is not filled.
Angle (optional in , default is 0.0)
A double value that specifies the angle at which to draw the rectangle. The angle is measured in degrees and the point of origin is the center of the rectangle.
Remarks
  • The position and size of the rectangle are determined by the DrawingRegion property.
  • The image to be affected is determined by the Image Property.
  • If the coordinates are not valid in the image, the part of the rectangle that falls outside of the image is clipped off.
  • The graphic is drawn in the current foreground color. The foreground color is also used to fill.
[]
Example
This example shows how to draw an unfilled Rectangle.

double Angle = 45.0;

m_GraphicContextRectangle->DrawingRegion->CenterX = 100;
m_GraphicContextRectangle->DrawingRegion->CenterY = 200;
m_GraphicContextRectangle->Rectangle(FALSE, Angle);


GraphicContext.ShowPropertyPages Method

ShowPropertyPages method

Availability | MIL Equivalent | Rectangle | Text
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
GraphicContext
ShowPropertyPages
Synopsis
Opens the specified property pages of the Graphic Context control in a window.
[]
Syntax
object.ShowPropertyPages(
ByVal Pages As GraPropertyPagesConstants,
ByVal Caption As String,
ByVal hWndParent As Integer,
ByVal Reserved As Boolean
)
[]
Syntax
void object->ShowPropertyPages(
enum GraPropertyPagesConstants Pages,
_bstr_t Caption,
long hWndParent,
VARIANT_BOOL Reserved
)
Pages
A GraPropertyPagesConstants expression that specifies the page(s) to display. You can add the following constants together to display multiple pages.
Value | Meaning
graGeneralPropertyPage | Display the GraphicContext control's General property page.
graROIPropertyPage | Display the GraphicContext control's Region of Interest property page.
graColorsPropertyPage | Display the GraphicContext control's Colors property page.
graHistoryPropertyPage | Display the GraphicContext control's History property page.
graAllPropertyPages | Display all of the GraphicContext control's available property pages.
Caption (optional in , default is "")
A string value that specifies the caption for the property pages window. The default is an empty string, in which case a generic caption will be displayed.
hWndParent (optional in , default is 0)
A long value that specifies the window handle (HWND) of the property pages window's parent. The property pages window will be modal in relation to its parent window.
Reserved (optional in , default is True)
This parameter is reserved for future use. True is the only value available.
Value | Meaning
True | Meaning to be determined. This setting must always be used.
Remarks
  • If the GraphicContext control is created at design-time, the .NET ActiveX Control Importer (AxImp.exe) renames this ActiveMIL method from ShowPropertyPages() to CtlShowPropertyPages() to avoid name clashing with the ShowPropertyPages() method of the .NET Windows Form control. See the Windows Forms ActiveX Control Importer (AxImp.exe) topic in MSDN for more information. In addition, if the control is created at run-time with the AxMatrox.ActiveMIL.* namespace, you must use CtlShowPropertyPages() to call the ActiveMIL ShowPropertyPages() method.
  • This method is used to display the property pages so that properties can be set interactively at run-time.
  • This method will disable property page elements corresponding to properties that cannot be changed due to the current state of the control. For example, if a property cannot be changed while its control is in the allocated state, and the control is allocated, the corresponding element in the property page will be disabled. To change this property, call the Free method first.


GraphicContext.Text Method

Text method

See Also | Availability | MIL Equivalent | ShowPropertyPages
User Guide:
Overview of graphics
Writing text

Reference:
GraphicContext.BackgroundColor
GraphicContext.BackgroundMode
GraphicContext.DrawingRegion
GraphicContext.Font
GraphicContext.FontScaleX
GraphicContext.FontScaleY
GraphicContext.ForegroundColor
GraphicContext.Image
Available in ActiveMIL-Lite

Available in ActiveMIL
MgraText()
GraphicContext
Text
Synopsis
Writes text.
[]
Syntax
object.Text(
ByVal OutputString As String
)
[]
Syntax
void object->Text(
_bstr_t OutputString
)
OutputString
A string expression that specifies the text to be written.
Remarks
  • If the GraphicContext control is created at design-time, the .NET ActiveX Control Importer (AxImp.exe) renames this ActiveMIL method from Text() to CtlText() to avoid name clashing with the Text() method of the .NET Windows Form control. See the Windows Forms ActiveX Control Importer (AxImp.exe) topic in MSDN for more information. In addition, if the control is created at run-time with the AxMatrox.ActiveMIL.* namespace, you must use CtlText() to call the ActiveMIL Text() method.
  • The positioning of the text is determined by the StartX and StartY properties of the DrawingRegion property.
  • The font and size of the text are determined by the Font property and the FontScaleX and FontScaleY properties.
  • The image to be affected is determined by the Image Property.
  • If part of the text falls outside of the drawing region, that part is clipped.
  • The text is written in the current foreground color.
  • The text is written on the current background color if BackgroundMode is opaque.
[]
Example
This example shows how to write text in images using the Text method.

m_GraphicContext1->DrawingRegion->StartX = (m_ChildImage1->SizeX / 4) + 1;
m_GraphicContext1->DrawingRegion->StartY = m_ChildImage1->SizeY / 2;
m_GraphicContext1->Text("Source");

m_GraphicContext2->DrawingRegion->StartX = (m_ChildImage2->SizeX / 4) - 7;
m_GraphicContext2->DrawingRegion->StartY = m_ChildImage2->SizeY / 2;
m_GraphicContext2->Text("Destination");


Image control

Availability
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Synopsis
Allows you to allocate and operate on images. Operations include: loading an image from a file, saving an image in a file, and transferring image data.

Structure
Image |  | Properties: AllocationOverscanSize, AutomaticAllocation, Band, CalibrationInfo, Calibration, CalibrationName, CanDisplay, CanGrab, CanProcess, ChildRegion, CompressionType, ContentModifiedEvent, DataDepth, DataSize, DataType, FastOverscanEnabled, FileFormat, Format, GammaCorrectionExponents, HostAddress, IsAllocated, JPEGAlgorithm, JPEG2000Algorithm, Location, LUTEnabled, LUT, MaximumPixelValue, MappingToHostMemoryEnabled, MinimumPixelValue, MilID, ModificationCount, Name, NumberOfBands, OnBoardMemoryLocation, OwnerSystem, OwnerSystemName, ParentImage, ParentImageName, PhysicalAddress, PitchByte, PropertyValidation, SizeX, SizeY, WhiteBalanceCoefficients Methods: Allocate, AssignMemory, Bayer, Clear, Clone, Control, CopyClip, CopyConditional, CopyMask, CopyRegion, CopyToClipboard, Copy, FileInquire, Free, GetLine, Get, Inquire, Load, Modified, PasteFromClipboard, PutLine, Put, Save, ShowPropertyPages Event: ContentModified
 | CalibrationInfo | Properties: CameraPositionX, CameraPositionY, CorrectionState, RelativeOriginAngle, RelativeOriginX, RelativeOriginY
 | ChildRegion | Properties: CenterX, CenterY, EndX, EndY, FullSize, Mode, OffsetX, OffsetY, SizeX, SizeY, StartX, StartY Method: Move
 | JPEGAlgorithm | Properties: HuffmanAC, HuffmanDC, Predictor, QFactor, Quantization, RestartInterval
 | JPEG2000Algorithm | Properties: DecompositionLevel, NumberOfSubband, QFactor, Quantization, TargetSize
 | LUT | Properties: DataDepth, DataType, MaximumPixelValue, MilID, MinimumPixelValue, NumberOfBands, Size Methods: GenerateColor, GenerateFunction, GenerateRamp, Get, Put


Image.AllocationOverscanSize Property

AllocationOverscanSize property

See Also | Availability | MIL Equivalent | AutomaticAllocation
Reference:
System.AllocationOverscanSize
Available in ActiveMIL-Lite

Available in ActiveMIL
MsysInquire(
InquireType =
M_ALLOCATION_OVERSCAN_SIZE
)

MbufInquire(
InquireType =
M_ALLOCATION_OVERSCAN_SIZE
)
Image
AllocationOverscanSize
Synopsis
Returns the size of the overscan region around the image, in pixels.
[]
Syntax
[Integer =] object.AllocationOverscanSize
[]
Syntax
[long =] object->AllocationOverscanSize
Type description
A long value that returns the number of 1-pixel high/wide rows/colums located on each side of the image.
Remark
  • The size of the overscan region is specified using the AllocationOverscanSize property of the System control.


Image.AutomaticAllocation Property

AutomaticAllocation property

See Also | Availability | MIL Equivalent | AllocationOverscanSize | Band
User Guide:
Setting up controls - Allocating and freeing resources

Reference:
Image.Allocate
Image.Free
Image.IsAllocated
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Image
AutomaticAllocation
Synopsis
Returns or sets whether the resources of the Image control are automatically allocated at run-time.
[]
Syntax
object.AutomaticAllocation [= Boolean]
[]
Syntax
object->AutomaticAllocation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the control's automatic allocation.
Value | Meaning
True | The control will be allocated automatically at run-time.
False | The control must be allocated explicitly, using the Allocate method.
Remarks
  • When the AutomaticAllocation property is False, an explicit call to the Allocate method is required. You can get the allocation state of the control by reading its IsAllocated property.
  • The default value is True for controls created at design-time, and False for controls created at run-time (for example, created with the CreateObject method of the Application control).
  • When this property is set to True, automatic allocation will occur when the owner system of the Image control is allocated. For example, if System1 is set as the owner system of Image1, and System1 is not allocated, then Image1 will not be allocated, even if its AutomaticAllocation property is set to True. When System1 is allocated (with the Allocate method), Image1 will be allocated automatically if its AutomaticAllocation property is set to True.
  • The resources of the control will be freed automatically when the control is destroyed.
[]
Example
This example demonstrates how to set up this control so that it is automatically allocated when its owner System control is allocated.

Image2.AutomaticAllocation = True
Image2.ParentImage = Image1

Image1.AutomaticAllocation = True
Image1.OwnerSystem = System1

' After this call Image1, Image2 and System1 will be in the allocated state.
System1.Allocate()
[]
Example
This example demonstrates how to set up this control so that it is automatically allocated when its owner System control is allocated.

m_Image2->AutomaticAllocation = TRUE;
m_Image2->ParentImage = m_Image1;

m_Image1->AutomaticAllocation = TRUE;
m_Image1->OwnerSystem = m_System1;

// After this call m_Image1, m_Image2 and m_System1
// will be in the allocated state.
m_System1->Allocate();


Image.Band Property

Band property

See Also | Availability | MIL Equivalent | AutomaticAllocation | CalibrationInfo
User Guide:
Child images

Reference:
Image.NumberOfBands
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufChildColor(Band)

MbufChildColor2d(Band)
Image
Band
Synopsis
Returns or sets the band(s) of the parent image from which to allocate a child image.
[]
Syntax
object.Band [= ImBandConstants]
[]
Syntax
object->Band [= enum ImBandConstants]
Type description
An ImBandConstants expression that specifies the band(s) to use.
Value | Meaning
imRed | Uses only the red band.
imGreen | Uses only the green band.
imBlue | Uses only the blue band.
imAllBands | Uses all bands (default value).
imHue | Uses only the hue band (for HLS).
imLuminance | Uses only the luminance band (for HLS).
imSaturation | Uses only the saturation band (for HLS).
imY | Uses only the Y band (for YUV).
imU | Uses only the U band (for YUV).
imV | Uses only the V band (for YUV).
value | Specifies the index of the band to use. (0... NumberOfBands-1)
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • Applies only to child images.
  • This property must be set to imAllBands if the CompressionType property of the parent image is not set to imUncompressed.
  • If you allocate the child image from the U band or the V band of the parent image, you must ensure that the child dimensions do not exceed the parent's U or V dimensions.
  • Note that band 0 corresponds to: the red band (for RGB parent image), the hue band (for HLS parent image) and the Y band (for YUV parent image). Band 1 corresponds to: the green band (for RGB parent image), the luminance band (for HLS parent image) and the U band (for YUV parent image). Band 2 corresponds to: the blue band (for RGB parent image), the saturation band (for HLS parent image) and the V band (for YUV parent image).


Image.Calibration Property

Calibration property

See Also | Availability | MIL Equivalent | CalibrationInfo | CalibrationName
User Guide:
Automatically getting results in real-world units

Reference:
Image.CalibrationInfo.CameraPositionX
Image.CalibrationInfo.CameraPositionY
Image.CalibrationInfo.CorrectionState
Image.CalibrationInfo.RelativeOriginAngle
Image.CalibrationInfo.RelativeOriginX
Image.CalibrationInfo.RelativeOriginY
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalAssociate()
Image
Calibration
Synopsis
Returns or sets the Calibration control to associate to the image.
[]
Syntax
object.Calibration [= Calibration]
[]
Syntax
object->Calibration [= ICalibrationPtr]
Type description
A Calibration control that specifies how to calibrate the image.
Remarks
  • Note that the Calibration control gets associated to the image data, not to the Image control containing the image. This implies that the destination image of an operation receives the same Calibration control as the source image (if any).
  • []
     Use the Visual Basic Is Nothing statement to confirm that this property is currently not associated with a control.
  • []
     To remove the reference to the current control without assigning a new control, set the property to Nothing.
  • []
     To remove the reference to the current control without assigning a new control, set the property to NULL.
  • The Calibration control can also be specified, with the name assigned to its control, using the CalibrationName property.
  • This property automatically sets the CalibrationName property
[]
Example
This example sets the Calibration property.

m_Image1->Calibration = m_Calibration1;


Image.CalibrationInfo Property

CalibrationInfo property

See Also | Availability | MIL Equivalent | Band | Calibration
User Guide:
Calibration control overview

Reference:
Image.Calibration
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalInquire(
InquireType =
M_CAMERA_POSITION_X or
M_CAMERA_POSITION_Y or
M_CORRECTION_STATE or
M_RELATIVE_ORIGIN_ANGLE or
M_RELATIVE_ORIGIN_X or
M_RELATIVE_ORIGIN_Y
)
Image
CalibrationInfo
Properties: CameraPositionX, CameraPositionY, CorrectionState, RelativeOriginAngle, RelativeOriginX, RelativeOriginY
Synopsis
Allows you to inquire about the calibration settings of an image.
[]
Syntax
[ImageCalibrationInfo =] object.CalibrationInfo
[]
Syntax
[IImageCalibrationInfoPtr =] object->CalibrationInfo
Type description
An ImageCalibrationInfo object.


Image.CalibrationInfo.CameraPositionX Property

CameraPositionX property

See Also | Availability | MIL Equivalent | CameraPositionY
Reference:
Calibration.CameraPosition
Calibration.CameraPosition.X
Calibration.CameraPosition.Y
Image.Calibration
Image.CalibrationInfo
Image.CalibrationInfo.CameraPositionY
Image.CalibrationInfo.CorrectionState
Image.CalibrationInfo.RelativeOriginAngle
Image.CalibrationInfo.RelativeOriginX
Image.CalibrationInfo.RelativeOriginY
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalInquire(
InquireType =
M_CAMERA_POSITION_X
)
Image
CalibrationInfo
CameraPositionX
Synopsis
Returns the relative X-position of the camera.
[]
Syntax
[Double =] object.CameraPositionX
[]
Syntax
[double =] object->CameraPositionX
Type description
A double value that returns the relative X-position of the camera.
Remark
  • This value is relative to the origin of the camera position of the image's calibration control.


Image.CalibrationInfo.CameraPositionY Property

CameraPositionY property

See Also | Availability | MIL Equivalent | CameraPositionX | CorrectionState
Reference:
Calibration.CameraPosition
Calibration.CameraPosition.X
Calibration.CameraPosition.Y
Image.Calibration
Image.CalibrationInfo
Image.CalibrationInfo.CameraPositionX
Image.CalibrationInfo.CorrectionState
Image.CalibrationInfo.RelativeOriginAngle
Image.CalibrationInfo.RelativeOriginX
Image.CalibrationInfo.RelativeOriginY
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalInquire(
InquireType =
M_CAMERA_POSITION_Y
)
Image
CalibrationInfo
CameraPositionY
Synopsis
Returns the relative Y-position of the camera.
[]
Syntax
[Double =] object.CameraPositionY
[]
Syntax
[double =] object->CameraPositionY
Type description
A double value that returns the relative Y-position of the camera.
Remark
  • This value is relative to the origin of the camera position of the image's calibration control.


Image.CalibrationInfo.CorrectionState Property

CorrectionState property

See Also | Availability | MIL Equivalent | CameraPositionY | RelativeOriginAngle
Reference:
Calibration.CorrectImage
Calibration.IsCalibrated
Image.Calibration
Image.CalibrationInfo
Image.CalibrationInfo.CameraPositionX
Image.CalibrationInfo.CameraPositionY
Image.CalibrationInfo.RelativeOriginAngle
Image.CalibrationInfo.RelativeOriginX
Image.CalibrationInfo.RelativeOriginY
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalInquire(
InquireType =
M_CORRECTION_STATE
)
Image
CalibrationInfo
CorrectionState
Synopsis
Returns whether the image has been physically transformed using the Calibration.CorrectImage method.
[]
Syntax
[Boolean =] object.CorrectionState
[]
Syntax
[VARIANT_BOOL =] object->CorrectionState
Type description
A boolean value that specifies the correction state.
Value | Meaning
True | The image is corrected.
False | The image is not corrected.


Image.CalibrationInfo.RelativeOriginAngle Property

RelativeOriginAngle property

See Also | Availability | MIL Equivalent | CorrectionState | RelativeOriginX
Reference:
Calibration.RelativeOrigin
Calibration.RelativeOrigin.Angle
Calibration.RelativeOrigin.Reset
Calibration.RelativeOrigin.X
Calibration.RelativeOrigin.Y
Image.Calibration
Image.CalibrationInfo
Image.CalibrationInfo.CameraPositionX
Image.CalibrationInfo.CameraPositionY
Image.CalibrationInfo.CorrectionState
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalInquire(
InquireType =
M_RELATIVE_ORIGIN_ANGLE
)
Image
CalibrationInfo
RelativeOriginAngle
Synopsis
Returns the angle, in degrees, at which the relative coordinate system is orientated.
[]
Syntax
[Double =] object.RelativeOriginAngle
[]
Syntax
[double =] object->RelativeOriginAngle
Type description
A double value that returns the angle of the relative coordinate system.


Image.CalibrationInfo.RelativeOriginX Property

RelativeOriginX property

See Also | Availability | MIL Equivalent | RelativeOriginAngle | RelativeOriginY
Reference:
Calibration.RelativeOrigin
Calibration.RelativeOrigin.Angle
Calibration.RelativeOrigin.Reset
Calibration.RelativeOrigin.X
Calibration.RelativeOrigin.Y
Image.Calibration
Image.CalibrationInfo
Image.CalibrationInfo.CameraPositionX
Image.CalibrationInfo.CameraPositionY
Image.CalibrationInfo.CorrectionState
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalInquire(
InquireType =
M_RELATIVE_ORIGIN_X
)
Image
CalibrationInfo
RelativeOriginX
Synopsis
Returns the X-coordinate of the origin of the relative coordinate system.
[]
Syntax
[Double =] object.RelativeOriginX
[]
Syntax
[double =] object->RelativeOriginX
Type description
A double that returns the X-coordinate of the origin of the relative coordinate system in world units.


Image.CalibrationInfo.RelativeOriginY Property

RelativeOriginY property

See Also | Availability | MIL Equivalent | RelativeOriginX
Reference:
Calibration.RelativeOrigin
Calibration.RelativeOrigin.Angle
Calibration.RelativeOrigin.Reset
Calibration.RelativeOrigin.X
Calibration.RelativeOrigin.Y
Image.Calibration
Image.CalibrationInfo
Image.CalibrationInfo.CameraPositionX
Image.CalibrationInfo.CameraPositionY
Image.CalibrationInfo.CorrectionState
Not available in ActiveMIL-Lite

Available in ActiveMIL
McalInquire(
InquireType =
M_RELATIVE_ORIGIN_Y
)
Image
CalibrationInfo
RelativeOriginY
Synopsis
Returns the Y-coordinate of the origin of the relative coordinate system.
[]
Syntax
[Double =] object.RelativeOriginY
[]
Syntax
[double =] object->RelativeOriginY
Type description
A double that returns the Y-coordinate of the origin of the relative coordinate system in world units.


Image.CalibrationName Property

CalibrationName property

See Also | Availability | MIL Equivalent | Calibration | CanDisplay
User Guide:
Automatically getting results in real-world units

Reference:
Image.CalibrationInfo.CameraPositionX
Image.CalibrationInfo.CameraPositionY
Image.CalibrationInfo.CorrectionState
Image.CalibrationInfo.RelativeOriginAngle
Image.CalibrationInfo.RelativeOriginX
Image.CalibrationInfo.RelativeOriginY
Available in ActiveMIL-Lite

Available in ActiveMIL
McalAssociate()
Image
CalibrationName
Synopsis
Returns or sets the Calibration control to associate with the image.
[]
Syntax
object.CalibrationName [= String]
[]
Syntax
object->CalibrationName [= _bstr_t]
Type description
A string expression that specifies the name of the Calibration control to use to calibrate the image.
Remarks
  • Note that the Calibration control gets associated to the image data, not to the Image control containing the image. This implies that the destination image of an operation receives the same Calibration control as the source image (if any).
  • To remove the reference to the current control without assigning a new control, specify an empty string ("").
  • The Calibration control can also be specified using the Calibration property.
  • This property automatically sets the Calibration property.


Image.CanDisplay Property

CanDisplay property

See Also | Availability | MIL Equivalent | CalibrationName | CanGrab
User Guide:
Child images
Displaying an image-overview
Intended usage

Reference:
Image.CanGrab
Image.CanProcess
Image.Location
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
MbufAlloc1d(
Attribute =
M_IMAGE +
M_DISP
)

MbufAlloc2d(
Attribute =
M_IMAGE +
M_DISP
)

MbufAllocColor(
Attribute =
M_IMAGE +
M_DISP
)

MbufInquire(
InquireType =
M_ATTRIBUTE
)
Image
CanDisplay
Synopsis
Returns or sets whether an image can be displayed.
[]
Syntax
object.CanDisplay [= Boolean]
[]
Syntax
object->CanDisplay [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the image can be displayed.
Value | Meaning
True | The image can be displayed.
False | The image cannot be displayed.
Remarks
  • This property cannot be set at run-time if the Image control is in the allocated state.
  • This property is read-only when the image is a child image. A child image is set using the ParentImage property.
  • When a CanDisplay image is allocated and then selected for display (using the display's Image property), two images are maintained internally: one in Host memory (or on-board processing memory) for processing purposes, the other in a frame buffer (maintained directly or through a DIB) for display purposes. These images are not necessarily the same size.
  • When the Host (or on-board processing memory) image is modified, its associated image in the frame buffer is automatically updated. When displaying an image, both the image and the display should be allocated on the same system.
  • Whether the processing version of the image is created in the Host memory or on-board processing memory is dependent on the image's Location property.
  • When allocating a CanDisplay image that is to be displayed in an auxiliary display, it is possible to override the default allocation sequence and allocate the image only in on-screen display memory. To do so, set the Image control's Location property to imOnBoard in general, or imSingle if the image's owner system has an on-board processor. Note that processing done on this type of buffer is slower.
  • Only 1 and 3-band images can have their CanDisplay property set to True.
Remarks for Matrox Genesis
  • Single-band display images with a depth greater than 16 bits cannot be allocated.
  • Three-band display images can only be allocated with 8 bits per band.
[]
Example
This example shows how to set the CanDisplay property.

NewImage->CanGrab       = TRUE;
NewImage->CanDisplay    = FALSE;
NewImage->NumberOfBands = m_Image1->NumberOfBands;
NewImage->SizeX         = m_Image1->SizeX;
NewImage->SizeY         = m_Image1->SizeY;


Image.CanGrab Property

CanGrab property

See Also | Availability | MIL Equivalent | CanDisplay | CanProcess
User Guide:
Child images
Intended usage

Reference:
Image.CanDisplay
Image.CanProcess
Image.Location
Available in ActiveMIL-Lite

Available in ActiveMIL

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Orion
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MbufAlloc1d(
Attribute =
M_IMAGE +
M_GRAB
)

MbufAlloc2d(
Attribute =
M_IMAGE +
M_GRAB
)

MbufAllocColor(
Attribute =
M_IMAGE +
M_GRAB
)

MbufInquire(
InquireType =
M_ATTRIBUTE
)
Image
CanGrab
Synopsis
Returns or sets whether an image can be used for a grab.
[]
Syntax
object.CanGrab [= Boolean]
[]
Syntax
object->CanGrab [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the image can be used for grabbing.
Value | Meaning
True | The image can be used for grabbing.
False | The image cannot be used for grabbing.
Remarks
  • This property cannot be set at run-time if the Image control is in the allocated state.
  • This property is read-only when the image is a child image. A child image is set using the ParentImage property.
  • Images with their CanGrab property set to True are allocated in non-paged memory (physically contiguous and always present); this minimizes the need for CPU intervention when a grab is performed.
  • The non-paged memory in which ActiveMIL allocates a CanGrab image depends on the image's Location property. By default, ActiveMIL allocates a CanGrab image in Host non-paged memory (memory not accessible by Windows), unless the image's owner system has an on-board processor, in which case the image is allocated on-board.
  • The maximum (total) number of CanGrab images depends on the amount of available memory at the location specified by the images' Location property. The amount of available Host non-paged memory is the amount specified at installation time.
Remark for Matrox Corona-II
  • Only 8-bit monochrome, 16-bit monochrome, and 3-band 8-bit color grab images can be allocated.
Remark for Matrox CronosPlus
  • Only 8-bit monochrome and 3-band 8-bit color grab images can be allocated.
Remark for Matrox Genesis
  • Grab images can only be allocated with 8-bits per band.
Remark for Matrox Helios XA
  • Only 8-bit monochrome, 16-bit monochrome, and 3-band 8-bit color grab images can be allocated.
Remark for Matrox Helios XCL
  • Only 8-bit monochrome, 16-bit monochrome, and 3-band 8-bit color grab images can be allocated.
Remark for Matrox Meteor-II /1394
  • The following data depths are not supported for an image: 1, 16, 32.
Remarks for Matrox Meteor-II /Camera Link
  • Only 8-bit monochrome, 16-bit monochrome, and 3-band 8-bit color grab images can be allocated.
  • The following data depths are not supported for an image: 1, 16, 32.
  • Up to 4-band color images can be allocated.
  • It is not possible to grab into a color-band child image when the image is packed.
Remarks for Matrox Meteor-II /Digital
  • Only 8-bit monochrome, 16-bit monochrome, and 3-band 8-bit color grab images can be allocated.
  • The following data depths are not supported for an image: 1, 16, 32.
  • Up to 4-band color images can be allocated.
  • It is not possible to grab into a color-band child image when the image is packed.
Remarks for Matrox Meteor-II /Multi-Channel
  • The following data depths are not supported for an image: 1, 16, 32.
  • Only 8-bit monochrome and 3-band 8-bit color grab images can be allocated.
  • It is not possible to grab into a color-band child image when the image is packed.
Remarks for Matrox Meteor-II /Standard
  • The following data depths are not supported for an image: 1, 16, 32.
  • Only 8-bit monochrome and 3-band 8-bit color grab images can be allocated.
  • It is not possible to grab into a color-band child image when the image is packed.
Remark for Matrox Morphis
  • Only 8-bit monochrome and 3-band 8-bit color grab images can be allocated.
Remark for Matrox Odyssey XA
  • Only 8-bit monochrome, 16-bit monochrome, and 3-band 8-bit color grab images can be allocated.
Remark for Matrox Odyssey XCL
  • Only 8-bit monochrome, 16-bit monochrome, and 3-band 8-bit color grab images can be allocated.
Remark for Matrox Odyssey XD
  • Only 8-bit monochrome, 16-bit monochrome, and 3-band 8-bit color grab images can be allocated.
Remarks for Matrox Orion
  • This board does not support 2 or 4 bands.
  • Only 8-bit monochrome and 3-band 8-bit color grab images can be allocated.
Remark for Matrox Solios XA
  • Only 8-bit monochrome, 16-bit monochrome, and 3-band 8-bit color grab images can be allocated.
Remark for Matrox Solios XCL
  • Only 8-bit monochrome, 16-bit monochrome, and 3-band 8-bit color grab images can be allocated.
[]
Example
This example shows how to set the CanGrab property.

NewImage->CanGrab       = TRUE;
NewImage->CanDisplay    = FALSE;
NewImage->NumberOfBands = m_Image1->NumberOfBands;
NewImage->SizeX         = m_Image1->SizeX;
NewImage->SizeY         = m_Image1->SizeY;


Image.CanProcess Property

CanProcess property

See Also | Availability | MIL Equivalent | CanGrab | ChildRegion
User Guide:
Child images
Intended usage

Reference:
Image.CanDisplay
Image.CanGrab
Available in ActiveMIL-Lite with restrictions (see remarks)

Available in ActiveMIL
MbufAlloc1d(
Attribute =
M_IMAGE +
M_PROC
)

MbufAlloc2d(
Attribute =
M_IMAGE +
M_PROC
)

MbufAllocColor(
Attribute =
M_IMAGE +
M_PROC
)

MbufInquire(
InquireType =
M_ATTRIBUTE
)
Image
CanProcess
Synopsis
Returns or sets whether an image can be used for processing.
[]
Syntax
object.CanProcess [= Boolean]
[]
Syntax
object->CanProcess [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the image can be used for processing.
Value | Meaning
True | The image can be used for processing.
False | The image cannot be used for processing.
Remarks
  • This property cannot be set at run-time if the Image control is in the allocated state.
  • This property is read-only when the Image control is a child image. A child image is set using the ParentImage property.
  • The memory in which ActiveMIL allocates a CanProcess image depends on the image's Location property. By default, ActiveMIL allocates a CanProcess image in Host memory, unless the image's owner system has an on-board processor, in which case the image is allocated in on-board processing memory.
  • The maximum (total) number of CanProcess images depends on the amount of available memory at the location specified by the images' Location property.
  • You can also set this property with ActiveMIL-Lite; however, it is not required to work under ActiveMIL-Lite.


Image.ChildRegion Property

ChildRegion property

See Also | Availability | MIL Equivalent | CanProcess | CompressionType
User Guide:
Child images

Reference:
Image.ParentImage
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufChild1d ()

MbufChild2d ()

MbufChildColor2d()

MbufInquire(
InquireType =
M_PARENT_OFFSET_X or
M_PARENT_OFFSET_Y or
M_SIZE_X or
M_SIZE_Y
)
Image
ChildRegion
Properties: CenterX, CenterY, EndX, EndY, FullSize, Mode, OffsetX, OffsetY, SizeX, SizeY, StartX, StartY

Method: Move
Synopsis
Allows you to specify or determine the child image's region within its parent.
[]
Syntax
[ChildRegion =] object.ChildRegion
[]
Syntax
[IChildRegionPtr =] object->ChildRegion
Type description
A ChildRegion object.
Remarks
  • This property applies only to child images.
  • The child image region is relative to the top-left corner of the parent image.
[]
Example
This example shows how to work with the ChildRegion property.

With ChildImage2.ChildRegion
    .SizeX = 100
    .SizeY = 125
    .OffsetX = 25
    .OffsetY = 50
End With
[]
Example
This example shows how to work with the ChildRegion property.

m_ChildImage2->ChildRegion->SizeX = 100;
m_ChildImage2->ChildRegion->SizeY = 125;
m_ChildImage2->ChildRegion->OffsetX = 25;
m_ChildImage2->ChildRegion->OffsetY = 50;


Image.ChildRegion.CenterX Property

CenterX property

See Also | Availability | MIL Equivalent | CenterY
Reference:
Image.ChildRegion.CenterY
Image.ChildRegion.SizeX
Image.ChildRegion.SizeY
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Image
ChildRegion
CenterX
Synopsis
Returns or sets the X-coordinate of the center of the child image.
[]
Syntax
object.CenterX [= Integer]
[]
Syntax
object->CenterX [= long]
Type description
A long value that specifies the X-coordinate of the center point, relative to the top-left corner of the parent image.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • At run-time, you can use the Move method to quickly displace the child image without freeing, updating, and then reallocating the control. This property will be updated automatically.
  • The center point, along with the size, defines the child image.
  • The start point (offset) and end point will be modified as a result of moving the center point.


Image.ChildRegion.CenterY Property

CenterY property

See Also | Availability | MIL Equivalent | CenterX | EndX
Reference:
Image.ChildRegion.CenterX
Image.ChildRegion.SizeX
Image.ChildRegion.SizeY
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Image
ChildRegion
CenterY
Synopsis
Returns or sets the Y-coordinate of the center of the child image.
[]
Syntax
object.CenterY [= Integer]
[]
Syntax
object->CenterY [= long]
Type description
A long value that specifies the Y-coordinate of a center point, relative to the top-left corner of the parent image.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • At run-time, you can use the Move method to quickly displace the child image without freeing, updating, and then reallocating the control. This property will be updated automatically.
  • The center point, along with the size, defines the child image.
  • The start point (offset) and end point will be modified as a result of moving the center point.


Image.ChildRegion.EndX Property

EndX property

See Also | Availability | MIL Equivalent | CenterY | EndY
Reference:
Image.ChildRegion.EndY
Image.ChildRegion.StartX
Image.ChildRegion.StartY
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Image
ChildRegion
EndX
Synopsis
Returns or sets the X-coordinate of the end point of a child image.
[]
Syntax
object.EndX [= Integer]
[]
Syntax
object->EndX [= long]
Type description
A long value that specifies the X-coordinate of an end point, relative to the top-left corner of the parent image.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • At run-time, you can use the Move method to quickly displace the child image without freeing, updating, and then reallocating the control. This property will be updated automatically.
  • The start point (offset) and end point define the region occupied by the child image.
  • The center point, as well as the size, will be modified as a result of moving the end point.


Image.ChildRegion.EndY Property

EndY property

See Also | Availability | MIL Equivalent | EndX | FullSize
Reference:
Image.ChildRegion.EndX
Image.ChildRegion.StartX
Image.ChildRegion.StartY
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Image
ChildRegion
EndY
Synopsis
Returns or sets the Y-coordinate of the end point of a child image.
[]
Syntax
object.EndY [= Integer]
[]
Syntax
object->EndY [= long]
Type description
A long value that specifies the Y-coordinate of an end point, relative to the top-left corner of the parent image.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • At run-time, you can use the Move method to quickly displace the child image without freeing, updating, and then reallocating the control. This property will be updated automatically.
  • The start point (offset) and end point define the region occupied by the child image.
  • The center point, as well as the size, will be modified as a result of moving the end point.


Image.ChildRegion.FullSize Property

FullSize property

Availability | MIL Equivalent | EndY | Mode
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Image
ChildRegion
FullSize
Synopsis
Returns or sets whether to use the entire image as the child image.
[]
Syntax
object.FullSize [= Boolean]
[]
Syntax
object->FullSize [= VARIANT_BOOL]
Type description
A boolean value that specifies whether to use the entire image. (default is True)
Value | Meaning
True | Use the entire image.
False | Use only the region specified by the other properties of the ChildRegion property.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • At run-time, you can use the Move method to quickly displace and resize the child image without freeing, updating, and then reallocating the control. This property will be updated automatically.
  • This property is reset to False when another property of the ChildRegion property is changed.


Image.ChildRegion.Mode Property

Mode property

See Also | Availability | MIL Equivalent | FullSize | OffsetX
Reference:
Image.ChildRegion.OffsetX
Image.ChildRegion.OffsetY
Image.ChildRegion.SizeX
Image.ChildRegion.SizeY
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Image
ChildRegion
Mode
Synopsis
Returns or sets the mode of operation of a child image.
[]
Syntax
object.Mode [= RoiModeConstants]
[]
Syntax
object->Mode [= enum RoiModeConstants]
Type description
A RoiModeConstants expression that specifies the mode.
Value | Meaning
roiOffsetSize | The offset properties are anchored. This means that when the size changes, the offsets do not move; it is the center that is displaced accordingly.
roiCenterSize | The center properties are anchored. This means that when the size changes, the coordinates of the center do not move; it is the offsets that are displaced accordingly.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • At run-time, you can use the Move method to quickly displace and resize the child image without freeing, updating, and then reallocating the control. This property will be updated automatically.


Image.ChildRegion.OffsetX Property

OffsetX property

See Also | Availability | MIL Equivalent | Mode | OffsetY
User Guide:
Child images

Reference:
Image.ChildRegion.OffsetY
Image.ChildRegion.SizeX
Image.ChildRegion.SizeY
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufChild1d (OffX)

MbufChild2d (OffX)

MbufChildColor2d(OffX)

MbufInquire(
InquireType =
M_PARENT_OFFSET_X
)
Image
ChildRegion
OffsetX
Synopsis
Returns or sets the horizontal offset of the child image.
[]
Syntax
object.OffsetX [= Integer]
[]
Syntax
object->OffsetX [= long]
Type description
A long value that specifies the X-coordinate of the top-left corner of a region, relative to the top-left corner of the parent image.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • At run-time, you can use the Move method to quickly displace the child image without freeing, updating, and then reallocating the control. This property will be updated automatically.
[]
Example
This example shows how to set the OffsetX property.

With ChildImage2.ChildRegion
    .SizeX = 100
    .SizeY = 125
    .OffsetX = 25
    .OffsetY = 50
End With
[]
Example
This example shows how to set the OffsetX property.

m_ChildImage2->ChildRegion->SizeX = 100;
m_ChildImage2->ChildRegion->SizeY = 125;
m_ChildImage2->ChildRegion->OffsetX = 25;
m_ChildImage2->ChildRegion->OffsetY = 50;


Image.ChildRegion.OffsetY Property

OffsetY property

See Also | Availability | MIL Equivalent | OffsetX | SizeX
User Guide:
Child images

Reference:
Image.ChildRegion.OffsetX
Image.ChildRegion.SizeX
Image.ChildRegion.SizeY
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufChild2d (OffY)

MbufChildColor2d(OffY)

MbufInquire(
InquireType =
M_PARENT_OFFSET_Y
)
Image
ChildRegion
OffsetY
Synopsis
Returns or sets the vertical offset of the child image.
[]
Syntax
object.OffsetY [= Integer]
[]
Syntax
object->OffsetY [= long]
Type description
A long value that specifies the Y-coordinate of the top-left corner of a region, relative to the top-left corner of the parent image.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • At run-time, you can use the Move method to quickly displace the child image without freeing, updating, and then reallocating the control. This property will be updated automatically.
[]
Example
This example shows how to set the OffsetY property.

With ChildImage2.ChildRegion
    .SizeX = 100
    .SizeY = 125
    .OffsetX = 25
    .OffsetY = 50
End With
[]
Example
This example shows how to set the OffsetY property.

m_ChildImage2->ChildRegion->SizeX = 100;
m_ChildImage2->ChildRegion->SizeY = 125;
m_ChildImage2->ChildRegion->OffsetX = 25;
m_ChildImage2->ChildRegion->OffsetY = 50;


Image.ChildRegion.SizeX Property

SizeX property

See Also | Availability | MIL Equivalent | OffsetY | SizeY
User Guide:
Child images

Reference:
Image.ChildRegion.Mode
Image.ChildRegion.SizeY
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufChild1d (SizeX)

MbufChild2d (SizeX)

MbufChildColor2d(SizeX)

MbufInquire(
InquireType =
M_SIZE_X
)
Image
ChildRegion
SizeX
Synopsis
Returns or sets the width of the child image.
[]
Syntax
object.SizeX [= Integer]
[]
Syntax
object->SizeX [= long]
Type description
A long value that specifies the number of pixels in the horizontal direction.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • At run-time, you can use the Move method to quickly resize the child image without freeing, updating, and then reallocating the control. This property will be updated automatically.
  • The Mode property determines whether the object's offset or center is displaced as a result of changing its width.
[]
Example
This example shows how to set the SizeX property.

With ChildImage2.ChildRegion
    .SizeX = 100
    .SizeY = 125
    .OffsetX = 25
    .OffsetY = 50
End With
[]
Example
This example shows how to set the SizeX property.

m_ChildImage2->ChildRegion->SizeX = 100;
m_ChildImage2->ChildRegion->SizeY = 125;
m_ChildImage2->ChildRegion->OffsetX = 25;
m_ChildImage2->ChildRegion->OffsetY = 50;


Image.ChildRegion.SizeY Property

SizeY property

See Also | Availability | MIL Equivalent | SizeX | StartX
User Guide:
Child images

Reference:
Image.ChildRegion.Mode
Image.ChildRegion.SizeX
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufChild2d (SizeY)

MbufChildColor2d(SizeY)

MbufInquire(
InquireType =
M_SIZE_Y
)
Image
ChildRegion
SizeY
Synopsis
Returns or sets the height of the child image.
[]
Syntax
object.SizeY [= Integer]
[]
Syntax
object->SizeY [= long]
Type description
A long value that specifies the numbers of pixels in the vertical direction.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • At run-time, you can use the Move method to quickly resize the child image without freeing, updating, and then reallocating the control. This property will be updated automatically.
[]
Example
This example shows how to set the SizeY property.

With ChildImage2.ChildRegion
    .SizeX = 100
    .SizeY = 125
    .OffsetX = 25
    .OffsetY = 50
End With
[]
Example
This example shows how to set the SizeY property.

m_ChildImage2->ChildRegion->SizeX = 100;
m_ChildImage2->ChildRegion->SizeY = 125;
m_ChildImage2->ChildRegion->OffsetX = 25;
m_ChildImage2->ChildRegion->OffsetY = 50;


Image.ChildRegion.StartX Property

StartX property

See Also | Availability | MIL Equivalent | SizeY | StartY
Reference:
Image.ChildRegion.EndX
Image.ChildRegion.EndY
Image.ChildRegion.OffsetX
Image.ChildRegion.OffsetY
Image.ChildRegion.StartY
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Image
ChildRegion
StartX
Synopsis
Returns or sets the X-coordinate of the start point of a child region.
[]
Syntax
object.StartX [= Integer]
[]
Syntax
object->StartX [= long]
Type description
A long value that specifies the X-coordinate of a start point, relative to the top-left corner of the parent image.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • At run-time, you can use the Move method to quickly displace the child image without freeing, updating, and then reallocating the control. This property will be updated automatically.
  • The start point (offset) and end point define the region occupied by the child region.
  • The center point, as well as the size, will be modified as a result of moving the start point.


Image.ChildRegion.StartY Property

StartY property

See Also | Availability | MIL Equivalent | StartX | Move
Reference:
Image.ChildRegion.EndX
Image.ChildRegion.EndY
Image.ChildRegion.OffsetX
Image.ChildRegion.OffsetY
Image.ChildRegion.StartX
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Image
ChildRegion
StartY
Synopsis
Returns or sets the Y-coordinate of the start point of a child region.
[]
Syntax
object.StartY [= Integer]
[]
Syntax
object->StartY [= long]
Type description
A long value that specifies the Y-coordinate of a start point, relative to the top-left corner of the parent image.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • At run-time, you can use the Move method to quickly displace the child image without freeing, updating, and then reallocating the control. This property will be updated automatically.
  • The start point (offset) and end point define the region occupied by the child region.
  • The center point, as well as the size, will be modified as a result of moving the start point.


Image.ChildRegion.Move Method

Move method

Availability | MIL Equivalent | StartY
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Image
ChildRegion
Move
Synopsis
Moves and resizes the child region in the parent image.
[]
Syntax
object.Move(
ByVal OffsetX As Integer,
ByVal OffsetY As Integer,
ByVal SizeX As Integer,
ByVal SizeY As Integer
)
[]
Syntax
void object->Move(
long OffsetX,
long OffsetY,
long SizeX,
long SizeY
)
OffsetX (optional in , default is amilDefault)
A longintegerlong (integer for Visual Basic .Net) value or an ActiveMILDefaultConstants expression that specifies the X-coordinate of the top-left corner of the region, relative to the top-left corner of the parent image.
Value | Meaning
amilDefault | Specifies the default value. The default is the current X-offset of the region.
value | Specifies the X-coordinate of the top-left corner of the region in pixels.
OffsetY (optional in , default is amilDefault)
A longintegerlong (integer for Visual Basic .Net) value or an ActiveMILDefaultConstants expression that specifies the Y-coordinate of the top-left corner of the region, relative to the top-left corner of the parent image.
Value | Meaning
amilDefault | Specifies the default value. The default is the current Y-offset of the region.
value | Specifies the Y-coordinate of the top-left corner of the region in pixels.
SizeX (optional in , default is amilDefault)
A longintegerlong (integer for Visual Basic .Net) value or an ActiveMILDefaultConstants expression that specifies the width of the region
Value | Meaning
amilDefault | Specifies the default value. The default is the current width of the region.
value | Specifies the number of pixels in the horizontal direction.
SizeY (optional in , default is amilDefault)
A longintegerlong (integer for Visual Basic .Net) value or an ActiveMILDefaultConstants expression that specifies the height of the region.
Value | Meaning
amilDefault | Specifies the default value. The default is the current width of the region.
value | Specifies the number of pixels in the vertical direction.
Remark
  • You can also move the location of the child region by calling the Free method, changing the child image's position, then calling the Allocate method. However, this approach is usually much slower, unless, if the child image is associated to a display, if the image is compressed, or if the image is the parent of another child image.


Image.CompressionType Property

CompressionType property

See Also | Availability | MIL Equivalent | ChildRegion | ContentModifiedEvent
User Guide:
Child images
Compressing images - overview

Reference:
Image.JPEGAlgorithm
Available in ActiveMIL-Lite with restrictions (see remarks)

Available in ActiveMIL
MbufAllocColor(
Attribute =
M_COMPRESS +
compression specifier
)

MbufAlloc1d(
Attribute =
M_COMPRESS +
compression specifier
)

MbufAlloc2d(
Attribute =
M_COMPRESS +
compression specifier
)

MbufInquireType(
InquireType =
M_COMPRESSION_TYPE
)
Image
CompressionType
Synopsis
Returns or sets the type of compression, if any, applied to the image data.
[]
Syntax
object.CompressionType [= ImCompressionTypeConstants]
[]
Syntax
object->CompressionType [= enum ImCompressionTypeConstants]
Type description
An ImCompressionTypeConstants expression that specifies the compression type. (default is imUncompressed)
Value | Meaning
imUncompressed | Uncompressed data.
imJPEGLossless | JPEG lossless data.
imJPEGLosslessInterlaced | JPEG lossless data in separate fields.
imJPEGLossy | JPEG lossy data.
imJPEGLossyInterlaced | JPEG lossy data in separate fields.
imJPEG2000Lossless | JPEG2000 lossless data.
imJPEG2000Lossy | JPEG2000 lossy data.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • This property is read-only when the image is a child image. A child image is set using the ParentImage property.
  • Note that an image with its DataType property set to imSigned cannot contain compressed data.
  • Compressed images have the following data format restrictions:
    Compressed Image Type | Number of Bands | Data Depth | Data Format of Color Images
    imJPEGLossless | 1 | 8- and 16-bit
    3 | 8-bit | imRGB24Planar
    16-bit | imRGB48Planar
    imJPEGLosslessInterlaced | 1 | 8- and 16-bit
    imJPEGLossy | 1 | 8-bit
    3 | 8-bit | imRGB24Planar, imYUV24Planar, imYUV16Planar, imYUV12Planar, imYUV9Planar, imYUV16Packed
    imJPEGLossyInterlaced | 1 | 8-bit
    3 | 8-bit | imYUV16Packed
    imJPEG2000Lossless | 1 | 8- and 16-bit
    3 | 8- and 16-bit | imRGB24Planar, imRGB48Planar, imYUV24Planar
    imJPEG2000Lossy | 1 | 8- and 16-bit
    3 | 8- and 16-bit | imRGB24Planar, imRGB48Planar, imYUV9Planar, imYUV12Planar, imYUV16Planar, imYUV24Planar
  • An image created by the AssignMemory method whose CompressionType property is set to a value other than imUncompressed, should not be used as a destination of an ActiveMIL operation. If a compressed image is used as a source for an operation, the data will be decompressed depending on the attributes of the object image.
  • Setting this property of an Image control deletes any data in the image. This is because, for ActiveMIL to decompress an image, it must know the settings used to compress it. If you change one of these settings, ActiveMIL will be unable to decompress the image and its data is therefore irrelevant.
  • If the source image is compressed and the destination image is not, the source image will be automatically decompressed. If the destination image is compressed and the source image is not, the source image will be automatically compressed. If both image have been compressed with different compression types, the source image will be re-compressed according to the settings in the destination image.
  • To compress an image using the imJPEGLosslessInterlaced or the imJPEGLossyInterlaced compression type, its SizeY property must be greater than 1.
  • Note that ActiveMIL-Lite compression support is reliant upon the presence of Matrox compression acceleration hardware. The compression algorithm supported depends on the hardware. If you don't have Matrox compression acceleration hardware, you can still perform compression under ActiveMIL-Lite with the compression/decompression runtime license package installed.
[]
Example
This example shows how to set the CompressionType property.

// Select the right format for the image
m_AnImage->CompressionType = imJPEG2000Lossy;
m_AnImage->FileFormat = imJPEG2000LossyFileFormat;


Image.ContentModifiedEvent Property

ContentModifiedEvent property

See Also | Availability | MIL Equivalent | CompressionType | DataDepth
Reference:
Image.ContentModified
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Image
ContentModifiedEvent
Synopsis
Returns or sets whether the ContentModified event is enabled.
[]
Syntax
object.ContentModifiedEvent [= Boolean]
[]
Syntax
object->ContentModifiedEvent [= VARIANT_BOOL]
Type description
A boolean value that specifies the status of the ContentModified event.
Value | Meaning
True | The ContentModified event is enabled and will be fired each time the image content is modified.
False | The ContentModified event will not be fired.


Image.DataDepth Property

DataDepth property

See Also | Availability | MIL Equivalent | ContentModifiedEvent | DataSize
User Guide:
Child images
Data type and depth

Reference:
Image.DataType
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc1d(Type)

MbufAlloc2d(Type)

MbufAllocColor(Type)

MbufInquire(
InquireType =
M_SIZE_BIT
)
Image
DataDepth
Synopsis
Returns or sets the Image control's data depth per image band.
[]
Syntax
object.DataDepth [= Integer]
[]
Syntax
object->DataDepth [= long]
Type description
A long value that specifies the number of bits. Possible values are 1, 8, 16, and 32.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • This property is read-only when the image is a child image. A child image is set using the ParentImage property.
  • Use the DataType property to specify the data type. The possible DataDepth settings for the corresponding DataType settings are:
    DataDepth | DataType
    8, 16, or 32 | imSigned
    1, 8, 16, or 32 | imUnsigned
    32 | imFloat
  • Use the NumberOfBands property to specify the number of bands in the image.
  • Packed binary images are stored in 1-bit per pixel format.
[]
Example
This example shows how to set the DataDepth property.

m_Image1->SizeX = m_LoadedImage->SizeX;
m_Image1->SizeY = m_LoadedImage->SizeY;
m_Image1->DataDepth = 8;
m_Image1->DataType = imUnsigned;
m_Image1->NumberOfBands = 3;


Image.DataSize Property

DataSize property

See Also | Availability | MIL Equivalent | DataDepth | DataType
Reference:
Image.PitchByte
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufInquire(
InquireType =
M_SIZE_BYTE
)
Image
DataSize
Synopsis
Returns the size of the image in bytes.
[]
Syntax
[Integer =] object.DataSize
[]
Syntax
[long =] object->DataSize
Type description
A long value that specifies the number of bytes of the image.
Remark
  • If the specified image has been compressed with the JPEG2000 lossy algorithm, this value might be smaller than the value of the JPEG2000Algorithm.TargetSize property, if the data could be compressed into a size smaller than the target.
[]
Example
This example shows how to use the DataSize property.

CString Text1;
Text1.Format("Image1 data size : %d bytes", m_LoadedImage->DataSize);


Image.DataType Property

DataType property

See Also | Availability | MIL Equivalent | DataSize | FastOverscanEnabled
User Guide:
Child images
Data type and depth

Reference:
Image.DataDepth
Image.NumberOfBands
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc1d(Type)

MbufAlloc2d(Type)

MbufAllocColor(Type)

MbufInquire(
InquireType =
M_TYPE
)
Image
DataType
Synopsis
Returns or sets the Image control's data type.
[]
Syntax
object.DataType [= ImDataTypeConstants]
[]
Syntax
object->DataType [= enum ImDataTypeConstants]
Type description
An ImDataTypeConstants expression that specifies the data type.
Value | Meaning
imSigned | The data includes only integers.
imUnsigned | The data includes only non-negative integers.
imFloat | The data includes only floating-point numbers.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • This property is read-only when the image is a child image. A child image is set using the ParentImage property.
  • Use the DataDepth property to specify the data depth. The possible DataDepth settings for the corresponding DataType settings are:
    DataType | DataDepth
    imSigned | 8, 16, or 32
    imUnsigned | 1, 8, 16, or 32
    imFloat | 32
  • Use the NumberOfBands property to specify the number of bands in the image.
[]
Example
This example shows how to set the DataType property.

m_Image1->SizeX = m_LoadedImage->SizeX;
m_Image1->SizeY = m_LoadedImage->SizeY;
m_Image1->DataDepth = 8;
m_Image1->DataType = imUnsigned;
m_Image1->NumberOfBands = 3;


Image.FastOverscanEnabled Property

FastOverscanEnabled property

See Also | Availability | MIL Equivalent | DataType | FileFormat
Reference:
Image.CanProcess
Image.ParentImage
System.AllocationOverscanSize
System.FastOverscanImage
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc1d(
Attribute =
M_IMAGE + M_PROC +
M_FAST_OVERSCAN
)

MbufAlloc2d(
Attribute =
M_IMAGE + M_PROC +
M_FAST_OVERSCAN
)

MbufAllocColor(
Attribute =
M_IMAGE + M_PROC +
M_FAST_OVERSCAN
)
Image
FastOverscanEnabled
Synopsis
Returns or sets whether to override the current system setting and force an overscan region on the object image.
[]
Syntax
object.FastOverscanEnabled [= Boolean]
[]
Syntax
object->FastOverscanEnabled [= VARIANT_BOOL]
Type description
A boolean value that specifies whether to override the FastOverscanImage property of the System control and force an overscan region on the object image. (default is False)
Value | Meaning
True | Specifies that the image will be allocated with an overscan region regardless of current system setting.
False | Specifies that the image will be allocated according to current system setting.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The size of the overscan region is specified using the AllocationOverscanSize property of the System control.
  • To use this propery, the CanProcess property must be set to True.
  • This property is read-only when the image is a child image. A child image is set using the ParentImage property.
  • This property is only useful if neighborhood processing operations are performed on the image.


Image.FileFormat Property

FileFormat property

See Also | Availability | MIL Equivalent | FastOverscanEnabled | Format
User Guide:
Compressing images - overview
Loading and saving images

Reference:
Image.CompressionType
Image.JPEG2000Algorithm
Image.JPEGAlgorithm
Available in ActiveMIL-Lite with restrictions (see remarks)

Available in ActiveMIL
MbufExport(FileFormatBufId)

MbufImport(FileFormatBufId)
Image
FileFormat
Synopsis
Returns or sets the file format used when saving or loading the image.
[]
Syntax
object.FileFormat [= ImFileFormatConstants]
[]
Syntax
object->FileFormat [= enum ImFileFormatConstants]
Type description
An ImFileFormatConstants expression that specifies the file format used to store image data on a disk.
Value | Meaning
imBMP | The image content is saved/loaded as a bitmap.
imMIL | The image content is saved/loaded in a MIL file format.
imJPEG2000LosslessFileFormat | The image content is saved/loaded in a lossless JPEG2000 file format. If the image to which you are saving/loading is 3-band, and is not compressed, the data will be stored in RGB format.
imJPEG2000LossyFileFormat | The image content is saved/loaded in a lossy JPEG2000 file format. If the image to which you are saving/loading is 3-band, and is not compressed, the data will be stored in RGB format.
imJPEGLosslessInterlacedFileFormat | The image content is saved/loaded in a lossless interlaced JPEG file format. If the image to which you are saving/loading is 3-band, the data will be stored in RGB format.
imJPEGLossyInterlacedFileFormat | The image content is saved/loaded in a lossy interlaced JPEG file format. If the image to which you are saving/loading is 3-band, the data will be stored in YUV16 packed format.
imJPEGLosslessFileFormat | The image content is saved/loaded in lossless JPEG file format. If the image to which you are saving/loading is 3-band, and is not compressed, the data will be stored in RGB format.
imJPEGLossyFileFormat | The image content is saved/loaded in a lossy JPEG file format. If the image to which you are saving/loading is 3-band, and is not compressed, the data will be stored in YUV16 packed format; otherwise, the image will be saved/loaded in the same color format as the source image.
imJPEGLossyRGBFileFormat | The image content is saved/loaded in a lossy RGB JPEG file format. This is only available when the source image is uncompressed.
imMILPlanar | The image content is saved/loaded in a planar, MIL file format.
imRaw | The image content is saved/loaded in a raw file format. The contents are dumped directly (byte stream) into the file and no header is added. If the image is multi-band, all bands are placed one after the other (planar).
imTIFF | The image content is saved/loaded in a TIFF file format ("chunky" (packed) mode for color images).
imTIFFPlanar | The image content is saved/loaded in a planar, TIFF file format (only available for image and saved in "chunky" mode for color images).
imFileFormatDefault | When loading, the image is read in the format in which it was saved. If the file format is not supported, it is read in imRaw file format. When saving, if an image was loaded using imFileFormatDefault, the image is saved in the same format it had when loaded. Otherwise, by default, the image is saved in a MIL file format.
Remarks
  • This property is used by the Load and Save methods.
  • Note that ActiveMIL-Lite compression support, particularly when the CompressionType property is set to a value other than imUncompressed, is reliant upon the presence of Matrox compression acceleration hardware. The compression algorithm supported depends on the hardware. This is not a restriction under ActiveMIL.
  • If you are saving uncompressed data to a file and the FileFormat property is set to a compressed format, the data will automatically be compressed, according to the file format; the image does not have to be compressed. If you are saving compressed data to an uncompressed file format, the data will automatically be decompressed.
  • If you are loading an image and are unsure of the compression type of the data, set this property to imFileFormatDefault rather than imJPEG... or impJPEG2000...; the data will be read correctly.
  • When you are loading an image and the Load method's AdjustImage parameter is set to False the following applies:
    • If you are loading uncompressed data into an image whose CompressionType property is set to a value other than imUncompressed, the data will automatically be compressed (using either the JPEG or JPEG2000 algorithms) according to the setting of the image's CompressionType property. If necessary, the data will be transformed to the format of the image.
    • If you are loading compressed data into an image whose CompressionType property is set to imUncompressed, the data will automatically be decompressed. If necessary, the data in the file will be transformed to the format of the image.
  • If you are loading an image and the Load method's AdjustImage parameter is set to True, the object image will have the same attributes as the source image, regardless of whether the source image is compressed. In this case, however, the CanGrab, CanDisplay, and CanProcess properties can be dropped without error.
  • To control certain aspects of the compression, use the JPEGAlgorithm or JPEG2000Algorithm properties.
  • MIL file format (imMIL) is a regular TIFF 6.0 file format with extra information included in the comment field. This format uses TIFF "chunky" (packed) mode to save color images.
  • MIL planar file format (imMILPlanar) is a regular TIFF 6.0 file format with extra information included in the comment field. It uses the TIFF planar mode to save color images.
  • TIFF file formats (imTIFF and imTIFFPlanar) respect the TIFF 6.0 specification.
  • By default, most color images are saved in packed (chunky) format (in accordance with TIFF 6.0 specifications). Binary 3-band images are saved in a 1-bit per pixel format.
  • Raw format is saved in planar format (one band after another).
[]
Example
This example shows how to set the FileFormat property.

// Select the right format for the image
m_AnImage->CompressionType = imJPEG2000Lossy;
m_AnImage->FileFormat = imJPEG2000LossyFileFormat;


Image.Format Property

Format property

See Also | Availability | MIL Equivalent | FileFormat | GammaCorrectionExponents
User Guide:
Child images
The data format
Available in ActiveMIL-Lite

Available in ActiveMIL

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Orion
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MbufAlloc1d(
Attribute =
format specifier
)

MbufAlloc2d(
Attribute =
format specifier
)

MbufAllocColor(
Attribute =
format specifier
)

MbufInquire(
InquireType =
M_FORMAT
)
Image
Format
Synopsis
Returns or sets the Image control's internal data format.
[]
Syntax
object.Format [= ImFormatConstants]
[]
Syntax
object->Format [= enum ImFormatConstants]
Type description
An ImFormatConstants expression that specifies the internal data format.
Value | Meaning
imFormatDefault | Use the default data format.

To specify a storage format, you can add one or more of the following values.
Value | Meaning
imDirectX | Force the image to be a DirectX surface.
imDIB | Force the image to be a DIB image. This ensures that your image is stored with a DIB header.
imGDI | Force the image to be compatible with GDI.

To specify a storage format for color images, you can add one of the values below. Note that the image must be a color image. Also note that it might be slower to use images that have been forced with one of these attributes. Although there is no right or wrong storage format to use, certain operations are optimized for some formats.
Value | Meaning
imPacked | Image bands are internally stored in packed format; that is, the pixel components are stored together (for example, RGB RGB RGB).
imPlanar | Image bands are internally stored in planar format; that is, each pixel is stored as three component planes (for example, (RRR ... GGG ... BBB ...).

To specify a specific packed color image format, use one of the following values.
Value | Meaning
imRGB15Packed | Specifies 16-bit color depth (XRGB 1:5:5:5) packed pixels. Note that when accessing an imRGB15Packed image as a 3-band 8-bit image, the least significant bits are set to 0.
imRGB16Packed | Specifies 16-bit color depth (RGB 5:6:5) packed pixels. Note that when accessing an imRGB16Packed image as a 3-band 8-bit image, the least significant bits are set to 0.
imRGB24Packed | Specifies 24-bit color depth (RGB 8:8:8) packed pixels.
imBGR24Packed | Specifies 24-bit color depth (BGR) packed pixels.
imBGR32Packed | Specifies 32-bit color depth (BGR) packed pixels.
imYUV16Packed | Specifies YUV16 packed (4:2:2) pixels.
imYUV16YUYV | Specifies YUV16 packed (4:2:2) pixels, whereby the components of each pixel are stored in the YUYV order. For more information, see the YUV16 Packed section of Chapter 13: Images.
imYUV16UYVY | Specifies YUV16 packed (4:2:2) pixels, whereby the components of each pixel are stored in the UYVY order. For more information, see the YUV16 Packed section of Chapter 13: Images.

To specify a specific planar color image format, use one of the following values.
Value | Meaning
imYUV9Planar | Specifies YUV9 planar pixels.
imYUV12Planar | Specifies YUV12 planar pixels.
imYUV16Planar | Specifies YUV16 planar (4:2:2) pixels.
imYUV24Planar | Specifies YUV24 planar pixels.
imRGB3Planar | Specifies 3-bit color depth (RGB 1:1:1) planar pixels.
imRGB24Planar | Specifies 24-bit color depth (RGB 8:8:8) planar pixels.
imRGB48Planar | Specifies 48-bit color depth (RGB 16:16:16) planar pixels.
imRGB96Planar | Specifies 96-bit color depth (RGB 32:32:32) planar pixels.
Remarks
  • This property cannot be set at run-time if the Image control is in the allocated state.
  • This property is read-only when the image is a child image. A child image is set using the ParentImage property.
  • If imFormatDefault is used, ActiveMIL automatically selects the most appropriate internal storage format according to how its CanDisplay, CanGrab, and CanProcess properties are set.
  • Except for the imFormatDefault, imDirectX, imGDI, and imDIB settings, the image must be a multi-band color image.
  • For grab images, the specific planar and packed color image formats are not supported unless specified in the board specific remarks.
  • Note that it might be slower to use images that have been forced to a setting other than imFormatDefault.
  • Note that child YUV images have particular restrictions.
  • Typically, packed images are used for display.
  • Typically, planar images are used for processing.
Remarks for Matrox Corona-II
  • The following planar color image format is also supported with grab images:
    • imRGB24Planar.
  • The following packed color image formats are also supported with grab images:
    • imYUV16Packed.
    • imBGR24Packed.
    • imBGR32Packed.
    • imYUV16YUYVPacked.
Remarks for Matrox CronosPlus
  • Out of the specific packed color image formats, only the imYUV16UYVYPacked value is not supported.
  • The following packed color image formats are also supported with grab images:
    • imYUV16Packed.
    • imBGR24Packed.
    • imBGR32Packed.
    • imYUV16YUYVPacked.
Remarks for Matrox Genesis
  • Out of the specific planar color image formats, the following values are not supported:
    • imYUV9Planar.
    • imYUV12Planar.
    • imYUV16Planar.
    • imYUV24Planar.
  • The following planar color image formats are also supported with grab images:
    • imRGB24Planar
    • imRGB48Planar
    • imRGB96Planar
Remarks for Matrox Helios XA
  • Out of the specific packed color image formats, only the imYUV16UYVYPacked value is not supported.
  • The following planar color image formats are also supported with grab images:
    • imRGB24Planar
    • imRGB48Planar
  • The following packed color image formats are also supported with grab images:
    • imYUV16Packed.
    • imBGR32Packed.
    • imYUV16YUYVPacked.
Remarks for Matrox Helios XCL
  • Out of the specific packed color image formats, only the imYUV16UYVYPacked value is not supported.
  • The following planar color image formats are also supported with grab images:
    • imRGB24Planar
    • imRGB48Planar
  • The following packed color image formats are also supported with grab images:
    • imYUV16Packed.
    • imBGR32Packed.
    • imYUV16YUYVPacked.
Remarks for Matrox Meteor-II /1394
  • The following planar color image formats are also supported with grab images:
    • imRGB24Planar.
    • imYUV12Planar.
    • imYUV16Planar.
    • imYUV24Planar.
  • The following packed color image formats are also supported with grab images:
    • imYUV16Packed.
    • imBGR24Packed.
    • imBGR32Packed.
    • imRGB15Packed.
    • imRGB16Packed.
    • imYUV16UYVYPacked.
    • imYUV16YUYVPacked.
Remarks for Matrox Meteor-II /Camera Link
  • Out of the specific packed color image formats, the following values are not supported:
    • imRGB15Packed.
    • imRGB16Packed.
  • The following planar color image format is also supported with grab images:
    • imRGB24Planar.
  • The following packed color image formats are also supported with grab images when a color DCF is used during the grab:
    • imBGR24Packed
    • imBGR32Packed
Remarks for Matrox Meteor-II /Digital
  • Out of the specific packed color image formats, the following values are not supported:
    • imRGB15Packed.
    • imRGB16Packed.
  • The following planar color image format is also supported with grab images:
    • imRGB24Planar.
  • The following packed color image formats are also supported with grab images when a color DCF is used during the grab:
    • imBGR24Packed
    • imBGR32Packed
Remarks for Matrox Meteor-II /Multi-Channel
  • The following packed color image format is only available on the PC/104-Plus form factor:
    • imRGB16Packed
  • The following planar color image format is also supported with grab images when a color DCF is used during the grab:
    • imRGB24Planar
  • The following packed color image formats are also supported with grab images:
    • imBGR24Packed
    • imBGR32Packed
Remarks for Matrox Meteor-II /Standard
  • The following color image formats are only available on the PC/104-Plus form factor:
    • imRGB16Packed.
    • imYUV16Planar.
  • The following planar color image format is also supported with grab images:
    • imRGB24Planar.
  • The following packed color image formats are also supported with grab images:
    • imYUV16Packed.
    • imBGR24Packed.
    • imBGR32Packed.
    • imYUV16YUYVPacked.
Remarks for Matrox Morphis
  • Out of the specific packed color image formats, only the imYUV16UYVYPacked value is not supported.
  • The following planar color image format is also supported with grab images:
    • imRGB24Planar.
  • The following packed color image formats are also supported with grab images:
    • imYUV16Packed.
    • imYUV16YUYVPacked.
Remarks for Matrox Odyssey XA
  • Out of the specific planar color image formats, the following values are not supported:
    • imYUV9Planar.
    • imYUV12Planar.
    • imYUV24Planar.
  • Out of the specific packed color image formats, the following values are not supported:
    • imRGB15Packed.
    • imRGB16Packed.
    • imYUV16UYVYPacked.
  • The following planar color image formats are also supported with grab images:
    • imRGB24Planar.
    • imRGB48Planar.
  • The following packed color image formats are also supported with grab images:
    • imYUV16Packed.
    • imBGR24Packed.
    • imBGR32Packed.
    • imYUV16YUYVPacked.
Remarks for Matrox Odyssey XCL
  • Out of the specific planar color image formats, the following values are not supported:
    • imYUV9Planar.
    • imYUV12Planar.
    • imYUV24Planar.
  • Out of the specific packed color image formats, the following values are not supported:
    • imRGB15Packed.
    • imRGB16Packed.
    • imYUV16UYVYPacked.
  • The following planar color image formats are also supported with grab images:
    • imRGB24Planar.
    • imRGB48Planar.
  • The following packed color image formats are also supported with grab images:
    • imYUV16Packed.
    • imBGR24Packed.
    • imBGR32Packed.
    • imYUV16YUYVPacked.
Remarks for Matrox Odyssey XD
  • Out of the specific planar color image formats, the following values are not supported:
    • imYUV9Planar.
    • imYUV12Planar.
    • imYUV24Planar.
  • Out of the specific packed color image formats, the following values are not supported:
    • imRGB15Packed.
    • imRGB16Packed.
    • imYUV16UYVYPacked.
  • The following planar color image formats are also supported with grab images:
    • imRGB24Planar.
    • imRGB48Planar.
  • The following packed color image formats are also supported with grab images:
    • imYUV16Packed.
    • imBGR24Packed.
    • imBGR32Packed.
    • imYUV16YUYVPacked.
Remarks for Matrox Orion
  • The following planar color image format is also supported with grab images:
    • imRGB24Planar.
  • The following packed color image formats are also supported with grab images:
    • imYUV16Packed.
    • imBGR32Packed.
    • imYUV16YUYVPacked.
Remarks for Matrox Solios XA
  • Out of the specific packed color image formats, only the imYUV16UYVYPacked value is not supported.
  • The following planar color image formats are also supported with grab images:
    • imRGB24Planar
    • imRGB48Planar
  • The following packed color image formats are also supported with grab images:
    • imYUV16Packed.
    • imBGR32Packed.
    • imYUV16YUYVPacked.
Remarks for Matrox Solios XCL
  • Out of the specific packed color image formats, only the imYUV16UYVYPacked value is not supported.
  • The following planar color image formats are also supported with grab images:
    • imRGB24Planar
    • imRGB48Planar
  • The following packed color image formats are also supported with grab images:
    • imYUV16Packed.
    • imBGR32Packed.
    • imYUV16YUYVPacked.


Image.GammaCorrectionExponents Property

GammaCorrectionExponents property

See Also | Availability | MIL Equivalent | Format | HostAddress
User Guide:
Using images with the Bayer color filter

Reference:
Image.Bayer
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufBayer(CoefOrExpId)
Image
GammaCorrectionExponents
Synopsis
Returns or sets the gamma correction exponent for a specified intermediate RGB band.
[]
Syntax
Get:
[Single=]object.GammaCorrectionExponents(
Band As ImBandConstants
)

Set:
object.GammaCorrectionExponents(
Band As ImBandConstants,
value_to_set as Single
)
[]
Syntax
object->GammaCorrectionExponents[enum ImBandConstants Band] [= float]
Band
An ImBandConstants expression that specifies the intermediate RGB band.
Value | Meaning
imRed | Red band.
imGreen | Green band.
imBlue | Blue band.
Type description
A float value that specifies the value for the specified intermediate RGB band.
Remarks
  • This property is used by the Bayer method of the Image control.
  • You can specify a different exponent for each band. To do so, set this property 3 times, each time specifying a different band.
  • The gamma correction exponents must be positive, are typically in the range of 0.0 to 1.0, and most commonly specified as 0.4.
  • For more information on these exponents, see the Bayer method and Using images with the Bayer color filter section in Chapter 13: Images of the ActiveMIL User Guide.


Image.HostAddress Property

HostAddress property

See Also | Availability | MIL Equivalent | GammaCorrectionExponents | IsAllocated
User Guide:
Accessing image data

Reference:
Image.AssignMemory
Image.PhysicalAddress
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufInquire(
InquireType =
M_HOST_ADDRESS
)
Image
HostAddress
Synopsis
Returns the Host address (logical address) of the image's data.
[]
Syntax
[Integer =] object.HostAddress
[]
Syntax
[long =] object->HostAddress
Type description
A long value that specifies the starting address of the image's data in Host memory.
Remarks
  • This property is intended to be used as a parameter to the AssignMemory method to map another image to this image.
  • For example, to map Image2 to Image1, use the following call:
    • Image2.AssignMemory(Image1.HostAddress, imLogicalAddress + imPitchInBytes, Image1.PitchByte)
  • To read or write data from/to an image, you should find that the Get and Put methods, respectively, are generally suitable.
  • If an on-board image is mapped to the Host, this property will return the Host address to which the image is mapped.
  • Note that the Host address (logical address) of the image's data is only available if the image is visible from the Host address space.


Image.IsAllocated Property

IsAllocated property

See Also | Availability | MIL Equivalent | HostAddress | JPEGAlgorithm
User Guide:
Allocation of resources

Reference:
Image.Allocate
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Image
IsAllocated
Synopsis
Returns whether the resources of the Image control are allocated.
[]
Syntax
[Boolean =] object.IsAllocated
[]
Syntax
[VARIANT_BOOL =] object->IsAllocated
Type description
A boolean value that specifies whether the control is allocated.
Value | Meaning
True | The resources of the control are allocated.
False | The resources of the control are not allocated
[]
Example
This example shows how to use the IsAllocated property.

If Image1.IsAllocated Then
    Image1.Free()
End If
[]
Example
This example shows how to use the IsAllocated property.

if (m_Image1->IsAllocated)
   m_Image1->Free();


Image.JPEG2000Algorithm Property

JPEG2000Algorithm property

See Also | Availability | MIL Equivalent | JPEGAlgorithm | Location
User Guide:
Compressing images - overview

Reference:
Image.CompressionType
Image.FileInquire
Available in ActiveMIL-Lite with restrictions (see remarks)

Available in ActiveMIL
MbufControl(
ControlType =
M_DECOMPOSITION_LEVEL or
M_Q_FACTOR or
M_QUANTIZATION or
M_TARGET_SIZE
)

MbufInquire(
InquireType =
M_DECOMPOSITION_LEVEL or
M_Q_FACTOR or
M_QUANTIZATION or
M_TARGET_SIZE or
M_NUMBER_SUBBAND
)
Image
JPEG2000Algorithm
Properties: DecompositionLevel, NumberOfSubband, QFactor, Quantization, TargetSize
Synopsis
Allows you to specify or determine the settings used to control the compression.
[]
Syntax
object.JPEG2000Algorithm [= JPEG2000Algorithm]
[]
Syntax
object->JPEG2000Algorithm [= IJPEG2000AlgorithmPtr]
Type description
A JPEG2000Algorithm object.
Remarks
  • You cannot assign another JPEG2000Algorithm object to this property.
  • To set this property, you must have a compressed image.
  • Note that ActiveMIL-Lite compression support is reliant upon the presence of Matrox compression acceleration hardware. The compression algorithm supported depends on the hardware. If you don't have Matrox compression acceleration hardware, you can still perform compression under ActiveMIL-Lite with the compression/decompression runtime license package installed.


Image.JPEG2000Algorithm.DecompositionLevel Property

DecompositionLevel property

See Also | Availability | MIL Equivalent | NumberOfSubband
User Guide:
Compressing images - overview
Improving results
JPEG2000
Working with tables

Reference:
Image.JPEG2000Algorithm.NumberOfSubband
Image.JPEG2000Algorithm.QFactor
Available in ActiveMIL-Lite with restrictions (see remarks)

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Orion
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Morphis
MbufControl(
ControlType =
M_DECOMPOSITION_LEVEL
)

MbufInquire(
InquireType =
M_DECOMPOSITION_LEVEL
)
Image
JPEG2000Algorithm
DecompositionLevel
Synopsis
Returns or sets the number of decomposition levels of the discrete wavelet transform for the specified band of the image.
[]
Syntax
Get:
[Integer=]object.DecompositionLevel(
Band As ImBandConstants
)

Set:
object.DecompositionLevel(
Band As ImBandConstants,
value_to_set as Integer
)
[]
Syntax
object->DecompositionLevel[enum ImBandConstants Band] [= long]
Band
An ImBandConstants expression that specifies the band.
Value | Meaning
imRed | Red band
imGreen | Green band
imBlue | Blue band
imY | Y band
imU | U band
imV | V band
imAllBand | All bands (only available when setting this property)
Type description
A long value that specifies the number of decomposition levels (iterations) of the discrete wavelet transform used for a specified band of the image.
Remarks
  • To set this property, you must have a compressed image.
  • Setting this property of an Image control deletes any data in the image. This is because, for ActiveMIL to decompress an image, it must know the settings used to compress it. If you change one of these settings, ActiveMIL will be unable to decompress the image and its data is therefore irrelevant.
  • Setting this property resets the QFactor property to its default value.
  • Note that ActiveMIL-Lite compression support is reliant upon the presence of Matrox compression acceleration hardware. The compression algorithm supported depends on the hardware. If you don't have Matrox compression acceleration hardware, you can still perform compression under ActiveMIL-Lite with the compression/decompression runtime license package installed.
Remark for Matrox Morphis
  • When using a Matrox Morphis with an integrated JPEG2000 accelerator, the number of iterations can be from 1 to 5.


Image.JPEG2000Algorithm.NumberOfSubband Property

NumberOfSubband property

See Also | Availability | MIL Equivalent | DecompositionLevel | QFactor
User Guide:
Compressing images - overview
Improving results
JPEG2000
Working with tables

Reference:
Image.JPEG2000Algorithm.DecompositionLevel
Available in ActiveMIL-Lite with restrictions (see remarks)

Available in ActiveMIL
MbufInquire(
InquireType =
M_NUMBER_SUBBAND
)
Image
JPEG2000Algorithm
NumberOfSubband
Synopsis
Returns the number of sub-bands rendered from the discrete wavelet transform for the specified band of the image.
[]
Syntax
[Integer=]object.NumberOfSubband(
Band As ImBandConstants
)
[]
Syntax
[long =] object->NumberOfSubband[enum ImBandConstants Band]
Band
An ImBandConstants expression that specifies the band.
Value | Meaning
imRed | Red band
imGreen | Green band
imBlue | Blue band
imY | Y band
imU | U band
imV | V band
Type description
A long value that specifies the number of sub-bands rendered from the discrete wavelet transform for a specified band in the image.
Remark
  • Note that ActiveMIL-Lite compression support is reliant upon the presence of Matrox compression acceleration hardware. The compression algorithm supported depends on the hardware. If you don't have Matrox compression acceleration hardware, you can still perform compression under ActiveMIL-Lite with the compression/decompression runtime license package installed.


Image.JPEG2000Algorithm.QFactor Property

QFactor property

See Also | Availability | MIL Equivalent | NumberOfSubband | Quantization
User Guide:
Compressing images - overview
Improving results
JPEG2000
Working with tables

Reference:
Image.JPEG2000Algorithm.DecompositionLevel
Image.JPEG2000Algorithm.Quantization
Available in ActiveMIL-Lite with restrictions (see remarks)

Available in ActiveMIL
MbufControl(
ControlType =
M_Q_FACTOR
)

MbufInquire(
InquireType =
M_Q_FACTOR
)
Image
JPEG2000Algorithm
QFactor
Synopsis
Returns or sets the quantization factor of the JPEG2000 lossy compression for the specified band of the image.
[]
Syntax
Get:
[Integer=]object.QFactor(
Band As ImBandConstants
)

Set:
object.QFactor(
Band As ImBandConstants,
value_to_set as Integer
)
[]
Syntax
object->QFactor[enum ImBandConstants Band] [= long]
Band
An ImBandConstants expression that specifies the band.
Value | Meaning
imRed | Red band
imGreen | Green band
imBlue | Blue band
imY | Y band
imU | U band
imV | V band
imAllBand | All bands (only available when setting this property)
Type description
A long value, between 1 and 99, that specifies the quantization factor. (default is 50).
Remarks
  • ActiveMIL does not support JPEG2000 lossless compressions.
  • To set this property, you must have a compressed image.
  • As the quantization factor increases, image quality decreases.
  • Setting this property of an Image control deletes any data in the image. This is because, for ActiveMIL to decompress an image, it must know the settings used to compress it. If you change one of these settings, ActiveMIL will be unable to decompress the image and its data is therefore irrelevant.
  • This property is reset to its default value if the Quantization and/or DecompositionLevel properties are changed.
  • ActiveMIL scales all the quantization coefficients in the quantization table (Quantization property) according to the specified factor.
  • Note that ActiveMIL-Lite compression support is reliant upon the presence of Matrox compression acceleration hardware. The compression algorithm supported depends on the hardware. If you don't have Matrox compression acceleration hardware, you can still perform compression under ActiveMIL-Lite with the compression/decompression runtime license package installed.


Image.JPEG2000Algorithm.Quantization Property

Quantization property

See Also | Availability | MIL Equivalent | QFactor | TargetSize
User Guide:
Compressing images - overview
Improving results
JPEG2000
Working with tables

Reference:
Image.JPEG2000Algorithm.QFactor
Available in ActiveMIL-Lite with restrictions (see remarks)

Available in ActiveMIL
MbufControl(
ControlType =
M_QUANTIZATION
)

MbufInquire(
InquireType =
M_QUANTIZATION
)
Image
JPEG2000Algorithm
Quantization
Synopsis
Returns or sets the quantization table of the JPEG2000 lossy compression for the specified band of the image.
[]
Syntax
Get:
[Array=]object.Quantization(
Band As ImBandConstants
)

Set:
object.Quantization(
Band As ImBandConstants,
value_to_set as Array
)
[]
Syntax
object->Quantization[enum ImBandConstants Band] [= _variant_t]
Band
An ImBandConstants expression that specifies the band.
Value | Meaning
imRed | Red band
imGreen | Green band
imBlue | Blue band
imY | Y band
imU | U band
imV | V band
imAllBand | All bands (only available when setting this property)
Type description
An array containing the table values.

Remarks
  • ActiveMIL does not support JPEG2000 lossless compressions.
  • To set this property, you must have a compressed image.
  • The array must be a 1-dimensional array of type 32-bit Single (float), with 3N+1 entries, where N is the number of decomposition levels.
  • Setting this property of an Image control deletes any data in the image. This is because, for ActiveMIL to decompress an image, it must know the settings used to compress it. If you change one of these settings, ActiveMIL will be unable to decompress the image and its data is therefore irrelevant.
  • Setting this property rests the QFactor property to its default value.
  • Note that ActiveMIL-Lite compression support is reliant upon the presence of Matrox compression acceleration hardware. The compression algorithm supported depends on the hardware. If you don't have Matrox compression acceleration hardware, you can still perform compression under ActiveMIL-Lite with the compression/decompression runtime license package installed.


Image.JPEG2000Algorithm.TargetSize Property

TargetSize property

See Also | Availability | MIL Equivalent | Quantization
User Guide:
Compressing images - overview
Improving results
JPEG2000
Working with tables
Available in ActiveMIL-Lite with restrictions (see remarks)

Available in ActiveMIL
MbufControl(
ControlType =
M_TARGET_SIZE
)

MbufInquire(
InquireType =
M_TARGET_SIZE
)
Image
JPEG2000Algorithm
TargetSize
Synopsis
Returns or sets the intended size in bytes of the image compressed with the JPEG2000 lossy algorithm.
[]
Syntax
object.TargetSize [= Integer]
[]
Syntax
object->TargetSize [= long]
Type description
A long value, greater than 0, that specifies the intended size in bytes of the image if compressed with the JPEG2000 lossy algorithm.
Remarks
  • ActiveMIL does not support JPEG2000 lossless compressions.
  • The algorithm will compress a source image into this image so that the compressed size is as close to the specified value as possible.
  • To ensure that the compressed data fits into the specified image size, less-significant data is discarded.
  • The actual size of the compressed image might not be the same as the value specified by this property. To determine the actual compressed size of an image compressed with either the JPEG2000 lossy or lossless algorithms, see the DataSize property.
  • Note that ActiveMIL-Lite compression support is reliant upon the presence of Matrox compression acceleration hardware. The compression algorithm supported depends on the hardware. If you don't have Matrox compression acceleration hardware, you can still perform compression under ActiveMIL-Lite with the compression/decompression runtime license package installed.


Image.JPEGAlgorithm Property

JPEGAlgorithm property

See Also | Availability | MIL Equivalent | IsAllocated | JPEG2000Algorithm
User Guide:
Compressing images - overview

Reference:
Image.CompressionType
Image.FileInquire
Available in ActiveMIL-Lite with restrictions (see remarks)

Available in ActiveMIL
MbufControl(
ControlType =
M_HUFFMAN_AC or
M_HUFFMAN_DC or
M_PREDICTOR or
M_Q_FACTOR or
M_QUANTIZATION or
M_RESTART_INTERVAL
)

MbufInquire(
InquireType =
M_HUFFMAN_AC or
M_HUFFMAN_DC or
M_PREDICTOR or
M_Q_FACTOR or
M_QUANTIZATION or
M_RESTART_INTERVAL
)
Image
JPEGAlgorithm
Properties: HuffmanAC, HuffmanDC, Predictor, QFactor, Quantization, RestartInterval
Synopsis
Allows you to specify or determine the settings used to control the compression.
[]
Syntax
[JPEGAlgorithm =] object.JPEGAlgorithm
[]
Syntax
[IJPEGAlgorithmPtr =] object->JPEGAlgorithm
Type description
A JPEGAlgorithm object.
Remarks
  • You cannot assign another JPEGAlgorithm object to this property.
  • Note that ActiveMIL-Lite compression support is reliant upon the presence of Matrox compression acceleration hardware. The compression algorithm supported depends on the hardware. If you don't have Matrox compression acceleration hardware, you can still perform compression under ActiveMIL-Lite with the compression/decompression runtime license package installed.
[]
Example
This example shows how to use the JPEGAlgorithm property.

const long Q_FACTOR = 50;
ImCompressionTypeConstants CompressiontType = imJPEGLossy;

NewImage->CompressionType = CompressiontType;
NewImage->JPEGAlgorithm->QFactor = Q_FACTOR;


Image.JPEGAlgorithm.HuffmanAC Property

HuffmanAC property

See Also | Availability | MIL Equivalent | HuffmanDC
User Guide:
Compressing images - overview
Controlling a JPEG lossy compression
Improving results
Working with tables

Reference:
Image.JPEGAlgorithm.HuffmanDC
Available in ActiveMIL-Lite with restrictions (see remarks)

Available in ActiveMIL
MbufControl(
ControlType =
M_HUFFMAN_AC
)

MbufInquire(
InquireType =
M_HUFFMAN_AC
)
Image
JPEGAlgorithm
HuffmanAC
Synopsis
Returns or sets the AC Huffman table of a JPEG lossy compression.
[]
Syntax
object.HuffmanAC [= Array]
[]
Syntax
object->HuffmanAC [= _variant_t]
Type description
An array containing the table values.

Remarks
  • The array must be a 1-dimensional array of type unsigned Byte (unsigned BYTE) with 178 entries.
  • If you are compressing a multi-band image, the same table will be applied to all its bands.
  • Setting this property of an Image control deletes any data in the image. This is because, for ActiveMIL to decompress an image, it must know the settings used to compress it. If you change one of these settings, ActiveMIL will be unable to decompress the image and its data is therefore irrelevant.
  • Note that ActiveMIL-Lite compression support is reliant upon the presence of Matrox compression acceleration hardware. The compression algorithm supported depends on the hardware. If you don't have Matrox compression acceleration hardware, you can still perform compression under ActiveMIL-Lite with the compression/decompression runtime license package installed.


Image.JPEGAlgorithm.HuffmanDC Property

HuffmanDC property

See Also | Availability | MIL Equivalent | HuffmanAC | Predictor
User Guide:
Compressing images - overview
Controlling a JPEG lossless compression
Controlling a JPEG lossy compression
Improving results
Working with tables

Reference:
Image.JPEGAlgorithm.HuffmanAC
Image.JPEGAlgorithm.Quantization
Available in ActiveMIL-Lite with restrictions (see remarks)

Available in ActiveMIL
MbufControl(
ControlType =
M_HUFFMAN_DC
)

MbufInquire(
InquireType =
M_HUFFMAN_DC
)
Image
JPEGAlgorithm
HuffmanDC
Synopsis
Returns or sets the DC Huffman table of a JPEG compression.
[]
Syntax
object.HuffmanDC [= Array]
[]
Syntax
object->HuffmanDC [= _variant_t]
Type description
An array containing the table values.

Remarks
  • The array must be a 1-dimensional array of type unsigned Byte (unsigned BYTE) with 28 entries.
  • If you are compressing a multi-band image, the same table will be applied to all its bands.
  • Setting this property of an Image control deletes any data in the image. This is because, for ActiveMIL to decompress an image, it must know the settings used to compress it. If you change one of these settings, ActiveMIL will be unable to decompress the image and its data is therefore irrelevant.
  • Note that ActiveMIL-Lite compression support is reliant upon the presence of Matrox compression acceleration hardware. The compression algorithm supported depends on the hardware. If you don't have Matrox compression acceleration hardware, you can still perform compression under ActiveMIL-Lite with the compression/decompression runtime license package installed.


Image.JPEGAlgorithm.Predictor Property

Predictor property

See Also | Availability | MIL Equivalent | HuffmanDC | QFactor
User Guide:
Compressing images - overview
Controlling a JPEG lossless compression
Improving results
Working with tables
Available in ActiveMIL-Lite with restrictions (see remarks)

Available in ActiveMIL
MbufControl(
ControlType =
M_PREDICTOR
)

MbufInquire(
InquireType =
M_PREDICTOR
)
Image
JPEGAlgorithm
Predictor
Synopsis
Returns or sets the type of predictor for lossless compressions.
[]
Syntax
object.Predictor [= ImPredictorConstants]
[]
Syntax
object->Predictor [= enum ImPredictorConstants]
Type description
An ImPredictorConstants expression that specifies the type of predictor. (default is imLeftPixel)
Value | Meaning
imLeftPixel | Use predictor #1: the "pixel-to-the-left" predictor.
imAbovePixel | Use predictor #2: the "pixel-above" predictor.
imNoPredictor | Use predictor #0: no prediction.
Remarks
  • If you are compressing a multi-band image, the same predictor will be applied to all its bands.
  • Setting this property of an Image control deletes any data in the image. This is because, for ActiveMIL to decompress an image, it must know the settings used to compress it. If you change one of these settings, ActiveMIL will be unable to decompress the image and its data is therefore irrelevant.
  • Note that ActiveMIL-Lite compression support is reliant upon the presence of Matrox compression acceleration hardware. The compression algorithm supported depends on the hardware. If you don't have Matrox compression acceleration hardware, you can still perform compression under ActiveMIL-Lite with the compression/decompression runtime license package installed.


Image.JPEGAlgorithm.QFactor Property

QFactor property

See Also | Availability | MIL Equivalent | Predictor | Quantization
User Guide:
Compressing images - overview
Controlling a JPEG lossless compression
Controlling a JPEG lossy compression
Improving results
Working with tables

Reference:
Image.JPEGAlgorithm.Quantization
Available in ActiveMIL-Lite with restrictions (see remarks)

Available in ActiveMIL
MbufControl(
ControlType =
M_Q_FACTOR
)

MbufInquire(
InquireType =
M_Q_FACTOR
)
Image
JPEGAlgorithm
QFactor
Synopsis
Returns or sets the quantization factor for lossy compressions.
[]
Syntax
object.QFactor [= Integer]
[]
Syntax
object->QFactor [= long]
Type description
A long value, between 1 and 99, that specifies the quantization factor. (default is 50)
Remarks
  • The higher the factor, the more the compression, but the lower the image quality.
  • If you are compressing a multi-band image, the same factor will be applied to all its bands.
  • Setting this property of an Image control deletes any data in the image. This is because, for ActiveMIL to decompress an image, it must know the settings used to compress it. If you change one of these settings, ActiveMIL will be unable to decompress the image and its data is therefore irrelevant.
  • ActiveMIL scales all the quantization coefficients in the quantization table (Quantization property) according to the specified factor.
  • Note that ActiveMIL-Lite compression support is reliant upon the presence of Matrox compression acceleration hardware. The compression algorithm supported depends on the hardware. If you don't have Matrox compression acceleration hardware, you can still perform compression under ActiveMIL-Lite with the compression/decompression runtime license package installed.
[]
Example
This example shows how to set the QFactor property.

const long Q_FACTOR = 50;
ImCompressionTypeConstants CompressiontType = imJPEGLossy;

NewImage->CompressionType = CompressiontType;
NewImage->JPEGAlgorithm->QFactor = Q_FACTOR;


Image.JPEGAlgorithm.Quantization Property

Quantization property

See Also | Availability | MIL Equivalent | QFactor | RestartInterval
User Guide:
Compressing images - overview
Controlling a JPEG lossless compression
Controlling a JPEG lossy compression
Improving results
Working with tables

Reference:
Image.JPEGAlgorithm.HuffmanAC
Image.JPEGAlgorithm.HuffmanDC
Image.JPEGAlgorithm.QFactor
Available in ActiveMIL-Lite with restrictions (see remarks)

Available in ActiveMIL
MbufControl(
ControlType =
M_QUANTIZATION
)

MbufInquire(
InquireType =
M_QUANTIZATION
)
Image
JPEGAlgorithm
Quantization
Synopsis
Returns or sets the quantization table of a lossy compression.
[]
Syntax
object.Quantization [= Array]
[]
Syntax
object->Quantization [= _variant_t]
Type description
An array containing the table values.

Remarks
  • The array must be a 2-dimensional array of type unsigned Byte (unsigned BYTE) with 8x8 entries.
  • If you are compressing a multi-band image, the same table will be applied to all its bands.
  • Setting this property of an Image control deletes any data in the image. This is because, for ActiveMIL to decompress an image, it must know the settings used to compress it. If you change one of these settings, ActiveMIL will be unable to decompress the image and its data is therefore irrelevant.
  • Setting this property rests the QFactor property to its default value.
  • Note that ActiveMIL-Lite compression support is reliant upon the presence of Matrox compression acceleration hardware. The compression algorithm supported depends on the hardware. If you don't have Matrox compression acceleration hardware, you can still perform compression under ActiveMIL-Lite with the compression/decompression runtime license package installed.


Image.JPEGAlgorithm.RestartInterval Property

RestartInterval property

See Also | Availability | MIL Equivalent | Quantization
User Guide:
Compressing images - overview
Controlling a JPEG lossless compression
Controlling a JPEG lossy compression
Improving results
Working with tables
Available in ActiveMIL-Lite with restrictions (see remarks)

Available in ActiveMIL
MbufControl(
ControlType =
M_RESTART_INTERVAL
)

MbufInquire(
InquireType =
M_RESTART_INTERVAL
)
Image
JPEGAlgorithm
RestartInterval
Synopsis
Returns or sets the number of rows or blocks between restart markers in a compressed image.
[]
Syntax
object.RestartInterval [= Integer]
[]
Syntax
object->RestartInterval [= long]
Type description
A long value that specifies: for lossless compressions, the number of rows between restart markers; for lossy compressions, the number of 8x8 blocks of data between restart markers. For either compression type, the default is 8.
Remarks
  • Setting this property of an Image control deletes any data in the image. This is because, for ActiveMIL to decompress an image, it must know the settings used to compress it. If you change one of these settings, ActiveMIL will be unable to decompress the image and its data is therefore irrelevant.
  • If you are compressing a multi-band image, the same restart interval will be applied to all its bands.
  • Note that ActiveMIL-Lite compression support is reliant upon the presence of Matrox compression acceleration hardware. The compression algorithm supported depends on the hardware. If you don't have Matrox compression acceleration hardware, you can still perform compression under ActiveMIL-Lite with the compression/decompression runtime license package installed.


Image.Location Property

Location property

See Also | Availability | MIL Equivalent | JPEG2000Algorithm | LUTEnabled
User Guide:
Child images
Display number

Reference:
Image.OnBoardMemoryLocation
Available in ActiveMIL-Lite

Available in ActiveMIL

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Orion
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MbufAlloc1d(
Attribute =
M_ON_BOARD or
M_OFF_BOARD or
M_NON_PAGED or
M_PAGED
)

MbufAlloc2d(
Attribute =
M_ON_BOARD or
M_OFF_BOARD or
M_NON_PAGED or
M_PAGED
)

MbufAllocColor(
Attribute =
M_ON_BOARD or
M_OFF_BOARD or
M_NON_PAGED or
M_PAGED
)
Image
Location
Synopsis
Returns or sets the physical location of the image.
[]
Syntax
object.Location [= ImLocationConstants]
[]
Syntax
object->Location [= enum ImLocationConstants]
Type description
An ImLocationConstants expression that specifies the physical location of the image.
Value | Meaning
imLocationDefault | ActiveMIL determines the location in which to allocate the image.
imNonPagedMappableMemory | Force the allocation of the image in non-paged memory that can be set in the address space of the process (Host memory).
imOnBoard | Force the allocation of the image in on-board memory.
imOffBoard | Ensure that the allocation of the image is not in on-board memory.
imHostMemory | Force the allocation of the image in Host memory.
imVideoMemory | Force the allocation of the image in (off-screen) display memory of your graphics controller. Display memory is also referred to as video memory or frame buffer memory.

You can add one of the following ImLocationConstants values to the above.
Value | Meaning
imNonPaged | Force the allocation of the image in non-pageable memory.
imPaged | Force the allocation of the image in paged memory.
Remarks
  • If the Image control is created at design-time, the .NET ActiveX Control Importer (AxImp.exe) renames this ActiveMIL property from Location() to CtlLocation() to avoid name clashing with the Location() property of the .NET Windows Form control. See the Windows Forms ActiveX Control Importer (AxImp.exe) topic in MSDN for more information. In addition, if the control is created at run-time with the AxMatrox.ActiveMIL.* namespace, you must use CtlLocation() to call the ActiveMIL Location() property.
  • This property is read-only when the image is a child image. A child image is set using the ParentImage property.
  • This property cannot be set at run-time if the Image control is in the allocated state.
  • When set to imNonPageMappableMemory, the image is not mapped to Host memory by default. Therefore, the image will have a physical address, but not a Host address. Use the MappingToHostMemoryEnabled property to enable or disable the mapping to Host memory. The imNonPageMappableMemory setting is useful when dealing with many large buffers that cannot all be mapped in Host memory at the same time. By allocating an image in imNonPageMappableMemory, it can be mapped and unmapped as needed. Note that, if used with the imPaged attribute, an error will be generated.
Remarks for Matrox Corona-II
  • The following value is not supported:
    • imOnBoard.
  • By default, all images are allocated in Host memory to speed up processing.
Remarks for Matrox CronosPlus
  • The following value is not supported:
    • imOnBoard.
  • By default, all images are allocated in Host memory to speed up processing.
Remarks for Matrox Genesis
  • By default, all images allocated on a Matrox Genesis system are allocated in on-board, processing memory (fast SDRAM), to speed up processing.
  • When an image is selected on the display, a display copy is also created in display memory. When the image is processed while selected on the display, computation is done in processing memory and the display is updated at the completion of processing.
Remarks for Matrox Helios XA
  • To ensure that an off-board image can be used by the bus master transfer section of the Matrox Oasis ASIC, the image must be allocated in Host non-paged memory (with imNonPaged).
  • By default, all images are allocated in Host memory to speed up processing.
Remarks for Matrox Helios XCL
  • To ensure that an off-board image can be used by the bus master transfer section of the Matrox Oasis ASIC, the image must be allocated in Host non-paged memory (with imNonPaged).
  • By default, all images are allocated in Host memory to speed up processing.
Remarks for Matrox Meteor-II /1394
  • The following value is not supported:
    • imOnBoard.
  • By default, all images are allocated in Host memory to speed up processing.
Remarks for Matrox Meteor-II /Camera Link
  • The following value is not supported:
    • imOnBoard.
  • By default, all images are allocated in Host memory to speed up processing.
Remarks for Matrox Meteor-II /Digital
  • The following value is not supported:
    • imOnBoard.
  • By default, all images are allocated in Host memory to speed up processing.
Remarks for Matrox Meteor-II /Multi-Channel
  • The following value is not supported:
    • imOnBoard.
  • By default, all images are allocated in Host memory to speed up processing.
Remarks for Matrox Meteor-II /Standard
  • The following value is not supported:
    • imOnBoard.
  • By default, all images are allocated in Host memory to speed up processing.
Remark for Matrox Morphis
  • By default, all images are allocated in Host memory to speed up processing.
Remarks for Matrox Odyssey XA
  • To ensure that an off-board image can be used by the bus master transfer section of the Matrox Oasis ASIC, the image must be allocated in Host non-paged memory (with imNonPaged).
  • By default, all images are allocated in on-board processing memory to speed up processing.
  • By default, on-board processing memory is not mapped on the PCI bus. This unshared memory cannot be accessed by the Host or any system other than the one on which it was allocated. Use the OnBoardMemoryLocation property to changed this default behavior.
Remarks for Matrox Odyssey XCL
  • To ensure that an off-board image can be used by the bus master transfer section of the Matrox Oasis ASIC, the image must be allocated in Host non-paged memory (with imNonPaged).
  • By default, all images are allocated in on-board processing memory to speed up processing.
  • By default, on-board processing memory is not mapped on the PCI bus. This unshared memory cannot be accessed by the Host or any system other than the one on which it was allocated. Use the OnBoardMemoryLocation property to changed this default behavior.
Remarks for Matrox Odyssey XD
  • To ensure that an off-board image can be used by the bus master transfer section of the Matrox Oasis ASIC, the image must be allocated in Host non-paged memory (with imNonPaged).
  • By default, all images are allocated in Host memory to speed up processing.
Remarks for Matrox Orion
  • The following value is not supported:
    • imOnBoard.
  • By default, all images are allocated in Host memory to speed up processing.
Remarks for Matrox Solios XA
  • To ensure that an off-board image can be used by the bus master transfer section of the Matrox Oasis ASIC, the image must be allocated in Host non-paged memory (with imNonPaged).
  • By default, all images are allocated in Host memory to speed up processing.
Remarks for Matrox Solios XCL
  • To ensure that an off-board image can be used by the bus master transfer section of the Matrox Oasis ASIC, the image must be allocated in Host non-paged memory (with imNonPaged).
  • By default, all images are allocated in Host memory to speed up processing.


Image.LUT Property

LUT property

See Also | Availability | MIL Equivalent | LUTEnabled | MaximumPixelValue
User Guide:
Overview of LUTs
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufControl(
ControlType =
M_ASSOCIATE_LUT
)

MbufAlloc1d()

MbufAlloc2d()

MbufAllocColor()
Image
LUT
Properties: DataDepth, DataType, MaximumPixelValue, MilID, MinimumPixelValue, NumberOfBands, Size

Methods: GenerateColor, GenerateFunction, GenerateRamp, Get, Put
Synopsis
Allows you to specify or determine the custom LUT associated with the image.
[]
Syntax
[LUT =] object.LUT
[]
Syntax
[ILUTPtr =] object->LUT
Type description
A LUT object.
Remarks
  • You cannot assign another LUT object to this property.
  • Use this property to set up a custom LUT for the image. The image's custom LUT is used for displaying and, in specific situations, the copying of the image. For example, set up a LUT that produces the best effect upon displaying the image. Once the LUT is set up, you must enable it with the LUTEnabled property. This LUT is saved with the image when saving in MIL, BMP, or TIFF file format. If the image is displayed, and the display's custom LUT is not enabled, the display will use the image's custom LUT.
  • A LUT can only be associated with a 1-band 8-bit image.


Image.LUT.DataDepth Property

DataDepth property

See Also | Availability | MIL Equivalent | DataType
User Guide:
LUTs and the display

Reference:
Image.LUT.DataType
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc1d(
Attribute =
M_LUT
Type
)

MbufAlloc2d(
Attribute =
M_LUT
Type
)

MbufAllocColor(
Attribute =
M_LUT
Type
)

MbufInquire(
InquireType =
M_SIZE_BIT
)
Image
LUT
DataDepth
Synopsis
Returns or sets the data depth of the LUT.
[]
Syntax
object.DataDepth [= Integer]
[]
Syntax
object->DataDepth [= long]
Type description
A long value that specifies the number of bits. Possible values are 8, 16, and 32.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • Use the DataType property to specify the data type. The possible DataDepth settings for the corresponding DataType settings are:
    DataDepth | DataType
    8, 16, or 32 | lutSigned
    8, 16, or 32 | lutUnsigned
    32 | lutFloat
  • Use the NumberOfBands property to specify the number of bands in the LUT.


Image.LUT.DataType Property

DataType property

See Also | Availability | MIL Equivalent | DataDepth | MaximumPixelValue
Reference:
Image.LUT.DataDepth
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc1d(
Attribute =
M_LUT
Type
)

MbufAlloc2d(
Attribute =
M_LUT
Type
)

MbufAllocColor(
Attribute =
M_LUT
Type
)

MbufInquire(
InquireType =
M_TYPE
)
Image
LUT
DataType
Synopsis
Returns or sets the data type of the LUT.
[]
Syntax
object.DataType [= LUTDataTypeConstants]
[]
Syntax
object->DataType [= enum LUTDataTypeConstants]
Type description
A LUTDataTypeConstants expression that specifies the data type.
Value | Meaning
lutSigned | The data includes only integers.
lutUnsigned | The data includes only non-negative integers.
lutFloat | The data includes only floating-point numbers.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • Use the DataDepth property to specify the data depth. The possible DataDepth settings for the corresponding DataType settings are:
    DataDepth | DataType
    8, 16, or 32 | lutSigned
    8, 16, or 32 | lutUnsigned
    32 | lutFloat


Image.LUT.MaximumPixelValue Property

MaximumPixelValue property

See Also | Availability | MIL Equivalent | DataType | MilID
Reference:
Image.LUT.MinimumPixelValue
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufControl(
ControlType =
M_MAX
)

MbufInquire(
InquireType =
M_MAX
)
Image
LUT
MaximumPixelValue
Synopsis
Returns or sets the maximum pixel value possible in the image.
[]
Syntax
object.MaximumPixelValue [= Double]
[]
Syntax
object->MaximumPixelValue [= double]
Type description
A double value that specifies the maximum pixel value possible in the image.
Remarks
  • The MaximumPixelValue and MinimumPixelValue properties should specify the range of pixel values in the image. Upon display, pixel values between maximum pixel value and minimum pixel value are remapped linearly to values between the maximum and minimum display values possible.
  • Pixel values larger than the maximum value or smaller than the minimum value will result in undetermined effects upon display.
  • The maximum pixel value must be within the range of the image type. For example, for an unsigned 8-bit image, set this property to a value between 0 and 255, inclusive.


Image.LUT.MilID Property

MilID property

See Also | Availability | MIL Equivalent | MaximumPixelValue | MinimumPixelValue
User Guide:
Integrating MIL functions into your ActiveMIL code

Reference:
Image.IsAllocated
Image.Modified
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc1d(
Attribute =
M_LUT
BufIdPtr
)

MbufAlloc2d(
Attribute =
M_LUT
BufIdPtr
)

MbufAllocColor(
Attribute =
M_LUT
BufIdPtr
)
Image
LUT
MilID
Synopsis
Returns the Native MIL identifier of the allocated resources of the LUT.
[]
Syntax
[Integer =] object.MilID
[]
Syntax
[long =] object->MilID
Type description
A long value that specifies the Native MIL identifier of the LUT.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • The control's Modified method should be called after making Native MIL call(s) on the returned identifier.
  • If the control's IsAllocated property is False, the MilID property will be 0.


Image.LUT.MinimumPixelValue Property

MinimumPixelValue property

See Also | Availability | MIL Equivalent | MilID | NumberOfBands
Reference:
Image.LUT.MaximumPixelValue
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufControl(
ControlType =
M_MIN
)

MbufInquire(
InquireType =
M_MIN
)
Image
LUT
MinimumPixelValue
Synopsis
Returns or sets the minimum pixel value possible in the image.
[]
Syntax
object.MinimumPixelValue [= Double]
[]
Syntax
object->MinimumPixelValue [= double]
Type description
A double value that specifies the minimum pixel value possible in the image.
Remarks
  • The MaximumPixelValue and MinimumPixelValue properties should specify the range of pixel values in the image. Upon display, pixel values between maximum pixel value and minimum pixel value are remapped linearly to values between the maximum and minimum display values possible.
  • Pixel values larger than the maximum value or smaller than the minimum value will result in undetermined effects upon display.
  • The minimum pixel value must be within the range of the image type. For example, for an unsigned 8-bit image, set this property to a value between 0 and 255, inclusive.


Image.LUT.NumberOfBands Property

NumberOfBands property

See Also | Availability | MIL Equivalent | MinimumPixelValue | Size
User Guide:
Setting up your LUT
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufAllocColor(
Attribute =
M_LUT
SizeBand
)

MbufInquire(
InquireType =
M_SIZE_BAND
)
Image
LUT
NumberOfBands
Synopsis
Returns or sets the number of color bands of the LUT.
[]
Syntax
object.NumberOfBands [= Integer]
[]
Syntax
object->NumberOfBands [= long]
Type description
A long value that specifies the number of bands (1 or 3).
Remark
  • This property cannot be set at run-time if the control is in the allocated state.


Image.LUT.Size Property

Size property

Availability | MIL Equivalent | NumberOfBands | GenerateColor
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufAllocColor(
Attribute =
M_LUT
SizeBand
)

MbufInquire(
InquireType =
M_SIZE_X
)
Image
LUT
Size
Synopsis
Returns of sets the size of the LUT.
[]
Syntax
object.Size [= Integer]
[]
Syntax
object->Size [= long]
Type description
A long value that specifies the number of LUT entries.
Remark
  • This property cannot be set at run-time if the control is in the allocated state.


Image.LUT.GenerateColor Method

GenerateColor method

See Also | Availability | MIL Equivalent | Size | GenerateFunction
User Guide:
Generating data into LUTs

Reference:
Image.LUT.GenerateRamp
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Image
LUT
GenerateColor
Synopsis
Sets the specified LUT index entries to the specified color.
[]
Syntax
object.GenerateColor(
ByVal StartIndex As Integer,
ByVal EndIndex As Integer,
ByVal Color As System.UInt32
)
[]
Syntax
void object->GenerateColor(
long StartIndex,
long EndIndex,
OLE_COLOR Color
)
StartIndex
A longintegerlong (integer for Visual Basic .Net) value that specifies the first LUT index entry for which to set a color. This value must be less than or equal to the value of EndIndex.
EndIndex
A longintegerlong (integer for Visual Basic .Net) value that specifies the last LUT index entry for which to set a color.
Color
A Color value that specifies the color with which to fill the LUT.
Remarks
  • For the Color parameter, pass a property of the specified type or use your environment's RGB() function to explicitly set a value for each of the color bands (red, green, blue).
  • Each band of the LUT is filled with a corresponding component of the specified Color. For example, the red band will be filled with the red component, the green band with the green component, and the blue band with the blue component.
  • []
     To convert a System.Drawing.Color to an UInt32 value, use .NET framework's System.Drawing.ColorTranslator.ToOle method to convert the System.Drawing.Color value to an integer. Then, convert that integer to an UInt32 value, using .NET framework's System.Convert.ToUInt32 method.


Image.LUT.GenerateFunction Method

GenerateFunction method

See Also | Availability | MIL Equivalent | GenerateColor | GenerateRamp
User Guide:
Generating data into LUTs

Reference:
Image.LUT.GenerateRamp
Available in ActiveMIL-Lite

Available in ActiveMIL
MgenLutFunction()
Image
LUT
GenerateFunction
Synopsis
Generates data into a LUT according to the specified function.
[]
Syntax
object.GenerateFunction(
ByVal Function As LUTFunctionConstants,
ByVal StartIndex As Integer,
ByVal StartXValue As Double,
ByVal EndIndex As Integer,
ByVal a As Double,
ByVal b As Double,
ByVal c As Double
)
[]
Syntax
void object->GenerateFunction(
enum LUTFunctionConstants Function,
long StartIndex,
double StartXValue,
long EndIndex,
double a,
double b,
double c
)
Function
A LUTFunctionConstants expression that specifies the function to generate data.
Value | Meaning
lutLog | alogb(x) + c
lutExp | abx
lutSin | asin(bx) + c, where x is in degrees.
lutCos | acos(bx) + c, where x is in degrees.
lutTan | atan(bx) + c, where x is in degrees.
lutQuad | ax2 + bx + c
StartIndex
A long value that specifies the first LUT index entry for which to generate a value. This value must be less than or equal to the value of EndIndex.
StartXValue
A double value that specifies the initial value of X in the function.
EndIndex
A long value that specifies the last LUT index entry for which to generate a value.
a (optional in , default is 1.0)
A double value that specifies the value of the function constant a. (default is 1.0)
b (optional in , default is 1.0)
A double value that specifies the value of the function constant b. (default is 1.0)
c (optional in , default is 0.0)
A double value that specifies the value of the function constant c. (default is 0.0)
Remark
  • If the LUT is a multi-band LUT, the same data is written to all bands. To load different values into each, use the LUT.Put method.


Image.LUT.GenerateRamp Method

GenerateRamp method

See Also | Availability | MIL Equivalent | GenerateFunction | Get
User Guide:
Generating data into LUTs

Reference:
Image.LUT.GenerateFunction
Available in ActiveMIL-Lite

Available in ActiveMIL
MgenLutRamp()
Image
LUT
GenerateRamp
Synopsis
Generates a ramp, inverse ramp, or constant into a LUT according to the specified function.
[]
Syntax
object.GenerateRamp(
ByVal StartIndex As Integer,
ByVal StartValue As Double,
ByVal EndIndex As Integer,
ByVal EndValue As Double
)
[]
Syntax
void object->GenerateRamp(
long StartIndex,
double StartValue,
long EndIndex,
double EndValue
)
StartIndex
A long value that specifies the first LUT index for which to generate a value. This value must be less than or equal to the value of EndIndex.
StartValue
A double value that specifies the initial LUT value. It is also used to calculate the increment between LUT entries ((start value end value) / number of entries).
EndIndex
A long value that specifies the last LUT index for which to generate a value.
EndValue
A double value that specifies the final LUT value. It is also used to calculate the increment between LUT entries ((start value end value) / number of entries).
Remarks
  • StartValue and EndValue accept only integer values, except when using a floating-point LUT.
  • If StartValue and EndValue are the same value, the entire LUT is filled with this value.
  • If EndValue is smaller than StartValue, an inverse ramp is generated.


Image.LUT.Get Method

Get method

See Also | Availability | MIL Equivalent | GenerateRamp | Put
Reference:
Image.LUT.Put
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufGet()
Image
LUT
Get
Synopsis
Copies the LUT data to a specified user-array.
[]
Syntax
object.Get(
ByVal UserArray As Array,
ByVal Band As LUTBandConstants,
ByVal Offset As Integer,
ByVal Size As Integer
)
[]
Syntax
void object->Get(
VARIANT * UserArray,
enum LUTBandConstants Band,
long Offset,
long Size
)
UserArray
An array in which to put the data.

Band (optional in , default is lutAllBands)
A long value or LUTBandConstants expression that specifies the band from which to get the data.
Value | Meaning
lutRed | Copy from the red band only.
lutGreen | Copy from the green band only.
lutBlue | Copy from the blue band only.
lutAllBands | Copy from all bands.
value | Index of the band (0...n-1)
Offset (optional in , default is 0.0)
A long value that specifies the offset of the LUT region from which to get the data.
Size (optional in , default is -1.0)
A long value that specifies the number of LUT entries from which to get the data.
Remarks
  • Ensure that the user array is large enough to accommodate the data from the LUT.
  • It is assumed that the user array is of the same data type and depth as the LUT.


Image.LUT.Put Method

Put method

See Also | Availability | MIL Equivalent | Get
Reference:
Image.LUT.Get
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufPut()
Image
LUT
Put
Synopsis
Puts data from a specified user array into a LUT.
[]
Syntax
object.Put(
ByVal UserArray As Array,
ByVal Band As LUTBandConstants,
ByVal Offset As Integer,
ByVal Size As Integer
)
[]
Syntax
void object->Put(
const _variant_t & UserArray,
enum LUTBandConstants Band,
long Offset,
long Size
)
UserArray
An array that contains the data to be read.

Band (optional in , default is lutAllBands)
A long value or LUTBandConstants expression that specifies the band in which to copy the data.
Value | Meaning
lutRed | Copy to the red band only.
lutGreen | Copy to the green band only.
lutBlue | Copy to the blue band only.
lutAllBands | Copy to all bands.
value | Index of the band (0...n-1).
Offset (optional in , default is 0.0)
A long value that specifies the offset of the LUT region in which to copy the data.
Size (optional in , default is -1.0)
A long value that specifies the number of LUT entries into which to copy the data.
Remark
  • It is assumed that the array is of the same data type and depth as the LUT.
[]
Example
This example shows how create and fill a safe array to be used with the Put method of the LUT.

// Dimensions of the storage array
DWORD numElements[] = {256};

// The image has a data depth of 8 bits, and an unsigned data type,
// so create a one-dimensional array of type VT_UI1 for the LUT.
COleSafeArray LutArray;
LutArray.Create(VT_UI1, 1, numElements);

// Enter data into the arrays.
// Fill the array to create a ramp lut.
long index[1];
for(int i = 0; i < 256; i++)
   {
   index[0] = i;
   LutArray.PutElement(index, &i);
   }

// Always attach a COleSafeArray to a _variant_t before calling
// ActiveMIL's Put methods.
// The attach process invalidates the original COleSafeArray object
// by setting its variant type to VT_EMPTY.
_variant_t LutArrayVariant;
LutArrayVariant.Attach(LutArray);

// Enter the data in the LUT of the Image control.
m_LoadedImage->LUT->Put(LutArrayVariant,lutAllBands, 0, 256);

// Optionally, detach the _variant_t into the original COleSafeArray.
// If you do, COleSafeArray will delete the SAFEARRAY at its destruction.
// If you don't, _variant_t will delete it at its destruction.
// In either case, the memory will be released at the appropriate time.
LutArray.Attach(LutArrayVariant.Detach());


Image.LUTEnabled Property

LUTEnabled property

See Also | Availability | MIL Equivalent | Location | LUT
User Guide:
Child images
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Image
LUTEnabled
Synopsis
Returns or sets whether the image's custom LUT will be used, if possible.
[]
Syntax
object.LUTEnabled [= Boolean]
[]
Syntax
object->LUTEnabled [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the image's custom LUT will be used, if possible.
Value | Meaning
True | Use custom LUT.
False | Use transparent LUT.
Remarks
  • Before enabling this property, you should set up the image's custom LUT with the properties of the LUT property.
  • The image's custom LUT is used for displaying and, in specific situations, copying the image.
  • If the display's custom LUT and the image's custom LUT have both been enabled, the image is displayed according to the display's custom LUT.
  • This property is read-only when the image is a child image. A child image is set using the ParentImage property.
  • A LUT can only be associated with a 1-band 8-bit image.


Image.MappingToHostMemoryEnabled Property

MappingToHostMemoryEnabled property

Availability | MIL Equivalent | MaximumPixelValue | MinimumPixelValue
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufControl(
ControlType =
M_MAP
)
Image
MappingToHostMemoryEnabled
Synopsis
Returns or sets whether the image is mapped to the memory address space of the process (Host memory).
[]
Syntax
object.MappingToHostMemoryEnabled [= Boolean]
[]
Syntax
object->MappingToHostMemoryEnabled [= VARIANT_BOOL]
Type description
A boolean value that specifies whether to map the image to the address space of the process. (default is False)
Value | Meaning
True | Map the image to the address space of the process. This associates the image with a logical Host address.
False | Do not map the image to the address space of the process. This sets the image's Host address to zero.
Remark
  • Note that, to use this property, the image's Location property must be set to imNonPagedMappableMemory.


Image.MaximumPixelValue Property

MaximumPixelValue property

See Also | Availability | MIL Equivalent | LUT | MappingToHostMemoryEnabled
Reference:
Image.MinimumPixelValue
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufControl(
ControlType =
M_MAX
)

MbufInquire(
InquireType =
M_MAX
)
Image
MaximumPixelValue
Synopsis
Returns or sets the maximum pixel value possible in the image.
[]
Syntax
object.MaximumPixelValue [= Double]
[]
Syntax
object->MaximumPixelValue [= double]
Type description
A double value that specifies the maximum pixel value possible in the image.
Remarks
  • MaximumPixelValue and MinimumPixelValue should specify the range of pixel values in the image. Upon display, pixel values between MaximumPixelValue and MinimumPixelValue are remapped linearly to values between the maximum and minimum display values possible.
  • Pixel values larger than the maximum value or smaller than the minimum value will result in undetermined effects upon display.
  • The maximum pixel value must be within the range of the image type. For example, for an unsigned 8-bit image, set this value to value between 0 and 255, inclusive.


Image.MilID Property

MilID property

See Also | Availability | MIL Equivalent | MinimumPixelValue | ModificationCount
User Guide:
Integrating MIL functions with your ActiveMIL code

Reference:
Image.IsAllocated
Image.Modified
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc1d(BufIdPtr)

MbufAlloc2d(BufIdPtr)

MbufAllocColor(BufIdPtr)
Image
MilID
Synopsis
Returns the Native MIL identifier of the allocated resources of the Image control.
[]
Syntax
[Integer =] object.MilID
[]
Syntax
[long =] object->MilID
Type description
A long value that specifies the control's Native MIL identifier.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • The control's Modified method should be called after making Native MIL call(s) on the returned identifier.
  • If the control's IsAllocated property is False, the MilID property will be 0.


Image.MinimumPixelValue Property

MinimumPixelValue property

See Also | Availability | MIL Equivalent | MappingToHostMemoryEnabled | MilID
Reference:
Image.MaximumPixelValue
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufControl(
ControlType =
M_MIN
)

MbufInquire(
InquireType =
M_MIN
)
Image
MinimumPixelValue
Synopsis
Returns or sets the minimum pixel value possible in the image.
[]
Syntax
object.MinimumPixelValue [= Double]
[]
Syntax
object->MinimumPixelValue [= double]
Type description
A double value that specifies the minimum pixel value possible in the image.
Remarks
  • MaximumPixelValue and MinimumPixelValue should specify the range of pixel values in the image. Upon display, pixel values between MaximumPixelValue and MinimumPixelValue are remapped linearly to values between the maximum and minimum display values possible.
  • Pixel values larger than the maximum value or smaller than the minimum value will result in undetermined effects upon display.
  • The minimum pixel value must be within the range of the image type. For example, for an unsigned 8-bit image, set this value to value between 0 and 255, inclusive.


Image.ModificationCount Property

ModificationCount property

Availability | MIL Equivalent | MilID | Name
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufInquire(
InquireType =
M_MODIFICATION_COUNT
)
Image
ModificationCount
Synopsis
Returns the current value of the modification counter of the image.
[]
Syntax
[Integer =] object.ModificationCount
[]
Syntax
[long =] object->ModificationCount
Type description
A unique long value incremented by one each time a modification is made to the image.
Remarks
  • The modification counter is initialized to a number that is unique to the image and is given its own unique range. If the image is freed, this number will not be reassigned to a new image. This number is incremented by one each time the image is modified.
  • If the image is accessed externally, for example, when using the AssignMemory method, the Modified method must be called to indicate that the image's contents have been modified. Calling this method will increment the counter.
  • This feature is useful for optimization. For example, you can avoid repeating certain computations (for example, analysis computations) if you know that the image has not been modified. In this case, read this property before the first computation in the sequence of computations and then read it again before repeating the same sequence. If no modifications have been made to the image, you can avoid repeating the sequence unnecessarily.


Image.Name Property

Name property

Availability | MIL Equivalent | ModificationCount | NumberOfBands
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Image
Name
Synopsis
Returns or sets the name used in code to identify the Image control.
[]
Syntax
object.Name [= String]
[]
Syntax
object->Name [= _bstr_t]
Type description
A string expression that specifies the name of the Image control.
Remarks
  • This property cannot be set at run-time.
  • The default name for a new control is the type of control plus a unique integer. For example, the first new Image control you create on a form is named Image1 and the second Image control is named Image2.
  • A control's Name property must start with a letter and can be a maximum of 40 characters. It can include numbers and underscore (_) characters but cannot include spaces or punctuation. Although the Name property setting can be a keyword, property name, or the name of another object, this can create conflicts in your code.


Image.NumberOfBands Property

NumberOfBands property

See Also | Availability | MIL Equivalent | Name | OnBoardMemoryLocation
User Guide:
Child images
Dimensions
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufAllocColor(
SizeBand
Attribute =
M_IMAGE
)

MbufInquire(
InquireType =
M_SIZE_BAND
)
Image
NumberOfBands
Synopsis
Returns or sets the number of color bands of the Image control.
[]
Syntax
object.NumberOfBands [= Integer]
[]
Syntax
object->NumberOfBands [= long]
Type description
A long value that specifies the number of bands (1 ... 4).
Remarks
  • This property cannot be set at run-time if the Image control is in the allocated state.
  • This property is read-only when the image is a child image. A child image is set using the ParentImage property.
[]
Example
This example shows how to set the NumberOfBands property.

m_Image1->SizeX = m_LoadedImage->SizeX;
m_Image1->SizeY = m_LoadedImage->SizeY;
m_Image1->DataDepth = 8;
m_Image1->DataType = imUnsigned;
m_Image1->NumberOfBands = 3;


Image.OnBoardMemoryLocation Property

OnBoardMemoryLocation property

Availability | MIL Equivalent | NumberOfBands | OwnerSystem
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox Morphis
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox CronosPlus
Not supported on Matrox Corona-II
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital

See remarks for support on:
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Genesis
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MbufAlloc1d(
Attribute =
M_ON_BOARD +
( M_FAST_MEMORY or
M_SHARED)
)

MbufAlloc2d(
Attribute =
M_ON_BOARD +
( M_FAST_MEMORY or
M_SHARED)
)

MbufAllocColor(
Attribute =
M_ON_BOARD +
( M_FAST_MEMORY or
M_SHARED)
)
Image
OnBoardMemoryLocation
Synopsis
Returns or sets the on-board memory location of the image.
[]
Syntax
object.OnBoardMemoryLocation [= ImOnBoardMemoryLocationConstants]
[]
Syntax
object->OnBoardMemoryLocation [= enum ImOnBoardMemoryLocationConstants]
Type description
An ImOnBoardMemoryLocationConstants expression that specifies the on-board memory location of the image.
Value | Meaning
imDefaultOnBoardMemoryLocation | ActiveMIL determines the on-board memory location in which to allocate the image.
imFastMemory | Force the allocation of the image in the fast-processing memory.
imShared | Force the allocation of the image in processing memory that is mapped on the PCI bus.
Remarks
  • This property is only available when the Location property is set to imOnBoard.
  • By default, all on-board buffers are allocated in memory that is not mapped on the PCI bus. This unshared memory cannot be accessed by the Host or any system other than the one on which it was allocated.
Remark for Matrox Genesis
  • Only imDefaultOnBoardMemoryLocation is supported.
Remarks for Matrox Helios XA
  • The imFastMemory value is not supported.
  • When allocating an image in shared memory, you must first use MilConfig to establish the amount of shared memory available.
Remarks for Matrox Helios XCL
  • The imFastMemory value is not supported.
  • When allocating an image in shared memory, you must first use MilConfig to establish the amount of shared memory available.
Remarks for Matrox Odyssey XA
  • When allocating an image in fast-processing memory, Matrox Odyssey Xpro has up to 2 Mbytes of memory available for fast processing. Any image allocated in fast memory must entirely fit within this memory. If it does not, the buffer will be allocated in ordinary processing memory instead.

    Fast processing memory is only accessible to the G4 PowerPC and not to the Host, frame grabber module, or PA. Therefore, depending on the operation, allocating a buffer in fast processing memory might not accelerate processing.

    This memory is L3 external cache. It must be enabled using the OdcMon utility before it can be used.

    Note that an image allocated in fast processing memory cannot be used for grabbing or display.

  • When allocating an image in shared memory, you must first use the OdcConfig utility to establish the amount of shared memory available.
Remarks for Matrox Odyssey XCL
  • When allocating an image in fast-processing memory, Matrox Odyssey Xpro has up to 2 Mbytes of memory available for fast processing. Any image allocated in fast memory must entirely fit within this memory. If it does not, the buffer will be allocated in ordinary processing memory instead.

    Fast processing memory is only accessible to the G4 PowerPC and not to the Host, frame grabber module, or PA. Therefore, depending on the operation, allocating a buffer in fast processing memory might not accelerate processing.

    This memory is L3 external cache. It must be enabled using the OdcMon utility before it can be used.

    Note that an image allocated in fast processing memory cannot be used for grabbing or display.

  • When allocating an image in shared memory, you must first use the OdcConfig utility to establish the amount of shared memory available.
Remarks for Matrox Odyssey XD
  • When allocating an image in fast-processing memory, Matrox Odyssey Xpro has up to 2 Mbytes of memory available for fast processing. Any image allocated in fast memory must entirely fit within this memory. If it does not, the buffer will be allocated in ordinary processing memory instead.

    Fast processing memory is only accessible to the G4 PowerPC and not to the Host, frame grabber module, or PA. Therefore, depending on the operation, allocating a buffer in fast processing memory might not accelerate processing.

    This memory is L3 external cache. It must be enabled using the OdcMon utility before it can be used.

    Note that an image allocated in fast processing memory cannot be used for grabbing or display.

  • When allocating an image in shared memory, you must first use the OdcConfig utility to establish the amount of shared memory available.
Remarks for Matrox Solios XA
  • The imFastMemory value is not supported.
  • When allocating an image in shared memory, you must first use MilConfig to establish the amount of shared memory available.
Remarks for Matrox Solios XCL
  • The imFastMemory value is not supported.
  • When allocating an image in shared memory, you must first use MilConfig to establish the amount of shared memory available.


Image.OwnerSystem Property

OwnerSystem property

See Also | Availability | MIL Equivalent | OnBoardMemoryLocation | OwnerSystemName
User Guide:
Child images
Owner system

Reference:
System
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc1d(SystemId)

MbufAlloc2d(SystemId)

MbufAllocColor(SystemId)
Image
OwnerSystem
Synopsis
Returns or sets the system on which the resources of the Image control are allocated.
[]
Syntax
object.OwnerSystem [= System]
[]
Syntax
object->OwnerSystem [= ISystemPtr]
Type description
A System control that specifies the system to set as the owner (parent) of the Image control.
Remarks
  • This property is read-only when the Image is a child image. A child image is set using the ParentImage property.
  • This property cannot be set at run-time if the Image control is in the allocated state.
  • The owner system can also be specified, with the name assigned to its control, using the OwnerSystemName property.
  • This property automatically sets the OwnerSystemName property.


Image.OwnerSystemName Property

OwnerSystemName property

See Also | Availability | MIL Equivalent | OwnerSystem | ParentImage
User Guide:
Child images
Owner system

Reference:
System
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc1d(SystemId)

MbufAlloc2d(SystemId)

MbufAllocColor(SystemId)
Image
OwnerSystemName
Synopsis
Returns or sets the name of the System control representing the system on which the resources of the Image control are allocated.
[]
Syntax
object.OwnerSystemName [= String]
[]
Syntax
object->OwnerSystemName [= _bstr_t]
Type description
A string expression that specifies the name of the System control to set as the owner (parent) of the Image control.
Remarks
  • This property is read-only when the Image is a child image. A child image is set using the ParentImage property.
  • This property cannot be set at run-time if the Image control is in the allocated state.
  • The owner system can also be specified using the OwnerSystem property.
  • This property automatically sets the OwnerSystem property.


Image.ParentImage Property

ParentImage property

See Also | Availability | MIL Equivalent | OwnerSystemName | ParentImageName
User Guide:
Child images
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufChild(ParentBufferID)

MbufInquire(
InquireType =
M_PARENT_ID
)
Image
ParentImage
Synopsis
Returns or sets the parent image of a child image.
[]
Syntax
object.ParentImage [= Image]
[]
Syntax
object->ParentImage [= IImagePtr]
Type description
An Image control that specifies the parent of the image.
Remarks
  • If no parent image is specified, ActiveMIL allocates the image its own memory; otherwise, the image is considered a child image. The following properties are read-only when the Image is a child image: CanGrab, CanDisplay, CanProcess, CompressionType, Format, Location, OwnerSystem, LUTEnabled, DataType, DataDepth, NumberOfBands.
  • This property cannot be set at run-time if the Image control is in the allocated state.
  • []
     Use the Visual Basic Is Nothing statement to confirm that this property is currently not associated with a control.
  • []
     To remove the reference to the current control without assigning a new control, set the property to Nothing.
  • []
     To remove the reference to the current control without assigning a new control, set the property to NULL.
  • The parent image can also be specified, with the name assigned to its control, using the ParentImageName property.
  • This property automatically sets the ParentImageName property.
[]
Example
This example demonstrates how to use the ParentImage property.

Image2.AutomaticAllocation = True
Image2.ParentImage = Image1

Image1.AutomaticAllocation = True
Image1.OwnerSystem = System1

' After this call Image1, Image2 and System1 will be in the allocated state.
System1.Allocate()
[]
Example
This example demonstrates how to use the ParentImage property.

m_Image2->AutomaticAllocation = TRUE;
m_Image2->ParentImage = m_Image1;

m_Image1->AutomaticAllocation = TRUE;
m_Image1->OwnerSystem = m_System1;

// After this call m_Image1, m_Image2 and m_System1
// will be in the allocated state.
m_System1->Allocate();


Image.ParentImageName Property

ParentImageName property

See Also | Availability | MIL Equivalent | ParentImage | PhysicalAddress
User Guide:
Child images
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufChild(ParentBufferID)

MbufInquire(
InquireType =
M_PARENT_ID
)
Image
ParentImageName
Synopsis
Returns or sets the parent image of a child image.
[]
Syntax
object.ParentImageName [= String]
[]
Syntax
object->ParentImageName [= _bstr_t]
Type description
A string expression that specifies the name of the Image control to set as the parent of the image.
Remarks
  • If no parent image is specified, ActiveMIL allocates the image its own memory; otherwise, the image is considered a child image. The following properties are read-only when the Image is a child image: CanGrab, CanDisplay, CanProcess, CompressionType, Format, Location, OwnerSystem, LUTEnabled, DataType, DataDepth, NumberOfBands.
  • This property cannot be set at run-time if the Image control is in the allocated state.
  • To remove the reference to the current control without assigning a new control, specify an empty string ("").
  • The parent image can also be specified using the ParentImage property.
  • This property automatically sets the ParentImage property


Image.PhysicalAddress Property

PhysicalAddress property

See Also | Availability | MIL Equivalent | ParentImageName | PitchByte
User Guide:
Accessing image data

Reference:
Image.AssignMemory
Image.HostAddress
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufInquire(
InquireType =
M_PHYSICAL_ADDRESS
)
Image
PhysicalAddress
Synopsis
Returns the physical address of the image's data.
[]
Syntax
[Integer =] object.PhysicalAddress
[]
Syntax
[long =] object->PhysicalAddress
Type description
A long value that specifies the starting address of the image's data.
Remarks
  • Note that the physical address is not necessarily an address in Host memory. It could be an address in the on-board memory.
  • Available only for a non-paged image mapped to the Host.
  • This property is intended to be used as a parameter to the AssignMemory method to map another image to this image. For example, to map Image2 to Image1, use the following call:
    • Image2.AssignMemory(PhysicalAddress, imLogicalAddress + imPitchInBytes, image1.PitchByte)
  • To read or write data from/to an image, you should find that the Get and Put methods, respectively, are generally suitable.
  • To access an image's address in Host memory, use the HostAddress property.
  • Note that the physical address of the image's data is only available if the image is visible from the Host address space.


Image.PitchByte Property

PitchByte property

See Also | Availability | MIL Equivalent | PhysicalAddress | PropertyValidation
User Guide:
Accessing image data

Reference:
Image.AssignMemory
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufInquire(
InquireType =
M_PITCH_BYTE
)
Image
PitchByte
Synopsis
Returns the number of bytes between the beginnings of any two adjacent lines of the image data.
[]
Syntax
[Integer =] object.PitchByte
[]
Syntax
[long =] object->PitchByte
Type description
A long value that specifies the number of bytes between the beginnings of any two adjacent lines of the image data.
Remarks
  • This property is intended to be used as a parameter to the AssignMemory method to map another image to this image.
  • Note that an image's pitch is not necessarily the same as its width in bytes, since the image could be a child image or could have been allocated with some padding at the end of each line.


Image.PropertyValidation Property

PropertyValidation property

See Also | Availability | MIL Equivalent | PitchByte | SizeX
User Guide:
Error reporting
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Image
PropertyValidation
Synopsis
Returns or sets whether the properties of the Image control are dynamically validated.
[]
Syntax
object.PropertyValidation [= Boolean]
[]
Syntax
object->PropertyValidation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the property validation mode.
Value | Meaning
True | The control's properties will be dynamically validated. Errors will be generated during the design process.
False | The control's properties will not be dynamically validated. Errors will only be generated at run-time.
Remarks
  • At run-time, this property is read-only and is always set to True.
  • When set to True and if one of the control's properties is not properly set, then the control is outlined in red. The Error page of the control's property pages describes the specific error.


Image.SizeX Property

SizeX property

See Also | Availability | MIL Equivalent | PropertyValidation | SizeY
User Guide:
Dimensions

Reference:
Image.SizeY
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc1d(SizeX)

MbufAlloc2d(SizeX)

MbufAllocColor(SizeX)

MbufInquire(
InquireType =
M_SIZE_X
)
Image
SizeX
Synopsis
Returns or sets the image's width.
[]
Syntax
object.SizeX [= Integer]
[]
Syntax
object->SizeX [= long]
Type description
A long value that specifies the number of pixels in the horizontal direction.
Remark
  • This property cannot be set at run-time if the control is in the allocated state.
[]
Example
This example shows how to set the SizeX property.

m_Image1->SizeX = m_LoadedImage->SizeX;
m_Image1->SizeY = m_LoadedImage->SizeY;
m_Image1->DataDepth = 8;
m_Image1->DataType = imUnsigned;
m_Image1->NumberOfBands = 3;


Image.SizeY Property

SizeY property

See Also | Availability | MIL Equivalent | SizeX | WhiteBalanceCoefficients
User Guide:
Dimensions

Reference:
Image.SizeX
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc2d(SizeY)

MbufAllocColor(SizeY)

MbufInquire(
InquireType =
M_SIZE_Y
)
Image
SizeY
Synopsis
Returns or sets the image's height.
[]
Syntax
object.SizeY [= Integer]
[]
Syntax
object->SizeY [= long]
Type description
A long value that specifies the number of pixels in the vertical direction.
Remark
  • This property cannot be set at run-time if the control is in the allocated state.
[]
Example
This example shows how to set the SizeY property.

m_Image1->SizeX = m_LoadedImage->SizeX;
m_Image1->SizeY = m_LoadedImage->SizeY;
m_Image1->DataDepth = 8;
m_Image1->DataType = imUnsigned;
m_Image1->NumberOfBands = 3;


Image.WhiteBalanceCoefficients Property

WhiteBalanceCoefficients property

See Also | Availability | MIL Equivalent | SizeY | Allocate
User Guide:
Using images with the Bayer color filter

Reference:
Image.Bayer
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufBayer(WhiteBalanceCoefficientsID)
Image
WhiteBalanceCoefficients
Synopsis
Returns or sets the white balance correction coefficient for a specified intermediate RGB band.
[]
Syntax
Get:
[Single=]object.WhiteBalanceCoefficients(
Band As ImBandConstants
)

Set:
object.WhiteBalanceCoefficients(
Band As ImBandConstants,
value_to_set as Single
)
[]
Syntax
object->WhiteBalanceCoefficients[enum ImBandConstants Band] [= float]
Band
An ImBandConstants expression that specifies the intermediate RGB band.
Value | Meaning
imRed | Red band.
imGreen | Green band.
imBlue | Blue band.
Type description
A float value that specifies the value for the specified intermediate RGB band.
Remarks
  • This property is used by the Bayer method of the Image control.
  • The Bayer method can automatically calculate the white balance correction coefficients. Alternatively, you can manually specify them using this property. You can specify a different coefficient for each band. To do so, set this property 3 times, each time specifying a different band.
  • For more information on these coefficients, see the Bayer method.


Image.Allocate Method

Allocate method

See Also | Availability | MIL Equivalent | WhiteBalanceCoefficients | AssignMemory
User Guide:
Properties of images
Setting up controls

Reference:
Image.AutomaticAllocation
Image.Free
Image.IsAllocated
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc1d()

MbufAlloc2d()

MbufAllocColor()

MbufChild1d()

MbufChild2d()

MbufChildColor()

MbufChildColor2d()
Image
Allocate
Synopsis
Allocates the resources of the Image control.
[]
Syntax
object.Allocate()
[]
Syntax
void object->Allocate()
Remarks
  • By default, the control's AutomaticAllocation property is set to True, and therefore allocation is done automatically.
  • To preserve resources and delay allocation until necessary, set the AutomaticAllocation property to False and call the Allocate method only when the control is actually needed.
  • To create a new Image control at run-time, use the CreateObject method of the Application control.
  • If you call this method while the control is in the allocated state, an error is generated. To determine the allocation state of a control, use the IsAllocated property.
  • The following properties cannot be changed at run-time while the control is in the allocated state (free this control using the Free method):
    • OwnerSystem
    • OwnerSystemName
    • SizeX
    • SizeY
    • DataType
    • DataDepth
    • NumberOfBands
    • CanGrab
    • CanDisplay
    • CanProcess
    • Location
    • FastOverscanEnabled
    • Format
    • Band
    • CompressionType
    • ParentImage
    • Properties of the ChildRegion property.
    • Properties of the LUT property.
  • After allocation, any child image will automatically get allocated if its AutomaticAllocation property is set to true.
  • If you try to allocate an Image control before its owner system or parent image is allocated, an error is generated.
[]
Example
This example demonstrates how to allocate multiple controls with a single call to the Allocate method.

Image2.AutomaticAllocation = True
Image2.ParentImage = Image1

Image1.AutomaticAllocation = True
Image1.OwnerSystem = System1

' After this call Image1, Image2 and System1 will be in the allocated state.
System1.Allocate()
[]
Example
This example demonstrates how to allocate multiple controls with a single call to the Allocate method.

m_Image2->AutomaticAllocation = TRUE;
m_Image2->ParentImage = m_Image1;

m_Image1->AutomaticAllocation = TRUE;
m_Image1->OwnerSystem = m_System1;

// After this call m_Image1, m_Image2 and m_System1
// will be in the allocated state.
m_System1->Allocate();


Image.AssignMemory Method

AssignMemory method

See Also | Availability | MIL Equivalent | Allocate | Bayer
Reference:
Image.HostAddress
Image.PhysicalAddress
Image.PitchByte
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital

See remarks for support on:
See remarks for support on Matrox Orion
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox Corona-II
MbufCreate2d()

MbufCreateColor()
Image
AssignMemory
Synopsis
Allocates the Image control using the memory at the specified location.
[]
Syntax
object.AssignMemory(
ByVal UserArray As Object,
ByVal ControlFlag As ImControlFlagConstants,
ByVal Pitch As Integer
)
[]
Syntax
void object->AssignMemory(
const _variant_t & UserArray,
enum ImControlFlagConstants ControlFlag,
long Pitch
)
UserArray
There are 4 different types for this parameter:

- A 1-dimensional, 2-dimensional, or 3-dimensional user array of data.

- A longintegerlong (integer for Visual Basic .Net) value that specifies a pointer to the data.

- A user array of pointers to the data.

- A user array that references user arrays of data.

ControlFlag
An ImControlFlagConstants expression that specifies the nature of the UserArray and Pitch parameters.
Value | Meaning
imLogicalAddress + imPitchInPixels | The data is in the process' logical address space and the pitch is expressed in pixels.
imLogicalAddress + imPitchInBytes | The data is in the process' logical address space and the pitch is expressed in bytes.
imPhysicalAddress + imPitchInPixels | The data represents pointers to physical addresses and the pitch is expressed in pixels.
imPhysicalAddress + imPitchInBytes | The data represents pointers to physical addresses and the pitch is expressed in bytes.
imImageControl + imPitchInPixels | The data represents pointers to an array of Image controls and the pitch is expressed in pixels.
imImageControl + imPitchInBytes | The data represents pointers to an array of Image controls and the pitch is expressed in bytes.
Pitch (optional in , default is amilDefault)
A longintegerlong (integer for Visual Basic .Net) value or an ActiveMILDefaultConstants expression that specifies the pitch of the memory specified in UserArray.
Value | Meaning
amilDefault | The width (size X) of the image. Note that this value is valid only when the ControlfFlag is set to imImageControl.
value | The difference between the beginnings of any two adjacent lines of image data, in pixels or bytes.
Remarks
  • This function must be used with caution because of the direct control it provides.
  • Befrore calling the AssignMemory method, you should call the Free method.
  • After calling the AssignMemory method, the image is in the allocated state. Call the Free method before deleting the memory assigned to this image.
  • You can use this method to map the data contents of an image to another. Use the HostAddress or PhysicalAddress property to obtain the address of the data contents of the image to be mapped.
  • The image's internal data format and intended usage attributes must be specified; ActiveMIL needs to know the internal data format of the image in order to manipulate the data. For example, you do not want ActiveMIL to interpret a packed image as planar. Note that you can only create an image with its CanGrab property set to true if you pass the physical address(es) of the memory and if the memory is physically contiguous, non-paged memory.
  • Note that when creating an imBGR24Packed image, you should use imPitchInBytes instead of imPitchInPixels because the latter might not be able to take into account internal padding.
  • Pointers to memory or a user-defined array can be passed to the AssignMemory method. The following table explains the different approaches to assigning memory, based on the type of image you want to create:
    Approach | Type of Image
    Monochrome | Planar color | Packed color
    1-dimensional array | (SizeX * SizeY) | (SizeX * SizeY * NumberOfBands) | (SizeX * SizeY * NumberOfBands)
    2-dimensional array | (SizeX, SizeY) | (SizeX * SizeY, NumberOfBands) | No
    3-dimensional array | No | (SizeX, SizeY, NumberOfBands) | No
    Single pointer | Yes | No | Yes
    Array of pointers | No | Yes | No
    Array of arrays | No | Yes | No
  • When allocating a planar color image using an array of arrays, the primary array must have as many array elements as number of bands. In addition, each array element must be a user-defined array in the appropriate format, that is, a 1-dimensional array (SizeX * SizeY) or 2-dimensional array (SizeX, SizeY) format.
  • If an image selected on the display is modified using an assigned image, its display is not updated until you notify it of the change using the Modified method (with imContents).
  • An image created by this method and whose CompressionType property is set to a value other than imUncompressed, should not be used as a destination of an ActiveMIL operation. If a compressed image is used as a source for an operation, the data will be decompressed depending on the attributes of the object Image.
  • In all cases, if the grab destination image is smaller than the digitizer's frame size, the image will be filled and all other data will be lost. If the grab destination image is larger than the digitizer's frame size, the image will be filled up to the digitizer's frame size. The rest of the image will remain untouched.
Remarks for Matrox Corona-II
  • Only the following ControlFlags parameter settings are supported when the CanGrab property is set to True: imPhysicalAddress+ imPitchInPixels, imPhysicalAddress+ imPitchInBytes.
  • UserArray must specify an array of physical addresses.
Remark for Matrox Meteor-II /Multi-Channel
  • Only the following ControlFlag parameter settings are supported: imPhysicalAddress+ imPitchInPixels, imPhysicalAddress+ imPitchInBytes
Remark for Matrox Meteor-II /Standard
  • Only the following ControlFlag parameter settings are supported: imPhysicalAddress+ imPitchInPixels, imPhysicalAddress+ imPitchInBytes
Remark for Matrox Orion
  • Only the following ControlFlag settings are supported when the CanGrab property is set to True: imPhysicalAddress + imPitchInPixels, imPhysicalAddress + imPitchInBytes.
[]
Example
Assign the memory of an image using the logical address of another image.

Dim AssignedImage As IImage
AssignedImage = Application1.CreateObject("MIL.Image", False)
With AssignedImage
    .CanGrab = False
    .CanDisplay = True
    .Location = imOffBoard

    .SizeX = LoadedImage.SizeX
    .SizeY = LoadedImage.SizeY
    .DataDepth = LoadedImage.DataDepth
    .DataType = LoadedImage.DataType
    .NumberOfBands = LoadedImage.NumberOfBands
End With

Dim RealImage As IImage
RealImage = Application1.CreateObject("MIL.Image", False)
With RealImage
    .CanGrab = False
    .CanDisplay = True
    .Location = imOffBoard

    .SizeX = LoadedImage.SizeX
    .SizeY = LoadedImage.SizeY
    .DataDepth = LoadedImage.DataDepth
    .DataType = LoadedImage.DataType
    .NumberOfBands = LoadedImage.NumberOfBands

    .Allocate()
End With

' Assign the memory of RealImage to AssignedImage
AssignedImage.AssignMemory(RealImage.HostAddress, _
                        imLogicalAddress + imPitchInBytes, _
                        RealImage.PitchByte)

' Here, AssignedImage and RealImage are both allocated and
' share the same memory

' Modify RealImage using the Image.Copy method
' thus modifying AssignedImage
RealImage.Copy(LoadedImage)

' Inform the AssignedImage object that its contents have been modified
AssignedImage.Modified(imContents)


Image.Bayer Method

Bayer method

See Also | Availability | MIL Equivalent | AssignMemory | Clear
User Guide:
Using images with the Bayer color filter

Reference:
Image.Format
Image.GammaCorrectionExponents
Image.WhiteBalanceCoefficients
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufBayer()
Image
Bayer
Synopsis
Decode the color information from a single-band, Bayer encoded image, and perform white balance correction and gamma correction, if necessary.
[]
Syntax
object.Bayer(
ByVal SourceImage As Image,
ByVal BayerPattern As ImBayerPatternConstants,
ByVal WhiteBalance As ImWhiteBalanceConstants
)
[]
Syntax
void object->Bayer(
IImage * SourceImage,
enum ImBayerPatternConstants BayerPattern,
enum ImWhiteBalanceConstants WhiteBalance
)
SourceImage
An Image control that specifies the image to convert. To achieve maximum conversion performance, the source image should be an unsigned one-band image. If you specify a 3-band image, only the first band will be used.
BayerPattern
An ImBayerPatternConstants expression that specifies the Bayer pattern to use in the conversion.
Value | Meaning
imBayerGB | Use the Bayer pattern that has the top-left pixel as the green component and the next pixel as the blue component. That is, pixel [0,0] is green, pixel [1,0] is blue and pixel [0,1] is red in the source image.
imBayerBG | Use the Bayer pattern that has the top-left pixel as the blue component and the next pixel as the green component. That is, pixel [0,0] is blue, pixel [1,0] is green and pixel [1,1] is red in the source image.
imBayerRG | Use the Bayer pattern that has the top-left pixel as the red component and the next pixel as the green component. That is, pixel [0,0] is red, pixel [1,0] is green and pixel [1,1] is blue in the source image.
imBayerGR | Use the Bayer pattern that has the top-left pixel as the green component and the next pixel as the red component. That is, pixel [0,0] is green, pixel [1,0] is red and pixel [0,1] is blue in the source image.
WhiteBalance (optional in , default is imNotUsed)
An ImWhiteBalanceConstants expression that specifies whether to calculate white balance correction coefficients or perform corrections on the source image.
Value | Meaning
imCalculate | Automatically determine the 3 coefficients required to perform white balance correction on the source image and write these coefficients in the WhiteBalanceCoefficients property of this control.
imUse | Perform white balance correction on the source image, using coefficients specified in the WhiteBalanceCoefficients property of this control.
imUseWithGammaCorrection | Perform white balance correction and gamma correction on the source image, using the coefficients specified in the WhiteBalanceCoefficients property of this control and the exponents specified in the GammaCorrectionExponents property.
imNotUsed | Perform no corrections on the source image; only the conversion is performed.
Remarks
  • White balance correction and then gamma correction are performed on the intermediate RGB values recovered by the filtering process (before being converted into the proper destination format).
  • When WhiteBalance parameter is set to imCalculate, you must specify a Bayer color-encoded source image that in reality should be a uniform shade of gray that is not too saturated. Ensure that this image is grabbed under the same lighting conditions as subsequent source images.
  • When the Bayer method automatically calculates the white balance coefficients, the coefficients (a, b, and c) are calculated for each of the intermediate red, green, and blue components, such that
    where R, G, and B with macrons (¯) are the average values of the intermediate red, green, and blue color components, respectively. When the source image is converted, the intermediate color components of each pixel are multiplied by their corresponding coefficient.
  • To achieve maximum conversion performance:
    • This Image control should be either monochrome, or a 3-band color image in one of the following formats:
      • Any RGB planar color image format.
      • imBGR32Packed.
      • imYUV16YUYV (equivalent to imYUV16Packed).
    • The source image should be an unsigned one-band image. If you specify a 3-band image, only the first band will be used.
    • The results of the white balance correction are saturated, if necessary, according to the bit depth of this Image control.
  • If the ScaleX or ScaleY properties of the Digitizer control are changed to a value other than 1 prior to grabbing a Bayer image, the Bayer image will not be converted properly; some of the Bayer pattern is lost during the scaling process, rendering color recovery impossible.
[]
Example
This example shows how to apply the Bayer conversion to an image.

' Automatically determine the coefficients required
' to perform white balance correction
'
AnImage.Bayer(UniformShadeOfGrayImage, imBayerBG, imCalculate)

' Decode the color information from GrabbedImage
' and perform white balance correction,
' putting the result into AnImage
'
AnImage.Bayer(GrabbedImage, imBayerBG, imUse)
DisplayedImage.Copy(AnImage)
[]
Example
This example shows how to apply the Bayer conversion to an image.

m_AnImage->Copy(m_LoadedImage, imRed);
m_AnImage->Bayer(m_AnImage, imBayerBG, imCalculate);
m_DisplayedImage->Copy(m_AnImage, imAllBands);


Image.Clear Method

Clear method

Availability | MIL Equivalent | Bayer | Clone
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufClear()
Image
Clear
Synopsis
Clears the image.
[]
Syntax
object.Clear(
ByVal Color As Integer
)
[]
Syntax
void object->Clear(
long Color
)
Color (optional in , default is 0)
A long value that specifies the color or shade to which to clear the image.
Remarks
  • This method can accept a specified color or shade even if the image evaluates to the overlay image.
  • For a color, pass a property of the specified type or use your environment's RGB() function to explicitly set a value for each of the color bands (red, green, and blue).
  • If Color is omitted, the image is cleared to the shade 0 (black).
  • []
     To convert a System.Drawing.Color to an integer value, use the System.Drawing.ColorTranslator 's ToOle method.
[]
Example
This example shows how to use the Clear method.

// Clear the image to black
m_DisplayedImage->Clear(0);


Image.Clone Method

Clone method

Availability | MIL Equivalent | Clear | Control
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Image
Clone
Synopsis
Clones and returns an image identical to the specified image.
[]
Syntax
[Image =] object.Clone()
[]
Syntax
[IImagePtr =] object->Clone()
Return value
This method returns the cloned image.
Remark
  • If the image being cloned is allocated, an allocated non-initialized image is returned. Otherwise, the returned image must be allocated before being used.
[]
Example
This example shows how to clone an image.

Dim ClonedImage As Matrox.ActiveMIL.IImage
ClonedImage = AnImage.Clone()
[]
Example
This example shows how to clone an image.

IImagePtr ClonedImage = m_LoadedImage->Clone();


Image.Control Method

Control method

See Also | Availability | MIL Equivalent | Clone | CopyClip
Reference:
Image.Inquire
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufControl()
Image
Control
Synopsis
Controls the attributes of the Image control.
[]
Syntax
object.Control(
ByVal ControlType As ImInquireAndControlConstants,
ByVal ControlValue As Object
)
[]
Syntax
void object->Control(
enum ImInquireAndControlConstants ControlType,
const _variant_t & ControlValue
)
ControlType
An ImInquireAndControlConstants expression that specifies the attribute to be modified.

See the Parameter associations table for possible values.
ControlValue
A variantobjectvariant (object for Visual Basic .Net) value that specifies the new value to be set.

See the Parameter associations table for possible values.
Parameter association
Possible values for parameters ControlType and ControlValue.

ControlType | Description | ControlValue | Description
imDCAlloc | Allocate a device context (DC) for drawing. Determine the DC handle (HDC) using the Inquire method. | amilDefault | Specifies the default value .
imDCFree | Free a device context (DC). | amilDefault | Specifies the default value.
Remarks
  • The device context (DC) should only be allocated and used for very short periods of time. Free it as soon as possible.
  • To allocate a Windows display context (imDCAlloc), the image must be internally stored in the imGDI format (Format property), cannot be a child image, and cannot be used for a grab.


Image.Copy Method

Copy method

See Also | Availability | MIL Equivalent | CopyToClipboard | FileInquire
User Guide:
Copying data between images

Reference:
Image.CopyClip
Image.CopyConditional
Image.CopyMask
Image.CopyRegion
Image.CopyToClipboard
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufCopy()
Image
Copy
Synopsis
Copies data from a source image into the object image.
[]
Syntax
object.Copy(
ByVal SourceImage As Image,
ByVal Band As ImBandConstants
)
[]
Syntax
void object->Copy(
IImage * SourceImage,
enum ImBandConstants Band
)
SourceImage
An Image control that specifies the image from which to copy the data.
Band (optional in , default is imAllBands)
An ImBandConstants expression that specifies the band from which to copy the data.
Value | Meaning
imRed | Copy from the red band only.
imGreen | Copy from the green band only.
imBlue | Copy from the blue band only.
imAllBands | Copy from all bands.
imHue | Copy from the hue band (for HLS).
imLuminance | Copy from the luminance band (for HLS).
imSaturation | Copy from the saturation band (for HLS).
imY | Copy from the Y band (for YUV).
imU | Copy from the U band (for YUV).
imV | Copy from the V band (for YUV).
value | Index of the band (0... n-1).
Remarks
  • If the source and object images are of different data types, the data is converted automatically. For example, a floating-point image will be converted automatically to an unsigned image.
  • If the source image depth is greater than that of the object image, the most significant bits are truncated when the data is copied into the object image. If the object image depth is greater than that of the source, the source data is zero or sign-extended (depending on the type of the source). For example, 8-bit unsigned image to 16-bit unsigned image.
  • If the destination is larger in size than the source, exceeding areas of the image are unaffected.
  • If the source image is compressed and the object image is not, the source image will be automatically decompressed. If the object image is compressed and the source image is not, the source image will be automatically compressed. If both images have been compressed with different compression types, the source image will be re-compressed according to the settings in the object image.
  • If the source image is a 1-band image associated with a custom LUT and the object image is a 3-band image, the source image is first mapped through the source image's custom LUT before it is copied to the object image.
  • Note that when copying from a non-binary image to a binary image, all non-zero pixels in the source image are represented as ones (1) in the binary image. When copying a binary image to an image of a different depth, the bit of each source pixel is copied into the least-significant bit of the corresponding destination pixel. The remaining bits of the destination pixel are set to 0; to propagate the bit value to all bits, use the Binarize method of the ImageProcessing control.
  • When copying from a floating-point image to an integer image, the values are truncated.
  • Note that this method is optimized for packed binary images.
  • Note that when copying into the U or V band of a YUV image, the dimensions of the source band must not exceed the dimensions of the destination band.
[]
Example
This example shows how to use the Copy method.

m_DisplayedImage->Copy(m_AnImage, imGreen);


Image.CopyClip Method

CopyClip method

See Also | Availability | MIL Equivalent | Control | CopyConditional
User Guide:
Copying data between images

Reference:
Image.Copy
Image.CopyConditional
Image.CopyMask
Image.CopyRegion
Image.CopyToClipboard
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufCopyClip()
Image
CopyClip
Synopsis
Copies data from a source image, starting from the specified offset and clipping data that falls outside the object image.
[]
Syntax
object.CopyClip(
ByVal SourceImage As Image,
ByVal OffsetX As Integer,
ByVal OffsetY As Integer
)
[]
Syntax
void object->CopyClip(
IImage * SourceImage,
long OffsetX,
long OffsetY
)
SourceImage
An Image control that specifies the image from which to copy the data.
OffsetX
A long value that specifies the horizontal pixel offset relative to the origin of the object image.
OffsetY
A long value that specifies the vertical pixel offset relative to the origin of the object image.
Remarks
  • The offsets can be set to negative values and can be specified anywhere outside the object image.
  • Data that extends beyond the limits of the object image is not copied (it is clipped).
  • If the source and object images are of different data types, the data is converted automatically. For example, a floating-point image will be converted automatically to an unsigned image.
  • If the source image depth is greater than that of the object image, the most significant bits are truncated when the data is copied into the object image. If the object image depth is greater than that of the source, the source data is zero or sign-extended (depending on the type of the source). For example, 8-bit unsigned image to 16-bit unsigned image.
  • If the destination is larger in size than the source, exceeding areas of the image are unaffected.
  • If the source image is compressed and the destination image is not, the source image will be automatically decompressed. If the destination image is compressed and the source image is not, the source image will be automatically compressed. If both image have been compressed with different compression types, the source image will be re-compressed according to the settings in the destination image.
  • Note that when copying from a non-binary image to a binary image, all non-zero pixels in the source image are represented as ones (1) in the binary image. When copying a binary image to an image of a different depth, each bit is copied into the least-significant bit of a different destination pixel. The remaining bits of the destination pixel are set to 0; to propagate the bit value to all bits, use the Binarize method.
  • When copying from a floating-point image to an integer image, the values are truncated.
  • Note that this method is optimized for packed binary images.
[]
Example
This example shows how to use the CopyClip method.

m_DisplayedImage->CopyClip(m_LoadedImage, -50, -50);


Image.CopyConditional Method

CopyConditional method

See Also | Availability | MIL Equivalent | CopyClip | CopyMask
User Guide:
Copying data between images

Reference:
Image.Copy
Image.CopyClip
Image.CopyMask
Image.CopyRegion
Image.CopyToClipboard
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufCopyCond()
Image
CopyConditional
Synopsis
Conditionally copies data from a source image to the object image. Each object image pixel is overwritten only if the corresponding pixel in the condition image satisfies the specified condition. Other pixels are unchanged.
[]
Syntax
object.CopyConditional(
ByVal SourceImage As Image,
ByVal ConditionImage As Image,
ByVal Condition As ImConditionConstants,
ByVal ConditionValue As Double
)
[]
Syntax
void object->CopyConditional(
IImage * SourceImage,
IImage * ConditionImage,
enum ImConditionConstants Condition,
double ConditionValue
)
SourceImage
An Image control that specifies the image from which to copy the data.
ConditionImage
An Image control that specifies the condition image.
Condition
An ImConditionConstants expression that specifies a condition for which the condition image is tested.
Value | Meaning
imEqual | Modify object image pixels corresponding to condition image pixels that are equal to ConditionValue.
imNotEqual | Modify object image pixels corresponding to condition image pixels that are not equal to ConditionValue.
imConditionDefault | Modify object image pixels corresponding to condition image pixels that are non-zero.
ConditionValue
A double pixel value that specifies the condition value.

Add the constant imRGBColor to ConditionValue when specifying an RGB color value.
Remarks
  • If source image, condition image, and object image are all 8-bit images, and condition image is also a 3-band image, you can use different condition values for comparison with the different bands of the condition image. To do so, set the ConditionValue parameter to a color value, created using your environment's RGB() function, added with the imRGBColor constant.
  • The imRGBColor constant is only supported when the source image, condition image, and object image are all 8-bit images, and condition image is a 3-band image.
  • If the source and object images are of different data types, the data is converted automatically (for example, floating-point image to unsigned image).
  • If the source image depth is greater than that of the object image, the most-significant bits are truncated when the data is copied into the object image. If the object image depth is greater than that of the source, the source data is zero or sign-extended (depending on the type of the source). For example, the data is zero-extended when copying an 8-bit unsigned image to a 16-bit unsigned image.
  • Even though the ConditionValue parameter is of type double, it is treated as if it had the same type and depth as the condition image. If the condition image is binary, this value must be 0 or 1. If an imConditionDefault condition is specified, ConditionValue is ignored.
  • Note that this method is optimized for packed binary images.
  • Note that if a one-band condition image is used with a three-band object image, the one band of the condition image will be used for each object band.
[]
Example
This example shows how to use the CopyConditional method.

AnImage.Copy(LoadedImage, imLuminance)
DisplayedImage.CopyConditional(LoadedImage, AnImage, imNotEqual, 0)
[]
Example
This example shows how to use the CopyConditional method..

m_AnImage->Copy(m_LoadedImage, imLuminance);
m_DisplayedImage->CopyConditional(m_LoadedImage, m_AnImage, imNotEqual, 0);


Image.CopyMask Method

CopyMask method

See Also | Availability | MIL Equivalent | CopyConditional | CopyRegion
User Guide:
Copying data between images

Reference:
Image.Copy
Image.CopyClip
Image.CopyConditional
Image.CopyRegion
Image.CopyToClipboard
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
MbufCopyMask()
Image
CopyMask
Synopsis
Copies data, with a bit-plane mask, from a source image to the specified object image. Each object image bit is changed only if it has a corresponding non-zero bit in the mask.
[]
Syntax
object.CopyMask(
ByVal SourceImage As Image,
ByVal MaskValue As Integer
)
[]
Syntax
void object->CopyMask(
IImage * SourceImage,
long MaskValue
)
SourceImage
An Image control that specifies the image from which to copy the data.
MaskValue
A long value that specifies the mask value to apply to the object image.
Remarks
  • If the source and object images are of different data types, the data is converted automatically. For example, signed image to unsigned image.
  • If the source image depth is greater than that of the object image, the most significant bits are truncated when the data is copied into the object image. If the object image depth is greater than that of the source, the source data is zero or sign-extended (depending on the type of the source). For example, 8-bit unsigned image to 16-bit unsigned image.
  • Note that this method cannot be used on floating-point images.
  • Even though MaskValue is of type longintegerlong (integer for Visual Basic .Net), it is treated as if it had the same type and depth as the object image; the most-significant bits that are not required are ignored. If the object image is binary, the value must be 0 or 1.
Remark for Matrox Genesis
  • ActiveMIL uses the Host to copy floating-point images conditionally.
[]
Example
This example shows how to use the CopyMask method.

AnImage.Copy(LoadedImage)
DisplayedImage.CopyMask(AnImage, 208)
[]
Example
This example shows how to use the CopyMask method.

m_AnImage->Copy(m_LoadedImage, imAllBands);
m_DisplayedImage->CopyMask(m_AnImage, 208);


Image.CopyRegion Method

CopyRegion method

See Also | Availability | MIL Equivalent | CopyMask | CopyToClipboard
User Guide:
Copying data between images

Reference:
Image.Copy
Image.CopyClip
Image.CopyConditional
Image.CopyMask
Image.CopyToClipboard
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufCopyColor2d()
Image
CopyRegion
Synopsis
Copies data from a region of a source image into the specified region of the object image.
[]
Syntax
object.CopyRegion(
ByVal SourceImage As Image,
ByVal SourceBand As ImBandConstants,
ByVal SourceOffsetX As Integer,
ByVal SourceOffsetY As Integer,
ByVal Band As ImBandConstants,
ByVal OffsetX As Integer,
ByVal OffsetY As Integer,
ByVal SizeX As Integer,
ByVal SizeY As Integer
)
[]
Syntax
void object->CopyRegion(
IImage * SourceImage,
enum ImBandConstants SourceBand,
long SourceOffsetX,
long SourceOffsetY,
enum ImBandConstants Band,
long OffsetX,
long OffsetY,
long SizeX,
long SizeY
)
SourceImage
An Image control that specifies the image from which to copy the data.
SourceBand
An ImBandConstants expression that specifies the band from which to copy.
Value | Meaning
imRed | Copy from the red band only.
imGreen | Copy from the green band only.
imBlue | Copy from the blue band only.
imAllBands | Copy from all bands.
imHue | Copy from the hue band (for HLS).
imLuminance | Copy from the luminance band (for HLS).
imSaturation | Copy from the saturation band (for HLS).
imY | Copy from the Y band (for YUV).
imU | Copy from the U band (for YUV).
imV | Copy from the V band (for YUV).
value | Index of the band (0... NumberOfBands-1).
SourceOffsetX
A long value that specifies the horizontal offset relative to the source image.
SourceOffsetY
A long value that specifies the vertical offset relative to the source image.
Band
An ImBandConstants expression that specifies the band in which to copy the data.
Value | Meaning
imRed | Copy to the red band only.
imGreen | Copy to the green band only.
imBlue | Copy to the blue band only.
imAllBands | Copy to all bands.
imHue | Copy to the hue band (for HLS).
imLuminance | Copy to the luminance band (for HLS).
imSaturation | Copy to the saturation band (for HLS).
imY | Copy to the Y band (for YUV).
imU | Copy to the U band (for YUV).
imV | Copy to the V band (for YUV).
value | Index of the band (0... NumberOfBands-1).
OffsetX
A long value that specifies the horizontal offset relative to the object image.
OffsetY
A long value that specifies the vertical offset relative to the object image.
SizeX
A long value that specifies the horizontal dimension of the region.
SizeY
A long value that specifies the vertical dimension of the region.
Remarks
  • This method can also be used to insert or extract a color component from a color image.
  • If the source and object images are of different data types, the data is converted automatically. For example, a floating-point image is converted to an unsigned image if the object image is an unsigned image.
  • If the source image depth is greater than that of the object image, the most significant bits are truncated when the data is copied into the object image. If the object image depth is greater than that of the source, the source data is zero or sign-extended (depending on the type of the source). For example, an 8-bit unsigned image is converted to a 16-bit unsigned image if the object image is a 16-bit unsigned image. The source and object images must have the same number of bands if all bands are to be copied.
  • If the source is a monochrome image and object is a multi-band (color) image, the source image band is inserted into the specified band of the object image. If the source is a multi-band image and object is a monochrome image, the specified source image band is extracted from the source image and written to the destination image. If both are multi-band images, the specified band(s) is copied from the source to the object image.
  • If the source image is a 1-band image associated with a custom LUT and the object image is a 3-band image, the source image is first mapped through the source image's custom LUT before it is copied to the object image.
  • Note that when copying from a non-binary image to a binary image, all non-zero pixels in the source image are represented as ones (1) in the binary image.
  • Note that when copying into the U or V band of a YUV image, the dimensions of the source band must not exceed the dimensions of the destination band.
[]
Example
This example shows how to copy a specified region from an image to a specified region in another image.

DisplayedImage.CopyRegion(LoadedImage, _
                        imRed, 100, 100, _
                        imGreen, 20, 20, 100, 100)
[]
Example
This example shows how to copy only a specified region from an image to a specified region in another image.

m_DisplayedImage->CopyRegion(m_LoadedImage, imRed,
                             100, 100,
                             imGreen, 20, 20, 100, 100);


Image.CopyToClipboard Method

CopyToClipboard method

See Also | Availability | MIL Equivalent | CopyRegion | Copy
Reference:
Image.Copy
Image.CopyClip
Image.CopyConditional
Image.CopyMask
Image.CopyRegion
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Image
CopyToClipboard
Synopsis
Copies data from the current source image into the clipboard.
[]
Syntax
object.CopyToClipboard()
[]
Syntax
void object->CopyToClipboard()
[]
Example
This example shows how to use the CopyToClipboard method. The code loads an image from the disk and copies it to clipboard.

EmptyClipboard();
m_LoadedImage->Load("X:\\images\\MyImage.bmp", TRUE);
m_LoadedImage->CopyToClipboard();


Image.FileInquire Method

FileInquire method

Availability | MIL Equivalent | Copy | Free
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufDiskInquire()
Image
FileInquire
Synopsis
Inquire about the data in a file.
[]
Syntax
[Integer =] object.FileInquire(
ByVal FileName As String,
ByVal ParamToInquire As ImParameterConstants
)
[]
Syntax
[long =] object->FileInquire(
_bstr_t FileName,
enum ImParameterConstants ParamToInquire
)
FileName
A string expression that specifies the name of the file.
ParamToInquire
An ImParameterConstants expression that specifies the file parameter to inquire about.
Value | Meaning
imSizeX | Width of the data in the file.
imSizeY | Height of the data in the file.
imNumberOfBands | Number of bands in the file.
imDataDepth | Data depth in bits.
imDataType | Data type ( imSigned, imUnsigned, or imFloat).
imCompressionType | Type of compression.
imFrameRate | Frame rate (number of images/second) of an *. avi file.
imNumberOfFrames | Number of frames in an *. avi file.
imAttribute | Data attribute.
imFileFormat | File format. See file format property for list of possible formats.
imLUTPresent | Presence of LUT data in the file ( imYes or imNo).
imLUTNumberOfBands | In an image file, it is the number of bands of the LUT associated with the image.
imLUTSizeX | In an image file, it is the width of the LUT associated with the image.
imAspectRatio | Aspect ratio of the image in the file. (default is 1:1)
Return value
Returns the requested information setting. If the information is not available, returns imInvalid.
Remarks
  • Since a "RAW" data file does not have any information regarding size or type, you can only use the FileInquire method to determine the file format of this type of file.
  • For imFrameRate and imAspectRatio, the value is cast to a longintegerlong (integer for Visual Basic .Net).
[]
Example
This example shows how to use the FileInquire method.

ImageSizeX = AnImage.FileInquire("X:\Images\MyImage.bmp", imSizeX)
ImageSizeY = AnImage.FileInquire("X:\Images\MyImage.bmp", imSizeY)
[]
Example
This example shows how to use the FileInquire method.

int ImageSizeX = m_Image1->FileInquire("X:\\Images\\MyImage.bmp", imSizeX);
int ImageSizeY = m_Image1->FileInquire("X:\\Images\\MyImage.bmp", imSizeY);


Image.Free Method

Free method

See Also | Availability | MIL Equivalent | FileInquire | GetLine
User Guide:
Properties of images
Setting up controls

Reference:
Image.Allocate
Image.AutomaticAllocation
Image.IsAllocated
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufFree()
Image
Free
Synopsis
Frees the resources of the Image control.
[]
Syntax
object.Free()
[]
Syntax
void object->Free()
Remarks
  • The resources associated with an Image control are automatically freed when the control is destroyed. You must use the Free method if you want to free the control prematurely. For example, when you no longer need the content of an image or you need more memory space you can free the image using the Free method. Note that Image controls lose their data (LUT data is not affected) when the Free method is called.
  • To determine the allocation state of a control, use the IsAllocated property. While an Image control is in the allocated state, some of its properties cannot be changed at run-time (for example, you cannot change the size of an image while it is allocated). At run-time, to modify a property that can not be changed after allocation, you must free the control (using the Free method), change its property(ies), and then re-allocate the control (using the Allocate method). For example, to change the size of an image, at run-time, you free the Image control, make the change in SizeX and SizeY properties, and allocate the control again. Note that Image controls lose their data (LUT data is not affected) when the Free method is called.
  • The Free method will generate an error if the control is not allocated.
  • Any property can be changed when its control is in the allocated state, unless it is otherwise stated in the Remarks section of that property.
[]
Example
This example shows how to use the Free property.

If Image1.IsAllocated Then
    Image1.Free()
End If
[]
Example
This example shows how to use the Free property.

if (m_Image1->IsAllocated)
   m_Image1->Free();


Image.Get Method

Get method

See Also | Availability | MIL Equivalent | GetLine | Inquire
User Guide:
Accessing image data

Reference:
Image.Put
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufGet()

MbufGet1d()

MbufGet2d()

MbufGetColor()

MbufGetColor2d()
Image
Get
Synopsis
Copies a specified region of image data into a specified user-array. This region can be contained in one band or all bands of the image.
[]
Syntax
object.Get(
ByVal UserArray As Array,
ByVal Format As ImFormatConstants,
ByVal Band As ImBandConstants,
ByVal OffsetX As Integer,
ByVal OffsetY As Integer,
ByVal SizeX As Integer,
ByVal SizeY As Integer
)
[]
Syntax
void object->Get(
VARIANT * UserArray,
enum ImFormatConstants Format,
enum ImBandConstants Band,
long OffsetX,
long OffsetY,
long SizeX,
long SizeY
)
UserArray
An array in which to put the data.

Format (optional in , default is imPlanar)
An ImFormatConstants expression that specifies the data format to use when copying the data.
Value | Meaning
imSingleBand | Copy from a single color band or a monochrome image. The user array must be of the same type as the image and have a size of (SizeX x SizeY).
imBGR24Packed | Copy from three bands in a BGRBGR interleaved manner. The image must be a three band, 8-bit image and the user array must have a size of (SizeX x SizeY x 3bytes).
imBGR32Packed | Copy from three bands in a BGRXBGRX interleaved manner. The image must be a three band, 8-bit image and the user array must have a size of (SizeX x SizeY x 4bytes).
imRGB15Packed | Copy from three bands in a RGB 5:5:5 interleaved manner. The image must be a three band, 8-bit image and the user array must have a size of (SizeX x SizeY x 2bytes).
imRGB16Packed | Copy from three bands in a RGB 5:6:5 interleaved manner. The image must be a three band, 8-bit image and the user array must have a size of (SizeX x SizeY x 2bytes).
imPlanar | Copy the bands one after the other (RRR...GGG...BBB). The user array must be the same type as the image and have a size of (SizeX x SizeY x number of color bands of the image).
Band (optional in , default is imAllBands)
A long value or ImBandConstants expression that specifies the band from which to get the data.
Value | Meaning
imRed | Copy from the red band only.
imGreen | Copy from the green band only.
imBlue | Copy from the blue band only.
imAllBands | Copy from all bands.
imHue | Copy from the hue band (for HLS).
imLuminance | Copy from the luminance band (for HLS).
imSaturation | Copy from the saturation band (for HLS).
imY | Copy from the Y band (for YUV).
imU | Copy from the U band (for YUV).
imV | Copy from the V band (for YUV).
value | Index of the band (0... NumberOfBands-1)
OffsetX (optional in , default is 0)
A long value that specifies the horizontal pixel offset (relative to the top-left image coordinate) of the image region from which to get the data.
OffsetY (optional in , default is 0)
A long value that specifies the vertical pixel offset (relative to the top-left image coordinate) of the image region from which to get the data.
SizeX (optional in , default is -1)
A long value that specifies the width of the source image region from which to get the data.
SizeY (optional in , default is -1)
A long value that specifies the height of the source image region from which to get the data.
Remarks
  • You can use the imBGR24Packed, imBGR32Packed, imRGB15Packed, imRGB16Packed, and imPlanar of the Format parameter only when copying from all color bands of the image.
  • Ensure that the user array is large enough to accommodate the data from the source image.
  • It is assumed that the user array is of the same data type and depth as the image.
  • Note that this method is optimized for packed binary images.
  • imSingleBand must be cast to an ImFormatConstants enumeration to be used.
[]
Examples
This example show how to get the data of a 3-bands image into 3 arrays.

Dim RedArray(200, 100) As Byte
Dim GreenArray(200, 100) As Byte
Dim BlueArray(200, 100) As Byte

Dim RedArrayRef As Utility.MArrayRef = New Utility.MArrayRef(RedArray)
Dim GreenArrayRef As Utility.MArrayRef = New Utility.MArrayRef(GreenArray)
Dim BlueArrayRef As Utility.MArrayRef = New Utility.MArrayRef(BlueArray)

' Get the data of each band of the loaded image into our arrays.
LoadedImage.Get(RedArrayRef.GetSafeArray(), imPlanar, imRed, 0, 0, 200, 100)
LoadedImage.Get(GreenArrayRef.GetSafeArray(), imPlanar, imGreen, 0, 0, 200, 100)
LoadedImage.Get(BlueArrayRef.GetSafeArray(), imPlanar, imBlue, 0, 0, 200, 100)
This example shows how to use the Get method to get one pixel from an image.

' Get the upper left pixel of the image
Dim MyArray(1) As Byte
MyArray(0) = 0
Image1.Get(MyArray, imPlanar, imAllBands, 0, 0, -1, -1)
[]
Examples
This example shows how to get the data of a 3-band image into 3 arrays.

// Prepare COleSafeArrays for Get()

// Dimensions of the storage array
DWORD numElements[] = {256, 240};

// Our image has a data depth of 8 bits, and an unsigned data type,
// so create two dimensional arrays of type VT_UI1.
COleSafeArray RedArray, GreenArray, BlueArray;
RedArray.Create(VT_UI1, 2, numElements);
GreenArray.Create(VT_UI1, 2, numElements);
BlueArray.Create(VT_UI1, 2, numElements);

// Get the data of each band of the loaded image into our arrays.
//
// ActiveMIL's Get methods accept a 'VARIANT *' as their first parameter,
// so we can pass COleSafeArray objects directly, as they derive from VARIANT
// and have an LPVARIANT() operator.
m_LoadedImage->Get(RedArray, imPlanar, imRed, 0, 0, 255, 239);
m_LoadedImage->Get(GreenArray, imPlanar, imGreen, 0, 0, 255, 239);
m_LoadedImage->Get(BlueArray, imPlanar, imBlue, 0, 0, 255, 239);
This example shows how to use the Get method to get one pixel from an image.

// Get the upper left pixel of the image

// Dimensions of the storage array
DWORD numElements[] = { 1 };

// Our image has a data depth of 8 bits, and an unsigned data type,
// so create a two dimensional array of type VT_UI1.
COleSafeArray MyArray;
MyArray.Create(VT_UI1, 1, numElements);

// Get the upper left pixel of the image
//
// ActiveMIL's Get methods accept a 'VARIANT *' as their first parameter,
// so we can pass COleSafeArray objects directly, as they derive from VARIANT
// and have an LPVARIANT() operator.
m_LoadedImage->Get(MyArray, imPlanar, imAllBands, 0, 0, -1, -1);


Image.GetLine Method

GetLine method

See Also | Availability | MIL Equivalent | Free | Get
Reference:
Image.Get
Image.Put
Image.PutLine
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufGetLine()
Image
GetLine
Synopsis
Reads the pixels along a theoretical line between specified coordinates, counts the pixels, and stores them in a specified array.
[]
Syntax
[Integer =] object.GetLine(
ByVal UserArray As Array,
ByVal StartX As Integer,
ByVal StartY As Integer,
ByVal EndX As Integer,
ByVal EndY As Integer
)
[]
Syntax
[long =] object->GetLine(
VARIANT * UserArray,
long StartX,
long StartY,
long EndX,
long EndY
)
UserArray
An array in which to write the data. If Null, only the count of pixels along the line is returned.

StartX
A long value that specifies the horizontal pixel offset of the starting position of the line, relative to the top-left corner pixel of the image.
StartY
A long value that specifies the vertical pixel offset of the starting position of the line, relative to the top-left corner pixel of the image.
EndX
A long value that specifies the horizontal pixel offset of the ending position of the line, relative to the top-left corner pixel of the image.
EndY
A long value that specifies the vertical pixel offset of the ending position of the line, relative to the top-left corner pixel of the image.
Return value
Number of pixels along the line.
Remarks
  • The Bresenham algorithm is used to determine the theoretical line.
  • Ensure that the user array is large enough to accommodate the data from the image. To determine the necessary size of the array, call the GetLine method with UserArray set to Null; the return value is the pixel count.
  • It is assumed that the array is of the same data type and depth as the image.
[]
Example
This example shows how to get a specific line of pixels from an image.

DisplayedImage.Clear()
AnImage.Free()
AnImage.NumberOfBands = 1
AnImage.Allocate()
AnImage.Copy(LoadedImage, imRed)

Dim ArraySize As Long
ArraySize = AnImage.GetLine(System.DBNull.Value, 1, 1, 50, 50)

Dim AnArray(ArraySize) As Byte
AnImage.GetLine(AnArray, 1, 1, 50, 50)
[]
Example
This example shows how to get a specific line of pixels from an image.

// Get the number of pixels to be stored
// To do so, call the GetLine method with a VT_NULL VARIANT
VARIANT v;
VariantInit(&v);
V_VT(&v) = VT_NULL;
long ArraySize = m_AnImage->GetLine(&v, 1, 1, 50, 50);

// Prepare a COleSafeArray for GetLine()

// Dimensions of the storage array
DWORD numElements[] = { ArraySize };

// Our image has a data depth of 8 bits , and an unsigned data type,
// so create a one dimensional array of type VT_UI1.
COleSafeArray MyArray;
MyArray.Create(VT_UI1, 1, numElements);

// Get the values of the pixels along the line
//
// ActiveMIL's Get methods accept a 'VARIANT *' as their first parameter,
// so we can pass COleSafeArray objects directly, as they derive from VARIANT
// and have an LPVARIANT() operator.
m_AnImage->GetLine(MyArray, 1, 1, 50, 50);


Image.Inquire Method

Inquire method

See Also | Availability | MIL Equivalent | Get | Load
User Guide:
Windowed display

Reference:
Image.Control
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD

See remarks for support on:
See remarks for support on Matrox Orion
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MbufInquire(
InquireType =
M_NATIVE_ID M_DDRAW_SURFACE M_BITMAPINFO M_DC_HANDLE M_MAP M_ANCESTOR_OFFSET_X M_ANCESTOR_OFFSET_XYM_ANCESTOR_OFFSET_BANDM_ANCESTOR_OFFSET_BIT
)
Image
Inquire
Synopsis
Inquires about the attributes of the Image control.
[]
Syntax
[Object =] object.Inquire(
ByVal ParamToInquire As ImInquireAndControlConstants
)
[]
Syntax
[_variant_t =] object->Inquire(
enum ImInquireAndControlConstants ParamToInquire
)
ParamToInquire
An ImInquireAndControlConstants expression that specifies the attribute to inquire about.
Value | Meaning
imCurrentBufID | The identifier of the image in which data is currently being grabbed. This is valid only for windowed displays.
imNativeID | The board-level native identifier of the image.
imDirectDrawSurface | Pointer (LPDDRAWSURFACE) to the DirectDraw surface associated with the image or imNull.
imBitmapInformation | Pointer (LPBITMAPINFO) to the header of the DIB associated with the image or imNull.
imDCHandle | Window's device context handle (HDC) or imNull.
imMapImageToHost | State of the mapping of the image to Host ( imEnable or imDisable).
imAncestorOffsetX | X-offset in relation to the ancestor image.
imAncestorOffsetY | Y-offset in relation to the ancestor image.
imAncestorOffsetBand | Band offset in relation to the ancestor image.
imAncestorOffsetBit | Bit offset in relation to the ancestor image.
Return value
The current value assigned to the attribute that is inquired about.
Remark for Matrox Corona-II
  • The ParamToInquire setting imNativeID is not supported.
Remark for Matrox CronosPlus
  • The ParamToInquire setting imNativeID is not supported.
Remark for Matrox Helios XA
  • The ParamToInquire setting imNativeID is not supported.
Remark for Matrox Helios XCL
  • The ParamToInquire setting imNativeID is not supported.
Remark for Matrox Meteor-II /1394
  • The ParamToInquire setting imNativeID is not supported.
Remark for Matrox Meteor-II /Multi-Channel
  • The ParamToInquire setting imNativeID is not supported.
Remark for Matrox Meteor-II /Standard
  • The ParamToInquire setting imNativeID is not supported.
Remark for Matrox Morphis
  • The ParamToInquire setting imNativeID is not supported.
Remark for Matrox Orion
  • The ParamToInquire setting imNativeID is not supported.
Remark for Matrox Solios XA
  • The ParamToInquire setting imNativeID is not supported.
Remark for Matrox Solios XCL
  • The ParamToInquire setting imNativeID is not supported.


Image.Load Method

Load method

See Also | Availability | MIL Equivalent | Inquire | Modified
User Guide:
Error reporting
Loading and saving images

Reference:
Image.FileInquire
Image.Save
Available in ActiveMIL-Lite with restrictions (see remarks)

Available in ActiveMIL
MbufLoad()

MbufImport()
Image
Load
Synopsis
Loads the image from a file into the object image.
[]
Syntax
object.Load(
ByVal FileName As String,
ByVal AdjustImage As Boolean
)
[]
Syntax
void object->Load(
_bstr_t FileName,
VARIANT_BOOL AdjustImage
)
FileName
A string expression that specifies the name of the file from which to load the image.
AdjustImage (optional in , default is False)
A boolean value that specifies whether the characteristics of the object image will be changed to fit all the image data from the file.
Value | Meaning
True | After the operation, the object image will have the same characteristics as the image from the file.
False | The object image keeps its original characteristics.
Remarks
  • This method detects the file format from the data. You can also use the FileFormat property to specify the file format instead of having the method try to determine the format from the data.
  • If keeping its original characteristics, the object image must be big enough in depth and dimensions to hold the data; if not, some data is clipped. For example, if the data is deeper than the object image, the most-significant bits of the data are truncated when loaded. If the object image depth is greater than that of the data, the data is zero or sign-extended (depending on the data type) when loaded. If the object image is larger in size than the data, exceeding areas of the image are unaffected.
  • Using the FileInquire method, you can inquire about the characteristics of the data saved in a file (except for raw files) without loading it.
  • If you are loading uncompressed data and the object image has its CompressionType property set to a value other than imUncompressed, this method will automatically compress it according to the CompressionType property setting. If you are loading compressed data and the object image has its CompressionType property not set, this method will automatically decompress the data. If necessary, the data will be transformed to the format of the object image.
  • Note that ActiveMIL-Lite compression support is reliant upon the presence of Matrox compression acceleration hardware. The compression algorithm supported depends on the hardware. If you don't have Matrox compression acceleration hardware, you can still perform compression under ActiveMIL-Lite with the compression/decompression runtime license package installed.
  • When loading an image associated with a LUT into a 3-band 8-bit image, the LUT is automatically applied to the data to generate 3-band image data. In this case, the object image's LUTEnabled property remains set to False and its LUT property modified. When loading an image into any other type of image, the LUT is also loaded and the image's LUT property is set to this LUT. The associated LUT will be automatically selected on the display (LUT property) if the image is selected on a display and the display's default LUT has not been overidden (LUT property of the Display control).
  • This method handles the opening and closing of the file.
  • After the operation is completed, the image will be in the allocated state.
  • If you pass the FileName parameter an empty string (""), the File Open dialog box is presented so that you can interactively select a file name.
  • This method will generate an error if the file cannot be found or loaded properly.
[]
Example
This example shows how to load an image.

// Load an image from disk, without adjusting its size
m_LoadedImage->Load("X:\\Images\\MyImage.bmp", FALSE);


Image.Modified Method

Modified method

See Also | Availability | MIL Equivalent | Load | PasteFromClipboard
User Guide:
Integrating MIL functions into your ActiveMIL code

Reference:
Image.MilID
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufControlRegion()
Image
Modified
Synopsis
Informs the Image control that modifications were made on its resources.
[]
Syntax
object.Modified(
ByVal ModificationType As ModificationTypeConstants,
ByVal OffsetX As Integer,
ByVal OffsetY As Integer,
ByVal SizeX As Integer,
ByVal SizeY As Integer
)
[]
Syntax
void object->Modified(
enum ModificationTypeConstants ModificationType,
long OffsetX,
long OffsetY,
long SizeX,
long SizeY
)
ModificationType (optional in , default is amilDefault)
A ModificationTypeConstants expression or an ActiveMILDefaultContants expression that specifies the modification type.
Value | Meaning
amilDefault | Specifies that native MIL calls were used to modify the properties of the Image control.
imContents | Specifies that the contents of the image were modified directly by using a mapped image created with the AssignMemory method, using native MIL calls, using GDI calls or by accessing the image data directly.
OffsetX (optional in , default is -1.0)
A long value that defines the X-coordinate of the top-left corner of the modified region within the image.
OffsetY (optional in , default is -1.0)
A long value that defines the Y-coordinate of the top-left corner of the modified region within the image.
SizeX (optional in , default is -1.0)
A long value that defines the width of the modified region within the image.
SizeY (optional in , default is -1.0)
A long value that defines the height of the modified region within the image.
Remarks
  • When the ModificationType parameter is set to amilDefault, the OffsetX, OffsetY, SizeX and SizeY parameters are ignored. In this case, set them to their default value.
  • The Modified method should be called after performing a Native MIL Mbuf...() function on the resources of the Image control. This ensures that all properties of the Image control are updated to match their state in MIL.
  • Calling this method increments the ModificationCount property.


Image.PasteFromClipboard Method

PasteFromClipboard method

See Also | Availability | MIL Equivalent | Modified | PutLine
Reference:
Image.Copy
Image.CopyClip
Image.CopyConditional
Image.CopyMask
Image.CopyRegion
Image.CopyToClipboard
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Image
PasteFromClipboard
Synopsis
Pastes image data (in CF_DIB format) from the clipboard into an Image control.
[]
Syntax
object.PasteFromClipboard(
ByVal AdjustImage As Boolean
)
[]
Syntax
void object->PasteFromClipboard(
VARIANT_BOOL AdjustImage
)
AdjustImage (optional in , default is False)
A boolean value that specifies whether the dimensions of the image will be changed to fit all the data from the file.
Value | Meaning
True | After the operation, the image will have the same dimensions as the data.
False | The image keeps its original dimensions.
[]
Example
This example shows how to paste image data from the clipboard into an Image control using the PasteFromClipboard method.

m_DisplayedImage->PasteFromClipboard(FALSE);


Image.Put Method

Put method

See Also | Availability | MIL Equivalent | PutLine | Save
User Guide:
Accessing image data

Reference:
Image.Get
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufPut()

MbufPut1d()

MbufPut2d()

MbufPutColor()

MbufPutColor2d()
Image
Put
Synopsis
Puts data from a specified user-array into the specified region of the image.
[]
Syntax
object.Put(
ByVal UserArray As Array,
ByVal Format As ImFormatConstants,
ByVal Band As ImBandConstants,
ByVal OffsetX As Integer,
ByVal OffsetY As Integer,
ByVal SizeX As Integer,
ByVal SizeY As Integer
)
[]
Syntax
void object->Put(
const _variant_t & UserArray,
enum ImFormatConstants Format,
enum ImBandConstants Band,
long OffsetX,
long OffsetY,
long SizeX,
long SizeY
)
UserArray
A user array that contains the data to be put.

Format (optional in , default is imPlanar)
An ImFormatConstants expression that specifies the data format to use when copying the data.
Value | Meaning
imSingleBand | Copy to a single color band or a monochrome image. The user array must be of the same type as the image and have a size of (SizeX x SizeY).
imBGR24Packed | Copy to three bands in an interleaved manner (BGRBGR). The image must be a three band, 8-bit image and the user array must have a size of (SizeX x SizeY x 3bytes).
imBGR32Packed | Copy to three bands in an interleaved manner (BGRXBGRX). The image must be a three band, 8-bit image and the user array must have a size of (SizeX x SizeY x 4bytes).
imRGB15Packed | Copy to three bands in an interleaved manner (RGB 5:5:5). The image must be a three band, 8-bit image and the user array must have a size of (SizeX x SizeY x 2bytes).
imRGB16Packed | Copy to three bands in an interleaved manner (RGB 5:6:5). The image must be a three band, 8-bit image and the user array must have a size of (SizeX x SizeY x 2bytes).
imPlanar | Copy to the bands one after the other (RRR...GGG...BBB). The user array must be the same type as the image and have a size of (SizeX x SizeY x number of color bands of the image).
Band (optional in , default is imAllBands)
A long value or ImBandConstants expression that specifies the band in which to copy the data.
Value | Meaning
imRed | Copy to the red band only.
imGreen | Copy to the green band only.
imBlue | Copy to the blue band only.
imAllBands | Copy to all bands.
imHue | Copy to the hue band (for HLS).
imLuminance | Copy to the luminance band (for HLS).
imSaturation | Copy to the saturation band (for HLS).
imY | Copy to the Y band (for YUV).
imU | Copy to the U band (for YUV).
imV | Copy to the V band (for YUV).
value | Index of the band (0... NumberOfBands-1).
OffsetX (optional in , default is 0)
A long value that specifies the horizontal pixel offset (relative to the top-left source image coordinate) of the image region in which to copy the data.
OffsetY (optional in , default is 0)
A long value that specifies the vertical pixel offset (relative to the top-left source image coordinate) of the image region in which to copy the data.
SizeX (optional in , default is -1)
A long value that specifies the width of the image region in which to copy the data. To use the size of the UserArray use -1.
SizeY (optional in , default is -1)
A long value that specifies the height of the image region in which to copy the data. To use the size of the UseArray use -1.
Remarks
  • The imBGR24Packed, imBGR32Packed, imRGB15Packed, imRGB16Packed, and imPlanar Format settings are to be used only when copying to all color bands of the image.
  • It is assumed that the array is of the same data type and depth as the image.
[]
Examples
This example shows how to create and fill a safe array to be used with the Put method.

// Prepare COleSafeArrays for Put()

// Dimensions of the storage array
DWORD numElements[] = {256, 240};

// Our image has a data depth of 8 bits, and an unsigned data type,
// so create a two-dimensional array of type VT_UI1.
COleSafeArray ImageArray;
ImageArray.Create(VT_UI1, 2, numElements);

// Enter data into the array.
long index[2];
int PixelValue = 128;

// Use the PutElement function of the COleSafeArray object to
// add the data directly in the object at a specified position.
for(index[0] = 0; index[0] < 256; index[0]++)
   for (index[1] = 0; index[1] <  240; index[1]++)
      ImageArray.PutElement(index, &PixelValue);

// Always attach a COleSafeArray to a _variant_t before calling
// ActiveMIL's Put methods.
// The attach process invalidates the original COleSafeArray object
// by setting its variant type to VT_EMPTY.
_variant_t ImageArrayVariant;
ImageArrayVariant.Attach(ImageArray);

// Enter the array data in the red band of the loaded image.
m_LoadedImage->Put(ImageArrayVariant, imPlanar, imRed,
                   0, 0, 256, 240);

// Optionally, detach the _variant_t into the original COleSafeArray.
// If you do, COleSafeArray will delete the SAFEARRAY at its destruction.
// If you don't, _variant_t will delete it at its destruction.
// In either case, the memory will be released at the appropriate time.
ImageArray.Attach(ImageArrayVariant.Detach());
This example shows how to wrap an existing array of data to be used when calling the Put method.

// Enter data into an array.
unsigned char ImageArray[256][240];
int PixelValue = 254;

for(int i = 0; i < 256; i++)
   for (int j = 0; j <  240; j++)
      ImageArray[i][j] = PixelValue;

// Allocate a SafeArray descriptor.  A SafeArray descriptor is an
// element of the Win32 API that defines the characteristics of
// the SafeArray.  It is used to count the number of elements
// of each dimension, the size of each element and the lower
// boundary.
SAFEARRAY* psa;
unsigned int nDims = 2;

HRESULT hr = SafeArrayAllocDescriptor(nDims, &psa);

if (SUCCEEDED(hr))
   {
   // Set the size of each element of the array.
   psa->cbElements = sizeof(unsigned char);

   // Set the lower boundary and the number of elements in each
   // dimension of the array.
   psa->rgsabound[0].lLbound = 0;
   psa->rgsabound[0].cElements = 256;
   psa->rgsabound[1].lLbound = 0;
   psa->rgsabound[1].cElements = 240;

   // Set the safe array pointer so that it points to the data.
   psa->pvData = (void*) ImageArray;

   // Create a _variant_t object with our SafeArray.  A _variant_t must
   // be used with the Put method.
   _variant_t ImageArrayVariant;
   V_VT(&ImageArrayVariant) = VT_ARRAY|VT_UI1;
   V_ARRAY(&ImageArrayVariant) = psa;

   // Enter the data of the array into the red band of the loaded image.
   m_LoadedImage->Put(ImageArrayVariant, imPlanar, imRed, 0, 0, 256, 240);

   // Set the type of the _variant_t to VT_EMPTY to dissociate it
   // from the  safe array.
   V_VT(&ImageArrayVariant) = VT_EMPTY;

   // Free the SafeArray descriptor.
   SafeArrayDestroyDescriptor(psa);
   }


Image.PutLine Method

PutLine method

See Also | Availability | MIL Equivalent | PasteFromClipboard | Put
Reference:
Image.Get
Image.GetLine
Image.Put
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufPutLine()
Image
PutLine
Synopsis
Overwrites a specified series of pixels along a theoretical line with the data contained in a user-array.
[]
Syntax
[Integer =] object.PutLine(
ByVal UserArray As Array,
ByVal StartX As Integer,
ByVal StartY As Integer,
ByVal EndX As Integer,
ByVal EndY As Integer
)
[]
Syntax
[long =] object->PutLine(
const _variant_t & UserArray,
long StartX,
long StartY,
long EndX,
long EndY
)
UserArray
A user array that contains the data to be put. If Null, only the count is returned.

StartX
A long value that specifies the horizontal pixel offset of the starting position of the line, relative to the top-left corner pixel of the image.
StartY
A long value that specifies the vertical pixel offset of the starting position of the line, relative to the top-left corner pixel of the image.
EndX
A long value that specifies the horizontal pixel offset of the ending position of the line, relative to the top-left corner pixel of the image.
EndY
A long value that specifies the vertical pixel offset of the ending position of the line, relative to the top-left corner pixel of the image.
Return value
Returns the number of pixels that were overwritten.
Remarks
  • The Bresenham algorithm is used to determine the theoretical line.
  • Ensure that the user array contains at least as many pixels as the described line requires. To determine the necessary size of the array, call the PutLine method with UserArray set to Null; the return value is the pixel count.
  • It is assumed that the user array is of the same data type and depth as the image.
[]
Example
This example shows how to put a specific line of pixels in an image.

'get array size needed
ArraySize = AnImage.PutLine(System.DBNull.Value, 50, 50, 74, 50)
Dim Array1(ArraySize) As Byte
Dim i As Integer
'fill array with pixel value
For i = 0 To ArraySize - 1
    Array1(i) = 20
Next i
AnImage.PutLine(AnArray, 50, 50, 74, 50)
[]
Example
This example shows how to put a specific line of pixels in an image.

// Get the number of pixels to put
// To do so, call the PutLine method with a VT_NULL VARIANT
VARIANT v;
VariantInit(&v);
V_VT(&v) = VT_NULL;
long ArraySize = m_AnImage->PutLine(v, 1, 1, 50, 50);

// Prepare a COleSafeArray for PutLine()

// Dimensions of the storage array
DWORD numElements[] = { ArraySize };

// Our image has a data depth of 8 bits , and an unsigned data type,
// so create a one-dimensional array of type VT_UI1.
COleSafeArray MyArray;
MyArray.Create(VT_UI1, 1, numElements);

//
// Put some data into the array...
//

// Always attach a COleSafeArray to a _variant_t before calling into
// ActiveMIL's Put methods.
// The attach process invalidates the original COleSafeArray object
// by setting its variant type to VT_EMPTY.
_variant_t MyArrayVariant;
MyArrayVariant.Attach(MyArray);

// Put the data of our array on a line in the image
m_AnImage->PutLine(MyArrayVariant, 1, 1, 50, 50);

// Optionally, detach the _variant_t into the original COleSafeArray.
// If you do, COleSafeArray will delete the SAFEARRAY at its destruction.
// If you don't, _variant_t will delete it at its destruction.
// In either case, the memory will be released at the appropriate time.
MyArray.Attach(MyArrayVariant.Detach());


Image.Save Method

Save method

See Also | Availability | MIL Equivalent | Put | ShowPropertyPages
User Guide:
Loading and saving images

Reference:
Image.FileFormat
Available in ActiveMIL-Lite with restrictions (see remarks)

Available in ActiveMIL
MbufExport()

MbufSave()
Image
Save
Synopsis
Saves the image data into a file, using the format specified by the FileFormat property.
[]
Syntax
object.Save(
ByVal FileName As String
)
[]
Syntax
void object->Save(
_bstr_t FileName
)
FileName
A string expression that specifies the name of the file in which to save the data.
Remarks
  • ActiveMIL-Lite does not support JPEG2000 or JPEG compression. This is not a restriction under ActiveMIL.
  • If saving in the MIL file format, the image attributes and data type are also saved in the file.
  • When saving an image that has an associated LUT in a MIL, TIFF, or BMP file format, the content of the LUT is also saved with the image.
  • If you are saving uncompressed data to a file whose FileFormat property is set to a compressed format, this function will automatically compress the data, according to the file format; the image does not to have its CompressionType property set. If you are exporting compressed data to an uncompressed file format, this function will automatically decompress the data.
  • The FileName parameter specifies the name of the file in which to store the image. If the file already exists, it will be overwritten.
  • If the FileFormat property is set to imFileFormatDefault, the image is saved in the format it was loaded in or in imMIL format if no load was performed on the image. If not set to imFileFormatDefault, it is saved in the format specified in the FileFormat property.
  • Note that this method is optimized for packed binary images.
  • If you pass the FileName parameter an empty string (""), the File Open dialog box is presented so that you can interactively select a file name.
  • Associations to Calibration controls are not saved when using this method.
[]
Example
This example shows how to use the Save method.

// Save the image
m_AnImage->Save(static_cast<_bstr_t>(m_FileName));


Image.ShowPropertyPages Method

ShowPropertyPages method

Availability | MIL Equivalent | Save | ContentModified
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Image
ShowPropertyPages
Synopsis
Opens the specified property pages of the Image control in a window.
[]
Syntax
object.ShowPropertyPages(
ByVal Pages As ImPropertyPagesConstants,
ByVal Caption As String,
ByVal hWndParent As Integer,
ByVal Reserved As Boolean
)
[]
Syntax
void object->ShowPropertyPages(
enum ImPropertyPagesConstants Pages,
_bstr_t Caption,
long hWndParent,
VARIANT_BOOL Reserved
)
Pages
An ImPropertyPagesConstants expression that specifies the page(s) to display. You can add the following constants together to display multiple pages.
Value | Meaning
imGeneralPropertyPage | Display the Image control's General property page.
imAttributesPropertyPage | Display the Image control's Attributes property page.
imLUTPropertyPage | Display the Image control's LUT property page.
imHistoryPropertyPage | Display the Image control's History property page.
imAllPropertyPages | Display all of the Image control's available property pages.
Caption (optional in , default is "")
A string value that specifies the caption for the property pages window. The default is an empty string, in which case a generic caption will be displayed.
hWndParent (optional in , default is 0)
A long value that specifies the window handle (HWND) of the property pages window's parent. The property pages window will be modal in relation to its parent window.
Reserved (optional in , default is True)
This parameter is reserved for future use. True is the only value available.
Value | Meaning
True | Meaning to be determined. This setting must always be used.
Remarks
  • If the Image control is created at design-time, the .NET ActiveX Control Importer (AxImp.exe) renames this ActiveMIL method from ShowPropertyPages() to CtlShowPropertyPages() to avoid name clashing with the ShowPropertyPages() method of the .NET Windows Form control. See the Windows Forms ActiveX Control Importer (AxImp.exe) topic in MSDN for more information. In addition, if the control is created at run-time with the AxMatrox.ActiveMIL.* namespace, you must use CtlShowPropertyPages() to call the ActiveMIL ShowPropertyPages() method.
  • This method is used to display the property pages so that properties can be set interactively at run-time.
  • This method will disable property page elements corresponding to properties that cannot be changed due to the current state of the control. For example, if a property cannot be changed while its control is in the allocated state, and the control is allocated, the corresponding element in the property page will be disabled. To change this property, call the Free method first.


Image.ContentModified Event

ContentModified event

See Also | Availability | MIL Equivalent | ShowPropertyPages
Reference:
Image.ContentModifiedEvent
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Image
ContentModified
Synopsis
Occurs when the content of the image is modified.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_ContentModified(
ByVal OffsetX As Integer,
ByVal OffsetY As Integer,
ByVal SizeX As Integer,
ByVal SizeY As Integer
) Handles object.ContentModified

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_ContentModified(
ByVal sender As Object,
ByVal e As AxMatrox.ActiveMIL.IImageEvents_ContentModifiedEvent
) Handles object.ContentModified
[]
Syntax
void class::OnContentModified(
long OffsetX,
long OffsetY,
long SizeX,
long SizeY
)
OffsetX
A long value that defines the X-coordinate of the top-left corner of the modified region within the image.
OffsetY
A long value that defines the Y-coordinate of the top-left corner of the modified region within the image.
SizeX
A long value that defines the width of the modified region within the image.
SizeY
A long value that defines the height of the modified region within the image.
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • For performance reasons, this event must be enabled in order to be fired. To enable the event, set the ContentModifiedEvent property to True.


ImageProcessing control

Availability
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Synopsis
An ImageProcessing control includes various types of image processing capabilities such as point-to-point, statistical, spatial filtering, and morphological operations. These operations allow you to make image enhancements, distortion corrections, and analysis.

Structure
ImageProcessing Properties: AutomaticAllocation, Destination1, Destination2, IsAllocated, Kernels, LUTs, Name, OwnerSystem, OwnerSystemName, PolarParameters, PropertyValidation, ResultDataType, ResultSize, Results, ResultType, Source1, Source2, Source3, Source4, Source5, StructuringElements, WarpParameters

Methods: AbsoluteValue, Add, Allocate, And, Binarize, CalculateStats, Clip, Close, ConnectMap, Convert, Convolve, CountDifferences, Deriche, Dilate, DiscreteCosineTransform, Distance, Divide, EdgeDetect1, EdgeDetect2, EdgeDetect, Erode, FastFourierTransform, FindExtremes, Flip, Free, HistogramEqualize, Histogram, HitOrMiss, HorizontalEdge, Label, LaplacianEdge1, LaplacianEdge2, LocateEvents, LUTMap, Match, Maximum, Minimum, MultiplyAndAccumulate1, MultiplyAndAccumulate2, Multiply, Nand, Negate, Nor, Not, OffsetGain, Open, Or, PolarToRectangular, Project, Rank, RectangularToPolar, Resize, Rotate, Sharpen1, Sharpen2, Shen, Shift, ShowPropertyPages, Smooth, Subtract, Thick, Thin, Translate, VerticalEdge, Warp, Watershed, WeightedAverage, Xnor, Xor, ZoneOfInfluence

Event: ResultsModified
Kernels Properties: Count, Item

Methods: Add, Load, Remove
Item Properties: AbsoluteValue, CenterX, CenterY, DataDepth, DataType, Data, FilterMode, FilterType, FilterSmoothness, FilterOperation, MilID, NormalizationFactor, OverscanType, OverscanValue, Saturation, SizeX, SizeY

Methods: Get, Put, Save
LUTs Properties: Count, Item

Methods: Add, Remove
Item Properties: DataDepth, DataType, MilID, NumberOfBands, Size

Methods: GenerateColor, GenerateFunction, GenerateRamp, Get, Put
PolarParameters Properties: CenterX, CenterY, EndAngle, EndRadius, StartAngle, StartRadius

Methods: CalculatePolarSize, CalculateRectangularSize
Results Properties: Count, Item, MilID, Stats

Methods: Get, GetMultiple
Item Properties: PositionX, PositionY, Value
Stats Properties: Maximum, MaximumAbsolute, Mean, Minimum, MinimumAbsolute, NumberOfPixels, StandardDeviation, Sum, SumAbsolute, SumOfSquares
StructuringElements Properties: Count, Item

Methods: Add, Load, Remove
Item Properties: CenterX, CenterY, DataType, Data, MilID, OverscanType, OverscanValue, SizeX, SizeY

Methods: Get, Put, Save
WarpParameters Properties: Coefficients, Quadrilateral, Rectangle, WarpLUT

Methods: GenerateLUT, MapQuadrilateralToRectangle, MapRectangleToQuadrilateral, ResetCoefficients, RotateCoefficients, ScaleCoefficients, ShearCoefficients, TranslateCoefficients
Quadrilateral Properties: X1, X2, X3, X4, Y1, Y2, Y3, Y4
Rectangle Properties: X1, X2, Y1, Y2
WarpLUT Properties: DataDepth, DataX, DataY, MilID, NumberOfBands, NumberOfFractionalBits, SizeX, SizeY

Methods: Get, Load, Put, Save


ImageProcessing.AutomaticAllocation Property

AutomaticAllocation property

See Also | Availability | MIL Equivalent | Destination1
User Guide:
Setting up controls - Allocating and freeing resources

Reference:
ImageProcessing.Allocate
ImageProcessing.Free
ImageProcessing.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
AutomaticAllocation
Synopsis
Returns or sets whether the resources of the ImageProcessing control are automatically allocated at run-time.
[]
Syntax
object.AutomaticAllocation [= Boolean]
[]
Syntax
object->AutomaticAllocation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the control's automatic allocation.
Value | Meaning
True | The control will be allocated automatically at run-time.
False | The control must be allocated explicitly, using the Allocate method.
Remarks
  • When the AutomaticAllocation property is False, an explicit call to the Allocate method is required. You can get the allocation state of the control by reading its IsAllocated property.
  • The default value is True for controls created at design-time, and False for controls created at run-time (for example, created with the CreateObject method of the Application control).
  • When this property is set to True, automatic allocation will occur when the owner system of the ImageProcessing control is allocated. For example, if System1 is set as the owner system of ImageProcessing1, and System1 is not allocated, then ImageProcessing1 will not be allocated, even if its AutomaticAllocation property is set to True. When System1 is allocated (with the Allocate method), ImageProcessing1 will be allocated automatically if its AutomaticAllocation property is set to True.
  • The resources of the control will be freed automatically when the control is destroyed.
[]
Example
This example demonstrates how to set up this control so that it is automatically allocated when its owner System control is allocated.

ImageProcessing1.AutomaticAllocation = True
ImageProcessing1.OwnerSystem = System1

' This call will also allocate ImageProcessing1 since
' its OwnerSystem property is System1 and
' its AutomaticAllocation property is set to True
System1.Allocate()
[]
Example
This example demonstrates how to set up this control so that it is automatically allocated when its owner System control is allocated.

m_ImageProcessing1->AutomaticAllocation = TRUE;
m_ImageProcessing1->OwnerSystem = m_System1;

// This call will also allocate m_ImageProcessing1 since
// its OwnerSystem property is m_System1 and
// its AutomaticAllocation property is set to TRUE
m_System1->Allocate();


ImageProcessing.Destination1 Property

Destination1 property

See Also | Availability | MIL Equivalent | AutomaticAllocation | Destination2
Reference:
ImageProcessing.Destination2
ImageProcessing.Source1
ImageProcessing.Source2
ImageProcessing.Source3
ImageProcessing.Source4
ImageProcessing.Source5
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
Destination1
Synopsis
Returns or sets the Image control used as the primary destination image (Destination1) by the ImageProcessing control.
[]
Syntax
object.Destination1 [= Image]
[]
Syntax
object->Destination1 [= _variant_t]
Type description
An Image control that specifies the image to use as the primary destination image.

Remarks
  • This property specifies where the image resulting from a call to an image processing method is placed.
  • The image processing methods support in-place processing; in this case the destination and the source properties are set to the same image, however the source and the destination images cannot partially overlap. If you have created only one Image control, in-place processing occurs by default. If you have created more than one Image control, the source and destination properties need to be specified.
  • []
     Use the Visual Basic Is Nothing statement to confirm that this property is currently not associated with a control.
  • []
     To remove the reference to the current control without assigning a new control, set the property to Nothing.
  • []
     To remove the reference to the current control without assigning a new control, set the property to 0L.
[]
Example
This example shows how to use the Destination1 property.

' Set the Destination1 property to an Image control
ImageProcessing1.Destination1 = DisplayedImage

' Remove the reference on m_Image1
ImageProcessing1.Destination1 = Nothing

' Set the Destination1 property to an Image control referenced
' by another ActiveMIL control
ImageProcessing1.Destination1 = Display1.Image

' Same as above for an Image control built at run-time
Dim MyImage As IImage
MyImage = Application1.CreateObject("MIL.Image", False)
MyImage.CanDisplay = True
MyImage.CanProcess = True
MyImage.Allocate()
ImageProcessing1.Destination1 = MyImage

' Use the Image control referenced by the Destination1 property to
' set the Image property of another ActiveMIL control
Display1.Image = ImageProcessing1.Destination1
[]
Example
This example shows how to use the Destination1 property.

// Set the Destination1 property to an Image control
m_ImageProcessing1->Destination1 = m_AnImage;

// Remove the reference on m_AnImage
// Notice the 'L' to define a long value.
// This is necessary to resolve the ambiguous _variant_t construction
m_ImageProcessing1->Destination1 = 0L;

// Set the Destination1 property to an Image control referenced
// by another ActiveMIL control
// Notice the explicit construction of a _variant_t.
// This is necessary to resolve the ambiguous _variant_t construction
m_ImageProcessing1->Destination1 = _variant_t(m_Display1->Image, true);

// Same as above for an Image control built at run-time
IImagePtr MyImage;
MyImage = m_Application1->CreateObject("MIL.Image", false);
MyImage->CanDisplay = true;
MyImage->CanProcess = true;
MyImage->Allocate();

m_ImageProcessing1->Destination1 = _variant_t(MyImage, true);

// Use the Image control referenced by the Destination1 property to
// set the Image property of another ActiveMIL control
if (V_DISPATCH(&m_ImageProcessing1->Destination1) != NULL)
   {
   // Use a temporary smart pointer to take care of the
   // raw pointer returned by _variant_t's internal
   // IDispatch* operator
   IImagePtr TemporaryImage = m_ImageProcessing1->Destination1;
   m_Display1->Image = TemporaryImage;
   }


ImageProcessing.Destination2 Property

Destination2 property

See Also | Availability | MIL Equivalent | Destination1 | IsAllocated
Reference:
ImageProcessing.Destination1
ImageProcessing.Source1
ImageProcessing.Source2
ImageProcessing.Source3
ImageProcessing.Source4
ImageProcessing.Source5
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
Destination2
Synopsis
Returns or sets the Image control used as the secondary destination image (Destination2) by the ImageProcessing control.
[]
Syntax
object.Destination2 [= Image]
[]
Syntax
object->Destination2 [= _variant_t]
Type description
An Image control that specifies the image to use as the secondary destination image.

Remarks
  • This property is used by image processing methods that require two destination images.
  • This property specifies where the image resulting from a call to an image processing method is placed.
  • The image processing methods support in-place processing; in this case the destination and the source properties are set to the same image, however the source and the destination images cannot partially overlap.
  • []
     Use the Visual Basic Is Nothing statement to confirm that this property is currently not associated with a control.
  • []
     To remove the reference to the current control without assigning a new control, set the property to Nothing.
  • []
     To remove the reference to the current control without assigning a new control, set the property to 0L.
[]
Example
This example shows how to use the Destination2 property.

' Set the Destination2 property to an Image control
ImageProcessing1.Destination2 = DisplayedImage

' Remove the reference on m_Image1
ImageProcessing1.Destination2 = Nothing

' Set the Destination2 property to an Image control referenced
' by another ActiveMIL control
ImageProcessing1.Destination2 = Display1.Image

' Same as above for an Image control built at run-time
Dim MyImage As IImage
MyImage = Application1.CreateObject("MIL.Image", False)
MyImage.CanDisplay = True
MyImage.CanProcess = True
MyImage.Allocate()
ImageProcessing1.Destination2 = MyImage

' Use the Image control referenced by the Destination2 property to
' set the Image property of another ActiveMIL control
Display1.Image = ImageProcessing1.Destination2
[]
Example
This example shows how to use the Destination2 property.

// Set the Destination2 property to an Image control
m_ImageProcessing1->Destination2 = m_AnImage;

// Remove the reference on m_AnImage
// Notice the 'L' to define a long value.
// This is necessary to resolve the ambiguous _variant_t construction
m_ImageProcessing1->Destination2 = 0L;

// Set the Destination2 property to an Image control referenced
// by another ActiveMIL control
// Notice the explicit construction of a _variant_t.
// This is necessary to resolve the ambiguous _variant_t construction
m_ImageProcessing1->Destination2 = _variant_t(m_Display1->Image, true);

// Same as above for an Image control built at run-time
IImagePtr MyImage;
MyImage = m_Application1->CreateObject("MIL.Image", false);
MyImage->CanDisplay = true;
MyImage->CanProcess = true;
MyImage->Allocate();

m_ImageProcessing1->Destination2 = _variant_t(MyImage, true);

// Use the Image control referenced by the Destination2 property to
// set the Image property of another ActiveMIL control
if (V_DISPATCH(&m_ImageProcessing1->Destination2) != NULL)
   {
   // Use a temporary smart pointer to take care of the
   // raw pointer returned by _variant_t's internal
   // IDispatch* operator
   IImagePtr TemporaryImage = m_ImageProcessing1->Destination2;
   m_Display1->Image = TemporaryImage;
   }


ImageProcessing.IsAllocated Property

IsAllocated property

See Also | Availability | MIL Equivalent | Destination2 | Kernels
User Guide:
Allocation of resources

Reference:
ImageProcessing.Allocate
ImageProcessing.Free
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
IsAllocated
Synopsis
Returns whether the resources of the ImageProcessing control are allocated.
[]
Syntax
[Boolean =] object.IsAllocated
[]
Syntax
[VARIANT_BOOL =] object->IsAllocated
Type description
A boolean value that specifies whether the resources of the control are allocated.
Value | Meaning
True | The resources of the control are allocated.
False | The resources of the control are not allocated.
[]
Example
This example shows how to use the IsAllocated property.

If ImageProcessing1.IsAllocated Then
    ImageProcessing1.Free()
End If
[]
Example
This example shows how to use the IsAllocated property.

if (m_ImageProcessing1->IsAllocated)
   m_ImageProcessing1->Free();


ImageProcessing.Kernels Property

Kernels property

See Also | Availability | MIL Equivalent | IsAllocated | LUTs
User Guide:
Custom spatial filters

Reference:
ImageProcessing.Convolve
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc2d(
Attribute =
M_KERNEL
)

MbufControlNeighborhood()
ImageProcessing
Kernels
Properties: Count, Item

Methods: Add, Load, Remove
Synopsis
Returns the collection of kernels (filters) available to the ImageProcessing control, allowing access to its elements.
[]
Syntax
[Kernels =] object.Kernels
[]
Syntax
[IKernelsPtr =] object->Kernels
Type description
A Kernels expression that represents an instance of a Kernels collection.
Remarks
  • Each element in the collection refers to a user-defined spatial filter. If the filter is an FIR filter, each element in the collection also defines the kernel for the filter. Therefore, when describing an FIR filter, we sometimes refer to this element as a kernel.
  • In ActiveMIL, you can specify two types of custom spatial filters: Finite Impulse Response (FIR) filter and Infinite Impulse Response (IIR) filters. FIR filters operate on a finite neighborhood, while IIR filters take into account all values in an image.
  • To use your custom FIR or IIR filter, call the Convolve method, specifying the index that corresponds to the kernel you want to use.
  • For more information on custom spatial filters, see the Custom spatial filters section in Chatper 4: Advance Image processing of the ActiveMIL User Guide.
[]
Example
This example shows how to use the Kernel property.

m_ImageProcessing1->Kernels->Item(1)->Data[2][2] = 1;

m_ImageProcessing1->Kernels->Item(1)->NormalizationFactor = 8;


ImageProcessing.Kernels.Count Property

Count property

Availability | MIL Equivalent | Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
Kernels
Count
Synopsis
Returns the number of elements in the collection of kernels.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A long value that specifies the number of elements currently in the collection.
Remark
  • Each element in the collection of kernels refers to a user-defined kernel.


ImageProcessing.Kernels.Item Property

Item property

Availability | MIL Equivalent | Count | Add
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
Kernels
Item
Properties: AbsoluteValue, CenterX, CenterY, DataDepth, DataType, Data, FilterMode, FilterType, FilterSmoothness, FilterOperation, MilID, NormalizationFactor, OverscanType, OverscanValue, Saturation, SizeX, SizeY

Methods: Get, Put, Save
Synopsis
Returns the element at the specified index in the collection of kernels.
[]
Syntax
[Kernel=]object.Item(
Index As Integer
)
[]
Syntax
[IKernelPtr =] object->Item(
long Index
)
Index
A long value that specifies the index of the required element.
Type description
A Kernel object.
Remarks
  • Each element in the collection refers to a user-defined spatial filter. If the filter is an FIR filter, each element in the collection also defines the kernel for the filter. Therefore, when describring an FIR filter, we sometimes refer to this element as a kernel for historical reasons.
  • In ActiveMIL, you can specify two types of custom spatial filters: Finite Impulse Response (FIR) filter and Infinite Impulse Response (IIR) filters. FIR filters operate on a finite neighborhood, while IIR filters take into account all values in an image.
  • If the value provided as the index does not match any existing element in the collection, an error occurs. Note, the index of the first element of this collection starts at one.
  • To use your custom FIR or IIR filter, call the Convolve method, specifying the index that corresponds to the kernel you want to use.
  • For more information on custom spatial filters, see the Custom spatial filters section in Chatper 4: Advance Image processing of the ActiveMIL User Guide.
  • []
     The Item property is the default property for a collection. Therefore, the following expressions are equivalent:
    • ImageProcessing.Kernels(1)
    • ImageProcessing.Kernels.Item(1)
[]
Example
This example shows how to use a property of the item at index 1 in the Kernels collection.

m_ImageProcessing1->Kernels->Item(1)->Data[2][2] = 1;

m_ImageProcessing1->Kernels->Item(1)->NormalizationFactor = 8;


ImageProcessing.Kernels.Item.AbsoluteValue Property

AbsoluteValue property

Availability | MIL Equivalent | CenterX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufControlNeighborhood(
Operation flag =
M_ABSOLUTE_VALUE
)

MbufInquire(
InquireType =
M_ABSOLUTE_VALUE
)
ImageProcessing
Kernels
Item
AbsoluteValue
Synopsis
Returns or sets whether to take the absolute value of results obtained when using the specified kernel.
[]
Syntax
object.AbsoluteValue [= Boolean]
[]
Syntax
object->AbsoluteValue [= VARIANT_BOOL]
Type description
A boolean value that specifies whether to take the absolute value of the result. (default is False)
Value | Meaning
True | The absolute value of the results is taken.
False | The absolute value of the results is not taken.


ImageProcessing.Kernels.Item.CenterX Property

CenterX property

See Also | Availability | MIL Equivalent | AbsoluteValue | CenterY
Reference:
ImageProcessing.Kernels.Item.CenterY
ImageProcessing.Kernels.Item.SizeX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufControlNeighborhood (
OperationFlag =
M_OFFSET_CENTER_X
)

MbufInquire(
InquireType =
M_OFFSET_CENTER_X
)
ImageProcessing
Kernels
Item
CenterX
Synopsis
Returns or sets the X-coordinate of the kernel center.
[]
Syntax
object.CenterX [= Integer]
[]
Syntax
object->CenterX [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the X-coordinate of the center, relative to the top-left corner of the kernel. (default is 0)
Remarks
  • The value must be between 0 and (SizeX- 1). SizeX is the value of the SizeX property.
  • This property is ignored if the FilterMode property is set to impRecursive.


ImageProcessing.Kernels.Item.CenterY Property

CenterY property

See Also | Availability | MIL Equivalent | CenterX | DataDepth
Reference:
ImageProcessing.Kernels.Item.CenterX
ImageProcessing.Kernels.Item.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufControlNeighborhood (
OperationFlag =
M_OFFSET_CENTER_Y
)

MbufInquire(
InquireType =
M_OFFSET_CENTER_Y
)
ImageProcessing
Kernels
Item
CenterY
Synopsis
Returns or sets the Y-coordinate of the kernel center.
[]
Syntax
object.CenterY [= Integer]
[]
Syntax
object->CenterY [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the Y-coordinate of a center, relative to the top-left corner of the kernel. (default is 0)
Remarks
  • The value must be between 0 and (SizeY- 1). SizeY is the value of the SizeY property.
  • This property is ignored if the FilterMode property is set to impRecursive.


ImageProcessing.Kernels.Item.Data Property

Data property

Availability | MIL Equivalent | DataType | FilterMode
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufGet2d()

MbufPut2d()
ImageProcessing
Kernels
Item
Data
Synopsis
Returns or sets the data stored at the given position in the kernel.
[]
Syntax
Get:
[Double=]object.Data(
X As Integer,
Y As Integer
)

Set:
object.Data(
X As Integer,
Y As Integer,
value_to_set as Double
)
[]
Syntax
object->Data[long X][long Y] [= double]
X
A long value that specifies the X-coordinate of the position (first coordinate is 0).
Y
A long value that specifies the Y-coordinate of the position (first coordinate is 0).
Type description
A double value that specifies the data stored at the specified position in the kernel. If you do not want a corresponding neighbor to be considered in the convolution, the value should be set to a capital 'D' (or impDontCare).
[]
Example
This example shows how to set the Data property.

m_ImageProcessing1->Kernels->Item(1)->Data[2][2] = 1;


ImageProcessing.Kernels.Item.DataDepth Property

DataDepth property

See Also | Availability | MIL Equivalent | CenterY | DataType
User Guide:
Data type and depth

Reference:
ImageProcessing.Kernels.Item.DataType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc2d(
Type
Attribute =
M_KERNEL
)

MbufInquire(
InquireType =
M_SIZE_BIT
)
ImageProcessing
Kernels
Item
DataDepth
Synopsis
Returns or sets the data depth of the kernel.
[]
Syntax
object.DataDepth [= Integer]
[]
Syntax
object->DataDepth [= long]
Type description
A long value that specifies the number of bits. Possible values are 8, 16, and 32.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • Use the Kernels(KernelsItem).DataType property of the ImageProcessing control to specify the data type. The possible DataDepth settings for the corresponding DataType settings are:
    DataDepth | DataType
    8, 16, or 32 | impSigned
    8, 16, or 32 | impUnsigned
    32 | impFloat


ImageProcessing.Kernels.Item.DataType Property

DataType property

See Also | Availability | MIL Equivalent | DataDepth | Data
User Guide:
Data type and depth

Reference:
ImageProcessing.Kernels.Item.DataDepth
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc2d(
Type
Attribute =
M_KERNEL
)

MbufInquire(
InquireType =
M_TYPE
)
ImageProcessing
Kernels
Item
DataType
Synopsis
Returns or sets the data type of the kernel.
[]
Syntax
object.DataType [= ImpDataTypeConstants]
[]
Syntax
object->DataType [= enum ImpDataTypeConstants]
Type description
An ImpDataTypeConstants expression that specifies the data type.
Value | Meaning
impSigned | The data includes only integers.
impUnsigned | The data includes only non-negative integers.
impFloat | The data includes only floating-point numbers.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • Use the Kernels.Item(KernelIndex).DataDepth property of the ImageProcessing control to specify the data depth. The possible DataDepth settings for the corresponding DataType settings are:
    DataType | DataDepth
    impSigned | 8, 16, or 32
    impUnsigned | 8, 16, or 32
    impFloat | 32


ImageProcessing.Kernels.Item.FilterMode Property

FilterMode property

Availability | MIL Equivalent | Data | FilterType
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL

See remarks for support on:
See remarks for support on Matrox Corona-II
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox Morphis
See remarks for support on Matrox Orion
See remarks for support on Matrox Genesis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MbufControlNeighborhood(M_FILTER_MODE)

MbufInquire(M_FILTER_MODE)
ImageProcessing
Kernels
Item
FilterMode
Synopsis
Returns or sets the mode in which to apply the filter.
[]
Syntax
object.FilterMode [= ImpFilterModeConstants]
[]
Syntax
object->FilterMode [= enum ImpFilterModeConstants]
Type description
An ImpFilterModeConstants or an ActiveMILDefaultConstants expression that specifies the mode in which to apply the filter. (default is impKernel)
Value | Meaning
impKernel | Specifies the use of a non-recursive implementation of the filter.
impRecursive | Specifies the use of a recursive implementation of an Infinite Impulse Response (IIR) filter, when applicable.
amilDefault | Specifies the default filter mode, impKernel.
Remarks
  • Use the FilterType, FilterOperation, and FilterSmoothness properties to set the type of the filter, the type of operation to perform using the filter, and the degee of smoothness (strength of denoising) applied to the images by the filter, respectively.
  • When using an Infinite Impulse Response (IIR) filter, you would typically only use impKernel if dedicated hardware is available to perform the convolution.
  • When using the impKernel mode, a kernel is used to perform the neighborhood operation. The kernel size is specified using the Add method, although the kernel size can be constrained by the available hardware resources. When using an IIR filter in this mode, the filtering is done using a kernel approximation (Finite Impulse Response) of the recursive filter. The values that you specify using the Put are not used.
  • The impRecursive mode is not supported if the FilterType property is set to impUserDefined.
  • If the impRecursive mode actually used a kernel, the kernel size would be theoretically infinite.
Remark for Matrox Corona-II
  • When using an IIR filter, the impKernel mode is not as efficient as the impRecursive mode, for large kernels.
Remark for Matrox CronosPlus
  • When using an IIR filter, the impKernel mode is not as efficient as the impRecursive mode, for large kernels.
Remark for Matrox Genesis
  • When using an IIR filter, the impKernel mode is not as efficient as the impRecursive mode, for large kernels.
Remark for Matrox Meteor-II /1394
  • When using an IIR filter, the impKernel mode is not as efficient as the impRecursive mode, for large kernels.
Remark for Matrox Meteor-II /Camera Link
  • When using an IIR filter, the impKernel mode is not as efficient as the impRecursive mode, for large kernels.
Remark for Matrox Meteor-II /Digital
  • When using an IIR filter, the impKernel mode is not as efficient as the impRecursive mode, for large kernels.
Remark for Matrox Meteor-II /Multi-Channel
  • When using an IIR filter, the impKernel mode is not as efficient as the impRecursive mode, for large kernels.
Remark for Matrox Meteor-II /Standard
  • When using an IIR filter, the impKernel mode is not as efficient as the impRecursive mode, for large kernels.
Remark for Matrox Morphis
  • When using an IIR filter, the impKernel mode is not as efficient as the impRecursive mode, for large kernels.
Remark for Matrox Odyssey XA
  • When using an IIR filter, the impKernel mode is not as efficient as the impRecursive mode, for large kernels.
Remark for Matrox Odyssey XCL
  • When using an IIR filter, the impKernel mode is not as efficient as the impRecursive mode, for large kernels.
Remark for Matrox Odyssey XD
  • When using an IIR filter, the impKernel mode is not as efficient as the impRecursive mode, for large kernels.
Remark for Matrox Orion
  • When using an IIR filter, the impKernel mode is not as efficient as the impRecursive mode, for large kernels.
Remark for Matrox Solios XA
  • When using an IIR filter, the impKernel mode is not as efficient as the impRecursive mode, for large kernels.
Remark for Matrox Solios XCL
  • When using an IIR filter, the impKernel mode is not as efficient as the impRecursive mode, for large kernels.


ImageProcessing.Kernels.Item.FilterOperation Property

FilterOperation property

See Also | Availability | MIL Equivalent | FilterSmoothness | MilID
User Guide:
Custom spatial filters

Reference:
ImageProcessing.Convolve
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
Kernels
Item
FilterOperation
Synopsis
Returns or sets the type of neighborhood operation to perform using the selected filter.
[]
Syntax
object.FilterOperation [= ImpFilterOperationConstants ]
[]
Syntax
object->FilterOperation [= enum ImpFilterOperationConstants ]
Type description
An ImpFilterOperationConstants or an ActiveMILDefaultConstants expression that specifies the type of neighborhood operation to perform using the selected filter. (default is impSmooth )
Value | Meaning
amilDefault | Specifies the default filter operation, impSmooth.
impSmooth | Performs a smoothing operation on the image.
impSharpen | Performs a sharpening operation on the image.
impHorizontalEdge | Computes the absolute value of the horizontal derivative of the image.
impVerticalEdge | Computes the absolute value of the vertical derivative of the image.
impEdgeDetect | Computes the gradient of the image.
impEdgeDetectSquare | Computes the square of the gradient of the image.
impLaplacianEdge | Computes the Laplacian values of the image.
impFirstDerivativeX | Computes the first derivative of the image with respect to X.
impFirstDerivativeY | Computes the first derivative of the image with respect to Y.
impSecondDerivativeX | Computes the second derivative of the image with respect to X.
impSecondDerivativeY | Computes the second derivative of the image with respect to Y.
impSecondDerivativeXY | Computes the second derivative of the image with respect to X.
Remarks
  • The filter operations are performed using the Shen-Castan or Canny-Deriche filter.
  • Use the FilterType, FilterMode, and FilterSmoothness properties to set the type of the filter, the mode of the filter, and the degee of smoothness (strength of denoising) applied to the images by the filter, respectively.
  • This property is ignored if the FilterType property is set to impUserDefined.


ImageProcessing.Kernels.Item.FilterSmoothness Property

FilterSmoothness property

See Also | Availability | MIL Equivalent | FilterType | FilterOperation
User Guide:
Custom spatial filters

Reference:
ImageProcessing.Convolve
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
Kernels
Item
FilterSmoothness
Synopsis
Returns or sets the degree of smoothness (strength of denoising) applied by the filter during the neighborhood operation.
[]
Syntax
object.FilterSmoothness [= Double]
[]
Syntax
object->FilterSmoothness [= double]
Type description
A double value or an ActiveMILDefaultConstants expression that specifies the degree of smoothness (strength of denoising) applied by the filter during the neighborhood operation. (default is amilDefault)
Value | Meaning
amilDefault | Specifies the default value. (default is 50.0)
value | Specifies the smoothness value.
Remarks
  • Use the FilterType, FilterOperation, and FilterMode properties to set the type of the filter, the type of operation to perform using the filter, and the mode of the filter, respectively.
  • This property is ignored if the FilterType property is set to impUserDefined.
  • A value of 100.0 results in a strong noise reduction effect, while a value of 0.0 has almost no noise reduction effect.


ImageProcessing.Kernels.Item.FilterType Property

FilterType property

See Also | Availability | MIL Equivalent | FilterMode | FilterSmoothness
User Guide:
Custom spatial filters

Reference:
ImageProcessing.Convolve
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufControlNeighborhood(M_FILTER_TYPE)

MbufInquire(M_FILTER_TYPE)
ImageProcessing
Kernels
Item
FilterType
Synopsis
Returns or sets the type of filter used to perform the neighborhood operation.
[]
Syntax
object.FilterType [= ImpFilterTypeConstants]
[]
Syntax
object->FilterType [= enum ImpFilterTypeConstants]
Type description
An ImpFilterTypeConstants or an ActiveMILDefaultConstants expression that specifies the type of filter used to perform the neighborhood operation. (default is impUserDefined)
Value | Meaning
impUserDefined | Specifies a user-defined filter.
impDeriche | Specifies a Canny-Deriche Infinite Support filter.
impShen | Specifies a Shen-Castan Infinite Support Exponential filter.
amilDefault | Specifies the default filter type, impUserDefined.
Remarks
  • The type of filter determines the distribution of the neighbordhoods' influence.
  • Use the FilterMode, FilterOperation, and FilterSmoothness properties to set the mode of the filter, the type of operation to perform using the filter, and the degee of smoothness (strength of denoising) applied to the images by the filter, respectively.
  • For Infinite Impulse Response (IIR) filter types, the content of the kernel is ignored even if the FilterMode property is set to impKernel. The FilterOperation and FilterSmoothness properties determine the filter values.
  • The impDeriche filter is an exponential weighting function, of the general form:
    This is an IIR filter.

    The neighborhoods' influence decreases much slower as the distance from the central pixel increases, compared to the Shen-Castan filter.

  • The impShen is an exponential weighting function, of the general form:
    This is an IIR filter.

    The neighborhoods' influence decreases much faster as the distance from the central pixel increases, compared to the Canny-Deriche filter.

  • The impUserDefined filter is a Finite Impulse Response (FIR) filter.
  • The impUserDefined filter is not supported if the FilterMode property is set to impRecursive.


ImageProcessing.Kernels.Item.MilID Property

MilID property

See Also | Availability | MIL Equivalent | FilterOperation | NormalizationFactor
User Guide:
Integrating MIL functions with your ActiveMIL code

Reference:
ImageProcessing.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc2d(BufIdPtr)
ImageProcessing
Kernels
Item
MilID
Synopsis
Returns the Native MIL identifier of the allocated resources of the kernel.
[]
Syntax
[Integer =] object.MilID
[]
Syntax
[long =] object->MilID
Type description
A long value that specifies the Native MIL identifier of the kernel.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • If the control's IsAllocated property is False, the MilID property will be 0.


ImageProcessing.Kernels.Item.NormalizationFactor Property

NormalizationFactor property

Availability | MIL Equivalent | MilID | OverscanType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufControlNeighborhood(
Operation flag =
M_NORMALIZATION_FACTOR
)

MbufInquire(
InquireType =
M_NORMALIZATION_FACTOR
)
ImageProcessing
Kernels
Item
NormalizationFactor
Synopsis
Returns or sets the normalization factor to apply to results obtained when using the specified kernel (filter).
[]
Syntax
object.NormalizationFactor [= Double]
[]
Syntax
object->NormalizationFactor [= double]
Type description
A double value that specifies the value to be used as the normalization factor. (default is 1)
Remark
  • If the factor produces an overflow in the destination, saturation might occur depending on the Saturation property setting.
[]
Example
This example shows how to set the NormalizationFactor property.

m_ImageProcessing1->Kernels->Item(1)->NormalizationFactor = 8;


ImageProcessing.Kernels.Item.OverscanType Property

OverscanType property

See Also | Availability | MIL Equivalent | NormalizationFactor | OverscanValue
User Guide:
Borders of an image

Reference:
ImageProcessing.Kernels.Item.OverscanValue
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufControlNeighborhood(
Operation flag =
M_OVERSCAN
)

MbufInquire(
InquireType =
M_OVERSCAN
)
ImageProcessing
Kernels
Item
OverscanType
Synopsis
Returns or sets the type of overscan used to handle the border pixels of a source image.
[]
Syntax
object.OverscanType [= ImpOverscanTypeConstants]
[]
Syntax
object->OverscanType [= enum ImpOverscanTypeConstants]
Type description
An ImpOverscanTypeConstants or ImpOverscanDefaultConstants expression that specifies the type of overscan used to handle the border pixels of a source image. (default is impOverscanDefault)
Value | Meaning
impTransparent | Operations will be performed on the border pixels of the source image using transparent overscan pixel values. That is, the overscan pixel values will be those of the parent image. If they are not available, an impMirror overscan is used instead.
impMirror | Operations will be performed on the border pixels of the source image using overscan pixel values that mirror those of the source image's borders. That is, the overscan pixel values will be a mirror copy of the source image's borders.
impReplace | Operations will be performed on the border pixels of the source image using the replacement value specified with the OverscanValue property.
impDisableOverscanType | Overscan is disabled.
impOverscanDefault | Operations will be performed with an overscan method selected by ActiveMIL to optimize speed and logic in function of both the operation required and the current processing system.
Remarks
  • This property specifies how to process border pixels of the source image.
  • This property is ignored if the FilterMode property is set to impRecursive.
  • When this property is set to impDisableOverscanType, the border pixels of the source image are not processed by the neighborhood operation if addtional processing time is needed.
  • The following is an example of the impMirror operation:


ImageProcessing.Kernels.Item.OverscanValue Property

OverscanValue property

See Also | Availability | MIL Equivalent | OverscanType | Saturation
User Guide:
Borders of an image
Custom spatial filters

Reference:
ImageProcessing.Convolve
ImageProcessing.Kernels.Item.OverscanType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufControlNeighborhood(
Operation flag =
M_OVERSCAN_REPLACE_VALUE
)

MbufInquire(
InquireType =
M_OVERSCAN_REPLACE_VALUE
)
ImageProcessing
Kernels
Item
OverscanValue
Synopsis
Returns or sets a replacement value for the overscan pixel values.
[]
Syntax
object.OverscanValue [= Double]
[]
Syntax
object->OverscanValue [= double]
Type description
A double value, an ImpKernelOverscanValueConstants, or an ActiveMILDefaultConstants expression that specifies the replacement value. (default is amilDefault)
Value | Meaning
amilDefault | Specifies the default value. (default is 0)
impReplaceMaximum | Specifies that the overscan neighborhood pixel values will be set to the maximum value of the source image.
impReplaceMinimum | Specifies that the overscan neighborhood pixel values will be set to the minimum value of the source image.
value | Specifies the value of the overscan neighborhood pixels.
Remarks
  • This property specifies the overscan pixel value used when performing an operation on the border pixels of the source image using a replacement type of overscan.
  • This property is only used when the OverscanType property is set to impReplace. In addition, this property is ignored if the FilterMode property is set to impRecursive.


ImageProcessing.Kernels.Item.Saturation Property

Saturation property

Availability | MIL Equivalent | OverscanValue | SizeX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufControlNeighborhood(
Operation flag =
M_SATURATION
)

MbufInquire(
InquireType =
M_SATURATION
)
ImageProcessing
Kernels
Item
Saturation
Synopsis
Returns or sets whether to saturate results obtained when using the specified kernel (filter).
[]
Syntax
object.Saturation [= Boolean]
[]
Syntax
object->Saturation [= VARIANT_BOOL]
Type description
A boolean value that specifies whether to saturate results. (default is False)
Value | Meaning
True | The results are saturated.
False | The results are not saturated.
Remarks
  • When this property is set to True, a result that overflows or underflows will be set to the maximum or minimum value (respectively) that can be represented in the destination image. Saturation is performed after the normalization factor (if specified) and an absolute value operation (if enabled) have been applied.
  • When this property is set to False, results that overflow are undefined.


ImageProcessing.Kernels.Item.SizeX Property

SizeX property

See Also | Availability | MIL Equivalent | Saturation | SizeY
Reference:
ImageProcessing.Kernels.Item.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc2d(
SizeX
Attribute =
M_KERNEL
)

MbufInquire(
InquireType =
M_SIZE_X
)
ImageProcessing
Kernels
Item
SizeX
Synopsis
Returns or sets the width of the kernel.
[]
Syntax
object.SizeX [= Integer]
[]
Syntax
object->SizeX [= long]
Type description
A long value that specifies the number of kernel values in the horizontal direction.
Remark
  • This property cannot be set at run-time if the control is in the allocated state.


ImageProcessing.Kernels.Item.SizeY Property

SizeY property

See Also | Availability | MIL Equivalent | SizeX | Get
Reference:
ImageProcessing.Kernels.Item.SizeX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc2d(
SizeY
Attribute =
M_KERNEL
)

MbufInquire(
InquireType =
M_SIZE_Y
)
ImageProcessing
Kernels
Item
SizeY
Synopsis
Returns or sets the height of the kernel.
[]
Syntax
object.SizeY [= Integer]
[]
Syntax
object->SizeY [= long]
Type description
A long value that specifies the number of kernel values in the vertical direction.
Remark
  • This property cannot be set at run-time if the control is in the allocated state.


ImageProcessing.Kernels.Item.Get Method

Get method

Availability | MIL Equivalent | SizeY | Put
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufGet()
ImageProcessing
Kernels
Item
Get
Synopsis
Copies the kernel data to the user-supplied array.
[]
Syntax
object.Get(
ByVal UserArray As Array
)
[]
Syntax
void object->Get(
VARIANT * UserArray
)
UserArray
An array in which to put the data.

Remarks
  • Ensure that the user array is large enough to accommodate the data from the kernel.
  • It is assumed that the user array is of the same data type and depth as the kernel.


ImageProcessing.Kernels.Item.Put Method

Put method

Availability | MIL Equivalent | Get | Save
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufPut()
ImageProcessing
Kernels
Item
Put
Synopsis
Copies the data from the user-supplied array into the kernel.
[]
Syntax
object.Put(
ByVal UserArray As Array
)
[]
Syntax
void object->Put(
const _variant_t & UserArray
)
UserArray
A user array that contains the data to be copied.

Remarks
  • Ensure that the kernel is large enough to accommodate the data from the user array.
  • It is assumed that the user array is of the same data type and depth as the kernel.


ImageProcessing.Kernels.Item.Save Method

Save method

Availability | MIL Equivalent | Put
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufExport()

MbufSave()
ImageProcessing
Kernels
Item
Save
Synopsis
Saves the kernel in a file.
[]
Syntax
object.Save(
ByVal FileName As String
)
[]
Syntax
void object->Save(
_bstr_t FileName
)
FileName
A string expression that specifies the name and path of the file in which to save the kernel.
Remarks
  • The data is saved in the file using the MIL kernel file format.
  • This method saves all the current property settings of the kernel to disk. The kernel and its properties can later be restored, using the Kernels.Load method.
  • If you pass the FileName parameter an empty string (""), the File Open dialog box is presented so that you can interactively select a file name.
  • This method will generate an error if the file cannot be found or loaded properly.
  • This method handles the opening and closing of the file.


ImageProcessing.Kernels.Add Method

Add method

See Also | Availability | MIL Equivalent | Item | Load
Reference:
ImageProcessing.Kernels.Remove
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
Kernels
Add
Synopsis
Adds a new element to the collection of kernels (filters), which is initialized with the values passed as parameters.
[]
Syntax
object.Add(
ByVal DataType As ImpDataTypeConstants,
ByVal DataDepth As Integer,
ByVal SizeX As Integer,
ByVal SizeY As Integer
)
[]
Syntax
void object->Add(
enum ImpDataTypeConstants DataType,
long DataDepth,
long SizeX,
long SizeY
)
DataType (optional in , default is impUnsigned)
An ImpDataTypeConstants expression that specifies the data type.
Value | Meaning
impSigned | The data includes only integers.
impUnsigned | The data includes only non-negative integers.
impFloat | The data includes only floating-point numbers.
DataDepth (optional in , default is 8)
A long value that specifies the number of bits. Possible values are 1, 8, 16, or 32.
SizeX (optional in , default is 3)
A long value that specifies the X-dimension.
SizeY (optional in , default is 3)
A long value that specifies the Y-dimension.
Remark
  • For a Finite Impulse Response (FIR) filter or Infinite Impulse Response (IIR) filter which uses a kernel mode implementation, you can set the data type and depth of the kernel using the Kernels.Item(KernelIndex).DataType and DataDepth properties of the ImageProcessing control, respectively. You can also set the X- and Y-dimensions of the kernel using the SizeX and SizeY properties. The kernel size can be constrained by the available resources. Note that the size of the source and destination images must be greater or equal to the size of the kernel.
[]
Example
This example shows how to use the Add method.

m_ImageProcessing1->Kernels->Add(impUnsigned, 8, 3, 3);


ImageProcessing.Kernels.Load Method

Load method

Availability | MIL Equivalent | Add | Remove
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufLoad()

MbufImport()
ImageProcessing
Kernels
Load
Synopsis
Loads a kernel from a file into the collection of kernels.
[]
Syntax
[Integer =] object.Load(
ByVal FileName As String
)
[]
Syntax
[long =] object->Load(
_bstr_t FileName
)
FileName
A string expression that specifies the name and path of the file from which to load the kernel.
Return value
Returns the index of the new kernel.
Remarks
  • The file must be in a MIL kernel file format.
  • If you pass the FileName parameter an empty string (""), the File Open dialog box is presented so that you can interactively select a file name.
  • This method will generate an error if the file cannot be found or loaded properly.
  • This method handles the opening and closing of the file.


ImageProcessing.Kernels.Remove Method

Remove method

See Also | Availability | MIL Equivalent | Load
Reference:
ImageProcessing.Kernels.Add
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
Kernels
Remove
Synopsis
Removes a kernel from the collection.
[]
Syntax
object.Remove(
ByVal Index As Integer
)
[]
Syntax
void object->Remove(
long Index
)
Index
A long value that specifies an index into the collection of kernels, identifying the kernel to remove.
[]
Example
This example shows how to use the Remove method.

m_ImageProcessing1->Kernels->Remove(1);


ImageProcessing.LUTs Property

LUTs property

See Also | Availability | MIL Equivalent | Kernels | Name
User Guide:
Overview of LUTs

Reference:
ImageProcessing.HistogramEqualize
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc1d(
Attribute =
M_LUT
)

MbufAlloc2d(
Attribute =
M_LUT
)

MbufAllocColor(
Attribute =
M_LUT
)
ImageProcessing
LUTs
Properties: Count, Item

Methods: Add, Remove
Synopsis
Returns the collection of LUTs available to the ImageProcessing control, allowing access to its elements.
[]
Syntax
[LUTs =] object.LUTs
[]
Syntax
[ILUTsPtr =] object->LUTs
Type description
A LUTs expression that represents an instance of a LUTs collection.
[]
Example
This example shows how to use the LUTs property.

m_ImageProcessing1->LUTs->Add(lutUnsigned, 8, 1, 512);


ImageProcessing.LUTs.Count Property

Count property

Availability | MIL Equivalent | Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
LUTs
Count
Synopsis
Returns the number of elements in the collection of image processing LUTs.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A long value that specifies the number of elements currently in the collection.
Remark
  • Each element in the collection of LUTs refers to a LUT.


ImageProcessing.LUTs.Item Property

Item property

Availability | MIL Equivalent | Count | Add
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
LUTs
Item
Properties: DataDepth, DataType, MilID, NumberOfBands, Size

Methods: GenerateColor, GenerateFunction, GenerateRamp, Get, Put
Synopsis
Returns the element at the specified index within the collection of image processing LUTs.
[]
Syntax
[LUT=]object.Item(
Index As Integer
)
[]
Syntax
[ILUTPtr =] object->Item(
long Index
)
Index
A long value that specifies the index of the required element.
Type description
A LUT object.
Remarks
  • Each element in the collection of LUTs refers to a LUT.
  • If the value provided as the index does not match any existing element in the collection, an error occurs. Note, the index of the first element of this collection starts at one.
[]
Example
This example shows how to use the Item property.

m_ImageProcessing1->LUTs->Item(1)->GenerateRamp(0, 50, 255, 100);


ImageProcessing.LUTs.Item.DataDepth Property

DataDepth property

See Also | Availability | MIL Equivalent | DataType
User Guide:
Data type and depth

Reference:
ImageProcessing.LUTs.Item.DataType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc1d(
Attribute =
M_LUT
Type
)

MbufAlloc2d(
Attribute =
M_LUT
Type
)

MbufAllocColor(
Attribute =
M_LUT
Type
)

MbufInquire(
InquireType =
M_SIZE_BIT
)
ImageProcessing
LUTs
Item
DataDepth
Synopsis
Returns or sets the data depth of the LUT.
[]
Syntax
object.DataDepth [= Integer]
[]
Syntax
object->DataDepth [= long]
Type description
A long value that specifies the number of bits. Possible values are 8, 16, and 32.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • Use the LUTs.Item(LUTIndex).DataType property of the ImageProcessing control to specify the data type. The possible DataDepth settings for the corresponding DataType settings are:
    DataDepth | DataType
    8, 16, or 32 | lutSigned
    8, 16, or 32 | lutUnsigned
    32 | lutFloat


ImageProcessing.LUTs.Item.DataType Property

DataType property

See Also | Availability | MIL Equivalent | DataDepth | MilID
User Guide:
Data type and depth

Reference:
ImageProcessing.LUTs.Item.DataDepth
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc1d(
Attribute =
M_LUT
Type
)

MbufAlloc2d(
Attribute =
M_LUT
Type
)

MbufAllocColor(
Attribute =
M_LUT
Type
)

MbufInquire(
InquireType =
M_TYPE
)
ImageProcessing
LUTs
Item
DataType
Synopsis
Returns or sets the data type of the LUT.
[]
Syntax
object.DataType [= LUTDataTypeConstants]
[]
Syntax
object->DataType [= enum LUTDataTypeConstants]
Type description
A LUTDataTypeConstants expression that specifies the data type.
Value | Meaning
lutSigned | The data includes only integers.
lutUnsigned | The data includes only non-negative integers.
lutFloat | The data includes only floating-point numbers.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • Use the LUTs.Item(LUTIndex).DataDepth property of the ImageProcessing control to specify the data depth. The possible DataDepth settings for the corresponding DataType settings are:
    DataType | DataDepth
    lutSigned | 8, 16, or 32
    lutUnsigned | 8, 16, or 32
    lutFloat | 32


ImageProcessing.LUTs.Item.MilID Property

MilID property

See Also | Availability | MIL Equivalent | DataType | NumberOfBands
User Guide:
Integrating MIL functions into your ActiveMIL code

Reference:
ImageProcessing.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc1d(
Attribute =
M_LUT
BufIdPtr
)

MbufAlloc2d(
Attribute =
M_LUT
BufIdPtr
)

MbufAllocColor(
Attribute =
M_LUT
BufIdPtr
)
ImageProcessing
LUTs
Item
MilID
Synopsis
Returns the Native MIL identifier of the allocated resources of the LUT.
[]
Syntax
[Integer =] object.MilID
[]
Syntax
[long =] object->MilID
Type description
A long value that specifies the Native MIL identifier of the LUT.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • If the control's IsAllocated property is False, the MilID property will be 0.


ImageProcessing.LUTs.Item.NumberOfBands Property

NumberOfBands property

See Also | Availability | MIL Equivalent | MilID | Size
User Guide:
Setting up your LUT
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufAllocColor(
Attribute =
M_LUT
SizeBand
)

MbufInquire(
InquireType =
M_SIZE_BAND
)
ImageProcessing
LUTs
Item
NumberOfBands
Synopsis
Returns or sets the number of color bands of the LUT.
[]
Syntax
object.NumberOfBands [= Integer]
[]
Syntax
object->NumberOfBands [= long]
Type description
A long value that specifies the number of bands (1 ... 4).
Remark
  • This property cannot be set at run-time if the control is in the allocated state.


ImageProcessing.LUTs.Item.Size Property

Size property

Availability | MIL Equivalent | NumberOfBands | GenerateColor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufAllocColor(
Attribute =
M_LUT
SizeBand
)

MbufInquire(
InquireType =
M_SIZE_X
)
ImageProcessing
LUTs
Item
Size
Synopsis
Returns of sets the size of the LUT.
[]
Syntax
[Integer =] object.Size
[]
Syntax
[long =] object->Size
Type description
A long value that specifies the number of the LUT entries.
Remark
  • This property cannot be set at run-time if the control is in the allocated state.


ImageProcessing.LUTs.Item.GenerateColor Method

GenerateColor method

See Also | Availability | MIL Equivalent | Size | GenerateFunction
User Guide:
Generating data into LUTs

Reference:
ImageProcessing.LUTs.Item.GenerateRamp
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
LUTs
Item
GenerateColor
Synopsis
Sets the specified LUT index entries to the specified color.
[]
Syntax
object.GenerateColor(
ByVal StartIndex As Integer,
ByVal EndIndex As Integer,
ByVal Color As System.UInt32
)
[]
Syntax
void object->GenerateColor(
long StartIndex,
long EndIndex,
OLE_COLOR Color
)
StartIndex
A longintegerlong (integer for Visual Basic .Net) value that specifies the first LUT index entry for which to set a color. This value must be less than or equal to the value of EndIndex.
EndIndex
A longintegerlong (integer for Visual Basic .Net) value that specifies the last LUT index entry for which to set a color.
Color
A Color value that specifies the color with which to fill the LUT.
Remarks
  • For Color, pass a property of specified type or use your environment's RGB() function to explicitly set a value for each of the color bands (red, green, blue).
  • Each band of the LUT is filled with a corresponding component of the specified color. For example, the red band will be filled with the red component, the green band with the green component, and the blue band with the blue component.
  • []
     To convert a System.Drawing.Color to an UInt32 value, use .NET framework's System.Drawing.ColorTranslator.ToOle method to convert the System.Drawing.Color value to an integer. Then, convert that integer to an UInt32 value, using .NET framework's System.Convert.ToUInt32 method.


ImageProcessing.LUTs.Item.GenerateFunction Method

GenerateFunction method

See Also | Availability | MIL Equivalent | GenerateColor | GenerateRamp
User Guide:
Generating data into LUTs

Reference:
ImageProcessing.LUTs.Item.GenerateRamp
Not available in ActiveMIL-Lite

Available in ActiveMIL
MgenLutFunction()
ImageProcessing
LUTs
Item
GenerateFunction
Synopsis
Generates data into a LUT according to the specified function.
[]
Syntax
object.GenerateFunction(
ByVal Function As LUTFunctionConstants,
ByVal StartIndex As Integer,
ByVal StartXValue As Double,
ByVal EndIndex As Integer,
ByVal a As Double,
ByVal b As Double,
ByVal c As Double
)
[]
Syntax
void object->GenerateFunction(
enum LUTFunctionConstants Function,
long StartIndex,
double StartXValue,
long EndIndex,
double a,
double b,
double c
)
Function
A LUTFunctionConstants expression that specifies the function to be used to generate data.
Value | Meaning
lutLog | alogb(x) + c
lutExp | abx
lutSin | asin(bx) + c, where x is in degrees.
lutCos | acos(bx) + c, where x is in degrees.
lutTan | atan(bx) + c, where x is in degrees.
lutQuad | ax2 + bx + c
StartIndex
A long value that specifies the first LUT index entry for which to generate a value. This value must be less than or equal to the value of EndIndex.
StartXValue
A double value that specifies the initial value of X in the function.
EndIndex
A long value that specifies the last LUT index entry for which to generate a value.
a (optional in , default is 1.0)
A double value that specifies the value of the function constant a.
b (optional in , default is 1.0)
A double value that specifies the value of the function constant b.
c (optional in , default is 0.0)
A double value that specifies the value of the function constant c.
Remark
  • If the LUT is a multi-band LUT, the same data is written to all bands. To load different values into each, use the LUTs.Item(LUTIndex).Put method.
[]
Example
This example shows how to use the GenerateFunction method.

// Generate f(x) = x2 + 2x + 4 from 0 to 255 into the first LUT item
m_ImageProcessing1->LUTs->Item(1)->
   GenerateFunction(lutQuad, 0, 0, 255, 1, 2, 4);


ImageProcessing.LUTs.Item.GenerateRamp Method

GenerateRamp method

See Also | Availability | MIL Equivalent | GenerateFunction | Get
User Guide:
Generating data into LUTs

Reference:
ImageProcessing.LUTs.Item.GenerateFunction
Not available in ActiveMIL-Lite

Available in ActiveMIL
MgenLutRamp()
ImageProcessing
LUTs
Item
GenerateRamp
Synopsis
Generates a ramp, inverse ramp, or constant into a LUT according to the specified function.
[]
Syntax
object.GenerateRamp(
ByVal StartIndex As Integer,
ByVal StartValue As Double,
ByVal EndIndex As Integer,
ByVal EndValue As Double
)
[]
Syntax
void object->GenerateRamp(
long StartIndex,
double StartValue,
long EndIndex,
double EndValue
)
StartIndex
A long value that specifies the first LUT index for which to generate a value. This value must be less than or equal to the value of EndIndex.
StartValue
A double value that specifies the initial LUT value. It is also used to calculate the increment between LUT entries ((start value end value) / number of entries).
EndIndex
A long value that specifies the last LUT index for which to generate a value.
EndValue
A double value that specifies the final LUT value. It is also used to calculate the increment between LUT entries ((start value end value) / number of entries).
Remarks
  • If the LUT is a multi-band LUT, the same data is written to all bands. To load different values into each use the LUTs.Item(LUTIndex).Put method of the ImageProcessing control.
  • StartValue and EndValue accept only integer values, except when using a floating-point LUT.
  • If StartValue and EndValue are the same value, the entire LUT is filled with this value.
  • If EndValue is smaller than StartValue, an inverse ramp is generated.
[]
Example
This example shows how to use the GenerateRamp method.

m_ImageProcessing1->LUTs->Item(1)->GenerateRamp(0, 50, 255, 100);


ImageProcessing.LUTs.Item.Get Method

Get method

See Also | Availability | MIL Equivalent | GenerateRamp | Put
User Guide:
Accessing image data

Reference:
ImageProcessing.LUTs.Item.Put
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufGet()
ImageProcessing
LUTs
Item
Get
Synopsis
Copies the data from a LUT and places it in a specified user array.
[]
Syntax
object.Get(
ByVal UserArray As Array,
ByVal Band As LUTBandConstants,
ByVal Offset As Integer,
ByVal Size As Integer
)
[]
Syntax
void object->Get(
VARIANT * UserArray,
enum LUTBandConstants Band,
long Offset,
long Size
)
UserArray
An array in which to put the LUT data.

Band (optional in , default is lutAllBands)
A LUTBandConstants expression or a long value that specifies the band from which to get the data.
Value | Meaning
lutRed | Copy from the red band only.
lutGreen | Copy from the green band only.
lutBlue | Copy from the blue band only.
lutAllBands | Copy from all bands.
value | Index of the band (0...n-1)
Offset (optional in , default is 0.0)
A long value that specifies the horizontal pixel offset (relative to the top-left LUT coordinate) of the LUT in which to copy data.
Size (optional in , default is -1.0)
A long value that specifies the number of LUT entries from which to get the data.
Remarks
  • Ensure that the user array is large enough to accommodate the data from the LUT.
  • It is assumed that the user array is of the same data type and depth as the LUT.


ImageProcessing.LUTs.Item.Put Method

Put method

See Also | Availability | MIL Equivalent | Get
User Guide:
Accessing image data

Reference:
ImageProcessing.LUTs.Item.Get
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufPut()
ImageProcessing
LUTs
Item
Put
Synopsis
Puts data from a specified user array into a LUT.
[]
Syntax
object.Put(
ByVal UserArray As Array,
ByVal Band As LUTBandConstants,
ByVal Offset As Integer,
ByVal Size As Integer
)
[]
Syntax
void object->Put(
const _variant_t & UserArray,
enum LUTBandConstants Band,
long Offset,
long Size
)
UserArray
A user array that contains the data to be read.

Band (optional in , default is lutAllBands)
A LUTBandConstants expression or a long value that specifies the band in which to copy the data.
Value | Meaning
lutRed | Copy from the red band only.
lutGreen | Copy from the green band only.
lutBlue | Copy from the blue band only.
lutAllBands | Copy from all bands.
value | Index of the band (0...n-1)
Offset (optional in , default is 0.0)
A long value that specifies the horizontal pixel offset (relative to the top-left LUT coordinate) of the LUT in which to copy data.
Size (optional in , default is -1.0)
A long value that specifies the number of LUT entries into which to copy the data.
Remark
  • It is assumed that the array is of the same data type and depth as the LUT.
[]
Example
This example shows how to create and fill a safe array to be used with the Put method.

// Dimensions of the storage array
DWORD numElements[] = {256};

// Our image has a data depth of 8 bits, and an unsigned data type,
// so create a one-dimensional array of type VT_UI1 for the LUT.
COleSafeArray LutArray;
LutArray.Create(VT_UI1, 1, numElements);

//
// Put some data into the arrays...
//
// fill the array to create a ramp lut
long index[1];
for(int i = 0; i < 256; i++)
   {
   index[0] = i;
   LutArray.PutElement(index, &i);
   }

// Always attach a COleSafeArray to a _variant_t before calling
// ActiveMIL's Put methods.
// The attach process invalidates the original COleSafeArray object
// by setting its variant type to VT_EMPTY.
_variant_t LutArrayVariant;
LutArrayVariant.Attach(LutArray);

// Add a LUT into the ImageProcessing control and put the data of our
// arrays into the LUT.
m_ImageProcessing1->LUTs->Add(lutUnsigned, 8, 1, 256);
m_ImageProcessing1->LUTs->Item(1)->Put(LutArrayVariant,lutAllBands, 0, 256);

// Optionally, detach the _variant_t into the original COleSafeArray.
// If you do, COleSafeArray will delete the SAFEARRAY at its destruction.
// If you don't, _variant_t will delete it at its destruction.
// In either case, the memory will be released at the appropriate time.
LutArray.Attach(LutArrayVariant.Detach());


ImageProcessing.LUTs.Add Method

Add method

See Also | Availability | MIL Equivalent | Item | Remove
Reference:
ImageProcessing.LUTs.Item.DataDepth
ImageProcessing.LUTs.Item.DataType
ImageProcessing.LUTs.Item.NumberOfBands
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
LUTs
Add
Synopsis
Adds a new element to the LUTs collection, which is initialized with the values passed as parameters.
[]
Syntax
object.Add(
ByVal DataType As LUTDataTypeConstants,
ByVal DataDepth As Integer,
ByVal NumberOfBands As Integer,
ByVal Size As Integer
)
[]
Syntax
void object->Add(
enum LUTDataTypeConstants DataType,
long DataDepth,
long NumberOfBands,
long Size
)
DataType (optional in , default is lutUnsigned)
A LUTDataTypeConstants expression that specifies the data type.
Value | Meaning
lutSigned | The data includes only integers.
lutUnsigned | The data includes only non-negative integers.
lutFloat | The data includes only floating-point numbers.
DataDepth (optional in , default is 8)
A long value that specifies the number of bits. Possible values are 8, 16, or 32. (default is 8)
NumberOfBands (optional in , default is 1)
A long value that specifies the number of bands in the LUT object. (default is 1)
Size (optional in , default is 256)
A long value that specifies the number of LUT entries.
Remark
  • The data type and depth of the LUT can be set using the LUTs.Item(LUTIndex).DataType and LUTs.Item(LUTIndex).DataDepth properties of the ImageProcessing control, respectively. You can also set the size and the number of bands of the LUT using the LUTs.Item(LUTsIndex).Size and the LUTs.Item(LUTsIndex).NumberOfBands properties of the ImageProcessing control, respectively.
[]
Example
This example shows how to use the Add method.

m_ImageProcessing1->LUTs->Add(lutUnsigned, 8, 1, 512);


ImageProcessing.LUTs.Remove Method

Remove method

See Also | Availability | MIL Equivalent | Add
Reference:
ImageProcessing.LUTs.Add
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
LUTs
Remove
Synopsis
Removes a LUT from the collection.
[]
Syntax
object.Remove(
ByVal Index As Integer
)
[]
Syntax
void object->Remove(
long Index
)
Index
A long value that specifies an index into the collection of LUTs, identifying the LUT to remove.
[]
Example
This example shows how to use the Remove method.

m_ImageProcessing1->LUTs->Remove(1);


ImageProcessing.Name Property

Name property

Availability | MIL Equivalent | LUTs | OwnerSystem
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
Name
Synopsis
Returns or sets the name used in code to identify the ImageProcessing control.
[]
Syntax
object.Name [= String]
[]
Syntax
object->Name [= _bstr_t]
Type description
A string expression the name of the ImageProcessing control.
Remarks
  • This property cannot be set at run-time.
  • The default name for a new control is the type of control plus a unique integer. For example, the first new ImageProcessing control that you create on a form is named ImageProcessing1 and the second ImageProcessing control is named ImageProcessing2.
  • A control's Name property must start with a letter and can be a maximum of 40 characters. It can include numbers and underscore (_) characters but cannot include punctuation or spaces. Although the Name property setting can be a keyword, property name, or the name of another object, this can create conflicts in your code.


ImageProcessing.OwnerSystem Property

OwnerSystem property

See Also | Availability | MIL Equivalent | Name | OwnerSystemName
User Guide:
Owner system

Reference:
ImageProcessing
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimAllocResult(SystemId)
ImageProcessing
OwnerSystem
Synopsis
Returns or sets the system on which the resources of the ImageProcessing control are allocated.
[]
Syntax
object.OwnerSystem [= System]
[]
Syntax
object->OwnerSystem [= ISystemPtr]
Type description
A System control that specifies the system to set as the owner (parent) of the ImageProcessing control.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The owner system can also be specified, with the name assigned to its control, using the OwnerSystemName property.
  • This property automatically sets the OwnerSystemName property.


ImageProcessing.OwnerSystemName Property

OwnerSystemName property

See Also | Availability | MIL Equivalent | OwnerSystem | PolarParameters
User Guide:
Owner system

Reference:
ImageProcessing
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimAllocResult(SystemId)
ImageProcessing
OwnerSystemName
Synopsis
Returns or sets the name of the System control representing the system on which the resources of the ImageProcessing control are allocated.
[]
Syntax
object.OwnerSystemName [= String]
[]
Syntax
object->OwnerSystemName [= _bstr_t]
Type description
A string expression that specifies the name of the System control to set as the owner (parent) of the ImageProcessing control.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The owner system can also be specified using the OwnerSystem property.
  • This property automatically sets the OwnerSystem property.


ImageProcessing.PolarParameters Property

PolarParameters property

See Also | Availability | MIL Equivalent | OwnerSystemName | PropertyValidation
User Guide:
Polar-to-rectangular and rectangular-to-polar transform
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimPolarTransform()
ImageProcessing
PolarParameters
Properties: CenterX, CenterY, EndAngle, EndRadius, StartAngle, StartRadius

Methods: CalculatePolarSize, CalculateRectangularSize
Synopsis
Allows you to specify or determine the polar parameters of the image.
[]
Syntax
[PolarParameters =] object.PolarParameters
[]
Syntax
[IPolarParametersPtr =] object->PolarParameters
Type description
A PolarParameters object.
Remark
  • You cannot assign another PolarParameters object to this property.
[]
Example
This example shows how to use the PolarParameters property.

ImageProcessing1.PolarParameters.CenterX = 300
ImageProcessing1.PolarParameters.CenterY = 200
ImageProcessing1.PolarParameters.StartRadius = 200
ImageProcessing1.PolarParameters.EndRadius = 50
ImageProcessing1.PolarParameters.StartAngle = 0
ImageProcessing1.PolarParameters.EndAngle = 180

ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Destination1 = DisplayedImage

ImageProcessing1.PolarToRectangular(impBilinear, impOverscanEnable)
[]
Example
This example shows how to use the PolarParameters property.

m_ImageProcessing1->PolarParameters->CenterX = 300;
m_ImageProcessing1->PolarParameters->CenterY = 200;
m_ImageProcessing1->PolarParameters->StartRadius = 200;
m_ImageProcessing1->PolarParameters->EndRadius = 50;
m_ImageProcessing1->PolarParameters->StartAngle = 0;
m_ImageProcessing1->PolarParameters->EndAngle = 180;

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;

m_ImageProcessing1->PolarToRectangular(impNearestNeighbor, impOverscanEnable);


ImageProcessing.PolarParameters.CenterX Property

CenterX property

See Also | Availability | MIL Equivalent | CenterY
User Guide:
Polar-to-rectangular and rectangular-to-polar transforms

Reference:
ImageProcessing.PolarToRectangular
ImageProcessing.RectangularToPolar
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimPolarTransform(CenterPosX)
ImageProcessing
PolarParameters
CenterX
Synopsis
Returns or sets the X-coordinate of the center of curvature, in the rectangular coordinate system.
[]
Syntax
object.CenterX [= Double]
[]
Syntax
object->CenterX [= double]
Type description
A double value that specifies the X-coordinate of the center of curvature in the rectangular image.
[]
Example
This example shows how to use the CenterX property.

ImageProcessing1.PolarParameters.CenterX = 300
ImageProcessing1.PolarParameters.CenterY = 200
ImageProcessing1.PolarParameters.StartRadius = 200
ImageProcessing1.PolarParameters.EndRadius = 50
ImageProcessing1.PolarParameters.StartAngle = 0
ImageProcessing1.PolarParameters.EndAngle = 180

ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Destination1 = DisplayedImage

ImageProcessing1.PolarToRectangular(impBilinear, impOverscanEnable)
[]
Example
This example shows how to use the CenterX property.

m_ImageProcessing1->PolarParameters->CenterX = 300;
m_ImageProcessing1->PolarParameters->CenterY = 200;
m_ImageProcessing1->PolarParameters->StartRadius = 200;
m_ImageProcessing1->PolarParameters->EndRadius = 50;
m_ImageProcessing1->PolarParameters->StartAngle = 0;
m_ImageProcessing1->PolarParameters->EndAngle = 180;

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;

m_ImageProcessing1->PolarToRectangular(impNearestNeighbor, impOverscanEnable);


ImageProcessing.PolarParameters.CenterY Property

CenterY property

See Also | Availability | MIL Equivalent | CenterX | EndAngle
User Guide:
Polar-to-rectangular and rectangular-to-polar transforms

Reference:
ImageProcessing.PolarToRectangular
ImageProcessing.RectangularToPolar
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimPolarTransform(CenterPosY)
ImageProcessing
PolarParameters
CenterY
Synopsis
Returns or sets the Y-coordinate of the center of curvature, in the rectangular coordinate system.
[]
Syntax
object.CenterY [= Double]
[]
Syntax
object->CenterY [= double]
Type description
A double value that specifies the Y-coordinate of the center of curvature in the rectangular image.
[]
Example
This example shows how to use the CenterY property.

ImageProcessing1.PolarParameters.CenterX = 300
ImageProcessing1.PolarParameters.CenterY = 200
ImageProcessing1.PolarParameters.StartRadius = 200
ImageProcessing1.PolarParameters.EndRadius = 50
ImageProcessing1.PolarParameters.StartAngle = 0
ImageProcessing1.PolarParameters.EndAngle = 180

ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Destination1 = DisplayedImage

ImageProcessing1.PolarToRectangular(impBilinear, impOverscanEnable)
[]
Example
This example shows how to use the CenterY property.

m_ImageProcessing1->PolarParameters->CenterX = 300;
m_ImageProcessing1->PolarParameters->CenterY = 200;
m_ImageProcessing1->PolarParameters->StartRadius = 200;
m_ImageProcessing1->PolarParameters->EndRadius = 50;
m_ImageProcessing1->PolarParameters->StartAngle = 0;
m_ImageProcessing1->PolarParameters->EndAngle = 180;

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;

m_ImageProcessing1->PolarToRectangular(impNearestNeighbor, impOverscanEnable);


ImageProcessing.PolarParameters.EndAngle Property

EndAngle property

See Also | Availability | MIL Equivalent | CenterY | EndRadius
User Guide:
Polar-to-rectangular and rectangular-to-polar transforms

Reference:
ImageProcessing.PolarToRectangular
ImageProcessing.RectangularToPolar
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimPolarTransform(EndAngle)
ImageProcessing
PolarParameters
EndAngle
Synopsis
Returns or sets the end angle of the scan in the zone of interest, in the rectangular coordinate system.
[]
Syntax
object.EndAngle [= Double]
[]
Syntax
object->EndAngle [= double]
Type description
A double value that specifies the end of scan in the zone of interest (-360.0 to 360.0°).
Remarks
  • If the start angle is less than the end angle, the direction of the scan will be counter clockwise. If the start angle is greater than the end angle, the direction of the scan will be clockwise.
  • The maximum span between the StartAngle and EndAngle must not exceed 360.0°.
[]
Example
This example shows how to use the EndAngle property.

ImageProcessing1.PolarParameters.CenterX = 300
ImageProcessing1.PolarParameters.CenterY = 200
ImageProcessing1.PolarParameters.StartRadius = 200
ImageProcessing1.PolarParameters.EndRadius = 50
ImageProcessing1.PolarParameters.StartAngle = 0
ImageProcessing1.PolarParameters.EndAngle = 180

ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Destination1 = DisplayedImage

ImageProcessing1.PolarToRectangular(impBilinear, impOverscanEnable)
[]
Example
This example shows how to use the EndAngle property.

m_ImageProcessing1->PolarParameters->CenterX = 300;
m_ImageProcessing1->PolarParameters->CenterY = 200;
m_ImageProcessing1->PolarParameters->StartRadius = 200;
m_ImageProcessing1->PolarParameters->EndRadius = 50;
m_ImageProcessing1->PolarParameters->StartAngle = 0;
m_ImageProcessing1->PolarParameters->EndAngle = 180;

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;

m_ImageProcessing1->PolarToRectangular(impNearestNeighbor, impOverscanEnable);


ImageProcessing.PolarParameters.EndRadius Property

EndRadius property

See Also | Availability | MIL Equivalent | EndAngle | StartAngle
User Guide:
Polar-to-rectangular and rectangular-to-polar transforms

Reference:
ImageProcessing.PolarToRectangular
ImageProcessing.RectangularToPolar
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimPolarTransform(EndRadius)
ImageProcessing
PolarParameters
EndRadius
Synopsis
Returns or sets the end radius (in pixels) of the zone of interest, in the rectangular coordinate system image.
[]
Syntax
object.EndRadius [= Double]
[]
Syntax
object->EndRadius [= double]
Type description
A double value that specifies the end radius (in pixels) of the zone of interest.
[]
Example
This example shows how to use the EndRadius property.

ImageProcessing1.PolarParameters.CenterX = 300
ImageProcessing1.PolarParameters.CenterY = 200
ImageProcessing1.PolarParameters.StartRadius = 200
ImageProcessing1.PolarParameters.EndRadius = 50
ImageProcessing1.PolarParameters.StartAngle = 0
ImageProcessing1.PolarParameters.EndAngle = 180

ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Destination1 = DisplayedImage

ImageProcessing1.PolarToRectangular(impBilinear, impOverscanEnable)
[]
Example
This example shows how to use the EndRadius property.

m_ImageProcessing1->PolarParameters->CenterX = 300;
m_ImageProcessing1->PolarParameters->CenterY = 200;
m_ImageProcessing1->PolarParameters->StartRadius = 200;
m_ImageProcessing1->PolarParameters->EndRadius = 50;
m_ImageProcessing1->PolarParameters->StartAngle = 0;
m_ImageProcessing1->PolarParameters->EndAngle = 180;

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;

m_ImageProcessing1->PolarToRectangular(impNearestNeighbor, impOverscanEnable);


ImageProcessing.PolarParameters.StartAngle Property

StartAngle property

See Also | Availability | MIL Equivalent | EndRadius | StartRadius
User Guide:
Polar-to-rectangular and rectangular-to-polar transforms

Reference:
ImageProcessing.PolarToRectangular
ImageProcessing.RectangularToPolar
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimPolarTransform(StartAngle)
ImageProcessing
PolarParameters
StartAngle
Synopsis
Returns or sets the start angle of the scan in the zone of interest, in the rectangular coordinate system.
[]
Syntax
object.StartAngle [= Double]
[]
Syntax
object->StartAngle [= double]
Type description
A double value that specifies the start angle of the scan in the zone of interest (-360.0 to 360.0°).
Remarks
  • If the start angle is less than the end angle, the direction of the scan will be counter clockwise. If the start angle is greater than the end angle, the direction of the scan will be clockwise.
  • The maximum span between the StartAngle and EndAngle must not exceed 360.0°.
[]
Example
This example shows how to use the StartAngle property.

ImageProcessing1.PolarParameters.CenterX = 300
ImageProcessing1.PolarParameters.CenterY = 200
ImageProcessing1.PolarParameters.StartRadius = 200
ImageProcessing1.PolarParameters.EndRadius = 50
ImageProcessing1.PolarParameters.StartAngle = 0
ImageProcessing1.PolarParameters.EndAngle = 180

ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Destination1 = DisplayedImage

ImageProcessing1.PolarToRectangular(impBilinear, impOverscanEnable)
[]
Example
This example shows how to use the StartAngle property.

m_ImageProcessing1->PolarParameters->CenterX = 300;
m_ImageProcessing1->PolarParameters->CenterY = 200;
m_ImageProcessing1->PolarParameters->StartRadius = 200;
m_ImageProcessing1->PolarParameters->EndRadius = 50;
m_ImageProcessing1->PolarParameters->StartAngle = 0;
m_ImageProcessing1->PolarParameters->EndAngle = 180;

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;

m_ImageProcessing1->PolarToRectangular(impNearestNeighbor, impOverscanEnable);


ImageProcessing.PolarParameters.StartRadius Property

StartRadius property

See Also | Availability | MIL Equivalent | StartAngle | CalculatePolarSize
User Guide:
Polar-to-rectangular and rectangular-to-polar transforms

Reference:
ImageProcessing.PolarToRectangular
ImageProcessing.RectangularToPolar
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimPolarTransform(StartRadius)
ImageProcessing
PolarParameters
StartRadius
Synopsis
Returns or sets the start radius (in pixels) of the zone of interest, in the rectangular coordinate system image.
[]
Syntax
object.StartRadius [= Double]
[]
Syntax
object->StartRadius [= double]
Type description
A double value that specifies the start radius (in pixels) of the zone of interest.
[]
Example
This example shows how to use the StartRadius property.

ImageProcessing1.PolarParameters.CenterX = 300
ImageProcessing1.PolarParameters.CenterY = 200
ImageProcessing1.PolarParameters.StartRadius = 200
ImageProcessing1.PolarParameters.EndRadius = 50
ImageProcessing1.PolarParameters.StartAngle = 0
ImageProcessing1.PolarParameters.EndAngle = 180

ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Destination1 = DisplayedImage

ImageProcessing1.PolarToRectangular(impBilinear, impOverscanEnable)
[]
Example
This example shows how to use the StartRadius property.

m_ImageProcessing1->PolarParameters->CenterX = 300;
m_ImageProcessing1->PolarParameters->CenterY = 200;
m_ImageProcessing1->PolarParameters->StartRadius = 200;
m_ImageProcessing1->PolarParameters->EndRadius = 50;
m_ImageProcessing1->PolarParameters->StartAngle = 0;
m_ImageProcessing1->PolarParameters->EndAngle = 180;

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;

m_ImageProcessing1->PolarToRectangular(impNearestNeighbor, impOverscanEnable);


ImageProcessing.PolarParameters.CalculatePolarSize Method

CalculatePolarSize method

See Also | Availability | MIL Equivalent | StartRadius | CalculateRectangularSize
User Guide:
Polar-to-rectangular and rectangular-to-polar transforms

Reference:
ImageProcessing.PolarToRectangular
ImageProcessing.RectangularToPolar
ImageProcessing.Source1
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimPolarTransform (
OperationMode =
M_RECTANGULAR_TO_POLAR
)
ImageProcessing
PolarParameters
CalculatePolarSize
Synopsis
Calculates the polar size required to represent an image in a polar coordinate system from an image in a rectangular coordinate system.
[]
Syntax
object.CalculatePolarSize(
ByVal AngleSize As Double,
ByVal RadiusSize As Double
)
[]
Syntax
void object->CalculatePolarSize(
double * AngleSize,
double * RadiusSize
)
AngleSize
A double value that specifies the span of the angle.
RadiusSize
A double value that specifies the radius.
Remark
  • The image in the rectangular coordinate system is specified by the Source1 property.


ImageProcessing.PolarParameters.CalculateRectangularSize Method

CalculateRectangularSize method

See Also | Availability | MIL Equivalent | CalculatePolarSize
User Guide:
Polar-to-rectangular and rectangular-to-polar transforms

Reference:
ImageProcessing.PolarToRectangular
ImageProcessing.RectangularToPolar
ImageProcessing.Source1
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimPolarTransform (
OperationMode =
M_POLAR_TO_RECTANGULAR
)
ImageProcessing
PolarParameters
CalculateRectangularSize
Synopsis
Calculates the rectangular size required to represent an image in the rectangular coordinate system image from an image in the polar coordinate system.
[]
Syntax
object.CalculateRectangularSize(
ByVal SizeX As Double,
ByVal SizeY As Double
)
[]
Syntax
void object->CalculateRectangularSize(
double * SizeX,
double * SizeY
)
SizeX
A double value that specifies the width of the rectangle.
SizeY
A double value that specifies the height of the rectangle.
Remark
  • The image in the polar coordinate system is specified by the Source1 property.


ImageProcessing.PropertyValidation Property

PropertyValidation property

See Also | Availability | MIL Equivalent | PolarParameters | ResultDataType
User Guide:
Error reporting
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
PropertyValidation
Synopsis
Returns or sets whether the properties of the ImageProcessing control are dynamically validated.
[]
Syntax
object.PropertyValidation [= Boolean]
[]
Syntax
object->PropertyValidation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the property validation mode.
Value | Meaning
True | The control's properties are dynamically validated. Errors will be generated during the design process.
False | The control's properties are not dynamically validated. Errors will only be generated at run-time.
Remarks
  • At run-time, this property is read-only and is always set to True.
  • When set to True and if one of the control's properties is not properly set, then the control is outlined in red. The error page of the control's property pages describes the specific error.


ImageProcessing.ResultDataType Property

ResultDataType property

See Also | Availability | MIL Equivalent | PropertyValidation | ResultSize
Reference:
ImageProcessing.ResultSize
ImageProcessing.ResultType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimAllocResult(ResultType)
ImageProcessing
ResultDataType
Synopsis
Returns or sets the data type for the collection of statistical image processing results.
[]
Syntax
object.ResultDataType [= ImpResultDataTypeConstants]
[]
Syntax
object->ResultDataType [= enum ImpResultDataTypeConstants]
Type description
An ImpResultDataTypeConstants expression that specifies the data type for the collection of statistical image processing results. (default is impAnyResultDataType)
Value | Meaning
impAnyResultDataType | Allows ActiveMIL to establish the required data type for the collection of image processing results, based on the last image processing method called.
impResultFloat | Forces the collection of image processing results to be floating-point-type values. Use this setting only when you need results returned as floating-point values.
impResultSigned | Forces the collection of image processing results to be integer-type values. This setting accelerates statistical processing operations that by default, return floating-point results; this is because less precision is required. Use this setting only if you don't need floating-point results. Note that this setting will not accelerate operations on source images of type float.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • This property only affects the performance of the FindExtremes, LocateEvents, and Project methods.
  • This property only affects how the results are calculated. It does not affect the data type of the properties of the Results property.


ImageProcessing.Results Property

Results property

See Also | Availability | MIL Equivalent | ResultSize | ResultType
Reference:
ImageProcessing.CountDifferences
ImageProcessing.FindExtremes
ImageProcessing.Histogram
ImageProcessing.HistogramEqualize
ImageProcessing.LocateEvents
ImageProcessing.Project
ImageProcessing.ResultSize
ImageProcessing.ResultType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimGetResult()
ImageProcessing
Results
Properties: Count, Item, MilID, Stats

Methods: Get, GetMultiple
Synopsis
Returns the collection of statistical image processing results obtained by the ImageProcessing control, allowing access to the collection's elements.
[]
Syntax
[ImageProcessingResults =] object.Results
[]
Syntax
[IImageProcessingResultsPtr =] object->Results
Type description
An ImageProcessingResults expression that represents an instance of an ImageProcessingResults collection.
Remarks
  • Statistical image processing methods use this property to store results.
  • To accelerate image processing operations, you can set the type and size of the results stored using the ResultType and ResultSize properties, respectively.


ImageProcessing.Results.Count Property

Count property

Availability | MIL Equivalent | Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimGetResult(
ResultType =
M_NB_EVENT
)
ImageProcessing
Results
Count
Synopsis
Returns the number of elements or values in the collection of statistical image processing results.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A long value that specifies the number of elements or values currently in the collection.
Remark
  • Each element in the image processing results collection refers to a result of a statistical image processing operation.


ImageProcessing.Results.Item Property

Item property

See Also | Availability | MIL Equivalent | Count | MilID
Reference:
ImageProcessing.CountDifferences
ImageProcessing.FindExtremes
ImageProcessing.Histogram
ImageProcessing.HistogramEqualize
ImageProcessing.LocateEvents
ImageProcessing.Project
ImageProcessing.ResultSize
ImageProcessing.ResultType
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
Results
Item
Properties: PositionX, PositionY, Value
Synopsis
Returns the element or value at the specified index within the collection of statistical image processing results.
[]
Syntax
[Object=]object.Item(
Index As Integer
)
[]
Syntax
[_variant_t =] object->Item(
long Index
)
Index
A long value that specifies the index of the required element.
Type description
There are 3 different types for this property:

- A LocateEventsResult object (for the LocateEvents method).

- A long value which returns the specified result of the Binarize, CountDifferences, and Histogram methods.

- A float value which returns the specified result for the Project and FindExtremes methods.

Remarks
  • Each element in the image processing results collection refers to a result of a statistical image processing operation.
  • If the value provided as the index does not match any existing element in the collection, an error occurs. Note, the index of the first element of this collection starts at one if the results are from the FindExtremes, Binarize, CountDifferences or LocateEvents methods or starts at 0 if the results are from the Histogram or Project methods.
  • Note that if the ResultType or ResultSize property is set to impAnyResultType or impAny, respectively, the first call to any statistical image processing method will be slightly slower than if the data type was specified explicitly.
[]
Example
This example shows how to retrieve the results after a call to the LocateEvents method.

m_ImageProcessing2->LocateEvents(impEqualTo, 55, 55);

_variant_t varResult = m_ImageProcessing2->Results->Item(i);
ILocateEventsResultPtr eventResultPtr =
   (ILocateEventsResultPtr) V_DISPATCH(&varResult);
double PositionXWorld2 = eventResultPtr->PositionX;


ImageProcessing.Results.Item.PositionX Property

PositionX property

See Also | Availability | MIL Equivalent | PositionY
Reference:
ImageProcessing.LocateEvents
ImageProcessing.Results.Item.PositionY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimGetResult(
ResultType =
M_POSITION_X
)
ImageProcessing
Results
Item
PositionX
Synopsis
Returns the X-coordinate of the locate events condition.
[]
Syntax
[Double =] object.PositionX
[]
Syntax
[double =] object->PositionX
Type description
A double value that specifies the X-coordinate position.
Remark
  • This property is available to use only if you have called the LocateEvents method.


ImageProcessing.Results.Item.PositionY Property

PositionY property

See Also | Availability | MIL Equivalent | PositionX | Value
Reference:
ImageProcessing.LocateEvents
ImageProcessing.Results.Item.PositionX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimGetResult(
ResultType =
M_POSITION_Y
)
ImageProcessing
Results
Item
PositionY
Synopsis
Returns the Y-coordinate of the locate events condition.
[]
Syntax
[Double =] object.PositionY
[]
Syntax
[double =] object->PositionY
Type description
A double value that specifies the Y-coordinate position.
Remark
  • This property is available to use only if you have called the LocateEvents method.


ImageProcessing.Results.Item.Value Property

Value property

See Also | Availability | MIL Equivalent | PositionY
Reference:
ImageProcessing.LocateEvents
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimGetResult(
ResultType =
M_VALUE
)
ImageProcessing
Results
Item
Value
Synopsis
Returns the pixel value that satisfies the locate events condition.
[]
Syntax
[Double =] object.Value
[]
Syntax
[double =] object->Value
Type description
A double value that specifies the pixel value that satisfies the specified locate events condition.
Remark
  • This property is used only if you have called the LocateEvents method.


ImageProcessing.Results.MilID Property

MilID property

See Also | Availability | MIL Equivalent | Item | Stats
User Guide:
Integrating MIL functions into your ActiveMIL code
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimAllocResult (ImResultIdPtr)
ImageProcessing
Results
MilID
Synopsis
Returns the Native MIL identifier of the allocated resources for the collection of statistical image processing results.
[]
Syntax
[Integer =] object.MilID
[]
Syntax
[long =] object->MilID
Type description
A long value that specifies the Native MIL identifier of the results.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • If the control's IsAllocated property is False, the MilID property will be 0.


ImageProcessing.Results.Stats Property

Stats property

See Also | Availability | MIL Equivalent | MilID | Get
Reference:
ImageProcessing.CalculateStats
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
Results
Stats
Properties: Maximum, MaximumAbsolute, Mean, Minimum, MinimumAbsolute, NumberOfPixels, StandardDeviation, Sum, SumAbsolute, SumOfSquares
Synopsis
Returns the results of statistical calculation performed on the source image.
[]
Syntax
[ResultStats =] object.Stats
[]
Syntax
[IResultStatsPtr =] object->Stats
Type description
A ResultStats object.
Remarks
  • The Results.Stats properties refer to statistics calculated using the CalculateStats method.
  • If you have not calculated a specific type of statistics using the CalculateStats method, then its results will not be available.


ImageProcessing.Results.Stats.Maximum Property

Maximum property

See Also | Availability | MIL Equivalent | MaximumAbsolute
Reference:
ImageProcessing.CalculateStats
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimGetResult(
ResultType =
M_MAX
)
ImageProcessing
Results
Stats
Maximum
Synopsis
Returns the maximum pixel value that meets the specified condition in the source image.
[]
Syntax
[Double =] object.Maximum
[]
Syntax
[double =] object->Maximum
Type description
A double value that specifies the maximum pixel value.
Remark
  • This property is available only if the StatType parameter of the CalculateStats method has been set to impMaximum.


ImageProcessing.Results.Stats.MaximumAbsolute Property

MaximumAbsolute property

See Also | Availability | MIL Equivalent | Maximum | Mean
Reference:
ImageProcessing.CalculateStats
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimGetResult(
ResultType =
M_MAX_ABS
)
ImageProcessing
Results
Stats
MaximumAbsolute
Synopsis
Returns the maximum absolute pixel value that meets the specified condition in the source image.
[]
Syntax
[Double =] object.MaximumAbsolute
[]
Syntax
[double =] object->MaximumAbsolute
Type description
A double value that specifies the maximum absolute pixel value.
Remark
  • This property is available only if the StatType parameter of the CalculateStats method has been set to impMaximumAbsolute.


ImageProcessing.Results.Stats.Mean Property

Mean property

See Also | Availability | MIL Equivalent | MaximumAbsolute | Minimum
Reference:
ImageProcessing.CalculateStats
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimGetResult(
ResultType =
M_MEAN
)
ImageProcessing
Results
Stats
Mean
Synopsis
Returns the mean value of the pixels that meet the specified condition in the source image.
[]
Syntax
[Double =] object.Mean
[]
Syntax
[double =] object->Mean
Type description
A double value that specifies the mean value of the pixels.
Remark
  • This property is available only if the StatType parameter of the CalculateStats method has been set to impMean.


ImageProcessing.Results.Stats.Minimum Property

Minimum property

See Also | Availability | MIL Equivalent | Mean | MinimumAbsolute
Reference:
ImageProcessing.CalculateStats
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimGetResult(
ResultType =
M_MIN
)
ImageProcessing
Results
Stats
Minimum
Synopsis
Returns the minimum pixel value that meets the specified condition in the source image.
[]
Syntax
[Double =] object.Minimum
[]
Syntax
[double =] object->Minimum
Type description
A double value that specifies the minimum pixel value.
Remark
  • This property is available only if the StatType parameter of the CalculateStats method has been set to impMinimum.


ImageProcessing.Results.Stats.MinimumAbsolute Property

MinimumAbsolute property

See Also | Availability | MIL Equivalent | Minimum | NumberOfPixels
Reference:
ImageProcessing.CalculateStats
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimGetResult(
ResultType =
M_MIN_AB S
)
ImageProcessing
Results
Stats
MinimumAbsolute
Synopsis
Returns the minimum absolute pixel value that meets the specified condition in the source image.
[]
Syntax
[Double =] object.MinimumAbsolute
[]
Syntax
[double =] object->MinimumAbsolute
Type description
A double value that specifies the minimum absolute pixel value.
Remark
  • This property is available only if the StatType parameter of the CalculateStats method has been set to impMinimumAbsolute.


ImageProcessing.Results.Stats.NumberOfPixels Property

NumberOfPixels property

See Also | Availability | MIL Equivalent | MinimumAbsolute | StandardDeviation
Reference:
ImageProcessing.CalculateStats
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimGetResult(
ResultType =
M_NUMBER
)
ImageProcessing
Results
Stats
NumberOfPixels
Synopsis
Returns the number of pixels that meet the specified condition in the source image.
[]
Syntax
[Double =] object.NumberOfPixels
[]
Syntax
[double =] object->NumberOfPixels
Type description
A double value that specifies the number of pixels.
Remark
  • This property is available only if the StatType parameter of the CalculateStats method has been set to impNumberOfPixels.


ImageProcessing.Results.Stats.StandardDeviation Property

StandardDeviation property

See Also | Availability | MIL Equivalent | NumberOfPixels | Sum
Reference:
ImageProcessing.CalculateStats
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimGetResult(
ResultType =
M_STANDARD_DEVIATION
)
ImageProcessing
Results
Stats
StandardDeviation
Synopsis
Returns the standard deviation value of the pixels that meet the specified condition in the source image.
[]
Syntax
[Double =] object.StandardDeviation
[]
Syntax
[double =] object->StandardDeviation
Type description
A double value that specifies the standard deviation of the pixels.
Remark
  • This property is available only if the StatType parameter of the CalculateStats method has been set to impStandardDeviation.


ImageProcessing.Results.Stats.Sum Property

Sum property

See Also | Availability | MIL Equivalent | StandardDeviation | SumAbsolute
Reference:
ImageProcessing.CalculateStats
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimGetResult(
ResultType =
M_SUM
)
ImageProcessing
Results
Stats
Sum
Synopsis
Returns the sum of the pixel values that meet the specified condition in the source image.
[]
Syntax
[Double =] object.Sum
[]
Syntax
[double =] object->Sum
Type description
A double value that specifies the sum of the pixel values.
Remark
  • This property is available only if the StatType parameter of the CalculateStats method has been set to impSum.


ImageProcessing.Results.Stats.SumAbsolute Property

SumAbsolute property

See Also | Availability | MIL Equivalent | Sum | SumOfSquares
Reference:
ImageProcessing.CalculateStats
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimGetResult(
ResultType =
M_SUM_ABS
)
ImageProcessing
Results
Stats
SumAbsolute
Synopsis
Returns the sum of the absolute pixel values that meet the specified condition in the source image.
[]
Syntax
[Double =] object.SumAbsolute
[]
Syntax
[double =] object->SumAbsolute
Type description
A double value that specifies the sum of the absolute pixel values.
Remark
  • This property is available only if the StatType parameter of the CalculateStats method has been set to impSumAbsolute.


ImageProcessing.Results.Stats.SumOfSquares Property

SumOfSquares property

See Also | Availability | MIL Equivalent | SumAbsolute
Reference:
ImageProcessing.CalculateStats
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimGetResult(
ResultType =
M_SUM_OF_SQUARES
)
ImageProcessing
Results
Stats
SumOfSquares
Synopsis
Returns the sum of the squared pixel values that meet the specified condition in the source image.
[]
Syntax
[Double =] object.SumOfSquares
[]
Syntax
[double =] object->SumOfSquares
Type description
A double value that specifies the sum of the squared pixel values.
Remark
  • This property is available only if the StatType parameter of the CalculateStats method has been set to impSumOfSquares.


ImageProcessing.Results.Get Method

Get method

See Also | Availability | MIL Equivalent | Stats | GetMultiple
User Guide:
Accessing image data

Reference:
ImageProcessing.CountDifferences
ImageProcessing.FindExtremes
ImageProcessing.Histogram
ImageProcessing.HistogramEqualize
ImageProcessing.LocateEvents
ImageProcessing.Project
ImageProcessing.ResultSize
ImageProcessing.ResultType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimGetResult()
ImageProcessing
Results
Get
Synopsis
Returns the statistical image processing results of the specified type, to a user array.
[]
Syntax
object.Get(
ByVal ResultField As ImpResultFieldConstants,
ByVal UserArray As Array
)
[]
Syntax
void object->Get(
enum ImpResultFieldConstants ResultField,
VARIANT * UserArray
)
ResultField
An ImpResultFieldConstants expression that specifies the type of results to copy.
Value | Meaning
impValues | The pixel values of a statistical method.
impPositionsX | The X-coordinate pixel positions that satisfy the specified condition of the LocateEvents method.
impPositionsY | The Y-coordinate pixel positions that satisfy the specified condition of the LocateEvents method.
impNumberOfEvent | The number of events that satisfy the specified condition of the LocateEvents method.
impNumberOfPixelsResult | The number of pixels that satisfy the specified condition of the CalculateStats method.
impMinimumResult | The minimum pixel value that satisfies the specified condition of the CalculateStats method.
impMaximumResult | The maximum pixel value that satisfies the specified condition of the CalculateStats method.
impMinimumAbsoluteResult | The minimum absolute pixel value that satisfies the specified condition of the CalculateStats method.
impMaximumAbsoluteResult | The maximum absolute pixel value that satisfies the specified condition of the CalculateStats method.
impMeanResult | The mean value of the pixels that satisfy the specified condition of the CalculateStats method.
impStandartDeviationResult | The standard deviation value of the pixels that satisfy the specified condition of the CalculateStats method.
impSumResult | The sum of the pixel values that satisfy the specified condition of the CalculateStats method.
impSumAbsoluteResult | The sum of the absolute pixel values that satisfy the specified condition of the CalculateStats method.
impSumOfSquaresResult | The sum of the squared pixel values that satisfy the specified condition of the CalculateStats method.
UserArray
An array in which to put the specified result.

Remarks
  • Ensure that the user array is large enough to accommodate the requested data. The size of the user array should be equal to the number of results (found using the Results.Count property).
  • For the Histogram and CountDifferences methods, an array of type longintegerlong (integer for Visual Basic .Net) is required. For the FindExtremes and LocateEvents methods, an array of type float is required.
[]
Example
Shows how to get the results of the ImageProcessing Control in an user array.

Dim ArrayOfResults(255) As Integer

ImageProcessing.ResultSize = 256
ImageProcessing.ResultType = impHistogramList
ImageProcessing.Allocate()

ImageProcessing.Histogram()

ImageProcessing.Results.Get(impValues, ArrayOfResults)


ImageProcessing.Results.GetMultiple Method

GetMultiple method

Availability | MIL Equivalent | Get
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimGetResult(M_NULL)

MimGetResult(UserArray)
ImageProcessing
Results
GetMultiple
Synopsis
Returns the statistical image processing results of the specified type, to a user array.
[]
Syntax
object.GetMultiple(
ByVal ResultTypeArray As Array,
ByVal UserArray As Array
)
[]
Syntax
void object->GetMultiple(
VARIANT * ResultTypeArray,
VARIANT * UserArray
)
ResultTypeArray
An array of ImpResultFieldConstants expressions that specifies the types of results to copy.
Value | Meaning
impValues | The pixel values of a statistical method.
impPositionsX | The X-coordinate pixel positions that satisfy the specified condition of the LocateEvents method.
impPositionsY | The Y-coordinate pixel positions that satisfy the specified condition of the LocateEvents method.
impNumberOfEvent | The number of events that satisfy the specified condition of the LocateEvents method.
impNumberOfPixelsResult | The number of pixels that satisfy the specified condition of the CalculateStats method.
impMinimumResult | The minimum pixel value that satisfies the specified condition of the CalculateStats method.
impMaximumResult | The maximum pixel value that satisfies the specified condition of the CalculateStats method.
impMinimumAbsoluteResult | The minimum absolute pixel value that satisfies the specified condition of the CalculateStats method.
impMaximumAbsoluteResult | The maximum absolute pixel value that satisfies the specified condition of the CalculateStats method.
impMeanResult | The mean value of the pixels that satisfy the specified condition of the CalculateStats method.
impStandartDeviationResult | The standard deviation value of the pixels that satisfy the specified condition of the CalculateStats method.
impSumResult | The sum of the pixel values that satisfy the specified condition of the CalculateStats method.
impSumAbsoluteResult | The sum of the absolute pixel values that satisfy the specified condition of the CalculateStats method.
impSumOfSquaresResult | The sum of the squared pixel values that satisfy the specified condition of the CalculateStats method.

UserArray
An array of type double in which to write the specified results.

Remarks
  • Ensure that the user array is large enough to accommodate the requested data. The size of the user array should be equal to the number of results (found using the Results.Count property).
  • For the Histogram and CountDifferences methods, an array of type longintegerlong (integer for Visual Basic .Net) is required. For the FindExtremes and LocateEvents methods, an array of type float is required.


ImageProcessing.ResultSize Property

ResultSize property

See Also | Availability | MIL Equivalent | ResultDataType | Results
Reference:
ImageProcessing.ResultDataType
ImageProcessing.ResultType
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
MimAllocResult(NbEntries)
ImageProcessing
ResultSize
Synopsis
Returns or sets the required size of the collection of statistical image processing results.
[]
Syntax
object.ResultSize [= Integer]
[]
Syntax
object->ResultSize [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value or an ImpAnyConstants expression that specifies the required size of the image processing results collection.
Value | Meaning
value | A longintegerlong (integer for Visual Basic .Net) value that specifies the required size of the image processing results collection.
impAny | An ImpAnyConstants expression that allows ActiveMIL to determine the required size of the image processing results collection.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • If this property is set to impAny, the first call to any statistical image processing method will be slightly slower than if the data size was specified explicitly.
  • If you set the ResultType property to the result type of the statistical image processing method to be used (the Binarize, CountDifferences, FindExtremes, LocateEvents, Histogram, or Project method), and the ResultSize property to the expected number of results, you can accelerate that method. For more information, see the remarks of the method.
  • If the LocateEvents method needs to store over 100 results in the collection of image processing results, you must not only specify an impEventList type of collection, but you must also specify the size of the collection explicitly. For all other methods, ActiveMIL is able to determine the exact size required.
Remark for Matrox Genesis
  • Setting this property to impAny will make the first call to a statistical method synchronous.
[]
Example
This example shows how to use the ResultSize property.

m_ImageProcessing1->ResultSize = impAny;


ImageProcessing.ResultType Property

ResultType property

See Also | Availability | MIL Equivalent | Results | Source1
Reference:
ImageProcessing.ResultDataType
ImageProcessing.ResultSize
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
MimAllocResult(ResultType)

MimInquire(
InquireType =
M_RESULT_TYPE
)
ImageProcessing
ResultType
Synopsis
Returns or sets the type of the collection of statistical image processing results.
[]
Syntax
object.ResultType [= ImpResultTypeConstants]
[]
Syntax
object->ResultType [= enum ImpResultTypeConstants]
Type description
An ImpResultTypeConstants expression that specifies the type of data that will be stored in the collection of image processing results. (default is impAnyResultType)
Value | Meaning
impAnyResultType | Any type of data can be stored in the collection of image processing results. ActiveMIL determines the type of data that is stored depending on the last image processing method called.
impCountList | Count difference data will be stored in the collection of image processing results.
impEventList | Event data will be stored in the collection of image processing results.
impExtremeList | Extreme (minimum or maximum) values will be in the collection of image processing results.
impHistogramList | Histogram data will be stored in the collection of image processing results.
impProjectionList | Projection data will be stored in the collection of image processing results.
impSingleValue | Single value data will be stored in the collection of image processing results.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • If this property is set to impAnyResultType, the first call to any statistical image processing method will be slightly slower than if the result type was specified explicitly.
  • If you set the ResultType property to the result type of the statistical image processing method to be used (the Binarize, CountDifferences, FindExtremes, LocateEvents, Histogram, or Project method), and the ResultSize property to the expected number of results, you can accelerate that method. For more information, see the remarks of the method.
  • If the LocateEvents method needs to store over 100 results in the collection of image processing results, you must not only specify an impEventList type of collection, but you must also specify the size of the collection explicitly. For all other methods, ActiveMIL is able to determine the exact size required.
Remark for Matrox Genesis
  • Setting this property to impAnyResultType will make the first call to a statistical method synchronous.


ImageProcessing.Source1 Property

Source1 property

See Also | Availability | MIL Equivalent | ResultType | Source2
Reference:
ImageProcessing.Source2
ImageProcessing.Source3
ImageProcessing.Source4
ImageProcessing.Source5
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
Source1
Synopsis
Returns or sets the Image control or constant used as the first source operand (Source1) by the ImageProcessing control.
[]
Syntax
object.Source1 [= Object]
[]
Syntax
object->Source1 [= _variant_t]
Type description
There are 2 different types for this property:

- An Image control that specifies the image used as the first source image by specific ImageProcessing control methods.

- A double value that specifies the constant used as the first source by specific ImageProcessing control methods.

Remarks
  • All image processing methods use this property to indicate which image (or constant in some cases) is used as the Source1 image for the operation.
  • Not all image processing methods support constants as a source.
  • The image processing methods support in-place processing; in this case the destination and the source properties are set to the same image, however the source and the destination images cannot partially overlap. If you have created only one Image control, in-place processing occurs by default. If you have created more than one Image control, the source and destination properties need to be specified.
  • Image processing methods support images of any data type or depth, unless otherwise specified.
[]
Example
This example shows how to use the Source1 property.

' Set the Source1 property to a 'Double' value
ImageProcessing1.Source1 = 33.3

' Set the Source1 property to a 'Long' value
' Notice the 'L' to define a long value.
' This is necessary to resolve the ambiguous _variant_t construction
ImageProcessing1.Source1 = 128

' Set the Source1 property to an Image control
ImageProcessing1.Source1 = DisplayedImage

' Remove the reference on m_Image1
ImageProcessing1.Source1 = Nothing

' Set the Source1 property to an Image control referenced
' by another ActiveMIL control
ImageProcessing1.Source1 = Display1.Image

' Same as above for an Image control built at run-time
Dim MyImage As IImage
MyImage = Application1.CreateObject("MIL.Image", False)
MyImage.CanDisplay = True
MyImage.CanProcess = True
MyImage.Allocate()
ImageProcessing1.Source1 = MyImage

' Use the Image control referenced by the Source1 property to
' set the Image property of another ActiveMIL control
Display1.Image = ImageProcessing1.Source1
[]
Example
This example shows how to use the Source1 property.

// Set the Source1 property to a 'double' value
m_ImageProcessing1->Source1 = 33.3;

// Set the Source1 property to a 'long' value
// Notice the 'L' to define a long value.
// This is necessary to resolve the ambiguous _variant_t construction
m_ImageProcessing1->Source1 = 128L;

// Set the Source1 property to an Image control
m_ImageProcessing1->Source1 = m_AnImage;

// Remove the reference on m_AnImage
m_ImageProcessing1->Source1 = 0L;

// Set the Source1 property to an Image control referenced
// by another ActiveMIL control
// Notice the explicit construction of a _variant_t.
// This is necessary to resolve the ambiguous _variant_t construction
m_ImageProcessing1->Source1 = _variant_t(m_Display1->Image, true);

// Same as above for an Image control built at run-time
IImagePtr MyImage;
MyImage = m_Application1->CreateObject("MIL.Image", false);
MyImage->CanDisplay = true;
MyImage->CanProcess = true;
MyImage->Allocate();

m_ImageProcessing1->Source1 = _variant_t(MyImage, true);

// Use the Image control referenced by the Source1 property to
// set the Image property of another ActiveMIL control
if (V_DISPATCH(&m_ImageProcessing1->Source1) != NULL)
   {
   // Use a temporary smart pointer to take care of the
   // raw pointer returned by _variant_t's internal
   // IDispatch* operator
   IImagePtr TemporaryImage = m_ImageProcessing1->Source1;
   m_Display1->Image = TemporaryImage;
   }


ImageProcessing.Source2 Property

Source2 property

See Also | Availability | MIL Equivalent | Source1 | Source3
Reference:
ImageProcessing.Source1
ImageProcessing.Source3
ImageProcessing.Source4
ImageProcessing.Source5
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
Source2
Synopsis
Returns or sets the Image control or constant used as the second source operand (Source2) by the ImageProcessing control.
[]
Syntax
object.Source2 [= Object]
[]
Syntax
object->Source2 [= _variant_t]
Type description
There are 2 different types for this property:

- An Image control that specifies the image used as the second source image by specific ImageProcessing control methods.

- A double value that specifies the constant used as the second source by specific ImageProcessing control methods.

Remarks
  • In-place processing is supported for ImageProcessing control methods by setting the destination and the source properties to the same image, however the source and the destination images cannot partially overlap.
  • Not all image processing methods support constants as a source.
  • Used by methods that operate on at least two operands.
  • Image processing methods support images of any data type or depth, unless otherwise specified.
[]
Example
This example shows how to use the Source2 property.

' Set the Source2 property to a 'Double' value
ImageProcessing1.Source2 = 33.3

' Set the Source2 property to a 'Long' value
' Notice the 'L' to define a long value.
' This is necessary to resolve the ambiguous _variant_t construction
ImageProcessing1.Source2 = 128

' Set the Source2 property to an Image control
ImageProcessing1.Source2 = DisplayedImage

' Remove the reference on m_Image1
ImageProcessing1.Source2 = Nothing

' Set the Source2 property to an Image control referenced
' by another ActiveMIL control
ImageProcessing1.Source2 = Display1.Image

' Same as above for an Image control built at run-time
Dim MyImage As IImage
MyImage = Application1.CreateObject("MIL.Image", False)
MyImage.CanDisplay = True
MyImage.CanProcess = True
MyImage.Allocate()
ImageProcessing1.Source2 = MyImage

' Use the Image control referenced by the Source2 property to
' set the Image property of another ActiveMIL control
Display1.Image = ImageProcessing1.Source2
[]
Example
This example shows how to use the Source2 property.

// Set the Source2 property to a 'double' value
m_ImageProcessing1->Source2 = 33.3;

// Set the Source2 property to a 'long' value
// Notice the 'L' to define a long value.
// This is necessary to resolve the ambiguous _variant_t construction
m_ImageProcessing1->Source2 = 128L;

// Set the Source2 property to an Image control
m_ImageProcessing1->Source2 = m_AnImage;

// Remove the reference on m_AnImage
m_ImageProcessing1->Source2 = 0L;

// Set the Source2 property to an Image control referenced
// by another ActiveMIL control
// Notice the explicit construction of a _variant_t.
// This is necessary to resolve the ambiguous _variant_t construction
m_ImageProcessing1->Source2 = _variant_t(m_Display1->Image, true);

// Same as above for an Image control built at run-time
IImagePtr MyImage;
MyImage = m_Application1->CreateObject("MIL.Image", false);
MyImage->CanDisplay = true;
MyImage->CanProcess = true;
MyImage->Allocate();

m_ImageProcessing1->Source2 = _variant_t(MyImage, true);

// Use the Image control referenced by the Source2 property to
// set the Image property of another ActiveMIL control
if (V_DISPATCH(&m_ImageProcessing1->Source2) != NULL)
   {
   // Use a temporary smart pointer to take care of the
   // raw pointer returned by _variant_t's internal
   // IDispatch* operator
   IImagePtr TemporaryImage = m_ImageProcessing1->Source2;
   m_Display1->Image = TemporaryImage;
   }


ImageProcessing.Source3 Property

Source3 property

See Also | Availability | MIL Equivalent | Source2 | Source4
Reference:
ImageProcessing.Source1
ImageProcessing.Source2
ImageProcessing.Source4
ImageProcessing.Source5
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
Source3
Synopsis
Returns or sets the Image control or constant used as the third source operand (Source3) by the ImageProcessing control.
[]
Syntax
object.Source3 [= Object]
[]
Syntax
object->Source3 [= _variant_t]
Type description
There are 2 different types for this property:

- An Image control that specifies the image used as the third source image by specific ImageProcessing control methods.

- A double value that specifies the constant used as the third source by specific ImageProcessing control methods.

Remarks
  • In-place processing is supported for ImageProcessing control methods by setting the destination and the source properties to the same image, however the source and the destination images cannot partially overlap.
  • Not all image processing methods support constants as a source.
  • Used by methods that operate on at least three operands.
  • Image processing methods support images of any data type or depth, unless otherwise specified.
[]
Example
This example shows how to use the Source3 property.

' Set the Source3 property to a 'Double' value
ImageProcessing1.Source3 = 33.3

' Set the Source3 property to a 'Long' value
' Notice the 'L' to define a long value.
' This is necessary to resolve the ambiguous _variant_t construction
ImageProcessing1.Source3 = 128

' Set the Source3 property to an Image control
ImageProcessing1.Source3 = DisplayedImage

' Remove the reference on m_Image1
ImageProcessing1.Source3 = Nothing

' Set the Source3 property to an Image control referenced
' by another ActiveMIL control
ImageProcessing1.Source3 = Display1.Image

' Same as above for an Image control built at run-time
Dim MyImage As IImage
MyImage = Application1.CreateObject("MIL.Image", False)
MyImage.CanDisplay = True
MyImage.CanProcess = True
MyImage.Allocate()
ImageProcessing1.Source3 = MyImage

' Use the Image control referenced by the Source3 property to
' set the Image property of another ActiveMIL control
Display1.Image = ImageProcessing1.Source3
[]
Example
This example shows how to use the Source3 property.

// Set the Source3 property to a 'double' value
m_ImageProcessing1->Source3 = 33.3;

// Set the Source3 property to a 'long' value
// Notice the 'L' to define a long value.
// This is necessary to resolve the ambiguous _variant_t construction
m_ImageProcessing1->Source3 = 128L;

// Set the Source3 property to an Image control
m_ImageProcessing1->Source3 = m_AnImage;

// Remove the reference on m_AnImage
m_ImageProcessing1->Source3 = 0L;

// Set the Source3 property to an Image control referenced
// by another ActiveMIL control
// Notice the explicit construction of a _variant_t.
// This is necessary to resolve the ambiguous _variant_t construction
m_ImageProcessing1->Source3 = _variant_t(m_Display1->Image, true);

// Same as above for an Image control built at run-time
IImagePtr MyImage;
MyImage = m_Application1->CreateObject("MIL.Image", false);
MyImage->CanDisplay = true;
MyImage->CanProcess = true;
MyImage->Allocate();

m_ImageProcessing1->Source3 = _variant_t(MyImage, true);

// Use the Image control referenced by the Source3 property to
// set the Image property of another ActiveMIL control
if (V_DISPATCH(&m_ImageProcessing1->Source3) != NULL)
   {
   // Use a temporary smart pointer to take care of the
   // raw pointer returned by _variant_t's internal
   // IDispatch* operator
   IImagePtr TemporaryImage = m_ImageProcessing1->Source3;
   m_Display1->Image = TemporaryImage;
   }


ImageProcessing.Source4 Property

Source4 property

See Also | Availability | MIL Equivalent | Source3 | Source5
Reference:
ImageProcessing.Source1
ImageProcessing.Source2
ImageProcessing.Source3
ImageProcessing.Source5
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
Source4
Synopsis
Returns or sets the Image control or constant used as the fourth source operand (Source4) by the ImageProcessing control.
[]
Syntax
object.Source4 [= Object]
[]
Syntax
object->Source4 [= _variant_t]
Type description
There are 2 different types for this property:

- An Image control that specifies the image used as the fourth source image by specific ImageProcessing control methods.

- A double value that specifies the constant used as the fourth source by specific ImageProcessing control methods.

Remarks
  • In-place processing is supported for ImageProcessing control methods by setting the destination and the source properties to the same image, however the source and the destination images cannot partially overlap.
  • Not all image processing methods support constants as a source.
  • Used by methods that operate on at least four operands.
  • Image processing methods support images of any data type or depth, unless otherwise specified.
[]
Example
This example shows how to use the Source4 property.

' Set the Source4 property to a 'Double' value
ImageProcessing1.Source4 = 33.3

' Set the Source4 property to a 'Long' value
ImageProcessing1.Source4 = 128

' Set the Source4 property to an Image control
ImageProcessing1.Source4 = DisplayedImage

' Remove the reference on m_Image1
ImageProcessing1.Source4 = Nothing

' Set the Source4 property to an Image control referenced
' by another ActiveMIL control
ImageProcessing1.Source4 = Display1.Image

' Same as above for an Image control built at run-time
Dim MyImage As IImage
MyImage = Application1.CreateObject("MIL.Image", False)
MyImage.CanDisplay = True
MyImage.CanProcess = True
MyImage.Allocate()
ImageProcessing1.Source4 = MyImage

' Use the Image control referenced by the Source4 property to
' set the Image property of another ActiveMIL control
Display1.Image = ImageProcessing1.Source4
[]
Example
This example shows how to use the Source4 property.

// Set the Source4 property to a 'double' value
m_ImageProcessing1->Source4 = 33.3;

// Set the Source4 property to a 'long' value
// Notice the 'L' to define a long value.
// This is necessary to resolve the ambiguous _variant_t construction
m_ImageProcessing1->Source4 = 128L;

// Set the Source4 property to an Image control
m_ImageProcessing1->Source4 = m_AnImage;

// Remove the reference on m_AnImage
m_ImageProcessing1->Source4 = 0L;

// Set the Source4 property to an Image control referenced
// by another ActiveMIL control
// Notice the explicit construction of a _variant_t.
// This is necessary to resolve the ambiguous _variant_t construction
m_ImageProcessing1->Source4 = _variant_t(m_Display1->Image, true);

// Same as above for an Image control built at run-time
IImagePtr MyImage;
MyImage = m_Application1->CreateObject("MIL.Image", false);
MyImage->CanDisplay = true;
MyImage->CanProcess = true;
MyImage->Allocate();

m_ImageProcessing1->Source4 = _variant_t(MyImage, true);

// Use the Image control referenced by the Source4 property to
// set the Image property of another ActiveMIL control
if (V_DISPATCH(&m_ImageProcessing1->Source4) != NULL)
   {
   // Use a temporary smart pointer to take care of the
   // raw pointer returned by _variant_t's internal
   // IDispatch* operator
   IImagePtr TemporaryImage = m_ImageProcessing1->Source4;
   m_Display1->Image = TemporaryImage;
   }


ImageProcessing.Source5 Property

Source5 property

See Also | Availability | MIL Equivalent | Source4 | StructuringElements
Reference:
ImageProcessing.Source1
ImageProcessing.Source2
ImageProcessing.Source3
ImageProcessing.Source4
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
Source5
Synopsis
Returns or sets the Image control or constant used as the fifth source operand (Source5) by the ImageProcessing control.
[]
Syntax
object.Source5 [= Object]
[]
Syntax
object->Source5 [= _variant_t]
Type description
There are 2 different types for this property:

- An Image control that specifies the image used as the fifth source image by specific ImageProcessing control methods.

- A double value that specifies the constant used as the fifth source by specific ImageProcessing control methods.

Remarks
  • In-place processing is supported for ImageProcessing control methods by setting the destination and the source properties to the same image, however the source and the destination images cannot partially overlap.
  • Not all image processing methods support constants as a source.
  • Used by methods that operate on at least five operands.
  • Image processing methods support images of any data type or depth, unless otherwise specified.
[]
Example
This example shows how to use the Source5 property.

' Set the Source5 property to a 'Double' value
ImageProcessing1.Source5 = 33.3

' Set the Source5 property to a 'Long' value
' Notice the 'L' to define a long value.
' This is necessary to resolve the ambiguous _variant_t construction
ImageProcessing1.Source5 = 128

' Set the Source5 property to an Image control
ImageProcessing1.Source5 = DisplayedImage

' Remove the reference on m_Image1
ImageProcessing1.Source5 = Nothing

' Set the Source5 property to an Image control referenced
' by another ActiveMIL control
ImageProcessing1.Source5 = Display1.Image

' Same as above for an Image control built at run-time
Dim MyImage As IImage
MyImage = Application1.CreateObject("MIL.Image", False)
MyImage.CanDisplay = True
MyImage.CanProcess = True
MyImage.Allocate()
ImageProcessing1.Source5 = MyImage

' Use the Image control referenced by the Source5 property to
' set the Image property of another ActiveMIL control
Display1.Image = ImageProcessing1.Source5
[]
Example
This example shows how to use the Source5 property.

// Set the Source5 property to a 'double' value
m_ImageProcessing1->Source5 = 33.3;

// Set the Source5 property to a 'long' value
// Notice the 'L' to define a long value.
// This is necessary to resolve the ambiguous _variant_t construction
m_ImageProcessing1->Source5 = 128L;

// Set the Source5 property to an Image control
m_ImageProcessing1->Source5 = m_AnImage;

// Remove the reference on m_AnImage
m_ImageProcessing1->Source5 = 0L;

// Set the Source5 property to an Image control referenced
// by another ActiveMIL control
// Notice the explicit construction of a _variant_t.
// This is necessary to resolve the ambiguous _variant_t construction
m_ImageProcessing1->Source5 = _variant_t(m_Display1->Image, true);

// Same as above for an Image control built at run-time
IImagePtr MyImage;
MyImage = m_Application1->CreateObject("MIL.Image", false);
MyImage->CanDisplay = true;
MyImage->CanProcess = true;
MyImage->Allocate();

m_ImageProcessing1->Source5 = _variant_t(MyImage, true);

// Use the Image control referenced by the Source5 property to
// set the Image property of another ActiveMIL control
if (V_DISPATCH(&m_ImageProcessing1->Source5) != NULL)
   {
   // Use a temporary smart pointer to take care of the
   // raw pointer returned by _variant_t's internal
   // IDispatch* operator
   IImagePtr TemporaryImage = m_ImageProcessing1->Source5;
   m_Display1->Image = TemporaryImage;
   }


ImageProcessing.StructuringElements Property

StructuringElements property

See Also | Availability | MIL Equivalent | Source5 | WarpParameters
User Guide:
Custom morphological operations
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc2d(
Attribute =
M_STRUCT_ELEMENT
)

MbufControlNeighborhood()
ImageProcessing
StructuringElements
Properties: Count, Item

Methods: Add, Load, Remove
Synopsis
Returns the collection of structuring elements available to the ImageProcessing control, allowing access to its elements.
[]
Syntax
[StructuringElements =] object.StructuringElements
[]
Syntax
[IStructuringElementsPtr =] object->StructuringElements
Type description
A StructuringElements expression that represents an instance of a StructuringElements collection.
[]
Example
This example shows how to access the StructuringElement item at index 1 in the StructuringElements collection.

With ImageProcessing1.StructuringElements.Item(1)
        For j = 0 To 9
            For i = 0 To 9
                .Data(i, j) = 1
            Next
        Next
End With
[]
Example
This example shows how to access the StructuringElement item at index 1 in the StructuringElements collection.

//Fill both data buffers
for (int j = 0; j<=9; j++)
   {
   for (int i=0; i<=9; i++)
      {
      m_ImageProcessing1->StructuringElements->Item(1)->Data[i][j] = 1;
      }
   }


ImageProcessing.StructuringElements.Count Property

Count property

Availability | MIL Equivalent | Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
StructuringElements
Count
Synopsis
Returns the number of elements in the collection of structuring elements.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A long value that specifies the number of elements currently in the collection.
Remark
  • Each element in the collection structuring elements refers to a structuring element.


ImageProcessing.StructuringElements.Item Property

Item property

Availability | MIL Equivalent | Count | Add
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
StructuringElements
Item
Properties: CenterX, CenterY, DataType, Data, MilID, OverscanType, OverscanValue, SizeX, SizeY

Methods: Get, Put, Save
Synopsis
Returns the element at the specified index in the collection of structuring elements.
[]
Syntax
[StructuringElement=]object.Item(
Index As Integer
)
[]
Syntax
[IStructuringElementPtr =] object->Item(
long Index
)
Index
A long value that specifies the index of the required element.
Type description
A StructuringElement object.
Remarks
  • Each element in the collection of structuring elements refers to a structuring element.
  • If the value provided as the index does not match any existing element in the collection, an error occurs. Note, the index of the first element of this collection starts at one.


ImageProcessing.StructuringElements.Item.CenterX Property

CenterX property

See Also | Availability | MIL Equivalent | CenterY
Reference:
ImageProcessing.StructuringElements.Item.CenterY
ImageProcessing.StructuringElements.Item.SizeX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufControlNeighborhood (
OperationFlag =
M_OFFSET_CENTER_X
)

MbufInquire(
InquireType =
M_OFFSET_CENTER_X
)
ImageProcessing
StructuringElements
Item
CenterX
Synopsis
Returns or sets the X-coordinate of the center of the structuring element.
[]
Syntax
object.CenterX [= Integer]
[]
Syntax
object->CenterX [= long]
Type description
A long value that specifies the X-coordinate of the center, relative to the top-left corner of the structuring element.


ImageProcessing.StructuringElements.Item.CenterY Property

CenterY property

See Also | Availability | MIL Equivalent | CenterX | DataType
Reference:
ImageProcessing.StructuringElements.Item.CenterX
ImageProcessing.StructuringElements.Item.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufControlNeighborhood (
OperationFlag =
M_OFFSET_CENTER_Y
)

MbufInquire(
InquireType =
M_OFFSET_CENTER_Y
)
ImageProcessing
StructuringElements
Item
CenterY
Synopsis
Returns or sets the Y-coordinate of the center of the structuring element.
[]
Syntax
object.CenterY [= Integer]
[]
Syntax
object->CenterY [= long]
Type description
A long value that specifies the Y-coordinate of the center, relative to the top-left corner of the structuring element.


ImageProcessing.StructuringElements.Item.Data Property

Data property

Availability | MIL Equivalent | DataType | MilID
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufGet2d()

MbufPut2d()
ImageProcessing
StructuringElements
Item
Data
Synopsis
Returns or sets the data stored at the given position in the structuring element.
[]
Syntax
Get:
[Double=]object.Data(
X As Integer,
Y As Integer
)

Set:
object.Data(
X As Integer,
Y As Integer,
value_to_set as Double
)
[]
Syntax
object->Data[long X][long Y] [= double]
X
A long value that specifies the X-coordinate of the position (first coordinate is 0).
Y
A long value that specifies the Y-coordinate of the position (first coordinate is 0).
Type description
A double value that specifies the data stored at the specified position in the structuring element. If you do not want a corresponding neighbor to be considered in the comparison, the value should be set to a captial 'D' to specify the value impDontCare.
Remark
  • For binary and some grayscale operations (Thin or Thick method), the structuring element values must be 0, 1, or a captial 'D' (or impDontCare). For other grayscale operations, any structuring element value can be used, including a 'D'.


ImageProcessing.StructuringElements.Item.DataType Property

DataType property

Availability | MIL Equivalent | CenterY | Data
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc2d(
Type
Attribute =
M_STRUCT_ELEMENT
)

MbufInquire(
InquireType =
M_TYPE
)
ImageProcessing
StructuringElements
Item
DataType
Synopsis
Returns or sets the data type of the structuring element.
[]
Syntax
object.DataType [= ImpDataTypeConstants]
[]
Syntax
object->DataType [= enum ImpDataTypeConstants]
Type description
An ImpDataTypeConstants expression that specifies the data type. (default is impSigned)
Value | Meaning
impSigned | The data includes only integers.
impUnsigned | The data includes only non-negative integers.
impFloat | The data includes only floating-point numbers.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • Note that the data depth of a structuring element is always 32-bits.


ImageProcessing.StructuringElements.Item.MilID Property

MilID property

See Also | Availability | MIL Equivalent | Data | OverscanType
User Guide:
Integrating MIL functions into your ActiveMIL code

Reference:
ImageProcessing.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc2d(BufIdPtr)
ImageProcessing
StructuringElements
Item
MilID
Synopsis
Returns the Native MIL identifier of the allocated resources for the structuring element.
[]
Syntax
[Integer =] object.MilID
[]
Syntax
[long =] object->MilID
Type description
A long value that specifies the Native MIL identifier of the structuring element.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • If the control's IsAllocated property is False, the MilID property will be 0.


ImageProcessing.StructuringElements.Item.OverscanType Property

OverscanType property

See Also | Availability | MIL Equivalent | MilID | OverscanValue
User Guide:
Borders of an image

Reference:
ImageProcessing.StructuringElements.Item.OverscanValue
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufControlNeighborhood(
Operation flag =
M_OVERSCAN
)

MbufInquire(
InquireType =
M_OVERSCAN
)
ImageProcessing
StructuringElements
Item
OverscanType
Synopsis
Returns or sets the type of overscan processing for the border pixels.
[]
Syntax
object.OverscanType [= ImpOverscanTypeConstants]
[]
Syntax
object->OverscanType [= enum ImpOverscanTypeConstants]
Type description
An ImpOverscanTypeConstants expression which specifies how to process the border pixels of the source image. (default is impOverscanDefault)
Value | Meaning
impTransparent | Operations will be performed on the border pixels of the source image using transparent overscan pixel values. That is, the overscan pixel values will be those of the parent image. If they are not available, an impMirror overscan is used instead.
impMirror | Operations will be performed on the border pixels of the source image using overscan pixel values that mirror those of the source image's borders.
impReplace | Operations will be performed on the border pixels of the source image using the replacement value specified with the OverscanValue property.
impDisableOverscanType | Overscan is disabled.
impOverscanDefault | ActiveMIL selected overscan method to optimize speed and logic in function of both the operation required and the current processing system.
Remark
  • This property specifies how to process border pixels of the source image.


ImageProcessing.StructuringElements.Item.OverscanValue Property

OverscanValue property

See Also | Availability | MIL Equivalent | OverscanType | SizeX
User Guide:
Borders of an image

Reference:
ImageProcessing.StructuringElements.Item.OverscanType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufControlNeighborhood(
Operation flag =
M_OVERSCAN_REPLACE_VALUE
)

MbufInquire(
InquireType =
M_OVERSCAN_REPLACE_VALUE
)
ImageProcessing
StructuringElements
Item
OverscanValue
Synopsis
Returns or sets a replacement value for the overscan pixel values.
[]
Syntax
object.OverscanValue [= Double]
[]
Syntax
object->OverscanValue [= double]
Type description
A double value that specifies the replacement value.
Remark
  • If you want to perform operations on the border pixels of the source image using a replacement value, the StructuringElement.Item(StructuringElementsIndex).OverscanType property of the ImageProcessing control must be set to impReplace.


ImageProcessing.StructuringElements.Item.SizeX Property

SizeX property

See Also | Availability | MIL Equivalent | OverscanValue | SizeY
Reference:
ImageProcessing.StructuringElements.Item.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc2d(
SizeX
Attribute =
M_STRUCT_ELEMENT
)

MbufInquire(
InquireType =
M_SIZE_X
)
ImageProcessing
StructuringElements
Item
SizeX
Synopsis
Returns or sets the width of the structuring element.
[]
Syntax
object.SizeX [= Integer]
[]
Syntax
object->SizeX [= long]
Type description
A long value that specifies the number of elements in the horizontal direction.
Remark
  • This property cannot be set at run-time if the control is in the allocated state.


ImageProcessing.StructuringElements.Item.SizeY Property

SizeY property

See Also | Availability | MIL Equivalent | SizeX | Get
Reference:
ImageProcessing.StructuringElements.Item.SizeX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc2d(
SizeY
Attribute =
M_STRUCT_ELEMENT
)

MbufInquire(
InquireType =
M_SIZE_Y
)
ImageProcessing
StructuringElements
Item
SizeY
Synopsis
Returns or sets the height of the structuring element.
[]
Syntax
object.SizeY [= Integer]
[]
Syntax
object->SizeY [= long]
Type description
A long value that specifies the numbers of elements in the vertical direction.
Remark
  • This property cannot be set at run-time if the control is in the allocated state.


ImageProcessing.StructuringElements.Item.Get Method

Get method

Availability | MIL Equivalent | SizeY | Put
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufGet()
ImageProcessing
StructuringElements
Item
Get
Synopsis
Copies the structuring element data to the user-supplied array.
[]
Syntax
object.Get(
ByVal UserArray As Array
)
[]
Syntax
void object->Get(
VARIANT * UserArray
)
UserArray
An array in which to put the data.

Remarks
  • Ensure that the user array is large enough to accommodate the data from the structuring element.
  • It is assumed that the user array is of the same data type and depth as the structuring element.


ImageProcessing.StructuringElements.Item.Put Method

Put method

Availability | MIL Equivalent | Get | Save
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufPut()
ImageProcessing
StructuringElements
Item
Put
Synopsis
Copies the data from the user-supplied array into the structuring element.
[]
Syntax
object.Put(
ByVal UserArray As Array
)
[]
Syntax
void object->Put(
const _variant_t & UserArray
)
UserArray
A user array that contains the data to be copied.

Remarks
  • Ensure that the structuring element is large enough to accommodate the data from the user array.
  • It is assumed that the user array is of the same data type and depth as the structuring element.


ImageProcessing.StructuringElements.Item.Save Method

Save method

Availability | MIL Equivalent | Put
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufExport()

MbufSave()
ImageProcessing
StructuringElements
Item
Save
Synopsis
Saves the structuring element in a file.
[]
Syntax
object.Save(
ByVal FileName As String
)
[]
Syntax
void object->Save(
_bstr_t FileName
)
FileName
A string expression that specifies the name and path of the file in which to save the structuring element.
Remarks
  • The data is saved in the file using the MIL structuring element file format.
  • This method saves all the current property settings of the structuring element to disk. The structuring element and its properties can later be restored, using the StructuringElements.Load method.
  • If you pass the FileName parameter an empty string (""), the File Open dialog box is presented so that you can interactively select a file name.
  • This method will generate an error if the file cannot be found or loaded properly.
  • This method handles the opening and closing of the file.


ImageProcessing.StructuringElements.Add Method

Add method

See Also | Availability | MIL Equivalent | Item | Load
Reference:
ImageProcessing.StructuringElements.Item.SizeX
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
StructuringElements
Add
Synopsis
Adds a new element to the collection of structuring elements, which is initialized with the values passed as parameters.
[]
Syntax
object.Add(
ByVal DataType As ImpDataTypeConstants,
ByVal SizeX As Integer,
ByVal SizeY As Integer
)
[]
Syntax
void object->Add(
enum ImpDataTypeConstants DataType,
long SizeX,
long SizeY
)
DataType (optional in , default is impSigned)
An ImpDataTypeConstants expression that specifies the data type.
Value | Meaning
impSigned | The data includes only integers.
impUnsigned | The data includes only non-negative integers.
impFloat | The data includes only floating-point numbers.
SizeX (optional in , default is 3)
A long value that specifies the X-dimension.
SizeY (optional in , default is 3)
A long value that specifies the Y-dimension.
Remark
  • You can set the data type of the structuring element using the StructuringElements.Item(StructuringElementsIndex).DataType property of the ImageProcessing control. You can also set the X- and Y- dimensions of the structuring element using the StructuringElements.Item(StructuringElementsIndex).SizeX and StructuringElements.Item(StructuringElementsIndex).SizeY properties of the ImageProcessing control, respectively.
[]
Example
This example shows how to use the Add method.

m_ImageProcessing1->StructuringElements->Add(impUnsigned, 10, 10);


ImageProcessing.StructuringElements.Load Method

Load method

Availability | MIL Equivalent | Add | Remove
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufLoad()
ImageProcessing
StructuringElements
Load
Synopsis
Loads a structuring element from a file into the collection of structuring elements.
[]
Syntax
[Integer =] object.Load(
ByVal FileName As String
)
[]
Syntax
[long =] object->Load(
_bstr_t FileName
)
FileName
A string expression that specifies the name and path of the file from which to load the structuring element.
Return value
Returns the index of the new structuring element.
Remarks
  • The file must be in a MIL structuring element file format.
  • If you pass the FileName parameter an empty string (""), the File Open dialog box is presented so that you can interactively select a file name.
  • This method will generate an error if the file cannot be found or loaded properly.
  • This method handles the opening and closing of the file.


ImageProcessing.StructuringElements.Remove Method

Remove method

Availability | MIL Equivalent | Load
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
StructuringElements
Remove
Synopsis
Removes a structuring element from the collection.
[]
Syntax
object.Remove(
ByVal Index As Integer
)
[]
Syntax
void object->Remove(
long Index
)
Index
A long value that specifies an index into the collection of structuring elements, identifying the element to remove.
[]
Example
This example shows how to use the Remove method.

m_ImageProcessing1->StructuringElements->Remove(1);


ImageProcessing.WarpParameters Property

WarpParameters property

See Also | Availability | MIL Equivalent | StructuringElements | AbsoluteValue
User Guide:
Warping
Not available in ActiveMIL-Lite

Available in ActiveMIL
MgenWarpParameter()
ImageProcessing
WarpParameters
Properties: Coefficients, Quadrilateral, Rectangle, WarpLUT

Methods: GenerateLUT, MapQuadrilateralToRectangle, MapRectangleToQuadrilateral, ResetCoefficients, RotateCoefficients, ScaleCoefficients, ShearCoefficients, TranslateCoefficients
Synopsis
Allows you to specify or determine the coefficients or LUTs used to warp an image.
[]
Syntax
[WarpParameters =] object.WarpParameters
[]
Syntax
[IWarpParametersPtr =] object->WarpParameters
Type description
A WarpParameters object.
Remark
  • You cannot assign another WarpParameters object to this property.
[]
Example
This example shows how to use WarpParameters property.

// Generate coefficients for the mapping, and generate the warp LUT
m_ImageProcessing1->WarpParameters->MapQuadrilateralToRectangle();
m_ImageProcessing1->WarpParameters->GenerateLUT();


ImageProcessing.WarpParameters.Coefficients Property

Coefficients property

See Also | Availability | MIL Equivalent | Quadrilateral
User Guide:
Warping
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
WarpParameters
Coefficients
Synopsis
Returns or sets the value at the specified position of the coefficient matrix.
[]
Syntax
Get:
[Single=]object.Coefficients(
X As Integer,
Y As Integer
)

Set:
object.Coefficients(
X As Integer,
Y As Integer,
value_to_set as Single
)
[]
Syntax
object->Coefficients[long X][long Y] [= float]
X
A long value that specifies the X-coordinate of the position (first coordinate is 0).
Y
A long value that specifies the Y-coordinate of the position (first coordinate is 0).
Type description
A float value that specifies the value.
Remarks
  • The position's X- and Y-coordinates must be set to 0, 1, or 2.
  • The coefficient matrix is 3x3.
  • The coefficient matrix is automatically updated after a call to one of the following methods: RotateCoefficients, ScaleCoefficients, ShearCoefficients, TranslateCoefficients, MapQuadrilateralToRectangle, or MapRectangleToQuadrilateral.
  • To reset the coefficient matrix to the identity matrix, use the ResetCoefficients method.


ImageProcessing.WarpParameters.Quadrilateral Property

Quadrilateral property

See Also | Availability | MIL Equivalent | Coefficients | Rectangle
User Guide:
Warping
Not available in ActiveMIL-Lite

Available in ActiveMIL
MgenWarpParameter(InWarpParameter)
ImageProcessing
WarpParameters
Quadrilateral
Properties: X1, X2, X3, X4, Y1, Y2, Y3, Y4
Synopsis
Allows you to specify or determine the X- and Y-coordinate of a quadrilateral's corner points.
[]
Syntax
[WarpQuadrilateral =] object.Quadrilateral
[]
Syntax
[IWarpQuadrilateralPtr =] object->Quadrilateral
Type description
A WarpQuadrilateral object.
Remarks
  • You cannot assign another WarpQuadrilateral object to this property.
  • This property and the Rectangle property are used by the WarpParameters.MapQuadrilateralToRectangle and MapRectangleToQuadrilateral methods to generate coefficients into the WarpParameters.Coefficients (X,Y) property.
  • The Warp method uses these coefficients to peform perspective warpings that map a quadrilateral onto a rectangle or that map a rectangle onto a quadrilateral.
  • This property allows you to specify or determine the following coordinates.
[]
Example
This example shows how to use the Quadrilateral property.

IWarpQuadrilateralPtr WarpQuadrilateral =
   m_ImageProcessing1->WarpParameters->Quadrilateral;

WarpQuadrilateral->X1 =   0;
WarpQuadrilateral->Y1 =  25;
WarpQuadrilateral->X2 = 456;
WarpQuadrilateral->Y2 = 122;
WarpQuadrilateral->X3 = 333;
WarpQuadrilateral->Y3 = 333;
WarpQuadrilateral->X4 = 100;
WarpQuadrilateral->Y4 = 470;


ImageProcessing.WarpParameters.Quadrilateral.X1 Property

X1 property

Availability | MIL Equivalent | X2
Not available in ActiveMIL-Lite

Available in ActiveMIL
MgenWarpParameter(InWarpParameter)
ImageProcessing
WarpParameters
Quadrilateral
X1
Synopsis
Returns or sets the X-coordinate of the quadrilateral's top-left corner.
[]
Syntax
object.X1 [= Single]
[]
Syntax
object->X1 [= float]
Type description
A float value that specifies the X-coordinate.
[]
Example
This example shows how to set the X1 property.

IWarpQuadrilateralPtr WarpQuadrilateral =
   m_ImageProcessing1->WarpParameters->Quadrilateral;

WarpQuadrilateral->X1 =   0;
WarpQuadrilateral->Y1 =  25;
WarpQuadrilateral->X2 = 456;
WarpQuadrilateral->Y2 = 122;
WarpQuadrilateral->X3 = 333;
WarpQuadrilateral->Y3 = 333;
WarpQuadrilateral->X4 = 100;
WarpQuadrilateral->Y4 = 470;


ImageProcessing.WarpParameters.Quadrilateral.X2 Property

X2 property

Availability | MIL Equivalent | X1 | X3
Not available in ActiveMIL-Lite

Available in ActiveMIL
MgenWarpParameter(InWarpParameter)
ImageProcessing
WarpParameters
Quadrilateral
X2
Synopsis
Returns or sets the X-coordinate of the quadrilateral's top-right corner.
[]
Syntax
object.X2 [= Single]
[]
Syntax
object->X2 [= float]
Type description
A float value that specifies the X-coordinate.
[]
Example
This example shows how to set the X2 property.

IWarpQuadrilateralPtr WarpQuadrilateral =
   m_ImageProcessing1->WarpParameters->Quadrilateral;

WarpQuadrilateral->X1 =   0;
WarpQuadrilateral->Y1 =  25;
WarpQuadrilateral->X2 = 456;
WarpQuadrilateral->Y2 = 122;
WarpQuadrilateral->X3 = 333;
WarpQuadrilateral->Y3 = 333;
WarpQuadrilateral->X4 = 100;
WarpQuadrilateral->Y4 = 470;


ImageProcessing.WarpParameters.Quadrilateral.X3 Property

X3 property

Availability | MIL Equivalent | X2 | X4
Not available in ActiveMIL-Lite

Available in ActiveMIL
MgenWarpParameter(InWarpParameter)
ImageProcessing
WarpParameters
Quadrilateral
X3
Synopsis
Returns or sets the X-coordinate of the quadrilateral's bottom-right corner.
[]
Syntax
object.X3 [= Single]
[]
Syntax
object->X3 [= float]
Type description
A float value that specifies the X-coordinate.
[]
Example
This example shows how to set the X3 property.

IWarpQuadrilateralPtr WarpQuadrilateral =
   m_ImageProcessing1->WarpParameters->Quadrilateral;

WarpQuadrilateral->X1 =   0;
WarpQuadrilateral->Y1 =  25;
WarpQuadrilateral->X2 = 456;
WarpQuadrilateral->Y2 = 122;
WarpQuadrilateral->X3 = 333;
WarpQuadrilateral->Y3 = 333;
WarpQuadrilateral->X4 = 100;
WarpQuadrilateral->Y4 = 470;


ImageProcessing.WarpParameters.Quadrilateral.X4 Property

X4 property

Availability | MIL Equivalent | X3 | Y1
Not available in ActiveMIL-Lite

Available in ActiveMIL
MgenWarpParameter(InWarpParameter)
ImageProcessing
WarpParameters
Quadrilateral
X4
Synopsis
Returns or sets the X-coordinate of the quadrilateral's bottom-left corner.
[]
Syntax
object.X4 [= Single]
[]
Syntax
object->X4 [= float]
Type description
A float value that specifies the X-coordinate.
[]
Example
This example shows how to set the X4 property.

IWarpQuadrilateralPtr WarpQuadrilateral =
   m_ImageProcessing1->WarpParameters->Quadrilateral;

WarpQuadrilateral->X1 =   0;
WarpQuadrilateral->Y1 =  25;
WarpQuadrilateral->X2 = 456;
WarpQuadrilateral->Y2 = 122;
WarpQuadrilateral->X3 = 333;
WarpQuadrilateral->Y3 = 333;
WarpQuadrilateral->X4 = 100;
WarpQuadrilateral->Y4 = 470;


ImageProcessing.WarpParameters.Quadrilateral.Y1 Property

Y1 property

Availability | MIL Equivalent | X4 | Y2
Not available in ActiveMIL-Lite

Available in ActiveMIL
MgenWarpParameter(InWarpParameter)
ImageProcessing
WarpParameters
Quadrilateral
Y1
Synopsis
Returns or sets the Y-coordinate of the quadrilateral's top-left corner.
[]
Syntax
object.Y1 [= Single]
[]
Syntax
object->Y1 [= float]
Type description
A float value that specifies the Y-coordinate.
[]
Example
This example shows how to set the Y1 property.

IWarpQuadrilateralPtr WarpQuadrilateral =
   m_ImageProcessing1->WarpParameters->Quadrilateral;

WarpQuadrilateral->X1 =   0;
WarpQuadrilateral->Y1 =  25;
WarpQuadrilateral->X2 = 456;
WarpQuadrilateral->Y2 = 122;
WarpQuadrilateral->X3 = 333;
WarpQuadrilateral->Y3 = 333;
WarpQuadrilateral->X4 = 100;
WarpQuadrilateral->Y4 = 470;


ImageProcessing.WarpParameters.Quadrilateral.Y2 Property

Y2 property

Availability | MIL Equivalent | Y1 | Y3
Not available in ActiveMIL-Lite

Available in ActiveMIL
MgenWarpParameter(InWarpParameter)
ImageProcessing
WarpParameters
Quadrilateral
Y2
Synopsis
Returns or sets the Y-coordinate of the quadrilateral's top-right corner.
[]
Syntax
object.Y2 [= Single]
[]
Syntax
object->Y2 [= float]
Type description
A float value that specifies the Y-coordinate.
[]
Example
This example shows how to set the Y2 property.

IWarpQuadrilateralPtr WarpQuadrilateral =
   m_ImageProcessing1->WarpParameters->Quadrilateral;

WarpQuadrilateral->X1 =   0;
WarpQuadrilateral->Y1 =  25;
WarpQuadrilateral->X2 = 456;
WarpQuadrilateral->Y2 = 122;
WarpQuadrilateral->X3 = 333;
WarpQuadrilateral->Y3 = 333;
WarpQuadrilateral->X4 = 100;
WarpQuadrilateral->Y4 = 470;


ImageProcessing.WarpParameters.Quadrilateral.Y3 Property

Y3 property

Availability | MIL Equivalent | Y2 | Y4
Not available in ActiveMIL-Lite

Available in ActiveMIL
MgenWarpParameter(InWarpParameter)
ImageProcessing
WarpParameters
Quadrilateral
Y3
Synopsis
Returns or sets the Y-coordinate of the quadrilateral's bottom-right corner.
[]
Syntax
object.Y3 [= Single]
[]
Syntax
object->Y3 [= float]
Type description
A float value that specifies the Y-coordinate.
[]
Example
This example shows how to set the Y3 property.

IWarpQuadrilateralPtr WarpQuadrilateral =
   m_ImageProcessing1->WarpParameters->Quadrilateral;

WarpQuadrilateral->X1 =   0;
WarpQuadrilateral->Y1 =  25;
WarpQuadrilateral->X2 = 456;
WarpQuadrilateral->Y2 = 122;
WarpQuadrilateral->X3 = 333;
WarpQuadrilateral->Y3 = 333;
WarpQuadrilateral->X4 = 100;
WarpQuadrilateral->Y4 = 470;


ImageProcessing.WarpParameters.Quadrilateral.Y4 Property

Y4 property

Availability | MIL Equivalent | Y3
Not available in ActiveMIL-Lite

Available in ActiveMIL
MgenWarpParameter(InWarpParameter)
ImageProcessing
WarpParameters
Quadrilateral
Y4
Synopsis
Returns or sets the Y-coordinate of the quadrilateral's bottom-left corner.
[]
Syntax
object.Y4 [= Single]
[]
Syntax
object->Y4 [= float]
Type description
A float value that specifies the Y-coordinate.
[]
Example
This example shows how to set the Y4 property.

IWarpQuadrilateralPtr WarpQuadrilateral =
   m_ImageProcessing1->WarpParameters->Quadrilateral;

WarpQuadrilateral->X1 =   0;
WarpQuadrilateral->Y1 =  25;
WarpQuadrilateral->X2 = 456;
WarpQuadrilateral->Y2 = 122;
WarpQuadrilateral->X3 = 333;
WarpQuadrilateral->Y3 = 333;
WarpQuadrilateral->X4 = 100;
WarpQuadrilateral->Y4 = 470;


ImageProcessing.WarpParameters.Rectangle Property

Rectangle property

See Also | Availability | MIL Equivalent | Quadrilateral | WarpLUT
User Guide:
Warping
Not available in ActiveMIL-Lite

Available in ActiveMIL
MgenWarpParameter(InWarpParameter)
ImageProcessing
WarpParameters
Rectangle
Properties: X1, X2, Y1, Y2
Synopsis
Allows you to specify or determine the X- and Y-coordinate of a rectangle's top-left and bottom-right points.
[]
Syntax
[WarpRectangle =] object.Rectangle
[]
Syntax
[IWarpRectanglePtr =] object->Rectangle
Type description
A WarpRectangle object.
Remarks
  • You cannot assign another Rectangle object to this property.
  • This property and the Quadrilateral property are used by the WarpParameters.MapQuadrilateralToRectangle and MapRectangleToQuadrilateral methods to generate coefficients into the WarpParameters.Coefficients (X,Y) property.
  • The Warp method uses these coefficients to peform perspective warpings that map a quadrilateral onto a rectangle or that map a rectangle onto a quadrilateral.
  • This property allows you to specify or determine the following coordinates.
[]
Example
This example shows how to use the Rectangle property.

IWarpRectanglePtr WarpRectangle = m_ImageProcessing1->WarpParameters->Rectangle;
WarpRectangle->X1 = 0;
WarpRectangle->Y1 = 0;
WarpRectangle->X2 = static_cast<float>(m_Image1->SizeX - 1);
WarpRectangle->Y2 = static_cast<float>(m_Image1->SizeY - 1);


ImageProcessing.WarpParameters.Rectangle.X1 Property

X1 property

Availability | MIL Equivalent | X2
Not available in ActiveMIL-Lite

Available in ActiveMIL
MgenWarpParameter(InWarpParameter)
ImageProcessing
WarpParameters
Rectangle
X1
Synopsis
Returns or sets the X-coordinate of the rectangle's top-left corner.
[]
Syntax
object.X1 [= Single]
[]
Syntax
object->X1 [= float]
Type description
A float value that specifies the X-coordinate, with respect to the top-left corner of the image.
[]
Example
This example shows how to set the X1 property.

IWarpRectanglePtr WarpRectangle = m_ImageProcessing1->WarpParameters->Rectangle;
WarpRectangle->X1 = 0;
WarpRectangle->Y1 = 0;
WarpRectangle->X2 = static_cast<float>(m_Image1->SizeX - 1);
WarpRectangle->Y2 = static_cast<float>(m_Image1->SizeY - 1);


ImageProcessing.WarpParameters.Rectangle.X2 Property

X2 property

Availability | MIL Equivalent | X1 | Y1
Not available in ActiveMIL-Lite

Available in ActiveMIL
MgenWarpParameter(InWarpParameter)
ImageProcessing
WarpParameters
Rectangle
X2
Synopsis
Returns or sets the X-coordinate of the rectangle's bottom-right corner.
[]
Syntax
object.X2 [= Single]
[]
Syntax
object->X2 [= float]
Type description
A float value that specifies the X-coordinate, with respect to the top-left corner of the image..
[]
Example
This example shows how to set the X2 property.

IWarpRectanglePtr WarpRectangle = m_ImageProcessing1->WarpParameters->Rectangle;
WarpRectangle->X1 = 0;
WarpRectangle->Y1 = 0;
WarpRectangle->X2 = static_cast<float>(m_Image1->SizeX - 1);
WarpRectangle->Y2 = static_cast<float>(m_Image1->SizeY - 1);


ImageProcessing.WarpParameters.Rectangle.Y1 Property

Y1 property

Availability | MIL Equivalent | X2 | Y2
Not available in ActiveMIL-Lite

Available in ActiveMIL
MgenWarpParameter(InWarpParameter)
ImageProcessing
WarpParameters
Rectangle
Y1
Synopsis
Returns or sets the Y-coordinate of the rectangle's top-left corner.
[]
Syntax
object.Y1 [= Single]
[]
Syntax
object->Y1 [= float]
Type description
A float value that specifies the Y-coordinate, with respect to the top-left corner of the image..
[]
Example
This example shows how to set the Y1 property.

IWarpRectanglePtr WarpRectangle = m_ImageProcessing1->WarpParameters->Rectangle;
WarpRectangle->X1 = 0;
WarpRectangle->Y1 = 0;
WarpRectangle->X2 = static_cast<float>(m_Image1->SizeX - 1);
WarpRectangle->Y2 = static_cast<float>(m_Image1->SizeY - 1);


ImageProcessing.WarpParameters.Rectangle.Y2 Property

Y2 property

Availability | MIL Equivalent | Y1
Not available in ActiveMIL-Lite

Available in ActiveMIL
MgenWarpParameter(InWarpParameter)
ImageProcessing
WarpParameters
Rectangle
Y2
Synopsis
Returns or sets the Y-coordinate of the rectangle's bottom-right corner.
[]
Syntax
object.Y2 [= Single]
[]
Syntax
object->Y2 [= float]
Type description
A float value that specifies the Y-coordinate, with respect to the top-left corner of the image.
[]
Example
This example shows how to set the Y2 property.

IWarpRectanglePtr WarpRectangle = m_ImageProcessing1->WarpParameters->Rectangle;
WarpRectangle->X1 = 0;
WarpRectangle->Y1 = 0;
WarpRectangle->X2 = static_cast<float>(m_Image1->SizeX - 1);
WarpRectangle->Y2 = static_cast<float>(m_Image1->SizeY - 1);


ImageProcessing.WarpParameters.WarpLUT Property

WarpLUT property

See Also | Availability | MIL Equivalent | Rectangle | GenerateLUT
User Guide:
Warping
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
WarpParameters
WarpLUT
Properties: DataDepth, DataX, DataY, MilID, NumberOfBands, NumberOfFractionalBits, SizeX, SizeY

Methods: Get, Load, Put, Save
Synopsis
Allows you to specify or determine the LUTs used to warp an image.
[]
Syntax
[WarpLUT =] object.WarpLUT
[]
Syntax
[IWarpLUTPtr =] object->WarpLUT
Type description
A WarpLUT object.
Remark
  • You cannot assign another WarpLUT object to this property.
[]
Example
This example shows how to use the WarpLUT property.

IWarpLUTPtr WarpLUT             = m_ImageProcessing1->WarpParameters->WarpLUT;
WarpLUT->NumberOfFractionalBits = 0;
WarpLUT->DataDepth              = 16;
WarpLUT->SizeX                  = m_Image1->SizeX;
WarpLUT->SizeY                  = m_Image1->SizeY;


ImageProcessing.WarpParameters.WarpLUT.DataDepth Property

DataDepth property

Availability | MIL Equivalent | DataX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc2d(
Type
Attribute =
M_LUT
)

MbufInquire(
InquireType =
M_SIZE_BIT
)
ImageProcessing
WarpParameters
WarpLUT
DataDepth
Synopsis
Returns or sets the depth of the warp LUTs.
[]
Syntax
object.DataDepth [= Integer]
[]
Syntax
object->DataDepth [= long]
Type description
A long value that specifies the depth. Possible values are 16 and 32.
Remark
  • This property cannot be set at run-time if the control is in the allocated state.
[]
Example
This example shows how to set the DataDepth property.

IWarpLUTPtr WarpLUT             = m_ImageProcessing1->WarpParameters->WarpLUT;
WarpLUT->NumberOfFractionalBits = 0;
WarpLUT->DataDepth              = 16;
WarpLUT->SizeX                  = m_Image1->SizeX;
WarpLUT->SizeY                  = m_Image1->SizeY;


ImageProcessing.WarpParameters.WarpLUT.DataX Property

DataX property

Availability | MIL Equivalent | DataDepth | DataY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
WarpParameters
WarpLUT
DataX
Synopsis
Returns or sets the value at the specified position of the X-warp LUT.
[]
Syntax
Get:
[Double=]object.DataX(
X As Integer,
Y As Integer
)

Set:
object.DataX(
X As Integer,
Y As Integer,
value_to_set as Double
)
[]
Syntax
object->DataX[long X][long Y] [= double]
X
A long value that specifies the X-coordinate of the position.
Y
A long value that specifies the Y-coordinate of the position.
Type description
A double value that specifies the value.
Remarks
  • The X-warp LUT determines the X-coordinate of the source point for the destination pixel (X, Y).
  • X has a lower bound of 0 and an upper bound of WarpLUT.SizeX- 1.
  • Y has a lower bound of 0 and an upper bound of WarpLUT.SizeY- 1.


ImageProcessing.WarpParameters.WarpLUT.DataY Property

DataY property

Availability | MIL Equivalent | DataX | MilID
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
WarpParameters
WarpLUT
DataY
Synopsis
Returns or sets the value at the specified position of the Y-warp LUT.
[]
Syntax
Get:
[Double=]object.DataY(
X As Integer,
Y As Integer
)

Set:
object.DataY(
X As Integer,
Y As Integer,
value_to_set as Double
)
[]
Syntax
object->DataY[long X][long Y] [= double]
X
A long value that specifies the X-coordinate of the position.
Y
A long value that specifies the Y-coordinate of the position.
Type description
A double value that specifies the value.
Remarks
  • The Y-warp LUT determines the Y-coordinate of the source point for the destination pixel (X, Y).
  • X has a lower bound of 0 and an upper bound of WarpLUT.SizeX- 1.
  • Y has a lower bound of 0 and an upper bound of WarpLUT.SizeY- 1.


ImageProcessing.WarpParameters.WarpLUT.MilID Property

MilID property

See Also | Availability | MIL Equivalent | DataY | NumberOfBands
User Guide:
Integrating MIL functions with your ActiveMIL code
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
WarpParameters
WarpLUT
MilID
Synopsis
Returns the Native MIL identifier of the X- or Y-warp LUT.
[]
Syntax
[Integer=]object.MilID(
WhichLUT As Integer
)
[]
Syntax
[long =] object->MilID[long WhichLUT]
WhichLUT
A long value that specifies whether to return the identifier of the X- or Y-warp LUT.
Value | Meaning
1 | Return the Native MIL identifier of the X-warp LUT.
2 | Return the Native MIL identifier of the Y-warp LUT.
Type description
A long value that specifies the object's Native MIL identifier.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • If the control's IsAllocated property is False, the MilID will be 0.


ImageProcessing.WarpParameters.WarpLUT.NumberOfBands Property

NumberOfBands property

Availability | MIL Equivalent | MilID | NumberOfFractionalBits
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufAllocColor(SizeBand)
ImageProcessing
WarpParameters
WarpLUT
NumberOfBands
Synopsis
Returns or sets the number of bands in the warp LUTs.
[]
Syntax
object.NumberOfBands [= Integer]
[]
Syntax
object->NumberOfBands [= long]
Type description
A long value between 1 and 3, inclusive, that specifies the number of bands.
Remark
  • This property cannot be set at run-time if the control is in the allocated state.


ImageProcessing.WarpParameters.WarpLUT.NumberOfFractionalBits Property

NumberOfFractionalBits property

Availability | MIL Equivalent | NumberOfBands | SizeX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimWarp(
MimWarp =
M_WARP_LUT +
M_FIXED_POINT
)
ImageProcessing
WarpParameters
WarpLUT
NumberOfFractionalBits
Synopsis
Returns or sets the number of fractional bits in the warp LUTs.
[]
Syntax
object.NumberOfFractionalBits [= Integer]
[]
Syntax
object->NumberOfFractionalBits [= long]
Type description
A long value that specifies the number of fractional bits.
Remarks
  • If this property is set to 0, it is assumed that there are no fractional bits (and therefore interpolation is not required).
  • The number of fractional bits determines the fixed point with respect to the WarpLUT object's DataDepth property.
[]
Example
This example shows how to set the NumberOfFractionalBits property.

IWarpLUTPtr WarpLUT             = m_ImageProcessing1->WarpParameters->WarpLUT;
WarpLUT->NumberOfFractionalBits = 0;
WarpLUT->DataDepth              = 16;
WarpLUT->SizeX                  = m_Image1->SizeX;
WarpLUT->SizeY                  = m_Image1->SizeY;


ImageProcessing.WarpParameters.WarpLUT.SizeX Property

SizeX property

Availability | MIL Equivalent | NumberOfFractionalBits | SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc2d(
SizeX
Attribute =
M_LUT
)

MbufInquire(
InquireType =
M_SIZE_X
)
ImageProcessing
WarpParameters
WarpLUT
SizeX
Synopsis
Returns or sets the width of the warp LUTs.
[]
Syntax
object.SizeX [= Integer]
[]
Syntax
object->SizeX [= long]
Type description
A long value that specifies the size, in pixels.
Remarks
  • The LUTs should have the same width and height as the destination image of the warping.
  • This property cannot be set at run-time if the control is in the allocated state.
[]
Example
This example shows how to set the SizeX property.

IWarpLUTPtr WarpLUT             = m_ImageProcessing1->WarpParameters->WarpLUT;
WarpLUT->NumberOfFractionalBits = 0;
WarpLUT->DataDepth              = 16;
WarpLUT->SizeX                  = m_Image1->SizeX;
WarpLUT->SizeY                  = m_Image1->SizeY;


ImageProcessing.WarpParameters.WarpLUT.SizeY Property

SizeY property

Availability | MIL Equivalent | SizeX | Get
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufAlloc2d(
SizeY
Attribute =
M_LUT
)

MbufInquire(
InquireType =
M_SIZE_Y
)
ImageProcessing
WarpParameters
WarpLUT
SizeY
Synopsis
Returns or sets the height of the warp LUTs.
[]
Syntax
object.SizeY [= Integer]
[]
Syntax
object->SizeY [= long]
Type description
A long value that specifies the height, in pixels.
Remarks
  • The LUTs should have the same width and height as the destination image of the warping.
  • This property cannot be set at run-time if the control is in the allocated state.
[]
Example
This example shows how to set the SizeY property.

IWarpLUTPtr WarpLUT             = m_ImageProcessing1->WarpParameters->WarpLUT;
WarpLUT->NumberOfFractionalBits = 0;
WarpLUT->DataDepth              = 16;
WarpLUT->SizeX                  = m_Image1->SizeX;
WarpLUT->SizeY                  = m_Image1->SizeY;


ImageProcessing.WarpParameters.WarpLUT.Get Method

Get method

Availability | MIL Equivalent | SizeY | Load
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufGet()
ImageProcessing
WarpParameters
WarpLUT
Get
Synopsis
Copies the data from the X- and Y-warp LUTs to user-supplied arrays.
[]
Syntax
object.Get(
ByVal UserArrayX As Array,
ByVal UserArrayY As Array,
ByVal Format As ImpFormatConstants,
ByVal Band As ImpBandConstants
)
[]
Syntax
void object->Get(
VARIANT * UserArrayX,
VARIANT * UserArrayY,
enum ImpFormatConstants Format,
enum ImpBandConstants Band
)
UserArrayX
An array in which to put the data from the X-warp LUT.

UserArrayY
An array in which to put the data from the Y-warp LUT.

Format (optional in , default is impPlanar)
An ImpFormatConstants expression that specifies the data format to use to save the data.
Value | Meaning
impPlanar | Copies the bands one after the other (for example, RRR...GGG...BBB...). This format is to be used when copying all color bands of the source buffer.
impSingleBand | Copies a single color band.
impRGB15Packed | Copies buffer bands in an interleaved manner and stores them consecutively (for example, RGB RGB RGB ...) into an RGB15 packed format. In this format, each pixel is internally stored as a 16-bit word with a 5-bit blue value (least significant), a 5-bit green value, a 5-bit red value, and a "don't care" bit (most significant), in little-endian order (RGB 5:5:5).
impRGB16Packed | Copies buffer bands in an interleaved manner and stores them consecutively (for example, RGB RGB RGB ...) into an RGB16 packed format. In this format, each pixel is internally stored as a 16-bit word with a 5-bit blue value (least significant), a 6-bit green value, and a 5-bit red value (most significant), in little-endian order (RGB 5:6:5).
impBRG24Packed | Copies buffer bands in an interleaved manner and stores them consecutively (for example, RGB RGB RGB ...) into a BGR24 packed format. In this format, each pixel is internally stored as three consecutive bytes in little-endian order (BGRBGR).
impBRG32Packed | Copies buffer bands in an interleaved manner and stores them consecutively (for example, RGB RGB RGB ...) into a BGR32 packed format. In this format, each pixel is internally stored as four consecutive bytes, in little-endian order (BGRXBGRX). The most-significant byte is a "don't care" byte.
Band (optional in , default is impAllBands)
An ImpBandConstants expression that specifies the color band to copy.
Value | Meaning
impAllBands | Specifies all color bands.
impRed | Specifies the red color band (for RGB buffers).
impGreen | Specifies the green color band (for RGB buffers).
impBlue | Specifies the blue color band (for RGB buffers).
Remarks
  • If the user array is not of the same data type and depth as the LUT, the data from the LUT is converted to the format specified using the Format parameter before being saved in the user array.
  • Ensure that the user array is large enough to accommodate the data from the LUT.
[]
Example
Shows how to get the WarpParameters LUT in an user array.

ImageProcessing1.WarpParameters.GenerateLUT()
MsgBox(ImageProcessing1.WarpParameters.WarpLUT.DataX(13, 12))

Dim ArrayOfDataX(ImageProcessing1.WarpParameters.WarpLUT.SizeX, _
          ImageProcessing1.WarpParameters.WarpLUT.SizeY) As Double
Dim ArrayOfDataY(ImageProcessing1.WarpParameters.WarpLUT.SizeX, _
          ImageProcessing1.WarpParameters.WarpLUT.SizeY) As Double

 ImageProcessing1.WarpParameters.WarpLUT.Get(ArrayOfDataX, ArrayOfDataY)


ImageProcessing.WarpParameters.WarpLUT.Load Method

Load method

Availability | MIL Equivalent | Get | Put
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufLoad()

MbufImport()
ImageProcessing
WarpParameters
WarpLUT
Load
Synopsis
Loads the data for the X- and Y-warp LUTs from a file, and initializes the other properties of the WarpParameters.WarpLUT property accordingly.
[]
Syntax
object.Load(
ByVal DataXFileName As String,
ByVal DataYFileName As String
)
[]
Syntax
void object->Load(
_bstr_t DataXFileName,
_bstr_t DataYFileName
)
DataXFileName
A string expression that specifies the name and path of the file from which to load the X-warp LUT.
DataYFileName
A string expression that specifies the name and path of the file from which to load the Y-warp LUT.
Remarks
  • The files must be in a MIL LUT file format.
  • If you pass the DataXFileName and/or the DataYFileName parameters an empty string (""), the File Open dialog box is presented so that you can interactively select the file names.
  • This method will generate an error if either file cannot be found or loaded properly.
  • This method handles the opening and closing of the files.
  • The data for the X- and Y-warp LUTs must have the same depth (either signed 16- or 32-bit integer), and number of fractional bits.
  • The data for each LUT must have the same X-size, Y-size, and number of bands as the destination image.


ImageProcessing.WarpParameters.WarpLUT.Put Method

Put method

Availability | MIL Equivalent | Load | Save
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufPut()
ImageProcessing
WarpParameters
WarpLUT
Put
Synopsis
Copies the data from user-supplied arrays to the X- and Y-warp LUTs.
[]
Syntax
object.Put(
ByVal UserArrayX As Array,
ByVal UserArrayY As Array
)
[]
Syntax
void object->Put(
const _variant_t & UserArrayX,
const _variant_t & UserArrayY
)
UserArrayX
An array that contains the data to copy to the X-warp LUT.

UserArrayY
An array that contains the data to copy to the Y-warp LUT.

Remarks
  • It is assumed that the user arrays are of the same data type and depth as the LUTs.
  • Ensure that the LUTs are large enough to accommodate the data from the user arrays.
[]
Example
This example shows how to create and fill a safe array to be used with the Put method.

// Size of the storage array
long SizeX = m_Image1->SizeX;
long SizeY = m_Image1->SizeY;
DWORD numElements[] = { SizeX, SizeY };

COleSafeArray m_LUTX;
COleSafeArray m_LUTY;

// You need arrays of 16 bits values,
// so create two-dimensional arrays of type VT_I2.
m_LUTX.Create(VT_I2, 2, numElements);
m_LUTY.Create(VT_I2, 2, numElements);

//
// Enter data into the LUTs
//
long index[2];
for (j=0; j<m_ImageHeigth; j++)
   {
   for (i=0; i<m_ImageWidth; i++)
      {
      index[0] = i;
      index[1] = j;

      m_LUTX.PutElement(index, &i) ;
      m_LUTY.PutElement(index, &j) ;
      }
   }

// Always attach a COleSafeArray to a _variant_t before calling
// ActiveMIL's Put methods.
// The attach process invalidates the original COleSafeArray object
// by setting its variant type to VT_EMPTY.
_variant_t LUTXArrayVariant;
_variant_t LUTYArrayVariant;
LUTXArrayVariant.Attach(m_LUTX);
LUTYArrayVariant.Attach(m_LUTY);

m_ImageProcessing1->WarpParameters->WarpLUT->Put(LUTXArrayVariant,
                                                 LUTYArrayVariant);

// Optionally, detach the _variant_t into the original COleSafeArray.
// If you do, COleSafeArray will delete the SAFEARRAY at its destruction.
// If you don't, _variant_t will delete it at its destruction.
// In either case, the memory will be released at the appropriate time.
m_LUTX.Attach(LUTXArrayVariant.Detach());
m_LUTY.Attach(LUTYArrayVariant.Detach());


ImageProcessing.WarpParameters.WarpLUT.Save Method

Save method

Availability | MIL Equivalent | Put
Not available in ActiveMIL-Lite

Available in ActiveMIL
MbufSave()
ImageProcessing
WarpParameters
WarpLUT
Save
Synopsis
Saves the X- and Y-warp LUTs in separate files.
[]
Syntax
object.Save(
ByVal DataXFileName As String,
ByVal DataYFileName As String
)
[]
Syntax
void object->Save(
_bstr_t DataXFileName,
_bstr_t DataYFileName
)
DataXFileName
A string expression that specifies the name and path of the file in which to save the X-warp LUT.
DataYFileName
A string expression that specifies the name and path of the file in which to save the Y-warp LUT.
Remarks
  • The data is saved in the files using the MIL LUT file format.
  • This method saves all the current property settings of the LUTs to disk. The LUTs and their properties can later be restored, using the WarpParameters.WarpLUT.Load method.
  • If you pass the DataXFileName and/or the DataYFileName parameters an empty string (""), the File Open dialog box is presented so that you can interactively select the file names.
  • This method will generate an error if either file cannot be found or loaded properly.
  • This method handles the opening and closing of the files.


ImageProcessing.WarpParameters.GenerateLUT Method

GenerateLUT method

See Also | Availability | MIL Equivalent | WarpLUT | MapQuadrilateralToRectangle
User Guide:
Warping
Not available in ActiveMIL-Lite

Available in ActiveMIL
MgenWarpParameter(
OperationMode =
M_WARP_LUT
)
ImageProcessing
WarpParameters
GenerateLUT
Synopsis
Generates the LUT entries for a 3x3 matrix-defined warping.
[]
Syntax
object.GenerateLUT()
[]
Syntax
void object->GenerateLUT()
Remark
  • The entries are generated from the 3x3 coefficients specified by the Coefficients (X, Y) property. The WarpLUT property specifies the LUTs in which to store the X- and Y-entries, respectively.
[]
Example
This example shows how to use the GenerateLUT method.

// Generate coefficients for the mapping, and generate the warp LUT
m_ImageProcessing1->WarpParameters->MapQuadrilateralToRectangle();
m_ImageProcessing1->WarpParameters->GenerateLUT();


ImageProcessing.WarpParameters.MapQuadrilateralToRectangle Method

MapQuadrilateralToRectangle method

See Also | Availability | MIL Equivalent | GenerateLUT | MapRectangleToQuadrilateral
User Guide:
Warping
Not available in ActiveMIL-Lite

Available in ActiveMIL
MgenWarpParameter(
OperationMode =
M_WARP_4_CORNER
)
ImageProcessing
WarpParameters
MapQuadrilateralToRectangle
Synopsis
Generates coefficients for a perspective warping that maps a quadrilateral onto a rectangle.
[]
Syntax
object.MapQuadrilateralToRectangle()
[]
Syntax
void object->MapQuadrilateralToRectangle()
Remarks
  • The Quadrilateral and Rectangle properties specify the coordinates of the quadrilateral and rectangle, respectively.
  • This method updates the matrix of warping coefficients specified by the WarpParameters.Coefficients (X, Y) property.
  • The Warp method uses these coefficients to peform perspective warpings that map a quadrilateral onto a rectangle.
[]
Example
This example shows how to use the MapQuadrilateralToRectangle method.

// Generate coefficients for the mapping, and generate the warp LUT
m_ImageProcessing1->WarpParameters->MapQuadrilateralToRectangle();
m_ImageProcessing1->WarpParameters->GenerateLUT();


ImageProcessing.WarpParameters.MapRectangleToQuadrilateral Method

MapRectangleToQuadrilateral method

See Also | Availability | MIL Equivalent | MapQuadrilateralToRectangle | ResetCoefficients
User Guide:
Warping
Not available in ActiveMIL-Lite

Available in ActiveMIL
MgenWarpParameter(
OperationMode =
M_WARP_4_CORNER_REVERSE
)
ImageProcessing
WarpParameters
MapRectangleToQuadrilateral
Synopsis
Generates coefficients for a perspective warping that maps a rectangle onto a quadrilateral.
[]
Syntax
object.MapRectangleToQuadrilateral()
[]
Syntax
void object->MapRectangleToQuadrilateral()
Remarks
  • The Quadrilateral and Rectangle properties specify the coordinates of the quadrilateral and rectangle, respectively.
  • This method updates the matrix of warping coefficients specified by the WarpParameters.Coefficients (X, Y) property.
  • The Warp method uses these coefficients to peform perspective warpings that map a rectangle onto a quadrilateral.


ImageProcessing.WarpParameters.ResetCoefficients Method

ResetCoefficients method

Availability | MIL Equivalent | MapRectangleToQuadrilateral | RotateCoefficients
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
WarpParameters
ResetCoefficients
Synopsis
Resets the matrix of warping coefficients.
[]
Syntax
object.ResetCoefficients()
[]
Syntax
void object->ResetCoefficients()
Remarks
  • The coefficients are specified by the Coefficients (X, Y) property.
  • The matrix is reset to the identity matrix:
    1 | 0 | 0
    0 | 1 | 0
    0 | 0 | 1


ImageProcessing.WarpParameters.RotateCoefficients Method

RotateCoefficients method

Availability | MIL Equivalent | ResetCoefficients | ScaleCoefficients
Not available in ActiveMIL-Lite

Available in ActiveMIL
MgenWarpParameter(
Transform =
M_ROTATE
)
ImageProcessing
WarpParameters
RotateCoefficients
Synopsis
Generates warp coefficients for a counter-clockwise rotation.
[]
Syntax
object.RotateCoefficients(
ByVal Angle As Double
)
[]
Syntax
void object->RotateCoefficients(
double Angle
)
Angle
A double value that specifies the angle of rotation, in degrees.
Remark
  • This method updates the matrix of warping coefficients specified by the Coefficients (X, Y) property.


ImageProcessing.WarpParameters.ScaleCoefficients Method

ScaleCoefficients method

Availability | MIL Equivalent | RotateCoefficients | ShearCoefficients
Not available in ActiveMIL-Lite

Available in ActiveMIL
MgenWarpParameter(
Transform =
M_SCALE
)
ImageProcessing
WarpParameters
ScaleCoefficients
Synopsis
Generates warp coefficients for a scaling.
[]
Syntax
object.ScaleCoefficients(
ByVal ScaleFactorX As Double,
ByVal ScaleFactorY As Double
)
[]
Syntax
void object->ScaleCoefficients(
double ScaleFactorX,
double ScaleFactorY
)
ScaleFactorX
A double value that specifies the scaling factor in the X-direction.
ScaleFactorY
A double value that specifies the scaling factor in the Y-direction.
Remark
  • This method updates the matrix of warping coefficients specified by the Coefficients (X, Y) property.


ImageProcessing.WarpParameters.ShearCoefficients Method

ShearCoefficients method

Availability | MIL Equivalent | ScaleCoefficients | TranslateCoefficients
Not available in ActiveMIL-Lite

Available in ActiveMIL
MgenWarpParameter(
Transform =
M_SHEAR_Y
)
ImageProcessing
WarpParameters
ShearCoefficients
Synopsis
Generates warp coefficients for a shearing.
[]
Syntax
object.ShearCoefficients(
ByVal ShearingFactorX As Double,
ByVal ShearingFactorY As Double
)
[]
Syntax
void object->ShearCoefficients(
double ShearingFactorX,
double ShearingFactorY
)
ShearingFactorX
A double value that specifies the shearing factor in the X-direction.
ShearingFactorY
A double value that specifies the shearing factor in the Y-direction.
Remark
  • This method updates the matrix of warping coefficients specified by the Coefficients (X, Y) property.


ImageProcessing.WarpParameters.TranslateCoefficients Method

TranslateCoefficients method

Availability | MIL Equivalent | ShearCoefficients
Not available in ActiveMIL-Lite

Available in ActiveMIL
MgenWarpParameter(
Transform =
M_TRANSLATE
)
ImageProcessing
WarpParameters
TranslateCoefficients
Synopsis
Generates warp coefficients for a translation.
[]
Syntax
object.TranslateCoefficients(
ByVal DisplacementX As Double,
ByVal DisplacementY As Double
)
[]
Syntax
void object->TranslateCoefficients(
double DisplacementX,
double DisplacementY
)
DisplacementX
A double value that specifies the number of pixels in the X-direction by which to translate.
DisplacementY
A double value that specifies the number of pixels in the Y-direction by which to translate.
Remark
  • This method updates the matrix of warping coefficients specified by the Coefficients (X, Y) property.


ImageProcessing.AbsoluteValue Method

AbsoluteValue method

See Also | Availability | MIL Equivalent | WarpParameters | Add
Reference:
ImageProcessing.And
ImageProcessing.Binarize
ImageProcessing.Clip
ImageProcessing.Destination1
ImageProcessing.Divide
ImageProcessing.LUTMap
ImageProcessing.Maximum
ImageProcessing.Minimum
ImageProcessing.Multiply
ImageProcessing.MultiplyAndAccumulate1
ImageProcessing.MultiplyAndAccumulate2
ImageProcessing.Nand
ImageProcessing.Negate
ImageProcessing.Nor
ImageProcessing.Not
ImageProcessing.OffsetGain
ImageProcessing.Or
ImageProcessing.Shift
ImageProcessing.Source1
ImageProcessing.WeightedAverage
ImageProcessing.Xnor
ImageProcessing.Xor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimArith(
Operation =
M_ABS
)
ImageProcessing
AbsoluteValue
Synopsis
Performs a point-to-point absolute value operation on an image.
[]
Syntax
object.AbsoluteValue()
[]
Syntax
void object->AbsoluteValue()
Remarks
  • This method performs the following operation: Destination1 = | Source1 |
  • This method is optimized for packed binary images.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to use the AbsoluteValue method.

ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Destination1 = DisplayedImage
ImageProcessing1.AbsoluteValue()
[]
Example
This example shows how to use the AbsoluteValue method.

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->AbsoluteValue();


ImageProcessing.Add Method

Add method

See Also | Availability | MIL Equivalent | AbsoluteValue | Allocate
Reference:
ImageProcessing.AbsoluteValue
ImageProcessing.And
ImageProcessing.Binarize
ImageProcessing.Clip
ImageProcessing.Destination1
ImageProcessing.Divide
ImageProcessing.LUTMap
ImageProcessing.Maximum
ImageProcessing.Minimum
ImageProcessing.Multiply
ImageProcessing.MultiplyAndAccumulate1
ImageProcessing.MultiplyAndAccumulate2
ImageProcessing.Nand
ImageProcessing.Negate
ImageProcessing.Nor
ImageProcessing.Not
ImageProcessing.OffsetGain
ImageProcessing.Or
ImageProcessing.Shift
ImageProcessing.Source1
ImageProcessing.Source2
ImageProcessing.WeightedAverage
ImageProcessing.Xnor
ImageProcessing.Xor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimArith(
Operation =
M_ADD or
M_ADD_CONST
)
ImageProcessing
Add
Synopsis
Performs a point-to-point addition operation using two source images.
[]
Syntax
object.Add(
ByVal Saturation As Boolean
)
[]
Syntax
void object->Add(
VARIANT_BOOL Saturation
)
Saturation (optional in , default is False)
A boolean value that specifies whether saturation is performed.
Value | Meaning
True | Saturation is performed, meaning that pixel values will be clipped at the maximum value for the image.
False | Saturation is not performed, meaning that pixel values will wrap around from the maximum value to the minimum value for the image.
Remarks
  • This method performs the following operation: Destination1 = Source1 + Source2
  • Note that one of the source images can be set to a constant; this constant is added to the pixel values of the other source image.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to use the Add method.

ImageProcessing1.Source1 = Image1
ImageProcessing1.Source2 = Image2
ImageProcessing1.Destination1 = AddedImage
ImageProcessing1.Add()
[]
Example
This example shows how to use the Add method.

m_ImageProcessing1->Source1 = m_Image1;
m_ImageProcessing1->Source2 = m_Image2;
m_ImageProcessing1->Destination1 = m_AddImage;
m_ImageProcessing1->Add(FALSE);


ImageProcessing.Allocate Method

Allocate method

See Also | Availability | MIL Equivalent | Add | And
User Guide:
Setting up controls

Reference:
ImageProcessing.AutomaticAllocation
ImageProcessing.Free
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimAllocResult()
ImageProcessing
Allocate
Synopsis
Allocates the resources of the ImageProcessing control.
[]
Syntax
object.Allocate()
[]
Syntax
void object->Allocate()
Remarks
  • By default, the control's AutomaticAllocation property is set to True, and therefore allocation is done automatically.
  • To preserve resources and delay allocation until necessary, set the AutomaticAllocation property to False and call the Allocate method only when the control is actually needed.
  • To create a new ImageProcessing control at run-time, use the CreateObject method of the Application control.
  • If you call the Allocate method while the control is in the allocated state, an error is generated. To determine the allocation state of a control, use the IsAllocated property.
  • The following properties cannot be changed at run-time while the control is in the allocated state (free the control using the Free method):
    • OwnerSystem
    • OwnerSystemName
    • ResultDataType
    • ResultType
    • ResultSize
    • Kernels.Item.DataDepth
    • Kernels.Item.DataType
    • Kernels.Item.SizeX
    • Kernels.Item.SizeY
    • LUTs.Item.DataDepth
    • LUTs.Item.DataType
    • LUTs.Item.NumberOfBands
    • LUTs.Item.Size
    • StructuringElements.Item.DataType
    • StructuringElements.Item.SizeX
    • StructuringElements.Item.SizeY
    • WarpParameters.WarpLUT.DataDepth
    • WarpParameters.WarpLUT.NumberOfBands
    • WarpParameters.WarpLUT.SizeX
    • WarpParameters.WarpLUT.SizeY
  • If you try to allocate an ImageProcessing control before its owner system is allocated, an error is generated.
[]
Example
This example demonstrates how to allocate multiple controls with a single call to the Allocate method.

ImageProcessing1.AutomaticAllocation = True
ImageProcessing1.OwnerSystem = System1

' This call will also allocate ImageProcessing1 since
' its OwnerSystem property is System1 and
' its AutomaticAllocation property is set to True
System1.Allocate()
[]
Example
This example demonstrates how to allocate multiple controls with a single call to the Allocate method.

m_ImageProcessing1->AutomaticAllocation = TRUE;
m_ImageProcessing1->OwnerSystem = m_System1;

// This call will also allocate m_ImageProcessing1 since
// its OwnerSystem property is m_System1 and
// its AutomaticAllocation property is set to TRUE
m_System1->Allocate();


ImageProcessing.And Method

And method

See Also | Availability | MIL Equivalent | Allocate | Binarize
Reference:
ImageProcessing.AbsoluteValue
ImageProcessing.Binarize
ImageProcessing.Clip
ImageProcessing.Destination1
ImageProcessing.Divide
ImageProcessing.LUTMap
ImageProcessing.Maximum
ImageProcessing.Minimum
ImageProcessing.Multiply
ImageProcessing.MultiplyAndAccumulate1
ImageProcessing.MultiplyAndAccumulate2
ImageProcessing.Nand
ImageProcessing.Negate
ImageProcessing.Nor
ImageProcessing.Not
ImageProcessing.OffsetGain
ImageProcessing.Or
ImageProcessing.Shift
ImageProcessing.Source1
ImageProcessing.Source2
ImageProcessing.WeightedAverage
ImageProcessing.Xnor
ImageProcessing.Xor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimArith(
Operation =
M_AND or
M_AND_CONST
)
ImageProcessing
And
Synopsis
Performs a point-to-point bitwise AND operation using two source images.
[]
Syntax
object.And()
[]
Syntax
void object->And()
Remarks
  • This method performs the following operation: Destination1 = Source1 AND Source2.
  • Note that either the Source1 or the Source2 property can be a constant but not both.
  • This method is optimized for packed binary images.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to And two images, using the And method.

// AND the watershed image with the binarized image
// to separate the touching pills.
m_ImageProcessing1->Source1 = m_Image1;
m_ImageProcessing1->Source2 = m_Image2;
m_ImageProcessing1->Destination1 = m_AndImage;
m_ImageProcessing1->And();


ImageProcessing.Binarize Method

Binarize method

See Also | Availability | MIL Equivalent | And | CalculateStats
User Guide:
Thresholding your image

Reference:
ImageProcessing.AbsoluteValue
ImageProcessing.And
ImageProcessing.Clip
ImageProcessing.Destination1
ImageProcessing.Divide
ImageProcessing.LUTMap
ImageProcessing.Maximum
ImageProcessing.Minimum
ImageProcessing.Multiply
ImageProcessing.MultiplyAndAccumulate1
ImageProcessing.MultiplyAndAccumulate2
ImageProcessing.Nand
ImageProcessing.Negate
ImageProcessing.Nor
ImageProcessing.Not
ImageProcessing.OffsetGain
ImageProcessing.Or
ImageProcessing.Shift
ImageProcessing.Source1
ImageProcessing.Source2
ImageProcessing.WeightedAverage
ImageProcessing.Xnor
ImageProcessing.Xor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimBinarize()
ImageProcessing
Binarize
Synopsis
Performs a point-to-point binary thresholding operation on an image.
[]
Syntax
object.Binarize(
ByVal Condition As ImpConditionConstants,
ByVal LowValue As Double,
ByVal HighValue As Double
)
[]
Syntax
void object->Binarize(
enum ImpConditionConstants Condition,
double LowValue,
double HighValue
)
Condition
An ImpConditionConstants expression that specifies the thresholding condition.
Value | Meaning
impOutOfRange | Pixels with values less than LowValue, or greater than HighValue, are set to the highest image value possible, while other pixels are set to zero (0).
impInRange | Pixels with values from LowValue to HighValue, inclusive, are set to the highest image value possible, while other pixels are set to zero (0).
impEqualTo | Replaces pixel values equal to LowValue with the highest image value possible, while other pixels are set to zero.
impNotEqualTo | Replaces pixel values not equal to LowValue with the highest image value possible, while other pixels are set to zero.
impGreaterThan | Replaces pixel values greater than LowValue with the highest image value possible, while other pixels are set to zero.
impGreaterOrEqualTo | Replaces pixel values greater than or equal to LowValue with the highest image value possible, while other pixels are set to zero.
impLessThan | Replaces pixel values less than LowValue with the highest image value possible, while other pixels are set to zero.
impLessOrEqualTo | Replaces pixel values less than or equal to LowValue with the highest image value possible, while other pixels are set to zero.
LowValue (optional in , default is amilDefault)
A double value or an ActiveMILDefaultConstants expression that specifies the lower limit of the specified condition.
Value | Meaning
amilDefault | Automatically determine this threshold value from the source image's histogram. Specifically, if the histogram contains only two peaks, the threshold value is set to the minimum value between these peaks. If the histogram contains more than two peaks, then the threshold value will typically be set between the two principal peaks, though exceptions exist for pure black and full saturation (0,255).
value | A double value that specifies the lower limit of the specified condition.
HighValue (optional in , default is 0.0)
A double value or an ActiveMILDefaultConstants expression that specifies the upper limit of the specified condition.
Value | Meaning
amilDefault | Automatically determine this threshold value from the source image's histogram. Specifically, if the histogram contains only two peaks, the threshold value is set to the minimum value between these peaks. If the histogram contains more than two peaks, then the threshold value will typically be set between the two principal peaks, though exceptions exist for pure black and full saturation (0,255).
value | A double value that specifies the lower limit of the specified condition.
Remarks
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • Each pixel that meets the specified condition is set to the highest unsigned destination image value, while other pixels are set to 0. If a floating-point destination image is specified, pixels that meet the condition are set to 1. For example, the highest image value for an 8-bit image is 255, regardless if the source image is signed.
  • If a condition uses two threshold values, only one threshold value can be automatically calculated.
  • impOutOfRange and impInRange conditions use two limits, LowValue and HighValue. Other conditions use one limit, LowValue.
  • []
     When using a condition with one threshold value, you should set the LowValue parameter to the required limit and omit the HighValue parameter.
  • []
     When using a condition with one threshold value, you should set the LowValue parameter to the required limit and set the HighValue parameter to amilDefault.
  • If the automatically calculated threshold value causes HighValue to be less than LowValue, then the calculated value is not used, and both HighValue and LowValue are set to the same value. If the HighValue and LowValue parameters are both set to amilDefault, they will have the same automatically calculated threshold value.
  • The values of LowValue and HighValue are cast to the source image's data type and depth.
  • Note that if the source image is binary, LowValue and HighValue must be equal to 1 or 0.
  • After automatically calculating a threshold value, the Binarize method stores the value as type longintegerlong (integer for Visual Basic .Net), in the first element of the collection of image processing results. To accelerate the automatic calculation of threshold values, set the ResultSize property to 1, and the ResultType property to impSingleValue, before calling this method.
  • If you want the Binarize method to simply calculate the source image's threshold, without binarizing the source image, remove the image reference of the Destination1 property, and set the LowValue or HighValue parameters to amilDefault.
  • This method is optimized for packed binary images.
  • In-place processing is supported (source equals destination); this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to use the Binarize method.

const long IMAGE_THRESHOLD_VALUE = 128;

// Binarize the image so that particles are represented
// in white and the background in black.
m_ImageProcessing1->Source1 = m_Image1;
m_ImageProcessing1->Destination1 = m_Image1;
m_ImageProcessing1->Binarize(impLessOrEqualTo, IMAGE_THRESHOLD_VALUE, 0);


ImageProcessing.CalculateStats Method

CalculateStats method

Availability | MIL Equivalent | Binarize | Clip
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimStat()
ImageProcessing
CalculateStats
Synopsis
Calculates a variety of statistics on an image.
[]
Syntax
object.CalculateStats(
ByVal StatType As ImpStatTypeConstants,
ByVal Condition As ImpConditionConstants,
ByVal LowValue As Double,
ByVal HighValue As Double
)
[]
Syntax
void object->CalculateStats(
enum ImpStatTypeConstants StatType,
enum ImpConditionConstants Condition,
double LowValue,
double HighValue
)
StatType
A ImpStatTypeConstants expression that specifies the type of statistics to compute.
Value | Meaning
impNumberOfPixels | Calculates the number of pixels that meet the specified condition.
impMinimum | Calculates the minimum pixel value that meets the specified condition.
impMaximum | Calculates the maximum pixel value that meets the specified condition.
impMinimumAbsolute | Calculates the minimum absolute pixel value that meets the specified condition.
impMaximumAbsolute | Calculates the maximum absolute pixel value that meets the specified condition.
impMean | Calculates the mean value of the pixels that meet the specified condition.
impStandardDeviation | Calculates the standard deviation value of the pixels that meet the specifed condition.
impSum | Calculates the sum of the pixel values that meet the specified condition.
impSumAbsolute | Calculates the sum of the absolute pixel values that meet the specified condition.
impSumOfSquares | Calculates the sum of the squared pixel values that meet the specified condition.

To compute all the different statistics listed above, set StatType to the following ImpStatTypeConstants expression:
Value | Meaning
impAllStats | Calculates all statistics.
Condition
A ImpConditionConstants expression that specifies the condition for the statistical computation.
Value | Meaning
impOutOfRange | Pixels with values less than LowValue and those greater than HighValue will be used for statistical calculations.
impInRange | Pixels with values in the range of LowValue and HighValue, inclusive, will be used for statistical calculations.
impEqualTo | Pixels with values equal to LowValue will be used for statistical calculations.
impNotEqualTo | Pixels with values not equal to LowValue will be used for statistical calculations.
impGreaterThan | Pixels with values greater than LowValue will be used for statistical calculations.
impLessThan | Pixels with values less than LowValue will be used for statistical calculations.
impGreaterOrEqual | Pixels with values greater than or equal to LowValue will be used for statistical calculations.
impLessOrEqualTo | Pixels with values less than or equal to LowValue will be used for statistical calculations.
impMask | Pixels with values corresponding to the non-zero pixels in the mask image will be used for statistical calculations.
impNoCondition | All pixels will be used for statistical calculations.
LowValue
A double value that specifies the lower limit of the selected condition.
HighValue
A double value that specifies the upper limit of the selected condition.
Remarks
  • The operation is performed on the image specified by the Source1 property. The source image must be 1-band image.
  • If you set the Condition parameter to impMask, you must specify the mask image using the Source2 property. The mask image must be of the same size as the source image and must be a 1-band image.
  • The results of the CalculateStats method are stored in the properties of the Results.Stats property.


ImageProcessing.Clip Method

Clip method

See Also | Availability | MIL Equivalent | CalculateStats | Close
User Guide:
Clipping

Reference:
ImageProcessing.AbsoluteValue
ImageProcessing.And
ImageProcessing.Binarize
ImageProcessing.Destination1
ImageProcessing.Divide
ImageProcessing.LUTMap
ImageProcessing.Maximum
ImageProcessing.Minimum
ImageProcessing.Multiply
ImageProcessing.MultiplyAndAccumulate1
ImageProcessing.MultiplyAndAccumulate2
ImageProcessing.Nand
ImageProcessing.Negate
ImageProcessing.Nor
ImageProcessing.Not
ImageProcessing.OffsetGain
ImageProcessing.Or
ImageProcessing.Shift
ImageProcessing.Source1
ImageProcessing.Source2
ImageProcessing.WeightedAverage
ImageProcessing.Xnor
ImageProcessing.Xor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimClip()
ImageProcessing
Clip
Synopsis
Performs a point-to-point clipping operation on an image.
[]
Syntax
object.Clip(
ByVal Condition As ImpConditionConstants,
ByVal LowValue As Double,
ByVal HighValue As Double,
ByVal LowReplaceValue As Double,
ByVal HighReplaceValue As Double
)
[]
Syntax
void object->Clip(
enum ImpConditionConstants Condition,
double LowValue,
double HighValue,
double LowReplaceValue,
double HighReplaceValue
)
Condition
An ImpConditionConstants expression that specifies the low and high clipping conditions.
Value | Meaning
impOutOfRange | Replace pixel values less than LowValue with LowReplaceValue and those greater than HighValue with HighReplaceValue.
impInRange | Replace pixel values in the range of LowValue and HighValue, inclusive, with LowReplaceValue.
impEqualTo | Replace pixel values equal to LowValue with LowReplaceValue.
impNotEqualTo | Replace pixel values not equal to LowValue with LowReplaceValue.
impGreaterThan | Replace pixel values greater than LowValue with LowReplaceValue.
impLessThan | Replace pixel values less than LowValue with LowReplaceValue.
impGreaterOrEqualTo | Replace pixel values greater than or equal to LowValue with LowReplaceValue.
impLessOrEqualTo | Replace pixel values less than or equal to LowValue with LowReplaceValue.
LowValue
A double value that specifies the lower limit of the clipping condition.
HighValue
A double value that specifies the upper limit of the clipping condition.
LowReplaceValue
A double value that replaces each pixel that satisfies the low clipping condition.
HighReplaceValue (optional in , default is 0.0)
A double value that replaces each pixel that satisfies the high clipping condition.
Remarks
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • If the source or destination image is binary, the LowValue and HighValue parameters must be equal to 0 or 1, respectively. Similarly, if the source or destination image is binary, the LowReplaceValue and HighReplaceValue parameters must be equal to 0 or 1, respectively.
  • When using a condition with one clipping point, you should set the LowValue parameter to the required limit and omit the HighValue parameter.
  • Pixels that do not satisfy the selected condition are not affected.
  • Note that this method is optimized for packed binary images.
  • In-place processing is supported (source equals destination); this is accomplished by either setting the destination and the source image properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to use the Clip method.

ImageProcessing1.Source1 = Image1
ImageProcessing1.Destination1 = ResultImage
ImageProcessing1.Clip(impOutOfRange, 100, 200, 0, 255)
[]
Example
This example shows how to use the Clip method.

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->Clip(impOutOfRange, 100, 200, 0, 255);


ImageProcessing.Close Method

Close method

See Also | Availability | MIL Equivalent | Clip | ConnectMap
User Guide:
Binary and grayscale dilation
Opening and closing

Reference:
ImageProcessing.ConnectMap
ImageProcessing.Destination1
ImageProcessing.Dilate
ImageProcessing.Distance
ImageProcessing.Erode
ImageProcessing.HitOrMiss
ImageProcessing.Label
ImageProcessing.Match
ImageProcessing.Open
ImageProcessing.Source1
ImageProcessing.Thick
ImageProcessing.Thin
ImageProcessing.Watershed
ImageProcessing.ZoneOfInfluence
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimClose()
ImageProcessing
Close
Synopsis
Performs a morphological closing operation on an image.
[]
Syntax
object.Close(
ByVal NumberOfIterations As Integer,
ByVal ProcessingMode As ImpProcessingModeConstants
)
[]
Syntax
void object->Close(
long NumberOfIterations,
enum ImpProcessingModeConstants ProcessingMode
)
NumberOfIterations (optional in , default is 1)
A long value that specifies the number of times to perform the operation.
ProcessingMode (optional in , default is impGrayscale)
An ImpProcessingModeConstants expression that specifies the processing mode to use.
Value | Meaning
impGrayscale | The source image's gray values are used for processing.
impBinary | Non-zero pixels will be treated as ones (1) during processing and the resulting non-zero pixels have all bits set to one.
Remarks
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • In binary mode, this method uses a 3x3 full rectangular structuring element; in grayscale mode, it uses a 3x3 empty one.
  • Note that this method is optimized for packed binary images.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example removes small particles and small holes from an image.

// Remove small particles and then remove small holes.
const long MIN_BLOB_RADIUS = 3;

m_ImageProcessing1->Source1 = m_Image1;
m_ImageProcessing1->Destination1 = m_Image1;
m_ImageProcessing1->Open(MIN_BLOB_RADIUS, impBinary);
m_ImageProcessing1->Close(MIN_BLOB_RADIUS, impBinary);


ImageProcessing.ConnectMap Method

ConnectMap method

See Also | Availability | MIL Equivalent | Close | Convert
User Guide:
Connectivity mapping

Reference:
ImageProcessing.Close
ImageProcessing.Destination1
ImageProcessing.Dilate
ImageProcessing.Distance
ImageProcessing.Erode
ImageProcessing.HitOrMiss
ImageProcessing.Label
ImageProcessing.Match
ImageProcessing.Open
ImageProcessing.Source1
ImageProcessing.Thick
ImageProcessing.Thin
ImageProcessing.Watershed
ImageProcessing.ZoneOfInfluence
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimConnectMap()
ImageProcessing
ConnectMap
Synopsis
Performs a 3x3 binary connectivity mapping operation on an image.
[]
Syntax
object.ConnectMap(
ByVal Index As Integer
)
[]
Syntax
void object->ConnectMap(
long Index
)
Index (optional in , default is 1)
A long value that specifies an index into the collection of image processing LUTs, identifying the LUT to use. The first element in the collection has an index of 1.
Remarks
  • The pixel connectivity code is determined in the following order: where n is either 0 or 1.

    Connectivity code =

  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property. Note that the source image must be binary.
  • The connectivity code for each pixel in the binary source image is calculated and mapped through the specified LUT.
  • The LUTs property specifies the collection of LUTs available to the ImageProcessing control.
  • Note that this method is optimized for packed binary images.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to use the ConnectMap method.

ImageProcessing1.Source1 = Image1
ImageProcessing1.Destination1 = Image2
ImageProcessing1.ConnectMap(1)
[]
Example
This example shows how to use the ConnectMap method.

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->ConnectMap(1);


ImageProcessing.Convert Method

Convert method

See Also | Availability | MIL Equivalent | ConnectMap | Convolve
User Guide:
Performing color conversions

Reference:
ImageProcessing.Destination1
ImageProcessing.DiscreteCosineTransform
ImageProcessing.FastFourierTransform
ImageProcessing.PolarToRectangular
ImageProcessing.RectangularToPolar
ImageProcessing.Source1
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimConvert()
ImageProcessing
Convert
Synopsis
Performs a color conversion operation on an image.
[]
Syntax
object.Convert(
ByVal ConversionType As ImpConversionConstants
)
[]
Syntax
void object->Convert(
enum ImpConversionConstants ConversionType
)
ConversionType
An ImpConversionConstants expression that specifies the type of conversion to perform.
Value | Meaning
impRGBToHLS | An RGB to HLS conversion. The hue component (H) is stored in band 0, the luminance component (L) is stored in to band 2, and the saturation component (S) is stored in band 1.
impHLSToRGB | A HLS to RGB conversion.
impRGBToL | An RGB to L conversion, where L represents the luminance of the HLS color space.
impLToRGB | An L (luminance) to RGB conversion. The luminance (intensity) is repeated in each color band of the destination image, creating a monochromatic (gray) RGB image.
impRGBToH | An RGB to H conversion, where H represents the hue of the HLS color space.
impRGBToY | An RGB to Y conversion, where Y represents the luminance of the YUV color space.
Remarks
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • To perform impRGBToHLS and impHLSToRGB conversions, both source and destination images must be 3-band images.
  • To perform a impLToRGB conversion, the source image must be a 1-band image and the destination image must be 3-band image.
  • To perform impRGBToL, impRGBToH and impRGBToY conversions, the source image must be a 3-band image and the destination image must be a 1-band image.
  • The values generated will be normalized to the value range of the destination image. For example, the hue values from 0 to 360 degrees will generate the values from 0 to 255 in an 8-bit destination image.
  • Note that the values in a signed source buffer must be positive. Negative values in signed images will return invalid results.
  • For a floating-point destination image, the generated values will be normalized between 0 and 1.
  • The impRGBToL and impRBGToY conversions produce similar results, but not identical results because they are calculated for different color spaces.
[]
Example
This example shows how to use the Convert method.

' Convert the image to Hue, Luminance, Saturation (HLS).
ImageProcessing1.Source1 = ChildImage1
ImageProcessing1.Destination1 = ChildImage2
ImageProcessing1.Convert(impRGBToHLS)
[]
Example
This example shows to use the Convert method.

// Convert the image to Hue, Luminance, Saturation (HLS)
m_ImageProcessing1->Source1 = m_ChildImage1;
m_ImageProcessing1->Destination1 = m_ChildImage2;
m_ImageProcessing1->Convert(impRGBToHLS);


ImageProcessing.Convolve Method

Convolve method

See Also | Availability | MIL Equivalent | Convert | CountDifferences
User Guide:
Custom spatial filters

Reference:
ImageProcessing.Convert
ImageProcessing.Destination1
ImageProcessing.EdgeDetect
ImageProcessing.EdgeDetect1
ImageProcessing.EdgeDetect2
ImageProcessing.HorizontalEdge
ImageProcessing.LaplacianEdge1
ImageProcessing.LaplacianEdge2
ImageProcessing.Rank
ImageProcessing.Sharpen1
ImageProcessing.Sharpen2
ImageProcessing.Smooth
ImageProcessing.Source1
ImageProcessing.VerticalEdge
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
MimConvolve()
ImageProcessing
Convolve
Synopsis
Performs a custom convolution operation on an image.
[]
Syntax
object.Convolve(
ByVal Index As Integer
)
[]
Syntax
void object->Convolve(
long Index
)
Index (optional in , default is 1)
A long value that specifies an index into the collection of kernels (filters), identifying the kernel (filter) to use. The first element in the collection has an index of 1.
Remarks
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • This method supports two types of custom filters: Finite Impulse Response (FIR) filters and Infinite Impulse Response (IIR) filters. FIR filters operate on a finite neighborhood, while IIR filters take in account all values in an image.
  • The Kernels property specifies the collection of kernels (filters) available to the ImageProcessing control. Each element in the collection refers to a user-defined spatial filter. If the filter is an FIR filter, each element in the collection also defines the kernel for the filter. Therefore, when describring an FIR filter, we sometimes refer to this element as a kernel.
  • To define a custom filter, you must add a kernel (filter) to the collection of kernels (filters) using the Kernels.Add method. The kernel size is specified when adding a kernel, and the kernel size can be constrained by the available resources.
  • To define a custom FIR filter, you must load the kernel with values, using the Kernels.Item(KernelIndex).Put method. To define a custom IIR filter, use the Kernels.Item(KernelIndex).FilterType, Kernels.Item(KernelIndex).FilterSmoothness, and Kernels.Item(KernelIndex).FilterOperation properties; the kernel values are automatically calculated based on these settings.
  • If applicable to the type of custom filter, you can use the properties of the Kernels.Item(KernelIndex) property to control how the convolution operation handles the borders of the image (overscan), whether or not the absolute value of the result is taken, which division factor to apply to the result (normalization factor), whether or not to saturate the result, and the position of the center pixel.
  • This method does not support predefined filters. For predefined FIR filters, use the EdgeDetect1, EdgeDetect2, HorizontalEdge, VerticalEdge, LaplacianEdge1, LaplacianEdge2, Sharpen1, Sharpen2, and Smooth methods. For predefined IIR filters, use the Deriche and Shen methods.
  • Note that for an FIR filter and an FIR approximation of an IIR filter, the size of the source and destination must be greater or equal to the size of the kernel.
  • If the source and destination are multi-band images, the same filter is applied to every band of the source image.
  • For FIR filters, when using 32-bit integer images and saturation is disabled, the accumulator image is a 32-bit integer image (long); whereas, when saturation is enabled, the accumulator image is a 64-bit floating point internal image (double).
  • For IIR filters, when using 32-bit floating-point source images, operations are performed using floating-point precision regardless of the destination image; whereas, when using non 32-bit floating-point source images, operations are performed using fixed-point precision.
  • In-place processing is supported (source equals destination); this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
Remark for Matrox Genesis
  • All 16-bit images are processed as signed images for FIR filters.
[]
Example
This example shows how to use the Convolve method.

// Convolve the image using the kernel 1
m_ImageProcessing1->Source1 = m_Image1;
m_ImageProcessing1->Destination1 = m_Image1;
m_ImageProcessing1->Convolve(1);


ImageProcessing.CountDifferences Method

CountDifferences method

See Also | Availability | MIL Equivalent | Convolve | Deriche
Reference:
ImageProcessing.FindExtremes
ImageProcessing.Histogram
ImageProcessing.HistogramEqualize
ImageProcessing.LocateEvents
ImageProcessing.Project
ImageProcessing.Source1
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimCountDifference()
ImageProcessing
CountDifferences
Synopsis
Counts the number of pixels that differ between two images.
[]
Syntax
object.CountDifferences()
[]
Syntax
void object->CountDifferences()
Remarks
  • This operation is performed on the images specified by the Source1 and Source2 properties.
  • The calculated number of image differences is stored as type longintegerlong (integer for Visual Basic .Net) in the first element of the collection of image processing results. This collection can be accessed using Results property. For this method, the index of the first element is 1.
  • Note that this method is optimized for packed binary images.
  • Note that this method only works for 1-band images.
  • To accelerate this method, set the ResultType and ResultSize properties to the following before calling this method:
    ResultType | impCountList.
    ResultSize | 1.
[]
Examples
This example shows how to use the CountDifferences method. It compares the images in Source1 and Source2.

' compare two images
ImageProcessing1.Source1 = Image1
ImageProcessing1.Source2 = Image2
ImageProcessing1.CountDifferences()
This example show how to use the CountDifferences method.

Dim DiffCount As Integer = 0
Dim RedSc1 As IImage
Dim GreenSc1 As IImage
Dim BlueSc1 As IImage
Dim RedSc2 As IImage
Dim GreenSc2 As IImage
Dim BlueSc2 As IImage
Dim SizeX As Integer = 0
Dim SizeY As Integer = 0

SizeX = ImageProc.Source1.SizeX
SizeY = ImageProc.Source1.SizeY

If ImageProc.Source1.NumberOfBands = 3 And _
   ImageProc.Source2.NumberOfBands = 3 Then
    ' Create the images
    RedSc1 = Application1.CreateObject("MIL.Image", False)
    GreenSc1 = Application1.CreateObject("MIL.Image", False)
    BlueSc1 = Application1.CreateObject("MIL.Image", False)
    RedSc2 = Application1.CreateObject("MIL.Image", False)
    GreenSc2 = Application1.CreateObject("MIL.Image", False)
    BlueSc2 = Application1.CreateObject("MIL.Image", False)

    ' Sets the number of band
    RedSc1.NumberOfBands = 1
    GreenSc1.NumberOfBands = 1
    BlueSc1.NumberOfBands = 1
    RedSc2.NumberOfBands = 1
    GreenSc2.NumberOfBands = 1
    BlueSc2.NumberOfBands = 1

    ' Setting the size of the images
    RedSc1.SizeX = SizeX
    GreenSc1.SizeX = SizeX
    BlueSc1.SizeX = SizeX
    RedSc2.SizeX = SizeX
    GreenSc2.SizeX = SizeX
    BlueSc2.SizeX = SizeX
    RedSc1.SizeY = SizeY
    GreenSc1.SizeY = SizeY
    BlueSc1.SizeY = SizeY
    RedSc2.SizeY = SizeY
    GreenSc2.SizeY = SizeY
    BlueSc2.SizeY = SizeY

    ' Allocate the images
    RedSc1.Allocate()
    GreenSc1.Allocate()
    BlueSc1.Allocate()
    RedSc2.Allocate()
    GreenSc2.Allocate()
    BlueSc2.Allocate()

    ' Clear the image content
    RedSc1.Clear(0)
    GreenSc1.Clear(0)
    BlueSc1.Clear(0)
    RedSc2.Clear(0)
    GreenSc2.Clear(0)
    BlueSc2.Clear(0)

    ' Copy band per band the 2 sources
    RedSc1.Copy(ImageProc.Source1, ImBandConstants.imRed)
    GreenSc1.Copy(ImageProc.Source1, ImBandConstants.imGreen)
    BlueSc1.Copy(ImageProc.Source1, ImBandConstants.imBlue)
    RedSc2.Copy(ImageProc.Source2, ImBandConstants.imRed)
    GreenSc2.Copy(ImageProc.Source2, ImBandConstants.imGreen)
    BlueSc2.Copy(ImageProc.Source2, ImBandConstants.imBlue)

    ' Calculate the total difference
    ImageProc.Source1 = RedSc1
    ImageProc.Source2 = RedSc2
    ImageProc.CountDifferences()
    DiffCount += ImageProc.Results.Item(1)

    ImageProc.Source1 = GreenSc1
    ImageProc.Source2 = GreenSc2
    ImageProc.CountDifferences()
    DiffCount += ImageProc.Results.Item(1)

    ImageProc.Source1 = BlueSc1
    ImageProc.Source2 = BlueSc2
    ImageProc.CountDifferences()
    DiffCount += ImageProc.Results.Item(1)

    ' Free the resources
    RedSc1.Free()
    GreenSc1.Free()
    BlueSc1.Free()
    RedSc2.Free()
    GreenSc2.Free()
    BlueSc2.Free()

ElseIf ImageProc.Source1.NumberOfBands = 1 And _
       ImageProc.Source2.NumberOfBands = 1 Then
    ImageProc.CountDifferences()
    DiffCount = ImageProc.Results.Item(1)
Else
    ' Return -1 for non supported cases
    DiffCount = -1
End If
[]
Example
This example shows how to use the CountDifferences method of the ImageProcessing control. It compares the images in Source1 and Source2.

// compare two images
m_ImageProcessing1->Source1 = m_Image1;
m_ImageProcessing1->Source2 = m_Image2;
m_ImageProcessing1->CountDifferences();


ImageProcessing.Deriche Method

Deriche method

See Also | Availability | MIL Equivalent | CountDifferences | Dilate
User Guide:
Denoising
Enhancing and detecting edges

Reference:
ImageProcessing.Convolve
ImageProcessing.Destination1
ImageProcessing.EdgeDetect
ImageProcessing.EdgeDetect1
ImageProcessing.EdgeDetect2
ImageProcessing.HorizontalEdge
ImageProcessing.LaplacianEdge1
ImageProcessing.LaplacianEdge2
ImageProcessing.Sharpen1
ImageProcessing.Sharpen2
ImageProcessing.Shen
ImageProcessing.Smooth
ImageProcessing.Source1
ImageProcessing.VerticalEdge
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimConvolve(
KernelBufId =
M_DERICHE_FILTER(FilterOperation, FilterSmoothness)
)
ImageProcessing
Deriche
Synopsis
Applies a Canny-Deriche Infinite Support Exponential (IIR) filter on an image.
[]
Syntax
object.Deriche(
ByVal FilterOperation As ImpFilterOperationConstants,
ByVal FilterSmoothness As Integer
)
[]
Syntax
void object->Deriche(
enum ImpFilterOperationConstants FilterOperation,
long FilterSmoothness
)
FilterOperation (optional in , default is amilDefault)
An ImpFilterOperationConstants or an ActiveMILDefaultConstants expression that specifies the type of operation to perform.
Value | Meaning
impSmooth | Performs a smoothing operation on the image using a Canny-Deriche filter.
impSharpen | Performs a sharpening operation on the image using a Canny-Deriche filter.
impHorizontalEdge | Computes the absolute value of the horizontal derivative of the image using a Canny-Deriche filter.
impVerticalEdge | Computes the absolute value of the vertical derivative of the iamge using a Canny-Deriche filter.
impEdgeDetect | Computes the gradient of the image using a Canny-Deriche filter.
impEdgeDetectSquare | Computes the square of the gradient of the image using a Canny-Deriche filter.
impLaplacianEdge | Computes the Laplacian values of the image using a Canny-Deriche filter.
impFirstDerivativeX | Computes the first derivative of the image, with respect to X, using a Canny-Deriche filter.
impFirstDerivativeY | Computes the first derivative of the image, with respect to Y, using a Canny-Deriche filter.
impSecondDerivativeX | Computes the second derivative of the image, with respect to X, using a Canny-Deriche filter.
impSecondDerivativeY | Computes the second derivative of the image, with respect to Y, using a Canny-Deriche filter.
impSecondDerivativeXY | Computes the second derivative of the image, with respect to X and Y, using a Canny-Deriche filter.
amilDefault | Specifies the default filter operation. The default is impSmooth
FilterSmoothness (optional in , default is amilDefault)
A long value or an ActiveMILDefaultConstants constant expression that specifies the degree of smoothness (strength of the denoising) applied by the convolution operation.
Value | Meaning
value | A long value that specifies the smoothness. This parameter can be a value in the range of 0.0 to 100.0.
amilDefault | A constant expression that specifies the default value. The default value is 50.0.
Remarks
  • This method applies a predefined Infinite Impulse Response (IIR) filter. IIR filters take in account all values in an image.
  • The Canny-Deriche Infinite Support Exponential filter is an exponential weighting function, of the general form:
  • For the Canny-Deriche filter, the neighborhoods' influence decreases much slower as the distance from the central pixel increases, compared to the Shen-Castan filter (Shen method).
  • A smoothness value of 100.0 results in a strong noise reduction effect, while a value of 0.0 has almost no noise reduction effect.
  • This filter uses a recursive implementation, and the overscan pixel values are ignored.
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • In-place processing is supported (source equals destination); this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
  • The normalization factor is automatically set to use the full range of the destination image without overflows, and the result is given in the number of bits of destination image. To specify a different normalization factor, define a custom filter and set the required normalization factor, using the Kernels.Item.NormalizationFactor property; then, call the Convolve method and specify this filter.
  • If the source and destination are multi-band images, the same filter is applied to every band of the source image.
  • When using 32-bit floating point source images, operations are performed using floating-point precision, regardless of the destination image; whereas, when using 32-bit floating point source images, operations are performed using fixed-point precision.


ImageProcessing.Dilate Method

Dilate method

See Also | Availability | MIL Equivalent | Deriche | DiscreteCosineTransform
User Guide:
Erosion and dilation

Reference:
ImageProcessing.Close
ImageProcessing.ConnectMap
ImageProcessing.Destination1
ImageProcessing.Distance
ImageProcessing.Erode
ImageProcessing.HitOrMiss
ImageProcessing.Label
ImageProcessing.Match
ImageProcessing.Open
ImageProcessing.Source1
ImageProcessing.Thick
ImageProcessing.Thin
ImageProcessing.Watershed
ImageProcessing.ZoneOfInfluence
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimDilate()

MimMorphic(
Operation =
M_DILATE
)
ImageProcessing
Dilate
Synopsis
Performs a morphological dilation operation on an image.
[]
Syntax
object.Dilate(
ByVal Index As Integer,
ByVal NumberOfIteration As Integer,
ByVal ProcessingMode As ImpProcessingModeConstants
)
[]
Syntax
void object->Dilate(
long Index,
long NumberOfIteration,
enum ImpProcessingModeConstants ProcessingMode
)
Index (optional in , default is impPredefined)
A longintegerlong (integer for Visual Basic .Net) value or an ImpMiscImageProcessingConstants expression that specifies the structuring element to use.
Value | Meaning
value | A longintegerlong (integer for Visual Basic .Net) value that specifies an index into the collection of structuring elements, identifying the structuring element to use.
impPredefined | A constant expression that specifies the predefined structuring element.
NumberOfIteration (optional in , default is 1)
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of times to perform the operation.
ProcessingMode (optional in , default is impGrayscale)
An ImpProcessingModeConstants expression that specifies the processing mode to use.
Value | Meaning
impGrayscale | The source image's gray values are used for processing.
impBinary | Non-zero pixels will be treated as ones (1) during processing and the resulting non-zero pixels will have all bits set to one.
Remarks
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • If the Index parameter is omitted or set to impPredefined a 3x3 full rectangular structuring element is used in binary mode, or a 3x3 empty one is used in grayscale mode.
  • The StructuringElements property specifies the collection of structuring elements available to the ImageProcessing control.
  • Note that this method is optimized for packed binary images.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to use the Dilate method.

// Dilate image (adds one pixel around all objects)
m_ImageProcessing1->Source1 = m_BinaryImage;
m_ImageProcessing1->Destination1 = m_DilatedBinaryImage;
m_ImageProcessing1->Dilate(0, 1, impBinary);


ImageProcessing.DiscreteCosineTransform Method

DiscreteCosineTransform method

See Also | Availability | MIL Equivalent | Dilate | Distance
User Guide:
Discrete cosine transform

Reference:
ImageProcessing.Destination1
ImageProcessing.Source1
ImageProcessing.Source2
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimTransform(
TransformType =
M_DCT8x8
)
ImageProcessing
DiscreteCosineTransform
Synopsis
Performs a discrete cosine transform operation on an image.
[]
Syntax
object.DiscreteCosineTransform(
ByVal ForwardTransform As Boolean,
ByVal Normalize As Boolean
)
[]
Syntax
void object->DiscreteCosineTransform(
VARIANT_BOOL ForwardTransform,
VARIANT_BOOL Normalize
)
ForwardTransform (optional in , default is True)
A boolean value that specifies the DCT operation to perform.
Value | Meaning
True | Perform a forward transform.
False | Perform a reverse transform.
Normalize (optional in , default is False)
A boolean value that specifies if results are to be normalized.
Value | Meaning
True | Normalize results by a factor of 8, to avoid overflows.
False | Do not normalize results.
Remarks
  • This operation is performed on the real and imaginary parts of the image specified by the Source1 and Source2 properties, respectively. The resulting image is placed in the image specified by the Destination1 property.
  • If a forward DCT has been normalized, its reverse DCT must also be normalized.
  • In a forward transform, calculations for integer source images are performed in fixed-point format and returned to the destinations in 23.9 fixed point format for 8-bit sources or in 25.7 fixed point format for 16-bit sources. For 32-bit source images, the fixed point format of the destination image will be the same as that of the source. In this case, you must left-shift the image prior to a forward transform. If the destination is of type float, the processing will be performed in floating-point arithmetic. Note that 32-bit unsigned images will be considered 32-bit signed.
  • When performing a reverse transform into 8-bit or 16-bit destination images, the format of the source is assumed to be in 23.9 and 25.7 fixed point format, respectively. For 32-bit integer destinations, the format of the source will be same as that of the destination. In this case, you must right-shift the image after processing. If the source is of type float, the processing will be performed in floating-point arithmetic. Note that 32-bit unsigned images will be considered 32-bit signed.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.


ImageProcessing.Distance Method

Distance method

See Also | Availability | MIL Equivalent | DiscreteCosineTransform | Divide
Reference:
ImageProcessing.Close
ImageProcessing.ConnectMap
ImageProcessing.Destination1
ImageProcessing.Dilate
ImageProcessing.Erode
ImageProcessing.HitOrMiss
ImageProcessing.Label
ImageProcessing.Match
ImageProcessing.Open
ImageProcessing.Source1
ImageProcessing.Thick
ImageProcessing.Thin
ImageProcessing.Watershed
ImageProcessing.ZoneOfInfluence
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimDistance()
ImageProcessing
Distance
Synopsis
Performs a distance transformation operation on an image.
[]
Syntax
object.Distance(
ByVal DistanceTransform As ImpDistanceTransformConstants
)
[]
Syntax
void object->Distance(
enum ImpDistanceTransformConstants DistanceTransform
)
DistanceTransform (optional in , default is impChamfer34)
An ImpDistanceTransformConstants expression that specifies the distance transformation to perform.
Value | Meaning
impCityBlock | Determines the minimum distance using only horizontal or vertical pixel steps. Horizontal and vertical steps count as 1.
impChessboard | Determines the minimum distance using horizontal, vertical, or diagonal pixel steps. All steps count as 1.
impChamfer34 | Determines the minimum distance using horizontal, vertical or diagonal pixel steps. Horizontal and vertical steps are counted as 3; diagonal steps are counted as 4. This transform provides the best approximation to Euclidean distance.
Remarks
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • This method determines the shortest distance between a blob pixel and its background pixel using a 3x3 distance matrix, and assigns this distance to the pixel. It produces a type of contour mapping of a blob.
  • The following matrix is used for the Chamfer 3-4 distance transform:
  • The following matrix is used for the Chessboard distance transform:
  • The following matrix is used for the City Block distance transform:
  • The impChamfer34 transform requires that the destination image be large enough to hold a number at least three times the maximum distance from a blob pixel to its edge. For example, an 8-bit image (255 max) can be used for a maximum distance of 85 pixels and a 16-bit image (65535 max) can be used for a maximum distance of 21845 pixels.
  • Note that this method is optimized for packed binary images.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to use the Distance method.

// Perform a distance transformation on the binarized image.
m_ImageProcessing1->Source1 = m_Image1;
m_ImageProcessing1->Destination1 = m_ResultImage;
m_ImageProcessing1->Distance(impChamfer34);


ImageProcessing.Divide Method

Divide method

See Also | Availability | MIL Equivalent | Distance | EdgeDetect1
Reference:
ImageProcessing.AbsoluteValue
ImageProcessing.And
ImageProcessing.Binarize
ImageProcessing.Clip
ImageProcessing.Destination1
ImageProcessing.LUTMap
ImageProcessing.Maximum
ImageProcessing.Minimum
ImageProcessing.Multiply
ImageProcessing.MultiplyAndAccumulate1
ImageProcessing.MultiplyAndAccumulate2
ImageProcessing.Nand
ImageProcessing.Negate
ImageProcessing.Nor
ImageProcessing.Not
ImageProcessing.OffsetGain
ImageProcessing.Or
ImageProcessing.Shift
ImageProcessing.Source1
ImageProcessing.Source2
ImageProcessing.WeightedAverage
ImageProcessing.Xnor
ImageProcessing.Xor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimArith(
Operation =
M_DIV or
M_DIV_CONST or
M_CONST_DIV
)
ImageProcessing
Divide
Synopsis
Performs a point-to-point division operation using two source images.
[]
Syntax
object.Divide(
ByVal FixedPoint As Boolean
)
[]
Syntax
void object->Divide(
VARIANT_BOOL FixedPoint
)
FixedPoint (optional in , default is False)
A boolean value that specifies whether the results should be returned in a fixed-point format.
Value | Meaning
True | Results are in a fixed-point format.
False | Results are truncated into integer values, unless the destination image is a floating-point image.
Remarks
  • This method performs the following operation: Destination1 = Source1 / Source2.
  • Note that either the Source1 or the Source2 property can be a constant but not both.
  • If you have specified the result to be returned in a fixed-point format, the result is returned in an 8.8 fixed-point format for a 16-bit destination; 16.16 fixed-point format for a 32-bit destination.
  • Note that this method is optimized for packed binary images.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to Divide two images.

ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Source2 = AnImage
ImageProcessing1.Destination1 = DisplayedImage
ImageProcessing1.Divide()
[]
Example
This example shows how to Divide two images.

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Source2 = m_AnImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->Divide(FALSE);


ImageProcessing.EdgeDetect Method

EdgeDetect method

See Also | Availability | MIL Equivalent | EdgeDetect2 | Erode
User Guide:
Enhancing and detecting edges

Reference:
ImageProcessing.Convert
ImageProcessing.Convolve
ImageProcessing.Destination1
ImageProcessing.Destination2
ImageProcessing.EdgeDetect1
ImageProcessing.EdgeDetect2
ImageProcessing.HorizontalEdge
ImageProcessing.LaplacianEdge1
ImageProcessing.LaplacianEdge2
ImageProcessing.Rank
ImageProcessing.Sharpen1
ImageProcessing.Sharpen2
ImageProcessing.Smooth
ImageProcessing.Source1
ImageProcessing.VerticalEdge
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimEdgeDetect()
ImageProcessing
EdgeDetect
Synopsis
Performs an edge detection operation using a predefined 3x3 Sobel filter and produces a gradient intensity and/or gradient angle image.
[]
Syntax
object.EdgeDetect(
ByVal FastAngleComputation As Boolean,
ByVal FastGradientComputation As Boolean,
ByVal Threshold As Integer,
ByVal OverscanMode As ImpOverscanModeConstants
)
[]
Syntax
void object->EdgeDetect(
VARIANT_BOOL FastAngleComputation,
VARIANT_BOOL FastGradientComputation,
long Threshold,
enum ImpOverscanModeConstants OverscanMode
)
FastAngleComputation (optional in , default is True)
A boolean value that specifies whether to perform a full or fast angle computation.
Value | Meaning
True | Fast angle computation.
False | Full angle computation.
FastGradientComputation (optional in , default is True)
A boolean value that specifies whether to perform a full or fast gradient computation.
Value | Meaning
True | Fast gradient computation.
False | Full gradient computation.
Threshold (optional in , default is 0)
A long value that specifies the threshold value for calculating gradient intensity.
OverscanMode (optional in , default is impOverscanEnable)
An ImpOverscanModeConstants expression that specifies whether the overscan is enabled.
Value | Meaning
impOverscanDisable | Disables overscanning.
impOverscanEnable | Enables overscanning. The overscan is set to transparent overscan.
Remarks
  • This operation is performed on the image specified by the Source1 property. The resulting images are placed in the images specified by the Destination1 and Destination2 property.
  • []
     One of the two destinations can be set to Nothing so that only one result is calculated.
  • []
     One of the two destinations can be set to NULL so that only one result is calculated.
  • This operation uses the following predefined 3x3 Sobel filter for the X and Y gradients:

    X gradient:

    Y gradient:

  • Full gradient computation uses the equation:

    Gradient = sqrt( GradientX*GradientX + GradientY*GradientY )

  • Fast gradient computation uses the equation:

    Gradient = ( |GradientX| + |GradientY| ) / 2

  • Full angle computation uses the equation:

    Angle = arctan( GradientY / GradientX )

  • The fast angle approximation is based on the same equation as the full angle computation, however the value is determined from a LUT mapping. The fast angle approximation introduces a maximum error of +/-0.4 degrees.
  • Full computations are slower but more precise.
  • For an unsigned destination image, the angle is returned from 0° to 360° (counter-clockwise) and mapped to the entire range of the destination image. For example, for an unsigned 8-bit image, the angles of 0°, 90°, 180°, and 270° map to 0, 64, 128, and 192, respectively. For a signed destination image, mapping is done in both the positive and negative range of the image and represents angle values from -180° to 180°. For example, for a signed 8-bit image, the angles of -180°, -90°, 0°, and 90° map to -128, -64, 0 and 64, respectively.
  • This method can be performed on a floating-point image. However, the results are not mapped and are returned in the range of 0 to 360 degrees. The degree of precision is equal to the precision of the floating point image for regular computation and to +/- 0.4 degrees for fast computation. The value for undefined results is the maximum positive value of the floating-point image.
  • When the gradient intensity is below the threshold value, the angle is not computed (not considered a significant edge) and the resulting angle pixel is undetermined.
  • []
     To perform the full operation, set the Threshold parameter to zero or Nothing.
  • []
     To perform the full operation, set the Threshold parameter to zero or NULL.
  • The size of the source and destination must be greater or equal to the size of the kernel.
  • You should disable overscanning to accelerate the convoultion for applications in which the overscan data is not important in the resulting image.
[]
Example
This example shows how to use the EdgeDetect method.

// Perform an edge detection on the original image
m_ImageProcessing1->Source1 = m_Image1;
m_ImageProcessing1->Destination1 = m_ResultImage;
m_ImageProcessing1->EdgeDetect(TRUE, FALSE, 0, impOverscanEnable);


ImageProcessing.EdgeDetect1 Method

EdgeDetect1 method

See Also | Availability | MIL Equivalent | Divide | EdgeDetect2
User Guide:
Enhancing and detecting edges

Reference:
ImageProcessing.Convert
ImageProcessing.Convolve
ImageProcessing.Destination1
ImageProcessing.Destination2
ImageProcessing.EdgeDetect
ImageProcessing.EdgeDetect2
ImageProcessing.HorizontalEdge
ImageProcessing.LaplacianEdge1
ImageProcessing.LaplacianEdge2
ImageProcessing.Rank
ImageProcessing.Sharpen1
ImageProcessing.Sharpen2
ImageProcessing.Smooth
ImageProcessing.Source1
ImageProcessing.VerticalEdge
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Orion
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
MimConvolve(
KernelBufId =
M_EDGE_DETECT
)
ImageProcessing
EdgeDetect1
Synopsis
Applies a Sobel-based edge detection filter, which computes the gradient of the image.
[]
Syntax
object.EdgeDetect1(
ByVal OverscanMode As ImpOverscanModeConstants
)
[]
Syntax
void object->EdgeDetect1(
enum ImpOverscanModeConstants OverscanMode
)
OverscanMode (optional in , default is impOverscanEnable)
An ImpOverscanModeConstants expression that specifies whether the overscan is enabled.
Value | Meaning
impOverscanDisable | Disables overscanning.
impOverscanEnable | Enables overscanning. The overscan is set to transparent overscan.
Remarks
  • This method applies a predefined Finite Impulse Response (FIR) filter. FIR filters operate on a finite neighborhood.
  • The following convolution operation is used for this filter:
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • In-place processing is supported (source equals destination); this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
  • The normalization factor is automatically set to use the full range of the destination image without overflows, and the result is given in the number of bits of destination image. To specify a different normalization factor, define a custom filter and set the required normalization factor, using the Kernels.Item.NormalizationFactor property; then, call the Convolve method and specify this filter.
  • This filter uses the default operation control settings. The overscan is set to transparent overscan pixel values, saturation is enabled for results, and the kernel's default center pixel is set as the top-left pixel of the central elements in a neighborhood.
  • You should disable overscanning to accelerate the convoultion for applications in which the overscan data is not important in the resulting iamge.
  • If the source and destination are multi-band images, the same filter is applied to every band of the source image.
  • The size of the source and destination must be greater or equal to the size of the kernel.
  • When using 32-bit integer images and saturation is disabled, the accumulator image is a 32-bit integer image (long); whereas, when saturation is enabled, the accumulator image is a 64-bit floating point internal image (double).
Remark for Matrox Genesis
  • All 16-bit images are processed as signed images.
[]
Example
This example shows how to use the EdgeDetect1 method.

m_ImageProcessing1->Source1 = m_GrabImage1;
m_ImageProcessing1->Destination1 = m_Image1;
m_ImageProcessing1->EdgeDetect1(impOverscanEnable);


ImageProcessing.EdgeDetect2 Method

EdgeDetect2 method

See Also | Availability | MIL Equivalent | EdgeDetect1 | EdgeDetect
User Guide:
Enhancing and detecting edges

Reference:
ImageProcessing.Convert
ImageProcessing.Convolve
ImageProcessing.Destination1
ImageProcessing.Destination2
ImageProcessing.EdgeDetect
ImageProcessing.EdgeDetect1
ImageProcessing.HorizontalEdge
ImageProcessing.LaplacianEdge1
ImageProcessing.LaplacianEdge2
ImageProcessing.Rank
ImageProcessing.Sharpen1
ImageProcessing.Sharpen2
ImageProcessing.Smooth
ImageProcessing.Source1
ImageProcessing.VerticalEdge
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Orion
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
MimConvolve(
KernelBufId =
M_EDGEDETECT2
)
ImageProcessing
EdgeDetect2
Synopsis
Applies a Prewitt-based edge detection filter, which computes the gradient of the image.
[]
Syntax
object.EdgeDetect2(
ByVal OverscanMode As ImpOverscanModeConstants
)
[]
Syntax
void object->EdgeDetect2(
enum ImpOverscanModeConstants OverscanMode
)
OverscanMode (optional in , default is impOverscanEnable)
An ImpOverscanModeConstants expression that specifies whether the overscan is enabled.
Value | Meaning
impOverscanDisable | Disables overscanning.
impOverscanEnable | Enables overscanning. The overscan is set to transparent overscan.
Remarks
  • This method applies a predefined Finite Impulse Response (FIR) filter. FIR filters operate on a finite neighborhood.
  • The following convolution operation is used for this filter:
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • In-place processing is supported (source equals destination); this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
  • The normalization factor is automatically set to use the full range of the destination image without overflows, and the result is given in the number of bits of destination image. To specify a different normalization factor, define a custom filter and set the required normalization factor, using the Kernels.Item.NormalizationFactor property; then, call the Convolve method and specify this filter.
  • This filter uses the default operation control settings. The overscan is set to transparent overscan pixel values, saturation is enabled for results, and the kernel's default center pixel is set as the top-left pixel of the central elements in a neighborhood.
  • You should disable overscanning to accelerate the convoultion for applications in which the overscan data is not important in the resulting image.
  • If the source and destination are multi-band images, the same filter is applied to every band of the source image.
  • The size of the source and destination must be greater or equal to the size of the kernel.
  • When using 32-bit integer images and saturation is disabled, the accumulator image is a 32-bit integer image (long); whereas, when saturation is enabled, the accumulator image is a 64-bit floating point internal image (double).
Remark for Matrox Genesis
  • All 16-bit images are processed as signed images.
[]
Example
This example shows how to use the EdgeDetect2 method.

ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Destination1 = DisplayedImage
ImageProcessing1.EdgeDetect2()
[]
Example
This example shows how to use the EdgeDetect2 method.

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->EdgeDetect2(impOverscanEnable);


ImageProcessing.Erode Method

Erode method

See Also | Availability | MIL Equivalent | EdgeDetect | FastFourierTransform
User Guide:
Erosion and dilation

Reference:
ImageProcessing.Close
ImageProcessing.ConnectMap
ImageProcessing.Destination1
ImageProcessing.Dilate
ImageProcessing.Distance
ImageProcessing.HitOrMiss
ImageProcessing.Label
ImageProcessing.Match
ImageProcessing.Open
ImageProcessing.Source1
ImageProcessing.Thick
ImageProcessing.Thin
ImageProcessing.Watershed
ImageProcessing.ZoneOfInfluence
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimErode()

MimMorphic(
Operation =
M_ERODE
)
ImageProcessing
Erode
Synopsis
Performs a morphological erosion operation on an image.
[]
Syntax
object.Erode(
ByVal Index As Integer,
ByVal NumberOfIterations As Integer,
ByVal ProcessingMode As ImpProcessingModeConstants
)
[]
Syntax
void object->Erode(
long Index,
long NumberOfIterations,
enum ImpProcessingModeConstants ProcessingMode
)
Index (optional in , default is impPredefined)
A longintegerlong (integer for Visual Basic .Net) value or an ImpMiscProcessingConstants expression that specifies the structuring element to use.
Value | Meaning
value | A longintegerlong (integer for Visual Basic .Net) value that specifies an index into the collection of structuring elements, identifying the structuring element to use.
impPredefined | A constant expression that specifies the predefined structuring element.
NumberOfIterations (optional in , default is 1)
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of times to perform the operation.
ProcessingMode (optional in , default is impGrayscale)
An ImpProcessingModeConstants expression that specifies the processing mode to use.
Value | Meaning
impGrayscale | The source image's gray values are used for processing.
impBinary | Non-zero pixels will be treated as ones (1) during processing and the resulting non-zero pixels will have all bits set to one.
Remarks
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • If the Index parameter is omitted or impPredefined is selected, a 3x3 full rectangular structuring element is used in binary mode, or a 3x3 empty one is used in grayscale mode.
  • The overscan pixels are automatically set to the highest possible image value, which will produce the most accurate possible results for the image border pixels.
  • Note that this method is optimized for packed binary images.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
  • The StructuringElements property specifies the collection of structuring elements available to the ImageProcessing control.
[]
Example
This example shows how to use the Erode method.

ImageProcessing1.Source1 = Image1
ImageProcessing1.Destination1 = Image3
ImageProcessing1.Erode(impPredefined, 5, impGrayscale)
[]
Example
This example shows how to use the Erode method.

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->Erode(impPredefined, 5, impGrayscale);


ImageProcessing.FastFourierTransform Method

FastFourierTransform method

See Also | Availability | MIL Equivalent | Erode | FindExtremes
User Guide:
Fast Fourier Transform

Reference:
ImageProcessing.Destination1
ImageProcessing.Destination2
ImageProcessing.Source1
ImageProcessing.Source2
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimTransform(
TransformType =
M_FFT
)
ImageProcessing
FastFourierTransform
Synopsis
Performs a fast Fourier transform operation on an image.
[]
Syntax
object.FastFourierTransform(
ByVal ComputationMode As ImpFFTComputationModeConstants,
ByVal ForwardTransform As Boolean,
ByVal Normalize As Boolean,
ByVal CenterSpectrum As Boolean
)
[]
Syntax
void object->FastFourierTransform(
enum ImpFFTComputationModeConstants ComputationMode,
VARIANT_BOOL ForwardTransform,
VARIANT_BOOL Normalize,
VARIANT_BOOL CenterSpectrum
)
ComputationMode
An ImpFFTComputationModeConstants that specifies the mode of computation.
Value | Meaning
impRealImaginary | The FFT is performed with only real and imaginary components calculated.
impMagnitudePhase | The FFT is performed with only magnitude and phase calculated.
impScaledMagnitudePhase | The FFT is performed with the phase calculated and the magnitude logarithmically scaled to be in the range of 0-255.
impMagnitude | The FFT is performed with only magnitude calculated.
impScaledMagnitude | The FFT is performed with the magnitude logarithmically scaled to be in the range of 0-255.
impPhase | The FFT is performed with only phase calculated.
imp1DColumns | The FFT is performed as a 1-D transform on each column of the image with only the real and imaginary components of the image calculated.
imp1DRows | The FFT is performed as a 1-D transform on each row of the image with only the real and imaginary components of the image calculated.
ForwardTransform (optional in , default is True)
A boolean value that specifies the FFT operation to perform.
Value | Meaning
True | Perform a forward FFT.
False | Perform a reverse FFT.
Normalize (optional in , default is False)
A boolean value that specifies if results are to be normalized (divided by 2 to avoid overflows).
Value | Meaning
True | Normalize divides the result by a factor of 2 to avoid overflows.
False | Do not normalize results.
CenterSpectrum (optional in , default is False)
A boolean value that specifies if the DC component in the frequency domain is centered.
Value | Meaning
True | DC component is in the center.
False | DC component is in the top-left corner.
Remarks
  • The controls impPhase, impMagnitude, impMagnitudePhase, impScaledMagnitude, and impScaledMagnitudePhase can only be used in forward transforms processed with floating point images.
  • If the ComputationMode parameter is set to impRealImaginary, imp1DColumns or imp1DRows with the forward transform, the same computation mode value must be specified for the reverse transform.
  • If a forward FFT has been normalized, the reverse FFT must also be normalized.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
  • When the controls impPhase, impMagnitude, impMagnitudePhase, impScaledMagnitude and impScaledMagnitudePhase are used, their results are returned in the real and imaginary images respectively, thereby overwriting the real and imaginary components of the image in the destination images. A reverse transform of these images will not yield a desirable result.
  • The Source1 and Source2 properties specify the real and imaginary components of the source image, respectively.
  • The Destination1 and Destination2 properties, specify the identifiers of the destination depending on the ComputationMode.
    • If ComputationMode is set to impRealImaginary, the Destination1 and Destination2 properties specify the real and imaginary components of the resulting image, respectively.
    • If ComputationMode is set to impMagnitudePhase, the Destination1 and Destination2 properties specify the magnitude and phase of the image, respectively.
    • Similarly, if ComputationMode is set to impScaledMagnitudePhase, the Destination1 and Destination2 properties specify the scaled values of magnitude and phase, respectively.
  • []
     One of the two destinations can be set to Nothing so that only one result is calculated.
  • []
     One of the two destinations can be set to NULL so that only one result is calculated.
  • In a forward transform, calculations for integer source images are performed in fixed-point format and returned to the destinations in 23.9 fixed point format for 8-bit sources or in 25.7 fixed point format for 16-bit sources. For 32-bit sources, the fixed point format of the destination will be the same as that of the source. In this case, you must left-shift the image prior to a forward transform. If the destination is float, the processing will be performed in floating-point arithmetic. If Source2 is set to impNull, a faster version of the forward transform will be performed.
  • When performing a reverse transform into 8-bit or 16-bit destinations, the format of the source images is assumed to be in 23.9 and 25.7 fixed point format, respectively. For 32-bit integer destinations, the format of the source will be same as that of the destination. In this case, you must right-shift the image after processing. If the source is float, the processing will be performed in floating-point arithmetic. If Destination2 is set to impNull, a faster version of the reverse transform will be performed.
[]
Example
This example shows how to use the FastFourierTransform method.

// Compute the Fast Fourier Transform of the image.
m_ImageProcessing1->Source1 = m_ChildImage00;
m_ImageProcessing1->Destination1 = m_ImageTransformReal;
m_ImageProcessing1->Destination2 = m_ImageTransformImaginary;
m_ImageProcessing1->FastFourierTransform(impRealImaginary, TRUE, FALSE, TRUE);


ImageProcessing.FindExtremes Method

FindExtremes method

See Also | Availability | MIL Equivalent | FastFourierTransform | Flip
User Guide:
Image statistics

Reference:
ImageProcessing.CountDifferences
ImageProcessing.Histogram
ImageProcessing.HistogramEqualize
ImageProcessing.LocateEvents
ImageProcessing.Project
ImageProcessing.Source1
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimFindExtreme()
ImageProcessing
FindExtremes
Synopsis
Finds an image's extremes (minimum and/or maximum pixel values).
[]
Syntax
object.FindExtremes(
ByVal FindMinimum As Boolean,
ByVal FindMaximum As Boolean
)
[]
Syntax
void object->FindExtremes(
VARIANT_BOOL FindMinimum,
VARIANT_BOOL FindMaximum
)
FindMinimum (optional in , default is True)
A boolean value that specifies whether to find the minimum value of the source image.
Value | Meaning
True | Find the minimum value of the source image.
False | Do not find the minimum value of the source image.
FindMaximum (optional in , default is True)
A boolean value that specifies whether to find the maximum value.
Value | Meaning
True | Find the maximum value of the source image.
False | Do not find the maximum value of the source image.
Remarks
  • This operation is performed on the image specified by the Source1 property.
  • If both the minimum and maximum values are calculated, the minimum and maximum image extremes are stored as the first and second elements of the image processing results collection, respectively. This collection can be accessed using the Results property. In this case, the index of the first element in the collection of the results starts at one.

    If only one extreme is calculated, it is stored in the first element of the collection of image processing results.

  • By default, the results are returned as type double in the collection of image processing results. To accelerate this method, you can set the ResultDataType property to impResultSigned if floating point results are not required.
  • To further accelerate this method, set the ResultType and ResultSize properties to the following before calling this method:
    ResultType | impExtremeList.
    ResultSize | 1 (if one extreme is calculated).
    2 (if both extremes are calculated).
[]
Example
This example shows how to use the FindExtremes method.

// The largest label value corresponds to the extreme value of the image
m_ImageProcessing1->Source1 = m_Image1;
m_ImageProcessing1->FindExtremes(FALSE, TRUE);
long MaxLabelNumber = m_ImageProcessing1->Results->Item(1);


ImageProcessing.Flip Method

Flip method

See Also | Availability | MIL Equivalent | FindExtremes | Free
Reference:
ImageProcessing.Destination1
ImageProcessing.Resize
ImageProcessing.Rotate
ImageProcessing.Translate
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimFlip()
ImageProcessing
Flip
Synopsis
Performs a horizontal or vertical image-flipping operation.
[]
Syntax
object.Flip(
ByVal Operation As ImpFlipConstants
)
[]
Syntax
void object->Flip(
enum ImpFlipConstants Operation
)
Operation
An ImpFlipConstants expression that specifies the direction in which to flip the image.
Value | Meaning
impHorizontal | Flip the image in the horizontal direction (left to right, along the vertical axis).
impVertical | Flip the image in the vertical direction (top to bottom, along the horizontal axis).
Remark
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
[]
Example
This example shows how to use the Flip method.

m_ImageProcessing1->Source1 = m_GrabImage1;
m_ImageProcessing1->Destination1 = m_Image1;
m_ImageProcessing1->Flip(impVertical);


ImageProcessing.Free Method

Free method

See Also | Availability | MIL Equivalent | Flip | HistogramEqualize
User Guide:
Setting up controls

Reference:
ImageProcessing.Allocate
ImageProcessing.AutomaticAllocation
ImageProcessing.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimFree()
ImageProcessing
Free
Synopsis
Frees the resources of the ImageProcessing control.
[]
Syntax
object.Free()
[]
Syntax
void object->Free()
Remarks
  • The resources associated with the ImageProcessing control are automatically freed when the control is destroyed. You must use the Free method if you want to free the control. Note that when you free the ImageProcessing control, all of its results are deleted.
  • To determine the allocation state of a control, use the IsAllocated property. While an ImageProcessing control is in the allocated state, some of its properties cannot be changed at run-time (for example, the owner system of an ImageProcessing control). At run-time, to modify a property that cannot be changed after allocation, you must free the control (using the Free method), change its property(ies), and then re-allocate the control (using the Allocate method). For example, at run-time, to change the owner system of an ImageProcessing control, you must free the ImageProcessing control, make the change in the OwnerSystem property, and allocate the control again.
  • The Free method will generate an error if the control is not allocated.
  • Any property can be changed when its control is in the allocated state, unless it is otherwise stated in the Remarks section of that property.
[]
Example
This example shows how to use the Free method.

If ImageProcessing1.IsAllocated Then
    ImageProcessing1.Free()
End If
[]
Example
This example shows how to use the Free method.

if (m_ImageProcessing1->IsAllocated)
   m_ImageProcessing1->Free();


ImageProcessing.Histogram Method

Histogram method

See Also | Availability | MIL Equivalent | HistogramEqualize | HitOrMiss
User Guide:
Image statistics

Reference:
ImageProcessing.CountDifferences
ImageProcessing.FindExtremes
ImageProcessing.HistogramEqualize
ImageProcessing.LocateEvents
ImageProcessing.Project
ImageProcessing.Source1
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimHistogram()
ImageProcessing
Histogram
Synopsis
Generates the intensity histogram of an image.
[]
Syntax
object.Histogram()
[]
Syntax
void object->Histogram()
Remarks
  • This operation is performed on the image specified by the Source1 property.
  • The histogram results are stored as type longintegerlong (integer for Visual Basic .Net) in the collection of image processing results. This collection can be accessed using the Results property. For this method, the index of the first element in the collection of results starts at zero.
  • If the source image is of type float, its pixel values are cast to unsigned longintegerlong (integer for Visual Basic .Net) before performing the histogram. Therefore, unexpected results can occur if a floating-point value is larger than the unsigned longintegerlong (integer for Visual Basic .Net) range.
  • To accelerate this method, set the ResultType and ResultSize properties to the following before calling this method:
    ResultType | impHistogramList.
    ResultSize | 2 (if the source image data depth is 1).
    256 (if the source image data depth is 8).
    65536 (if the source image data depth is 16).
[]
Example
This example shows how to use the Histogram method.

m_ImageProcessing1->Source1 = m_Image1;
m_ImageProcessing1->Histogram();


ImageProcessing.HistogramEqualize Method

HistogramEqualize method

See Also | Availability | MIL Equivalent | Free | Histogram
User Guide:
Histogram equalization

Reference:
ImageProcessing.CountDifferences
ImageProcessing.Destination1
ImageProcessing.FindExtremes
ImageProcessing.Histogram
ImageProcessing.LocateEvents
ImageProcessing.Project
ImageProcessing.Source1
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimHistogramEqualize()
ImageProcessing
HistogramEqualize
Synopsis
Performs a histogram equalization operation on an image or generates the LUT required to perform this operation.
[]
Syntax
object.HistogramEqualize(
ByVal EqualizationMethod As ImpEqualizationMethodConstants,
ByVal MinimumValue As Double,
ByVal MaximumValue As Double,
ByVal Alpha As Double,
ByVal TransformLUTIndex As Integer
)
[]
Syntax
void object->HistogramEqualize(
enum ImpEqualizationMethodConstants EqualizationMethod,
double MinimumValue,
double MaximumValue,
double Alpha,
long TransformLUTIndex
)
EqualizationMethod
An ImpEqualizationMethodConstants expression that specifies a density function.
Value | Meaning
impUniform | Specifies an equalization density function which generates a Uniform distribution
impExponential | Specifies an equalization density function which generates an Exponential distribution.
impRayleigh | Specifies an equalization density function which generates a Rayleigh distribution.
impHyperCubeRoot | Specifies an equalization density function which generates a Hyperbolic Cube Root distribution.
impHyperLog | Specifies an equalization density function which generates a Hyperbolic Logarithmic distribution.
MinimumValue (optional in , default is 0)
A double value that specifies the lowest pixel value to equalize.
MaximumValue (optional in , default is 255)
A double value that specifies the highest pixel value to equalize.
Alpha (optional in , default is 0)
A double value that specifies the adjustment parameter.
TransformLUTIndex (optional in , default is 0)
A long value that specifies an index in the collection of image processing LUTs, identifying the LUT in which to store results.
Remarks
  • The HistogramEqualize method first generates a histogram of the source image. The histogram and a selected density function are then used to calculate a transformation LUT. The transformation LUT is usually applied directly to the source image. Alternatively, you can generate and place the transformation LUT into the collection of LUTs by passing a LUT index to the TransformLUTIndex parameter. This LUT can be used to equalize several images efficiently, using the LUTMap method.
  • This operation is performed on the image specified by the Source1 property. When the operation is performed directly on the source image, the resulting image is placed in the image specified by the Destination1 property.
  • Floating-point values will be cast to unsigned longintegerlong (integer for Visual Basic .Net) values before performing the histogram. Therefore unexpected results can occur if a floating-point value is larger than the unsigned longintegerlong (integer for Visual Basic .Net) range.
  • The Alpha parameter is used with the impExponential and impRayleigh settings. In the case of the impExponential setting, a greater alpha yields a lower occurrence of the most frequent pixel values in the resulting image.
  • In the case of the impRayleigh setting, the greater the alpha is, the greater the occurrence of the most frequent pixel values in the resulting image.
  • The following defines the actual density functions used:
    Setting Output probability density model Transfer function
    impUniform
    impExponential
    impRayleigh
    impHyperCubeRoot
    impHyperLog
  • The cumulative probability distribution, Pf(f), of the input image is approximated by its cumulative histogram:

    You can also refer to Digital Image Processing, William K. Pratt, United States, John Wiley & Sons, 1978, p.318.

[]
Example
This example shows how to use the HistogramEqualize method.

ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Destination1 = DisplayedImage
ImageProcessing1.HistogramEqualize(impUniform, 0, 255)
[]
Example
This example shows how to use the HistogramEqualize method.

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->HistogramEqualize(impUniform, 0, 255, 0, 0);


ImageProcessing.HitOrMiss Method

HitOrMiss method

See Also | Availability | MIL Equivalent | Histogram | HorizontalEdge
User Guide:
Example of binary and grayscale processing
Searching for hits and misses

Reference:
ImageProcessing.Close
ImageProcessing.ConnectMap
ImageProcessing.Destination1
ImageProcessing.Dilate
ImageProcessing.Distance
ImageProcessing.Erode
ImageProcessing.Label
ImageProcessing.Match
ImageProcessing.Open
ImageProcessing.Source1
ImageProcessing.Thick
ImageProcessing.Thin
ImageProcessing.Watershed
ImageProcessing.ZoneOfInfluence
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimMorphic(
Operation =
M_HIT_OR_MISS
)
ImageProcessing
HitOrMiss
Synopsis
Performs a morphological hit or miss transformation on an image.
[]
Syntax
object.HitOrMiss(
ByVal Index As Integer,
ByVal ProcessingMode As ImpProcessingModeConstants
)
[]
Syntax
void object->HitOrMiss(
long Index,
enum ImpProcessingModeConstants ProcessingMode
)
Index (optional in , default is 1)
A long value that specifies an index into the collection of structuring elements, identifying the structuring element to use. The first element in the collection has an index of 1.
ProcessingMode (optional in , default is impGrayscale)
An ImpProcessingModeConstants expression that specifies the processing mode to use.
Value | Meaning
impGrayscale | The source image's gray values are used for processing.
impBinary | Non-zero pixels will be treated as ones (1) during processing and the resulting non-zero pixels will have all bits set to one.
Remarks
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • Note that when a float buffer is used, in the case of a hit the pixel's value in the destination buffer will be set to 1.
  • The StructuringElements property specifies the collection of structuring elements available to the ImageProcessing control.
  • Note that this method is optimized for packed binary images.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to use the HitOrMiss method.

ImageProcessing1.StructuringElements.Add(impUnsigned, 10, 10)

' Fill the StructuringElement property...

ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Destination1 = DisplayedImage
ImageProcessing1.HitOrMiss(1, impBinary)
[]
Example
This example shows how to use the HitOrMiss method.

m_ImageProcessing1->StructuringElements->Add(impUnsigned, 10, 10);

// Fill the StructuringElement property...

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->HitOrMiss(1, impGrayscale);


ImageProcessing.HorizontalEdge Method

HorizontalEdge method

See Also | Availability | MIL Equivalent | HitOrMiss | Label
User Guide:
Enhancing and detecting edges

Reference:
ImageProcessing.Convert
ImageProcessing.Convolve
ImageProcessing.Destination1
ImageProcessing.EdgeDetect
ImageProcessing.EdgeDetect1
ImageProcessing.EdgeDetect2
ImageProcessing.LaplacianEdge1
ImageProcessing.LaplacianEdge2
ImageProcessing.Rank
ImageProcessing.Sharpen1
ImageProcessing.Sharpen2
ImageProcessing.Smooth
ImageProcessing.Source1
ImageProcessing.VerticalEdge
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Orion
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
MimConvolve(
KernelBufId =
M_HORIZ_EDGE
)
ImageProcessing
HorizontalEdge
Synopsis
Applies a horizontal edge detection filter, which computes the absolute value of the horizontal derivative of the image.
[]
Syntax
object.HorizontalEdge(
ByVal OverscanMode As ImpOverscanModeConstants
)
[]
Syntax
void object->HorizontalEdge(
enum ImpOverscanModeConstants OverscanMode
)
OverscanMode (optional in , default is impOverscanEnable)
An ImpOverscanModeConstants expression that specifies whether the overscan is enabled.
Value | Meaning
impOverscanDisable | Disables overscanning.
impOverscanEnable | Enables overscanning. The overscan is set to transparent overscan.
Remarks
  • This method applies a predefined Finite Impulse Response (FIR) filter. FIR filters operate on a finite neighborhood.
  • The following is the horizontal edge detection filter used:
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • In-place processing is supported (source equals destination); this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
  • The normalization factor is automatically set to use the full range of the destination image without overflows, and the result is given in the number of bits of destination image. To specify a different normalization factor, define a custom filter and set the required normalization factor, using the Kernels.Item.NormalizationFactor property; then, call the Convolve method and specify this filter.
  • This filter uses the default operation control settings. The overscan is set to transparent overscan pixel values, saturation is enabled for results, and the kernel's default center pixel is set as the top-left pixel of the central elements in a neighborhood.
  • You should disable overscanning to accelerate the convoultion for applications in which the overscan data is not important in the resulting image.
  • If the source and destination are multi-band images, the same filter is applied to every band of the source image.
  • The size of the source and destination must be greater or equal to the size of the kernel.
  • When using 32-bit integer images and saturation is disabled, the accumulator image is a 32-bit integer image (long); whereas, when saturation is enabled, the accumulator image is a 64-bit floating point internal image (double).
Remark for Matrox Genesis
  • All 16-bit images are processed as signed images.
[]
Example
This example shows how to use the HorizontalEdge method.

ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Destination1 = DisplayedImage
ImageProcessing1.HorizontalEdge(impOverscanEnable)
[]
Example
This example shows how to use the HorizontalEdge method.

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->HorizontalEdge(impOverscanEnable);


ImageProcessing.Label Method

Label method

See Also | Availability | MIL Equivalent | HorizontalEdge | LaplacianEdge1
User Guide:
Labeling

Reference:
ImageProcessing.Close
ImageProcessing.ConnectMap
ImageProcessing.Destination1
ImageProcessing.Dilate
ImageProcessing.Distance
ImageProcessing.Erode
ImageProcessing.HitOrMiss
ImageProcessing.Match
ImageProcessing.Open
ImageProcessing.Source1
ImageProcessing.Thick
ImageProcessing.Thin
ImageProcessing.Watershed
ImageProcessing.ZoneOfInfluence
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimLabel()
ImageProcessing
Label
Synopsis
Labels blobs in an image.
[]
Syntax
object.Label(
ByVal Lattice As ImpLatticeConstants,
ByVal ProcessingMode As ProcessingModeConstants
)
[]
Syntax
void object->Label(
enum ImpLatticeConstants Lattice,
enum ProcessingModeConstants ProcessingMode
)
Lattice (optional in , default is imp8Connected)
An ImpLatticeConstants expression that specifies which lattice to use.
Value | Meaning
imp8Connected | Each pixel has 8 neighbors. If two blobs touch on the vertical, horizontal, or diagonal, they are considered one blob.
imp4Connected | Each pixel has 4 neighbors. If two blobs touch on the vertical and horizontal axis, they are considered one blob.
ProcessingMode (optional in , default is impGrayscale)
An impProcessingModeConstants expression that specifies the processing mode.
Value | Meaning
impGrayscale | Specifies the grayscale processing mode.
impBinary | Specifies the binary processing mode.
Remarks
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • This function labels all blobs in the specified source image, starting from the top-left corner, with unique consecutive values beginning with the value 1. Each pixel in the same blob is given the same numerical value.
  • The destination image should be large enough to hold the maximum number of objects (blobs). For example, an 8-bit image can be used for a maximum of 254 blobs and a 16-bit image can be used for a maximum of 65534.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to use the Label method.

ImageProcessing1.Source1 = Image1
ImageProcessing1.Destination1 = ResultImage
ImageProcessing1.Label(imp8Connected, impGrayscale)
[]
Example
This example shows how to use the Label method.

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->Label(imp8Connected, impGrayscale);


ImageProcessing.LaplacianEdge1 Method

LaplacianEdge1 method

See Also | Availability | MIL Equivalent | Label | LaplacianEdge2
User Guide:
Enhancing and detecting edges

Reference:
ImageProcessing.Convert
ImageProcessing.Convolve
ImageProcessing.Destination1
ImageProcessing.EdgeDetect
ImageProcessing.EdgeDetect1
ImageProcessing.EdgeDetect2
ImageProcessing.HorizontalEdge
ImageProcessing.LaplacianEdge2
ImageProcessing.Rank
ImageProcessing.Sharpen1
ImageProcessing.Sharpen2
ImageProcessing.Smooth
ImageProcessing.Source1
ImageProcessing.VerticalEdge
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Orion
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
MimConvolve(
KernelBufId =
M_LAPLACIAN_EDGE
)
ImageProcessing
LaplacianEdge1
Synopsis
Applies a 4-connected Laplacian edge detection filter, which computes the Laplacian values of the image.
[]
Syntax
object.LaplacianEdge1(
ByVal OverscanMode As ImpOverscanModeConstants
)
[]
Syntax
void object->LaplacianEdge1(
enum ImpOverscanModeConstants OverscanMode
)
OverscanMode (optional in , default is impOverscanEnable)
An ImpOverscanModeConstants expression that specifies whether the overscan is enabled.
Value | Meaning
impOverscanDisable | Disables overscanning.
impOverscanEnable | Enables overscanning. The overscan is set to transparent overscan.
Remarks
  • This method applies a predefined Finite Impulse Response (FIR) filter. FIR filters operate on a finite neighborhood.
  • The following is the 4-connected Laplacian edge detection filter used:
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • In-place processing is supported (source equals destination); this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
  • This operation only enhances the edges in an image. The Sharpen2 method and the LaplacianEdge1 method perform the same operation, except the Sharpen2 method then adds the enhanced edges to the original image.
  • The normalization factor is automatically set to use the full range of the destination image without overflows, and the result is given in the number of bits of destination image. To specify a different normalization factor, define a custom filter and set the required normalization factor, using the Kernels.Item.NormalizationFactor property; then, call the Convolve method and specify this filter.
  • This filter uses the default operation control settings. The overscan is set to transparent overscan pixel values, saturation is enabled for results, and the kernel's default center pixel is set as the top-left pixel of the central elements in a neighborhood.
  • You should disable overscanning to accelerate the convoultion for applications in which the overscan data is not important in the resulting image.
  • If the source and destination are multi-band images, the same filter is applied to every band of the source image.
  • The size of the source and destination must be greater or equal to the size of the kernel.
  • When using 32-bit integer images and saturation is disabled, the accumulator image is a 32-bit integer image (long); whereas, when saturation is enabled, the accumulator image is a 64-bit floating point internal image (double).
Remark for Matrox Genesis
  • All 16-bit images are processed as signed images.


ImageProcessing.LaplacianEdge2 Method

LaplacianEdge2 method

See Also | Availability | MIL Equivalent | LaplacianEdge1 | LocateEvents
User Guide:
Enhancing and detecting edges

Reference:
ImageProcessing.Convert
ImageProcessing.Convolve
ImageProcessing.Destination1
ImageProcessing.EdgeDetect
ImageProcessing.EdgeDetect1
ImageProcessing.EdgeDetect2
ImageProcessing.HorizontalEdge
ImageProcessing.LaplacianEdge1
ImageProcessing.Rank
ImageProcessing.Sharpen1
ImageProcessing.Sharpen2
ImageProcessing.Smooth
ImageProcessing.Source1
ImageProcessing.VerticalEdge
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Orion
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
MimConvolve(
KernelBufId =
M_LAPLACIAN_EDGE2
)
ImageProcessing
LaplacianEdge2
Synopsis
Applies an 8-connected Laplacian edge detection filter, which computes the Laplacian values of the image.
[]
Syntax
object.LaplacianEdge2(
ByVal OverscanMode As ImpOverscanModeConstants
)
[]
Syntax
void object->LaplacianEdge2(
enum ImpOverscanModeConstants OverscanMode
)
OverscanMode (optional in , default is impOverscanEnable)
An ImpOverscanModeConstants expression that specifies whether the overscan is enabled.
Value | Meaning
impOverscanDisable | Disables overscanning.
impOverscanEnable | Enables overscanning. The overscan is set to transparent overscan.
Remarks
  • This method applies a predefined Finite Impulse Response (FIR) filter. FIR filters operate on a finite neighborhood.
  • The following is the 8-connected Laplacian edge detection filter used:
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • In-place processing is supported (source equals destination); this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
  • This operation only enhances the edges in an image. The Sharpen1 method and the LaplacianEdge2 method perform the same operation except the Sharpen1 method then adds the enhanced edges to the original image.
  • The normalization factor is automatically set to use the full range of the destination image without overflows, and the result is given in the number of bits of destination image. To specify a different normalization factor, define a custom filter and set the required normalization factor, using the Kernels.Item.NormalizationFactor property; then, call the Convolve method and specify this filter.
  • This filter uses the default operation control settings. The overscan is set to transparent overscan pixel values, saturation is enabled for results, and the kernel's default center pixel is set as the top-left pixel of the central elements in a neighborhood.
  • You should disable overscanning to accelerate the convoultion for applications in which the overscan data is not important in the resulting image.
  • If the source and destination are multi-band images, the same filter is applied to every band of the source image.
  • The size of the source and destination must be greater or equal to the size of the kernel.
  • When using 32-bit integer images and saturation is disabled, the accumulator image is a 32-bit integer image (long); whereas, when saturation is enabled, the accumulator image is a 64-bit floating point internal image (double).
Remark for Matrox Genesis
  • All 16-bit images are processed as signed images.
[]
Examples
This example shows how to use the LaplacianEdge2 method.

ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Destination1 = DisplayedImage
ImageProcessing1.LaplacianEdge2(impOverscanEnable)
This example shows how to use the LaplacianEdge2 method.

ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Destination1 = DisplayedImage
ImageProcessing1.LaplacianEdge2(impOverscanEnable)
[]
Example
This example shows how to use the LaplacianEdge2 method.

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->LaplacianEdge2(impOverscanEnable);


ImageProcessing.LocateEvents Method

LocateEvents method

See Also | Availability | MIL Equivalent | LaplacianEdge2 | LUTMap
Reference:
ImageProcessing.CountDifferences
ImageProcessing.FindExtremes
ImageProcessing.Histogram
ImageProcessing.HistogramEqualize
ImageProcessing.Project
ImageProcessing.Source1
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimLocateEvent()
ImageProcessing
LocateEvents
Synopsis
Locates pixels that meet the specified condition in an image.
[]
Syntax
object.LocateEvents(
ByVal Condition As ImpConditionConstants,
ByVal LowValue As Double,
ByVal HighValue As Double
)
[]
Syntax
void object->LocateEvents(
enum ImpConditionConstants Condition,
double LowValue,
double HighValue
)
Condition
An ImpConditionConstants expression that specifies under what condition pixel values are considered an event.
Value | Meaning
impOutOfRange | Pixels with values less than LowValue, or greater than HighValue are considered an event.
impInRange | Pixels with values from LowValue to HighValue, inclusive, are considered an event.
impEqualTo | Pixels with values equal to LowValue are considered an event.
impNotEqualTo | Pixels with values not equal to LowValue are considered an event.
impGreaterThan | Pixels with values greater than LowValue are considered an event.
impLessThan | Pixels with values less than LowValue are considered an event.
impGreaterOrEqualTo | Pixels with values greater than or equal to LowValue are considered an event.
impLessOrEqualTo | Pixels with values less than or equal to LowValue are considered an event.
LowValue
A double value that specifies the lower limit of the condition.
HighValue (optional in , default is 0.0)
A double value that specifies the upper limit of the condition. You can omit this parameter if the locate events condition requires only one value.
Remarks
  • This method finds the coordinates and value of the pixels that satisfy the specified condition in the source image.
  • This operation is performed on the image specified by the Source1 property.
  • Results for located events are stored in the collection of image processing results. This collection can be accessed using the Results property. For this method, the index of the first element in the collection of results starts at one.
  • For each located event, three results are calculated; value and X- and Y-position. These can be accessed using the Results.Item(OccurrenceIndex).Value, Results.Item(OccurrenceIndex).PositionX, and Results.Item(OccurrenceIndex).PositionY properties, respectively.
  • By default, the results are returned as type double in the collection of image processing results. To accelerate this method, you can set the ResultDataType property to impResultSigned if floating-point results are not required.
  • To further accelerate this method, set the ResultType and ResultSize properties to the following before calling this method:
    ResultType | impEventList.
    ResultSize | Variable; depends on your typical source image.
  • If the LocateEvents method needs to store over 100 results in the collection of image processing results, the result type and required size of the collection should be specified explicitly. For all other methods, ActiveMIL is able to determine the exact size required.
[]
Example
This example shows how to use the LocateEvents method.

ImageProcessing1.Source1 = Image1
ImageProcessing1.LocateEvents(impInRange, 50, 100)
[]
Examples
This example shows how to use the LocateEvents method and retrieve the results.

m_ImageProcessing2->LocateEvents(impEqualTo, 55, 55);

_variant_t varResult = m_ImageProcessing2->Results->Item(i);
ILocateEventsResultPtr eventResultPtr =
   (ILocateEventsResultPtr) V_DISPATCH(&varResult);
double PositionXWorld2 = eventResultPtr->PositionX;
This example shows how to use the LocateEvents method.

m_ImageProcessing1->Source1 = m_Loaded_Image;
m_ImageProcessing1->LocateEvents(impInRange, 50, 100);


ImageProcessing.LUTMap Method

LUTMap method

See Also | Availability | MIL Equivalent | LocateEvents | Match
User Guide:
Arithmetic with images

Reference:
ImageProcessing.AbsoluteValue
ImageProcessing.And
ImageProcessing.Binarize
ImageProcessing.Clip
ImageProcessing.Destination1
ImageProcessing.Divide
ImageProcessing.Maximum
ImageProcessing.Minimum
ImageProcessing.Multiply
ImageProcessing.MultiplyAndAccumulate1
ImageProcessing.MultiplyAndAccumulate2
ImageProcessing.Nand
ImageProcessing.Negate
ImageProcessing.Nor
ImageProcessing.Not
ImageProcessing.OffsetGain
ImageProcessing.Or
ImageProcessing.Shift
ImageProcessing.Source1
ImageProcessing.WeightedAverage
ImageProcessing.Xnor
ImageProcessing.Xor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimLutMap()
ImageProcessing
LUTMap
Synopsis
Performs a point-to-point LUT mapping operation on an image.
[]
Syntax
object.LUTMap(
ByVal Index As Integer
)
[]
Syntax
void object->LUTMap(
long Index
)
Index (optional in , default is 1)
A long value that specifies an index into the collection of LUTs, identifying the LUT to use. The first element in the collection has an index of 1.
Remarks
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • If the source image is signed, negative numbers are treated as unsigned values and address the LUT accordingly. For example, -1 is represented as 255 for 8-bit image data and 65535 for 16-bit image data and will therefore address LUT index 255 or 65535, respectively.
  • If the LUT has fewer entries than the full range of source values, unexpected results will occur. If the LUT depth is greater than that of the destination image, results will be truncated to fit the destination image.
  • LUT entries must have been previously initialized, for example, using the HistogramEqualize or the LUTs.Item(LUTIndex).Put methods.
  • The LUTs property specifies the collection of LUTs available to the ImageProcessing control.
[]
Example
This example shows how to use the LUTMap method.

ImageProcessing1.Source1 = Image1
ImageProcessing1.Destination1 = Image2
ImageProcessing1.LUTMap(1)
[]
Example
This example shows how to use the LUTMap method.

m_ImageProcessing1->Source1 = m_ImageSource1;
m_ImageProcessing1->Destination1 = m_ImageSource2;
m_ImageProcessing1->LUTMap(1);


ImageProcessing.Match Method

Match method

See Also | Availability | MIL Equivalent | LUTMap | Maximum
User Guide:
Example of binary and grayscale processing
Matching

Reference:
ImageProcessing.Close
ImageProcessing.ConnectMap
ImageProcessing.Destination1
ImageProcessing.Dilate
ImageProcessing.Distance
ImageProcessing.Erode
ImageProcessing.HitOrMiss
ImageProcessing.Label
ImageProcessing.Open
ImageProcessing.Source1
ImageProcessing.Thick
ImageProcessing.Thin
ImageProcessing.Watershed
ImageProcessing.ZoneOfInfluence
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimMorphic(
Operation =
M_MATCH
)
ImageProcessing
Match
Synopsis
Performs a morphological matching operation on an image.
[]
Syntax
object.Match(
ByVal Index As Integer,
ByVal ProcessingMode As ImpProcessingModeConstants
)
[]
Syntax
void object->Match(
long Index,
enum ImpProcessingModeConstants ProcessingMode
)
Index (optional in , default is 1)
A long value that specifies an index into the collection of structuring elements, identifying the structuring element to use. The first element in the collection has a default index of 1.
ProcessingMode (optional in , default is impGrayscale)
An ImpProcessingModeConstants expression that specifies the processing mode to use.
Value | Meaning
impGrayscale | The source image's gray values are used for processing.
impBinary | Non-zero pixels will be treated as ones (1) during processing and the resulting non-zero pixels will have all bits set to one.
Remarks
  • This method allows you to determine the degree of similarity between certain areas of an image and a match (specified by a structuring element).
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • The StructuringElements property specifies the collection of structuring elements available to the ImageProcessing control.
  • This method is optimized for packed binary images.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to use the Match method.

ImageProcessing1.StructuringElements.Add(impUnsigned, 10, 10)

' Fill the StructuringElement property...

ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Destination1 = DisplayedImage
ImageProcessing1.Match(1, impBinary)
[]
Example
This example shows how to use the Match method.

m_ImageProcessing1->StructuringElements->Add(impUnsigned, 10, 10);

// Fill the StructuringElement property...

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->Match(1, impGrayscale);


ImageProcessing.Maximum Method

Maximum method

See Also | Availability | MIL Equivalent | Match | Minimum
Reference:
ImageProcessing.AbsoluteValue
ImageProcessing.And
ImageProcessing.Binarize
ImageProcessing.Clip
ImageProcessing.Destination1
ImageProcessing.Divide
ImageProcessing.LUTMap
ImageProcessing.Minimum
ImageProcessing.Multiply
ImageProcessing.MultiplyAndAccumulate1
ImageProcessing.MultiplyAndAccumulate2
ImageProcessing.Nand
ImageProcessing.Negate
ImageProcessing.Nor
ImageProcessing.Not
ImageProcessing.OffsetGain
ImageProcessing.Or
ImageProcessing.Shift
ImageProcessing.Source1
ImageProcessing.Source2
ImageProcessing.WeightedAverage
ImageProcessing.Xnor
ImageProcessing.Xor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimArith(
Operation =
M_MAX or
M_MAX_CONST
)
ImageProcessing
Maximum
Synopsis
Performs a point-to-point maximum operation using two source images.
[]
Syntax
object.Maximum()
[]
Syntax
void object->Maximum()
Remarks
  • This method performs the following operation: Destination1 = Max (Source1, Source2)
  • This function is optimized for packed binary images.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to get the Maximum of two images.

ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Source2 = AnImage
ImageProcessing1.Destination1 = DisplayedImage
ImageProcessing1.Maximum()
[]
Example
This example shows how to get the Maximum of two images.

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Source2 = m_AnImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->Maximum();


ImageProcessing.Minimum Method

Minimum method

See Also | Availability | MIL Equivalent | Maximum | MultiplyAndAccumulate1
Reference:
ImageProcessing.AbsoluteValue
ImageProcessing.And
ImageProcessing.Binarize
ImageProcessing.Clip
ImageProcessing.Destination1
ImageProcessing.Divide
ImageProcessing.LUTMap
ImageProcessing.Maximum
ImageProcessing.Multiply
ImageProcessing.MultiplyAndAccumulate1
ImageProcessing.MultiplyAndAccumulate2
ImageProcessing.Nand
ImageProcessing.Negate
ImageProcessing.Nor
ImageProcessing.Not
ImageProcessing.OffsetGain
ImageProcessing.Or
ImageProcessing.Shift
ImageProcessing.Source1
ImageProcessing.Source2
ImageProcessing.WeightedAverage
ImageProcessing.Xnor
ImageProcessing.Xor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimArith(
Operation =
M_MIN or
M_MIN_CONST
)
ImageProcessing
Minimum
Synopsis
Performs a point-to-point minimum operation using two source images.
[]
Syntax
object.Minimum()
[]
Syntax
void object->Minimum()
Remarks
  • This method performs the following operation: Destination1 = Min (Source1, Source2)
  • This method is optimized for packed binary images.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to get the Minimum of two images.

ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Source2 = AnImage
ImageProcessing1.Destination1 = DisplayedImage
ImageProcessing1.Minimum()
[]
Example
This example shows how to get the Minimum of two images.

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Source2 = m_AnImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->Minimum();


ImageProcessing.Multiply Method

Multiply method

See Also | Availability | MIL Equivalent | MultiplyAndAccumulate2 | Nand
Reference:
ImageProcessing.AbsoluteValue
ImageProcessing.And
ImageProcessing.Binarize
ImageProcessing.Clip
ImageProcessing.Destination1
ImageProcessing.Divide
ImageProcessing.LUTMap
ImageProcessing.Maximum
ImageProcessing.Minimum
ImageProcessing.MultiplyAndAccumulate1
ImageProcessing.MultiplyAndAccumulate2
ImageProcessing.Nand
ImageProcessing.Negate
ImageProcessing.Nor
ImageProcessing.Not
ImageProcessing.OffsetGain
ImageProcessing.Or
ImageProcessing.Shift
ImageProcessing.Source1
ImageProcessing.Source2
ImageProcessing.WeightedAverage
ImageProcessing.Xnor
ImageProcessing.Xor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimArith(
Operation =
M_MULT or
M_MULT_CONST
)
ImageProcessing
Multiply
Synopsis
Performs a point-to-point multiply operation using two source images.
[]
Syntax
object.Multiply(
ByVal Saturation As Boolean
)
[]
Syntax
void object->Multiply(
VARIANT_BOOL Saturation
)
Saturation (optional in , default is False)
A boolean value that specifies whether saturation is performed.
Value | Meaning
True | Saturation is performed, meaning that pixel values will be clipped at the maximum value for the image.
False | Saturation is not performed, meaning that pixel values will wrap around from the maximum value to the minimum value for the image.
Remarks
  • This method performs the following operation: Destination1 = Source1 * Source2.
  • Note that either the Source1 or the Source2 property can be a constant but not both.
  • This method is optimized for packed binary images.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to use the Multiply method.

// Multiply the labeling result to augment the gray level of the particles
m_ImageProcessing1->Source1 = m_Image1;
m_ImageProcessing1->Destination1 = m_Image1;
if (MaxLabelNumber)
   {
   m_ImageProcessing1->Source2 = 255 / MaxLabelNumber;
   m_ImageProcessing1->Multiply(FALSE);
   }


ImageProcessing.MultiplyAndAccumulate1 Method

MultiplyAndAccumulate1 method

See Also | Availability | MIL Equivalent | Minimum | MultiplyAndAccumulate2
Reference:
ImageProcessing.AbsoluteValue
ImageProcessing.And
ImageProcessing.Binarize
ImageProcessing.Clip
ImageProcessing.Destination1
ImageProcessing.Divide
ImageProcessing.LUTMap
ImageProcessing.Maximum
ImageProcessing.Minimum
ImageProcessing.Multiply
ImageProcessing.MultiplyAndAccumulate2
ImageProcessing.Nand
ImageProcessing.Negate
ImageProcessing.Nor
ImageProcessing.Not
ImageProcessing.OffsetGain
ImageProcessing.Or
ImageProcessing.Shift
ImageProcessing.Source1
ImageProcessing.Source2
ImageProcessing.Source3
ImageProcessing.Source4
ImageProcessing.Source5
ImageProcessing.WeightedAverage
ImageProcessing.Xnor
ImageProcessing.Xor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimArithMultiple(
Operation =
M_MULTIPLY_ACCUMULATE1
)
ImageProcessing
MultiplyAndAccumulate1
Synopsis
Performs a point-to-point multiply and accumulate 1 operation using the stated source images.
[]
Syntax
object.MultiplyAndAccumulate1(
ByVal Saturation As Boolean
)
[]
Syntax
void object->MultiplyAndAccumulate1(
VARIANT_BOOL Saturation
)
Saturation (optional in , default is False)
A boolean value that specifies if saturation is performed.
Value | Meaning
True | Saturation is performed, meaning that pixel values will be clipped at the maximum value for the image.
False | Saturation is not performed, meaning that pixel values will wrap around from the maximum value to the minimum value for the image.
Remarks
  • This method performs the following operation:
    • Destination1 = ((Source1 * Source2) + Source3)) / Source4
  • The Source1 property must be an image, the Source2 and Source3 properties must be constants. The Source4 property must be a constant of the power 2.
  • Note that the images and the constants must be of the same type (signed or unsigned).
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to use the MultiplyAndAccumulate1 method.

ImageProcessing1.Source1 = ImageSource1
ImageProcessing1.Source2 = 128
ImageProcessing1.Source3 = 100
ImageProcessing1.Source4 = 75
ImageProcessing1.Destination1 = ResultImage
ImageProcessing1.MultiplyAndAccumulate1(True)
[]
Example
This example shows how to use the MultiplyAndAccumulate1 method.

m_ImageProcessing1->Source1 = m_ImageSource1;
m_ImageProcessing1->Source2 = 128L;
m_ImageProcessing1->Source3 = 100L;
m_ImageProcessing1->Source4 = 75L;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->MultiplyAndAccumulate1(TRUE);


ImageProcessing.MultiplyAndAccumulate2 Method

MultiplyAndAccumulate2 method

See Also | Availability | MIL Equivalent | MultiplyAndAccumulate1 | Multiply
Reference:
ImageProcessing.AbsoluteValue
ImageProcessing.And
ImageProcessing.Binarize
ImageProcessing.Clip
ImageProcessing.Destination1
ImageProcessing.Divide
ImageProcessing.LUTMap
ImageProcessing.Maximum
ImageProcessing.Minimum
ImageProcessing.Multiply
ImageProcessing.MultiplyAndAccumulate1
ImageProcessing.Nand
ImageProcessing.Negate
ImageProcessing.Nor
ImageProcessing.Not
ImageProcessing.OffsetGain
ImageProcessing.Or
ImageProcessing.Shift
ImageProcessing.Source1
ImageProcessing.Source2
ImageProcessing.Source3
ImageProcessing.Source4
ImageProcessing.Source5
ImageProcessing.WeightedAverage
ImageProcessing.Xnor
ImageProcessing.Xor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimArithMultiple(
Operation =
M_MULTIPLY_ACCUMULATE_2
)
ImageProcessing
MultiplyAndAccumulate2
Synopsis
Performs a point-to-point multiply and accumulate 2 operation using the stated source images.
[]
Syntax
object.MultiplyAndAccumulate2(
ByVal Saturation As Boolean
)
[]
Syntax
void object->MultiplyAndAccumulate2(
VARIANT_BOOL Saturation
)
Saturation (optional in , default is False)
A boolean value that specifies if saturation is performed.
Value | Meaning
True | Saturation is performed, meaning that pixel values will be clipped at the maximum value for the image.
False | Saturation is not performed, meaning that pixel values will wrap around from the maximum value to the minimum value for the image.
Remarks
  • This method performs the following operation:
    • Destination1 = ((Source1 * Source2) + (Source3 * Source4)) / Source5
  • The Source1 and Source3 properties must be images, the Source2 and Source4 properties must be constants. The Source5 property must be a constant of the power 2.
  • Note that the images and the constants must be of the same type (signed or unsigned).
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to use the MultiplyAndAccumulate2 method.

ImageProcessing1.Source1 = ImageSource1
ImageProcessing1.Source2 = 128
ImageProcessing1.Source3 = ImageSource2
ImageProcessing1.Source4 = 75
ImageProcessing1.Source5 = 200
ImageProcessing1.Destination1 = ResultImage
ImageProcessing1.MultiplyAndAccumulate2(True)
[]
Example
This example shows how to use the MultiplyAndAccumulate2 method.

m_ImageProcessing1->Source1 = m_ImageSource1;
m_ImageProcessing1->Source2 = 128L;
m_ImageProcessing1->Source3 = m_ImageSource3;
m_ImageProcessing1->Source4 = 75L;
m_ImageProcessing1->Source5 = 200L;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->MultiplyAndAccumulate2(TRUE);


ImageProcessing.Nand Method

Nand method

See Also | Availability | MIL Equivalent | Multiply | Negate
Reference:
ImageProcessing.AbsoluteValue
ImageProcessing.And
ImageProcessing.Binarize
ImageProcessing.Clip
ImageProcessing.Destination1
ImageProcessing.Divide
ImageProcessing.LUTMap
ImageProcessing.Maximum
ImageProcessing.Minimum
ImageProcessing.Multiply
ImageProcessing.MultiplyAndAccumulate1
ImageProcessing.MultiplyAndAccumulate2
ImageProcessing.Negate
ImageProcessing.Nor
ImageProcessing.Not
ImageProcessing.OffsetGain
ImageProcessing.Or
ImageProcessing.Shift
ImageProcessing.Source1
ImageProcessing.Source2
ImageProcessing.WeightedAverage
ImageProcessing.Xnor
ImageProcessing.Xor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimArith(
Operation =
M_NAND or
M_NAND_CONST
)
ImageProcessing
Nand
Synopsis
Performs a point-to-point NAND operation using two source images.
[]
Syntax
object.Nand()
[]
Syntax
void object->Nand()
Remarks
  • This method performs the following operation: Destination1 = Source1 NAND Source2.
  • Note that either the Source1 or the Source2 property can be a constant but not both.
  • This method is optimized for packed binary images.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to Nand two images.

ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Source2 = AnImage
ImageProcessing1.Destination1 = DisplayedImage
ImageProcessing1.Nand()
[]
Example
This example shows how to Nand two images.

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Source2 = m_AnImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->Nand();


ImageProcessing.Negate Method

Negate method

See Also | Availability | MIL Equivalent | Nand | Nor
Reference:
ImageProcessing.AbsoluteValue
ImageProcessing.And
ImageProcessing.Binarize
ImageProcessing.Clip
ImageProcessing.Destination1
ImageProcessing.Divide
ImageProcessing.LUTMap
ImageProcessing.Maximum
ImageProcessing.Minimum
ImageProcessing.Multiply
ImageProcessing.MultiplyAndAccumulate1
ImageProcessing.MultiplyAndAccumulate2
ImageProcessing.Nand
ImageProcessing.Nor
ImageProcessing.Not
ImageProcessing.OffsetGain
ImageProcessing.Or
ImageProcessing.Shift
ImageProcessing.Source1
ImageProcessing.WeightedAverage
ImageProcessing.Xnor
ImageProcessing.Xor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimArith(
Operation =
M_NEG
)
ImageProcessing
Negate
Synopsis
Performs a point-to-point negate operation on an image.
[]
Syntax
object.Negate()
[]
Syntax
void object->Negate()
Remarks
  • This method performs the following operation: Destination1 = - Source1.
  • This method is optimized for packed binary images.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to Negate an image.

ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Destination1 = DisplayedImage
ImageProcessing1.Negate()
[]
Example
This example shows how to Negate an image.

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->Negate();


ImageProcessing.Nor Method

Nor method

See Also | Availability | MIL Equivalent | Negate | Not
Reference:
ImageProcessing.AbsoluteValue
ImageProcessing.And
ImageProcessing.Binarize
ImageProcessing.Clip
ImageProcessing.Destination1
ImageProcessing.Divide
ImageProcessing.LUTMap
ImageProcessing.Maximum
ImageProcessing.Minimum
ImageProcessing.Multiply
ImageProcessing.MultiplyAndAccumulate1
ImageProcessing.MultiplyAndAccumulate2
ImageProcessing.Nand
ImageProcessing.Negate
ImageProcessing.Not
ImageProcessing.OffsetGain
ImageProcessing.Or
ImageProcessing.Shift
ImageProcessing.Source1
ImageProcessing.Source2
ImageProcessing.WeightedAverage
ImageProcessing.Xnor
ImageProcessing.Xor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimArith(
Operation =
M_NOR or
M_NOR_CONST
)
ImageProcessing
Nor
Synopsis
Performs a point-to-point NOR operation using two source images.
[]
Syntax
object.Nor()
[]
Syntax
void object->Nor()
Remarks
  • This method performs the following operation: Destination1 = Source1 NOR Source2.
  • This method is optimized for packed binary images.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to Nor two images.

ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Source2 = AnImage
ImageProcessing1.Destination1 = DisplayedImage
ImageProcessing1.Nor()
[]
Example
This example shows how to Nor two images.

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Source2 = m_AnImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->Nor();


ImageProcessing.Not Method

Not method

See Also | Availability | MIL Equivalent | Nor | OffsetGain
Reference:
ImageProcessing.AbsoluteValue
ImageProcessing.And
ImageProcessing.Binarize
ImageProcessing.Clip
ImageProcessing.Destination1
ImageProcessing.Divide
ImageProcessing.LUTMap
ImageProcessing.Maximum
ImageProcessing.Minimum
ImageProcessing.Multiply
ImageProcessing.MultiplyAndAccumulate1
ImageProcessing.MultiplyAndAccumulate2
ImageProcessing.Nand
ImageProcessing.Negate
ImageProcessing.Nor
ImageProcessing.OffsetGain
ImageProcessing.Or
ImageProcessing.Shift
ImageProcessing.Source1
ImageProcessing.Source2
ImageProcessing.WeightedAverage
ImageProcessing.Xnor
ImageProcessing.Xor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimArith(
Operation =
M_NOT
)
ImageProcessing
Not
Synopsis
Performs a point-to-point NOT operation on an image.
[]
Syntax
object.Not()
[]
Syntax
void object->Not()
Remarks
  • This method performs the following operation: Destination1 = ! Source1.
  • This method is optimized for packed binary images.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to use the Not method.

m_ImageProcessing1->Source1 = m_GrabImage1;
m_ImageProcessing1->Destination1 = m_Image1;
m_ImageProcessing1->Not();


ImageProcessing.OffsetGain Method

OffsetGain method

See Also | Availability | MIL Equivalent | Not | Open
Reference:
ImageProcessing.AbsoluteValue
ImageProcessing.And
ImageProcessing.Binarize
ImageProcessing.Clip
ImageProcessing.Destination1
ImageProcessing.Divide
ImageProcessing.LUTMap
ImageProcessing.Maximum
ImageProcessing.Minimum
ImageProcessing.Multiply
ImageProcessing.MultiplyAndAccumulate1
ImageProcessing.MultiplyAndAccumulate2
ImageProcessing.Nand
ImageProcessing.Negate
ImageProcessing.Nor
ImageProcessing.Not
ImageProcessing.Or
ImageProcessing.Shift
ImageProcessing.Source1
ImageProcessing.Source2
ImageProcessing.Source3
ImageProcessing.Source4
ImageProcessing.WeightedAverage
ImageProcessing.Xnor
ImageProcessing.Xor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimArithMultiple(
Operation =
M_OFFSET_GAIN
)
ImageProcessing
OffsetGain
Synopsis
Performs a per-pixel gain and offset correction on an image.
[]
Syntax
object.OffsetGain(
ByVal Saturation As Boolean
)
[]
Syntax
void object->OffsetGain(
VARIANT_BOOL Saturation
)
Saturation (optional in , default is False)
A boolean value that specifies if saturation is added to this method.
Value | Meaning
True | Saturation is performed, meaning that pixel values will be clipped at the maximum value for the image.
False | Saturation is not performed, meaning that pixel values will wrap around from the maximum value to the minimum value for the image.
Remarks
  • This method performs the following operation:
    • Destination1 = ((Source1- Source2) * Source3) / Source4
  • The Source1, Source2, and Source3 properties must be images. The Source4 property must be a constant of the power 2.
  • Note that the images and the constants must of the same type (signed or unsigned).
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to use the OffsetGain method.

ImageProcessing1.Source1 = ImageSource1
ImageProcessing1.Source2 = ImageSource2
ImageProcessing1.Source3 = ImageSource3
ImageProcessing1.Source4 = 128
ImageProcessing1.Destination1 = ResultImage
ImageProcessing1.OffsetGain(True)
[]
Example
This example shows how to use the OffsetGain method.

m_ImageProcessing1->Source1 = m_ImageSource1;
m_ImageProcessing1->Source2 = m_ImageSource2;
m_ImageProcessing1->Source3 = m_ImageSource3;
m_ImageProcessing1->Source4 = 128L;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->OffsetGain(TRUE);


ImageProcessing.Open Method

Open method

See Also | Availability | MIL Equivalent | OffsetGain | Or
User Guide:
Binary and grayscale erosion
Opening and closing

Reference:
ImageProcessing.Close
ImageProcessing.ConnectMap
ImageProcessing.Destination1
ImageProcessing.Dilate
ImageProcessing.Distance
ImageProcessing.Erode
ImageProcessing.HitOrMiss
ImageProcessing.Label
ImageProcessing.Match
ImageProcessing.Source1
ImageProcessing.Thick
ImageProcessing.Thin
ImageProcessing.Watershed
ImageProcessing.ZoneOfInfluence
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimOpen()
ImageProcessing
Open
Synopsis
Performs a morphological opening operation on an image.
[]
Syntax
object.Open(
ByVal NumberOfIterations As Integer,
ByVal ProcessingMode As ImpProcessingModeConstants
)
[]
Syntax
void object->Open(
long NumberOfIterations,
enum ImpProcessingModeConstants ProcessingMode
)
NumberOfIterations (optional in , default is 1)
A long value that specifies the number of times to perform the operation.
ProcessingMode (optional in , default is impGrayscale)
An ImpProcessingModeConstants expression that specifies the processing mode to use.
Value | Meaning
impGrayscale | The source image's gray values are used for processing.
impBinary | Non-zero pixels will be treated as ones (1) during processing and the resulting non-zero pixels will have all bits set to one.
Remarks
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • In binary mode, this method uses a 3x3 full rectangular structuring element; in grayscale mode, a 3x3 empty one is used.
  • This method is optimized for packed binary images.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap..
[]
Example
This example removes small particles and small holes from an image.

// Remove small particles and then remove small holes.
const long MIN_BLOB_RADIUS = 3;

m_ImageProcessing1->Source1 = m_Image1;
m_ImageProcessing1->Destination1 = m_Image1;
m_ImageProcessing1->Open(MIN_BLOB_RADIUS, impBinary);
m_ImageProcessing1->Close(MIN_BLOB_RADIUS, impBinary);


ImageProcessing.Or Method

Or method

See Also | Availability | MIL Equivalent | Open | PolarToRectangular
Reference:
ImageProcessing.AbsoluteValue
ImageProcessing.And
ImageProcessing.Binarize
ImageProcessing.Clip
ImageProcessing.Destination1
ImageProcessing.Divide
ImageProcessing.LUTMap
ImageProcessing.Maximum
ImageProcessing.Minimum
ImageProcessing.Multiply
ImageProcessing.MultiplyAndAccumulate1
ImageProcessing.MultiplyAndAccumulate2
ImageProcessing.Nand
ImageProcessing.Negate
ImageProcessing.Nor
ImageProcessing.Not
ImageProcessing.OffsetGain
ImageProcessing.Shift
ImageProcessing.Source1
ImageProcessing.Source2
ImageProcessing.WeightedAverage
ImageProcessing.Xnor
ImageProcessing.Xor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimArith(
Operation =
M_OR or
M_OR_CONST
)
ImageProcessing
Or
Synopsis
Performs a point-to-point OR operation using two source images.
[]
Syntax
object.Or()
[]
Syntax
void object->Or()
Remarks
  • This method performs the following operation: Destination1 = Source1 OR Source2.
  • Note that either the Source1 or the Source2 property can be a constant but not both.
  • This method is optimized for packed binary images.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to Or two images.

ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Source2 = AnImage
ImageProcessing1.Destination1 = DisplayedImage
ImageProcessing1.Or()
[]
Example
This example shows how to Or two images.

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Source2 = m_AnImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->Or();


ImageProcessing.PolarToRectangular Method

PolarToRectangular method

See Also | Availability | MIL Equivalent | Or | Project
User Guide:
Polar-to-rectangular and rectangular-to-polar transforms

Reference:
ImageProcessing.PolarParameters
ImageProcessing.RectangularToPolar
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimPolarTransform(
OperationMode =
M_POLAR_TO_RECTANGULAR
)
ImageProcessing
PolarToRectangular
Synopsis
Performs a polar-to-rectangular transform.
[]
Syntax
object.PolarToRectangular(
ByVal InterpolationMode As ImpInterpolationModeConstants,
ByVal OverscanMode As ImpOverscanModeConstants
)
[]
Syntax
void object->PolarToRectangular(
enum ImpInterpolationModeConstants InterpolationMode,
enum ImpOverscanModeConstants OverscanMode
)
InterpolationMode (optional in , default is impNearestNeighbor)
An ImpInterpolationModeConstants expression that specifies the interpolation mode.
Value | Meaning
impNearestNeighbor | Nearest-neighbor interpolation.
impBilinear | Bilinear interpolation.
impBicubic | Bicubic interpolation.
OverscanMode (optional in , default is impOverscanEnable)
An ImpOverscanModeConstants expression that specifies how to determine the value of a destination pixel when its associated point falls outside the source image.
Value | Meaning
impOverscanEnable | Use pixels from the source image's ancestor to determine the value of the destination pixel. If the source image is not a child image or if the associated point falls outside its ancestor, leave the destination pixel as is.
impOverscanDisable | Leave the destination pixel as is.
impOverscanClear | Set the destination pixel to 0.
Remarks
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • This method takes a polar image and maps it to a rectangular image. Use PolarParameters.CenterX, PolarParameters.CenterY, PolarParameters.StartRadius, PolarParameters.EndRadius, PolarParameters.StartAngle and PolarParameters.EndAngle properties of the ImageProcessing control to specify where in the destination image the polar image will be mapped.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to use the PolarToRectangular method.

ImageProcessing1.PolarParameters.CenterX = 300
ImageProcessing1.PolarParameters.CenterY = 200
ImageProcessing1.PolarParameters.StartRadius = 200
ImageProcessing1.PolarParameters.EndRadius = 50
ImageProcessing1.PolarParameters.StartAngle = 0
ImageProcessing1.PolarParameters.EndAngle = 180

ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Destination1 = DisplayedImage

ImageProcessing1.PolarToRectangular(impBilinear, impOverscanEnable)
[]
Example
This example shows how to use the PolarToRectangular method.

m_ImageProcessing1->PolarParameters->CenterX = 300;
m_ImageProcessing1->PolarParameters->CenterY = 200;
m_ImageProcessing1->PolarParameters->StartRadius = 200;
m_ImageProcessing1->PolarParameters->EndRadius = 50;
m_ImageProcessing1->PolarParameters->StartAngle = 0;
m_ImageProcessing1->PolarParameters->EndAngle = 180;

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;

m_ImageProcessing1->PolarToRectangular(impNearestNeighbor, impOverscanEnable);


ImageProcessing.Project Method

Project method

See Also | Availability | MIL Equivalent | PolarToRectangular | Rank
User Guide:
Projecting an image to one dimension

Reference:
ImageProcessing.CountDifferences
ImageProcessing.FindExtremes
ImageProcessing.Histogram
ImageProcessing.HistogramEqualize
ImageProcessing.LocateEvents
ImageProcessing.Results
ImageProcessing.Source1
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimProject()
ImageProcessing
Project
Synopsis
Projects a 2D image into 1D.
[]
Syntax
object.Project(
ByVal ProjectionAngle As Double
)
[]
Syntax
void object->Project(
double ProjectionAngle
)
ProjectionAngle
A double value that specifies the angle of projection, in degrees.
Remarks
  • This method projects a two-dimensional image into one-dimension using the specified angle. The results are generated by adding all pixel values along each diagonal in the image at the specified projection angle.
  • This operation is performed on the image specified by the Source1 property.
  • Note that the source image must be 1 band.
  • Only 0 and 90 degree projection angles are supported. The 90° projection of the image is known as the row profile; the 0° projection is known as the column profile.
  • By default, the projection results are stored as an array of type double in the collection of image processing results. To accelerate this method, you can set the ResultDataType property to impResultSigned if floating-point results are not required. You can access results using the Results property. For this method, the index of the first element in the collection of results starts at zero.
  • To further accelerate this method, set the ResultType and ResultSize properties to the following before calling this method:
    ResultType | impProjectionList.
    ResultSize | X-dimension of source image (if ProjectionAngle is 0°).
    Y-dimension of source image (if ProjectionAngle is 90°).
[]
Example
This example shows how to use the Project method.

ImageProcessing1.Source1 = Image1
ImageProcessing1.Project(90)
[]
Example
This example shows how to use the Project method.

m_ImageProcessing1->Source1 = m_ImageSource1;
m_ImageProcessing1->Project(90);


ImageProcessing.Rank Method

Rank method

See Also | Availability | MIL Equivalent | Project | RectangularToPolar
User Guide:
Denoising
Example of binary and grayscale processing

Reference:
ImageProcessing.Convert
ImageProcessing.Convolve
ImageProcessing.Destination1
ImageProcessing.EdgeDetect
ImageProcessing.EdgeDetect1
ImageProcessing.EdgeDetect2
ImageProcessing.HorizontalEdge
ImageProcessing.LaplacianEdge1
ImageProcessing.LaplacianEdge2
ImageProcessing.Sharpen1
ImageProcessing.Sharpen2
ImageProcessing.Smooth
ImageProcessing.Source1
ImageProcessing.VerticalEdge
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
MimRank()
ImageProcessing
Rank
Synopsis
Performs a rank filter on an image.
[]
Syntax
object.Rank(
ByVal Index As Integer,
ByVal Number As Integer,
ByVal ProcessingMode As ImpProcessingModeConstants
)
[]
Syntax
void object->Rank(
long Index,
long Number,
enum ImpProcessingModeConstants ProcessingMode
)
Index
A longintegerlong (integer for Visual Basic .Net) value or an ImpRankTypeConstants expression that specifies the mask to use.
Value | Meaning
value | A longintegerlong (integer for Visual Basic .Net) value that specifies an index into the structuring elements collection, identifying the structuring element to use as the mask.
imp3x3Rect | Applies no mask and sets the neighborhood size to 3x3 pixels.
imp3x3Cross | Applies a cross (+) mask and sets the neighborhood size to 3x3 pixels. The cross mask makes the method ignore the pixels located in the four corners of the neighborhood.
Number (optional in , default is impMedian)
A longintegerlong (integer for Visual Basic .Net) value or an ImpMiscImageProcessingConstants expression that specifies the pixel values to select after valid neighborhood values are sorted in increasing order.
Value | Meaning
value | A longintegerlong (integer for Visual Basic .Net) value that specifies the pixel value to select after valid neighborhood values are sorted in increasing order. This parameter can be a value in the range of 1 to the number of valid neighborhood pixels.
impMedian | Selects the median pixel value after valid neighborhood values are sorted in increasing order. This effectively implements a median filter.
ProcessingMode (optional in , default is impGrayscale)
An ImpProcessingModeConstants expression which specifies the processing mode to use.
Value | Meaning
impGrayscale | The source image's gray values are used for processing.
impBinary | Non-zero pixels will be treated as ones (1) during processing and the resulting non-zero pixels will have all bits set to one.
Remarks
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • Each pixel is replaced with the pixel in its neighborhood whose value has the specified rank relative to others. This operation uses a specified structuring element as a mask. The structuring element dimensions are used as the neighborhood size. Values in the structuring element set to a captial 'D' (impDontCare) represent neighborhood pixels not to be considered in the ranking operation. All other values of the structuring element must be set to 1, representing neighborhood pixels to be considered in the ranking operation. You can either define your own structuring element to be used as a mask or you can use a predefined mask image.
  • The StructuringElements property specifies the collection of structuring elements available to the ImageProcessing control.
  • Note that the number of valid pixels will be used as the rank number, when the number of valid pixels is less that the given rank.
  • This method is optimized for packed binary images.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
Remark for Matrox Genesis
  • The imp3x3Cross setting is not supported.
[]
Example
This example shows how to use the Rank method.

ImageProcessing1.Source1 = Image1
ImageProcessing1.Destination1 = Image3
ImageProcessing1.Rank(1, impMedian, impGrayscale)
[]
Example
This example shows how to use the Rank method.

m_ImageProcessing1->Source1 = m_ImageSource1;
m_ImageProcessing1->Destination1 = m_ImageSource3;
m_ImageProcessing1->Rank(1, impMedian, impGrayscale);


ImageProcessing.RectangularToPolar Method

RectangularToPolar method

See Also | Availability | MIL Equivalent | Rank | Resize
User Guide:
Polar-to-rectangular and rectangular-to-polar transforms

Reference:
ImageProcessing.PolarParameters
ImageProcessing.PolarToRectangular
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimPolarTransform(
OperationMode =
M_RECTANGULAR_TO_POLAR
)
ImageProcessing
RectangularToPolar
Synopsis
Performs a rectangular-to-polar transform.
[]
Syntax
object.RectangularToPolar(
ByVal InterpolationMode As ImpInterpolationModeConstants,
ByVal OverscanMode As ImpOverscanModeConstants
)
[]
Syntax
void object->RectangularToPolar(
enum ImpInterpolationModeConstants InterpolationMode,
enum ImpOverscanModeConstants OverscanMode
)
InterpolationMode (optional in , default is impNearestNeighbor)
An ImpInterpolationModeConstants expression that specifies the interpolation mode.
Value | Meaning
impNearestNeighbor | Nearest-neighbor interpolation.
impBilinear | Bilinear interpolation.
impBicubic | Bicubic interpolation.
OverscanMode (optional in , default is impOverscanEnable)
An ImpOverscanModeConstants expression that specifies how to determine the value of a destination pixel when its associated point falls outside the source image.
Value | Meaning
impOverscanEnable | Use pixels from the source image's ancestor to determine the value of the destination pixel. If the source image is not a child image or if the associated point falls outside its ancestor, leave the destination pixel as is.
impOverscanDisable | Leave the destination pixel as is.
impOverscanClear | Set the destination pixel to 0.
Remarks
  • This operation is performed on the image specified by the Source1 property.The resulting image is placed in the image specified by the Destination1 property.
  • Set the zone to convert by specifying the center coordinates (PolarParameters.CenterX and PolarParameters.CenterY properties of the ImageProcessing control), the start and end radius (PolarParameters.StartRadius and PolarParameters.EndRadius properties of the ImageProcessing control), and the start and end angle (PolarParameters.StartAngle and PolarParameters.EndAngle properties of the ImageProcessing control).
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to use the RectangularToPolar method.

const long DELTA_RADIUS = 25;
const long START_ANGLE  = 210;
const long END_ANGLE    = 330;

IPolarParametersPtr PolarParameters = m_ImageProcessing1->PolarParameters;
PolarParameters->CenterX            = CenterX;
PolarParameters->CenterY            = CenterY;
PolarParameters->StartRadius        = Radius + DELTA_RADIUS;
PolarParameters->EndRadius          = Radius - DELTA_RADIUS;
PolarParameters->StartAngle         = START_ANGLE;
PolarParameters->EndAngle           = END_ANGLE;

m_ImageProcessing1->Source1 = m_Image1;
m_ImageProcessing1->Destination1 = m_ChildImage;

m_ImageProcessing1->RectangularToPolar(impNearestNeighbor, impOverscanEnable);


ImageProcessing.Resize Method

Resize method

See Also | Availability | MIL Equivalent | RectangularToPolar | Rotate
User Guide:
Basic geometric transforms

Reference:
ImageProcessing.Destination1
ImageProcessing.Flip
ImageProcessing.Rotate
ImageProcessing.Source1
ImageProcessing.Translate
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
MimResize()
ImageProcessing
Resize
Synopsis
Resizes an image in the X- and/or Y-directions.
[]
Syntax
object.Resize(
ByVal ScaleFactorX As Double,
ByVal ScaleFactorY As Double,
ByVal InterpolationMode As ImpInterpolationModeConstants,
ByVal OverscanMode As ImpOverscanModeConstants
)
[]
Syntax
void object->Resize(
double ScaleFactorX,
double ScaleFactorY,
enum ImpInterpolationModeConstants InterpolationMode,
enum ImpOverscanModeConstants OverscanMode
)
ScaleFactorX
A double value that specifies the scaling factor for the width of the source image.
Value | Meaning
impFillDestination | The source image is resized to fill the entire width and/or height of the destination.
positive value | A positive factor greater than 1.0. enlarges the source image and a positive factor less than one reduces the image.
ScaleFactorY
A double value that specifies the scaling factor for the height of the source image.
Value | Meaning
impFillDestination | The source image is resized to fill the entire width and/or height of the destination.
positive value | A positive factor greater than 1.0. enlarges the source image and a positive factor less than one reduces the image.
InterpolationMode (optional in , default is impNearestNeighbor)
An ImpInterpolationModeConstants expression which specifies the mode of interpolation.
Value | Meaning
impNearestNeighbor | Nearest neighbor interpolation.
impBilinear | Bilinear interpolation.
impBicubic | Bicubic interpolation.
impAverage | Averaging interpolation for dezooming only.
impInterpolatedResize | Interpolated resizing: for zooming = bilinear; for dezooming = averaging

It is also possible to add the following to the InterpolationMode to control the speed and precision of the interpolation:
Value | Meaning
impFast | Use the fast interpolation method. This method is less precise.
impRegular | Use the slow interpolation method. This method is more precise.
OverscanMode (optional in , default is impOverscanEnable)
An ImpOverscanModeConstants expression that specifies how to determine the value of a destination pixel when its associated source point falls outside the source image.
Value | Meaning
impOverscanEnable | Use pixels from the source image's ancestor to determine the value of the destination pixel. If the source image is not a child image or if the associated point falls outside its ancestor, leave the destination pixel as is.
impOverscanDisable | Leave the destination pixel as is.
impOverscanClear | Set the destination pixel to 0.
Remarks
  • If the ImageProcessing control is created at design-time, the .NET ActiveX Control Importer (AxImp.exe) renames this ActiveMIL method from Resize() to CtlResize() to avoid name clashing with the Resize() method of the .NET Windows Form control. See the Windows Forms ActiveX Control Importer (AxImp.exe) topic in MSDN for more information. In addition, if the control is created at run-time with the AxMatrox.ActiveMIL.* namespace, you must use CtlResize() to call the ActiveMIL Resize() method.
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property, starting from the top-left corner.
  • impInterpolatedResize gives the best speed/result compromise for interpolated resizing.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
Remark for Matrox Genesis
  • You cannot set the OverscanMode parameter to impOverscanEnable.
[]
Example
This example shows how to use the Resize method.

ImageProcessing1.Source1 = Image1
ImageProcessing1.Destination1 = ResultImage
ImageProcessing1.CtlResize(impFillDestination, _
    impFillDestination, impNearestNeighbor, impOverscanEnable)
[]
Example
This example shows how to use the Resize method.

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->Resize(impFillDestination, impFillDestination,
                           impNearestNeighbor,impOverscanEnable);


ImageProcessing.Rotate Method

Rotate method

See Also | Availability | MIL Equivalent | Resize | Sharpen1
User Guide:
Basic geometric transforms

Reference:
ImageProcessing.Destination1
ImageProcessing.Flip
ImageProcessing.Resize
ImageProcessing.Source1
ImageProcessing.Translate
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
MimRotate()
ImageProcessing
Rotate
Synopsis
Rotates an image around the specified center of rotation.
[]
Syntax
object.Rotate(
ByVal Angle As Double,
ByVal InterpolationMode As ImpInterpolationModeConstants,
ByVal OverscanMode As ImpOverscanModeConstants,
ByVal SourceCenterX As double,
ByVal SourceCenterY As Double,
ByVal DestinationCenterX As Double,
ByVal DestinationCenterY As Double
)
[]
Syntax
void object->Rotate(
double Angle,
enum ImpInterpolationModeConstants InterpolationMode,
enum ImpOverscanModeConstants OverscanMode,
enum double SourceCenterX,
double SourceCenterY,
double DestinationCenterX,
double DestinationCenterY
)
Angle
A double value that specifies the angle of rotation, in degrees.
InterpolationMode (optional in , default is impNearestNeighbor)
An ImpInterpolationModeConstants expression that specifies the mode of interpolation.
Value | Meaning
impNearestNeighbor | Nearest neighbor interpolation.
impBilinear | Bilinear interpolation.
impBicubic | Bicubic interpolation.
OverscanMode (optional in , default is impOverscanEnable)
An ImpOverscanModeConstants expression that specifies how to determine the value of a destination pixel when its associated point falls outside the source image.
Value | Meaning
impOverscanEnable | Uses pixels from the source image's ancestor to determine the value of the destination pixel. If the source image is not a child image or if the associated point falls outside its ancestor, leave the destination pixel as is.
impOverscanDisable | Leaves the destination pixel as is.
impOverscanClear | Sets the destination pixel to 0.
SourceCenterX (optional in , default is amilDefault)
A double value or an ActiveMILDefaultConstants expression that specifies the X-coordinate of the source rotation center.
Value | Meaning
amilDefault | Rotates the image about its true center.
value | Specifies the X-coordinate of the source rotation center.
SourceCenterY (optional in , default is amilDefault)
A double value or an ActiveMILDefaultConstants expression that specifies the Y-coordinate of the source rotation center.
Value | Meaning
amilDefault | Rotates the image about its true center.
value | Specifies the Y-coordinate of the source rotation center.
DestinationCenterX (optional in , default is amilDefault)
A double value or an ActiveMILDefaultConstants expression that specifies the X-coordinate of the destination rotation center.
Value | Meaning
amilDefault | Rotates the image about its true center.
value | Specifies the X-coordinate of the destination rotation center.
DestinationCenterY (optional in , default is amilDefault)
A double value or an ActiveMILDefaultConstants expression that specifies the Y-coordinate of the destination rotation center.
Value | Meaning
amilDefault | Rotates the image about its true center.
value | Specifies the Y-coordinate of the destination rotation center.
Remarks
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • After the image is rotated, it will then be clipped to fit the destination image.
  • The source image's center coordinates are mapped to the specified destination coordinates.
Remark for Matrox Genesis
  • You cannot set the OverscanMode parameter to impOverscanDisable.
[]
Example
This example shows how to use the Rotate method.

ImageProcessing1.Source1 = Image1
ImageProcessing1.Destination1 = ResultImage
ImageProcessing1.Rotate(33.3, impNearestNeighbor, _
                impOverscanEnable, amilDefault, _
                amilDefault, amilDefault, amilDefault)
[]
Example
This example shows how to use the Rotate method.

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->Rotate(33.3, impNearestNeighbor, impOverscanEnable,
                           amilDefault, amilDefault, amilDefault, amilDefault);


ImageProcessing.Sharpen1 Method

Sharpen1 method

See Also | Availability | MIL Equivalent | Rotate | Sharpen2
User Guide:
Enhancing and detecting edges

Reference:
ImageProcessing.Convert
ImageProcessing.Convolve
ImageProcessing.Destination1
ImageProcessing.EdgeDetect
ImageProcessing.EdgeDetect1
ImageProcessing.EdgeDetect2
ImageProcessing.HorizontalEdge
ImageProcessing.LaplacianEdge1
ImageProcessing.LaplacianEdge2
ImageProcessing.Rank
ImageProcessing.Sharpen2
ImageProcessing.Smooth
ImageProcessing.Source1
ImageProcessing.VerticalEdge
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Orion
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
MimConvolve(
KernelBufId =
M_SHARPEN
)
ImageProcessing
Sharpen1
Synopsis
Applies a sharpening filter, which performs a sharpening operation on the image using an 8-connected Laplacian filter combined with the original image.
[]
Syntax
object.Sharpen1(
ByVal OverscanMode As ImpOverscanModeConstants
)
[]
Syntax
void object->Sharpen1(
enum ImpOverscanModeConstants OverscanMode
)
OverscanMode (optional in , default is impOverscanEnable)
An ImpOverscanModeConstants expression that specifies whether the overscan is enabled.
Value | Meaning
impOverscanDisable | Disables overscanning.
impOverscanEnable | Enables overscanning. The overscan is set to transparent overscan.
Remarks
  • This method applies a predefined Finite Impulse Response (FIR) filter. FIR filters operate on a finite neighborhood.
  • The following is the 8-connected Laplacian filter combined with the original image:
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • In-place processing is supported (source equals destination); this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
  • This operation enhances the edges in an image and then adds these to the original image. The Sharpen1 method and the LaplacianEdge2 method perform the same operation, except the LaplacianEdge2 method does not add the enhanced edges to the original image.
  • The Sharpen1 method results in a stronger sharpening effect than the Sharpen2 method.
  • The normalization factor is automatically set to use the full range of the destination image without overflows, and the result is given in the number of bits of destination image. To specify a different normalization factor, define a custom filter and set the required normalization factor, using the Kernels.Item.NormalizationFactor property; then, call the Convolve method and specify this filter.
  • This filter uses the default operation control settings. The overscan is set to transparent overscan pixel values, saturation is enabled for results, and the kernel's default center pixel is set as the top-left pixel of the central elements in a neighborhood.
  • You should disable overscanning to accelerate the convoultion for applications in which the overscan data is not important in the resulting image.
  • If the source and destination are multi-band images, the same filter is applied to every band of the source image.
  • The size of the source and destination must be greater or equal to the size of the kernel.
  • When using 32-bit integer images and saturation is disabled, the accumulator image is a 32-bit integer image (long); whereas, when saturation is enabled, the accumulator image is a 64-bit floating point internal image (double).
Remark for Matrox Genesis
  • All 16-bit images are processed as signed images.
[]
Example
This example shows how to use the Sharpen1 method.

ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Destination1 = DisplayedImage
ImageProcessing1.Sharpen1(impOverscanEnable)
[]
Example
This example shows how to use the Sharpen1 method.

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->Sharpen1(impOverscanEnable);


ImageProcessing.Sharpen2 Method

Sharpen2 method

See Also | Availability | MIL Equivalent | Sharpen1 | Shen
User Guide:
Enhancing and detecting edges

Reference:
ImageProcessing.Convert
ImageProcessing.Convolve
ImageProcessing.Destination1
ImageProcessing.EdgeDetect
ImageProcessing.EdgeDetect1
ImageProcessing.EdgeDetect2
ImageProcessing.HorizontalEdge
ImageProcessing.LaplacianEdge1
ImageProcessing.LaplacianEdge2
ImageProcessing.Rank
ImageProcessing.Sharpen1
ImageProcessing.Smooth
ImageProcessing.Source1
ImageProcessing.VerticalEdge
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Orion
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
MimConvolve(
KernelBufId =
M_SHARPEN2
)
ImageProcessing
Sharpen2
Synopsis
Applies a sharpening filter, which performs a sharpening operation on the image using a 4-connected Laplacian filter combined with the original image.
[]
Syntax
object.Sharpen2(
ByVal OverscanMode As ImpOverscanModeConstants
)
[]
Syntax
void object->Sharpen2(
enum ImpOverscanModeConstants OverscanMode
)
OverscanMode (optional in , default is impOverscanEnable)
An ImpOverscanModeConstants expression that specifies whether the overscan is enabled.
Value | Meaning
impOverscanDisable | Disables overscanning.
impOverscanEnable | Enables overscanning. The overscan is set to transparent overscan.
Remarks
  • This method applies a predefined Finite Impulse Response (FIR) filter. FIR filters operate on a finite neighborhood.
  • The following is the 4-connected Laplacian filter combined with the original image:
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • In-place processing is supported (source equals destination); this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
  • This operation enhances the edges in an image and then adds these to the original image. The Sharpen2 method and the LaplacianEdge1 method perform the same operation, except the LaplacianEdge1 method does not add the enhanced edges to the original image.
  • The Sharpen1 method results in a stronger sharpening effect than the Sharpen2 method.
  • The normalization factor is automatically set to use the full range of the destination image without overflows, and the result is given in the number of bits of destination image. To specify a different normalization factor, define a custom filter and set the required normalization factor, using the Kernels.Item.NormalizationFactor property; then, call the Convolve method and specify this filter.
  • This filter uses the default operation control settings. The overscan is set to transparent overscan pixel values, saturation is enabled for results, and the kernel's default center pixel is set as the top-left pixel of the central elements in a neighborhood.
  • You should disable overscanning to accelerate the convoultion for applications in which the overscan data is not important in the resulting image.
  • If the source and destination are multi-band images, the same filter is applied to every band of the source image.
  • The size of the source and destination must be greater or equal to the size of the kernel.
  • When using 32-bit integer images and saturation is disabled, the accumulator image is a 32-bit integer image (long); whereas, when saturation is enabled, the accumulator image is a 64-bit floating point internal image (double).
Remark for Matrox Genesis
  • All 16-bit images are processed as signed images.
[]
Example
This example shows how to apply the Sharpen2 method.

ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Destination1 = DisplayedImage
ImageProcessing1.Sharpen2(impOverscanEnable)
[]
Example
This example shows how to apply the Sharpen2 method.

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->Sharpen2(impOverscanEnable);


ImageProcessing.Shen Method

Shen method

See Also | Availability | MIL Equivalent | Sharpen2 | Shift
User Guide:
Denoising
Enhancing and detecting edges

Reference:
ImageProcessing.Convolve
ImageProcessing.Deriche
ImageProcessing.Destination1
ImageProcessing.EdgeDetect
ImageProcessing.EdgeDetect1
ImageProcessing.EdgeDetect2
ImageProcessing.HorizontalEdge
ImageProcessing.LaplacianEdge1
ImageProcessing.LaplacianEdge2
ImageProcessing.Sharpen1
ImageProcessing.Sharpen2
ImageProcessing.Smooth
ImageProcessing.Source1
ImageProcessing.VerticalEdge
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimConvolve(
KernelBufId =
M_SHEN_FILTER(FilterOperation, FilterSmoothness)
)
ImageProcessing
Shen
Synopsis
Applies a Shen-Castan Infinite Support Exponential (IIR) filter on an image.
[]
Syntax
object.Shen(
ByVal FilterOperation As ImpFilterOperationConstants,
ByVal FilterSmoothness As Integer
)
[]
Syntax
void object->Shen(
enum ImpFilterOperationConstants FilterOperation,
long FilterSmoothness
)
FilterOperation (optional in , default is amilDefault)
An ImpFilterOperationConstants or an ActiveMILDefaultConstants expression that specifies the type of operation to perform.
Value | Meaning
impSmooth | Performs a smoothing operation on the image using a Shen-Castan filter.
impSharpen | Performs a sharpening operation on the image using a Shen-Castan filter.
impHorizontalEdge | Computes the absolute value of the horizontal derivative of the image using a Shen-Castan filter.
impVerticalEdge | Computes the absolute value of the vertical derivative of the iamge using a Shen-Castan filter.
impEdgeDetect | Computes the gradient of the image using a Shen-Castan filter.
impEdgeDetectSquare | Computes the square of the gradient of the image using a Shen-Castan filter.
impLaplacianEdge | Computes the Laplacian values of the image using a Shen-Castan filter.
impFirstDerivativeX | Computes the first derivative of the image, with respect to X, using a Shen-Castan filter.
impFirstDerivativeY | Computes the first derivative of the image, with respect to Y, using a Shen-Castan filter.
impSecondDerivativeX | Computes the second derivative of the image, with respect to X, using a Shen-Castan filter.
impSecondDerivativeY | Computes the second derivative of the image, with respect to Y, using a Shen-Castan filter.
impSecondDerivativeXY | Computes the second derivative of the image, with respect to X and Y, using a Shen-Castan filter.
amilDefault | Specifies the default filter operation. The default is impSmooth.
FilterSmoothness (optional in , default is amilDefault)
A longintegerlong (integer for Visual Basic .Net) value or an ActiveMILDefaultConstants constant expression that specifies the degree of smoothness (strength of the denoising) applied by the convolution operation.
Value | Meaning
value | A long value that specifies the smoothness. This parameter can be a value in the range of 0.0 to 100.0.
amilDefault | A constant expression that specifies the default value. The default value is 50.0.
Remarks
  • This method applies a predefined Infinite Impulse Response (IIR) filter. IIR filters take in account all values in an image.
  • The Shen-Castan Infinite Support Exponential filter is an exponential weighting function, of the general form:
  • For the Shen-Castan filter, the neighborhoods' influence decreases much faster as the distance from the central pixel increases, compared to the Canny-Deriche filter (Deriche method).
  • A smoothness value of 100.0 results in a strong noise reduction effect, while a value of 0.0 has almost no noise reduction effect.
  • This filter uses a recursive implementation, and the overscan pixel values are ignored.
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • In-place processing is supported (source equals destination); this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
  • The normalization factor is automatically set to use the full range of the destination image without overflows, and the result is given in the number of bits of destination image. To specify a different normalization factor, define a custom filter and set the required normalization factor, using the Kernels.Item.NormalizationFactor property; then, call the Convolve method and specify this filter.
  • If the source and destination are multi-band images, the same filter is applied to every band of the source image.
  • When using 32-bit floating point source images, operations are performed using floating-point precision, regardless of the destination image; whereas, when using 32-bit floating point source images, operations are performed using fixed-point precision.


ImageProcessing.Shift Method

Shift method

See Also | Availability | MIL Equivalent | Shen | ShowPropertyPages
Reference:
ImageProcessing.AbsoluteValue
ImageProcessing.And
ImageProcessing.Binarize
ImageProcessing.Clip
ImageProcessing.Destination1
ImageProcessing.Divide
ImageProcessing.LUTMap
ImageProcessing.Maximum
ImageProcessing.Minimum
ImageProcessing.Multiply
ImageProcessing.MultiplyAndAccumulate1
ImageProcessing.MultiplyAndAccumulate2
ImageProcessing.Nand
ImageProcessing.Negate
ImageProcessing.Nor
ImageProcessing.Not
ImageProcessing.OffsetGain
ImageProcessing.Or
ImageProcessing.Source1
ImageProcessing.WeightedAverage
ImageProcessing.Xnor
ImageProcessing.Xor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimShift()
ImageProcessing
Shift
Synopsis
Performs a point-to-point bit shift operation on an image.
[]
Syntax
object.Shift(
ByVal ShiftFactor As Integer
)
[]
Syntax
void object->Shift(
long ShiftFactor
)
ShiftFactor
A long value that specifies the number of bits to shift each pixel value.
Remarks
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • If the given value in the ShiftFactor parameter is negative, each pixel in the specified image is right bit-shifted by the specified number of bits; otherwise, it is left bit-shifted.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to use the Shift method to shift each pixel value by 3.

ImageProcessing1.Source1 = Image1
ImageProcessing1.Destination1 = ResultImage
ImageProcessing1.Shift(3)
[]
Example
This example shows how to use the Shift method to shift each pixel value by 3.

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->Shift(3);


ImageProcessing.ShowPropertyPages Method

ShowPropertyPages method

Availability | MIL Equivalent | Shift | Smooth
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
ShowPropertyPages
Synopsis
Opens the specified property pages of the Image Processing control in a window.
[]
Syntax
object.ShowPropertyPages(
ByVal Pages As ImpPropertyPagesConstants,
ByVal Caption As String,
ByVal hWndParent As Integer,
ByVal Reserved As Boolean
)
[]
Syntax
void object->ShowPropertyPages(
enum ImpPropertyPagesConstants Pages,
_bstr_t Caption,
long hWndParent,
VARIANT_BOOL Reserved
)
Pages
An ImpPropertyPagesConstants expression that specifies the page(s) to display. You can add the following constants together to display multiple pages.
Value | Meaning
impGeneralPropertyPage | Display the ImageProcessing control's General property page.
impImagesPropertyPage | Display the ImageProcessing control's Images property page.
impLUTsPropertyPage | Display the ImageProcessing control's LUTs property page.
impKernelsPropertyPage | Display the ImageProcessing control's Kernels property page.
impStructuringElementsPropertyPage | Display the ImageProcessing control's Structuring Elements property page.
impHistoryPropertyPage | Display the ImageProcessing control's History property page.
impAllPropertyPages | Display all of the ImageProcessing control's available property pages.
Caption (optional in , default is "")
A string value that specifies the caption for the property pages window. The default is an empty string, in which case a generic caption will be displayed.
hWndParent (optional in , default is 0)
A long value that specifies the window handle (HWND) of the property pages window's parent. The property pages window will be modal in relation to its parent window.
Reserved (optional in , default is True)
This parameter is reserved for future use. True is the only value available.
Value | Meaning
True | Meaning to be determined. This setting must always be used.
Remarks
  • If the ImageProcessing control is created at design-time, the .NET ActiveX Control Importer (AxImp.exe) renames this ActiveMIL method from ShowPropertyPages() to CtlShowPropertyPages() to avoid name clashing with the ShowPropertyPages() method of the .NET Windows Form control. See the Windows Forms ActiveX Control Importer (AxImp.exe) topic in MSDN for more information. In addition, if the control is created at run-time with the AxMatrox.ActiveMIL.* namespace, you must use CtlShowPropertyPages() to call the ActiveMIL ShowPropertyPages() method.
  • This method is used to display the property pages so that properties can be set interactively at run-time.
  • This method will disable property page elements corresponding to properties that cannot be changed due to the current state of the control. For example, if a property cannot be changed while its control is in the allocated state, and the control is allocated, the corresponding element in the property page will be disabled. To change this property, call the Free method first.


ImageProcessing.Smooth Method

Smooth method

See Also | Availability | MIL Equivalent | ShowPropertyPages | Subtract
User Guide:
Denoising

Reference:
ImageProcessing.Convert
ImageProcessing.Convolve
ImageProcessing.Destination1
ImageProcessing.EdgeDetect
ImageProcessing.EdgeDetect1
ImageProcessing.EdgeDetect2
ImageProcessing.HorizontalEdge
ImageProcessing.LaplacianEdge1
ImageProcessing.LaplacianEdge2
ImageProcessing.Rank
ImageProcessing.Sharpen1
ImageProcessing.Sharpen2
ImageProcessing.Source1
ImageProcessing.VerticalEdge
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Orion
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
MimConvolve(
KernelBufId =
M_SMOOTH
)
ImageProcessing
Smooth
Synopsis
Applies a smoothing filter, which performs a smoothing operation on the image.
[]
Syntax
object.Smooth(
ByVal OverscanMode As ImpOverscanModeConstants
)
[]
Syntax
void object->Smooth(
enum ImpOverscanModeConstants OverscanMode
)
OverscanMode (optional in , default is impOverscanEnable)
An ImpOverscanModeConstants expression that specifies whether the overscan is enabled.
Value | Meaning
impOverscanDisable | Disables overscanning.
impOverscanEnable | Enables overscanning. The overscan is set to transparent overscan.
Remarks
  • This method applies a predefined Finite Impulse Response (FIR) filter. FIR filters operate on a finite neighborhood.
  • The following is the smoothing filter used:
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • In-place processing is supported (source equals destination); this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
  • The normalization factor is automatically set to use the full range of the destination image without overflows, and the result is given in the number of bits of destination image. To specify a different normalization factor, define a custom filter and set the required normalization factor, using the Kernels.Item.NormalizationFactor property; then, call the Convolve method and specify this filter.
  • This filter uses the default operation control settings. The overscan is set to transparent overscan pixel values, saturation is enabled for results, and the kernel's default center pixel is set as the top-left pixel of the central elements in a neighborhood.
  • You should disable overscanning to accelerate the convoultion for applications in which the overscan data is not important in the resulting image.
  • If the source and destination are multi-band images, the same filter is applied to every band of the source image.
  • The size of the source and destination must be greater or equal to the size of the kernel.
  • When using 32-bit integer images and saturation is disabled, the accumulator image is a 32-bit integer image (long); whereas, when saturation is enabled, the accumulator image is a 64-bit floating point internal image (double).
Remark for Matrox Genesis
  • All 16-bit images are processed as signed images.
[]
Example
This example shows how to use the Smooth method.

// Smooth the image to remove noise
m_ImageProcessing1->Source1 = m_Image1;
m_ImageProcessing1->Destination1 = m_Image1;
m_ImageProcessing1->Smooth(impOverscanEnable);


ImageProcessing.Subtract Method

Subtract method

See Also | Availability | MIL Equivalent | Smooth | Thick
Reference:
ImageProcessing.AbsoluteValue
ImageProcessing.And
ImageProcessing.Binarize
ImageProcessing.Clip
ImageProcessing.Destination1
ImageProcessing.Divide
ImageProcessing.LUTMap
ImageProcessing.Maximum
ImageProcessing.Minimum
ImageProcessing.Multiply
ImageProcessing.MultiplyAndAccumulate1
ImageProcessing.MultiplyAndAccumulate2
ImageProcessing.Nand
ImageProcessing.Negate
ImageProcessing.Nor
ImageProcessing.Not
ImageProcessing.OffsetGain
ImageProcessing.Or
ImageProcessing.Shift
ImageProcessing.Source1
ImageProcessing.Source2
ImageProcessing.WeightedAverage
ImageProcessing.Xnor
ImageProcessing.Xor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimArith(
Operation =
M_SUB or
M_SUB_ABS or
M_SUB_CONST or
M_CONST_SUB
)
ImageProcessing
Subtract
Synopsis
Performs a point-to-point subtraction operation using two source images.
[]
Syntax
object.Subtract(
ByVal AbsoluteValue As Boolean,
ByVal Saturation As Boolean
)
[]
Syntax
void object->Subtract(
VARIANT_BOOL AbsoluteValue,
VARIANT_BOOL Saturation
)
AbsoluteValue (optional in , default is False)
A boolean value that specifies whether to take the absolute value of the result.
Value | Meaning
True | The absolute value is calculated.
False | The absolute value is not calculated.
Saturation (optional in , default is False)
A boolean value that specifies whether to perform saturation.
Value | Meaning
True | Saturation is performed, meaning that pixel values will be clipped at the minimum value for the image.
False | Saturation is not performed, meaning that pixel values will wrap around from the minimum value to the maximum value for the image.
Remarks
  • This method performs the following operation: Destination1 = Source1- Source2
  • Note that either the Source1 or the Source2 property can be a constant but not both.
  • This method is optimized for packed binary images.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to use the Subtract method.

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Source2 = m_AnImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->Subtract(TRUE, FALSE);


ImageProcessing.Thick Method

Thick method

See Also | Availability | MIL Equivalent | Subtract | Thin
User Guide:
Thinning and thickening

Reference:
ImageProcessing.Convert
ImageProcessing.Convolve
ImageProcessing.Destination1
ImageProcessing.EdgeDetect
ImageProcessing.EdgeDetect1
ImageProcessing.EdgeDetect2
ImageProcessing.HorizontalEdge
ImageProcessing.LaplacianEdge1
ImageProcessing.LaplacianEdge2
ImageProcessing.Rank
ImageProcessing.Sharpen1
ImageProcessing.Sharpen2
ImageProcessing.Smooth
ImageProcessing.Source1
ImageProcessing.VerticalEdge
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimThick()

MimMorphic(
Operation =
M_THICK
)
ImageProcessing
Thick
Synopsis
Thickens blobs in an image.
[]
Syntax
object.Thick(
ByVal Index As Integer,
ByVal NumberOfIterations As Integer,
ByVal ProcessingMode As ImpProcessingModeConstants
)
[]
Syntax
void object->Thick(
long Index,
long NumberOfIterations,
enum ImpProcessingModeConstants ProcessingMode
)
Index (optional in , default is impPredefined)
A longintegerlong (integer for Visual Basic .Net) value or an ImpMiscImageProcessingConstants expression that specifies the structuring element to use.
Value | Meaning
value | A longintegerlong (integer for Visual Basic .Net) value that specifies an index into the collection of structuring elements, identifying the structuring element to use.
impPredefined | A constant expression that specifies the predefined structuring element.
NumberOfIterations (optional in , default is 1)
A longintegerlong (integer for Visual Basic .Net) value or an ImpMiscImageProcessingConstants expression that specifies the number of times to perform the operation.
Value | Meaning
value | A longintegerlong (integer for Visual Basic .Net) value that specifies an index into the collection of structuring elements, identifying the structuring element to use.
impToIdempotence | A constant expression that enlarges blobs until idempotence is reached. Note, this setting is only available when using the predefined structuring element.
ProcessingMode (optional in , default is impGrayscale)
An ImpProcessingModeConstants expression that specifies the processing mode to use.
Value | Meaning
impGrayscale | The source image's gray values are used for processing.
impBinary | Non-zero pixels will be treated as ones (1) during processing and the resulting non-zero pixels will have all bits set to one.
Remarks
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • The StructuringElements property specifies the collection of structuring elements available to the ImageProcessing control.
  • This method is optimized for packed binary images.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to use the Thick method.

ImageProcessing1.Source1 = Image1
ImageProcessing1.Destination1 = Image3
ImageProcessing1.Thick(impPredefined, 5, impGrayscale)
[]
Example
This example shows how to use the Thick method.

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->Thick(impPredefined, 5, impGrayscale);


ImageProcessing.Thin Method

Thin method

See Also | Availability | MIL Equivalent | Thick | Translate
User Guide:
Thinning and thickening

Reference:
ImageProcessing.Convert
ImageProcessing.Convolve
ImageProcessing.Destination1
ImageProcessing.EdgeDetect
ImageProcessing.EdgeDetect1
ImageProcessing.EdgeDetect2
ImageProcessing.HorizontalEdge
ImageProcessing.LaplacianEdge1
ImageProcessing.LaplacianEdge2
ImageProcessing.Rank
ImageProcessing.Sharpen1
ImageProcessing.Sharpen2
ImageProcessing.Smooth
ImageProcessing.Source1
ImageProcessing.VerticalEdge
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimThin()

MimMorphic(
Operation =
M_THIN
)
ImageProcessing
Thin
Synopsis
Thins blobs in an image.
[]
Syntax
object.Thin(
ByVal Index As Integer,
ByVal NumberOfIterations As Integer,
ByVal ProcessingMode As ImpProcessingModeConstants
)
[]
Syntax
void object->Thin(
long Index,
long NumberOfIterations,
enum ImpProcessingModeConstants ProcessingMode
)
Index (optional in , default is impPredefined)
A longintegerlong (integer for Visual Basic .Net) value or an ImpMiscImageProcessingConstants expression that specifies the structuring element to use.
Value | Meaning
value | A longintegerlong (integer for Visual Basic .Net) value that specifies an index into the collection of structuring elements, identifying the structuring elements to use.
impPredefined | A constant expression that specifies the predefined structuring element.
NumberOfIterations (optional in , default is 1)
A longintegerlong (integer for Visual Basic .Net) value or an ImpMiscImageProcessingConstants expression that specifies the number of times to perform the operation. (default is 1).
Value | Meaning
value | A longintegerlong (integer for Visual Basic .Net) value that specifies the number of times to perform the operation.
impToSkeleton | A constant expression that reduces all blobs to their skeleton. Note, this setting is only available when using the predefined structuring element.
ProcessingMode (optional in , default is impGrayscale)
An ImpProcessingModeConstants expression that specifies the processing mode to use.
Value | Meaning
impGrayscale | The source image's gray values are used for processing.
impBinary | Non-zero pixels will be treated as ones (1) during processing and the resulting non-zero pixels will have all bits set to one.
Remarks
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • The StructuringElements property specifies the collection of structuring elements available to the ImageProcessing control.
  • This method is optimized for packed binary images.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to use the Thin method.

ImageProcessing1.Source1 = Image1
ImageProcessing1.Destination1 = Image3
ImageProcessing1.Thin(impPredefined, 5, impGrayscale)
[]
Example
This example shows how to use the Thin method.

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->Thin(impPredefined, 5, impGrayscale);


ImageProcessing.Translate Method

Translate method

See Also | Availability | MIL Equivalent | Thin | VerticalEdge
Reference:
ImageProcessing.Destination1
ImageProcessing.Flip
ImageProcessing.Resize
ImageProcessing.Rotate
ImageProcessing.Source1
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimTranslate()
ImageProcessing
Translate
Synopsis
Translates an image in the X- and/or Y-directions, with subpixel accuracy
[]
Syntax
object.Translate(
ByVal DisplacementX As Double,
ByVal DisplacementY As Double,
ByVal OverscanMode As ImpOverscanModeConstants
)
[]
Syntax
void object->Translate(
double DisplacementX,
double DisplacementY,
enum ImpOverscanModeConstants OverscanMode
)
DisplacementX
A double value which specifies the amount to displace the source image in the X-direction.
DisplacementY
A double value which specifies the amount to displace the source image in the Y-direction.
OverscanMode (optional in , default is impOverscanEnable)
An ImpOverscanModeConstants expression that specifies how to determine the value of a destination pixel when its associated point falls outside the source image.
Value | Meaning
impOverscanEnable | Use pixels from the source image's ancestor to determine the value of the destination pixel. If the source image is not a child image or if the associated point falls outside its ancestor, leave the destination pixel as is.
impOverscanDisable | Leave the destination pixel as is.
impOverscanClear | Set the destination pixel to 0.
Remarks
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • You can use this method to align images to subpixel accuracy before, for example, subtracting them.
  • This method uses a bilinear mode of interpolation.
[]
Example
This example shows how to use the Translate method.

ImageProcessing1.Source1 = Image1
ImageProcessing1.Destination1 = ResultImage
ImageProcessing1.Translate(100, 100, impOverscanEnable)
[]
Example
This example shows how to use the Translate method.

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->Translate(100, 100, impOverscanEnable);


ImageProcessing.VerticalEdge Method

VerticalEdge method

See Also | Availability | MIL Equivalent | Translate | Warp
User Guide:
Enhancing and detecting edges

Reference:
ImageProcessing.Convert
ImageProcessing.Convolve
ImageProcessing.Destination1
ImageProcessing.EdgeDetect
ImageProcessing.EdgeDetect1
ImageProcessing.EdgeDetect2
ImageProcessing.HorizontalEdge
ImageProcessing.LaplacianEdge1
ImageProcessing.LaplacianEdge2
ImageProcessing.Rank
ImageProcessing.Sharpen1
ImageProcessing.Sharpen2
ImageProcessing.Smooth
ImageProcessing.Source1
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Orion
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
MimConvolve(
KernelBufId =
M_VERT_EDGE
)
ImageProcessing
VerticalEdge
Synopsis
Applies a vertical edge detection filter, which computes the absolute value of the vertical derivative of the image.
[]
Syntax
object.VerticalEdge(
ByVal OverscanMode As ImpOverscanModeConstants
)
[]
Syntax
void object->VerticalEdge(
enum ImpOverscanModeConstants OverscanMode
)
OverscanMode (optional in , default is impOverscanEnable)
An ImpOverscanModeConstants expression that specifies whether the overscan is enabled.
Value | Meaning
impOverscanDisable | Disables overscanning.
impOverscanEnable | Enables overscanning. The overscan is set to transparent overscan.
Remarks
  • This method applies a predefined Finite Impulse Response (FIR) filter. FIR filters operate on a finite neighborhood.
  • The following is the vertical edge detection filter used: :
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • In-place processing is supported (source equals destination); this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
  • The normalization factor is automatically set to use the full range of the destination image without overflows, and the result is given in the number of bits of destination image. To specify a different normalization factor, define a custom filter and set the required normalization factor, using the Kernels.Item.NormalizationFactor property; then, call the Convolve method and specify this filter.
  • This filter uses the default operation control settings. The overscan is set to transparent overscan pixel values, saturation is enabled for results, and the kernel's default center pixel is set as the top-left pixel of the central elements in a neighborhood.
  • You should disable overscanning to accelerate the convoultion for applications in which the overscan data is not important in the resulting image.
  • If the source and destination are multi-band images, the same filter is applied to every band of the source image.
  • The size of the source and destination must be greater or equal to the size of the kernel.
  • When using 32-bit integer images and saturation is disabled, the accumulator image is a 32-bit integer image (long); whereas, when saturation is enabled, the accumulator image is a 64-bit floating point internal image (double).
Remark for Matrox Genesis
  • All 16-bit images are processed as signed images.
[]
Example
This example shows how to use the VerticalEdge method.

ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Destination1 = DisplayedImage
ImageProcessing1.VerticalEdge(impOverscanEnable)
[]
Example
This example shows how to use the VerticalEdge method.

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->VerticalEdge(impOverscanEnable);


ImageProcessing.Warp Method

Warp method

See Also | Availability | MIL Equivalent | VerticalEdge | Watershed
User Guide:
Warping

Reference:
ImageProcessing.Destination1
ImageProcessing.Source1
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
MimWarp()
ImageProcessing
Warp
Synopsis
Warps an image.
[]
Syntax
object.Warp(
ByVal InterpolationMode As ImpInterpolationModeConstants,
ByVal OverscanMode As ImpOverscanModeConstants
)
[]
Syntax
void object->Warp(
enum ImpInterpolationModeConstants InterpolationMode,
enum ImpOverscanModeConstants OverscanMode
)
InterpolationMode (optional in , default is impNearestNeighbor)
An ImpInterpolationModeConstants expression that specifies the interpolation mode.
Value | Meaning
impNearestNeighbor | Nearest-neighbor interpolation.
impBilinear | Bilinear interpolation.
impBicubic | Bicubic interpolation.
OverscanMode (optional in , default is impOverscanEnable)
An ImpOverscanModeConstants expression that specifies how to determine the value of a destination pixel when its associated point falls outside the source image.
Value | Meaning
impOverscanEnable | Use pixels from the source image's ancestor to determine the value of the destination pixel. If the source image is not a child image or if the associated point falls outside its ancestor, leave the destination pixel as is.
impOverscanDisable | Leave the destination pixel as is.
impOverscanClear | Set the destination pixel to 0.
Remarks
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • The properties of the WarpParameters property determine how the warping is performed. Specifically, if input LUTs were generated using the WarpParameters. WarpLUT property, these LUTs are used to perform the warping; otherwise, the coefficients specified by the WarpParameters.Coefficients (X,Y) properties are used to perform the warping.
Remark for Matrox Genesis
  • You cannot set the OverscanMode parameter to impOverscanDisable.
[]
Example
This example shows how to use the Warp method.

m_ImageProcessing1->Source1 = m_ChildImage;
m_ImageProcessing1->Destination1 = m_OutputImage;
m_ImageProcessing1->Warp(impNearestNeighbor, impOverscanEnable);


ImageProcessing.Watershed Method

Watershed method

See Also | Availability | MIL Equivalent | Warp | WeightedAverage
User Guide:
Watershed transformations

Reference:
ImageProcessing.Destination1
ImageProcessing.Source1
ImageProcessing.Source2
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimWatershed()
ImageProcessing
Watershed
Synopsis
Performs a watershed transform on an image.
[]
Syntax
object.Watershed(
ByVal MinimumVariation As Integer,
ByVal ComputationMode As ImpWatershedComputationModeConstants,
ByVal MaximaFilled As Boolean,
ByVal StraightLines As Boolean,
ByVal SkipLastLevel As Boolean,
ByVal Lattice As ImpLatticeConstants,
ByVal LabeledMarker As Boolean,
ByVal FillSource As Boolean
)
[]
Syntax
void object->Watershed(
long MinimumVariation,
enum ImpWatershedComputationModeConstants ComputationMode,
VARIANT_BOOL MaximaFilled,
VARIANT_BOOL StraightLines,
VARIANT_BOOL SkipLastLevel,
enum ImpLatticeConstants Lattice,
VARIANT_BOOL LabeledMarker,
VARIANT_BOOL FillSource
)
MinimumVariation (optional in , default is 1)
This parameter can be set to a longintegerlong (integer for Visual Basic .Net) value, an ActiveMILDefaultConstants expression, or an ImpOffConstants expression that specifies the minimum grayscale variation.

The parameter can be set to the following:
Value | Meaning
amilDefault | Produce catchment basins from each extremum in the source image. Setting MinimumVariation to 1 will have the same effect.
value | A longintegerlong (integer for Visual Basic .Net) value that specifies the minimum variation.
impOff | Produce catchment basins from a marker image, rather than from the extrema in the source image. Setting MinimumVariation to 0 will have the same effect.
ComputationMode (optional in , default is impWatershed)
An ImpWatershedComputationModeConstants expression that specifies whether the method should generate watershed lines, labeled catchment basins, or watershed lines and labeled catchment basins.
Value | Meaning
impWatershed | Generate only watershed lines. The watershed lines are given the value 0 and all other pixels are given the maximum value in the destination image.
impBasin | Generate only catchment basins. Each catchment basin is given a unique grayscale value, starting at 1.
impWatershed+ impBasin | Generate watershed lines and catchment basins. Each catchment basin is given a unique grayscale value, starting at 1. Watershed lines are given the value 0.
MaximaFilled (optional in , default is False)
A boolean value that specifies whether to determine catchment basins from the source image's maxima, rather than its minima.
Value | Meaning
True | Determine catchment basins from the source image's maxima.
False | Determine catchment basins from the source image's minima.
StraightLines (optional in , default is False)
A boolean value that specifies whether to force the watershed lines to be straight.
Value | Meaning
True | Force the watershed lines to be straight.
False | Trace the watershed lines exactly.
SkipLastLevel (optional in , default is False)
A boolean value that specifies whether to skip the last level of processing.
Value | Meaning
True | Skip the last level of processing. This prevents an extremum's zone of influence from extending beyond Lmax - 1 (for a minimum) or Lmin - 1 (for a maximum), where Lmax is the maximum gray level in the image and Lmin is the minimum gray level.
False | Don't skip the last level of processing.
Lattice (optional in , default is imp4Connected)
An ImpLatticeConstants expression that specifies whether to use 4- or 8-connected watershed lines.
Value | Meaning
imp4Connected | Use 4-connected watershed lines.
imp8Connected | Use 8-connected watershed lines.
LabeledMarker (optional in , default is False)
A boolean value that specifies whether the marker image is a labeled marker image.
Value | Meaning
True | Specify that the marker image is labeled.
False | Specify that the marker image is not labeled.
FillSource (optional in , default is False)
A boolean value that specifies whether to fill all local basins of a valid catchment basin in the source image.
Value | Meaning
True | Fill all local basins of a valid catchment basin in the source image.
False | Do not fill the local basins of a valid catchment basin.
Remarks
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property. The source and destination images can be 8- or 16-bit, signed or unsigned. The destination image can hold 2x - 5 catchment basins, where x refers to the number of bits per pixel in the image. Therefore, an 8-bit destination image can hold 251 catchment basins and a 16-bit destination image can hold 65531 catchment basins.
  • Catchment basins can be determined from a marker image (specified by the Source2 property), rather than from extrema in the source image. In this case, each group of touching pixels with the value zero in the marker image produces a catchment basin in the corresponding area of the source image; pixels in the marker image are considered touching if they are vertically, horizontally, or diagonally adjacent. To use a marker image, omit the MinimumVariation parameter. The marker image can be 8- or 16-bit, signed or unsigned.
  • In a labeled marker image, a marker is a set of pixels that have the same label value (pixel intensity) but do not necessarily touch.
  • Skipping the last level of processing effectively prevents the background from being processed. This is primarily useful when separating touching blobs.
  • Filling the local catchment basins of valid catchment basins in the source image allows you to remove any unwanted extrema from the source image. The unwanted extrema are removed by filling the unwanted catchment basins until they become plateaus.
[]
Example
This example shows how to use the Watershed method.

const long WSHED_MINIMAL_DISTANCE_VARIATION = 2;

m_ImageProcessing1->Source1 = m_ImageWatershed;
m_ImageProcessing1->Destination1= m_ImageWatershed;
m_ImageProcessing1->Watershed(WSHED_MINIMAL_DISTANCE_VARIATION,
                                   impWatershed,
                                   FALSE,
                                   FALSE,
                                   FALSE,
                                   imp4Connected,
                                   FALSE,
                                   FALSE);


ImageProcessing.WeightedAverage Method

WeightedAverage method

See Also | Availability | MIL Equivalent | Watershed | Xnor
User Guide:
Averaging an input sequence

Reference:
ImageProcessing.AbsoluteValue
ImageProcessing.And
ImageProcessing.Binarize
ImageProcessing.Clip
ImageProcessing.Destination1
ImageProcessing.Divide
ImageProcessing.LUTMap
ImageProcessing.Maximum
ImageProcessing.Minimum
ImageProcessing.Multiply
ImageProcessing.MultiplyAndAccumulate1
ImageProcessing.MultiplyAndAccumulate2
ImageProcessing.Nand
ImageProcessing.Negate
ImageProcessing.Nor
ImageProcessing.Not
ImageProcessing.OffsetGain
ImageProcessing.Or
ImageProcessing.Shift
ImageProcessing.Source1
ImageProcessing.Source2
ImageProcessing.Source3
ImageProcessing.Xnor
ImageProcessing.Xor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimArithMultiple(
Operation =
M_WEIGHTED_AVERAGE
)
ImageProcessing
WeightedAverage
Synopsis
Performs a point-to-point weighted average operation on an image.
[]
Syntax
object.WeightedAverage(
ByVal Saturation As Boolean
)
[]
Syntax
void object->WeightedAverage(
VARIANT_BOOL Saturation
)
Saturation (optional in , default is False)
A boolean value that specifies if saturation is performed.
Value | Meaning
True | Saturation is performed, meaning that pixel values will be clipped at the maximum value for the image.
False | Saturation is not performed, meaning that pixel values will wrap around from the maximum value to the minimum value for the image.
Remarks
  • The weighted average method uses the following equation:
    • Destination1 = ((Source1- Source3) / Source2) + Source3
  • The Source1 and Source3 properties must be images, and the Source2 property must be a constant which is a power of 2.
  • Note that the images and the constants must of the same type (signed or unsigned).
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to use the WeightedAverage method.

ImageProcessing1.Source1 = ImageSource1
ImageProcessing1.Source2 = 128
ImageProcessing1.Source3 = ImageSource3
ImageProcessing1.Source4 = 128
ImageProcessing1.Destination1 = ResultImage
ImageProcessing1.WeightedAverage(True)
[]
Example
This example shows how to use the WeightedAverage method.

m_ImageProcessing1->Source1 = m_ImageSource1;
m_ImageProcessing1->Source2 = 128L;
m_ImageProcessing1->Source3 = m_ImageSource3;
m_ImageProcessing1->Source4 = 128L;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->WeightedAverage(TRUE);


ImageProcessing.Xnor Method

Xnor method

See Also | Availability | MIL Equivalent | WeightedAverage | Xor
Reference:
ImageProcessing.AbsoluteValue
ImageProcessing.And
ImageProcessing.Binarize
ImageProcessing.Clip
ImageProcessing.Destination1
ImageProcessing.Divide
ImageProcessing.LUTMap
ImageProcessing.Maximum
ImageProcessing.Minimum
ImageProcessing.Multiply
ImageProcessing.MultiplyAndAccumulate1
ImageProcessing.MultiplyAndAccumulate2
ImageProcessing.Nand
ImageProcessing.Negate
ImageProcessing.Nor
ImageProcessing.Not
ImageProcessing.OffsetGain
ImageProcessing.Or
ImageProcessing.Shift
ImageProcessing.Source1
ImageProcessing.Source2
ImageProcessing.WeightedAverage
ImageProcessing.Xor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimArith(
Operation =
M_XNOR or
M_XNOR_CONST
)
ImageProcessing
Xnor
Synopsis
Performs a point-to-point XNOR operation on an image.
[]
Syntax
object.Xnor()
[]
Syntax
void object->Xnor()
Remarks
  • This method performs the following operation: Destination1 = Source1 XNOR Source2.
  • Note that either the Source1 or the Source2 property can be a constant but not both.
  • This method is optimized for packed binary images.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to Xnor two images.

ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Source2 = AnImage
ImageProcessing1.Destination1 = DisplayedImage
ImageProcessing1.Xnor()
[]
Example
This example shows how to Xnor two images.

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Source2 = m_AnImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->Xnor();


ImageProcessing.Xor Method

Xor method

See Also | Availability | MIL Equivalent | Xnor | ZoneOfInfluence
Reference:
ImageProcessing.AbsoluteValue
ImageProcessing.And
ImageProcessing.Binarize
ImageProcessing.Clip
ImageProcessing.Destination1
ImageProcessing.Divide
ImageProcessing.LUTMap
ImageProcessing.Maximum
ImageProcessing.Minimum
ImageProcessing.Multiply
ImageProcessing.MultiplyAndAccumulate1
ImageProcessing.MultiplyAndAccumulate2
ImageProcessing.Nand
ImageProcessing.Negate
ImageProcessing.Nor
ImageProcessing.Not
ImageProcessing.OffsetGain
ImageProcessing.Or
ImageProcessing.Shift
ImageProcessing.Source1
ImageProcessing.Source2
ImageProcessing.WeightedAverage
ImageProcessing.Xnor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimArith(
Operation =
M_XOR or
M_XOR_CONST
)
ImageProcessing
Xor
Synopsis
Performs a point-to-point XOR operation on an image.
[]
Syntax
object.Xor()
[]
Syntax
void object->Xor()
Remarks
  • This method performs the following operation: Destination1 = Source1 XOR Source2.
  • Note that either the Source1 or the Source2 property can be a constant but not both.
  • This method is optimized for packed binary images.
  • In-place processing is supported (source equals destination), this is accomplished by either setting the destination and the source properties to the same image, or by using child images of the same parent. In the latter case, the source and the destination images cannot partially overlap.
[]
Example
This example shows how to use the Xor method.

m_ImageProcessing1->Source1 = m_BinaryImage;
m_ImageProcessing1->Source2 = m_DilatedBinaryImage;
m_ImageProcessing1->Destination1 = m_BinaryImage;
m_ImageProcessing1->Xor();


ImageProcessing.ZoneOfInfluence Method

ZoneOfInfluence method

See Also | Availability | MIL Equivalent | Xor | ResultsModified
Reference:
ImageProcessing.Close
ImageProcessing.ConnectMap
ImageProcessing.Destination1
ImageProcessing.Dilate
ImageProcessing.Distance
ImageProcessing.Erode
ImageProcessing.HitOrMiss
ImageProcessing.Label
ImageProcessing.Match
ImageProcessing.Open
ImageProcessing.Source1
ImageProcessing.Thick
ImageProcessing.Thin
ImageProcessing.Watershed
Not available in ActiveMIL-Lite

Available in ActiveMIL
MimZoneOfInfluence()
ImageProcessing
ZoneOfInfluence
Synopsis
Performs a zone of influence operation on an image.
[]
Syntax
object.ZoneOfInfluence(
ByVal DistanceTransform As ImpDistanceTransformConstants
)
[]
Syntax
void object->ZoneOfInfluence(
enum ImpDistanceTransformConstants DistanceTransform
)
DistanceTransform (optional in , default is impChessboard)
An ImpDistanceTransformConstants expression that specifies the distance transform operation to perform.
Value | Meaning
impChessboard | This operation is faster than impChamfer34.
impChamfer34 | This operation uses a distance algorithm that makes a better approximation to actual Euclidean distance, and is therefore more accurate.
Remarks
  • This operation is performed on the image specified by the Source1 property. The resulting image is placed in the image specified by the Destination1 property.
  • Separates an image into zones, according to how much of a blob's surrounding background is within the blob's territorial boundaries, or "zone of influence". It gives every pixel in a blob's zone of influence the same value. Starting from the top-left corner, zones of influence are given unique consecutive values beginning with the value one. A blob's zone of influence consists of all pixels closer to that blob than to any other blob.
  • The destination image should be large enough to hold the maximum number of zones (blobs). The maximum label value is [image], where n is the depth of the destination image in bits. For example, an 8-bit image can be used for a maximum of 251 blobs and a 16-bit image can be used for a maximum of 65531 blobs.
[]
Example
This example shows how to use the ZoneOfInfluence method.

ImageProcessing1.Source1 = LoadedImage
ImageProcessing1.Destination1 = DisplayedImage
ImageProcessing1.ZoneOfInfluence(impChessboard)
[]
Example
This example shows how to use the ZoneOfInfluence method.

m_ImageProcessing1->Source1 = m_LoadedImage;
m_ImageProcessing1->Destination1 = m_DisplayedImage;
m_ImageProcessing1->ZoneOfInfluence(impChessboard);


ImageProcessing.ResultsModified Event

ResultsModified event

Availability | MIL Equivalent | ZoneOfInfluence
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ImageProcessing
ResultsModified
Synopsis
Occurs after results have been modified.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_ResultsModified() Handles object.ResultsModified

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_ResultsModified(
ByVal sender As Object,
ByVal e As System.EventArgs
) Handles object.ResultsModified
[]
Syntax
void class::OnResultsModified()
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.


Measurement control

Availability
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Synopsis
The ActiveMIL measurement control allows you to find sets of image characteristics or "markers" in an image, based on differences in pixel intensities. Upon finding a marker, the control returns the marker's spatial reference position and measures such features as its width and angle. The control can also take measurements between two markers.
The measurement control can operate on 8-bit or 16-bit unsigned grayscale images. Measurements are made and results are returned with subpixel accuracy.

Structure
Measurement |  |  |  |  | Properties: AutomaticAllocation, Image, ImageName, IsAllocated, Markers, MeasurementList, MilID, Name, OwnerSystem, OwnerSystemName, PixelAspectRatio, PropertyValidation, Results Methods: Allocate, Calculate, Control, FindMarker, Free, Inquire, Modified, ShowPropertyPages Event: ResultsModified
 | Markers |  |  |  | Properties: Count, Item Methods: Add, Load, LoadStream, Remove, Draw
 |  | Item |  |  | Properties: Contrast, EdgeStrength, EdgeThreshold, FilterSmoothness, FilterType, IsFound, MarkerType, MilID, MinimumNumberOfOccurrences, NumberOfInsideEdges, NumberOfOccurrences, Orientation, Polarity, Position, ReferenceX, ReferenceY, SearchRegion, Spacing, StreamSize, Width Methods: Control, Draw, Inquire, Save, SaveStream
 |  |  | Contrast |  | Properties: Edge1, Edge2, Variation, WeightFactor
 |  |  | EdgeStrength |  | Properties: Edge1, Edge2, Variation, WeightFactor
 |  |  | NumberOfInsideEdges |  | Properties: Value, Variation, WeightFactor
 |  |  | Polarity |  | Properties: Edge1, Edge2
 |  |  | Position |  | Properties: StripeLocation, Variation, WeightFactor, X, Y
 |  |  | SearchRegion |  | Properties: Angle, CenterX, CenterY, EndX, EndY, FullSize, Mode, OffsetX, OffsetY, SizeX, SizeY, StartX, StartY, X1, X2, X3, X4, Y1, Y2, Y3, Y4
 |  |  |  | Angle | Properties: Accuracy, CenterOfRotation, Enabled, InterpolationMode, NegativeDelta, PositiveDelta, Tolerance, Value
 |  |  | Spacing |  | Properties: Value, Variation, WeightFactor
 |  |  | Width |  | Properties: Value, Variation, WeightFactor
 | MeasurementList |  |  |  | Properties: Angle, Contrast, Distance, EdgeInside, EdgeStrength, EdgeValues, Length, LineEquation, MaximumPosition, MinimumPosition, Orientation, Polarity, PositionVariation, Position, Spacing, WidthVariation, Width Methods: DeselectAll, SelectAll
 | PixelAspectRatio |  |  |  | Properties: InputCorrection, OutputCorrection, Value
 | Results |  |  |  | Properties: Count, EdgeValues, Item, MilID, Orientation, Score Methods: CalculateMaximum, CalculateMean, CalculateMinimum, CalculateStandardDeviation, Get, GetMultiple, Draw
 |  | EdgeValues |  |  | Properties: Count, Item
 |  | Item |  |  | Properties: Angle, BoxCornerBottomLeftX, BoxCornerBottomLeftY, BoxCornerBottomRightX, BoxCornerBottomRightY, BoxCornerTopLeftX, BoxCornerTopLeftY, BoxCornerTopRightX, BoxCornerTopRightY, Contrast, DistanceX, DistanceY, Distance, Edge1, Edge2, EdgeInside, EdgeStrength, Length, LineEquationIntercept, LineEquationSlope, MaximumPositionX, MaximumPositionY, MinimumPositionX, MinimumPositionY, Polarity, PositionVariation, PositionX, PositionY, Score, Spacing, WidthVariation, Width Method: Draw
 |  |  | Edge1 |  | Properties: Angle, BoxCornerBottomLeftX, BoxCornerBottomLeftY, BoxCornerBottomRightX, BoxCornerBottomRightY, BoxCornerTopLeftX, BoxCornerTopLeftY, BoxCornerTopRightX, BoxCornerTopRightY, Contrast, EdgeStrength, LineEquationIntercept, LineEquationSlope, MaximumPositionX, MaximumPositionY, MinimumPositionX, MinimumPositionY, Polarity, PositionVariation, PositionX, PositionY, Width Method: Draw
 |  |  | Edge2 |  | Properties: Angle, BoxCornerBottomLeftX, BoxCornerBottomLeftY, BoxCornerBottomRightX, BoxCornerBottomRightY, BoxCornerTopLeftX, BoxCornerTopLeftY, BoxCornerTopRightX, BoxCornerTopRightY, Contrast, EdgeStrength, LineEquationIntercept, LineEquationSlope, MaximumPositionX, MaximumPositionY, MinimumPositionX, MinimumPositionY, Polarity, PositionVariation, PositionX, PositionY, Width Method: Draw


Measurement.AutomaticAllocation Property

AutomaticAllocation property

See Also | Availability | MIL Equivalent | Image
User Guide:
Setting up controls - Allocating and freeing resources

Reference:
Measurement.Allocate
Measurement.Free
Measurement.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Measurement
AutomaticAllocation
Synopsis
Returns or sets whether the resources of the Measurement control are automatically allocated at run-time.
[]
Syntax
object.AutomaticAllocation [= Boolean]
[]
Syntax
object->AutomaticAllocation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the control's automatic allocation.
Value | Meaning
True | The control will be allocated automatically at run-time.
False | The control must be allocated explicitly, using the Allocate method.
Remarks
  • When the AutomaticAllocation property is False, an explicit call to the Allocate method is required. You can get the allocation state of the control by reading its IsAllocated property.
  • The default value is True for controls created at design-time, and False for controls created at run-time (for example, created with the CreateObject method of the Application control).
  • When this property is set to True, automatic allocation will occur when the owner system of the Measurement control is allocated. For example, if System1 is set as the owner system of Measurement1, and System1 is not allocated, then Measurement1 will not be allocated, even if its AutomaticAllocation property is set to True. When System1 is allocated (with the Allocate method), Measurement1 will be allocated automatically if its AutomaticAllocation property is set to True.
  • The resources of the control will be freed automatically when the control is destroyed.
[]
Example
This example demonstrates how to set up this control so that it is automatically allocated when its owner System control is allocated.

Measurement1.AutomaticAllocation = True
Measurement1.OwnerSystem = System1

' This call will also allocate Measurement1 since
' its OwnerSystem property is System1 and
' its AutomaticAllocation property is set to True
System1.Allocate()
[]
Example
This example demonstrates how to set up this control so that it is automatically allocated when its owner System control is allocated.

m_Measurement1->AutomaticAllocation = TRUE;
m_Measurement1->OwnerSystem = m_System1;

// This call will also allocate m_Measurement1 since
// its OwnerSystem property is m_System1 and
// its AutomaticAllocation property is set to TRUE
m_System1->Allocate();


Measurement.Image Property

Image property

See Also | Availability | MIL Equivalent | AutomaticAllocation | ImageName
Reference:
Image
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasFindMarker(ImageBufId)
Measurement
Image
Synopsis
Returns or sets the image used as the target image by the Measurement control.
[]
Syntax
object.Image [= Image]
[]
Syntax
object->Image [= IImagePtr]
Type description
An Image control that specifies the target image within which to search for the occurrences of the marker or to take measurements between two markers.
Remarks
  • The Measurement control is for use with unsigned 8-bit or 16-bit grayscale images only.
  • []
     Use the Visual Basic Is Nothing statement to confirm that this property is currently not associated with a control.
  • []
     To remove the reference to the current control without assigning a new control, set the property to Nothing.
  • []
     To remove the reference to the current control without assigning a new control, set the property to NULL.
  • The target image can also be specified, with the name assigned to its control, using the ImageName property.
  • This property automatically sets the ImageName property.
[]
Example
This example shows how to specify the image containing the markers to find.

m_Measurement1->Image = m_LoadedImage;


Measurement.ImageName Property

ImageName property

See Also | Availability | MIL Equivalent | Image | IsAllocated
Reference:
Image
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasFindMarker(ImageBufId)
Measurement
ImageName
Synopsis
Returns or sets the image used as the target image by the Measurement control.
[]
Syntax
object.ImageName [= String]
[]
Syntax
object->ImageName [= _bstr_t]
Type description
A string expression that specifies the name of the Image control to use as the target image within which to search for the occurrences of the marker or to take measurements between two markers.
Remarks
  • The Measurement control is for use with unsigned 8-bit or 16-bit grayscale images only.
  • To remove the reference to the current control without assigning a new control, specify an empty string ("").
  • The target image can also be specified using the Image property.
  • This property automatically sets the Image property.


Measurement.IsAllocated Property

IsAllocated property

See Also | Availability | MIL Equivalent | ImageName | Markers
User Guide:
Allocation of resources

Reference:
Measurement.Allocate
Measurement.Free
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Measurement
IsAllocated
Synopsis
Returns whether the resources of the Measurement control are allocated.
[]
Syntax
[Boolean =] object.IsAllocated
[]
Syntax
[VARIANT_BOOL =] object->IsAllocated
Type description
A boolean value that specifies whether the resources of the control are allocated.
Value | Meaning
True | The resources of the control are allocated.
False | The resources of the control are not allocated.
[]
Example
This example shows how to use the IsAllocated property.

If Measurement1.IsAllocated Then
    Measurement1.Free()
End If
[]
Example
This example shows how to use the IsAllocated property.

if (m_Measurement1->IsAllocated)
   m_Measurement1->Free();


Measurement.Markers Property

Markers property

See Also | Availability | MIL Equivalent | IsAllocated | MeasurementList
User Guide:
Markers
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker()

MmeasInquire()
Measurement
Markers
Properties: Count, Item

Methods: Add, Load, LoadStream, Remove, Draw
Synopsis
Returns the collection of markers of the Measurement control, allowing access to the collection's elements.
[]
Syntax
[MeasurementMarkers =] object.Markers
[]
Syntax
[IMeasurementMarkersPtr =] object->Markers
Type description
A MeasurementMarkers expression that represents an instance of a MeasurementMarkers collection.
Remarks
  • This property and its subproperties set a marker's characteristics. Marker characeteristics are used in determining the marker location of an edge or stripe marker in a target image or in specifying the position of point markers (generally used as reference markers).
  • The Findmarker method locates the edge(s) or stripe(s) that best correspond to the specified marker's characteristics.
  • A marker's characteristics should describe the marker as accurately as possible to ensure that it will be successfully located in an image.


Measurement.Markers.Count Property

Count property

Availability | MIL Equivalent | Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Measurement
Markers
Count
Synopsis
Returns the number of elements in the collection of markers.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A long value that specifies the number of elements currently in the collection.


Measurement.Markers.Item Property

Item property

Availability | MIL Equivalent | Count | Add
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Measurement
Markers
Item
Properties: Contrast, EdgeStrength, EdgeThreshold, FilterSmoothness, FilterType, IsFound, MarkerType, MilID, MinimumNumberOfOccurrences, NumberOfInsideEdges, NumberOfOccurrences, Orientation, Polarity, Position, ReferenceX, ReferenceY, SearchRegion, Spacing, StreamSize, Width

Methods: Control, Draw, Inquire, Save, SaveStream
Synopsis
Returns the element at the specified index in the collection of markers.
[]
Syntax
[MeasurementMarker=]object.Item(
Index As Integer
)
[]
Syntax
[IMeasurementMarkerPtr =] object->Item(
long Index
)
Index
A long value that specifies the index of the required marker.
Type description
A MeasurementMarker object.
Remark
  • If the value provided as the index does not match any existing marker in the collection, an error occurs. Note, the index of the first marker of this collection starts at one.


Measurement.Markers.Item.Contrast Property

Contrast property

See Also | Availability | MIL Equivalent | EdgeStrength
User Guide:
Edge markers: contrast
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
(M_CONTRAST +
WEIGHT_FACTOR) or
M_CONTRAST_VARIATION
FirstValue
SecondValue
)

MmeasInquire(
InquireType =
(M_CONTRAST +
WEIGHT_FACTOR) or
M_CONTRAST_VARIATION
)
Measurement
Markers
Item
Contrast
Properties: Edge1, Edge2, Variation, WeightFactor
Synopsis
Allows you to specify the marker's expected contrast.
[]
Syntax
[MarkerValueEdge =] object.Contrast
[]
Syntax
[IMarkerValueEdgePtr =] object->Contrast
Type description
A MarkerValueEdge object.
Remarks
  • The contrast is the typical difference in average grayscale values between the start and end of the intensity transition (edge width) from which an edge is established.
  • This property also allows you to specify the contrast variation and the contrast's weight factor.
  • You cannot assign another MarkerValueEdge object to this property.
  • This property cannot be used for a point marker.


Measurement.Markers.Item.Contrast.Edge1 Property

Edge1 property

Availability | MIL Equivalent | Edge2
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_CONTRAST
FirstValue
)

MeasInquire(
InquireType =
M_CONTRAST
)
Measurement
Markers
Item
Contrast
Edge1
Synopsis
Returns or sets the expected contrast of an edge marker, or the first edge of a stripe marker.
[]
Syntax
object.Edge1 [= Double]
[]
Syntax
object->Edge1 [= double]
Type description
A double value that specifies the contrast of the marker's first edge. (default is measAny)
Value | Meaning
value | Set to a value between 0 and ((2**image depth) – 1).
measAny | Not a criteria.
Remarks
  • The contrast is the typical difference in average grayscale values between the start and end of the intensity transition (edge width) from which an edge is established.
  • The maximum value is determined by the image depth. For example, for an 8-bit image, the value can be set from 0 to 255; for a 16-bit image, the value is 65535.


Measurement.Markers.Item.Contrast.Edge2 Property

Edge2 property

Availability | MIL Equivalent | Edge1 | Variation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_CONTRAST
SecondValue
)

MeasInquire(
InquireType =
M_CONTRAST
)
Measurement
Markers
Item
Contrast
Edge2
Synopsis
Returns or sets the expected contrast of the second edge of a stripe marker.
[]
Syntax
object.Edge2 [= Double]
[]
Syntax
object->Edge2 [= double]
Type description
A double value that specifies the contrast of a stripe marker's second edge. (default is measAny)
Value | Meaning
value | Set to a value between 0 and ((2**image depth) – 1).
measAny | Not a criteria.
Remarks
  • The contrast is the typical difference in average grayscale values between the start and end of the intensity transition (edge width) from which an edge is established.
  • The maximum value is determined by the image depth. For example, for an 8-bit image, the value can be set from 0 to 255; for a 16-bit image, the value is 65535.


Measurement.Markers.Item.Contrast.Variation Property

Variation property

Availability | MIL Equivalent | Edge2 | WeightFactor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_CONTRAST_VARIATION
)

MeasInquire(
InquireType =
M_CONTRAST_VARIATION
)
Measurement
Markers
Item
Contrast
Variation
Synopsis
Returns or sets the tolerance of the contrast variation of an edge.
[]
Syntax
object.Variation [= Double]
[]
Syntax
object->Variation [= double]
Type description
A double value that specifies the tolerance of the contrast variation of an edge. (default is measAny)
Value | Meaning
value | Set to a value between 0 and ((2**image depth) – 1).
measAny | Not a criteria.
Remarks
  • The maximum value is determined by the size of the image depth. For example, for an 8-bit image, the value can be set from 0 to 255; for a 16-bit image, the value is 65535.
  • The contrast variation for a stripe marker should be the maximum of the contrast variations of both its edges.


Measurement.Markers.Item.Contrast.WeightFactor Property

WeightFactor property

See Also | Availability | MIL Equivalent | Variation
User Guide:
Weight factors
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_CONTRAST_VARIATION +
M_WEIGHT_FACTOR
)

MeasInquire(
InquireType =
M_CONTRAST_VARIATION +
M_WEIGHT_FACTOR
)
Measurement
Markers
Item
Contrast
WeightFactor
Synopsis
Returns or sets the weight factor of the marker's contrast.
[]
Syntax
object.WeightFactor [= Double]
[]
Syntax
object->WeightFactor [= double]
Type description
A double value that specifies the weight factor of the marker's contrast as a percentage.
Remarks
  • The weight factor determines the relative importance assigned to each of the marker's characteristics.
  • To better control the search, it is recommended that you assign a weight factor to all enabled characteristics which support weight factors to a total of 100%. You can set the weight factor using the Markers.Item(MarkerIndex).Contrast.WeightFactor, NumberOfInsideEdges.WeightFactor, EdgeStrength.WeightFactor, Position.WeightFactor, Spacing.WeightFactor and Width.WeightFactor properties.
  • All weight factors are specified as a percentage (0-100), and their relative weights are calculated internally. By default, 50% of the search weight is assigned to the edge strength, and the remaining 50% is equally divided among all other characteristics that support weight factors.


Measurement.Markers.Item.EdgeStrength Property

EdgeStrength property

See Also | Availability | MIL Equivalent | Contrast | EdgeThreshold
User Guide:
Edge markers: Edge strength
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
(M_EDGE_STRENGTH +
WEIGHT_FACTOR) or
M_EDGE_STRENGTH_VARIATION
FirstValue
SecondValue
)

MmeasInquire(
InquireType =
(M_EDGE_STRENGTH +
WEIGHT_FACTOR) or
M_EDGE_STRENGTH_VARIATION
)
Measurement
Markers
Item
EdgeStrength
Properties: Edge1, Edge2, Variation, WeightFactor
Synopsis
Allows you to specify the marker's expected edge strength.
[]
Syntax
[MarkerValueEdge =] object.EdgeStrength
[]
Syntax
[IMarkerValueEdgePtr =] object->EdgeStrength
Type description
A MarkerValueEdge object.
Remarks
  • The edge strength is either the minimum or maximum edge value along the edge width, depending on the polarity of the edge.
  • In an 8-bit image, the maximum possible pixel value is 255. Therefore, a 50% edge strength in this image represents a maximum edge value of 128 and a rising edge.
  • This property also allows you to specify the edge strength variation and the edge strength's weight factor.
  • You cannot assign another MarkerValueEdge object to this property.


Measurement.Markers.Item.EdgeStrength.Edge1 Property

Edge1 property

Availability | MIL Equivalent | Edge2
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_EDGE_STRENGTH
FirstValue
)

MmeasInquire(
InquireType =
M_EDGE_STRENGTH
)
Measurement
Markers
Item
EdgeStrength
Edge1
Synopsis
Returns or sets the expected edge strength of an edge marker, or the first edge of a stripe marker.
[]
Syntax
object.Edge1 [= Double]
[]
Syntax
object->Edge1 [= double]
Type description
A double value that specifies the edge strength of an edge marker, or the first edge of a striper marker. (default is measAny)
Value | Meaning
value | Set to a value between 0 and 100.
measAny | Not a criteria.
Remarks
  • The edge strength is either the maximum or minimum edge value along the edge width of the first edge, depending on the polarity of the edge.
  • In an 8-bit image, the maximum possible pixel value is 255. Therefore, a 50% edge strength in this image represents a maximum edge value of 128 and a rising edge.


Measurement.Markers.Item.EdgeStrength.Edge2 Property

Edge2 property

Availability | MIL Equivalent | Edge1 | Variation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_EDGE_STRENGTH
SecondValue
)

MmeasInquire(
InquireType =
M_EDGE_STRENGTH
)
Measurement
Markers
Item
EdgeStrength
Edge2
Synopsis
Returns or sets the expected edge strength of the second edge of a stripe marker.
[]
Syntax
object.Edge2 [= Double]
[]
Syntax
object->Edge2 [= double]
Type description
A double value that specifies the edge strength of the second edge of a stripe marker. (default is measAny)
Value | Meaning
value | Set to a value between 0 and 100.
measAny | Not a criteria.
Remarks
  • The edge strength is either the maximum or minimum edge value along the edge width of the second edge, depending on the polarity of the edge.
  • In an 8-bit image, the maximum possible pixel value is 255. Therefore, a 50% edge strength in this image represents a maximum edge value of 128 and a rising edge.
  • This property is for stripe markers only.


Measurement.Markers.Item.EdgeStrength.Variation Property

Variation property

Availability | MIL Equivalent | Edge2 | WeightFactor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_EDGE_STRENGTH_VARIATION
)

MmeasInquire(
InquireType =
M_EDGE_STRENGTH_VARIATION
)
Measurement
Markers
Item
EdgeStrength
Variation
Synopsis
Returns or sets the tolerance of the edge strength variation of an edge.
[]
Syntax
object.Variation [= Double]
[]
Syntax
object->Variation [= double]
Type description
A double value that specifies the tolerance of the edge strength variation of an edge. (default is measAny)
Value | Meaning
value | Set to a value between 0 and 100.
measAny | Not a criteria.
Remarks
  • The edge strength variation is the maximum tolerance of the maximum/minimum edge value of an edge (depending on the polarity of the edge).
  • This property is ignored if the Edge1 or Edge2 property is set to measAny. For a stripe marker, this property applies to both edges.
  • The value specifies the maximum tolerance as a normalized percentage of the image's maximum possible value. For example, for an 8-bit image, 10% is an edge strength variation of 25.5.


Measurement.Markers.Item.EdgeStrength.WeightFactor Property

WeightFactor property

See Also | Availability | MIL Equivalent | Variation
User Guide:
Weight factors
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_EDGE_STRENGTH +
M_WEIGHT_FACTOR
)

MmeasInquire(
InquireType =
M_EDGE_STRENGTH +
M_WEIGHT_FACTOR
)
Measurement
Markers
Item
EdgeStrength
WeightFactor
Synopsis
Returns or sets the weight factor of the marker's edge strength.
[]
Syntax
object.WeightFactor [= Double]
[]
Syntax
object->WeightFactor [= double]
Type description
A double value that specifies the weight factor of the marker's edge strength.
Remarks
  • The weight factor determines the relative importance assigned to each of the marker's characteristics.
  • To better control the search, it is recommended that you assign a weight factor to all enabled characteristics which support weight factors to a total of 100%. You can set the weight factor using the Markers.Item(MarkerIndex).Contrast.WeightFactor, NumberOfInsideEdges.WeightFactor, EdgeStrength.WeightFactor, Position.WeightFactor, Spacing.WeightFactor and Width.WeightFactor properties.
  • All weight factors are specified as a percentage (0-100), and their relative weights are calculated internally. By default, 50% of the search weight is assigned to the edge strength, and the remaining 50% is equally divided among all other characteristics that support weight factors.


Measurement.Markers.Item.EdgeThreshold Property

EdgeThreshold property

See Also | Availability | MIL Equivalent | EdgeStrength | FilterSmoothness
User Guide:
Edge markers: edge threshold
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_EDGE_THRESHOLD
)

MmeasInquire(
InquireType =
M_EDGE_THRESHOLD
)
Measurement
Markers
Item
EdgeThreshold
Synopsis
Returns or sets the edge value beneath which a grayscale variation is not considered an edge.
[]
Syntax
object.EdgeThreshold [= Double]
[]
Syntax
object->EdgeThreshold [= double]
Type description
A double value which represents the minimum edge value permissible in the target image. Must be set to a value between 0.0 and 100.0. (default is 2.0).
Remarks
  • For example, with a value of 2.0, an edge value is considered an edge only if it is greater than 2% of the maximum grayscale value of the image.
  • The lower the edge threshold, the slower the FindMarker method will execute due to the increased number of possible edges. To consider all grayscale variations as edges, irrespective of their values, set this property to a value of 0.0.


Measurement.Markers.Item.FilterSmoothness Property

FilterSmoothness property

See Also | Availability | MIL Equivalent | EdgeThreshold | FilterType
User Guide:
Search algorithm

Reference:
Measurement.Markers.Item.FilterType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker (
CharacteristicToSet =
M_FILTER_SMOOTHNESS
)

MmeasInquire(
InquireType =
M_FILTER_SMOOTHNESS
)
Measurement
Markers
Item
FilterSmoothness
Synopsis
Returns or sets the degree of smoothness (strength of denoising) applied to the internal projection buffer of the search region during the edge extraction.
[]
Syntax
object.FilterSmoothness [= Double]
[]
Syntax
object->FilterSmoothness [= double]
Type description
A double value or an ActiveMILDefaultConstants expression that specifies the degree of smoothness (strength of denoising) applied to the internal projection buffer of the search region during the edge extraction. (default is amilDefault)
Value | Meaning
amilDefault | Specifies the default value. (default is 50.0)
value | Specifies the smoothness value between 0.0 and 100.0, inclusively.
Remarks
  • The recursive edge extraction process involves a denoising operation.
  • A value of 100.0 results in a strong noise reduction effect, while a value of 0.0 has almost no noise reduction effect.
  • This property is only available when applying an IIR filter (for example, measShen) on the internal projection buffer. Use the FilterType property to determine the filter type.
  • This property cannot be used for a point marker.


Measurement.Markers.Item.FilterType Property

FilterType property

See Also | Availability | MIL Equivalent | FilterSmoothness | IsFound
User Guide:
Search Algorithm

Reference:
Measurement.Markers.Item.FilterSmoothness
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_FILTER_TYPE
)

MmeasInquire(
InquireType =
M_FILTER_TYPE
)
Measurement
Markers
Item
FilterType
Synopsis
Returns or sets the type of the first derivative filter to apply to internal projection buffer to perform the edge extraction.
[]
Syntax
object.FilterType [= MeasFilterTypeConstants]
[]
Syntax
object->FilterType [= enum MeasFilterTypeConstants]
Type description
A MeasFilterTypeConstants or an ActiveMILDefaultConstants expression that specifies the type of the first derivative filter with which to perform the edge extraction. (default is measEuler)
Value | Meaning
amilDefault | Specifies the default filter type. (default is measEuler)
measEuler | Specifies an Euler FIR filter.
measPrewitt | Specifies a Prewitt FIR filter.
measShen | Specifies a Shen-Castan Infinite Support Exponential filter.
Remarks
  • The edge value calculated for each projection value of the search region is dependent on this property.
  • The measEuler filter performs a non-recursive edge extraction operation with a predefined kernel of size 2:

    [-1,1]

  • The measPrewitt filter peforms a non-recursive edge extraction operation with a predefined kernel of size 3:

    [-1,0,1]

  • The measEuler filter is faster but more sensitive to noise, compared to the measPrewitt filter.
  • The measShen filter is an exponential weighting function, of the general form:
    This filter performs a recursive edge extraction opeartion using an IIR filter. If this filter actually used a kernel, the kernel size would be theoretically infinite.
  • The IIR filter (measShen) is slower than FIR filters (measEuler or measPrewitt). However, the measShen filter is less sentive to noise and provides more accurate results.
  • When using the measShen filter, you can use the FilterSmoothness property to control the strength of denoising applied to the projection buffer of the search region during the edge extraction.
  • This property cannot be used for a point marker.


Measurement.Markers.Item.IsFound Property

IsFound property

Availability | MIL Equivalent | FilterType | MarkerType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_VALID_FLAG
)

MmeasGetResultSingle(
ResultType =
M_VALID_FLAG
)
Measurement
Markers
Item
IsFound
Synopsis
Returns whether the marker is found.
[]
Syntax
[Boolean =] object.IsFound
[]
Syntax
[VARIANT_BOOL =] object->IsFound
Type description
A boolean expression that specifies whether the marker is found.
Value | Meaning
True | The marker is found.
False | The marker is not found.
Remarks
  • The IsFound property is used to verify if the marker has been found after a call to the FindMarker method. This property is True only if the marker is found, and applies to the last call to the FindMarker method with the appropriate marker index.
  • If the marker is found, you can access the results in the collection of measurement results using the Results property. Note that if changes are made to the target image, or the marker characteristics, then subsequent results obtained following a call to the FindMarker method will be effected.


Measurement.Markers.Item.MarkerType Property

MarkerType property

See Also | Availability | MIL Equivalent | IsFound | MilID
User Guide:
Markers
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasAllocMarker(MarkerType)

MmeasInquire(
InquireType =
M_MARKER_TYPE
)
Measurement
Markers
Item
MarkerType
Synopsis
Returns or sets the type of marker.
[]
Syntax
object.MarkerType [= MeasMarkerTypeConstants]
[]
Syntax
object->MarkerType [= enum MeasMarkerTypeConstants]
Type description
A MeasMarkerTypeConstants expression that specifies the type of marker. (default is measEdge)
Value | Meaning
measPoint | Point marker. A marker consisting of a single point or multiple points and generally used as a reference position in calculations involving two markers. Point markers don't have to be searched for in order to be used and can be placed manually at the required locations as reference markers. Positional results from a previous pattern matching or blob analysis operation on the image can also be declared as point markers.
measEdge | Edge marker. A marker consisting of an edge or multiple edges.
measStripe | Stripe marker. A marker consisting of a stripe (two edges) or multiple stripes.
Remarks
  • To allocate a multiple marker, set the number of occurrences of the edge or stripe using the Markers.Item(MarkerIndex).NumberOfOccurrences property.
  • This property cannot be set at run-time if the control is in the allocated state.


Measurement.Markers.Item.MilID Property

MilID property

See Also | Availability | MIL Equivalent | MarkerType | MinimumNumberOfOccurrences
User Guide:
Integrating MIL functions into your ActiveMIL code.

Reference:
Measurement.IsAllocated
Measurement.Modified
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasAllocMarker(MarkerIdPtr)
Measurement
Markers
Item
MilID
Synopsis
Returns the Native MIL identifier of the measurement marker.
[]
Syntax
[Integer =] object.MilID
[]
Syntax
[long =] object->MilID
Type description
A long value that specifies the marker's Native MIL identifier.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • The control's Modified method should be called after making Native MIL call(s) on the returned identifier.
  • If the control's IsAllocated property is False, the MilID property will be 0.


Measurement.Markers.Item.MinimumNumberOfOccurrences Property

MinimumNumberOfOccurrences property

See Also | Availability | MIL Equivalent | MilID | NumberOfInsideEdges
User Guide:
Multiple marker characteristics

Reference:
Measurement.Markers.Item.NumberOfOccurrences
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_NUMBER_MIN
)

MmeasInquire (
InquireType =
M_NUMBER_MIN
)
Measurement
Markers
Item
MinimumNumberOfOccurrences
Synopsis
Returns or sets the minimum number of expected edges or stripes to locate in the search region.
[]
Syntax
object.MinimumNumberOfOccurrences [= Integer]
[]
Syntax
object->MinimumNumberOfOccurrences [= long]
Type description
A long value which specifies the minimum number of expected edges or stripes to locate in the search region.
Remarks
  • A marker with more than one edge, stripe, or point is referred to as a multiple marker.
  • All measurements specified with the MeasurementList property are determined for each edge or stripe found.
  • Unless a minimum number of occurrences is specified with this property, no results will be returned if the number of edges or stripes found falls below the specified number of occurrences (NumberOfOccurrences property).
  • The default is equal to the NumberOfOccurrences property.


Measurement.Markers.Item.NumberOfInsideEdges Property

NumberOfInsideEdges property

See Also | Availability | MIL Equivalent | MinimumNumberOfOccurrences | NumberOfOccurrences
User Guide:
Stripe markers: inside edge and inside edge variation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
(M_EDGE_INSIDE +
WEIGHT_FACTOR) or
M_EDGE_INSIDE_VARIATION
)

MmeasInquire(
InquireType =
(M_EDGE_INSIDE +
WEIGHT_FACTOR) or
M_EDGE_INSIDE_VARIATION
)
Measurement
Markers
Item
NumberOfInsideEdges
Properties: Value, Variation, WeightFactor
Synopsis
Allows you to specify the expected number of inside edges of a stripe marker.
[]
Syntax
[MarkerValue =] object.NumberOfInsideEdges
[]
Syntax
[IMarkerValuePtr =] object->NumberOfInsideEdges
Type description
A MarkerValue object.
Remarks
  • This property is for stripe markers only.
  • The number of inside edges is the typical number of edges located between the external edges of the stripe marker you are defining.
  • This property also allows you to specify the variation in the number of inside edges, and the weight factor given to the number of inside edges.
  • You cannot assign another MarkerValue object to this property.
[]
Example
This example shows how to use the NumberOfInsideEdges property.

m_Measurement1->Markers->Item(1)->NumberOfInsideEdges->Value = 0;

m_Measurement1->Markers->Item(1)->NumberOfInsideEdges->Variation = 0;

m_Measurement1->Markers->Item(1)->NumberOfInsideEdges->WeightFactor = 33;


Measurement.Markers.Item.NumberOfInsideEdges.Value Property

Value property

Availability | MIL Equivalent | Variation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_EDGE_INSIDE
)

MmeasInquire(
InquireType =
M_EDGE_INSIDE
)
Measurement
Markers
Item
NumberOfInsideEdges
Value
Synopsis
Returns or sets the expected number of edges occuring inside a stripe marker.
[]
Syntax
object.Value [= Double]
[]
Syntax
object->Value [= double]
Type description
A double value that specifies the expected number of edges inside a stripe marker. (default is measAny)
Value | Meaning
value | The number of inside edges.
measAny | Not a criteria.
Remark
  • This property is for stripe markers only.
[]
Example
This example shows how to set the number of inside edges within a stripe marker.

m_Measurement1->Markers->Item(1)->NumberOfInsideEdges->Value = 0;


Measurement.Markers.Item.NumberOfInsideEdges.Variation Property

Variation property

Availability | MIL Equivalent | Value | WeightFactor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_EDGE_INSIDE_VARIATION
)

MmeasInquire(
InquireType =
M_EDGE_INSIDE_VARIATION
)
Measurement
Markers
Item
NumberOfInsideEdges
Variation
Synopsis
Returns or sets the tolerance of the variation in the number of inside edges of a stripe.
[]
Syntax
object.Variation [= Double]
[]
Syntax
object->Variation [= double]
Type description
A double value that specifies the tolerance of the variation in the number of inside edges of a stripe. (default is measAny)
Value | Meaning
value | The number of inside edges.
measAny | Not a criteria.
Remarks
  • This variation (tolerance) should be increments of two if stripes are contained within stripes, since two edges are recognized for each stripe.
  • This property is for stripe markers only.
[]
Example
This example shows how to set the variation in the stripe's number of inside edges.

m_Measurement1->Markers->Item(1)->NumberOfInsideEdges->Variation = 0;


Measurement.Markers.Item.NumberOfInsideEdges.WeightFactor Property

WeightFactor property

See Also | Availability | MIL Equivalent | Variation
User Guide:
Weight factors
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_EDGE_INSIDE +
M_WEIGHT_FACTOR
)

MmeasInquire(
InquireType =
M_EDGE_INSIDE +
M_WEIGHT_FACTOR
)
Measurement
Markers
Item
NumberOfInsideEdges
WeightFactor
Synopsis
Returns or sets the weight factor of the stripe marker's number of inside edges.
[]
Syntax
object.WeightFactor [= Double]
[]
Syntax
object->WeightFactor [= double]
Type description
A double value that specifies the weight factor of the stripe marker's number of inside edges.
Remarks
  • This property is for stripe markers only.
  • The weight factor determines the relative importance assigned to each of the marker's characteristics.
  • To better control the search, it is recommended that you assign a weight factor to all enabled characteristics which support weight factors to a total of 100%. You can set the weight factor using the Markers.Item(MarkerIndex).Contrast.WeightFactor, NumberOfInsideEdges.WeightFactor, EdgeStrength.WeightFactor, Position.WeightFactor, Spacing.WeightFactor and Width.WeightFactor properties.
  • All weight factors are specified as a percentage (0-100), and their relative weights are calculated internally. By default, 50% of the search weight is assigned to the edge strength, and the remaining 50% is equally divided among all other characteristics that support weight factors.
[]
Example
This example shows how to set the weight factor for the marker's number of inside edges.

m_Measurement1->Markers->Item(1)->NumberOfInsideEdges->WeightFactor = 33;


Measurement.Markers.Item.NumberOfOccurrences Property

NumberOfOccurrences property

See Also | Availability | MIL Equivalent | NumberOfInsideEdges | Orientation
User Guide:
Multiple marker characteristics

Reference:
Measurement.Markers.Item.MinimumNumberOfOccurrences
Measurement.Results.Count
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_NUMBER
)

MmeasInquire (
InquireType =
M_NUMBER
)
Measurement
Markers
Item
NumberOfOccurrences
Synopsis
Returns or sets the number of expected edges or stripes to locate in the search region, or the number of points used as a reference marker.
[]
Syntax
object.NumberOfOccurrences [= Integer]
[]
Syntax
object->NumberOfOccurrences [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value or MeasAllConstants expression which specifies the number of edges, points, or stripes. (default is 1)
Value | Meaning
value | The required number of points, edges, or stripes to locate.
measAll | Locates all edges or stripes in the search region.
Remarks
  • A marker with more than one edge, stripe, or point is referred to as a multiple marker.
  • All measurements specified with the MeasurementList property are determined for each edge or stripe found.
  • Unless a minimum number of occurrences is specified with the Markers.Item(MarkerIndex).MinimumNumberOfOccurrences property, no results will be returned if the number of edges or stripes found falls below the specified number of occurrences (NumberOfOccurrences property).
  • A multiple point marker must have its initial position set using the properties of the Markers.Item(MarkerIndex).Position property. The spacing between the multiple points of a multiple point marker must be set using the Markers.Item(MarkerIndex).Spacing.Value property (a multiple point marker can only be defined to use the same spacing between points; if irregularly spaced points are needed, you must specify each one individually as a marker).
  • You cannot set this property to measAll for point markers.
[]
Example
This example shows how to set the number of expected edges or stripes to be found in the search region.

m_Measurement1->Markers->Item(1)->NumberOfOccurrences = 11;


Measurement.Markers.Item.Orientation Property

Orientation property

See Also | Availability | MIL Equivalent | NumberOfOccurrences | Polarity
User Guide:
Search region
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_ORIENTATION
)

MmeasInquire (
InquireType =
M_ORIENTATION
)
Measurement
Markers
Item
Orientation
Synopsis
Returns or sets the expected orientation of an edge or stripe marker.
[]
Syntax
object.Orientation [= MeasMarkerOrientationConstants]
[]
Syntax
object->Orientation [= enum MeasMarkerOrientationConstants]
Type description
A MeasMarkerOrientationConstants expression that specifies the orientation of an edge or stripe marker, relative to that of the search region. (default is measVertical)
Value | Meaning
measVertical | The marker has a vertical orientation.
measHorizontal | The marker has a horizontal orientation.
measAnyOrientation | Both orientations will be searched.
Remark
  • Determines the direction in which the search will proceed.
[]
Example
This example shows how to set the expected orientation for the marker.

m_Measurement1->Markers->Item(1)->Orientation = measHorizontal;


Measurement.Markers.Item.Polarity Property

Polarity property

See Also | Availability | MIL Equivalent | Orientation | Position
User Guide:
Edge markers: polarity
Stripe markers: polarity
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_POLARITY
FirstValue
SecondValue
)

MmeasInquire(
InquireType =
M_POLARITY
)
Measurement
Markers
Item
Polarity
Properties: Edge1, Edge2
Synopsis
Allows you to specify the marker's expected polarity.
[]
Syntax
[MarkerPolarity =] object.Polarity
[]
Syntax
[IMarkerPolarityPtr =] object->Polarity
Type description
A MarkerPolarity object.
Remarks
  • The polarity describes whether an edge has a rising (increase in grayscale values) or a falling edge (decrease in grayscale values).
  • When specifying the polarity of the marker, take into account the direction of the search.
  • You cannot assign another MarkerPolarity object to this property.
[]
Example
This example shows how to use the Polarity property.

m_Measurement1->Markers->Item(1)->Polarity->Edge1 = measPositive;

m_Measurement1->Markers->Item(1)->Polarity->Edge2 = measNegative;


Measurement.Markers.Item.Polarity.Edge1 Property

Edge1 property

Availability | MIL Equivalent | Edge2
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_POLARITY
FirstValue
)

MmeasInquire(
InquireType =
M_POLARITY
)
Measurement
Markers
Item
Polarity
Edge1
Synopsis
Returns or sets the polarity of an edge marker, or the first edge of a stripe marker.
[]
Syntax
object.Edge1 [= MeasMarkerPolarityConstants]
[]
Syntax
object->Edge1 [= enum MeasMarkerPolarityConstants]
Type description
A MeasMarkerPolarityConstants expression that specifies the polarity of an edge marker, or the first edge of a stripe marker. (default is measAnyPolarity)
Value | Meaning
measPositive | The polarity is positive (rising edge).
measNegative | The polarity is negative (falling edge).
measOpposite | The polarity is the opposite of that of the second edge.
measSamePolarity | The polarity is the same as that of the second edge.
measAnyPolarity | Not a criteria.
Remark
  • For an edge marker, this property cannot be set to measOpposite or measSamePolarity.
[]
Example
This example shows how to set the polarity of an edge marker, or the first edge of a stripe marker.

m_Measurement1->Markers->Item(1)->Polarity->Edge1 = measPositive;


Measurement.Markers.Item.Polarity.Edge2 Property

Edge2 property

Availability | MIL Equivalent | Edge1
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_POLARITY
SecondValue
)

MmeasInquire(
InquireType =
M_POLARITY
)
Measurement
Markers
Item
Polarity
Edge2
Synopsis
Returns or sets the polarity of the second edge of a stripe marker.
[]
Syntax
object.Edge2 [= MeasMarkerPolarityConstants]
[]
Syntax
object->Edge2 [= enum MeasMarkerPolarityConstants]
Type description
A MeasMarkerPolarityConstants expression that specifies the polarity of the second edge of a stripe marker. (default is measAnyPolarity)
Value | Meaning
measPositive | The polarity is positive (rising edge).
measNegative | The polarity is negative (falling edge).
measOpposite | The polarity is the opposite of that of the second edge.
measSamePolarity | The polarity is the same as that of the second edge.
measAnyPolarity | Not a criteria.
Remark
  • This property is for stripe markers only.
[]
Example
This example shows how to set the polarity for the second edge of a stripe marker.

m_Measurement1->Markers->Item(1)->Polarity->Edge2 = measNegative;


Measurement.Markers.Item.Position Property

Position property

See Also | Availability | MIL Equivalent | Polarity | ReferenceX
User Guide:
Edge markers: position and position variation
Stripe markers: position and position variation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_POSITION_INSIDE_STRIPE or
M_POSITION_VARIATION or
(M_POSITION +
M_WEIGHT_FACTOR) or
M_POSITION_X or
M_POSITION_Y
)

MmeasInquire(
InquireType =
M_POSITION_INSIDE_STRIPE or
M_POSITION_VARIATION or
(M_POSITION +
M_WEIGHT_FACTOR) or
M_POSITION_X or
M_POSITION_Y
)
Measurement
Markers
Item
Position
Properties: StripeLocation, Variation, WeightFactor, X, Y
Synopsis
Allows you to specify the expected position of the marker.
[]
Syntax
[MarkerPosition =] object.Position
[]
Syntax
[IMarkerPositionPtr =] object->Position
Type description
A MarkerPosition object.
Remarks
  • For an edge or stripe marker, this property allows you to specify the X- and Y-coordinates of the expected position of the marker's center in the target image, the position variation, and the position's weight factor.
  • For a point marker, this property defines the position of the marker.
  • For an edge or stripe marker, the defined position must be within the marker (taking into account the angle or scope of the angular search, if enabled).
  • When using a stripe marker, you can define instead a position that must be outside of the stripe marker, depending on the StripeLocation property.
  • The position is ignored for a multiple edge or stripe marker. For a multiple point marker, this property defines the position of the first point.
  • You cannot assign another MarkerPosition object to this property.


Measurement.Markers.Item.Position.StripeLocation Property

StripeLocation property

See Also | Availability | MIL Equivalent | Variation
User Guide:
Stripe location

Reference:
Measurement.Markers.Item.Position.X
Measurement.Markers.Item.Position.Y
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_POSITION_INSIDE_STRIPE
)

MmeasInquire(
InquireType =
M_POSITION_INSIDE_STRIPE
)
Measurement
Markers
Item
Position
StripeLocation
Synopsis
Returns or sets the expected location of the marker's specified position relative to the stripe.
[]
Syntax
object.StripeLocation [= MeasMarkerStripeLocationConstants]
[]
Syntax
object->StripeLocation [= enum MeasMarkerStripeLocationConstants]
Type description
A MeasMarkerStripeLocationConstants expression that specifies the location of the marker. (default is measAnyStripeLocation)
Value | Meaning
measInsideOf | The position of the marker is inside the stripe.
measOutsideOf | The position of the marker is outside the stripe.
measAnyStripeLocation | The position of the marker can be either inside or outside the stripe.
Remarks
  • This property is for stripe markers only.
  • If the position is defined as being within the stripe, the search algorithm is modified so that the search proceeds outwards in both directions from that point, making the operation faster and more robust.
  • If defined as outside the stripe, no stripe including the position is considered.


Measurement.Markers.Item.Position.Variation Property

Variation property

See Also | Availability | MIL Equivalent | StripeLocation | WeightFactor
Reference:
Measurement.Markers.Item.Position.StripeLocation
Measurement.Markers.Item.Position.WeightFactor
Measurement.Markers.Item.Position.X
Measurement.Markers.Item.Position.Y
Measurement.MeasurementList.PositionVariation
Measurement.Results.Item.PositionVariation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_POSITION_VARIATION
)

MmeasInquire(
InquireType =
M_POSITION_VARIATION
)
Measurement
Markers
Item
Position
Variation
Synopsis
Returns or sets the tolerance of the position variation within the target image.
[]
Syntax
object.Variation [= Double]
[]
Syntax
object->Variation [= double]
Type description
A double value that specifies the tolerance of the position variation within the target image. (default is measAny)
Value | Meaning
value | The position variation of the marker, in pixels.
measAny | Not a criteria.
Remarks
  • This property must be set to a value valid within the target image.
  • This property cannot be used for a point marker.


Measurement.Markers.Item.Position.WeightFactor Property

WeightFactor property

See Also | Availability | MIL Equivalent | Variation | X
User Guide:
Weight factors
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_POSITION +
M_WEIGHT_FACTOR
)

MmeasInquire(
InquireType =
M_POSITION +
M_WEIGHT_FACTOR
)
Measurement
Markers
Item
Position
WeightFactor
Synopsis
Returns or sets the weight factor of the marker's stripe location.
[]
Syntax
object.WeightFactor [= Double]
[]
Syntax
object->WeightFactor [= double]
Type description
A double value that specifies the weight factor of the marker's stripe location.
Remarks
  • The weight factor determines the relative importance assigned to each of the marker's characteristics.
  • To better control the search, it is recommended that you assign a weight factor to all enabled characteristics which support weight factors to a total of 100%. You can set the weight factor using the Markers.Item(MarkerIndex).Contrast.WeightFactor, NumberOfInsideEdges.WeightFactor, EdgeStrength.WeightFactor, Position.WeightFactor, Spacing.WeightFactor and Width.WeightFactor properties.
  • All weight factors are specified as a percentage (0-100), and their relative weights are calculated internally. By default, 50% of the search weight is assigned to the edge strength, and the remaining 50% is equally divided among all other characteristics that support weight factors.


Measurement.Markers.Item.Position.X Property

X property

See Also | Availability | MIL Equivalent | WeightFactor | Y
Reference:
Measurement.Markers.Item.Position.StripeLocation
Measurement.Markers.Item.Position.Variation
Measurement.Markers.Item.Position.WeightFactor
Measurement.Markers.Item.Position.Y
Measurement.MeasurementList.PositionVariation
Measurement.Results.Item.MaximumPositionX
Measurement.Results.Item.MaximumPositionY
Measurement.Results.Item.MinimumPositionX
Measurement.Results.Item.MinimumPositionY
Measurement.Results.Item.PositionVariation
Measurement.Results.Item.PositionX
Measurement.Results.Item.PositionY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_POSITION_X
)

MmeasInquire(
InquireType =
M_POSITION_X
)
Measurement
Markers
Item
Position
X
Synopsis
Returns or sets the expected X-coordinate of the marker center within the target image.
[]
Syntax
object.X [= Double]
[]
Syntax
object->X [= double]
Type description
A double value that specifies the expected X-coordinate of the marker center. (default is measAny)
Value | Meaning
value | The X-coordinate of the marker center, in pixels.
measAny | Not a criteria.
Remarks
  • The position of a marker is defined as the marker center within the target image (approximate for a point marker), relative to the top-left pixel in the target image. Note, the position can be defined with subpixel accuracy.
  • For an edge or stripe marker, the X-coordinate must be valid within the search region (taking into account the angle or scope of the angular search, if enabled).
  • When using a stripe marker, you can define instead a position that must be outside of the stripe marker, depending on the Markers.Item(MarkerIndex).Position.StripeLocation property. Then, it is by definition not the marker center.
  • The position is ignored for a multiple edge or stripe marker. For a multiple point marker, this property defines the position of the first point.
  • This property cannot be set to measAny for a point marker. This property can only be set to measAny when setting the marker center within the marker.


Measurement.Markers.Item.Position.Y Property

Y property

See Also | Availability | MIL Equivalent | X
Reference:
Measurement.Markers.Item.Position.StripeLocation
Measurement.Markers.Item.Position.Variation
Measurement.Markers.Item.Position.WeightFactor
Measurement.Markers.Item.Position.X
Measurement.MeasurementList.PositionVariation
Measurement.Results.Item.MaximumPositionX
Measurement.Results.Item.MaximumPositionY
Measurement.Results.Item.MinimumPositionX
Measurement.Results.Item.MinimumPositionY
Measurement.Results.Item.PositionVariation
Measurement.Results.Item.PositionX
Measurement.Results.Item.PositionY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_POSITION_Y
)

MmeasInquire(
InquireType =
M_POSITION_Y
)
Measurement
Markers
Item
Position
Y
Synopsis
Returns or sets the expected Y-coordinate of the marker center within the target image.
[]
Syntax
object.Y [= Double]
[]
Syntax
object->Y [= double]
Type description
A double value that specifies the expected Y-coordinate of the marker center. (default is measAny)
Value | Meaning
value | The Y-coordinate of the marker center, in pixels.
measAny | Not a criteria.
Remarks
  • The position of a marker is defined as the marker center within the target image (approximate for a point marker), relative to the top-left pixel in the target image. Note, the position can be defined with subpixel accuracy.
  • For an edge or stripe marker, the Y-coordinate must be valid within the search region (taking into account the angle or scope of the angular search, if enabled).
  • When using a stripe marker, you can define instead a position that must be outside of the stripe marker, depending on the Markers.Item(MarkerIndex).Position.StripeLocation property. Then, it is by definition not the marker center.
  • The position is ignored for a multiple edge or stripe marker. For a multiple point marker, this property defines the position of the first point.
  • This property cannot be set to measAny for a point marker. This property can only be set to measAny when setting the marker center within the marker.


Measurement.Markers.Item.ReferenceX Property

ReferenceX property

See Also | Availability | MIL Equivalent | Position | ReferenceY
User Guide:
Edge markers: marker reference position
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_MARKER_REFERENCE
FirstValue
)

MmeasInquire(
InquireType =
M_MARKER_REFERENCE
)
Measurement
Markers
Item
ReferenceX
Synopsis
Returns or sets the X-offset of the marker's reference position.
[]
Syntax
object.ReferenceX [= Double]
[]
Syntax
object->ReferenceX [= double]
Type description
A double value that specifies the X-offset of the marker's reference position relative to the marker's center, in pixels. (default is 0)
Remarks
  • The marker's reference position is only used when calculating measurements between two markers with the Calculate method. The FindMarker method uses the expected position of the marker's center in the target image (Markers.Item(MarkerIndex).Position property).
  • The reference position can be set to any position valid within the target image.
  • This property cannot be used for a point marker.


Measurement.Markers.Item.ReferenceY Property

ReferenceY property

See Also | Availability | MIL Equivalent | ReferenceX | SearchRegion
User Guide:
Edge markers: marker reference position
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_MARKER_REFERENCE
SecondValue
)

MmeasInquire(
InquireType =
M_MARKER_REFERENCE
)
Measurement
Markers
Item
ReferenceY
Synopsis
Returns or sets the Y-offset of the marker's reference position.
[]
Syntax
object.ReferenceY [= Double]
[]
Syntax
object->ReferenceY [= double]
Type description
A double value that specifies the Y-offset of the marker's reference position relative to the marker's center, in pixels. (default is 0)
Remarks
  • The marker's reference position is only used when calculating measurements between two markers with the Calculate method. The FindMarker method uses the expected position of the marker's center in the target image (Markers.Item(MarkerIndex).Position property).
  • The reference position can be set to any position valid within the target image.
  • This property cannot be used for a point marker.


Measurement.Markers.Item.SearchRegion Property

SearchRegion property

See Also | Availability | MIL Equivalent | ReferenceY | Spacing
User Guide:
Search region
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_BOX_ORIGIN or
M_BOX_ANGLE_ACCURACY or
M_BOX_ANGLE_REFERENCE or
M_BOX_ANGLE_MODE or
M_BOX_ANGLE_INTERPOLATION_MODE or
M_BOX_ANGLE_DELTA_NEG or
M_BOX_ANGLE_DELTA_POS or
M_BOX_ANGLE_TOLERANCE or
M_BOX_ANGLE or
M_BOX_SIZE
FirstValue
SecondValue
)

MmeasInquire(
InquireType =
same values as above
)
Measurement
Markers
Item
SearchRegion
Properties: Angle, CenterX, CenterY, EndX, EndY, FullSize, Mode, OffsetX, OffsetY, SizeX, SizeY, StartX, StartY, X1, X2, X3, X4, Y1, Y2, Y3, Y4
Synopsis
Allows you to specify the region in the target image in which to search for the marker.
[]
Syntax
[RegionOfInterest2 =] object.SearchRegion
[]
Syntax
[IRegionOfInterest2Ptr =] object->SearchRegion
Type description
A RegionOfInterest2 object.
Remarks
  • You cannot assign another RegionOfInterest2 object to this property.
  • This property cannot be used for a point marker.


Measurement.Markers.Item.SearchRegion.Angle Property

Angle property

Availability | MIL Equivalent | CenterX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_BOX_ANGLE_ACCURACY or
M_BOX_ANGLE_REFERENCE or
M_BOX_ANGLE_MODE or
M_BOX_ANGLE_INTERPOLATION_MODE or
M_BOX_ANGLE_DELTA_NEG or
M_BOX_ANGLE_DELTA_POS or
M_BOX_ANGLE_TOLERANCE or
M_BOX_ANGLE
)

MmeasInquire(
InquireType =
M_BOX_ANGLE_ACCURACY or
M_BOX_ANGLE_REFERENCE or
M_BOX_ANGLE_MODE or
M_BOX_ANGLE_INTERPOLATION_MODE or
M_BOX_ANGLE_DELTA_NEG or
M_BOX_ANGLE_DELTA_POS or
M_BOX_ANGLE_TOLERANCE or
M_BOX_ANGLE
)
Measurement
Markers
Item
SearchRegion
Angle
Properties: Accuracy, CenterOfRotation, Enabled, InterpolationMode, NegativeDelta, PositiveDelta, Tolerance, Value
Synopsis
Allows you to specify or determine the angle, or angular range, of the search region.
[]
Syntax
[Angle =] object.Angle
[]
Syntax
[IAnglePtr =] object->Angle
Type description
An Angle object.
Remarks
  • You cannot assign another Angle object to this property.
  • This property cannot be used for a point marker.


Measurement.Markers.Item.SearchRegion.Angle.Accuracy Property

Accuracy property

See Also | Availability | MIL Equivalent | CenterOfRotation
User Guide:
Search region

Reference:
Measurement.Markers.Item.SearchRegion.Angle.Enabled
Measurement.Markers.Item.SearchRegion.Angle.Tolerance
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_BOX_ANGLE_ACCURACY
)

MmeasInquire(
InquireType =
M_BOX_ANGLE_ACCURACY
)
Measurement
Markers
Item
SearchRegion
Angle
Accuracy
Synopsis
Returns or sets the required accuracy for the angular search.
[]
Syntax
object.Accuracy [= Double]
[]
Syntax
object->Accuracy [= double]
Type description
A double value that specifies the accuracy of angular search. (default is angleDisable)
Value | Meaning
value | Set to a value between 0.1º and 180º, in degrees.
angleDisable | Forces an angle of accuracy equal to that of the tolerance.
Remarks
  • The Markers.Item(MarkerIndex).SearchRegion.Angle.Enabled property must be set to True for this property to be in effect.
  • The default accuracy is equal to the angle of tolerance, set with the Markers.Item(MarkerIndex).SearchRegion.Angle.Tolerance property.
  • This property cannot be used for a point marker.


Measurement.Markers.Item.SearchRegion.Angle.CenterOfRotation Property

CenterOfRotation property

See Also | Availability | MIL Equivalent | Accuracy | Enabled
User Guide:
Search region

Reference:
Measurement.Markers.Item.SearchRegion.Angle.Enabled
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_BOX_ANGLE_REFERENCE
)

MmeasInquire(
InquireType =
M_BOX_ANGLE_REFERENCE
)
Measurement
Markers
Item
SearchRegion
Angle
CenterOfRotation
Synopsis
Returns or sets the search region's center of rotation when angular search mode is enabled.
[]
Syntax
object.CenterOfRotation [= AngleCenterOfRotationConstants]
[]
Syntax
object->CenterOfRotation [= enum AngleCenterOfRotationConstants]
Type description
An AngleCenterOfRotationConstants expression that specifies the center of rotation of the search region. (default is angleCenter )
Value | Meaning
angleCenter | Search region center is the center of rotation.
angleOrigin | Search region origin is the center of rotation.
Remarks
  • This property sets the center of rotation used when the Markers.Item(MarkerIndex).SearchRegion.Angle.Value property is not set to 0.
  • Search region center is specified with the Markers.Item(MarkerIndex).SearchRegion.CenterX and CenterY properties. Search region origin is specified with the StartX and StartY properties.
  • The Markers.Item(MarkerIndex).SearchRegion.Angle.Enabled property must be set to True for this property to be in effect.
  • This property cannot be used for a point marker.


Measurement.Markers.Item.SearchRegion.Angle.Enabled Property

Enabled property

See Also | Availability | MIL Equivalent | CenterOfRotation | InterpolationMode
User Guide:
Search region
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_BOX_ANGLE_MODE
)

MmeasInquire(
InquireType =
M_BOX_ANGLE_MODE
)
Measurement
Markers
Item
SearchRegion
Angle
Enabled
Synopsis
Returns or sets whether the multiple-angle search is enabled.
[]
Syntax
object.Enabled [= Boolean]
[]
Syntax
object->Enabled [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the multiple-angle search is enabled. (default is False)
Value | Meaning
True | Enable angular search mode.
False | Disable angular search mode.
Remarks
  • The search region's initial angle can be set with the Markers.Item(MarkerIndex).SearchRegion.Angle.Value property, regardless of whether the multiple-angle search is enabled or disabled.
  • When the Markers.Item(MarkerIndex).SearchRegion.Angle.Enabled property is set to False, the marker is only searched for at the angle set with the Value property with a default amount of tolerance; when the Markers.Item(MarkerIndex).SearchRegion.Angle.Enabled property is set to True, a multiple-angle search is performed, in the specified angular range, and the angle with the highest score is returned.
  • This property cannot be used for a point marker.


Measurement.Markers.Item.SearchRegion.Angle.InterpolationMode Property

InterpolationMode property

See Also | Availability | MIL Equivalent | Enabled | NegativeDelta
User Guide:
Search region

Reference:
Measurement.Markers.Item.SearchRegion.Angle.Enabled
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_BOX_ANGLE_INTERPOLATION_MODE
)

MmeasInquire(
InquireType =
M_BOX_ANGLE_INTERPOLATION_MODE
)
Measurement
Markers
Item
SearchRegion
Angle
InterpolationMode
Synopsis
Returns or sets the type of interpolation used when angular search mode is enabled.
[]
Syntax
object.InterpolationMode [= AngleInterpolationModeConstants]
[]
Syntax
object->InterpolationMode [= enum AngleInterpolationModeConstants]
Type description
An AngleInterpolationModeConstants expression that specifies the type of interpolation. (default is angleBilinear )
Value | Meaning
angleNearestNeighbor | Nearest neighbor interpolation.
angleBilinear | Bilinear interpolation.
angleBicubic | Bicubic interpolation.
Remarks
  • The Markers.Item(MarkerIndex).SearchRegion.Angle.Enabled property must be set to True for this property to be in effect.
  • This property cannot be used for a point marker.


Measurement.Markers.Item.SearchRegion.Angle.NegativeDelta Property

NegativeDelta property

See Also | Availability | MIL Equivalent | InterpolationMode | PositiveDelta
User Guide:
Search region

Reference:
Measurement.Markers.Item.SearchRegion.Angle.Enabled
Measurement.Markers.Item.SearchRegion.Angle.PositiveDelta
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_BOX_ANGLE_DELTA_NEG
)

MmeasInquire(
InquireType =
M_BOX_ANGLE_DELTA_NEG
)
Measurement
Markers
Item
SearchRegion
Angle
NegativeDelta
Synopsis
Returns or sets the negative range of angles within which to search for the marker.
[]
Syntax
object.NegativeDelta [= Double]
[]
Syntax
object->NegativeDelta [= double]
Type description
A double value or an ActiveMILDefaultConstants expresion that specifies the negative range of angles within which to search for the marker. (default is 180º or 360º)
Value | Meaning
amilDefault | Default of 180º for a symmetrical stripe marker, or 360º for an edge marker or a non-symmetrical stripe marker.
value | Set to a value between 0.1º and 360º, in degrees.
Remarks
  • The Markers.Item(MarkerIndex).SearchRegion.Angle.Enabled property must be set to True for this property to be in effect.
  • Initial search angle is set with the Markers.Item(MarkerIndex).SearchRegion.Angle.Value property.
  • The search is performed between the range of angles defined by (Value - NegativeDelta) to (Value + PositiveDelta), inclusively, starting with an angle closest to that of Value.
  • The smaller the angular range, the faster the search.
  • This property cannot be used for a point marker.


Measurement.Markers.Item.SearchRegion.Angle.PositiveDelta Property

PositiveDelta property

See Also | Availability | MIL Equivalent | NegativeDelta | Tolerance
User Guide:
Search region

Reference:
Measurement.Markers.Item.SearchRegion.Angle.Enabled
Measurement.Markers.Item.SearchRegion.Angle.NegativeDelta
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_BOX_ANGLE_DELTA_POS
)

MmeasInquire(
InquireType =
M_BOX_ANGLE_DELTA_POS
)
Measurement
Markers
Item
SearchRegion
Angle
PositiveDelta
Synopsis
Returns or sets the positive range of angles within which to search for the marker.
[]
Syntax
object.PositiveDelta [= Double]
[]
Syntax
object->PositiveDelta [= double]
Type description
A double value or an ActiveMILDefaultConstants expression that specifies the positive range of angles within which to search for the marker. (default is 180º or 360º)
Value | Meaning
amilDefault | Default of 180º for a symmetrical stripe marker, or 360º for an edge marker or a non-symmetrical stripe marker.
value | Set to a value between 0.1º and 360º, in degrees.
Remarks
  • The Markers.Item(MarkerIndex).SearchRegion.Angle.Enabled property must be set to True for this property to be in effect.
  • Initial search angle is set with the Markers.Item(MarkerIndex).SearchRegion.Angle.Value property.
  • The search is performed between the range of angles defined by (Value - NegativeDelta) to (Value + PositiveDelta), inclusively, starting with an angle closest to that of Value.
  • The smaller the angular range, the faster the search.
  • This property cannot be used for a point marker.


Measurement.Markers.Item.SearchRegion.Angle.Tolerance Property

Tolerance property

See Also | Availability | MIL Equivalent | PositiveDelta | Value
User Guide:
Search region

Reference:
Measurement.Markers.Item.SearchRegion.Angle.Enabled
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_BOX_ANGLE_TOLERANCE
)

MmeasInquire(
InquireType =
M_BOX_ANGLE_TOLERANCE
)
Measurement
Markers
Item
SearchRegion
Angle
Tolerance
Synopsis
Returns or sets the full range of degrees within which a marker can be rotated from a search region that is at a specific angle and can still have an acceptable match score.
[]
Syntax
object.Tolerance [= Double]
[]
Syntax
object->Tolerance [= double]
Type description
A double value or an ActiveMILDrefaultConstants expression that sets the rotation tolerance of the marker. (default is 5.0°)
Value | Meaning
amilDefault | Default of 5.0°.
value | Set to a value between 0.1° and 360°, in degrees.
Remarks
  • The Markers.Item(MarkerIndex).SearchRegion.Angle.Enabled property must be set to True for this property to be in effect.
  • When an angular range is specified, this property determines the step angle used for a multiple-angle search. For example, if a marker can tolerate the target image being offset from the marker's search angle by ±2.5 degrees, specify 5.
  • This property cannot be used for a point marker.


Measurement.Markers.Item.SearchRegion.Angle.Value Property

Value property

See Also | Availability | MIL Equivalent | Tolerance
User Guide:
Search region

Reference:
Measurement.Markers.Item.SearchRegion.Angle.Enabled
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_BOX_ANGLE
)

MmeasInquire(
InquireType =
M_BOX_ANGLE
)
Measurement
Markers
Item
SearchRegion
Angle
Value
Synopsis
Returns or sets the angle of the search region.
[]
Syntax
object.Value [= Double]
[]
Syntax
object->Value [= double]
Type description
A double value that specifies the angle of the search region. (default is 0º)
Value | Meaning
value | Set to a value between 0º and 360º, in degrees.
angleAny | The content of the search region is analyzed to automatically determine the angle of the marker.
Remarks
  • When the Markers.Item(MarkerIndex).SearchRegion.Angle.Enabled property is set to False, the marker is only searched for at the angle set with this property. If the angular range search is enabled, the Value property specifies the angle at which the search will begin.
  • The search region's center of rotation is set with the Markers.Item(MarkerIndex).SearchRegion.Angle.CenterOfRotation property.
  • This property cannot be used for a single point marker. For a multiple point marker, this property determines the angle from which subsequent points are placed (at the interval set with the Markers.Item(MarkerIndex).Spacing property), proceeding from the coordinates defined by the Markers.Item(MarkerIndex).Position property.


Measurement.Markers.Item.SearchRegion.CenterX Property

CenterX property

See Also | Availability | MIL Equivalent | Angle | CenterY
Reference:
Measurement.Markers.Item.SearchRegion.CenterY
Measurement.Markers.Item.SearchRegion.SizeX
Measurement.Markers.Item.SearchRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_BOX_CENTER
FirstValue
)

MmeasInquire(
InquireType =
M_BOX_CENTER
)
Measurement
Markers
Item
SearchRegion
CenterX
Synopsis
Returns or sets the X-coordinate of the search region's center.
[]
Syntax
object.CenterX [= Integer]
[]
Syntax
object->CenterX [= long]
Type description
A long value that specifies the X-coordinate of the search region's center within the target image, relative to the top-left corner of the target image, in pixels.
Remarks
  • The center position (CenterX and CenterY properties), along with the size (SizeX and SizeY properties), define the search region within the target image, before rotation.
  • The start position (offset) and end position will be modified as a result of moving the center position.
  • This property cannot be used for a point marker.


Measurement.Markers.Item.SearchRegion.CenterY Property

CenterY property

See Also | Availability | MIL Equivalent | CenterX | EndX
Reference:
Measurement.Markers.Item.SearchRegion.CenterX
Measurement.Markers.Item.SearchRegion.SizeX
Measurement.Markers.Item.SearchRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_BOX_CENTER
FirstValue
)

MmeasInquire(
InquireType =
M_BOX_CENTER
)
Measurement
Markers
Item
SearchRegion
CenterY
Synopsis
Returns or sets the Y-coordinate of the search region's center.
[]
Syntax
object.CenterY [= Integer]
[]
Syntax
object->CenterY [= long]
Type description
A long value that specifies the Y-coordinate of the search region's center within the target image, relative to the top-left corner of the target image, in pixels.
Remarks
  • The center position (CenterX and CenterY properties), along with the size (SizeX and SizeY properties), define the search region within the target image, before rotation.
  • The start position (offset) and end position will be modified as a result of moving the center position.
  • This property cannot be used for a point marker.


Measurement.Markers.Item.SearchRegion.EndX Property

EndX property

See Also | Availability | MIL Equivalent | CenterY | EndY
Reference:
Measurement.Markers.Item.SearchRegion.EndY
Measurement.Markers.Item.SearchRegion.StartX
Measurement.Markers.Item.SearchRegion.StartY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Measurement
Markers
Item
SearchRegion
EndX
Synopsis
Returns or sets the X-coordinate of the end position of the search region.
[]
Syntax
object.EndX [= Integer]
[]
Syntax
object->EndX [= long]
Type description
A long value that specifies the X-coordinate of the end position, relative to the top-left corner of the target image, in pixels.
Remarks
  • The start position (offset) and end position define the region to search in the target image, before any angle of rotation is specified.
  • The center position, as well as the size, will be modified as a result of moving the end position.
  • The default value of the X-coordinate is 0.


Measurement.Markers.Item.SearchRegion.EndY Property

EndY property

See Also | Availability | MIL Equivalent | EndX | FullSize
Reference:
Measurement.Markers.Item.SearchRegion.EndX
Measurement.Markers.Item.SearchRegion.StartX
Measurement.Markers.Item.SearchRegion.StartY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Measurement
Markers
Item
SearchRegion
EndY
Synopsis
Returns or sets the Y-coordinate of the end position of the search region.
[]
Syntax
object.EndY [= Integer]
[]
Syntax
object->EndY [= long]
Type description
A long value that specifies the Y-coordinate of the end position, relative to the top-left corner of the target image, in pixels.
Remarks
  • The start position (offset) and end position define the region to search in the target image, before any angle of rotation is specified.
  • The center position, as well as the size, will be modified as a result of moving the end position.
  • The default value of the X-coordinate is 0.


Measurement.Markers.Item.SearchRegion.FullSize Property

FullSize property

Availability | MIL Equivalent | EndY | Mode
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Measurement
Markers
Item
SearchRegion
FullSize
Synopsis
Returns or sets whether the search region defaults to the size of the target image.
[]
Syntax
object.FullSize [= Boolean]
[]
Syntax
object->FullSize [= VARIANT_BOOL]
Type description
A boolean value that specifies the whether the search region defaults to the size of the target image. (default is True)
Value | Meaning
True | The search region follows the image size.
False | The search region is user-defined.
Remarks
  • When the search region follows the image size, it is recommended that only simple images be used, otherwise the marker might not be located.
  • This property is reset to False when any of the Markers.Item(MarkerIndex).SearchRegion properties are changed.
  • This property cannot be used for a point marker.


Measurement.Markers.Item.SearchRegion.Mode Property

Mode property

See Also | Availability | MIL Equivalent | FullSize | OffsetX
Reference:
Measurement.Markers.Item.SearchRegion.OffsetX
Measurement.Markers.Item.SearchRegion.OffsetY
Measurement.Markers.Item.SearchRegion.SizeX
Measurement.Markers.Item.SearchRegion.SizeY
Measurement.Markers.Item.SearchRegion.X1
Measurement.Markers.Item.SearchRegion.X2
Measurement.Markers.Item.SearchRegion.X3
Measurement.Markers.Item.SearchRegion.X4
Measurement.Markers.Item.SearchRegion.Y1
Measurement.Markers.Item.SearchRegion.Y2
Measurement.Markers.Item.SearchRegion.Y3
Measurement.Markers.Item.SearchRegion.Y4
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Measurement
Markers
Item
SearchRegion
Mode
Synopsis
Returns or sets the mode of anchoring the search region.
[]
Syntax
object.Mode [= RoiModeConstants]
[]
Syntax
object->Mode [= enum RoiModeConstants]
Type description
A RoiModeConstants expression that specifies the mode. (default is roiOffsetSize)
Value | Meaning
roiOffsetSize | The offset properties are anchored. This means that when the size changes, the offsets do not move; it is the center that is displaced accordingly.
roiCenterSize | The center properties are anchored. This means that when the size changes, the coordinates of the center do not move; it is the offsets that are displaced accordingly.
Remark
  • The Mode property determines whether the object's offset or center is displaced as a result of changing its width.


Measurement.Markers.Item.SearchRegion.OffsetX Property

OffsetX property

See Also | Availability | MIL Equivalent | Mode | OffsetY
Reference:
Measurement.Markers.Item.SearchRegion.OffsetY
Measurement.Markers.Item.SearchRegion.SizeX
Measurement.Markers.Item.SearchRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Measurement
Markers
Item
SearchRegion
OffsetX
Synopsis
Returns or sets the horizontal offset of the search region.
[]
Syntax
object.OffsetX [= Integer]
[]
Syntax
object->OffsetX [= long]
Type description
A long value that specifies the X-coordinate of the top-left corner of the search region (before rotation), relative to the top-left corner of the target image, in pixels.
Remark
  • This property cannot be used for a point marker.


Measurement.Markers.Item.SearchRegion.OffsetY Property

OffsetY property

See Also | Availability | MIL Equivalent | OffsetX | SizeX
Reference:
Measurement.Markers.Item.SearchRegion.OffsetX
Measurement.Markers.Item.SearchRegion.SizeX
Measurement.Markers.Item.SearchRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Measurement
Markers
Item
SearchRegion
OffsetY
Synopsis
Returns or sets the vertical offset of the search region.
[]
Syntax
object.OffsetY [= Integer]
[]
Syntax
object->OffsetY [= long]
Type description
A long value that specifies the Y-coordinate of the top-left corner of the search region (before rotation), relative to the top-left corner of the target image, in pixels.
Remark
  • This property cannot be used for a point marker.


Measurement.Markers.Item.SearchRegion.SizeX Property

SizeX property

See Also | Availability | MIL Equivalent | OffsetY | SizeY
Reference:
Measurement.Markers.Item.SearchRegion.Mode
Measurement.Markers.Item.SearchRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_BOX_SIZE
FirstValue
)

MmeasInquire(
InquireType =
M_BOX_SIZE
)
Measurement
Markers
Item
SearchRegion
SizeX
Synopsis
Returns or sets the width of the search region.
[]
Syntax
object.SizeX [= Integer]
[]
Syntax
object->SizeX [= long]
Type description
A long value that specifies the number of pixels in the horizontal direction., in pixels.
Remark
  • This property cannot be used for a point marker.


Measurement.Markers.Item.SearchRegion.SizeY Property

SizeY property

See Also | Availability | MIL Equivalent | SizeX | StartX
Reference:
Measurement.Markers.Item.SearchRegion.Mode
Measurement.Markers.Item.SearchRegion.SizeX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_BOX_SIZE
SecondValue
)

MmeasInquire(
InquireType =
M_BOX_SIZE
)
Measurement
Markers
Item
SearchRegion
SizeY
Synopsis
Returns or sets the height of the search region.
[]
Syntax
object.SizeY [= Integer]
[]
Syntax
object->SizeY [= long]
Type description
A long value that specifies the numbers of pixels in the vertical direction, in pixels.
Remark
  • This property cannot be used for a point marker.


Measurement.Markers.Item.SearchRegion.StartX Property

StartX property

See Also | Availability | MIL Equivalent | SizeY | StartY
Reference:
Measurement.Markers.Item.SearchRegion.EndX
Measurement.Markers.Item.SearchRegion.EndY
Measurement.Markers.Item.SearchRegion.OffsetX
Measurement.Markers.Item.SearchRegion.OffsetY
Measurement.Markers.Item.SearchRegion.StartY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_BOX_ORIGIN
FirstValue
)

MmeasInquire(
InquireType =
M_BOX_ORIGIN
)
Measurement
Markers
Item
SearchRegion
StartX
Synopsis
Returns or sets the X-coordinate of the start position of the search region.
[]
Syntax
object.StartX [= Integer]
[]
Syntax
object->StartX [= long]
Type description
A long value that specifies the X-coordinate of the start position, relative to the top-left corner of the target image, in pixels.
Remarks
  • The default value of the X-coordinate is 0.
  • The start position (offset) and end position define the region to search in the target image, before any angle of rotation is specified.
  • The center position, as well as the size, will be modified as a result of moving the start position.
  • This property cannot be used for a point marker.


Measurement.Markers.Item.SearchRegion.StartY Property

StartY property

See Also | Availability | MIL Equivalent | StartX | X1
Reference:
Measurement.Markers.Item.SearchRegion.EndX
Measurement.Markers.Item.SearchRegion.EndY
Measurement.Markers.Item.SearchRegion.OffsetX
Measurement.Markers.Item.SearchRegion.OffsetY
Measurement.Markers.Item.SearchRegion.StartX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_BOX_ORIGIN
SecondValue
)

MmeasInquire(
InquireType =
M_BOX_ORIGIN
)
Measurement
Markers
Item
SearchRegion
StartY
Synopsis
Returns or sets the Y-coordinate of the start position of the search region.
[]
Syntax
object.StartY [= Integer]
[]
Syntax
object->StartY [= long]
Type description
A long value that specifies the Y-coordinate of the start position, relative to the top-left corner of the target image, in pixels.
Remarks
  • The default value of the Y-coordinate is 0.
  • The start position (offset) and end position define the region to search in the target image, before any angle of rotation is specified.
  • The center position, as well as the size, will be modified as a result of moving the start position.
  • This property cannot be used for a point marker.


Measurement.Markers.Item.SearchRegion.X1 Property

X1 property

Availability | MIL Equivalent | StartY | X2
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Measurement
Markers
Item
SearchRegion
X1
Synopsis
Returns the X-coordinate of the search region's first corner.
[]
Syntax
[Integer =] object.X1
[]
Syntax
[long =] object->X1
Type description
A long value that specifies the X-coordinate of the top-left corner of the search region, relative to the top-left corner of the target image, in pixels.
Remarks
  • The Markers.Item(MarkerIndex).SearchRegion.X1 property is used in conjunction with the Markers.Item(MarkerIndex).SearchRegion.Y1 property to determine the coordinates of the first corner of the search region.
  • This property is primarily used to determine the exact location of a rotated search region: the sequence of coordinates from (X1,Y1) to (X4,Y4) proceeds in a clockwise direction.
  • Use the Markers.Item(MarkerIndex).SearchRegion.StartX, Markers.Item(MarkerIndex).SearchRegion.StartY, Markers.Item(MarkerIndex).SearchRegion.EndX, and Markers.Item(MarkerIndex).SearchRegion.EndY properties of the Measurement control to define the search region. These properties define the search region before it has been rotated.
  • This property cannot be used for a point marker.


Measurement.Markers.Item.SearchRegion.X2 Property

X2 property

Availability | MIL Equivalent | X1 | X3
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Measurement
Markers
Item
SearchRegion
X2
Synopsis
Returns the X-coordinate of the search region's second corner.
[]
Syntax
[Integer =] object.X2
[]
Syntax
[long =] object->X2
Type description
A long value that specifies the X-coordinate of the second corner of the search region, relative to the top-left corner of the target image, in pixels.
Remarks
  • The Markers.Item(MarkerIndex).SearchRegion.X2 property is used in conjunction with the Markers.Item(MarkerIndex).SearchRegion.Y2 property to determine the coordinates of the second corner of the search region.
  • This property is primarily used to determine the exact location of a rotated search region: the sequence of coordinates from (X1,Y1) to (X4,Y4) proceeds in a clockwise direction.
  • Use the Markers.Item(MarkerIndex).SearchRegion.StartX, Markers.Item(MarkerIndex).SearchRegion.StartY, Markers.Item(MarkerIndex).SearchRegion.EndX, and Markers.Item(MarkerIndex).SearchRegion.EndY properties to define the search region. These properties define the search region before it has been rotated.
  • This property cannot be used for a point marker.


Measurement.Markers.Item.SearchRegion.X3 Property

X3 property

Availability | MIL Equivalent | X2 | X4
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Measurement
Markers
Item
SearchRegion
X3
Synopsis
Returns the X-coordinate of the search region's third corner.
[]
Syntax
[Integer =] object.X3
[]
Syntax
[long =] object->X3
Type description
A long value that specifies the X-coordinate of the third corner of the search region, relative to the top-left corner of the target image, in pixels.
Remarks
  • The Markers.Item(MarkerIndex).SearchRegion.X3 property is used in conjunction with the Markers.Item(MarkerIndex).SearchRegion.Y3 property to determine the coordinates of the third corner of the search region.
  • This property is primarily used to determine the exact location of a rotated search region: the sequence of coordinates from (X1,Y1) to (X4,Y4) proceeds in a clockwise direction.
  • Use the Markers.Item(MarkerIndex).SearchRegion.StartX, Markers.Item(MarkerIndex).SearchRegion.StartY, Markers.Item(MarkerIndex).SearchRegion.EndX, and Markers.Item(MarkerIndex).SearchRegion.EndY properties to define the search region. These properties define the search region before it has been rotated.
  • This property cannot be used for a point marker.


Measurement.Markers.Item.SearchRegion.X4 Property

X4 property

Availability | MIL Equivalent | X3 | Y1
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Measurement
Markers
Item
SearchRegion
X4
Synopsis
Returns the X-coordinate of the search region's fourth corner.
[]
Syntax
[Integer =] object.X4
[]
Syntax
[long =] object->X4
Type description
A long value that specifies the X-coordinate of the fourth corner of the search region, relative to the top-left corner of the target image, in pixels.
Remarks
  • The Markers.Item(MarkerIndex).SearchRegion.X4 property is used in conjunction with the Markers.Item(MarkerIndex).SearchRegion.Y4 property to determine the coordinates of the fourth corner of the search region.
  • This property is primarily used to determine the exact location of a rotated search region: the sequence of coordinates from (X1,Y1) to (X4,Y4) proceeds in a clockwise direction.
  • Use the Markers.Item(MarkerIndex).SearchRegion.StartX, Markers.Item(MarkerIndex).SearchRegion.StartY, Markers.Item(MarkerIndex).SearchRegion.EndX, and Markers.Item(MarkerIndex).SearchRegion.EndY properties to define the search region. These properties define the search region before it has been rotated.
  • This property cannot be used for a point marker.


Measurement.Markers.Item.SearchRegion.Y1 Property

Y1 property

Availability | MIL Equivalent | X4 | Y2
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Measurement
Markers
Item
SearchRegion
Y1
Synopsis
Returns the Y-coordinate of the search region's first corner.
[]
Syntax
[Integer =] object.Y1
[]
Syntax
[long =] object->Y1
Type description
A long value that specifies the Y-coordinate of the top-left corner of the search region, relative to the top-left corner of the target image, in pixels.
Remarks
  • The Markers.Item(MarkerIndex).SearchRegion.Y1 property is used in conjunction with the Markers.Item(MarkerIndex).SearchRegion.X1 property to determine the coordinates of the first corner of the search region.
  • This property is primarily used to determine the exact location of a rotated search region: the sequence of coordinates from (X1,Y1) to (X4,Y4) proceeds in a clockwise direction.
  • Use the Markers.Item(MarkerIndex).SearchRegion.StartX, Markers.Item(MarkerIndex).SearchRegion.StartY, Markers.Item(MarkerIndex).SearchRegion.EndX, and Markers.Item(MarkerIndex).SearchRegion.EndY properties to define the search region. These properties define the search region before it has been rotated.
  • This property cannot be used for a point marker.


Measurement.Markers.Item.SearchRegion.Y2 Property

Y2 property

Availability | MIL Equivalent | Y1 | Y3
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Measurement
Markers
Item
SearchRegion
Y2
Synopsis
Returns the Y-coordinate of the search region's second corner.
[]
Syntax
[Integer =] object.Y2
[]
Syntax
[long =] object->Y2
Type description
A long value that specifies the Y-coordinate of the second corner of the search region, relative to the top-left corner of the target image, in pixels.
Remarks
  • The Markers.Item(MarkerIndex).SearchRegion.Y2 property is used in conjunction with the Markers.Item(MarkerIndex).SearchRegion.X2 property to determine the coordinates of the second corner of the search region.
  • This property is primarily used to determine the exact location of a rotated search region: the sequence of coordinates from (X1,Y1) to (X4,Y4) proceeds in a clockwise direction.
  • Use the Markers.Item(MarkerIndex).SearchRegion.StartX, Markers.Item(MarkerIndex).SearchRegion.StartY, Markers.Item(MarkerIndex).SearchRegion.EndX, and Markers.Item(MarkerIndex).SearchRegion.EndY properties to define the search region. These properties define the search region before it has been rotated.
  • This property cannot be used for a point marker.


Measurement.Markers.Item.SearchRegion.Y3 Property

Y3 property

Availability | MIL Equivalent | Y2 | Y4
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Measurement
Markers
Item
SearchRegion
Y3
Synopsis
Returns the Y-coordinate of the search region's third corner.
[]
Syntax
[Integer =] object.Y3
[]
Syntax
[long =] object->Y3
Type description
A long value that specifies the Y-coordinate of the third corner of the search region, relative to the top-left corner of the target image, in pixels.
Remarks
  • The Markers.Item(MarkerIndex).SearchRegion.Y3 property is used in conjunction with the Markers.Item(MarkerIndex).SearchRegion.X3 property to determine the coordinates of the third corner of the search region.
  • This property is primarily used to determine the exact location of a rotated search region: the sequence of coordinates from (X1,Y1) to (X4,Y4) proceeds in a clockwise direction.
  • Use the Markers.Item(MarkerIndex).SearchRegion.StartX, Markers.Item(MarkerIndex).SearchRegion.StartY, Markers.Item(MarkerIndex).SearchRegion.EndX, and Markers.Item(MarkerIndex).SearchRegion.EndY properties to define the search region. These properties define the search region before it has been rotated.
  • This property cannot be used for a point marker.


Measurement.Markers.Item.SearchRegion.Y4 Property

Y4 property

Availability | MIL Equivalent | Y3
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Measurement
Markers
Item
SearchRegion
Y4
Synopsis
Returns the Y-coordinate of the search region's fourth corner.
[]
Syntax
[Integer =] object.Y4
[]
Syntax
[long =] object->Y4
Type description
A long value that specifies the Y-coordinate of the fourth corner of the search region, relative to the top-left corner of the target image, in pixels.
Remarks
  • The Markers.Item(MarkerIndex).SearchRegion.Y4 property is used in conjunction with the Markers.Item(MarkerIndex).SearchRegion.X4 property to determine the coordinates of the fourth corner of the search region.
  • This property is primarily used to determine the exact location of a rotated search region: the sequence of coordinates from (X1,Y1) to (X4,Y4) proceeds in a clockwise direction.
  • Use the Markers.Item(MarkerIndex).SearchRegion.StartX, Markers.Item(MarkerIndex).SearchRegion.StartY, Markers.Item(MarkerIndex).SearchRegion.EndX, and Markers.Item(MarkerIndex).SearchRegion.EndY properties to define the search region. These properties define the search region before it has been rotated.
  • This property cannot be used for a point marker.


Measurement.Markers.Item.Spacing Property

Spacing property

See Also | Availability | MIL Equivalent | SearchRegion | StreamSize
User Guide:
Multiple marker characteristics
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
(M_SPACING +
M_WEIGHT_FACTOR) or
M_SPACING_VARIATION
)

MmeasInquire(
InquireType =
(M_SPACING +
M_WEIGHT_FACTOR) or
M_SPACING_VARIATION
)
Measurement
Markers
Item
Spacing
Properties: Value, Variation, WeightFactor
Synopsis
Allows you to specify the typical spacing (distance) between consecutive edges or stripes of a multiple edge or stripe marker, respectively, or the spacing between the points of a multiple point marker.
[]
Syntax
[MarkerValue =] object.Spacing
[]
Syntax
[IMarkerValuePtr =] object->Spacing
Type description
A MarkerValue object.
Remarks
  • The spacing is the typical distance between consecutive edges or stripes to locate, or between the points used as a point marker.
  • This property also allows you to specify the variation in the spacing, and the spacing's weight factor.
  • You cannot assign another MarkerValue object to this property.
  • If irregularly spaced points are needed, you must specify each one individually as a marker. A multiple point marker must have its initial position set using the properties of the Markers.Item(MarkerIndex).Position property. Specify the number of points of a marker using the Markers.Item(MarkerIndex).NumberOfOccurrences property.
  • This property is only available for a multiple marker.
[]
Example
This example shows how to use the Spacing property.

m_Measurement1->Markers->Item(1)->Spacing->Value = 4;

m_Measurement1->Markers->Item(1)->Spacing->Variation = 2;

m_Measurement1->Markers->Item(1)->Spacing->WeightFactor = 33;


Measurement.Markers.Item.Spacing.Value Property

Value property

Availability | MIL Equivalent | Variation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_SPACING
)

MmeasInquire(
InquireType =
M_SPACING
)
Measurement
Markers
Item
Spacing
Value
Synopsis
Returns or sets the typical spacing (distance) between consecutive edges or stripes of a multiple edge or stripe marker, respectively, or the spacing between the points of a multiple point marker.
[]
Syntax
object.Value [= Double]
[]
Syntax
object->Value [= double]
Type description
A double value that specifies the value of the multiple marker's spacing. (default is measAny)
Value | Meaning
value | The size of the spacing between a multiple marker's edges, stripes, or points, in pixels.
measAny | Not a criteria.
measSame | The average spacing of all located edges or stripes is applied.
Remarks
  • The measSame setting is recommended for use only when several occurrences are expected: if the number of occurrences is too few, matches for spacing might not correspond to those of the required stripes.
  • Must be set to a numerical value valid within the target image.
  • This property is only available for a multiple marker. This property cannot be set to measAny or measSame for a multiple point marker.
[]
Example
This example shows how to set the expected marker's inter-edge, or inter-stripe spacing.

m_Measurement1->Markers->Item(1)->Spacing->Value = 4;


Measurement.Markers.Item.Spacing.Variation Property

Variation property

Availability | MIL Equivalent | Value | WeightFactor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_SPACING_VARIATION
)

MmeasInquire(
InquireType =
M_SPACING_VARIATION
)
Measurement
Markers
Item
Spacing
Variation
Synopsis
Returns or sets the tolerance of the inter-stripe or inter-edge spacing variation of a multiple marker.
[]
Syntax
object.Variation [= Double]
[]
Syntax
object->Variation [= double]
Type description
A double value that specifies the tolerance of the inter-edge or inter-stripe spacing variation of the multiple marker. (default is measAny)
Value | Meaning
value | The spacing variation of the marker, in pixels.
measAny | Not a criteria.
Remark
  • The Markers.Item(MarkerIndex).Spacing.Variation property must be set to a numerical value valid within the target image.
[]
Example
This example shows how to set the expected inter-stripe or inter-edge spacing variation of a multiple marker.

m_Measurement1->Markers->Item(1)->Spacing->Variation = 2;


Measurement.Markers.Item.Spacing.WeightFactor Property

WeightFactor property

See Also | Availability | MIL Equivalent | Variation
User Guide:
Weight factors
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_SPACING +
WEIGHT_FACTOR
)

MmeasInquire(
InquireType =
M_SPACING +
WEIGHT_FACTOR
)
Measurement
Markers
Item
Spacing
WeightFactor
Synopsis
Returns or sets the weight factor of the marker's spacing.
[]
Syntax
object.WeightFactor [= Double]
[]
Syntax
object->WeightFactor [= double]
Type description
A double value that specifies the weight factor of the marker's spacing.
Remarks
  • The weight factor determines the relative importance assigned to each of the marker's characteristics.
  • To better control the search, it is recommended that you assign a weight factor to all enabled characteristics which support weight factors to a total of 100%. You can set the weight factor using the Markers.Item(MarkerIndex).Contrast.WeightFactor, NumberOfInsideEdges.WeightFactor, EdgeStrength.WeightFactor, Position.WeightFactor, Spacing.WeightFactor and Width.WeightFactor properties.
  • All weight factors are specified as a percentage (0-100), and their relative weights are calculated internally. By default, 50% of the search weight is assigned to the edge strength, and the remaining 50% is equally divided among all other characteristics that support weight factors.
[]
Example
This example shows how to set the weight factor for the marker's spacing.

m_Measurement1->Markers->Item(1)->Spacing->WeightFactor = 33;


Measurement.Markers.Item.StreamSize Property

StreamSize property

See Also | Availability | MIL Equivalent | Spacing | Width
Reference:
Measurement.Markers.Item.SaveStream
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasStream(
Operation =
M_INQUIRE_SIZE_BYTE
)
Measurement
Markers
Item
StreamSize
Synopsis
Returns the number of bytes required to save the characteristics of the measurement marker to a memory stream.
[]
Syntax
[Integer=]object.StreamSize(
[Version As Double]
)
[]
Syntax
[long =] object->StreamSize[double Version]
Version (optional in , default is amilDefault)
A double value or an ActiveMILDefaultConstants expression that specifies the ActiveMIL version number of the measurement marker.
Value | Meaning
amilDefault | Sets the version to the current version of ActiveMIL.
value | Sets the version to a specific version of ActiveMIL.
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the size, in bytes, needed to stream the measurement marker.
Remarks
  • This property is used to inquire the size of the array required to save the characteristics of a measurement marker to a memory stream, using the SaveStream method.
  • For a measurement marker, the ActiveMIL version number must be greater than or equal to 7.1 for a memory stream, and greater than or equal to 5.0 for a file.
  • The size of the measurement marker will vary depending on the ActiveMIL version specified.


Measurement.Markers.Item.Width Property

Width property

See Also | Availability | MIL Equivalent | StreamSize | Control
User Guide:
Edge markers: width
Stripe markers: width
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
(M_WIDTH +
WEIGHT_FACTOR) or
M_WIDTH_VARIATION
)

MmeasInquire(
InquireType =
(M_WIDTH +
WEIGHT_FACTOR) or
M_WIDTH_VARIATION
)
Measurement
Markers
Item
Width
Properties: Value, Variation, WeightFactor
Synopsis
Allows you to specify the expected width of a stripe marker.
[]
Syntax
[MarkerValue =] object.Width
[]
Syntax
[IMarkerValuePtr =] object->Width
Type description
A MarkerValue object
Remarks
  • This property is for stripe markers only.
  • The width of a stripe marker is the average distance between its edges and is calculated at the angle of the marker's search region.
  • This property also allows you to specify the variation in the width, and the width's weight factor.
  • You cannot assign another MarkerValue object to this property.
[]
Example
This example shows how to use the Width property.

m_Measurement1->Markers->Item(1)->Width->Value = 13;

m_Measurement1->Markers->Item(1)->Width->Variation = 4;

m_Measurement1->Markers->Item(1)->Width->WeightFactor = 34;


Measurement.Markers.Item.Width.Value Property

Value property

Availability | MIL Equivalent | Variation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_WIDTH
)

MmeasInquire(
InquireType =
M_WIDTH
)
Measurement
Markers
Item
Width
Value
Synopsis
Returns or sets the expected width of the marker.
[]
Syntax
object.Value [= Double]
[]
Syntax
object->Value [= double]
Type description
A double value that specifies the expected marker's width. (default is measAny)
Value | Meaning
value | The width of the marker in pixels.
measSame | The width of the stripes of a multiple marker are all the same.
measAny | Not a criteria.
Remarks
  • This property is for stripe markers only.
  • The measSame setting is recommended for use only when several occurrences are expected: if the number of occurrences is too few, matches for width may not correspond to those of the required stripes.
  • Must be set to a value valid within the target image.
[]
Example
This example shows how to set the expected width for the marker.

m_Measurement1->Markers->Item(1)->Width->Value = 13;


Measurement.Markers.Item.Width.Variation Property

Variation property

Availability | MIL Equivalent | Value | WeightFactor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_WIDTH_VARIATION
)

MmeasInquire(
InquireType =
M_WIDTH_VARIATION
)
Measurement
Markers
Item
Width
Variation
Synopsis
Returns or sets the tolerance of the width variation of the marker.
[]
Syntax
object.Variation [= Double]
[]
Syntax
object->Variation [= double]
Type description
A double value that specifies the tolerance of the width variation of the marker. (default is measAny)
Value | Meaning
value | The maximum width variation of the marker in pixels.
measAny | Not a criteria.
Remark
  • This property is for stripe markers only.
[]
Example
This example shows how to set the width variation for the marker.

m_Measurement1->Markers->Item(1)->Width->Variation = 4;


Measurement.Markers.Item.Width.WeightFactor Property

WeightFactor property

See Also | Availability | MIL Equivalent | Variation
User Guide:
Weight factors
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker(
CharacteristicToSet =
M_WIDTH +
M_WEIGHT_FACTOR
)

MmeasInquire(
InquireType =
M_WIDTH +
M_WEIGHT_FACTOR
)
Measurement
Markers
Item
Width
WeightFactor
Synopsis
Returns or sets the weight factor of the marker's width.
[]
Syntax
object.WeightFactor [= Double]
[]
Syntax
object->WeightFactor [= double]
Type description
A double value that specifies the weight factor of the marker's width.
Remarks
  • This property is for stripe markers only.
  • The weight factor determines the relative importance assigned to each of the marker's characteristics.
  • To better control the search, it is recommended that you assign a weight factor to all enabled characteristics which support weight factors to a total of 100%. You can set the weight factor using the Markers.Item(MarkerIndex).Contrast.WeightFactor, NumberOfInsideEdges.WeightFactor, EdgeStrength.WeightFactor, Position.WeightFactor, Spacing.WeightFactor and Width.WeightFactor properties.
  • All weight factors are specified as a percentage (0-100), and their relative weights are calculated internally. By default, 50% of the search weight is assigned to the edge strength, and the remaining 50% is equally divided among all other characteristics that support weight factors.
[]
Example
This example shows how to set the weight factor for the marker's width.

m_Measurement1->Markers->Item(1)->Width->WeightFactor = 34;


Measurement.Markers.Item.Control Method

Control method

See Also | Availability | MIL Equivalent | Width | Draw
Reference:
Measurement.Markers.Item.Inquire
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSetMarker()
Measurement
Markers
Item
Control
Synopsis
Controls the attributes of the marker.
[]
Syntax
object.Control(
ByVal ControlType As MeasInquireAndControlConstants,
ByVal ControlValue As Double
)
[]
Syntax
void object->Control(
enum MeasInquireAndControlConstants ControlType,
const _variant_t & ControlValue
)
ControlType
A MeasInquireAndControlConstants value that specifies the attribute to be modified.
ControlValue
A double value that specifies the new value to be set.

Remark
  • This method is reserved for future expansion.


Measurement.Markers.Item.Draw Method

Draw method

See Also | Availability | MIL Equivalent | Control | Inquire
User Guide:
Steps to finding and obtaining measurements of markers

Reference:
Measurement.Results.Item.Draw
Measurement.Results.Item.Edge1.Draw
Measurement.Results.Item.Edge2.Draw
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox CronosPlus
Fully supported on Matrox Corona-II
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Orion
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
MmeasDraw(
Index =
Value
ControlFlag =
M_MARKER
)
Measurement
Markers
Item
Draw
Synopsis
Draws the expected marker features in the destination image.
[]
Syntax
object.Draw(
ByVal ImageOrGraphicContext As Object,
ByVal Operation As MeasDrawOperationConstants
)
[]
Syntax
void object->Draw(
IDispatch * ImageOrGraphicContext,
enum MeasDrawOperationConstants Operation
)
ImageOrGraphicContext
An Image control that specifies the image into which to draw, or a GraphicContext control that specifies the graphic context and image to use to draw features.
Operation
A MeasDrawOperationConstants expression that specifies the features to draw. These constants can be added together to draw multiple features simultaneously.
Value | Meaning
measDrawEdges | Draws a line along the edges of the marker at the expected position.
measDrawPosition | Draws a cross-like symbol at the expected marker position. The cross is drawn maintaining the angle of the marker.
measDrawPositionVariation | Draws an H-type line (|-|) indicating the possible position variation of the marker.
measDrawRegion | Draws the search region, respecting its angle, position, and size.
measDrawRegionCenter | Draws a cross at the search region center, respecting the search region's angle.
measDrawWidth | Draws an H-type line (|-|) indicating the expected width of the marker.
measDrawWidthVariation | Draws an H-type line (|-|) indicating the possible width variation of the marker.

For a stripe marker, the following constants can be added to measDrawPosition:
Value | Meaning
measDrawEdge1 | Draws the position of the stripe's first edge.
measDrawEdge2 | Draws the position of the stripe's second edge.
Remarks
  • You can draw multiple features simultaneously. For example, to draw both the position and search region of the marker, set the Operation parameter to measDrawRegion + measDrawPosition.
  • Note that when drawing features of a multiple marker, only the first instance of the marker is drawn.
  • measDrawPosition is the only supported operation for a point marker.
  • To use measDrawEdges and measDrawPosition, the expected marker position must have been set to a specific numeric value using the Markers.Item(MarkerIndex).Position.X or Markers.Item(MarkerIndex).Position.Y properties. The position cannot be set to measAny (default value); an error message is generated.
  • To use measDrawPositionVariation, the expected position variation must have been set to a specific numeric value using the Markers.Item(MarkerIndex).Position.Variation property. The position variation cannot be set to measAny (default value); an error message is generated.
  • To use measDrawWidth, the expected width must have been set to a specific numeric value using the Markers.Item(MarkerIndex).Width.Value property. The expected width cannot be set to measAny (default value); an error message is generated.
  • To use measDrawWidthVariation, the expected width variation must have been set to a specific numeric value using the Markers.Item(MarkerIndex).Width.Variation property. The expected width variation cannot be set to measAny (default value); an error message is generated.
  • measDrawWidth and measDrawWidthVariation are not supported for point and edge markers.
  • To add measDrawEdge1 or measDrawEdge2 to measDrawPosition, the expected width and orientation must have been set to a numeric value using the Markers.Item(MarkerIndex).Width.Value and Markers.Item(MarkerIndex).Orientation properties. The expected width cannot be set to measAny (default value), and the expected orientation cannot be set to measAnyOrientation; an error message is generated.
  • When specifying the ImageOrGraphicContext parameter as a GraphicContext control, the image associated with the control is used as the destination image.
  • You can also choose to draw in a display's overlay image. By drawing into a display's overlay image, you can annotate an image non-destructively.
  • When using this method to draw features in calibrated images, the Draw method draws all the requested features according to whether the destination image is physically corrected or not.
Remark for Matrox Odyssey XA
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the Measurement control. If not, an error will occur.
Remark for Matrox Odyssey XCL
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the Measurement control. If not, an error will occur.
Remark for Matrox Odyssey XD
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the Measurement control. If not, an error will occur.


Measurement.Markers.Item.Inquire Method

Inquire method

See Also | Availability | MIL Equivalent | Draw | Save
Reference:
Measurement.Control
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasInquire()
Measurement
Markers
Item
Inquire
Synopsis
Inquires about the attribute of the marker.
[]
Syntax
[Object =] object.Inquire(
ByVal ParamToInquire As MeasInquireAndControlConstants
)
[]
Syntax
[_variant_t =] object->Inquire(
enum MeasInquireAndControlConstants ParamToInquire
)
ParamToInquire
A MeasInquireAndControlConstants value that specifies the attribute to inquire about.
Return value
The current value assigned to the behavior that is inquired about.
Remark
  • This method is reserved for future expansion.


Measurement.Markers.Item.Save Method

Save method

See Also | Availability | MIL Equivalent | Inquire | SaveStream
Reference:
Measurement.Markers.Load
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasSaveMarker()
Measurement
Markers
Item
Save
Synopsis
Saves a marker to disk.
[]
Syntax
object.Save(
ByVal FileName As String
)
[]
Syntax
void object->Save(
_bstr_t FileName
)
FileName
A string expression that specifies the name of the file in which to save the marker.
Remarks
  • This method saves all current property settings of the marker to disk. The marker and its properties can later be restored, using the Markers.Load method.
  • If you pass the FileName parameter an empty string (""), the File Open dialog box is presented so that you can interactively select a file name.


Measurement.Markers.Item.SaveStream Method

SaveStream method

See Also | Availability | MIL Equivalent | Save
Reference:
Measurement.Markers.Item.Save
Measurement.Markers.Item.StreamSize
Measurement.Markers.LoadStream
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasStream(
Operation =
M_SAVE
)
Measurement
Markers
Item
SaveStream
Synopsis
Saves the characteristics of a measurement marker to a specified file or memory stream.
[]
Syntax
object.SaveStream(
ByVal ArrayOfBytesOrFileName As Object,
ByVal StreamType As MeasStreamTypeConstants,
ByVal Version As Double
)
[]
Syntax
void object->SaveStream(
VARIANT * ArrayOfBytesOrFileName,
enum MeasStreamTypeConstants StreamType,
double Version
)
ArrayOfBytesOrFileName
A variantobjectvariant (object for Visual Basic .Net) value that specifies the stream in which to save the characteristics of the measurement marker.
StreamType
A MeasStreamTypeConstants expression that specifies the type of stream in which to save the characteristics of the measurement marker.
Value | Meaning
measFile | Specifies a file stream.
measMemory | Specifies a memory stream.
Version (optional in , default is amilDefault)
A double value or an ActiveMILDefaultConstants expression that specifies the ActiveMIL version number of the measurement marker.
Value | Meaning
amilDefault | Sets the version to the current version of ActiveMIL.
value | Sets the version to a specific version of ActiveMIL.
Remarks
  • File and file stream are equivalent terms throughout this documentation.
  • The characteristics of the measurement marker can be loaded using the LoadStream method.
  • The content saved to a memory stream is equivalent to the same content saved to a file. In addition, any file saved with the Save method is equivalent to a file saved using this method.
  • When measFile is set as the stream type, if the specified file in which to save the characteristics of the measurement marker already exists, it will be overwritten when the method is performed.
  • When measMemory is set as the stream type, the ArrayOfBytesOrFileName parameter should specify the address of the block of memory required for this operation. The designated block must be large enough to store the entire object.
  • To inquire the size of the array required to save the characteristics of a measurement marker to a memory stream, use the StreamSize property.
  • You can use this method and other ActiveMIL methods to save all required ActiveMIL controls, as well as any other custom data, for your application to a memory stream. Once in a memory stream, you can write the stream to a single file or transfer it over a network. You are responsible for concatenating the streams and for saving the stream to file.
  • By supplying a specific version, you can control the measurement marker's accessibility. For instance, if you allocate a measurement marker using ActiveMIL 8.0 and set its version to 7.5, then this marker can be loaded on a computer where ActiveMIL 7.5 is installed. Settings unique to the higher version will be ignored when the file or memory stream is loaded in the lower version. Also, a program using ActiveMIL of a higher version can access a measurement marker stream created or designated with an equal or lower version. Settings that do not exist in the lower version will be filled with default values when the file or memory stream is loaded in the higher version. For the measurement marker, the version specified must never be greater than the current ActiveMIL version, but must be greater than or equal to 7.1 for a memory stream, and greater than or equal to 5.0 for a file.
  • []
     To specify the name of the file in which to save the characteristics of the measurement marker, you must pass a string object to the ArrayOfBytesOrFileName parameter. To specify the location of the memory stream in which to save the characteristics of the measurement marker, you must pass an array of bytes.
  • []
     To specify the name of the file in which to save the characteristics of the measurement marker, you must pass a VARIANT containing a BSTR value to the ArrayOfBytesOrFileName parameter. To specify the location of the memory stream in which to save the characteristics of the measurement marker, pass a VARIANT containing a SAFEARRAY object.


Measurement.Markers.Add Method

Add method

See Also | Availability | MIL Equivalent | Item | Load
Reference:
Measurement.Markers
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasAllocMarker()
Measurement
Markers
Add
Synopsis
Adds a new marker to the collection of markers.
[]
Syntax
[Integer =] object.Add(
ByVal MarkerType As MeasMarkerTypeConstants
)
[]
Syntax
[long =] object->Add(
enum MeasMarkerTypeConstants MarkerType
)
MarkerType (optional in , default is measEdge)
A MeasMarkerTypeConstants expression that specifies the type of marker to allocate.
Value | Meaning
measPoint | A point marker.
measEdge | An edge marker.
measStripe | A stripe marker.
Return value
Returns the index of the new marker.
Remarks
  • The added marker is always placed in the last position of the collection
  • Marker characteristics are set to their default values upon allocation of the marker:
    Markers properties | Default value
    Contrast.Edge1 | measAny
    Contrast.Edge2 | measAny
    Contrast.Variation | measAny
    EdgeStrength.Edge1 | measAny
    EdgeStrength.Edge2 | measAny
    EdgeStrength.Variation | measAny
    EdgeThreshold | 2.0 (2%)
    FilterSmoothness | 50.0
    FilterType | amilDefault (measEuler)
    NumberOfInsideEdges.Value | measAny
    NumberOfInsideEdges.Variation | measAny
    NumberOfOccurrences | 1
    Orientation | measVertical
    Polarity.Edge1 | measAnyPolarity for edge markers
    measAnyPolarity for the first edge of a stripe marker
    Polarity.Edge2 | measOpposite for the second edge of a stripe marker
    Position.X | measAny
    Position.Y | measAny
    Position.StripeLocation | measAnyStripeLocation
    Position.Variation | measAny
    ReferenceX | amilDefault (center of the marker)
    ReferenceY | amilDefault (center of the marker)
    SearchRegion.FullSize | True (image size)
    SearchRegion.Mode | roiOffsetSize
    SearchRegion.Angle.Value | 0.0
    SearchRegion.Angle.Accuracy | angleDisable
    SearchRegion.Angle.CenterOfRotation | angleCenter
    SearchRegion.Angle.Enabled | angleDisable
    SearchRegion.Angle.InterpolationMode | angleBilinear
    SearchRegion.Angle.NegativeDelta | amilDefault
    SearchRegion.Angle.PositiveDelta | amilDefault
    SearchRegion.Angle.Tolerance | 5.0
    Spacing.Value | measAny
    Spacing.Variation | measAny
    Width | measAny
    Width.Variation | measAny

    These values can be modified at any time, using the properties of the Markers.Item(MarkerIndex) property.

  • All weight factor properties are set as a percentage (0-100), and their relative weights are calculated internally. By default, 50% of the search weight is assigned to the edge strength (EdgeStrength.WeightFactor), and the remaining 50% is equally divided among all other characteristics that support weight factors (Contrast.WeightFactor, NumberOfInsideEdges.WeightFactor, Position.WeightFactor, Spacing.WeightFactor and Width.WeightFactor properties).
  • All of the Markers.Item(MarkerIndex).SearchRegion properties, except for the Angle property, default to the image size.
  • A point marker is typically used for performing calculations between markers.
  • To search for multiple occurrences of a marker, specify the number of occurrences using the Markers.Item(MarkerIndex).NumberOfOccurrences property. When this property is set to a value larger than one, the marker is known as a multiple marker.
[]
Example
This example shows how to add a marker.

m_Measurement1->Markers->Add(measPoint);


Measurement.Markers.Draw Method

Draw method

See Also | Availability | MIL Equivalent | Remove
User Guide:
Steps to finding and obtaining measurements of markers

Reference:
Measurement.Results.Item.Draw
Measurement.Results.Item.Edge1.Draw
Measurement.Results.Item.Edge2.Draw
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox CronosPlus
Fully supported on Matrox Corona-II
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Orion
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
MmeasDraw(
Index =
M_ALL
ControlFlag =
M_MARKER
)
Measurement
Markers
Draw
Synopsis
Draws the expected marker features of all markers in the destination image.
[]
Syntax
object.Draw(
ByVal ImageOrGraphicContext As Object,
ByVal Operation As MeasDrawOperationConstants
)
[]
Syntax
void object->Draw(
IDispatch * ImageOrGraphicContext,
enum MeasDrawOperationConstants Operation
)
ImageOrGraphicContext
An Image control that specifies the image into which to draw, or a GraphicContext control that specifies the graphic context and image to use to draw features.
Operation
A MeasDrawOperationConstants expression that specifies the features to draw. These constants can be added together to draw multiple features simultaneously.
Value | Meaning
measDrawEdges | Draws a line along the edges of all markers at the expected positions.
measDrawPosition | Draws a cross-like symbol at the expected marker positions of all markers. The cross is drawn maintaining the angle of each marker.
measDrawPositionVariation | Draws an H-type line (|-|) indicating the possible position variations of all markers.
measDrawRegion | Draws the search regions of all markers, respecting their angles, positions, and sizes.
measDrawRegionCenter | Draws a cross at the search region centers, respecting the search regions' angles.
measDrawWidth | Draws an H-type line (|-|) indicating the expected widths of all markers.
measDrawWidthVariation | Draws an H-type line (|-|) indicating the possible width variations of all markers.

For a stripe marker, the following constants can be added to measDrawPosition:
Value | Meaning
measDrawEdge1 | Draws the position of the stripe's first edge of all markers.
measDrawEdge2 | Draws the position of the stripe's second edge of all markers.
Remarks
  • You can draw multiple features simultaneously. For example, to draw the search regions and the positions of all markers, set the Operation parameter to measDrawRegion + measDrawPosition.
  • Note that when drawing features of a multiple marker, only the first instance of the marker is drawn.
  • measDrawPosition is the only suported operation for a point marker.
  • To use measDrawEdges and measDrawPosition, the expected marker positions of all markers must have been set to a specific numeric value using the Markers.Item(MarkerIndex).Position.X or Markers.Item(MarkerIndex).Position.Y properties for each marker index. The positions cannot be set to measAny (default value); an error message is generated.
  • To use measDrawPositionVariation, the expected position variations of all markers must have been set to a specific numeric value using the Markers.Item(MarkerIndex).Position.Variation property for each marker index. The position variation cannot be set to measAny (default value); an error message is generated.
  • To use measDrawWidth, the expected widths of all markers must have been set to a specific numeric value using the Markers.Item(MarkerIndex).Width.Value property for each marker index. The expected widths cannot be set to measAny (default value); an error message is generated.
  • To use measDrawWidthVariation, the expected width variations of all markers must have been set to a specific numeric value using the Markers.Item(MarkerIndex).Width.Variation property for each marker index. The expected width variations cannot be set to measAny (default value); an error message is generated.
  • measDrawWidth and measDrawWidthVariation are not supported for point and edge markers.
  • To add measDrawEdge1 or measDrawEdge2 to measDrawPosition, the expected widths and orientation of all markers must have been set to a numeric value using the Markers.Item(MarkerIndex).Width.Value and Markers.Item(MarkerIndex).Orientation properties for each marker index. The expected widths cannot be set to measAny (default value), and the expected orientation cannot be set to measAnyOrientation; an error message is generated.
  • When specifying the ImageOrGraphicContext parameter as a GraphicContext control, the image associated with the control is used as the destination image.
  • You can also choose to draw in a display's overlay image. By drawing into a display's overlay image, you can annotate an image non-destructively.
  • When using this method to draw features in calibrated images, the Draw method draws all the requested features according to whether the destination image is physically corrected or not.
Remark for Matrox Odyssey XA
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the Measurement control. If not, an error will occur.
Remark for Matrox Odyssey XCL
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the Measurement control. If not, an error will occur.
Remark for Matrox Odyssey XD
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the Measurement control. If not, an error will occur.


Measurement.Markers.Load Method

Load method

See Also | Availability | MIL Equivalent | Add | LoadStream
User Guide:
Error reporting

Reference:
Measurement.Markers.Item.Save
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasRestoreMarker()
Measurement
Markers
Load
Synopsis
Loads a marker from a file into the MeasurementMarkers collection.
[]
Syntax
[Integer =] object.Load(
ByVal FileName As String
)
[]
Syntax
[long =] object->Load(
_bstr_t FileName
)
FileName
A string expression that specifies the name of the file from which to load the marker.
Return value
Returns the index of the new marker.
Remarks
  • This methods loads and allocates a previously saved marker from disk into the markers collection and returns the index of the new marker in the collection.
  • All marker property settings that were in effect when the marker was saved are restored.
  • If you pass the FileName parameter an empty string (""), the File Open dialog box is presented so that you can interactively select a file name.
  • The Load method will generate an error if the file cannot be found or loaded properly.


Measurement.Markers.LoadStream Method

LoadStream method

See Also | Availability | MIL Equivalent | Load | Remove
User Guide:
Using variants and arrays

Reference:
Measurement.Markers.Item.SaveStream
Measurement.Markers.Load
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasStream(
Operation =
M_LOAD
)
Measurement
Markers
LoadStream
Synopsis
Loads the characteristics of a previously saved measurement marker from a file or memory stream.
[]
Syntax
object.LoadStream(
ByVal ArrayOfBytesOrFileName As Object,
ByVal StreamType As MeasStreamTypeConstants
)
[]
Syntax
void object->LoadStream(
VARIANT * ArrayOfBytesOrFileName,
enum MeasStreamTypeConstants StreamType
)
ArrayOfBytesOrFileName
A variantobjectvariant (object for Visual Basic .Net) value that specifies the stream that holds the characteristics of the measurement marker.
StreamType
A MeasStreamTypeConstants expression that specifies the type of stream that holds the characteristics of the measurement marker.
Value | Meaning
measFile | Specifies a file stream.
measMemory | Specifies a memory stream.
Remarks
  • File and file stream are equivalent terms throughout this documentation.
  • The characteristics of the measurement marker can be saved using the SaveStream method.
  • The content loaded from a memory stream is equivalent to the same content loaded from a file. In addition, any file loaded with the Load method is equivalent to a file loaded using this method.
  • When measFile is set as the stream type, the ArrayOfBytesOrFileName parameter should specify the name and path of the file required for this operation. The method internally handles the opening and closing of the file.
  • []
     To specify the name of the file that holds the characteristics of the measurement marker, you must pass a string object to the ArrayOfBytesOrFileName parameter. To specify the location of the memory stream that holds the characteristics of the measurement marker, you must pass an array of bytes.
  • []
     To specify the name of the file that holds the characteristics of the measurement marker, you must pass a VARIANT containing a BSTR value to the ArrayOfBytesOrFileName parameter. To specify the location of the memory stream that holds the characteristics of the measurement marker, pass a VARIANT containing a SAFEARRAY object.


Measurement.Markers.Remove Method

Remove method

See Also | Availability | MIL Equivalent | LoadStream | Draw
Reference:
Measurement.Markers
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasFree()
Measurement
Markers
Remove
Synopsis
Removes a marker from the MeasurementMarkers collection.
[]
Syntax
object.Remove(
ByVal Index As Integer
)
[]
Syntax
void object->Remove(
long Index
)
Index
A long value that specifies which marker to remove.
Remark
  • When a marker is removed from the collection, the marker index values greater than that of the removed marker are reduced by one.
[]
Example
This example shows how to remove a marker.

m_Measurement1->Markers->Remove(1);


Measurement.MeasurementList Property

MeasurementList property

See Also | Availability | MIL Equivalent | Markers | MilID
User Guide:
Steps to finding and obtaining measurements of markers

Reference:
Measurement.Calculate
Measurement.FindMarker
Measurement.Markers
Measurement.Results
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasFindMarker()

MmeasCalculate()
Measurement
MeasurementList
Properties: Angle, Contrast, Distance, EdgeInside, EdgeStrength, EdgeValues, Length, LineEquation, MaximumPosition, MinimumPosition, Orientation, Polarity, PositionVariation, Position, Spacing, WidthVariation, Width

Methods: DeselectAll, SelectAll
Synopsis
Allows you to specify or determine the list of measurements to perform with the FindMarker and Calculate methods.
[]
Syntax
[MeasurementList =] object.MeasurementList
[]
Syntax
[IMeasurementListPtr =] object->MeasurementList
Type description
A MeasurementList object.
Remarks
  • By default, all measurements are selected for calculation.
  • The following table lists the properties of the MeasurementList property and the corresponding results obtained using the FindMarker method. Note, these results refer to the individual characteristics of a particular marker. For a stripe marker three sets of results will be given: those for the first edge (Results.Item(OccurrenceIndex).Edge1), the second edge (Results .Item(OccurrernceIndex).Edge2), and for the edge marker itself (Results(OccurrenceIndex)).
    MeasurementList Results
    Angle Angle
    Contrast Contrast
    Distance Distance
    DistanceX
    DistanceY
    EdgeInside EdgeInside
    EdgeStrength EdgeStrength
    EdgeValues EdgeValues
    Length Length
    LineEquation LineEquationIntercept
    LineEquationSlope
    MinimumPosition MinimumPositionX
    MinimumPositionY
    MaximumPosition MaximumPositionX
    MaximumPositionY
    Orientation Orientation
    Polarity Polarity
    Position PositionX
    PositionY
    PositionVariation PositionVariation
    Spacing Spacing
    Width Width
    WidthVariation WidthVariation
  • The following table shows the MeasurementList properties and the corresponding results obtained using the Calculate method. Note, these results refer to measurements made between two individual markers. For a stripe marker, the default reference position (geometric center) is used in the Calculate method, unless otherwise specified.
    MeasurementList | Results
    Angle | Angle
    Distance | Distance
    DistanceX
    DistanceY
    LineEquation | LineEquationIntercept
    LineEquationSlope


Measurement.MeasurementList.Angle Property

Angle property

See Also | Availability | MIL Equivalent | Contrast
Reference:
Measurement.Calculate
Measurement.FindMarker
Measurement.MeasurementList
Measurement.Results
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasCalculate(
MeasurementList =
M_ANGLE
)

MmeasFindMarker(
MeasurementList =
M_ANGLE
)
Measurement
MeasurementList
Angle
Synopsis
Returns or sets whether the angle is selected for calculation.
[]
Syntax
object.Angle [= Boolean]
[]
Syntax
object->Angle [= VARIANT_BOOL]
Type description
A boolean value that specifies if the angle is selected for calculation. (default is True)
Value | Meaning
True | The angle characteristic is selected for calculation .
False | The angle characteristic is not selected for calculation.
Remarks
  • When the Calculate method is called, the angle of the line joining two markers, relative to the positive X-axis is determined. The result value can be any between 0º and 360º.
  • When the FindMarker method is called, the angle of the occurrence of the marker is measured.
  • Results can be obtained using the Results(OccurrenceIndex).Angle property.


Measurement.MeasurementList.Contrast Property

Contrast property

See Also | Availability | MIL Equivalent | Angle | Distance
User Guide:
Edge Markers and Contrast
Stripe Markers and Contrast

Reference:
Measurement.FindMarker
Measurement.MeasurementList
Measurement.Results
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasFindMarker(
MeasurementList =
M_CONTRAST
)
Measurement
MeasurementList
Contrast
Synopsis
Returns or sets whether the contrast is selected for calculation.
[]
Syntax
object.Contrast [= Boolean]
[]
Syntax
object->Contrast [= VARIANT_BOOL]
Type description
A boolean value that specifies if the contrast is selected for calculation. (default is True)
Value | Meaning
True | The contrast characteristic is selected for calculation.
False | The contrast characteristic is not selected for calculation.
Remarks
  • The contrast describes the typical difference in average grayscale values between the start and end of the intensity transition (edge width) from which an edge is established.
  • For a stripe marker, this produces two values, one for each of the stripe's edges.
  • Results can be obtained using the Results.Item(OccurrenceIndex).Contrast property.


Measurement.MeasurementList.Distance Property

Distance property

See Also | Availability | MIL Equivalent | Contrast | EdgeInside
Reference:
Measurement.Calculate
Measurement.MeasurementList
Measurement.Results
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasFindMarker(
MeasurementList =
M_DISTANCE
)

MmeasCalculate(
MeasurementList =
M_DISTANCE
)
Measurement
MeasurementList
Distance
Synopsis
Returns or sets whether the distance is selected for calculation.
[]
Syntax
object.Distance [= Boolean]
[]
Syntax
object->Distance [= VARIANT_BOOL]
Type description
A boolean value that specifies if the distance is selected for calculation. (default is True)
Value | Meaning
True | The distance characteristic is selected for calculation .
False | The distance characteristic is not selected for calculation.
Remarks
  • Calculates the distance between the reference points of two markers when the Calculate method is called.
  • Results can be obtained using the Results(OccurrenceIndex).Distance, Results(OccurrenceIndex). DistanceX and Results(OccurrenceIndex).DistanceY properties.


Measurement.MeasurementList.EdgeInside Property

EdgeInside property

See Also | Availability | MIL Equivalent | Distance | EdgeStrength
User Guide:
Inside edge and inside edge variation

Reference:
Measurement.FindMarker
Measurement.MeasurementList
Measurement.Results
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasFindMarker(
MeasurementList =
M_EDGE_INSIDE
)
Measurement
MeasurementList
EdgeInside
Synopsis
Returns or sets whether the number of edges, located between two exterior edges of a striper marker, is selected for calculation.
[]
Syntax
object.EdgeInside [= Boolean]
[]
Syntax
object->EdgeInside [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the number of edges, located between two exterior edges of a stripe marker, is selected for calculation. (default is True)
Value | Meaning
True | The number of inside edges is selected for calculation.
False | The number of inside edges is not selected for calculation.
Remark
  • Results can be obtained using the Results.Item(OccurrenceIndex).EdgeInside property.


Measurement.MeasurementList.EdgeStrength Property

EdgeStrength property

See Also | Availability | MIL Equivalent | EdgeInside | EdgeValues
User Guide:
Edge strength

Reference:
Measurement.FindMarker
Measurement.MeasurementList
Measurement.Results
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasFindMarker(
MeasurementList =
M_EDGE_STRENGTH
)
Measurement
MeasurementList
EdgeStrength
Synopsis
Returns or sets whether the edge strength is selected for calculation.
[]
Syntax
object.EdgeStrength [= Boolean]
[]
Syntax
object->EdgeStrength [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the edge strength is selected for calculation. (default is True)
Value | Meaning
True | The edge strength characteristic is selected for calculation .
False | The edge strength characteristic is not selected for calculation.
Remarks
  • The edge strength is the minimum/maximum edge value along the width of the edge (depending on the polarity of the edge).
  • The value is represented as a percentage of the image's maximum pixel value. For example, in an 8-bit image the maximum possible pixel value is 255. Therefore, a 50% edge strength in this image represents a maximum pixel value difference in average adjacent profile values of 128 and a rising edge.
  • Results can be obtained using the Results(OccurrenceIndex).EdgeStrength property.


Measurement.MeasurementList.EdgeValues Property

EdgeValues property

See Also | Availability | MIL Equivalent | EdgeStrength | Length
User Guide:
Determining the strength of the required edge

Reference:
Measurement.FindMarker
Measurement.MeasurementList
Measurement.Results
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasFindMarker(
MeasurementList =
M_BOX_EDGE_VALUES
)
Measurement
MeasurementList
EdgeValues
Synopsis
Returns or sets whether the edge values for every profile value of the search region are selected for calculation.
[]
Syntax
object.EdgeValues [= Boolean]
[]
Syntax
object->EdgeValues [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the search region's edge values are determined. (default is True)
Value | Meaning
True | The edge values are selected for calculation.
False | The edge values are not selected for calculation.
Remarks
  • The EdgeValues property determines the edge value for every profile value of the search region. Thus, for a vertical marker, the number of returned values is equal to the width of the search region; for a horizontal marker, the number is equal to the height.
  • The edge value is represented as a percentage of the image's maximum pixel value. For example, in an 8-bit image the maximum possible pixel value is 255. Therefore, a 50% edge value in this image represents a maximum pixel value difference in average adjacent profile values of 128 and a rising edge.
  • Results can be obtained using the Results(OccurrenceIndex).EdgeValues collection.


Measurement.MeasurementList.Length Property

Length property

See Also | Availability | MIL Equivalent | EdgeValues | LineEquation
User Guide:
Edge markers: length
Stripe markers: length

Reference:
Measurement.FindMarker
Measurement.MeasurementList
Measurement.Results
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasFindMarker(
MeasurementList =
M_LENGTH
)
Measurement
MeasurementList
Length
Synopsis
Returns or sets whether the length is selected for calculation.
[]
Syntax
object.Length [= Boolean]
[]
Syntax
object->Length [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the length is selected for calculation. (default is True)
Value | Meaning
True | The length characteristic is selected for calculation .
False | The length characteristic is not selected for calculation.
Remarks
  • The length is limited to the dimensions of the marker's search region.
  • Results can be obtained using the Results(OccurrenceIndex).Length property.


Measurement.MeasurementList.LineEquation Property

LineEquation property

See Also | Availability | MIL Equivalent | Length | MaximumPosition
User Guide:
Edge markers: line equation
Measurements between two markers
Stripe markers: line equation

Reference:
Measurement.FindMarker
Measurement.MeasurementList
Measurement.Results
Measurement.Results.Item.LineEquationIntercept
Measurement.Results.Item.LineEquationSlope
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasCalculate(
MeasurementList =
M_LINE_EQUATION
)

MmeasFindMarker(
MeasurementList =
M_LINE_EQUATION
)
Measurement
MeasurementList
LineEquation
Synopsis
Returns or sets whether the line equation is selected for calculation.
[]
Syntax
object.LineEquation [= Boolean]
[]
Syntax
object->LineEquation [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the line equation is selected for calculation. (default is True)
Value | Meaning
True | The line equation characteristic is selected for calculation.
False | The line equation characteristic is not selected for calculation.
Remarks
  • When the FindMarker method is called, the equation of the mean line following an edge is determined. For a stripe, three line equations are calculated: the line equation of the stripe's first edge, the line equation of the stripe's second edge, and the mean of the line equations of both its edges.
  • When the Calculate method is called, the line equation between the reference positions of the corresponding occurrences of two markers is determined.
  • When the equation of the line has an infinite slope, the value returned as the slope is 1.0E+300.
  • Results can be obtained using the Results(OccurrenceIndex).LineEquationIntercept and Results(OccurrenceIndex).LineEquationSlope properties.


Measurement.MeasurementList.MaximumPosition Property

MaximumPosition property

See Also | Availability | MIL Equivalent | LineEquation | MinimumPosition
User Guide:
Maximum and minimum position

Reference:
Measurement.MeasurementList
Measurement.Results
Measurement.Results.Item.MaximumPositionX
Measurement.Results.Item.MaximumPositionY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasFindMarker(
MeasurementList =
M_POSITION_MAX
)
Measurement
MeasurementList
MaximumPosition
Synopsis
Returns or sets whether the maximum position is selected for calculation.
[]
Syntax
object.MaximumPosition [= Boolean]
[]
Syntax
object->MaximumPosition [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the maximum position is selected for calculation. (default is True)
Value | Meaning
True | The maximum position characteristic is selected for calculation.
False | The maximum position characteristic is not selected for calculation.
Remarks
  • The maximum position determines the X and Y-coordinates of the maximum position of an edge in a marker.
  • Results can be obtained using the Results.Item(OccurrenceIndex).MaximumPositionX and MaximumPositionY properties, following a call to the FindMarker method.
  • For a striper marker, this returns the average value of maximum positions unless otherwise specified (using the Edge1.MaximumPositionX, Edge1.MaximumPositionY, Edge2.MaximumPositionX or Edge2.MaximumPositionY property).
  • The X-coordinate is the maximum position within the edge width from which an edge is established. The Y-coordinate is the Y-coordinate of the search region center. The maximum position is always on the side of the search region furthest from the origin, regardless of how the search region is rotated. The diagram below illustrates an edge transion curve (a profile of gradual transition from dark to light) and a search region.


Measurement.MeasurementList.MinimumPosition Property

MinimumPosition property

See Also | Availability | MIL Equivalent | MaximumPosition | Orientation
User Guide:
Maximum and minimum position

Reference:
Measurement.MeasurementList
Measurement.Results
Measurement.Results.Item.MinimumPositionX
Measurement.Results.Item.MinimumPositionY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasFindMarker(
MeasurementList =
M_POSITION_MIN
)
Measurement
MeasurementList
MinimumPosition
Synopsis
Returns or sets whether the minimum position is selected for calculation.
[]
Syntax
object.MinimumPosition [= Boolean]
[]
Syntax
object->MinimumPosition [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the minimum position is selected for calculation. (default is True)
Value | Meaning
True | The minimum position characteristic is selected for calculation.
False | The minimum position characteristic is not selected for calculation.
Remarks
  • The minmum position determines the X and Y-coordinates of the minimum position of an edge in a marker.
  • Results can be obtained using the Results.Item(OccurrenceIndex).MaximumPositionX and MaximumPositionY properties, following a call to the FindMarker method.
  • For a striper marker, this returns the average value of maximum positions unless otherwise specified (using the Edge1.MaximumPositionX, Edge1.MaximumPositionY, Edge2.MaximumPositionX or Edge2.MaximumPositionY property).
  • The X-coordinate is the minimum position within the edge width from which an edge is established. The Y-coordinate is the Y-coordinate of the search region center. The minimum position is always on the side of the search region adjacent the origin, regardless of how the search region is rotated. The diagram below illustrates an edge transion curve (a profile of gradual transition from dark to light) and a search region.


Measurement.MeasurementList.Orientation Property

Orientation property

See Also | Availability | MIL Equivalent | MinimumPosition | Polarity
User Guide:
Orientation

Reference:
Measurement.FindMarker
Measurement.MeasurementList
Measurement.Results
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasFindMarker(
MeasurementList =
M_ORIENTATION
)
Measurement
MeasurementList
Orientation
Synopsis
Returns or sets whether the orientation is selected for calculation.
[]
Syntax
object.Orientation [= Boolean]
[]
Syntax
object->Orientation [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the orientation is selected for calculation. (default is True)
Value | Meaning
True | The orientation characteristic is selected for calculation .
False | The orientation characteristic is not selected for calculation.
Remark
  • Results can be obtained using the Results.Orientation property, following a call to the FindMarker method.


Measurement.MeasurementList.Polarity Property

Polarity property

See Also | Availability | MIL Equivalent | Orientation | PositionVariation
User Guide:
Edge markers: polarity
Stripe markers: polarity

Reference:
Measurement.FindMarker
Measurement.MeasurementList
Measurement.Results
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasFindMarker(
MeasurementList =
M_POLARITY
)
Measurement
MeasurementList
Polarity
Synopsis
Returns or sets whether the polarity is selected for calculation.
[]
Syntax
object.Polarity [= Boolean]
[]
Syntax
object->Polarity [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the polarity is selected for calculation. (default is True)
Value | Meaning
True | The polarity characteristic is selected for calculation.
False | The polarity characteristic is not selected for calculation.
Remarks
  • The poloarity determines whether the edge (or edges of a stripe marker) are rising (positive polarity) or falling (negative polarity).
  • Results can be obtained using the Results.Item(OccurrenceIndex).Polarity property, following a call to the FindMarker method.


Measurement.MeasurementList.Position Property

Position property

See Also | Availability | MIL Equivalent | PositionVariation | Spacing
User Guide:
Edge markers: position
Stripe markers: position

Reference:
Measurement.FindMarker
Measurement.MeasurementList
Measurement.MeasurementList.PositionVariation
Measurement.Results
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasFindMarker(
MeasurementList =
M_POSITION
)
Measurement
MeasurementList
Position
Synopsis
Returns or sets whether the position is selected for calculation.
[]
Syntax
object.Position [= Boolean]
[]
Syntax
object->Position [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the position is selected for calculation. (default is True)
Value | Meaning
True | The position characteristic is selected for calculation.
False | The position characteristic is not selected for calculation.
Remarks
  • The position determines the X and Y-coordinates of the marker center within the search region.
  • Results can be obtained using the Results.Item(OccurrenceIndex).PositionX and Results.Item(OccurrenceIndex).PositionY properties, following a call to the FindMarker method.


Measurement.MeasurementList.PositionVariation Property

PositionVariation property

See Also | Availability | MIL Equivalent | Polarity | Position
User Guide:
Edge markers: position and position variation
Stripe markers: position and position variation

Reference:
Measurement.FindMarker
Measurement.MeasurementList.Position
Measurement.Results
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasFindMarker(
MeasurementList =
M_POSITION_VARIATION
)
Measurement
MeasurementList
PositionVariation
Synopsis
Returns or sets whether the position variation is selected for calculation.
[]
Syntax
object.PositionVariation [= Boolean]
[]
Syntax
object->PositionVariation [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the position variation is selected for calculation. (default is True)
Value | Meaning
True | The position variation characteristic is selected for calculation.
False | The position variation characteristic is not selected for calculation.
Remarks
  • The position variation determines the position variation (or uncertainty) of the marker, in pixels or real-world units. If the marker is an edge, the position variation is equal to half of its edge width. If the marker is a stripe, the position variation is the sum of the position variations of both of its edges.
  • Results can be obtained using the Results.Item(OccurrenceIndex).PositionVariation property, following a call to the FindMarker method.


Measurement.MeasurementList.Spacing Property

Spacing property

See Also | Availability | MIL Equivalent | Position | WidthVariation
User Guide:
Multiple marker characteristics

Reference:
Measurement.FindMarker
Measurement.MeasurementList
Measurement.Results
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasFindMarker(
MeasurementList =
M_SPACING
)
Measurement
MeasurementList
Spacing
Synopsis
Returns or sets whether a multiple marker's inter-edge or inter-stripe spacing is selected for calculation.
[]
Syntax
object.Spacing [= Boolean]
[]
Syntax
object->Spacing [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the spacing is selected for calculation. (default is True)
Value | Meaning
True | The spacing characteristic is selected for calculation .
False | The spacing characteristic is not selected for calculation.
Remark
  • Results can be obtained using the Results(OccurrenceIndex).Spacing property, following a call to the FindMarker method.


Measurement.MeasurementList.Width Property

Width property

See Also | Availability | MIL Equivalent | WidthVariation | DeselectAll
User Guide:
Edge markers: width
Stripe markers: width

Reference:
Measurement.FindMarker
Measurement.MeasurementList
Measurement.MeasurementList.WidthVariation
Measurement.Results
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasFindMarker(
MeasurementList =
M_WIDTH
)
Measurement
MeasurementList
Width
Synopsis
Returns or sets whether the width is selected for calculation.
[]
Syntax
object.Width [= Boolean]
[]
Syntax
object->Width [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the width is selected for calculation. (default is True)
Value | Meaning
True | The width characteristic is selected for calculation.
False | The width characteristic is not selected for calculation.
Remarks
  • The width characteristic determines the edge width of an edge marker or the width of a stripe marker, in pixels or real-world units.
  • The edge width of an edge marker is a measure of the transition in grayscale values from which it is established.
  • The width of a stripe marker is the average distance between its edges and is calculated at the angle of the search region.
  • Results can be obtained using the Results.Item(OccurrenceIndex).Width property, following a call to the FindMarker method.


Measurement.MeasurementList.WidthVariation Property

WidthVariation property

See Also | Availability | MIL Equivalent | Spacing | Width
User Guide:
Stripe markers: width and width variation

Reference:
Measurement.FindMarker
Measurement.MeasurementList
Measurement.MeasurementList.Width
Measurement.Results
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasFindMarker(
MeasurementList =
M_WIDTH_VARIATION
)
Measurement
MeasurementList
WidthVariation
Synopsis
Returns or sets whether the width variation is selected for calculation.
[]
Syntax
object.WidthVariation [= Boolean]
[]
Syntax
object->WidthVariation [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the width variation is selected for calculation. (default is True)
Value | Meaning
True | The width variation characteristic is selected for calculation .
False | The width variation characteristic is not selected for calculation.
Remarks
  • This property is for stripe markers only.
  • The width variation determines the maximum width variation (or uncertainty) of a stripe marker, in pixels or real-world units. It is the sum of the position variations of both of its edges.
  • Results can be obtained using the Results.Item(OccurrenceIndex).WidthVariation property, following a call to the FindMarker method.


Measurement.MeasurementList.DeselectAll Method

DeselectAll method

Availability | MIL Equivalent | Width | SelectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Measurement
MeasurementList
DeselectAll
Synopsis
Deselects the list of measurements to perform with the FindMarker and Calculate methods.
[]
Syntax
object.DeselectAll()
[]
Syntax
void object->DeselectAll()
Remark
  • The Calculate and FindMarker methods must have one of the properties of the MeasurementList property set to True.


Measurement.MeasurementList.SelectAll Method

SelectAll method

Availability | MIL Equivalent | DeselectAll
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasCalculate(
MeasurementList =
M_DEFAULT
)
Measurement
MeasurementList
SelectAll
Synopsis
Selects the entire list of measurements to perform with the FindMarker and Calculate methods.
[]
Syntax
object.SelectAll()
[]
Syntax
void object->SelectAll()
[]
Example
This example shows how to select the entire list of measurements.

m_Measurement1->MeasurementList->SelectAll();


Measurement.MilID Property

MilID property

See Also | Availability | MIL Equivalent | MeasurementList | Name
User Guide:
Integrating MIL functions into your ActiveMIL code

Reference:
Measurement.IsAllocated
Measurement.Modified
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasAllocContext(ContextIdPtr)
Measurement
MilID
Synopsis
Returns the Native MIL identifier of the allocated resources of the Measurement control.
[]
Syntax
[Integer =] object.MilID
[]
Syntax
[long =] object->MilID
Type description
A long value that specifies the control's Native MIL identifier.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • The control's Modified method should be called after making Native MIL call(s) on the returned identifier.
  • If the control's IsAllocated property is False, the MilID property will be 0.


Measurement.Name Property

Name property

Availability | MIL Equivalent | MilID | OwnerSystem
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Measurement
Name
Synopsis
Returns or sets the name used in code to identify the Measurement control.
[]
Syntax
object.Name [= String]
[]
Syntax
object->Name [= _bstr_t]
Type description
A string expression that specifies the name of the Measurement control.
Remarks
  • This property cannot be set at run-time.
  • The default name for a new control is the type of control plus a unique integer. For example, the first new Measurement control you create on a form is named Measurement1 and the second Measurement control is named Measurement2.
  • A control's Name property must start with a letter and can be a maximum of 40 characters. It can include numbers and underscore (_) characters but cannot include spaces or punctuation. Although the Name property setting can be a keyword, property name, or the name of another object, this can create conflicts in your code.


Measurement.OwnerSystem Property

OwnerSystem property

See Also | Availability | MIL Equivalent | Name | OwnerSystemName
User Guide:
Owner system

Reference:
System
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasAllocContext(SystemId)
Measurement
OwnerSystem
Synopsis
Returns or sets the system on which the resources of the Measurement control are allocated.
[]
Syntax
object.OwnerSystem [= System]
[]
Syntax
object->OwnerSystem [= ISystemPtr]
Type description
A System control that specifies the system to set as the owner (parent) of the Measurement control.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The owner system can also be specified, with the name assigned to its control, using the OwnerSystemName property.
  • This property automatically sets the OwnerSystemName property.


Measurement.OwnerSystemName Property

OwnerSystemName property

See Also | Availability | MIL Equivalent | OwnerSystem | PixelAspectRatio
User Guide:
Owner system

Reference:
System
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasAllocContext(SystemId)
Measurement
OwnerSystemName
Synopsis
Returns or sets the name of the System control representing the system on which the resources of the Measurement control are allocated.
[]
Syntax
object.OwnerSystemName [= String]
[]
Syntax
object->OwnerSystemName [= _bstr_t]
Type description
A string expression that specifies the name of the System control to set as the owner (parent) of the Measurement control.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The owner system can also be specified using the OwnerSystem property.
  • This property automatically sets the OwnerSystem property.


Measurement.PixelAspectRatio Property

PixelAspectRatio property

Availability | MIL Equivalent | OwnerSystemName | PropertyValidation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasControl(
ControlType =
M_PIXEL_ASPECT_RATIO_INPUT or
M_PIXEL_ASPECT_RATIO_OUTPUT or
M_PIXEL_ASPECT_RATIO
)

MmeasInquire(
InquireType =
M_PIXEL_ASPECT_RATIO_INPUT or
M_PIXEL_ASPECT_RATIO_OUTPUT or
M_PIXEL_ASPECT_RATIO
)
Measurement
PixelAspectRatio
Properties: InputCorrection, OutputCorrection, Value
Synopsis
Allows you to specify or determine the target image's pixel aspect ratio.
[]
Syntax
[MeasurementPixelAspectRatio =] object.PixelAspectRatio
[]
Syntax
[IMeasurementPixelAspectRatioPtr =] object->PixelAspectRatio
Type description
A MeasurementPixelAspectRatio object.
Remark
  • You cannot assign another MeasurementPixelAspectRatio object to this property.


Measurement.PixelAspectRatio.InputCorrection Property

InputCorrection property

Availability | MIL Equivalent | OutputCorrection
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasControl(
ControlType =
M_PIXEL_ASPECT_RATIO_INPUT
)

MmeasInquire(
InquireType =
M_PIXEL_ASPECT_RATIO_INPUT
)
Measurement
PixelAspectRatio
InputCorrection
Synopsis
Returns or sets whether the Measurement control interprets specified marker characteristics relative to the corrected image.
[]
Syntax
object.InputCorrection [= Boolean]
[]
Syntax
object->InputCorrection [= VARIANT_BOOL]
Type description
A boolean value that specifies the type of input correction. (default is True)
Value | Meaning
True | Specified marker characteristics are relative to the corrected image.
False | Specified marker characteristics are relative to the given image (ratio of 1.0).


Measurement.PixelAspectRatio.OutputCorrection Property

OutputCorrection property

Availability | MIL Equivalent | InputCorrection | Value
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasControl(
ControlType =
M_PIXEL_ASPECT_RATIO_OUTPUT
)

MmeasInquire(
InquireType =
M_PIXEL_ASPECT_RATIO_OUTPUT
)
Measurement
PixelAspectRatio
OutputCorrection
Synopsis
Returns or sets whether the Measurement control returns results relative to the corrected image.
[]
Syntax
object.OutputCorrection [= Boolean]
[]
Syntax
object->OutputCorrection [= VARIANT_BOOL]
Type description
A boolean value that specifies the type of output correction. (default is True)
Value | Meaning
True | Output data (results) is relative to the corrected image.
False | Output data (results) is relative to the given image (ratio of 1.0).


Measurement.PixelAspectRatio.Value Property

Value property

Availability | MIL Equivalent | OutputCorrection
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasControl(
ControlType =
M_PIXEL_ASPECT_RATIO
)

MmeasInquire(
InquireType =
M_PIXEL_ASPECT_RATIO
)
Measurement
PixelAspectRatio
Value
Synopsis
Returns or sets the pixel aspect ratio of the target image.
[]
Syntax
object.Value [= Double]
[]
Syntax
object->Value [= double]
Type description
A double value that specifies the pixel aspect ratio, by dividing the pixel width by the pixel height. (default is 1.0)
Remarks
  • The pixel aspect ratio is equal to the pixel width/height.
  • All results are affected by the pixel aspect ratio, including positional results. The pixel aspect ratio is applied to the pixel width during calculations therefore, results are returned in units of "pixel height" since the pixel width is adjusted to be equal to the pixel height.


Measurement.PropertyValidation Property

PropertyValidation property

See Also | Availability | MIL Equivalent | PixelAspectRatio | Results
User Guide:
Error reporting
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Measurement
PropertyValidation
Synopsis
Returns or sets whether the properties of the Measurement control are dynamically validated.
[]
Syntax
object.PropertyValidation [= Boolean]
[]
Syntax
object->PropertyValidation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the property validation mode.
Value | Meaning
True | The control's properties are dynamically validated. Errors are generated during the design process.
False | The control's properties are not dynamically validated. Errors are only generated at run-time.
Remarks
  • At run-time, this property is read-only and is always set to True.
  • When set to True, if one of the control's properties is not properly set, the control is outlined in red and the Error page of the control's property pages describes the specific error.


Measurement.Results Property

Results property

See Also | Availability | MIL Equivalent | PropertyValidation | Allocate
User Guide:
Steps to finding and obtaining measurements of markers
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasAllocResult(MeasResultIdPtr)

MmeasGetResult()

MmeasGetResultSingle()
Measurement
Results
Properties: Count, EdgeValues, Item, MilID, Orientation, Score

Methods: CalculateMaximum, CalculateMean, CalculateMinimum, CalculateStandardDeviation, Get, GetMultiple, Draw
Synopsis
Returns the collection of measurement results obtained with the Measurement control, allowing access to the collection's elements.
[]
Syntax
[MeasurementResults =] object.Results
[]
Syntax
[IMeasurementResultsPtr =] object->Results
Type description
A MeasurementResults expression that represents an instance of a MeasurementResults collection.
Remarks
  • Note that an error is generated if results are requested for a marker which has not been found. After making a call to the FindMarker method, you should use the Markers.Item(MarkerIndex).IsFound property to check if the marker has been successfully located before obtaining results. If the marker is not found, you should modify your characteristic settings and check the placement of the search region.
  • Results contained in the collection are obtained from the last call to the FindMarker or Calculate method.
  • Save the required results in variables before finding another marker since results are erased upon the next call to the FindMarker or Calculate method. Alternatively, you can call these methods with the same marker indexes to retrieve the required results at a later time, provided the target image and the marker characteristics have not changed. Note that the second call to the FindMarker or Calculate method will retrieve an internal copy of the results rather than perform the operation again.
  • For a multiple marker, results for each occurrence of the marker are saved in separate elements of the collection of results. The number of edges or stripes found can be obtained using the Results.Count property.
  • To obtain results for an edge of a stripe, use the Results(OccurrenceIndex).Edge1 or Results(OccurrenceIndex).Edge2 properties.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.


Measurement.Results.Count Property

Count property

Availability | MIL Equivalent | EdgeValues
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_NUMBER
)
Measurement
Results
Count
Synopsis
Returns the number of elements in the collection of results.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A long value that specifies the number of elements currently in the collection.
Remarks
  • Results are those from the last call to the FindMarker or Calculate method.
  • After a call to the Measurement.FindMarker method, the number of elements in the collection is the number of occurrences of edge or stripe marker found in the search region.
  • After a call to the Measurement.Calculate method, the number of elements in the collection is equal to the smallest number of occurrences held in either marker involved in the calculation.


Measurement.Results.EdgeValues Property

EdgeValues property

See Also | Availability | MIL Equivalent | Count | Item
Reference:
Measurement.MeasurementList.EdgeValues
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_BOX_EDGE_VALUES_NUMBER or
M_BOX_EDGE_VALUES
)

MmeasGetResultSingle(
ResultType =
M_BOX_EDGE_VALUES_NUMBER or
M_BOX_EDGE_VALUES
)
Measurement
Results
EdgeValues
Properties: Count, Item
Synopsis
Returns the collection of edge values available to the Measurement control, allowing access to its elements.
[]
Syntax
[ResultEdgeValues =] object.EdgeValues
[]
Syntax
[IResultEdgeValuesPtr =] object->EdgeValues
Type description
A ResultEdgeValues expression that represents an instance of the ResultsEdgeValues collection.
Remarks
  • The EdgeValues property returns the edge value for every profile value of the search region. Thus, for a vertical marker, the number of returned values is equal to the width of the search region; for a horizontal marker, the number is equal to the height.
  • The value is represented as a normalized percentage of the image's maximum pixel value. For example, in an 8-bit image the maximum possible pixel value is 255. Therefore, a 50% edge value in this image represents a maximum pixel value difference in average adjacent profile values of 128 and a rising edge.


Measurement.Results.EdgeValues.Count Property

Count property

Availability | MIL Equivalent | Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_BOX_EDGE_VALUES_NUMBER
)

MmeasGetResultSingle(
ResultType =
M_BOX_EDGE_VALUES_NUMBER
)
Measurement
Results
EdgeValues
Count
Synopsis
Returns the number of edge values in the collection.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A long value that specifies the number of edge values currently in the collection.
Remarks
  • The Count property will return zero until the FindMarker method is called.
  • The number of edge values is equivalent to height or width of the search region, depending on the direction of the search.


Measurement.Results.EdgeValues.Item Property

Item property

Availability | MIL Equivalent | Count
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_BOX_EDGE_VALUES
)

MmeasGetResultSingle(
ResultType =
M_BOX_EDGE_VALUES
)
Measurement
Results
EdgeValues
Item
Synopsis
Returns the edge value at the specified index in the collection.
[]
Syntax
[Double=]object.Item(
Index As Integer
)
[]
Syntax
[double =] object->Item(
long Index
)
Index
A long value that specifies the index of the required profile value.
Type description
A double value that specifies the edge value.
Remarks
  • The number of edge values is equivalent to height or width of the search region, depending on the direction of the search.
  • The value is represented as a percentage of the image's maximum pixel value. For example, in an 8-bit image the maximum possible pixel value is 255. Therefore, a 50% edge strength in this image represents a maximum pixel value difference in average adjacent profile values of 128 and a rising edge.
  • Each element in the collection refers to the result for a column/row in the search region.
  • If the value provided as the index does not match any existing element of the collection, an error occurs. Note, the index of the first element of this collection starts at one.


Measurement.Results.Item Property

Item property

Availability | MIL Equivalent | EdgeValues | MilID
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Measurement
Results
Item
Properties: Angle, BoxCornerBottomLeftX, BoxCornerBottomLeftY, BoxCornerBottomRightX, BoxCornerBottomRightY, BoxCornerTopLeftX, BoxCornerTopLeftY, BoxCornerTopRightX, BoxCornerTopRightY, Contrast, DistanceX, DistanceY, Distance, Edge1, Edge2, EdgeInside, EdgeStrength, Length, LineEquationIntercept, LineEquationSlope, MaximumPositionX, MaximumPositionY, MinimumPositionX, MinimumPositionY, Polarity, PositionVariation, PositionX, PositionY, Score, Spacing, WidthVariation, Width

Method: Draw
Synopsis
Returns the element at the specified index within the collection of results.
[]
Syntax
[MeasurementResult=]object.Item(
Index As Integer
)
[]
Syntax
[IMeasurementResultPtr =] object->Item(
long Index
)
Index
A long value that specifies the index of the required element.
Type description
A MeasurementResult object.
Remarks
  • Results are obtained from the last call to the FindMarker or Calculate method.
  • The number of elements in the collection is the number of occurrences of a multiple marker.
  • If the value provided as the index does not match any existing marker of the collection, an error occurs.


Measurement.Results.Item.Angle Property

Angle property

See Also | Availability | MIL Equivalent | BoxCornerBottomLeftX
Reference:
Measurement.MeasurementList.Angle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_ANGLE
)

MmeasGetResultSingle(
ResultType =
M_ANGLE
)
Measurement
Results
Item
Angle
Synopsis
Returns the angle of the occurrence of the marker, or the angle of the line joining the occurrence of the first marker with the corresponding occurrence of the second marker.
[]
Syntax
[Double =] object.Angle
[]
Syntax
[double =] object->Angle
Type description
A double value that returns the angle, in degrees.
Remarks
  • Results are obtained from the last call to the FindMarker or Calculate method.
  • The result value can be any between 0º and 360º.
  • If the FindMarker method was called, the angle of the occurrence of the marker, relative to the positive X-axis, is returned.
  • If the Calculate method was called, this property returns the angle of the line joining the reference position of the occurrence of the first marker with the reference position of the corresponding occurrence of the second marker, relative to the positive X-axis. Calculations are made using the edges or stripes of the first marker and the corresponding edges or stripes of the second marker, for the entire first marker's number of edges or stripes. The number of calculations performed is limited to the smallest number of occurrences held in either marker (that is, if a marker only contains one edge or stripe, then only one calculation is performed, regardless of the number of edges or stripes contained in the other marker).


Measurement.Results.Item.BoxCornerBottomLeftX Property

BoxCornerBottomLeftX property

See Also | Availability | MIL Equivalent | Angle | BoxCornerBottomLeftY
Reference:
Measurement.Markers.Item.SearchRegion
Measurement.Results.Item.BoxCornerBottomLeftY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_BOX_CORNER_BOTTOM_LEFT
)

MmeasGetResultSingle(
ResultType =
M_BOX_CORNER_BOTTOM_LEFT
)
Measurement
Results
Item
BoxCornerBottomLeftX
Synopsis
Returns the X-coordinate of the bottom-left corner of the search region.
[]
Syntax
[Double =] object.BoxCornerBottomLeftX
[]
Syntax
[double =] object->BoxCornerBottomLeftX
Type description
A double value that specifies the X-coordinate of the bottom-left corner of the search region.
Remarks
  • The Results.Item(OccurrenceIndex).BoxCornerBottomLeftX property is used in conjunction with the Results.Item(OccurrenceIndex).BoxCornerBottomLeftY property to determine the coordinates of the bottom-left corner of the search region.
  • This property is primarily used to determine the exact location of a rotated or calibrated search region: the sequence of coordinates from (BoxCornerTopLeftX, BoxCornerTopLeftY) to (BoxCornerBottomRightX, BoxCornerBottomRightY) proceeds in a clockwise direction.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Use the Markers.Item(MarkerIndex).SearchRegion property of the Measurement control to define the search region. These properties define the search region before the search region has been rotated or the image has been calibrated.


Measurement.Results.Item.BoxCornerBottomLeftY Property

BoxCornerBottomLeftY property

See Also | Availability | MIL Equivalent | BoxCornerBottomLeftX | BoxCornerBottomRightX
Reference:
Measurement.Markers.Item.SearchRegion
Measurement.Results.Item.BoxCornerBottomLeftX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_BOX_CORNER_BOTTOM_LEFT
)

MmeasGetResultSingle(
ResultType =
M_BOX_CORNER_BOTTOM_LEFT
)
Measurement
Results
Item
BoxCornerBottomLeftY
Synopsis
Returns the Y-coordinate of the bottom-left corner of the search region.
[]
Syntax
[Double =] object.BoxCornerBottomLeftY
[]
Syntax
[double =] object->BoxCornerBottomLeftY
Type description
A double value that specifies the Y-coordinate of the bottom-left corner of the search region.
Remarks
  • The Results.Item(OccurrenceIndex).BoxCornerBottomLeftY property is used in conjunction with the Results.Item(OccurrenceIndex).BoxCornerBottomLeftX property to determine the coordinates of the bottom-left corner of the search region.
  • This property is primarily used to determine the exact location of a rotated or calibrated search region: the sequence of coordinates from (BoxCornerTopLeftX, BoxCornerTopLeftY) to (BoxCornerBottomRightX, BoxCornerBottomRightY) proceeds in a clockwise direction.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the assocaited Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Use the Markers.Item(MarkerIndex).SearchRegion property of the Measurement control to define the search region. These properties define the search region before the search region has been rotated or the image has been calibrated.


Measurement.Results.Item.BoxCornerBottomRightX Property

BoxCornerBottomRightX property

See Also | Availability | MIL Equivalent | BoxCornerBottomLeftY | BoxCornerBottomRightY
Reference:
Measurement.Markers.Item.SearchRegion
Measurement.Results.Item.BoxCornerBottomRightY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_BOX_CORNER_BOTTOM_RIGHT
)

MmeasGetResultSingle(
ResultType =
M_BOX_CORNER_BOTTOM_RIGHT
)
Measurement
Results
Item
BoxCornerBottomRightX
Synopsis
Returns the X-coordinate of the bottom-right corner of the search region.
[]
Syntax
[Double =] object.BoxCornerBottomRightX
[]
Syntax
[double =] object->BoxCornerBottomRightX
Type description
A double value that specifies the X-coordinate of the bottom-right corner of the search region.
Remarks
  • The Results.Item(OccurrenceIndex).BoxCornerBottomRightX property is used in conjunction with the Results.Item(OccurrenceIndex).BoxCornerBottomRightY property to determine the coordinates of the bottom-right corner of the search region.
  • This property is primarily used to determine the exact location of a rotated or calibrated search region: the sequence of coordinates from (BoxCornerTopLeftX, BoxCornerTopLeftY) to (BoxCornerBottomRightX, BoxCornerBottomRightY) proceeds in a clockwise direction.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the assocaited Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Use the Markers.Item(MarkerIndex).SearchRegion property of the Measurement control to define the search region. These properties define the search region before the search region has been rotated or the image has been calibrated.


Measurement.Results.Item.BoxCornerBottomRightY Property

BoxCornerBottomRightY property

See Also | Availability | MIL Equivalent | BoxCornerBottomRightX | BoxCornerTopLeftX
Reference:
Measurement.Markers.Item.SearchRegion
Measurement.Results.Item.BoxCornerBottomRightX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_BOX_CORNER_BOTTOM_RIGHT
)

MmeasGetResultSingle(
ResultType =
M_BOX_CORNER_BOTTOM_RIGHT
)
Measurement
Results
Item
BoxCornerBottomRightY
Synopsis
Returns the Y-coordinate of the bottom-right corner of the search region.
[]
Syntax
[Double =] object.BoxCornerBottomRightY
[]
Syntax
[double =] object->BoxCornerBottomRightY
Type description
A double value that specifies the Y-coordinate of the bottom-right corner of the search region.
Remarks
  • The Results.Item(OccurrenceIndex).BoxCornerBottomRightY property is used in conjunction with the Results.Item(OccurrenceIndex).BoxCornerBottomRightX property to determine the coordinates of the bottom-right corner of the search region.
  • This property is primarily used to determine the exact location of a rotated or calibrated search region: the sequence of coordinates from (BoxCornerTopLeftX, BoxCornerTopLeftY) to (BoxCornerBottomRightX, BoxCornerBottomRightY) proceeds in a clockwise direction.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Use the Markers.Item(MarkerIndex).SearchRegion property of the Measurement control to define the search region. These properties define the search region before the search region has been rotated or the image has been calibrated.


Measurement.Results.Item.BoxCornerTopLeftX Property

BoxCornerTopLeftX property

See Also | Availability | MIL Equivalent | BoxCornerBottomRightY | BoxCornerTopLeftY
Reference:
Measurement.Markers.Item.SearchRegion
Measurement.Results.Item.BoxCornerTopLeftY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_BOX_CORNER_TOP_LEFT
)

MmeasGetResultSingle(
ResultType =
M_BOX_CORNER_TOP_LEFT
)
Measurement
Results
Item
BoxCornerTopLeftX
Synopsis
Returns the X-coordinate of the top-left corner of the search region.
[]
Syntax
[Double =] object.BoxCornerTopLeftX
[]
Syntax
[double =] object->BoxCornerTopLeftX
Type description
A double value that specifies the X-coordinate of the top-left corner of the search region.
Remarks
  • The Results.Item(OccurrenceIndex).BoxCornerTopLeftX property is used in conjunction with the Results.Item(OccurrenceIndex).BoxCornerTopLeftY property to determine the coordinates of the bottom-left corner of the search region.
  • This property is primarily used to determine the exact location of a rotated or calibrated search region: the sequence of coordinates from (BoxCornerTopLeftX, BoxCornerTopLeftY) to (BoxCornerBottomRightX, BoxCornerBottomRightY) proceeds in a clockwise direction.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Use the Markers.Item(MarkerIndex).SearchRegion property of the Measurement control to define the search region. These properties define the search region before the search region has been rotated or the image has been calibrated.


Measurement.Results.Item.BoxCornerTopLeftY Property

BoxCornerTopLeftY property

See Also | Availability | MIL Equivalent | BoxCornerTopLeftX | BoxCornerTopRightX
Reference:
Measurement.Markers.Item.SearchRegion
Measurement.Results.Item.BoxCornerTopLeftX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_BOX_CORNER_TOP_LEFT
)

MmeasGetResultSingle(
ResultType =
M_BOX_CORNER_TOP_LEFT
)
Measurement
Results
Item
BoxCornerTopLeftY
Synopsis
Returns the Y-coordinate of the top-left corner of the search region.
[]
Syntax
[Double =] object.BoxCornerTopLeftY
[]
Syntax
[double =] object->BoxCornerTopLeftY
Type description
A double value that specifies the Y-coordinate of the top-left corner of the search region.
Remarks
  • The Results.Item(OccurrenceIndex).BoxCornerTopLeftY property is used in conjunction with the Results.Item(OccurrenceIndex).BoxCornerTopLeftX property to determine the coordinates of the bottom-left corner of the search region.
  • This property is primarily used to determine the exact location of a rotated or calibrated search region: the sequence of coordinates from (BoxCornerTopLeftX, BoxCornerTopLeftY) to (BoxCornerBottomRightX, BoxCornerBottomRightY) proceeds in a clockwise direction.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Use the Markers.Item(MarkerIndex).SearchRegion property of the Measurement control to define the search region. These properties define the search region before the search region has been rotated or the image has been calibrated.


Measurement.Results.Item.BoxCornerTopRightX Property

BoxCornerTopRightX property

See Also | Availability | MIL Equivalent | BoxCornerTopLeftY | BoxCornerTopRightY
Reference:
Measurement.Markers.Item.SearchRegion
Measurement.Results.Item.BoxCornerTopRightY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_BOX_CORNER_TOP_RIGHT
)

MmeasGetResultSingle(
ResultType =
M_BOX_CORNER_TOP_RIGHT
)
Measurement
Results
Item
BoxCornerTopRightX
Synopsis
Returns the X-coordinate of the top-right corner of the search region.
[]
Syntax
[Double =] object.BoxCornerTopRightX
[]
Syntax
[double =] object->BoxCornerTopRightX
Type description
A double value that specifies the X-coordinate of the top-right corner of the search region.
Remarks
  • The Results.Item(OccurrenceIndex).BoxCornerTopRightX property is used in conjunction with the Results.Item(OccurrenceIndex).BoxCornerTopRightY property to determine the coordinates of the bottom-left corner of the search region.
  • This property is primarily used to determine the exact location of a rotated or calibrated search region: the sequence of coordinates from (BoxCornerTopLeftX, BoxCornerTopLeftY) to (BoxCornerBottomRightX, BoxCornerBottomRightY) proceeds in a clockwise direction.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Use the Markers.Item(MarkerIndex).SearchRegion property of the Measurement control to define the search region. These properties define the search region before the search region has been rotated or the image has been calibrated.


Measurement.Results.Item.BoxCornerTopRightY Property

BoxCornerTopRightY property

See Also | Availability | MIL Equivalent | BoxCornerTopRightX | Contrast
Reference:
Measurement.Markers.Item.SearchRegion
Measurement.Results.Item.BoxCornerTopRightX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_BOX_CORNER_TOP_RIGHT
)

MmeasGetResultSingle(
ResultType =
M_BOX_CORNER_TOP_RIGHT
)
Measurement
Results
Item
BoxCornerTopRightY
Synopsis
Returns the Y-coordinate of the top-right corner of the search region.
[]
Syntax
[Double =] object.BoxCornerTopRightY
[]
Syntax
[double =] object->BoxCornerTopRightY
Type description
A double value that specifies the Y-coordinate of the top-right corner of the search region.
Remarks
  • The Results.Item(OccurrenceIndex).BoxCornerTopRightY property is used in conjunction with the Results.Item(OccurrenceIndex).BoxCornerTopRightX property to determine the coordinates of the bottom-left corner of the search region.
  • This property is primarily used to determine the exact location of a rotated or calibrated search region: the sequence of coordinates from (BoxCornerTopLeftX, BoxCornerTopLeftY) to (BoxCornerBottomRightX, BoxCornerBottomRightY) proceeds in a clockwise direction.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Use the Markers.Item(MarkerIndex).SearchRegion property of the Measurement control to define the search region. These properties define the search region before the search region has been rotated or the image has been calibrated.


Measurement.Results.Item.Contrast Property

Contrast property

See Also | Availability | MIL Equivalent | BoxCornerTopRightY | DistanceX
Reference:
Measurement.MeasurementList.Contrast
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_CONTRAST
)

MmeasGetResultSingle(
ResultType =
M_CONTRAST
)
Measurement
Results
Item
Contrast
Synopsis
Returns the contrast of the occurrence of the marker.
[]
Syntax
[Double =] object.Contrast
[]
Syntax
[double =] object->Contrast
Type description
A double value that returns the contrast of the edge or stripe.
Remarks
  • Results are obtained from the last call to the FindMarker method.
  • The contrast is the typical difference in average grayscale values between the start and end of intensity transition (edge width) from which an edge is established.
  • For a stripe, the contrast of the first edge is returned.


Measurement.Results.Item.Distance Property

Distance property

See Also | Availability | MIL Equivalent | DistanceY | Edge1
Reference:
Measurement.MeasurementList.Distance
Measurement.Results.Item.DistanceX
Measurement.Results.Item.DistanceY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_DISTANCE
)

MmeasGetResultSingle(
ResultType =
M_DISTANCE
)
Measurement
Results
Item
Distance
Synopsis
Returns the result of a distance calculation between the occurrence of the first marker and the corresponding occurrence of the second marker.
[]
Syntax
[Double =] object.Distance
[]
Syntax
[double =] object->Distance
Type description
A double value that returns the distance between the reference position of the occurrence of the first marker and the reference position of the corresponding occurrence of the second marker.
Remarks
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Results are obtained from the last call to the Calculate method.
  • Calculations are made using the edges or stripes of the first marker and the corresponding edges or stripes of the second marker, for the entire first marker's number of edges or stripes. The number of calculations performed is limited to the smallest number of occurrences held in either marker (that is, if a marker only contains one edge or stripe, then only one calculation is performed, regardless of the number of edges or stripes contained in the other marker).


Measurement.Results.Item.DistanceX Property

DistanceX property

See Also | Availability | MIL Equivalent | Contrast | DistanceY
Reference:
Measurement.MeasurementList.Distance
Measurement.Results.Item.Distance
Measurement.Results.Item.DistanceY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_DISTANCE_X
)

MmeasGetResultSingle(
ResultType =
M_DISTANCE_X
)
Measurement
Results
Item
DistanceX
Synopsis
Returns the horizontal distance between the occurrence of the first marker and the corresponding occurrence of the second marker.
[]
Syntax
[Double =] object.DistanceX
[]
Syntax
[double =] object->DistanceX
Type description
A double value that returns the distance along the X-axis between the reference position of the occurrence of the first marker and the reference position of the corresponding occurrence of the second marker.
Remarks
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Results are obtained from the last call to the Calculate method.
  • Calculations are made using the edges or stripes of the first marker and the corresponding edges or stripes of the second marker, for the entire first marker's number of edges or stripes. The number of calculations performed is limited to the smallest number of occurrences held in either marker (that is, if a marker only contains one edge or stripe, then only one calculation is performed, regardless of the number of edges or stripes contained in the other marker).


Measurement.Results.Item.DistanceY Property

DistanceY property

See Also | Availability | MIL Equivalent | DistanceX | Distance
Reference:
Measurement.MeasurementList.Distance
Measurement.Results.Item.Distance
Measurement.Results.Item.DistanceX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_DISTANCE_Y
)

MmeasGetResultSingle(
ResultType =
M_DISTANCE_Y
)
Measurement
Results
Item
DistanceY
Synopsis
Returns the vertical distance between the occurrence of the first marker and the corresponding occurrence of the second marker.
[]
Syntax
[Double =] object.DistanceY
[]
Syntax
[double =] object->DistanceY
Type description
A double value that returns the distance along the Y-axis between the reference position of the occurrence of the first marker and the reference position of the corresponding occurrence of the second marker.
Remarks
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Results are obtained from the last call to the Calculate method.
  • Calculations are made using the edges or stripes of the first marker and the corresponding edges or stripes of the second marker, for the entire first marker's number of edges or stripes. The number of calculations performed is limited to the smallest number of occurrences held in either marker (that is, if a marker only contains one edge or stripe, then only one calculation is performed, regardless of the number of edges or stripes contained in the other marker).


Measurement.Results.Item.Edge1 Property

Edge1 property

Availability | MIL Equivalent | Distance | Edge2
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_EDGE_FIRST +
(M_ ANGLE or
M_BOX_CORNER_BOTTOM_LEFT or
M_BOX_CORNER_BOTTOM_RIGHT or
M_BOX_CORNER_TOP_LEFT or
M_BOX_CORNER_TOP_RIGHT or
M_CONTRAST or
M_EDGE_STRENGTH or
M_LINE_EQUATION_INTERCEPT or
M_LINE_EQUATION_SLOPE or
M_POSITION_MAX or
M_POSITION_MIN or
M_POLARITY or
M_POSITION_VARIATION or
M_POSITION)
)

MmeasGetResultSingle(
ResultType =
same values as above
)
Measurement
Results
Item
Edge1
Properties: Angle, BoxCornerBottomLeftX, BoxCornerBottomLeftY, BoxCornerBottomRightX, BoxCornerBottomRightY, BoxCornerTopLeftX, BoxCornerTopLeftY, BoxCornerTopRightX, BoxCornerTopRightY, Contrast, EdgeStrength, LineEquationIntercept, LineEquationSlope, MaximumPositionX, MaximumPositionY, MinimumPositionX, MinimumPositionY, Polarity, PositionVariation, PositionX, PositionY, Width

Method: Draw
Synopsis
Returns the measurement results for the first edge of the occurrence of the stripe marker.
[]
Syntax
[MeasurementEdgeResult =] object.Edge1
[]
Syntax
[IMeasurementEdgeResultPtr =] object->Edge1
Type description
A MeasurementEdgeResult object.
Remarks
  • This property applies only to stripe markers.
  • Results are obtained from the last call to the FindMarker method.


Measurement.Results.Item.Edge1.Angle Property

Angle property

See Also | Availability | MIL Equivalent | BoxCornerBottomLeftX
Reference:
Measurement.MeasurementList.Angle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_EDGE_FIRST +
M_ ANGLE
)

MmeasGetResultSingle(
ResultType =
M_EDGE_FIRST +
M_ ANGLE
)
Measurement
Results
Item
Edge1
Angle
Synopsis
Returns the angle of the first edge of the occurrence of the stripe marker or the angle of the line joining the first edge of the occurrence of the first stripe marker with the first edge of the corresponding occurrence of the second stripe marker.
[]
Syntax
[Double =] object.Angle
[]
Syntax
[double =] object->Angle
Type description
A double value that returns the angle of the first edge, in degrees.
Remarks
  • Results are obtained from the last call to the FindMarker or Calculate method.
  • The result value can be any between 0º and 360º.
  • If the FindMarker method was called, the angle of the occurrence of the stripe marker, relative to the positive X-axis, is returned.
  • If the Calculate method was called, this property returns the angle of the line joining the reference position of the first edge of the occurrence of the first stripe marker with the reference position of the first edge of the corresponding occurrence of the second stripe marker, relative to the positive X-axis. Calculations are made using the first edge of the first stripe marker and the corresponding first edge of the second stripe marker, for the entire first stripe marker's number of first edges. The number of calculations performed is limited to the smallest number of occurrences held in either stripe marker (that is, if a stripe marker only contains one first edge, then only one calculation is performed, regardless of the number of first edges contained in the other stripe marker).


Measurement.Results.Item.Edge1.BoxCornerBottomLeftX Property

BoxCornerBottomLeftX property

See Also | Availability | MIL Equivalent | Angle | BoxCornerBottomLeftY
Reference:
Measurement.Markers.Item.SearchRegion
Measurement.Results.Item.Edge1.BoxCornerBottomLeftY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_BOX_CORNER_BOTTOM_LEFT +
M_EDGE_FIRST
)

MmeasGetResultSingle(
ResultType =
M_BOX_CORNER_BOTTOM_LEFT +
M_EDGE_FIRST
)
Measurement
Results
Item
Edge1
BoxCornerBottomLeftX
Synopsis
Returns the X-coordinate of the bottom-left corner of the search region.
[]
Syntax
[Double =] object.BoxCornerBottomLeftX
[]
Syntax
[double =] object->BoxCornerBottomLeftX
Type description
A double value that specifies the X-coordinate of the bottom-left corner of the search region.
Remarks
  • The Results.Item(OccurrenceIndex).Edge1.BoxCornerBottomLeftX property is used in conjunction with the Results.Item(OccurrenceIndex).Edge1.BoxCornerBottomLeftY property to determine the coordinates of the bottom-left corner of the search region.
  • This property is primarily used to determine the exact location of a rotated or calibrated search region: the sequence of coordinates from (BoxCornerTopLeftX, BoxCornerTopLeftY) to (BoxCornerBottomRightX, BoxCornerBottomRightY) proceeds in a clockwise direction.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Use the Markers.Item(MarkerIndex).SearchRegion property of the Measurement control to define the search region. These properties define the search region before the search region has been rotated or the image has been calibrated.


Measurement.Results.Item.Edge1.BoxCornerBottomLeftY Property

BoxCornerBottomLeftY property

See Also | Availability | MIL Equivalent | BoxCornerBottomLeftX | BoxCornerBottomRightX
Reference:
Measurement.Markers.Item.SearchRegion
Measurement.Results.Item.Edge1.BoxCornerBottomLeftX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_BOX_CORNER_BOTTOM_LEFT +
M_EDGE_FIRST
)

MmeasGetResultSingle(
ResultType =
M_BOX_CORNER_BOTTOM_LEFT +
M_EDGE_FIRST
)
Measurement
Results
Item
Edge1
BoxCornerBottomLeftY
Synopsis
Returns the Y-coordinate of the bottom-left corner of the search region.
[]
Syntax
[Double =] object.BoxCornerBottomLeftY
[]
Syntax
[double =] object->BoxCornerBottomLeftY
Type description
A double value that specifies the Y-coordinate of the bottom-left corner of the search region.
Remarks
  • The Results.Item(OccurrenceIndex).Edge1.BoxCornerBottomLeftY property is used in conjunction with the Results.Item(OccurrenceIndex).Edge1.BoxCornerBottomLeftX property to determine the coordinates of the bottom-left corner of the search region.
  • This property is primarily used to determine the exact location of a rotated or calibrated search region: the sequence of coordinates from (BoxCornerTopLeftX, BoxCornerTopLeftY) to (BoxCornerBottomRightX, BoxCornerBottomRightY) proceeds in a clockwise direction.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Use the Markers.Item(MarkerIndex).SearchRegion property of the Measurement control to define the search region. These properties define the search region before the search region has been rotated or the image has been calibrated.


Measurement.Results.Item.Edge1.BoxCornerBottomRightX Property

BoxCornerBottomRightX property

See Also | Availability | MIL Equivalent | BoxCornerBottomLeftY | BoxCornerBottomRightY
Reference:
Measurement.Markers.Item.SearchRegion
Measurement.Results.Item.Edge1.BoxCornerBottomRightY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_BOX_CORNER_BOTTOM_RIGHT +
M_EDGE_FIRST
)

MmeasGetResultSingle(
ResultType =
M_BOX_CORNER_BOTTOM_RIGHT +
M_EDGE_FIRST
)
Measurement
Results
Item
Edge1
BoxCornerBottomRightX
Synopsis
Returns the Y-coordinate of the bottom-right corner of the search region.
[]
Syntax
[Double =] object.BoxCornerBottomRightX
[]
Syntax
[double =] object->BoxCornerBottomRightX
Type description
A double value that specifies the X-coordinate of the bottom-right corner of the search region.
Remarks
  • The Results.Item(OccurrenceIndex).Edge1.BoxCornerBottomRightX property is used in conjunction with the Results.Item(OccurrenceIndex).Edge1.BoxCornerBottomRightY property to determine the coordinates of the bottom-right corner of the search region.
  • This property is primarily used to determine the exact location of a rotated or calibrated search region: the sequence of coordinates from (BoxCornerTopLeftX, BoxCornerTopLeftY) to (BoxCornerBottomRightX, BoxCornerBottomRightY) proceeds in a clockwise direction.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Use the Markers.Item(MarkerIndex).SearchRegion property of the Measurement control to define the search region. These properties define the search region before the search region has been rotated or the image has been calibrated.


Measurement.Results.Item.Edge1.BoxCornerBottomRightY Property

BoxCornerBottomRightY property

See Also | Availability | MIL Equivalent | BoxCornerBottomRightX | BoxCornerTopLeftX
Reference:
Measurement.Markers.Item.SearchRegion
Measurement.Results.Item.Edge1.BoxCornerBottomRightX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_BOX_CORNER_BOTTOM_RIGHT +
M_EDGE_FIRST
)

MmeasGetResultSingle(
ResultType =
M_BOX_CORNER_BOTTOM_RIGHT +
M_EDGE_FIRST
)
Measurement
Results
Item
Edge1
BoxCornerBottomRightY
Synopsis
Returns the Y-coordinate of the bottom-right corner of the search region.
[]
Syntax
[Double =] object.BoxCornerBottomRightY
[]
Syntax
[double =] object->BoxCornerBottomRightY
Type description
A double value that specifies the Y-coordinate of the bottom-right corner of the search region.
Remarks
  • The Results.Item(OccurrenceIndex).Edge1.BoxCornerBottomRightY property is used in conjunction with the Results.Item(OccurrenceIndex).Edge1.BoxCornerBottomRightX property to determine the coordinates of the bottom-right corner of the search region.
  • This property is primarily used to determine the exact location of a rotated or calibrated search region: the sequence of coordinates from (BoxCornerTopLeftX, BoxCornerTopLeftY) to (BoxCornerBottomRightX, BoxCornerBottomRightY) proceeds in a clockwise direction.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Use the Markers.Item(MarkerIndex).SearchRegion property of the Measurement control to define the search region. These properties define the search region before the search region has been rotated or the image has been calibrated.


Measurement.Results.Item.Edge1.BoxCornerTopLeftX Property

BoxCornerTopLeftX property

See Also | Availability | MIL Equivalent | BoxCornerBottomRightY | BoxCornerTopLeftY
Reference:
Measurement.Markers.Item.SearchRegion
Measurement.Results.Item.Edge1.BoxCornerTopLeftY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_BOX_CORNER_TOP_LEFT +
M_EDGE_FIRST
)

MmeasGetResultSingle(
ResultType =
M_BOX_CORNER_TOP_LEFT +
M_EDGE_FIRST
)
Measurement
Results
Item
Edge1
BoxCornerTopLeftX
Synopsis
Returns the X-coordinate of the top-left corner of the search region.
[]
Syntax
[Double =] object.BoxCornerTopLeftX
[]
Syntax
[double =] object->BoxCornerTopLeftX
Type description
A double value that specifies the X-coordinate of the top-left corner of the search region.
Remarks
  • The Results.Item(OccurrenceIndex).Edge1.BoxCornerTopLeftX property is used in conjunction with the Results.Item(OccurrenceIndex).Edge1.BoxCornerTopLeftY property to determine the coordinates of the bottom-left corner of the search region.
  • This property is primarily used to determine the exact location of a rotated or calibrated search region: the sequence of coordinates from (BoxCornerTopLeftX, BoxCornerTopLeftY) to (BoxCornerBottomRightX, BoxCornerBottomRightY) proceeds in a clockwise direction.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Use the Markers.Item(MarkerIndex).SearchRegion property of the Measurement control to define the search region. These properties define the search region before the search region has been rotated or the image has been calibrated.


Measurement.Results.Item.Edge1.BoxCornerTopLeftY Property

BoxCornerTopLeftY property

See Also | Availability | MIL Equivalent | BoxCornerTopLeftX | BoxCornerTopRightX
Reference:
Measurement.Markers.Item.SearchRegion
Measurement.Results.Item.Edge1.BoxCornerTopLeftX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_BOX_CORNER_TOP_LEFT +
M_EDGE_FIRST
)

MmeasGetResultSingle(
ResultType =
M_BOX_CORNER_TOP_LEFT +
M_EDGE_FIRST
)
Measurement
Results
Item
Edge1
BoxCornerTopLeftY
Synopsis
Returns the Y-coordinate of the top-left corner of the search region.
[]
Syntax
[Double =] object.BoxCornerTopLeftY
[]
Syntax
[double =] object->BoxCornerTopLeftY
Type description
A double value that specifies the Y-coordinate of the top-left corner of the search region.
Remarks
  • The Results.Item(OccurrenceIndex).Edge1.BoxCornerTopLeftY property is used in conjunction with the Results.Item(OccurrenceIndex).Edge1.BoxCornerTopLeftX property to determine the coordinates of the bottom-left corner of the search region.
  • This property is primarily used to determine the exact location of a rotated or calibrated search region: the sequence of coordinates from (BoxCornerTopLeftX, BoxCornerTopLeftY) to (BoxCornerBottomRightX, BoxCornerBottomRightY) proceeds in a clockwise direction.
  • Primarily used to determine the exact location of a rotated or calibrated search region: the sequence of coordinates from (BoxCornerTopLeftX, BoxCornerTopLeftY) to (BoxCornerBottomRightX,BoxCornerBottomRightY) proceeds in a clockwise direction
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Use the Markers.Item(MarkerIndex).SearchRegion property of the Measurement control to define the search region. These properties define the search region before the search region has been rotated or the image has been calibrated.


Measurement.Results.Item.Edge1.BoxCornerTopRightX Property

BoxCornerTopRightX property

See Also | Availability | MIL Equivalent | BoxCornerTopLeftY | BoxCornerTopRightY
Reference:
Measurement.Markers.Item.SearchRegion
Measurement.Results.Item.Edge1.BoxCornerTopRightY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_BOX_CORNER_TOP_RIGHT +
M_EDGE_FIRST
)

MmeasGetResultSingle(
ResultType =
M_BOX_CORNER_TOP_RIGHT +
M_EDGE_FIRST
)
Measurement
Results
Item
Edge1
BoxCornerTopRightX
Synopsis
Returns the X-coordinate of the top-right corner of the search region.
[]
Syntax
[Double =] object.BoxCornerTopRightX
[]
Syntax
[double =] object->BoxCornerTopRightX
Type description
A double value that specifies the X-coordinate of the top-right corner of the search region.
Remarks
  • The Results.Item(OccurrenceIndex).Edge1.BoxCornerTopRightX property is used in conjunction with the Results.Item(OccurrenceIndex).Edge1.BoxCornerTopRightY property to determine the coordinates of the bottom-left corner of the search region.
  • This property is primarily used to determine the exact location of a rotated or calibrated search region: the sequence of coordinates from (BoxCornerTopLeftX, BoxCornerTopLeftY) to (BoxCornerBottomRightX, BoxCornerBottomRightY) proceeds in a clockwise direction.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Use the Markers.Item(MarkerIndex).SearchRegion property of the Measurement control to define the search region. These properties define the search region before the search region has been rotated or the image has been calibrated.


Measurement.Results.Item.Edge1.BoxCornerTopRightY Property

BoxCornerTopRightY property

See Also | Availability | MIL Equivalent | BoxCornerTopRightX | Contrast
Reference:
Measurement.Markers.Item.SearchRegion
Measurement.Results.Item.Edge1.BoxCornerTopRightX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_BOX_CORNER_TOP_RIGHT +
M_EDGE_FIRST
)

MmeasGetResultSingle(
ResultType =
M_BOX_CORNER_TOP_RIGHT +
M_EDGE_FIRST
)
Measurement
Results
Item
Edge1
BoxCornerTopRightY
Synopsis
Returns the Y-coordinate of the top-right corner of the search region.
[]
Syntax
[Double =] object.BoxCornerTopRightY
[]
Syntax
[double =] object->BoxCornerTopRightY
Type description
A double value that specifies the Y-coordinate of the top-right corner of the search region.
Remarks
  • The Results.Item(OccurrenceIndex).Edge1.BoxCornerTopRightY property is used in conjunction with the Results.Item(OccurrenceIndex).Edge1.BoxCornerTopRightX property to determine the coordinates of the bottom-left corner of the search region.
  • This property is primarily used to determine the exact location of a rotated or calibrated search region: the sequence of coordinates from (BoxCornerTopLeftX, BoxCornerTopLeftY) to (BoxCornerBottomRightX, BoxCornerBottomRightY) proceeds in a clockwise direction.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Use the Markers.Item(MarkerIndex).SearchRegion property of the Measurement control to define the search region. These properties define the search region before the search region has been rotated or the image has been calibrated.


Measurement.Results.Item.Edge1.Contrast Property

Contrast property

See Also | Availability | MIL Equivalent | BoxCornerTopRightY | EdgeStrength
Reference:
Measurement.MeasurementList.Contrast
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult (
ResultType =
M_EDGE_FIRST +
M_CONTRAST
)

MmeasGetResultSingle(
ResultType =
M_EDGE_FIRST +
M_CONTRAST
)
Measurement
Results
Item
Edge1
Contrast
Synopsis
Returns the contrast of the first edge of the occurrence of the stripe marker.
[]
Syntax
[Double =] object.Contrast
[]
Syntax
[double =] object->Contrast
Type description
A double value that returns the contrast of the first edge.
Remarks
  • Results are obtained from the last call to the FindMarker method.
  • The contrast is the typical difference in average grayscale values between the start and end of intensity transition (edge width) from which an edge is established.


Measurement.Results.Item.Edge1.EdgeStrength Property

EdgeStrength property

See Also | Availability | MIL Equivalent | Contrast | LineEquationIntercept
Reference:
Measurement.MeasurementList.EdgeStrength
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_EDGE_FIRST +
M_EDGE_STRENGTH
)

MmeasGetResultSingle(
ResultType =
M_EDGE_FIRST +
M_EDGE_STRENGTH
)
Measurement
Results
Item
Edge1
EdgeStrength
Synopsis
Returns the edge strength of the first edge of the occurrence of the stripe marker.
[]
Syntax
[Double =] object.EdgeStrength
[]
Syntax
[double =] object->EdgeStrength
Type description
A double value that returns the edge strength of the frist edge.
Remarks
  • Results are obtained from the last call to the FindMarker method.
  • The edge strength is the minimum/maximum edge value along the edge width (depending on the polarity of the edge).
  • The value is represented as a percentage of the image's maximum pixel value. For example, in an 8-bit image the maximum possible pixel value is 255. Therefore, a 50% edge strength in this image represents a maximum edge value of 128 and a rising edge.


Measurement.Results.Item.Edge1.LineEquationIntercept Property

LineEquationIntercept property

See Also | Availability | MIL Equivalent | EdgeStrength | LineEquationSlope
Reference:
Measurement.MeasurementList.LineEquation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_EDGE_FIRST +
M_ LINE_EQUATION_INTERCEPT
)

MmeasGetResultSingle(
ResultType =
M_EDGE_FIRST +
M_ LINE_EQUATION_INTERCEPT
)
Measurement
Results
Item
Edge1
LineEquationIntercept
Synopsis
Returns the Y-intercept of the line equation of the first edge of the occurrence of the stripe marker, or the line equation joining the first edge of the occurrence of the first stripe marker with the first edge of the corresponding occurrence of the second stripe marker.
[]
Syntax
[Double =] object.LineEquationIntercept
[]
Syntax
[double =] object->LineEquationIntercept
Type description
A double value that returns the Y-intercept of the line equation.
Remarks
  • Results are obtained from the last call to the Calculate or FindMarker method.
  • If the FindMarker method was called, the Y-intercept of the line equation of the first edge of the occurrence of the stripe marker is returned.
  • If the Calculate method was called, this property returns the Y-intercept of the line equation joining the first edge of the occurrence of the first stripe marker with the first edge of the corresponding occurrence of the second stripe marker. Calculations are made using the first edges of the first stripe marker and the corresponding first edges of the second stripe marker, for the entire first stripe marker's number of first edges. The number of calculations performed is limited to the smallest number of occurrences held in either stripe marker (that is, if a stripe marker only contains one first edge, then only one calculation is performed, regardless of the number of first edges contained in the other stripe marker).


Measurement.Results.Item.Edge1.LineEquationSlope Property

LineEquationSlope property

See Also | Availability | MIL Equivalent | LineEquationIntercept | MaximumPositionX
Reference:
Measurement.MeasurementList.LineEquation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_EDGE_FIRST +
M_LINE_EQUATION_SLOPE
)

MmeasGetResultSingle(
ResultType =
M_EDGE_FIRST +
M_LINE_EQUATION_SLOPE
)
Measurement
Results
Item
Edge1
LineEquationSlope
Synopsis
Returns the slope of the line equation of the first edge of the occurrence of the stripe marker, or the line equation joining the first edge of the occurrence of the first stripe marker with the first edge of the corresponding occurrence of the second stripe marker.
[]
Syntax
[Double =] object.LineEquationSlope
[]
Syntax
[double =] object->LineEquationSlope
Type description
A double value that returns the slope of the line equation of the first edge.
Remarks
  • Results are obtained from the last call to the Calculate or FindMarker method.
  • If the FindMarker method was called, the slope of the line equation of the first edge of the occurrence of the stripe marker is returned.
  • If the Calculate method was called, this property returns the slope of the line equation joining the first edge of the occurrence of the first stripe marker with the first edge of the corresponding occurrence of the second stripe marker. Calculations are made using the first edges of the first stripe marker and the corresponding first edges of the second marker, for the entire first stripe marker's number of first edges. The number of calculations performed is limited to the smallest number of occurrences held in either stripe marker (that is, if a stripe marker only contains one first edge, then only one calculation is performed, regardless of the number of first edges contained in the other stripe marker).
  • If the equation of the line has an infinite slope, the value returned as the slope is measInfiniteSlope.


Measurement.Results.Item.Edge1.MaximumPositionX Property

MaximumPositionX property

See Also | Availability | MIL Equivalent | LineEquationSlope | MaximumPositionY
Reference:
Measurement.MeasurementList.MaximumPosition
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_EDGE_FIRST +
M_POSITION_MAX
)

MmeasGetResultSingle(
ResultType =
M_EDGE_FIRST +
M_POSITION_MAX
)
Measurement
Results
Item
Edge1
MaximumPositionX
Synopsis
Returns the X-coordinate of the maximum position of the first edge of the occurrence of the stripe marker.
[]
Syntax
[Double =] object.MaximumPositionX
[]
Syntax
[double =] object->MaximumPositionX
Type description
A double value that returns the maximum X-coordinate of the edge.
Remarks
  • The maximum position determines the X and Y-coordinates of the maximum position of the edge.
  • The X-coordinate is the maximum position within the edge width from which an edge is established. The Y-coordinate is the Y-coordinate of the search region center. The maximum position is always on the side of the search region furthest from the origin, regardless of how the search region is rotated. The diagram below illustrates an edge transion curve (a profile of gradual transition from dark to light) and a search region.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Results are obtained from the last call to the FindMarker method.


Measurement.Results.Item.Edge1.MaximumPositionY Property

MaximumPositionY property

See Also | Availability | MIL Equivalent | MaximumPositionX | MinimumPositionX
Reference:
Measurement.MeasurementList.MaximumPosition
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_EDGE_FIRST +
M_POSITION_MAX
)

MmeasGetResultSingle(
ResultType =
M_EDGE_FIRST +
M_POSITION_MAX
)
Measurement
Results
Item
Edge1
MaximumPositionY
Synopsis
Returns the Y-coordinate of the maximum position of the first edge of the occurrence of the stripe marker.
[]
Syntax
[Double =] object.MaximumPositionY
[]
Syntax
[double =] object->MaximumPositionY
Type description
A double value that returns the maximum Y-coordinate of the edge.
Remarks
  • The maximum position determines the X and Y-coordinates of the maximum position of the edge.
  • The X-coordinate is the maximum position within the edge width from which an edge is established. The Y-coordinate is the Y-coordinate of the search region center. The maximum position is always on the side of the search region furthest from the origin, regardless of how the search region is rotated. The diagram below illustrates an edge transion curve (a profile of gradual transition from dark to light) and a search region.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Results are obtained from the last call to the FindMarker method.


Measurement.Results.Item.Edge1.MinimumPositionX Property

MinimumPositionX property

See Also | Availability | MIL Equivalent | MaximumPositionY | MinimumPositionY
Reference:
Measurement.MeasurementList.MinimumPosition
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
EDGE_FIRST +
M_POSITION_MIN
)

MmeasGetResultSingle(
ResultType =
EDGE_FIRST +
M_POSITION_MIN
)
Measurement
Results
Item
Edge1
MinimumPositionX
Synopsis
Returns the X-coordinate of the minimum position of the first edge of the occurrence of the stripe marker.
[]
Syntax
[Double =] object.MinimumPositionX
[]
Syntax
[double =] object->MinimumPositionX
Type description
A double value that returns the minimum X-coordinate of the edge.
Remarks
  • The minmum position determines the X and Y-coordinates of the minimum position of the edge.
  • The X-coordinate is the minimum position within the edge width from which an edge is established. The Y-coordinate is the Y-coordinate of the search region center. The minimum position is always on the side of the search region adjacent the origin, regardless of how the search region is rotated. The diagram below illustrates an edge transion curve (a profile of gradual transition from dark to light) and a search region.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Results are obtained from the last call to the FindMarker method.


Measurement.Results.Item.Edge1.MinimumPositionY Property

MinimumPositionY property

See Also | Availability | MIL Equivalent | MinimumPositionX | Polarity
Reference:
Measurement.MeasurementList.MinimumPosition
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
EDGE_FIRST +
M_POSITION_MIN
)

MmeasGetResultSingle(
ResultType =
EDGE_FIRST +
M_POSITION_MIN
)
Measurement
Results
Item
Edge1
MinimumPositionY
Synopsis
Returns the Y-coordinate of the minimum position of the first edge of the occurrence of the stripe marker.
[]
Syntax
[Double =] object.MinimumPositionY
[]
Syntax
[double =] object->MinimumPositionY
Type description
A double value that returns the minimum Y-coordinate of the edge.
Remarks
  • The minmum position determines the X and Y-coordinates of the minimum position of the edge.
  • The X-coordinate is the minimum position within the edge width from which an edge is established. The Y-coordinate is the Y-coordinate of the search region center. The minimum position is always on the side of the search region adjacent the origin, regardless of how the search region is rotated. The diagram below illustrates an edge transion curve (a profile of gradual transition from dark to light) and a search region.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Results are obtained from the last call to the FindMarker method.


Measurement.Results.Item.Edge1.Polarity Property

Polarity property

See Also | Availability | MIL Equivalent | MinimumPositionY | PositionVariation
Reference:
Measurement.MeasurementList.Polarity
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
EDGE_FIRST +
M_POLARITY
)

MmeasGetResultSingle(
ResultType =
EDGE_FIRST +
M_POLARITY
)
Measurement
Results
Item
Edge1
Polarity
Synopsis
Returns the polarity of the first edge of the occurrence of the stripe marker.
[]
Syntax
[MeasMarkerPolarityConstants =] object.Polarity
[]
Syntax
[enum MeasMarkerPolarityConstants =] object->Polarity
Type description
A MeasMarkerPolarityConstants expression which returns the polarity of the edge.
Value | Meaning
measNegative | The polarity is negative.
measPositive | The polarity is positive.
Remark
  • Results are obtained from the last call to the FindMarker method.


Measurement.Results.Item.Edge1.PositionVariation Property

PositionVariation property

See Also | Availability | MIL Equivalent | Polarity | PositionX
Reference:
Measurement.MeasurementList.PositionVariation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
EDGE_FIRST +
M_POSITION_VARIATION
)

MmeasGetResultSingle(
ResultType =
EDGE_FIRST +
M_POSITION_VARIATION
)
Measurement
Results
Item
Edge1
PositionVariation
Synopsis
Returns the position variation of the first edge of the occurrence of the stripe marker.
[]
Syntax
[Double =] object.PositionVariation
[]
Syntax
[double =] object->PositionVariation
Type description
A double value that returns the position variation (+/-) of the edge.
Remarks
  • Results are obtained from the last call to the FindMarker method.
  • The position variation is equal to half its edge width.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.


Measurement.Results.Item.Edge1.PositionX Property

PositionX property

See Also | Availability | MIL Equivalent | PositionVariation | PositionY
Reference:
Measurement.MeasurementList.Position
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_EDGE_FIRST +
M_POSITION
)

MmeasGetResultSingle(
ResultType =
M_EDGE_FIRST +
M_POSITION
)
Measurement
Results
Item
Edge1
PositionX
Synopsis
Returns the X-coordinate of the first edge of the occurrence of the stripe marker.
[]
Syntax
[Double =] object.PositionX
[]
Syntax
[double =] object->PositionX
Type description
A double value that returns the X-coordinate of the edge's position.
Remarks
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Results are obtained from the last call to the FindMarker method.


Measurement.Results.Item.Edge1.PositionY Property

PositionY property

See Also | Availability | MIL Equivalent | PositionX | Width
Reference:
Measurement.MeasurementList.Position
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_EDGE_FIRST +
M_POSITION
)

MmeasGetResultSingle(
ResultType =
M_EDGE_FIRST +
M_POSITION
)
Measurement
Results
Item
Edge1
PositionY
Synopsis
Returns the Y-coordinate of the first edge of the occurrence of the stripe marker.
[]
Syntax
[Double =] object.PositionY
[]
Syntax
[double =] object->PositionY
Type description
A double value that returns the Y-coordinate of the edge's position.
Remarks
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Results are obtained from the last call to the FindMarker method.


Measurement.Results.Item.Edge1.Width Property

Width property

See Also | Availability | MIL Equivalent | PositionY | Draw
Reference:
Measurement.MeasurementList.Width
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult (
ResultType =
M_EDGE_FIRST +
M_WIDTH
)

MmeasGetResultSingle(
ResultType =
M_EDGE_FIRST +
M_WIDTH
)
Measurement
Results
Item
Edge1
Width
Synopsis
Returns the edge width of the first edge of the occurrence of the stripe marker.
[]
Syntax
[Double =] object.Width
[]
Syntax
[double =] object->Width
Type description
A double value that specifies the edge width of the first edge.
Remarks
  • Results are obtained from the last call to the FindMarker method.
  • The edge width of an edge is a measure of the transition in grayscale values from which the edge is established.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associted Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.


Measurement.Results.Item.Edge1.Draw Method

Draw method

See Also | Availability | MIL Equivalent | Width
User Guide:
Steps to finding and obtaining measurements of markers

Reference:
Measurement.Markers.Item.Draw
Measurement.Results.Item.Draw
Measurement.Results.Item.Edge2.Draw
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox CronosPlus
Fully supported on Matrox Corona-II
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Orion
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
MmeasDraw(
Operation+M_EDGE_FIRST
ControlFlag =
M_RESULT
)
Measurement
Results
Item
Edge1
Draw
Synopsis
Draws specific features of the first edge of the occurrence of the stripe marker, in the destination image.
[]
Syntax
object.Draw(
ByVal ImageOrGraphicContext As Object,
ByVal Operation As MeasDrawOperationConstants
)
[]
Syntax
void object->Draw(
IDispatch * ImageOrGraphicContext,
enum MeasDrawOperationConstants Operation
)
ImageOrGraphicContext
An Image control that specifies the image into which to draw, or a GraphicContext control that specifies the graphic context and image to use to draw features.
Operation
A MeasDrawOperationConstants expression that specifies the features to draw.
Value | Meaning
measDrawPosition | Draws a cross at the occurrence's first edge position. The cross is drawn maintaining the angle of the marker.
measDrawEdgesProfile | Draws the search region's edge profile.

The following value can be added to measDrawEdgesProfile:
Value | Meaning
measDrawInRegion | Draws the edge profile of the search region, according to its angle and position.
Remarks
  • measDrawEdgesProfile is not available following a call to the Measurement.Calculate method.
  • When setting the ImageOrGraphicContext parameter to a GraphicContext control, the image associated with the control is used as the destination image.
  • When using this method to draw features in calibrated images, the Draw method draws all the requested features according to whether the destination image is physically corrected or not.
  • You can also choose to draw in a display's overlay image. By drawing into a display's overlay image, you can annotate an image non-destructively.
Remark for Matrox Odyssey XA
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the Measurement control. If not, an error will occur.
Remark for Matrox Odyssey XCL
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the Measurement control. If not, an error will occur.
Remark for Matrox Odyssey XD
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the Measurement control. If not, an error will occur.


Measurement.Results.Item.Edge2 Property

Edge2 property

Availability | MIL Equivalent | Edge1 | EdgeInside
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_EDGE_SECOND +
(M_ ANGLE or
M_BOX_CORNER_BOTTOM_LEFT or
M_BOX_CORNER_BOTTOM_RIGHT or
M_BOX_CORNER_TOP_LEFT or
M_BOX_CORNER_TOP_RIGHT or
M_CONTRAST or
M_EDGE_STRENGTH or
M_LINE_EQUATION_INTERCEPT or
M_LINE_EQUATION_SLOPE or
M_POSITION_MAX or
M_POSITION_MIN or
M_POLARITY or
M_POSITION_VARIATION or
M_POSITION)
)

MmeasGetResultSingle(
ResultType =
same values as above
)
Measurement
Results
Item
Edge2
Properties: Angle, BoxCornerBottomLeftX, BoxCornerBottomLeftY, BoxCornerBottomRightX, BoxCornerBottomRightY, BoxCornerTopLeftX, BoxCornerTopLeftY, BoxCornerTopRightX, BoxCornerTopRightY, Contrast, EdgeStrength, LineEquationIntercept, LineEquationSlope, MaximumPositionX, MaximumPositionY, MinimumPositionX, MinimumPositionY, Polarity, PositionVariation, PositionX, PositionY, Width

Method: Draw
Synopsis
Returns the measurement results for the second edge of the occurrence of the stripe marker.
[]
Syntax
[MeasurementEdgeResult =] object.Edge2
[]
Syntax
[IMeasurementEdgeResultPtr =] object->Edge2
Type description
A MeasurementEdgeResult object.
Remarks
  • This property applies only to stripe markers.
  • Results are obtained from the last call to the FindMarker method.


Measurement.Results.Item.Edge2.Angle Property

Angle property

See Also | Availability | MIL Equivalent | BoxCornerBottomLeftX
Reference:
Measurement.MeasurementList.Angle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_EDGE_SECOND +
M_ ANGLE
)

MmeasGetResultSingle(
ResultType =
M_EDGE_SECOND +
M_ ANGLE
)
Measurement
Results
Item
Edge2
Angle
Synopsis
Returns the angle of the second edge of the occurrence of the stripe marker or the angle of the line joining the second edge of the occurrence of the first stripe marker with the second edge of the corresponding occurrence of the second stripe marker.
[]
Syntax
[Double =] object.Angle
[]
Syntax
[double =] object->Angle
Type description
A double value that returns the angle of the second edge, in degrees.
Remarks
  • Results are obtained from the last call to the FindMarker or Calculate method.
  • The result value can be any between 0º and 360º.
  • If the FindMarker method was called, the angle of the occurrence of the stripe marker, relative to the positive X-axis, is returned.
  • If the Calculate method was called, this property returns the angle of the line joining the reference position of the second edge of the occurrence of the first stripe marker with the reference position of the second edge of the corresponding occurrence of the second stripe marker, relative to the positive X-axis. Calculations are made using the second edge of the first stripe marker and the corresponding second edge of the second stripe marker, for the entire first stripe marker's number of second edges. The number of calculations performed is limited to the smallest number of occurrences held in either stripe marker (that is, if a stripe marker only contains one second edge, then only one calculation is performed, regardless of the number of second edges contained in the other stripe marker).


Measurement.Results.Item.Edge2.BoxCornerBottomLeftX Property

BoxCornerBottomLeftX property

See Also | Availability | MIL Equivalent | Angle | BoxCornerBottomLeftY
Reference:
Measurement.Markers.Item.SearchRegion
Measurement.Results.Item.Edge2.BoxCornerBottomLeftY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_BOX_CORNER_BOTTOM_LEFT +
M_EDGE_SECOND
)

MmeasGetResultSingle(
ResultType =
M_BOX_CORNER_BOTTOM_LEFT +
M_EDGE_SECOND
)
Measurement
Results
Item
Edge2
BoxCornerBottomLeftX
Synopsis
Returns the X-coordinate of the bottom-left corner of the search region.
[]
Syntax
[Double =] object.BoxCornerBottomLeftX
[]
Syntax
[double =] object->BoxCornerBottomLeftX
Type description
A double value that specifies the X-coordinate of the bottom-left corner of the search region.
Remarks
  • The Results.Item(OccurrenceIndex).Edge2.BoxCornerBottomLeftX property is used in conjunction with the Results.Item(OccurrenceIndex).Edge2.BoxCornerBottomLeftY property to determine the coordinates of the bottom-left corner of the search region.
  • This property is primarily used to determine the exact location of a rotated or calibrated search region: the sequence of coordinates from (BoxCornerTopLeftX, BoxCornerTopLeftY) to (BoxCornerBottomRightX, BoxCornerBottomRightY) proceeds in a clockwise direction.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Use the Markers.Item(MarkerIndex).SearchRegion property of the Measurement control to define the search region. These properties define the search region before the search region has been rotated or the image has been calibrated.


Measurement.Results.Item.Edge2.BoxCornerBottomLeftY Property

BoxCornerBottomLeftY property

See Also | Availability | MIL Equivalent | BoxCornerBottomLeftX | BoxCornerBottomRightX
Reference:
Measurement.Markers.Item.SearchRegion
Measurement.Results.Item.Edge2.BoxCornerBottomLeftX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_BOX_CORNER_BOTTOM_LEFT +
M_EDGE_SECOND
)

MmeasGetResultSingle(
ResultType =
M_BOX_CORNER_BOTTOM_LEFT +
M_EDGE_SECOND
)
Measurement
Results
Item
Edge2
BoxCornerBottomLeftY
Synopsis
Returns the Y-coordinate of the bottom-left corner of the search region.
[]
Syntax
[Double =] object.BoxCornerBottomLeftY
[]
Syntax
[double =] object->BoxCornerBottomLeftY
Type description
A double value that specifies the Y-coordinate of the bottom-left corner of the search region.
Remarks
  • The Results.Item(OccurrenceIndex).Edge2.BoxCornerBottomLeftY property is used in conjunction with the Results.Item(OccurrenceIndex).Edge2.BoxCornerBottomLeftX property to determine the coordinates of the bottom-left corner of the search region.
  • This property is primarily used to determine the exact location of a rotated or calibrated search region: the sequence of coordinates from (BoxCornerTopLeftX, BoxCornerTopLeftY) to (BoxCornerBottomRightX, BoxCornerBottomRightY) proceeds in a clockwise direction.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Use the Markers.Item(MarkerIndex).SearchRegion property of the Measurement control to define the search region. These properties define the search region before the search region has been rotated or the image has been calibrated.


Measurement.Results.Item.Edge2.BoxCornerBottomRightX Property

BoxCornerBottomRightX property

See Also | Availability | MIL Equivalent | BoxCornerBottomLeftY | BoxCornerBottomRightY
Reference:
Measurement.Markers.Item.SearchRegion
Measurement.Results.Item.Edge2.BoxCornerBottomRightY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_BOX_CORNER_BOTTOM_RIGHT +
M_EDGE_SECOND
)

MmeasGetResultSingle(
ResultType =
M_BOX_CORNER_BOTTOM_RIGHT +
M_EDGE_SECOND
)
Measurement
Results
Item
Edge2
BoxCornerBottomRightX
Synopsis
Returns the Y-coordinate of the bottom-right corner of the search region.
[]
Syntax
[Double =] object.BoxCornerBottomRightX
[]
Syntax
[double =] object->BoxCornerBottomRightX
Type description
A double value that specifies the X-coordinate of the bottom-right corner of the search region.
Remarks
  • The Results.Item(OccurrenceIndex).Edge2.BoxCornerBottomRightX property is used in conjunction with the Results.Item(OccurrenceIndex).Edge2.BoxCornerBottomRightY property to determine the coordinates of the bottom-right corner of the search region.
  • This property is primarily used to determine the exact location of a rotated or calibrated search region: the sequence of coordinates from (BoxCornerTopLeftX, BoxCornerTopLeftY) to (BoxCornerBottomRightX, BoxCornerBottomRightY) proceeds in a clockwise direction.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Use the Markers.Item(MarkerIndex).SearchRegion property of the Measurement control to define the search region. These properties define the search region before the search region has been rotated or the image has been calibrated.


Measurement.Results.Item.Edge2.BoxCornerBottomRightY Property

BoxCornerBottomRightY property

See Also | Availability | MIL Equivalent | BoxCornerBottomRightX | BoxCornerTopLeftX
Reference:
Measurement.Markers.Item.SearchRegion
Measurement.Results.Item.Edge2.BoxCornerBottomRightX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_BOX_CORNER_BOTTOM_RIGHT +
M_EDGE_SECOND
)

MmeasGetResultSingle(
ResultType =
M_BOX_CORNER_BOTTOM_RIGHT +
M_EDGE_SECOND
)
Measurement
Results
Item
Edge2
BoxCornerBottomRightY
Synopsis
Returns the Y-coordinate of the bottom-right corner of the search region.
[]
Syntax
[Double =] object.BoxCornerBottomRightY
[]
Syntax
[double =] object->BoxCornerBottomRightY
Type description
A double value that specifies the Y-coordinate of the bottom-right corner of the search region.
Remarks
  • The Results.Item(OccurrenceIndex).Edge2.BoxCornerBottomRightY property is used in conjunction with the Results.Item(OccurrenceIndex).Edge2.BoxCornerBottomRightX property to determine the coordinates of the bottom-right corner of the search region.
  • This property is primarily used to determine the exact location of a rotated or calibrated search region: the sequence of coordinates from (BoxCornerTopLeftX, BoxCornerTopLeftY) to (BoxCornerBottomRightX, BoxCornerBottomRightY) proceeds in a clockwise direction.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Use the Markers.Item(MarkerIndex).SearchRegion property of the Measurement control to define the search region. These properties define the search region before the search region has been rotated or the image has been calibrated.


Measurement.Results.Item.Edge2.BoxCornerTopLeftX Property

BoxCornerTopLeftX property

See Also | Availability | MIL Equivalent | BoxCornerBottomRightY | BoxCornerTopLeftY
Reference:
Measurement.Markers.Item.SearchRegion
Measurement.Results.Item.Edge2.BoxCornerTopLeftY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_BOX_CORNER_TOP_LEFT +
M_EDGE_SECOND
)

MmeasGetResultSingle(
ResultType =
M_BOX_CORNER_TOP_LEFT +
M_EDGE_SECOND
)
Measurement
Results
Item
Edge2
BoxCornerTopLeftX
Synopsis
Returns the X-coordinate of the top-left corner of the search region.
[]
Syntax
[Double =] object.BoxCornerTopLeftX
[]
Syntax
[double =] object->BoxCornerTopLeftX
Type description
A double value that specifies the X-coordinate of the top-left corner of the search region.
Remarks
  • The Results.Item(OccurrenceIndex).Edge2.BoxCornerTopLeftX property is used in conjunction with the Results.Item(OccurrenceIndex).Edge2.BoxCornerTopLeftY property to determine the coordinates of the bottom-left corner of the search region.
  • This property is primarily used to determine the exact location of a rotated or calibrated search region: the sequence of coordinates from (BoxCornerTopLeftX, BoxCornerTopLeftY) to (BoxCornerBottomRightX, BoxCornerBottomRightY) proceeds in a clockwise direction.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Use the Markers.Item(MarkerIndex).SearchRegion property of the Measurement control to define the search region. These properties define the search region before the search region has been rotated or the image has been calibrated.


Measurement.Results.Item.Edge2.BoxCornerTopLeftY Property

BoxCornerTopLeftY property

See Also | Availability | MIL Equivalent | BoxCornerTopLeftX | BoxCornerTopRightX
Reference:
Measurement.Markers.Item.SearchRegion
Measurement.Results.Item.Edge2.BoxCornerTopLeftX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_BOX_CORNER_TOP_LEFT +
M_EDGE_SECOND
)

MmeasGetResultSingle(
ResultType =
M_BOX_CORNER_TOP_LEFT +
M_EDGE_SECOND
)
Measurement
Results
Item
Edge2
BoxCornerTopLeftY
Synopsis
Returns the Y-coordinate of the top-left corner of the search region.
[]
Syntax
[Double =] object.BoxCornerTopLeftY
[]
Syntax
[double =] object->BoxCornerTopLeftY
Type description
A double value that specifies the Y-coordinate of the top-left corner of the search region.
Remarks
  • The Results.Item(OccurrenceIndex).Edge2.BoxCornerTopLeftY property is used in conjunction with the Results.Item(OccurrenceIndex).Edge2.BoxCornerTopLeftX property to determine the coordinates of the bottom-left corner of the search region.
  • This property is primarily used to determine the exact location of a rotated or calibrated search region: the sequence of coordinates from (BoxCornerTopLeftX, BoxCornerTopLeftY) to (BoxCornerBottomRightX, BoxCornerBottomRightY) proceeds in a clockwise direction.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Use the Markers.Item(MarkerIndex).SearchRegion property of the Measurement control to define the search region. These properties define the search region before the search region has been rotated or the image has been calibrated.


Measurement.Results.Item.Edge2.BoxCornerTopRightX Property

BoxCornerTopRightX property

See Also | Availability | MIL Equivalent | BoxCornerTopLeftY | BoxCornerTopRightY
Reference:
Measurement.Markers.Item.SearchRegion
Measurement.Results.Item.Edge2.BoxCornerTopRightY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_BOX_CORNER_TOP_RIGHT +
M_EDGE_SECOND
)

MmeasGetResultSingle(
ResultType =
M_BOX_CORNER_TOP_RIGHT +
M_EDGE_SECOND
)
Measurement
Results
Item
Edge2
BoxCornerTopRightX
Synopsis
Returns the X-coordinate of the top-right corner of the search region.
[]
Syntax
[Double =] object.BoxCornerTopRightX
[]
Syntax
[double =] object->BoxCornerTopRightX
Type description
A double value that specifies the X-coordinate of the top-right corner of the search region.
Remarks
  • The Results.Item(OccurrenceIndex).Edge2.BoxCornerTopRightX property is used in conjunction with the Results.Item(OccurrenceIndex).Edge2.BoxCornerTopRightY property to determine the coordinates of the bottom-left corner of the search region.
  • This property is primarily used to determine the exact location of a rotated or calibrated search region: the sequence of coordinates from (BoxCornerTopLeftX, BoxCornerTopLeftY) to (BoxCornerBottomRightX, BoxCornerBottomRightY) proceeds in a clockwise direction.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Use the Markers.Item(MarkerIndex).SearchRegion property of the Measurement control to define the search region. These properties define the search region before the search region has been rotated or the image has been calibrated.


Measurement.Results.Item.Edge2.BoxCornerTopRightY Property

BoxCornerTopRightY property

See Also | Availability | MIL Equivalent | BoxCornerTopRightX | Contrast
Reference:
Measurement.Markers.Item.SearchRegion
Measurement.Results.Item.Edge2.BoxCornerTopRightX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_BOX_CORNER_TOP_RIGHT +
M_EDGE_SECOND
)

MmeasGetResultSingle(
ResultType =
M_BOX_CORNER_TOP_RIGHT +
M_EDGE_SECOND
)
Measurement
Results
Item
Edge2
BoxCornerTopRightY
Synopsis
Returns the Y-coordinate of the top-right corner of the search region.
[]
Syntax
[Double =] object.BoxCornerTopRightY
[]
Syntax
[double =] object->BoxCornerTopRightY
Type description
A double value that specifies the Y-coordinate of the top-right corner of the search region.
Remarks
  • The Results.Item(OccurrenceIndex).Edge2.BoxCornerTopRightY property is used in conjunction with the Results.Item(OccurrenceIndex).Edge2.BoxCornerTopRightX property to determine the coordinates of the bottom-left corner of the search region.
  • This property is primarily used to determine the exact location of a rotated or calibrated search region: the sequence of coordinates from (BoxCornerTopLeftX, BoxCornerTopLeftY) to (BoxCornerBottomRightX, BoxCornerBottomRightY) proceeds in a clockwise direction.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Use the Markers.Item(MarkerIndex).SearchRegion property of the Measurement control to define the search region. These properties define the search region before the search region has been rotated or the image has been calibrated.


Measurement.Results.Item.Edge2.Contrast Property

Contrast property

See Also | Availability | MIL Equivalent | BoxCornerTopRightY | EdgeStrength
Reference:
Measurement.MeasurementList.Contrast
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_EDGE_SECOND +
M_CONTRAST
)

MmeasGetResultsingle(
ResultType =
M_EDGE_SECOND +
M_CONTRAST
)
Measurement
Results
Item
Edge2
Contrast
Synopsis
Returns the contrast of the second edge of the occurrence of the stripe marker.
[]
Syntax
[Double =] object.Contrast
[]
Syntax
[double =] object->Contrast
Type description
A double value that returns the contrast of the second edge.
Remarks
  • Results are obtained from the last call to the FindMarker method.
  • The contrast is the typical difference in average grayscale values between the start and end of intensity transition (edge width) from which an edge is established.


Measurement.Results.Item.Edge2.EdgeStrength Property

EdgeStrength property

See Also | Availability | MIL Equivalent | Contrast | LineEquationIntercept
Reference:
Measurement.MeasurementList.EdgeStrength
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_EDGE_SECOND +
M_EDGE_STRENGTH
)

MmeasGetResultSingle(
ResultType =
M_EDGE_SECOND +
M_EDGE_STRENGTH
)
Measurement
Results
Item
Edge2
EdgeStrength
Synopsis
Returns the edge strength of the second edge of the occurrence of the stripe marker.
[]
Syntax
[Double =] object.EdgeStrength
[]
Syntax
[double =] object->EdgeStrength
Type description
A double value that returns the edge strength of the second edge.
Remarks
  • Results are obtained from the last call to the FindMarker method.
  • The edge strength is the minimum/maximum edge value along the edge width (depending on the polarity of the edge).
  • The value is represented as a percentage of the image's maximum pixel value. For example, in an 8-bit image the maximum possible pixel value is 255. Therefore, a 50% edge strength in this image represents a maximum edge value of 128 and a rising edge.


Measurement.Results.Item.Edge2.LineEquationIntercept Property

LineEquationIntercept property

See Also | Availability | MIL Equivalent | EdgeStrength | LineEquationSlope
Reference:
Measurement.MeasurementList.LineEquation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_EDGE_SECOND +
M_LINE_EQUATION_INTERCEPT
)

MmeasGetResultSingle(
ResultType =
M_EDGE_SECOND +
M_LINE_EQUATION_INTERCEPT
)
Measurement
Results
Item
Edge2
LineEquationIntercept
Synopsis
Returns the Y-intercept of the line equation of the second edge of the occurrence of the stripe marker, or the line equation joining the second edge of the occurrence of the first stripe marker with the second edge of the corresponding occurrence of the second stripe marker.
[]
Syntax
[Double =] object.LineEquationIntercept
[]
Syntax
[double =] object->LineEquationIntercept
Type description
A double value that returns the Y-intercept of the line equation.
Remarks
  • Results are obtained from the last call to the Calculate or FindMarker method.
  • If the FindMarker method was called, the Y-intercept of the line equation of the second edge of the occurrence of the stripe marker is returned.
  • If the Calculate method was called, this property returns the Y-intercept of the line equation joining the second edge of the occurrence of the first stripe marker with the second edge of the corresponding occurrence of the second stripe marker. Calculations are made using the second edges of the first stripe marker and the corresponding second edges of the second stripe marker, for the entire first stripe marker's number of second edges. The number of calculations performed is limited to the smallest number of occurrences held in either stripe marker (that is, if a stripe marker only contains one second edge, then only one calculation is performed, regardless of the number of second edges contained in the other stripe marker).


Measurement.Results.Item.Edge2.LineEquationSlope Property

LineEquationSlope property

See Also | Availability | MIL Equivalent | LineEquationIntercept | MaximumPositionX
Reference:
Measurement.MeasurementList.LineEquation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_EDGE_SECOND +
M_LINE_EQUATION_SLOPE
)

MmeasGetResultSingle(
ResultType =
M_EDGE_SECOND +
M_LINE_EQUATION_SLOPE
)
Measurement
Results
Item
Edge2
LineEquationSlope
Synopsis
Returns the slope of the line equation of the second edge of the occurrence of the stripe marker, or the line equation joining the second edge of the occurrence of the first stripe marker with the second edge of the corresponding occurrence of the second stripe marker.
[]
Syntax
[Double =] object.LineEquationSlope
[]
Syntax
[double =] object->LineEquationSlope
Type description
A double value that returns the slope of the line equation of the second edge.
Remarks
  • Results are obtained from the last call to the Calculate or FindMarker method.
  • If the FindMarker method was called, the slope of the line equation of the second edge of the occurrence of the stripe marker is returned.
  • If the Calculate method was called, this property returns the slope of the line equation joining the second edge of the occurrence of the first stripe marker with the second edge of the corresponding occurrence of the second stripe marker. Calculations are made using the second edges of the first stripe marker and the corresponding second edges of the second stripe marker, for the entire first stripe marker's number of second edges. The number of calculations performed is limited to the smallest number of occurrences held in either stripe marker (that is, if a stripe marker only contains one second edge, then only one calculation is performed, regardless of the number of second edges contained in the other stripe marker).
  • If the equation of the line has an infinite slope, the value returned as the slope is measInfiniteSlope.


Measurement.Results.Item.Edge2.MaximumPositionX Property

MaximumPositionX property

See Also | Availability | MIL Equivalent | LineEquationSlope | MaximumPositionY
Reference:
Measurement.MeasurementList.MaximumPosition
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_EDGE_SECOND +
M_POSITION_MAX
)

MmeasGetResultSingle(
ResultType =
M_EDGE_SECOND +
M_POSITION_MAX
)
Measurement
Results
Item
Edge2
MaximumPositionX
Synopsis
Returns the X-coordinate of the maximum position of the second edge of the occurrence of the stripe marker.
[]
Syntax
[Double =] object.MaximumPositionX
[]
Syntax
[double =] object->MaximumPositionX
Type description
A double value that returns the maximum X-coordinate of the edge.
Remarks
  • The maximum position determines the X and Y-coordinates of the maximum position of the edge.
  • The X-coordinate is the maximum position within the edge width from which an edge is established. The Y-coordinate is the Y-coordinate of the search region center. The maximum position is always on the side of the search region furthest from the origin, regardless of how the search region is rotated. The diagram below illustrates an edge transion curve (a profile of gradual transition from dark to light) and a search region.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Results are obtained from the last call to the FindMarker method.


Measurement.Results.Item.Edge2.MaximumPositionY Property

MaximumPositionY property

See Also | Availability | MIL Equivalent | MaximumPositionX | MinimumPositionX
Reference:
Measurement.MeasurementList.MaximumPosition
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_EDGE_SECOND +
M_POSITION_MAX
)

MmeasGetResultSingle(
ResultType =
M_EDGE_SECOND +
M_POSITION_MAX
)
Measurement
Results
Item
Edge2
MaximumPositionY
Synopsis
Returns the Y-coordinate of the maximum position of the second edge of the occurrence of the stripe marker.
[]
Syntax
[Double =] object.MaximumPositionY
[]
Syntax
[double =] object->MaximumPositionY
Type description
A double value that returns the maximum Y-coordinate of the edge.
Remarks
  • The maximum position determines the X and Y-coordinates of the maximum position of the edge.
  • The X-coordinate is the maximum position within the edge width from which an edge is established. The Y-coordinate is the Y-coordinate of the search region center. The maximum position is always on the side of the search region furthest from the origin, regardless of how the search region is rotated. The diagram below illustrates an edge transion curve (a profile of gradual transition from dark to light) and a search region.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Results are obtained from the last call to the FindMarker method.


Measurement.Results.Item.Edge2.MinimumPositionX Property

MinimumPositionX property

See Also | Availability | MIL Equivalent | MaximumPositionY | MinimumPositionY
Reference:
Measurement.MeasurementList.MinimumPosition
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_EDGE_SECOND +
M_POSITION_MIN
)

MmeasGetResultSingle(
ResultType =
M_EDGE_SECOND +
M_POSITION_MIN
)
Measurement
Results
Item
Edge2
MinimumPositionX
Synopsis
Returns the X-coordinate of the minimum position of the second edge of the occurrence of the stripe marker.
[]
Syntax
[Double =] object.MinimumPositionX
[]
Syntax
[double =] object->MinimumPositionX
Type description
A double value that returns the minimum X-coordinate of the edge.
Remarks
  • The minmum position determines the X and Y-coordinates of the minimum position of the edge.
  • The X-coordinate is the minimum position within the edge width from which an edge is established. The Y-coordinate is the Y-coordinate of the search region center. The minimum position is always on the side of the search region adjacent the origin, regardless of how the search region is rotated. The diagram below illustrates an edge transion curve (a profile of gradual transition from dark to light) and a search region.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Results are obtained from the last call to the FindMarker method.


Measurement.Results.Item.Edge2.MinimumPositionY Property

MinimumPositionY property

See Also | Availability | MIL Equivalent | MinimumPositionX | Polarity
Reference:
Measurement.MeasurementList.MinimumPosition
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_EDGE_SECOND +
M_POSITION_MIN
)

MmeasGetResultSingle(
ResultType =
M_EDGE_SECOND +
M_POSITION_MIN
)
Measurement
Results
Item
Edge2
MinimumPositionY
Synopsis
Returns the Y-coordinate of the minimum position of the second edge of the occurrence of the stripe marker.
[]
Syntax
[Double =] object.MinimumPositionY
[]
Syntax
[double =] object->MinimumPositionY
Type description
A double value that returns the minimum Y-coordinate of the edge.
Remarks
  • The minmum position determines the X and Y-coordinates of the minimum position of the edge.
  • The X-coordinate is the minimum position within the edge width from which an edge is established. The Y-coordinate is the Y-coordinate of the search region center. The minimum position is always on the side of the search region adjacent the origin, regardless of how the search region is rotated. The diagram below illustrates an edge transion curve (a profile of gradual transition from dark to light) and a search region.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Results are obtained from the last call to the FindMarker method.


Measurement.Results.Item.Edge2.Polarity Property

Polarity property

See Also | Availability | MIL Equivalent | MinimumPositionY | PositionVariation
Reference:
Measurement.MeasurementList.Polarity
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_EDGE_SECOND +
M_POLARITY
)

MmeasGetResultSingle(
ResultType =
M_EDGE_SECOND +
M_POLARITY
)
Measurement
Results
Item
Edge2
Polarity
Synopsis
Returns the polarity of the second edge of the occurrence of the stripe marker.
[]
Syntax
[MeasMarkerPolarityConstants =] object.Polarity
[]
Syntax
[enum MeasMarkerPolarityConstants =] object->Polarity
Type description
A MeasMarkerPolarityConstants expression which returns the polarity of the edge.
Value | Meaning
measNegative | The polarity is negative.
measPositive | The polarity is positive.
Remark
  • Results are obtained from the last call to the FindMarker method.


Measurement.Results.Item.Edge2.PositionVariation Property

PositionVariation property

See Also | Availability | MIL Equivalent | Polarity | PositionX
Reference:
Measurement.MeasurementList.PositionVariation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_EDGE_SECOND +
POSITION_VARIATION
)

MmeasGetResultSingle(
ResultType =
M_EDGE_SECOND +
POSITION_VARIATION
)
Measurement
Results
Item
Edge2
PositionVariation
Synopsis
Returns the position variation of the second edge of the occurrence of the stripe marker.
[]
Syntax
[Double =] object.PositionVariation
[]
Syntax
[double =] object->PositionVariation
Type description
A double value that returns the position variation (+/-) of the edge.
Remarks
  • Results are obtained from the last call to the FindMarker method.
  • The position variation is equal to half its edge width.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.


Measurement.Results.Item.Edge2.PositionX Property

PositionX property

See Also | Availability | MIL Equivalent | PositionVariation | PositionY
Reference:
Measurement.MeasurementList.Position
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_EDGE_SECOND +
M_POSITION
)

MmeasGetResultSingle(
ResultType =
M_EDGE_SECOND +
M_POSITION
)
Measurement
Results
Item
Edge2
PositionX
Synopsis
Returns the X-coordinate of the second edge of the occurrence of the stripe marker.
[]
Syntax
[Double =] object.PositionX
[]
Syntax
[double =] object->PositionX
Type description
A double value that returns the X-coordinate of the edge's position.
Remarks
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Results are obtained from the last call to the FindMarker method.


Measurement.Results.Item.Edge2.PositionY Property

PositionY property

See Also | Availability | MIL Equivalent | PositionX | Width
Reference:
Measurement.MeasurementList.Position
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_EDGE_SECOND +
M_POSITION
)

MmeasGetResultSingle(
ResultType =
M_EDGE_SECOND +
M_POSITION
)
Measurement
Results
Item
Edge2
PositionY
Synopsis
Returns the Y-coordinate of the second edge of the occurrence of the stripe marker.
[]
Syntax
[Double =] object.PositionY
[]
Syntax
[double =] object->PositionY
Type description
A double value that returns the Y-coordinate of the edge's position.
Remarks
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Results are obtained from the last call to the FindMarker method.


Measurement.Results.Item.Edge2.Width Property

Width property

See Also | Availability | MIL Equivalent | PositionY | Draw
Reference:
Measurement.MeasurementList.Width
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_EDGE_SECOND +
M_WIDTH
)

MmeasGetResultSingle(
ResultType =
M_EDGE_SECOND +
M_WIDTH
)
Measurement
Results
Item
Edge2
Width
Synopsis
Returns the edge width of the second edge of the occurrence of the stripe marker.
[]
Syntax
[Double =] object.Width
[]
Syntax
[double =] object->Width
Type description
A double value that specifies the edge width of the second edge.
Remarks
  • Results are obtained from the last call to the FindMarker method.
  • The edge width of an edge is a measure of the transition in grayscale values from which the edge is established.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.


Measurement.Results.Item.Edge2.Draw Method

Draw method

See Also | Availability | MIL Equivalent | Width
User Guide:
Steps to finding and obtaining measurements of markers

Reference:
Measurement.Markers.Item.Draw
Measurement.Results.Item.Draw
Measurement.Results.Item.Edge1.Draw
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox CronosPlus
Fully supported on Matrox Corona-II
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Orion
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
MmeasDraw(
Operation+M_EDGE_SECOND
ControlFlag =
M_RESULT
)
Measurement
Results
Item
Edge2
Draw
Synopsis
Draws specific features of the second edge of the occurrence of the stripe marker, in the destination image.
[]
Syntax
object.Draw(
ByVal ImageOrGraphicContext As Object,
ByVal Operation As MeasDrawOperationConstants
)
[]
Syntax
void object->Draw(
IDispatch * ImageOrGraphicContext,
enum MeasDrawOperationConstants Operation
)
ImageOrGraphicContext
An Image control that specifies the image into which to draw, or a GraphicContext control that specifies the graphic context and image to use to draw features.
Operation
A MeasDrawOperationConstants expression that specifies the features to draw.
Value | Meaning
measDrawPosition | Draws a cross at the occurrence's second edge position. The cross is drawn maintaining the angle of the marker.
measDrawEdgesProfile | Draws the search region's edge profile.

The following value can be added to measDrawEdgesProfile:
Value | Meaning
measDrawInRegion | Draws the edge profile of the search region, according to its angle and position.
Remarks
  • measDrawEdgesProfile is not available following a call to the Measurement.Calculate method.
  • When setting the ImageOrGraphicContext parameter to a GraphicContext control, the image associated with the control is used as the destination image.
  • When using this method to draw features in calibrated images, the Draw method draws all the requested features according to whether the destination image is physically corrected or not.
  • You can also choose to draw in a display's overlay image. By drawing into a display's overlay buffer, you can annotate an image non-destructively.
Remark for Matrox Odyssey XA
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the Measurement control. If not, an error will occur.
Remark for Matrox Odyssey XCL
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the Measurement control. If not, an error will occur.
Remark for Matrox Odyssey XD
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the Measurement control. If not, an error will occur.


Measurement.Results.Item.EdgeInside Property

EdgeInside property

See Also | Availability | MIL Equivalent | Edge2 | EdgeStrength
Reference:
Measurement.MeasurementList.EdgeInside
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_EDGE_INSIDE
)

MmeasGetResultSingle(
ResultType =
M_EDGE_INSIDE
)
Measurement
Results
Item
EdgeInside
Synopsis
Returns the number of edges located between the two exterior edges of the occurrence of the stripe marker.
[]
Syntax
[Double =] object.EdgeInside
[]
Syntax
[double =] object->EdgeInside
Type description
A double value that returns the number of edges located between the two exterior edges.
Remarks
  • This property applies only to stripe markers.
  • Results are obtained from the last call to the FindMarker method.


Measurement.Results.Item.EdgeStrength Property

EdgeStrength property

See Also | Availability | MIL Equivalent | EdgeInside | Length
Reference:
Measurement.MeasurementList.EdgeStrength
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_EDGE_STRENGTH
)

MmeasGetResultSingle(
ResultType =
M_EDGE_STRENGTH
)
Measurement
Results
Item
EdgeStrength
Synopsis
Returns the edge strength of the occurrence of the marker.
[]
Syntax
[Double =] object.EdgeStrength
[]
Syntax
[double =] object->EdgeStrength
Type description
A double value that returns the edge strength of the edge.
Remarks
  • Results are obtained from the last call to the FindMarker method.
  • The edge strength is the minimum/maximum edge value along the edge width (depending on the polarity of the edge).
  • The value is represented as a percentage of the image's maximum pixel value. For example, in an 8-bit image the maximum possible pixel value is 255. Therefore, a 50% edge strength in this image represents a maximum edge value of 128 and a rising edge.
  • For a stripe marker, the edge strength of the first edge is returned.


Measurement.Results.Item.Length Property

Length property

See Also | Availability | MIL Equivalent | EdgeStrength | LineEquationIntercept
Reference:
Measurement.MeasurementList.Length
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_LENGTH
)

MmeasGetResultSingle(
ResultType =
M_LENGTH
)
Measurement
Results
Item
Length
Synopsis
Returns the length of the occurrence of the marker.
[]
Syntax
[Double =] object.Length
[]
Syntax
[double =] object->Length
Type description
A double value that returns the length of the edge or stripe, in pixels or real-world units.
Remarks
  • Results are obtained from the last call to the FindMarker method.
  • The length is limited to the dimensions of the marker search region.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.


Measurement.Results.Item.LineEquationIntercept Property

LineEquationIntercept property

See Also | Availability | MIL Equivalent | Length | LineEquationSlope
Reference:
Measurement.MeasurementList.LineEquation
Measurement.Results.Item.LineEquationSlope
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_LINE_EQUATION_INTERCEPT
)

MmeasGetResultSingle(
ResultType =
M_LINE_EQUATION_INTERCEPT
)
Measurement
Results
Item
LineEquationIntercept
Synopsis
Returns the Y-intercept of the line equation of the occurrence of the marker, or the line equation joining the occurrence of the first marker with the corresponding occurrence of the second marker.
[]
Syntax
[Double =] object.LineEquationIntercept
[]
Syntax
[double =] object->LineEquationIntercept
Type description
A double value that returns the Y-intercept of the line equation.
Remarks
  • Results are obtained from the last call to the Calculate or FindMarker method.
  • If the FindMarker method was called, the Y-intercept of the line equation of the occurrence of the marker is returned. For a stripe, the Y-intercept of the mean of the line equations of both its edges is returned.
  • If the Calculate method was called, this property returns the Y-intercept of the line equation joining the occurrence of the first marker with the corresponding occurrence of the second marker. Calculations are made using the edges or stripes of the first marker and the corresponding edges or stripes of the second marker, for the entire first marker's number of edges or stripes. The number of calculations performed is limited to the smallest number of occurrences held in either marker (that is, if a marker only contains one edge or stripe, then only one calculation is performed, regardless of the number of edges or stripes contained in the other marker).


Measurement.Results.Item.LineEquationSlope Property

LineEquationSlope property

See Also | Availability | MIL Equivalent | LineEquationIntercept | MaximumPositionX
Reference:
Measurement.MeasurementList.LineEquation
Measurement.Results.Item.LineEquationIntercept
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_LINE_EQUATION_SLOPE
)

MmeasGetResultSingle(
ResultType =
M_LINE_EQUATION_SLOPE
)
Measurement
Results
Item
LineEquationSlope
Synopsis
Returns the slope of the line equation of the occurrence of the marker, or the line equation joining the occurrence of the first marker with the corresponding occurrence of the second marker.
[]
Syntax
[Double =] object.LineEquationSlope
[]
Syntax
[double =] object->LineEquationSlope
Type description
A double value that returns the slope of the line equation.
Remarks
  • Results are obtained from the last call to the Calculate or FindMarker method.
  • If the FindMarker method was called, the slope of the line equation of the occurrence of the marker is returned. For a stripe, the slope of the mean of the line equations of both its edges is returned.
  • If the Calculate method was called, this property returns the slope of the line equation joining the occurrence of the first marker with the corresponding occurrence of the second marker. Calculations are made using the edges or stripes of the first marker and the corresponding edges or stripes of the second marker, for the entire first marker's number of edges or stripes. The number of calculations performed is limited to the smallest number of occurrences held in either marker (that is, if a marker only contains one edge or stripe, then only one calculation is performed, regardless of the number of edges or stripes contained in the other marker).
  • If the equation of the line has an infinite slope, the value returned as the slope is measInfiniteSlope.
[]
Example
This example shows how to use the LineEquationSlope property.

' Add two point markers that form a vertical segment
Dim Index1 As Long
Index1 = Measurement1.Markers.Add(measPoint)
Measurement1.Markers.Item(Index1).Position.X = 100
Measurement1.Markers.Item(Index1).Position.Y = 100

Dim Index2 As Long
Index2 = Measurement1.Markers.Add(measPoint)
Measurement1.Markers.Item(Index2).Position.X = 200
Measurement1.Markers.Item(Index2).Position.Y = 200

' Perform measurement calculations between the two markers
Measurement1.Calculate(Index1, Index2)

Dim Slope As Double
If Measurement1.Results.Item(1).LineEquationSlope = measInfiniteSlope Then
    MsgBox("Infinite Slope")
Else
    Slope = Measurement1.Results.Item(1).LineEquationSlope
End If
[]
Example
This example shows how to use the LineEquationSlope property.

// Add two point markers that form a vertical segment
long Index1 = m_Measurement1->Markers->Add(measPoint);
m_Measurement1->Markers->Item(Index1)->Position->X = 100;
m_Measurement1->Markers->Item(Index1)->Position->Y = 100;

long Index2 = m_Measurement1->Markers->Add(measPoint);
m_Measurement1->Markers->Item(Index2)->Position->X = 100;
m_Measurement1->Markers->Item(Index2)->Position->Y = 200;

// Perform measurement calculations between the two markers
m_Measurement1->Calculate(Index1, Index2);

if (m_Measurement1->Results->Item(1)->LineEquationSlope == measInfiniteSlope)
   m_Edit1.SetWindowText(_T("Infinite Slope"));


Measurement.Results.Item.MaximumPositionX Property

MaximumPositionX property

See Also | Availability | MIL Equivalent | LineEquationSlope | MaximumPositionY
Reference:
Measurement.MeasurementList.MaximumPosition
Measurement.Results.Item.MaximumPositionY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_POSITION_MAX
)

MmeasGetResultSingle(
ResultType =
M_POSITION_MAX
)
Measurement
Results
Item
MaximumPositionX
Synopsis
Returns the X-coordinate of the maximum position of the occurrence of the marker.
[]
Syntax
[Double =] object.MaximumPositionX
[]
Syntax
[double =] object->MaximumPositionX
Type description
A double value that returns the maximum X-coordinate of the edge or stripe.
Remarks
  • The maximum position determines the X and Y-coordinates of the maximum position of an edge in a marker.
  • The X-coordinate is the maximum position within the edge width from which an edge is established. The Y-coordinate is the Y-coordinate of the search region center. The maximum position is always on the side of the search region furthest from the origin, regardless of how the search region is rotated. The diagram below illustrates an edge transion curve (a profile of gradual transition from dark to light) and a search region.
  • For a stripe marker, this property returns the average value of maximum positions.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Results are obtained from the last call to the FindMarker method.


Measurement.Results.Item.MaximumPositionY Property

MaximumPositionY property

See Also | Availability | MIL Equivalent | MaximumPositionX | MinimumPositionX
Reference:
Measurement.MeasurementList.MaximumPosition
Measurement.Results.Item.MaximumPositionX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_POSITION_MAX
)

MmeasGetResultSingle(
ResultType =
M_POSITION_MAX
)
Measurement
Results
Item
MaximumPositionY
Synopsis
Returns the Y-coordinate of the maximum position of the occurrence of the marker.
[]
Syntax
[Double =] object.MaximumPositionY
[]
Syntax
[double =] object->MaximumPositionY
Type description
A double value that returns the maximum Y-coordinate of the edge or stripe.
Remarks
  • The maximum position determines the X and Y-coordinates of the maximum position of an edge in a marker.
  • The X-coordinate is the maximum position within the edge width from which an edge is established. The Y-coordinate is the Y-coordinate of the search region center. The maximum position is always on the side of the search region furthest from the origin, regardless of how the search region is rotated. The diagram below illustrates an edge transion curve (a profile of gradual transition from dark to light) and a search region.
  • For a stripe marker, this property returns the average value of maximum positions.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Results are obtained from the last call to the FindMarker method.


Measurement.Results.Item.MinimumPositionX Property

MinimumPositionX property

See Also | Availability | MIL Equivalent | MaximumPositionY | MinimumPositionY
Reference:
Measurement.MeasurementList.MinimumPosition
Measurement.Results.Item.MinimumPositionY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_POSITION_MIN
)

MmeasGetResultSingle(
ResultType =
M_POSITION_MIN
)
Measurement
Results
Item
MinimumPositionX
Synopsis
Returns the X-coordinate of the minimum position of the occurrence of the marker.
[]
Syntax
[Double =] object.MinimumPositionX
[]
Syntax
[double =] object->MinimumPositionX
Type description
A double value that returns the minimum X-coordinate of the edge or stripe.
Remarks
  • The minmum position determines the X and Y-coordinates of the minimum position of an edge in a marker.
  • The X-coordinate is the minimum position within the edge width from which an edge is established. The Y-coordinate is the Y-coordinate of the search region center. The minimum position is always on the side of the search region adjacent the origin, regardless of how the search region is rotated. The diagram below illustrates an edge transion curve (a profile of gradual transition from dark to light) and a search region.
  • For a stripe marker, this property returns the average value of minimum positions.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Results are obtained from the last call to the FindMarker method.


Measurement.Results.Item.MinimumPositionY Property

MinimumPositionY property

See Also | Availability | MIL Equivalent | MinimumPositionX | Polarity
Reference:
Measurement.MeasurementList.MinimumPosition
Measurement.Results.Item.MinimumPositionX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_POSITION_MIN
)

MmeasGetResultSingle(
ResultType =
M_POSITION_MIN
)
Measurement
Results
Item
MinimumPositionY
Synopsis
Returns the Y-coordinate of the minimum position of the occurrence of the marker.
[]
Syntax
[Double =] object.MinimumPositionY
[]
Syntax
[double =] object->MinimumPositionY
Type description
A double value that returns the minimum Y-coordinate of the edge or stripe.
Remarks
  • The minmum position determines the X and Y-coordinates of the minimum position of an edge in a marker.
  • The X-coordinate is the minimum position within the edge width from which an edge is established. The Y-coordinate is the Y-coordinate of the search region center. The minimum position is always on the side of the search region adjacent the origin, regardless of how the search region is rotated. The diagram below illustrates an edge transion curve (a profile of gradual transition from dark to light) and a search region.
  • For a stripe marker, this property returns the average value of minimum positions.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Results are obtained from the last call to the FindMarker method.


Measurement.Results.Item.Polarity Property

Polarity property

See Also | Availability | MIL Equivalent | MinimumPositionY | PositionVariation
Reference:
Measurement.MeasurementList
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_POLARITY
)

MmeasGetResultSingle(
ResultType =
M_POLARITY
)
Measurement
Results
Item
Polarity
Synopsis
Returns the polarity of the occurrence of the marker.
[]
Syntax
[MeasMarkerPolarityConstants =] object.Polarity
[]
Syntax
[enum MeasMarkerPolarityConstants =] object->Polarity
Type description
A MeasMarkerPolarityConstants expression which returns the polarity of the edge or stripe.
Value | Meaning
measNegative | The polarity is negative.
measPositive | The polarity is positive.
Remarks
  • Results are obtained from the last call to the FindMarker method.
  • For a stripe the polarity of the first edge is returned.


Measurement.Results.Item.PositionVariation Property

PositionVariation property

See Also | Availability | MIL Equivalent | Polarity | PositionX
Reference:
Measurement.MeasurementList.PositionVariation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_POSITION_VARIATION
)

MmeasGetResultSingle(
ResultType =
M_POSITION_VARIATION
)
Measurement
Results
Item
PositionVariation
Synopsis
Returns the position variation of the occurrence of the marker.
[]
Syntax
[Double =] object.PositionVariation
[]
Syntax
[double =] object->PositionVariation
Type description
A double value that returns the position variation (+/-) of the edge or stripe.
Remarks
  • Results are obtained from the last call to the FindMarker method.
  • If the marker is an edge, the position variation is equal to half its edge width. If the marker is a stripe, the position variation is the sum of the position variations of both its edges.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.


Measurement.Results.Item.PositionX Property

PositionX property

See Also | Availability | MIL Equivalent | PositionVariation | PositionY
Reference:
Measurement.MeasurementList.Position
Measurement.Results.Item.PositionY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_POSITION
)

MmeasGetResultSingle(
ResultType =
M_POSITION
)
Measurement
Results
Item
PositionX
Synopsis
Returns the X-coordinate of the occurrence of the marker.
[]
Syntax
[Double =] object.PositionX
[]
Syntax
[double =] object->PositionX
Type description
A double value that returns the X-coordinate of the edge or stripe.
Remarks
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Results are obtained from the last call to the FindMarker method.


Measurement.Results.Item.PositionY Property

PositionY property

See Also | Availability | MIL Equivalent | PositionX | Score
Reference:
Measurement.MeasurementList.Position
Measurement.Results.Item.PositionX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_POSITION
)

MmeasGetResultSingle(
ResultType =
M_POSITION
)
Measurement
Results
Item
PositionY
Synopsis
Returns the Y-coordinate of the occurrence of the marker.
[]
Syntax
[Double =] object.PositionY
[]
Syntax
[double =] object->PositionY
Type description
A double value that returns the Y-coordinate of the edge or stripe.
Remarks
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.
  • Results are obtained from the last call to the FindMarker method.


Measurement.Results.Item.Score Property

Score property

See Also | Availability | MIL Equivalent | PositionY | Spacing
Reference:
Measurement.FindMarker
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_SCORE
)

MmeasGetResultSingle(
ResultType =
M_SCORE
)
Measurement
Results
Item
Score
Synopsis
Returns the confidence score of the marker's edges or stripes found by the FindMarker method.
[]
Syntax
[Double =] object.Score
[]
Syntax
[double =] object->Score
Type description
A double value that returns the confidence score as a percentage.


Measurement.Results.Item.Spacing Property

Spacing property

See Also | Availability | MIL Equivalent | Score | WidthVariation
Reference:
Measurement.MeasurementList.Spacing
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_SPACING
)

MmeasGetResultSingle(
ResultType =
M_SPACING
)
Measurement
Results
Item
Spacing
Synopsis
Returns the spacing between the specified edge or stripe of a multiple marker and the next occurrence.
[]
Syntax
[Double =] object.Spacing
[]
Syntax
[double =] object->Spacing
Type description
A double value that returns the spacing between edges or stripes of a multiple marker.
Remarks
  • There is no spacing value for the last occurrence of a marker.
  • Results are obtained from the last call to the FindMarker method.


Measurement.Results.Item.Width Property

Width property

See Also | Availability | MIL Equivalent | WidthVariation | Draw
Reference:
Measurement.MeasurementList.Width
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_WIDTH
)

MmeasGetResultSingle(
ResultType =
M_WIDTH
)
Measurement
Results
Item
Width
Synopsis
Returns the edge width of the occurrence of the edge marker or the width of the occurrence of the stripe marker.
[]
Syntax
[Double =] object.Width
[]
Syntax
[double =] object->Width
Type description
A double value that returns the edge width of the edge or the width of the stripe.
Remarks
  • Results are obtained from the last call to the FindMarker method.
  • The edge width of an edge marker is a measure of the transition in grayscale values from which the edge is established.
  • The width of a stripe marker is the average distance between its edges and is calculated at the angle of the search region.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.


Measurement.Results.Item.WidthVariation Property

WidthVariation property

See Also | Availability | MIL Equivalent | Spacing | Width
Reference:
Measurement.MeasurementList.WidthVariation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_WIDTH_VARIATION
)

MmeasGetResultSingle(
ResultType =
M_WIDTH_VARIATION
)
Measurement
Results
Item
WidthVariation
Synopsis
Returns the width variation of the occurrence of the stripe marker.
[]
Syntax
[Double =] object.WidthVariation
[]
Syntax
[double =] object->WidthVariation
Type description
A double value that returns the width variation (+/-) of a stripe.
Remarks
  • Results are obtained from the last call to the FindMarker method.
  • The width of a stripe marker is the average distance betweeen its edges and is calculated at the angle of the search region.
  • If you are using a calibrated target image, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the associated Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target image or to the origin of the coordinate system of a calibrated image.


Measurement.Results.Item.Draw Method

Draw method

See Also | Availability | MIL Equivalent | Width
User Guide:
Steps to finding and obtaining measurements of markers

Reference:
Measurement.Markers.Item.Draw
Measurement.Results.Item.Edge1.Draw
Measurement.Results.Item.Edge2.Draw
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox CronosPlus
Fully supported on Matrox Corona-II
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Orion
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
MmeasDraw(
Index =
Value
ControlFlag =
M_RESULT
)
Measurement
Results
Item
Draw
Synopsis
Draws specific result features of the occurrence of the marker in the destination image.
[]
Syntax
object.Draw(
ByVal ImageOrGraphicContext As Object,
ByVal Operation As MeasDrawOperationConstants
)
[]
Syntax
void object->Draw(
IDispatch * ImageOrGraphicContext,
enum MeasDrawOperationConstants Operation
)
ImageOrGraphicContext
An Image control that specifies the image into which to draw, or a GraphicContext control that specifies the graphic context and image to use to draw features.
Operation
A MeasDrawOperationConstants expression that specifies the features to draw. These constants can be added together to draw multiple features simultaneously.

The features available following a call to the FindMarker method are:
Value | Meaning
measDrawEdges | Draws a line along the edges of the result, respecting the found position, angle, and size.
measDrawEdgesProfile | Draws the target image's edge profile.
measDrawPosition | Draws a cross at the found position.of the occurrence of the marker. The cross is drawn maintaining the angle of the result.
measDrawPositionVariation | Draws an H-type line (|-|) indicating the found position variation of occurrence of the marker.
measDrawRegion | Draws the search region, respecting its angle, position, and size.
measDrawRegionCenter | Draws a cross at the search region center, respecting the search region's angle.
measDrawSpacing | Draws an H-type line (|-|) indicating the found spacing between the occurrences of the marker.
measDrawWidth | Draws an line (|-|) at the found width of the occurrence of the marker.
measDrawWidthVariation | Draws an H-type line (|-|) indicating the found width variation of the marker.

The feature available following a call to the Calculate method is:
Value | Meaning
measDrawLine | Draws a line joining the two markers previously specified for calculation.

For a stripe marker, the following MeasDrawOperationConstants expression can be added to measDrawPosition:
Value | Meaning
measDrawEdge1 | Draws the position of the stripe's first edge.
measDrawEdge2 | Draws the position of the stripe's second edge.

For a stripe marker, the following MeasDrawOperationConstants expression can be added to measDrawEdgesProfile:
Value | Meaning
measDrawInRegion | Draws the edge profile of the search region, according to its angle and position.
Remarks
  • To draw both the position and search region of the result occurrence, set the Operation parameter to measDrawRegion + measDrawPosition.
  • measDrawPosition is the only supported operation for a point marker.
  • measDrawWidth and measDrawWidthVariation are not supported for point and edge markers.
  • When using this method to draw features in calibrated images, this method draws all the requested features according to whether the destination image is physically corrected or not.
  • When specifying the ImageOrGraphicContext parameter as a GraphicContext control, the image associated with the control is used as the destination image.
  • You can also choose to draw in a display's overlay image. By drawing into a display's overlay image, you can annotate an image non-destructively.
Remark for Matrox Odyssey XA
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the Measurement control. If not, an error will occur.
Remark for Matrox Odyssey XCL
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the Measurement control. If not, an error will occur.
Remark for Matrox Odyssey XD
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the Measurement control. If not, an error will occur.


Measurement.Results.MilID Property

MilID property

See Also | Availability | MIL Equivalent | Item | Orientation
User Guide:
Integrating MIL functions into your ActiveMIL code

Reference:
Measurement.IsAllocated
Measurement.Modified
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasAllocResult(MeasResultIdPtr)
Measurement
Results
MilID
Synopsis
Returns the Native MIL identifier of the allocated resources of the measurement results collection.
[]
Syntax
[Integer =] object.MilID
[]
Syntax
[long =] object->MilID
Type description
A long value that specifies the measurement results collection's Native MIL identifier.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • If the Measurement control's IsAllocated property is False, the MilID property will be 0.


Measurement.Results.Orientation Property

Orientation property

See Also | Availability | MIL Equivalent | MilID | Score
Reference:
Measurement.MeasurementList.Orientation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_ORIENTATION
)

MmeasGetResultSingle(
ResultType =
M_ORIENTATION
)
Measurement
Results
Orientation
Synopsis
Returns the orientation of the occurrence of the marker.
[]
Syntax
[MeasMarkerOrientationConstants =] object.Orientation
[]
Syntax
[enum MeasMarkerOrientationConstants =] object->Orientation
Type description
A MeasMarkerOrientationConstants that specifies the orientation of the edge or stripe.
Value | Meaning
measVertical | The marker occurrence has a vertical orientation.
measHorizontal | The marker occurrence has a horizontal orientation.
Remark
  • Results are obtained from the last call to the FindMarker method.


Measurement.Results.Score Property

Score property

See Also | Availability | MIL Equivalent | Orientation | CalculateMaximum
Reference:
Measurement.FindMarker
Measurement.Results
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_TOTAL_SCORE
)

MmeasGetResultSingle(
ResultType =
M_TOTAL_SCORE
)
Measurement
Results
Score
Synopsis
Returns the average confidence score of all the marker's edges or stripes found by the FindMarker method.
[]
Syntax
[Double =] object.Score
[]
Syntax
[double =] object->Score
Type description
A double value that returns the confidence score as a percentage.


Measurement.Results.CalculateMaximum Method

CalculateMaximum method

Availability | MIL Equivalent | Score | CalculateMean
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_MAX +
resulttype
)

MmeasGetResultSingle(
ResultType =
M_MAX +
resulttype
)
Measurement
Results
CalculateMaximum
Synopsis
Calculates the maximum value of a characteristic for all the found edges or stripes of a multiple marker.
[]
Syntax
[Double =] object.CalculateMaximum(
ByVal ResultType As MeasResultTypeConstants
)
[]
Syntax
[double =] object->CalculateMaximum(
enum MeasResultTypeConstants ResultType
)
ResultType
A MeasResultTypeConstants expression which specifies for which characteristic to calculate the maximum value.
Value | Meaning
measAngles | The maximum angle of an edge or stripe within the search region. Returns a value between 0 and 360 degrees relative to the positive X-axis.
measContrasts | The maximum contrast of an edge or stripe within the search region.
measDistances | The maximum distance between two markers.
measDistancesX | The maximum distance on the X-axis between two markers.
measDistancesY | The maximum distance on the Y-axis between two markers.
measEdge1 | Information concerning the first exterior edge of a stripe.
measEdge2 | Information concerning the second exterior edge of a stripe.
measEdgeInsides | The maximum number of inside edges of a stripe within the search region.
measEdgeStrengths | The maximum edge strength of an edge within the search region.
measLengths | The maximum length of an edge or stripe within the search region.
measLineEquationIntercepts | The maximum Y-intercept for the line of an edge or stripe within the search region.
measLineEquationSlopes | The maximum slope for the line of an edge or stripe within the search region.
measMaximumPositionsX | The maximum X-coordinate of the maximum position of an edge or stripe within the search region.
measMaximumPositionsY | The maximum Y-coordinate of the maximum position of an edge or stripe within the target image.
measMinimumPositionsX | The maximum X-coordinate of the minimum position of an edge or stripe within the search region.
measMinimumPositionsY | The maximum Y-coordinate of the minimum position of an edge or stripe within the search region.
measPositionsX | The maximum X-coordinate an edge or stripe's center in the search region.
measPositionsY | The maximum Y-coordinate of an edge or stripe's center in the search region.
measPositionVariations | The maximum position variation of an edge or stripe within the search region (+/-).
measSpacings | The maximum spacing between consecutive edges or stripes.
measScores | The confidence score for the find marker operation.
measWidths | The maximum width of an edge or stripe within the search region.
measWidthVariations | The maximum width variation of an edge or stripe within the search region.
Return value
The maximum value of the requested characteristic.
Remarks
  • To obtain results for a specific edge of a stripe, add measEdge1 or measEdge2 to the required property constant. For example, measContrasts + measEdge1 will return the maximum contrast found for the first edge of the stripes in a multiple marker.
  • The CalculateMaximum method uses the results from the last FindMarker or Calculate method.


Measurement.Results.CalculateMean Method

CalculateMean method

Availability | MIL Equivalent | CalculateMaximum | CalculateMinimum
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_MEAN +
resulttype
)

MmeasGetResultSingle(
ResultType =
M_MEAN +
resulttype
)
Measurement
Results
CalculateMean
Synopsis
Calculates the mean value of a characteristic for all the found edges or stripes of a multiple marker.
[]
Syntax
[Double =] object.CalculateMean(
ByVal ResultType As MeasResultTypeConstants
)
[]
Syntax
[double =] object->CalculateMean(
enum MeasResultTypeConstants ResultType
)
ResultType
A MeasResultTypeConstants expression which specifies for which characteristic to calculate the mean value.
Value | Meaning
measAngles | The maximum angle of an edge or stripe within the search region. Returns a value between 0 and 360 degrees relative to the positive X-axis.
measContrasts | The maximum contrast of an edge or stripe within the search region.
measDistances | The maximum distance between two markers.
measDistancesX | The maximum distance on the X-axis between two markers.
measDistancesY | The maximum distance on the Y-axis between two markers.
measEdge1 | Information concerning the first exterior edge of a stripe.
measEdge2 | Information concerning the second exterior edge of a stripe.
measEdgeInsides | The maximum number of inside edges of a stripe within the search region.
measEdgeStrengths | The maximum edge strength of an edge within the search region.
measLengths | The maximum length of an edge or stripe within the search region.
measLineEquationIntercepts | The maximum Y-intercept for the line of an edge or stripe within the search region.
measLineEquationSlopes | The maximum slope for the line of an edge or stripe within the search region.
measMaximumPositionsX | The maximum X-coordinate of the maximum position of an edge or stripe within the search region.
measMaximumPositionsY | The maximum Y-coordinate of the maximum position of an edge or stripe within the target image.
measMinimumPositionsX | The maximum X-coordinate of the minimum position of an edge or stripe within the search region.
measMinimumPositionsY | The maximum Y-coordinate of the minimum position of an edge or stripe within the search region.
measPositionsX | The maximum X-coordinate an edge or stripe's center in the search region.
measPositionsY | The maximum Y-coordinate of an edge or stripe's center in the search region.
measPositionVariations | The maximum position variation of an edge or stripe within the search region (+/-).
measSpacings | The maximum spacing between consecutive edges or stripes.
measScores | The confidence score for the find marker operation.
measWidths | The maximum width of an edge or stripe within the search region.
measWidthVariations | The maximum width variation of an edge or stripe within the search region.
Return value
The mean value of the requested characteristic.
Remarks
  • To obtain results for a specific edge of a stripe, add measEdge1 or measEdge2 to the required property constant. For example, measContrasts + measEdge1 will return the mean contrast found for the first edge of the stripes in a multiple marker.
  • The CalculateMean method uses the results from the last FindMarker or Calculate method.


Measurement.Results.CalculateMinimum Method

CalculateMinimum method

Availability | MIL Equivalent | CalculateMean | CalculateStandardDeviation
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_MIN +
resulttype
)

MmeasGetResultSingle(
ResultType =
M_MIN +
resulttype
)
Measurement
Results
CalculateMinimum
Synopsis
Calculates the minimum value of a characteristic for all the found edges or stripes of a multiple marker.
[]
Syntax
[Double =] object.CalculateMinimum(
ByVal ResultType As MeasResultTypeConstants
)
[]
Syntax
[double =] object->CalculateMinimum(
enum MeasResultTypeConstants ResultType
)
ResultType
A MeasResultTypeConstants expression which specifies for which characteristic to calculate the minimum value.
Value | Meaning
measAngles | The maximum angle of an edge or stripe within the search region. Returns a value between 0 and 360 degrees relative to the positive X-axis.
measContrasts | The maximum contrast of an edge or stripe within the search region.
measDistances | The maximum distance between two markers.
measDistancesX | The maximum distance on the X-axis between two markers.
measDistancesY | The maximum distance on the Y-axis between two markers.
measEdge1 | Information concerning the first exterior edge of a stripe.
measEdge2 | Information concerning the second exterior edge of a stripe.
measEdgeInsides | The maximum number of inside edges of a stripe within the search region.
measEdgeStrengths | The maximum edge strength of an edge within the search region.
measLengths | The maximum length of an edge or stripe within the search region.
measLineEquationIntercepts | The maximum Y-intercept for the line of an edge or stripe within the search region.
measLineEquationSlopes | The maximum slope for the line of an edge or stripe within the search region.
measMaximumPositionsX | The maximum X-coordinate of the maximum position of an edge or stripe within the search region.
measMaximumPositionsY | The maximum Y-coordinate of the maximum position of an edge or stripe within the target image.
measMinimumPositionsX | The maximum X-coordinate of the minimum position of an edge or stripe within the search region.
measMinimumPositionsY | The maximum Y-coordinate of the minimum position of an edge or stripe within the search region.
measPositionsX | The maximum X-coordinate an edge or stripe's center in the search region.
measPositionsY | The maximum Y-coordinate of an edge or stripe's center in the search region.
measPositionVariations | The maximum position variation of an edge or stripe within the search region (+/-).
measSpacings | The maximum spacing between consecutive edges or stripes.
measScores | The confidence score for the find marker operation.
measWidths | The maximum width of an edge or stripe within the search region.
measWidthVariations | The maximum width variation of an edge or stripe within the search region.
Return value
The minimum value of the requested characteristic.
Remarks
  • To obtain results for a specific edge of a stripe, add measEdge1 or measEdge2 to the required property constant. For example, measContrasts + measEdge1 will return the minimum contrast found for the first edge of the stripes in a multiple marker.
  • The CalculateMinimum method uses the results from the last FindMarker or Calculate method.


Measurement.Results.CalculateStandardDeviation Method

CalculateStandardDeviation method

Availability | MIL Equivalent | CalculateMinimum | Get
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(
ResultType =
M_STANDARD_DEVIATION +
resulttype
)

MmeasGetResultSingle(
ResultType =
M_STANDARD_DEVIATION +
resulttype
)
Measurement
Results
CalculateStandardDeviation
Synopsis
Calculates the standard deviation of a characteristic for all the found edges or stripes of a multiple marker.
[]
Syntax
[Double =] object.CalculateStandardDeviation(
ByVal ResultType As MeasResultTypeConstants
)
[]
Syntax
[double =] object->CalculateStandardDeviation(
enum MeasResultTypeConstants ResultType
)
ResultType
A MeasResultTypeConstants expression which specifies for which property to calculate the standard deviation.
Value | Meaning
measAngles | The maximum angle of an edge or stripe within the search region. Returns a value between 0 and 360 degrees relative to the positive X-axis.
measContrasts | The maximum contrast of an edge or stripe within the search region.
measDistances | The maximum distance between two markers.
measDistancesX | The maximum distance on the X-axis between two markers.
measDistancesY | The maximum distance on the Y-axis between two markers.
measEdge1 | Information concerning the first exterior edge of a stripe.
measEdge2 | Information concerning the second exterior edge of a stripe.
measEdgeInsides | The maximum number of inside edges of a stripe within the search region.
measEdgeStrengths | The maximum edge strength of an edge within the search region.
measLengths | The maximum length of an edge or stripe within the search region.
measLineEquationIntercepts | The maximum Y-intercept for the line of an edge or stripe within the search region.
measLineEquationSlopes | The maximum slope for the line of an edge or stripe within the search region.
measMaximumPositionsX | The maximum X-coordinate of the maximum position of an edge or stripe within the search region.
measMaximumPositionsY | The maximum Y-coordinate of the maximum position of an edge or stripe within the target image.
measMinimumPositionsX | The maximum X-coordinate of the minimum position of an edge or stripe within the search region.
measMinimumPositionsY | The maximum Y-coordinate of the minimum position of an edge or stripe within the search region.
measPositionsX | The maximum X-coordinate an edge or stripe's center in the search region.
measPositionsY | The maximum Y-coordinate of an edge or stripe's center in the search region.
measPositionVariations | The maximum position variation of an edge or stripe within the search region (+/-).
measSpacings | The maximum spacing between consecutive edges or stripes.
measScores | The confidence score for the find marker operation.
measWidths | The maximum width of an edge or stripe within the search region.
measWidthVariations | The maximum width variation of an edge or stripe within the search region.
Return value
The standard deviation in values of the requested characteristic.
Remarks
  • To obtain results for a specific edge of a stripe, add measEdge1 or measEdge2 to the required property constant. For example, measWidths + measEdge1 will return the standard deviation in width found for the first edge of the stripes in a multiple marker.
  • The CalculateStandardDeviation method uses the results from the last FindMarker or Calculate method.


Measurement.Results.Draw Method

Draw method

See Also | Availability | MIL Equivalent | GetMultiple
User Guide:
Steps to finding and obtaining measurements of markers

Reference:
Measurement.Markers.Item.Draw
Measurement.Results.Item.Edge1.Draw
Measurement.Results.Item.Edge2.Draw
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox CronosPlus
Fully supported on Matrox Corona-II
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Orion
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
MmeasDraw(
Index =
M_ALL
ControlFlag =
M_RESULT
)
Measurement
Results
Draw
Synopsis
Draws specific result features of all occurrences of the marker in the destination image.
[]
Syntax
object.Draw(
ByVal ImageOrGraphicContext As Object,
ByVal Operation As MeasDrawOperationConstants
)
[]
Syntax
void object->Draw(
IDispatch * ImageOrGraphicContext,
enum MeasDrawOperationConstants Operation
)
ImageOrGraphicContext
An Image control that specifies the image into which to draw, or a GraphicContext control that specifies the graphic context and image to use to draw features.
Operation
A MeasDrawOperationConstants expression that specifies the features to draw. These constants can be added together to draw multiple features simultaneously.

The features available following a call to the FindMarker method are:
Value | Meaning
measDrawEdges | Draws a line along the edges of all results, respecting the found positions, angles, and sizes.
measDrawEdgesProfile | Draws the target image's edge profiles of all occurrences of the marker.
measDrawPosition | Draws a cross at the found positions of all occurrences of the marker. The cross is drawn maintaining the angle of each result.
measDrawPositionVariation | Draws an H-type line (|-|) indicating the found position variation of all occurrences of the marker.
measDrawRegion | Draws the search region, respecting its angle, position, and size.
measDrawRegionCenter | Draws a cross at the search region center, respecting the search region's angle.
measDrawSpacing | Draws an H-type line (|-|) indicating the found spacing between all occurrences of the marker.
measDrawWidth | Draws an H-type line (|-|) at the found width of all occurrences of the marker.
measDrawWidthVariation | Draws an H-type line (|-|) indicating the found width varaition of all occurrences of the marker.

The feature available following a call to the Calculate method is:
Value | Meaning
measDrawLine | Draws lines joining the two markers previously specified for calculation.

For a stripe marker, the following constants can be added to measDrawPosition:
Value | Meaning
measDrawEdge1 | Draws the found positions of all occurrences of the stripe marker's first edge.
measDrawEdge2 | Draws the found positions of all occurrences of the stripe marker's second edge.

For a stripe marker, the following constant can be added to measDrawEdgesProfile:
Value | Meaning
measDrawInRegion | Draws the edge profiles of the search region, according to its angle and position.
Remarks
  • To draw both the position and search region of the result occurrence, set the Operation parameter to measDrawRegion + measDrawPosition.
  • measDrawPosition is the only supported operation for a point marker.
  • measDrawWidth and measDrawWidthVariation are not supported for point markers and edge markers.
  • When using this method to draw features in calibrated images, this method draws all the requested features according to whether the destination image is physically corrected or not.
  • When specifying the ImageOrGraphicContext parameter as a GraphicContext control, the image associated with the control is used as the destination image.
  • You can also choose to draw in the display's overlay image. By drawing into a display's overlay image, you can annotate an image non-destructively.
Remark for Matrox Odyssey XA
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the Measurement control. If not, an error will occur.
Remark for Matrox Odyssey XCL
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the Measurement control. If not, an error will occur.
Remark for Matrox Odyssey XD
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the Measurement control. If not, an error will occur.


Measurement.Results.Get Method

Get method

Availability | MIL Equivalent | CalculateStandardDeviation | GetMultiple
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult()

MmeasGetResultSingle()
Measurement
Results
Get
Synopsis
Returns the specified result type for every edge or stripe of a multiple marker.
[]
Syntax
object.Get(
ByVal ResultType As MeasResultTypeConstants,
ByVal UserArray As Array
)
[]
Syntax
void object->Get(
enum MeasResultTypeConstants ResultType,
VARIANT * UserArray
)
ResultType
A MeasResultTypeConstants expression which specifies the result type, or characteristic, to return.
Value | Meaning
measAngles | The maximum angle of an edge or stripe within the search region. Returns a value between 0 and 360 degrees relative to the positive X-axis.
measContrasts | The maximum contrast of an edge or stripe within the search region.
measDistances | The maximum distance between two markers.
measDistancesX | The maximum distance on the X-axis between two markers.
measDistancesY | The maximum distance on the Y-axis between two markers.
measEdgeInsides | The maximum number of inside edges of a stripe within the search region.
measEdgeStrengths | The maximum edge strength of an edge within the search region.
measLengths | The maximum length of an edge or stripe within the search region.
measLineEquationIntercepts | The maximum Y-intercept for the line of an edge or stripe within the search region.
measLineEquationSlopes | The maximum slope for the line of an edge or stripe within the search region.
measMaximumPositionsX | The maximum X-coordinate of the maximum position of an edge or stripe within the search region.
measMaximumPositionsY | The maximum Y-coordinate of the maximum position of an edge or stripe within the target image.
measMinimumPositionsX | The maximum X-coordinate of the minimum position of an edge or stripe within the search region.
measMinimumPositionsY | The maximum Y-coordinate of the minimum position of an edge or stripe within the search region.
meanNumberOfEdgesOrStripes | The number of edges or stripes within the search region.
measPolarity | The polarity of the marker.
measPosition | The coordinates of the marker center in the image.
measPositionMax | The coordinates of the maximum position of an edge in a marker.
measPositionMin | The coordinates of the minimum position of an edge in a marker.
measPositionsX | The maximum X-coordinate an edge or stripe's center in the search region.
measPositionsY | The maximum Y-coordinate of an edge or stripe's center in the search region.
measPositionVariations | The maximum position variation of an edge or stripe within the search region (+/-).
measSpacings | The maximum spacing between consecutive edges or stripes.
measScores | The confidence score for the find marker operation.
measSearchRegionCornerBottomLeft | The coordinates of the bottom-left corner of the search region.
measSearchRegionCornerBottomLeftX | The X-coordinate of the bottom-left corner of the search region.
measSearchRegionCornerBottomLeftY | The Y-coordinate of the bottom-left corner of the search region.
measSearchRegionCornerBottomRight | The coordinates of the bottom-right corner of the search region.
measSearchRegionCornerBottomRightX | The X-coordinate of the bottom-right corner of the search region.
measSearchRegionCornerBottomRightY | The Y-coordinate of the bottom-right corner of the search region.
measSearchRegionCornerTopLeft | The coordinates of the top-left corner of the search region.
measSearchRegionCornerTopLeftX | The X-coordinate of the top-left corner of the search region.
measSearchRegionCornerTopLeftY | The Y-coordinate of the top-left corner of the search region.
measSearchRegionCornerTopRight | The coordinates of the top-right corner of the search region.
measSearchRegionCornerTopRightX | The X-coordinate of the top-right corner of the search region.
measSearchRegionCornerTopRightY | The Y-coordinate of the top-right corner of the search region.
measSearchRegionEdgeValues | The edge values.
measSearchRegionEdgeValueNumber | The number of edge values.
measTotalScore | The average confidence score of all edges or stripes found.
meanValidFlag | The flag that denotes whether or not a marker was found.
measWidths | The maximum width of an edge or stripe within the search region.
measWidthVariations | The maximum width variation of an edge or stripe within the search region.

One of the following values can be added to the result types listed in the table above:
Value | Meaning
measEdge1 | Information concerning the first exterior edge of a stripe.
measEdge2 | Information concerning the second exterior edge of a stripe.
measMaximum | The maximum value for the requested characteristic in all edges or stripes found.
measMean | The mean value for the requested characteristic in all edges or stripes found.
measMinimum | The minimum value for the requested characteristic in all edges or stripes found.
measStandardDeviation | The standard deviation of the values for the requested characteristics in all the edges or stripes found.
UserArray
An array of type double in which to put the specified result.

Remarks
  • To obtain results for a specific edge of a stripe, add measEdge1 or measEdge2 to the required property constant. For example, measEdgeStrengths + measEdge1 will return the edge strength found for the first edge of the stripes in a multiple marker.
  • The Get method uses the results from the last FindMarker or Calculate method.
  • When using the measLineEquationSlopes result type, if the equation of the line has an infinite slope, the value returned as the slope is measInfiniteSlope.


Measurement.Results.GetMultiple Method

GetMultiple method

Availability | MIL Equivalent | Get | Draw
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasGetResult(M_NULL)

MmeasGetResult(UserArray)
Measurement
Results
GetMultiple
Synopsis
Returns the results of the specified types every edge or stripe of a multiple marker, to a user array.
[]
Syntax
object.GetMultiple(
ByVal ResultIndexArray As Array,
ByVal ResultTypeArray As Array,
ByVal FirstUserArray As Array,
ByVal SecondUserArray As Array
)
[]
Syntax
void object->GetMultiple(
VARIANT * ResultIndexArray,
VARIANT * ResultTypeArray,
VARIANT * FirstUserArray,
VARIANT * SecondUserArray
)
ResultIndexArray
An array of type double that specifies the indices of each marker to be used.

The ResultIndexArray parameter can be set to NULL, so that it retrieves the requested characteristic for all markers.

ResultTypeArray
An array of MeasResultTypeConstants expressions that specifies the types of results to return for each model occurrences.
Value | Meaning
measAngles | The maximum angle of an edge or stripe within the search region. Returns a value between 0 and 360 degrees relative to the positive X-axis.
measContrasts | The maximum contrast of an edge or stripe within the search region.
measDistances | The maximum distance between two markers.
measDistancesX | The maximum distance on the X-axis between two markers.
measDistancesY | The maximum distance on the Y-axis between two markers.
measEdgeInsides | The maximum number of inside edges of a stripe within the search region.
measEdgeStrengths | The maximum edge strength of an edge within the search region.
measLengths | The maximum length of an edge or stripe within the search region.
measLineEquationIntercepts | The maximum Y-intercept for the line of an edge or stripe within the search region.
measLineEquationSlopes | The maximum slope for the line of an edge or stripe within the search region.
measMaximumPositionsX | The maximum X-coordinate of the maximum position of an edge or stripe within the search region.
measMaximumPositionsY | The maximum Y-coordinate of the maximum position of an edge or stripe within the target image.
measMinimumPositionsX | The maximum X-coordinate of the minimum position of an edge or stripe within the search region.
measMinimumPositionsY | The maximum Y-coordinate of the minimum position of an edge or stripe within the search region.
meanNumberOfEdgesOrStripes | The number of edges or stripes within the search region.
measPolarity | The polarity of the marker.
measPosition | The coordinates of the marker center in the image.
measPositionMax | The coordinates of the maximum position of an edge in a marker.
measPositionMin | The coordinates of the minimum position of an edge in a marker.
measPositionsX | The maximum X-coordinate an edge or stripe's center in the search region.
measPositionsY | The maximum Y-coordinate of an edge or stripe's center in the search region.
measPositionVariations | The maximum position variation of an edge or stripe within the search region (+/-).
measSpacings | The maximum spacing between consecutive edges or stripes.
measScores | The confidence score for the find marker operation.
measSearchRegionCornerBottomLeft | The coordinates of the bottom-left corner of the search region.
measSearchRegionCornerBottomLeftX | The X-coordinate of the bottom-left corner of the search region.
measSearchRegionCornerBottomLeftY | The Y-coordinate of the bottom-left corner of the search region.
measSearchRegionCornerBottomRight | The coordinates of the bottom-right corner of the search region.
measSearchRegionCornerBottomRightX | The X-coordinate of the bottom-right corner of the search region.
measSearchRegionCornerBottomRightY | The Y-coordinate of the bottom-right corner of the search region.
measSearchRegionCornerTopLeft | The coordinates of the top-left corner of the search region.
measSearchRegionCornerTopLeftX | The X-coordinate of the top-left corner of the search region.
measSearchRegionCornerTopLeftY | The Y-coordinate of the top-left corner of the search region.
measSearchRegionCornerTopRight | The coordinates of the top-right corner of the search region.
measSearchRegionCornerTopRightX | The X-coordinate of the top-right corner of the search region.
measSearchRegionCornerTopRightY | The Y-coordinate of the top-right corner of the search region.
measSearchRegionEdgeValues | The edge values.
measSearchRegionEdgeValueNumber | The number of edge values.
measTotalScore | The average confidence score of all edges or stripes found.
meanValidFlag | The flag that denotes whether or not a marker was found.
measWidths | The maximum width of an edge or stripe within the search region.
measWidthVariations | The maximum width variation of an edge or stripe within the search region.

One of the following values can be added to the result types listed in the table above:
Value | Meaning
measEdge1 | Information concerning the first exterior edge of a stripe.
measEdge2 | Information concerning the second exterior edge of a stripe.
measMaximum | The maximum value for the requested characteristic in all edges or stripes found.
measMean | The mean value for the requested characteristic in all edges or stripes found.
measMinimum | The minimum value for the requested characteristic in all edges or stripes found.
measStandardDeviation | The standard deviation of the values for the requested characteristics in all the edges or stripes found.

FirstUserArray
An array of type double in which to write the specified results.

With a multiple marker, results for each edge or stripe are held in an array. The results for each instance of the marker will be stored in a separate element of the specified arrays.

SecondUserArray
An array of type double in which to write the specified results.

With a multiple marker, results for each edge or stripe are held in an array. The results for each instance of the marker will be stored in a separate element of the specified arrays.

Remarks
  • To obtain results for a specific edge of a stripe, add measEdge1 or measEdge2 to the required property constant. For example, measEdgeStrengths + measEdge1 will return the edge strength found for the first edge of the stripes in a multiple marker.
  • The GetMultiple method uses the results from the last FindMarker or Calculate method.
  • When using the measLineEquationSlopes result type, if the equation of the line has an infinite slope, the value returned as the slope is measInfiniteSlope.


Measurement.Allocate Method

Allocate method

See Also | Availability | MIL Equivalent | Results | Calculate
User Guide:
Setting up controls

Reference:
Measurement.AutomaticAllocation
Measurement.FindMarker
Measurement.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasAllocResult()

MmeasAllocContext()

MmeasAllocMarker()
Measurement
Allocate
Synopsis
Allocates the resources of the Measurement control.
[]
Syntax
object.Allocate()
[]
Syntax
void object->Allocate()
Remarks
  • By default, the control's AutomaticAllocation property is set to True, and therefore allocation is done automatically.
  • To preserve resources and delay allocation until necessary, set the AutomaticAllocation property to False and call the Allocate method only when the control is actually needed.
  • To create a new Measurement control at run-time, use the CreateObject method of the Application control.
  • If you call the Allocate method while the control is in the allocated state, an error is generated. To determine the allocation state of a control, use the IsAllocated property.
  • The following properties cannot be changed at run-time while the control is in the allocated state (free the control using the Free method):
    • OwnerSystem
    • OwnerSystemName
    • Markers.Item.MarkerType
  • If you try to allocate a Measurement control before its owner system is allocated, an error is generated.
[]
Example
This example demonstrates how to allocate multiple controls with a single call to the Allocate method.

Measurement1.AutomaticAllocation = True
Measurement1.OwnerSystem = System1

' This call will also allocate Measurement1 since
' its OwnerSystem property is System1 and
' its AutomaticAllocation property is set to True
System1.Allocate()
[]
Example
This example demonstrates how to allocate multiple controls with a single call to the Allocate method.

m_Measurement1->AutomaticAllocation = TRUE;
m_Measurement1->OwnerSystem = m_System1;

// This call will also allocate m_Measurement1 since
// its OwnerSystem property is m_System1 and
// its AutomaticAllocation property is set to TRUE
m_System1->Allocate();


Measurement.Calculate Method

Calculate method

See Also | Availability | MIL Equivalent | Allocate | Control
Reference:
Measurement.FindMarker
Measurement.Results
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasCalculate()
Measurement
Calculate
Synopsis
Performs measurement calculations between two specified markers.
[]
Syntax
object.Calculate(
ByVal Index1 As Integer,
ByVal Index2 As Integer
)
[]
Syntax
void object->Calculate(
long Index1,
long Index2
)
Index1
A long value that specifies the identifier of the marker (in the collection of markers) to use as the first reference position for calculating measurements.
Index2
A long value that specifies the identifier of the marker (in the collection of markers) to use as the second reference position for calculating measurements.
Remarks
  • Calculates the measurements specified in the MeasurementList property, using the specified markers.
  • Edge and stripe markers must have been previously located in the target image with the FindMarker method: use the Markers.Item(MarkerIndex).IsFound property to determine if a marker has been successfully located before calling the Calculate method. Note, the Calculate method uses the internal copy of results from the FindMarker method to perform the calculation.
  • A point marker is not searched for, but is placed at the required location with the Markers.Item(MarkerIndex).Position property.
  • The Markers property specifies the collection of markers available to the Measurement control.
  • If both markers are multiple markers, then calculations are made using the edges or stripes of the first marker, and the corresponding edges or stripes of the second marker. The number of calculations is limited to the smallest number of occurrences held in either marker (that is, if a marker contains only one edge or stripe, then only one calculation is performed, regardless of the number of edges or stripes contained in the other marker).
  • Results are stored in the Results property. A separate entry in the collection of results is created for each occurrence of an edge or stripe. Each call to the Calculate method clears the previous set of results, therefore save required results before calling this method.
[]
Example
This example shows how to perform measurement calculations between two specified markers.

m_Measurement1->Calculate(1, 2);


Measurement.Control Method

Control method

See Also | Availability | MIL Equivalent | Calculate | FindMarker
Reference:
Measurement.Inquire
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasControl()
Measurement
Control
Synopsis
Controls the attributes of the Measurement control.
[]
Syntax
object.Control(
ByVal ControlType As MeasInquireAndControlConstants,
ByVal ControlValue As Object
)
[]
Syntax
void object->Control(
enum MeasInquireAndControlConstants ControlType,
const _variant_t & ControlValue
)
ControlType
A MeasInquireAndControlConstants expression that specifies the attribute to be modified.
ControlValue
A variantobjectvariant (object for Visual Basic .Net) value that specifies the new value to be set.
Remark
  • This method is reserved for future expansion.


Measurement.FindMarker Method

FindMarker method

See Also | Availability | MIL Equivalent | Control | Free
Reference:
Measurement.Markers
Measurement.MeasurementList
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasFindMarker()
Measurement
FindMarker
Synopsis
Finds an edge or stripe marker in an image and takes the specified measurements.
[]
Syntax
object.FindMarker(
ByVal Index As Integer
)
[]
Syntax
void object->FindMarker(
long Index
)
Index
A long value that specifies the index of the required marker. (default is 1)
Remarks
  • This method finds the edge or stripe marker in the image and takes the measurements selected in the MeasurementList property. The number of occurrences to be found is specified with the Markers.Item(MarkerIndex).NumberOfOccurrences property.
  • The marker's characteristic settings are used to help locate the marker and can be set using the Markers property and its subproperties.
  • It is recommended that the search region be set to an angle close to that of the required marker (that is, within the marker's particular rotation tolerance), to ensure that the marker is found and that results are accurate: the greater the angle of the marker relative to the search region, the greater the distortion of the marker's actual characteristics and the chance that the marker might not be successfully located.
  • Results are stored internally with the marker and are returned with the Results property. A separate entry in the collection of results is created for each occurrence of an edge or stripe. Each call to the FindMarker method clears the previous set of results (although an internal copy is kept for performing calculations). Save the required results before calling this method. Alternatively, you can call this method with the same marker index to retrieve the required results at a later time, provided the image and the marker characteristics have not changed. Note that the second call to the FindMarker or Calculate method will retrieve the internal copy of the results rather than perform the operation again.
  • All positional results are relative to the top-left pixel in the target image, or the origin of the coordinate system if the target is a calibrated image.
[]
Example
This example finds stripes in an image and measures their position and width.

// Find the stripes and measure their position and width.
m_Measurement1->FindMarker(FIRST_MARKER);

// Get the pixel width of the first marker
m_PixelDistance1 = m_Measurement1->Results->Item(1)->Width;

// Get the edges positions in pixel to draw the annotations
double PosX1 = m_Measurement1->Results->Item(1)->Edge1->PositionX;
double PosY1 = m_Measurement1->Results->Item(1)->Edge1->PositionY;
double PosX2 = m_Measurement1->Results->Item(1)->Edge2->PositionX;
double PosY2 = m_Measurement1->Results->Item(1)->Edge2->PositionY;


Measurement.Free Method

Free method

See Also | Availability | MIL Equivalent | FindMarker | Inquire
User Guide:
Setting up controls

Reference:
Measurement.Allocate
Measurement.AutomaticAllocation
Measurement.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasFree()
Measurement
Free
Synopsis
Frees the resources of the Measurement control.
[]
Syntax
object.Free()
[]
Syntax
void object->Free()
Remarks
  • The resources associated with a Measurement control are automatically freed when the control is destroyed. You must use the Free method if you want to free the control prematurely. Note that when you free the Measurement control, all of its results are deleted, even those held internally.
  • To determine the allocation state of a control, use the IsAllocated property. While a Measurement control is in the allocated state, some of its properties cannot be changed at run-time. For example, you cannot change the type of marker while the control is allocated. At run-time, to modify a property that can not be changed after allocation, you must free the object (using the Free method, change its property(ies), and then re-allocate the control (using the Allocate method). For example, at run-time, to change the type of marker for which to search, you must free the Measurement control, make the change in Markers.Item(MarkerIndex).MarkerType property and allocate the control again.
  • The Free method will generate an error if the control is not allocated.
  • Any property can be changed when its control is in the allocated state, unless it is otherwise stated in the remarks section of that property.
[]
Example
This example shows how to use the Free method.

If Measurement1.IsAllocated Then
    Measurement1.Free()
End If
[]
Example
This example shows how to use the Free method.

if (m_Measurement1->IsAllocated)
   m_Measurement1->Free();


Measurement.Inquire Method

Inquire method

See Also | Availability | MIL Equivalent | Free | Modified
Reference:
Measurement.Control
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmeasInquire()
Measurement
Inquire
Synopsis
Inquires about the attributes of the Measurement control.
[]
Syntax
[Object =] object.Inquire(
ByVal ParamToInquire As MeasInquireAndControlConstants
)
[]
Syntax
[_variant_t =] object->Inquire(
enum MeasInquireAndControlConstants ParamToInquire
)
ParamToInquire
A MeasInquireAndControlConstants expression that specifies the attribute to inquire about.
Return value
The current value assigned to the attribute that is inquired about.
Remark
  • This method is reserved for future expansion.


Measurement.Modified Method

Modified method

See Also | Availability | MIL Equivalent | Inquire | ShowPropertyPages
User Guide:
Integrating MIL functions into your ActiveMIL code.

Reference:
Measurement.MilID
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Measurement
Modified
Synopsis
Informs the Measurement control that Native MIL calls were made on its resources.
[]
Syntax
object.Modified(
ByVal ModificationType As ActiveMILDefaultConstants
)
[]
Syntax
void object->Modified(
enum ActiveMILDefaultConstants ModificationType
)
ModificationType (optional in , default is amilDefault)
An ActiveMILDefaultConstants expression that specifies the modification type.
Value | Meaning
amilDefault | Specifies that native MIL calls were used to modify the contents of the Measurement control.
Remark
  • The Modified method should be used after performing a Native MIL Mmeas...() function on the resources of the Measurement control. This ensures that all properties of the Measurement control are updated to match their state in MIL.


Measurement.ShowPropertyPages Method

ShowPropertyPages method

Availability | MIL Equivalent | Modified | ResultsModified
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Measurement
ShowPropertyPages
Synopsis
Opens the specified property pages of the Measurement control in a window.
[]
Syntax
object.ShowPropertyPages(
ByVal Pages As MeasPropertyPagesConstants,
ByVal Caption As String,
ByVal hWndParent As Integer,
ByVal Reserved As Boolean
)
[]
Syntax
void object->ShowPropertyPages(
enum MeasPropertyPagesConstants Pages,
_bstr_t Caption,
long hWndParent,
VARIANT_BOOL Reserved
)
Pages
A MeasPropertyPagesConstants expression that specifies the page(s) to display. You can add the following constants together to display multiple pages.
Value | Meaning
measGeneralPropertyPage | Display the Measurement control's General property page.
measMeasurementListPropertyPage | Display the Measurement control's List property page.
measMarkersPropertyPage | Display the Measurement control's Markers property page.
measHistoryPropertyPage | Display the Measurement control's History property page.
measAllPropertyPages | Display all of the Measurement control's available property pages.
Caption (optional in , default is "")
A string value that specifies the caption for the property pages window. The default is an empty string, in which case a generic caption will be displayed.
hWndParent (optional in , default is 0)
A long value that specifies the window handle (HWND) of the property pages window's parent. The property pages window will be modal in relation to its parent window.
Reserved (optional in , default is True)
This parameter is reserved for future use. True is the only value available.
Value | Meaning
True | Meaning to be determined. This setting must always be used.
Remarks
  • If the Measurement control is created at design-time, the .NET ActiveX Control Importer (AxImp.exe) renames this ActiveMIL method from ShowPropertyPages() to CtlShowPropertyPages() to avoid name clashing with the ShowPropertyPages() method of the .NET Windows Form control. See the Windows Forms ActiveX Control Importer (AxImp.exe) topic in MSDN for more information. In addition, if the control is created at run-time with the AxMatrox.ActiveMIL.* namespace, you must use CtlShowPropertyPages() to call the ActiveMIL ShowPropertyPages() method.
  • This method is used to display the property pages so that properties can be set interactively at run-time.
  • This method will disable property page elements corresponding to properties that cannot be changed due to the current state of the control. For example, if a property cannot be changed while its control is in the allocated state, and the control is allocated, the corresponding element in the property page will be disabled. To change this property, call the Free method first.


Measurement.ResultsModified Event

ResultsModified event

Availability | MIL Equivalent | ShowPropertyPages
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Measurement
ResultsModified
Synopsis
Occurs after results have been modified.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_ResultsModified() Handles object.ResultsModified

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_ResultsModified(
ByVal sender As Object,
ByVal e As System.EventArgs
) Handles object.ResultsModified
[]
Syntax
void class::OnResultsModified()
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.


ModelFinder control

Availability
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Synopsis
A ModelFinder control uses geometric characteristics to help solve machine vision problems such as alignment, measurement, and inspection. The ModelFinder control provides complete support for calibration. Searches are performed in the calibrated real-world such that, even without physically correcting your images, complex distortions do not affect performance, and results can be returned in real-world units. This control is for use with 1-band, 8-bit unsigned images only.

Structure
ModelFinder |  |  |  |  |  |  | Properties: AspectRatio, AutomaticAllocation, FilterMode, Image, ImageName, IsAllocated, IsPreprocessed, KernelDepth, KernelWidth, MilID, ModelFinderType, Models, Name, OwnerSystem, OwnerSystemName, PropertyValidation, Results, StreamSize, TargetCaching, TargetEdgesResultEnabled Methods: Allocate, Control, Find, FindInEdgeFinderResults, Free, Inquire, Load, LoadStream, Modified, Preprocess, Save, SaveStream, ShowPropertyPages, UndoPreprocessing Event: ResultsModified
 | Models |  |  |  |  |  | Properties: Accuracy, Count, DetailLevel, FirstLevel, Item, ItemAtLabel, LastLevel, ModificationCount, SearchAngleEnabled, SearchPositionEnabled, SearchScaleEnabled, SharedEdges, SmoothnessLevel, Speed, Timeout, TotalNumberOfOccurrences Methods: AddCircleModel, AddCrossModel, AddDiamondModel, AddDxfModel, AddEdgeModel, AddEllipseModel, AddFromMerge, AddFromResult, AddImageModel, AddRectangleModel, AddRingModel, AddSquareModel, AddTriangleModel, Draw, Remove, RemoveItemAtLabel
 |  | Item |  |  |  |  | Properties: Acceptance, AcceptanceTarget, Angle, Calibration, CalibrationName, Certainty, CertaintyTarget, Chains, DrawingParameters, FitErrorWeightingFactor, ImageDefinition, MinimumSeparationAngle, MinimumSeparationScale, MinimumSeparationX, MinimumSeparationY, ModelType, NumberOfOccurrences, Polarity, Position, ReferenceAngle, ReferenceX, ReferenceY, Scale, SyntheticDefinition, UserLabel Methods: Control, Draw, Inquire, Mask
 |  |  | Angle |  |  |  | Properties: NegativeDelta, PositiveDelta, Value
 |  |  | Chains |  |  |  | Properties: Count, Item
 |  |  |  | Item |  |  | Property: Edgels
 |  |  |  |  | Edgels |  | Properties: Count, Item
 |  |  |  |  |  | Item | Properties: Angle, X, Y
 |  |  | DrawingParameters |  |  |  | Properties: RelativeOriginX, RelativeOriginY, ScaleX, ScaleY
 |  |  | ImageDefinition |  |  |  | Properties: DataDepth, DataType, NumberOfBands, OffsetX, OffsetY, OriginalReferenceX, OriginalReferenceY, SizeX, SizeY
 |  |  | Position |  |  |  | Properties: NegativeDeltaX, NegativeDeltaY, PositiveDeltaX, PositiveDeltaY, X, Y
 |  |  | Scale |  |  |  | Properties: Maximum, Minimum, Value
 |  |  | SyntheticDefinition |  |  |  | Properties: BoxMarginBottom, BoxMarginLeft, BoxMarginRight, BoxMarginTop, BoxOffsetX, BoxOffsetY, BoxSizeX, BoxSizeY, Circle, Cross, Diamond, Ellipse, ForegroundValue, PixelScale, Rectangle, Ring, SizeXInPixels, SizeYInPixels, Square, Triangle, YAxisFlipped
 |  |  |  | Circle |  |  | Property: Radius
 |  |  |  | Cross |  |  | Properties: Height, HorizontalThickness, VerticalThickness, Width
 |  |  |  | Diamond |  |  | Properties: Height, Width
 |  |  |  | Ellipse |  |  | Properties: Height, Width
 |  |  |  | Rectangle |  |  | Properties: Height, Width
 |  |  |  | Ring |  |  | Properties: InnerRadius, OuterRadius
 |  |  |  | Square |  |  | Property: Width
 |  |  |  | Triangle |  |  | Properties: Height, Width
 | Results |  |  |  |  |  | Properties: Count, DrawingParameters, Item, MilID, ModelAdditionCompatible, TargetChains, TimeOutEnd Methods: Draw, Get, GetMultiple
 |  | DrawingParameters |  |  |  |  | Properties: RelativeOriginX, RelativeOriginY, ScaleX, ScaleY
 |  | Item |  |  |  |  | Properties: Angle, FitError, ForwardA, ForwardB, ForwardC, ForwardD, Height, HorizontalThickness, InnerRadius, ModelChains, ModelCoverage, ModelIndex, OuterRadius, Polarity, PositionX, PositionY, Radius, ReverseA, ReverseB, ReverseC, ReverseD, Scale, Score, ScoreTarget, TargetChains, TargetCoverage, UserLabel, VerticalThickness, Width Method: Draw
 |  |  | ModelChains |  |  |  | Properties: Count, Item
 |  |  |  | Item |  |  | Property: Edgels
 |  |  |  |  | Edgels |  | Properties: Count, Item
 |  |  |  |  |  | Item | Properties: Angle, X, Y
 |  |  | TargetChains |  |  |  | Properties: Count, Item
 |  |  |  | Item |  |  | Property: Edgels
 |  |  |  |  | Edgels |  | Properties: Count, Item
 |  |  |  |  |  | Item | Properties: Angle, X, Y
 |  | TargetChains |  |  |  |  | Properties: Count, Item
 |  |  | Item |  |  |  | Property: Edgels
 |  |  |  | Edgels |  |  | Properties: Count, Item
 |  |  |  |  | Item |  | Properties: Angle, X, Y


ModelFinder.AspectRatio Property

AspectRatio property

See Also | Availability | MIL Equivalent | AutomaticAllocation
Reference:
ModelFinder.Results.Item.Draw
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
M_CONTEXT or
Value
ControlType =
M_ASPECT_RATIO
)
ModelFinder
AspectRatio
Synopsis
Returns or sets the nominal search aspect ratio for the target.
[]
Syntax
object.AspectRatio [= Double]
[]
Syntax
object->AspectRatio [= double]
Type description
A double value that specifies the aspect ratio for the target (between 0.5 - 2.0). The default value is 1.0.
Remarks
  • If the target is not calibrated, this property allows you to compensate for aspect ratio distortion in the target. This distortion is typically a side effect of the sampling rate used by the frame grabber.
  • When the target is calibrated, this property is ignored.
  • This property is mainly useful when dealing with synthetic models, since it does not compensate for aspect ratio distortion in the model.
  • When performing the search, the nominal search aspect ratio is taken into account horizontally, adjusting the target pixel width to equal the pixel height. As such, results will be returned for this corrected target coordinate system. However, the results are converted to the original target coordinate system if you draw them using the Results.Item(ModelIndex).Draw or the Results.Draw method.


ModelFinder.AutomaticAllocation Property

AutomaticAllocation property

See Also | Availability | MIL Equivalent | AspectRatio | FilterMode
User Guide:
Setting up controls - Allocating and freeing resources
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodAlloc()
ModelFinder
AutomaticAllocation
Synopsis
Returns or sets whether the resources of the ModelFinder control are automatically allocated at run-time.
[]
Syntax
object.AutomaticAllocation [= Boolean]
[]
Syntax
object->AutomaticAllocation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the control's automatic allocation.
Value | Meaning
True | The control will be allocated automatically at run-time.
False | The control must be allocated explicitly, using the Allocate method.
Remarks
  • When the AutomaticAllocation property is False, an explicit call to the Allocate method is required. You can get the allocation state of the control by reading its IsAllocated property.
  • The default value is True for controls created at design-time, and False for controls created at run-time (for example, created with the CreateObject method of the Application control).
  • When this property is set to True, automatic allocation will occur when the owner system of the ModelFinder control is allocated. For example, if System1 is set as the owner system of ModelFinder1, and System1 is not allocated, then ModelFinder1 will not be allocated, even if its AutomaticAllocation property is set to True. When System1 is allocated (with the Allocate method), ModelFinder1 will be allocated automatically if its AutomaticAllocation property is set to True.
  • The resources of the control will be freed automatically when the control is destroyed.
[]
Example
This example shows how to set the AutomaticAllocation property.

ModelFinder.AutomaticAllocation = True
ModelFinder.OwnerSystem = System1

'This call will also allocate ModelFinder since
'its OwnerSystem property is System1 and
'its AutomaticAllocation property is set to TRUE
System1.Allocate()
[]
Example
This example demonstrates how to set up this control so that it is automatically allocated when its owner System control is allocated.

m_ModelFinder1->AutomaticAllocation = TRUE;
m_ModelFinder1->OwnerSystem = m_System1;

// This call will also allocate m_ModelFinder1 since
// its OwnerSystem property is m_System1 and
// its AutomaticAllocation property is set to TRUE
m_System1->Allocate();


ModelFinder.FilterMode Property

FilterMode property

Availability | MIL Equivalent | AutomaticAllocation | Image
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL

See remarks for support on:
See remarks for support on Matrox Corona-II
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox Morphis
See remarks for support on Matrox Orion
See remarks for support on Matrox Genesis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MmodControl(
ControlType =
M_FILTER_MODE
)
ModelFinder
FilterMode
Synopsis
Returns or sets the filtering mode to use for the edge extraction.
[]
Syntax
object.FilterMode [= ModFilterModeConstants]
[]
Syntax
object->FilterMode [= enum ModFilterModeConstants]
Type description
A ModFilterModeConstants expression that specifies the filter mode.
Value | Meaning
modRecursive | Specifies the recursive filter mode.
modKernel | Specifies the kernel filter mode.
Remarks
  • Setting this property to amilDefault resets the property to the default value. The default filter mode is usually set to the most efficient mode. If special hardware is available to perform the convolution, the default is modKernel. If special hardware is not available to perform the convolution, the default is modRecursive.
  • When the filter mode is set to modRecursive, a recursive implementation of the edge extraction filter is used to perform the neighborhood operation. If modRecursive actually used a kernel, the kernel size would be theoretically infinite.
  • When the filter mode is set to modKernel, a kernel is used to perform the neighborhood operation. The size of the filter's convolution kernel is specified using the KernelWidth property. You would usually use modKernel if dedicated hardware is available to perform the convolution.
  • The size of the kernel can be constrained by the available hardware resources.
Remark for Matrox Corona-II
  • When using an IIR filter, the modKernel mode is not as efficient as the modRecursive mode, for large kernels.
Remark for Matrox CronosPlus
  • When using an IIR filter, the modKernel mode is not as efficient as the modRecursive mode, for large kernels.
Remark for Matrox Genesis
  • When using an IIR filter, the modKernel mode is not as efficient as the modRecursive mode, for large kernels.
Remark for Matrox Meteor-II /1394
  • When using an IIR filter, the modKernel mode is not as efficient as the modRecursive mode, for large kernels.
Remark for Matrox Meteor-II /Camera Link
  • When using an IIR filter, the modKernel mode is not as efficient as the modRecursive mode, for large kernels.
Remark for Matrox Meteor-II /Digital
  • When using an IIR filter, the modKernel mode is not as efficient as the modRecursive mode, for large kernels.
Remark for Matrox Meteor-II /Multi-Channel
  • When using an IIR filter, the modKernel mode is not as efficient as the modRecursive mode, for large kernels.
Remark for Matrox Meteor-II /Standard
  • When using an IIR filter, the modKernel mode is not as efficient as the modRecursive mode, for large kernels.
Remark for Matrox Morphis
  • When using an IIR filter, the modKernel mode is not as efficient as the modRecursive mode, for large kernels.
Remark for Matrox Odyssey XA
  • When using an IIR filter, the modKernel mode is not as efficient as the modRecursive mode, for large kernels.
Remark for Matrox Odyssey XCL
  • When using an IIR filter, the modKernel mode is not as efficient as the modRecursive mode, for large kernels.
Remark for Matrox Odyssey XD
  • When using an IIR filter, the modKernel mode is not as efficient as the modRecursive mode, for large kernels.
Remark for Matrox Orion
  • When using an IIR filter, the modKernel mode is not as efficient as the modRecursive mode, for large kernels.
Remark for Matrox Solios XA
  • When using an IIR filter, the modKernel mode is not as efficient as the modRecursive mode, for large kernels.
Remark for Matrox Solios XCL
  • When using an IIR filter, the modKernel mode is not as efficient as the modRecursive mode, for large kernels.


ModelFinder.Image Property

Image property

Availability | MIL Equivalent | FilterMode | ImageName
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodFind(TargetImageId)
ModelFinder
Image
Synopsis
Returns or sets the image used as the target image.
[]
Syntax
object.Image [= Image]
[]
Syntax
object->Image [= IImagePtr]
Type description
An Image control that specifies the target image.
Remarks
  • The target image is the image that is searched for occurrences of the models of the ModelFinder control when using the Find method.
  • The target image must be an unsigned, 1-band, 8-bit image.
  • The minimum and maximum target image sizes are 16x16 and 32768x32768 pixels, respectively. It is important to note that the minimum and maximum target image sizes are ActiveMIL limits. To make sure that you have enough memory, you can call the Find method; if you don't have enough memory, you will get an ActiveMIL error.
  • If you are using a ModelFinder control whose models are associated with Calibration controls, the target image must also be calibrated, using the same world. Conversely, if the models are uncalibrated, your target must be uncalibrated as well.
  • If the target image is calibrated, results are calculated in the world coordinate system, otherwise they are calculated in the image coordinate system.

    If the target image is calibrated, you can retrieve results in real-world or in pixel units. However, in the presence of distortion, some results are meaningless when converted from real-world to pixel units (for example, angle, scale, and transformation coefficient results). For example, if a model appears warped in the target image, but the Calibration control of the target image compensates for this during the model search, the resulting angle is meaningful in the real-world coordinate system, and meaningless in the image coordinate system.

  • If the target is not calibrated and the AspectRatio property is not set to 1, the nominal search aspect ratio is taken into account horizontally when performing a search, adjusting the target pixel width to equal the pixel height (the model's aspect ratio is not adjusted). As such, results will be returned for the corrected target coordinate system.
  • The image must have its CanProcess property set to True.
  • []
     Use the Visual Basic Is Nothing statement to confirm that this property is currently not associated with a control.
  • []
     To remove the reference to the current control without assigning a new control, set the property to Nothing.
  • []
     To remove the reference to the current control without assigning a new control, set the property to NULL.
  • The target image can also be specified, with the name assigned to its control, using the ImageName property.
  • This property automatically sets the ImageName property.
[]
Example
This example shows how to set the target image in the ModelFinder control.

ModelFinder.Image = ImageTarget
[]
Example
This example shows how to set the target image in the ModelFinder control.

m_ModelFinder1->Image = m_LoadedImage;


ModelFinder.ImageName Property

ImageName property

Availability | MIL Equivalent | Image | IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodFind(TargetImageId)
ModelFinder
ImageName
Synopsis
Returns or sets the name of the Image control to use as the target image.
[]
Syntax
object.ImageName [= String]
[]
Syntax
object->ImageName [= _bstr_t]
Type description
A string expression that specifies the name of the Image control to use as the target image.
Remarks
  • The target image is the image that is searched for occurrences of the models of the ModelFinder control when using the Find method.
  • The target image must be an unsigned, 1-band, 8-bit image.
  • The minimum and maximum target image sizes are 16x16 and 32768x32768 pixels, respectively. It is important to note that the minimum and maximum target image sizes are ActiveMIL limits. To make sure that you have enough memory, you can call the Find method; if you don't have enough memory, you will get an ActiveMIL error.
  • If you are using a ModelFinder control whose models are associated with Calibration controls, the target image must also be calibrated, using the same world. Conversely, if the models are uncalibrated, your target must be uncalibrated as well.
  • If the target image is calibrated, results are calculated in the world coordinate system, otherwise they are calculated in the image coordinate system.

    If the target image is calibrated, you can retrieve results in real-world or in pixel units. However, in the presence of distortion, some results are meaningless when converted from real-world to pixel units (for example, angle, scale, and transformation coefficient results). For example, if a model appears warped in the target image, but the Calibration control of the target image compensates for this during the model search, the resulting angle is meaningful in the real-world coordinate system, and meaningless in the image coordinate system.

  • If the target is not calibrated and the AspectRatio property is not set to 1, the nominal search aspect ratio is taken into account horizontally when performing a search, adjusting the target pixel width to equal the pixel height (the model's aspect ratio is not adjusted). As such, results will be returned for the corrected target coordinate system.
  • The image must have its CanProcess property set to True.
  • To remove the reference to the current control without assigning a new control, specify an empty string ("").
  • The target image can also be specified using the Image property.
  • This property automatically sets the Image property.


ModelFinder.IsAllocated Property

IsAllocated property

Availability | MIL Equivalent | ImageName | IsPreprocessed
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire()
ModelFinder
IsAllocated
Synopsis
Returns whether the resources of the ModelFinder control are allocated.
[]
Syntax
[Boolean =] object.IsAllocated
[]
Syntax
[VARIANT_BOOL =] object->IsAllocated
Type description
A boolean value that specifies whether the control is allocated.
Value | Meaning
True | The resources of the control are allocated.
False | The resources of the control are not allocated.
[]
Example
This example shows how to verify if the ModelFinder control is allocated.

If ModelFinder.IsAllocated Then
    ModelFinder.Free()
End If
[]
Example
This example shows how to use the IsAllocated property.

if (m_ModelFinder1->IsAllocated)
   m_ModelFinder1->Free();


ModelFinder.IsPreprocessed Property

IsPreprocessed property

Availability | MIL Equivalent | IsAllocated | KernelDepth
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_PREPROCESSED
)
ModelFinder
IsPreprocessed
Synopsis
Returns whether the ModelFinder control is preprocessed.
[]
Syntax
[Boolean =] object.IsPreprocessed
[]
Syntax
[VARIANT_BOOL =] object->IsPreprocessed
Type description
A boolean value that specifies whether the ModelFinder control is preprocessed.
Value | Meaning
True | The ModelFinder control is preprocessed.
False | The ModelFinder control is not preprocessed.
Remarks
  • The Preprocess method extracts the active edges of the Model Finder models and sets internal search settings so that future searches will be optimized for speed and robustness.
  • The ModelFinder control must be preprocessed before calling the Find or the FindInEdgeFinderResults method.
  • This property will return False after certain settings of the Model Finder control are changed and after a model is added or removed.


ModelFinder.KernelDepth Property

KernelDepth property

Availability | MIL Equivalent | IsPreprocessed | KernelWidth
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(M_KERNEL_DEPTH)
ModelFinder
KernelDepth
Synopsis
Returns or sets the depth of the convolution kernel used for kernel filtering mode.
[]
Syntax
object.KernelDepth [= Integer]
[]
Syntax
object->KernelDepth [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value or an ActiveMILDefaultConstants expression that specifies the kernel depth. (default is 8)
Value | Meaning
8 | Specifies a kernel depth of 8 bits.
16 | Specifies a kernel depth of 16 bits.
amilDefault | Resets the property to the default value.
Remarks
  • This property is ignored unless the FilterMode property is set to modKernel.
  • An 8-bit kernel depth is faster, though less accurate, than a 16-bit kernel depth.
  • A 16-bit kernel depth is slower, though more accurate, than an 8-bit kernel depth.


ModelFinder.KernelWidth Property

KernelWidth property

Availability | MIL Equivalent | KernelDepth | MilID
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(M_KERNEL_WIDTH)
ModelFinder
KernelWidth
Synopsis
Returns or sets the maximum X and Y size of the convolution kernel used for kernel filtering mode.
[]
Syntax
object.KernelWidth [= Integer]
[]
Syntax
object->KernelWidth [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value or a ModAutomaticConstants expression that specifies the maximum width/height of the kernel used for kernel filtering modes.
Value | Meaning
modAutomatic | The kernel size is automatically determined.
value | Specifies the maximum size of the convolution kernel to use. The size must be an odd value greater than or equal to 3.
Remarks
  • This property is ignored unless the FilterMode property is set to modKernel.
  • The size of the kernel can be constrained by the available hardware resources. Larger kernels result in longer processing times.
  • If this property is set to modAutomatic, the maximum X and Y size of the convolution kernel is set automatically, for a given smoothness factor. You can set the smoothness factor, using the Models.SmoothnessLevel property.
  • If the kernel size is set automatically, the size of the kernel (for a given smoothness factor) is calculated as the size beyond which the quantified filter values are zero. If the smoothness factor calls for a kernel size that is beyond the limits of your hardware, the smoothness will be sacrificed to achieve the largest possible kernel size.
  • If the kernel size is set to a specific value, and your hardware cannot handle the kernel size, the effective smoothness factor will be saturated to the maximum possible value for the specified kernel size.


ModelFinder.MilID Property

MilID property

See Also | Availability | MIL Equivalent | KernelWidth | ModelFinderType
User Guide:
Integrating MIL functions into your ActiveMIL code.

Reference:
ModelFinder.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodAlloc(ContextIdPtr)
ModelFinder
MilID
Synopsis
Returns the Native MIL identifier of the allocated resources of the ModelFinder control.
[]
Syntax
[Integer =] object.MilID
[]
Syntax
[long =] object->MilID
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the control's Native MIL identifier.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • The control's Modified method should be called after making Native MIL call(s) on the returned identifier.
  • If the control's IsAllocated property is False, the MilID property will be 0.


ModelFinder.ModelFinderType Property

ModelFinderType property

See Also | Availability | MIL Equivalent | MilID | Models
Reference:
ModelFinder.Models.Item.ModelType
ModelFinder.Models.SearchScaleEnabled
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodAlloc(
ModelFinderType =
M_GEOMETRIC or
M_GEOMETRIC_CONTROLLED
)
ModelFinder
ModelFinderType
Synopsis
Returns or sets the type of search algorithm used by the ModelFinder control.
[]
Syntax
object.ModelFinderType [= ModModelFinderTypeConstants]
[]
Syntax
object->ModelFinderType [= enum ModModelFinderTypeConstants]
Type description
A ModModelFinderTypeConstants expression that specifies the type of search algorithm used by the ModelFinder control.
Value | Meaning
modGeometric | Specifies that the ModelFinder control uses a general geometric search algorithm. This algorithm uses geometric features to locate user-specified models.
modGeometricControlled | Specifies that a controlled geometric search algorithm will be used.
Remarks
  • It is recommended that you use modGeometricControlled instead of modGeometric when there are only small differences in rotation and scale between the occurrence and the nominal angle and scale of the model. When there is a lot of geometric complexity, modGeometricControlled is often faster. As well, modGeometricControlled is often more robust under such conditions.
  • The SearchScaleEnabled and SearchAngleEnabled properties are both set to False when modGeometricControlled is specified. These properties cannot be set to True in this circumstance.
  • When modGeometricControlled is specified, you cannot get or draw the target edges for all of the target. You can only draw them in the region of the occurrence.
[]
Example
This example shows how to set the ModelFinderType property.

ModelFinder.ModelFinderType = modGeometric
[]
Example
This example shows how to set the ModelFinderType property.

m_ModelFinder1->ModelFinderType = modGeometric;


ModelFinder.Models Property

Models property

Availability | MIL Equivalent | ModelFinderType | Name
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ModelFinder
Models
Properties: Accuracy, Count, DetailLevel, FirstLevel, Item, ItemAtLabel, LastLevel, ModificationCount, SearchAngleEnabled, SearchPositionEnabled, SearchScaleEnabled, SharedEdges, SmoothnessLevel, Speed, Timeout, TotalNumberOfOccurrences

Methods: AddCircleModel, AddCrossModel, AddDiamondModel, AddDxfModel, AddEdgeModel, AddEllipseModel, AddFromMerge, AddFromResult, AddImageModel, AddRectangleModel, AddRingModel, AddSquareModel, AddTriangleModel, Draw, Remove, RemoveItemAtLabel
Synopsis
Returns the collection of models available to the ModelFinder control, allowing access to its elements.
[]
Syntax
[ModelFinderModels =] object.Models
[]
Syntax
[IModelFinderModelsPtr =] object->Models
Type description
A ModelFinderModels expression that represents an instance of a ModelFinderModels collection.
Remarks
  • Using the immediate properties of the Models property, you can customize all of your ModelFinder control's global search settings. These settings also determine the speed and robustness of your search, and can be adjusted to fit your individual application's needs.
  • Use the Models.AddImageModel method to add models to your ModelFinder control.
  • Individual model settings are customized using the properties of the Models.Item property.
  • All of the model search settings can affect the speed and robustness of your application. It is recommended that you begin with the default settings, and then, as your application demands, adjust the individual settings as required.
  • All values are set in pixels, regardless of whether the model source images are calibrated.


ModelFinder.Models.Accuracy Property

Accuracy property

See Also | Availability | MIL Equivalent | Count
User Guide:
Global ModelFinder control search settings
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
M_CONTEXT
ControlType =
M_ACCURACY
)
ModelFinder
Models
Accuracy
Synopsis
Returns or sets the accuracy required when searching for Model Finder models.
[]
Syntax
object.Accuracy [= ModMediumHighConstants]
[]
Syntax
object->Accuracy [= enum ModMediumHighConstants]
Type description
A ModMediumHighConstants value that sets the required positional accuracy. (default is modMedium)
Value | Meaning
modMedium | Medium accuracy and relatively fast.
modHigh | High accuracy but slower.
Remarks
  • Note that lower accuracy can speed up the Find and FindInEdgeFinderResults methods.
  • The precision achieved is dependent on the quality of the model and the target.
  • Positional accuracy is slightly affected by the setting of the Models.Speed property.
[]
Example
This example shows how to use the Accuracy property.

ModelFinder.Models.Accuracy = modHigh
[]
Example
This example shows how to use the Accuracy property.

m_ModelFinder1->Models->Accuracy = modHigh;


ModelFinder.Models.Count Property

Count property

Availability | MIL Equivalent | Accuracy | DetailLevel
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ModelFinder
Models
Count
Synopsis
Returns the number of elements in the collection of Model Finder models.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of elements currently in the collection.


ModelFinder.Models.DetailLevel Property

DetailLevel property

See Also | Availability | MIL Equivalent | Count | FirstLevel
User Guide:
Extracting edges
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
M_CONTEXT
ControlType =
M_DETAIL_LEVEL
)
ModelFinder
Models
DetailLevel
Synopsis
Returns or sets the level of details to extract from model images and the target images during edge extraction.
[]
Syntax
object.DetailLevel [= ModMediumHighConstants]
[]
Syntax
object->DetailLevel [= enum ModMediumHighConstants]
Type description
A ModMediumHighConstants expression that specifies the detail level of the ModelFinder control. (default is modMedium)
Value | Meaning
modMedium | Average detail level, suitable for most images.
modHigh | High detail level, suitable for images with low contrast.
modVeryHigh | Very high detail level, suitable for images with very low contrast. Note that this mode performs an exhaustive edge extraction and is very noise-sensitive.
Remarks
  • This property is only used when dealing with image-type models and image-type targets.
  • This property setting determines what is considered an edge/background.
  • A higher detail level will include more edges than a lower detail level.
  • The default mode (modMedium) offers a robust detection of active edges from images with contrast variation, noise, and non-uniform illumination. Nevertheless, in cases where objects of interest have a very low contrast compared to high contrast areas in the image, some low contrast edges can be missed.
  • Note that the model images and the target images are not directly modified; this property merely extracts the edge-based information from the images.
[]
Example
This example shows how to use the DetailLevel property.

ModelFinder.Models.DetailLevel = modMedium
[]
Example
This example shows how to use the DetailLevel property.

m_ModelFinder1->Models->DetailLevel = modMedium;


ModelFinder.Models.FirstLevel Property

FirstLevel property

See Also | Availability | MIL Equivalent | DetailLevel | Item
Reference:
ModelFinder.ModelFinderType
ModelFinder.Models.LastLevel
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
M_CONTEXT
ControlType =
M_FIRST_LEVEL
)
ModelFinder
Models
FirstLevel
Synopsis
Returns or sets the resolution level for the initial stage (lowest resolution) of the search.
[]
Syntax
object.FirstLevel [= Integer]
[]
Syntax
object->FirstLevel [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value or an ActiveMILDefaultConstants expression that specifies the resolution level for the initial stage of the search. (default is amilDefault)
Value | Meaning
amilDefault | Specifies that ActiveMIL determines the first resolution automatically.
value | Specifies the resolution level (0-7).
Remarks
  • This property is for advanced users of the ModelFinder control. The default setting usually provides the best result for searches.
  • This property is not supported if the ModelFinderType property is set to modGeometric.
  • Level 0 represents the original target; each higher level is half the size (and resolution) of the previous one.
  • If the specified level is not supported by the search algorithm, the highest possible level will be used.
  • A higher first level speeds up the initial search but might make it less reliable, because the model might not retain enough distinctive features at a lower resolution.


ModelFinder.Models.Item Property

Item property

See Also | Availability | MIL Equivalent | FirstLevel | ItemAtLabel
User Guide:
Model indices and labels

Reference:
ModelFinder.Models.ItemAtLabel
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
Index of model
)
ModelFinder
Models
Item
Properties: Acceptance, AcceptanceTarget, Angle, Calibration, CalibrationName, Certainty, CertaintyTarget, Chains, DrawingParameters, FitErrorWeightingFactor, ImageDefinition, MinimumSeparationAngle, MinimumSeparationScale, MinimumSeparationX, MinimumSeparationY, ModelType, NumberOfOccurrences, Polarity, Position, ReferenceAngle, ReferenceX, ReferenceY, Scale, SyntheticDefinition, UserLabel

Methods: Control, Draw, Inquire, Mask
Synopsis
Returns the element at the specified index in the collection of Model Finder models.
[]
Syntax
[ModelFinderModel=]object.Item(
Index As Integer
)
[]
Syntax
[IModelFinderModelPtr =] object->Item(
long Index
)
Index
A longintegerlong (integer for Visual Basic .Net) value that specifies the index of the required element.
Type description
A ModelFinderModel object.
Remarks
  • The index value of the first element in the collection is 1.
  • The collection of models, available through the Models.Item property, can also be accessed using the Models.ItemAtLabel method.


ModelFinder.Models.Item.Acceptance Property

Acceptance property

See Also | Availability | MIL Equivalent | AcceptanceTarget
User Guide:
Acceptance levels
Determining what is a match

Reference:
ModelFinder.Models.Item.Certainty
ModelFinder.Results.Item.Score
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
Index of the model
ControlType =
M_ACCEPTANCE
)
ModelFinder
Models
Item
Acceptance
Synopsis
Returns or sets the minimum acceptable score necessary for an occurrence of the specified model to be considered a match.
[]
Syntax
object.Acceptance [= Double]
[]
Syntax
object->Acceptance [= double]
Type description
A double value that specifies the acceptance level as a percentage (0.0 - 100.0). (default is 60.0%)
Remarks
  • The score is calculated as follows:

    Score = Model coverage x (1- (Fit error weighting factor x Normalized fit error))

    Note that the normalized fit error is the value of the Results.Item(ResultIndex).FitError property converted to a number between 0.0-1.0.

  • The score is a measure of the active edges in the model found in the occurrence, weighted by the deviation in position of these common edges.
  • The model coverage is the percentage of the total length of the model's active edges found in the occurrence. 100% indicates that for every active edge in the model, a corresponding edge was found in the occurrence. Note that using a weighted mask affects the calculation of the model coverage. Positive weighted active edges not found in the occurrence and negative weighted active edges found in the occurrence reduce the model coverage. The amount of reduction is influenced by the weight and the number of positive active edges versus the number of negative weighted active edges.
  • The fit error is a measure of how well the edges of the occurrence correspond to those of the model. The fit error is calculated as the average quadratic distance, in pixels or calibrated units, between the pixels in the occurrence and the corresponding active edges in the model. A perfect fit gives a fit error of 0.0.
  • If the correlation (match score) between the model and the occurrence is less than this level, it is not considered a match. The match score depends on the image quality. You should experiment to determine what is a typical match score for your application.
  • An acceptance level of 100% indicates that for every active edge in the model, a corresponding edge must be found in the occurrence with a perfect fit. This is generally hard to obtain.
[]
Example
This example shows how to use the Acceptance property.

ModelFinder.Models.Item(1).Acceptance = 45
[]
Example
This example shows how to use the Acceptance property.

m_ModelFinder1->Models->Item(1)->Acceptance = 45;


ModelFinder.Models.Item.AcceptanceTarget Property

AcceptanceTarget property

See Also | Availability | MIL Equivalent | Acceptance | Angle
User Guide:
Acceptance levels
Determining what is a match

Reference:
ModelFinder.Models.Item.CertaintyTarget
ModelFinder.Results.Item.ScoreTarget
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
Index of the model
ControlType =
M_ACCEPTANCE_TARGET
)
ModelFinder
Models
Item
AcceptanceTarget
Synopsis
Returns or sets the minimum acceptable target score for an occurrence of the specified model to be considered a match.
[]
Syntax
object.AcceptanceTarget [= Double]
[]
Syntax
object->AcceptanceTarget [= double]
Type description
A double value that specifies the target score acceptance level as a percentage (0.0-100.0). (default is 0.0%)
Remarks
  • The target score is calculated as follows:

    Target score = Target coverage x (1 - ((Fit error weighting factor x Normalized fit error))

    Note that the normalized fit error is the value of the Results.Item(ResultIndex).FitError property converted to a number between 0.0-1.0.

  • The target score is a measure of edges found in the occurrence that are not present in the original model (that is, extra edges), weighted by the deviation in position of the common edges.
  • The target coverage is the percentage of the total length of the model's active edges found in the occurrence, divided by the total length of edges present in the occurrence's bounding box. Thus, a target coverage of 100.0 means that no extra edges were found. Lower scores indicate that features or edges found in the target (result occurrence) are not present in the model. When using a weighted region mask, note that, although the weights themselves don't affect the target coverage, the edges corresponding to negative weights are ignored when calculating the target coverage.
  • The fit error is a measure of how well the edges of the occurrence correspond to those of the model. The fit error is calculated as the average quadratic distance, in pixels or calibrated units, between the pixels in the occurrence and the corresponding active edges in the model. A perfect fit gives a fit error of 0.0.
  • The default acceptance level is 0.0%, meaning any number of extra edges is tolerated.
  • At 100.0%, no extra edges in the occurrence are tolerated and the occurrence must have a perfect fit.
[]
Example
This example shows how to use the AcceptanceTarget property.

ModelFinder.Models.Item(1).AcceptanceTarget = 38
[]
Example
This example shows how to use the AcceptanceTarget property.

m_ModelFinder1->Models->Item(1)->AcceptanceTarget = 38;


ModelFinder.Models.Item.Angle Property

Angle property

See Also | Availability | MIL Equivalent | AcceptanceTarget | Calibration
Reference:
ModelFinder.Models.SearchAngleEnabled
ModelFinder.Results.Item.Angle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
Index of the model
ControlType =
M_ANGLE
)
ModelFinder
Models
Item
Angle
Properties: NegativeDelta, PositiveDelta, Value
Synopsis
Allows you to specify or determine the nominal angle and the angular range of the search for the model.
[]
Syntax
[ModelFinderAngle =] object.Angle
[]
Syntax
[IModelFinderAnglePtr =] object->Angle
Type description
A ModelFinderAngle object.
Remarks
  • You cannot assign another ModelFinderAngle object to this property.
  • Set the nominal angle of the search for each model using the Models.Item(ModelIndex).Angle.Value property.
  • To search for model occurrences within the angular range, calculations specific to angular-range search strategies should be enabled (set the Models.SearchAngleEnabled property to True). When enabled, the angular range should be used to cover an expected variance in angle. These calculations are not required to search for models at their nominal (expected) angle.
  • Candidates can only be returned as occurrences if found within the angular range specified for their model. If you have disabled these calculations and occurrences at angles outside of a required range are being returned, you can restrict which candidates are returned as occurrences by narrowing the angular range.


ModelFinder.Models.Item.Angle.NegativeDelta Property

NegativeDelta property

See Also | Availability | MIL Equivalent | PositiveDelta
User Guide:
Angle and angular range

Reference:
ModelFinder.Models.Item.Angle.PositiveDelta
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
Index of model
ControlType =
M_ANGLE_DELTA_NEG
)
ModelFinder
Models
Item
Angle
NegativeDelta
Synopsis
Returns or sets the lower limit of the angular range, relative to the nominal search angle.
[]
Syntax
object.NegativeDelta [= Double]
[]
Syntax
object->NegativeDelta [= double]
Type description
A double value that specifies the lower limit of the angular range, in degrees, relative to the nominal search angle. The value must be between 0.0° and 180.0°. (default is 180.0°)
Remarks
  • The nominal search angle is set with the Models.Item(ModelIndex).Angle.Value property.
  • Occurrences with angles outside the angular range cannot be returned as results.
  • To search for model occurrences within the angular range, calculations specific to angular-range search strategies should be enabled (set the Models.SearchAngleEnabled property to True). When enabled, the angular range should be used to cover an expected variance in angle.
  • The actual angle of the occurrence does not affect search speed. If you need to search for a model at discrete angles only (for example, at intervals of 90 degrees), it is typically more efficient to define several models with different expected angles, than to search through the full angular range.
[]
Example
This example shows how to use the Angle.PositiveDelta property.

ModelFinder.Models.Item(1).Angle.NegativeDelta = 70.5
[]
Example
This example shows how to use the Angle.PositiveDelta property.

m_ModelFinder1->Models->Item(1)->Angle->NegativeDelta = 70.5;


ModelFinder.Models.Item.Angle.PositiveDelta Property

PositiveDelta property

See Also | Availability | MIL Equivalent | NegativeDelta | Value
User Guide:
Angle and angular range

Reference:
ModelFinder.Models.Item.Angle.NegativeDelta
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
Index of model
ControlType =
M_ANGLE_DELTA_POS
)
ModelFinder
Models
Item
Angle
PositiveDelta
Synopsis
Returns or sets the upper limit of the angular range, relative to the nominal search angle.
[]
Syntax
object.PositiveDelta [= Double]
[]
Syntax
object->PositiveDelta [= double]
Type description
A double value that specifies the upper limit of the angular range, in degrees, relative to the nominal search angle. The value must be between 0.0° and 180.0°. (default is 180.0°)
Remarks
  • The nominal search angle is set with the Models.Item(ModelIndex).Angle.Value property.
  • Occurrences with angles outside the angular range cannot be returned as results.
  • To search for model occurrences within the angular range, calculations specific to angular-range search strategies should be enabled (set the Models.SearchAngleEnabled property to True). When enabled, the angular range should be used to cover an expected variance in angle.
  • The actual angle of the occurrence does not affect search speed. If you need to search for a model at discrete angles only (for example, at intervals of 90 degrees), it is typically more efficient to define several models with different expected angles, than to search through the full angular range.
[]
Example
This example shows how to use the Angle.PositiveDelta property.

ModelFinder.Models.Item(1).Angle.PositiveDelta = 80.8
[]
Example
This example shows how to use the Angle.PositiveDelta property.

m_ModelFinder1->Models->Item(1)->Angle->PositiveDelta = 80.8;


ModelFinder.Models.Item.Angle.Value Property

Value property

See Also | Availability | MIL Equivalent | PositiveDelta
User Guide:
Angle and angular range

Reference:
ModelFinder.Models.Item.Angle.NegativeDelta
ModelFinder.Models.Item.Angle.PositiveDelta
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
Index of model
ControlType =
M_ANGLE
)
ModelFinder
Models
Item
Angle
Value
Synopsis
Returns or sets the nominal search angle, relative to the model reference axis angle.
[]
Syntax
object.Value [= Double]
[]
Syntax
object->Value [= double]
Type description
A double value that specifies the nominal search angle, relative to the model reference axis angle. It can be set to a value between 0.0 and 360, inclusive. (default is 0.0°)
Remarks
  • To search at this angle only, set the Models.SearchAngleEnabled property of the ModelFinder control to False. Note that even if the Models.SearchAngleEnabled property is disabled, occurrences can typically still be found within the specified angular range (depending on characteristics of the actual model). If you want to ensure that ActiveMIL finds occurrences within a specific range of angles only, you should specify the required positive and negative deltas (the defaults are 180.0°).
  • To enable a search through an angular range, set the Models.SearchAngleEnabled property to True.
  • Occurrences with angles outside the angular range cannot be returned as results.
  • The range for angular search is determined based on the Models.Item(ModelIndex).Angle.PositiveDelta and Models.Item(ModelIndex).Angle.NegativeDelta properties.
[]
Example
This example shows how to use the Angle.Value property.

ModelFinder.Models.Item(1).Angle.Value = 35.6
[]
Example
This example shows how to use the Angle.Value property.

m_ModelFinder1->Models->Item(1)->Angle->Value = 35.6;


ModelFinder.Models.Item.Calibration Property

Calibration property

See Also | Availability | MIL Equivalent | Angle | CalibrationName
User Guide:
Calibration

Reference:
ModelFinder.Models.Item.CalibrationName
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
Index of the model
ControlType =
M_ASSOCIATED_CALIBRATION
)
ModelFinder
Models
Item
Calibration
Synopsis
Returns or sets the Calibration control to associate with the model.
[]
Syntax
object.Calibration [= Object]
[]
Syntax
object->Calibration [= IDispatchPtr]
Type description
A Calibration control that specifies the calibration to associate with the model.
Remarks
  • If the model source is calibrated, then that Calibration control is automatically associated with the model.
  • For a synthetic model, use this property to associate the calibration object of a calibrated target with the model.
  • Models can use different Calibration controls within the same ModelFinder control, provided all calibrations map to the same world. You cannot mix calibrated and non-calibrated models within a ModelFinder control; all models must be either calibrated or not.
  • Associations to Calibration controls are not saved when using the Save or SaveStream method. You must reassociate the Calibration control when loading the settings of a previously saved ModelFinder control.
  • []
     Use the Visual Basic Is Nothing statement to confirm that this property is currently not associated with a control.
  • []
     To remove the reference to the current control without assigning a new control, set the property to Nothing.
  • []
     To remove the reference to the current control without assigning a new control, set the property to NULL.
  • The Calibration control can also be specified, with the name assigned to its control, using the CalibrationName property.
  • This property automatically sets the CalibrationName property.


ModelFinder.Models.Item.CalibrationName Property

CalibrationName property

See Also | Availability | MIL Equivalent | Calibration | Certainty
User Guide:
Calibration

Reference:
ModelFinder.Models.Item.Calibration
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
Index of the model
ControlType =
M_ASSOCIATED_CALIBRATION
)
ModelFinder
Models
Item
CalibrationName
Synopsis
Returns or sets the name of the Calibration control to associate with the model.
[]
Syntax
object.CalibrationName [= String]
[]
Syntax
object->CalibrationName [= _bstr_t]
Type description
A string expression that specifies the name of Calibration control to associate with the model.
Remarks
  • If the model source is calibrated, then that Calibration control is automatically associated with the model.
  • For a synthetic model, use this property to associate the calibration object of a calibrated target with the model.
  • Models can use different Calibration controls within the same ModelFinder control, provided all calibrations map to the same world. However, you cannot mix calibrated and non-calibrated models within a ModelFinder control; all models must be either calibrated or not.
  • Associations to Calibration controls are not saved when using the Save or SaveStream method. You must reassociate the Calibration control when loading the settings of a previously saved ModelFinder control.
  • To remove the reference to the current control without assigning a new control, specify an empty string ("").
  • The Calibration control can also be specified using the Calibration property.
  • This property automatically sets the Calibration property.


ModelFinder.Models.Item.Certainty Property

Certainty property

See Also | Availability | MIL Equivalent | CalibrationName | CertaintyTarget
User Guide:
Certainty levels
Determining what is a match

Reference:
ModelFinder.Models.Item.Acceptance
ModelFinder.Results.Item.Score
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
Index of model
ControlType =
M_CERTAINTY
)
ModelFinder
Models
Item
Certainty
Synopsis
Returns or sets the match score at which an occurrence of the model is assumed to be a match.
[]
Syntax
object.Certainty [= Double]
[]
Syntax
object->Certainty [= double]
Type description
A double value that specifies the certainty level as a percentage. (default is 90.0%)
Remarks
  • The score is calculated as follows:

    Score = Model coverage x (1 - ((Fit error weighting factor x Normalized fit error))

    Note: the normalized fit error is the Results.Item(ResultIndex).FitError converted to a number between 0.0-1.0.

  • The model coverage is the percentage of the total length of the model's active edges found in the occurrence. 100% indicates that for every edge in the model, a corresponding edge was found in the occurrence.
  • The fit error is a measure of how well the edges of the occurrence correspond to those of the model. The fit error is calculated as the average quadratic distance, in pixels or calibrated units, between the pixels in the occurrence and the corresponding active edges in the model. A perfect fit gives a fit error of 0.0.
  • If both the score and target scores are above their respective certainty levels, the occurrence is considered a match, without searching the rest of the search region for better matches (provided the specified number of occurrences has been found).
  • If you set the certainty level too high (close to 100%), you can slow down the search because you force the search algorithm to check the whole search region for the best match. A good certainty level is slightly lower than the expected score, so the search can finish as soon as the required matches are found. However, if you set the certainty level too low false matches might be found.
  • The certainty level should typically be equal to or greater than the acceptance level.
[]
Example
This example shows how to set the Certainty property.

ModelFinder.Models.Item(1).Certainty = 100
[]
Example
This example shows how to set the Certainty property.

m_ModelFinder1->Models->Item(1)->Certainty = 100;


ModelFinder.Models.Item.CertaintyTarget Property

CertaintyTarget property

See Also | Availability | MIL Equivalent | Certainty | Chains
User Guide:
Certainty levels
Determining what is a match

Reference:
ModelFinder.Models.Item.AcceptanceTarget
ModelFinder.Results.Item.ScoreTarget
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
Index of model
ControlType =
M_CERTAINTY_TARGET
)
ModelFinder
Models
Item
CertaintyTarget
Synopsis
Returns or sets the target score at which an occurrence of the model is assumed to be a match.
[]
Syntax
object.CertaintyTarget [= Double]
[]
Syntax
object->CertaintyTarget [= double]
Type description
A double value that specifies the target certainty level as a percentage. (default is 0.0%)
Remarks
  • The target score is calculated as follows:

    Target score = Target coverage x (1 - ( (Fit error weighting factor x Normalized fit error))

    Note: the normalized fit error is the Results.Item(ResultIndex).FitError converted to a number between 0.0-1.0.

  • The target coverage is the percentage of the total length of the model's active edges found in the occurrence, divided by the total length of edges present in the occurrence's bounding box. Thus, a target coverage score of 100.0 means that no extra edges were found. Lower scores indicate that features or edges found in the target (result occurrence) are not present in the model.
  • The fit error is a measure of how well the edges of the occurrence correspond to those of the model. The fit error is calculated as the average quadratic distance, in pixels or calibrated units, between the pixels in the occurrence and the corresponding active edges in the model. A perfect fit gives a fit error of 0.0.
  • A setting of 100% for the target score certainty means that you will not tolerate any extra edges and matching active edges in the occurrence must have a perfect fit, while a setting of 0% allows for any number of extra edges.
  • If both the score and target scores are above their respective certainty levels, the occurrence is considered a match, without searching the rest of the search region for better matches (provided the specified number of occurrences has been found).
[]
Example
This example shows how to set the CertaintyTarget property.

ModelFinder.Models.Item(1).CertaintyTarget = 100
[]
Example
This example shows how to set the CertaintyTarget property.

m_ModelFinder1->Models->Item(1)->CertaintyTarget = 100;


ModelFinder.Models.Item.Chains Property

Chains property

Availability | MIL Equivalent | CertaintyTarget | DrawingParameters
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ModelFinder
Models
Item
Chains
Properties: Count, Item
Synopsis
Returns the collection of chains associated with the active edges of the model, allowing access to the collection's elements.
[]
Syntax
[ModelFinderChains =] object.Chains
[]
Syntax
[IModelFinderChainsPtr =] object->Chains
Type description
A ModelFinderChains expression that represents an instance of a ModelFinderChains collection.
Remark
  • Each chain represents an active edge in the model.


ModelFinder.Models.Item.Chains.Count Property

Count property

Availability | MIL Equivalent | Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
Index =
Index of model
InquireType =
M_NUMBER_OF_CHAINED_EDGELS
)
ModelFinder
Models
Item
Chains
Count
Synopsis
Returns the number of elements in the model's collection of active edge chains.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of elements currently in the model's collection of active edge chains.
Remark
  • Each element in the collection of chains refers to a chain composing one of the model's active edges.
[]
Example
This example shows how to get the number of Edgels in an active chain.

'Draw all the chains edgels in an image.
'
'Note that you should use the ModelFinder.Models.Item().Draw() method
'modDrawEdges operation for better performance.

For i = 1 To ModelFinder.Models.Item(1).Chains.Count
For j = 1 To ModelFinder.Models.Item(1).Chains.Item(i).Edgels.Count

        GraphicContext.DrawingRegion.StartX = _
            ModelFinder.Models.Item(1).Chains.Item(i).Edgels.Item(j).X

        GraphicContext.DrawingRegion.StartY = _
            ModelFinder.Models.Item(1).Chains.Item(i).Edgels.Item(j).Y

        GraphicContext.Dot()
    Next j
Next i
[]
Example
This example shows how to get the number of Edgels in an active chain.

// Draw all the chains' edgels in an image.
//
// Note that you should use the ModelFinder->Models->Item()->Draw() method
// modDrawEdges operation for better performance.
//
for (int i=1; i<=m_ModelFinder1->Models->Item(1)->Chains->Count; i++)
   {
   for (int j=1;
   j<=m_ModelFinder1->Models->Item(1)->Chains->Item(i)->Edgels->Count;
   j++)
      {
      m_GraphicContext1->DrawingRegion->StartX = static_cast<long>(
         m_ModelFinder1->Models->Item(1)->Chains->Item(i)->Edgels->Item(j)->X);

      m_GraphicContext1->DrawingRegion->StartY = static_cast<long>(
         m_ModelFinder1->Models->Item(1)->Chains->Item(i)->Edgels->Item(j)->Y);

      m_GraphicContext1->Dot();
      }
   }


ModelFinder.Models.Item.Chains.Item Property

Item property

Availability | MIL Equivalent | Count
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ModelFinder
Models
Item
Chains
Item
Property: Edgels
Synopsis
Returns the element at the specified index in the model's collection of active edge chains.
[]
Syntax
[ModelFinderChain=]object.Item(
Index As Integer
)
[]
Syntax
[IModelFinderChainPtr =] object->Item(
long Index
)
Index
A longintegerlong (integer for Visual Basic .Net) value that specifies the index of the required element.
Type description
A ModelFinderChain object.
Remarks
  • If the value provided as the index does not match any existing element in the collection, an error occurs. Note that the index of the first element of this collection starts at 1.
  • Each element in the collection of chains refers to a chain composing one of the model's active edges.


ModelFinder.Models.Item.Chains.Item.Edgels Property

Edgels property

Availability | MIL Equivalent
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_CHAIN_X or
M_CHAIN_Y
)
ModelFinder
Models
Item
Chains
Item
Edgels
Properties: Count, Item
Synopsis
Returns the collection of edgels in the model's active edge chain, allowing access to each element.
[]
Syntax
[ModelFinderEdgels =] object.Edgels
[]
Syntax
[IModelFinderEdgelsPtr =] object->Edgels
Type description
A ModelFinderEdgels expression that represents an instance of a ModelFinderEdgels collection.


ModelFinder.Models.Item.Chains.Item.Edgels.Count Property

Count property

Availability | MIL Equivalent | Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
Index =
Index of model
InquireType =
M_NUMBER_OF_CHAINED_EDGELS
)
ModelFinder
Models
Item
Chains
Item
Edgels
Count
Synopsis
Returns the number of elements in the chain's collection of edgels.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of elements currently in the chain's collection of edgels.
Remark
  • The elements in the collection of edgels refer to the edgels of the active edge chain.


ModelFinder.Models.Item.Chains.Item.Edgels.Item Property

Item property

Availability | MIL Equivalent | Count
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ModelFinder
Models
Item
Chains
Item
Edgels
Item
Properties: Angle, X, Y
Synopsis
Returns the element at the specified index in the chain's collection of edgels.
[]
Syntax
[ModelFinderEdgel=]object.Item(
Index As Integer
)
[]
Syntax
[IModelFinderEdgelPtr =] object->Item(
long Index
)
Index
A longintegerlong (integer for Visual Basic .Net) value that specifies the index of the required element.
Type description
A ModelFinderEdgel object.
Remarks
  • If the value provided as the index does not match any existing element in the collection, an error occurs. The index of the first element in this collection is 1.
  • The elements in the collection of edgels refer to the edgels in the active edge chain.


ModelFinder.Models.Item.Chains.Item.Edgels.Item.Angle Property

Angle property

See Also | Availability | MIL Equivalent | X
Reference:
ModelFinder.Models.Item.Chains.Item.Edgels.Item.X
ModelFinder.Models.Item.Chains.Item.Edgels.Item.Y
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
Index =
Index of model
InquireType =
M_CHAIN_ANGLE
)
ModelFinder
Models
Item
Chains
Item
Edgels
Item
Angle
Synopsis
Returns the angle value of the chained edgel of the active edge.
[]
Syntax
[Double =] object.Angle
[]
Syntax
[double =] object->Angle
Type description
A double value that specifies the angle of the chained edgel of the active edge.
[]
Example
This example shows how to get the angle of a chain edgel.

Angle = ModelFinder.Models.Item(1).Chains.Item(1).Edgels.Item(1).Angle


ModelFinder.Models.Item.Chains.Item.Edgels.Item.X Property

X property

See Also | Availability | MIL Equivalent | Angle | Y
Reference:
ModelFinder.Models.Item.Chains.Item.Edgels.Item.Angle
ModelFinder.Models.Item.Chains.Item.Edgels.Item.Y
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
Index =
Index of model
InquireType =
M_CHAIN_X
)
ModelFinder
Models
Item
Chains
Item
Edgels
Item
X
Synopsis
Returns the X-coordinate of the chained edgel of the active edge.
[]
Syntax
[Double =] object.X
[]
Syntax
[double =] object->X
Type description
A double value that specifies the X-coordinate of the chained edgel of the active edge.
Remarks
  • Together, the X and Y properties of the Models.Item(ModelIndex).Chains.Item(ChainIndex).Edgel(EdgelIndex) property define the coordinates of the chained edgel.
  • Coordinates are relative to the model origin.
[]
Example
This example shows how to get the coordinates of a chain edgel.

'Draw all the chains edgels in an image.
'
'Note that you should use the ModelFinder.Models.Item().Draw() method
'modDrawEdges operation for better performance.

For i = 1 To ModelFinder.Models.Item(1).Chains.Count
For j = 1 To ModelFinder.Models.Item(1).Chains.Item(i).Edgels.Count

        GraphicContext.DrawingRegion.StartX = _
            ModelFinder.Models.Item(1).Chains.Item(i).Edgels.Item(j).X

        GraphicContext.DrawingRegion.StartY = _
            ModelFinder.Models.Item(1).Chains.Item(i).Edgels.Item(j).Y

        GraphicContext.Dot()
    Next j
Next i
[]
Example
This example shows how to get the coordinates of a chain edgel.

// Draw all the chains' edgels in an image.
//
// Note that you should use the ModelFinder->Models->Item()->Draw() method
// modDrawEdges operation for better performance.
//
for (int i=1; i<=m_ModelFinder1->Models->Item(1)->Chains->Count; i++)
   {
   for (int j=1;
   j<=m_ModelFinder1->Models->Item(1)->Chains->Item(i)->Edgels->Count;
   j++)
      {
      m_GraphicContext1->DrawingRegion->StartX = static_cast<long>(
         m_ModelFinder1->Models->Item(1)->Chains->Item(i)->Edgels->Item(j)->X);

      m_GraphicContext1->DrawingRegion->StartY = static_cast<long>(
         m_ModelFinder1->Models->Item(1)->Chains->Item(i)->Edgels->Item(j)->Y);

      m_GraphicContext1->Dot();
      }
   }


ModelFinder.Models.Item.Chains.Item.Edgels.Item.Y Property

Y property

See Also | Availability | MIL Equivalent | X
Reference:
ModelFinder.Models.Item.Chains.Item.Edgels.Item.Angle
ModelFinder.Models.Item.Chains.Item.Edgels.Item.X
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
Index =
Index of model
InquireType =
M_CHAIN_Y
)
ModelFinder
Models
Item
Chains
Item
Edgels
Item
Y
Synopsis
Returns the Y-coordinate of the chained edgel of the active edge.
[]
Syntax
[Double =] object.Y
[]
Syntax
[double =] object->Y
Type description
A double value that specifies the Y-coordinate of the chained edgel of the active edge.
Remarks
  • Together, the X and Y properties of the Models.Item(ModelIndex).Chains.Item(ChainIndex).Edgels(EdgelIndex) property define the coordinates of the chained edgel.
  • Coordinates are relative to the model origin.
[]
Example
This example shows how to get the coordinates of a chain edgel.

'Draw all the chains edgels in an image.
'
'Note that you should use the ModelFinder.Models.Item().Draw() method
'modDrawEdges operation for better performance.

For i = 1 To ModelFinder.Models.Item(1).Chains.Count
For j = 1 To ModelFinder.Models.Item(1).Chains.Item(i).Edgels.Count

        GraphicContext.DrawingRegion.StartX = _
            ModelFinder.Models.Item(1).Chains.Item(i).Edgels.Item(j).X

        GraphicContext.DrawingRegion.StartY = _
            ModelFinder.Models.Item(1).Chains.Item(i).Edgels.Item(j).Y

        GraphicContext.Dot()
    Next j
Next i
[]
Example
This example shows how to get the coordinates of a chain edgel.

// Draw all the chains' edgels in an image.
//
// Note that you should use the ModelFinder->Models->Item()->Draw() method
// modDrawEdges operation for better performance.
//
for (int i=1; i<=m_ModelFinder1->Models->Item(1)->Chains->Count; i++)
   {
   for (int j=1;
   j<=m_ModelFinder1->Models->Item(1)->Chains->Item(i)->Edgels->Count;
   j++)
      {
      m_GraphicContext1->DrawingRegion->StartX = static_cast<long>(
         m_ModelFinder1->Models->Item(1)->Chains->Item(i)->Edgels->Item(j)->X);

      m_GraphicContext1->DrawingRegion->StartY = static_cast<long>(
         m_ModelFinder1->Models->Item(1)->Chains->Item(i)->Edgels->Item(j)->Y);

      m_GraphicContext1->Dot();
      }
   }


ModelFinder.Models.Item.DrawingParameters Property

DrawingParameters property

See Also | Availability | MIL Equivalent | Chains | FitErrorWeightingFactor
Reference:
ModelFinder.Models.Draw
ModelFinder.Models.Item.Draw
ModelFinder.Models.Item.DrawingParameters.RelativeOriginX
ModelFinder.Models.Item.DrawingParameters.RelativeOriginY
ModelFinder.Models.Item.DrawingParameters.ScaleX
ModelFinder.Models.Item.DrawingParameters.ScaleY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
ControlType =
M_DRAW_RELATIVE_ORIGIN_XM_DRAW_RELATIVE_ORIGIN_YM_DRAW_SCALE_XM_DRAW_SCALE_Y
)

MmodInquire(
InquireType =
M_DRAW_RELATIVE_ORIGIN_XM_DRAW_RELATIVE_ORIGIN_YM_DRAW_SCALE_XM_DRAW_SCALE_Y
)
ModelFinder
Models
Item
DrawingParameters
Properties: RelativeOriginX, RelativeOriginY, ScaleX, ScaleY
Synopsis
Allows you to specify or determine the parameters used when drawing a model.
[]
Syntax
[ModelFinderDrawingParameters =] object.DrawingParameters
[]
Syntax
[IModelFinderDrawingParametersPtr =] object->DrawingParameters
Type description
A ModelFinderDrawingParameters object.
Remarks
  • You cannot assign another ModelFinderDrawingParameters object to this property.
  • These drawing parameters are used by the Models.Draw and Models.Item(ModelIndex).Draw methods.
  • These drawing parameters determine the scale and region of the model image from which to draw the specific features.
  • The DrawingParameters.RelativeOriginX and DrawingParameters.RelativeOriginY properties specify, in pixels, the coordinates of the top-left corner of the region in the model image, while the DrawingParameters.ScaleX and DrawingParameters.ScaleY properties specify the X- and Y-scaling factors used to fill the destination image.
  • The actual size of the region from which to draw is determined by the scale factors and the size of the destination image.


ModelFinder.Models.Item.DrawingParameters.RelativeOriginX Property

RelativeOriginX property

Availability | MIL Equivalent | RelativeOriginY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
ControlType =
M_DRAW_RELATIVE_ORIGIN_X
)

MmodInquire(
InquireType =
M_DRAW_RELATIVE_ORIGIN_X
)
ModelFinder
Models
Item
DrawingParameters
RelativeOriginX
Synopsis
Returns or sets the X-coordinate of the drawing region's top-left corner in the model image.
[]
Syntax
object.RelativeOriginX [= Double]
[]
Syntax
object->RelativeOriginX [= double]
Type description
A double value or an ActiveMILDefaultConstants expression that specifies, in pixels, the X-coordinate of the top-left corner of region from which to draw. (default is 0.0)
Value | Meaning
amilDefault | Resets the property to the default value.
value | Specifies, in pixels, the X-coordinate of the top-left corner of the model image's region from which to draw.
Remark
  • This property does not get saved with the settings of the ModelFinder control when you use the Save method or the SaveStream method. Upon restoration, this property needs to be set again.


ModelFinder.Models.Item.DrawingParameters.RelativeOriginY Property

RelativeOriginY property

Availability | MIL Equivalent | RelativeOriginX | ScaleX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
ControlType =
M_DRAW_RELATIVE_ORIGIN_Y
)

MmodInquire(
InquireType =
M_DRAW_RELATIVE_ORIGIN_Y
)
ModelFinder
Models
Item
DrawingParameters
RelativeOriginY
Synopsis
Returns or sets the Y-coordinate of the drawing region's top-left corner in the model image.
[]
Syntax
object.RelativeOriginY [= Double]
[]
Syntax
object->RelativeOriginY [= double]
Type description
A double value or an ActiveMILDefaultConstants expression that specifies, in pixels, the Y-coordinate of the top-left corner of region from which to draw. (default is 0.0)
Value | Meaning
amilDefault | Resets the property to the default value.
value | Specifies, in pixels, the Y-coordinate of the top-left corner of the model image's region from which to draw.
Remark
  • This property does not get saved with the settings of the ModelFinder control when you use the Save method or the SaveStream method. Upon restoration, this property needs to be set again.


ModelFinder.Models.Item.DrawingParameters.ScaleX Property

ScaleX property

Availability | MIL Equivalent | RelativeOriginY | ScaleY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
ControlType =
M_DRAW_SCALE_X
)

MmodInquire(
InquireType =
M_DRAW_SCALE_X
)
ModelFinder
Models
Item
DrawingParameters
ScaleX
Synopsis
Returns or sets the scale factor in the X-direction.
[]
Syntax
object.ScaleX [= Double]
[]
Syntax
object->ScaleX [= double]
Type description
A double value or an ActiveMILDefaultConstants expression that specifies the factor with which to scale in the X-direction. (default is 1.0)
Value | Meaning
amilDefault | Resets the property to the default value.
value | Specifies the factor with which to scale in the X-direction.
Remark
  • This property does not get saved with the settings of the ModelFinder control when you use the Save method or the SaveStream method. Upon restoration, this scale needs to be set again.


ModelFinder.Models.Item.DrawingParameters.ScaleY Property

ScaleY property

Availability | MIL Equivalent | ScaleX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
ControlType =
M_DRAW_SCALE_Y
)

MmodInquire(
InquireType =
M_DRAW_SCALE_Y
)
ModelFinder
Models
Item
DrawingParameters
ScaleY
Synopsis
Returns or sets the scale factor in the Y-direction.
[]
Syntax
object.ScaleY [= Double]
[]
Syntax
object->ScaleY [= double]
Type description
A double value or an ActiveMILDefaultConstants expression that specifies the factor with which to scale in the Y-direction. (default is 1.0)
Value | Meaning
amilDefault | Resets the property to the default value.
value | Specifies the factor with which to scale in the Y-direction.
Remark
  • This property does not get saved with the settings of the ModelFinder control when you use the Save method or the SaveStream method. Upon restoration, this scale needs to be set again.


ModelFinder.Models.Item.FitErrorWeightingFactor Property

FitErrorWeightingFactor property

See Also | Availability | MIL Equivalent | DrawingParameters | ImageDefinition
User Guide:
Fit error weighting factor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
Index of model
ControlType =
M_FIT_ERROR_WEIGHTING_FACTOR
)
ModelFinder
Models
Item
FitErrorWeightingFactor
Synopsis
Returns or sets the fit error weighting factor for the model. This factor determine the contribution of the fit error in the score and target score calculation.
[]
Syntax
object.FitErrorWeightingFactor [= Double]
[]
Syntax
object->FitErrorWeightingFactor [= double]
Type description
A double value from 0.0-100.0 that specifies the fit error weighting factor. (default is 25.0)
Remarks
  • The fit error is a measure of how well the edges of the occurrence correspond to those of the model. The fit error is calculated as the average quadratic distance, in pixels or calibrated units, between the pixels in the occurrence and the corresponding active edges in the model. A perfect fit gives a fit error of 0.0.
  • This factor determines the contribution of the fit error in the score and target score calculation. The higher the percentage, the greater the contribution of the fit error in determining the score and target score.
[]
Example
This example shows how to use the FitErrorWeightingFactor property.

ModelFinder.Models.Item(1).FitErrorWeightingFactor = 1.2
[]
Example
This example shows how to use the FitErrorWeightingFactor property.

m_ModelFinder1->Models->Item(1)->FitErrorWeightingFactor = 1.2;


ModelFinder.Models.Item.ImageDefinition Property

ImageDefinition property

See Also | Availability | MIL Equivalent | FitErrorWeightingFactor | MinimumSeparationAngle
Reference:
ModelFinder.Models.AddImageModel
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodDefine(
ModelType =
M_IMAGE
Param1 =
Image Identifier
)

MmodInquire()
ModelFinder
Models
Item
ImageDefinition
Properties: DataDepth, DataType, NumberOfBands, OffsetX, OffsetY, OriginalReferenceX, OriginalReferenceY, SizeX, SizeY
Synopsis
Allows you to inquire about the settings used to define the model from the model source image.
[]
Syntax
[ModelFinderImageDefinition =] object.ImageDefinition
[]
Syntax
[IModelFinderImageDefinitionPtr =] object->ImageDefinition
Type description
A ModelFinderImageDefinition object that returns the settings used to define the model from the model source image.
Remarks
  • The properties of this property return the parameter settings used with the Models.AddImageModel method to define the model, if it is an image-type model.
  • The properties of this property return information about a model defined with the Models.AddEdgeModel method, if it is an Edge Finder-type model.


ModelFinder.Models.Item.ImageDefinition.DataDepth Property

DataDepth property

See Also | Availability | MIL Equivalent | DataType
User Guide:
Child images
Data type And depth

Reference:
ModelFinder.Models.Item.ImageDefinition.DataType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_ALLOC_SIZE_BIT
)
ModelFinder
Models
Item
ImageDefinition
DataDepth
Synopsis
Returns the model image's data depth per image band.
[]
Syntax
[Integer =] object.DataDepth
[]
Syntax
[long =] object->DataDepth
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of bits. Possible values are 1, 8, 16, and 32.
Remark
  • The possible DataType settings for the corresponding DataDepth settings are:
    DataDepth | DataType
    8, 16, or 32 | modSigned
    1, 8, 16, or 32 | modUnsigned
    32 | modFloat


ModelFinder.Models.Item.ImageDefinition.DataType Property

DataType property

See Also | Availability | MIL Equivalent | DataDepth | NumberOfBands
User Guide:
Child images
Data type and depth

Reference:
ModelFinder.Models.Item.ImageDefinition.DataDepth
ModelFinder.Models.Item.ImageDefinition.NumberOfBands
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_ALLOC_SIGN
)

MmodInquire(
InquireType =
M_ALLOC_TYPE
)
ModelFinder
Models
Item
ImageDefinition
DataType
Synopsis
Returns the model image's data type.
[]
Syntax
[ModDataTypeConstants =] object.DataType
[]
Syntax
[enum ModDataTypeConstants =] object->DataType
Type description
A ModDataTypeConstants expression that specifies the data type.
Value | Meaning
modSigned | The date includes only integers.
modUnsigned | The data includes only non-negative integers.
modFloat | The data includes only floating-point numbers.
Remarks
  • The possible DataDepth settings for the corresponding DataType settings are:
    DataType | DataDepth
    modSigned | 8, 16, or 32
    modUnsigned | 1, 8, 16, or 32
    modFloat | 32
  • This property will always return modUnsigned for synthetic, Model Finder-type, and merge-type models.


ModelFinder.Models.Item.ImageDefinition.NumberOfBands Property

NumberOfBands property

See Also | Availability | MIL Equivalent | DataType | OffsetX
User Guide:
Child images
Dimensions
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_ALLOC_SIZE_BAND
)
ModelFinder
Models
Item
ImageDefinition
NumberOfBands
Synopsis
Returns the number of bands of the model image.
[]
Syntax
[Integer =] object.NumberOfBands
[]
Syntax
[long =] object->NumberOfBands
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of bands (1 or 3).
Remark
  • When drawing the model image, use this property to establish the required number of bands for the destination image.


ModelFinder.Models.Item.ImageDefinition.OffsetX Property

OffsetX property

See Also | Availability | MIL Equivalent | NumberOfBands | OffsetY
User Guide:
Defining and adding models to your ModelFinder control
Guidelines for choosing models

Reference:
ModelFinder.Models.AddImageModel
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
Index =
Index of the model
InquireType =
M_ALLOC_OFFSET_X
)
ModelFinder
Models
Item
ImageDefinition
OffsetX
Synopsis
Returns the offset, in the X-direction, of the specified model in the model source image.
[]
Syntax
[Double =] object.OffsetX
[]
Syntax
[double =] object->OffsetX
Type description
A double value that returns the X-offset, in pixels, of the model in the model source image.
Remarks
  • This property is only supported for image-type or Edge Finder-type models. For a synthetic model, use the Models.Item(ModelIndex).SyntheticDefinition.BoxOffsetX property instead.
  • This property returns the OffsetX parameter setting used with the Models.AddImageModel method when defining the model, if it is an image-type model.


ModelFinder.Models.Item.ImageDefinition.OffsetY Property

OffsetY property

See Also | Availability | MIL Equivalent | OffsetX | OriginalReferenceX
User Guide:
Defining and adding models to your ModelFinder control
Guidelines for choosing models

Reference:
ModelFinder.Models.AddImageModel
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
Index =
Index of the model
InquireType =
M_ALLOC_OFFSET_Y
)
ModelFinder
Models
Item
ImageDefinition
OffsetY
Synopsis
Returns the offset, in the Y-direction, of the specified model in the model source image.
[]
Syntax
[Double =] object.OffsetY
[]
Syntax
[double =] object->OffsetY
Type description
A double value that returns the Y-offset, in pixels, of the model in the model source image.
Remarks
  • This property is only supported for image-type or Edge Finder-type models. For a synthetic model, use the Models.Item(ModelIndex).SyntheticDefinition.BoxOffsetY property instead.
  • This property returns the OffsetY parameter setting used with the Models.AddImageModel method when defining the model, if it is an image-type model.


ModelFinder.Models.Item.ImageDefinition.OriginalReferenceX Property

OriginalReferenceX property

See Also | Availability | MIL Equivalent | OffsetY | OriginalReferenceY
User Guide:
Defining and adding models to your ModelFinder control
Guidelines for choosing models

Reference:
ModelFinder.Models.AddImageModel
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
Index =
Index of the model
InquireType =
M_ORIGINAL_X
)
ModelFinder
Models
Item
ImageDefinition
OriginalReferenceX
Synopsis
Returns the X-coordinate of the model's reference axis origin, relative to the top-left corner of the model source image.
[]
Syntax
[Double =] object.OriginalReferenceX
[]
Syntax
[double =] object->OriginalReferenceX
Type description
A double value that returns the X-coordinate of the model's reference axis origin, in pixels, relative to the top-left corner of the model source image.
Remarks
  • Together, the OriginalReferenceX and OriginalReferenceY properties of the Models.Item(ModelIndex).ImageDefinition property return the coordinates of the reference axis origin. These properties are automatically updated if the reference axis origin is changed.
  • You can change the model's reference axis origin using the ReferenceX, ReferenceY, and ReferenceAngle properties of the Models.Item property. You can also inquire the position of the reference axis using these properties; however, these properties return the position relative to the model origin.
  • The value of this property is the equivalent to adding Models.Item(ModelIndex).ImageDefinition.OffsetX to Models.Item(ModelIndex).ReferenceX.
  • The model's reference axis origin determines the position which is returned for an occurrence of the model, using the Results.Item(ResultIndex).PositionX and Results.Item(ResultIndex).PositionY properties, following a successful search using the Find or FindInEdgeFinderResults method.
  • To determine the offset of the model in the model source image, use the OffsetX and OffsetY properties of the Models.Item(ModelIndex).ImageDefinition property.


ModelFinder.Models.Item.ImageDefinition.OriginalReferenceY Property

OriginalReferenceY property

See Also | Availability | MIL Equivalent | OriginalReferenceX | SizeX
User Guide:
Defining and adding models to your ModelFinder control
Guidelines for choosing models

Reference:
ModelFinder.Models.AddImageModel
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
Index =
Index of the model
InquireType =
M_ORIGINAL_Y
)
ModelFinder
Models
Item
ImageDefinition
OriginalReferenceY
Synopsis
Returns the Y-coordinate of the model's reference axis origin, relative to the top-left corner of the model source image.
[]
Syntax
[Double =] object.OriginalReferenceY
[]
Syntax
[double =] object->OriginalReferenceY
Type description
A double value that returns the Y-coordinate of the model's reference axis origin, in pixels, relative to the top-left corner of the model source image.
Remarks
  • Together, the OriginalReferenceX and OriginalReferenceY properties of the Models.Item(ModelIndex).ImageDefinition property return the coordinates of the reference axis origin. These properties are automatically updated if the reference axis origin is changed.
  • You can change the model's reference axis origin using the ReferenceX, ReferenceY, and ReferenceAngle properties of the Models.Item property. You can also inquire the position of the reference axis using these properties; however, these properties return the position relative to the model origin.
  • The value of this property is the equivalent to adding Models.Item(ModelIndex).ImageDefinition.OffsetY to Models.Item(ModelIndex).ReferenceY.
  • The model's reference axis origin determines the position which is returned for an occurrence of the model, using the Results.Item(ResultIndex).PositionX and Results.Item(ResultIndex).PositionY properties, following a successful search using the Find or FindInEdgeFinderResults method.
  • To determine the offset of the model in the model source image, use the OffsetX and OffsetY properties of the Models.Item(ModelIndex).ImageDefinition property.


ModelFinder.Models.Item.ImageDefinition.SizeX Property

SizeX property

See Also | Availability | MIL Equivalent | OriginalReferenceY | SizeY
User Guide:
Defining and adding models to your ModelFinder control
Guidelines for choosing models

Reference:
ModelFinder.Models.AddImageModel
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
Index =
Index of the model
InquireType =
M_ALLOC_SIZE_X
)
ModelFinder
Models
Item
ImageDefinition
SizeX
Synopsis
Returns the width of the specified model.
[]
Syntax
[Double =] object.SizeX
[]
Syntax
[double =] object->SizeX
Type description
A double value that returns the width, in pixels, of the model.
Remark
  • This property returns the SizeX parameter setting used with the Models.AddImageModel method when defining the model, if it is an image-type model.


ModelFinder.Models.Item.ImageDefinition.SizeY Property

SizeY property

See Also | Availability | MIL Equivalent | SizeX
User Guide:
Defining and adding models to your ModelFinder control
Guidelines for choosing models

Reference:
ModelFinder.Models.AddImageModel
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
Index =
Index of the model
InquireType =
M_ALLOC_SIZE_Y
)
ModelFinder
Models
Item
ImageDefinition
SizeY
Synopsis
Returns the height of the specified model.
[]
Syntax
[Double =] object.SizeY
[]
Syntax
[double =] object->SizeY
Type description
A double value that returns the height, in pixels, of the model.
Remark
  • This property returns the SizeY parameter setting used with the Models.AddImageModel method when defining the model, if it is an image-type model.


ModelFinder.Models.Item.MinimumSeparationAngle Property

MinimumSeparationAngle property

See Also | Availability | MIL Equivalent | ImageDefinition | MinimumSeparationScale
User Guide:
Separation

Reference:
ModelFinder.Models.Item.MinimumSeparationScale
ModelFinder.Models.Item.MinimumSeparationX
ModelFinder.Models.Item.MinimumSeparationY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
Index of the model
ControlType =
M_MIN_SEPARATION_ANGLE
)
ModelFinder
Models
Item
MinimumSeparationAngle
Synopsis
Returns or sets the minimum angular separation between two occurrences in order for them to be considered distinct matches.
[]
Syntax
object.MinimumSeparationAngle [= Double]
[]
Syntax
object->MinimumSeparationAngle [= double]
Type description
A double value or a ModDisableConstants expression that specifies the minimum angular separation, in absolute degrees, between two occurrences in order for them to be considered distinct matches. (default is 10.0)
Value | Meaning
modDisable | Disables the minimum angle separation criteria.
value | Specifies the minimum angular separation, in absolute degrees (0.0-180.0), between two occurrences in order for them to be considered distinct matches.
Remarks
  • For two occurrences to be considered distinct (two separate occurrences), only one of the minimum separation criteria, specified using the MinimumSeparationAngle, MinimumSeparationScale, MinimumSeparationX, and MinimumSeparationY properties of the Models.Item property, needs to be respected.

    DISTINCT OCCURRENCE = (Separation in X) OR (Separation in Y) OR (Separation in Angle) OR (Separation in Scale)

  • When disabled (modDisable), two occurrences of the same model are never distinct in terms of angle. That is, angle is not considered when determining if two occurrences of the same model are distinct.
[]
Example
This example shows how to use the MinimumSeparationAngle property.

ModelFinder.Models.Item(1).MinimumSeparationAngle = 9.7
[]
Example
This example shows how to use the MinimumSeparationAngle property.

m_ModelFinder1->Models->Item(1)->MinimumSeparationAngle = 9.7;


ModelFinder.Models.Item.MinimumSeparationScale Property

MinimumSeparationScale property

See Also | Availability | MIL Equivalent | MinimumSeparationAngle | MinimumSeparationX
User Guide:
Separation

Reference:
ModelFinder.Models.Item.MinimumSeparationAngle
ModelFinder.Models.Item.MinimumSeparationX
ModelFinder.Models.Item.MinimumSeparationY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
Index of the model
ControlType =
M_MIN_SEPARATION_SCALE
)
ModelFinder
Models
Item
MinimumSeparationScale
Synopsis
Returns or sets the minimum separation in scale between two occurrences in order for them to be considered distinct matches.
[]
Syntax
object.MinimumSeparationScale [= Double]
[]
Syntax
object->MinimumSeparationScale [= double]
Type description
A double value or a ModDisableConstants expression that specifies the minimum separation in scale between two occurrences in order for them to be considered distinct matches. (default is 1.1)
Value | Meaning
modDisable | Disables the minimum scale separation criteria.
value | Specifies the minimum separation in scale between two occurrences in order for them to be considered distinct matches. This value is specified as a scale factor (1.0 - 4.0).
Remarks
  • For two occurrences to be considered distinct (two separate occurrences), only one of the minimum separation criteria, specified using the MinimumSeparationAngle, MinimumSeparationScale, MinimumSeparationX, and MinimumSeparationY properties of the Models.Item property, needs to be respected.

    DISTINCT OCCURRENCE = (Separation in X) OR (Separation in Y) OR (Separation in Angle) OR (Separation in Scale)

  • When disabled (modDisable), two occurrences of the same model are never distinct in terms of scale. That is, the scale is not considered when determining if two occurrences of the same model are distinct.
[]
Example
This example shows how to use the MinimumSeparationScale property.

ModelFinder.Models.Item(1).MinimumSeparationScale = 1.12


ModelFinder.Models.Item.MinimumSeparationX Property

MinimumSeparationX property

See Also | Availability | MIL Equivalent | MinimumSeparationScale | MinimumSeparationY
User Guide:
Separation

Reference:
ModelFinder.Models.Item.MinimumSeparationAngle
ModelFinder.Models.Item.MinimumSeparationScale
ModelFinder.Models.Item.MinimumSeparationY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
Index of the model
ControlType =
M_MIN_SEPARATION_X
)
ModelFinder
Models
Item
MinimumSeparationX
Synopsis
Returns or sets the minimum separation in the X-direction between two occurrences in order for them to be considered distinct matches.
[]
Syntax
object.MinimumSeparationX [= Double]
[]
Syntax
object->MinimumSeparationX [= double]
Type description
A double value or a ModDisableConstants expression that specifies the minimum separation in the X-direction, in pixels, between two occurrences in order for them to be considered distinct matches. (default is 10.0)
Value | Meaning
modDisable | Disables the minimum separation in X criteria.
value | Specifies the minimum separation in the X-direction, in pixels, between two occurrences in order for them to be considered distinct matches. This value is specified as percentage of the width of the model at the nominal search scale value. This value can be greater than 100.0%.
Remarks
  • The nominal (expected) search scale of the model is specified using the Models.Item(ModelIndex).Scale.Value property.
  • For two occurrences to be considered distinct (two separate occurrences), only one of the minimum separation criteria, specified using the MinimumSeparationAngle, MinimumSeparationScale, MinimumSeparationX, and MinimumSeparationY properties of the Models.Item property, needs to be respected.

    DISTINCT OCCURRENCE = (Separation in X) OR (Separation in Y) OR (Separation in Angle) OR (Separation in Scale)

  • When disabled (modDisable), two occurrences of the same model are never distinct in terms of position in X. That is, the X position is not considered when determining if two occurrences of the same model are distinct.
[]
Example
This example shows how to use the MinimumSeparationX property.

ModelFinder.Models.Item(1).MinimumSeparationX = 12
[]
Example
This example shows how to use the MinimumSeparationX property.

m_ModelFinder1->Models->Item(1)->MinimumSeparationX = 12;


ModelFinder.Models.Item.MinimumSeparationY Property

MinimumSeparationY property

See Also | Availability | MIL Equivalent | MinimumSeparationX | ModelType
User Guide:
Separation

Reference:
ModelFinder.Models.Item.MinimumSeparationAngle
ModelFinder.Models.Item.MinimumSeparationScale
ModelFinder.Models.Item.MinimumSeparationX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
Index of the model
ControlType =
M_MIN_SEPARATION_Y
)
ModelFinder
Models
Item
MinimumSeparationY
Synopsis
Returns or sets the minimum separation in the Y-direction between two occurrences in order for them to be considered distinct matches.
[]
Syntax
object.MinimumSeparationY [= Double]
[]
Syntax
object->MinimumSeparationY [= double]
Type description
A double value or a ModDisableConstants expression that specifies the minimum separation in the Y-direction, in pixels, between two occurrences in order for them to be considered distinct matches. (default is 10.0)
Value | Meaning
modDisable | Disables the minimum separation in Y criteria.
value | Specifies the minimum separation in the Y-direction, in pixels, between two occurrences in order for them to be considered distinct matches. This value is specified as percentage of height of the model at the nominal search scale value. This value can be greater than 100.0%.
Remarks
  • The nominal (expected) search scale of the model is specified using the Models.Item(ModelIndex).Scale.Value property.
  • For two occurrences to be considered distinct (two separate occurrences), only one of the minimum separation criteria, specified using the MinimumSeparationAngle, MinimumSeparationScale, MinimumSeparationX, and MinimumSeparationY properties of the Models.Item property, needs to be respected.

    DISTINCT OCCURRENCE = (Separation in X) OR (Separation in Y) OR (Separation in Angle) OR (Separation in Scale)

  • When disabled (modDisable), two occurrences of the same model are never distinct in terms of position in Y. That is, the Y position is not considered when determining if two occurrences of the same model are distinct.
[]
Example
This example shows how to use the MinimumSeparationY property.

ModelFinder.Models.Item(1).MinimumSeparationY = 36
[]
Example
This example shows how to use the MinimumSeparationY property.

m_ModelFinder1->Models->Item(1)->MinimumSeparationY = 36;


ModelFinder.Models.Item.ModelType Property

ModelType property

See Also | Availability | MIL Equivalent | MinimumSeparationY | NumberOfOccurrences
Reference:
ModelFinder.Models.AddCircleModel
ModelFinder.Models.AddCrossModel
ModelFinder.Models.AddDxfModel
ModelFinder.Models.AddEdgeModel
ModelFinder.Models.AddEllipseModel
ModelFinder.Models.AddImageModel
ModelFinder.Models.AddRectangleModel
ModelFinder.Models.AddRingModel
ModelFinder.Models.AddSquareModel
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodDefine(
ModelType =
M_CIRCLE or
M_CROSS or
M_DXF_FILE or
M_EDGE_RESULT or
M_ELLIPSE or
M_IMAGE or
M_RECTANGLE or
M_RING or
M_SQUARE
)
ModelFinder
Models
Item
ModelType
Synopsis
Returns the model type.
[]
Syntax
[ModModelTypeConstants =] object.ModelType
[]
Syntax
[enum ModModelTypeConstants =] object->ModelType
Type description
A ModModelTypeConstants value that specifies the type of model.
Value | Meaning
modImage | Specifies a model defined from a user-specified image.
modCircle | Specifies a predefined circle as a model.
modCross | Specifies a predefined cross as a model.
modDxfFile | Specifies a model defined from an entity in the specified CAD DXF file.
modEdge | Specifies a model defined from the previously calculated Results properties of the EdgeFinder control.
modEllipse | Specifies a predefined ellipse as a model.
modRectangle | Specifies a predefined rectangle as a model.
modRing | Specifies a predefined ring as a model.
modSquare | Specifies a predefined square as a model.
Remark
  • The model type is determined by the Models.Add.xxxModel method used.


ModelFinder.Models.Item.NumberOfOccurrences Property

NumberOfOccurrences property

See Also | Availability | MIL Equivalent | ModelType | Polarity
User Guide:
Expected number of occurrences

Reference:
ModelFinder.Models.Item.Acceptance
ModelFinder.Results.Item.Score
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
Index of model
ControlType =
M_NUMBER
)
ModelFinder
Models
Item
NumberOfOccurrences
Synopsis
Returns or sets the number of occurrences of the specified model to search for in the target.
[]
Syntax
object.NumberOfOccurrences [= Integer]
[]
Syntax
object->NumberOfOccurrences [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value or a ModDefaultConstants expression that specifies the number of occurrences. (default is 1)
Value | Meaning
modAll | Searches for all occurrences of the specified model in the target.
value | Specifies the number of occurrences.
Remarks
  • If an occurrence has both a score and target score equal to or above their respective certainty level settings (specified for each model using the Models.Item(ModelIndex).Certainty and Models.Item(ModelIndex).CertaintyTarget properties), it is automatically considered a match (default 80%); the remaining matches will be those occurrences with the best scores above the acceptance levels (specified for each model using the Models.Item(ModelIndex).Acceptance and Models.Item(ModelIndex).AcceptanceTarget properties).
  • The Models.TotalNumberOfOccurrences property specifies the maximum number of all model occurrences (for all models within the ModelFinder control together) to find in the target.
  • Note that setting a model's expected number of occurrences to modAll can significantly slow the Find and FindInEdgeFinderResults methods, depending on the complexity of your model and the target (operation speed will only be slightly affected for simple models on a uniform background). It is recommended that you specify the exact number of expected occurrences whenever possible.
[]
Example
This example shows how to set the NumberOfOccurrences property.

ModelFinder.Models.Item(1).NumberOfOccurrences = 4
[]
Example
This example shows how to set the NumberOfOccurrences property.

m_ModelFinder1->Models->Item(1)->NumberOfOccurrences = 4;


ModelFinder.Models.Item.Polarity Property

Polarity property

See Also | Availability | MIL Equivalent | NumberOfOccurrences | Position
User Guide:
Polarity
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
Index of model
ControlType =
M_POLARITY
)
ModelFinder
Models
Item
Polarity
Synopsis
Returns or sets the expected polarity of occurrences of the specified model.
[]
Syntax
object.Polarity [= ModPolarityConstants]
[]
Syntax
object->Polarity [= enum ModPolarityConstants]
Type description
A ModPolarityConstants value that specifies the polarity of the model, compared to that of the model. (default is modSame)
Value | Meaning
modSame | The polarity of occurrences is the same as that of the model.
modReverse | The polarity of occurrences is the reverse of that of the model.
modSameOrReverse | The polarity of occurrences can be either the same or the reverse of that of the model.
modAny | The occurrence can be a mixture of polarities.
Remark
  • The polarity of an edge indicates whether edges occur as transitions from light to dark or vice versa. When the polarity of edges in the target might be different from those of the model (for example, due to shadows), you should specify the expected polarity.
[]
Example
This example shows how to use the Polarity property.

ModelFinder.Models.Item(1).Polarity = modSame
[]
Example
This example shows how to use the Polarity property.

m_ModelFinder1->Models->Item(1)->Polarity = modSame;


ModelFinder.Models.Item.Position Property

Position property

Availability | MIL Equivalent | Polarity | ReferenceAngle
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ModelFinder
Models
Item
Position
Properties: NegativeDeltaX, NegativeDeltaY, PositiveDeltaX, PositiveDeltaY, X, Y
Synopsis
Allows you to specify or determine the position range in the target where positions for model occurrences can be found.
[]
Syntax
object.Position [= Position]
[]
Syntax
object->Position [= IPositionPtr]
Type description
A Position object.
Remarks
  • You cannot assign another Position object to this property.
  • Note that the position range limits the possible positions that can be returned as results for a model occurrence; coordinates which fall outside of this region cannot be returned as results.
  • If you have modified the reference axis origin of your model (using the Models.Item(ModelIndex).ReferenceX and/or Models.Item(ModelIndex).ReferenceY properties, keep this in mind when selecting your position range, particularly when searching through a range of angles and/or scales.
  • The position range can be the whole target or part of the target. The position range can lie partially, or totally, outside the target; this can be necessary, depending on the position of your reference axis.
  • Depending on the level of details present in the target, using a small position range generally decreases the search time when calculations specific to position-range strategies have been enabled. Always set the position range to the minimum required when speed is a consideration; set the range properties to zero if the occurrence must be at the nominal position.


ModelFinder.Models.Item.Position.NegativeDeltaX Property

NegativeDeltaX property

Availability | MIL Equivalent | NegativeDeltaY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
ControlType =
M_POSITION_DELTA_NEG_X
)
ModelFinder
Models
Item
Position
NegativeDeltaX
Synopsis
Returns or sets the valid position range in the negative X-direction, relative to the nominal position.
[]
Syntax
object.NegativeDeltaX [= Double]
[]
Syntax
object->NegativeDeltaX [= double]
Type description
A double value, a ModInfiniteConstants expression, or an ActiveMILDefaultConstants expression that specifies, in pixels, the valid position range in the negative X-direction, relative to the nominal position. (default is 0.0)
Value | Meaning
amilDefault | Resets this property to the default value.
modInfinite | Specifies the position range as the entire image plane in the negative X-direction. This means that any X-coordinate in the negative X-direction from the nominal position (even outside the target) can be returned as a result.
value | Specifies the position range's negative X-offset, in pixels. This value must be greater or equal to 0.0.
Remarks
  • The position range limits the region in which the position of a model occurrence can be found; position coordinates which fall outside this region cannot be returned as results.
  • Note that the position returned for an occurrence is determined by the model's reference axis origin.
  • The region defined by the position range can lie partially, or totally, outside the target.
  • Note that typically, to search for model occurrences within the position range, calculations specific to position-range search strategies should be enabled (Models.SearchPositionEnabled set to True). When enabled, using a small position range generally decreases the search time, depending on the number of details present in the target. Always set the position range to the minimum required when speed is a consideration.
  • When the Models.Item(ModelIndex).Position.X property is set to modAll, this property will be treated as if set to modInfinite regardless of its actual setting.


ModelFinder.Models.Item.Position.NegativeDeltaY Property

NegativeDeltaY property

Availability | MIL Equivalent | NegativeDeltaX | PositiveDeltaX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
ControlType =
M_POSITION_DELTA_NEG_Y
)
ModelFinder
Models
Item
Position
NegativeDeltaY
Synopsis
Returns or sets the valid position range in the negative Y-direction, relative to the nominal position.
[]
Syntax
object.NegativeDeltaY [= Double]
[]
Syntax
object->NegativeDeltaY [= double]
Type description
A double value, a ModInfiniteConstants expression, or an ActiveMILDefaultConstants expression that specifies, in pixels, the valid position range in the negative Y-direction, relative to the nominal position. (default is 0.0)
Value | Meaning
amilDefault | Resets this property to the default value.
modInfinite | Specifies the position range as the entire image plane in the negative Y-direction. This means that any Y-coordinate in the negative Y-direction from the nominal position (even outside the target) can be returned as a result.
value | Specifies the position range's negative Y-offset, in pixels. This value must be greater or equal to 0.0.
Remarks
  • The position range limits the region in which the position of a model occurrence can be found; position coordinates which fall outside this region cannot be returned as results.
  • Note that the position returned for an occurrence is determined by the model's reference axis origin.
  • The region defined by the position range can lie partially, or totally, outside the target.
  • Note that typically, to search for model occurrences within the position range, calculations specific to position-range search strategies should be enabled (Models.SearchPositionEnabled set to True). When enabled, using a small position range generally decreases the search time, depending on the number of details present in the target. Always set the position range to the minimum required when speed is a consideration.
  • When the Models.Item(ModelIndex).Position.Y property is set to modAll, this property will be treated as if set to modInfinite regardless of its actual setting.


ModelFinder.Models.Item.Position.PositiveDeltaX Property

PositiveDeltaX property

Availability | MIL Equivalent | NegativeDeltaY | PositiveDeltaY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
ControlType =
M_POSITION_DELTA_POS_X
)
ModelFinder
Models
Item
Position
PositiveDeltaX
Synopsis
Returns or sets the valid position range in the positive X-direction, relative to the nominal position.
[]
Syntax
object.PositiveDeltaX [= Double]
[]
Syntax
object->PositiveDeltaX [= double]
Type description
A double value, a ModInfiniteConstants expression, or an ActiveMILDefaultConstants expression that specifies, in pixels, the valid position range in the positive X-direction, relative to the nominal position. (default is modInfinite)
Value | Meaning
amilDefault | Resets this property to the default value.
modInfinite | Specifies the position range as the entire image plane in the positive X-direction. This means that any X-coordinate in the positive X-direction from the nominal position (even outside the target) can be returned as a result.
value | Specifies the position range's positive X-offset, in pixels. This value must be greater or equal to 0.0.
Remarks
  • The position range limits the region in which the position of a model occurrence can be found; position coordinates which fall outside this region cannot be returned as results.
  • Note that the position returned for an occurrence is determined by the model's reference axis origin.
  • The region defined by the position range can lie partially, or totally, outside the target.
  • Note that typically, to search for model occurrences within the position range, calculations specific to position-range search strategies should be enabled (Models.SearchPositionEnabled set to True). When enabled, using a small position range generally decreases the search time, depending on the number of details present in the target. Always set the position range to the minimum required when speed is a consideration.
  • When the Models.Item(ModelIndex).Position.X property is set to modAll, this property will be treated as if set to modInfinite regardless of its actual setting.


ModelFinder.Models.Item.Position.PositiveDeltaY Property

PositiveDeltaY property

Availability | MIL Equivalent | PositiveDeltaX | X
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
ControlType =
M_POSITION_DELTA_POS_Y
)
ModelFinder
Models
Item
Position
PositiveDeltaY
Synopsis
Returns or sets the valid position range in the positive Y-direction, relative to the nominal position.
[]
Syntax
object.PositiveDeltaY [= Double]
[]
Syntax
object->PositiveDeltaY [= double]
Type description
A double value, a ModInfiniteConstants expression, or an ActiveMILDefaultConstants expression that specifies, in pixels, the valid position range in the positive Y-direction, relative to the nominal position. (default is modInfinite)
Value | Meaning
amilDefault | Resets this property to the default value.
modInfinite | Specifies the position range as the entire image plane in the positive Y-direction. This means that any Y-coordinate in the positive Y-direction from the nominal position (even outside the target) can be returned as a result.
value | Specifies the position range's positive Y-offset, in pixels. This value must be greater or equal to 0.0.
Remarks
  • The position range limits the region in which the position of a model occurrence can be found; position coordinates which fall outside this region cannot be returned as results.
  • Note that the position returned for an occurrence is determined by the model's reference axis origin.
  • The region defined by the position range can lie partially, or totally, outside the target.
  • Note that typically, to search for model occurrences within the position range, calculations specific to position-range search strategies should be enabled (Models.SearchPositionEnabled set to True). When enabled, using a small position range generally decreases the search time, depending on the number of details present in the target. Always set the position range to the minimum required when speed is a consideration.
  • When the Models.Item(ModelIndex).Position.Y property is set to modAll, this property will be treated as if set to modInfinite regardless of its actual setting.


ModelFinder.Models.Item.Position.X Property

X property

Availability | MIL Equivalent | PositiveDeltaY | Y
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
ControlType =
M_POSITION_X
)
ModelFinder
Models
Item
Position
X
Synopsis
Returns or sets the nominal search position for the X-coordinate.
[]
Syntax
object.X [= Double]
[]
Syntax
object->X [= double]
Type description
A double value, a ModAllConstants expression, or an ActiveMILDefaultConstants expression that specifies, in pixels, the nominal search position for the X-coordinate. (default is modAll)
Value | Meaning
amilDefault | Resets this property to the default value.
modAll | Specifies that the nominal position is not known and occurrences can have any X-coordinate.
value | Specifies the nominal search position for the X-coordinate, in pixels.


ModelFinder.Models.Item.Position.Y Property

Y property

Availability | MIL Equivalent | X
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
ControlType =
M_POSITION_Y
)
ModelFinder
Models
Item
Position
Y
Synopsis
Returns or sets the nominal search position for the Y-coordinate.
[]
Syntax
object.Y [= Double]
[]
Syntax
object->Y [= double]
Type description
A double value, a ModAllConstants expression, or an ActiveMILDefaultConstants expression that specifies, in pixels, the nominal search position for the Y-coordinate. (default is modAll)
Value | Meaning
amilDefault | Resets this property to the default value.
modAll | Specifies that the nominal position is not known and occurrences can have any Y-coordinate.
value | Specifies the nominal search position for the Y-coordinate, in pixels.


ModelFinder.Models.Item.ReferenceAngle Property

ReferenceAngle property

See Also | Availability | MIL Equivalent | Position | ReferenceX
User Guide:
Reference axis

Reference:
ModelFinder.Models.Item.ImageDefinition.OriginalReferenceX
ModelFinder.Models.Item.ImageDefinition.OriginalReferenceY
ModelFinder.Models.Item.ReferenceX
ModelFinder.Models.Item.ReferenceY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
Index of model
ControlType =
M_REFERENCE_ANGLE
)
ModelFinder
Models
Item
ReferenceAngle
Synopsis
Returns or sets the angle of the model's reference axis.
[]
Syntax
object.ReferenceAngle [= Double]
[]
Syntax
object->ReferenceAngle [= double]
Type description
A double value that specifies the angle. It can be set to a value between 0.0 and 360, inclusive. (default is 0.0°)
Remarks
  • This property, along with the Models.Item(ModelIndex).ReferenceX and Models.Item(ModelIndex).ReferenceY properties, define the reference axis.
  • Angle results (Results.Item(ResultIndex).Angle) are returned relative to this axis, rather than the model source image axis.
  • The model's reference axis origin determines the position which is returned for an occurrence of the model using the Results.Item(ResultIndex).PositionX and Results.Item(ResultIndex).PositionY properties.
[]
Example
This example shows how to use the ReferenceAngle property.

ModelFinder.Models.Item(1).ReferenceAngle = 5
[]
Example
This example shows how to use the ReferenceAngle property.

m_ModelFinder1->Models->Item(1)->ReferenceAngle = 5;


ModelFinder.Models.Item.ReferenceX Property

ReferenceX property

See Also | Availability | MIL Equivalent | ReferenceAngle | ReferenceY
User Guide:
Reference axis

Reference:
ModelFinder.Models.Item.ImageDefinition.OriginalReferenceX
ModelFinder.Models.Item.ImageDefinition.OriginalReferenceY
ModelFinder.Models.Item.ReferenceAngle
ModelFinder.Models.Item.ReferenceY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
Index of model
ControlType =
M_REFERENCE_X
)
ModelFinder
Models
Item
ReferenceX
Synopsis
Returns or sets the X-offset of the reference axis origin of the model, relative to the model origin.
[]
Syntax
object.ReferenceX [= Double]
[]
Syntax
object->ReferenceX [= double]
Type description
A double value that specifies the X-offset in pixels, relative to the model origin. For a synthetic model, the default value is 0.0. For other types of models, the default is the center of the model.
Remarks
  • Note that the reference axis origin can be defined with subpixel accuracy.
  • This property, along with the Models.Item(ModelIndex).ReferenceAngle and Models.Item(ModelIndex).ReferenceY properties, define the reference axis.
  • The model's reference axis origin determines the position which is returned for an occurrence of the model, using the Results.Item(ResultIndex).PositionX and Results.Item(ResultIndex).PositionY properties.
  • Note that the reference axis origin need not be in the model.
[]
Example
This example shows how to set the ReferenceX property.

ModelFinder.Models.Item(1).ReferenceX = 55
[]
Example
This example shows how to set the ReferenceX property.

m_ModelFinder1->Models->Item(1)->ReferenceX = 55;


ModelFinder.Models.Item.ReferenceY Property

ReferenceY property

See Also | Availability | MIL Equivalent | ReferenceX | Scale
User Guide:
Reference axis

Reference:
ModelFinder.Models.Item.ImageDefinition.OriginalReferenceX
ModelFinder.Models.Item.ImageDefinition.OriginalReferenceY
ModelFinder.Models.Item.ReferenceAngle
ModelFinder.Models.Item.ReferenceX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
Index of model
ControlType =
M_REFERENCE_Y
)
ModelFinder
Models
Item
ReferenceY
Synopsis
Returns or sets the Y-offset of the reference axis origin of the model, relative to the model origin.
[]
Syntax
object.ReferenceY [= Double]
[]
Syntax
object->ReferenceY [= double]
Type description
A double value that specifies the Y-offset in pixels, relative to the model origin. For a synthetic model, the default value is 0.0. For other types of models, the default is the center of the model.
Remarks
  • Note that the reference axis origin can be defined with subpixel accuracy.
  • This property, along with the Models.Item(ModelIndex).ReferenceAngle and Models.Item(ModelIndex).ReferenceX properties, define the reference axis.
  • The model's reference axis origin determines the position which is returned for an occurrence of the model, using the Results.Item(ResultIndex).PositionX and Results.Item(ResultIndex).PositionY properties.
  • Note that the reference axis origin need not be in the model.
[]
Example
This example shows how to set the ReferenceY property.

ModelFinder.Models.Item(1).ReferenceY = 55
[]
Example
This example shows how to set the ReferenceY property.

m_ModelFinder1->Models->Item(1)->ReferenceY = 55;


ModelFinder.Models.Item.Scale Property

Scale property

See Also | Availability | MIL Equivalent | ReferenceY | SyntheticDefinition
User Guide:
Scale and scale range
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
Index of Model
ControlType =
M_SCALE
)
ModelFinder
Models
Item
Scale
Properties: Maximum, Minimum, Value
Synopsis
Allows you to specify or determine the model's search scale range.
[]
Syntax
[ModelFinderScale =] object.Scale
[]
Syntax
[IModelFinderScalePtr =] object->Scale
Type description
A ModelFinderScale object.
Remarks
  • You cannot assign another ModelFinderScale object to this property.
  • The Models.Item(ModelIndex).Scale.Value property establishes the size of the occurrence that you expect to find in the target image.
  • The Models.Item(ModelIndex).Scale.Minimum and Models.Item(ModelIndex).Scale.Maximum properties determine the search scale range.
  • To enable a search scale range, set the Models.SearchScaleEnabled property to True.

    Note that even if the SearchScaleEnabled property is disabled, occurrences can typically still be found within 0.95 to 1.05 times the nominal scale. If you want to ensure that ActiveMIL finds occurrences within a specific range of scale only, you should specify the required minimum and maximum factors (the defaults are 0.5 and 2.0, respectively).


ModelFinder.Models.Item.Scale.Maximum Property

Maximum property

See Also | Availability | MIL Equivalent | Minimum
User Guide:
Scale and scale range
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
Index of model
ControlType =
M_SCALE_MAX_FACTOR
)
ModelFinder
Models
Item
Scale
Maximum
Synopsis
Returns or sets the factor used to determine the upper limit (maximum permitted scale) of the scale range.
[]
Syntax
object.Maximum [= Double]
[]
Syntax
object->Maximum [= double]
Type description
A double value that specifies the maximum scale factor. It can be set to a value between 1.0 - 2.0, inclusive. (default is 2.0)
Remarks
  • Typically, to search for model occurrences within the scale range, calculations specific to the scale-range search strategies should be enabled (Models.SearchScaleEnabled). When enabled, the scale range should only cover the expected variance in scale to avoid both slowing down the search and finding unwanted occurrences. A search through a range of scales is performed in parallel, meaning that the actual scale of an occurrence has no bearing on which occurrence will be found first.
  • To set a scale range, use the Models.Item(ModelIndex).Minimum and Models.Item(ModelIndex).Maximum properties.
  • To establish the upper limit of the scale range, the maximum factor is applied to the Models.Item(ModelIndex).Value property setting as follows:

    Maximum scale = Value * Maximum

  • Occurrences with scales outside the scale-range cannot be returned as results.


ModelFinder.Models.Item.Scale.Minimum Property

Minimum property

See Also | Availability | MIL Equivalent | Maximum | Value
User Guide:
Scale and scale range
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
Index of model
ControlType =
M_SCALE_MIN_FACTOR
)
ModelFinder
Models
Item
Scale
Minimum
Synopsis
Returns or sets the factor used to determine the lower limit (minimum permitted scale) of the scale range.
[]
Syntax
object.Minimum [= Double]
[]
Syntax
object->Minimum [= double]
Type description
A double value that specifies the minimum scale factor. It can be set to a value between 0.5 - 1.0, inclusive. (default is 0.5)
Remarks
  • Typically, to search for model occurrences within the scale range, calculations specific to the scale-range search strategies should be enabled (Models.SearchScaleEnabled). When enabled, the scale range should only cover the expected variance in scale to avoid both slowing down the search and finding unwanted occurrences. A search through a range of scales is performed in parallel, meaning that the actual scale of an occurrence has no bearing on which occurrence will be found first.
  • To set a scale range, use the Models.Item(ModelIndex).Scale.Minimum and the Models.Item(ModelIndex).Scale.Maximum properties.
  • To establish the lower limit of the scale range, the minimum factor is applied to the Models.Item(ModelIndex).Value property setting as follows:

    Minimum scale = Value * Minimum

  • Occurrences with scales outside the scale-range cannot be returned as results.


ModelFinder.Models.Item.Scale.Value Property

Value property

See Also | Availability | MIL Equivalent | Minimum
User Guide:
Scale and scale range
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
Index of model
ControlType =
M_SCALE
)
ModelFinder
Models
Item
Scale
Value
Synopsis
Returns or sets the nominal search scale.
[]
Syntax
object.Value [= Double]
[]
Syntax
object->Value [= double]
Type description
A double value that specifies the nominal (expected) scale of the occurrence. For a synthetic model, the nominal scale can be any positive value. For all other models, the nominal scale must be from 0.5 to 2.0. (default is 1.0)
Remark
  • To set a scale range, use the Models.Item(ModelIndex).Scale.Minimum and Models.Item(ModelIndex).Scale.Maximum properties.


ModelFinder.Models.Item.SyntheticDefinition Property

SyntheticDefinition property

Availability | MIL Equivalent | Scale | UserLabel
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodDefine(
ModelType =
M_CIRCLE or
M_CROSS or
M_ELLIPSE or
M_RECTANGLE or
M_RING or
M_SQUARE
)

MmodControl()

MmodInquire()
ModelFinder
Models
Item
SyntheticDefinition
Properties: BoxMarginBottom, BoxMarginLeft, BoxMarginRight, BoxMarginTop, BoxOffsetX, BoxOffsetY, BoxSizeX, BoxSizeY, Circle, Cross, Diamond, Ellipse, ForegroundValue, PixelScale, Rectangle, Ring, SizeXInPixels, SizeYInPixels, Square, Triangle, YAxisFlipped
Synopsis
Allows you to inquire about and change some of the settings used to define the model, if it is a synthetic model.
[]
Syntax
[ModelFinderSyntheticDefinition =] object.SyntheticDefinition
[]
Syntax
[IModelFinderSyntheticDefinitionPtr =] object->SyntheticDefinition
Type description
A ModelFinderSyntheticDefinition expression that returns the settings used to define the synthetic model.
Remark
  • The properties of this property return the parameter settings used to define the synthetic model. You can also redefine the settings of some of its properties.


ModelFinder.Models.Item.SyntheticDefinition.BoxMarginBottom Property

BoxMarginBottom property

See Also | Availability | MIL Equivalent | BoxMarginLeft
Reference:
ModelFinder.Models.Item.SyntheticDefinition.BoxMarginLeft
ModelFinder.Models.Item.SyntheticDefinition.BoxMarginRight
ModelFinder.Models.Item.SyntheticDefinition.BoxMarginTop
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
ControlType =
M_BOX_MARGIN_BOTTOM
)
ModelFinder
Models
Item
SyntheticDefinition
BoxMarginBottom
Synopsis
Returns or sets the margin at the bottom of the bounding box of the model's active edges.
[]
Syntax
object.BoxMarginBottom [= Double]
[]
Syntax
object->BoxMarginBottom [= double]
Type description
A double value that specifies the margin at the bottom of the bounding box of the model's active edges, as a percentage. (default is 10.0%)
Remarks
  • Specifies the margin as a percentage of the height of the bounding box of the model's active edges.
  • The BoxMarginBottom, BoxMarginTop, BoxMarginLeft and BoxMarginRight properties of the Models.Item(ModelIndex).SyntheticDefinition property define the margins of the bounding box.
  • The bounding box of the model's active edges plus the specified margins define the size of the model box.
  • The model box is used to compute the target score and to set the different masks of the model.
  • If you change this value, all of this model's previous masks are discarded, since their size is no longer valid. In addition, the offset and size of the model box will be modified as a result of changing the margins.
  • This property only affects synthetic models.
  • The margin is returned in the user-defined units for the model.


ModelFinder.Models.Item.SyntheticDefinition.BoxMarginLeft Property

BoxMarginLeft property

See Also | Availability | MIL Equivalent | BoxMarginBottom | BoxMarginRight
Reference:
ModelFinder.Models.Item.SyntheticDefinition.BoxMarginBottom
ModelFinder.Models.Item.SyntheticDefinition.BoxMarginRight
ModelFinder.Models.Item.SyntheticDefinition.BoxMarginTop
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
ControlType =
M_BOX_MARGIN_LEFT
)
ModelFinder
Models
Item
SyntheticDefinition
BoxMarginLeft
Synopsis
Returns or sets the margin at the left side of the bounding box of the model's active edges.
[]
Syntax
object.BoxMarginLeft [= Double]
[]
Syntax
object->BoxMarginLeft [= double]
Type description
A double value that specifies the margin at the left side of the bounding box of the model's active edges, as a percentage. (default is 10.0%)
Remarks
  • Specifies the margin as a percentage of the width of the bounding box of the model's active edges.
  • The BoxMarginBottom, BoxMarginTop, BoxMarginLeft and BoxMarginRight properties of the Models.Item(ModelIndex).SyntheticDefinition property define the margins of the bounding box.
  • The bounding box of the model's active edges plus the specified margins define the size of the model box.
  • The model box is used to compute the target score and to set the different masks of the model.
  • If you change this value, all of this model's previous masks are discarded, since their size is no longer valid. In addition, the offset and size of the model box will be modified as a result of changing the margins.
  • This property only affects synthetic models.
  • The margin is returned in the user-defined units for the model.


ModelFinder.Models.Item.SyntheticDefinition.BoxMarginRight Property

BoxMarginRight property

See Also | Availability | MIL Equivalent | BoxMarginLeft | BoxMarginTop
Reference:
ModelFinder.Models.Item.SyntheticDefinition.BoxMarginBottom
ModelFinder.Models.Item.SyntheticDefinition.BoxMarginLeft
ModelFinder.Models.Item.SyntheticDefinition.BoxMarginTop
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
ControlType =
M_BOX_MARGIN_RIGHT
)
ModelFinder
Models
Item
SyntheticDefinition
BoxMarginRight
Synopsis
Returns or sets the margin at the right side of the bounding box of the model's active edges.
[]
Syntax
object.BoxMarginRight [= Double]
[]
Syntax
object->BoxMarginRight [= double]
Type description
A double value that specifies the margin at the right side of the bounding box of the model's active edges, as a percentage. (default is 10.0%)
Remarks
  • Specifies the margin as a percentage of the width of the bounding box of the model's active edges.
  • The BoxMarginBottom, BoxMarginTop, BoxMarginLeft and BoxMarginRight properties of the Models.Item(ModelIndex).SyntheticDefinition property define the margins of the bounding box.
  • The bounding box of the model's active edges plus the specified margins define the size of the model box.
  • The model box is used to compute the target score and to set the different masks of the model.
  • If you change this value, all of this model's previous masks are discarded, since their size is no longer valid. In addition, the offset and size of the model box will be modified as a result of changing the margins.
  • This property only affects synthetic models.
  • The margin is returned in the user-defined units for the model.


ModelFinder.Models.Item.SyntheticDefinition.BoxMarginTop Property

BoxMarginTop property

See Also | Availability | MIL Equivalent | BoxMarginRight | BoxOffsetX
Reference:
ModelFinder.Models.Item.SyntheticDefinition.BoxMarginBottom
ModelFinder.Models.Item.SyntheticDefinition.BoxMarginLeft
ModelFinder.Models.Item.SyntheticDefinition.BoxMarginRight
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
ControlType =
M_BOX_MARGIN_TOP
)
ModelFinder
Models
Item
SyntheticDefinition
BoxMarginTop
Synopsis
Returns or sets the margin at the top of the bounding box of the model's active edges.
[]
Syntax
object.BoxMarginTop [= Double]
[]
Syntax
object->BoxMarginTop [= double]
Type description
A double value that specifies the margin at the top of the bounding box of the model's active edges, as a percentage. (default is 10.0%)
Remarks
  • Specifies the margin as a percentage of the height of the bounding box of the model's active edges.
  • The BoxMarginBottom, BoxMarginTop, BoxMarginLeft and BoxMarginRight properties of the Models.Item(ModelIndex).SyntheticDefinition property define the margins of the bounding box.
  • The bounding box of the model's active edges plus the specified margins define the size of the model box.
  • The model box is used to compute the target score and to set the different masks of the model.
  • If you change this value, all of this model's previous masks are discarded, since their size is no longer valid. In addition, the offset and size of the model box will be modified as a result of changing the margins.
  • This property only affects synthetic models.
  • The margin is returned in the user-defined units for the model.


ModelFinder.Models.Item.SyntheticDefinition.BoxOffsetX Property

BoxOffsetX property

See Also | Availability | MIL Equivalent | BoxMarginTop | BoxOffsetY
Reference:
ModelFinder.Models.Item.SyntheticDefinition.BoxOffsetY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_BOX_OFFSET_X
)
ModelFinder
Models
Item
SyntheticDefinition
BoxOffsetX
Synopsis
Returns the X-offset of the top-left corner of the model box, with respect to the origin of the model.
[]
Syntax
[Double =] object.BoxOffsetX
[]
Syntax
[double =] object->BoxOffsetX
Type description
A double value that specifies the X-offset of the top-left corner of the model box, with respect to the origin of the model.
Remarks
  • This property is only valid for synthetic models.
  • The model box is used to compute the target score and to set the masks of the model.
  • For pre-defined shape models, the origin of the model is the center of the shape. For CAD-file models, the origin is the same as the one defined in the CAD file.
  • This property is updated when the margins that define the model box are changed.
  • The X-offset is returned in the user-defined units for the model.


ModelFinder.Models.Item.SyntheticDefinition.BoxOffsetY Property

BoxOffsetY property

See Also | Availability | MIL Equivalent | BoxOffsetX | BoxSizeX
Reference:
ModelFinder.Models.Item.SyntheticDefinition.BoxOffsetX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_BOX_OFFSET_Y
)
ModelFinder
Models
Item
SyntheticDefinition
BoxOffsetY
Synopsis
Returns the Y-offset of the top-left corner of the model box, with respect to the origin of the model.
[]
Syntax
[Double =] object.BoxOffsetY
[]
Syntax
[double =] object->BoxOffsetY
Type description
A double value that specifies the Y-offset of the top-left corner of the model box, with respect to the origin of the model.
Remarks
  • This property is only valid for synthetic models.
  • The model box is used to compute the target score and to set the masks of the model.
  • For pre-defined shape models, the origin of the model is the center of the shape. For CAD-file models, the origin is the same as the one defined in the CAD file.
  • This property is updated when the margins that define the model box are changed.
  • The Y-offset is returned in the user-defined units for the model.


ModelFinder.Models.Item.SyntheticDefinition.BoxSizeX Property

BoxSizeX property

See Also | Availability | MIL Equivalent | BoxOffsetY | BoxSizeY
Reference:
ModelFinder.Models.Item.SyntheticDefinition.BoxSizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_BOX_SIZE_X
)
ModelFinder
Models
Item
SyntheticDefinition
BoxSizeX
Synopsis
Returns the size along the X-axis of the model box.
[]
Syntax
object.BoxSizeX [= Double]
[]
Syntax
object->BoxSizeX [= double]
Type description
A double value that specifies the size along the X-axis of the model box.
Remarks
  • This property is only valid for synthetic models.
  • The model box is used to compute the target score and to set the masks of the model.
  • This property is updated when the margins that define the model box are changed.
  • This property is returned in the user-defined units for the model.


ModelFinder.Models.Item.SyntheticDefinition.BoxSizeY Property

BoxSizeY property

See Also | Availability | MIL Equivalent | BoxSizeX | Circle
Reference:
ModelFinder.Models.Item.SyntheticDefinition.BoxSizeX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_BOX_SIZE_Y
)
ModelFinder
Models
Item
SyntheticDefinition
BoxSizeY
Synopsis
Returns the size along the Y-axis of the model box.
[]
Syntax
[Double =] object.BoxSizeY
[]
Syntax
[double =] object->BoxSizeY
Type description
A double value that specifies the size along the Y-axis of the model box.
Remarks
  • This property is only valid for synthetic models.
  • The model box is used to compute the target score and to set the masks of the model.
  • This property is updated when the margins that define the model box are changed.
  • This property is returned in the user-defined units for the model.


ModelFinder.Models.Item.SyntheticDefinition.Circle Property

Circle property

See Also | Availability | MIL Equivalent | BoxSizeY | Cross
Reference:
ModelFinder.Models.AddCircleModel
ModelFinder.Models.Item.ModelType
ModelFinder.Models.Item.SyntheticDefinition.Circle.Radius
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_RADIUS
)
ModelFinder
Models
Item
SyntheticDefinition
Circle
Property: Radius
Synopsis
Allows you to inquire about the setting used to define the model, if it is a circle model.
[]
Syntax
[ModelFinderCircle =] object.Circle
[]
Syntax
[IModelFinderCirclePtr =] object->Circle
Type description
A ModelFinderCircle object.
Remarks
  • The property of this property returns the parameter setting used with the Models.AddCircleModel method to define the model.
  • The Models.Item(ModelIndex).ModelType property of the ModelFinder control can be used to determine the type of the model.


ModelFinder.Models.Item.SyntheticDefinition.Circle.Radius Property

Radius property

See Also | Availability | MIL Equivalent
Reference:
ModelFinder.Models.AddCircleModel
ModelFinder.Models.Item.Scale
ModelFinder.Models.Item.SyntheticDefinition.PixelScale
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_RADIUS
)
ModelFinder
Models
Item
SyntheticDefinition
Circle
Radius
Synopsis
Returns the radius of the circle in the model.
[]
Syntax
[Double =] object.Radius
[]
Syntax
[double =] object->Radius
Type description
A double value that returns the radius of the circle, in the user-defined units for the model.
Remarks
  • This property is set using the Models.AddCircleModel method.
  • The diagram below illustrates the radius of the circle.
  • The ratio between model units and pixel units is specified using the Models.Item(ModelIndex).SyntheticDefinition.PixelScale property.
  • If the target is calibrated, the model units should be the same as the calibrated units.


ModelFinder.Models.Item.SyntheticDefinition.Cross Property

Cross property

See Also | Availability | MIL Equivalent | Circle | Diamond
Reference:
ModelFinder.Models.AddCrossModel
ModelFinder.Models.Item.ModelType
ModelFinder.Models.Item.SyntheticDefinition.Cross.Height
ModelFinder.Models.Item.SyntheticDefinition.Cross.HorizontalThickness
ModelFinder.Models.Item.SyntheticDefinition.Cross.VerticalThickness
ModelFinder.Models.Item.SyntheticDefinition.Cross.Width
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_HEIGHT or
M_HORIZONTAL_THICKNESS or
M_VERTICAL_THICKNESS or
M_WIDTH
)
ModelFinder
Models
Item
SyntheticDefinition
Cross
Properties: Height, HorizontalThickness, VerticalThickness, Width
Synopsis
Allows you to inquire about the settings used to define the model, if it is a cross model.
[]
Syntax
[ModelFinderCross =] object.Cross
[]
Syntax
[IModelFinderCrossPtr =] object->Cross
Type description
A ModelFinderCross object.
Remarks
  • The properties of this property return the parameter settings used with the Models.AddCrossModel method to define the model.
  • The Models.Item(ModelIndex).ModelType property of the ModelFinder control can be used to determine the type of the model.


ModelFinder.Models.Item.SyntheticDefinition.Cross.Height Property

Height property

See Also | Availability | MIL Equivalent | HorizontalThickness
Reference:
ModelFinder.Models.AddCrossModel
ModelFinder.Models.Item.Scale
ModelFinder.Models.Item.SyntheticDefinition.Cross.HorizontalThickness
ModelFinder.Models.Item.SyntheticDefinition.Cross.VerticalThickness
ModelFinder.Models.Item.SyntheticDefinition.Cross.Width
ModelFinder.Models.Item.SyntheticDefinition.PixelScale
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_HEIGHT
)
ModelFinder
Models
Item
SyntheticDefinition
Cross
Height
Synopsis
Returns the height of the cross in the model.
[]
Syntax
[Double =] object.Height
[]
Syntax
[double =] object->Height
Type description
A double value that returns the height of the cross, in the user-defined units for the model.
Remarks
  • This property is set using the Models.AddCrossModel method.
  • The diagram below illustrates the width, height, horizontal thickness, and vertical thickness of the cross.
  • The ratio between model units and pixel units is specified using the Models.Item(ModelIndex).SyntheticDefinition.PixelScale property.
  • If the target is calibrated, the model units should be the same as the calibrated units.


ModelFinder.Models.Item.SyntheticDefinition.Cross.HorizontalThickness Property

HorizontalThickness property

See Also | Availability | MIL Equivalent | Height | VerticalThickness
Reference:
ModelFinder.Models.AddCrossModel
ModelFinder.Models.Item.Scale
ModelFinder.Models.Item.SyntheticDefinition.Cross.Height
ModelFinder.Models.Item.SyntheticDefinition.Cross.VerticalThickness
ModelFinder.Models.Item.SyntheticDefinition.Cross.Width
ModelFinder.Models.Item.SyntheticDefinition.PixelScale
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_HORIZONTAL_THICKNESS
)
ModelFinder
Models
Item
SyntheticDefinition
Cross
HorizontalThickness
Synopsis
Returns the horizontal thickness of the cross in the model.
[]
Syntax
[Double =] object.HorizontalThickness
[]
Syntax
[double =] object->HorizontalThickness
Type description
A double value that returns the horizontal thickness of the cross, in the user-defined units for the model.
Remarks
  • This property is set using the Models.AddCrossModel method.
  • The diagram below illustrates the width, height, horizontal thickness, and vertical thickness of the cross.
  • The ratio between model units and pixel units is specified using the Models.Item(ModelIndex).SyntheticDefinition.PixelScale property.
  • If the target is calibrated, the model units should be the same as the calibrated units.


ModelFinder.Models.Item.SyntheticDefinition.Cross.VerticalThickness Property

VerticalThickness property

See Also | Availability | MIL Equivalent | HorizontalThickness | Width
Reference:
ModelFinder.Models.AddCrossModel
ModelFinder.Models.Item.Scale
ModelFinder.Models.Item.SyntheticDefinition.Cross.Height
ModelFinder.Models.Item.SyntheticDefinition.Cross.HorizontalThickness
ModelFinder.Models.Item.SyntheticDefinition.Cross.Width
ModelFinder.Models.Item.SyntheticDefinition.PixelScale
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_VERTICAL_THICKNESS
)
ModelFinder
Models
Item
SyntheticDefinition
Cross
VerticalThickness
Synopsis
Returns the vertical thickness of the cross in the model.
[]
Syntax
[Double =] object.VerticalThickness
[]
Syntax
[double =] object->VerticalThickness
Type description
A double value that returns the vertical thickness of the cross, in the user-defined units for the model.
Remarks
  • This property is set using the Models.AddCrossModel method.
  • The diagram below illustrates the width, height, horizontal thickness, and vertical thickness of the cross.
  • The ratio between model units and pixel units is specified using the Models.Item(ModelIndex).SyntheticDefinition.PixelScale property.
  • If the target is calibrated, the model units should be the same as the calibrated units.


ModelFinder.Models.Item.SyntheticDefinition.Cross.Width Property

Width property

See Also | Availability | MIL Equivalent | VerticalThickness
Reference:
ModelFinder.Models.AddCrossModel
ModelFinder.Models.Item.Scale
ModelFinder.Models.Item.SyntheticDefinition.Cross.Height
ModelFinder.Models.Item.SyntheticDefinition.Cross.HorizontalThickness
ModelFinder.Models.Item.SyntheticDefinition.Cross.VerticalThickness
ModelFinder.Models.Item.SyntheticDefinition.PixelScale
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_WIDTH
)
ModelFinder
Models
Item
SyntheticDefinition
Cross
Width
Synopsis
Returns the width of the cross in the model.
[]
Syntax
[Double =] object.Width
[]
Syntax
[double =] object->Width
Type description
A double value that returns the width of the cross, in the user-defined units for the model.
Remarks
  • This property is set using the Models.AddCrossModel method.
  • The diagram below illustrates the width, height, horizontal thickness, and vertical thickness of the cross.
  • The ratio between model units and pixel units is specified using the Models.Item(ModelIndex).SyntheticDefinition.PixelScale property.
  • If the target is calibrated, the model units should be the same as the calibrated units.


ModelFinder.Models.Item.SyntheticDefinition.Diamond Property

Diamond property

See Also | Availability | MIL Equivalent | Cross | Ellipse
Reference:
ModelFinder.Models.AddDiamondModel
ModelFinder.Models.Item.ModelType
ModelFinder.Models.Item.SyntheticDefinition.Diamond.Height
ModelFinder.Models.Item.SyntheticDefinition.Diamond.Width
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_HEIGHT or
M_WIDTH
)
ModelFinder
Models
Item
SyntheticDefinition
Diamond
Properties: Height, Width
Synopsis
Allows you to inquire about the settings used to define the model, if it is a diamond model.
[]
Syntax
[ModelFinderDiamond =] object.Diamond
[]
Syntax
[IModelFinderDiamondPtr =] object->Diamond
Type description
A ModelFinderDiamond object.
Remarks
  • The properties of this property return the parameter settings used with the Models.AddDiamondModel method to define the model.
  • The Models.Item(ModelIndex).ModelType property of the ModelFinder control can be used to determine the type of the model.


ModelFinder.Models.Item.SyntheticDefinition.Diamond.Height Property

Height property

See Also | Availability | MIL Equivalent | Width
Reference:
ModelFinder.Models.AddDiamondModel
ModelFinder.Models.Item.Scale
ModelFinder.Models.Item.SyntheticDefinition.Diamond.Width
ModelFinder.Models.Item.SyntheticDefinition.PixelScale
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_HEIGHT
)
ModelFinder
Models
Item
SyntheticDefinition
Diamond
Height
Synopsis
Returns the height of the diamond in the model.
[]
Syntax
[Double =] object.Height
[]
Syntax
[double =] object->Height
Type description
A double value that returns the height of the diamond, in the user-defined units for the model.
Remarks
  • This property is set using the Models.AddDiamondModel method.
  • The diagram below illustrates the width and the height of the diamond.
  • The ratio between model units and pixel units is specified using the Models.Item(ModelIndex).SyntheticDefinition.PixelScale property.
  • If the target is calibrated, the model units should be the same as the calibrated units.


ModelFinder.Models.Item.SyntheticDefinition.Diamond.Width Property

Width property

See Also | Availability | MIL Equivalent | Height
Reference:
ModelFinder.Models.AddDiamondModel
ModelFinder.Models.Item.Scale
ModelFinder.Models.Item.SyntheticDefinition.Diamond.Height
ModelFinder.Models.Item.SyntheticDefinition.PixelScale
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_WIDTH
)
ModelFinder
Models
Item
SyntheticDefinition
Diamond
Width
Synopsis
Returns the width of the diamond in the model.
[]
Syntax
[Double =] object.Width
[]
Syntax
[double =] object->Width
Type description
A double value that returns the width of the diamond, in the user-defined units for the model.
Remarks
  • This property is set using the Models.AddDiamondModel method.
  • The diagram below illustrates the width and the height of the diamond.
  • The ratio between model units and pixel units is specified using the Models.Item(ModelIndex).SyntheticDefinition.PixelScale property.
  • If the target is calibrated, the model units should be the same as the calibrated units.


ModelFinder.Models.Item.SyntheticDefinition.Ellipse Property

Ellipse property

See Also | Availability | MIL Equivalent | Diamond | ForegroundValue
Reference:
ModelFinder.Models.AddEllipseModel
ModelFinder.Models.Item.ModelType
ModelFinder.Models.Item.SyntheticDefinition.Ellipse.Height
ModelFinder.Models.Item.SyntheticDefinition.Ellipse.Width
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_MAJOR_AXIS or
M_MINOR_AXIS
)
ModelFinder
Models
Item
SyntheticDefinition
Ellipse
Properties: Height, Width
Synopsis
Allows you to inquire about the settings used to define the model, if it is an ellipse model.
[]
Syntax
[ModelFinderEllipse =] object.Ellipse
[]
Syntax
[IModelFinderEllipsePtr =] object->Ellipse
Type description
A ModelFinderEllipse object.
Remarks
  • The properties of this property return the parameter settings used with the Models.AddEllipseModel method to define the model.
  • The Models.Item(ModelIndex).ModelType property of the ModelFinder control can be used to determine the type of the model.


ModelFinder.Models.Item.SyntheticDefinition.Ellipse.Height Property

Height property

See Also | Availability | MIL Equivalent | Width
Reference:
ModelFinder.Models.AddEllipseModel
ModelFinder.Models.Item.Scale
ModelFinder.Models.Item.SyntheticDefinition.Ellipse.Width
ModelFinder.Models.Item.SyntheticDefinition.PixelScale
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_HEIGHT
)
ModelFinder
Models
Item
SyntheticDefinition
Ellipse
Height
Synopsis
Returns the height of the ellipse in the model.
[]
Syntax
[Double =] object.Height
[]
Syntax
[double =] object->Height
Type description
A double value that returns the height of the ellipse, in the user-defined units for the model.
Remarks
  • This property is set using the Models.AddEllipseModel method.
  • The diagram below illustrates the width and the height of the ellipse.
  • The ratio between model units and pixel units is specified using the Models.Item(ModelIndex).SyntheticDefinition.PixelScale property.
  • If the target is calibrated, the model units should be the same as the calibrated units.


ModelFinder.Models.Item.SyntheticDefinition.Ellipse.Width Property

Width property

See Also | Availability | MIL Equivalent | Height
Reference:
ModelFinder.Models.AddEllipseModel
ModelFinder.Models.Item.Scale
ModelFinder.Models.Item.SyntheticDefinition.Ellipse.Height
ModelFinder.Models.Item.SyntheticDefinition.PixelScale
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_WIDTH
)
ModelFinder
Models
Item
SyntheticDefinition
Ellipse
Width
Synopsis
Returns the width of the ellipse in the model.
[]
Syntax
[Double =] object.Width
[]
Syntax
[double =] object->Width
Type description
A double value that returns the width of the ellipse, in the user-defined units for the model.
Remarks
  • This property is set using the Models.AddEllipseModel method.
  • The diagram below illustrates the width and the height of the ellipse.
  • The ratio between model units and pixel units is specified using the Models.Item(ModelIndex).SyntheticDefinition.PixelScale property.
  • If the target is calibrated, the model units should be the same as the calibrated units.


ModelFinder.Models.Item.SyntheticDefinition.ForegroundValue Property

ForegroundValue property

Availability | MIL Equivalent | Ellipse | PixelScale
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_FOREGROUND_VALUE
)
ModelFinder
Models
Item
SyntheticDefinition
ForegroundValue
Synopsis
Returns the foreground value of the model.
[]
Syntax
[ModForegroundConstants =] object.ForegroundValue
[]
Syntax
[enum ModForegroundConstants =] object->ForegroundValue
Type description
A ModForegroundConstants expression that returns the foreground value of the model.
Value | Meaning
modForegroundWhite | The foreground color is white.
modForegroundBlack | The foreground color is black.
modForegroundAny | The foreground has no specific polarity.
Remarks
  • The foreground is the interior of the shape.
  • This property is only valid for predefined-shape models. CAD-type models do not have a polarity; for these model types, modForegroundAny will be returned.


ModelFinder.Models.Item.SyntheticDefinition.PixelScale Property

PixelScale property

Availability | MIL Equivalent | ForegroundValue | Rectangle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
ControlType =
M_PIXEL_SCALE
)
ModelFinder
Models
Item
SyntheticDefinition
PixelScale
Synopsis
Returns or sets the pixel scale of the model.
[]
Syntax
object.PixelScale [= Double]
[]
Syntax
object->PixelScale [= double]
Type description
A double value that specifies the pixel scale of the model. The scale can be greater than zero. If the model is not calibrated, default is 1.0. If the model is calibrated, the default is 1/(pixel size in X of the associated calibration).
Remarks
  • This property is only valid for synthetic models.
  • Note that if the model is not a synthetic model, the only valid value is 1.0. Any other value will generate an error.
  • This property specifies the ratio between model units and pixel units.
  • When searching for the model in a target and the target is not calibrated, the results (position, scale, rotation, and transformation coefficients) given for the model are scaled by this value.
  • If the target is calibrated, this property is not used for the match nor for the returned results. It is only used for drawing.


ModelFinder.Models.Item.SyntheticDefinition.Rectangle Property

Rectangle property

See Also | Availability | MIL Equivalent | PixelScale | Ring
Reference:
ModelFinder.Models.AddRectangleModel
ModelFinder.Models.Item.ModelType
ModelFinder.Models.Item.SyntheticDefinition.Rectangle.Height
ModelFinder.Models.Item.SyntheticDefinition.Rectangle.Width
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_HEIGHT or
M_WIDTH
)
ModelFinder
Models
Item
SyntheticDefinition
Rectangle
Properties: Height, Width
Synopsis
Allows you to inquire about the settings used to define the model, if it is a rectangle model.
[]
Syntax
[ModelFinderRectangle =] object.Rectangle
[]
Syntax
[IModelFinderRectanglePtr =] object->Rectangle
Type description
A ModelFinderRectangle object.
Remarks
  • The properties of this property return the parameter settings used with the Models.AddRectangleModel method to define the model.
  • The Models.Item(ModelIndex).ModelType property of the ModelFinder control can be used to determine the type of the model.


ModelFinder.Models.Item.SyntheticDefinition.Rectangle.Height Property

Height property

See Also | Availability | MIL Equivalent | Width
Reference:
ModelFinder.Models.AddRectangleModel
ModelFinder.Models.Item.Scale
ModelFinder.Models.Item.SyntheticDefinition.PixelScale
ModelFinder.Models.Item.SyntheticDefinition.Rectangle.Width
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_HEIGHT
)
ModelFinder
Models
Item
SyntheticDefinition
Rectangle
Height
Synopsis
Returns the height of the rectangle in the model.
[]
Syntax
[Double =] object.Height
[]
Syntax
[double =] object->Height
Type description
A double value that returns the height of the rectangle, in the user-defined units for the model.
Remarks
  • This property is set using the Models.AddRectangleModel method.
  • The diagram below illustrates the width and the height of the rectangle.
  • The ratio between model units and pixel units is specified using the Models.Item(ModelIndex).SyntheticDefinition.PixelScale property.
  • If the target is calibrated, the model units should be the same as the calibrated units.


ModelFinder.Models.Item.SyntheticDefinition.Rectangle.Width Property

Width property

See Also | Availability | MIL Equivalent | Height
Reference:
ModelFinder.Models.AddRectangleModel
ModelFinder.Models.Item.Scale
ModelFinder.Models.Item.SyntheticDefinition.PixelScale
ModelFinder.Models.Item.SyntheticDefinition.Rectangle.Width
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_WIDTH
)
ModelFinder
Models
Item
SyntheticDefinition
Rectangle
Width
Synopsis
Returns the width of the rectangle in the model.
[]
Syntax
[Double =] object.Width
[]
Syntax
[double =] object->Width
Type description
A double value that returns the width of the rectangle, in the user-defined units for the model.
Remarks
  • This property is set using the Models.AddRectangleModel method.
  • The diagram below illustrates the width and the height of the rectangle.
  • The ratio between model units and pixel units is specified using the Models.Item(ModelIndex).SyntheticDefinition.PixelScale property.
  • If the target is calibrated, the model units should be the same as the calibrated units.


ModelFinder.Models.Item.SyntheticDefinition.Ring Property

Ring property

See Also | Availability | MIL Equivalent | Rectangle | SizeXInPixels
Reference:
ModelFinder.Models.AddRingModel
ModelFinder.Models.Item.ModelType
ModelFinder.Models.Item.SyntheticDefinition.Ring.InnerRadius
ModelFinder.Models.Item.SyntheticDefinition.Ring.OuterRadius
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_INNER_RADIUS or
M_OUTER_RADIUS
)
ModelFinder
Models
Item
SyntheticDefinition
Ring
Properties: InnerRadius, OuterRadius
Synopsis
Allows you to inquire about the settings used to define the model, if it is a ring model.
[]
Syntax
[ModelFinderRing =] object.Ring
[]
Syntax
[IModelFinderRingPtr =] object->Ring
Type description
A ModelFinderRing object.
Remarks
  • The properties of this property return the parameter settings used with the Models.AddRingModel method to define the model.
  • The Models.Item(ModelIndex).ModelType property of the ModelFinder control can be used to determine the type of the model.


ModelFinder.Models.Item.SyntheticDefinition.Ring.InnerRadius Property

InnerRadius property

See Also | Availability | MIL Equivalent | OuterRadius
Reference:
ModelFinder.Models.AddRingModel
ModelFinder.Models.Item.Scale
ModelFinder.Models.Item.SyntheticDefinition.PixelScale
ModelFinder.Models.Item.SyntheticDefinition.Ring.OuterRadius
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_INNER_RADIUS
)
ModelFinder
Models
Item
SyntheticDefinition
Ring
InnerRadius
Synopsis
Returns the inner radius of the ring in the model.
[]
Syntax
[Double =] object.InnerRadius
[]
Syntax
[double =] object->InnerRadius
Type description
A double value that returns the inner radius of the ring, in the user-defined units for the model.
Remarks
  • This property is set using the Models.AddRingModel method.
  • The diagram below illustrates the inner radius and the outer radius of the ring.
  • The ratio between model units and pixel units is specified using the Models.Item(ModelIndex).SyntheticDefinition.PixelScale property.
  • If the target is calibrated, the model units should be the same as the calibrated units.


ModelFinder.Models.Item.SyntheticDefinition.Ring.OuterRadius Property

OuterRadius property

See Also | Availability | MIL Equivalent | InnerRadius
Reference:
ModelFinder.Models.AddRingModel
ModelFinder.Models.Item.Scale
ModelFinder.Models.Item.SyntheticDefinition.PixelScale
ModelFinder.Models.Item.SyntheticDefinition.Ring.InnerRadius
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_OUTER_RADIUS
)
ModelFinder
Models
Item
SyntheticDefinition
Ring
OuterRadius
Synopsis
Returns the outer radius of the ring in the model.
[]
Syntax
[Double =] object.OuterRadius
[]
Syntax
[double =] object->OuterRadius
Type description
A double value that returns the outer radius of the ring, in the user-defined units for the model.
Remarks
  • This property is set using the Models.AddRingModel method.
  • The diagram below illustrates the inner radius and the outer radius of the ring.
  • The ratio between model units and pixel units is specified using the Models.Item(ModelIndex).SyntheticDefinition.PixelScale property.
  • If the target is calibrated, the model units should be the same as the calibrated units.


ModelFinder.Models.Item.SyntheticDefinition.SizeXInPixels Property

SizeXInPixels property

See Also | Availability | MIL Equivalent | Ring | SizeYInPixels
Reference:
ModelFinder.Models.Item.SyntheticDefinition.PixelScale
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_ALLOC_SIZE_X
)
ModelFinder
Models
Item
SyntheticDefinition
SizeXInPixels
Synopsis
Returns the width of the model box in pixel units.
[]
Syntax
[Double =] object.SizeXInPixels
[]
Syntax
[double =] object->SizeXInPixels
Type description
A double value that returns the width, in pixels, of the model box of the synthetic model.
Remark
  • The ratio between pixel units and the user-defined units is specified using the Models.Item(ModelIndex).SyntheticDefinition.PixelScale property.


ModelFinder.Models.Item.SyntheticDefinition.SizeYInPixels Property

SizeYInPixels property

See Also | Availability | MIL Equivalent | SizeXInPixels | Square
Reference:
ModelFinder.Models.Item.SyntheticDefinition.PixelScale
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_ALLOC_SIZE_Y
)
ModelFinder
Models
Item
SyntheticDefinition
SizeYInPixels
Synopsis
Returns the height of the model box in pixel units.
[]
Syntax
object.SizeYInPixels [= Double]
[]
Syntax
object->SizeYInPixels [= double]
Type description
A double value that returns the height, in pixels, of the model box of the synthetic model.
Remark
  • The ratio between pixel units and the user-defined units is specified using the Models.Item(ModelIndex).SyntheticDefinition.PixelScale property.


ModelFinder.Models.Item.SyntheticDefinition.Square Property

Square property

See Also | Availability | MIL Equivalent | SizeYInPixels | Triangle
Reference:
ModelFinder.Models.AddSquareModel
ModelFinder.Models.Item.ModelType
ModelFinder.Models.Item.SyntheticDefinition.Square.Width
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_WIDTH
)
ModelFinder
Models
Item
SyntheticDefinition
Square
Property: Width
Synopsis
Allows you to inquire about the setting used to define the model, if it is a square model.
[]
Syntax
[ModelFinderSquare =] object.Square
[]
Syntax
[IModelFinderSquarePtr =] object->Square
Type description
A ModelFinderSquare object.
Remarks
  • The property of this property returns the parameter setting used with the Models.AddSquareModel method to define the model.
  • The Models.Item(ModelIndex).ModelType property of the ModelFinder control can be used to determine the type of the model.


ModelFinder.Models.Item.SyntheticDefinition.Square.Width Property

Width property

See Also | Availability | MIL Equivalent
Reference:
ModelFinder.Models.AddSquareModel
ModelFinder.Models.Item.Scale
ModelFinder.Models.Item.SyntheticDefinition.PixelScale
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_WIDTH
)
ModelFinder
Models
Item
SyntheticDefinition
Square
Width
Synopsis
Returns the width of the square in the model.
[]
Syntax
[Double =] object.Width
[]
Syntax
[double =] object->Width
Type description
A double value that returns the width of the square, in the user-defined units for the model.
Remarks
  • This property is set using the Models.AddSquareModel method.
  • The diagram below illustrates the width of the square.
  • The ratio between model units and pixel units is specified using the Models.Item(ModelIndex).SyntheticDefinition.PixelScale property.
  • If the target is calibrated, the model units should be the same as the calibrated units.


ModelFinder.Models.Item.SyntheticDefinition.Triangle Property

Triangle property

See Also | Availability | MIL Equivalent | Square | YAxisFlipped
Reference:
ModelFinder.Models.AddTriangleModel
ModelFinder.Models.Item.ModelType
ModelFinder.Models.Item.SyntheticDefinition.Diamond.Height
ModelFinder.Models.Item.SyntheticDefinition.Triangle.Width
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_HEIGHT or
M_WIDTH
)
ModelFinder
Models
Item
SyntheticDefinition
Triangle
Properties: Height, Width
Synopsis
Allows you to inquire about the settings used to define the model, if it is a triangle model.
[]
Syntax
[ModelFinderTriangle =] object.Triangle
[]
Syntax
[IModelFinderTrianglePtr =] object->Triangle
Type description
A ModelFinderTriangle object.
Remarks
  • The properties of this property return the parameter settings used with the Models.AddTriangleModel method to define the model.
  • The Models.Item(ModelIndex).ModelType property of the ModelFinder control can be used to determine the type of the model.


ModelFinder.Models.Item.SyntheticDefinition.Triangle.Height Property

Height property

See Also | Availability | MIL Equivalent | Width
Reference:
ModelFinder.Models.AddTriangleModel
ModelFinder.Models.Item.Scale
ModelFinder.Models.Item.SyntheticDefinition.PixelScale
ModelFinder.Models.Item.SyntheticDefinition.Triangle.Width
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_HEIGHT
)
ModelFinder
Models
Item
SyntheticDefinition
Triangle
Height
Synopsis
Returns the height of the triangle in the model.
[]
Syntax
[Double =] object.Height
[]
Syntax
[double =] object->Height
Type description
A double value that returns the height of the triangle, in the user-defined units for the model.
Remarks
  • This property is set using the Models.AddTriangleModel method.
  • The diagram below illustrates the width and the height of the triangle.
  • The ratio between model units and pixel units is specified using the Models.Item(ModelIndex).SyntheticDefinition.PixelScale property.
  • If the target is calibrated, the model units should be the same as the calibrated units.


ModelFinder.Models.Item.SyntheticDefinition.Triangle.Width Property

Width property

See Also | Availability | MIL Equivalent | Height
Reference:
ModelFinder.Models.AddTriangleModel
ModelFinder.Models.Item.Scale
ModelFinder.Models.Item.SyntheticDefinition.PixelScale
ModelFinder.Models.Item.SyntheticDefinition.Triangle.Height
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
InquireType =
M_WIDTH
)
ModelFinder
Models
Item
SyntheticDefinition
Triangle
Width
Synopsis
Returns the width of the Triangle in the model.
[]
Syntax
[Double =] object.Width
[]
Syntax
[double =] object->Width
Type description
A double value that returns the width of the triangle, in the user-defined units for the model.
Remarks
  • This property is set using the Models.AddTriangleModel method.
  • The diagram below illustrates the width and the height of the triangle.
  • The ratio between model units and pixel units is specified using the Models.Item(ModelIndex).SyntheticDefinition.PixelScale property.
  • If the target is calibrated, the model units should be the same as the calibrated units.


ModelFinder.Models.Item.SyntheticDefinition.YAxisFlipped Property

YAxisFlipped property

Availability | MIL Equivalent | Triangle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
ControlType =
M_CAD_Y_AXIS
)
ModelFinder
Models
Item
SyntheticDefinition
YAxisFlipped
Synopsis
Returns or sets the direction of the Y-axis for a CAD-file type model.
[]
Syntax
object.YAxisFlipped [= Boolean]
[]
Syntax
object->YAxisFlipped [= VARIANT_BOOL]
Type description
A boolean value that specifies the direction of the Y-axis for a CAD-file type model. (default is True)
Value | Meaning
True | Flips the Y-axis for the model so that the positive Y-axis is oriented downwards, with respect to the positive X-axis.
False | Does not flip the Y-axis for the model.
Remarks
  • This property is only used with a CAD-file type model.
  • When the model is added to a ModelFinder control from a CAD DXF file, the model will retain its coordinate system (the origin and the axis). Most CAD DXF files are oriented so that the Y-axis is positive going up, whereas the coordinate system ActiveMIL uses is oriented with the Y-axis positive going down. So if you take the edge coordinates of an object from a CAD DXF file and put them in an image, the imaged object will look flipped when compared to the original object. This is also the case for a model defined from a CAD DXF file. This means that, unless the object is symmetrical, the match will not be made. You can use this property to set the Y-axis in the appropriate direction.


ModelFinder.Models.Item.UserLabel Property

UserLabel property

Availability | MIL Equivalent | SyntheticDefinition | Control
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
Index of model
ControlValue =
M_USER_LABEL
)
ModelFinder
Models
Item
UserLabel
Synopsis
Returns or sets the user defined label for the model.
[]
Syntax
object.UserLabel [= Integer]
[]
Syntax
object->UserLabel [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value or a ModNoLabelConstants expression that specifies the user label for the model. (default is modNoLabel)
Value | Meaning
modNoLabel | No user label is associated with the model.
value | Specifies the user label of the model.
Remarks
  • A user label can be used as a means of identifying your model, independently from its index in the ModelFinder control.
  • Once a model has been associated with a user label, you can access its properties with this label using the Models.ItemAtLabel method instead of the Models.Item(ModelIndex) property.
  • The user label given to the specified model must be a unique value that is not associated as a label with any other model in the ModelFinder control.
[]
Example
This example shows how to set the UserLabel property.

ModelFinder.Models.Item(1).UserLabel = 1
[]
Example
This example shows how to set the UserLabel property.

m_ModelFinder1->Models->Item(1)->UserLabel = 1;


ModelFinder.Models.Item.Control Method

Control method

Availability | MIL Equivalent | UserLabel | Draw
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
Index of the model
ControlType
ControlValue
)
ModelFinder
Models
Item
Control
Synopsis
Controls the attributes of the specified model.
[]
Syntax
object.Control(
ByVal ControlType As ModInquireAndControlConstants,
ByVal ControlValue As Double
)
[]
Syntax
void object->Control(
enum ModInquireAndControlConstants ControlType,
const _variant_t & ControlValue
)
ControlType
A ModInquireAndControlConstants value that specifies the attribute to be modified.
ControlValue
A double value that specifies the new value to be set.

Remark
  • This method is reserved for future expansion.


ModelFinder.Models.Item.Draw Method

Draw method

See Also | Availability | MIL Equivalent | Control | Inquire
User Guide:
Drawing the model's active edges

Reference:
GraphicContext.Image
ModelFinder.Results.Item.Draw
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Morphis
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Orion
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
MmodDraw()
ModelFinder
Models
Item
Draw
Synopsis
Draws specified model features in the destination image.
[]
Syntax
object.Draw(
ByVal ImageOrGraphicContext As Object,
ByVal Operation As ModDrawOperationConstants
)
[]
Syntax
void object->Draw(
IDispatch * ImageOrGraphicContext,
enum ModDrawOperationConstants Operation
)
ImageOrGraphicContext
An Image control that specifies the image into which to draw, or a GraphicContext control that specifies the graphic context and image to use to draw features.
Operation
A ModDrawOperationConstants expression that specifies the features to draw. These constants can be added together to draw multiple features simultaneously.
Value | Meaning
modDrawBox | Draws the model box.
modDrawDontCares | Draws the model's "don't care" pixels.
modDrawEdges | Draws the active edges of the model.
modDrawFlatRegions | Draws the model's "flat regions".
modDrawImage | Draws the region of the model source image from which the model was extracted (copy).
modDrawPosition | Draws a cross-like symbol at the model reference axis origin.
modDrawWeightRegions | Draws the model's weighted region mask.

You can add the following setting to the above ModDrawOperationConstants:
Value | Meaning
modOriginalPosition | Drawing is done at the original position of the model in the model source image. If this setting is not specified, features are drawn at the top-left corner of the destination image.
Remarks
  • The destination image must be at least the size of the model. For an image or Edge Finder-type model, use the Models.Item.ImageDefinition.SizeX and Models.Item.ImageDefinition.SizeY properties to establish the size of the model. For a synthetic model, use the Models.Item(ModelIndex).SyntheticDefinition.SizeXInPixels and Models.Item(ModelIndex).SyntheticDefinition.SizeYInPixels properties.
  • You can also draw features of a zoomed region of a Model Finder model. To do so, set the following properties to an appropriate value: DrawingParameters.RelativeOriginX, DrawingParameters.RelativeOriginY, DrawingParameters.ScaleX, and DrawingParameters.ScaleY.

    DrawingParameters.RelativeOriginX and DrawingParameters.RelativeOriginY specify, in pixels, the coordinates of the top-left corner of the region in the model image while DrawingParameters.ScaleX and DrawingParameters.ScaleX specify the X- and Y-scaling factors used to fill the destination image.

    When zooming, the Draw method will draw into the destination image even if the buffer is not large enough to contain all of the zoomed image.

  • To draw, for example, both the position of the model and the model box, set the Operation parameter to modDrawPosition + modDrawBox.
  • When using this method to draw features extracted from a model associated with a Calibration control, the destination drawing image must also be calibrated, using the same world. This method draws all the requested features according to whether the destination image is physically corrected or not.
  • When specifying the ImageOrGraphicContext parameter as a GraphicContext control, the image associated with the control is used as the destination image.
  • To inquire about the active edges of the model, use the Models.Item.Chains property.
  • Note that if you try to draw a model's edges and its ModelFinder control has not been preprocessed, a preliminary edge extraction operation will be performed for the model.
  • You can also choose to draw in the display's overlay image. By drawing into a display's overlay buffer, you can also annotate an image non-destructively.
Remark for Matrox Odyssey XA
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the ModelFinder control. If not, an error will occur.
Remark for Matrox Odyssey XCL
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the ModelFinder control. If not, an error will occur.
Remark for Matrox Odyssey XD
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the ModelFinder control. If not, an error will occur.
[]
Example
This example shows how to draw the active edges of a model.

ModelFinder.Models.Item(1).Draw(ImageModel, modDrawEdges)
[]
Example
This example shows how to draw the active edges of a model.

m_ModelFinder1->Models->Item(1)->Draw(m_EdgeImage, modDrawEdges);


ModelFinder.Models.Item.Inquire Method

Inquire method

Availability | MIL Equivalent | Draw | Mask
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(InquireType)
ModelFinder
Models
Item
Inquire
Synopsis
Inquires about the attributes of the specified model.
[]
Syntax
[Object =] object.Inquire(
ByVal ParamToInquire As ModInquireAndControlConstants
)
[]
Syntax
[_variant_t =] object->Inquire(
enum ModInquireAndControlConstants ParamToInquire
)
ParamToInquire
A ModInquireAndControlConstants value that specifies the attribute to inquire about.
Return value
The current value assigned to the attribute that is inquired about.
Remark
  • This method is reserved for future expansion.


ModelFinder.Models.Item.Mask Method

Mask method

See Also | Availability | MIL Equivalent | Inquire
User Guide:
Masking your model
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodMask()
ModelFinder
Models
Item
Mask
Synopsis
Masks regions of the specified model.
[]
Syntax
object.Mask(
ByVal MaskImage As Image,
ByVal MaskType As ModMaskTypeConstants
)
[]
Syntax
void object->Mask(
IImage * MaskImage,
enum ModMaskTypeConstants MaskType
)
MaskImage
An Image control which specifies the image to use as the mask.
MaskType
A ModMaskTypeConstants expression that specifies the type of mask.
Value | Meaning
modDontCare | Specifies that features present in the masked region (non-zero pixels) are ignored during the search. Features present in this region of the occurrence will not affect the scores.
modFlatRegions | Specifies that no features are expected in the masked region (non-zero pixels). If features are present in this region of the occurrence, the target score will decrease.
modWeightRegions | Specifies that pixels corresponding to the model's active edges are weighted according to the values of the weighted region mask. The weights affect the calculation of the score; although the weights themselves don't affect the target score, edges corresponding to negative weights will be ignored when calculating the target score.
Remarks
  • "Don't care" and "flat region" masks are not supported for synthetic models.
  • You can use different types of masks with the same model.
  • This mask image must be a 1-band, 8-bit unsigned image for a "don't care" or "flat region" mask. For a "weighted region" mask, the mask image must be a 1-band, 8-bit signed image. The image must be of the same size as the model.
  • The mask image can be calibrated, however, this is not necessary (even if the model is calibrated); the mask is applied on a pixel basis.
  • If the margin size of a synthetic model's bounding box is modified (using the BoxMarginBottom, BoxMarginLeft, BoxMarginRight and BoxMarginTop properties), the model's mask will be discarded since its size is no longer valid.
  • When the MaskType parameter is set to modDontCare or modFlatRegions, a masked pixel corresponds to a non-zero value in the mask image.
  • When the MaskType parameter is set to modWeightRegions, note that:
    • The valid mask weights range from -127 to +127.
    • Positive weights indicate how significant it is for a given pixel to be part of an edge in the occurrence; the more positive the weight, the greater the influence on the score. The absence of an pixel with a very positive weight will reduce the score more than the absence of one with a lower weight.
    • The longer the edges with a positive weight, the more significant the edges to the target coverage, and to the target score.
    • Negative weights indicate how significant it is for a pixel not to be part of an edge in the occurrence; the more negative the weight, the greater the influence on the score. The presence of a pixel with a very negative weight will reduce the score more than the presence of one with a less negative weight.
    • Weights that have no correspondence to edges in the model have no effect on the score.
  • To clear the mask, set the MaskImage parameter to an Image control cleared to 0.
[]
Example
This example shows how to set the Mask property.

ModelFinder.Models.Item(1).Mask(ImageMask, modDontCares)
[]
Example
This example shows how to set the Mask property.

m_ModelFinder1->Models->Item(1)->Mask(m_MaskImage, modDontCares);


ModelFinder.Models.ItemAtLabel Property

ItemAtLabel property

See Also | Availability | MIL Equivalent | Item | LastLevel
User Guide:
Model indices and labels
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(
Index =
Index of model
InquireType =
M_INDEX_FROM_LABEL
)
ModelFinder
Models
ItemAtLabel
Synopsis
Returns the element in the collection of Model Finder models with the index corresponding to the specified user label.
[]
Syntax
[ModelFinderModel=]object.ItemAtLabel(
UserLabel As Integer
)
[]
Syntax
[IModelFinderModelPtr =] object->ItemAtLabel[long UserLabel]
UserLabel
A longintegerlong (integer for Visual Basic .Net) value that specifies the user label of the required element.
Type description
A ModelFinderModel object.
Remarks
  • The user label for a model is specified using the Models.Item(ModelIndex).UserLabel property.
  • If the value provided as the user label does not match any existing element of the collection, an error occurs.
  • This property is equivalent to the Models.Item property, and allows access to the collection of Model Finder models.


ModelFinder.Models.LastLevel Property

LastLevel property

See Also | Availability | MIL Equivalent | ItemAtLabel | ModificationCount
Reference:
ModelFinder.ModelFinderType
ModelFinder.Models.FirstLevel
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
M_CONTEXT
ControlType =
M_LAST_LEVEL
)
ModelFinder
Models
LastLevel
Synopsis
Returns or sets the resolution level for the final stage (highest resolution) of the search.
[]
Syntax
object.LastLevel [= Integer]
[]
Syntax
object->LastLevel [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value or an ActiveMILDefaultConstants expression that specifies the resolution level for the final stage of the search. (default is amilDefault)
Value | Meaning
amilDefault | Specifies that ActiveMIL determines the last resolution automatically.
value | Specifies the resolution level (0-7).
Remarks
  • This property is for advanced users of the ModelFinder control. The default setting usually provides the best result for searches.
  • This property is not supported if the ModelFinderType property is set to modGeometric.
  • Level 0 represents the original target; each higher level is half the size (and resolution) of the previous one.
  • If the specified level is not supported by the search algorithm, the highest possible level will be used.
  • A higher last level speeds up the initial search but might make it less reliable and accurate, because the model might not retain enough distinctive features at a lower resolution.


ModelFinder.Models.ModificationCount Property

ModificationCount property

Availability | MIL Equivalent | LastLevel | SearchAngleEnabled
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(M_MODIFICATION_COUNT)
ModelFinder
Models
ModificationCount
Synopsis
Returns the number of modifications made to both the individual model search settings and the ModelFinder control's global search settings since the ModelFinder control was allocated.
[]
Syntax
[Integer =] object.ModificationCount
[]
Syntax
[long =] object->ModificationCount
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the current value of the modification counter.
Remarks
  • The modification counter is increased by one each time the ModelFinder control's global search settings, or individual model search settings, are modified.
  • This property can be useful when designing your application. For example, if the modifcation counter has changed, you can prompt the user to save before closing the application.
  • The modification counter is initialized to a number that is unique to the ModelFinder control and is given its own unique range.
  • If the ModelFinder control is freed, this number will not be assigned to a new ModelFinder control.


ModelFinder.Models.SearchAngleEnabled Property

SearchAngleEnabled property

See Also | Availability | MIL Equivalent | ModificationCount | SearchPositionEnabled
User Guide:
Angle and angular range
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
M_CONTEXT
ControlType =
M_SEARCH_ANGLE_RANGE
)
ModelFinder
Models
SearchAngleEnabled
Synopsis
Returns or sets whether to perform calculations specific to angular-range search strategies.
[]
Syntax
object.SearchAngleEnabled [= Boolean]
[]
Syntax
object->SearchAngleEnabled [= VARIANT_BOOL]
Type description
A boolean value that specifies whether calculations specific to angular-range search strategies are enabled. (default is True)
Value | Meaning
True | Specifies that calculations specific to angular-range search strategies are enabled.
False | Specifies that calculations specific to angular-range search strategies are disabled.
Remarks
  • Typically, to search for models within their specified angular range in the target, calculations specific to the angular-range search strategies should be enabled. These calculations are not required to search for models at their nominal angle.
  • If you expect that the occurrences sought are close to their model's nominal angle, you can try disabling these calculations to see if the ModelFinder control can still find the required occurrences. Disabling these calculations might speed up the search depending on the model and the target.
  • Candidates can only be returned as occurrences if found within the angular range specified for their model with the Models.Item(ModelIndex).Angle property. If you have disabled these calculations and occurrences at angles outside of a required range are being returned, you can restrict which candidates are returned as occurrences by narrowing the angular range.
  • When this property is set to False, you must set the nominal angle of the search for each model using the Models.Item(ModelIndex).Angle.Value property.
  • This property is not supported if the ModelFinderType property is set to modGeometricControlled.
[]
Example
This example shows how to enabled the an angular search.

ModelFinder.Models.SearchAngleEnabled = True
[]
Example
This example shows how to enabled the an angular search.

m_ModelFinder1->Models->SearchAngleEnabled = TRUE;


ModelFinder.Models.SearchPositionEnabled Property

SearchPositionEnabled property

See Also | Availability | MIL Equivalent | SearchAngleEnabled | SearchScaleEnabled
User Guide:
Search position and search region
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
M_CONTEXT
ControlType =
M_SEARCH_POSITION_RANGE
)
ModelFinder
Models
SearchPositionEnabled
Synopsis
Returns or sets whether to perform calculations specific to position-range search strategies.
[]
Syntax
object.SearchPositionEnabled [= Boolean]
[]
Syntax
object->SearchPositionEnabled [= VARIANT_BOOL]
Type description
A boolean value that specifies whether calculations specific to position-range search strategies are enabled. (default is True)
Value | Meaning
True | Specifies that the calculations specific to position-range search strategies are enabled.
False | Specifies that the calculations specific to position-range search strategies are disabled.
Remarks
  • Typically, to search for models within their specified position range in the target, calculations specific to position-range search strategies should be enabled. These calculations are not required to search for models at their nominal position.
  • If you expect that the occurrences sought are close to their model's nominal position, you can try disabling these calculations to see if the ModelFinder control can still find the required occurrences. Disabling these calculations might speed up the search depending on the model and the target.
  • Candidates can only be returned as occurrences if found within the position range specified for their model with the Models.Item(ModelIndex).Position property. If you have disabled these calculations and occurrences at positions outside of a required range are being returned, you can restrict which candidates are returned as occurrences by narrowing the range.
  • Set the nominal position of the search for each model using the Models.Item(ModelIndex).Position.X and Models.Item(ModelIndex).Position.Y properties.If you do not specify a nominal position when this property is set to False, then ActiveMIL will perform calculations as if position-range search strategies were enabled.
  • When this property is set to True, limiting the position range to the minimum required generally decreases the search time.
[]
Example
This example shows how to use the SearchPositionEnabled property.

ModelFinder.Models.SearchPositionEnabled = True


ModelFinder.Models.SearchScaleEnabled Property

SearchScaleEnabled property

See Also | Availability | MIL Equivalent | SearchPositionEnabled | SharedEdges
User Guide:
Scale and scale range
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
M_CONTEXT
ControlType =
M_SEARCH_SCALE_RANGE
)
ModelFinder
Models
SearchScaleEnabled
Synopsis
Returns or sets whether to perform calculations specific to scale-range search strategies.
[]
Syntax
object.SearchScaleEnabled [= Boolean]
[]
Syntax
object->SearchScaleEnabled [= VARIANT_BOOL]
Type description
A boolean value that specifies whether calculations specific to scale-range search strategies are enabled. (default is False)
Value | Meaning
True | Specifies that calculations specific to scale-range search strategies are enabled.
False | Specifies that calculations specific to scale-range search strategies are disabled.
Remarks
  • Typically, to search for models within their specified scale range in the target, calculations specific to the scale-range search strategies should be enabled. These calculations are not required to search for models at their nominal scale.
  • If you expect that the occurrences sought are close to their model's nominal scale, you can try disabling these calculations to see if the ModelFinder control can still find the required occurrences. Disabling these calculations might speed up the search depending on the model and the target.
  • Candidates can only be returned as occurrences if found within the scale range specified for their model with the Models.Item(ModelIndex).Scale property. If you have disabled these calculations and occurrences at scales outside of a required range are being returned, you can restrict which candidates are returned as occurrences by narrowing the scale range.
  • When this property is set to False, you must set the nominal scale of the search for each model using the Models.Item(ModelIndex).Scale.Value property.
  • When this property is set to True, limiting the scale range to the minimum required generally decreases the search time.
  • This property is not supported if the ModelFinderType property is set to modGeometricControlled.
[]
Example
This example shows how to enable a search through a range of scales.

ModelFinder.Models.SearchScaleEnabled = True
[]
Example
This example shows how to enable a search through a range of scales.

m_ModelFinder1->Models->SearchScaleEnabled = TRUE;


ModelFinder.Models.SharedEdges Property

SharedEdges property

See Also | Availability | MIL Equivalent | SearchScaleEnabled | SmoothnessLevel
User Guide:
Shared edges
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
M_CONTEXT
ControlType =
M_SHARED_EDGES
)
ModelFinder
Models
SharedEdges
Synopsis
Returns or sets whether sharing of edges between occurrences is enabled.
[]
Syntax
object.SharedEdges [= Boolean]
[]
Syntax
object->SharedEdges [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the sharing of edges between occurrences is enabled. (default is False)
Value | Meaning
True | Enables sharing of edges.
False | Disables sharing of edges.
Remark
  • When this property is disabled (set to False), edges that are part of more than one occurrence are considered as part of the occurrence with the greatest score.
[]
Example
This example shows how to use the SharedEdges property.

ModelFinder.Models.SharedEdges = True
[]
Example
This example shows how to use the SharedEdges property.

m_ModelFinder1->Models->SharedEdges = TRUE;


ModelFinder.Models.SmoothnessLevel Property

SmoothnessLevel property

Availability | MIL Equivalent | SharedEdges | Speed
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
M_CONTEXT
ControlType =
M_SMOOTHNESS
)
ModelFinder
Models
SmoothnessLevel
Synopsis
Returns or sets the degree of smoothness (noise reduction) applied to model images and target images during edge extraction.
[]
Syntax
object.SmoothnessLevel [= Double]
[]
Syntax
object->SmoothnessLevel [= double]
Type description
A double value from 0.0 to 100.0 that specifies the degree of the smoothness (denoising) applied.
Remarks
  • A setting of 0.0 indicates almost no noise reduction, while a setting of 100.0 indicates a very strong noise reduction effect. (default is 50.0)
  • This property is only used when dealing with image-type models and image-type targets.
  • Note that the model source and target images are not directly modified; this property merely extracts the edge-based information from the images.
  • Note that using a very high smoothing level can result in a loss of important detail and a decrease in precision.
[]
Example
This example shows how to use the SmoothnessLevel property.

ModelFinder.Models.SmoothnessLevel = 50.1
[]
Example
This example shows how to use the SmoothnessLevel property.

m_ModelFinder1->Models->SmoothnessLevel = 50.1;


ModelFinder.Models.Speed Property

Speed property

See Also | Availability | MIL Equivalent | SmoothnessLevel | Timeout
User Guide:
Setting the search speed
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
M_CONTEXT
ControlType =
M_SPEED
)
ModelFinder
Models
Speed
Synopsis
Returns or sets the required search speed.
[]
Syntax
object.Speed [= ModMediumHighConstants]
[]
Syntax
object->Speed [= enum ModMediumHighConstants]
Type description
A ModMediumHighConstants expression that specifies the search speed. (default is modMedium)
Value | Meaning
modMedium | Normal.
modHigh | Fast.
modVeryHigh | Very fast, but less reliable.
Remarks
  • Note that increasing the search speed can decrease the robustness and subpixel accuracy of the Find and the FindInEdgeFinderResults methods.
  • modVeryHigh is not supported when searching for models in the results of an EdgeFinder control. Models will not be found if this setting is used.
[]
Example
This example shows how to use the Speed property.

ModelFinder.Models.Speed = modHigh
[]
Example
This example shows how to use the Speed property.

m_ModelFinder1->Models->Speed = modHigh;


ModelFinder.Models.Timeout Property

Timeout property

See Also | Availability | MIL Equivalent | Speed | TotalNumberOfOccurrences
User Guide:
Timing out your search
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
M_CONTEXT
ControlType =
M_TIMEOUT
)
ModelFinder
Models
Timeout
Synopsis
Returns or sets the maximum time for a search operation.
[]
Syntax
object.Timeout [= Double]
[]
Syntax
object->Timeout [= double]
Type description
A double value or a ModDisableConstants expression that specifies the maximum time for a search operation. (default is 2000 msec)
Value | Meaning
modDisable | Disables timing out of the search.
value | Specifies the maximum search time, in msec.
Remark
  • If a search times out, the number of occurrences found at that point will be returned. However, it is not possible to predict which occurrences will be found before the time limit is reached.


ModelFinder.Models.TotalNumberOfOccurrences Property

TotalNumberOfOccurrences property

See Also | Availability | MIL Equivalent | Timeout | AddCircleModel
User Guide:
Expected number of occurrences

Reference:
ModelFinder.Models.Item.Acceptance
ModelFinder.Models.Item.Certainty
ModelFinder.Models.Item.NumberOfOccurrences
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
M_CONTEXT
ControlType =
M_NUMBER
)
ModelFinder
Models
TotalNumberOfOccurrences
Synopsis
Returns or sets the maximum number of all model occurrences (for all models within the ModelFinder control) to find in the target.
[]
Syntax
object.TotalNumberOfOccurrences [= Integer]
[]
Syntax
object->TotalNumberOfOccurrences [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value or a ModAllConstants expression that specifies the total number of occurrences. (default is modAll)
Value | Meaning
modAll | Finds the maximum number of occurrences specified for each model.
value | Specifies the total number of occurrences.
Remarks
  • If an occurrence has both a score and target score equal to or above its model's respective certainty level settings (specified using the Models.Item(ModelIndex).Certainty and Models.Item(ModelIndex).CertaintyTarget properties), it is automatically considered a match (default 80%); the remaining matches will be those occurrences with the best scores equal to or above the model's acceptance levels (specified using the Models.Item(ModelIndex).Acceptance and Models.Item(ModelIndex).AcceptanceTarget properties).
  • Once the total number of occurrences for the ModelFinder control with scores and target scores above their certainty level has been reached, the search will stop, regardless of whether the actual number set for any individual model has been found.
  • The expected number of occurrences for each model is set using the Models.Item(ModelIndex).NumberOfOccurrences property.
  • Note that setting this property and the Models.Item(ModelIndex).NumberOfOccurrences property of one model to modAll can significantly slow the Find and FindInEdgeFinderResults methods, depending on the complexity of your model and the target (operation speed will only be slightly affected for simple models on a uniform background). It is recommended that you specify the exact number of expected occurrences whenever possible.
  • To further illustrate the relationship between this property and that of the Models.Item(ModelIndex).NumberOfOccurrences property, the table below shows the maximum possible results which can be returned for different TotalNumberOfOccurrences property settings, for a sample ModelFinder control with three models:
    Example 1
    Property settings | Maximum possible results
    ModelFinder1.Models.TotalNumberOfOccurrences = modAll | All
    ModelFinder1.Models(1).NumberOfOccurrences = 1 | 1
    ModelFinder1.Models(2).NumberOfOccurrences = modAll | All
    ModelFinder1.Models(3).NumberOfOccurrences = 2 | 2
    Example 2
    Property settings | Maximum possible results
    ModelFinder2.Models.TotalNumberOfOccurrences = 6 | 6
    ModelFinder2.Models(1).NumberOfOccurrences = 1 | 0 | 1 | 0 | 1 | 0 | 1
    ModelFinder2.Models(2).NumberOfOccurrences = modAll | 6 | 5 | 5 | 4 | 4 | 3
    ModelFinder2.Models(3).NumberOfOccurrences = 2 | 0 | 0 | 1 | 1 | 2 | 2


ModelFinder.Models.AddCircleModel Method

AddCircleModel method

See Also | Availability | MIL Equivalent | TotalNumberOfOccurrences | AddCrossModel
Reference:
ModelFinder.ModelFinderType
ModelFinder.Models.AddCrossModel
ModelFinder.Models.AddDiamondModel
ModelFinder.Models.AddEllipseModel
ModelFinder.Models.AddRectangleModel
ModelFinder.Models.AddRingModel
ModelFinder.Models.AddSquareModel
ModelFinder.Models.AddTriangleModel
ModelFinder.Models.Item.Scale
ModelFinder.Models.Item.SyntheticDefinition.Circle.Radius
ModelFinder.Models.Item.SyntheticDefinition.PixelScale
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodDefine(
ModelType =
M_CIRCLE
)
ModelFinder
Models
AddCircleModel
Synopsis
Adds a model of a circle to the collection of Model Finder models.
[]
Syntax
[Integer =] object.AddCircleModel(
ByVal ForegroundValue As ModForegroundConstants,
ByVal Radius As Double
)
[]
Syntax
[long =] object->AddCircleModel(
enum ModForegroundConstants ForegroundValue,
double Radius
)
ForegroundValue (optional in , default is modForegroundAny)
A ModForegroundConstants or an ActiveMILDefaultConstants expression that specifies the foreground color of the model.
Value | Meaning
modForegroundAny | Specifies that the foreground has no specific polarity.
modForegroundBlack | Specifies that the foreground color is set to black.
modForegroundWhite | Specifies that the foreground color is set to white.
amilDefault | Specifies the default foreground.
Radius
A double value that specifies the length of the radius of the circle.
Return value
Returns a longintegerlong (integer for Visual Basic .Net) value that represents the index in the collection of Model Finder models.
Remarks
  • The diagram below illustrates the radius of the model.
  • This type of model is considered to be a synthetic model.
  • By default, synthetic models are defined to have a 10% margin around the bounding box of their active edges. The bounding box and this margin define the size of the model box. You can change the margins by using the BoxMarginBottom, BoxMarginTop, BoxMarginLeft, and BoxMarginRight properties of the Models.Item(ModelIndex).SyntheticDefinition property.
  • When finding an occurrence, any extra edges found in the model box will reduce the target score.
  • Specify the dimensions of the circle in user-defined units. You must specify the ratio between model units and pixels, using the Models.Item(ModelIndex).SyntheticDefinition.PixelScale property.
  • If the target is not calibrated, then Models.Item(ModelIndex).SyntheticDefinition.PixelScale is used for the match. If the target is calibrated, the model units should be the same as the calibrated units. If the target is calibrated, Models.Item(ModelIndex).SyntheticDefinition.PixelScale will be used for draw operations, but not for the match nor the returned results.
  • If you are searching for a synthetic model in a calibrated target, you must also associate the Calibration control of the target with the model, using the Models.Item(ModelIndex).Calibration property. ActiveMIL needs the Calibration control for internal purposes at preprocessing time. ActiveMIL will not use the Calibration control to compensate for incongruencies between the model and the target, nor will ActiveMIL map the model's coordinate system to that of the target.
  • The model index starts at 1, and each subsequent model added to the ModelFinder control is given a sequential index number, in the order that the model was added. If a model is deleted, all models with higher indices are shifted down one. Models can be given a unique user label with the Models.Item(ModelIndex).UserLabel property. This label can then be used instead of the index with the Models.ItemAtLabel(UserLabel) method.
  • Note that when a model is added or deleted, the ModelFinder control must be preprocessed again, using the Preprocess method of the ModelFinder control.
  • When a call to the Find or FindInEdgeFinderResults method is made, all models that are part of the ModelFinder control are searched for simultaneously in the target.
  • The origin of the model is the center of the shape.
  • The search is performed according to the ModelFinder control's global search settings, as well as the individual model search settings. The ModelFinder control's global search settings are specified using the immediate properties of the ModelFinder control and with the Models property; individual model search settings can be specified using the properties of the Models.Item(ModelIndex) property.
  • To verify the settings that were used to create a model using this method, use the properties of the Models.Item(ModelIndex).SyntheticDefinition property.
[]
Example
This example shows how to add an circle-type model.

ModelFinder.Models.AddCircleModel(modForegroundAny, 25)


ModelFinder.Models.AddCrossModel Method

AddCrossModel method

See Also | Availability | MIL Equivalent | AddCircleModel | AddDiamondModel
Reference:
ModelFinder.ModelFinderType
ModelFinder.Models.AddCircleModel
ModelFinder.Models.AddDiamondModel
ModelFinder.Models.AddEllipseModel
ModelFinder.Models.AddRectangleModel
ModelFinder.Models.AddRingModel
ModelFinder.Models.AddSquareModel
ModelFinder.Models.AddTriangleModel
ModelFinder.Models.Item.Scale
ModelFinder.Models.Item.SyntheticDefinition.Cross.Height
ModelFinder.Models.Item.SyntheticDefinition.Cross.HorizontalThickness
ModelFinder.Models.Item.SyntheticDefinition.Cross.VerticalThickness
ModelFinder.Models.Item.SyntheticDefinition.Cross.Width
ModelFinder.Models.Item.SyntheticDefinition.PixelScale
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodDefine(
ModelType =
M_CROSS
)
ModelFinder
Models
AddCrossModel
Synopsis
Adds a model of a cross to the collection of Model Finder models.
[]
Syntax
[Integer =] object.AddCrossModel(
ByVal ForegroundValue As ModForegroundConstants,
ByVal Width As Double,
ByVal Height As Double,
ByVal HorizontalThickness As Double,
ByVal VerticalThickness As Double
)
[]
Syntax
[long =] object->AddCrossModel(
enum ModForegroundConstants ForegroundValue,
double Width,
double Height,
double HorizontalThickness,
double VerticalThickness
)
ForegroundValue (optional in , default is modForegroundAny)
A ModForegroundConstants or an ActiveMILDefaultConstants expression that specifies the foreground color of the model.
Value | Meaning
modForegroundAny | Specifies that the foreground has no specific polarity.
modForegroundBlack | Specifies that the foreground color is set to black.
modForegroundWhite | Specifies that the foreground color is set to white.
amilDefault | Specifies the default foreground.
Width
A double value that specifies the width of the cross.
Height
A double value that specifies the height of the cross.
HorizontalThickness
A double value that specifies the horizontal thickness of the cross.
VerticalThickness
A double value that specifies the vertical thickness of the cross.
Return value
Returns a longintegerlong (integer for Visual Basic .Net) value that represents the index in the collection of Model Finder models.
Remarks
  • The diagram below illustrates the width, height, horizontal thickness, and vertical thickness of the model.
  • This type of model is considered to be a synthetic model.
  • By default, synthetic models are defined to have a 10% margin around the bounding box of their active edges. The bounding box and this margin define the size of the model box. You can change the margins by using the BoxMarginBottom, BoxMarginTop, BoxMarginLeft, and BoxMarginRight properties of the Models.Item(ModelIndex).SyntheticDefinition property.
  • When finding an occurrence, any extra edges found in the model box will reduce the target score.
  • Specify the dimensions of the cross in user-defined units. You must specify the ratio between model units and pixels, using the Models.Item(ModelIndex).SyntheticDefinition.PixelScale property.
  • If the target is not calibrated, then Models.Item(ModelIndex).SyntheticDefinition.PixelScale is used for the match. If the target is calibrated, the model units should be the same as the calibrated units. If the target is calibrated, Models.Item(ModelIndex).SyntheticDefinition.PixelScale will be used for draw operations, but not for the match nor the returned results.
  • If you are searching for a synthetic model in a calibrated target, you must also associate the Calibration control of the target with the model, using the Models.Item(ModelIndex).Calibration property. ActiveMIL needs the Calibration control for internal purposes at preprocessing time. ActiveMIL will not use the Calibration control to compensate for incongruencies between the model and the target, nor will ActiveMIL map the model's coordinate system to that of the target.
  • The model index starts at 1, and each subsequent model added to the ModelFinder control is given a sequential index number, in the order that the model was added. If a model is deleted, all models with higher indices are shifted down one. Models can be given a unique user label with the Models.Item(ModelIndex).UserLabel property. This label can then be used instead of the index with the Models.ItemAtLabel(UserLabel) method.
  • Note that when a model is added or deleted, the ModelFinder control must be preprocessed again, using the Preprocess method of the ModelFinder control.
  • When a call to the Find or FindInEdgeFinderResults method is made, all models that are part of the ModelFinder control are searched for simultaneously in the target.
  • The origin of the model is the center of the shape.
  • The search is performed according to the ModelFinder control's global search settings, as well as the individual model search settings. The ModelFinder control's global search settings are specified using the immediate properties of the ModelFinder control and with the Models property; individual model search settings can be specified using the properties of the Models.Item(ModelIndex) property.
  • To verify the settings that were used to create a model using this method, use the properties of the Models.Item(ModelIndex).SyntheticDefinition property.
[]
Example
This example shows how to add an cross-type model.

ModelFinder.Models.AddCrossModel(modForegroundAny, 35, 45, 6, 6)


ModelFinder.Models.AddDiamondModel Method

AddDiamondModel method

See Also | Availability | MIL Equivalent | AddCrossModel | AddDxfModel
Reference:
ModelFinder.ModelFinderType
ModelFinder.Models.AddCircleModel
ModelFinder.Models.AddCrossModel
ModelFinder.Models.AddEllipseModel
ModelFinder.Models.AddRectangleModel
ModelFinder.Models.AddRingModel
ModelFinder.Models.AddSquareModel
ModelFinder.Models.AddTriangleModel
ModelFinder.Models.Item.Scale
ModelFinder.Models.Item.SyntheticDefinition.Diamond
ModelFinder.Models.Item.SyntheticDefinition.Diamond.Height
ModelFinder.Models.Item.SyntheticDefinition.Diamond.Width
ModelFinder.Models.Item.SyntheticDefinition.PixelScale
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodDefine(
ModelType =
M_DIAMOND
)
ModelFinder
Models
AddDiamondModel
Synopsis
Adds a model of a diamond to the collection of Model Finder models.
[]
Syntax
[Integer =] object.AddDiamondModel(
ByVal ForegroundValue As ModForegroundConstants,
ByVal Width As Double,
ByVal Height As Double
)
[]
Syntax
[long =] object->AddDiamondModel(
enum ModForegroundConstants ForegroundValue,
double Width,
double Height
)
ForegroundValue (optional in , default is modForegroundAny)
A ModForegroundConstants or an ActiveMILDefaultConstants expression that specifies the foreground color of the model.
Value | Meaning
modForegroundAny | Specifies that the foreground has no specific polarity.
modForegroundBlack | Specifies that the foreground color is set to black.
modForegroundWhite | Specifies that the foreground color is set to white.
amilDefault | Specifies the default foreground.
Width
A double value that specifies the width of the diamond.
Height
A double value that specifies the height of the diamond.
Return value
Returns a longintegerlong (integer for Visual Basic .Net) value that represents the index in the collection of Model Finder models.
Remarks
  • The diagram below illustrates the width and the height of the model.
  • This type of model is considered to be a synthetic model.
  • By default, synthetic models are defined to have a 10% margin around the bounding box of their active edges. The bounding box and this margin define the size of the model box. You can change the margins by using the BoxMarginBottom, BoxMarginTop, BoxMarginLeft, and BoxMarginRight properties of the Models.Item(ModelIndex).SyntheticDefinition property.
  • When finding an occurrence, any extra edges found in the model box will reduce the target score.
  • Specify the dimensions of the diamond in user-defined units. You must specify the ratio between model units and pixels, using the Models.Item(ModelIndex).SyntheticDefinition.PixelScale property.
  • If the target is not calibrated, then Models.Item(ModelIndex).SyntheticDefinition.PixelScale is used for the match. If the target is calibrated, the model units should be the same as the calibrated units. If the target is calibrated, Models.Item(ModelIndex).SyntheticDefinition.PixelScale will be used for draw operations, but not for the match nor the returned results.
  • If you are searching for a synthetic model in a calibrated target, you must also associate the Calibration control of the target with the model, using the Models.Item(ModelIndex).Calibration property. ActiveMIL needs the Calibration control for internal purposes at preprocessing time. ActiveMIL will not use the Calibration control to compensate for incongruencies between the model and the target, nor will ActiveMIL map the model's coordinate system to that of the target.
  • The model index starts at 1, and each subsequent model added to the ModelFinder control is given a sequential index number, in the order that the model was added. If a model is deleted, all models with higher indices are shifted down one. Models can be given a unique user label with the Models.Item(ModelIndex).UserLabel property. This label can then be used instead of the index with the Models.ItemAtLabel(UserLabel) method.
  • Note that when a model is added or deleted, the ModelFinder control must be preprocessed again, using the Preprocess method of the ModelFinder control.
  • When a call to the Find or FindInEdgeFinderResults method is made, all models that are part of the ModelFinder control are searched for simultaneously in the target.
  • The origin of the model is the center of the shape.
  • The search is performed according to the ModelFinder control's global search settings, as well as the individual model search settings. The ModelFinder control's global search settings are specified using the immediate properties of the ModelFinder control and with the Models property; individual model search settings can be specified using the properties of the Models.Item(ModelIndex) property.
  • To verify the settings that were used to create a model using this method, use the properties of the Models.Item(ModelIndex).SyntheticDefinition property.
[]
Example
This example shows how to add an diamond-type model.

ModelFinder.Models.AddDiamondModel(modForegroundAny, 30, 40)


ModelFinder.Models.AddDxfModel Method

AddDxfModel method

See Also | Availability | MIL Equivalent | AddDiamondModel | AddEdgeModel
Reference:
ModelFinder.ModelFinderType
ModelFinder.Models.AddEdgeModel
ModelFinder.Models.AddImageModel
ModelFinder.Preprocess
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodDefineFromFile()
ModelFinder
Models
AddDxfModel
Synopsis
Defines a model from a CAD DXF file and adds it to the collection of Model Finder models.
[]
Syntax
[Integer =] object.AddDxfModel(
ByVal FileName As String
)
[]
Syntax
[long =] object->AddDxfModel(
_bstr_t FileName
)
FileName
A string value that specifies the file from which to extract the model.
Return value
Returns a longintegerlong (integer for Visual Basic .Net) value that represents the index in the model collection where the model is added.
Remarks
  • This type of model is considered to be a CAD-type synthetic model.
  • A model defined from a CAD DXF file has no polarity.
  • This method does not support all entities that are possible in a CAD DXF file. If there are unsupported entities in the file, they are ignored, and the rest of the entities are read. The supported entities are as follows: LINE, POLYLINE, LWPOLYLINE, CIRCLE, ARC, ELLIPSE, INSERT and BLOCK.
  • By default, synthetic models are defined to have a 10% margin around the bounding box of their active edges. The bounding box and this margin define the size of the model box. You can change the margins by using the BoxMarginBottom, BoxMarginTop, BoxMarginLeft, and BoxMarginRight properties of the Models.Item(ModelIndex).SyntheticDefinition property.
  • When the model is added to a ModelFinder control from a CAD DXF file, the model will retain its coordinate system (the origin and the axis). Specify the ratio between model units and pixel units, using the Models.Item(ModelIndex).SyntheticDefinition.PixelScale property.
  • If the target is calibrated, you must also associate the Calibration control of the target with the model, using the Models.Item(ModelIndex).Calibration property. ActiveMIL needs the Calibration control for internal purposes at preprocessing time. ActiveMIL will not use the Calibration control to compensate for incongruencies between the model and the target, nor will ActiveMIL map the model's coordinate system to that of the target.
  • If the target is calibrated, the model units should be the same as the calibrated units. The Models.Item(ModelIndex).SyntheticDefinition.PixelScale property will then be used for draw operations, but not for the match nor the returned results.
  • The model index starts at 1, and each subsequent model added to the ModelFinder control is given a sequential index number, in the order that the model was added. If a model is deleted, all models with higher indices are shifted down one. Models can be given a unique user label with the Models.Item(ModelIndex).UserLabel property. This label can then be used instead of the index with the Models.ItemAtLabel(UserLabel) method.
  • Note that after a model is added, the ModelFinder control must be preprocessed again, using the Preprocess method.
  • You can remove a model from the collection of models, using the Models.Remove method.
  • When a call to the Find or FindInEdgeFinderResults method is made, all models that are part of the ModelFinder control are searched for simultaneously in the target.
  • The search is performed according to the ModelFinder control's global search settings, as well as the individual model search settings. The ModelFinder control's global search settings are specified using the immediate properties of the control and of the Models property; individual model search settings can be specified using the properties of the Models.Item(ModelIndex) property.
  • Most CAD DXF files are oriented so that the Y-axis is positive going up, whereas the coordinate system ActiveMIL uses is oriented with the Y-axis positive going down. So if you take the edge coordinates of an object from a CAD DXF file and put them in an image, the imaged object will look flipped when compared to the original object. This is also the case for a model defined from a CAD DXF file. This means that, unless the object is symmetrical, the match will not be made. You can use the Models.Item.SyntheticDefinition.YAxisFlipped property to set the Y-axis in the appropriate direction.
[]
Example
This example shows how to add an CAD-type model.

'BASE_PATH is the path of the application
ModelFinder.Models.AddDxfModel(BASE_PATH & PATH_DXF)


ModelFinder.Models.AddEdgeModel Method

AddEdgeModel method

See Also | Availability | MIL Equivalent | AddDxfModel | AddEllipseModel
Reference:
ModelFinder.Find
ModelFinder.Models.AddDxfModel
ModelFinder.Models.AddImageModel
ModelFinder.Preprocess
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox CronosPlus
Fully supported on Matrox Corona-II
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Orion
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
MmodDefine(
ModelType =
M_EDGE_RESULT
)
ModelFinder
Models
AddEdgeModel
Synopsis
Adds a model defined from the edge extraction results obtained by a specified EdgeFinder control.
[]
Syntax
[Integer =] object.AddEdgeModel(
ByVal EdgeFinderControl As EdgeFinder,
ByVal OffsetX As Double,
ByVal OffsetY As Double,
ByVal SizeX As Double,
ByVal SizeY As Double
)
[]
Syntax
[long =] object->AddEdgeModel(
IEdgeFinder * EdgeFinderControl,
double OffsetX,
double OffsetY,
double SizeX,
double SizeY
)
EdgeFinderControl
An EdgeFinder control that specifies the edge extraction results from which to extract the model.
OffsetX (optional in , default is amilDefault)
A double value or an ActiveMILDefaultConstants expression that specifies the X-offset of the model origin.
Value | Meaning
amilDefault | Specifies that the X-offset of the model origin is the origin of the model source image.
value | Specifies the X-offset of the model origin in the model source image, in pixels.
OffsetY (optional in , default is amilDefault)
A double value or an ActiveMILDefaultConstants expression that specifies the Y-offset of the model origin.
Value | Meaning
amilDefault | Specifies that the Y-offset of the model origin is the origin of the model source image.
value | Specifies the Y-offset of the model origin in the model source image, in pixels.
SizeX (optional in , default is amilDefault)
A double value or an ActiveMILDefaultConstants expression that specifies the width of the model.
Value | Meaning
amilDefault | Specifies that the width of the model is the width of the model source image.
value | Specifies the width of the model, in pixels. The value must be between 16.0 and 1024.0 pixels.
SizeY (optional in , default is amilDefault)
A double value or an ActiveMILDefaultConstants expression that specifies the height of the model.
Value | Meaning
amilDefault | Specifies that the height of the model is the height of the model source image.
value | Specifies the height of the model, in pixels. The value must be between 16.0 and 1024.0 pixels.
Return value
Returns a longintegerlong (integer for Visual Basic .Net) value that represents the index in the collection of Model Finder models.
Remarks
  • This type of model is referred to as an Edge Finder-type model. It is a type of result-type model.
  • In the case of an Edge Finder-type model, the model source image is the image from which the EdgeFinder control obtained its results.
  • The EdgeFinder control must be compatible with the ModelFinder control. Use the ModelFinderCompatible property of the EdgeFinder control to make it compatible.
  • The Calculate method of the EdgeFinder control must have been called after making the EdgeFinder control compatible with the ModelFinder control and prior to calling this method.
  • The model is defined to have all currently included edges in the Edge Finder result.
  • If the Edge Finder control used to define the model is associated with a Calibration control, then that Calibration control is automatically associated with the model. Models can use different Calibration controls within the same ModelFinder control, provided all calibrations map to the same world. You cannot mix calibrated and non-calibrated models within a ModelFinder control; all models must be either calibrated or not.
  • To verify the settings that were used to create a model using this method, use the properties of the Models.Item(ModelIndex).ImageDefinition property.
  • The model index starts at 1, and each subsequent model added to the ModelFinder control is given a sequential index number, in the order that the model was added. If a model is deleted, all models with higher indices are shifted down one. Models can be given a unique user label with the Models.Item(ModelIndex).UserLabel property. This label can then be used instead of the index with the Models.ItemAtLabel(UserLabel) method.
  • When a model is added or deleted, the ModelFinder control must be preprocessed again, using the Preprocess method.
  • When a call to the Find or FindInEdgeFinderResults method is made, all models that are part of the ModelFinder control are searched for simultaneously in the target.
  • The search is performed according to the ModelFinder control's global search settings, as well as the individual model search settings. The ModelFinder control's global search settings are specified using the immediate properties of the control and of the Models property; individual model search settings can be specified using the properties of the Models(ModelIndex) property.
Remark for Matrox Odyssey XA
  • The EdgeFinder control must be allocated on the same system as the ModelFinder control. If not, an error will occur.
Remark for Matrox Odyssey XCL
  • The EdgeFinder control must be allocated on the same system as the ModelFinder control. If not, an error will occur.
Remark for Matrox Odyssey XD
  • The EdgeFinder control must be allocated on the same system as the ModelFinder control. If not, an error will occur.
[]
Example
This example shows how to add an Edge Finder-type model.

ModelFinder.Models.AddEdgeModel(CreatedEdgeFinder)


ModelFinder.Models.AddEllipseModel Method

AddEllipseModel method

See Also | Availability | MIL Equivalent | AddEdgeModel | AddFromMerge
Reference:
ModelFinder.ModelFinderType
ModelFinder.Models.AddCircleModel
ModelFinder.Models.AddCrossModel
ModelFinder.Models.AddDiamondModel
ModelFinder.Models.AddRectangleModel
ModelFinder.Models.AddRingModel
ModelFinder.Models.AddSquareModel
ModelFinder.Models.AddTriangleModel
ModelFinder.Models.Item.Scale
ModelFinder.Models.Item.SyntheticDefinition.Ellipse.Height
ModelFinder.Models.Item.SyntheticDefinition.Ellipse.Width
ModelFinder.Models.Item.SyntheticDefinition.PixelScale
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodDefine(
ModelType =
M_ELLIPSE
)
ModelFinder
Models
AddEllipseModel
Synopsis
Adds a model of an ellipse to the collection of Model Finder models.
[]
Syntax
[Integer =] object.AddEllipseModel(
ByVal ForegroundValue As ModForegroundConstants,
ByVal Width As Double,
ByVal Height As Double
)
[]
Syntax
[long =] object->AddEllipseModel(
enum ModForegroundConstants ForegroundValue,
double Width,
double Height
)
ForegroundValue (optional in , default is modForegroundAny)
A ModForegroundConstants or an ActiveMILDefaultConstants expression that specifies the foreground color of the model.
Value | Meaning
modForegroundAny | Specifies that the foreground has no specific polarity.
modForegroundBlack | Specifies that the foreground color is set to black.
modForegroundWhite | Specifies that the foreground color is set to white.
amilDefault | Specifies the default foreground.
Width
A double value that specifies the width of the ellipse.
Height
A double value that specifies the height of the ellipse.
Return value
Returns a longintegerlong (integer for Visual Basic .Net) value that represents the index in the collection of Model Finder models.
Remarks
  • The diagram below illustrates the width and the height of the model.
  • This type of model is considered to be a synthetic model.
  • By default, synthetic models are defined to have a 10% margin around the bounding box of their active edges. The bounding box and this margin define the size of the model box. You can change the margins by using the BoxMarginBottom, BoxMarginTop, BoxMarginLeft, and BoxMarginRight properties of the Models.Item(ModelIndex).SyntheticDefinition property.
  • When finding an occurrence, any extra edges found in the model box will reduce the target score.
  • Specify the dimensions of the ellipse in user-defined units. You must specify the ratio between model units and pixels, using the Models.Item(ModelIndex).SyntheticDefinition.PixelScale property.
  • If the target is not calibrated, then Models.Item(ModelIndex).SyntheticDefinition.PixelScale is used for the match. If the target is calibrated, the model units should be the same as the calibrated units. If the target is calibrated, Models.Item(ModelIndex).SyntheticDefinition.PixelScale will be used for draw operations, but not for the match nor the returned results.
  • If you are searching for a synthetic model in a calibrated target, you must also associate the Calibration control of the target with the model, using the Models.Item(ModelIndex).Calibration property. ActiveMIL needs the Calibration control for internal purposes at preprocessing time. ActiveMIL will not use the Calibration control to compensate for incongruencies between the model and the target, nor will ActiveMIL map the model's coordinate system to that of the target.
  • The model index starts at 1, and each subsequent model added to the ModelFinder control is given a sequential index number, in the order that the model was added. If a model is deleted, all models with higher indices are shifted down one. Models can be given a unique user label with the Models.Item(ModelIndex).UserLabel property. This label can then be used instead of the index with the Models.ItemAtLabel(UserLabel) method.
  • Note that when a model is added or deleted, the ModelFinder control must be preprocessed again, using the Preprocess method of the ModelFinder control.
  • When a call to the Find or FindInEdgeFinderResults method is made, all models that are part of the ModelFinder control are searched for simultaneously in the target.
  • The origin of the model is the center of the shape.
  • The search is performed according to the ModelFinder control's global search settings, as well as the individual model search settings. The ModelFinder control's global search settings are specified using the immediate properties of the ModelFinder control and with the Models property; individual model search settings can be specified using the properties of the Models.Item(ModelIndex) property.
  • To verify the settings that were used to create a model using this method, use the properties of the Models.Item(ModelIndex).SyntheticDefinition property.
[]
Example
This example shows how to add an ellipse-type model.

ModelFinder.Models.AddEllipseModel(modForegroundAny, 100, 60)


ModelFinder.Models.AddFromMerge Method

AddFromMerge method

Availability | MIL Equivalent | AddEllipseModel | AddFromResult
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodDefine(M_MERGE_MODEL)
ModelFinder
Models
AddFromMerge
Synopsis
Adds a model from the active edges of two other models in the control, to the collection of Model Finder models.
[]
Syntax
[Integer =] object.AddFromMerge(
ByVal Index1 As Integer,
ByVal Index2 As Integer
)
[]
Syntax
[long =] object->AddFromMerge(
long Index1,
long Index2
)
Index1
A longintegerlong (integer for Visual Basic .Net) value that specifies the index of the first model.
Index2
A longintegerlong (integer for Visual Basic .Net) value that specifies the index of the second model.
Return value
Returns a longintegerlong (integer for Visual Basic .Net) value that represents the index in the collection of Model Finder models.
Remarks
  • This type of model is referred to as a merge-type model.
  • The model is defined with the edges of the first model and the edges of the second model that are not equal to the edges of the first model.
  • The size of the merge-type model is the size of the first model. To include all of the edges of both models in the new model, set the first parameter to the index of the larger model.
  • If the models being merged are calibrated, the new merge-type model will be associated with the Calibration control of the first model.
  • The model index starts at 1, and each subsequent model added to the ModelFinder control is given a sequential index number, in the order that the model was added. If a model is deleted, all models with higher indices are shifted down one. Models can be given a unique user label with the Models.Item(ModelIndex).UserLabel property. This label can then be used instead of the index with the Models.ItemAtLabel(UserLabel) property.
  • Note that when a model is added or deleted, the ModelFinder control must be preprocessed again, using the Preprocess method of the ModelFinder control.
  • When a call to the Find or FindInEdgeFinderResults method is made, all models that are part of the ModelFinder control are searched for simultaneously in the target.
  • The search is performed according to the ModelFinder control's global search settings, as well as the individual model search settings. The ModelFinder control's global search settings are specified using the immediate properties of the control and of the Models property; individual model search settings can be specified using the properties of the Models.Item(ModelIndex) property.
[]
Example
This example shows how to add a merge-type model.

Const PATH_DXF = "\Images\Model.dxf"

Dim Index1 As Integer
Dim Index2 As Integer

'BASE_PATH is the path of the application
Index1 = ModelFinder.Models.AddDxfModel(BASE_PATH & PATH_DXF)
Index2 = ModelFinder.Models.AddDiamondModel(modForegroundAny, 30, 40)

ModelFinder.Models.AddFromMerge(Index1, Index2)


ModelFinder.Models.AddFromResult Method

AddFromResult method

Availability | MIL Equivalent | AddFromMerge | AddImageModel
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodDefine(M_MOD_RESULT)
ModelFinder
Models
AddFromResult
Synopsis
Adds a model from the edges of one or all the results, to the collection of Model Finder models.
[]
Syntax
[Integer =] object.AddFromResult(
ByVal Index As Integer
)
[]
Syntax
[long =] object->AddFromResult(
long Index
)
Index
A longintegerlong (integer for Visual Basic .Net) value that specifies the index of the occurrence to use.
Return value
Returns a longintegerlong (integer for Visual Basic .Net) value that represents the index in the collection of models.
Remarks
  • This type of model is referred to as a Model Finder-type model. It is a type of result-type model.
  • Each model is defined with the edges of the target at the position of the specified occurrence.
  • To define a model from a Model Finder result, you must enable the Results.ModelAdditionCompatible property. This property must be set before the find operation that found the result.
  • In the case of a Model Finder-type model, the model source image is the target from which the Model Finder results were obtained.
  • The model index starts at 1, and each subsequent model added to the ModelFinder control is given a sequential index number, in the order that the model was added. If a model is deleted, all models with higher indices are shifted down one. Models can be given a unique user label with the Models.Item(ModelIndex).UserLabel property. This label can then be used instead of the index with the Models.ItemAtLabel(UserLabel) property.
  • Note that when a model is added or deleted, the ModelFinder control must be preprocessed again, using the Preprocess method of the ModelFinder control.
  • When a call to the Find or FindInEdgeFinderResults method is made, all models that are part of the ModelFinder control are searched for simultaneously in the target.
  • The search is performed according to the ModelFinder control's global search settings, as well as the individual model search settings. The ModelFinder control's global search settings are specified using the immediate properties of the control and of the Models property; individual model search settings can be specified using the properties of the Models.Item(ModelIndex) property.
[]
Example
This example shows how to add an result-type model.

ModelFinder.Models.AddTriangleModel(modForegroundAny, 30, 40)
ModelFinder.Results.ModelAdditionCompatible = True
ModelFinder.Preprocess()
ModelFinder.Find()
ModelFinder.Models.AddFromResult(1)


ModelFinder.Models.AddImageModel Method

AddImageModel method

See Also | Availability | MIL Equivalent | AddFromResult | AddRectangleModel
User Guide:
Defining and adding models to your ModelFinder control
Guidelines for choosing models

Reference:
ModelFinder.Models
ModelFinder.Models.Item
ModelFinder.Models.Item.ImageDefinition
ModelFinder.Models.Item.UserLabel
ModelFinder.Models.ItemAtLabel
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodDefine(
ModelType =
M_IMAGE
)
ModelFinder
Models
AddImageModel
Synopsis
Adds a new image-type model, from the specified image, to the collection of Model Finder models.
[]
Syntax
[Integer =] object.AddImageModel(
ByVal SourceImage As Image,
ByVal OffsetX As Double,
ByVal OffsetY As Double,
ByVal SizeX As Double,
ByVal SizeY As Double
)
[]
Syntax
[long =] object->AddImageModel(
IImage * SourceImage,
double OffsetX,
double OffsetY,
double SizeX,
double SizeY
)
SourceImage
An Image control that specifies the image from which to extract the model (this image is called the model source image).
OffsetX (optional in , default is 0.0)
A double value that specifies the horizontal offset of the model, in pixels, relative to the top-left corner of the model source image. The default is no offset in X (0.0).
OffsetY (optional in , default is 0.0)
A double value that specifies the vertical offset of the model, in pixels, relative to the top-left corner of the model source image. The default is no offset in Y (0.0).
SizeX (optional in , default is -1.0)
A double value that specifies the width of the model, in pixels. The minimum model width is 16.0 pixels and the maximum model width is 1024.0 pixels. The default is the width of the model source image from the specified offset in X.
SizeY (optional in , default is -1.0)
A double value that specifies the height of the model, in pixels. The minimum model height is 16.0 pixels and the maximum model height is 1024.0 pixels. The default is the height of the model source image from the specified offset in Y.
Return value
Returns a longintegerlong (integer for Visual Basic .Net) value that represents the index in the collection of Model Finder models.
Remarks
  • This type of model is referred to as an image-type model.
  • Models can be added from any 1-band, 8-bit unsigned image. The minimum and maximum model sizes are 16.0x16.0 and 1024.0x1024.0 pixels, respectively.
  • If the model source image is associated with a Calibration control, then that Calibration control is automatically associated with the model. Models can use different Calibration controls within the same ModelFinder control, provided all calibrations map to the same world. You cannot mix calibrated and non-calibrated models within a ModelFinder control; all models must be either calibrated or not.
  • To verify the settings that were used to create a model using this method, use the properties of the Models.Item(ModelIndex).ImageDefinition property.
  • The model index starts at 1, and each subsequent model added to the ModelFinder control is given a sequential index number, in the order that the model was added. If a model is deleted, all models with higher indices are shifted down one. Models can be given a unique user label with the Models.Item(ModelIndex).UserLabel property. This label can then be used instead of the index with the Models.ItemAtLabel(UserLabel) method.
  • When a model is added or deleted, the ModelFinder control must be preprocessed again, using the Preprocess method.
  • When a call to the Find or FindInEdgeFinderResults method is made, all models that are part of the ModelFinder control are searched for simultaneously in the target.
  • The search is performed according to the ModelFinder control's global search settings, as well as the individual model search settings. The ModelFinder control's global search settings are specified using the immediate properties of the control and of the Models property; individual model search settings can be specified using the properties of the Models(ModelIndex).
[]
Example
This example shows how to add an image-type model.

ModelFinder.Models.AddImageModel(LoadedImage)


ModelFinder.Models.AddRectangleModel Method

AddRectangleModel method

See Also | Availability | MIL Equivalent | AddImageModel | AddRingModel
Reference:
ModelFinder.ModelFinderType
ModelFinder.Models.AddCircleModel
ModelFinder.Models.AddCrossModel
ModelFinder.Models.AddDiamondModel
ModelFinder.Models.AddEllipseModel
ModelFinder.Models.AddRingModel
ModelFinder.Models.AddSquareModel
ModelFinder.Models.AddTriangleModel
ModelFinder.Models.Item.Scale
ModelFinder.Models.Item.SyntheticDefinition.PixelScale
ModelFinder.Models.Item.SyntheticDefinition.Rectangle.Height
ModelFinder.Models.Item.SyntheticDefinition.Rectangle.Width
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodDefine(
ModelType =
M_RECTANGLE
)
ModelFinder
Models
AddRectangleModel
Synopsis
Adds a model of a rectangle to the collection of Model Finder models.
[]
Syntax
[Integer =] object.AddRectangleModel(
ByVal ForegroundValue As ModForegroundConstants,
ByVal Width As Double,
ByVal Height As Double
)
[]
Syntax
[long =] object->AddRectangleModel(
enum ModForegroundConstants ForegroundValue,
double Width,
double Height
)
ForegroundValue (optional in , default is modForegroundAny)
A ModForegroundConstants or an ActiveMILDefaultConstants expression that specifies the foreground color of the model.
Value | Meaning
modForegroundAny | Specifies that the foreground has no specific polarity.
modForegroundBlack | Specifies that the foreground color is set to black.
modForegroundWhite | Specifies that the foreground color is set to white.
amilDefault | Specifies the default foreground.
Width
A double value that specifies the width of the rectangle.
Height
A double value that specifies the height of the rectangle.
Return value
Returns a longintegerlong (integer for Visual Basic .Net) value that represents the index in the collection of Model Finder models.
Remarks
  • The diagram below illustrates the width and the height of the model.
  • This type of model is considered to be a synthetic model.
  • By default, synthetic models are defined to have a 10% margin around the bounding box of their active edges. The bounding box and this margin define the size of the model box. You can change the margins by using the BoxMarginBottom, BoxMarginTop, BoxMarginLeft, and BoxMarginRight properties of the Models.Item(ModelIndex).SyntheticDefinition property.
  • When finding an occurrence, any extra edges found in the model box will reduce the target score.
  • Specify the dimensions of the rectangle in user-defined units. You must specify the ratio between model units and pixels, using the Models.Item(ModelIndex).SyntheticDefinition.PixelScale property.
  • If the target is not calibrated, then Models.Item(ModelIndex).SyntheticDefinition.PixelScale is used for the match. If the target is calibrated, the model units should be the same as the calibrated units. If the target is calibrated, Models.Item(ModelIndex).SyntheticDefinition.PixelScale will be used for draw operations, but not for the match nor the returned results.
  • If you are searching for a synthetic model in a calibrated target, you must also associate the Calibration control of the target with the model, using the Models.Item(ModelIndex).Calibration property. ActiveMIL needs the Calibration control for internal purposes at preprocessing time. ActiveMIL will not use the Calibration control to compensate for incongruencies between the model and the target, nor will ActiveMIL map the model's coordinate system to that of the target.
  • The model index starts at 1, and each subsequent model added to the ModelFinder control is given a sequential index number, in the order that the model was added. If a model is deleted, all models with higher indices are shifted down one. Models can be given a unique user label with the Models.Item(ModelIndex).UserLabel property. This label can then be used instead of the index with the Models.ItemAtLabel(UserLabel) method.
  • Note that when a model is added or deleted, the ModelFinder control must be preprocessed again, using the Preprocess method of the ModelFinder control.
  • When a call to the Find or FindInEdgeFinderResults method is made, all models that are part of the ModelFinder control are searched for simultaneously in the target.
  • The origin of the model is the center of the shape.
  • The search is performed according to the ModelFinder control's global search settings, as well as the individual model search settings. The ModelFinder control's global search settings are specified using the immediate properties of the ModelFinder control and with the Models property; individual model search settings can be specified using the properties of the Models.Item(ModelIndex) property.
  • To verify the settings that were used to create a model using this method, use the properties of the Models.Item(ModelIndex).SyntheticDefinition property.
[]
Example
This example shows how to add an rectangle-type model.

ModelFinder.Models.AddRectangleModel(modForegroundAny, 60, 40)


ModelFinder.Models.AddRingModel Method

AddRingModel method

See Also | Availability | MIL Equivalent | AddRectangleModel | AddSquareModel
Reference:
ModelFinder.ModelFinderType
ModelFinder.Models.AddCircleModel
ModelFinder.Models.AddCrossModel
ModelFinder.Models.AddDiamondModel
ModelFinder.Models.AddEllipseModel
ModelFinder.Models.AddSquareModel
ModelFinder.Models.AddTriangleModel
ModelFinder.Models.Item.Scale
ModelFinder.Models.Item.SyntheticDefinition.PixelScale
ModelFinder.Models.Item.SyntheticDefinition.Ring.InnerRadius
ModelFinder.Models.Item.SyntheticDefinition.Ring.OuterRadius
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodDefine(
ModelType =
M_RING
)
ModelFinder
Models
AddRingModel
Synopsis
Adds a model of a ring to the collection of Model Finder models.
[]
Syntax
[Integer =] object.AddRingModel(
ByVal ForegroundValue As ModForegroundConstants,
ByVal InnerRadius As Double,
ByVal OuterRadius As Double
)
[]
Syntax
[long =] object->AddRingModel(
enum ModForegroundConstants ForegroundValue,
double InnerRadius,
double OuterRadius
)
ForegroundValue (optional in , default is modForegroundAny)
A ModForegroundConstants or an ActiveMILDefaultConstants expression that specifies the foreground color of the model.
Value | Meaning
modForegroundAny | Specifies that the foreground has no specific polarity.
modForegroundBlack | Specifies that the foreground color is set to black.
modForegroundWhite | Specifies that the foreground color is set to white.
amilDefault | Specifies the default value.
InnerRadius
A double value that specifies the radius of the inner ring.
OuterRadius
A double value that specifies the radius of the outer ring.
Return value
Returns a longintegerlong (integer for Visual Basic .Net) value that represents the index in the collection of Model Finder models.
Remarks
  • The diagram below illustrates the inner radius and the outer radius of the model.
  • This type of model is considered to be a synthetic model.
  • By default, synthetic models are defined to have a 10% margin around the bounding box of their active edges. The bounding box and this margin define the size of the model box. You can change the margins by using the BoxMarginBottom, BoxMarginTop, BoxMarginLeft, and BoxMarginRight properties of the Models.Item(ModelIndex).SyntheticDefinition property.
  • When finding an occurrence, any extra edges found in the model box will reduce the target score.
  • Specify the dimensions of the ring in user-defined units. You must specify the ratio between model units and pixels, using the Models.Item(ModelIndex).SyntheticDefinition.PixelScale property.
  • If the target is not calibrated, then Models.Item(ModelIndex).SyntheticDefinition.PixelScale is used for the match. If the target is calibrated, the model units should be the same as the calibrated units. If the target is calibrated, Models.Item(ModelIndex).SyntheticDefinition.PixelScale will be used for draw operations, but not for the match nor the returned results.
  • If you are searching for a synthetic model in a calibrated target, you must also associate the Calibration control of the target with the model, using the Models.Item(ModelIndex).Calibration property. ActiveMIL needs the Calibration control for internal purposes at preprocessing time. ActiveMIL will not use the Calibration control to compensate for incongruencies between the model and the target, nor will ActiveMIL map the model's coordinate system to that of the target.
  • The model index starts at 1, and each subsequent model added to the ModelFinder control is given a sequential index number, in the order that the model was added. If a model is deleted, all models with higher indices are shifted down one. Models can be given a unique user label with the Models.Item(ModelIndex).UserLabel property. This label can then be used instead of the index with the Models.ItemAtLabel(UserLabel) method.
  • Note that when a model is added or deleted, the ModelFinder control must be preprocessed again, using the Preprocess method of the ModelFinder control.
  • When a call to the Find or FindInEdgeFinderResults method is made, all models that are part of the ModelFinder control are searched for simultaneously in the target.
  • The origin of the model is the center of the shape.
  • The search is performed according to the ModelFinder control's global search settings, as well as the individual model search settings. The ModelFinder control's global search settings are specified using the immediate properties of the ModelFinder control and with the Models property; individual model search settings can be specified using the properties of the Models.Item(ModelIndex) property.
  • To verify the settings that were used to create a model using this method, use the properties of the Models.Item(ModelIndex).SyntheticDefinition property.
[]
Example
This example shows how to add an ring-type model.

ModelFinder.Models.AddRingModel(modForegroundAny, 15, 21)


ModelFinder.Models.AddSquareModel Method

AddSquareModel method

See Also | Availability | MIL Equivalent | AddRingModel | AddTriangleModel
Reference:
ModelFinder.ModelFinderType
ModelFinder.Models.AddCircleModel
ModelFinder.Models.AddCrossModel
ModelFinder.Models.AddDiamondModel
ModelFinder.Models.AddEllipseModel
ModelFinder.Models.AddRectangleModel
ModelFinder.Models.AddRingModel
ModelFinder.Models.AddTriangleModel
ModelFinder.Models.Item.Scale
ModelFinder.Models.Item.SyntheticDefinition.PixelScale
ModelFinder.Models.Item.SyntheticDefinition.Square.Width
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodDefine(
ModelType =
M_SQUARE
)
ModelFinder
Models
AddSquareModel
Synopsis
Adds a model of a square to the collection of Model Finder models.
[]
Syntax
[Integer =] object.AddSquareModel(
ByVal ForegroundValue As ModForegroundConstants,
ByVal Width As Double
)
[]
Syntax
[long =] object->AddSquareModel(
enum ModForegroundConstants ForegroundValue,
double Width
)
ForegroundValue (optional in , default is modForegroundAny)
A ModForegroundConstants or an ActiveMILDefaultConstants expression that specifies the foreground color of the model.
Value | Meaning
modForegroundAny | Specifies that the foreground has no specific polarity.
modForegroundBlack | Specifies that the foreground color is set to black.
modForegroundWhite | Specifies that the foreground color is set to white.
amilDefault | Specifies the default foreground.
Width
A double value that specifies the width of the square.
Return value
Returns a longintegerlong (integer for Visual Basic .Net) value that represents the index in the collection of Model Finder models.
Remarks
  • The diagram below illustrates the width of the model.
  • This type of model is considered to be a synthetic model.
  • By default, synthetic models are defined to have a 10% margin around the bounding box of their active edges. The bounding box and this margin define the size of the model box. You can change the margins by using the BoxMarginBottom, BoxMarginTop, BoxMarginLeft, and BoxMarginRight properties of the Models.Item(ModelIndex).SyntheticDefinition property.
  • When finding an occurrence, any extra edges found in the model box will reduce the target score.
  • Specify the dimensions of the circle in user-defined units. You must specify the ratio between model units and pixels, using the Models.Item(ModelIndex).SyntheticDefinition.PixelScale property.
  • If the target is not calibrated, then Models.Item(ModelIndex).SyntheticDefinition.PixelScale is used for the match. If the target is calibrated, the model units should be the same as the calibrated units. If the target is calibrated, Models.Item(ModelIndex).SyntheticDefinition.PixelScale will be used for draw operations, but not for the match nor the returned results.
  • If you are searching for a synthetic model in a calibrated target, you must also associate the Calibration control of the target with the model, using the Models.Item(ModelIndex).Calibration property. ActiveMIL needs the Calibration control for internal purposes at preprocessing time. ActiveMIL will not use the Calibration control to compensate for incongruencies between the model and the target, nor will ActiveMIL map the model's coordinate system to that of the target.
  • The model index starts at 1, and each subsequent model added to the ModelFinder control is given a sequential index number, in the order that the model was added. If a model is deleted, all models with higher indices are shifted down one. Models can be given a unique user label with the Models.Item(ModelIndex).UserLabel property. This label can then be used instead of the index with the Models.ItemAtLabel(UserLabel) method.
  • Note that when a model is added or deleted, the ModelFinder control must be preprocessed again, using the Preprocess method of the ModelFinder control.
  • When a call to the Find or FindInEdgeFinderResults method is made, all models that are part of the ModelFinder control are searched for simultaneously in the target.
  • The origin of the model is the center of the shape.
  • The search is performed according to the ModelFinder control's global search settings, as well as the individual model search settings. The ModelFinder control's global search settings are specified using the immediate properties of the ModelFinder control and with the Models property; individual model search settings can be specified using the properties of the Models.Item(ModelIndex) property.
  • To verify the settings that were used to create a model using this method, use the properties of the Models.Item(ModelIndex).SyntheticDefinition property.
[]
Example
This example shows how to add an square-type model.

ModelFinder.Models.AddSquareModel(modForegroundAny, 50)


ModelFinder.Models.AddTriangleModel Method

AddTriangleModel method

See Also | Availability | MIL Equivalent | AddSquareModel | Draw
Reference:
ModelFinder.ModelFinderType
ModelFinder.Models.AddCircleModel
ModelFinder.Models.AddCrossModel
ModelFinder.Models.AddDiamondModel
ModelFinder.Models.AddEllipseModel
ModelFinder.Models.AddRectangleModel
ModelFinder.Models.AddRingModel
ModelFinder.Models.AddSquareModel
ModelFinder.Models.Item.Scale
ModelFinder.Models.Item.SyntheticDefinition.PixelScale
ModelFinder.Models.Item.SyntheticDefinition.Triangle
ModelFinder.Models.Item.SyntheticDefinition.Triangle.Height
ModelFinder.Models.Item.SyntheticDefinition.Triangle.Width
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodDefine(
ModelType =
M_TRIANGLE
)
ModelFinder
Models
AddTriangleModel
Synopsis
Adds a model of a triangle to the collection of Model Finder models.
[]
Syntax
[Integer =] object.AddTriangleModel(
ByVal ForegroundValue As ModForegroundConstants,
ByVal Width As Double,
ByVal Height As Double
)
[]
Syntax
[long =] object->AddTriangleModel(
enum ModForegroundConstants ForegroundValue,
double Width,
double Height
)
ForegroundValue (optional in , default is modForegroundAny)
A ModForegroundConstants or an ActiveMILDefaultConstants expression that specifies the foreground color of the model.
Value | Meaning
modForegroundAny | Specifies that the foreground has no specific polarity.
modForegroundBlack | Specifies that the foreground color is set to black.
modForegroundWhite | Specifies that the foreground color is set to white.
amilDefault | Specifies the default foreground.
Width
A double value that specifies the width of the triangle.
Height
A double value that specifies the height of the triangle.
Return value
Returns a longintegerlong (integer for Visual Basic .Net) value that represents the index in the collection of Model Finder models.
Remarks
  • The diagram below illustrates the width and the height of the model.
  • This type of model is considered to be a synthetic model.
  • By default, synthetic models are defined to have a 10% margin around the bounding box of their active edges. The bounding box and this margin define the size of the model box. You can change the margins by using the BoxMarginBottom, BoxMarginTop, BoxMarginLeft, and BoxMarginRight properties of the Models.Item(ModelIndex).SyntheticDefinition property.
  • When finding an occurrence, any extra edges found in the model box will reduce the target score.
  • Specify the dimensions of the triangle in user-defined units. You must specify the ratio between model units and pixels, using the Models.Item(ModelIndex).SyntheticDefinition.PixelScale property.
  • If the target is not calibrated, then Models.Item(ModelIndex).SyntheticDefinition.PixelScale is used for the match. If the target is calibrated, the model units should be the same as the calibrated units. If the target is calibrated, Models.Item(ModelIndex).SyntheticDefinition.PixelScale will be used for draw operations, but not for the match nor the returned results.
  • If you are searching for a synthetic model in a calibrated target, you must also associate the Calibration control of the target with the model, using the Models.Item(ModelIndex).Calibration property. ActiveMIL needs the Calibration control for internal purposes at preprocessing time. ActiveMIL will not use the Calibration control to compensate for incongruencies between the model and the target, nor will ActiveMIL map the model's coordinate system to that of the target.
  • The model index starts at 1, and each subsequent model added to the ModelFinder control is given a sequential index number, in the order that the model was added. If a model is deleted, all models with higher indices are shifted down one. Models can be given a unique user label with the Models.Item(ModelIndex).UserLabel property. This label can then be used instead of the index with the Models.ItemAtLabel(UserLabel) method.
  • Note that when a model is added or deleted, the ModelFinder control must be preprocessed again, using the Preprocess method of the ModelFinder control.
  • When a call to the Find or FindInEdgeFinderResults method is made, all models that are part of the ModelFinder control are searched for simultaneously in the target.
  • The origin of the model is the center of the shape.
  • The search is performed according to the ModelFinder control's global search settings, as well as the individual model search settings. The ModelFinder control's global search settings are specified using the immediate properties of the ModelFinder control and with the Models property; individual model search settings can be specified using the properties of the Models.Item(ModelIndex) property.
  • To verify the settings that were used to create a model using this method, use the properties of the Models.Item(ModelIndex).SyntheticDefinition property.
[]
Example
This example shows how to add an triangle-type model.

ModelFinder.Models.AddTriangleModel(modForegroundAny, 30, 40)


ModelFinder.Models.Draw Method

Draw method

Availability | MIL Equivalent | AddTriangleModel | Remove
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Morphis
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Orion
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
MmodDraw()
ModelFinder
Models
Draw
Synopsis
Draws specified features of all models in the collection of Model Finder models, in the destination image.
[]
Syntax
object.Draw(
ByVal ImageOrGraphicContext As Object,
ByVal Operation As ModDrawModelsOperationConstants
)
[]
Syntax
void object->Draw(
IDispatch * ImageOrGraphicContext,
enum ModDrawModelsOperationConstants Operation
)
ImageOrGraphicContext
An Image control that specifies the image into which to draw, or a GraphicContext control that specifies the graphic context and image to use to draw features.
Operation
A ModDrawModelsOperationConstants expression that specifies the features to draw. These constants can be added together to draw multiple features simultaneously.
Value | Meaning
modDrawModelsBox | Draws the model's bounding box.
modDrawModelsDontCares | Draws the model's "don't care" pixels.
modDrawModelsEdges | Draws the model's active edges.
modDrawModelsFlatRegions | Draws the model's "flat regions".
modDrawModelsImage | Draws the region of the model source image from which the model was extracted (copy).
modDrawModelsPosition | Draws a cross-like symbol at the model reference axis origin.
modDrawModelsWeightRegions | Draws the model's weighted region mask.

You can add the following setting to the above ModDrawModelsOperationConstants:
Value | Meaning
modModelsOriginalPosition | Drawing is done at the original position of the model in the model source image. If this setting is not specified, features are drawn at the top-left corner of the destination image.
Remarks
  • The destination image should be at least the size of the largest model in the collection. For an image or Edge Finder-type model, use the Models.Item.ImageDefinition.SizeX and Models.Item.ImageDefinition.SizeY properties to establish the size of the model. For a synthetic model, use the Models.Item(ModelIndex).SyntheticDefinition.SizeXInPixels and Models.Item(ModelIndex).SyntheticDefinition.SizeYInPixels properties.
  • You can also draw features of a zoomed region of a Model Finder model. To do so, set the following properties to an appropriate value: Models.Item.DrawingParameters.RelativeOriginX, Models.Item.DrawingParameters.RelativeOriginY, Models.Item.DrawingParameters.ScaleX, and Models.Item.DrawingParameters.ScaleY.

    Models.Item.DrawingParameters.RelativeOriginX and Models.Item.DrawingParameters.RelativeOriginY specify, in pixels, the coordinates of the top-left corner of the region in the model image while Models.Item.DrawingParameters.ScaleX and Models.Item.DrawingParameters.ScaleX specify the X- and Y-scaling factors used to fill the destination image.

    When zooming, the Draw method will draw into the destination image even if the buffer is not large enough to contain all of the zoomed image.

  • To draw, for example, both the position of the model and the model box, set the Operation parameter to modDrawModelsPosition + modDrawModelsBox.
  • When using this method to draw features extracted from models associated with a Calibration control, the destination drawing image must also be calibrated, using the same world. This method draws all the requested features according to whether the destination image is physically corrected or not.
  • When specifying the ImageOrGraphicContext parameter as a GraphicContext control, the image associated with the control is used as the destination image.
  • You can also choose to draw in the display's overlay image. By drawing into a display's overlay buffer, you can also annotate an image non-destructively.
  • To inquire about the active edges of the model, use the Models.Item.Chains property.
  • Note that if you try to draw the models' edges and the ModelFinder control has not been preprocessed, a preliminary edge extraction operation will be performed for the models.
Remark for Matrox Odyssey XA
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the ModelFinder control. If not, an error will occur.
Remark for Matrox Odyssey XCL
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the ModelFinder control. If not, an error will occur.
Remark for Matrox Odyssey XD
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the ModelFinder control. If not, an error will occur.


ModelFinder.Models.Remove Method

Remove method

Availability | MIL Equivalent | Draw | RemoveItemAtLabel
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodDefine(
ModelType =
M_DELETE
)
ModelFinder
Models
Remove
Synopsis
Removes a model from the collection of Model Finder models.
[]
Syntax
object.Remove(
ByVal Index As Integer
)
[]
Syntax
void object->Remove(
long Index
)
Index
A longintegerlong (integer for Visual Basic .Net) value that specifies the index of the model to delete from the collection of Model Finder models.
Remarks
  • If a model is deleted, all models with higher indices are shifted down one.
  • Note that when a model is added or deleted, the ModelFinder control must be preprocessed again, using the Preprocess method of the ModelFinder control.
[]
Example
This example shows how to remove a model.

ModelFinder.Models.Remove(1)
[]
Example
This example shows how to remove a model.

m_ModelFinder1->Models->Remove(1);


ModelFinder.Models.RemoveItemAtLabel Method

RemoveItemAtLabel method

Availability | MIL Equivalent | Remove
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ModelFinder
Models
RemoveItemAtLabel
Synopsis
Removes a model from the collection of Model Finder models.
[]
Syntax
object.RemoveItemAtLabel(
ByVal UserLabel As Integer
)
[]
Syntax
void object->RemoveItemAtLabel(
long UserLabel
)
UserLabel
A longintegerlong (integer for Visual Basic .Net) value that specifies the user label of the model to delete from the collection of Model Finder models.
Remarks
  • If a model is deleted, remaining model user labels are not affected.
  • Note that the model indices of all models with higher indices are shifted down one.
  • Note that when a model is added or deleted, the ModelFinder control must be preprocessed again, using the Preprocess method of the ModelFinder control.


ModelFinder.Name Property

Name property

Availability | MIL Equivalent | Models | OwnerSystem
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodAlloc(ContextIdPtr)
ModelFinder
Name
Synopsis
Returns or sets the name used in code to identify the ModelFinder control.
[]
Syntax
object.Name [= String]
[]
Syntax
object->Name [= _bstr_t]
Type description
A string expression that specifies the name of the ModelFinder control.
Remarks
  • This property cannot be set at run-time.
  • The default name for a new control is the type of control plus a unique integer. For example, the first new ModelFinder control you create on a form is named ModelFinder1 and the second ModelFinder control is named ModelFinder2.
  • A control's Name property must start with a letter and can be a maximum of 40 characters. It can include numbers and underscore (_) characters but cannot include spaces or punctuation. Although the Name property setting can be a keyword, property name, or the name of another object, it can create conflicts in your code.


ModelFinder.OwnerSystem Property

OwnerSystem property

Availability | MIL Equivalent | Name | OwnerSystemName
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodAlloc(SystemId)
ModelFinder
OwnerSystem
Synopsis
Returns or sets the system on which the resources of the ModelFinder control are allocated
[]
Syntax
object.OwnerSystem [= System]
[]
Syntax
object->OwnerSystem [= ISystemPtr]
Type description
A System control that specifies the system to set as the owner (parent) of the ModelFinder control.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The owner system can also be specified, with the name assigned to its control, using the OwnerSystemName property.
  • This property automatically sets the OwnerSystemName property.


ModelFinder.OwnerSystemName Property

OwnerSystemName property

See Also | Availability | MIL Equivalent | OwnerSystem | PropertyValidation
User Guide:
Owner system
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodAlloc(SystemId)
ModelFinder
OwnerSystemName
Synopsis
Returns or sets the name of the System control representing the system on which the resources of the ModelFinder control are allocated.
[]
Syntax
object.OwnerSystemName [= String]
[]
Syntax
object->OwnerSystemName [= _bstr_t]
Type description
A string expression that specifies the name of the System control to set as the owner (parent) of the ModelFinder control.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The owner system can also be specified using the OwnerSystem property.
  • This property automatically sets the OwnerSystem property.


ModelFinder.PropertyValidation Property

PropertyValidation property

See Also | Availability | MIL Equivalent | OwnerSystemName | Results
User Guide:
Error reporting
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ModelFinder
PropertyValidation
Synopsis
Returns or sets whether the properties of the ModelFinder control are dynamically validated.
[]
Syntax
object.PropertyValidation [= Boolean]
[]
Syntax
object->PropertyValidation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the property validation mode.
Value | Meaning
True | The control's properties will be dynamically validated. Errors will be generated during the design process.
False | The control's properties will not be dynamically validated. Errors will only be generated at run-time.
Remarks
  • At run-time, this property is read-only and is always set to True.
  • When set to True and if one of the control's properties is not properly set, then the control is outlined in red. The error page of the control's property pages describes the specific error.


ModelFinder.Results Property

Results property

Availability | MIL Equivalent | PropertyValidation | StreamSize
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult()
ModelFinder
Results
Properties: Count, DrawingParameters, Item, MilID, ModelAdditionCompatible, TargetChains, TimeOutEnd

Methods: Draw, Get, GetMultiple
Synopsis
Returns the collection of Model Finder results obtained by the ModelFinder control after a call to the Find method, allowing access its elements.
[]
Syntax
[ModelFinderResults =] object.Results
[]
Syntax
[IModelFinderResultsPtr =] object->Results
Type description
A ModelFinderResults expression that represents an instance of a ModelFinderResults collection.
Remarks
  • The elements in the ModelFinderResults collection refer to the model occurrences in the target, and are ordered by match score.
  • The number of elements in the collection is the total number of occurrences found in the target.
  • Results are obtained from the last call to the Find or FindInEdgeFinderResults method.
  • If an occurrence has both a score and target score equal to or above their respective certainty level settings (specified for each model using the Models.Item(ModelIndex).Certainty and Models.Item(ModelIndex).CertaintyTarget properties), it is automatically considered a match (default 80%); the remaining matches will be those occurrences with the best of those above the acceptance levels (specified for each model using the Models.Item(ModelIndex).Acceptance and Models.Item(ModelIndex).AcceptanceTarget properties (default 60%)).
  • The number of results found depends on the setting of the Models.TotalNumberOfOccurrences property. If it is set to modAll, the Find (or FindInEdgeFinderResults) method tries to find the maximum number of occurrences specified for each model (Models.Item(ModelIndex).NumberOfOccurrences), above the acceptance levels.
  • Note that when searching for multiple models, the occurrences of each model are returned to this collection. The Results.Item(ResultIndex).ModelIndex property returns the index of the model, associated with the Model Finder result.
  • Results are ordered by match score, meaning that the first element in the collection refers to the occurrence with the highest score.
  • If you are using a calibrated target, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. If the target is not calibrated, positional results are returned in pixels, relative to the top-left pixel in the target.

    Note that in the presence of distortion, some results are meaningless when converted from real-world to pixel units (for example, angle, scale, and transformation coefficient results). For example, if a model appears warped in the target, but the Calibration control of the target compensates for this during the model search, the resulting angle is meaningful in the real-world coordinate system, and meaningless in the image coordinate system.

  • If the target is not calibrated and the AspectRatio property is not set to 1, results are returned for the corrected target coordinate system (whereby pixel width is equal to the pixel height).
  • If the value provided as the index does not match any existing element of the collection, an error occurs.


ModelFinder.Results.Count Property

Count property

See Also | Availability | MIL Equivalent | DrawingParameters
Reference:
ModelFinder.Results.Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultType =
M_NUMBER
)
ModelFinder
Results
Count
Synopsis
Returns the number of elements in the collection of Model Finder results.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A longintegerlong (integer for Visual Basic .Net) value that returns the number of elements currently in the collection.
Remarks
  • The elements in the Model Finder results collection refer to the occurrences of models found in the target with a score and target score above their respective acceptance levels.
  • The expected number of occurrences for each model is set using the Models.Item(ModelIndex).NumberOfOccurrences property.
  • The Models.TotalNumberOfOccurrences property specifies the maximum number of all model occurrences (for all models within the ModelFinder control) to find in the target.
  • Match occurrences are ordered by score, regardless of the result type requested, meaning that the first element in the collection refers to the match occurrence with the highest score.
  • Note that when searching for multiple models, the results for all models in the ModelFinder control are returned to this collection. However, results are not sorted according to which model occurrence was found; results are still sorted according to score. The Results.Item(ResultIndex).ModelIndex property returns the index of the model associated with the Model Finder result. The Results.Item(ResultIndex).UserLabel property returns the user label of the model associated with the Model Finder result.
  • The Results.Count property will return the error message "No results are available" until the Find or the FindInEdgeFinderResults method is called.
  • If the last call to the Find or the FindInEdgeFinderResults method found no occurrences, then the count will be 0.


ModelFinder.Results.DrawingParameters Property

DrawingParameters property

See Also | Availability | MIL Equivalent | Count | Item
Reference:
ModelFinder.Results.Draw
ModelFinder.Results.DrawingParameters.RelativeOriginX
ModelFinder.Results.DrawingParameters.RelativeOriginY
ModelFinder.Results.DrawingParameters.ScaleX
ModelFinder.Results.DrawingParameters.ScaleY
ModelFinder.Results.Item.Draw
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
ControlType =
M_DRAW_RELATIVE_ORIGIN_XM_DRAW_RELATIVE_ORIGIN_YM_DRAW_SCALE_XM_DRAW_SCALE_Y
)

MmodInquire(
InquireType =
M_DRAW_RELATIVE_ORIGIN_XM_DRAW_RELATIVE_ORIGIN_YM_DRAW_SCALE_XM_DRAW_SCALE_Y
)
ModelFinder
Results
DrawingParameters
Properties: RelativeOriginX, RelativeOriginY, ScaleX, ScaleY
Synopsis
Allows you to specify or determine the parameters used when drawing results.
[]
Syntax
[ModelFinderDrawingParameters =] object.DrawingParameters
[]
Syntax
[IModelFinderDrawingParametersPtr =] object->DrawingParameters
Type description
A ModelFinderDrawingParameters object.
Remarks
  • You cannot assign another ModelFinderDrawingParameters object to this property.
  • These drawing parameters are used by the Results.Draw and Results.Item(OccurrenceIndex).Draw methods.
  • These drawing parameters determine the scale and region of the target from which to draw the specific features.
  • The DrawingParameters.RelativeOriginX and DrawingParameters.RelativeOriginY properties specify, in pixels, the coordinates of the top-left corner of the region in the target, while the DrawingParameters.ScaleX and DrawingParameters.ScaleY properties specify the X- and Y-scaling factors used to fill the destination image.

    The actual size of the region from which to draw is determined by the scale factors and the size of the destination image.

  • If the feature of the specified occurrence to draw with the Results.Item(OccurrenceIndex).Draw method does not fall within the specified region, then nothing is drawn.
  • When zooming, the Draw method will draw into the destination image even if it is not large enough to contain all of the zoomed image.


ModelFinder.Results.DrawingParameters.RelativeOriginX Property

RelativeOriginX property

Availability | MIL Equivalent | RelativeOriginY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
M_GENERAL
ControlType =
M_DRAW_RELATIVE_ORIGIN_X
)

MmodInquire(
InquireType =
M_DRAW_RELATIVE_ORIGIN_X
)
ModelFinder
Results
DrawingParameters
RelativeOriginX
Synopsis
Returns or sets the X-coordinate of the drawing region's top-left corner in the target.
[]
Syntax
object.RelativeOriginX [= Double]
[]
Syntax
object->RelativeOriginX [= double]
Type description
A double value or an ActiveMILDefaultConstants expression that specifies, in pixels, the X-coordinate of the top-left corner of the region from which to draw. (default is 0.0)
Value | Meaning
amilDefault | Resets the property to the default value.
value | Specifies, in pixels, the X-coordinate of the top-left corner of the target's region from which to draw.
Remark
  • This property does not get saved with the settings of the ModelFinder control when you use the Save method or the SaveStream method. Upon restoration, this property needs to be set again.


ModelFinder.Results.DrawingParameters.RelativeOriginY Property

RelativeOriginY property

Availability | MIL Equivalent | RelativeOriginX | ScaleX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
M_GENERAL
ControlType =
M_DRAW_RELATIVE_ORIGIN_Y
)

MmodInquire(
InquireType =
M_DRAW_RELATIVE_ORIGIN_Y
)
ModelFinder
Results
DrawingParameters
RelativeOriginY
Synopsis
Returns or sets the Y-coordinate of the drawing region's top-left corner in the target.
[]
Syntax
object.RelativeOriginY [= Double]
[]
Syntax
object->RelativeOriginY [= double]
Type description
A double value or an ActiveMILDefaultConstants expression that specifies, in pixels, the Y-coordinate of the top-left corner of the region from which to draw. (default is 0.0)
Value | Meaning
amilDefault | Resets the property to the default value.
value | Specifies, in pixels, the Y-coordinate of the top-left corner of the target's region from which to draw.
Remark
  • This property does not get saved with the settings of the ModelFinder control when you use the Save method or the SaveStream method. Upon restoration, this property needs to be set again.


ModelFinder.Results.DrawingParameters.ScaleX Property

ScaleX property

Availability | MIL Equivalent | RelativeOriginY | ScaleY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
M_GENERAL
ControlType =
M_DRAW_SCALE_X
)

MmodInquire(
InquireType =
M_DRAW_SCALE_X
)
ModelFinder
Results
DrawingParameters
ScaleX
Synopsis
Returns or sets the scale factor in the X-direction.
[]
Syntax
object.ScaleX [= Double]
[]
Syntax
object->ScaleX [= double]
Type description
A double value or an ActiveMILDefaultConstants expression that specifies the factor with which to scale in the X-direction. (default is 1.0)
Value | Meaning
amilDefault | Resets the property to the default value.
value | Specifies the factor with which to scale in the X-direction.
Remark
  • This property does not get saved with the settings of the ModelFinder control when you use the Save method or the SaveStream method. Upon restoration, this scale needs to be set again.


ModelFinder.Results.DrawingParameters.ScaleY Property

ScaleY property

Availability | MIL Equivalent | ScaleX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
M_GENERAL
ControlType =
M_DRAW_SCALE_Y
)

MmodInquire(
InquireType =
M_DRAW_SCALE_Y
)
ModelFinder
Results
DrawingParameters
ScaleY
Synopsis
Returns or sets the scale factor in the Y-direction.
[]
Syntax
object.ScaleY [= Double]
[]
Syntax
object->ScaleY [= double]
Type description
A double value or an ActiveMILDefaultConstants expression that specifies the factor with which to scale in the Y-direction. (default is 1.0) (default is amilDefault)
Value | Meaning
amilDefault | Resets the property to the default value.
value | Specifies the factor with which to scale in the Y-direction.
Remark
  • This property does not get saved with the settings of the ModelFinder control when you use the Save method or the SaveStream method. Upon restoration, this scale needs to be set again.


ModelFinder.Results.Item Property

Item property

See Also | Availability | MIL Equivalent | DrawingParameters | MilID
User Guide:
Model indices and labels
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ModelFinder
Results
Item
Properties: Angle, FitError, ForwardA, ForwardB, ForwardC, ForwardD, Height, HorizontalThickness, InnerRadius, ModelChains, ModelCoverage, ModelIndex, OuterRadius, Polarity, PositionX, PositionY, Radius, ReverseA, ReverseB, ReverseC, ReverseD, Scale, Score, ScoreTarget, TargetChains, TargetCoverage, UserLabel, VerticalThickness, Width

Method: Draw
Synopsis
Returns the element at the specified index in the collection of Model Finder results.
[]
Syntax
[ModelFinderResult=]object.Item(
Index As Integer
)
[]
Syntax
[IModelFinderResultPtr =] object->Item(
long Index
)
Index
A longintegerlong (integer for Visual Basic .Net) value that specifies the index of the required item.
Type description
A ModelFinderResult object.
Remarks
  • The elements in the Model Finder results collection refer to the occurrences of any model found in the target with a score and target score above their respective acceptance levels.
  • Note that the index of the first element in the collection is 1.
  • If the value provided as the index does not match any existing element in the collection, an error occurs.
  • Match occurrences are ordered by score, regardless of the result type requested, meaning that the first collection element in the collection refers to the match occurrence with the highest score.
  • Note that when searching for multiple models, the results for all models are returned to this collection. However, results are not sorted according to which model occurrence was found; results are still sorted according to score. The Results.Item(ResultIndex).ModelIndex property returns the index of the model associated with the Model Finder result. The Results.Item(ResultIndex).UserLabel property returns the user label of the model associated with the Model Finder result.
  • If you are using a calibrated target, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. If the target is not calibrated, positional results are returned in pixels, relative to the top-left pixel in the target.

    Note that in the presence of distortion, some results are meaningless when converted from real-world to pixel units (for example, angle, scale, and transformation coefficient results). For example, if a model appears warped in the target, but the Calibration control of the target compensates for this during the model search, the resulting angle is meaningful in the real-world coordinate system, and meaningless in the image coordinate system.

  • If the target is not calibrated and the AspectRatio property is not set to 1, results are returned for the corrected target coordinate system (whereby pixel width is equal to the pixel height).
  • Results are those obtained from the last call to the Find or FindInEdgeFinderResults method.


ModelFinder.Results.Item.Angle Property

Angle property

See Also | Availability | MIL Equivalent | FitError
User Guide:
Angle and angular range

Reference:
ModelFinder.Models.Item.Angle
ModelFinder.Models.SearchAngleEnabled
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of the occurrence
ResultType =
M_ANGLE
)
ModelFinder
Results
Item
Angle
Synopsis
Returns the angle of the model occurrence found in the target image.
[]
Syntax
[Double =] object.Angle
[]
Syntax
[double =] object->Angle
Type description
A double value that returns the angle of the occurrence.
Remarks
  • Results are those obtained from the last call to the Find or FindInEdgeFinderResults method.
  • The angle returned is relative to the angle of the model's reference axis origin.
  • The angle of the reference axis origin is set for each model using the Models.Item(ModelIndex).ReferenceAngle property.


ModelFinder.Results.Item.FitError Property

FitError property

See Also | Availability | MIL Equivalent | Angle | ForwardA
User Guide:
Determining what is a match
Fit error weighting factor

Reference:
ModelFinder.Models.Item.FitErrorWeightingFactor
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of the occurrence
ResultType =
M_FIT_ERROR
)
ModelFinder
Results
Item
FitError
Synopsis
Returns the fit error of the model occurrence found in the target image.
[]
Syntax
[Double =] object.FitError
[]
Syntax
[double =] object->FitError
Type description
A double value that returns the fit error of the occurrence.
Remarks
  • Results are those obtained from the last call to the Find or FindInEdgeFinderResults method.
  • The fit error is a measure of how well the edges of the occurrence correspond to those of the model. The fit error is calculated as the average quadratic distance, in pixels or calibrated units, between the pixels in the occurrence and the corresponding active edges in the model. A perfect fit gives a fit error of 0.0.
  • The FitErrorWeightingFactor property of each model determines the contribution of the fit error in the score and target score calculation. The higher the percentage, the greater the contribution of the fit error in determining the score and target score.


ModelFinder.Results.Item.ForwardA Property

ForwardA property

See Also | Availability | MIL Equivalent | FitError | ForwardB
User Guide:
Forward and reverse transformation coefficients
Using transformation coefficients with calibrated images

Reference:
ModelFinder.Results.Item.ForwardB
ModelFinder.Results.Item.ForwardC
ModelFinder.Results.Item.ForwardD
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of the occurrence
ResultType =
M_A_FORWARD
)
ModelFinder
Results
Item
ForwardA
Synopsis
Returns the forward transformation coefficient 'a' for the model occurrence found in the target.
[]
Syntax
[Double =] object.ForwardA
[]
Syntax
[double =] object->ForwardA
Type description
A double value that returns the forward transformation coefficient 'a' for the occurrence.
Remarks
  • Results are those obtained from the last call to the Find or the FindInEdgeFinderResults method.
  • The forward transformation coefficients allow you to convert coordinates in the model coordinate system to the corresponding coordinates in the target coordinate system for the occurrence, with the following equations:

    xd = axs+bys+c

    yd = -bxs+ays+d

    where:

    a, b, c, d: Forward transformation coefficients.

    xd, yd: Destination coordinates (with respect to the origin of the target coordinate system).

    xs, ys: Source coordinates (with respect to the origin of the model coordinate system).

  • These coefficients can be useful when it is necessary to map several points, other than the reference axis origin.
  • These coefficients handle variations in scale, translation, and angle, allowing for easier mapping of critical points between model and occurrence.
  • If the model is calibrated, these coefficients are given for the real world.


ModelFinder.Results.Item.ForwardB Property

ForwardB property

See Also | Availability | MIL Equivalent | ForwardA | ForwardC
User Guide:
Forward and reverse transformation coefficients
Using transformation coefficients with calibrated images

Reference:
ModelFinder.Results.Item.ForwardA
ModelFinder.Results.Item.ForwardC
ModelFinder.Results.Item.ForwardD
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of the occurrence
ResultType =
M_B_FORWARD
)
ModelFinder
Results
Item
ForwardB
Synopsis
Returns the forward transformation coefficient 'b' for the model occurrence found in the target.
[]
Syntax
[Double =] object.ForwardB
[]
Syntax
[double =] object->ForwardB
Type description
A double value that returns the forward transformation coefficient 'b' for the occurrence.
Remarks
  • Results are those obtained from the last call to the Find or the FindInEdgeFinderResults method.
  • The forward transformation coefficients allow you to convert coordinates in the model coordinate system to the corresponding coordinates in the target coordinate system for the occurrence, with the following equations:

    xd = axs+bys+c

    yd = -bxs+ays+d

    where:

    a, b, c, d: Forward transformation coefficients.

    xd, yd: Destination coordinates (with respect to the origin of the target coordinate system).

    xs, ys: Source coordinates (with respect to the origin of the model coordinate system).

  • These coefficients can be useful when it is necessary to map several points, other than the reference axis origin.
  • These coefficients handle variations in scale, translation, and angle, allowing for easier mapping of critical points between model and occurrence.
  • If the model is calibrated, these coefficients are given for the real world.


ModelFinder.Results.Item.ForwardC Property

ForwardC property

See Also | Availability | MIL Equivalent | ForwardB | ForwardD
User Guide:
Forward and reverse transformation coefficients
Using transformation coefficients with calibrated images

Reference:
ModelFinder.Results.Item.ForwardA
ModelFinder.Results.Item.ForwardB
ModelFinder.Results.Item.ForwardD
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of the occurrence
ResultType =
M_C_FORWARD
)
ModelFinder
Results
Item
ForwardC
Synopsis
Returns the forward transformation coefficient 'c' for the model occurrence found in the target.
[]
Syntax
[Double =] object.ForwardC
[]
Syntax
[double =] object->ForwardC
Type description
A double value that returns the forward transformation coefficient 'c' for the occurrence.
Remarks
  • Results are those obtained from the last call to the Find or the FindInEdgeFinderResults method.
  • The forward transformation coefficients allow you to convert coordinates in the model coordinate system to the corresponding coordinates in the target coordinate system for the occurrence, with the following equations:

    xd = axs+bys+c

    yd = -bxs+ays+d

    where:

    a, b, c, d: Forward transformation coefficients.

    xd, yd: Destination coordinates (with respect to the origin of the target coordinate system).

    xs, ys: Source coordinates (with respect to the origin of the model coordinate system).

  • These coefficients can be useful when it is necessary to map several points, other than the reference axis origin.
  • These coefficients handle variations in scale, translation, and angle, allowing for easier mapping of critical points between model and occurrence.
  • If the model is calibrated, these coefficients are given for the real world.


ModelFinder.Results.Item.ForwardD Property

ForwardD property

See Also | Availability | MIL Equivalent | ForwardC | Height
User Guide:
Forward and reverse transformation coefficients
Using transformation coefficients with calibrated images

Reference:
ModelFinder.Results.Item.ForwardA
ModelFinder.Results.Item.ForwardB
ModelFinder.Results.Item.ForwardC
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of the occurrence
ResultType =
M_D_FORWARD
)
ModelFinder
Results
Item
ForwardD
Synopsis
Returns the forward transformation coefficient 'd' for the model occurrence found in the target.
[]
Syntax
[Double =] object.ForwardD
[]
Syntax
[double =] object->ForwardD
Type description
A double value that returns the forward transformation coefficient 'd' for the occurrence.
Remarks
  • Results are those obtained from the last call to the Find or the FindInEdgeFinderResults method.
  • The forward transformation coefficients allow you to convert coordinates in the model coordinate system to the corresponding coordinates in the target coordinate system for the occurrence, with the following equations:

    xd = axs+bys+c

    yd = -bxs+ays+d

    where:

    a, b, c, d: Forward transformation coefficients.

    xd, yd: Destination coordinates (with respect to the origin of the target coordinate system).

    xs, ys: Source coordinates (with respect to the origin of the model coordinate system).

  • These coefficients can be useful when it is necessary to map several points, other than the reference axis origin.
  • These coefficients handle variations in scale, translation, and angle, allowing for easier mapping of critical points between model and occurrence.
  • If the model is calibrated, these coefficients are given for the real world.


ModelFinder.Results.Item.Height Property

Height property

See Also | Availability | MIL Equivalent | ForwardD | HorizontalThickness
Reference:
ModelFinder.Models.Item.ModelType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultType =
M_HEIGHT
)
ModelFinder
Results
Item
Height
Synopsis
Returns the height of the occurrence for selected predefined-shape models (cross, diamond, ellipse, rectangle and triangle).
[]
Syntax
[Double =] object.Height
[]
Syntax
[double =] object->Height
Type description
A double value that returns the height of the shape.
Remark
  • This property is only available for models of type modCross, modDiamond, modEllipse, modRectangle, or modTriangle. Use the ModelType property to determine the model type.


ModelFinder.Results.Item.HorizontalThickness Property

HorizontalThickness property

See Also | Availability | MIL Equivalent | Height | InnerRadius
Reference:
ModelFinder.Models.Item.ModelType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultType =
M_HORIZONTAL_THICKNESS
)
ModelFinder
Results
Item
HorizontalThickness
Synopsis
Returns the horizontal thickness of the occurrence of the predefined-shape cross model.
[]
Syntax
[ =] object.HorizontalThickness
[]
Syntax
[ =] object->HorizontalThickness
Type description
A double value that returns the horizontal thickness of the cross.
Remark
  • This property is only available for models of type modCross. Use the ModelType property to determine the model type.


ModelFinder.Results.Item.InnerRadius Property

InnerRadius property

See Also | Availability | MIL Equivalent | HorizontalThickness | ModelChains
Reference:
ModelFinder.Models.Item.ModelType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultType =
M_INNER_RADIUS
)
ModelFinder
Results
Item
InnerRadius
Synopsis
Returns the inner radius of the occurrence of the predefined-shape ring model.
[]
Syntax
[ =] object.InnerRadius
[]
Syntax
[ =] object->InnerRadius
Type description
A double value that returns the inner radius of the ring.
Remark
  • This property is only available for models of type modRing. Use the ModelType property to determine the model type.


ModelFinder.Results.Item.ModelChains Property

ModelChains property

Availability | MIL Equivalent | InnerRadius | ModelCoverage
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of Result
ResultType =
M_MODEL +
(M_CHAIN_INDEX or
M_NUMBER_OF_CHAINED_EDGELS or
M_CHAIN_X or
M_CHAIN_Y)
)
ModelFinder
Results
Item
ModelChains
Properties: Count, Item
Synopsis
Returns the collection of model chains calculated for the model, allowing access to the results of each chain.
[]
Syntax
[ModelFinderChains =] object.ModelChains
[]
Syntax
[IModelFinderChainsPtr =] object->ModelChains
Type description
A ModelFinderChains expression that represents an instance of a ModelFinderChains collection.
Remarks
  • If the value provided as the index does not match any existing element in the collection, an error occurs. Note that the index of the first element of this collection starts at one.
  • This property returns the collection of model chains calculated for the model transformed at the occurrence position.


ModelFinder.Results.Item.ModelChains.Count Property

Count property

See Also | Availability | MIL Equivalent | Item
Reference:
ModelFinder.ModelFinderType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of Result
ResultType =
M_MODEL +
M_CHAIN_INDEX
)
ModelFinder
Results
Item
ModelChains
Count
Synopsis
Returns the number of elements in the collection of chains, for the model transformed at the model occurrence.
[]
Syntax
object.Count [= Integer]
[]
Syntax
object->Count [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of elements in the collection of chains.
Remarks
  • The elements in the collection of chains refer to a chain composing one of the active edges of the model occurrence.
  • The expected number of occurrences for each model is set using the Models.Item(ModelIndex).NumberOfOccurrences property.
  • Match occurrences are ordered by score, regardless of the result type requested, meaning that the first element in the collection refers to the match occurrence with the highest score.
  • The Results.Count property will return the error message "No results are available" until the Find or FindInEdgeFinderResults method is called.
  • If the last call to the Find or FindInEdgeFinderResults method found no occurrences, then the count will be 0.


ModelFinder.Results.Item.ModelChains.Item Property

Item property

Availability | MIL Equivalent | Count
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ModelFinder
Results
Item
ModelChains
Item
Property: Edgels
Synopsis
Returns the element at the specified index in the model's collection of chains.
[]
Syntax
[ModelFinderChain=]object.Item(
Index As Integer
)
[]
Syntax
[IModelFinderChainPtr =] object->Item(
long Index
)
Index
A longintegerlong (integer for Visual Basic .Net) value that specifies the index of the required element.
Type description
A ModelFinderChain object.
Remarks
  • If the value provided as the index does not match any existing element in the collection, an error occurs. Note that the index of the first element of this collection starts at one.
  • Each element corresponds to a chain in the model transformed at the occurrence position.
  • []
     The Item property is the default property for a collection. Therefore, the following expressions are equivalent:
    • ModelFinder.Results.Item.ModelChains(1)
    • ModelFinder.Results.Item.ModelChains.Item(1)


ModelFinder.Results.Item.ModelChains.Item.Edgels Property

Edgels property

See Also | Availability | MIL Equivalent
Reference:
ModelFinder.ModelFinderType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of Result
ResultType =
M_MODEL +
(M_CHAIN_X or
M_CHAIN_Y)
)
ModelFinder
Results
Item
ModelChains
Item
Edgels
Properties: Count, Item
Synopsis
Returns the collection of edgels in the chain of the model occurrence, allowing access to each element.
[]
Syntax
[ModelFinderEdgels =] object.Edgels
[]
Syntax
[IModelFinderEdgelsPtr =] object->Edgels
Type description
A ModelFinderEdgels expression that represents an instance of an edgels collection.


ModelFinder.Results.Item.ModelChains.Item.Edgels.Count Property

Count property

Availability | MIL Equivalent | Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of Result
ResultType =
M_MODEL +
M_NUMBER_OF_CHAINED_ EDGELS
)

MmodGetResult(
ResultIndex =
Index of Result
ResultType =
M_MODEL +
M_CHAIN_INDEX
)
ModelFinder
Results
Item
ModelChains
Item
Edgels
Count
Synopsis
Returns the number of elements in the collection of edgels found in the chain of the model transformed in the model occurrence.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of elements in the chain's collection of edgels.
Remarks
  • The elements in the collection of edgels refer to the edgels in the specific chain of the model transformed at the current occurrence location.
  • Match occurrences are ordered by score, regardless of the result type requested, meaning that the first element in the collection refers to the match occurrence with the highest score.


ModelFinder.Results.Item.ModelChains.Item.Edgels.Item Property

Item property

Availability | MIL Equivalent | Count
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of Result
ResultType =
M_MODEL +
M_NUMBER_OF_CHAINED_PIXELS
)

MmodGetResult(
ResultIndex =
Index of Result
ResultType =
(M_MODEL +
M_CHAIN_X) +
(M_MODEL +
M_CHAIN_Y)
)
ModelFinder
Results
Item
ModelChains
Item
Edgels
Item
Properties: Angle, X, Y
Synopsis
Returns the element at the specified index in the chain's collection of edgels.
[]
Syntax
[ModelFinderEdgel=]object.Item(
Index As Integer
)
[]
Syntax
[IModelFinderEdgelPtr =] object->Item(
long Index
)
Index
A longintegerlong (integer for Visual Basic .Net) value that specifies the index of the required element.
Type description
A ModelFinderEdgel object.
Remarks
  • If the value provided as the index does not match any existing element in the collection, an error occurs. Note that the index of the first element of this collection starts at one.
  • Each element corresponds to an edgel in the model transformed at the occurrence position.
  • Note that the index of the first element in the collection is 1.
  • []
     The Item property is the default property for a collection. Therefore, the following expressions are equivalent:
    • ModelFinder.Results.Item.ModelChains(1)
    • ModelFinder.Results.Item.ModelChains.Item(1)


ModelFinder.Results.Item.ModelChains.Item.Edgels.Item.Angle Property

Angle property

Availability | MIL Equivalent | X
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of Result
ResultType =
M_CHAIN_ANGLE
)
ModelFinder
Results
Item
ModelChains
Item
Edgels
Item
Angle
Synopsis
Returns the angle of the chained edgel.
[]
Syntax
[Double =] object.Angle
[]
Syntax
[double =] object->Angle
Type description
A double value that returns the angle of the chained edgel.


ModelFinder.Results.Item.ModelChains.Item.Edgels.Item.X Property

X property

Availability | MIL Equivalent | Angle | Y
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of Result
ResultType =
M_MODEL +
M_CHAIN_X
)
ModelFinder
Results
Item
ModelChains
Item
Edgels
Item
X
Synopsis
Returns the X-coordinate of the chained edgel.
[]
Syntax
[Double =] object.X
[]
Syntax
[double =] object->X
Type description
A double value that returns the X-coordinate of the chained edgel.


ModelFinder.Results.Item.ModelChains.Item.Edgels.Item.Y Property

Y property

Availability | MIL Equivalent | X
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of Result
ResultType =
M_MODEL +
M_CHAIN_Y
)
ModelFinder
Results
Item
ModelChains
Item
Edgels
Item
Y
Synopsis
Returns the Y-coordinate of the chained edgel.
[]
Syntax
[Double =] object.Y
[]
Syntax
[double =] object->Y
Type description
A double value that returns the Y-coordinate of the chained edgel.


ModelFinder.Results.Item.ModelCoverage Property

ModelCoverage property

See Also | Availability | MIL Equivalent | ModelChains | ModelIndex
User Guide:
Determining what is a match

Reference:
ModelFinder.Results.Item.Score
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of the occurrence
ResultType =
M_MODEL_COVERAGE
)
ModelFinder
Results
Item
ModelCoverage
Synopsis
Returns the model coverage of the model occurrence found in the target.
[]
Syntax
[Double =] object.ModelCoverage
[]
Syntax
[double =] object->ModelCoverage
Type description
A double value that returns the model coverage of the occurrence.
Remarks
  • Results are those obtained from the last call to the Find or the FindInEdgeFinderResults method.
  • The model coverage is used in the calculation of the Score property.
  • The model coverage is the percentage of the total length of the model's active edges found in the occurrence. 100% indicates that for every edge in the model, a corresponding edge was found in the occurrence. The model coverage is calculated as follows:
  • Using a weighted mask with a model affects the calculation of the model coverage. Positive-weighted active edges not found in the occurrence as well as negative-weighted active edges found in the occurrence reduce the model coverage. The amount of reduction is influenced by the weight and the number of positive-weighted active edges versus the number of negative-weighted active edges. When a weighted mask is used with a model, the target is calculated as follows:


ModelFinder.Results.Item.ModelIndex Property

ModelIndex property

See Also | Availability | MIL Equivalent | ModelCoverage | OuterRadius
User Guide:
Model indices and labels

Reference:
ModelFinder.Results.Item.UserLabel
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(M_INDEX)
ModelFinder
Results
Item
ModelIndex
Synopsis
Returns the associated model index of the occurrence found in the target.
[]
Syntax
[Integer =] object.ModelIndex
[]
Syntax
[long =] object->ModelIndex
Type description
A longintegerlong (integer for Visual Basic .Net) value that returns the index of the model whose occurrence was found in the target.
Remark
  • Results are those obtained from the last call to the Find or the FindInEdgeFinderResults method.


ModelFinder.Results.Item.OuterRadius Property

OuterRadius property

See Also | Availability | MIL Equivalent | ModelIndex | Polarity
Reference:
ModelFinder.Models.Item.ModelType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultType =
M_OUTER_RADIUS
)
ModelFinder
Results
Item
OuterRadius
Synopsis
Returns the outer radius of the occurrence of the predefined-shape ring model.
[]
Syntax
[ =] object.OuterRadius
[]
Syntax
[ =] object->OuterRadius
Type description
A double value that returns the outer radius of the ring.
Remark
  • This property is only available for models of type modRing. Use the ModelType property to determine the model type.


ModelFinder.Results.Item.Polarity Property

Polarity property

See Also | Availability | MIL Equivalent | OuterRadius | PositionX
User Guide:
Polarity
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of the occurrence
ResultType =
M_POLARITY
)
ModelFinder
Results
Item
Polarity
Synopsis
Returns the polarity of the model occurrence found in the target.
[]
Syntax
[ModPolarityConstants =] object.Polarity
[]
Syntax
[enum ModPolarityConstants =] object->Polarity
Type description
A ModPolarityConstants expression that returns the polarity of the result.
Value | Meaning
modSame | The polarity of the occurrence is the same as that of the model.
modReverse | The polarity of the occurrence is the reverse of that of the model.
modSameOrReverse | The polarity of the occurrence is either the same or the reverse of that of the model.
modAny | The occurrence is a mixture of both polarities.
Remarks
  • Results are those obtained from the last call to the Find or the FindInEdgeFinderResults method.
  • The polarity of an edge indicates whether edges occur as transitions from light to dark or vice versa.
  • The expected polarity of the occurrences of the model is set using the Models.Item(ModelIndex).Polarity property.


ModelFinder.Results.Item.PositionX Property

PositionX property

Availability | MIL Equivalent | Polarity | PositionY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of the occurrence
ResultType =
M_POSITION_X
)
ModelFinder
Results
Item
PositionX
Synopsis
Returns the X-coordinate of the model occurrence.
[]
Syntax
[Double =] object.PositionX
[]
Syntax
[double =] object->PositionX
Type description
A double value that returns the X-coordinate of the reference axis origin of the occurrence.
Remarks
  • Results are those obtained from the last call to the Find or FindInEdgeFinderResults method.
  • The model occurrence position corresponds to the position of the model's reference axis origin converted to the corresponding position in the target world's coordinate system for the occurrence.
  • By default, the reference axis origin is located at the center of the model.
  • The reference axis origin of the model can be modified using the Models.Item(ModelIndex).ReferenceX and Models.Item(ModelIndex).ReferenceY properties.
  • The angle of the reference axis can be modified using the Models.Item(ModelIndex).ReferenceAngle property.
  • The search region limits the possible positions which can be returned as results and is set using the properties of the Models.Item(ModelIndex).Position property.


ModelFinder.Results.Item.PositionY Property

PositionY property

Availability | MIL Equivalent | PositionX | Radius
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of the occurrence
ResultType =
M_POSITION_Y
)
ModelFinder
Results
Item
PositionY
Synopsis
Returns the Y-coordinate of the model occurrence.
[]
Syntax
[Double =] object.PositionY
[]
Syntax
[double =] object->PositionY
Type description
A double value that returns the Y-coordinate of the reference axis origin of the occurrence.
Remarks
  • Results are those obtained from the last call to the Find or FindInEdgeFinderResults method.
  • The model occurrence position corresponds to the position of the model's reference axis origin converted to the corresponding position in the target world's coordinate system for the occurrence.
  • By default, the reference axis origin is located at the center of the model.
  • The reference axis origin of the model can be modified using the Models.Item(ModelIndex).ReferenceX and Models.Item(ModelIndex).ReferenceY properties.
  • The angle of the reference axis can be modified using the Models.Item(ModelIndex).ReferenceAngle property.
  • The search region limits the possible positions which can be returned as results and is set using the properties of the Models.Item(ModelIndex).Position property.


ModelFinder.Results.Item.Radius Property

Radius property

Availability | MIL Equivalent | PositionY | ReverseA
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of the occurrence
ResultType =
M_RADIUS
)
ModelFinder
Results
Item
Radius
Synopsis
Returns the radius of the occurrence of the predefined-shape circle model.
[]
Syntax
[Double =] object.Radius
[]
Syntax
[double =] object->Radius
Type description
A double value that returns the radius of the circle.
Remark
  • This property is only available if the Models.Item(ModelIndex).ModelType property is set to modCircle.


ModelFinder.Results.Item.ReverseA Property

ReverseA property

See Also | Availability | MIL Equivalent | Radius | ReverseB
User Guide:
Forward and reverse transformation coefficients
Using transformation coefficients with calibrated images

Reference:
ModelFinder.Results.Item.ReverseB
ModelFinder.Results.Item.ReverseC
ModelFinder.Results.Item.ReverseD
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of the occurrence
ResultType =
M_A_REVERSE
)
ModelFinder
Results
Item
ReverseA
Synopsis
Returns the reverse transformation coefficient 'a' for the model occurrence found in the target.
[]
Syntax
[Double =] object.ReverseA
[]
Syntax
[double =] object->ReverseA
Type description
A double value that returns the reverse transformation coefficient 'a' for the occurrence.
Remarks
  • Results are those obtained from the last call to the Find or the FindInEdgeFinderResults method.
  • The reverse transformation coefficients allow you to convert coordinates in the target coordinate system to the corresponding coordinates in the model coordinate system for the occurrence, with the following equations:

    xd = axs+bys+c

    yd = -bxs+ays+d

    where:

    a, b, c, d: Reverse transformation coefficients.

    xd, yd: Destination coordinates (with respect to the origin of the model coordinate system).

    xs, ys: Source coordinates (with respect to the origin of the target coordinate system).

  • These coefficients can be useful when it is necessary to map several points, other than the reference axis origin.
  • These coefficients handle variations in scale, translation, and angle, allowing for easier mapping of critical points between model and occurrence.
  • If the model is calibrated, these coefficients are given for the real world.


ModelFinder.Results.Item.ReverseB Property

ReverseB property

See Also | Availability | MIL Equivalent | ReverseA | ReverseC
User Guide:
Forward and reverse transformation coefficients
Using transformation coefficients with calibrated images

Reference:
ModelFinder.Results.Item.ReverseA
ModelFinder.Results.Item.ReverseC
ModelFinder.Results.Item.ReverseD
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of the occurrence
ResultType =
M_B_REVERSE
)
ModelFinder
Results
Item
ReverseB
Synopsis
Returns the reverse transformation coefficient 'b' for the model occurrence found in the target.
[]
Syntax
[Double =] object.ReverseB
[]
Syntax
[double =] object->ReverseB
Type description
A double value that returns the reverse transformation coefficient 'b' for the occurrence.
Remarks
  • Results are those obtained from the last call to the Find or the FindInEdgeFinderResults method.
  • The reverse transformation coefficients allow you to convert coordinates in the target coordinate system to the corresponding coordinates in the model coordinate system for the occurrence, with the following equations:

    xd = axs+bys+c

    yd = -bxs+ays+d

    where:

    a, b, c, d: Reverse transformation coefficients.

    xd, yd: Destination coordinates (with respect to the origin of the model coordinate system).

    xs, ys: Source coordinates (with respect to the origin of the target coordinate system).

  • These coefficients can be useful when it is necessary to map several points, other than the reference axis origin.
  • These coefficients handle variations in scale, translation, and angle, allowing for easier mapping of critical points between model and occurrence.
  • If the model is calibrated, these coefficients are given for the real world.


ModelFinder.Results.Item.ReverseC Property

ReverseC property

See Also | Availability | MIL Equivalent | ReverseB | ReverseD
User Guide:
Forward and reverse transformation coefficients
Using transformation coefficients with calibrated images

Reference:
ModelFinder.Results.Item.ReverseA
ModelFinder.Results.Item.ReverseB
ModelFinder.Results.Item.ReverseD
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of the occurrence
ResultType =
M_C_REVERSE
)
ModelFinder
Results
Item
ReverseC
Synopsis
Returns the reverse transformation coefficient 'c' for the model occurrence found in the target.
[]
Syntax
[Double =] object.ReverseC
[]
Syntax
[double =] object->ReverseC
Type description
A double value that returns the reverse transformation coefficient 'c' for the occurrence.
Remarks
  • Results are those obtained from the last call to the Find or the FindInEdgeFinderResults method.
  • The reverse transformation coefficients allow you to convert coordinates in the target coordinate system to the corresponding coordinates in the model coordinate system for the occurrence, with the following equations:

    xd = axs+bys+c

    yd = -bxs+ays+d

    where:

    a, b, c, d: Reverse transformation coefficients.

    xd, yd: Destination coordinates (with respect to the origin of the model coordinate system).

    xs, ys: Source coordinates (with respect to the origin of the target coordinate system).

  • These coefficients can be useful when it is necessary to map several points, other than the reference axis origin.
  • These coefficients handle variations in scale, translation, and angle, allowing for easier mapping of critical points between model and occurrence.
  • If the model is calibrated, these coefficients are given for the real world.


ModelFinder.Results.Item.ReverseD Property

ReverseD property

See Also | Availability | MIL Equivalent | ReverseC | Scale
User Guide:
Forward and reverse transformation coefficients
Using transformation coefficients with calibrated images

Reference:
ModelFinder.Results.Item.ReverseA
ModelFinder.Results.Item.ReverseB
ModelFinder.Results.Item.ReverseC
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of the occurrence
ResultType =
M_D_REVERSE
)
ModelFinder
Results
Item
ReverseD
Synopsis
Returns the reverse transformation coefficient 'd' for the model occurrence found in the target.
[]
Syntax
[Double =] object.ReverseD
[]
Syntax
[double =] object->ReverseD
Type description
A double value that returns the reverse transformation coefficient 'd' for the occurrence.
Remarks
  • Results are those obtained from the last call to the Find or the FindInEdgeFinderResults method.
  • The reverse transformation coefficients allow you to convert coordinates in the target coordinate system to the corresponding coordinates in the model coordinate system for the occurrence, with the following equations:

    xd = axs+bys+c

    yd = -bxs+ays+d

    where:

    a, b, c, d: Reverse transformation coefficients.

    xd, yd: Destination coordinates (with respect to the origin of the model coordinate system).

    xs, ys: Source coordinates (with respect to the origin of the target coordinate system).

  • These coefficients can be useful when it is necessary to map several points, other than the reference axis origin.
  • These coefficients handle variations in scale, translation, and angle, allowing for easier mapping of critical points between model and occurrence.
  • If the model is calibrated, these coefficients are given for the real world.


ModelFinder.Results.Item.Scale Property

Scale property

See Also | Availability | MIL Equivalent | ReverseD | Score
User Guide:
Scale and scale range

Reference:
ModelFinder.Models.Item.Scale
ModelFinder.Models.SearchScaleEnabled
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of the occurrence
ResultType =
M_SCALE
)
ModelFinder
Results
Item
Scale
Synopsis
Returns the scale of the model occurrence found in the target image.
[]
Syntax
[Double =] object.Scale
[]
Syntax
[double =] object->Scale
Type description
A double value that returns the scale of the occurrence.
Remark
  • Results are those obtained from the last call to the Find or FindInEdgeFinderResults method.


ModelFinder.Results.Item.Score Property

Score property

See Also | Availability | MIL Equivalent | Scale | ScoreTarget
User Guide:
Determining what is a match

Reference:
ModelFinder.Find
ModelFinder.Models.Item.Acceptance
ModelFinder.Models.Item.Certainty
ModelFinder.Results.Item.FitError
ModelFinder.Results.Item.ModelCoverage
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of the occurrence
ResultType =
M_SCORE
)
ModelFinder
Results
Item
Score
Synopsis
Returns the match score of the model occurrence found in the target.
[]
Syntax
[Double =] object.Score
[]
Syntax
[double =] object->Score
Type description
A double value that returns the match score of the occurrence.
Remarks
  • Results are those obtained from the last call to the Find or the FindInEdgeFinderResults method.
  • The score is a measure of the active edges in the model found in the occurrence, weighted by the deviation in position of these common edges.
  • The score is calculated as follows: Score = Results.Item(ResultsIndex).ModelCoverage x (1 - ( Fit error weighting factor x Normalized fit error))

    Note: the normalized fit error is the value of Results.Item(ResultIndex).FitError property converted to a number between 0.0-1.0.

  • The model coverage is the percentage of the total length of the model's active edges found in the occurrence. 100% indicates that for every edge in the model, a corresponding edge was found in the occurrence. Note that using a weighted mask affects the calculation of the model coverage. Positive-weighted active edges not found in the occurrence as well as negative weighted active edges found in the occurrence reduce the model coverage. The amount of reduction is influenced by the weight and the number of positive-weighted active edges versus the number of negative-weighted active edges.
  • The fit error is a measure of how well the edges of the occurrence correspond to those of the model. The fit error is calculated as the average quadratic distance, in pixels or calibrated units, between the pixels in the occurrence and the corresponding active edges in the model. A perfect fit gives a fit error of 0.0. The fit error weighting factor (between 0.0 - 100.0) determines the importance to place on the fit error when calculating the score and target score.
  • The normalized fit error is the fit error converted to a number between 0.0-1.0.


ModelFinder.Results.Item.ScoreTarget Property

ScoreTarget property

See Also | Availability | MIL Equivalent | Score | TargetChains
User Guide:
Determining what is a match

Reference:
ModelFinder.Find
ModelFinder.Models.Item.Acceptance
ModelFinder.Models.Item.CertaintyTarget
ModelFinder.Results.Item.FitError
ModelFinder.Results.Item.TargetCoverage
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of the occurrence
ResultType =
M_SCORE_TARGET
)
ModelFinder
Results
Item
ScoreTarget
Synopsis
Returns the target score of the model occurrence found in the target.
[]
Syntax
[Double =] object.ScoreTarget
[]
Syntax
[double =] object->ScoreTarget
Type description
A double value that returns the target score of the occurrence.
Remarks
  • Results are those obtained from the last call to the Find or the FindInEdgeFinderResults method.
  • The target score is a measure of edges found in the occurrence that are not present in the original model (that is, extra edges), weighted by the deviation in position of the common edges.
  • The target score is calculated as follows: ScoreTarget = Results.Item(ResultsIndex).TargetCoverage x (1 - ( Fit error weighting factor x Normalized fit error))

    Note: the normalized fit error is the value of the Results.Item(ResultIndex).FitError property converted to a number between 0.0-1.0.

  • The target coverage is the percentage of the total length of the model's active edges found in the occurrence, divided by the total length of edges present in the occurrence's bounding box. Therefore, a target coverage score of 100.0 means that no extra edges were found. Lower scores indicate that features or edges found in the target (result occurrence) are not present in the model. When using a weighted region mask, note that the weights affect the calculation of the target score. Although the weights themselves don't affect the target coverage, the edges corresponding to negative weights are ignored when calculating the target coverage.
  • The fit error is a measure of how well the edges of the occurrence correspond to those of the model. The fit error is calculated as the average quadratic distance, in pixels or calibrated units, between the pixels in the occurrence and the corresponding active edges in the model. A perfect fit gives a fit error of 0.0. The fit error weighting factor (between 0.0 - 100.0) determines the importance to place on the fit error when calculating the score and target score.
  • The normalized fit error is the fit error converted to a number between 0.0-1.0.


ModelFinder.Results.Item.TargetChains Property

TargetChains property

See Also | Availability | MIL Equivalent | ScoreTarget | TargetCoverage
Reference:
ModelFinder.ModelFinderType
ModelFinder.TargetEdgesResultEnabled
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of Result
ResultType =
M_TARGET +
(M_CHAIN_INDEX or
M_NUMBER_OF_CHAINED_EDGELS or
M_CHAIN_X or
M_CHAIN_Y)
)
ModelFinder
Results
Item
TargetChains
Properties: Count, Item
Synopsis
Returns the collection of target chains in the occurrence of the model, allowing access to the results of each chain.
[]
Syntax
[ModelFinderChains =] object.TargetChains
[]
Syntax
[IModelFinderChainsPtr =] object->TargetChains
Type description
A ModelFinderChains expression that represents an instance of a ModelFinderChains collection.
Remark
  • This property is not supported unless the TargetEdgesResultEnabled property has been set to true.


ModelFinder.Results.Item.TargetChains.Count Property

Count property

See Also | Availability | MIL Equivalent | Item
Reference:
ModelFinder.ModelFinderType
ModelFinder.TargetEdgesResultEnabled
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of Result
ResultType =
M_TARGET +
M_CHAIN_INDEX
)
ModelFinder
Results
Item
TargetChains
Count
Synopsis
Returns the number of elements in the collection of chains found in the model occurrence.
[]
Syntax
object.Count [= Integer]
[]
Syntax
object->Count [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of elements currently in the collection.
Remarks
  • The elements in the collection of target chains refer to a chain composing one of the model occurrences in the target active edges.
  • Match occurrences are ordered by score, regardless of the result type requested, meaning that the first element in the collection refers to the match occurrence with the highest score.
  • This property is not supported unless the TargetEdgesResultEnabled property has been set to true


ModelFinder.Results.Item.TargetChains.Item Property

Item property

See Also | Availability | MIL Equivalent | Count
Reference:
ModelFinder.ModelFinderType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of Result
ResultType =
M_TARGET +
M_CHAIN_INDEX
)
ModelFinder
Results
Item
TargetChains
Item
Property: Edgels
Synopsis
Returns the element at the specified index in the collection of chains found in the model occurrence in the target.
[]
Syntax
[ModelFinderChain=]object.Item(
Index As Integer
)
[]
Syntax
[IModelFinderChainPtr =] object->Item(
long Index
)
Index
A longintegerlong (integer for Visual Basic .Net) value that specifies the index of the required element.
Type description
A ModelFinderChain object.
Remarks
  • If the value provided as the index does not match any existing element in the collection, an error occurs. Note that the index of the first element of this collection starts at one.
  • Each element corresponds to a pixel in the model transformed at the occurrence position.
  • Note that the index of the first element in the collection is 1.
  • []
     The Item property is the default property for a collection. Therefore, the following expressions are equivalent:
    • ModelFinder.Results.Item.ModelChains(1)
    • ModelFinder.Results.Item.ModelChains.Item(1)


ModelFinder.Results.Item.TargetChains.Item.Edgels Property

Edgels property

Availability | MIL Equivalent
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of Result
ResultType =
M_TARGET +
(M_CHAIN_X or
M_CHAIN_Y)
)
ModelFinder
Results
Item
TargetChains
Item
Edgels
Properties: Count, Item
Synopsis
Returns the collection of edgels in the target at the specified occurrence, allowing access to each element.
[]
Syntax
[ModelFinderEdgels =] object.Edgels
[]
Syntax
[IModelFinderEdgelsPtr =] object->Edgels
Type description
A ModelFinderEdgels expression that represents an instance of a ModelFinderEdgels collection.


ModelFinder.Results.Item.TargetChains.Item.Edgels.Count Property

Count property

See Also | Availability | MIL Equivalent | Item
Reference:
ModelFinder.ModelFinderType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of Result
ResultType =
M_TARGET +
M_NUMBER_OF_CHAINED_EDGELS
)

MmodGetResult(
ResultIndex =
Index of Result
ResultType =
M_TARGET +
M_CHAIN_INDEX
)
ModelFinder
Results
Item
TargetChains
Item
Edgels
Count
Synopsis
Returns the number of elements in the chain's collection of edgels.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of elements currently in the chain's collection of edgels.
Remarks
  • The elements in the collection of edgels refer to the edgels in the chain.
  • Match occurrences are ordered by score, regardless of the result type requested, meaning that the first element in the collection refers to the match occurrence with the highest score.
  • The Results.Count property will return the error message "No results are available" until the Find or the FindInEdgeFinderResults method is called.
  • If the last call to the Find or the FindInEdgeFinderResults method found no occurrences, then the count will be 0.


ModelFinder.Results.Item.TargetChains.Item.Edgels.Item Property

Item property

Availability | MIL Equivalent | Count
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ModelFinder
Results
Item
TargetChains
Item
Edgels
Item
Properties: Angle, X, Y
Synopsis
Returns the element at the specified index in the chain's collection of edgels.
[]
Syntax
[ModelFinderEdgels=]object.Item(
Index As Integer
)
[]
Syntax
[IModelFinderEdgelsPtr =] object->Item(
long Index
)
Index
A longintegerlong (integer for Visual Basic .Net) value that specifies the index of the required element.
Type description
A ModelFinderEdgels object.
Remarks
  • If the value provided as the index does not match any existing element in the collection, an error occurs. Note that the index of the first element of this collection starts at one.
  • Each element corresponds to the specified edgel in the collection of edgels for the chains in the target at the specified index.
  • []
     The Item property is the default property for a collection. Therefore, the following expressions are equivalent:
    • ModelFinder.Results.Item.ModelChains(1)
    • ModelFinder.Results.Item.ModelChains.Item(1)


ModelFinder.Results.Item.TargetChains.Item.Edgels.Item.Angle Property

Angle property

Availability | MIL Equivalent | X
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of Result
ResultType =
M_CHAIN_ANGLE
)
ModelFinder
Results
Item
TargetChains
Item
Edgels
Item
Angle
Synopsis
Returns the angle of the chained edgel.
[]
Syntax
[Double =] object.Angle
[]
Syntax
[double =] object->Angle
Type description
A double value that returns the angle of the chained edgel.


ModelFinder.Results.Item.TargetChains.Item.Edgels.Item.X Property

X property

Availability | MIL Equivalent | Angle | Y
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of Result
ResultType =
M_TARGET +
M_CHAIN_X
)
ModelFinder
Results
Item
TargetChains
Item
Edgels
Item
X
Synopsis
Returns the X-coordinate of the chained edgel.
[]
Syntax
[Double =] object.X
[]
Syntax
[double =] object->X
Type description
A double value that returns the X-coordinate of the chained edgel.


ModelFinder.Results.Item.TargetChains.Item.Edgels.Item.Y Property

Y property

Availability | MIL Equivalent | X
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of Result
ResultType =
M_TARGET +
M_CHAIN_Y
)
ModelFinder
Results
Item
TargetChains
Item
Edgels
Item
Y
Synopsis
Returns the Y-coordinate of the chained edgel.
[]
Syntax
[Double =] object.Y
[]
Syntax
[double =] object->Y
Type description
A double value that returns the Y-coordinate of the chained edgel.


ModelFinder.Results.Item.TargetCoverage Property

TargetCoverage property

See Also | Availability | MIL Equivalent | TargetChains | UserLabel
User Guide:
Determining what is a match

Reference:
ModelFinder.Results.Item.ScoreTarget
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of the occurrence
ResultType =
M_TARGET_COVERAGE
)
ModelFinder
Results
Item
TargetCoverage
Synopsis
Returns the target coverage of the model occurrence found in the target.
[]
Syntax
[Double =] object.TargetCoverage
[]
Syntax
[double =] object->TargetCoverage
Type description
A double value that returns the target coverage of the occurrence.
Remarks
  • Results are those obtained from the last call to the Find or the FindInEdgeFinderResults method.
  • The target coverage is used in the calculation of the ScoreTarget property.
  • The target coverage is the percentage of the total length of the model's active edges found in the occurrence, divided by the total length of edges present in the occurrence's bounding box. Therefore, a target coverage score of 100.0 means that no extra edges were found. Lower scores indicate that features or edges found in the target (result occurrence) are not present in the model. The target coverage is calculated as follows:
  • Note that when using a weighted region mask, the edges corresponding to negative weights are ignored when calculating the target coverage. When a weighted mask is used with a model, the target coverage is calculated as follows:


ModelFinder.Results.Item.UserLabel Property

UserLabel property

See Also | Availability | MIL Equivalent | TargetCoverage | VerticalThickness
User Guide:
Model indices and labels

Reference:
ModelFinder.Models.Item.UserLabel
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
Index of the occurrence
ResultType =
M_USER_LABEL
)
ModelFinder
Results
Item
UserLabel
Synopsis
Returns the user label of the model of whose occurrence was found in the target.
[]
Syntax
[Integer =] object.UserLabel
[]
Syntax
[long =] object->UserLabel
Type description
A longintegerlong (integer for Visual Basic .Net) value that returns the user label of the model whose occurrence was found in the target.
Remarks
  • Results are those obtained from the last call to the Find or the FindInEdgeFinderResults method.
  • The model's user label is specified using the Models.Item(ModelIndex).UserLabel property.


ModelFinder.Results.Item.VerticalThickness Property

VerticalThickness property

See Also | Availability | MIL Equivalent | UserLabel | Width
Reference:
ModelFinder.Models.Item.ModelType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultType =
M_VERTICAL_THICKNESS
)
ModelFinder
Results
Item
VerticalThickness
Synopsis
Returns the vertical thickness of the occurrence of the predefined-shape cross model.
[]
Syntax
[ =] object.VerticalThickness
[]
Syntax
[ =] object->VerticalThickness
Type description
A double value that returns the vertical thickness of the cross.
Remark
  • This property is only available for models of type modCross. Use the ModelType property to determine the model type.


ModelFinder.Results.Item.Width Property

Width property

See Also | Availability | MIL Equivalent | VerticalThickness | Draw
Reference:
ModelFinder.Models.Item.ModelType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultType =
M_WIDTH
)
ModelFinder
Results
Item
Width
Synopsis
Returns the width of the occurrence of selected predefined-shape models (cross, diamond, ellipse, rectangle and triangle).
[]
Syntax
[Double =] object.Width
[]
Syntax
[double =] object->Width
Type description
A double value that returns the width of the shape.
Remark
  • This property is only available for models of type modCross, modDiamond, modEllipse, modRectangle, modSquare, or modTriangle. Use the ModelType property to determine the model type.


ModelFinder.Results.Item.Draw Method

Draw method

See Also | Availability | MIL Equivalent | Width
User Guide:
Retrieving and analyzing results

Reference:
GraphicContext.Image
ModelFinder.Models.Item.Draw
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Morphis
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Orion
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
MmodDraw()
ModelFinder
Results
Item
Draw
Synopsis
Draws the specified features of the occurrence in the destination image at the found position, angle, and scale.
[]
Syntax
object.Draw(
ByVal ImageOrGraphicContext As Object,
ByVal Operation As ModDrawResultsOperationConstants
)
[]
Syntax
void object->Draw(
IDispatch * ImageOrGraphicContext,
enum ModDrawResultsOperationConstants Operation
)
ImageOrGraphicContext
An Image control that specifies the image into which to draw, or a GraphicContext control that specifies the graphic context and image to use to draw features.
Operation
A ModDrawResultsOperationConstants expression that specifies the result features to draw.
Value | Meaning
modDrawResultsBox | Draws a bounding box around the occurrence. The bounding box is drawn maintaining the angle and scale of the occurrence.
modDrawResultsPosition | Draws a cross-like symbol at the model's reference axis origin transformed at the position of the occurrence. The cross is drawn maintaining the angle of the occurrence.
modDrawResultsModelEdges | Draws the active edges of the model transformed at the occurrence position.
modDrawResultsTargetEdges | Draws the edges of the target in the region of the occurrence.
Remarks
  • You cannot draw target edges using modDrawResultsTargetEdges unless the TargetEdgesResultEnabled property has been set to true.
  • The operation constants can be added together to draw multiple features simultaneously. Note, however, that you cannot add modDrawResultsTargetEdges and modDrawResultsModelEdges together.
  • To draw, for example, both the position and bounding box of the result, set the Operation parameter to modDrawResultsPosition + modDrawResultsBox.
  • You can also draw features of a zoomed region of the target. To do so, set the following properties to an appropriate value: Results.DrawingParameters.RelativeOriginX, Results.DrawingParameters.RelativeOriginY, Results.DrawingParameters.ScaleX, and Results.DrawingParameters.ScaleY.

    Results.DrawingParameters.RelativeOriginX and Results.DrawingParameters.RelativeOriginY specify, in pixels, the coordinates of the top-left corner of the region in the target, while Results.DrawingParameters.ScaleX and Results.DrawingParameters.ScaleX specify the X- and Y-scaling factors used to fill the destination image. Note that if the feature of the occurrence to draw does not fall within the specified region, nothing is drawn.

    When zooming, the Draw method will draw into the destination image even if the buffer is not large enough to contain all of the zoomed region.

  • When using this method to draw features extracted from calibrated targets, the destination drawing image must also be calibrated, using the same world. This method draws all the requested features according to whether the destination image is physically corrected or not.
  • When specifying the ImageOrGraphicContext parameter as a GraphicContext control, the image associated with the control is used as the destination image.
  • You can also choose to draw in the display's overlay image. By drawing into a display's overlay image, you can annotate an image non-destructively.
Remark for Matrox Odyssey XA
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the ModelFinder control. If not, an error will occur.
Remark for Matrox Odyssey XCL
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the ModelFinder control. If not, an error will occur.
Remark for Matrox Odyssey XD
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the ModelFinder control. If not, an error will occur.
[]
Example
This example shows how to use the Draw method with the results of a find operation.

For index = 1 To ModelFinder.Results.Count
'Draw the edges and the position of all the model occurrences found.
ModelFinder.Results.Item(index).Draw(GraphicContext, modDrawEdges + modDrawBox)

ModelFinder.Results.Item(index).Draw(GraphicContext, modDrawPosition)
Next index
[]
Example
This example shows how to use the Draw method with the results of a find operation.

for (int index=1; index<=m_ModelFinder1->Results->Count; index++)
   {
   // Draw the edges and the position of all the model occurrences found.
   m_ModelFinder1->Results->Item(index)->Draw(m_DisplayedImage,
      modDrawEdges);

   m_ModelFinder1->Results->Item(index)->Draw(m_DisplayedImage,
      modDrawPosition);
   }


ModelFinder.Results.MilID Property

MilID property

See Also | Availability | MIL Equivalent | Item | ModelAdditionCompatible
User Guide:
Integrating MIL functions into your ActiveMIL code.

Reference:
ModelFinder.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ModelFinder
Results
MilID
Synopsis
Returns the Native MIL identifier of the allocated resources of the results.
[]
Syntax
[Integer =] object.MilID
[]
Syntax
[long =] object->MilID
Type description
A longintegerlong (integer for Visual Basic .Net) value that returns the Native MIL identifier of the collection of Model Finder results.
Remarks
  • Results are those obtained from the last call to the Find or FindInEdgeFinderResults method.
  • The identifier returned by this property can be used to call Native MIL functions.
  • If the control's IsAllocated property is False, the MilID property will be 0.


ModelFinder.Results.ModelAdditionCompatible Property

ModelAdditionCompatible property

See Also | Availability | MIL Equivalent | MilID | TargetChains
User Guide:
Defining and adding models to your ModelFinder control
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
ControlType =
M_MOD_DEFINE_COMPATIBLE
)
ModelFinder
Results
ModelAdditionCompatible
Synopsis
Returns or sets whether the ModelFinder control results should be calculated so that they can be used to define a Model Finder-type model.
[]
Syntax
object.ModelAdditionCompatible [= Boolean]
[]
Syntax
object->ModelAdditionCompatible [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the ModelFinder control results should be calculated so that they can be used to define a Model Finder-type model. (default is False)
Value | Meaning
True | Specifies that the ModelFinder control results should be calculated so that they can be used to define a Model Finder-type model.
False | Specifies that the ModelFinder control results should not be calculated so that they can be used to define a Model Finder-type model.
Remarks
  • This property allows results to be calculated so that they are model-addition compatible.
  • This property must be set before performing the find operation.
  • To define a Model Finder-type model from the results, use the Models.AddFromResult method and pass the index of the occurrence to use. The model is defined with the edges of the target at the occurrence position.


ModelFinder.Results.TargetChains Property

TargetChains property

See Also | Availability | MIL Equivalent | ModelAdditionCompatible | TimeOutEnd
Reference:
ModelFinder.ModelFinderType
ModelFinder.TargetEdgesResultEnabled
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
M_GENERAL
ResultType =
M_CHAIN_INDEX or
M_NUMBER_OF_CHAINED_EDGELS or
M_CHAIN_X or
M_CHAIN_Y
)
ModelFinder
Results
TargetChains
Properties: Count, Item
Synopsis
Returns the collection of chains in the target, allowing access to the results of each chain.
[]
Syntax
[ModelFinderChains =] object.TargetChains
[]
Syntax
[IModelFinderChainsPtr =] object->TargetChains
Type description
A ModelFinderChains expression that represents an instance of a ModelFinderChains collection.
Remarks
  • This property is not supported if the ModelFinderType property is set to modGeometricControlled.
  • The chain of all edges found in the target is returned in this collection.
  • This property is not supported unless the TargetEdgesResultEnabled property has been set to True.


ModelFinder.Results.TargetChains.Count Property

Count property

Availability | MIL Equivalent | Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
M_GENERAL
ResultType =
M_CHAIN_INDEX
)
ModelFinder
Results
TargetChains
Count
Synopsis
Returns the number of elements in the collection of chains in the target.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A longintegerlong (integer for Visual Basic .Net) value that returns the number of elements currently in the collection.
Remarks
  • This property is not supported if the ModelFinderType property is set to modGeometricControlled.
  • The elements in the collection of chains refer to the chains in the model found in the target.


ModelFinder.Results.TargetChains.Item Property

Item property

Availability | MIL Equivalent | Count
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ModelFinder
Results
TargetChains
Item
Property: Edgels
Synopsis
Returns the element at the specified index in the target's collection of chains.
[]
Syntax
[ModelFinderChain=]object.Item(
Index As Integer
)
[]
Syntax
[IModelFinderChainPtr =] object->Item(
long Index
)
Index
A longintegerlong (integer for Visual Basic .Net) value that specifies the index of the required element.
Type description
A ModelFinderChain object.
Remarks
  • If the value provided does not match any existing element in the collection, an error occurs. Note that the index of the first element of this collection starts at one.
  • Each element corresponds to the specified chain in the collection of target chains.
  • This property is not supported if the ModelFinderType property is set to modGeometricControlled.
  • []
     The Item property is the default property for a collection. Therefore, the following expressions are equivalent:
    • ModelFinder.Results.Item.ModelChains(1)
    • ModelFinder.Results.Item.ModelChains.Item(1)


ModelFinder.Results.TargetChains.Item.Edgels Property

Edgels property

Availability | MIL Equivalent
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
M_GENERAL
ResultType =
M_CHAIN_X or
M_CHAIN_Y
)
ModelFinder
Results
TargetChains
Item
Edgels
Properties: Count, Item
Synopsis
Returns the collection of edgels for the chain in the target image, allowing access to each element.
[]
Syntax
[ModelFinderEdgels =] object.Edgels
[]
Syntax
[IModelFinderEdgelsPtr =] object->Edgels
Type description
A ModelFinderEdgels expression that represents an instance of a ModelFinderEdgels collection.
Remark
  • This property is not supported if the ModelFinderType property is set to modGeometricControlled.


ModelFinder.Results.TargetChains.Item.Edgels.Count Property

Count property

See Also | Availability | MIL Equivalent | Item
Reference:
ModelFinder.ModelFinderType
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
M_GENERAL
ResultType =
M_NUMBER_OF_CHAINED_EDGELS
)

MmodGetResult(
ResultIndex =
M_GENERAL
ResultType =
M_CHAIN_INDEX
)
ModelFinder
Results
TargetChains
Item
Edgels
Count
Synopsis
Returns the number of elements in the chain's collection of edgels.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of elements currently in the chain's collection of edgels.
Remarks
  • This property is not supported if the ModelFinderType property is set to modGeometricControlled.
  • The elements in the model finder results collection refer to the occurrences of edgels found in the chain in the target with a score and target score above their respective acceptance levels.
  • Match occurrences are ordered by score, regardless of the result type requested, meaning that the first element in the collection refers to the match occurrence with the highest score.


ModelFinder.Results.TargetChains.Item.Edgels.Item Property

Item property

Availability | MIL Equivalent | Count
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ModelFinder
Results
TargetChains
Item
Edgels
Item
Properties: Angle, X, Y
Synopsis
Returns the element at the specified index in the chain's collection of edgels.
[]
Syntax
[ModelFinderEdgel=]object.Item(
Index As Integer
)
[]
Syntax
[IModelFinderEdgelPtr =] object->Item(
long Index
)
Index
A longintegerlong (integer for Visual Basic .Net) value that specifies the index of the required element.
Type description
A ModelFinderEdgel object.
Remarks
  • If the value provided does not match any existing element in the collection, an error occurs. Note that the index of the first element of this collection starts at one.
  • Note that the index of the first element in the collection is 1.
  • Each element corresponds to an edgel in the chain in the target image at the specified index.
  • This property is not supported if the ModelFinderType property is set to modGeometricControlled.
  • []
     The Item property is the default property for a collection. Therefore, the following expressions are equivalent:
    • ModelFinder.Results.Item.ModelChains(1)
    • ModelFinder.Results.Item.ModelChains.Item(1)


ModelFinder.Results.TargetChains.Item.Edgels.Item.Angle Property

Angle property

Availability | MIL Equivalent | X
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
M_GENERAL
ResultType =
M_CHAIN_ANGLE
)
ModelFinder
Results
TargetChains
Item
Edgels
Item
Angle
Synopsis
Returns the angle of the chained edgel.
[]
Syntax
[Double =] object.Angle
[]
Syntax
[double =] object->Angle
Type description
A double value that specifies the angle of the chained edgel.
Remark
  • This property is not supported if the ModelFinderType property is set to modGeometricControlled.


ModelFinder.Results.TargetChains.Item.Edgels.Item.X Property

X property

Availability | MIL Equivalent | Angle | Y
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
M_GENERAL
ResultType =
M_CHAIN_X
)
ModelFinder
Results
TargetChains
Item
Edgels
Item
X
Synopsis
Returns the X-coordinate of the chained edgel.
[]
Syntax
[Double =] object.X
[]
Syntax
[double =] object->X
Type description
A double value that specifies the X-coordinate of the chained edgel.
Remark
  • This property is not supported if the ModelFinderType property is set to modGeometricControlled.


ModelFinder.Results.TargetChains.Item.Edgels.Item.Y Property

Y property

Availability | MIL Equivalent | X
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(
ResultIndex =
M_GENERAL
ResultType =
M_CHAIN_Y
)
ModelFinder
Results
TargetChains
Item
Edgels
Item
Y
Synopsis
Returns the Y-coordinate of the chained edgel.
[]
Syntax
[Double =] object.Y
[]
Syntax
[double =] object->Y
Type description
A double value that specifies the Y-coordinate of the chained edgel.
Remark
  • This property is not supported if the ModelFinderType property is set to modGeometricControlled.


ModelFinder.Results.TimeOutEnd Property

TimeOutEnd property

Availability | MIL Equivalent | TargetChains | Draw
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(M_TIMEOUT_END)
ModelFinder
Results
TimeOutEnd
Synopsis
Returns whether the timeout limit has been reached.
[]
Syntax
[Boolean =] object.TimeOutEnd
[]
Syntax
[VARIANT_BOOL =] object->TimeOutEnd
Type description
A boolean value that specifies whether the timeout limit was reached.
Value | Meaning
True | The timeout limit has been reached.
False | The timeout limit has not been reached.
Remark
  • The timeout limit can be returned or set using the Models.Timeout property.


ModelFinder.Results.Draw Method

Draw method

See Also | Availability | MIL Equivalent | TimeOutEnd | Get
Reference:
EdgeFinder.EdgeType
ModelFinder.Models.Item.DrawingParameters.RelativeOriginX
ModelFinder.Models.Item.DrawingParameters.RelativeOriginY
ModelFinder.Models.Item.DrawingParameters.ScaleX
ModelFinder.Models.Item.DrawingParameters.ScaleY
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox CronosPlus
Fully supported on Matrox Corona-II
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Orion
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
MmodDraw()
ModelFinder
Results
Draw
Synopsis
Draws the specified results in the destination image for all occurrences.
[]
Syntax
object.Draw(
ByVal ImageOrGraphicContext As Object,
ByVal Operation As ModDrawResultsOperationConstants
)
[]
Syntax
void object->Draw(
IDispatch * ImageOrGraphicContext,
enum ModDrawResultsOperationConstants Operation
)
ImageOrGraphicContext
An Image control that specifies the image into which to draw, or a GraphicContext control that specifies the graphic context and image to use to draw features.
Operation
A ModDrawResultsOperationConstants expression that specifies the features to draw.
Value | Meaning
modDrawResultsBox | Draws the bounding box around each occurrence. The bounding box is drawn maintaining the angle and scale of the occurrence.
modDrawResultsPosition | Draws a cross-like symbol at the model's reference axis origin transformed at the position of each occurrence. The cross is drawn maintaining the angle of the occurrence.
modDrawResultsModelEdges | Draws the active edges of the model transformed at the occurrence position.
modDrawResultsTargetEdges | Draws the edges of the target in the region of the occurrences.
modDrawResultsAllTargetEdges | Draws all the edges of the target.
Remarks
  • The modDrawResultsAllTargetEdges setting cannot be used if the ModelFinderType property is set to modGeometricControlled.
  • You cannot draw target edges using modDrawResultsTargetEdges and modDrawResultsAllTargetEdges unless the TargetEdgesResultEnabled property has been set to true.
  • The operation constants can be added together to draw multiple features simultaneously. Note, however, that you cannot add modDrawResultsTargetEdges and modDrawResultsModelEdges operation constants together and that modDrawResultsAllTargetEdges must be used alone.
  • To draw, for example, both the position and bounding box of each occurrence, set the Operation parameter to modDrawResultsPosition + modDrawResultsBox.
  • You can also draw features of a zoomed region of the target. To do so, set the properties of the Results.DrawingParameters property to an appropriate value.

    Results.DrawingParameters.RelativeOriginX and Results.DrawingParameters.RelativeOriginY specify, in pixels, the coordinates of the top-left corner of the region in the target while Results.DrawingParameters.ScaleX and Results.DrawingParameters.ScaleY specify the X- and Y-scaling factors used to fill the destination image.

    When zooming, the Draw method will draw into the destination image even if the buffer is not large enough to contain all of the zoomed region.

  • The destination image can be any supported ActiveMIL image.
  • When using this method to draw features extracted from a calibrated target, the destination drawing image must also be calibrated, using the same world. This method draws all the requested features according to whether the destination image is physically corrected or not.
  • When specifying the ImageOrGraphicContext parameter as a GraphicContext control, the image associated with the control is used as the destination image.
  • You can also choose to draw in the display's overlay image. By drawing into a display's overlay image, you can annotate an image non-destructively.
Remark for Matrox Odyssey XA
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the ModelFinder control. If not, an error will occur.
Remark for Matrox Odyssey XCL
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the ModelFinder control. If not, an error will occur.
Remark for Matrox Odyssey XD
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the ModelFinder control. If not, an error will occur.


ModelFinder.Results.Get Method

Get method

See Also | Availability | MIL Equivalent | Draw | GetMultiple
Reference:
ModelFinder.AspectRatio
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult()
ModelFinder
Results
Get
Synopsis
Returns the results of the specified type for all model occurrences found, to a user array.
[]
Syntax
object.Get(
ByVal ResultType As ModResultTypeConstants,
ByVal UserArray As Array
)
[]
Syntax
void object->Get(
enum ModResultTypeConstants ResultType,
VARIANT * UserArray
)
ResultType
A ModResultTypeConstants expression that specifies the type of result to return for each model occurrence.
Value | Meaning
modModelIndex | The associated model indices of the occurrences.
modUserLabel | The associated model user labels of the occurrences.
modScore | The match scores of the occurrences.
modScoreTarget | The target scores of the occurrences.
modModelCoverage | The model coverage scores of the occurrences.
modTargetCoverage | The target coverage scores of the occurrences.
modFitError | The fit errors of the occurrences.
modPositionX | The X-coordinate of the positions of the occurrences.
modPositionY | The Y-coordinate of the positions of the occurrences.
modAngle | The angles of the occurrences.
modPolarity | The polarities of the occurrences.
modScale | The scales of the occurrences.
modForwardA | The A forward transformation coefficients of the occurrences.
modForwardB | The B forward transformation coefficients of the occurrences.
modForwardC | The C forward transformation coefficients of the occurrences.
modForwardD | The D forward transformation coefficients of the occurrences.
modReverseA | The A reverse transformation coefficients of the occurrences.
modReverseB | The B reverse transformation coefficients of the occurrences.
modReverseC | The C reverse transformation coefficients of the occurrences.
modReverseD | The D reverse transformation coefficients of the occurrences.
modNumberOfModels | The number of occurrences found in the entire target.
modNumberOfChainedEdgels | The total number of chained edgels in the entire target.
modChainIndex | The chain index of each edgel in all chains in the entire target.
modChainX | The X-coordinate of each edgel in all chains in the entire target.
modChainY | The Y-coordinate of each edgel in all chains in the entire target.
modTargetNumberOfChainedEdgels | The total number of chained edgels in the target in the region of the occurrence.
modTargetChainIndex | The chain index of each edgel in all chains in the target in the region of the occurrence.
modTargetChainX | The X-coordinate of each edgel in all chains in the target in the region of the occurrence.
modTargetChainY | The Y-coordinate of each edgel in all chains in the target in the region of the occurrence.
modModelNumberOfChainedEdgels | The total number of chained edgels in the model transformed at the occurrence position.
modModelChainIndex | The chain index of each edgel in all chains in the model transformed at the occurrence position.
modModelChainX | The X-coordinate of each edgel in all chains in the model transformed at the occurrence position.
modModelChainY | The Y-coordinate of each edgel in all chains in the model transformed at the occurrence position.
modHeight | The height of the shape.
modHorizontalThickness | The horizontal thickness of the shape.
modInnerRadius | The inner radius of the shape.
modOuterRadius | The outer radius of the shape.
modRadius | The radius of the shape.
modVerticalThickness | The vertical thickness of the shape.
modWidth | The width of the shape.
UserArray
An array of type double in which to write the specified results.

Remarks
  • The following result types are not supported if the ModelFinderType property is set to modGeometricControlled:
    • modNumberOfModels
    • modNumberOfChainedEdgels
    • modChainIndex
    • modChainX
    • modChainY
    • modTargetNumberOfChainedEdgels
  • Results are those obtained from the last call to the Find or FindInEdgeFinderResults method.
  • Ensure that the user array is large enough to accommodate the requested data. The size of the user array should be equal to the number of results (returned using the Results.Count property).
  • Match occurrences are ordered by score, regardless of the result type requested, meaning that the first element in the array refers to the occurrence with the highest score.
  • Note that when searching for multiple models, the results for all models are returned to this array. However, results are not sorted according to which model occurrence was found; results are still sorted according to score. Use modModelIndex or modUserLabel as the result type to determine the index or user label of the model associated with the Model Finder result.
  • If you are using a calibrated target, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target or to the origin of the coordinate system of a calibrated target.

    Note that in the presence of distortion, some results are meaningless when converted from real-world to pixel units (for example, angle, scale, and transformation coefficient results). For example, if a model appears warped in the target image, but the Calibration control of the target image compensates for this during the model search, the resulting angle is meaningful in the real-world coordinate system, and meaningless in the image coordinate system.

  • If the target is not calibrated and the AspectRatio property is not set to 1, results are returned for the corrected target coordinate system (whereby pixel width is equal to the pixel height).
  • The result type modHeight is only available for the following model types:
    • modCross
    • modDiamond
    • modEllipse
    • modRectangle
    • modTriangle
  • The result types modHorizontalThickness and modVerticalThickness are only available for the following model type:
    • modCross
  • The result types modInnerRadius and modOuterRadius are only available for the following model type:
    • modRing
  • The result type modRadius is only available for the following model type:
    • modCircle
  • The result type modWidth is only available for the following model types:
    • modCross
    • modDiamond
    • modEllipse
    • modRectangle
    • modSquare
    • modTriangle


ModelFinder.Results.GetMultiple Method

GetMultiple method

Availability | MIL Equivalent | Get
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodGetResult(M_NULL)

MmodGetResult(UserArray)
ModelFinder
Results
GetMultiple
Synopsis
Returns the results of the specified types for all model occurrences found, to a user array.
[]
Syntax
object.GetMultiple(
ByVal ResultIndexArray As Array,
ByVal ResultTypeArray As Array,
ByVal UserArray As Array
)
[]
Syntax
void object->GetMultiple(
VARIANT * ResultIndexArray,
VARIANT * ResultTypeArray,
VARIANT * UserArray
)
ResultIndexArray (optional in , default is modIndexAll)
An array of type longintegerlong (integer for Visual Basic .Net), or of ActiveMILDefaultConstants or ModResultIndexConstants expressions, that specifies the indices for each result type to be returned.
Value | Meaning
amilDefault | Specifies the default value.
modIndexAll | Retrieves the results of the specified types for all model occurrences found.
modIndexGeneral | Retrieves the results relating to the entire ModelFinder control.
value | Specifies the results index. The parameter can be a value in the range of 1 and Count-1

ResultTypeArray
An array of ModResultTypeConstants expressions that specifies the types of results to return for each model occurrences.
Value | Meaning
modAngle | The angles of the occurrences.
modChainIndex | The chain index of each edgel in all chains in the entire image.
modChainX | The X-coordinate of each edgel in all chains in the entire target.
modChainY | The Y-coordinate of each edgel in all chains in the entire target.
modFitError | The fit errors of the occurrences.
modForwardA | The A forward transformation coefficients of the occurrences.
modForwardB | The B forward transformation coefficients of the occurrences.
modForwardC | The C forward transformation coefficients of the occurrences.
modForwardD | The D forward transformation coefficients of the occurrences.
modHeight | The height of the shape.
modHorizontalThickness | The horizontal thickness of the shape.
modInnerRadius | The inner radius of the shape.
modModelChainIndex | The chain index of each edgel in all chains in the model transformed at the occurrence position.
modModelChainX | The X-coordinate of each edgel in all chains in the model transformed at the occurrence position.
modModelChainY | The Y-coordinate of each edgel in all chains in the model transformed at the occurrence position.
modModelCoverage | The model coverages of the occurrences.
modModelIndex | The associated model indices of the occurrences.
modModelNumberOfChainedEdgels | The total number of chained edgels in the model transformed at the occurrence position.
modNumberOfChainedEdgels | The total number of chained edgels in the entire image.
modNumberOfModels | The total number of occurrences found in the entire image.
modOuterRadius | The outer radius of the shape.
modPolarity | The polarities of the occurrences.
modPositionX | The X-coordinates of the position of the occurrences.
modPositionY | The Y-coordinates of the position of the occurrences.
modRadius | The radius of the shape.
modReverseA | The A reverse transformation coefficients of the occurrences.
modReverseB | The B reverse transformation coefficients of the occurrences.
modReverseC | The C reverse transformation coefficients of the occurrences.
modReverseD | The D reverse transformation coefficients of the occurrences.
modScale | The scales of the occurrences.
modScore | The match scores of the occurrences.
modScoreTarget | The target scores of the occurrences.
modTargetChainIndex | The target chain index of each edgel in all chains in the target in the region of occurrence.
modTargerChainX | The target X-coordinate of each edgel in all chains in the target in the region of occurrence.
modTargetChainY | The target Y-coordinate of each edgel in all chains in the target in the region of occurrence.
modTargetCoverage | The target coverages of the occurrences.
modTargetNumberOfChainedEdgels | The target number of chained edggels in in the target in the region of occurrence.
modUserLabel | The associated model user labels of the occurrences.
modVerticalThickness | The vertical thickness of the shape.
modWidth | The width of the shape.

UserArray
An array of type double in which to write the specified results.

Remarks
  • The following result types are not supported if the ModelFinderType property is set to modGeometricControlled:
    • modNumberOfModels
    • modNumberOfChainedEdgels
    • modChainIndex
    • modChainX
    • modChainY
    • modTargetNumberOfChainedEdgels
  • Results are those obtained from the last call to the Find or FindInEdgeFinderResults method.
  • Ensure that the user array is large enough to accommodate the requested data. The size of the user array should be equal to the number of results (returned using the Results.Count property).
  • Match occurrences are ordered by score, regardless of the result type requested, meaning that the first element in the array refers to the occurrence with the highest score.
  • Note that when searching for multiple models, the results for all models are returned to this array. However, results are not sorted according to which model occurrence was found; results are still sorted according to score. Use modModelIndex or modUserLabel as the result type to determine the index or user label of the model associated with the Model Finder result.
  • If you are using a calibrated target, positional results are, by default, returned in real-world units. If necessary, you can set the OutputCoordinateSystem property of the Calibration control to calPixel to return all results in pixel units. Alternatively, to transform specific results from calibrated units to pixel units, use the ConvertCoordinateWorldToPixel method of the Calibration control. All positional results are relative to the top-left pixel in the target or to the origin of the coordinate system of a calibrated image.

    Note that in the presence of distortion, some results are meaningless when converted from real-world to pixel units (for example, angle, scale, and transformation coefficient results). For example, if a model appears warped in the target image, but the Calibration control of the target image compensates for this during the model search, the resulting angle is meaningful in the real-world coordinate system, and meaningless in the image coordinate system.

  • If the target is not calibrated and the AspectRatio property is not set to 1, results are returned for the corrected target coordinate system (whereby pixel width is equal to the pixel height).
  • The result type modHeight is only available for the following model types:
    • modCross
    • modDiamond
    • modEllipse
    • modRectangle
    • modTriangle
  • The result types modHorizontalThickness and modVerticalThickness are only available for the following model type:
    • modCross
  • The result types modInnerRadius and modOuterRadius are only available for the following model type:
    • modRing
  • The result type modRadius is only available for the following model type:
    • modCircle
  • The result type modWidth is only available for the following model types:
    • modCross
    • modDiamond
    • modEllipse
    • modRectangle
    • modSquare
    • modTriangle


ModelFinder.StreamSize Property

StreamSize property

See Also | Availability | MIL Equivalent | Results | TargetCaching
Reference:
ModelFinder.SaveStream
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodStream(
Operation =
M_INQUIRE_SIZE_BYTE
)
ModelFinder
StreamSize
Synopsis
Returns the number of bytes required to save the settings of the current ModelFinder control to a memory stream.
[]
Syntax
[Integer=]object.StreamSize(
[Version As Double]
)
[]
Syntax
[long =] object->StreamSize[double Version]
Version (optional in , default is amilDefault)
A double value or an ActiveMILDefaultConstants expression that specifies the ActiveMIL version number of the ModelFinder control.
Value | Meaning
amilDefault | Sets the version to the current version of ActiveMIL.
value | Sets the version to a specific version of ActiveMIL.
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the size, in bytes, needed to stream the ModelFinder control.
Remarks
  • This property is used to inquire the size of the array required to save the settings of a ModelFinder control to a memory stream, using the SaveStream method.
  • For the ModelFinder control, the ActiveMIL version number must be greater than or equal to 7.0.
  • The size of the ModelFinder control will vary depending on the ActiveMIL version specified.
[]
Example
This example shows how to get the memory stream size.

Const Version = amilDefault
Dim StreamSize As Integer

StreamSize = ModelFinder.StreamSize(Version)


ModelFinder.TargetCaching Property

TargetCaching property

See Also | Availability | MIL Equivalent | StreamSize | TargetEdgesResultEnabled
Reference:
ModelFinder.Find
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
ControlType =
M_TARGET_CACHING
)
ModelFinder
TargetCaching
Synopsis
Returns or sets whether target caching is enabled.
[]
Syntax
object.TargetCaching [= Boolean]
[]
Syntax
object->TargetCaching [= VARIANT_BOOL]
Type description
A boolean value that sets whether target caching is enabled. (default is False)
Value | Meaning
True | Enables target caching in the Results property of the ModelFinder control.
False | Disables target caching.
Remarks
  • When target caching is enabled, the geometric representation of the target, returned by the Find or the FindInEdgeFinderResults method, is kept in the Results.
  • Subsequent searches can reuse the representation if they search in the same target. This increases the speed of the searches.


ModelFinder.TargetEdgesResultEnabled Property

TargetEdgesResultEnabled property

Availability | MIL Equivalent | TargetCaching | Allocate
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
ControlType =
M_SAVE_TARGET_EDGES
)
ModelFinder
TargetEdgesResultEnabled
Synopsis
Returns or sets whether the target edges will be saved in the results.
[]
Syntax
object.TargetEdgesResultEnabled [= Boolean]
[]
Syntax
object->TargetEdgesResultEnabled [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the target edges will be saved in the results. (default is False)
Value | Meaning
True | Enables the saving of the target edges.
False | Disables the saving of the target edges.
Remarks
  • This property must be set to True to access the Results.TargetChains property.
  • To draw target edges, using the Results.Draw and Results.Item(OccurrenceIndex).Draw methods, this property must be set to True.


ModelFinder.Allocate Method

Allocate method

See Also | Availability | MIL Equivalent | TargetEdgesResultEnabled | Control
User Guide:
Setting up controls

Reference:
ModelFinder.AutomaticAllocation
ModelFinder.Free
ModelFinder.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodAlloc(ContextIdPtr)
ModelFinder
Allocate
Synopsis
Allocates the resources of the ModelFinder control.
[]
Syntax
object.Allocate()
[]
Syntax
void object->Allocate()
Remarks
  • By default, the control's AutomaticAllocation property is set to True, and therefore allocation is done automatically.
  • To preserve resources and delay allocation until necessary, set the AutomaticAllocation property to False and call the Allocate method only when the control is actually needed.
  • To create a new ModelFinder control at run-time, use the CreateObject method of the Application control.
  • If you call the Allocate method while the control is in the allocated state, an error is generated. To determine the allocation state of a control, use the IsAllocated property.
  • The following properties cannot be changed at run-time while the control is in the allocated state (free the control using the Free method):
    • OwnerSystem
    • OwnerSystemName
    • ModelFinderType
  • If you try to allocate a ModelFinder control before its owner system is allocated, an error is generated.
[]
Example
This example shows how to allocate the ModelFinder control.

ModelFinder.AutomaticAllocation = True
ModelFinder.OwnerSystem = System1

'This call will also allocate ModelFinder since
'its OwnerSystem property is System1 and
'its AutomaticAllocation property is set to TRUE
System1.Allocate()
[]
Example
This example demonstrates how to allocate multiple controls with a single call to the Allocate method.

m_ModelFinder1->AutomaticAllocation = TRUE;
m_ModelFinder1->OwnerSystem = m_System1;

// This call will also allocate m_ModelFinder1 since
// its OwnerSystem property is m_System1 and
// its AutomaticAllocation property is set to TRUE
m_System1->Allocate();


ModelFinder.Control Method

Control method

Availability | MIL Equivalent | Allocate | Find
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodControl(
Index =
M_CONTEXT
ControlType
ControlValue
)
ModelFinder
Control
Synopsis
Controls the attributes of the ModelFinder control.
[]
Syntax
object.Control(
ByVal ControlType As ModInquireAndControlConstants,
ByVal ControlValue As Double
)
[]
Syntax
void object->Control(
enum ModInquireAndControlConstants ControlType,
double ControlValue
)
ControlType
A ModInquireAndControlConstants expression that specifies the attribute to be modified.
ControlValue
A double value that specifies the new value to be set.

Remark
  • This method is reserved for future expansion.


ModelFinder.Find Method

Find method

See Also | Availability | MIL Equivalent | Control | FindInEdgeFinderResults
Reference:
ModelFinder.AspectRatio
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodFind()
ModelFinder
Find
Synopsis
Searches for the models of the ModelFinder control in the target image.
[]
Syntax
object.Find()
[]
Syntax
void object->Find()
Remarks
  • The target image must be an unsigned, 1-band, 8-bit image, specified using either the Image property.
  • The minimum and maximum target image sizes are 16x16 and 32768x32768 pixels, respectively. It is important to note that the minimum and maximum target image sizes are ActiveMIL limits. To make sure that you have enough memory, you can call the Find method; if you don't have enough memory, you will get an ActiveMIL error.
  • The ModelFinder control must be preprocessed using the Preprocess method before a search is performed.
  • Note that some properties might change the preprocessed state when their values are modified. Use the IsPreprocessed property to get the preprocessed state.
  • Use the properties of the Results property to read the results of your search.
  • If an occurrence has both a score and target score equal to or above its model's respective certainty levels (specified using the Models.Item(ModelIndex).Certainty and Models.Item(ModelIndex).CertaintyTarget properties), it is automatically considered an occurrence (default 80%); the remaining occurrences will be the best of those above (or equal to) the model's acceptance levels (specified using the Models.Item(ModelIndex).Acceptance and Models.Item(ModelIndex).AcceptanceTarget properties).
  • The maximum number of occurrences found depends on the setting of the Models.TotalNumberOfOccurrences property. If it is set to modAll, the Find method tries to find the maximum number of occurrences specified for each model (Models.Item(ModelIndex).NumberOfOccurrences), above (or equal to) the acceptance levels.
  • The search is performed according to the ModelFinder control's global search settings, as well as the individual model search settings. The ModelFinder control's global search settings are specified using the immediate properties of the ModelFinder control and with the Models property; individual model search settings can be specified using the properties of the Models.Item(ModelIndex) property.
  • If you are using a ModelFinder control whose models are associated with Calibration controls, the target image must also be calibrated, using the same world. Conversely, if the models are uncalibrated, your target must be uncalibrated as well.
  • If the target image is calibrated, results are calculated in the world coordinate system, otherwise they are calculated in the image coordinate system.

    If the target image is calibrated, you can retrieve results in real-world or in pixel units. However, in the presence of distortion, some results are meaningless when converted from real-world to pixel units (for example, angle, scale, and transformation coefficient results). For example, if a model appears warped in the target image, but the Calibration control of the target image compensates for this during the model search, the resulting angle is meaningful in the real-world coordinate system, and meaningless in the image coordinate system.

  • If the target image is not calibrated and the AspectRatio property is not set to 1, the nominal search aspect ratio is taken into account horizontally when performing the search, adjusting the target pixel width to equal the pixel height. As such, results will be returned for this corrected target image coordinate system.
[]
Example
This example shows how to find a model with the ModelFinder control.

ModelFinder.Find()
[]
Example
This example shows how to find a model with the ModelFinder control.

m_ModelFinder1->Find();


ModelFinder.FindInEdgeFinderResults Method

FindInEdgeFinderResults method

See Also | Availability | MIL Equivalent | Find | Free
Reference:
EdgeFinder.Calculate
EdgeFinder.ModelFinderCompatible
ModelFinder.Models.Item.NumberOfOccurrences
ModelFinder.Models.Item.Position
ModelFinder.Models.TotalNumberOfOccurrences
ModelFinder.Preprocess
ModelFinder.Results
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox CronosPlus
Fully supported on Matrox Corona-II
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Orion
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
MmodFind(TargetImageOrEdgeResultId)
ModelFinder
FindInEdgeFinderResults
Synopsis
Searches for the models of the ModelFinder control, in the results of an EdgeFinder control.
[]
Syntax
object.FindInEdgeFinderResults(
ByVal EdgeFinderControl As EdgeFinder
)
[]
Syntax
void object->FindInEdgeFinderResults(
IEdgeFinder * EdgeFinderControl
)
EdgeFinderControl
An EdgeFinder control that specifies the edge results in which to search for the models.
Remarks
  • The Calculate method of the EdgeFinder control must have been called prior to calling this method.
  • This method will only search in the included edges of the results of the EdgeFinder control.
  • The EdgeFinder control must be compatible with the ModelFinder control. For this to be true, the ModelFinderCompatible property of the EdgeFinder control must have been enabled prior to calling the Calculate method of the EdgeFinder control.
  • The ModelFinder control must be preprocessed using the Preprocess method before a search is performed.
  • Note that some properties might change the preprocessed state when their values are modified. Use the IsPreprocessed property to get the processed state.
  • Use the properties of the Results property to read the results of your search.
  • If an occurrence has both a score and target score equal to or above its model's respective certainty levels (specified using the Models.Item(ModelIndex).Certainty and Models.Item(ModelIndex).CertaintyTarget properties), it is automatically considered an occurrence (default 80%); the remaining occurrences will be the best of those above (or equal to) the model's acceptance levels (specified using the Models.Item(ModelIndex).Acceptance and Models.Item(ModelIndex).AcceptanceTarget properties).
  • The maximum number of occurrences found depends on the setting of the Models.TotalNumberOfOccurrences property. If it is set to modAll, the FindInEdgeFinderResults method tries to find the maximum number of occurrences specified for each model (Models.Item(ModelIndex).NumberOfOccurrences), above (or equal to) the acceptance levels.
  • The search is performed according to the ModelFinder control's global search settings, as well as the individual model search settings. The ModelFinder control's global search settings are specified using the immediate properties of the ModelFinder control and with the Models property; individual model search settings can be specified using the properties of the Models.Item(ModelIndex) property.
  • If you are using a ModelFinder control whose models are associated with Calibration controls, the results of the EdgeFinder control must also be calibrated, using the same world. Conversely, if the models are uncalibrated, your target must be uncalibrated as well.
  • If the results of the EdgeFinder control are calibrated, results of the ModelFinder control are calculated in the world coordinate system, otherwise they are calculated in the image coordinate system.

    If the results of the EdgeFinder control are calibrated, you can retrieve results of the ModelFinder control in real-world or in pixel units. However, in the presence of distortion, some results are meaningless when converted from real-world to pixel units (for example, angle, scale, and transformation coefficient results). For example, if a model appears warped in the target, but the Calibration control of the target compensates for this during the model search, the resulting angle is meaningful in the real-world coordinate system, and meaningless in the image coordinate system.

  • If the results of the EdgeFinder control are not calibrated and the AspectRatio property is not set to 1, the nominal search aspect ratio is taken into account horizontally when performing the search, adjusting the target pixel width to equal the pixel height. As such, results will be returned for this corrected target coordinate system.
Remark for Matrox Odyssey XA
  • The EdgeFinder control must be allocated on the same system as the ModelFinder control. If not, an error will occur.
Remark for Matrox Odyssey XCL
  • The EdgeFinder control must be allocated on the same system as the ModelFinder control. If not, an error will occur.
Remark for Matrox Odyssey XD
  • The EdgeFinder control must be allocated on the same system as the ModelFinder control. If not, an error will occur.


ModelFinder.Free Method

Free method

See Also | Availability | MIL Equivalent | FindInEdgeFinderResults | Inquire
User Guide:
Setting up controls

Reference:
ModelFinder.Allocate
ModelFinder.AutomaticAllocation
ModelFinder.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodFree(ObjectId)
ModelFinder
Free
Synopsis
Frees the resources of the ModelFinder control.
[]
Syntax
object.Free()
[]
Syntax
void object->Free()
Remarks
  • The resources associated with a ModelFinder control are automatically freed when the control is destroyed. You must use the Free method if you want to free the control prematurely. Note that when you free the ModelFinder control, all of its results are deleted.
  • The Free method will generate an error if the control is not allocated.
  • To determine the allocation state of a control, use the IsAllocated property. While a ModelFinder control is in the allocated state, some of its properties cannot be changed at run-time (for example, the owner system of a ModelFinder control). At run-time, to modify a property that cannot be changed after allocation, you must free the control (using the Free method), change its property(ies), and then re-allocate the control (using the Allocate method). For example, at run-time, to change the owner system of a ModelFinder control, you must free the ModelFinder control, make the change in the OwnerSystem property, and allocate the control again.
  • Any property can be changed when its control is in the allocated state, unless it is otherwise stated in the Remarks section of that property.
  • Note that to only delete individual models in the control, use the Models.Remove or Models.RemoveItemAtLabel method.
[]
Example
This example shows how to free the ModelFinder control.

If ModelFinder.IsAllocated Then
    ModelFinder.Free()
End If
[]
Example
This example shows how to use the IsAllocated property.

if (m_ModelFinder1->IsAllocated)
   m_ModelFinder1->Free();


ModelFinder.Inquire Method

Inquire method

Availability | MIL Equivalent | Free | Load
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodInquire(InquireType)
ModelFinder
Inquire
Synopsis
Inquires about the attributes of the ModelFinder control.
[]
Syntax
[Object =] object.Inquire(
ByVal ParamToInquire As ModInquireAndControlConstants
)
[]
Syntax
[_variant_t =] object->Inquire(
enum ModInquireAndControlConstants ParamToInquire
)
ParamToInquire
A ModInquireAndControlConstants expression that specifies the attribute to inquire about.
Return value
The current value assigned to the attribute that is inquired about.
Remark
  • This method is reserved for future expansion.


ModelFinder.Load Method

Load method

See Also | Availability | MIL Equivalent | Inquire | LoadStream
User Guide:
Error reporting
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodRestore(FileName)
ModelFinder
Load
Synopsis
Loads the settings of a previously saved ModelFinder control from a file.
[]
Syntax
object.Load(
ByVal FileName As String
)
[]
Syntax
void object->Load(
_bstr_t FileName
)
FileName
A string expression that specifies the name and path of the file.
Remarks
  • This method internally handles the opening and closing of the file.
  • If you pass the FileName parameter an empty string (""), the File Open dialog box is presented so that you can interactively select a filename.
  • This method restores the settings of a ModelFinder control that were previously saved to a file, using the Save or SaveStream method.
  • If a Calibration control was associated with the models in your ModelFinder control, the Calibration controls must be re-associated, using the Models.Item(ModelIndex).Calibration property.
  • If you had previously set the settings of the Models.Item(ModelIndex).DrawingParameters and Results.DrawingParameters properties to draw a specific region of the model or target at a specific scale, then you must set them again since they were not saved with the settings of the ModelFinder control.
  • A restored ModelFinder control is not preprocessed; therefore, you must call the Preprocess method before performing your search.
  • The Load method will generate an error if the file cannot be found or loaded properly.
  • Any file that can be loaded with this method can also be restored using the LoadStream method.
[]
Example
This example shows how to load a saved ModelFinder control.

ModelFinder.Load("X:\\images\\MyModelFinder.mmf")
[]
Example
This example shows how to load a saved ModelFinder control.

m_ModelFinder1->Load("X:\\images\\MyModelFinder.mmf");


ModelFinder.LoadStream Method

LoadStream method

See Also | Availability | MIL Equivalent | Load | Modified
User Guide:
Using variants and arrays

Reference:
ModelFinder.Load
ModelFinder.SaveStream
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodStream(
Operation =
M_LOAD
)
ModelFinder
LoadStream
Synopsis
Loads the settings of a previously saved ModelFinder control from a file or memory stream.
[]
Syntax
object.LoadStream(
ByVal ArrayOfBytesOrFileName As Object,
ByVal StreamType As ModStreamTypeConstants
)
[]
Syntax
void object->LoadStream(
VARIANT * ArrayOfBytesOrFileName,
enum ModStreamTypeConstants StreamType
)
ArrayOfBytesOrFileName
A variantobjectvariant (object for Visual Basic .Net) value that specifies the stream that holds the settings of the ModelFinder control.
StreamType
A ModStreamTypeConstants expression that specifies the type of stream that holds the settings of the ModelFinder control.
Value | Meaning
modFile | Specifies a file stream.
modMemory | Specifies a memory stream.
Remarks
  • File and file stream are equivalent terms throughout this documentation.
  • The settings of the ModelFinder control can be saved using the SaveStream method.
  • The content loaded from a memory stream is equivalent to the same content loaded from a file. In addition, any file loaded with the Load method is equivalent to a file loaded using this method.
  • This method restores all of the ModelFinder control's settings that were in effect when the ModelFinder control was saved.
  • If a Calibration control was associated with the models in your ModelFinder control, the Calibration controls must be re-associated, using the Models.Item(ModelIndex).Calibration property.
  • If you have previously set the settings of the Models.Item(ModelIndex).DrawingParameters and Results.DrawingParameters properties to draw a specific region of the model or target at a specific scale, then you must set them again since they were not saved with the settings of the ModelFinder control.
  • A restored ModelFinder control is not preprocessed; therefore, you must call the Preprocess method before performing your search.
  • When modFile is set as the stream type, the ArrayOfBytesOrFileName parameter should specify the name and path of the file required for this operation. The method internally handles the opening and closing of the file.
  • If you pass the FileName parameter an empty string (""), the File Open dialog box is presented so that you can interactively select a filename.
  • []
     To specify the name and path of the file that holds the settings of the ModelFinder control, you must pass a string object to the ArrayOfBytesOrFileName parameter. To specify the location of the memory stream that holds the settings of the ModelFinder control, you must pass an array of bytes.
  • []
     To specify the name and path of the file that holds the settings of the ModelFinder control, you must pass a VARIANT containing a BSTR value to the ArrayOfBytesOrFileName parameter. To specify the location of the memory stream that holds the settings of the ModelFinder control, pass a VARIANT containing a SAFEARRAY object.
[]
Example
This example shows how to load the ModelFinder control from a file or a memory stream.

Const Version = amilDefault
Const MFF_PATHNAME = "\TestMFF\TestContext.mff"

Dim MemoryStream As Array
Dim StreamSize As Integer

StreamSize = ModelFinder.StreamSize(Version)
MemoryStream = Array.CreateInstance(GetType(Byte), CInt(StreamSize))

'Load From File
'BASE_PATH is the path of the application
ModelFinder.LoadStream(BASE_PATH & MFF_PATHNAME, _
ModStreamTypeConstants.modFile)

'Load From Memory
ModelFinder.LoadStream(MemoryStream, ModStreamTypeConstants.modMemory)


ModelFinder.Modified Method

Modified method

See Also | Availability | MIL Equivalent | LoadStream | Preprocess
User Guide:
Integrating MIL functions into your ActiveMIL code.
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ModelFinder
Modified
Synopsis
Informs the ModelFinder control that Native MIL calls were made on its resources.
[]
Syntax
object.Modified(
ByVal ModificationType As Integer
)
[]
Syntax
void object->Modified(
long ModificationType
)
ModificationType (optional in , default is amilDefault)
A longintegerlong (integer for Visual Basic .Net) value that specifies the modification type.
Value | Meaning
amilDefault | Specifies that native MIL calls were used to modify the contents of the ModelFinder control.
Remark
  • The Modified method should be called after performing a Native MIL Mmod...() function on the resources of the ModelFinder control. This ensures that all properties of the ModelFinder control are updated to match their state in MIL.


ModelFinder.Preprocess Method

Preprocess method

See Also | Availability | MIL Equivalent | Modified | Save
Reference:
ModelFinder.IsPreprocessed
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodPreprocess(ContextId)
ModelFinder
Preprocess
Synopsis
Preprocesses the ModelFinder control. This method extracts the active edges of models contained within the ModelFinder control and sets internal search settings so that future search will be optimized for speed and robustness.
[]
Syntax
object.Preprocess()
[]
Syntax
void object->Preprocess()
Remarks
  • The ModelFinder control must be preprocessed before calling the Find and FindInEdgeFinderResults methods.
  • Call this method after all search settings have been specified. When you save, the effects of preprocessing are not saved with the ModelFinder control. Upon restoration, the ModelFinder control needs to be preprocessed again.
  • Note that if certain model search settings are changed after a call to the Preprocess method, the ModelFinder control might need to be preprocessed again. To inquire if your ModelFinder control is in a preprocessed state, use the IsPreprocessed property.
  • This method trains the system to search for the model in the most efficient manner.
  • This method is potentially quite lengthy (up to a few seconds) and increases the size of the ModelFinder control significantly.
[]
Example
This example shows how to preprocess the ModelFinder model.

ModelFinder.Preprocess()
[]
Example
This example shows how to preprocess the ModelFinder model.

m_ModelFinder1->Preprocess();


ModelFinder.Save Method

Save method

See Also | Availability | MIL Equivalent | Preprocess | SaveStream
Reference:
ModelFinder.Load
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodSave(FileName)
ModelFinder
Save
Synopsis
Saves the settings of the ModelFinder control to disk.
[]
Syntax
object.Save(
ByVal FileName As String
)
[]
Syntax
void object->Save(
_bstr_t FileName
)
FileName
A string expression that specifies the name of the file in which to save the data.
Remarks
  • It is recommended that you use the MMF file extension for easier use with other Matrox Imaging software products.
  • This method internally handles the opening and closing of the specified file. In addition, if the specified file already exists, it will be overwritten.
  • If you pass the FileName parameter an empty string (""), the File Open dialog box is presented so that you can interactively select a filename.
  • This function saves all the information about the previously allocated ModelFinder control to disk, including all of the individual models' current settings.
  • Note that the preprocessing state and any associations to Calibration controls are not saved.
  • Note that the settings of the of Results.DrawingParameters and Models.Item(ModelIndex).DrawingParameters properties are not saved.
  • This information can be reloaded, using the Load or the LoadStream method.
[]
Example
This example shows how to save the ModelFinder control.

ModelFinder.Save("X:\\images\\MyModelFinder.mmf")
[]
Example
This example shows how to save the ModelFinder control.

m_ModelFinder1->Save("X:\\images\\MyModelFinder.mmf");


ModelFinder.SaveStream Method

SaveStream method

See Also | Availability | MIL Equivalent | Save | ShowPropertyPages
Reference:
ModelFinder.LoadStream
ModelFinder.Save
ModelFinder.StreamSize
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodStream(
Operation =
M_SAVE
)
ModelFinder
SaveStream
Synopsis
Saves the settings of a ModelFinder control to a specified file or memory stream.
[]
Syntax
object.SaveStream(
ByVal ArrayOfBytesOrFileName As Object,
ByVal StreamType As ModStreamTypeConstants,
ByVal Version As Double
)
[]
Syntax
void object->SaveStream(
const _variant_t & ArrayOfBytesOrFileName,
enum ModStreamTypeConstants StreamType,
double Version
)
ArrayOfBytesOrFileName
A variantobjectvariant (object for Visual Basic .Net) value that specifies the stream in which to save the settings of the ModelFinder control.
StreamType
A ModStreamTypeConstants expression that specifies the type of stream in which to save the settings of the ModelFinder control.
Value | Meaning
modFile | Specifies a file stream.
modMemory | Specifies a memory stream.
Version (optional in , default is amilDefault)
A double value or an ActiveMILDefaultConstants expression that specifies the ActiveMIL version number of the ModelFinder control.
Value | Meaning
amilDefault | Sets the version to the current version of ActiveMIL.
value | Sets the version to a specific version of ActiveMIL.
Remarks
  • File and file stream are equivalent terms throughout this documentation.
  • When saving to file, it is recommended that you use the MMF file extension for easier use with other Matrox Imaging software products.
  • The settings of the ModelFinder control can be loaded using the LoadStream method.
  • The content saved to a memory stream is equivalent to the same content saved to a file. In addition, any file saved with the Save method is equivalent to a file saved using this method.
  • Note that the preprocessing state and any associations to Calibration controls are not saved.
  • Note that the settings of the Results.DrawingParameters and Models.Item(ModelIndex).DrawingParameters properties are not saved.
  • When modFile is set as the stream type, if the specified file already exists, it will be overwritten when the method is performed. This method internally handles the opening and closing of the file.
  • If you pass the FileName parameter an empty string (""), the File Open dialog box is presented so that you can interactively select a filename.
  • When modMemory is set as the stream type, the ArrayOfBytesOrFileName parameter should specify the address of the block of memory required for this operation. The designated block must be large enough to store the entire object.
  • To inquire the size of the array required to save the settings of a ModelFinder control to a memory stream, use the StreamSize property.
  • You can use this method and other ActiveMIL SaveStream methods to save all required ActiveMIL controls, as well as any other custom data, for your application to a memory stream. Once in a memory stream, you can write the stream to a single file or transfer it over a network. You are responsible for concatenating the streams and for saving the stream to file.
  • By supplying a specific version, you can control the ModelFinder control's accessibility. For instance, if you allocate a ModelFinder control using ActiveMIL 8.0 and set its version to 7.0, then this control can be loaded on a computer where ActiveMIL 7.0 is installed. Settings unique to the higher version will be ignored when the file or memory stream is loaded in the lower version. Also, a program using ActiveMIL of a higher version can access a ModelFinder control stream created or designated with an equal or lower version. Settings that do not exist in the lower version will be filled with default values when the file or memory stream is loaded in the higher version. The version specified must never be greater than the current ActiveMIL version, but must be greater than or equal to 7.0 for the ModelFinder control.
  • []
     To specify the name of the file in which to save the settings of the ModelFinder control, you must pass a string object to the ArrayOfBytesOrFileName parameter. To specify the location of the memory stream in which to save the settings of the ModelFinder control, you must pass an array of bytes.
  • []
     To specify the name of the file in which to save the settings of the ModelFinder control, you must pass a VARIANT containing a BSTR value to the ArrayOfBytesOrFileName parameter. To specify the location of the memory stream in which to save the settings of the ModelFinder control, pass a VARIANT containing a SAFEARRAY object.
[]
Example
This example shows how to save the ModelFinder control into a file or a memory stream.

Const Version = amilDefault
Const MFF_PATHNAME = "\TestMFF\TestContext.mff"

Dim MemoryStream As Array
Dim StreamSize As Integer

StreamSize = ModelFinder.StreamSize(Version)
MemoryStream = Array.CreateInstance(GetType(Byte), CInt(StreamSize))
'Save into a file
ModelFinder.SaveStream(BASE_PATH & MFF_PATHNAME, _
ModStreamTypeConstants.modFile, Version)

'Save in a memory stream
ModelFinder.SaveStream(MemoryStream, ModStreamTypeConstants.modMemory, Version)


ModelFinder.ShowPropertyPages Method

ShowPropertyPages method

Availability | MIL Equivalent | SaveStream | UndoPreprocessing
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ModelFinder
ShowPropertyPages
Synopsis
Opens the specified property pages of the ModelFinder control in a window.
[]
Syntax
object.ShowPropertyPages(
ByVal Pages As ModPropertyPagesConstants,
ByVal Caption As String,
ByVal hWndParent As Integer,
ByVal Reserved As Boolean
)
[]
Syntax
void object->ShowPropertyPages(
enum ModPropertyPagesConstants Pages,
_bstr_t Caption,
long hWndParent,
VARIANT_BOOL Reserved
)
Pages
A ModPropertyPagesConstants expression that specifies the page(s) to display. You can add the following constants together to display multiple pages.
Value | Meaning
modGeneralPropertyPage | Display the ModelFinder control's General property page.
modModelsGlobalPropertyPage | Display the ModelFinder control's Models Global property page.
modModelsPropertyPage | Display the ModelFinder control's Models property page.
modHistoryPropertyPage | Display the ModelFinder control's History property page.
modAllPropertyPages | Display all of the ModelFinder control's available property pages.
Caption (optional in , default is "")
A string value that specifies the caption for the property pages window. The default is an empty string, in which case a generic caption will be displayed.
hWndParent (optional in , default is 0)
A longintegerlong (integer for Visual Basic .Net) value that specifies the window handle (HWND) of the property pages window's parent. The property pages window will be modal in relation to its parent window.
Reserved (optional in , default is True)
This parameter is reserved for future use. True is the only value available.
Value | Meaning
True | Meaning to be determined. This setting must always be used.
Remarks
  • If the ModelFinder control is created at design-time, the .NET ActiveX Control Importer (AxImp.exe) renames this ActiveMIL method from ShowPropertyPages() to CtlShowPropertyPages() to avoid name clashing with the ShowPropertyPages() method of the .NET Windows Form control. See the Windows Forms ActiveX Control Importer (AxImp.exe) topic in MSDN for more information. In addition, if the control is created at run-time with the AxMatrox.ActiveMIL.* namespace, you must use CtlShowPropertyPages() to call the ActiveMIL ShowPropertyPages() method.
  • This method is used to display the property pages so that properties can be set interactively at run-time.
  • This method will disable property page elements corresponding to properties that cannot be changed due to the current state of the control. For example, if a property cannot be changed while its control is in the allocated state, and the control is allocated, the corresponding element in the property page will be disabled. To change this property, call the Free method first.


ModelFinder.UndoPreprocessing Method

UndoPreprocessing method

Availability | MIL Equivalent | ShowPropertyPages | ResultsModified
Not available in ActiveMIL-Lite

Available in ActiveMIL
MmodPreprocess(
ContextId
ControlFlag =
M_RESET
)
ModelFinder
UndoPreprocessing
Synopsis
Undoes the preprocessing of the ModelFinder control.
[]
Syntax
object.UndoPreprocessing()
[]
Syntax
void object->UndoPreprocessing()
Remark
  • Undoing preprocessing can be useful if you want to conserve computer memory within an application and preserve ModelFinder control settings.


ModelFinder.ResultsModified Event

ResultsModified event

Availability | MIL Equivalent | UndoPreprocessing
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
ModelFinder
ResultsModified
Synopsis
Occurs after results have been modified.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_ResultsModified() Handles object.ResultsModified

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_ResultsModified(
ByVal sender As Object,
ByVal e As System.EventArgs
) Handles object.ResultsModified
[]
Syntax
void class::OnResultsModified()
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.


PatternMatching control

Availability
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Synopsis
The pattern matching control uses normalized grayscale correlation to find patterns (referred to as models) in a target image.

Structure
PatternMatching |  |  |  | Properties: AutomaticAllocation, Image, ImageName, IsAllocated, Models, MultipleModelMode, Name, OwnerSystem, OwnerSystemName, PropertyValidation, Results, SearchMode, TargetCaching Methods: Allocate, FindModel, Free, Modified, ShowPropertyPages Event: ResultsModified
 | Models |  |  | Properties: Count, Item Methods: AddAutomatic, Add, Draw, Load, Remove
 |  | Item |  | Properties: AcceptanceThreshold, CertaintyThreshold, IsPreprocessed, MilID, ModelType, NumberOfOccurrences, OriginalPositionX, OriginalPositionY, PositionAccuracy, ReferenceX, ReferenceY, SearchAlgorithm, SearchAngle, SearchRegion, SizeX, SizeY, Speed Methods: Control, Draw, ImportDontCareImage, Inquire, Preprocess, Save
 |  |  | SearchAlgorithm | Properties: CoarseSearchAcceptance, ExtraCandidates, FindMode, FirstLevel, LastLevel, MinimumSpacingX, MinimumSpacingY, ModelStep Method: Reset
 |  |  | SearchAngle | Properties: Accuracy, Enabled, InterpolationMode, NegativeDelta, PositiveDelta, Tolerance, Value
 |  |  | SearchRegion | Properties: CenterX, CenterY, EndX, EndY, FullSize, Mode, OffsetX, OffsetY, SizeX, SizeY, StartX, StartY
 | Results |  |  | Properties: Count, Item, MilID Methods: Draw, Get, GetMultiple
 |  | Item |  | Properties: Angle, ModelIndex, PositionX, PositionY, Score Method: Draw


PatternMatching.AutomaticAllocation Property

AutomaticAllocation property

See Also | Availability | MIL Equivalent | Image
User Guide:
Setting up controls - Allocating and freeing resources

Reference:
PatternMatching.Allocate
PatternMatching.Free
PatternMatching.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
PatternMatching
AutomaticAllocation
Synopsis
Returns or sets whether the resources of the PatternMatching control are automatically allocated at run-time.
[]
Syntax
object.AutomaticAllocation [= Boolean]
[]
Syntax
object->AutomaticAllocation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the control's automatic allocation.
Value | Meaning
True | The control will be allocated automatically at run-time.
False | The control must be allocated explicitly, using the Allocate method.
Remarks
  • When the AutomaticAllocation property is False, an explicit call to the Allocate method is required. You can get the allocation state of the control by reading its IsAllocated property.
  • The default value is True for controls created at design-time, and False for controls created at run-time (for example, created with the CreateObject method of the Application control).
  • When this property is set to True, automatic allocation will occur when the owner system of the PatternMatching control is allocated. For example, if System1 is set as the owner system of PatternMatching1, and System1 is not allocated, then PatternMatching1 will not be allocated, even if its AutomaticAllocation property is set to True. When System1 is allocated (with the Allocate method), PatternMatching1 will be allocated automatically if its AutomaticAllocation property is set to True.
  • The resources of the control will be freed automatically when the control is destroyed.
[]
Example
This example demonstrates how to set up this control so that it is automatically allocated when its owner System control is allocated.

PatternMatching1.AutomaticAllocation = True
PatternMatching1.OwnerSystem = System1

' This call will also allocate PatternMatching1 since
' its OwnerSystem property is System1 and
' its AutomaticAllocation property is set to True
System1.Allocate()
[]
Example
This example demonstrates how to set up this control so that it is automatically allocated when its owner System control is allocated.

m_PatternMatching1->AutomaticAllocation = TRUE;
m_PatternMatching1->OwnerSystem = m_System1;

// This call will also allocate m_PatternMatching1 since
// its OwnerSystem property is m_System1 and
// its AutomaticAllocation property is set to TRUE
m_System1->Allocate();


PatternMatching.Image Property

Image property

See Also | Availability | MIL Equivalent | AutomaticAllocation | ImageName
Reference:
Image
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
PatternMatching
Image
Synopsis
Returns or sets the image used as the target image.
[]
Syntax
object.Image [= Image]
[]
Syntax
object->Image [= IImagePtr]
Type description
An Image control that specifies the target image.
Remarks
  • You can only perform pattern matching operations on 8-bit grayscale unsigned images.
  • The image must have its CanProcess property of the Image control set to True.
  • []
     Use the Visual Basic Is Nothing statement to confirm that this property is currently not associated with a control.
  • []
     To remove the reference to the current control without assigning a new control, set the property to Nothing.
  • []
     To remove the reference to the current control without assigning a new control, set the property to NULL.
  • The target image can also be specified, with the name assigned to its control, using the ImageName property.
  • This property automatically sets the ImageName property.


PatternMatching.ImageName Property

ImageName property

See Also | Availability | MIL Equivalent | Image | IsAllocated
Reference:
Image
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
PatternMatching
ImageName
Synopsis
Returns or sets the name of the image used as the target image.
[]
Syntax
object.ImageName [= String]
[]
Syntax
object->ImageName [= _bstr_t]
Type description
A string expression that specifies the name of the Image control to use as the target image.
Remarks
  • You can only perform pattern matching operations on unsigned 8-bit grayscale images.
  • The image must have its CanProcess property of the Image control set to True.
  • To remove the reference to the current control without assigning a new control, specify an empty string ("").
  • The target image can also be specified using the Image property.
  • This property automatically sets the Image property.


PatternMatching.IsAllocated Property

IsAllocated property

See Also | Availability | MIL Equivalent | ImageName | Models
User Guide:
Allocation of resources

Reference:
PatternMatching.Allocate
PatternMatching.Free
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
PatternMatching
IsAllocated
Synopsis
Returns whether the resources of the PatternMatching control are allocated.
[]
Syntax
[Boolean =] object.IsAllocated
[]
Syntax
[VARIANT_BOOL =] object->IsAllocated
Type description
A boolean value that specifies whether the control is allocated.
Value | Meaning
True | The resources of the control are allocated.
False | The resources of the control are not allocated.
[]
Example
This example shows how to use the IsAllocated property.

If PatternMatching1.IsAllocated Then
    PatternMatching1.Free()
End If
[]
Example
This example shows how to use the IsAllocated property.

if (m_PatternMatching1->IsAllocated)
   m_PatternMatching1->Free();


PatternMatching.Models Property

Models property

Availability | MIL Equivalent | IsAllocated | MultipleModelMode
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatAllocAutoModel()

MpatAllocModel()

MpatSetCertainty()

MpatSetCenter()

MpatSetSearchParameter()

MpatSetAngle()

MpatSetPosition()

MpatSetSpeed()

MpatCopy()

MpatInquire()
PatternMatching
Models
Properties: Count, Item

Methods: AddAutomatic, Add, Draw, Load, Remove
Synopsis
Returns the collection of pattern matching models available to the PatternMatching control, allowing access to its elements.
[]
Syntax
[PatternMatchingModels =] object.Models
[]
Syntax
[IPatternMatchingModelsPtr =] object->Models
Type description
A PatternMatchingModels expression that represents an instance of a PatternMatchingModels collection.


PatternMatching.Models.Count Property

Count property

Availability | MIL Equivalent | Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
PatternMatching
Models
Count
Synopsis
Returns the number of elements in the collection of pattern matching models.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A long value that specifies the number of elements currently in the collection.


PatternMatching.Models.Item Property

Item property

Availability | MIL Equivalent | Count | AddAutomatic
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
PatternMatching
Models
Item
Properties: AcceptanceThreshold, CertaintyThreshold, IsPreprocessed, MilID, ModelType, NumberOfOccurrences, OriginalPositionX, OriginalPositionY, PositionAccuracy, ReferenceX, ReferenceY, SearchAlgorithm, SearchAngle, SearchRegion, SizeX, SizeY, Speed

Methods: Control, Draw, ImportDontCareImage, Inquire, Preprocess, Save
Synopsis
Returns the element at the specified index in the collection of pattern matching models.
[]
Syntax
[PatternMatchingModel=]object.Item(
index As Integer
)
[]
Syntax
[IPatternMatchingModelPtr =] object->Item(
long index
)
index
A long value that specifies the index of the required element.
Type description
A PatternMatchingModel object.
Remarks
  • The index value of the first element in the collection is 1.
  • If the value provided as the index does not match any existing element of the collection, an error occurs.


PatternMatching.Models.Item.AcceptanceThreshold Property

AcceptanceThreshold property

See Also | Availability | MIL Equivalent | CertaintyThreshold
User Guide:
Search Constraints

Reference:
PatternMatching.Models.Item.CertaintyThreshold
PatternMatching.Results.Item.Score
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetAcceptance()

MpatInquire(
ParamToInquire =
M_ACCEPTANCE_THRESHOLD
)
PatternMatching
Models
Item
AcceptanceThreshold
Synopsis
Returns or sets the minimum acceptance level for a match made with the specified model when it is sought in an image.
[]
Syntax
object.AcceptanceThreshold [= Double]
[]
Syntax
object->AcceptanceThreshold [= double]
Type description
A double value that specifies the acceptance level as a percentage. (default is 70%)
Remark
  • If the correlation (match score) between the image and the model is less than this level, it is not considered a match (an occurrence). The match score depends on the image quality. You should experiment to determine what is a typical match score for your application.


PatternMatching.Models.Item.CertaintyThreshold Property

CertaintyThreshold property

See Also | Availability | MIL Equivalent | AcceptanceThreshold | IsPreprocessed
User Guide:
Search Constraints

Reference:
PatternMatching.Models.Item.AcceptanceThreshold
PatternMatching.Results.Item.Score
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetCertainty()

MpatInquire(
ParamToInquire =
M_CERTAINTY_THRESHOLD
)
PatternMatching
Models
Item
CertaintyThreshold
Synopsis
Returns or sets the match score at which an occurrence of the model is assumed, without looking for better matches elsewhere in the image.
[]
Syntax
object.CertaintyThreshold [= Double]
[]
Syntax
object->CertaintyThreshold [= double]
Type description
A double value that specifies the certainty level as a percentage. (default is 80%)
Remarks
  • If you set the certainty level too high, you can slow down the search because you force the search algorithm to check the whole search region for the best match. A good certainty level is slightly lower than the expected score, so the search can finish as soon as the required matches are found. However, if you set the certainty level too low false matches might be found.
  • The certainty level must be equal to or greater than the acceptance level.


PatternMatching.Models.Item.IsPreprocessed Property

IsPreprocessed property

See Also | Availability | MIL Equivalent | CertaintyThreshold | MilID
Reference:
PatternMatching.Models.Item.Preprocess
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatInquire(
ParamToInquire =
M_PREPROCESSED
)
PatternMatching
Models
Item
IsPreprocessed
Synopsis
Returns whether the model is preprocessed.
[]
Syntax
[Boolean =] object.IsPreprocessed
[]
Syntax
[VARIANT_BOOL =] object->IsPreprocessed
Type description
A boolean value that specifies whether or not the model is preprocessed.
Value | Meaning
True | Model is preprocessed.
False | Model is not preprocessed.
Remark
  • Calling the Models.Item(ModelIndex).Preprocess method sets this property to True. Changing certain model search constraints will reset this property to False.


PatternMatching.Models.Item.MilID Property

MilID property

See Also | Availability | MIL Equivalent | IsPreprocessed | ModelType
User Guide:
Integrating MIL functions into your ActiveMIL code.

Reference:
PatternMatching.IsAllocated
PatternMatching.Modified
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatAllocModel(ModelId)
PatternMatching
Models
Item
MilID
Synopsis
Returns the Native MIL identifier of the allocated model.
[]
Syntax
[Integer =] object.MilID
[]
Syntax
[long =] object->MilID
Type description
A long value that specifies the model's Native MIL identifier.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • The control's Modified method should be called after making Native MIL call(s) on the returned identifier.
  • If the control's IsAllocated property is False, the MilID property will be 0.


PatternMatching.Models.Item.ModelType Property

ModelType property

See Also | Availability | MIL Equivalent | MilID | NumberOfOccurrences
Reference:
PatternMatching.Models.Add
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatAllocAutoModel(ModelType)
PatternMatching
Models
Item
ModelType
Synopsis
Returns the type of the model.
[]
Syntax
[PatModelTypeConstants =] object.ModelType
[]
Syntax
[enum PatModelTypeConstants =] object->ModelType
Type description
A PatModelTypeConstants value that specifies the type of the model.
Value | Meaning
patNormalized | This type of model finds the position, match score, and angle (if angular search is enabled) of the model in the target image.

You can add the following setting to patNormalized:
Value | Meaning
patCircularOverscan | This type of model extracts the model as well as circular overscan data from the model image. The overscan data is determined by rotating the area from which to extract the model, about its center.


PatternMatching.Models.Item.NumberOfOccurrences Property

NumberOfOccurrences property

See Also | Availability | MIL Equivalent | ModelType | OriginalPositionX
Reference:
PatternMatching.Allocate
PatternMatching.Free
PatternMatching.Models.Item.AcceptanceThreshold
PatternMatching.Results.Item.Score
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetNumber()

MpatInquire(
ParamToInquire =
M_NUMBER_OF_OCCURRENCES
)
PatternMatching
Models
Item
NumberOfOccurrences
Synopsis
Returns or sets the number of model occurrences for which to search in the target image.
[]
Syntax
object.NumberOfOccurrences [= Integer]
[]
Syntax
object->NumberOfOccurrences [= long]
Type description
A long value that specifies the number of occurrences.
Remarks
  • If a correlation has a match score equal or above the certainty level (Models.Item(ModelIndex).CertaintyThreshold property), it is automatically considered an occurrence (default 80%), the remaining occurrences will be the best of those above the acceptance level (Models.Item(ModelIndex).AcceptanceThreshold property).
  • This property cannot be set at run-time if the PatternMatching control is in the allocated state.


PatternMatching.Models.Item.OriginalPositionX Property

OriginalPositionX property

See Also | Availability | MIL Equivalent | NumberOfOccurrences | OriginalPositionY
Reference:
PatternMatching.Models.Item.OriginalPositionY
PatternMatching.Models.Item.ReferenceX
PatternMatching.Models.Item.ReferenceY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatInquire(
ParamToInquire =
M_ORIGINAL_X
)
PatternMatching
Models
Item
OriginalPositionX
Synopsis
Returns the offset (in the X-direction) of the model's reference position, from the top-left corner of the model's source image.
[]
Syntax
[Integer =] object.OriginalPositionX
[]
Syntax
[long =] object->OriginalPositionX
Type description
A long value that specifies the X-offset of the model's reference position, from the top-left corner of the model's source image.
Remark
  • The value of this property is updated automatically whenever the model's reference position is modified with Models.Item(ModelIndex).ReferenceX and Models.Item(ModelIndex).ReferenceY properties.


PatternMatching.Models.Item.OriginalPositionY Property

OriginalPositionY property

See Also | Availability | MIL Equivalent | OriginalPositionX | PositionAccuracy
Reference:
PatternMatching.Models.Item.OriginalPositionX
PatternMatching.Models.Item.ReferenceX
PatternMatching.Models.Item.ReferenceY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatInquire(
ParamToInquire =
M_ORIGINAL_Y
)
PatternMatching
Models
Item
OriginalPositionY
Synopsis
Returns the offset (in the Y-direction) of the model's reference position, from the top-left corner of the model's source image.
[]
Syntax
[Integer =] object.OriginalPositionY
[]
Syntax
[long =] object->OriginalPositionY
Type description
A long value that specifies the Y-offset of the model's reference position, from the top-left corner of the model's source image.
Remark
  • The value of this property is updated automatically whenever the model's reference position is modified with Models.Item(ModelIndex).ReferenceX and Models.Item(ModelIndex).ReferenceY properties.


PatternMatching.Models.Item.PositionAccuracy Property

PositionAccuracy property

Availability | MIL Equivalent | OriginalPositionY | ReferenceX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetAccuracy()

MpatInquire(
ParamToInquire =
M_POSITION_ACCURACY
)
PatternMatching
Models
Item
PositionAccuracy
Synopsis
Returns or sets the positional accuracy required when searching for the model.
[]
Syntax
object.PositionAccuracy [= PatHighLowConstants]
[]
Syntax
object->PositionAccuracy [= enum PatHighLowConstants]
Type description
A PatHighLowConstants value that sets the required positional accuracy.
Value | Meaning
patHigh | High accuracy but slow (typically ± 0.05 pixels).
patMedium | Medium accuracy and relatively fast (typically ± 0.10 pixels).
patLow | Low accuracy but very fast (typically ± 0.20 pixels)
Remarks
  • Note, the precision achieved is dependent on the quality of the model and the image (the tolerances listed above are typical for high-quality, low-noise images).
  • Using patLow to find a model more quickly can also produce match scores that are slightly lower than usual. If a precise match score is required, use at least an patMedium accuracy.
  • Positional accuracy is slightly affected by the setting of the Models.Item(ModelIndex).Speed property.


PatternMatching.Models.Item.ReferenceX Property

ReferenceX property

See Also | Availability | MIL Equivalent | PositionAccuracy | ReferenceY
Reference:
PatternMatching.Models.Item.ReferenceY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetCenter(OffX)

MpatInquire(
ParmToInquire =
M_CENTER_X
)
PatternMatching
Models
Item
ReferenceX
Synopsis
Returns or sets the offset (in the X-direction) of the model's reference position, from the top-left corner of the model.
[]
Syntax
object.ReferenceX [= Double]
[]
Syntax
object->ReferenceX [= double]
Type description
A double value that specifies the X-offset in pixels. (default = [SizeX - 1] / 2)
Remark
  • All positional search results are based on this defined reference position, relative to the top-left corner of the target image. Note that the reference position need not be in the model.


PatternMatching.Models.Item.ReferenceY Property

ReferenceY property

See Also | Availability | MIL Equivalent | ReferenceX | SearchAlgorithm
Reference:
PatternMatching.Models.Item.ReferenceX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetCenter(OffY)

MpatInquire(
ParmToInquire =
M_CENTER_Y
)
PatternMatching
Models
Item
ReferenceY
Synopsis
Returns or sets the offset (in the Y-direction) of the model's reference position, from the top-left corner of the model.
[]
Syntax
object.ReferenceY [= Double]
[]
Syntax
object->ReferenceY [= double]
Type description
A double value that specifies the Y-offset in pixels. (default = [SizeY - 1] / 2)
Remark
  • All positional search results are based on this defined reference position, relative to the top-left corner of the target image. Note that the reference position need not be in the model.


PatternMatching.Models.Item.SearchAlgorithm Property

SearchAlgorithm property

See Also | Availability | MIL Equivalent | ReferenceY | SearchAngle
User Guide:
Search heuristics
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetSearchParameter()
PatternMatching
Models
Item
SearchAlgorithm
Properties: CoarseSearchAcceptance, ExtraCandidates, FindMode, FirstLevel, LastLevel, MinimumSpacingX, MinimumSpacingY, ModelStep

Method: Reset
Synopsis
Allows you to specify or determine the model's search algorithm properties.
[]
Syntax
[PatternMatchingSearchAlgorithm =] object.SearchAlgorithm
[]
Syntax
[IPatternMatchingSearchAlgorithmPtr =] object->SearchAlgorithm
Type description
A PatternMatchingSearchAlgorithm object.
Remarks
  • The properties of the SearchAlgorithm property need not be modified under most circumstances because the default settings usually provide the best results for search operations.
  • You cannot assign another PatternMatchingSearchAlgorithm object to this property.


PatternMatching.Models.Item.SearchAlgorithm.CoarseSearchAcceptance Property

CoarseSearchAcceptance property

See Also | Availability | MIL Equivalent | ExtraCandidates
User Guide:
Search heuristics
The pattern matching algorithm (for advanced users)

Reference:
PatternMatching.Models.Item.AcceptanceThreshold
PatternMatching.Models.Item.CertaintyThreshold
PatternMatching.Results.Item.Score
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetSearchParameter(
Value =
M_COARSE_SEARCH_ACCEPTANCE
)
PatternMatching
Models
Item
SearchAlgorithm
CoarseSearchAcceptance
Synopsis
Returns or sets the coarse search acceptance threshold level.
[]
Syntax
object.CoarseSearchAcceptance [= Double]
[]
Syntax
object->CoarseSearchAcceptance [= double]
Type description
A double value or an ActiveMILDefaultConstants expression that specifies the acceptance level to use for rejecting candidate model peaks at low resolution levels as a percentage. (default is amilDefault)
Value | Meaning
amilDefault | Resets the property to the default setting. The default setting determines the coarse search acceptance threshold automatically.
value | Specifies the acceptance level.
Remarks
  • This property affects all levels of the hierarchical search except for the last level (lowest resolution).
  • The coarse search acceptance level should usually be set much lower than the search acceptance level. For example, a good level to set it to is about 20% to 30%.
  • Setting this property can speed up the search when some of the occurrences that should be matches do not reach the certainty threshold, or when you request more matches than are really present in the image. Note that if you specify a value that is too low, you will not see any increase in speed. However, if the value is too high, you risk rejecting real match peaks.


PatternMatching.Models.Item.SearchAlgorithm.ExtraCandidates Property

ExtraCandidates property

See Also | Availability | MIL Equivalent | CoarseSearchAcceptance | FindMode
User Guide:
Search heuristics
The pattern matching algorithm (for advanced users)

Reference:
PatternMatching.Models.Item.AcceptanceThreshold
PatternMatching.Models.Item.CertaintyThreshold
PatternMatching.Results.Item.Score
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetSearchParameter(
Value =
M_EXTRA_CANDIDATES
)
PatternMatching
Models
Item
SearchAlgorithm
ExtraCandidates
Synopsis
Returns or sets the number of extra candidates to consider.
[]
Syntax
object.ExtraCandidates [= Integer]
[]
Syntax
object->ExtraCandidates [= long]
Type description
A long value that specifies the number of extra candidates. (default is 0)
Remark
  • This property allows you to add robustness to the algorithm, by considering more (best) scores as possible candidates, without compromising too heavily on search speed. Normally, the search algorithm considers only a limited number of candidates to match when operating at the most sub-sampled stage.


PatternMatching.Models.Item.SearchAlgorithm.FindMode Property

FindMode property

See Also | Availability | MIL Equivalent | ExtraCandidates | FirstLevel
User Guide:
Search heuristics

Reference:
PatternMatching.Models.Item.SearchAlgorithm.FirstLevel
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetSearchParameter(
Parameter =
M_FAST_FIND
)

MpatInquire(
ParamToInquire =
M_FAST_FIND
)
PatternMatching
Models
Item
SearchAlgorithm
FindMode
Synopsis
Returns or sets if fast peak finding is used.
[]
Syntax
object.FindMode [= PatFindModeConstants]
[]
Syntax
object->FindMode [= enum PatFindModeConstants]
Type description
A PatFindModeConstants value that specifies if fast peak finding is used.
Value | Meaning
patForceFastPeak | Force fast peak finding.
patPreventFastPeak | Prevent fast peak finding.
patDefaultFindMode | Preprocessing decides if fast peak finding is appropriate.
Remark
  • When fast peak finding is disabled, the initial search (at the resolution level determined by the Models.Item(ModelIndex).SearchAlgorithm.FirstLevel) computes the correlation at every position in the search area. This guarantees that the biggest match peak will be found, and that it will be investigated first. If fast peak finding is enabled, the search algorithm attempts to find the peaks without checking every point. This is safe in most cases, but can cause matches to be missed for models that produce very narrow peaks.


PatternMatching.Models.Item.SearchAlgorithm.FirstLevel Property

FirstLevel property

See Also | Availability | MIL Equivalent | FindMode | LastLevel
User Guide:
Search heuristics

Reference:
PatternMatching.Models.Item.SearchAlgorithm.LastLevel
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetSearchParameter(
Parameter =
M_FIRST_LEVEL
)

MpatInquire(
ParamToInquire =
M_FIRST_LEVEL
)
PatternMatching
Models
Item
SearchAlgorithm
FirstLevel
Synopsis
Returns or sets the resolution level for the initial stage of the search.
[]
Syntax
object.FirstLevel [= Integer]
[]
Syntax
object->FirstLevel [= long]
Type description
A long value that specifies the resolution level. Must be set to a value between 0 to 7.
Remarks
  • The first level of the search is the lowest resolution on which to perform the search.
  • Level 0 is the original target image and each higher level is half the size (and resolution) of the previous one. If the specified level is not supported by the search algorithm, the highest possible level will be used. A higher first level speeds up the initial search but makes it less reliable, because the model might not retain enough distinctive features at such a low resolution.


PatternMatching.Models.Item.SearchAlgorithm.LastLevel Property

LastLevel property

See Also | Availability | MIL Equivalent | FirstLevel | MinimumSpacingX
User Guide:
Search heuristics

Reference:
PatternMatching.Models.Item.SearchAlgorithm.FirstLevel
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetSearchParameter(
Parameter =
M_LAST_LEVEL
)

MpatInquire(
ParamToInquire =
M_LAST_LEVEL
)
PatternMatching
Models
Item
SearchAlgorithm
LastLevel
Synopsis
Returns or sets the resolution level for the final stage of the search.
[]
Syntax
object.LastLevel [= Integer]
[]
Syntax
object->LastLevel [= long]
Type description
A long value that specifies the resolution level. Must be set to a value from 0 to 7.
Remarks
  • The last level of the search is the highest resolution on which to perform the search.
  • If the specified level is not supported by the search algorithm, the highest acceptable level will be used. A higher last level reduces search time but also reduces positional accuracy. Search score can also be less reliable for levels above 0, depending on the characteristics of the model. Specify a bottom level of 0 for roughly 0.05 pixel accuracy, a level of 1 for 0.1 pixel accuracy, and a level of 2 for 0.02 pixel accuracy.


PatternMatching.Models.Item.SearchAlgorithm.MinimumSpacingX Property

MinimumSpacingX property

See Also | Availability | MIL Equivalent | LastLevel | MinimumSpacingY
Reference:
PatternMatching.Models.Item.SearchAlgorithm.MinimumSpacingY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetSearchParameter(
Parameter =
M_MIN_SPACING_X
)

MpatInquire(
ParamToInquire =
M_MIN_SPACING_X
)
PatternMatching
Models
Item
SearchAlgorithm
MinimumSpacingX
Synopsis
Returns or sets the minimum spacing in the X-direction between two models, for them to be considered distinct.
[]
Syntax
object.MinimumSpacingX [= Double]
[]
Syntax
object->MinimumSpacingX [= double]
Type description
A double value that specifies the minimum spacing in X-direction, as a percentage of the model width. Must be set to a value from 1.0 to 100.0. (default is 75% of the model width)


PatternMatching.Models.Item.SearchAlgorithm.MinimumSpacingY Property

MinimumSpacingY property

See Also | Availability | MIL Equivalent | MinimumSpacingX | ModelStep
Reference:
PatternMatching.Models.Item.SearchAlgorithm.MinimumSpacingX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetSearchParameter(
Parameter =
M_MIN_SPACING_Y
)

MpatInquire(
ParamToInquire =
M_MIN_SPACING_Y
)
PatternMatching
Models
Item
SearchAlgorithm
MinimumSpacingY
Synopsis
Returns or sets the minimum spacing in the Y-direction between two models, for them to be considered distinct.
[]
Syntax
object.MinimumSpacingY [= Double]
[]
Syntax
object->MinimumSpacingY [= double]
Type description
A double value that specifies the minimum spacing in Y-direction, as a percentage of the model height. Must be set to a value from 1.0 to 100.0. (default is 75% of the model height)


PatternMatching.Models.Item.SearchAlgorithm.ModelStep Property

ModelStep property

Availability | MIL Equivalent | MinimumSpacingY | Reset
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetSearchParameter(
Parameter =
M_MODEL_STEP
)

MpatInquire(
ParamToInquire =
M_MODEL_STEP
)
PatternMatching
Models
Item
SearchAlgorithm
ModelStep
Synopsis
Returns or sets whether all or every second pixel in the model is used in the high resolution stage of the search.
[]
Syntax
object.ModelStep [= Integer]
[]
Syntax
object->ModelStep [= long]
Type description
A long value that specifies if all or every second model pixel is used. Must be set to either 1 or 2. When the ModelStep property is set to 1, all model pixels are used in the correlation. When set to 2, only every second model pixel (in both X- and Y-direction) is used.
Remark
  • This speeds up the last (high resolution) stage of the search, particularly for large models. The match score can be affected if the model has many fine features, but will tend not to be affected if the model has mainly coarse features.


PatternMatching.Models.Item.SearchAlgorithm.Reset Method

Reset method

Availability | MIL Equivalent | ModelStep
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetSearchParameter(
Parameter =
M_ALL
Value =
M_DEFAULT
)
PatternMatching
Models
Item
SearchAlgorithm
Reset
Synopsis
Resets the search algorithm properties to their default values.
[]
Syntax
object.Reset()
[]
Syntax
void object->Reset()


PatternMatching.Models.Item.SearchAngle Property

SearchAngle property

See Also | Availability | MIL Equivalent | SearchAlgorithm | SearchRegion
Reference:
PatternMatching.Results.Item.Angle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetAngle()
PatternMatching
Models
Item
SearchAngle
Properties: Accuracy, Enabled, InterpolationMode, NegativeDelta, PositiveDelta, Tolerance, Value
Synopsis
Allows you to specify or determine the model's angular search properties.
[]
Syntax
[Angle =] object.SearchAngle
[]
Syntax
[IAnglePtr =] object->SearchAngle
Type description
An Angle object.
Remarks
  • You cannot assign another Angle object to this property.
  • To enable angular search mode, set the Models.Item(ModelIndex).SearchAngle.Enabled property to True.
[]
Example
This example enables the SearchAngle property and performs a Preprocess operation on a pattern matching model.

const long SECOND_MODEL =  2; // Second model in the collection

// Enable the angular search and preprocess the model
m_PatternMatching1->Models->Item(SECOND_MODEL)->SearchAngle->Enabled = TRUE;
m_PatternMatching1->Models->Item(SECOND_MODEL)->Preprocess();


PatternMatching.Models.Item.SearchAngle.Accuracy Property

Accuracy property

See Also | Availability | MIL Equivalent | Enabled
User Guide:
Positional accuracy

Reference:
PatternMatching.Models.Item.SearchAngle.Tolerance
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetAngle(
ControlType =
M_SEARCH_ANGLE_ACCURACY
)

MpatInquire(
ParamToInquire =
M_SEARCH_ANGLE_ACCURACY
)
PatternMatching
Models
Item
SearchAngle
Accuracy
Synopsis
Returns or sets the required precision for the resulting angle.
[]
Syntax
object.Accuracy [= Double]
[]
Syntax
object->Accuracy [= double]
Type description
A double value that specifies the angle accuracy. Must be set to a value between 0.1º and 180º.
Remarks
  • The default accuracy is equal to the angle of tolerance set by the Models.Item(ModelIndex).SearchAngle.Tolerance property.
  • To enable angular search mode, set the Models.Item(ModelIndex).SearchAngle.Enabled property to True.


PatternMatching.Models.Item.SearchAngle.Enabled Property

Enabled property

See Also | Availability | MIL Equivalent | Accuracy | InterpolationMode
User Guide:
Setting the angle of search
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetAngle(
ControlType =
M_SEARCH_ANGLE_MODE
)

MpatInquire(
ParamToInquire =
M_SEARCH_ANGLE_MODE
)
PatternMatching
Models
Item
SearchAngle
Enabled
Synopsis
Returns or sets whether angular search mode is enabled.
[]
Syntax
object.Enabled [= Boolean]
[]
Syntax
object->Enabled [= VARIANT_BOOL]
Type description
A boolean value that specifies whether angular search mode is enabled. (default is False)
Value | Meaning
True | Enable angular search mode.
False | Disable angular search mode.
Remark
  • When the Models.Item(ModelIndex).SearchAngle.Enabled property is set to True, angular search is based on the angles specified in the Models.Item(ModelIndex).SearchAngle.Value, Models.Item(ModelIndex).SearchAngle.PositiveDelta, and Models.Item(ModelIndex).SearchAngle.NegativeDelta properties.
[]
Example
This example enables the SearchAngle property and performs a Preprocess operation on a pattern matching model.

const long SECOND_MODEL =  2; // Second model in the collection

// Enable the angular search and preprocess the model
m_PatternMatching1->Models->Item(SECOND_MODEL)->SearchAngle->Enabled = TRUE;
m_PatternMatching1->Models->Item(SECOND_MODEL)->Preprocess();


PatternMatching.Models.Item.SearchAngle.InterpolationMode Property

InterpolationMode property

Availability | MIL Equivalent | Enabled | NegativeDelta
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetAngle(
ControlType =
M_SEARCH_ANGLE_INTERPOLATION_MODE
)

MpatInquire(
ParamToInquire =
M_SEARCH_ANGLE_INTERPOLATION_MODE
)
PatternMatching
Models
Item
SearchAngle
InterpolationMode
Synopsis
Returns or sets the type of interpolation to be used when rotating the model.
[]
Syntax
object.InterpolationMode [= AngleInterpolationModeConstants]
[]
Syntax
object->InterpolationMode [= enum AngleInterpolationModeConstants]
Type description
An AngleInterpolationModeConstants expression that specifies the type of interpolation. (default is angleBilinear)
Value | Meaning
angleNearestNeighbor | Nearest neighbor interpolation.
angleBilinear | Bilinear interpolation.
angleBicubic | Bicubic interpolation.


PatternMatching.Models.Item.SearchAngle.NegativeDelta Property

NegativeDelta property

See Also | Availability | MIL Equivalent | InterpolationMode | PositiveDelta
Reference:
PatternMatching.Models.Item.SearchAngle.PositiveDelta
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetAngle(
ControlType =
M_SEARCH_ANGLE_DELTA_NEG
)

MpatInquire(
ParamToInquire =
M_SEARCH_ANGLE_DELTA_NEG
)
PatternMatching
Models
Item
SearchAngle
NegativeDelta
Synopsis
Returns or sets the difference that determines the lower limit of the search angle's range.
[]
Syntax
object.NegativeDelta [= Double]
[]
Syntax
object->NegativeDelta [= double]
Type description
A double value an ActiveMILDefaultConstants expression that specifies the difference that determines the lower limit of the angle range. (default is amilDefault)
Value | Meaning
amilDefault | Default is 0.0°.
value | Set to a value between 0.0° and 180°.
Remarks
  • Initial search angle is set with the Models.Item(ModelIndex).SearchAngle.Value property.
  • The lower limit of the search region's angle range is Value- NegativeDelta.
  • To enable angular search mode, set the Models.Item(ModelIndex).SearchAngle.Enabled property to True.


PatternMatching.Models.Item.SearchAngle.PositiveDelta Property

PositiveDelta property

See Also | Availability | MIL Equivalent | NegativeDelta | Tolerance
Reference:
PatternMatching.Models.Item.SearchAngle.NegativeDelta
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetAngle(
ControlType =
M_SEARCH_ANGLE_DELTA_POS
)

MpatInquire(
ParamToInquire =
M_SEARCH_ANGLE_DELTA_POS
)
PatternMatching
Models
Item
SearchAngle
PositiveDelta
Synopsis
Returns or sets the difference that determines the upper limit of the search angle's range.
[]
Syntax
object.PositiveDelta [= Double]
[]
Syntax
object->PositiveDelta [= double]
Type description
A double value or an ActiveMILDefaultConstants expression that specifies the difference that determines the upper limit of the angle range. (default is amilDefault)
Value | Meaning
amilDefault | Default is 0.0°.
value | Set to a value between 0.0° and 180°.
Remarks
  • Initial search angle is set with the Models.Item(ModelIndex).SearchAngle.Value property.
  • The upper limit of the search region's angle range is Value + PositiveDelta.
  • To enable angular search mode, set the Models.Item(ModelIndex).SearchAngle.Enabled property to True.


PatternMatching.Models.Item.SearchAngle.Tolerance Property

Tolerance property

See Also | Availability | MIL Equivalent | PositiveDelta | Value
Reference:
PatternMatching.Models.Item.AcceptanceThreshold
PatternMatching.Models.Item.SearchAngle.Accuracy
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetAngle(
ControlType =
M_SEARCH_ANGLE_TOLERANCE
)

MpatInquire(
ParamToInquire =
M_SEARCH_ANGLE_TOLERANCE
)
PatternMatching
Models
Item
SearchAngle
Tolerance
Synopsis
Returns or sets the full range of degrees within which the pattern in the target image can be rotated from a model at a specific angle and still meet the acceptance level.
[]
Syntax
object.Tolerance [= Double]
[]
Syntax
object->Tolerance [= double]
Type description
A double value or an ActiveMILDefaultConstants expression that sets the tolerance in angle. (default is amilDefault)
Value | Meaning
amilDefault | Default is 5.0°.
value | Set to a value between 0.1° and 180°.
Remarks
  • When an angular range is specified, the Tolerance property determines the step angle for the search.
  • For example, if a model can tolerate the target image being offset from the model's search angle by ±2.5 degrees, specify 5.
  • To enable angular search mode, set the Enabled property to True.
  • Note that very small tolerance values should only be used within a small angular range, otherwise application performance can be adversely affected.


PatternMatching.Models.Item.SearchAngle.Value Property

Value property

Availability | MIL Equivalent | Tolerance
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetAngle(
ControlType =
M_SEARCH_ANGLE
)

MpatInquire(
ParamToInquire =
M_SEARCH_ANGLE
)
PatternMatching
Models
Item
SearchAngle
Value
Synopsis
Returns or sets the initial angle at which to search for the model.
[]
Syntax
object.Value [= Double]
[]
Syntax
object->Value [= double]
Type description
A double value that specifies the initial angle at which the model is searched.
Remarks
  • The range for angular search is determined based on the Value, Models.Item(ModelIndex).SearchAngle.PositiveDelta and Models.Item(ModelIndex).SearchAngle.NegativeDelta properties.
  • To enable angular search mode, set the Models.Item(ModelIndex).SearchAngle.Enabled property to True.


PatternMatching.Models.Item.SearchRegion Property

SearchRegion property

See Also | Availability | MIL Equivalent | SearchAngle | SizeX
User Guide:
Selecting the search region
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetPosition()

MpatInquire( ParamToInquire = M_POSITION_START_X (
ParamToInquire =
M_POSITION_START_X or
M_POSITION_START_Y or
M_POSITION_UNCERTAINTY_X or
M_POSITION_UNCERTAINTY_Y
)
PatternMatching
Models
Item
SearchRegion
Properties: CenterX, CenterY, EndX, EndY, FullSize, Mode, OffsetX, OffsetY, SizeX, SizeY, StartX, StartY
Synopsis
Allows you to specify or determine the region in which the search will be performed.
[]
Syntax
[RegionOfInterest =] object.SearchRegion
[]
Syntax
[IRegionOfInterestPtr =] object->SearchRegion
Type description
A RegionOfInterest object.
Remarks
  • You cannot assign another RegionOfInterest object to this property.
  • The search region is the region in which the reference position (Models.Item(ModelIndex).ReferenceX property and Models.Item(ModelIndex).ReferenceY property) of the model is searched. The search region can be the whole target image or part of the target image.
  • It is valid to specify a search region that is smaller than the search model since you are setting the area in which to find the model's reference position.


PatternMatching.Models.Item.SearchRegion.CenterX Property

CenterX property

See Also | Availability | MIL Equivalent | CenterY
Reference:
PatternMatching.Models.Item.SearchRegion.CenterY
PatternMatching.Models.Item.SearchRegion.SizeX
PatternMatching.Models.Item.SearchRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
PatternMatching
Models
Item
SearchRegion
CenterX
Synopsis
Returns or sets the X-coordinate of the search region's center, in the target image.
[]
Syntax
object.CenterX [= Integer]
[]
Syntax
object->CenterX [= long]
Type description
A long value that specifies the X-coordinate of the search region's center, relative to the top-left corner of the target image.
Remarks
  • The center position, along with the size, define the search region.
  • The start position (offset) and end position will be modified as a result of moving the center position.


PatternMatching.Models.Item.SearchRegion.CenterY Property

CenterY property

See Also | Availability | MIL Equivalent | CenterX | EndX
Reference:
PatternMatching.Models.Item.SearchRegion.CenterX
PatternMatching.Models.Item.SearchRegion.SizeX
PatternMatching.Models.Item.SearchRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
PatternMatching
Models
Item
SearchRegion
CenterY
Synopsis
Returns or sets the Y-coordinate of the search region's center, in the target image.
[]
Syntax
object.CenterY [= Integer]
[]
Syntax
object->CenterY [= long]
Type description
A long value that specifies the Y-coordinate of the search region's center, relative to the top-left corner of the target image.
Remarks
  • The center position, along with the size, define the search region.
  • The start position (offset) and end position will be modified as a result of moving the center position.


PatternMatching.Models.Item.SearchRegion.EndX Property

EndX property

See Also | Availability | MIL Equivalent | CenterY | EndY
Reference:
PatternMatching.Models.Item.SearchRegion.EndY
PatternMatching.Models.Item.SearchRegion.StartX
PatternMatching.Models.Item.SearchRegion.StartY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
PatternMatching
Models
Item
SearchRegion
EndX
Synopsis
Returns or sets the X-coordinate of the search region's end position, within the target image.
[]
Syntax
object.EndX [= Integer]
[]
Syntax
object->EndX [= long]
Type description
A long value that specifies the X-coordinate of the search region's end position, relative to the top-left corner of the target image.
Remarks
  • The start position (offset) and end position define the search region.
  • The center position, as well as the size, will be modified as a result of moving the end position.


PatternMatching.Models.Item.SearchRegion.EndY Property

EndY property

See Also | Availability | MIL Equivalent | EndX | FullSize
Reference:
PatternMatching.Models.Item.SearchRegion.EndX
PatternMatching.Models.Item.SearchRegion.StartX
PatternMatching.Models.Item.SearchRegion.StartY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
PatternMatching
Models
Item
SearchRegion
EndY
Synopsis
Returns or sets the Y-coordinate of the search region's end position, within the target image.
[]
Syntax
object.EndY [= Integer]
[]
Syntax
object->EndY [= long]
Type description
A long value that specifies the Y-coordinate of the search region's end position, relative to the top-left corner of the target image.
Remarks
  • The start position (offset) and end position define the search region.
  • The center position, as well as the size, will be modified as a result of moving the end position.


PatternMatching.Models.Item.SearchRegion.FullSize Property

FullSize property

Availability | MIL Equivalent | EndY | Mode
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
PatternMatching
Models
Item
SearchRegion
FullSize
Synopsis
Returns or sets whether the size of the search region will be equal to the size of the target image.
[]
Syntax
object.FullSize [= Boolean]
[]
Syntax
object->FullSize [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the size of the search region will be equal to the size of the target image.
Value | Meaning
True | Size of the search region will be equal to the size of the target image.
False | Size of the search region will not be equal to the size of the target image.
Remark
  • This property is reset to False when any other property belonging to the Models.Item(ModelIndex).SearchRegion property is changed.


PatternMatching.Models.Item.SearchRegion.Mode Property

Mode property

See Also | Availability | MIL Equivalent | FullSize | OffsetX
Reference:
PatternMatching.Models.Item.SearchRegion.OffsetX
PatternMatching.Models.Item.SearchRegion.OffsetY
PatternMatching.Models.Item.SearchRegion.SizeX
PatternMatching.Models.Item.SearchRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
PatternMatching
Models
Item
SearchRegion
Mode
Synopsis
Returns or sets the mode of anchoring the search region.
[]
Syntax
object.Mode [= RoiModeConstants]
[]
Syntax
object->Mode [= enum RoiModeConstants]
Type description
A RoiModeConstants expression that specifies the mode.
Value | Meaning
roiOffsetSize | The offset properties are anchored. This means that when the size changes, the offsets do not move; it is the center that is displaced accordingly.
roiCenterSize | The center properties are anchored. This means that when the size changes, the coordinates of the center do not move; it is the offsets that are displaced accordingly.


PatternMatching.Models.Item.SearchRegion.OffsetX Property

OffsetX property

See Also | Availability | MIL Equivalent | Mode | OffsetY
Reference:
PatternMatching.Models.Item.SearchRegion.OffsetY
PatternMatching.Models.Item.SearchRegion.SizeX
PatternMatching.Models.Item.SearchRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetPosition(OffsetX)

MpatInquire(
ParamToInquire =
M_POSITION_START_X
)
PatternMatching
Models
Item
SearchRegion
OffsetX
Synopsis
Returns or sets the offset (in the X-direction) of the search region.
[]
Syntax
object.OffsetX [= Integer]
[]
Syntax
object->OffsetX [= long]
Type description
A long value that specifies the X-coordinate of the top-left corner of a search region, relative to the top-left corner of the target image.


PatternMatching.Models.Item.SearchRegion.OffsetY Property

OffsetY property

See Also | Availability | MIL Equivalent | OffsetX | SizeX
Reference:
PatternMatching.Models.Item.SearchRegion.OffsetX
PatternMatching.Models.Item.SearchRegion.SizeX
PatternMatching.Models.Item.SearchRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetPosition(OffsetY)

MpatInquire(
ParamToInquire =
M_POSITION_START_Y
)
PatternMatching
Models
Item
SearchRegion
OffsetY
Synopsis
Returns or sets the offset (in the Y-direction) of the search region.
[]
Syntax
object.OffsetY [= Integer]
[]
Syntax
object->OffsetY [= long]
Type description
A long value that specifies the Y-coordinate of the top-left corner of a search region, relative to the top-left corner of the target image.


PatternMatching.Models.Item.SearchRegion.SizeX Property

SizeX property

See Also | Availability | MIL Equivalent | OffsetY | SizeY
Reference:
PatternMatching.Models.Item.SearchRegion.Mode
PatternMatching.Models.Item.SearchRegion.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetPosition(SizeX)

MpatInquire(
ParamToInquire =
M_POSITION_UNCERTAINTY_X
)
PatternMatching
Models
Item
SearchRegion
SizeX
Synopsis
Returns or sets the width of the search region.
[]
Syntax
object.SizeX [= Integer]
[]
Syntax
object->SizeX [= long]
Type description
A long value that specifies the number of pixels in the horizontal direction.
Remark
  • The Models.Item(ModelIndex).SearchRegion.Mode property determines whether the search region's offset or center is displaced as a result of changing its width.


PatternMatching.Models.Item.SearchRegion.SizeY Property

SizeY property

See Also | Availability | MIL Equivalent | SizeX | StartX
Reference:
PatternMatching.Models.Item.SearchRegion.Mode
PatternMatching.Models.Item.SearchRegion.SizeX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetPosition(SizeY)

MpatInquire(
ParamToInquire =
M_POSITION_UNCERTAINTY_Y
)
PatternMatching
Models
Item
SearchRegion
SizeY
Synopsis
Returns or sets the height of the search region.
[]
Syntax
object.SizeY [= Integer]
[]
Syntax
object->SizeY [= long]
Type description
A long value that specifies the numbers of pixels in the vertical direction.
Remark
  • The Models.Item(ModelIndex).SearchRegion.Mode property determines whether the search region's offset or center is displaced as a result of changing its height.


PatternMatching.Models.Item.SearchRegion.StartX Property

StartX property

See Also | Availability | MIL Equivalent | SizeY | StartY
Reference:
PatternMatching.Models.Item.SearchRegion.EndX
PatternMatching.Models.Item.SearchRegion.EndY
PatternMatching.Models.Item.SearchRegion.OffsetX
PatternMatching.Models.Item.SearchRegion.OffsetY
PatternMatching.Models.Item.SearchRegion.StartY
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
PatternMatching
Models
Item
SearchRegion
StartX
Synopsis
Returns or sets the X-coordinate of the search region's start position, within the target image.
[]
Syntax
object.StartX [= Integer]
[]
Syntax
object->StartX [= long]
Type description
A long value that specifies the X-coordinate of the search region's start position, relative to the top-left corner of the target image.
Remarks
  • The start position (offset) and end position define the search region.
  • The center position, as well as the size, will be modified as a result of moving the start position.


PatternMatching.Models.Item.SearchRegion.StartY Property

StartY property

See Also | Availability | MIL Equivalent | StartX
Reference:
PatternMatching.Models.Item.SearchRegion.EndX
PatternMatching.Models.Item.SearchRegion.EndY
PatternMatching.Models.Item.SearchRegion.OffsetX
PatternMatching.Models.Item.SearchRegion.OffsetY
PatternMatching.Models.Item.SearchRegion.StartX
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
PatternMatching
Models
Item
SearchRegion
StartY
Synopsis
Returns or sets the Y-coordinate of the search region's start position, within the target image.
[]
Syntax
object.StartY [= Integer]
[]
Syntax
object->StartY [= long]
Type description
A long value that specifies the Y-coordinate of the search region's start position, relative to the top-left corner of the target image.
Remarks
  • The start position (offset) and end position define the search region.
  • The center position, as well as the size, will be modified as a result of moving the start position.


PatternMatching.Models.Item.SizeX Property

SizeX property

See Also | Availability | MIL Equivalent | SearchRegion | SizeY
Reference:
PatternMatching.Models.Item.SearchRegion.Mode
PatternMatching.Models.Item.SizeY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatAllocAutoModel(SizeX)

MpatInquire(
InquireType =
M_ALLOC_SIZE_X
)
PatternMatching
Models
Item
SizeX
Synopsis
Returns the width of the specified model.
[]
Syntax
[Integer =] object.SizeX
[]
Syntax
[long =] object->SizeX
Type description
A long value that specifies the number of pixels in the horizontal direction.
Remarks
  • You can only define models that respect the following condition: (maxvalue2 x SizeX x SizeY) < 232 where maxvalue is the maximum pixel value (typically 255) in the target image and the model. This restriction is imposed to avoid overflows in the internal 32-bit accumulators.
  • The total area of the defined model must be greater or equal to 4 pixels ( SizeX x SizeY >= 4).


PatternMatching.Models.Item.SizeY Property

SizeY property

See Also | Availability | MIL Equivalent | SizeX | Speed
Reference:
PatternMatching.Models.Item.SearchRegion.Mode
PatternMatching.Models.Item.SizeX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatAllocAutoModel(SizeY)

MpatInquire(
InquireType =
M_ALLOC_SIZE_Y
)
PatternMatching
Models
Item
SizeY
Synopsis
Returns the height of the specified model.
[]
Syntax
[Integer =] object.SizeY
[]
Syntax
[long =] object->SizeY
Type description
A long value that specifies the number of pixels in the vertical direction.
Remarks
  • You can only define models that respect the following condition: (maxvalue2 x SizeX x SizeY) < 232 where maxvalue is the maximum pixel value (typically 255) in the target image and the model. This restriction is imposed to avoid overflows in the internal 32-bit accumulators.
  • The total area of the defined model must be greater or equal to 4 pixels ( SizeX x SizeY >= 4).


PatternMatching.Models.Item.Speed Property

Speed property

Availability | MIL Equivalent | SizeY | Control
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetSpeed(Speed)

MpatInquire(
ParamToInquire =
M_SPEED
)
PatternMatching
Models
Item
Speed
Synopsis
Returns or sets the required search speed when using the FindModel method.
[]
Syntax
object.Speed [= PatHighLowConstants]
[]
Syntax
object->Speed [= enum PatHighLowConstants]
Type description
A PatHighLowConstants expression that specifies the search speed. (default is patMedium)
Value | Meaning
patVeryLow | Most reliable but very slow.
patLow | Reliable but slow (for noisy images).
patMedium | Medium speed and reliability.
patHigh | Less reliable but fast (for clean images).
patVeryHigh | Least reliable but very fast .
Remarks
  • At a higher speed, the search takes all reasonable short cuts; therefore, the search should be performed faster than at lower settings. Generally, the patHigh and patVeryHigh speed settings should be used for better quality images or when using a simple model. Note, the search might have a lower tolerance for rotation when using these settings.
  • The patMedium setting is recommended for medium quality images or more complex models. A search with this setting is capable of withstanding up to approximately 5o of rotation for typical models.
  • Use the patLow and patVeryLow speed settings if your image quality is particularly poor and you have encountered problems at higher speeds.
  • Note that whenever the search speed parameter setting of a model changes, the effect of any preprocessing of the model is undone. Therefore, if the search speed is changed, call the Models.Item(ModelIndex).Preprocess method before searching for the model.


PatternMatching.Models.Item.Control Method

Control method

See Also | Availability | MIL Equivalent | Speed | Draw
User Guide:
Search heuristics

Reference:
PatternMatching.Models.Item.Inquire
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetSearchParameter()
PatternMatching
Models
Item
Control
Synopsis
Controls the search algorithm properties of the pattern matching operation.
[]
Syntax
object.Control(
ByVal ControlType As PatInquireAndControlConstants,
ByVal ControlValue As Object
)
[]
Syntax
void object->Control(
enum PatInquireAndControlConstants ControlType,
const _variant_t & ControlValue
)
ControlType
A PatInquireAndControlConstants expression that specifies the search algorithm settings to be modified.
ControlValue
A variantobjectvariant (object for Visual Basic .Net) value that specifies the new value to be set.
Remark
  • This method is reserved for future expansion.


PatternMatching.Models.Item.Draw Method

Draw method

See Also | Availability | MIL Equivalent | Control | ImportDontCareImage
User Guide:
Define the model

Reference:
PatternMatching.Results.Item.Draw
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Morphis
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Orion
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
MpatDraw()
PatternMatching
Models
Item
Draw
Synopsis
Draw specific features of the model in the destination image.
[]
Syntax
object.Draw(
ByVal ImageOrGraphicContext As Object,
ByVal Operation As PatDrawOperationConstants
)
[]
Syntax
void object->Draw(
IDispatch * ImageOrGraphicContext,
enum PatDrawOperationConstants Operation
)
ImageOrGraphicContext
An Image control that specifies the image into which to draw, or a GraphicContext control that specifies the graphic context and image to use to draw features.

Operation
A PatDrawOperationConstants expression that specifies the features to draw. These constants can be added together to draw multiple features simultaneously.
Value | Meaning
patDrawBox | Draws the bounding box of the model.
patDrawDontCares | Draws the model's "don't care" pixels.
patDrawImage | Draws the region of the model source image from which the model was extracted (copy).
patDrawPosition | Draws a cross at the model's reference position.

You can add the following setting to the above ModDrawOperationConstants:
Value | Meaning
patOriginalPosition | Drawing is done at the original position of the model in the model source image. If this setting is not specified, features are drawn at the top-left corner of the destination image.
Remarks
  • For example, to draw both the position and bounding box of the model, set the Operation parameter to patDrawPosition + patDrawBox.
  • When specifying the ImageOrGraphicContext parameter as a GraphicContext control, the image associated with the control is used as the destination image.
  • You can also choose to draw in the display's overlay image.
  • If patOriginalPosition is added to the operation parameter the drawing is done at the original position of the model; otherwise features are drawn at the top-left corner of the destination image.
  • When using this method to draw features extracted from calibrated model source images, the destination drawing image must also be calibrated, using the same absolute coordinate system. The Draw method draws all the requested features according to whether the destination image is physically corrected or not.
Remark for Matrox Odyssey XA
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the PatternMatching control. If not, an error will occur.
Remark for Matrox Odyssey XCL
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the PatternMatching control. If not, an error will occur.
Remark for Matrox Odyssey XD
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the PatternMatching control. If not, an error will occur.


PatternMatching.Models.Item.ImportDontCareImage Method

ImportDontCareImage method

See Also | Availability | MIL Equivalent | Draw | Inquire
User Guide:
Masking the model
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetDontCare()
PatternMatching
Models
Item
ImportDontCareImage
Synopsis
Sets the model's "don't care" pixels.
[]
Syntax
object.ImportDontCareImage(
ByVal SourceImage As Image,
ByVal PixelsValue As Integer,
ByVal OffsetX As Integer,
ByVal OffsetY As Integer
)
[]
Syntax
void object->ImportDontCareImage(
IImage * SourceImage,
long PixelsValue,
long OffsetX,
long OffsetY
)
SourceImage
An Image control that specifies the image from which to copy the data.
PixelsValue (optional in , default is 0)
A long value that specifies the pixel value in the image to be considered "don't care".
OffsetX (optional in , default is 0)
A long value that specifies the X-offset from the upper-left corner of the specified source image to upper-left corner of the pixel value comparison area.
OffsetY (optional in , default is 0)
A long value that specifies the Y-offset from the upper-left corner of the specified source image to upper-left corner of the pixel value comparison area.
Remark
  • This method does not support a patCircularOverscan model.


PatternMatching.Models.Item.Inquire Method

Inquire method

See Also | Availability | MIL Equivalent | ImportDontCareImage | Preprocess
Reference:
PatternMatching.Models.Item.Control
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis

See remarks for support on:
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox Orion
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MpatInquire()
PatternMatching
Models
Item
Inquire
Synopsis
Inquires about the search algorithm of the PatternMatching control.
[]
Syntax
[Object =] object.Inquire(
ByVal ParamToInquire As PatInquireAndControlConstants
)
[]
Syntax
[_variant_t =] object->Inquire(
enum PatInquireAndControlConstants ParamToInquire
)
ParamToInquire
A PatInquireAndControlConstants expression that specifies the search algorithm setting to inquire about.
Value | Meaning
patNativeID | Returns the board-level native identifier associated with the pattern matching model MIL identifier.
Return value
The current value assigned to the attribute that is inquired about.
Remark for Matrox Corona-II
  • The patNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox CronosPlus
  • The patNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox Helios XA
  • The patNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox Helios XCL
  • The patNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox Meteor-II /1394
  • The patNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox Meteor-II /Camera Link
  • The patNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox Meteor-II /Digital
  • The patNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox Meteor-II /Multi-Channel
  • The patNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox Meteor-II /Standard
  • The patNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox Morphis
  • The patNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox Odyssey XA
  • The patNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox Odyssey XCL
  • The patNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox Odyssey XD
  • The patNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox Orion
  • The patNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox Solios XA
  • The patNativeID inquire setting is not supported. This method is reserved for future expansion.
Remark for Matrox Solios XCL
  • The patNativeID inquire setting is not supported. This method is reserved for future expansion.


PatternMatching.Models.Item.Preprocess Method

Preprocess method

Availability | MIL Equivalent | Inquire | Save
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatPreprocModel()
PatternMatching
Models
Item
Preprocess
Synopsis
Preprocesses the pattern matching model. This trains the PatternMatching control to search for a model in the most efficient manner.
[]
Syntax
object.Preprocess()
[]
Syntax
void object->Preprocess()
Remarks
  • Call this method after all search constraints have been set. When you save, the model's preprocessing changes are saved with the model. Upon restoration, the model need not be preprocessed again.
  • Note that if some of the model's search parameters are changed after a call to this method, the model must be preprocessed again. To inquire if your model is in a preprocessed state, use the Models.Item(ModelIndex).IsPreprocessed property.
  • This method is potentially quite lengthy (up to several seconds).
[]
Example
This example enables the SearchAngle property and performs a Preprocess operation on a pattern matching model.

const long SECOND_MODEL =  2; // Second model in the collection

// Enable the angular search and preprocess the model
m_PatternMatching1->Models->Item(SECOND_MODEL)->SearchAngle->Enabled = TRUE;
m_PatternMatching1->Models->Item(SECOND_MODEL)->Preprocess();


PatternMatching.Models.Item.Save Method

Save method

See Also | Availability | MIL Equivalent | Preprocess
Reference:
PatternMatching.Models.Load
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSave()
PatternMatching
Models
Item
Save
Synopsis
Saves the model to disk.
[]
Syntax
object.Save(
ByVal FileName As String
)
[]
Syntax
void object->Save(
_bstr_t FileName
)
FileName
A string expression that specifies the name of the file in which to save the data. The file name should have an MMO file extension.
Remark
  • If you pass the FileName parameter an empty string (""), the File Open dialog box is presented so that you can interactively select a file name.


PatternMatching.Models.Add Method

Add method

See Also | Availability | MIL Equivalent | AddAutomatic | Draw
User Guide:
Define the model
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
MpatAllocModel()
PatternMatching
Models
Add
Synopsis
Adds a new model of the specified type to the collection.
[]
Syntax
object.Add(
ByVal SourceImage As Image,
ByVal OffsetX As Integer,
ByVal OffsetY As Integer,
ByVal SizeX As Integer,
ByVal SizeY As Integer,
ByVal NumberOfOccurrences As Integer,
ByVal ModelType As PatModelTypeConstants
)
[]
Syntax
void object->Add(
IImage * SourceImage,
long OffsetX,
long OffsetY,
long SizeX,
long SizeY,
long NumberOfOccurrences,
enum PatModelTypeConstants ModelType
)
SourceImage
An Image control that specifies the image from which to extract the model.
OffsetX
A long value that specifies the horizontal offset of the model in the source image.
OffsetY
A long value that specifies the vertical offset of the model in the source image.
SizeX
A long value that specifies the width of the model.
SizeY
A long value that specifies the height of the model.
NumberOfOccurrences
A long value that specifies the number of occurrences of the model.
ModelType
A PatModelTypeConstants value that specifies the type of the model.
Value | Meaning
patNormalized | A model used to search for the position, match score, and angle (if angular search is enabled) of a model occurrence in the specified image.

You can add the following setting to patNormalized:
Value | Meaning
patCircularOverscan | Extracts the model, as well as circular overscan data from the source image. The overscan data is determined by rotating the area from which to extract the model, about its center. The overscan data of an patCircularOverscan type model is used if you search for an occurrence of the model at an angle.
Remarks
  • You can only define models that respect the following condition: (maxvalue2 x SizeX x SizeY) < 232 where maxvalue is the maximum pixel value (typically 255) in the target image and the model. This restriction is imposed to avoid overflows in the internal 32-bit accumulators.
  • The total area of the defined model must be greater or equal to 4 pixels (SizeX x SizeY >= 4).
  • The default reference position (Models.Item(ModelIndex).ReferenceX and Models.Item(ModelIndex).ReferenceY) of the model is a double value equal to ((SizeX- 1)/2.0, (SizeY- 1)/2.0)
  • To perform an angular search with a patNormalized type model (with or without overscan data), define the angular range in which the model can appear using the properties of the Models.Item(ModelIndex).SearchAngle method. Angular search is fastest when performed with a patCircularOverscan model; however, patCircularOverscan should only be used when the region around the model is consistent (for example, when searching for a chip in the image of an integrated circuit). A patNormalized type model (without overscan data) is usually used for an image with an inconsistent surrounding region, such as an image of loose nuts and bolts lying on a metal sheet.
  • When preprocessing a patNormalized model (without overscan data) for which an angular search range is specified, rotated versions of the model are created assigning "don't care" pixels to regions that do not have corresponding data in the original model. When preprocessing a patCircularOverscan model, you cannot define "don't care" regions (Models.Item(ModelIndex).ImportDontCareImage method).
  • When preprocessing a patCircularOverscan model for which an angular search range has been specified, a set of models is extracted from rotated versions of the patCircularOverscan model, creating models that would appear upright if the target image were rotated. For this type of model, a larger region than the one defined is extracted from the model's source image so as to allow creation of models at different angles. Therefore, the model must not be extracted from a region too close to the edge of the model's source image. In addition, the patCircularOverscan model should be complex enough so that if models are extracted at the required angles, they are representative of the pattern being sought.
Remark for Matrox Genesis
  • patCircularOverscan models are not supported.


PatternMatching.Models.AddAutomatic Method

AddAutomatic method

Availability | MIL Equivalent | Item | Add
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
MpatAllocAutoModel()
PatternMatching
Models
AddAutomatic
Synopsis
Automatically adds a new unique model of the specified type to the collection.
[]
Syntax
object.AddAutomatic(
ByVal SourceImage As Image,
ByVal SizeX As Integer,
ByVal SizeY As Integer,
ByVal PosUncertaintyX As Integer,
ByVal PosUncertaintyY As Integer,
ByVal ModelType As PatModelTypeConstants,
ByVal Mode As PatModelModeConstants
)
[]
Syntax
void object->AddAutomatic(
IImage * SourceImage,
long SizeX,
long SizeY,
long PosUncertaintyX,
long PosUncertaintyY,
enum PatModelTypeConstants ModelType,
enum PatModelModeConstants Mode
)
SourceImage
An Image control that specifies the image from which to extract the model.
SizeX
A long value that specifies the width of the model.
SizeY
A long value that specifies the height of the model.
PosUncertaintyX
A long value that specifies the maximum X-axis displacement.
PosUncertaintyY
A long value that specifies the maximum Y-axis displacement.
ModelType
A PatModelTypeConstants value that specifies the type of the model.
Value | Meaning
patNormalized | A model used to search for the position, match score, and angle (if angular search is enabled) of the model in the specified image.

You can add the following setting to patNormalized:
Value | Meaning
patCircularOverscan | Extracts the model as well as circular overscan data from the model image. The overscan data is determined by rotating the area from which to extract the model, about its center. The overscan data of an patCircularOverscan type model is used if you search for an occurrence of the model at an angle.
Mode
A PatModelModeConstants value that controls the speed of the allocation process.
Value | Meaning
patFastMode | For high-speed allocation.
patBestMode | For high-precision allocation.
Remarks
  • You can only define models that respect the following condition: (maxvalue2 x SizeX x SizeY) < 232 where maxvalue is the maximum pixel value (typically 255) in the target image and the model. This restriction is imposed to avoid overflows in the internal 32-bit accumulators.
  • The total area of the defined model must be greater or equal to 4 pixels (SizeX x SizeY >= 4).
  • The default reference position (Models.Item(ModelIndex).ReferenceX and Models.Item(ModelIndex).ReferenceY) of the model is a double value equal to ((SizeX- 1)/2.0, (SizeY- 1)/2.0)
  • This method searches for the most-suitable unique area, of the specified dimension, in the model's source image. From the area found, it automatically allocates a model. If an area is not found, no model is allocated and an error is reported. It can take several seconds to find the best model (more for large or small images).
  • To be effective, the model's target image should be a typical target image. Therefore, the AddAutomatic method is useful, for example, when you want to perform whole image alignment, for which allocation of a unique model is essential.
  • The PosUncertaintyX and PosUncertaintyY parameters specify the maximum displacement (shift) expected between the reference position of the models in the source image and their position when found in the target images. This information is used to select models that are far enough from the image borders to be present in the target images. Set PosUncertaintyX and PosUncertaintyY to the expected maximum pixel displacement in the vertical and horizontal direction, respectively. You can set either of these parameters to amilDefault if the models can be selected from anywhere in the whole width and/or height of the image, respectively. The default search region of each model is automatically set using the original position of the model, plus or minus the specified positional uncertainty.
  • You can determine the offset of a model's origin relative to its source image, using the Models.Item(ModelIndex).OriginalPositionX and Models.Item(ModelIndex).OriginalPositionY properties.
  • If the eventual model can appear at an angle, in most cases, it is better to allocate a patNormalized + patCircularOverscan model and then use the properties of the Models.Item(ModelIndex).SearchAngle property to specify the angular range.
  • When preprocessing a patCircularOverscan model, you cannot define "don't care" regions (Models.Item(ModelIndex).ImportDontCareImage method).
Remark for Matrox Genesis
  • patCircularOverscan models are not supported.


PatternMatching.Models.Draw Method

Draw method

See Also | Availability | MIL Equivalent | Add | Load
User Guide:
Define the model

Reference:
PatternMatching.Results.Item.Draw
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Morphis
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Orion
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
MpatDraw()
PatternMatching
Models
Draw
Synopsis
Draw specific features of all models in the destination image.
[]
Syntax
object.Draw(
ByVal ImageOrGraphicContext As Object,
ByVal Operation As PatDrawOperationConstants
)
[]
Syntax
void object->Draw(
IDispatch * ImageOrGraphicContext,
enum PatDrawOperationConstants Operation
)
ImageOrGraphicContext
An Image control that specifies the image into which to draw, or a GraphicContext control that specifies the graphic context and image to use to draw features.

Operation
A PatDrawOperationConstants expression that specifies the features to draw. These constants can be added together to draw multiple features simultaneously.
Value | Meaning
patDrawBox | Draws the bounding boxes of all models.
patDrawDontCares | Draws "don't care" pixels of all models.
patDrawImage | Draws the regions of the model source images from which all models were extracted (copies).
patDrawPosition | Draws a cross at the reference positions of all models.

You can add the following setting to the above ModDrawOperationConstants:
Value | Meaning
patOriginalPosition | Drawing is done at the original positions of all models in the model source images. If this setting is not specified, features are drawn at the top-left corner of the destination image, overlapping each other.
Remarks
  • For example, to draw both the position and bounding box of all models, set the Operation parameter to patDrawPosition + patDrawBox.
  • When specifying the ImageOrGraphicContext parameter as a GraphicContext control, the image associated with the control is used as the destination image.
  • You can also choose to draw in a display's overlay image. By drawing into a display's overlay buffer, you can also annotate an image non-destructively.
  • If patOriginalPosition is added to the operation parameter, the drawing is done at the original position of the model; otherwise features are drawn at the top-left corner of the destination image.
  • When using this method to draw features extracted from calibrated model source images, the destination drawing image must also be calibrated, using the same absolute coordinate system. The Draw method draws all the requested features according to whether the destination image is physically corrected or not.
Remark for Matrox Odyssey XA
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the PatternMatching control. If not, an error will occur.
Remark for Matrox Odyssey XCL
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the PatternMatching control. If not, an error will occur.
Remark for Matrox Odyssey XD
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the PatternMatching control. If not, an error will occur.


PatternMatching.Models.Load Method

Load method

See Also | Availability | MIL Equivalent | Draw | Remove
User Guide:
Error reporting

Reference:
PatternMatching.Models.Item.Save
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatRestore()
PatternMatching
Models
Load
Synopsis
Loads a model from a file into the collection of pattern matching models.
[]
Syntax
[Integer =] object.Load(
ByVal FileName As String
)
[]
Syntax
[long =] object->Load(
_bstr_t FileName
)
FileName
A string expression that specifies the name of the file from which to load the model.
Return value
Returns the index of the new model.
Remarks
  • If you pass the FileName parameter an empty string (""), the File Open dialog box is presented so that you can interactively select a file name.
  • The Load method will generate an error if the file cannot be found or loaded properly.


PatternMatching.Models.Remove Method

Remove method

Availability | MIL Equivalent | Load
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatFree()
PatternMatching
Models
Remove
Synopsis
Removes a model from the collection of pattern matching models.
[]
Syntax
object.Remove(
ByVal Index As Integer
)
[]
Syntax
void object->Remove(
long Index
)
Index
A long value that specifies an index into the collection of models, identifying the model to remove.


PatternMatching.MultipleModelMode Property

MultipleModelMode property

See Also | Availability | MIL Equivalent | Models | Name
Reference:
PatternMatching.FindModel
PatternMatching.SearchMode
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
PatternMatching
MultipleModelMode
Synopsis
Returns or sets whether you can search for more than one model with the FindModel method.
[]
Syntax
object.MultipleModelMode [= Boolean]
[]
Syntax
object->MultipleModelMode [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the FindModel method can search for multiple models or not.
Value | Meaning
True | The FindModel method can search for more than one model at a time.
False | The FindModel method can search for only one model at a time.
Remarks
  • You can only perform pattern matching operations on 8-bit grayscale unsigned images.
  • If MultipleModelMode property is set to True, the search operation will use more memory even when you are searching for only one model.
  • The collection of models is specified using the Models property.
  • If this property is set to True, use the SearchMode property to specify how to perform the search.


PatternMatching.Name Property

Name property

Availability | MIL Equivalent | MultipleModelMode | OwnerSystem
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
PatternMatching
Name
Synopsis
Returns or sets the name used in code to identify the PatternMatching control.
[]
Syntax
object.Name [= String]
[]
Syntax
object->Name [= _bstr_t]
Type description
A string expression that specifies the name of the PatternMatching control.
Remarks
  • This property cannot be set at run-time.
  • The default name for a new control is the type of control plus a unique integer. For example, the first new PatternMatching control you create on a form is named PatternMatching1 and the second PatternMatching control is named PatternMatching2.
  • A control's Name property must start with a letter and can be a maximum of 40 characters. It can include numbers and underscore (_) characters but cannot include spaces or punctuation. Although the Name property setting can be a keyword, property name, or the name of another object, it can create conflicts in your code.


PatternMatching.OwnerSystem Property

OwnerSystem property

See Also | Availability | MIL Equivalent | Name | OwnerSystemName
User Guide:
Owner system

Reference:
System
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatAllocAutoModel (SystemId)

MpatAllocModel(SystemId)

MpatAllocResult (SystemId)

MpatAllocRotatedModel (SystemId)
PatternMatching
OwnerSystem
Synopsis
Returns or sets the system on which the resources of the PatternMatching control are allocated.
[]
Syntax
object.OwnerSystem [= System]
[]
Syntax
object->OwnerSystem [= ISystemPtr]
Type description
A System control that specifies the system to set as the owner (parent) of the PatternMatching control.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The owner system can also be specified, with the name assigned to its control, using the OwnerSystemName property.
  • This property automatically sets the OwnerSystemName property.


PatternMatching.OwnerSystemName Property

OwnerSystemName property

See Also | Availability | MIL Equivalent | OwnerSystem | PropertyValidation
User Guide:
Owner system

Reference:
System
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatAllocAutoModel (SystemId)

MpatAllocModel(SystemId)

MpatAllocResult (SystemId)

MpatAllocRotatedModel (SystemId)
PatternMatching
OwnerSystemName
Synopsis
Returns or sets the name of the System control representing the system on which the resources of the PatternMatching control are allocated.
[]
Syntax
object.OwnerSystemName [= String]
[]
Syntax
object->OwnerSystemName [= _bstr_t]
Type description
A string expression that specifies the name of the System control to set as the owner (parent) of the PatternMatching control.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The owner system can also be specified using the OwnerSystem property.
  • This property automatically sets the OwnerSystem property.


PatternMatching.PropertyValidation Property

PropertyValidation property

See Also | Availability | MIL Equivalent | OwnerSystemName | Results
User Guide:
Error reporting
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
PatternMatching
PropertyValidation
Synopsis
Returns or sets whether the properties of the PatternMatching control are dynamically validated.
[]
Syntax
object.PropertyValidation [= Boolean]
[]
Syntax
object->PropertyValidation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the property validation mode.
Value | Meaning
True | The control's properties will be dynamically validated. Errors will be generated during the design process.
False | The control's properties will not be dynamically validated. Errors will only be generated at run-time.
Remarks
  • At run-time, this property is read-only and is always set to True.
  • When set to True and if one of the control's properties is not properly set, then the control is outlined in red. The error page of the control's property pages describes the specific error.


PatternMatching.Results Property

Results property

Availability | MIL Equivalent | PropertyValidation | SearchMode
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatGetResult()
PatternMatching
Results
Properties: Count, Item, MilID

Methods: Draw, Get, GetMultiple
Synopsis
Returns the collection of pattern matching results obtained by the PatternMatching control, allowing access to its elements.
[]
Syntax
[PatternMatchingResults =] object.Results
[]
Syntax
[IPatternMatchingResultsPtr =] object->Results
Type description
A PatternMatchingResults expression that represents an instance of a PatternMatchingResults collection.


PatternMatching.Results.Count Property

Count property

Availability | MIL Equivalent | Item
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatGetNumber()
PatternMatching
Results
Count
Synopsis
Returns the number of elements in the collection of pattern matching results.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A long value that specifies the number of elements currently in the collection.
Remarks
  • The elements in the pattern matching results collection refer to the occurrences found in the target image.
  • The Count property will return zero until the FindModel method is called.


PatternMatching.Results.Item Property

Item property

Availability | MIL Equivalent | Count | MilID
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
PatternMatching
Results
Item
Properties: Angle, ModelIndex, PositionX, PositionY, Score

Method: Draw
Synopsis
Returns the element at the specified index in the collection of pattern matching results.
[]
Syntax
[PatternMatchingResult=]object.Item(
index As Integer
)
[]
Syntax
[IPatternMatchingResultPtr =] object->Item(
long index
)
index
A long value that specifies the index of the required item.
Type description
A PatternMatchingResult object.
Remarks
  • Note that the index of the first element in the collection is 1.
  • The elements in the pattern matching results collection refer to the model occurrences in the target image.
  • If the value provided as the index does not match any existing element of the collection, an error occurs.
  • Note that when searching for multiple models, the results of occurrences of each model are returned to this collection. The Results.Item.ModelIndex property returns the index of the model, associated with the pattern matching result.


PatternMatching.Results.Item.Angle Property

Angle property

See Also | Availability | MIL Equivalent | ModelIndex
Reference:
PatternMatching.Models.Item.SearchAngle
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatGetResult(
ResultType =
M_ANGLE
)
PatternMatching
Results
Item
Angle
Synopsis
Returns the angle of the occurrence of the model, for a search performed with the FindModel method.
[]
Syntax
[Double =] object.Angle
[]
Syntax
[double =] object->Angle
Type description
A double value that returns the angle in degrees.
Remark
  • The angle is calculated only when the Models.Item(ModelIndex).SearchAngle.Enabled property is set to true.


PatternMatching.Results.Item.ModelIndex Property

ModelIndex property

Availability | MIL Equivalent | Angle | PositionX
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
PatternMatching
Results
Item
ModelIndex
Synopsis
Returns the index of the model associated with the pattern matching result.
[]
Syntax
[Integer =] object.ModelIndex
[]
Syntax
[long =] object->ModelIndex
Type description
A long value that specifies an index into the collection of pattern matching results. It identifies the model that was used to obtain the result.
Remark
  • When the FindModel method is called with the MultipleModelMode property set to True, results for all models are obtained. This property identifies the model that was used to obtain the result.


PatternMatching.Results.Item.PositionX Property

PositionX property

See Also | Availability | MIL Equivalent | ModelIndex | PositionY
Reference:
PatternMatching.FindModel
PatternMatching.Results.Item.PositionY
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatGetResult(
ResultType =
M_POSITION_X
)
PatternMatching
Results
Item
PositionX
Synopsis
Returns the X-coordinate of the occurrence of the model in the target image, for a search performed with the FindModel method.
[]
Syntax
[Double =] object.PositionX
[]
Syntax
[double =] object->PositionX
Type description
A double value that returns the X-coordinate position of the occurrence of the model.
Remark
  • This property returns the X-position of the model in the target image, corresponding to the Models.Item(ModelIndex).ReferenceX property.


PatternMatching.Results.Item.PositionY Property

PositionY property

See Also | Availability | MIL Equivalent | PositionX | Score
Reference:
PatternMatching.FindModel
PatternMatching.Results.Item.PositionX
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatGetResult(
ResultType =
M_POSITION_Y
)
PatternMatching
Results
Item
PositionY
Synopsis
Returns the Y-coordinate of the occurrence of the model in the target image, for a search performed with the FindModel method.
[]
Syntax
[Double =] object.PositionY
[]
Syntax
[double =] object->PositionY
Type description
A double value that returns the Y-coordinate position of the occurrence of the model.
Remark
  • This property returns the Y-position of the model in the target image, corresponding to the Models.Item(ModelIndex).ReferenceY property.


PatternMatching.Results.Item.Score Property

Score property

See Also | Availability | MIL Equivalent | PositionY | Draw
Reference:
PatternMatching.Models.Item.AcceptanceThreshold
PatternMatching.Models.Item.CertaintyThreshold
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatGetResult(
ResultType =
M_SCORE
)
PatternMatching
Results
Item
Score
Synopsis
Returns the match score of the occurrence of the model in the target image, for a search performed with the FindModel method.
[]
Syntax
[Double =] object.Score
[]
Syntax
[double =] object->Score
Type description
A double value that returns the match score as a percentage.


PatternMatching.Results.Item.Draw Method

Draw method

See Also | Availability | MIL Equivalent | Score
User Guide:
Finding the model

Reference:
PatternMatching.Models.Item.Draw
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Morphis
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Orion
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
MpatDraw()
PatternMatching
Results
Item
Draw
Synopsis
Draw specific features of the result occurrence in the destination image.
[]
Syntax
object.Draw(
ByVal ImageOrGraphicContext As Object,
ByVal Operation As PatDrawOperationConstants
)
[]
Syntax
void object->Draw(
IDispatch * ImageOrGraphicContext,
enum PatDrawOperationConstants Operation
)
ImageOrGraphicContext
An Image control that specifies the image into which to draw, or a GraphicContext control that specifies the graphic context and image to use to draw features.

Operation
A PatDrawOperationConstants expression that specifies the features to draw. These constants can be added together to draw multiple features simultaneously.
Value | Meaning
patDrawBox | Draws the bounding box of the result occurrence(s). The box is drawn at the coordinates at which its origin was found in the target image, respecting the occurrence's angle.
patDrawPosition | Draws a cross at the result occurrence's reference position and angle found in the target image.
Remarks
  • For example, to draw both the position and bounding box of the result occurrence, set the Operation parameter to patDrawPosition + patDrawBox.
  • When specifying the ImageOrGraphicContext parameter as a GraphicContext control, the image associated with the control is used as the destination image.
  • You can also choose to draw in the display's overlay image.
  • When using this method to draw features from calibrated target images, the destination drawing image must also be calibrated, using the same absolute coordinate system. This method draws all the requested features according to whether the destination image is physically corrected or not.
Remark for Matrox Odyssey XA
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the PatternMatching control. If not, an error will occur.
Remark for Matrox Odyssey XCL
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the PatternMatching control. If not, an error will occur.
Remark for Matrox Odyssey XD
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the PatternMatching control. If not, an error will occur.


PatternMatching.Results.MilID Property

MilID property

See Also | Availability | MIL Equivalent | Item | Draw
User Guide:
Integrating MIL functions into your ActiveMIL code.

Reference:
PatternMatching.IsAllocated
PatternMatching.Modified
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatAllocResult(PatResultIdPtr)
PatternMatching
Results
MilID
Synopsis
Returns the Native MIL identifier of the allocated resources of the results.
[]
Syntax
[Integer=]object.MilID(
ResultIndex As Integer
)
[]
Syntax
[long =] object->MilID[long ResultIndex]
ResultIndex
A long value that specifies an index into the collection of pattern matching results.
Type description
A long value that specifies the Native MIL identifier of the results.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • When the FindModel method is called with the MultipleModelMode property set to true, results for all models are obtained: a unique result MilID for each model found (not each occurrence of the model) is generated and can be returned using this property.
  • If the control's IsAllocated property is False, the MilID property will be 0.


PatternMatching.Results.Draw Method

Draw method

See Also | Availability | MIL Equivalent | MilID | Get
User Guide:
Finding the model

Reference:
PatternMatching.Models.Item.Draw
Not available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Morphis
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Orion
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
MpatDraw()
PatternMatching
Results
Draw
Synopsis
Draw specific features of all result occurrences in the destination image.
[]
Syntax
object.Draw(
ByVal ImageOrGraphicContext As Object,
ByVal Operation As PatDrawOperationConstants
)
[]
Syntax
void object->Draw(
IDispatch * ImageOrGraphicContext,
enum PatDrawOperationConstants Operation
)
ImageOrGraphicContext
An Image control that specifies the image into which to draw, or a GraphicContext control that specifies the graphic context and image to use to draw features.

Operation
A PatDrawOperationConstants expression that specifies the features to draw. These constants can be added together to draw multiple features simultaneously.
Value | Meaning
patDrawBox | Draws the bounding boxes of all result occurrences, respecting the occurrences' angles.
patDrawPosition | Draws a cross at all result occurrences' reference positions, respecting the occurrences' angles.
Remarks
  • For example, to draw both the position and bounding box of the result occurrence, set the Operation parameter to patDrawPosition + patDrawBox.
  • When specifying the ImageOrGraphicContext parameter as a GraphicContext control, the image associated with the control is used as the destination image.
  • You can also choose to draw in the display's overlay image. By drawing into a display's overlay image, you can also annotatate an image non-destructively.
  • When using this method to draw features from calibrated target images, the destination drawing image must also be calibrated, using the same absolute coordinate system. This method draws all the requested features according to whether the destination image is physically corrected or not.
Remark for Matrox Odyssey XA
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the PatternMatching control. If not, an error will occur.
Remark for Matrox Odyssey XCL
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the PatternMatching control. If not, an error will occur.
Remark for Matrox Odyssey XD
  • Note that when setting the ImageOrGraphicContext parameter to a GraphicContext control, you must ensure that the GraphicContext control is allocated on the same system as the PatternMatching control. If not, an error will occur.


PatternMatching.Results.Get Method

Get method

Availability | MIL Equivalent | Draw | GetMultiple
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatGetResult()
PatternMatching
Results
Get
Synopsis
Returns an array containing all the results of the specified type.
[]
Syntax
object.Get(
ByVal ResultType As PatResultTypeConstants,
ByVal UserArray As Array
)
[]
Syntax
void object->Get(
enum PatResultTypeConstants ResultType,
VARIANT * UserArray
)
ResultType
A PatResultTypeConstants expression that specifies the type of result that you want returned for each model occurrence.
Value | Meaning
patScores | The match score of the occurrences.
patPositionsX | X-coordinate of the occurrences.
patPositionsY | Y-coordinate of the occurrences.
patAngles | The angle from an angular search performed with FindModel method.
patModelIndex | The indices of the occurrences.
UserArray
An array of type double in which to put the specified result.

Remark
  • The patModelIndex expression can only be used if the MultipleModelMode property is set to True.


PatternMatching.Results.GetMultiple Method

GetMultiple method

Availability | MIL Equivalent | Get
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatGetResult(M_NULL)

MpatGetResult(UserArray)
PatternMatching
Results
GetMultiple
Synopsis
Returns the results of the specified types, to a user array.
[]
Syntax
object.GetMultiple(
ByVal ResultTypeArray As Array,
ByVal UserArray As Array
)
[]
Syntax
void object->GetMultiple(
VARIANT * ResultTypeArray,
VARIANT * UserArray
)
ResultTypeArray
An array of PatResultTypeConstants expressions that specifies the types of results to return to the user array.
Value | Meaning
patScores | The match score of the occurrences.
patPositionsX | X-coordinate of the occurrences.
patPositionsY | Y-coordinate of the occurrences.
patAngles | The angle from an angular search performed with FindModel method.
patModelIndex | The indices of the occurrences.

UserArray
An array of type double in which to write the specified results.

Remark
  • The patModelIndex expression can only be used if the MultipleModelMode property is set to True.


PatternMatching.SearchMode Property

SearchMode property

See Also | Availability | MIL Equivalent | Results | TargetCaching
Reference:
PatternMatching.FindModel
PatternMatching.MultipleModelMode
PatternMatching.Results.Item.ModelIndex
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatFindMultiple(
SearchMode =
M_FIND_BEST_MODELS or
M_FIND_ALL_MODELS
)
PatternMatching
SearchMode
Synopsis
Returns or sets the search mode when the MultipleModelMode property is set to true.
[]
Syntax
object.SearchMode [= PatSearchModeConstants]
[]
Syntax
object->SearchMode [= enum PatSearchModeConstants]
Type description
A PatSearchModeConstants expression that specifies the search mode.
Value | Meaning
patFindAllModels | Searches for the specified models in the target image and writes the occurrences of all model searches in the collection of pattern matching results.
patFindBestModels | Searches for the specified models in the target image and writes the results which have the highest matching scores in the collection of pattern matching results.
Remarks
  • The MultipleModelMode property must be set to True to search for more than one model using the FindModel method.
  • The target image is specified using the Image property.
  • When using the patFindAllModels mode, if a correlation has a match score above the model's certainty level, it is automatically considered an occurrence and the remaining occurrences will be the best of those above the acceptance level. For each model, the search is performed using the model's current search settings (set using the Models.Item(ModelIndex)... properties). Use the Results.Item(OccurrenceIndex).ModelIndex property to determine the index of the model associated with the pattern matching result.
  • When using the patFindBestModels mode, the occurrences with the highest match scores are written in the collection of results. The search is performed using the search settings of the first model specified (set using the Models.Item(1)... properties). Use the Results.Item(OccurrenceIndex).ModelIndex property to determine the index of the model associated with the pattern matching result.


PatternMatching.TargetCaching Property

TargetCaching property

See Also | Availability | MIL Equivalent | SearchMode | Allocate
User Guide:
Pattern matching algorithm (for advanced users) - Hierarchical search
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatSetSearchParameter(
Parameter =
M_TARGET_CACHING
)
PatternMatching
TargetCaching
Synopsis
Returns or sets whether the pyramidal representation is kept by the PatternMatching control or is generated each time the FindModel method is called.
[]
Syntax
object.TargetCaching [= Boolean]
[]
Syntax
object->TargetCaching [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the pyramidal representation is kept or not. (default is False)
Value | Meaning
True | The pyramidal representation is kept by the control.
False | The pyramidal representation is generated each time the FindModel method is called.
Remarks
  • When the TargetCaching property is set to True, the pyramidal representation is re-used as long as the image, the search region, and the model size are not modified.
  • In general, you should not change the default value of this property, unless you are very familiar with the correlative pattern matching algorithm used by this control.


PatternMatching.Allocate Method

Allocate method

See Also | Availability | MIL Equivalent | TargetCaching | FindModel
User Guide:
Setting up controls

Reference:
PatternMatching.AutomaticAllocation
PatternMatching.Free
PatternMatching.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatAllocAutoModel()

MpatAllocModel()

MpatAllocResult()

MpatAllocRotated()
PatternMatching
Allocate
Synopsis
Allocates the resources of the PatternMatching control.
[]
Syntax
object.Allocate()
[]
Syntax
void object->Allocate()
Remarks
  • By default, the control's AutomaticAllocation property is set to True, and therefore allocation is done automatically.
  • To preserve resources and delay allocation until necessary, set the AutomaticAllocation property to False and call the Allocate method only when the control is actually needed.
  • To create a new PatternMatching control at run-time, use the CreateObject method of the Application control.
  • If you call the Allocate method while the control is in the allocated state, an error is generated. To determine the allocation state of a control, use the IsAllocated property.
  • The following properties cannot be changed at run-time while the control is in the allocated state (free the control using the Free method):
    • OwnerSystem
    • OwnerSystemName
    • Models.Item.NumberOfOccurrences
  • If you try to allocate a Pattern Matching control before its owner system is allocated, an error is generated.
[]
Example
This example demonstrates how to allocate multiple controls with a single call to the Allocate method.

PatternMatching1.AutomaticAllocation = True
PatternMatching1.OwnerSystem = System1

' This call will also allocate PatternMatching1 since
' its OwnerSystem property is System1 and
' its AutomaticAllocation property is set to True
System1.Allocate()
[]
Example
This example demonstrates how to allocate multiple controls with a single call to the Allocate method.

m_PatternMatching1->AutomaticAllocation = TRUE;
m_PatternMatching1->OwnerSystem = m_System1;

// This call will also allocate m_PatternMatching1 since
// its OwnerSystem property is m_System1 and
// its AutomaticAllocation property is set to TRUE
m_System1->Allocate();


PatternMatching.FindModel Method

FindModel method

See Also | Availability | MIL Equivalent | Allocate | Free
Reference:
PatternMatching.MultipleModelMode
PatternMatching.SearchMode
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatFindModel()

MpatFindMultipleModel()
PatternMatching
FindModel
Synopsis
Finds the specified pattern matching model(s) in the target image.
[]
Syntax
object.FindModel(
ByVal Index As Object
)
[]
Syntax
void object->FindModel(
const _variant_t & Index
)
Index (optional)
There are 2 different types for this parameter:

- A long value that specifies an index into the collection of pattern matching models, identifying the model (for default, see remarks).

- An array of type long values. Each value specifies an index into the collection of models, identifying the models for which to search.

Remarks
  • The Models property specifies the collection of models available to the PatternMatching control. The index value of its first element is 1.
  • If the MultipleModelMode property is set to True:
    • By default, when an index or array is not specified, the FindModel method will search for all models in the models collection.
    • When an array is specified, the FindModel method will search for all of the specified models.
    • When an index value is specified, the FindModel method will search for the specified model.
  • If the MultipleModelMode property is set to False:
    • By default, if no parameters are specified, the FindModel method will only search for the first model.
    • When an index value is specified, the FindModel method will search for the specified model.
  • If the MultipleModelMode property is set to True, use the SearchMode property to specify how to perform the search.
  • All models must be preprocessed (using the Models.Item(ModelIndex).Preprocess method) before a search is performed.
  • Note that some properties may change the preprocessed state when their values are modified. Use the IsPreprocessed property to get the preprocessed state.
  • Use the properties of the Results property to read the results of your search.
  • If a correlation has a match score equal or above the certainty level (Models.Item(ModelIndex).CertaintyThreshold property), it is automatically considered an occurrence (default 80%), the remaining occurrences will be the best of those above the acceptance level (Models.Item(ModelIndex).AcceptanceThreshold property).
  • The target image must be an unsigned, 8-bit grayscale image.


PatternMatching.Free Method

Free method

See Also | Availability | MIL Equivalent | FindModel | Modified
User Guide:
Setting up controls

Reference:
PatternMatching.Allocate
PatternMatching.AutomaticAllocation
PatternMatching.IsAllocated
Not available in ActiveMIL-Lite

Available in ActiveMIL
MpatFree()
PatternMatching
Free
Synopsis
Frees the resources of the PatternMatching control.
[]
Syntax
object.Free()
[]
Syntax
void object->Free()
Remarks
  • The resources associated with a PatternMatching control are automatically freed when the control is destroyed. You must use the Free method if you want to free the control prematurely. Note that when you free the PatternMatching control, all of its results are deleted.
  • To determine the allocation state of a control, use the IsAllocated property. While a PatternMatching control is in the allocated state, some of its properties cannot be changed at run-time. For example, you cannot change the number of occurrences of a model at run-time. At run-time, to modify a property that cannot be changed after allocation, you must free the control (using the Free method), change its property(ies), and then re-allocate the control (using the Allocate method). For example, to change the number of occurrences of a model to search for, at run-time, you must free the PatternMatching control, make the change in the Models.Item(ModelIndex).NumberOfOccurrences property, and allocate the control again.
  • The Free method will generate an error if the control is not allocated.
  • Any property can be changed when its control is in the allocated state, unless it is otherwise stated in the Remarks section of that property.
[]
Example
This example shows how to use the Free method.

If PatternMatching1.IsAllocated Then
    PatternMatching1.Free()
End If
[]
Example
This example shows how to use the Free method.

if (m_PatternMatching1->IsAllocated)
   m_PatternMatching1->Free();


PatternMatching.Modified Method

Modified method

See Also | Availability | MIL Equivalent | Free | ShowPropertyPages
User Guide:
Integrating MIL functions into your ActiveMIL code.

Reference:
PatternMatching.Models.Item.MilID
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
PatternMatching
Modified
Synopsis
Informs the PatternMatching control that Native MIL calls were made on its resources.
[]
Syntax
object.Modified(
ByVal ModificationType As Integer
)
[]
Syntax
void object->Modified(
long ModificationType
)
ModificationType (optional in , default is amilDefault)
A long value that specifies the modification type.
Value | Meaning
amilDefault | Specifies that native MIL calls were used to modify the contents of the PatternMatching control.
Remark
  • The Modified method should be called after performing a Native MIL Mpat...() function on the resources of the PatternMatching control. This ensures that all properties of the PatternMatching control are updated to match their state in MIL.


PatternMatching.ShowPropertyPages Method

ShowPropertyPages method

Availability | MIL Equivalent | Modified | ResultsModified
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
PatternMatching
ShowPropertyPages
Synopsis
Opens the specified property pages of the Pattern Matching control in a window.
[]
Syntax
object.ShowPropertyPages(
ByVal Pages As PatPropertyPagesConstants,
ByVal Caption As String,
ByVal hWndParent As Integer,
ByVal Reserved As Boolean
)
[]
Syntax
void object->ShowPropertyPages(
enum PatPropertyPagesConstants Pages,
_bstr_t Caption,
long hWndParent,
VARIANT_BOOL Reserved
)
Pages
A PatPropertyPagesConstants expression that specifies the page(s) to display. You can add the following constants together to display multiple pages.
Value | Meaning
patGeneralPropertyPage | Display the PatternMatching control's General property page.
patModelsPropertyPage | Display the PatternMatching control's Models property page.
patHistoryPropertyPage | Display the PatternMatching control's History property page.
patAllPropertyPages | Display all of the PatternMatching control's available property pages.
Caption (optional in , default is "")
A string value that specifies the caption for the property pages window. The default is an empty string, in which case a generic caption will be displayed.
hWndParent (optional in , default is 0)
A long value that specifies the window handle (HWND) of the property pages window's parent. The property pages window will be modal in relation to its parent window.
Reserved (optional in , default is True)
This parameter is reserved for future use. True is the only value available.
Value | Meaning
True | Meaning to be determined. This setting must always be used.
Remarks
  • If the PatternMatching control is created at design-time, the .NET ActiveX Control Importer (AxImp.exe) renames this ActiveMIL method from ShowPropertyPages() to CtlShowPropertyPages() to avoid name clashing with the ShowPropertyPages() method of the .NET Windows Form control. See the Windows Forms ActiveX Control Importer (AxImp.exe) topic in MSDN for more information. In addition, if the control is created at run-time with the AxMatrox.ActiveMIL.* namespace, you must use CtlShowPropertyPages() to call the ActiveMIL ShowPropertyPages() method.
  • This method is used to display the property pages so that properties can be set interactively at run-time.
  • This method will disable property page elements corresponding to properties that cannot be changed due to the current state of the control. For example, if a property cannot be changed while its control is in the allocated state, and the control is allocated, the corresponding element in the property page will be disabled. To change this property, call the Free method first.


PatternMatching.ResultsModified Event

ResultsModified event

Availability | MIL Equivalent | ShowPropertyPages
Not available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
PatternMatching
ResultsModified
Synopsis
Occurs after results have been modified.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_ResultsModified() Handles object.ResultsModified

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_ResultsModified(
ByVal sender As Object,
ByVal e As System.EventArgs
) Handles object.ResultsModified
[]
Syntax
void class::OnResultsModified()
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.


System control

Availability
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Synopsis
A System control represents a physical board, most commonly an imaging frame grabber. The System control can also give you access to the graphics controller and Host CPU.
The System control is used to specify which physical device to access, and allows some system-wide settings to be set. Once the System control is set up, you can add other components to your application, such as a Digitizer control, to control specific aspects of the acquisition section.

Structure
System |  |  | Properties: AllocationOverscanSize, AsynchronousCallSupport, AutomaticAllocation, BoardRevision, BoardType, CompressionSupported, DCFSupported, DeviceNumber, FastOverscanImage, InitializationFlag, IsAllocated, MilID, MultithreadSupport, Name, NumberofCRTControllers, NumberOfDigitizers, NumberOfProcessors, ProcessingSystemType, ProcessingSystem, PropertyValidation, SerialPorts, SystemDescriptor, SystemType, UserBitChangedEvent, UserBitsCount, Watchdog Methods: Allocate, Control, ControlUserBits, ControlUserBitsWithMask, Free, Inquire, InquireUserBits, InquireUserBitsWithMask, Modified, ShowPropertyPages Events: SerialPortData, UserBitChanged, WatchdogWarning
 | SerialPorts |  | Properties: Count, Item
 |  | Item | Properties: COMPortNumber, DataLength, DataPending, InterfaceType, MaximumNumberOfCharactersToRead, NumberOfBytesRead, NumberOfBytesWritten, Parity, SerialPortDataEvent, Speed, StringDelimiter, StopBits, Timeout Methods: ReadCharacter, ReadCharactersInUserArray, ReadString, WriteCharacter, WriteString
 | Watchdog |  | Properties: Enabled, IsPresent, NumberOfReboots, RebootTimeout, Timeout, WarningEvent, WarningTime Methods: ClearNumberOfReboots, Reset


System.AllocationOverscanSize Property

AllocationOverscanSize property

See Also | Availability | MIL Equivalent | AsynchronousCallSupport
Reference:
System.FastOverscanImage
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Corona-II
Fully supported on Matrox Orion
Fully supported on Matrox CronosPlus
Fully supported on Matrox Morphis

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MsysControl(
Control Value =
M_ALLOCATION_OVERSCAN_SIZE
)

MsysInquire(
InquireType =
M_ALLOCATION_OVERSCAN_SIZE
)

MbufInquire(
InquireType =
M_ALLOCATION_OVERSCAN_SIZE
)
System
AllocationOverscanSize
Synopsis
Returns or sets the size of the overscan region around an image.
[]
Syntax
object.AllocationOverscanSize [= Integer]
[]
Syntax
object->AllocationOverscanSize [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value or an ActiveMILDefaultConstants expression that specifies the number of 1-pixel high/wide rows/columns added to each side of an image. (default is amilDefault)
Value | Meaning
amilDefault | Specifies the default size of the overscan. Typically, the default size is 8 pixels.
value | Specifies the size of the overscan, in pixels.
Remarks
  • The overscan region will be added around all subsequently allocated images if the FastOverscanImage property is set to True. In addition, each subsequent image allocated on the system will have the same overscan region size.
  • The overscan settings of previously allocated images are not changed.
  • To enable or disable the allocation of an overscan region, use the FastOverscanImage property.
Remark for Matrox Genesis
  • The default overscan region is 16 pixels. If you specify a value for the overscan region, it must be at least 16 pixels.
Remark for Matrox Helios XA
  • The default overscan region is 8 pixels when using paged memory. When using non-paged on-board memory, the default size is 16 pixels. If you specify a value for the overscan region, it must be at least 16 pixels.
Remark for Matrox Helios XCL
  • The default overscan region is 8 pixels when using paged memory. When using non-paged on-board memory, the default size is 16 pixels. If you specify a value for the overscan region, it must be at least 16 pixels.
Remark for Matrox Odyssey XA
  • The default overscan region is 16 pixels. If you specify a value for the overscan region, it must be at least 16 pixels.
Remark for Matrox Odyssey XCL
  • The default overscan region is 16 pixels. If you specify a value for the overscan region, it must be at least 16 pixels.
Remark for Matrox Odyssey XD
  • The default overscan region is 16 pixels. If you specify a value for the overscan region, it must be at least 16 pixels.
Remark for Matrox Solios XA
  • The default overscan region is 8 pixels when using paged memory. When using non-paged on-board memory, the default size is 16 pixels. If you specify a value for the overscan region, it must be at least 16 pixels.
Remark for Matrox Solios XCL
  • The default overscan region is 8 pixels when using paged memory. When using non-paged on-board memory, the default size is 16 pixels. If you specify a value for the overscan region, it must be at least 16 pixels.


System.AsynchronousCallSupport Property

AsynchronousCallSupport property

See Also | Availability | MIL Equivalent | AllocationOverscanSize | AutomaticAllocation
User Guide:
Multi-threading
Available in ActiveMIL-Lite

Available in ActiveMIL
MsysInquire(
InquireType =
M_ASYNCHRONOUS_CALL_SUPPORT
)
System
AsynchronousCallSupport
Synopsis
Returns whether the system supports asynchronous function execution or not.
[]
Syntax
[Boolean =] object.AsynchronousCallSupport
[]
Syntax
[VARIANT_BOOL =] object->AsynchronousCallSupport
Type description
A boolean value that specifies whether asynchronous execution is supported.
Value | Meaning
True | The system supports asynchronous execution.
False | The system does not support asynchronous execution.


System.AutomaticAllocation Property

AutomaticAllocation property

See Also | Availability | MIL Equivalent | AsynchronousCallSupport | BoardRevision
User Guide:
Setting up controls

Reference:
System.Allocate
System.Free
System.IsAllocated
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
System
AutomaticAllocation
Synopsis
Returns or sets whether the resources of the System control are automatically allocated at run-time.
[]
Syntax
object.AutomaticAllocation [= Boolean]
[]
Syntax
object->AutomaticAllocation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the control's automatic allocation.
Value | Meaning
True | The control will be allocated automatically at run-time.
False | The control must be allocated explicitly, using the Allocate method.
Remarks
  • When the control's AutomaticAllocation property is False, an explicit call to the Allocate method is required. You can get the allocation state of the control by reading its IsAllocated property.
  • The default value is True for controls created at design-time, and False for controls created at run-time (for example, created with the CreateObject method of the Application control).
  • The control will be freed automatically when the control is destroyed.


System.BoardRevision Property

BoardRevision property

See Also | Availability | MIL Equivalent | AutomaticAllocation | BoardType
Reference:
System.BoardType
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Orion
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
MsysInquire(
InquireType =
M_BOARD_REVISION
)
System
BoardRevision
Synopsis
Returns the revision of the board.
[]
Syntax
[Integer =] object.BoardRevision
[]
Syntax
[long =] object->BoardRevision
Type description
A long value that specifies the revision of the board.


System.BoardType Property

BoardType property

See Also | Availability | MIL Equivalent | BoardRevision | CompressionSupported
Reference:
System.BoardRevision
Available in ActiveMIL-Lite

Available in ActiveMIL

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Orion
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Morphis
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MsysInquire(
InquireType =
M_BOARD_TYPE
)
System
BoardType
Synopsis
Returns the system's board type.
[]
Syntax
[SysBoardTypeConstants =] object.BoardType
[]
Syntax
[enum SysBoardTypeConstants =] object->BoardType
Type description
A SysBoardTypeConstants expression that returns the type of the board.
Value | Meaning
sysCoronaII | A Matrox Corona-II board.
sysCoronaIIWithDigModule | A Matrox Corona-II board with a Digital module.
sysCronosPlus | A Matrox CronosPlus board.
sysGenesis | A Matrox Genesis board.
sysGenesisLC | A Matrox Genesis-LC board.
sysGenesisPlus | A Matrox GenesisPlus board.
sysGenesisPro | A Matrox GenesisPro board.
sysHelios_XA_QHA | A Matrox Helios XA quad-independent board.
sysHelios_XCL_DBCL | A Matrox Helios XCL dual-Base board.
sysHelios_XCL_SFCL | A Matrox Helios XCL single-Full board.
sysMeteorII_Std | A Matrox Meteor II /Standard board.
sysMeteorII_1394 | A Matrox Meteor II /1394 board.
sysMeteorII_CL | A Matrox Meteor II /Camera Link board
sysMeteorII_Dig | A Matrox Meteor II /Digital board.
sysMeteorII_MC | A Matrox Meteor II /Multi-Channel board.
sysMorphis_2VD_IO | A Matrox Morphis board with two video decoders and the I/O module.
sysMorphis_2VD_J2K | A Matrox Morphis board with two video decoders and the JPEG2000 compression accelerator.
sysMorphis_2VD_IO_J2K | A Matrox Morphis board with the I/O module and the JPEG2000 compression accelerator.
sysMorphis_4VD_IO | A Matrox Morphis board with four video decoders and the I/O module.
sysOdyssey_XA_QHA | A Matrox Odyssey XA quad-independent board.
sysOdyssey_XD_QD | A Matrox Odyssey digital board.
sysOdyssey_XCL_DBCL | A Matrox Odyssey XCL dual-Base board.
sysOdyssey_XCL_SFCL | A Matrox Odyssey XCL single-Full board.
sysOdyssey_XPro | A Matrox Odyssey XPro board.
sysOdyssey_XPro_DBCL | A Matrox Odyssey XPro board with dual-Base Camera Link module.
sysOdyssey_XPro_QD | A Matrox Odyssey XPRo board with digital module.
sysOdyssey_XPro_QHA | A Matrox Odyssey XPro board with quad-input high-frequency analog module.
sysOdyssey_XPro_SFCL | A Matrox Odyssey XPro board with single-Full Camera Link module.
sysOdyssey_XPro_Plus | A Matrox Odyssey XPro+ board.
sysOdyssey_XPro_Plus_DBCL | A Matrox Odyssey XPro+ board with dual-Base Camera Link module.
sysOdyssey_XPro_Plus_QD | A Matrox Odyssey XPro+ board with digital module.
sysOdyssey_XPro_Plus_QHA | A Matrox Odyssey XPro+ board with quad-input high-frequency analog module.
sysOdyssey_XPro_Plus_SFCL | A Matrox Odyssey XPro+ board with single-Full Camera Link module.
sysOrion | A Matrox Orion board.
sysOrion4SightII_Dual | A Matrox Orion /Dual for 4Sight-II board.
sysOrion4SightII_RGB | A Matrox Orion /RGB for 4Sight-II board.
sysOrion4SightII_Std | A Matrox Orion /Standard for 4Sight-II board.
sysSolios_XA_DA | A Matrox Solios XA dual-analog board.
sysSolios_XA_QA | A Matrox Solios XA quad-analog board.
sysSolios_XA_SA | A Matrox Solios XA single-analog board.
sysSolios_XCL_DBCL | A Matrox Solios XCL dual-Base board.
sysSolios_XCL_SMCL | A Matrox Solios XCL medium board.
Remark for Matrox Corona-II
  • The available board types are:
    • sysCoronaII
    • sysCoronaIIWithDigModule
Remark for Matrox CronosPlus
  • The available board type is:
    • sysCronosPlus
Remark for Matrox Genesis
  • The available board types are:
    • sysGenesis
    • sysGenesisLC
    • sysGenesisPlus
    • sysGenesisPro
Remark for Matrox Helios XA
  • The available board type is:
    • sysHelios_XA_QHA
Remark for Matrox Helios XCL
  • The available board type are:
    • sysHelios_XCL_DBCL
    • sysHelios_XCL_SFCL
Remark for Matrox Meteor-II /1394
  • The available board type is:
    • sysMeteorII_1394
Remark for Matrox Meteor-II /Camera Link
  • The available board type is:
    • sysMeteorII_CL
Remark for Matrox Meteor-II /Digital
  • The available board type is:
    • sysMeteorII_Dig
Remark for Matrox Meteor-II /Multi-Channel
  • The available board types are:
    • sysMeteorII_MC
Remark for Matrox Meteor-II /Standard
  • The available board types are:
    • sysMeteorII_Std
Remark for Matrox Morphis
  • The available board type are:
    • sysMorphis_2VD
    • sysMorphis_2VD_IO
    • sysMorphis_2VD_J2K
    • sysMorphis_2VD_IO_J2K
    • sysMorphis_4VD_IO
Remark for Matrox Odyssey XA
  • The available board type are:
    • sysOdyssey_XA_QHA
    • sysOdyssey_XPro
    • sysOdyssey_XPro_QHA
    • sysOdyssey_XPro_Plus
    • sysOdyssey_XPro_Plus_QHA
Remark for Matrox Odyssey XCL
  • The available board type are:
    • sysOdyssey_XCL_DBCL
    • sysOdyssey_XCL_SFCL
    • sysOdyssey_XPro
    • sysOdyssey_XPro_DBCL
    • sysOdyssey_XPro_SFCL
    • sysOdyssey_XPro_Plus
    • sysOdyssey_XPro
    • sysOdyssey_XPro_Plus_DBCL
    • sysOdyssey_XPro_Plus_SFCL
Remark for Matrox Odyssey XD
  • The available board type are:
    • sysOdyssey_XD_QD
    • sysOdyssey_XPro
    • sysOdyssey_XPro_Plus
    • sysOdyssey_XPro_QD
    • sysOdyssey_XPro_Plus_QD
Remark for Matrox Orion
  • The available board types are:
    • sysOrion
    • sysOrion4SightII_Dual
    • sysOrion4SightII_RGB
    • sysOrion4SightII_Std
Remark for Matrox Solios XA
  • The available board type are:
    • sysSolios_XCL_SMCL
    • sysSolios_XA_SA
    • sysSolios_XA_DA
    • sysSolios_XA_QA
Remark for Matrox Solios XCL
  • The available board types are:
    • sysSolios_XCL_DBCL
    • sysSolios_XCL_SMCL


System.CompressionSupported Property

CompressionSupported property

Availability | MIL Equivalent | BoardType | DCFSupported
Available in ActiveMIL-Lite

Available in ActiveMIL
MsysInquire(
InquireType =
M_COMPRESSION_SUPPORTED
)
System
CompressionSupported
Synopsis
Returns whether the system supports compression and decompression of images.
[]
Syntax
[Boolean =] object.CompressionSupported
[]
Syntax
[VARIANT_BOOL =] object->CompressionSupported
Type description
A boolean value that specifies whether the system supports compression and decompression.
Value | Meaning
True | Supports compression and decompression.
False | Does not support compression or decompression.


System.DCFSupported Property

DCFSupported property

Availability | MIL Equivalent | CompressionSupported | DeviceNumber
Available in ActiveMIL-Lite

Available in ActiveMIL
MsysInquire(
InquireType =
M_DCF_SUPPORTED
)
System
DCFSupported
Synopsis
Returns whether the system supports downloadable digitizer configuration format (DCF) files.
[]
Syntax
[Boolean =] object.DCFSupported
[]
Syntax
[VARIANT_BOOL =] object->DCFSupported
Type description
A boolean value that specifies the DCF file support status.
Value | Meaning
True | Supports DCF files.
False | Does not support DCF files.


System.DeviceNumber Property

DeviceNumber property

Availability | MIL Equivalent | DCFSupported | FastOverscanImage
Available in ActiveMIL-Lite

Available in ActiveMIL
MsysAlloc(SystemNum)

MsysInquire(
InquireType =
M_NUMBER
)
System
DeviceNumber
Synopsis
Returns or sets the device number (or rank) of the System control.
[]
Syntax
object.DeviceNumber [= Integer]
[]
Syntax
object->DeviceNumber [= long]
Type description
A long value that specifies the device number. The value depends on the particular device configuration.
Remarks
  • The device number is used to differentiate between two imaging boards of the same type (for example, two Matrox Meteor-II boards).
  • This property cannot be set at run-time if the control is in the allocated state.
[]
Example
This example shows how to set the DeviceNumber property.

m_System1->SystemDescriptor = m_Application1->AvailableSystems->
                        Item(1L)->SystemDescriptor;

m_System1->DeviceNumber = m_Application1->AvailableSystems->
                          Item(1L)->DeviceNumber;


System.FastOverscanImage Property

FastOverscanImage property

See Also | Availability | MIL Equivalent | DeviceNumber | InitializationFlag
Reference:
System.AllocationOverscanSize
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Corona-II
Fully supported on Matrox Orion
Fully supported on Matrox Genesis
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
MsysControl(
ControlType =
M_FAST_OVERSCAN_BUFFER
)

MsysInquire(
InquireType =
M_FAST_OVERSCAN_BUFFER
)
System
FastOverscanImage
Synopsis
Returns or sets whether new images, allocated on the system, are allocated with an overscan region.
[]
Syntax
object.FastOverscanImage [= Boolean]
[]
Syntax
object->FastOverscanImage [= VARIANT_BOOL]
Type description
A boolean value that specifies whether new Image controls, allocated on the system, are allocated with an overscan region. (default is True )
Value | Meaning
True | Specifies that images on the system are allocated with an overscan region.
False | Specifies that images on the system are not allocated with an overscan region.
Remark
  • The size of the overscan region is specified using the AllocationOverscanSize property.
Remark for Matrox Odyssey XA
  • The default value is False.
Remark for Matrox Odyssey XCL
  • The default value is False.
Remark for Matrox Odyssey XD
  • The default value is False.


System.InitializationFlag Property

InitializationFlag property

Availability | MIL Equivalent | FastOverscanImage | IsAllocated
Available in ActiveMIL-Lite

Available in ActiveMIL
MsysAlloc(InitFlag)

MsysInquire(
InquireType =
M_INIT_FLAG
)
System
InitializationFlag
Synopsis
Returns or sets the initialization type of the System control.
[]
Syntax
object.InitializationFlag [= SysInitializationFlagConstants]
[]
Syntax
object->InitializationFlag [= enum SysInitializationFlagConstants]
Type description
A SysInitializationFlagConstants expression that specifies the type of initialization. (default is sysComplete)
Value | Meaning
sysComplete | Specifies a complete initialization of the system: initialize the system to its default state and download any required resident software. At least one complete initialization is necessary after powering up your system.
sysPartial | Specifies an initialization of the system to its default state without the download of any resident software (which can take a few seconds).
sysNoInterrupts | Disables the use of interrupts. Note that, with this option, some boards will run with limited grab functionality.
sysUseDirectDraw | Enable the use of DirectDraw by the system.
sysNoDirectDraw | Disable the use of DirectDraw by the system.
Remark
  • This property cannot be set at run-time if the resources of the System control are in the allocated state.


System.IsAllocated Property

IsAllocated property

See Also | Availability | MIL Equivalent | InitializationFlag | MilID
User Guide:
Allocation of resources

Reference:
System.Allocate
System.Free
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
System
IsAllocated
Synopsis
Returns whether the resources of the System control are allocated.
[]
Syntax
[Boolean =] object.IsAllocated
[]
Syntax
[VARIANT_BOOL =] object->IsAllocated
Type description
A boolean value that specifies whether the resources of the control are allocated.
Value | Meaning
True | The resources of the control are allocated.
False | The resources of the control are not allocated.
[]
Example
This example shows how to use the IsAllocated property.

If System1.IsAllocated Then
    System1.Free()
End If
[]
Example
This example shows how to use the IsAllocated property.

if (m_System1->IsAllocated)
   m_System1->Free();


System.MilID Property

MilID property

See Also | Availability | MIL Equivalent | IsAllocated | MultithreadSupport
User Guide:
Integrating MIL functions into your ActiveMIL code.

Reference:
System.IsAllocated
System.Modified
Available in ActiveMIL-Lite

Available in ActiveMIL
MsysControl(SystemIdPtr)
System
MilID
Synopsis
Returns the Native MIL identifier of the allocated resources of the System control.
[]
Syntax
[Integer =] object.MilID
[]
Syntax
[long =] object->MilID
Type description
A long value that specifies the control's Native MIL identifier.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • The control's Modified method should be called after making Native MIL call(s) on the returned identifier.
  • If the control's IsAllocated property is False, the MilID property will be 0.


System.MultithreadSupport Property

MultithreadSupport property

See Also | Availability | MIL Equivalent | MilID | Name
User Guide:
Multi-threading
Available in ActiveMIL-Lite

Available in ActiveMIL
MsysInquire(
InquireType =
M_MULTITHREAD_SUPPORT
)
System
MultithreadSupport
Synopsis
Returns whether the system supports multi-threading or not.
[]
Syntax
[Boolean =] object.MultithreadSupport
[]
Syntax
[VARIANT_BOOL =] object->MultithreadSupport
Type description
A boolean value that specifies whether multi-threading is supported.
Value | Meaning
True | The system supports multi-threading.
False | The system does not support multi-threading.


System.Name Property

Name property

Availability | MIL Equivalent | MultithreadSupport | NumberofCRTControllers
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
System
Name
Synopsis
Returns or sets the name used in code to identify the System control.
[]
Syntax
object.Name [= String]
[]
Syntax
object->Name [= _bstr_t]
Type description
A string expression that specifies the name of the System control.
Remarks
  • This property cannot be set at run-time.
  • The default name for a new control is the type of control plus a unique integer. For example, the first new System control you create on a form is named System1 and the second System control is named System2.
  • A control's Name property must start with a letter and can be a maximum of 40 characters. It can include numbers and underscore (_) characters but cannot include spaces or punctuation. Although the Name property setting can be a keyword, property name, or the name of another object, it can create conflicts in your code.


System.NumberofCRTControllers Property

NumberofCRTControllers property

Availability | MIL Equivalent | Name | NumberOfDigitizers
Available in ActiveMIL-Lite

Available in ActiveMIL
MsysInquire(
InquireType =
M_DISPLAY_OUTPUT_NUM
)
System
NumberofCRTControllers
Synopsis
Returns the number of video output controllers available on your Matrox imaging board.
[]
Syntax
[Integer =] object.NumberofCRTControllers
[]
Syntax
[long =] object->NumberofCRTControllers
Type description
A long value that specifies the number of video output controllers available on your Matrox imaging board.
Remark
  • This number represents the total number of video output controllers available on your Matrox imaging board, not the number of allocated displays.


System.NumberOfDigitizers Property

NumberOfDigitizers property

See Also | Availability | MIL Equivalent | NumberofCRTControllers | NumberOfProcessors
User Guide:
The device number
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Genesis
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Morphis
Fully supported on Matrox Orion
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
MsysInquire(
InquireType =
M_DIGITIZER_NUM
)
System
NumberOfDigitizers
Synopsis
Returns the total number of acquisition paths that can be used and allocated independently on a system.
[]
Syntax
[Integer =] object.NumberOfDigitizers
[]
Syntax
[long =] object->NumberOfDigitizers
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of possible independent acquisition paths.
Remark
  • This number represents the total number of possible independent acquisition paths that can be allocated and not the number of allocated digitizers.
Remark for Matrox Odyssey XA
  • When dealing with a cluster of boards featuring Matrox Odyssey Xpro, the total number of acquisition paths available on the system can be from 0 to 31; with each module in the cluster counting each of their acquisition paths as part of the total. Use the Inquire method of the System control with sysDevnDigitizerType to return the digitizer type of a specified device number.
Remark for Matrox Odyssey XCL
  • When dealing with a cluster of boards featuring Matrox Odyssey Xpro, the total number of acquisition paths available on the system can be from 0 to 31; with each module in the cluster counting each of their acquisition paths as part of the total. Use the Inquire method of the System control with sysDevnDigitizerType to return the digitizer type of a specified device number.
Remark for Matrox Odyssey XD
  • When dealing with a cluster of boards featuring Matrox Odyssey Xpro, the total number of acquisition paths available on the system can be from 0 to 31; with each module in the cluster counting each of their acquisition paths as part of the total. Use the Inquire method of the System control with sysDevnDigitizerType to return the digitizer type of a specified device number.
[]
Example
This example shows how to check the NumberOfDigitizers property.

// Only allocate the digitizer if it is supported
//
if (m_System1->NumberOfDigitizers != 0)
   m_Digitizer1->Allocate();


System.NumberOfProcessors Property

NumberOfProcessors property

Availability | MIL Equivalent | NumberOfDigitizers | ProcessingSystemType
Available in ActiveMIL-Lite

Available in ActiveMIL
MsysInquire(
InquireType =
M_PROCESSOR_NUM
)
System
NumberOfProcessors
Synopsis
Returns the number of processors available in a system.
[]
Syntax
[Integer =] object.NumberOfProcessors
[]
Syntax
[long =] object->NumberOfProcessors
Type description
A long value that specifies the number of processors available in a system.


System.ProcessingSystem Property

ProcessingSystem property

See Also | Availability | MIL Equivalent | ProcessingSystemType | PropertyValidation
Reference:
System.Control
System.ProcessingSystemType
Available in ActiveMIL-Lite

Available in ActiveMIL
MsysControl(
ControlType =
M_PROCESSING_SYSTEM
)

MsysInquire(
InquireType =
M_PROCESSING_SYSTEM
)
System
ProcessingSystem
Synopsis
Returns or sets the identifier of the system on which to force the processing of images.
[]
Syntax
object.ProcessingSystem [= ProcessingSystemConstants]
[]
Syntax
object->ProcessingSystem [= enum ProcessingSystemConstants]
Type description
A ProcessingSystemConstants expression or an expression that evaluates to a System control.
Value | Meaning
amilDefault | Re-establish the default processing system (as selected by ActiveMIL at system allocation).
mDefaultHost | Use the default Host system.


System.ProcessingSystemType Property

ProcessingSystemType property

Availability | MIL Equivalent | NumberOfProcessors | ProcessingSystem
Available in ActiveMIL-Lite

Available in ActiveMIL

See remarks for support on:
See remarks for support on Matrox Corona-II
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Genesis
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Orion
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MsysInquire(
InquireType =
M_PROCESSING_SYSTEM_TYPE
)
System
ProcessingSystemType
Synopsis
Returns the type of the system on which to force the processing of images.
[]
Syntax
[SysSystemTypeConstants =] object.ProcessingSystemType
[]
Syntax
[enum SysSystemTypeConstants =] object->ProcessingSystemType
Type description
A SysSystemTypeConstants expression that specifies the type of system used for processing.
Value | Meaning
sysSystemHostType | A Host system.
sysSystemGenesisType | A Matrox Genesis system.
sysSystemHeliosType | A Matrox Helios system.
sysSystemOdysseyType | A Matrox Odyssey system.
Remark for Matrox Corona-II
  • Only sysSystemHostType can be returned.
Remark for Matrox CronosPlus
  • Only sysSystemHostType can be returned.
Remark for Matrox Genesis
  • Only the following SysSystemTypeConstants expressions can be returned:
    • sysSystemHostType.
    • sysSystemGenesisType.
Remark for Matrox Helios XA
  • Only the following SysSystemTypeConstants expressions can be returned:
    • sysSystemHostType.
    • sysSystemHeliosType.
Remark for Matrox Helios XCL
  • Only the following SysSystemTypeConstants expressions can be returned:
    • sysSystemHostType.
    • sysSystemHeliosType.
Remark for Matrox Meteor-II /1394
  • Only sysSystemHostType can be returned.
Remark for Matrox Meteor-II /Camera Link
  • Only sysSystemHostType can be returned.
Remark for Matrox Meteor-II /Digital
  • Only sysSystemHostType can be returned.
Remark for Matrox Meteor-II /Multi-Channel
  • Only sysSystemHostType can be returned.
Remark for Matrox Meteor-II /Standard
  • Only sysSystemHostType can be returned.
Remark for Matrox Morphis
  • Only sysSystemHostType can be returned.
Remark for Matrox Odyssey XA
  • Only the following SysSystemTypeConstants expressions can be returned:
    • sysSystemHostType.
    • sysSystemOdysseyType.
Remark for Matrox Odyssey XCL
  • Only the following SysSystemTypeConstants expressions can be returned:
    • sysSystemHostType.
    • sysSystemOdysseyType.
Remark for Matrox Odyssey XD
  • Only the following SysSystemTypeConstants expressions can be returned:
    • sysSystemHostType.
    • sysSystemOdysseyType.
Remark for Matrox Orion
  • Only sysSystemHostType can be returned.
Remark for Matrox Solios XA
  • Only sysSystemHostType can be returned.
Remark for Matrox Solios XCL
  • Only sysSystemHostType can be returned.
[]
Example
This example shows how to check the ProcessingSystemType property.

if (m_System1->ProcessingSystemType == sysSystemGenesisType )
   PrepareLUTForGenesis(&NumberOfFractionalBits);


System.PropertyValidation Property

PropertyValidation property

See Also | Availability | MIL Equivalent | ProcessingSystem | SerialPorts
User Guide:
Error reporting
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
System
PropertyValidation
Synopsis
Returns or sets whether the properties of the System control are dynamically validated.
[]
Syntax
object.PropertyValidation [= Boolean]
[]
Syntax
object->PropertyValidation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the property validation mode.
Value | Meaning
True | The control's properties will be dynamically validated. Errors will be generated during the design process.
False | The control's properties will not be dynamically validated. Errors will only be generated at run-time.
Remarks
  • At run-time, this property is read-only and is always set to True.
  • When set to True and if one of the control's properties is not properly set, then the control is outlined in red. The error page of the control's property pages describes the specific error.


System.SerialPorts Property

SerialPorts property

See Also | Availability | MIL Equivalent | PropertyValidation | SystemDescriptor
Reference:
System.SerialPortData
System.SerialPorts.Item.SerialPortDataEvent
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Corona-II
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox CronosPlus
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD

See remarks for support on:
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MsysControl(
ControlType =
M_UART_DATA_LENGTH or
M_UART_OUTPUT or
M_UART_PARITY or
M_UART_READ_STRING or
M_UART_SPEED or
M_UART_STOP_BITS or
M_UART_STRING_DELIMITER or
M_UART_TIMEOUT or
M_UART_WRITE_STRING
)

MsysInquire(
InquireType =
M_UART_STRING_DELIMITER or
M_UART_DATA_LENGTH or
M_UART_DATA_PENDING or
M_UART_OUTPUT or
M_UART_PARITY or
M_UART_SPEED or
M_UART_STOP_BITS or
M_UART_TIMEOUT
)
System
SerialPorts
Properties: Count, Item
Synopsis
Returns the collection of serial ports available to the System control, allowing access to each of its elements.
[]
Syntax
[SystemSerialPorts =] object.SerialPorts
[]
Syntax
[ISystemSerialPortsPtr =] object->SerialPorts
Type description
A SystemSerialPort expression that represents an instance of a SystemSerialPorts collection.
Remarks
  • This property specifies the serial port settings to apply for each serial port in the collection.
  • The number of serial ports available differs, depending on the type of Matrox Imaging board.
  • Rather than using ActiveMIL, it is also possible to use the Microsoft Win32 library to access and control the serial ports. Note that when switching between Microsoft Win32 library and ActiveMIL processes, you should reinitialize the serial ports to the required settings.
Remark for Matrox Helios XA
  • There are 4 serial ports available.
Remarks for Matrox Helios XCL
  • On the dual-Base version, there are 2 serial ports available.
  • On the single-Full version, there is 1 serial port available.
Remark for Matrox Morphis
  • There is 1 serial ports available on Matrox Morphis and Matrox Morphis Quad. There are no serial ports available on Matrox Morphis PC/104-Plus.
Remark for Matrox Solios XA
  • There are 4 serial ports available on Matrox Solios XA and only 1 UART available on Matrox Solios XA single analog.
Remarks for Matrox Solios XCL
  • On the dual-Base version, there are 2 serial ports available.
  • On the single-Full version, there is 1 serial port available.


System.SerialPorts.Count Property

Count property

Availability | MIL Equivalent | Item
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Corona-II
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox CronosPlus
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD

See remarks for support on:
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MsysInquire(
InquireType =
M_UART_PRESENT
)
System
SerialPorts
Count
Synopsis
Returns the number of elements in the collection of serial ports.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of elements currently in the collection of serial ports.
Remarks
  • The elements in the collection of serial ports refer to the serial ports (UART) available on the system.
  • The number of serial ports available differs, depending on the type of Matrox Imaging board.
Remark for Matrox Helios XA
  • There are 4 serial ports available.
Remarks for Matrox Helios XCL
  • On the dual-Base version, there are 2 serial ports available.
  • On the single-Full version, there is 1 serial port available.
Remark for Matrox Morphis
  • There is 1 serial ports available on Matrox Morphis and Matrox Morphis Quad. There are no serial ports on Matrox Morphis PC/104-Plus.
Remark for Matrox Solios XA
  • There are 4 serial ports available on Matrox Solios XA and only 1 UART available on Matrox Solios XA single analog.
Remarks for Matrox Solios XCL
  • On the dual-Base version, there are 2 serial ports available.
  • On the single-Full version, there is 1 serial port available.


System.SerialPorts.Item Property

Item property

Availability | MIL Equivalent | Count
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD

See remarks for support on:
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
No MIL equivalent
System
SerialPorts
Item
Properties: COMPortNumber, DataLength, DataPending, InterfaceType, MaximumNumberOfCharactersToRead, NumberOfBytesRead, NumberOfBytesWritten, Parity, SerialPortDataEvent, Speed, StringDelimiter, StopBits, Timeout

Methods: ReadCharacter, ReadCharactersInUserArray, ReadString, WriteCharacter, WriteString
Synopsis
Returns the element at the specified index in the collection of serial ports.
[]
Syntax
[SystemSerialPort=]object.Item(
Index As Integer
)
[]
Syntax
[ISystemSerialPortPtr =] object->Item(
long Index
)
Index
A longintegerlong (integer for Visual Basic .Net) value that specifies the index of the required element.
Type description
A SystemSerialPort object.
Remarks
  • If the value provided as the index does not match any existing element in the collection, an error occurs. The index of the first element in the serial ports collection is 1.
  • The elements in the collection of serial ports refer to the serial ports (UART) available on the system.
  • The number of serial ports available differs, depending on the type of Matrox imaging board.
Remark for Matrox Helios XA
  • There are 4 serial ports available.
Remarks for Matrox Helios XCL
  • On the dual-Base version, there are 2 serial ports available.
  • On the single-Full version, there is 1 serial port available.
Remark for Matrox Morphis
  • There is 1 serial ports available on Matrox Morphis and Matrox Morphis Quad.
Remark for Matrox Solios XA
  • There are 4 serial ports available on Matrox Solios XA and only 1 UART available on Matrox Solios XA single analog.
Remarks for Matrox Solios XCL
  • On the dual-Base version, there are 2 serial ports available.
  • On the single-Full version, there is 1 serial port available.


System.SerialPorts.Item.COMPortNumber Property

COMPortNumber property

Availability | MIL Equivalent | DataLength
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Orion
MsysInquire()(M_COM_PORT_NUMBER)
System
SerialPorts
Item
COMPortNumber
Synopsis
Returns the Microsoft Windows COM port number of the specified serial port.
[]
Syntax
[Integer =] object.COMPortNumber
[]
Syntax
[long =] object->COMPortNumber
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the Microsoft Windows COM port number of the specified serial port.


System.SerialPorts.Item.DataLength Property

DataLength property

See Also | Availability | MIL Equivalent | COMPortNumber | DataPending
Reference:
System.SerialPorts.Item.StringDelimiter
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
MsysControl(
ControlType =
M_UART_DATA_LENGTH
)

MsysInquire(
InquireType =
M_UART_DATA_LENGTH
)
System
SerialPorts
Item
DataLength
Synopsis
Returns or sets the data length for the specified serial port.
[]
Syntax
object.DataLength [= Integer]
[]
Syntax
object->DataLength [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of data bits per character sent or received by the specified serial port. Valid values are 7 or 8.


System.SerialPorts.Item.DataPending Property

DataPending property

Availability | MIL Equivalent | DataLength | InterfaceType
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
MsysInquire(
InquireType =
M_UART_DATA_PENDING
)
System
SerialPorts
Item
DataPending
Synopsis
Returns whether there is pending data in the input buffer of the specified serial port.
[]
Syntax
[Boolean =] object.DataPending
[]
Syntax
[VARIANT_BOOL =] object->DataPending
Type description
A boolean expression that specifies whether there is pending data in the input buffer of the specified serial port.
Value | Meaning
True | Serial port's input buffer has pending data.
False | Serial port's input buffer is empty.


System.SerialPorts.Item.InterfaceType Property

InterfaceType property

Availability | MIL Equivalent | DataPending | MaximumNumberOfCharactersToRead
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
MsysInquire(
InquireType =
M_UART_INTERFACE_TYPE
)
System
SerialPorts
Item
InterfaceType
Synopsis
Returns the type of interface used by the specified serial port.
[]
Syntax
[SysInterfaceTypeConstants =] object.InterfaceType
[]
Syntax
[enum SysInterfaceTypeConstants =] object->InterfaceType
Type description
A SysInterfaceTypeConstants expression that specifies the type of interface used by the specified serial port.
Value | Meaning
sysRS232 | An RS-232 interface is used.
sysRS485 | An RS-485 interface is used.
Remark
  • The type of interface depends on your computer hardware.


System.SerialPorts.Item.MaximumNumberOfCharactersToRead Property

MaximumNumberOfCharactersToRead property

See Also | Availability | MIL Equivalent | InterfaceType | NumberOfBytesRead
Reference:
System.SerialPorts.Item.ReadString
System.SerialPorts.Item.StringDelimiter
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
MsysControl()(M_UART_READ_STRING_MAXIMUM_LENGTH)

MsysInquire()(M_UART_READ_STRING_MAXIMUM_LENGTH)
System
SerialPorts
Item
MaximumNumberOfCharactersToRead
Synopsis
Returns or sets the maximum number of characters that can be read from the input buffer of the specified serial port.
[]
Syntax
object.MaximumNumberOfCharactersToRead [= Integer]
[]
Syntax
object->MaximumNumberOfCharactersToRead [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the maximum number of characters that can be read from the input buffer of the specified serial port.
Remarks
  • This property prevents global protection faults from happening when using the ReadString method.
  • The ReadString method will actually read the number of characters specified either by using its NumberOfCharacters parameter or using the number specified using this property, depending on which is smaller.
  • Use the StringDelimiter property to set the character that will terminate the string of incoming or outgoing data from the specified serial port.


System.SerialPorts.Item.NumberOfBytesRead Property

NumberOfBytesRead property

See Also | Availability | MIL Equivalent | MaximumNumberOfCharactersToRead | NumberOfBytesWritten
Reference:
System.SerialPorts.Item.ReadCharacter
System.SerialPorts.Item.ReadCharactersInUserArray
System.SerialPorts.Item.ReadString
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
MsysControl(
ControlType =
M_UART_BYTES_READ
)

MsysInquire(
InquireType =
M_UART_BYTES_READ
)
System
SerialPorts
Item
NumberOfBytesRead
Synopsis
Returns the number of bytes read from the input buffer of the specified serial port.
[]
Syntax
[Integer =] object.NumberOfBytesRead
[]
Syntax
[long =] object->NumberOfBytesRead
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of bytes read from the input buffer of the specified serial port.
Remark
  • This property waits for the read operation (ReadString method and/or ReadCharactersInUserArray method) to complete before returning the actual number of bytes read from the specified serial port.


System.SerialPorts.Item.NumberOfBytesWritten Property

NumberOfBytesWritten property

See Also | Availability | MIL Equivalent | NumberOfBytesRead | Parity
Reference:
System.SerialPorts.Item.WriteCharacter
System.SerialPorts.Item.WriteString
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
MsysControl(
ControlType =
M_UART_BYTES_WRITTEN
)

MsysInquire(
InquireType =
M_UART_BYTES_WRITTEN
)
System
SerialPorts
Item
NumberOfBytesWritten
Synopsis
Returns the number of bytes written to the output buffer of the specified serial port.
[]
Syntax
[Integer =] object.NumberOfBytesWritten
[]
Syntax
[long =] object->NumberOfBytesWritten
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of bytes written to the output buffer of the specified serial port.
Remark
  • This property waits for the write operation (WriteString method) to complete before returning the actual number of bytes written to the specified serial port.


System.SerialPorts.Item.Parity Property

Parity property

Availability | MIL Equivalent | NumberOfBytesWritten | SerialPortDataEvent
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
MsysControl(
ControlType =
M_UART_PARITY
)

MsysInquire(
InquireType =
M_UART_PARITY
)
System
SerialPorts
Item
Parity
Synopsis
Returns or sets the parity of the specified serial port.
[]
Syntax
object.Parity [= SysParityConstants]
[]
Syntax
object->Parity [= enum SysParityConstants]
Type description
A SysParityConstants expression that specifies the parity of the specified serial port.
Value | Meaning
sysOddParity | The number of 1's will be odd.
sysEvenParity | The number of 1's will be even.
sysNoParity | The serial port has no parity.
Remark
  • Parity is a way to describe the extra data bit that is added to each character for error checking purposes. When setting the parity to sysOddParity, the extra bit added will be a 0 or 1 in order to have an odd number of 1's in the character data. When setting the parity to sysEvenParity, the extra bit added will be a 0 or 1 in order to have an even number of 1's in the character data. When setting the parity to sysNoParity, no extra data bit is added.


System.SerialPorts.Item.SerialPortDataEvent Property

SerialPortDataEvent property

Availability | MIL Equivalent | Parity | Speed
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Corona-II
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox CronosPlus
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
MsysHookFunction(
HookType =
M_UART_DATA_RECEIVED
)
System
SerialPorts
Item
SerialPortDataEvent
Synopsis
Returns or sets whether the SerialPortData event is enabled when data is received on the serial port.
[]
Syntax
object.SerialPortDataEvent [= Boolean]
[]
Syntax
object->SerialPortDataEvent [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the SerialPortData event will be fired when data is received on the serial port.
Value | Meaning
True | The SerialPortData event will be fired when data is received on the serial port.
False | The SerialPortData event will not be fired when data is received on the serial port.
Remark
  • For performance reasons, this property must be set to True for the SerialPortData event to be fired.


System.SerialPorts.Item.Speed Property

Speed property

Availability | MIL Equivalent | SerialPortDataEvent | StringDelimiter
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
MsysControl(
ControlType =
M_UART_SPEED
)

MsysInquire(
InquireType =
M_UART_SPEED
)
System
SerialPorts
Item
Speed
Synopsis
Returns and sets the speed of the specified serial port.
[]
Syntax
object.Speed [= Integer]
[]
Syntax
object->Speed [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the speed (in Bauds) of the specified serial port. Valid values are: 230400, 115200, 76800, 57600, 38400, 28800, 19200, 14400, 9600, 7200, 4800, 3600, 2400, 1800, 1200, 600. The highest speed is 230400 and the lowest speed is 600. In addition, the default speed is 14400.


System.SerialPorts.Item.StopBits Property

StopBits property

Availability | MIL Equivalent | StringDelimiter | Timeout
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
MsysControl(
ControlType =
M_UART_STOP_BITS
)

MsysInquire(
ControlType =
M_UART_STOP_BITS
)
System
SerialPorts
Item
StopBits
Synopsis
Returns and sets the number of stop bits for the specified serial port.
[]
Syntax
object.StopBits [= Integer]
[]
Syntax
object->StopBits [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of stop bits for the specified serial port. Valid values are 1 or 2. (default is 1)
Remark
  • A stop bit is an extra data bit that signals the end of character data being sent or received.


System.SerialPorts.Item.StringDelimiter Property

StringDelimiter property

See Also | Availability | MIL Equivalent | Speed | StopBits
Reference:
System.SerialPorts
System.SerialPorts.Item.DataLength
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
MsysControl(
ControlType =
M_UART_STRING_DELIMITER
)

MsysInquire(
InquireType =
M_UART_STRING_DELIMITER
)
System
SerialPorts
Item
StringDelimiter
Synopsis
Returns or sets the character used to terminate strings of incoming or outgoing data on the specified serial port.
[]
Syntax
object.StringDelimiter [= Byte]
[]
Syntax
object->StringDelimiter [= unsigned char]
Type description
A unsigned charbyteunsigned char (byte for Visual Basic .Net) that specifies the character used to terminate the strings of incoming or outgoing data on the specified serial port.
Remarks
  • []
     The default is the '\0' character.
  • []
     The default is 0. Note that 0 is the ASCII code of the '\0' character.
  • []
     Set this property to the ASCII code of the required character.
  • The delimiter is not sent when writing data; it is read for incoming data.
  • Use the MaximumNumberOfCharactersToRead property to set the maximum number of characters that can be read from the serial port. This prevents global protection faults from happening when using the ReadString property.


System.SerialPorts.Item.Timeout Property

Timeout property

Availability | MIL Equivalent | StopBits | ReadCharacter
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
MsysControl(
ControlType =
M_UART_TIMEOUT
)

MsysInquire(
InquireType =
M_UART_TIMEOUT
)
System
SerialPorts
Item
Timeout
Synopsis
Returns or sets the maximum time to wait between bytes when reading incoming data from the input buffer of the specified serial port.
[]
Syntax
object.Timeout [= Integer]
[]
Syntax
object->Timeout [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value or a SysMiscConstants expression that specifies the maximum time to wait between incoming bytes on the input buffer of the specified serial port. (default is sysInfinite)
Value | Meaning
sysInfinite | The serial port will wait infinitely between incoming bytes of data.
value | Maximum time in msec.
Remark
  • If this property is set to -1, the result is the same as selecting sysInfinite.


System.SerialPorts.Item.ReadCharacter Method

ReadCharacter method

See Also | Availability | MIL Equivalent | Timeout | ReadCharactersInUserArray
Reference:
System.SerialPorts.Item.WriteCharacter
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
MsysControl(
ControlType =
M_UART_READ_CHAR
)
System
SerialPorts
Item
ReadCharacter
Synopsis
Reads a character from the input buffer of the specified serial port.
[]
Syntax
[Byte =] object.ReadCharacter()
[]
Syntax
[unsigned char =] object->ReadCharacter()
Return value
Returns the character of data read from the input buffer of the specified serial port.


System.SerialPorts.Item.ReadCharactersInUserArray Method

ReadCharactersInUserArray method

See Also | Availability | MIL Equivalent | ReadCharacter | ReadString
Reference:
System.SerialPorts.Item.MaximumNumberOfCharactersToRead
System.SerialPorts.Item.StringDelimiter
System.SerialPorts.Item.WriteString
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
MsysControl(
ControlType =
M_UART_READ_STRING +
M_UART_READ_STRING_MAXIMUM_LENGTH +
M_UART_READ_STRING_LENGTH
)
System
SerialPorts
Item
ReadCharactersInUserArray
Synopsis
Copies the string of data, read from the input buffer of the specified serial port, to a user array of characters.
[]
Syntax
object.ReadCharactersInUserArray(
ByVal UserArrayOfCharacters As Byte,
ByVal NumberOfCharacters As Integer
)
[]
Syntax
void object->ReadCharactersInUserArray(
unsigned char * UserArrayOfCharacters,
long NumberOfCharacters
)
UserArrayOfCharacters
An array of unsigned charbyteunsigned char (byte for Visual Basic .Net) in which to put the string of data read from the input buffer of the specified serial port.

NumberOfCharacters (optional in , default is 0)
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of characters to read from the input buffer of the specified serial port.
Remarks
  • If the NumberOfCharacters parameter is set to 0, the string delimiter will be the character specified by the StringDelimiter property.
  • The MaximumNumberOfCharactersToRead property specifies the maximum number of characters that can be read, even if the number specified by the NumberOfCharacters parameter is greater.
  • This method allows you to read the data as an array of characters. Therefore, you can start reading the data at any point by specifying a location in the array.
  • You can read the data as a string using the ReadString method.


System.SerialPorts.Item.ReadString Method

ReadString method

See Also | Availability | MIL Equivalent | ReadCharactersInUserArray | WriteCharacter
Reference:
System.SerialPorts.Item.MaximumNumberOfCharactersToRead
System.SerialPorts.Item.StringDelimiter
System.SerialPorts.Item.WriteString
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Corona-II
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox CronosPlus
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
MsysControl(
ControlType =
M_UART_READ_STRING +
M_UART_READ_STRING_MAXIMUM_LENGTH +
M_UART_READ_STRING_LENGTH
)
System
SerialPorts
Item
ReadString
Synopsis
Reads a string of data from the input buffer of the specified serial port.
[]
Syntax
[String =] object.ReadString(
ByVal NumberOfCharacters As Integer
)
[]
Syntax
[_bstr_t =] object->ReadString(
long NumberOfCharacters
)
NumberOfCharacters (optional in , default is 0)
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of characters to read from the input buffer of the specified serial port.
Return value
Returns the string of data read from the input buffer of the specified serial port.
Remarks
  • If the NumberOfCharacters parameter is set to 0, the string delimiter will be the character specified by the StringDelimiter property.
  • The MaximumNumberOfCharactersToRead property specifies the maximum number of characters that can be read, even if the number specified by the NumberOfCharacters parameter is greater.
  • Rather than using this method to read the data as a string, you can read the data as an array of characters using the ReadCharactersInUserArray method.


System.SerialPorts.Item.WriteCharacter Method

WriteCharacter method

See Also | Availability | MIL Equivalent | ReadString | WriteString
Reference:
System.SerialPorts.Item.ReadCharacter
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
MsysControl(
ControlType =
M_UART_WRITE_CHAR
)
System
SerialPorts
Item
WriteCharacter
Synopsis
Write a character to the output buffer of the specified serial port.
[]
Syntax
object.WriteCharacter(
ByVal Character As Byte
)
[]
Syntax
void object->WriteCharacter(
unsigned char Character
)
Character
A unsigned charbyteunsigned char (byte for Visual Basic .Net) value that holds the character to be written to the output buffer of the specified serial port.


System.SerialPorts.Item.WriteString Method

WriteString method

See Also | Availability | MIL Equivalent | WriteCharacter
Reference:
System.SerialPorts.Item.ReadString
System.SerialPorts.Item.StringDelimiter
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Corona-II
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox CronosPlus
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
MsysControl(
ControlType =
M_UART_WRITE_STRING
)
System
SerialPorts
Item
WriteString
Synopsis
Writes a string of data to the output buffer of the specified serial port.
[]
Syntax
object.WriteString(
ByVal OutputString As String,
ByVal NumberOfCharacters As SysNumberOfCharacterConstants
)
[]
Syntax
void object->WriteString(
_bstr_t OutputString,
enum SysNumberOfCharacterConstants NumberOfCharacters
)
OutputString
A string expression that specifies the data to write to the output buffer of the specified serial port.
NumberOfCharacters (optional in , default is sysUseStringDelimiter)
A longintegerlong (integer for Visual Basic .Net) value or a SysNumberOfCharacterConstants expression that specifies the number of characters to writte to the output buffer of the specified serial port.
Value | Meaning
sysUseStringDelimiter | Uses the StringDelimiter property to determine the number of characters of the specified string to write.
sysUseOutputStringLength | Specifies that all characters of the specified string are written.
value | Specifies the number of characters of the specified string to write.
Remark
  • If the number of characters is set to 0, the string delimiter will be the character specified by the StringDelimiter property. The character of the string delimiter will not be sent.


System.SystemDescriptor Property

SystemDescriptor property

Availability | MIL Equivalent | SerialPorts | SystemType
Available in ActiveMIL-Lite

Available in ActiveMIL

See remarks for support on:
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Orion
See remarks for support on Matrox Genesis
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MsysAlloc(SystemDescriptor)

MsysInquire(
InquireType =
M_SYSTEM_DESCRIPTOR
)
System
SystemDescriptor
Synopsis
Returns or sets the descriptor of the system to allocate.
[]
Syntax
object.SystemDescriptor [= SysSystemDescriptorConstants]
[]
Syntax
object->SystemDescriptor [= enum SysSystemDescriptorConstants]
Type description
A SysSystemDescriptorConstants expression that specifies the type of system to allocate.
Value | Meaning
sysSystemCoronaII | A Matrox Corona-II system.
sysSystemCronosPlus | A Matrox CronosPlus system.
sysSystemDefault | A default system. This value is set during ActiveMIL installation and using MilConfig.
sysSystemGenesis | A Matrox Genesis system.
sysSystemHelios | A Matrox Helios system.
sysSystemHost | A Host system.
sysSystemMeteorII | A Matrox Meteor-II /Standard or /Multi-Channel system.
sysSystemMeteorII_1394 | A Matrox Meteor-II /1394 system.
sysSystemMeteorII_CL | A Matrox Meteor-II /Camera Link system.
sysSystemMeteorII_Dig | A Matrox Meteor-II /Digital system.
sysSystemMorphis | A Matrox Morphis system.
sysSystemOdyssey | A Matrox Odyssey system.
sysSystemOrion | A Matrox Orion system.
sysSystemSolios | A Matrox Solios system.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • After the system is allocated, ActiveMIL will open communication with the board and will automatically allow the system to use some Host memory, and any available graphics controller, if necessary.
  • You can always change the default system using MilConfig.
  • Note that this property returns a string. To return the system descriptor as a value, use the SystemType property.
  • ActiveMIL automatically determines which version of the board is present (for example, Matrox Odyssey XA or Matrox Odyssey XCL). You can get this information using the BoardType property. In addition, you can get the system type as a long value using the SystemType property.
Remark for Matrox Corona-II
  • Only the following sysSystemDescriptorConstants expressions are supported:
    • sysSystemDefault.
    • sysSystemHost.
    • sysSystemCoronaII.
Remark for Matrox CronosPlus
  • Only the following sysSystemDescriptorConstants expressions are supported:
    • sysSystemDefault.
    • sysSystemHost.
    • sysSystemCronosPlus.
Remarks for Matrox Genesis
  • Only the following sysSystemDescriptorConstants expressions are supported:
    • sysSystemDefault.
    • sysSystemHost.
    • sysSystemGenesis
  • To allocate a Matrox Genesis-LC board or a node on a Main or Processor Board, you must select sysSystemGenesis as the type of system to allocate.
  • For auxiliary displays, Matrox Genesis will only use its on-board display section; however, the on-board display section of Matrox Genesis can be used by other systems.
  • When using a Processor Board, or when using a node that cannot access a Matrox Genesis's display section without accessing the primary PCI bus, ActiveMIL will use not only the board/node's resources and Host computer memory, but also any available graphics controller. The use of the graphics controller has been included to allow you to display grabbed images.
Remarks for Matrox Helios XA
  • Only the following sysSystemDescriptorConstants expressions are supported:
    • sysSystemDefault.
    • sysSystemHost.
    • sysSystemHelios.
  • You can run multiple processes on the same board simultaneously. Each process can have one allocated system.
Remarks for Matrox Helios XCL
  • Only the following sysSystemDescriptorConstants expressions are supported:
    • sysSystemDefault.
    • sysSystemHost.
    • sysSystemHelios.
  • You can run multiple processes on the same board simultaneously. Each process can have one allocated system.
Remarks for Matrox Meteor-II /1394
  • Only the following sysSystemDescriptorConstants expressions are supported:
    • sysSystemDefault.
    • sysSystemHost.
    • sysSystemMeteorII_1394.
  • When it is necessary to manage multiple systems, the System control's order or rank can be set using the System control's DeviceNumber property.
  • In contrast to other Matrox imaging boards, multiple Meteor-II /1394 systems are possible on a Matrox Meteor-II /1394 board because the board is only an IEEE 1394-to-PCI adapter.
  • All IEEE 1394-compliant cameras that are attached to a Matrox Meteor-II /1394 board are detected when the first System control is created with its system descriptor property set to sysMeteorII_1394. This establishes a "pool" of 1394-based cameras. Use Digitizer controls to specify which camera (digitizer) belongs to a particular system. Any camera attached after the pool has been established cannot be accessed (allocated as digitizer).

    WARNING: You must not unplug a camera that is part of the pool until the system is freed; also, the camera should be plugged-in before launching your development environment.

Remark for Matrox Meteor-II /Camera Link
  • Only the following sysSystemDescriptorConstants expressions are supported:
    • sysSystemDefault.
    • sysSystemHost.
    • sysSystemMeteorII_CL.
Remark for Matrox Meteor-II /Digital
  • Only the following sysSystemDescriptorConstants expressions are supported:
    • sysSystemDefault.
    • sysSystemHost.
    • sysSystemMeteorII_Dig.
Remark for Matrox Meteor-II /Multi-Channel
  • Only the following sysSystemDescriptorConstants expressions are supported:
    • sysSystemDefault.
    • sysSystemHost.
    • sysSystemMeteor_II
Remark for Matrox Meteor-II /Standard
  • Only the following sysSystemDescriptorConstants expressions are supported:
    • sysSystemDefault.
    • sysSystemHost.
    • sysSystemMeteor_II
Remark for Matrox Morphis
  • Only the following sysSystemDescriptorConstants expressions are supported:
    • sysSystemDefault.
    • sysSystemHost.
    • sysSystemMorphis
Remarks for Matrox Odyssey XA
  • Only the following sysSystemDescriptorConstants expressions are supported:
    • sysSystemDefault.
    • sysSystemHost.
    • sysSystemOdyssey.
  • If Matrox Odyssey Xpro board that you allocate has a frame grabber module attached to it or any other Matrox Odyssey Xpro in the cluster, you can allocate the digitizer on each system (for example, if the cluster has 2 Xpro boards with only one frame grabber, a digitizer can be allocated on both ActiveMIL systems). It is, however, more efficient to allocate it on the system where it resides.
  • When Matrox Odyssey boards are interconnected using their link ports, they form a cluster. Each Matrox Odyssey board in a cluster must still be allocated separately. ActiveMIL will automatically detect the interconnection. If you have several Matrox Odyssey Xpro boards connected together (forming a cluster), you must allocate the boards in that cluster in sequential order, starting with board 0. For example, if you have a two board cluster, you cannot allocate board 1 before you have allocated board 0. When the boards are not connected together, they can be allocated in any order. The board number is set using the DeviceNumber property.
  • You can run multiple processes on the same board simultaneously. Each process can have one allocated system.
Remarks for Matrox Odyssey XCL
  • Only the following sysSystemDescriptorConstants expressions are supported:
    • sysSystemDefault.
    • sysSystemHost.
    • sysSystemOdyssey.
  • If Matrox Odyssey Xpro board that you allocate has a frame grabber module attached to it or any other Matrox Odyssey Xpro in the cluster, you can allocate the digitizer on each system (for example, if the cluster has 2 Xpro boards with only one frame grabber, a digitizer can be allocated on both ActiveMIL systems). It is, however, more efficient to allocate it on the system where it resides.
  • When Matrox Odyssey boards are interconnected using their link ports, they form a cluster. Each Matrox Odyssey board in a cluster must still be allocated separately. ActiveMIL will automatically detect the interconnection. If you have several Matrox Odyssey Xpro boards connected together (forming a cluster), you must allocate the boards in that cluster in sequential order, starting with board 0. For example, if you have a two board cluster, you cannot allocate board 1 before you have allocated board 0. When the boards are not connected together, they can be allocated in any order. The board number is set using the DeviceNumber property.
  • You can run multiple processes on the same board simultaneously. Each process can have one allocated system.
Remarks for Matrox Odyssey XD
  • Only the following sysSystemDescriptorConstants expressions are supported:
    • sysSystemDefault.
    • sysSystemHost.
    • sysSystemOdyssey.
  • If Matrox Odyssey Xpro board that you allocate has a frame grabber module attached to it or any other Matrox Odyssey Xpro in the cluster, you can allocate the digitizer on each system (for example, if the cluster has 2 Xpro boards with only one frame grabber, a digitizer can be allocated on both ActiveMIL systems). It is, however, more efficient to allocate it on the system where it resides.
  • When Matrox Odyssey boards are interconnected using their link ports, they form a cluster. Each Matrox Odyssey board in a cluster must still be allocated separately. ActiveMIL will automatically detect the interconnection. If you have several Matrox Odyssey Xpro boards connected together (forming a cluster), you must allocate the boards in that cluster in sequential order, starting with board 0. For example, if you have a two board cluster, you cannot allocate board 1 before you have allocated board 0. When the boards are not connected together, they can be allocated in any order. The board number is set using the DeviceNumber property.
  • You can run multiple processes on the same board simultaneously. Each process can have one allocated system.
Remarks for Matrox Orion
  • Only the following sysSystemDescriptorConstants expressions are supported:
    • sysSystemDefault.
    • sysSystemHost.
    • sysSystemOrion.
  • When specifying an Orion system, your display resolution must be in an 8-bit or true color (32-bit) display mode.
Remark for Matrox Solios XA
  • Only the following sysSystemDescriptorConstants expressions are supported:
    • sysSystemDefault.
    • sysSystemHost.
    • sysSystemSolios.
Remark for Matrox Solios XCL
  • Only the following sysSystemDescriptorConstants expressions are supported:
    • sysSystemDefault.
    • sysSystemHost.
    • sysSystemSolios.
[]
Example
This example shows how to set the SystemDescriptor property.

m_System1->SystemDescriptor = m_Application1->AvailableSystems->
                        Item(1L)->SystemDescriptor;

m_System1->DeviceNumber = m_Application1->AvailableSystems->
                          Item(1L)->DeviceNumber;


System.SystemType Property

SystemType property

Availability | MIL Equivalent | SystemDescriptor | UserBitChangedEvent
Available in ActiveMIL-Lite

Available in ActiveMIL

See remarks for support on:
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox Corona-II
See remarks for support on Matrox Orion
See remarks for support on Matrox Genesis
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MsysInquire(
InquireType =
M_SYSTEM_TYPE
)
System
SystemType
Synopsis
Returns the type of system allocated.
[]
Syntax
[SysSystemTypeConstants =] object.SystemType
[]
Syntax
[enum SysSystemTypeConstants =] object->SystemType
Type description
A SysSystemTypeConstants expression that returns the type of system allocated.
Value | Meaning
sysSystemCoronaIIType | A Matrox Corona-II system.
sysSystemCronosPlusType | A Matrox CronosPlus system.
sysSystemGenesisType | A Matrox Genesis system.
sysSystemHeliosType | A Matrox Helios system.
sysSystemHostType | A Host system.
sysSystemMeteorIIType | A Matrox Meteor-II /standard system.
sysSystemMeteorII_1394Type | A Matrox Meteor-II /1394 system.
sysSystemMeteorII_CLType | A Matrox Meteor-II /Camera Link system.
sysSystemMeteorII_DigType | A Matrox Meteor-II /Digital system.
sysSystemMorphisType | A Matrox Morphis system.
sysSystemOdysseyType | A Matrox Odyssey system.
sysSystemOrionType | A Matrox Orion system.
sysSystemSoliosType | A Matrox Solios system.
Remarks
  • The system is allocated using the SystemDescriptor property.
  • Note that htis property returns a value. To return the system type as a string, use the SystemDescriptor property.
Remark for Matrox Corona-II
  • Only one of the following SysSystemTypeConstants expressions will be returned:
    • sysSystemHostType.
    • sysSystemCoronaIIType.
Remark for Matrox CronosPlus
  • Only one of the following SysSystemTypeConstants expressions will be returned:
    • sysSystemHostType.
    • sysSystemCronosPlusType.
Remark for Matrox Genesis
  • Only one of the following SysSystemTypeConstants expressions will be returned:
    • sysSystemHostType.
    • sysSystemGenesisType.
Remark for Matrox Helios XA
  • Only one of the following SysSystemTypeConstants expressions will be returned:
    • sysSystemHostType.
    • sysSystemHeliosType.
Remark for Matrox Helios XCL
  • Only one of the following SysSystemTypeConstants expressions will be returned:
    • sysSystemHostType.
    • sysSystemHeliosType.
Remark for Matrox Meteor-II /1394
  • Only one of the following SysSystemTypeConstants expressions will be returned:
    • sysSystemHostType.
    • sysSystemMeteorII_1394Type.
Remark for Matrox Meteor-II /Camera Link
  • Only one of the following SysSystemTypeConstants expressions will be returned:
    • sysSystemHostType.
    • sysSystemMeteorII_CLType.
Remark for Matrox Meteor-II /Digital
  • Only one of the following SysSystemTypeConstants expressions will be returned:
    • sysSystemHostType.
    • sysSystemMeteorII_DigType.
Remark for Matrox Meteor-II /Multi-Channel
  • Only one of the following SysSystemTypeConstants expressions will be returned:
    • sysSystemHostType.
    • sysSystemMeteorIIType.
Remark for Matrox Meteor-II /Standard
  • Only one of the following SysSystemTypeConstants expressions will be returned:
    • sysSystemHostType.
    • sysSystemMeteorIIType.
Remark for Matrox Morphis
  • Only one of the following SysSystemTypeConstants expressions will be returned:
    • sysSystemHostType.
    • sysSystemMorphisType.
Remark for Matrox Odyssey XA
  • Only one of the following SysSystemTypeConstants expressions will be returned:
    • sysSystemHostType.
    • sysSystemOdysseyType.
Remark for Matrox Odyssey XCL
  • Only one of the following SysSystemTypeConstants expressions will be returned:
    • sysSystemHostType.
    • sysSystemOdysseyType.
Remark for Matrox Odyssey XD
  • Only one of the following SysSystemTypeConstants expressions will be returned:
    • sysSystemHostType.
    • sysSystemOdysseyType.
Remark for Matrox Orion
  • Only one of the following SysSystemTypeConstants expressions will be returned:
    • sysSystemHostType.
    • sysSystemOrionType.
Remark for Matrox Solios XA
  • Only one of the following SysSystemTypeConstants expressions will be returned:
    • sysSystemHostType.
    • sysSystemSoliosType.
Remark for Matrox Solios XCL
  • Only one of the following SysSystemTypeConstants expressions will be returned:
    • sysSystemHostType.
    • sysSystemSoliosType.


System.UserBitChangedEvent Property

UserBitChangedEvent property

See Also | Availability | MIL Equivalent | SystemType | UserBitsCount
Board Specific Notes:
User-defined signals for Matrox Morphis
User-defined signals for Matrox 4Sight
User-defined signals for Matrox CronosPlus

Reference:
System.SystemDescriptor
System.UserBitChanged
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox CronosPlus
Fully supported on Matrox Morphis

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL

Always available on Matrox 4Sight-II/ Matrox 4Sight-M
No MIL equivalent
System
UserBitChangedEvent
Synopsis
Returns or sets whether the UserBitChanged event is enabled.
[]
Syntax
[Boolean =] object.UserBitChangedEvent
[]
Syntax
[VARIANT_BOOL =] object->UserBitChangedEvent
Type description
A boolean value that specifies the state of the event.
Value | Meaning
True | The UserBitChanged event is enabled and will be fired after a user-defined input signal changes state.
False | The UserBitChanged event is disabled and will not be fired after a user-defined input signal changes state.
Remarks
  • Note that only user-defined input signals can fire the event and only if their interrupt state has been enabled (using the ControlUserBits method with sysUserBitInterruptState).
  • To use the capabilities of the auxiliary I/O interface (user-defined signals) on the Matrox 4Sight-M and Matrox 4Sight-II units, the System control must have its SystemDescriptor property set to sysSystemHost. Please refer to User-defined signals for Matrox 4Sight for more details on using the interface.


System.UserBitsCount Property

UserBitsCount property

See Also | Availability | MIL Equivalent | UserBitChangedEvent | Watchdog
Board Specific Notes:
User-defined signals for Matrox Morphis
User-defined signals for Matrox 4Sight
User-defined signals for Matrox CronosPlus
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox CronosPlus
Fully supported on Matrox Morphis

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL

Always available on Matrox 4Sight-II/ Matrox 4Sight-M
MsysInquire(
Inquire Type =
M_USER_BIT_COUNT_IN or
M_USER_BIT_COUNT_OUT
)
System
UserBitsCount
Synopsis
Returns the number of user-defined signals available for input or output.
[]
Syntax
[Integer=]object.UserBitsCount(
UserBitType As SysUserBitTypeConstants
)
[]
Syntax
[long =] object->UserBitsCount[enum SysUserBitTypeConstants UserBitType]
UserBitType
A SysUserBitTypeConstants expression that specifies the count type.
Value | Meaning
sysUserBitCountIn | Retrieves the number of user-defined signals available for input.
sysUserBitCountOut | Retrieves the number of user-defined signals available for output.
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of user-defined signals available for input or output.
Remarks
  • Note that for other Matrox imaging boards that have user-defined signals, but are not supported with this property, see the UserBits.Count property of the Digitizer control.
  • The count type for I/O user-defined signals depends on their mode (set using the ControlUserBits method). If the mode of the I/O signal is set to input, the number of input signals is incremented. If the mode of the I/O signal is set to output, the number of output signals is incremented.
  • To use the capabilities of the auxiliary I/O interface (user-defined signals) on the Matrox 4Sight-M and Matrox 4Sight-II units, the System control must have its SystemDescriptor property set to sysSystemHost because MIL treats Matrox 4Sight-M and Matrox 4Sight-II as normal computers.


System.Watchdog Property

Watchdog property

Availability | MIL Equivalent | UserBitsCount | Allocate
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Corona-II
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox CronosPlus
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Morphis
No MIL equivalent
System
Watchdog
Properties: Enabled, IsPresent, NumberOfReboots, RebootTimeout, Timeout, WarningEvent, WarningTime

Methods: ClearNumberOfReboots, Reset
Synopsis
Allows you to specify or determine the settings of the Watchdog.
[]
Syntax
[SystemWatchdog =] object.Watchdog
[]
Syntax
[ISystemWatchdogPtr =] object->Watchdog
Type description
A SystemWatchdog object.
Remark for Matrox Morphis
  • Watchdog is not available on Matrox Morphis PC/104-Plus.


System.Watchdog.Enabled Property

Enabled property

Availability | MIL Equivalent | IsPresent
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Morphis

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MsysControl(
ControlType =
M_WATCHDOG_MODE
)

MsysInquire(
InquireType =
M_WATCHDOG_MODE
)
System
Watchdog
Enabled
Synopsis
Returns or sets whether the Watchdog is enabled
[]
Syntax
object.Enabled [= Boolean]
[]
Syntax
object->Enabled [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the Watchdog is enabled. (default is False)
Value | Meaning
True | Enables the Watchdog.
False | Disables the Watchdog.
Remark
  • Note that when this property is set to True, the application should reset the all Watchdog timers using the RebootTimeout, Timeout and WarningTime properties.


System.Watchdog.IsPresent Property

IsPresent property

See Also | Availability | MIL Equivalent | Enabled | NumberOfReboots
Reference:
System.Watchdog.Enabled
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Morphis

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MsysInquire(
InquireType =
M_WATCHDOG_PRESENT
)
System
Watchdog
IsPresent
Synopsis
Returns whether the Watchdog circuitry is present.
[]
Syntax
[Boolean =] object.IsPresent
[]
Syntax
[VARIANT_BOOL =] object->IsPresent
Type description
A boolean value that specifies whether the Watchdog circuitry is present.
Value | Meaning
True | The Watchdog circuitry is present.
False | The Watchdog circuitry is not present.


System.Watchdog.NumberOfReboots Property

NumberOfReboots property

See Also | Availability | MIL Equivalent | IsPresent | RebootTimeout
Reference:
System.Watchdog.ClearNumberOfReboots
System.Watchdog.RebootTimeout
System.Watchdog.Timeout
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Morphis

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MsysInquire(
InquireType =
M_WATCHDOG_RESET_COUNTER
)
System
Watchdog
NumberOfReboots
Synopsis
Returns the number of times the Watchdog has rebooted your computer.
[]
Syntax
[Integer =] object.NumberOfReboots
[]
Syntax
[long =] object->NumberOfReboots
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of times the Watchdog has rebooted your computer.
Remark
  • Note that this count includes both reboots caused by the Watchdog reboot timer and Watchdog timeout timer.


System.Watchdog.RebootTimeout Property

RebootTimeout property

Availability | MIL Equivalent | NumberOfReboots | Timeout
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Morphis

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MsysControl(
ControlType =
M_WATCHDOG_REBOOT_TIMEOUT
)

MsysInquire(
InquireType =
M_WATCHDOG_REBOOT_TIMEOUT
)
System
Watchdog
RebootTimeout
Synopsis
Returns or sets the timeout value of the Watchdog's reboot timer.
[]
Syntax
object.RebootTimeout [= Integer]
[]
Syntax
object->RebootTimeout [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value or a SysMiscConstants expression that specifies the timeout value of the Watchdog's reboot timer, in msec.
Remark
  • If, during a reboot, the Host computer does not reset the Watchdog's reboot timer before the specified interval expires, the Host computer is assumed to have hung. The Watchdog's reboot timer will then force the Host computer to reboot again.


System.Watchdog.Timeout Property

Timeout property

See Also | Availability | MIL Equivalent | RebootTimeout | WarningEvent
Reference:
System.Watchdog.Reset
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Morphis

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MsysControl(
ControlType =
M_WATCHDOG_REBOOT_TIMEOUT
)

MsysInquire(
InquireType =
M_WATCHDOG_REBOOT_TIMEOUT
)
System
Watchdog
Timeout
Synopsis
Returns or sets the timeout value of the Watchdog's main timer.
[]
Syntax
object.Timeout [= Integer]
[]
Syntax
object->Timeout [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the timeout value for the Watchdog's main timer, in msec.
Remarks
  • If, during the course of regular operations, the Host computer does not reset the main timer before the specified interval expires, the Host computer is assumed to have hung. The Watchdog's main timer will then force the Host computer to reboot. To receive a warning before the reboot, you can set the Watchdog's warning timer.
  • When the Watchdog's warning timer expires, an interrupt is generated to warn you to reset the Watchdog's main timer using this property. Set the Watchdog's main timer to a value greater than that of the Watchdog's warning timer to allow enough time for the interrupt to be generated. Use the Watchdog.WarningTime property to set the warning timer.


System.Watchdog.WarningEvent Property

WarningEvent property

See Also | Availability | MIL Equivalent | Timeout | WarningTime
Reference:
System.Watchdog.WarningTime
System.WatchdogWarning
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Morphis

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MsysHookFunction(
HookType =
M_WATCHDOG_WARNING
)
System
Watchdog
WarningEvent
Synopsis
Returns or sets whether the WatchdogWarning event should be fired.
[]
Syntax
object.WarningEvent [= Boolean]
[]
Syntax
object->WarningEvent [= VARIANT_BOOL]
Type description
A boolean value that specifies whether the WatchdogWarning event is fired when the Watchdog timers are not reset before the Watchdog warning timer expires.
Value | Meaning
True | The WatchdogWarning event is enabled and will be fired.
False | The WatchdogWarning event is disabled and will not be fired.


System.Watchdog.WarningTime Property

WarningTime property

See Also | Availability | MIL Equivalent | WarningEvent | ClearNumberOfReboots
Reference:
System.Watchdog.WarningEvent
System.WatchdogWarning
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Morphis

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MsysControl(
ControlType =
M_WATCHDOG_WARNING_TIME
)

MsysInquire(
InquireType =
M_WATCHDOG_WARNING_TIME
)
System
Watchdog
WarningTime
Synopsis
Returns or sets the timeout value of the Watchdog warning timer.
[]
Syntax
object.WarningTime [= Integer]
[]
Syntax
object->WarningTime [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value or a SysMiscConstants expression that specifies the timeout value of the Watchdog warning timer.
Value | Meaning
value | The maximum time to wait before issuing a warning, in msec.
sysInfinite | The Watchdog will never receive a warning.
Remarks
  • If, during the course of regular operations, the Host computer does not reset the Watchdog timers (using the Reset method) before the specified interval expires, the Host computer is assumed to have hung. The Watchdog's warning timer will then generate a warning interrupt that triggers the WatchdogWarning event if enabled. To enable the event, use the Watchdog.WarningEvent property.
  • Set the Watchdog's warning timer to a value less than that of the Watchdog's main timer (set using the Watchdog.Timeout property) to allow enough time for the interrupt to be generated.


System.Watchdog.ClearNumberOfReboots Method

ClearNumberOfReboots method

Availability | MIL Equivalent | WarningTime | Reset
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Morphis

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Solios XA
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XCL
MsysControl(
ControlType =
M_WATCHDOG_RESET_COUNTER +
M_DEFAULT
)
System
Watchdog
ClearNumberOfReboots
Synopsis
Clears the count of the number of times the Watchdog has rebooted your computer.
[]
Syntax
object.ClearNumberOfReboots()
[]
Syntax
void object->ClearNumberOfReboots()
Remark
  • This method clears the NumberOfReboots property, which counts the number of times your computer has been rebooted using the Watchdog reboot and timeout timers.


System.Watchdog.Reset Method

Reset method

See Also | Availability | MIL Equivalent | ClearNumberOfReboots
Reference:
System.Watchdog.Timeout
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Morphis

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Solios XA
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XCL
MsysControl(
ControlType =
M_WATCHDOG_RESET +
M_DEFAULT
)

MsysInquire(
InquireType =
M_WATCHDOG_RESET +
M_DEFAULT
)
System
Watchdog
Reset
Synopsis
Resets the Watchdog's main, reboot and warning timers.
[]
Syntax
object.Reset()
[]
Syntax
void object->Reset()


System.Allocate Method

Allocate method

See Also | Availability | MIL Equivalent | Watchdog | Control
User Guide:
Setting up controls

Reference:
System.AutomaticAllocation
System.IsAllocated
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Orion
Fully supported on Matrox Corona-II
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox CronosPlus
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
MsysAlloc()
System
Allocate
Synopsis
Allocates the resources of the System control.
[]
Syntax
object.Allocate()
[]
Syntax
void object->Allocate()
Remarks
  • By default, the control's AutomaticAllocation property is set to True, and therefore allocation is done automatically.
  • To preserve resources and delay allocation until necessary, set the AutomaticAllocation property to False and call the Allocate method only when the control is actually needed.
  • To create a new System control at run-time, use the CreateObject method of the Application control.
  • If you call the Allocate method while the control is in the allocated state, an error is generated. To determine the allocation state of a control, use the IsAllocated property.
  • The following properties cannot be changed at run-time while the control is in the allocated state (free the control using the Free method):
    • SystemDescriptor
    • DeviceNumber
    • InitializationFlag
  • After allocation is done, any controls dependant upon this control will automatically get allocated if their AutomaticAllocation property is set to true.
Remark for Matrox Genesis
  • For auxiliary displays, Matrox Genesis will only use its on-board display section; however, the on-board display section of Matrox Genesis can be used by other systems.
Remarks for Matrox Meteor-II /1394
  • In contrast to other Matrox boards (with the exception of the VGA), multiple MeteorII_1394 systems are possible on a Matrox Meteor-II /1394 board because the board is only an IEEE 1394-to-PCI adapter.
  • All IEEE 1394-compliant cameras that are attached to a Matrox Meteor-II /1394 board are detected when the first MeteorII_1394 System control is created. This establishes a "pool" of 1394-based cameras. Any camera attached after the pool has been established cannot be accessed (allocated as digitizers).

    WARNING: You must not unplug a camera that is part of the pool until the system is freed; also, the camera should be plugged-in before launching your development environment.

    When it is necessary to manage multiple systems, the System control's order or rank can be set using the System control's DeviceNumber property.

Remark for Matrox Odyssey XA
  • When Matrox Odyssey boards are interconnected using their link ports, they form a cluster. Each Matrox Odyssey board in a cluster must still be allocated separately. ActiveMIL will automatically detect the interconnection. If you have several Matrox Odyssey Xpro boards connected together (forming a cluster), you must allocate the boards in that cluster in sequential order, starting with board 0. For example, if you have a two board cluster, you cannot allocate board 1 before you have allocated board 0. When the boards are not connected together, they can be allocated in any order. The board number is set using the System control's DeviceNumber property.
Remark for Matrox Odyssey XCL
  • When Matrox Odyssey boards are interconnected using their link ports, they form a cluster. Each Matrox Odyssey board in a cluster must still be allocated separately. ActiveMIL will automatically detect the interconnection. If you have several Matrox Odyssey Xpro boards connected together (forming a cluster), you must allocate the boards in that cluster in sequential order, starting with board 0. For example, if you have a two board cluster, you cannot allocate board 1 before you have allocated board 0. When the boards are not connected together, they can be allocated in any order. The board number is set using the System control's DeviceNumber property.
Remark for Matrox Odyssey XD
  • When Matrox Odyssey boards are interconnected using their link ports, they form a cluster. Each Matrox Odyssey board in a cluster must still be allocated separately. ActiveMIL will automatically detect the interconnection. If you have several Matrox Odyssey Xpro boards connected together (forming a cluster), you must allocate the boards in that cluster in sequential order, starting with board 0. For example, if you have a two board cluster, you cannot allocate board 1 before you have allocated board 0. When the boards are not connected together, they can be allocated in any order. The board number is set using the System control's DeviceNumber property.
[]
Example
This example demonstrates how to allocate multiple controls with a single call to the Allocate method.

Image1.AutomaticAllocation = True
Image1.OwnerSystem = System1

' This call will also allocate Image1 since its OwnerSystem property is System1
' and its AutomaticAllocation property is set to True
System1.Allocate()
[]
Example
This example demonstrates how to allocate multiple controls with a single call to the Allocate method.

m_Image1->AutomaticAllocation = TRUE;
m_Image1->OwnerSystem = m_System1;

// This call will also allocate m_Image1 since
// its OwnerSystem property is m_System1 and
// its AutomaticAllocation property is set to TRUE
m_System1->Allocate();


System.Control Method

Control method

See Also | Availability | MIL Equivalent | Allocate | ControlUserBits
Reference:
System.Inquire
Available in ActiveMIL-Lite

Available in ActiveMIL

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Orion
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox Corona-II
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MsysControl(
ControlType =
M_BUS_MASTER_COPY_TO_HOST or
M_BUS_MASTER_COPY_FROM_HOST or
M_MODIFIED_BUFFER_HOOK_MODE
)
System
Control
Synopsis
Controls the attributes of the System control.
[]
Syntax
object.Control(
ByVal ControlType As SysInquireAndControlConstants,
ByVal ControlFlag As Object
)
[]
Syntax
void object->Control(
enum SysInquireAndControlConstants ControlType,
const _variant_t & ControlFlag
)
ControlType
A SysInquireAndControlConstants expression that specifies the attribute to be modified.
ControlFlag
A variantobjectvariant (object for Visual Basic .Net) value that specifies the new value to be set.

See the Parameter associations table for possible values.
Parameter association
Possible values for parameters ControlType and ControlFlag.

ControlType |  | ControlFlag |
sysBusMasterCopyToHost | Sets whether a copy operation from an imOnBoard image to a Host image is driven by your imaging board (bus master) or by the Host CPU. | sysEnable | The copy operation is driven by the imaging board, speeding up the copy and reducing Host intervention.
 |  | sysDisable | The copy operation is driven by the Host CPU.
sysBusMasterCopyFromHost | Sets whether a copy operation from a Host image to an imOnBoard image is driven by the imaging board (bus master) or by the Host CPU. | sysEnable | The copy operation is driven by the imaging board, speeding up the copy and reducing Host intervention.
 |  | sysDisable | The copy operation is driven by the Host CPU.
sysUseModifiedImageHookMode | Sets whether to run event procedures triggered by an image being modified, on a separate thread, up to the number of CPUs present in the computer. | sysSingleThread | Specifies that only one thread should be created and that all image modifications are run on the same thread (default)
 |  | sysMultiThread | Specifies that all event procedures are run on separate threads, up to the number of CPUs present in the computer. Processing is dispatched by the operating system to available CPUs, depending on their workload. ActiveMIL cannot guarantee the processing order of any frame on such a computer, because they are executed concurrently. Instead, use Microsoft Windows functions to synchronize the threads.
Remark for Matrox Corona-II
  • Currently, no ControlType settings are supported.
Remark for Matrox CronosPlus
  • Currently, no ControlType settings are supported.
Remarks for Matrox Genesis
  • The default for the ControlType setting sysBusMasterCopyToHost is sysEnable for the main board and the processor board, and sysDisable for the Genesis-LC.
  • The default for the ControlType setting sysBusMasterCopyFromHost is sysEnable for the main board and the processor board, and sysDisable for the Genesis-LC.
Remark for Matrox Helios XA
  • Only the sysUseModifiedImageHookMode control type setting is supported for this board.
Remark for Matrox Helios XCL
  • Only the sysUseModifiedImageHookMode control type setting is supported for this board.
Remark for Matrox Meteor-II /1394
  • Currently, no ControlType settings are supported.
Remark for Matrox Meteor-II /Camera Link
  • The ControlType settings sysBusMasterCopyToHost and sysBusMasterCopyFromHost are the only ones supported. They are set to sysDisable by default.
Remark for Matrox Meteor-II /Digital
  • The ControlType settings sysBusMasterCopyToHost and sysBusMasterCopyFromHost are the only ones supported. They are set to sysDisable by default.
Remark for Matrox Meteor-II /Multi-Channel
  • Currently, no ControlType settings are supported.
Remark for Matrox Meteor-II /Standard
  • Currently, no ControlType settings are supported.
Remark for Matrox Morphis
  • Only the sysUseModifiedImageHookMode control type setting is supported for this board.
Remark for Matrox Odyssey XA
  • The default for the ControlType settings of sysBusMasterCopyToHost and sysBusMasterCopyFromHost are both sysEnable.
Remark for Matrox Odyssey XCL
  • The default for the ControlType settings of sysBusMasterCopyToHost and sysBusMasterCopyFromHost are both sysEnable.
Remark for Matrox Odyssey XD
  • The default for the ControlType settings of sysBusMasterCopyToHost and sysBusMasterCopyFromHost are both sysEnable.
Remark for Matrox Orion
  • Currently, no ControlType settings are supported.
Remark for Matrox Solios XA
  • Only the sysUseModifiedImageHookMode control type setting is supported for this board.
Remark for Matrox Solios XCL
  • Only the sysUseModifiedImageHookMode control type setting is supported for this board.


System.ControlUserBits Method

ControlUserBits method

See Also | Availability | MIL Equivalent | Control | ControlUserBitsWithMask
Board Specific Notes:
User-defined signals for Matrox Morphis
User-defined signals for Matrox 4Sight
User-defined signals for Matrox CronosPlus

Reference:
System.SystemDescriptor
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Morphis

Always available on Matrox 4Sight-II/ Matrox 4Sight-M
MsysControl(
Control Type =
M_USER_BIT_INTERRUPT_STATE or
M_USER_BIT_INTERRUPT_MODE or
M_USER_BIT_MODE or
M_USER_BIT_VALUE_OUT
)
System
ControlUserBits
Synopsis
Controls the specified setting for the specified user-defined signal.
[]
Syntax
object.ControlUserBits(
ByVal UserBitOperation As SysUserBitControlTypeConstants,
ByVal Bit As Integer,
ByVal Value As SysUserBitControlValueConstants
)
[]
Syntax
void object->ControlUserBits(
enum SysUserBitControlTypeConstants UserBitOperation,
long Bit,
enum SysUserBitControlValueConstants Value
)
UserBitOperation
A SysUserBitControlTypeConstants expression that specifies the type of setting.

See the Parameter associations table for possible values.
Bit
A longintegerlong (integer for Visual Basic .Net) value that specifies the ActiveMIL user-defined signal number.
Value
A SysUserBitControlValueConstants expression that specifies the new value for the specified setting of the user-defined signal.

See the Parameter associations table for possible values.
Parameter association
Possible values for parameters UserBitOperation and Value.

UserBitOperation |  | Value |
sysUserBitValueOut | Sets the functional state of the specified user-defined output signal. | sysOn | The current bit of the user-defined output signal is on.
 |  | sysOff | The current bit of the user-defined output signal is off.
sysUserBitMode | Sets the mode of the specified user-defined I/O signal. | sysInput | The specified user-defined signal is an input signal.
 |  | sysOutput | The specified user-defined signal is an output signal.
sysUserBitInterruptMode | Sets the interrupt mode of the specified user-defined input signal. | sysEdgeRising | The interrupt mode corresponds to a rising edge.
 |  | sysEdgeFalling | The interrupt mode corresponds to a falling edge.
sysUserBitInterruptState | Sets the interrupt state of the specified user-defined input signal. | sysUserBitEnable | The interrupt state is enabled.
 |  | sysUserBitDisable | The interrupt state is disabled.
Remarks
  • To set the state and the mode of multiple user-defined signals, you can use the ControlUserBitsWithMask method.
  • To use the capabilities of the auxiliary I/O interface (user-defined signals) on the Matrox 4Sight-M and Matrox 4Sight-II units, the System control must have its SystemDescriptor property set to sysSystemHost because MIL treats Matrox 4Sight-M and Matrox 4Sight-II as normal computers.
  • Refer to User-defined signals for Matrox 4Sight for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox CronosPlus
  • Refer to User-defined signals for Matrox CronosPlus for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Morphis
  • Refer to User-defined signals for Matrox Morphis for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.


System.ControlUserBitsWithMask Method

ControlUserBitsWithMask method

See Also | Availability | MIL Equivalent | ControlUserBits | Free
Board Specific Notes:
User-defined signals for Matrox Morphis
User-defined signals for Matrox 4Sight
User-defined signals for Matrox CronosPlus

Reference:
System.SystemDescriptor
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Morphis

Always available on Matrox 4Sight-II/ Matrox 4Sight-M
MsysControl(
ControlType =
((M_USER_BIT_MODE or
M_USER_BIT_VALUE_OUT) +
M_BIT_MASK)
)
System
ControlUserBitsWithMask
Synopsis
Controls the specified setting for the specified user-defined signals, using a bit-encoded value.
[]
Syntax
object.ControlUserBitsWithMask(
ByVal UserBitOperation As SysUserBitOperationConstants,
ByVal Mask As Integer,
ByVal Value As Integer
)
[]
Syntax
void object->ControlUserBitsWithMask(
enum SysUserBitOperationConstants UserBitOperation,
long Mask,
long Value
)
UserBitOperation
A SysUserBitOperationConstants expression that specifies the type of setting.

See the Parameter associations table for possible values.
Mask
A longintegerlong (integer for Visual Basic .Net) value that specifies a bit-encoded mask, identifying the user-defined signals to control. Enabled bits in the mask value identify which user-defined signals to control.
Value
A longintegerlong (integer for Visual Basic .Net) value that specifies the new value for the specified setting of the user-defined signals, using a bit-encoded value.

See the Parameter associations table for possible values.
Parameter association
Possible values for parameters UserBitOperation and Value.

UserBitOperation |  | Value |
sysUserBitValueOut | Sets the functional state of the specified user-defined output signals. | 1 | The current bit of the user-defined output signal is on.
 |  | 0 | The current bit of the user-defined output signal is off.
sysUserBitMode | Sets the mode of the specified user-defined I/O signals. | 1 | The specified user-defined signal is an input signal.
 |  | 0 | The specified user-defined signal is an output signal.
Remarks
  • This method allows you to control several user-defined signals at the same time. Alternatively, you can use the ControlUserBits method property.
  • The Mask parameter determines which user-defined signals will be set. For example, the value 45 would establish a mask that sets the user-defined signals 0, 2, 3, and 5 since the binary equivalent of 45 is equal to 101101.
  • To use the capabilities of the auxiliary I/O interface (user-defined signals) on the Matrox 4Sight-M and Matrox 4Sight-II units, the System control must have its SystemDescriptor property set to sysSystemHost because MIL treats Matrox 4Sight-M and Matrox 4Sight-II as normal computers.
  • Refer to User-defined signals for Matrox 4Sight for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox CronosPlus
  • Refer to User-defined signals for Matrox CronosPlus for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Morphis
  • Refer to User-defined signals for Matrox Morphis for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.


System.Free Method

Free method

See Also | Availability | MIL Equivalent | ControlUserBitsWithMask | Inquire
User Guide:
Setting up controls

Reference:
System.Allocate
System.AutomaticAllocation
System.IsAllocated
Available in ActiveMIL-Lite

Available in ActiveMIL
MsysFree()
System
Free
Synopsis
Frees the resources of the System control.
[]
Syntax
object.Free()
[]
Syntax
void object->Free()
Remarks
  • The resources associated with a System control are automatically freed when the control is destroyed. You must use the Free method if you want to free the control prematurely.
  • To determine the allocation state of a control, use the IsAllocated property. While a System control is in the allocated state, some of its properties cannot be changed at run-time (for example, you cannot change the device number of the control). At run-time, to modify a property that cannot be changed after allocation, you must free the control (using the Free method), change its property(ies), and then re-allocate the control (using the Allocate method). For example, at run-time, to change the device number of the control, you must free the System control, make the change in the DeviceNumber property, and allocate the control again.
  • The Free method will generate an error if the control is not allocated.
  • Any property can be changed when its control is in the allocated state, unless it is otherwise stated in the Remarks section of that property.
[]
Example
This example shows how to use the Free method.

If System1.IsAllocated Then
    System1.Free()
End If
[]
Example
This example shows how to use the Free method.

if (m_System1->IsAllocated)
   m_System1->Free();


System.Inquire Method

Inquire method

See Also | Availability | MIL Equivalent | Free | InquireUserBits
Reference:
System.Control
Available in ActiveMIL-Lite

Available in ActiveMIL

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Orion
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox Corona-II
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MsysInquire(
InquireType =
M_BUS_MASTER_COPY_TO_HOST or
M_BUS_MASTER_COPY_FROM_HOST or
M_NATIVE_THREAD_ID or
M_NATIVE_ID or
M_DIGITIZER_TYPE or
M_MODIFIED_BUFFER_HOOK_MODE or
M_ACCERATOR_PRESENT
)
System
Inquire
Synopsis
Inquires about the attributes of the System control.
[]
Syntax
[Object =] object.Inquire(
ByVal ParamToInquire As SysInquireAndControlConstants
)
[]
Syntax
[_variant_t =] object->Inquire(
enum SysInquireAndControlConstants ParamToInquire
)
ParamToInquire
A SysInquireAndControlConstants expression that specifies the attribute about which to inquire.
Value | Meaning
sysAcceleratorPresent | Returns whether the processing accelerator (PA) is present (sysYes or sysNo).
sysBusMasterCopyToHost | Copies from an on-board image to a Host images are driven by your imaging board (sysEnable or sysDisable).
sysBusMasterCopyFromHost | Copies from a Host image to an on-board images are driven by the imaging board(sysEnable or sysDisable).
sysNativeThreadID | The Native Library's native identifier of the thread currently used by ActiveMIL.
sysNativeID | Returns the Native Library's native identifier of the system.
sysDevnDigitizerType | Returns the type of frame grabber(s) available to allocate a digitizer on the system, where n is the acquisition path of the digitizer.
sysUseModifiedImageHookMode | Returns the whether to use a single or multiple threads when performing user-defined event procedures that occur when the content of an image is modified. (sysSingleThread or sysMultiThread)
Return value
The current value assigned to the attribute that is inquired.
Remarks
  • Note that the maximum number of threads that can be used by user-defined event procedures is equal to the number of CPUs present in the computer.
  • Use the NumberofDigitizers property to return the total number of possible independent acquisition paths on the system.
Remark for Matrox Corona-II
  • Currently, no ParamToInquire settings are supported. This method is reserved for future expansion.
Remark for Matrox CronosPlus
  • Currently, no ParamToInquire settings are supported. This method is reserved for future expansion.
Remark for Matrox Genesis
  • The following values are supported:
    • sysBusMasterCopyToHost.
    • sysBusMasterCopyFromHost.
    • sysNativeThreadID.
    • sysNativeID.
Remark for Matrox Helios XA
  • The following values are supported:
    • sysUseModifiedImageHookMode.
    • sysAcceleratorPresent.
    • sysUseModifiedImageHookMode
Remark for Matrox Helios XCL
  • The following values are supported:
    • sysUseModifiedImageHookMode.
    • sysAcceleratorPresent.
    • sysUseModifiedImageHookMode
Remark for Matrox Meteor-II /1394
  • Currently, no ParamToInquire settings are supported. This method is reserved for future expansion.
Remark for Matrox Meteor-II /Camera Link
  • The following values are supported:
    • sysBusMasterCopyToHost.
    • sysBusMasterCopyFromHost.
    • sysNativeThreadID.
    • sysNativeID.
Remark for Matrox Meteor-II /Digital
  • The following values are supported:
    • sysBusMasterCopyToHost.
    • sysBusMasterCopyFromHost.
    • sysNativeThreadID.
    • sysNativeID.
Remark for Matrox Meteor-II /Multi-Channel
  • Currently, no ParamToInquire settings are supported. This method is reserved for future expansion.
Remark for Matrox Meteor-II /Standard
  • Currently, no ParamToInquire settings are supported. This method is reserved for future expansion.
Remark for Matrox Morphis
  • The following value is supported:
    • sysUseModifiedImageHookMode.
Remarks for Matrox Odyssey XA
  • The following values are supported:
    • sysAcceleratorPresent.
    • sysBusMasterCopyToHost.
    • sysBusMasterCopyFromHost.
    • sysDevnDigitizerType.
    • sysNativeID.
    • sysNativeThreadID.
    • sysUseModifiedImageHookMode.
  • sysDevnDigitizerType can return the following sysBoardTypeConstants expression:
    • sysQHA. The quad-input high-frequency Analog module for Matrox Odyssey XA.
  • When dealing with a cluster of boards featuring Matrox Odyssey Xpro, the total number of independent acquisition paths available includes those of the frame grabber modules attached to any Matrox Odyssey Xpro board (or PMC board) in the cluster. The total number can be from 0 to 31.
Remarks for Matrox Odyssey XCL
  • The following values are supported:
    • sysAcceleratorPresent.
    • sysBusMasterCopyToHost.
    • sysBusMasterCopyFromHost.
    • sysDevnDigitizerType.
    • sysNativeID.
    • sysNativeThreadID.
    • sysUseModifiedImageHookMode.
  • sysDevnDigitizerType can return one of the following sysBoardTypeConstants expressions:
    • sysSFCL. The single-Full Camera Link module of Matrox Odyssey XCL.
    • sysDBCL. The dual-Base Camera Link module of Matrox Odyssey XCL.
  • When dealing with a cluster of boards featuring Matrox Odyssey Xpro, the total number of independent acquisition paths available includes those of the frame grabber modules attached to any Matrox Odyssey Xpro board (or PMC board) in the cluster. The total number can be from 0 to 31.
Remarks for Matrox Odyssey XD
  • The following values are supported:
    • sysAcceleratorPresent.
    • sysBusMasterCopyToHost.
    • sysBusMasterCopyFromHost.
    • sysDevnDigitizerType.
    • sysNativeID.
    • sysNativeThreadID.
    • sysUseModifiedImageHookMode.
  • sysDevnDigitizerType can return the following sysBoardTypeConstants expression:
    • sysQD. The Matrox Odyssey digital..
  • When dealing with a cluster of boards featuring Matrox Odyssey Xpro, the total number of independent acquisition paths available includes those of the frame grabber modules attached to any Matrox Odyssey Xpro board (or PMC board) in the cluster. The total number can be from 0 to 31.
Remark for Matrox Orion
  • Currently, no ParamToInquire settings are supported. This method is reserved for future expansion.
Remark for Matrox Solios XA
  • The following values are supported:
    • sysUseModifiedImageHookMode.
    • sysAcceleratorPresent.
    • sysUseModifiedImageHookMode
Remark for Matrox Solios XCL
  • The following values are supported:
    • sysUseModifiedImageHookMode.
    • sysAcceleratorPresent.
    • sysUseModifiedImageHookMode


System.InquireUserBits Method

InquireUserBits method

See Also | Availability | MIL Equivalent | Inquire | InquireUserBitsWithMask
Board Specific Notes:
User-defined signals for Matrox Morphis
User-defined signals for Matrox 4Sight
User-defined signals for Matrox CronosPlus

Reference:
System.SystemDescriptor
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Morphis

Always available on Matrox 4Sight-II/ Matrox 4Sight-M
MsysInquire(
InquireType =
M_USER_BIT_INTERRUPT_STATE or
M_USER_BIT_INTERRUPT_MODE or
M_USER_BIT_MODE or
M_USER_BIT_VALUE_IN or
M_USER_BIT_VALUE_OUT
)
System
InquireUserBits
Synopsis
Returns the value of a specified setting for a specified user-defined signal.
[]
Syntax
[SysUserBitControlValueConstants =] object.InquireUserBits(
ByVal UserBitOperation As SysUserBitControlTypeConstants,
ByVal Bit As Integer
)
[]
Syntax
[enum SysUserBitControlValueConstants =] object->InquireUserBits(
enum SysUserBitControlTypeConstants UserBitOperation,
long Bit
)
UserBitOperation
A SysUserBitControlTypeConstants expression that specifies the type of setting.

See the Parameter associations table for possible values.
Bit
A longintegerlong (integer for Visual Basic .Net) value that specifies the ActiveMIL user-defined signal number.
Return value
A SysUserBitControlValueConstants expression that returns the value of a specified setting for a user-defined signal.
See the Parameter associations table for possible values
Parameter association
Possible values for the UserBitOperation parameter and their return values.

UserBitOperation |  | Return value |
sysUserBitValueIn | Returns the functional state of the specified user-defined input signal. | sysOn | The current bit of the user-defined input signal is on.
 |  | sysOff | The current bit of the user-defined input signal is off.
sysUserBitValueOut | Returns the functional state of the specified user-defined output signal. | sysOn | The current bit of the user-defined output signal is on.
 |  | sysOff | The current bit of the user-defined output signal is off.
sysUserBitMode | Returns the mode of the specified user-defined signal. | sysInput | The user-defined signal is an input signal.
 |  | sysOutput | The user-defined signal is an output signal.
sysUserBitInterruptMode | Returns the interrupt mode of the specified user-defined input signal. | sysEdgeRising | The interrupt mode corresponds to a rising edge.
 |  | sysEdgeFalling | The interrupt mode corresponds to a falling edge.
sysUserBitInterruptState | Returns the interrupt state of the specified user-defined input signal. | sysUserBitEnable | The interrupt state is enabled.
 |  | sysUserBitDisable | The interrupt state is disabled.
Remarks
  • To inquire about the state and the mode of multiple user-defined signals, you can use the InquireUserBitsWithMask method.
  • To use the capabilities of the auxiliary I/O interface (user-defined signals) on the Matrox 4Sight-M and Matrox 4Sight-II units, the System control must have its SystemDescriptor property set to sysSystemHost because MIL treats Matrox 4Sight-M and Matrox 4Sight-II as normal computers.
  • Refer to User-defined signals for Matrox 4Sight for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox CronosPlus
  • Refer to User-defined signals for Matrox CronosPlus for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Morphis
  • Refer to User-defined signals for Matrox Morphis for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.


System.InquireUserBitsWithMask Method

InquireUserBitsWithMask method

See Also | Availability | MIL Equivalent | InquireUserBits | Modified
Board Specific Notes:
User-defined signals for Matrox Morphis
User-defined signals for Matrox 4Sight
User-defined signals for Matrox CronosPlus

Reference:
System.SystemDescriptor
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Morphis

Always available on Matrox 4Sight-II/ Matrox 4Sight-M
MsysInquire(
InquireType =
((M_USER_BIT_MODE or
M_USER_BIT_VALUE_IN or
M_USER_BIT_VALUE_OUT) +
M_BIT_MASK)
)
System
InquireUserBitsWithMask
Synopsis
Returns the value of the specified setting for the specified user-defined signals, using a bit-encoded value.
[]
Syntax
[Integer =] object.InquireUserBitsWithMask(
ByVal UserBitOperation As SysUserBitOperationConstants,
ByVal Mask As Integer
)
[]
Syntax
[long =] object->InquireUserBitsWithMask(
enum SysUserBitOperationConstants UserBitOperation,
long Mask
)
UserBitOperation
A SysUserBitOperationConstants expression that specifies the type of setting.

See the Parameter associations table for possible values.
Mask
A longintegerlong (integer for Visual Basic .Net) value that specifies a bit-encoded mask, identifying the user-defined signals about which to inquire. Enabled bits in the mask value identify which user-defined signals to inquire.
Return value
A longintegerlong (integer for Visual Basic .Net) value that returns the value of the specified setting for the specified user-defined signals, using a bit-encoded value.
See the Parameter associations table for possible values
Parameter association
Possible values for the UserBitOperation parameter and their return values.

UserBitOperation |  | Return value |
sysUserBitValueIn | Returns the functional state of the specified user-defined input signals. | 1 | The current bit of the user-defined input signal is on.
 |  | 0 | The current bit of the user-defined input signal is off.
sysUserBitValueOut | Returns the functional state of the specified user-defined output signals. | 1 | The current bit of the user-defined output signal is on.
 |  | 0 | The current bit of the user-defined output signal is off.
sysUserBitMode | Returns the mode of the specified user-defined signals. | 1 | The specified user-defined signal is an input signal.
 |  | 0 | The specified user-defined signal is an output signal.
Remarks
  • This method allows you to inquire about several user-defined signals at the same time. Alternatively, you can use the InquireUserBits method property.
  • The Mask parameter determines which user-defined signals will be inquired. For example, the value 45 would establish a mask that inquires about user-defined signals 0, 2, 3, and 5 since the binary equivalent of 45 is equal to 101101.
  • To use the capabilities of the auxiliary I/O interface (user-defined signals) on the Matrox 4Sight-M and Matrox 4Sight-II units, the System control must have its SystemDescriptor property set to sysSystemHost because MIL treats Matrox 4Sight-M and Matrox 4Sight-II as normal computers.
  • Refer to User-defined signals for Matrox 4Sight for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox CronosPlus
  • Refer to User-defined signals for Matrox CronosPlus for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.
Remark for Matrox Morphis
  • Refer to User-defined signals for Matrox Morphis for details on the relationship between the ActiveMIL user-defined signal numbers and the actual user-defined signals.


System.Modified Method

Modified method

See Also | Availability | MIL Equivalent | InquireUserBitsWithMask | ShowPropertyPages
User Guide:
Integrating MIL functions into your ActiveMIL code.

Reference:
System.MilID
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
System
Modified
Synopsis
Informs the System control that Native MIL calls were made on its resources.
[]
Syntax
object.Modified(
ByVal ModificationType As Integer
)
[]
Syntax
void object->Modified(
long ModificationType
)
ModificationType (optional in , default is amilDefault)
A longintegerlong (integer for Visual Basic .Net) value that specifies the modification type.
Value | Meaning
amilDefault | Specifies that native MIL calls were used to modify the contents of the System control.
Remark
  • The Modified method should be called after performing a Native MIL Msys...() function on the resources of the System control. This ensures that all properties of the System control are updated to match its state in MIL.


System.ShowPropertyPages Method

ShowPropertyPages method

Availability | MIL Equivalent | Modified | SerialPortData
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
System
ShowPropertyPages
Synopsis
Opens the specified property pages of the System control in a window.
[]
Syntax
object.ShowPropertyPages(
ByVal Pages As SysPropertyPagesConstants,
ByVal Caption As String,
ByVal hWndParent As Integer,
ByVal Reserved As Boolean
)
[]
Syntax
void object->ShowPropertyPages(
enum SysPropertyPagesConstants Pages,
_bstr_t Caption,
long hWndParent,
VARIANT_BOOL Reserved
)
Pages
A SysPropertyPagesConstants expression that specifies the page(s) to display. You can add the following constants together to display multiple pages.
Value | Meaning
sysGeneralPropertyPage | Display the System control's General property page.
sysHistoryPropertyPage | Display the System control's History property page.
sysAllPropertyPages | Display all of the System control's available property pages.
Caption (optional in , default is "")
A string value that specifies the caption for the property pages window. The default is an empty string, in which case a generic caption will be displayed.
hWndParent (optional in , default is 0)
A long value that specifies the window handle (HWND) of the property pages window's parent. The property pages window will be modal in relation to its parent window.
Reserved (optional in , default is True)
This parameter is reserved for future use. True is the only value available.
Value | Meaning
True | Meaning to be determined. This setting must always be used.
Remarks
  • If the System control is created at design-time, the .NET ActiveX Control Importer (AxImp.exe) renames this ActiveMIL method from ShowPropertyPages() to CtlShowPropertyPages() to avoid name clashing with the ShowPropertyPages() method of the .NET Windows Form control. See the Windows Forms ActiveX Control Importer (AxImp.exe) topic in MSDN for more information. In addition, if the control is created at run-time with the AxMatrox.ActiveMIL.* namespace, you must use CtlShowPropertyPages() to call the ActiveMIL ShowPropertyPages() method.
  • This method is used to display the property pages so that properties can be set interactively at run-time.
  • This method will disable property page elements corresponding to properties that cannot be changed due to the current state of the control. For example, if a property cannot be changed while its control is in the allocated state, and the control is allocated, the corresponding element in the property page will be disabled. To change this property, call the Free method first.


System.SerialPortData Event

SerialPortData event

See Also | Availability | MIL Equivalent | ShowPropertyPages | UserBitChanged
Reference:
System.SerialPorts
System.SerialPorts.Item.SerialPortDataEvent
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Orion
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Corona-II
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox CronosPlus
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
MsysHookFunction(
HookType =
M_UART_DATA_RECEIVED
)
System
SerialPortData
Synopsis
Occurs when data is received on a serial port.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_SerialPortData(
ByVal SerialPortIndex As Integer
) Handles object.SerialPortData

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_SerialPortData(
ByVal sender As Object,
ByVal e As AxMatrox.ActiveMIL.ISystemEvents_SerialPortDataEvent
) Handles object.SerialPortData
[]
Syntax
void class::OnSerialPortData(
long SerialPortIndex
)
SerialPortIndex
A longintegerlong (integer for Visual Basic .Net) value that represents the index of the serial port that received the data.
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • For performance reasons, this event must be enabled in order to be fired. To enable the event, set the SerialPorts.Item(SerialPortIndex).SerialPortDataEvent property for the required serial port to True.


System.UserBitChanged Event

UserBitChanged event

See Also | Availability | MIL Equivalent | SerialPortData | WatchdogWarning
Board Specific Notes:
User-defined signals for Matrox Morphis
User-defined signals for Matrox 4Sight
User-defined signals for Matrox CronosPlus
Available in ActiveMIL-Lite

Available in ActiveMIL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL

See remarks for support on:
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Morphis

Always available on Matrox 4Sight-II/ Matrox 4Sight-M
MsysHookFunction(
HookType =
M_USER_BIT_CHANGE
)
System
UserBitChanged
Synopsis
Occurs when the state of a user-defined input signal changes in accordance with its specified interrupt mode (edge rising or falling).
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_UserBitChanged(
ByVal UserBit As Integer
) Handles object.UserBitChanged

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_UserBitChanged(
ByVal sender As Object,
ByVal e As AxMatrox.ActiveMIL.ISystemEvents_UserBitChangedEvent
) Handles object.UserBitChanged
[]
Syntax
void class::OnUserBitChanged(
long UserBit
)
UserBit
A longintegerlong (integer for Visual Basic .Net) value that specifies the user-defined input signal which generated the event.
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • For performance reasons, this event must be enabled in order to be fired. To enable the event, set the UserBitChangedEvent property to True.
  • Note that only user-defined input signals can fire the event and only if their interrupt state has been enabled (using the ControlUserBits method with sysUserBitInterruptState).
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • To use the capabilities of the auxiliary I/O interface (user-defined signals) on the Matrox 4Sight-M and Matrox 4Sight-II units, the System control must have its SystemDescriptor property set to sysSystemHost. Please refer to User-defined signals for Matrox 4Sight for more details on using the interface.
Remark for Matrox CronosPlus
  • Refer to User-defined signals for Matrox CronosPlus for more details on user-defined signals.
Remark for Matrox Morphis
  • Refer to User-defined signals for Matrox Morphis for more details on user-defined signals.


System.WatchdogWarning Event

WatchdogWarning event

See Also | Availability | MIL Equivalent | UserBitChanged
Reference:
System.Watchdog.WarningEvent
System.Watchdog.WarningTime
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Morphis

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Genesis
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Camera Link
Not supported on Matrox Meteor-II /Digital
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Odyssey XA
Not supported on Matrox Odyssey XCL
Not supported on Matrox Odyssey XD
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MsysHookFunction(
HookType =
M_WATCHDOG_WARNING
)
System
WatchdogWarning
Synopsis
Occurs when the Watchdog's warning timer is expired.
[]
Syntax

For objects using the Matrox.ActiveMIL namespace:
Private Sub object_WatchdogWarning() Handles object.WatchdogWarning

For objects using the AxMatrox.ActiveMIL namespace:
Private Sub object_WatchdogWarning(
ByVal sender As Object,
ByVal e As System.EventArgs
) Handles object.WatchdogWarning
[]
Syntax
void class::OnWatchdogWarning()
Remarks
  • []
    Controls created at run-time must be declared with the WithEvents keyword to access their events.
  • []
     When handling events that come from ActiveMIL controls, exceptions from the event procedure (handler) are swallowed by the Runtime Callable Wrapper (RCW) without your knowledge. To be notified of these exceptions, you can use a Try Catch block and, in the Catch block, report the exception using a message box. For more information on event handling and the Runtime Callable Wrapper (RCW), see the MSDN library.
  • When the Watchdog's warning timer is expired, this event generates an interrupt to warn you to reset the Watchdog warning timer. If the Watchdog is not reset, the Host computer will reboot.


Threading control

Availability
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Synopsis
The Threading control allows you to allocate ActiveMIL selectable threads and synchronization events on a specified multi-threaded ActiveMIL system. This allows you to synchronize the execution of ActiveMIL calls on an on-board processor.

Structure
Threading |  |  | Properties: AutomaticAllocation, Events, IsAllocated, Name, OwnerSystem, OwnerSystemName, PropertyValidation, Threads Methods: Allocate, Free, Modified, ShowPropertyPages, Wait
 | Events |  | Properties: Count, Item Methods: Add, AddFromExternalEvent, Remove
 |  | Item | Properties: AutoReset, MilID, NativeID, IsSignaled Methods: Control, Inquire, SetState
 | Threads |  | Properties: Count, Item Methods: Add, Remove, Select
 |  | Item | Properties: Accelerator, BusMasterCopy, MilID, Priority, SynchronizationMode Methods: CommandsAbort, Control, Inquire


Threading.AutomaticAllocation Property

AutomaticAllocation property

See Also | Availability | MIL Equivalent | Events
Reference:
Threading.Allocate
Threading.Free
Threading.IsAllocated
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Threading
AutomaticAllocation
Synopsis
Returns or sets whether the resources of the Threading control are automatically allocated at run-time.
[]
Syntax
object.AutomaticAllocation [= Boolean]
[]
Syntax
object->AutomaticAllocation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the control's automatic allocation.
Value | Meaning
True | The control will be allocated automatically at run-time.
False | The control must be allocated explicitly, using the Allocate method.
Remarks
  • When the AutomaticAllocation property is False, an explicit call to the Allocate method is required. You can get the allocation state of the control by reading its IsAllocated property.
  • The default value is True for controls created at design time, and False for controls created at run-time (for example, created with the CreateObject method of the Application control).
  • When this property is set to True, automatic allocation will occur when the owner system of the Threading control is allocated. For example, if System1 is set as the owner system of Threading1, and System1 is not allocated, then Threading1 will not be allocated, even if its AutomaticAllocation property is set to True. When System1 is allocated (with the Allocate method), Threading1 will be allocated automatically if its AutomaticAllocation property is set to True.
  • The resources of the control will be freed automatically when the control is destroyed.


Threading.Events Property

Events property

Availability | MIL Equivalent | AutomaticAllocation | IsAllocated
Available in ActiveMIL-Lite

Available in ActiveMIL
MthrAlloc(
ObjectType =
M_EVENT
)
Threading
Events
Properties: Count, Item

Methods: Add, AddFromExternalEvent, Remove
Synopsis
Returns the collection of ActiveMIL threading events available to the Threading control, allowing access to its elements.
[]
Syntax
[ThreadingEvents =] object.Events
[]
Syntax
[IThreadingEventsPtr =] object->Events
Type description
A ThreadingEvents expression that represents an instance of a ThreadingEvents collection.


Threading.Events.Count Property

Count property

Availability | MIL Equivalent | Item
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Threading
Events
Count
Synopsis
Returns the number of elements in the collection of ActiveMIL threading events.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A long value that specifies the number of elements currently in the collection.
Remark
  • The elements in the threading events collection refer to the events available to the Threading control.


Threading.Events.Item Property

Item property

Availability | MIL Equivalent | Count | Add
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Threading
Events
Item
Properties: AutoReset, MilID, NativeID, IsSignaled

Methods: Control, Inquire, SetState
Synopsis
Returns the element at the specified index in the collection of ActiveMIL threading events.
[]
Syntax
[ThreadingEvent=]object.Item(
Index As Integer
)
[]
Syntax
[IThreadingEventPtr =] object->Item(
long Index
)
Index
A longintegerlong (integer for Visual Basic .Net) value that specifies the index of the required element.
Type description
An ThreadingEvent object.
Remarks
  • The elements in the threading events collection refer to the events available to the Threading control.
  • This property allows you to change the properties of a threading event.
  • If the value provided as the index does not match any existing element in the collection, an error occurs. Note, the index of the first element of this collection starts at one.


Threading.Events.Item.AutoReset Property

AutoReset property

See Also | Availability | MIL Equivalent | MilID
Reference:
Threading.Events.Add
Threading.Events.Item.IsSignaled
Threading.Events.Item.SetState
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Threading
Events
Item
AutoReset
Synopsis
Returns whether the threading event is reset automatically.
[]
Syntax
[Boolean =] object.AutoReset
[]
Syntax
[VARIANT_BOOL =] object->AutoReset
Type description
A boolean value that specifies whether the threading event is reset automatically.
Value | Meaning
True | The threading event is reset automatically.
False | The threading event is reset manually.
Remarks
  • If the threading event is reset automatically, its state is automatically set to a not signaled (thrNotSignaled) state after the Wait method of the Threading control is used.
  • If the threading event is reset manually, the state of the threading event remains unchanged unless you use the Events.Item(EventIndex).SetState method.


Threading.Events.Item.IsSignaled Property

IsSignaled property

See Also | Availability | MIL Equivalent | NativeID | Control
Reference:
Threading.Events.Add
Available in ActiveMIL-Lite

Available in ActiveMIL
MthrInquire(
ThreadOrEventId =
MIL event identifier
InquireType =
M_EVENT_STATE
)
Threading
Events
Item
IsSignaled
Synopsis
Returns the state of the ActiveMIL threading event.
[]
Syntax
[Boolean =] object.IsSignaled
[]
Syntax
[VARIANT_BOOL =] object->IsSignaled
Type description
A boolean value that specifies the state of the threading event.
Value | Meaning
True | The threading event is signaled.
False | The threading event is not signaled.


Threading.Events.Item.MilID Property

MilID property

See Also | Availability | MIL Equivalent | AutoReset | NativeID
User Guide:
Integrating MIL functions into your ActiveMIL code.

Reference:
Threading.IsAllocated
Threading.Modified
Available in ActiveMIL-Lite

Available in ActiveMIL
MthrAlloc(
ObjectType =
M_EVENT
)
Threading
Events
Item
MilID
Synopsis
Returns the Native MIL identifier of the allocated ActiveMIL threading event.
[]
Syntax
[Integer =] object.MilID
[]
Syntax
[long =] object->MilID
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the threading event's Native MIL identifier.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • The control's Modified method should be called after making Native MIL call(s) on the returned identifier.
  • If the control's IsAllocated property is False, the MilID property will be 0.


Threading.Events.Item.NativeID Property

NativeID property

Availability | MIL Equivalent | MilID | IsSignaled
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Genesis
Fully supported on Matrox Meteor-II /Camera Link
Fully supported on Matrox Meteor-II /Digital
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Helios XA
Not supported on Matrox Helios XCL
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Morphis
Not supported on Matrox Orion
Not supported on Matrox Solios XA
Not supported on Matrox Solios XCL
MthrInquire(
ThreadOrEventId =
MIL event iventifier
InquireType =
M_NATIVE_ID
)
Threading
Events
Item
NativeID
Synopsis
Returns the on-board Native MIL identifier of the allocated ActiveMIL threading event.
[]
Syntax
[Integer =] object.NativeID
[]
Syntax
[long =] object->NativeID
Type description
A longintegerlong (integer for Visual Basic .Net) value that specifies the threading event's on-board Native MIL identifier.


Threading.Events.Item.Control Method

Control method

Availability | MIL Equivalent | IsSignaled | Inquire
Available in ActiveMIL-Lite

Available in ActiveMIL
MthrControl(
ThreadOrEventId =
MIL event identifier
ControlType
ControlValue
)
Threading
Events
Item
Control
Synopsis
Controls the settings of the ActiveMIL threading event.
[]
Syntax
object.Control(
ByVal ControlType As ThrEventInquireAndControlConstants,
ByVal ControlValue As Object
)
[]
Syntax
void object->Control(
enum ThrEventInquireAndControlConstants ControlType,
const _variant_t & ControlValue
)
ControlType
A ThrEventInquireAndControlConstants expression that specifies the setting of the threading event to be modified.
ControlValue
A variantobjectvariant (object for Visual Basic .Net) value that specifies the new value to be set.
Remark
  • This method is reserved for future expansion.


Threading.Events.Item.Inquire Method

Inquire method

See Also | Availability | MIL Equivalent | Control | SetState
Reference:
Threading.Events.Item.Control
Available in ActiveMIL-Lite

Available in ActiveMIL
MthrInquire(
ThreadOrEventId =
MIL event identifier
)
Threading
Events
Item
Inquire
Synopsis
Inquires about the settings of an ActiveMIL threading event.
[]
Syntax
object.Inquire(
ByVal ParamToInquire As ThrEventInquireAndControlConstants
)
[]
Syntax
void object->Inquire(
enum ThrEventInquireAndControlConstants ParamToInquire
)
ParamToInquire
A ThrEventInquireAndControlConstants expression that specifies the threading event setting to inquire about.
Remark
  • This method is reserved for future expansion.


Threading.Events.Item.SetState Method

SetState method

See Also | Availability | MIL Equivalent | Inquire
Reference:
Threading.Events.Add
Threading.Events.Item.IsSignaled
Available in ActiveMIL-Lite

Available in ActiveMIL
MthrControl(
ControlType =
M_EVENT_SET
)
Threading
Events
Item
SetState
Synopsis
Sets the state of the ActiveMIL threading event.
[]
Syntax
object.SetState(
ByVal State As ThrStateConstants
)
[]
Syntax
void object->SetState(
enum ThrStateConstants State
)
State
A ThrStateConstants expression that specifies the state to which to set the threading event.
Value | Meaning
thrSignaled | Sets the state of the threading event to signaled.
thrNotSignaled | Sets the state of the threading event to not signaled.
Remarks
  • If reset manually, an ActiveMIL threading event will not change state until this method is used.
  • To check the threading event state, use the Events.Item(EventIndex).IsSignaled property.


Threading.Events.Add Method

Add method

Availability | MIL Equivalent | Item | AddFromExternalEvent
Available in ActiveMIL-Lite

Available in ActiveMIL
MthrAlloc(
ObjectType =
M_EVENT
)
Threading
Events
Add
Synopsis
Adds a new ActiveMIL event of the specified type to the collection of threading events.
[]
Syntax
[Integer =] object.Add(
ByVal State As ThrStateConstants,
ByVal AutoReset As Boolean
)
[]
Syntax
[long =] object->Add(
enum ThrStateConstants State,
VARIANT_BOOL AutoReset
)
State (optional in , default is thrNotSignaled)
A ThrStateConstants expression that specifies the state of the ActiveMIL event added to the collection of threading events.
Value | Meaning
thrNotSignaled | The event is initialized as not signaled.
thrSignaled | The event is initialized as signaled.
AutoReset (optional in , default is True)
A boolean value that specifies whether the event added to the collection is reset automatically.
Value | Meaning
True | The state of the event is reset automatically.
False | The state of the event is reset manually.
Return value
Returns a longintegerlong (integer for Visual Basic .Net) value that specifies the index of the event added to the collection of threading events.
Remarks
  • An ActiveMIL threading event is a synchronization marker that can signal the completion of a required set of commands in one thread to other threads.
  • If reset automatically, the ActiveMIL threading event changes its state automatically after the Wait method of the Threading control is used.
  • If reset manually, the ActiveMIL threading event will not change state until the Events.Item(EventIndex).SetState method is used.


Threading.Events.AddFromExternalEvent Method

AddFromExternalEvent method

Availability | MIL Equivalent | Add | Remove
Available in ActiveMIL-Lite

Available in ActiveMIL
MthrAlloc(
ObjectType =
M_EVENT_CREATE
)
Threading
Events
AddFromExternalEvent
Synopsis
Adds a new ActiveMIL event to the collection of threading events by mapping it to an existing ActiveMIL event.
[]
Syntax
[Integer =] object.AddFromExternalEvent(
ByVal Event As ThreadingEvent
)
[]
Syntax
[long =] object->AddFromExternalEvent(
IThreadingEvent * Event
)
Event
An ThreadingEvent value that specifies the ActiveMIL identifier of the event to which to map the new event.
Return value
Returns a longintegerlong (integer for Visual Basic .Net) value that represents the index in the collection of threading events.
Remarks
  • The new ActiveMIL event inherits the state of the threading event to which it is mapped.
  • Mapping an existing ActiveMIL event to a new one allows multiple, individual on-board processors to determine or change the state of the same event.


Threading.Events.Remove Method

Remove method

Availability | MIL Equivalent | AddFromExternalEvent
Available in ActiveMIL-Lite

Available in ActiveMIL
MthrFree(
ThreadOrEventId =
MIL event identifier
)
Threading
Events
Remove
Synopsis
Removes one or all ActiveMIL events from the collection of threading events.
[]
Syntax
object.Remove(
ByVal Index As Integer
)
[]
Syntax
void object->Remove(
long Index
)
Index
A longintegerlong (integer for Visual Basic .Net) value or an ThrAllConstants expression that specifies the ActiveMIL event to remove from the collection of threading events.
Value | Meaning
thrAll | Removes all events from the collection.
value | An index value identifying the event to remove.
Remark
  • When a threading event is removed, index values greater than that of the removed event are reduced by one.


Threading.IsAllocated Property

IsAllocated property

See Also | Availability | MIL Equivalent | Events | Name
User Guide:
Allocation of resources

Reference:
Threading.Allocate
Threading.Free
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Threading
IsAllocated
Synopsis
Returns whether the resources of the Threading control are allocated.
[]
Syntax
[Boolean =] object.IsAllocated
[]
Syntax
[VARIANT_BOOL =] object->IsAllocated
Type description
A boolean value that specifies whether the control is allocated.
Value | Meaning
True | The resources of the control are allocated.
False | The resources of the control are not allocated.


Threading.Name Property

Name property

Availability | MIL Equivalent | IsAllocated | OwnerSystem
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Threading
Name
Synopsis
Returns or sets the name used in code to identify the Threading control.
[]
Syntax
object.Name [= String]
[]
Syntax
object->Name [= _bstr_t]
Type description
A string expression that specifies the name of the Threading control.
Remarks
  • This property cannot be set at run-time.
  • The default name for a new control is the type of control plus a unique integer. For example, the first new Threading control you create on a form is named Threading1 and the second Threading control is named Threading2.
  • A control's Name property must start with a letter and can be a maximum of 40 characters. It can include numbers and underscore (_) characters but cannot include spaces or punctuation. Although the Name property setting can be a keyword, property name, or the name of another object, it can create conflicts in your code.


Threading.OwnerSystem Property

OwnerSystem property

See Also | Availability | MIL Equivalent | Name | OwnerSystemName
User Guide:
Owner system

Reference:
System
Threading.OwnerSystemName
Available in ActiveMIL-Lite

Available in ActiveMIL
MthrAlloc(SystemId)
Threading
OwnerSystem
Synopsis
Returns or sets the system on which the resources of the Threading control are allocated.
[]
Syntax
object.OwnerSystem [= System]
[]
Syntax
object->OwnerSystem [= ISystemPtr]
Type description
A System control that specifies the system to set as the owner (parent) of the Threading control.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The owner system can also be specified, with the name assigned to its control, using the OwnerSystemName property.
  • This property automatically sets the OwnerSystemName property.


Threading.OwnerSystemName Property

OwnerSystemName property

See Also | Availability | MIL Equivalent | OwnerSystem | PropertyValidation
User Guide:
Owner system

Reference:
System
Threading.OwnerSystem
Available in ActiveMIL-Lite

Available in ActiveMIL
MthrAlloc(SystemId)
Threading
OwnerSystemName
Synopsis
Returns or sets the name of the System control representing the system on which the resources of the Threading control are allocated.
[]
Syntax
object.OwnerSystemName [= String]
[]
Syntax
object->OwnerSystemName [= _bstr_t]
Type description
A string expression that specifies the name of the System control to set as the owner (parent) of the Threading control.
Remarks
  • This property cannot be set at run-time if the control is in the allocated state.
  • The owner system can also be specified using the OwnerSystem property.
  • This property automatically sets the OwnerSystem property.


Threading.PropertyValidation Property

PropertyValidation property

See Also | Availability | MIL Equivalent | OwnerSystemName | Threads
User Guide:
Error reporting
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Threading
PropertyValidation
Synopsis
Returns or sets whether the properties of the Threading control are dynamically validated.
[]
Syntax
object.PropertyValidation [= Boolean]
[]
Syntax
object->PropertyValidation [= VARIANT_BOOL]
Type description
A boolean value that specifies the state of the property validation mode.
Value | Meaning
True | The control's properties will be dynamically validated. Errors will be generated during the design process.
False | The control's properties will not be dynamically validated. Errors will only be generated at run time.
Remarks
  • At run-time, this property is read-only and is always set to True.
  • When set to True and if one of the control's properties is not properly set, then the control is outlined in red. The error page of the control's property pages describes the specific error.


Threading.Threads Property

Threads property

Availability | MIL Equivalent | PropertyValidation | Allocate
Available in ActiveMIL-Lite

Available in ActiveMIL
MthrAlloc(
ObjectType =
M_SELECTABLE_THREAD
)
Threading
Threads
Properties: Count, Item

Methods: Add, Remove, Select
Synopsis
Returns the collection of ActiveMIL selectable threads available to the Threading control, allowing access to its elements.
[]
Syntax
[ThreadingThreads =] object.Threads
[]
Syntax
[IThreadingThreadsPtr =] object->Threads
Type description
A ThreadingThreads object allocated on a multi-threaded system (referenced by the OwnerSystem property) that allows you to synchronize the execution of ActiveMIL calls on an on-board processor.


Threading.Threads.Count Property

Count property

Availability | MIL Equivalent | Item
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Threading
Threads
Count
Synopsis
Returns the number of elements in the collection of ActiveMIL selectable threads.
[]
Syntax
[Integer =] object.Count
[]
Syntax
[long =] object->Count
Type description
A long value that specifies the number of elements currently in the collection.
Remark
  • The elements in the ActiveMIL selectable threads collection refer to the selectable threads available to the Threading control.


Threading.Threads.Item Property

Item property

Availability | MIL Equivalent | Count | Add
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Threading
Threads
Item
Properties: Accelerator, BusMasterCopy, MilID, Priority, SynchronizationMode

Methods: CommandsAbort, Control, Inquire
Synopsis
Returns the element at the specified index in the collection of ActiveMIL selectable threads.
[]
Syntax
[ThreadingThread=]object.Item(
Index As Integer
)
[]
Syntax
[IThreadingThreadPtr =] object->Item(
long Index
)
Index
A longintegerlong (integer for Visual Basic .Net) value that specifies the index of the required element.
Type description
A ThreadingThread object.
Remarks
  • The elements in the ActiveMIL selectable threads collection refer to the threads available to the Threading control.
  • This property allows you to change the properties of a selectable thread.
  • If the value provided as the index does not match any existing element in the collection, an error occurs. Note, the index of the first element of this collection starts at one.
  • The first element in the collection is always present, and points to the default ActiveMIL thread associated with the Host thread.


Threading.Threads.Item.Accelerator Property

Accelerator property

Availability | MIL Equivalent | BusMasterCopy
Available in ActiveMIL-Lite

Available in ActiveMIL
MthrControl(
ThreadOrEventId
ControlType =
M_ACCELERATOR
)
Threading
Threads
Item
Accelerator
Synopsis
Returns or sets whether the ActiveMIL selectable thread uses hardware acceleration.
[]
Syntax
object.Accelerator [= ThrAcceleratorConstants]
[]
Syntax
object->Accelerator [= enum ThrAcceleratorConstants]
Type description
A ThrAcceleratorConstants value that specifies whether hardware acceleration is used. (default is thrEnable)
Value | Meaning
thrEnable | Hardware acceleration is used to execute threads.
thrDisable | Hardware acceleration is not used to execute threads.
Remarks
  • Hardware acceleration speeds up the execution of certain ActiveMIL commands in a thread.
  • To learn if your Matrox imaging board has an accelerator, use the Inquire method of the System control with sysAcceleratorPresent.


Threading.Threads.Item.BusMasterCopy Property

BusMasterCopy property

See Also | Availability | MIL Equivalent | Accelerator | MilID
Reference:
Threading.Events.Add
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Helios XA
Fully supported on Matrox Helios XCL
Fully supported on Matrox Morphis
Fully supported on Matrox Solios XA
Fully supported on Matrox Solios XCL

Not supported on:
Not supported on Matrox Corona-II
Not supported on Matrox CronosPlus
Not supported on Matrox Meteor-II /1394
Not supported on Matrox Meteor-II /Multi-Channel
Not supported on Matrox Meteor-II /Standard
Not supported on Matrox Orion

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
MthrControl(
ControlType =
M_BUS_MASTER_COPY
)
Threading
Threads
Item
BusMasterCopy
Synopsis
Returns or sets the synchronization mode for copy operations when they are driven by your imaging board (bus master).
[]
Syntax
object.BusMasterCopy [= ThrBusMasterCopy]
[]
Syntax
object->BusMasterCopy [= enum ThrBusMasterCopy]
Type description
A ThrBusMasterCopy value that specifies the synchronization mode for copy operations. (default is thrSynchronousCopy)
Value | Meaning
thrSynchronousCopy | The copy operation execution is synchrounous.
thrAsynchronousCopy | The copy operation execution is asynchronous.
Remarks
  • For copy operations, the current setting of the SynchronizationMode property is ignored.
  • With the thrSynchronousCopy mode, the execution of the copy operation must be completed before the control is returned to the imaging board (bus master).
  • With the thrAsynchronousCopy mode, control will be returned (if possible) to the imaging board (bus master) immediately after a copy operation is launched.
Remark for Matrox Genesis
  • This property only has an effect when the imaging board is driving image copy operations to or from the Host. When the Host CPU drives the image copy operations, the copy operation is always synchronous. Use the Control method of the System control with sysBusMasterCopyToHost and/or sysBusMasterCopyFromHost to establish which is driving the copy operations.
Remark for Matrox Meteor-II /Camera Link
  • This property only has an effect when the imaging board is driving image copy operations to or from the Host. When the Host CPU drives the image copy operations, the copy operation is always synchronous. Use the Control method of the System control with sysBusMasterCopyToHost and/or sysBusMasterCopyFromHost to establish which is driving the copy operations.
Remark for Matrox Meteor-II /Digital
  • This property only has an effect when the imaging board is driving image copy operations to or from the Host. When the Host CPU drives the image copy operations, the copy operation is always synchronous. Use the Control method of the System control with sysBusMasterCopyToHost and/or sysBusMasterCopyFromHost to establish which is driving the copy operations.
Remark for Matrox Odyssey XA
  • This property only has an effect when the imaging board is driving image copy operations to or from the Host. When the Host CPU drives the image copy operations, the copy operation is always synchronous. Use the Control method of the System control with sysBusMasterCopyToHost and/or sysBusMasterCopyFromHost to establish which is driving the copy operations.
Remark for Matrox Odyssey XCL
  • This property only has an effect when the imaging board is driving image copy operations to or from the Host. When the Host CPU drives the image copy operations, the copy operation is always synchronous. Use the Control method of the System control with sysBusMasterCopyToHost and/or sysBusMasterCopyFromHost to establish which is driving the copy operations.
Remark for Matrox Odyssey XD
  • This property only has an effect when the imaging board is driving image copy operations to or from the Host. When the Host CPU drives the image copy operations, the copy operation is always synchronous. Use the Control method of the System control with sysBusMasterCopyToHost and/or sysBusMasterCopyFromHost to establish which is driving the copy operations.


Threading.Threads.Item.MilID Property

MilID property

See Also | Availability | MIL Equivalent | BusMasterCopy | Priority
User Guide:
Integrating MIL functions into your ActiveMIL code.

Reference:
Threading.IsAllocated
Threading.Modified
Available in ActiveMIL-Lite

Available in ActiveMIL
MthrAlloc(
ObjectType =
M_SELECTABLE_THREAD
)
Threading
Threads
Item
MilID
Synopsis
Returns the Native MIL identifier of the allocated ActiveMIL selectable thread.
[]
Syntax
[Integer =] object.MilID
[]
Syntax
[long =] object->MilID
Type description
A long value that specifies the ActiveMIL selectable thread's Native MIL identifier.
Remarks
  • The identifier returned by this property can be used to call Native MIL functions.
  • The control's Modified method should be called after making Native MIL call(s) on the returned identifier.
  • If the control's IsAllocated property is False, the MilID property will be 0.


Threading.Threads.Item.Priority Property

Priority property

Availability | MIL Equivalent | MilID | SynchronizationMode
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Odyssey XA
Fully supported on Matrox Odyssey XCL
Fully supported on Matrox Odyssey XD

See remarks for support on:
See remarks for support on Matrox Corona-II
See remarks for support on Matrox CronosPlus
See remarks for support on Matrox Genesis
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Meteor-II /1394
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Meteor-II /Multi-Channel
See remarks for support on Matrox Meteor-II /Standard
See remarks for support on Matrox Morphis
See remarks for support on Matrox Orion
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MthrInquire(
InquireType =
M_THREAD_PRIORITY
)

MthrControl(
ControlType =
M_THREAD_PRIORITY
)
Threading
Threads
Item
Priority
Synopsis
Returns or sets the priority status of the ActiveMIL selectable thread.
[]
Syntax
object.Priority [= Integer]
[]
Syntax
object->Priority [= long]
Type description
A longintegerlong (integer for Visual Basic .Net) value or ThrPriorityConstants expression that specifies the priority status of the ActiveMIL selectable thread. (default is thrNormal)
Value | Meaning
thrAboveNormal | Specifies that the thread is above normal priority. Only time critical threads will be executed before it.
thrBelowNormal | Specifies that the thread is below normal priority. Threads of normal, above normal, and time critical priority will be executed before it.
thrIdle | Specifies that the thread is idle. The thread will remain idle until its priority status is changed.
thrLowest | Specifies that the thread is of the lowest priority. All other non-idle threads will be executed before it
thrNormal | Specifies that the thread is of normal priority. Threads of above normal and time critical priority will be executed before it.
thrTimeCritical | Specifies that the thread is time critical. Time critical threads will be executed before all other threads that are not time critical.
1-15 | Specifies the priority status of the thread executed on a Matrox Odyssey on-board processor. 1 specifies the lowest priority.
Remark for Matrox Corona-II
  • The priority status 1 to 15 are not supported for this board.
Remark for Matrox CronosPlus
  • The priority status 1 to 15 are not supported for this board.
Remark for Matrox Genesis
  • The priority status 1 to 15 are not supported for this board.
Remark for Matrox Helios XA
  • The priority status 1 to 15 are not supported for this board.
Remark for Matrox Helios XCL
  • The priority status 1 to 15 are not supported for this board.
Remark for Matrox Meteor-II /1394
  • The priority status 1 to 15 are not supported for this board.
Remark for Matrox Meteor-II /Camera Link
  • The priority status 1 to 15 are not supported for this board.
Remark for Matrox Meteor-II /Digital
  • The priority status 1 to 15 are not supported for this board.
Remark for Matrox Meteor-II /Multi-Channel
  • The priority status 1 to 15 are not supported for this board.
Remark for Matrox Meteor-II /Standard
  • The priority status 1 to 15 are not supported for this board.
Remark for Matrox Morphis
  • The priority status 1 to 15 are not supported for this board.
Remark for Matrox Orion
  • The priority status 1 to 15 are not supported for this board.
Remark for Matrox Solios XA
  • The priority status 1 to 15 are not supported for this board.
Remark for Matrox Solios XCL
  • The priority status 1 to 15 are not supported for this board.


Threading.Threads.Item.SynchronizationMode Property

SynchronizationMode property

Availability | MIL Equivalent | Priority | CommandsAbort
Available in ActiveMIL-Lite

Available in ActiveMIL

Fully supported on:
Fully supported on Matrox Corona-II
Fully supported on Matrox CronosPlus
Fully supported on Matrox Meteor-II /1394
Fully supported on Matrox Meteor-II /Multi-Channel
Fully supported on Matrox Meteor-II /Standard
Fully supported on Matrox Orion

See remarks for support on:
See remarks for support on Matrox Genesis
See remarks for support on Matrox Helios XA
See remarks for support on Matrox Helios XCL
See remarks for support on Matrox Meteor-II /Camera Link
See remarks for support on Matrox Meteor-II /Digital
See remarks for support on Matrox Morphis
See remarks for support on Matrox Odyssey XA
See remarks for support on Matrox Odyssey XCL
See remarks for support on Matrox Odyssey XD
See remarks for support on Matrox Solios XA
See remarks for support on Matrox Solios XCL
MthrInquire(
ThreadOrEventId =
MIL thread identifier
InquireType =
M_THREAD_MODE
)
Threading
Threads
Item
SynchronizationMode
Synopsis
Returns or sets the synchronization mode of the ActiveMIL selectable thread.
[]
Syntax
object.SynchronizationMode [= ThrSynchronizationModeConstants]
[]
Syntax
object->SynchronizationMode [= enum ThrSynchronizationModeConstants]
Type description
A ThrSynchronizationModeConstants expression that specifies the synchronization mode of the ActiveMIL selectable thread. (default is thrAsynchronous)
Value | Meaning
thrSynchronous | The synchronization mode of the thread is synchronous.
thrAsynchronous | The synchronization mode of the thread is asynchronous.
Remarks
  • In the asynchronous mode, control is immediately returned to the Host after an ActiveMIL call is sent to an on-board processor for execution.
  • In the synchronous mode, control is only returned to the Host after an ActiveMIL call sent to an on-board processor has finished executing.
Remark for Matrox Genesis
  • Note that the specified synchronization mode does not affect copy operations. Use the BusMasterCopy property to specify the required mode for copying.
Remark for Matrox Helios XA
  • Note that the specified synchronization mode does not affect copy operations. Use the BusMasterCopy property to specify the required mode for copying.
Remark for Matrox Helios XCL
  • Note that the specified synchronization mode does not affect copy operations. Use the BusMasterCopy property to specify the required mode for copying.
Remark for Matrox Meteor-II /Camera Link
  • Note that the specified synchronization mode does not affect copy operations. Use the BusMasterCopy property to specify the required mode for copying.
Remark for Matrox Meteor-II /Digital
  • Note that the specified synchronization mode does not affect copy operations. Use the BusMasterCopy property to specify the required mode for copying.
Remark for Matrox Morphis
  • Note that the specified synchronization mode does not affect copy operations. Use the BusMasterCopy property to specify the required mode for copying.
Remark for Matrox Odyssey XA
  • Note that the specified synchronization mode does not affect copy operations. Use the BusMasterCopy property to specify the required mode for copying.
Remark for Matrox Odyssey XCL
  • Note that the specified synchronization mode does not affect copy operations. Use the BusMasterCopy property to specify the required mode for copying.
Remark for Matrox Odyssey XD
  • Note that the specified synchronization mode does not affect copy operations. Use the BusMasterCopy property to specify the required mode for copying.
Remark for Matrox Solios XA
  • Note that the specified synchronization mode does not affect copy operations. Use the BusMasterCopy property to specify the required mode for copying.
Remark for Matrox Solios XCL
  • Note that the specified synchronization mode does not affect copy operations. Use the BusMasterCopy property to specify the required mode for copying.


Threading.Threads.Item.CommandsAbort Method

CommandsAbort method

Availability | MIL Equivalent | SynchronizationMode | Control
Available in ActiveMIL-Lite

Available in ActiveMIL
MthrControl(
ThreadOrEventId =
MIL thread context identifier
ControlType =
M_THREAD_COMMANDS_ABORT
)
Threading
Threads
Item
CommandsAbort
Synopsis
Aborts all the ActiveMIL commands queued in the selectable thread.
[]
Syntax
object.CommandsAbort()
[]
Syntax
void object->CommandsAbort()
Remark
  • After this method is used, the remainder of the application is executed.


Threading.Threads.Item.Control Method

Control method

Availability | MIL Equivalent | CommandsAbort | Inquire
Available in ActiveMIL-Lite

Available in ActiveMIL
MthrControl(
ThreadOrEventId =
MIL thread identifier
)
Threading
Threads
Item
Control
Synopsis
Controls the settings of the ActiveMIL selectable thread.
[]
Syntax
object.Control(
ByVal ControlType As ThrThreadInquireAndControlConstants,
ByVal ControlValue As Object
)
[]
Syntax
void object->Control(
enum ThrThreadInquireAndControlConstants ControlType,
const _variant_t & ControlValue
)
ControlType
A ThrThreadInquireAndControlConstants expression that specifies the setting of the selectable thread to be modified.
ControlValue
A variantobjectvariant (object for Visual Basic .Net) value that specifies the new value to be set.
Remark
  • This method is reserved for future expansion.


Threading.Threads.Item.Inquire Method

Inquire method

See Also | Availability | MIL Equivalent | Control
Reference:
Threading.Threads.Item.Control
Available in ActiveMIL-Lite

Available in ActiveMIL
MthrInquire(
ThreadOrEventId =
MIL thread identifier
)
Threading
Threads
Item
Inquire
Synopsis
Inquires about an ActiveMIL selectable thread of the Threading control.
[]
Syntax
object.Inquire(
ByVal ParamToInquire As ThrEventInquireAndControlConstants
)
[]
Syntax
void object->Inquire(
enum ThrEventInquireAndControlConstants ParamToInquire
)
ParamToInquire
A ThrEventInquireAndControlConstants expression that specifies the selectable thread setting to inquire about.
Remark
  • This method is reserved for future expansion.


Threading.Threads.Add Method

Add method

Availability | MIL Equivalent | Item | Remove
Available in ActiveMIL-Lite

Available in ActiveMIL
MthrAlloc(
ObjectType =
M_SELECTABLE_THREAD
)
Threading
Threads
Add
Synopsis
Adds a new ActiveMIL selectable thread to the collection.
[]
Syntax
[Integer =] object.Add()
[]
Syntax
[long =] object->Add()
Return value
Returns a long value that represents the index in the collection of ActiveMIL selectable threads.
Remarks
  • This method allocates a selectable thread on the specified multi-threaded system. This allows you to synchronize the execution of commands on an on-board processor without creating a Host thread.
  • Use the Threads.Select method to select the on-board thread to which to send ActiveMIL commands.


Threading.Threads.Remove Method

Remove method

Availability | MIL Equivalent | Add | Select
Available in ActiveMIL-Lite

Available in ActiveMIL
MthrFree(
ThreadOrEventId =
MIL thread context identifier
)
Threading
Threads
Remove
Synopsis
Removes one or all ActiveMIL selectable threads from the collection of selectable threads.
[]
Syntax
object.Remove(
ByVal Index As Integer
)
[]
Syntax
void object->Remove(
long Index
)
Index
A longintegerlong (integer for Visual Basic .Net) value or an ThrAllConstants expression that specifies the ActiveMIL selectable thread to remove from the collection of selectable threads.
Value | Meaning
thrAll | Removes all selectable threads from the collection.
value | An index value identifying the selectable thread to remove.
Remarks
  • When a selectable thread is removed, index values greater than that of the removed thread are reduced by one.
  • When thrAll is specified, the method does not remove the first element of the selectable threads collection. Recall that the first element is there by default and points to the default ActiveMIL thread associated with the Host thread.


Threading.Threads.Select Method

Select method

Availability | MIL Equivalent | Remove
Available in ActiveMIL-Lite

Available in ActiveMIL
MthrControl(
ThreadOrEventId =
MIL identifier of the thread
ControlType =
M_THREAD_SELECT
)
Threading
Threads
Select
Synopsis
Selects the ActiveMIL selectable thread to which the subsequent ActiveMIL commands will be sent.
[]
Syntax
object.Select(
ByVal Index As Integer
)
[]
Syntax
void object->Select(
long Index
)
Index
A longintegerlong (integer for Visual Basic .Net) value that specifies an index into the collection of selectable threads, identifying the selectable thread to which to send all the subsequent ActiveMIL commands.
Remark
  • To return control to the default on-board thread associated with the Host thread, select the first element of the selectable threads collection.


Threading.Allocate Method

Allocate method

See Also | Availability | MIL Equivalent | Threads | Free
User Guide:
Setting up controls

Reference:
Threading.AutomaticAllocation
Threading.Free
Threading.IsAllocated
Available in ActiveMIL-Lite

Available in ActiveMIL
MthrAlloc()
Threading
Allocate
Synopsis
Allocates the resources of the Threading control.
[]
Syntax
object.Allocate()
[]
Syntax
void object->Allocate()
Remarks
  • By default, the control's AutomaticAllocation property is set to True, and therefore allocation is done automatically.
  • To preserve resources and delay allocation until necessary, set the AutomaticAllocation property to False and call the Allocate method only when the control is actually needed.
  • To create a new Threading control at run-time, use the CreateObject method of the Application control.
  • If you call the Allocate method while the control is in the allocated state, an error is generated. To determine the allocation state of a control, use the IsAllocated property.
  • The following properties cannot be changed at run-time while the control is in the allocated state (free the control using the Free method):
    • OwnerSystem
    • OwnerSystemName
  • If you try to allocate a Threading control before its owner system is allocated, an error is generated.


Threading.Free Method

Free method

See Also | Availability | MIL Equivalent | Allocate | Modified
User Guide:
Setting up controls

Reference:
Threading.Allocate
Threading.IsAllocated
Available in ActiveMIL-Lite

Available in ActiveMIL
MthrFree()
Threading
Free
Synopsis
Frees the resources of the Threading control.
[]
Syntax
object.Free()
[]
Syntax
void object->Free()
Remarks
  • The resources associated with a Threading control are automatically freed when the control is destroyed. You must use the Free method if you want to free the control prematurely. Note that when you free the Threading control, all of its ActiveMIL selectable threads and threading events are deleted.
  • To determine the allocation state of a control, use the IsAllocated property. While a Threading control is in the allocated state, some of its properties cannot be changed at run-time. For example, you cannot change the owner system of an ActiveMIL Threading control at run-time. At run-time, to modify a property that cannot be changed after allocation, you must free the control (using the Free method), change its property(ies), and then re-allocate the control (using the Allocate method).
  • The Free method will generate an error if the control is not allocated.
  • Any property can be changed when its control is in the allocated state, unless it is otherwise stated in the Remarks section of that property.


Threading.Modified Method

Modified method

See Also | Availability | MIL Equivalent | Free | ShowPropertyPages
User Guide:
Integrating MIL functions into your ActiveMIL code.

Reference:
Threading.Events.Item.MilID
Threading.Threads.Item.MilID
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Threading
Modified
Synopsis
Informs the Threading control that Native MIL calls were made on its resources.
[]
Syntax
object.Modified(
ByVal ModificationType As Integer
)
[]
Syntax
void object->Modified(
long ModificationType
)
ModificationType (optional in , default is amilDefault)
A longintegerlong (integer for Visual Basic .Net) value that specifies the modification type.
Value | Meaning
amilDefault | Specifies that native MIL calls were used to modify the contents of the Threading control.
Remark
  • The Modified method should be called after performing a Native MIL Mthr...() function on the resources of the Threading control. This ensures that all properties of the Threading control are updated to match their state in MIL.


Threading.ShowPropertyPages Method

ShowPropertyPages method

Availability | MIL Equivalent | Modified | Wait
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Threading
ShowPropertyPages
Synopsis
Opens the specified property pages of the Threading control in a window.
[]
Syntax
object.ShowPropertyPages(
ByVal Pages As ThrPropertyPagesConstants,
ByVal Caption As String,
ByVal hWndParent As Integer,
ByVal Reserved As Boolean
)
[]
Syntax
void object->ShowPropertyPages(
enum ThrPropertyPagesConstants Pages,
_bstr_t Caption,
long hWndParent,
VARIANT_BOOL Reserved
)
Pages
A ThrPropertyPagesConstants expression that specifies the page(s) to display. You can add the following constants together to display multiple pages.
Value | Meaning
thrGeneralPropertyPage | Display the Threading control's General property page.
thrHistoryPropertyPage | Display the Threading control's History property page.
thrAllPropertyPage | Display all of the Threading control's available property pages.
Caption (optional in , default is "")
A string value that specifies the caption for the property pages window. The default is an empty string, in which case a generic caption will be displayed.
hWndParent (optional in , default is 0)
A longintegerlong (integer for Visual Basic .Net) value that specifies the window handle (HWND) of the property pages window's parent. The property pages window will be modal in relation to its parent window.
Reserved (optional in , default is True)
This parameter is reserved for future use. True is the only value available.
Value | Meaning
True | Meaning to be determined. This setting must always be used.
Remarks
  • If the Threading control is created at design-time, the .NET ActiveX Control Importer (AxImp.exe) renames this ActiveMIL method from ShowPropertyPages() to CtlShowPropertyPages() to avoid name clashing with the ShowPropertyPages() method of the .NET Windows Form control. See the Windows Forms ActiveX Control Importer (AxImp.exe) topic in MSDN for more information. In addition, if the control is created at run-time with the AxMatrox.ActiveMIL.* namespace, you must use CtlShowPropertyPages() to call the ActiveMIL ShowPropertyPages() method.
  • This method is used to display the property pages so that properties can be set interactively at run-time.
  • This method will disable property page elements corresponding to properties that cannot be changed due to the current state of the control. For example, if a property cannot be changed while its control is in the allocated state, and the control is allocated, the corresponding element in the property page will be disabled. To change this property, call the Free method first.


Threading.Wait Method

Wait method

Availability | MIL Equivalent | ShowPropertyPages
Available in ActiveMIL-Lite

Available in ActiveMIL
MthrWait(
ThreadOrEventId =
MIL thread context identifier OR MIL event identifier
WaitOption =
M_THREAD_WAIT or
M_EVENT_WAIT or
M_EVENT_SYNCHRONIZE
State =
Returned value
)
Threading
Wait
Synopsis
Performs a wait operation on an ActiveMIL selectable thread or ActiveMIL threading event.
[]
Syntax
[ThrStateConstants =] object.Wait(
ByVal Option As ThrWaitOptionConstants,
ByVal Index As Integer,
ByVal Timeout As Integer
)
[]
Syntax
[enum ThrStateConstants =] object->Wait(
enum ThrWaitOptionConstants Option,
long Index,
long Timeout
)
Option
A ThrWaitOptionConstants expression that specifies the wait option.
Value | Meaning
thrThreadWait | The current thread waits for the completion of all functions in the specified thread's execution queue.
thrEventWait | The current thread waits for the specified event to be in a signaled state, or for the event to be timed out.
thrEventSynchronize | The current thread continues executing while forcing any of its subsequent commands sent to the same board as the specified event, to wait for the event to be in a signaled state.
Index
A longintegerlong (integer for Visual Basic .Net) value that specifies an index in the collection of selectable threads or threading events, identifying the thread or event for which to wait.
Timeout
A longintegerlong (integer for Visual Basic .Net) value that specifies the interval after which the specified thread or specified event is considered to be timed out, in msecs.
Return value
Returns a ThrStateConstants expression that specifies the state of the specified thread or event after this method is used.
Value | Meaning
thrSignaled | The specified thread has successfully completed or the state of the specified event has changed.
thrNotSignaled | The specified thread has not succesfully completed.

Returns a ThrTimeoutConstants expression that specifies that the timeout limit of the specified thread or event was reached.
Value | Meaning
thrTimeout | The specified thread or event has timed out.
Remarks
  • This method allows you to synchronize the execution of threads by forcing the current thread to wait for the completion of the specified thread, or for the change of state of the specified event.
  • thrEventWait forces the current thread to wait for the specified event to be in a signaled state before continuing execution.
  • thrEventSynchronize allows the current thread to continue executing while forcing any of its subsequent commands sent to the same board as the specified event, to wait for the event to be in a signaled state. If the OwnerSystem of the Threading control is associated to a board that does not support asynchronous calls, thrEventSynchronize acts like thrEventWait.
  • After an thrEventWait or thrEventSynchronize operation, the state of the specified event is automatically reset to not signaled (thrNotSignaled) if the event is of the type that is reset automatically (Events.Item(EventIndex).AutoReset property is set to True).


AVIFileHandler object

Availability
Available in ActiveMIL-Lite

Available in ActiveMIL
No MIL equivalent
Synopsis
The AVIFileHandler object allows you to save a sequence of images into an AVI file. In addition, it allows you to load a sequence of images from an AVI file into separate images.

Structure
AVIFileHandler Methods: Open, Close, Read, Write


AVIFileHandler.Close Method

Close method

See Also | Availability | MIL Equivalent | Open | Read
Reference:
AVIFileHandler.Open
AVIFileHandler.Read
AVIFileHandler.Write
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufImportSequence()

MbufExportSequence()
AVIFileHandler
Close
Synopsis
Closes the AVI file that was opened with the Open method.
[]
Syntax
object.Close()
[]
Syntax
void object->Close()
Remarks
  • The AVIFileHandler object must be created at run-time.
  • The MGrabSequence example demonstrates how to save a sequence of images.
  • The AVI file must first be opened using the Open method.
[]
Example
This example shows how to use the Close method.

IAVIFileHandlerPtr AVIHandler;
AVIHandler.CreateInstance("MIL.AVIFileHandler");
AVIHandler->Open("X:\\images\\MySequence.avi",
                  aviFileFormatDefault, aviCreate);

AVIHandler->Close();


AVIFileHandler.Open Method

Open method

See Also | Availability | MIL Equivalent | Close
Reference:
AVIFileHandler.Close
AVIFileHandler.Read
AVIFileHandler.Write
Available in ActiveMIL-Lite with restrictions (see remarks)

Available in ActiveMIL
MbufImportSequence()

MbufExportSequence()
AVIFileHandler
Open
Synopsis
Opens the specified AVI file in a way that allows the file to be written into or read.
[]
Syntax
object.Open(
ByVal FileName As String,
ByVal FileFormat As AVIFileFormatConstants,
ByVal OpenOperation As AVIOpenOperations
)
[]
Syntax
void object->Open(
_bstr_t FileName,
enum AVIFileFormatConstants FileFormat,
enum AVIOpenOperations OpenOperation
)
FileName
A string expression that specifies the name of the AVI file.
FileFormat
An AVIFileFormatConstants expression that specifies the format of the file.
Value | Meaning
aviMJPEG | An AVI format containing compressed images.
aviDIB | An AVI format containing non-compressed images.
aviMIL | An AVI format used to hold images in the ActiveMIL format.
aviFileFormatDefault | Automatically determine the file format.
OpenOperation
An AVIOpenOperations expression that specifies how to open the AVI file.
Value | Meaning
aviCreate | Create a new AVI file and open it for writing.
aviAppend | Open the AVI file for writing and move the file position to the end of the AVI file.
aviRead | Open the AVI file for reading.
Remarks
  • Note that ActiveMIL-Lite compression support is reliant upon the presence of Matrox compression acceleration hardware. The compression algorithm supported depends on the hardware. If you don't have Matrox compression acceleration hardware, you can still perform compression under ActiveMIL-Lite with the compression/decompression runtime license package installed.
  • When the FileFormat parameter is set to aviMJPEG, the images used to hold the sequence must be in YUV packed format. Images must have a width that is a multiple of 16 pixels. For images with the imJPEGlossy compression type, the height must be a multiple of 8, and less than or equal to 240 pixels. For images with the imJPEGlossyInterlaced compression type, the height must be a multiple of 16 pixels, greater than 240 pixels.
  • When the FileFormat parameter is set to aviDIB, the images used to hold the sequence will be converted to a non-compressed DIB format.
  • Windows Media Player supports sequences with an aviDIB file format.
  • The AVIFileHandler object must be created at run-time.
  • The MGrabSequence example demonstrates how to load a sequence of images.
  • The AVI file that is open should be closed using the Close method.
  • Note that if the AVIFileHandler object is deleted, then the file is closed using the Close method automatically.
  • The file format of an existing AVI file can be inquired using the Image control's FileInquire method with imFileFormat.
  • When the FileFormat parameter is set to aviMIL, the images are saved in the format in which they are passed to this method. Since the images are saved "as is", no loss is introduced in the images. This type of sequence requires a codec to be supported by Windows Media Player.
  • When the OpenOperation parameter is set to aviAppend, an AVI file will be created if the specified file does not exist.
[]
Example
This example shows how to use the Open method.

IAVIFileHandlerPtr AVIHandler;
AVIHandler.CreateInstance("MIL.AVIFileHandler");
AVIHandler->Open("X:\\images\\MySequence.avi",
                  aviFileFormatDefault, aviCreate);

AVIHandler->Close();


AVIFileHandler.Read Method

Read method

See Also | Availability | MIL Equivalent | Close | Write
Reference:
AVIFileHandler.Close
AVIFileHandler.Open
AVIFileHandler.Write
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufImportSequence()
AVIFileHandler
Read
Synopsis
Loads a sequence of images from the AVI file that was opened with the Open method into separate images.
[]
Syntax
object.Read(
ByVal Images As Object,
ByVal StartImage As Integer,
ByVal NumberOfFrames As Integer
)
[]
Syntax
void object->Read(
const _variant_t & Images,
long StartImage,
long NumberOfFrames
)
Images
A variantobjectvariant (object for Visual Basic .Net) value that specifies the array of images into which to load the image data. This array can be of type string (the names of image controls), or object references that refer to image control objects. The images must be in an allocated state before this method is called.
StartImage
A longintegerlong (integer for Visual Basic .Net) value that specifies the first frame of the sequence from which to begin reading; the base index is zero.
NumberOfFrames
A longintegerlong (integer for Visual Basic .Net) value that specifies the number of frames (images) in the sequence from the current position in the sequence.
Remarks
  • The AVIFileHandler object must be created at run-time.
  • The MGrabSequence example demonstrates how to load a sequence of images.
  • The AVI file must first be opened using the Open method.
  • The NumberOfFrames value can be inquired using the Image control's FileInquire method with imNumberOfFrames.
  • The Images parameter can be passed an array of ActiveMIL objects. Specifically, the array should be passed as a CActiveMILObjectsArray object.
[]
Example
This example shows how to use the Read method.

CTypedPtrArray<CPtrArray, IImagePtr> MySequence;
MySequence.SetSize(5);

// Fill the MySequence array with ActiveMIL Image controls,
// See the Application.CreateObject() method
for (long i=0; i<5; i++)
   {
   IImagePtr NewImage =
      m_Application1->CreateObject("MIL.Image", FALSE);

   NewImage->SizeX = 100;
   NewImage->SizeY = 100;
   NewImage->Allocate();
   MySequence[i] = NewImage;
   }
   // Build a CActiveMILObjectsArray to wrap the array of Image controls
   CActiveMILObjectsArray<IImagePtr>
      ActiveMILObjectsArray(MySequence.GetData(), MySequence.GetSize());

   IAVIFileHandlerPtr AVIHandler;
   AVIHandler.CreateInstance("MIL.AVIFileHandler");
   AVIHandler->Open("X:\\images\\MySequence.avi",
                    aviFileFormatDefault, aviRead);

   AVIHandler->Read(ActiveMILObjectsArray, 0, 5);
   AVIHandler->Close();


AVIFileHandler.Write Method

Write method

See Also | Availability | MIL Equivalent | Read
Reference:
AVIFileHandler.Close
AVIFileHandler.Open
AVIFileHandler.Read
Available in ActiveMIL-Lite

Available in ActiveMIL
MbufExportSequence()
AVIFileHandler
Write
Synopsis
Saves a sequence of images into the AVI file that was opened with the Open method.
[]
Syntax
object.Write(
ByVal Images As Array,
ByVal FrameRate As Double
)
[]
Syntax
void object->Write(
const _variant_t & Images,
double FrameRate
)
Images
A variantobjectvariant (object for Visual Basic .Net) value that specifies the array of images from which to read the data. This array can be of type string (the names of image controls), or object references that refer to Image control objects.

FrameRate
A double value that specifies the frame rate of the sequence (in frames per second).
Remarks
  • The AVIFileHandler object must be created at run-time.
  • The MGrabSequence example demonstrates how to save a sequence of images.
  • The AVI file must first be opened using the Open method.
  • Note that when appending images to an AVI file that has already been created, you cannot adjust the native frame rate of the AVI sequence. Similarly, when creating a new AVI file, ActiveMIL will only use the first specified frame rate for the entire sequence file. Any subsequent attempts to specify a different frame rate for additional images will be ignored.
  • The file's native frame rate can be inquired using the Image control's FileInquire method with imFrameRate.
  • The Images parameter can be passed an array of ActiveMIL objects. Specifically, the array should be passed as a CActiveMILObjectsArray object.
[]
Example
This example shows how to use the Write method.

CTypedPtrArray<CPtrArray, IImagePtr> MySequence;
MySequence.SetSize(5);

// Fill the MySequence array with ActiveMIL Image controls,
// See the Application.CreateObject() method
for (long i=0; i<5; i++)
   {
   IImagePtr NewImage =
      m_Application1->CreateObject("MIL.Image", FALSE);

   NewImage->SizeX = 100;
   NewImage->SizeY = 100;
   NewImage->CanGrab = true;
   NewImage->Allocate();
   MySequence[i] = NewImage;
   }

// Put data into the sequence images
// You could also use Image.Copy or some ImageProcessing control functions
for (i=0; i<5; i++)
   {
   m_Digitizer1->Image = MySequence[i];
   m_Digitizer1->Grab();
   }

// Build a CActiveMILObjectsArray to wrap the array of Image controls
CActiveMILObjectsArray<IImagePtr>
   ActiveMILObjectsArray(MySequence.GetData(), MySequence.GetSize());

IAVIFileHandlerPtr AVIHandler;
AVIHandler.CreateInstance("MIL.AVIFileHandler");
AVIHandler->Open("X:\\images\\MySequence.avi",
                  aviFileFormatDefault, aviCreate);

AVIHandler->Write(ActiveMILObjectsArray, 30);
AVIHandler->Close();


Accuracy help page choice

 Select the help page to view

  • Measurement.Markers.Item.SearchRegion.Angle.Accuracy
  • PatternMatching.Models.Item.SearchAngle.Accuracy


Enabled help page choice

 Select the help page to view

  • Measurement.Markers.Item.SearchRegion.Angle.Enabled
  • PatternMatching.Models.Item.SearchAngle.Enabled


InterpolationMode help page choice

 Select the help page to view

  • Measurement.Markers.Item.SearchRegion.Angle.InterpolationMode
  • PatternMatching.Models.Item.SearchAngle.InterpolationMode


NegativeDelta help page choice

 Select the help page to view

  • Measurement.Markers.Item.SearchRegion.Angle.NegativeDelta
  • PatternMatching.Models.Item.SearchAngle.NegativeDelta


PositiveDelta help page choice

 Select the help page to view

  • Measurement.Markers.Item.SearchRegion.Angle.PositiveDelta
  • PatternMatching.Models.Item.SearchAngle.PositiveDelta


Tolerance help page choice

 Select the help page to view

  • Measurement.Markers.Item.SearchRegion.Angle.Tolerance
  • PatternMatching.Models.Item.SearchAngle.Tolerance


Value help page choice

 Select the help page to view

  • Measurement.Markers.Item.SearchRegion.Angle.Value
  • PatternMatching.Models.Item.SearchAngle.Value


GenerateColor help page choice

 Select the help page to view

  • Digitizer.LUT.GenerateColor
  • Display.LUT.GenerateColor
  • Image.LUT.GenerateColor
  • ImageProcessing.LUTs.Item.GenerateColor


GenerateFunction help page choice

 Select the help page to view

  • Digitizer.LUT.GenerateFunction
  • Display.LUT.GenerateFunction
  • Image.LUT.GenerateFunction
  • ImageProcessing.LUTs.Item.GenerateFunction


GenerateRamp help page choice

 Select the help page to view

  • Digitizer.LUT.GenerateRamp
  • Display.LUT.GenerateRamp
  • Image.LUT.GenerateRamp
  • ImageProcessing.LUTs.Item.GenerateRamp


Get help page choice

 Select the help page to view

  • Digitizer.LUT.Get
  • Display.LUT.Get
  • Image.LUT.Get
  • ImageProcessing.LUTs.Item.Get


Put help page choice

 Select the help page to view

  • Digitizer.LUT.Put
  • Display.LUT.Put
  • Image.LUT.Put
  • ImageProcessing.LUTs.Item.Put


DataDepth help page choice

 Select the help page to view

  • Digitizer.LUT.DataDepth
  • Display.LUT.DataDepth
  • Image.LUT.DataDepth
  • ImageProcessing.LUTs.Item.DataDepth


DataType help page choice

 Select the help page to view

  • Digitizer.LUT.DataType
  • Display.LUT.DataType
  • Image.LUT.DataType
  • ImageProcessing.LUTs.Item.DataType


MaximumPixelValue help page choice

 Select the help page to view

  • Display.LUT.MaximumPixelValue
  • Image.LUT.MaximumPixelValue


MilID help page choice

 Select the help page to view

  • Digitizer.LUT.MilID
  • Display.LUT.MilID
  • Image.LUT.MilID
  • ImageProcessing.LUTs.Item.MilID


MinimumPixelValue help page choice

 Select the help page to view

  • Display.LUT.MinimumPixelValue
  • Image.LUT.MinimumPixelValue


NumberOfBands help page choice

 Select the help page to view

  • Digitizer.LUT.NumberOfBands
  • Display.LUT.NumberOfBands
  • Image.LUT.NumberOfBands
  • ImageProcessing.LUTs.Item.NumberOfBands


Size help page choice

 Select the help page to view

  • Digitizer.LUT.Size
  • Display.LUT.Size
  • Image.LUT.Size
  • ImageProcessing.LUTs.Item.Size


Value help page choice

 Select the help page to view

  • Measurement.Markers.Item.NumberOfInsideEdges.Value
  • Measurement.Markers.Item.Spacing.Value
  • Measurement.Markers.Item.Width.Value


Variation help page choice

 Select the help page to view

  • Measurement.Markers.Item.NumberOfInsideEdges.Variation
  • Measurement.Markers.Item.Spacing.Variation
  • Measurement.Markers.Item.Width.Variation


WeightFactor help page choice

 Select the help page to view

  • Measurement.Markers.Item.NumberOfInsideEdges.WeightFactor
  • Measurement.Markers.Item.Spacing.WeightFactor
  • Measurement.Markers.Item.Width.WeightFactor


Edge1 help page choice

 Select the help page to view

  • Measurement.Markers.Item.Contrast.Edge1
  • Measurement.Markers.Item.EdgeStrength.Edge1


Edge2 help page choice

 Select the help page to view

  • Measurement.Markers.Item.Contrast.Edge2
  • Measurement.Markers.Item.EdgeStrength.Edge2


Variation help page choice

 Select the help page to view

  • Measurement.Markers.Item.Contrast.Variation
  • Measurement.Markers.Item.EdgeStrength.Variation


WeightFactor help page choice

 Select the help page to view

  • Measurement.Markers.Item.Contrast.WeightFactor
  • Measurement.Markers.Item.EdgeStrength.WeightFactor


Draw help page choice

 Select the help page to view

  • Measurement.Results.Item.Edge1.Draw
  • Measurement.Results.Item.Edge2.Draw


Angle help page choice

 Select the help page to view

  • Measurement.Results.Item.Edge1.Angle
  • Measurement.Results.Item.Edge2.Angle


BoxCornerBottomLeftX help page choice

 Select the help page to view

  • Measurement.Results.Item.Edge1.BoxCornerBottomLeftX
  • Measurement.Results.Item.Edge2.BoxCornerBottomLeftX


BoxCornerBottomLeftY help page choice

 Select the help page to view

  • Measurement.Results.Item.Edge1.BoxCornerBottomLeftY
  • Measurement.Results.Item.Edge2.BoxCornerBottomLeftY


BoxCornerBottomRightX help page choice

 Select the help page to view

  • Measurement.Results.Item.Edge1.BoxCornerBottomRightX
  • Measurement.Results.Item.Edge2.BoxCornerBottomRightX


BoxCornerBottomRightY help page choice

 Select the help page to view

  • Measurement.Results.Item.Edge1.BoxCornerBottomRightY
  • Measurement.Results.Item.Edge2.BoxCornerBottomRightY


BoxCornerTopLeftX help page choice

 Select the help page to view

  • Measurement.Results.Item.Edge1.BoxCornerTopLeftX
  • Measurement.Results.Item.Edge2.BoxCornerTopLeftX


BoxCornerTopLeftY help page choice

 Select the help page to view

  • Measurement.Results.Item.Edge1.BoxCornerTopLeftY
  • Measurement.Results.Item.Edge2.BoxCornerTopLeftY


BoxCornerTopRightX help page choice

 Select the help page to view

  • Measurement.Results.Item.Edge1.BoxCornerTopRightX
  • Measurement.Results.Item.Edge2.BoxCornerTopRightX


BoxCornerTopRightY help page choice

 Select the help page to view

  • Measurement.Results.Item.Edge1.BoxCornerTopRightY
  • Measurement.Results.Item.Edge2.BoxCornerTopRightY


Contrast help page choice

 Select the help page to view

  • Measurement.Results.Item.Edge1.Contrast
  • Measurement.Results.Item.Edge2.Contrast


EdgeStrength help page choice

 Select the help page to view

  • Measurement.Results.Item.Edge1.EdgeStrength
  • Measurement.Results.Item.Edge2.EdgeStrength


LineEquationIntercept help page choice

 Select the help page to view

  • Measurement.Results.Item.Edge1.LineEquationIntercept
  • Measurement.Results.Item.Edge2.LineEquationIntercept


LineEquationSlope help page choice

 Select the help page to view

  • Measurement.Results.Item.Edge1.LineEquationSlope
  • Measurement.Results.Item.Edge2.LineEquationSlope


MaximumPositionX help page choice

 Select the help page to view

  • Measurement.Results.Item.Edge1.MaximumPositionX
  • Measurement.Results.Item.Edge2.MaximumPositionX


MaximumPositionY help page choice

 Select the help page to view

  • Measurement.Results.Item.Edge1.MaximumPositionY
  • Measurement.Results.Item.Edge2.MaximumPositionY


MinimumPositionX help page choice

 Select the help page to view

  • Measurement.Results.Item.Edge1.MinimumPositionX
  • Measurement.Results.Item.Edge2.MinimumPositionX


MinimumPositionY help page choice

 Select the help page to view

  • Measurement.Results.Item.Edge1.MinimumPositionY
  • Measurement.Results.Item.Edge2.MinimumPositionY


Polarity help page choice

 Select the help page to view

  • Measurement.Results.Item.Edge1.Polarity
  • Measurement.Results.Item.Edge2.Polarity


PositionVariation help page choice

 Select the help page to view

  • Measurement.Results.Item.Edge1.PositionVariation
  • Measurement.Results.Item.Edge2.PositionVariation


PositionX help page choice

 Select the help page to view

  • Measurement.Results.Item.Edge1.PositionX
  • Measurement.Results.Item.Edge2.PositionX


PositionY help page choice

 Select the help page to view

  • Measurement.Results.Item.Edge1.PositionY
  • Measurement.Results.Item.Edge2.PositionY


Width help page choice

 Select the help page to view

  • Measurement.Results.Item.Edge1.Width
  • Measurement.Results.Item.Edge2.Width


Edgels help page choice

 Select the help page to view

  • ModelFinder.Results.Item.ModelChains.Item.Edgels
  • ModelFinder.Results.Item.TargetChains.Item.Edgels
  • ModelFinder.Results.TargetChains.Item.Edgels


Count help page choice

 Select the help page to view

  • ModelFinder.Results.Item.ModelChains.Count
  • ModelFinder.Results.Item.TargetChains.Count
  • ModelFinder.Results.TargetChains.Count


Item help page choice

 Select the help page to view

  • ModelFinder.Results.Item.ModelChains.Item
  • ModelFinder.Results.Item.TargetChains.Item
  • ModelFinder.Results.TargetChains.Item


CenterX help page choice

 Select the help page to view

  • CharacterRecognition.SearchRegion.CenterX
  • Code.SearchRegion.CenterX
  • Digitizer.FocusParameters.FocusRegion.CenterX
  • Digitizer.InputRegion.CenterX
  • GraphicContext.DrawingRegion.CenterX
  • Measurement.Markers.Item.SearchRegion.CenterX
  • PatternMatching.Models.Item.SearchRegion.CenterX


CenterY help page choice

 Select the help page to view

  • CharacterRecognition.SearchRegion.CenterY
  • Code.SearchRegion.CenterY
  • Digitizer.FocusParameters.FocusRegion.CenterY
  • Digitizer.InputRegion.CenterY
  • GraphicContext.DrawingRegion.CenterY
  • Measurement.Markers.Item.SearchRegion.CenterY
  • PatternMatching.Models.Item.SearchRegion.CenterY


EndX help page choice

 Select the help page to view

  • CharacterRecognition.SearchRegion.EndX
  • Code.SearchRegion.EndX
  • Digitizer.FocusParameters.FocusRegion.EndX
  • Digitizer.InputRegion.EndX
  • GraphicContext.DrawingRegion.EndX
  • Measurement.Markers.Item.SearchRegion.EndX
  • PatternMatching.Models.Item.SearchRegion.EndX


EndY help page choice

 Select the help page to view

  • CharacterRecognition.SearchRegion.EndY
  • Code.SearchRegion.EndY
  • Digitizer.FocusParameters.FocusRegion.EndY
  • Digitizer.InputRegion.EndY
  • GraphicContext.DrawingRegion.EndY
  • Measurement.Markers.Item.SearchRegion.EndY
  • PatternMatching.Models.Item.SearchRegion.EndY


FullSize help page choice

 Select the help page to view

  • CharacterRecognition.SearchRegion.FullSize
  • Code.SearchRegion.FullSize
  • Digitizer.FocusParameters.FocusRegion.FullSize
  • Digitizer.InputRegion.FullSize
  • GraphicContext.DrawingRegion.FullSize
  • Measurement.Markers.Item.SearchRegion.FullSize
  • PatternMatching.Models.Item.SearchRegion.FullSize


Mode help page choice

 Select the help page to view

  • CharacterRecognition.SearchRegion.Mode
  • Code.SearchRegion.Mode
  • Digitizer.FocusParameters.FocusRegion.Mode
  • Digitizer.InputRegion.Mode
  • GraphicContext.DrawingRegion.Mode
  • Measurement.Markers.Item.SearchRegion.Mode
  • PatternMatching.Models.Item.SearchRegion.Mode


OffsetX help page choice

 Select the help page to view

  • CharacterRecognition.SearchRegion.OffsetX
  • Code.SearchRegion.OffsetX
  • Digitizer.FocusParameters.FocusRegion.OffsetX
  • Digitizer.InputRegion.OffsetX
  • GraphicContext.DrawingRegion.OffsetX
  • Measurement.Markers.Item.SearchRegion.OffsetX
  • PatternMatching.Models.Item.SearchRegion.OffsetX


OffsetY help page choice

 Select the help page to view

  • CharacterRecognition.SearchRegion.OffsetY
  • Code.SearchRegion.OffsetY
  • Digitizer.FocusParameters.FocusRegion.OffsetY
  • Digitizer.InputRegion.OffsetY
  • GraphicContext.DrawingRegion.OffsetY
  • Measurement.Markers.Item.SearchRegion.OffsetY
  • PatternMatching.Models.Item.SearchRegion.OffsetY


SizeX help page choice

 Select the help page to view

  • CharacterRecognition.SearchRegion.SizeX
  • Code.SearchRegion.SizeX
  • Digitizer.FocusParameters.FocusRegion.SizeX
  • Digitizer.InputRegion.SizeX
  • GraphicContext.DrawingRegion.SizeX
  • Measurement.Markers.Item.SearchRegion.SizeX
  • PatternMatching.Models.Item.SearchRegion.SizeX


SizeY help page choice

 Select the help page to view

  • CharacterRecognition.SearchRegion.SizeY
  • Code.SearchRegion.SizeY
  • Digitizer.FocusParameters.FocusRegion.SizeY
  • Digitizer.InputRegion.SizeY
  • GraphicContext.DrawingRegion.SizeY
  • Measurement.Markers.Item.SearchRegion.SizeY
  • PatternMatching.Models.Item.SearchRegion.SizeY


StartX help page choice

 Select the help page to view

  • CharacterRecognition.SearchRegion.StartX
  • Code.SearchRegion.StartX
  • Digitizer.FocusParameters.FocusRegion.StartX
  • Digitizer.InputRegion.StartX
  • GraphicContext.DrawingRegion.StartX
  • Measurement.Markers.Item.SearchRegion.StartX
  • PatternMatching.Models.Item.SearchRegion.StartX


StartY help page choice

 Select the help page to view

  • CharacterRecognition.SearchRegion.StartY
  • Code.SearchRegion.StartY
  • Digitizer.FocusParameters.FocusRegion.StartY
  • Digitizer.InputRegion.StartY
  • GraphicContext.DrawingRegion.StartY
  • Measurement.Markers.Item.SearchRegion.StartY
  • PatternMatching.Models.Item.SearchRegion.StartY