Skip to main content | Skip to section navigation | Skip to site navigation | Skip to legal and corporate information

TECHNICAL SUPPORT: FAQs

Image Objects Product FAQ

FAQ 1:Why do colors go wrong on an IODisplay?

If the image displayed by an IODisplay control appears in strange colors, or changes color when focus changes between applications, there may be a problem sharing color palettes. This may be particularly apparent when your application has several IODisplay controls. Try setting each IODisplay control's RenderMode property to ioSharedColourPaletteSpeed or ioSharedColourPaletteQuality. You may also need to change IODisplay's ForceBackgroundPalette property.

FAQ 2:Why is my image processing operation happening in the wrong place?

An IOImage object's MatchPoint property remains set between operations, even after a call to Destroy. If your program sets matchpoints before a particular operation between several images, then reuses one of those images as a parameter to a further operation between different images, the matchpoint will be applied to this operation as well.
To cancel the effect of matchpoints between image parameters to any method, set all images' MatchPoint parameters to the same value.
Set Image2.MatchPoint = Image1.MatchPoint

FAQ 3:Why is my image processing operation only happening in a little porthole?

An IOImage object's region of interest (ROI) remains set between operations, even after a call to Destroy. If your program calls SetROICuboid, SetROIEllipsoid or SetROIFromImage before a particular operation between several images, then reuses one of those images as a parameter to a further operation between different images, the ROI will be applied to this operation as well. To cancel an image's ROI, call SetROINone.

FAQ 4:How do I extend IO's functionality?

The IOImage object's Pixel and Pixels properties and GetPixelsmethod allow direct access to the image data, which would allow you to add your own functions to IO. Here is a simple Visual Basic example to add 1 to every pixel from a 512x512 image Image1 and put the result in (pre-created) 512x512 image Image2, one line at a time:
Dim Array(0 To 511) As Byte
Dim Pt As IOPoint
Set Pt = CreateObject("IO.IOPoint")
For Y = 0 To 511
Pt.X = 0
Pt.Y = Y
Image1.GetPixels Pt, Array
For X = 0 To 511
Array(X) = Array(X) + 1
Next X
Image2.Pixels(Pt) = Array
Next Y

FAQ 5:How can I get an image into IO?

If the image is stored in a file, call ReadFromFile to load the image.
Image.ReadFromFile "xray1.bmp"
If the image is to be captured from a camera or other device, see IOAcquire and framegrabbers.
If the image is available as raw data within your program, Create an IOImage object of the required size and fill it via its Pixels property.
Most of the sample applications tackle this problem in one way or another.

FAQ 6:How do I use my non-Synoptics framegrabber to capture images with IO?

The IOAcquire control currently supports Synoptics' own range of framegrabbers. Interfaces to other manufacturer's products may be provided in the future, please contact Synoptics to discuss your requirements.
To use a framegrabber which is not supported by IOAcquire, your program should transfer raw data directly to an IOImage object.

FAQ 7:How do I interlace live IOAcquire with MSComm control in VB?

An IOAcquire control displaying a live image may, in certain circumstances, block events to Visual Basic's MSComm control (used to talk to the computer's serial port). One way to avoid this is to perform the following function repeatedly when polling for input from the MSComm control:
Public Function IdleProcess()
display.LiveUpdate = False
DoEvents
display.LiveUpdate = True
display.Refresh
End Function

The IODisplay control display's LiveUpdate is suspended while Visual Basic's DoEvents clears the event queue. The final Refresh is necessary to restart the live display.

FAQ 8:Why do my IO programs no longer work with a new version of IO?

Unfortunately, early versions of IO have not been compatible with programs already compiled with previous versions of IO (the precise symptoms will depend on the particular programming language).It is simply necessary to recompile your program with the newly installed version of IO. This problem has now been corrected, so programs compiled with the current version will continue to work with all future releases of IO.

Home | What's New | Products | Tradeshows | Technical | Contact | Where to Buy | Microscopy Fields | Corporate

Website Terms and Conditions of Use and Privacy Policy
Copyright © 2003 Synoptics Ltd. All rights reserved and trademarks acknowledged.
Site designed and maintained by The Ellis Partners

Return to shortcuts at top of page
Home
What's New
Products
Tradeshows
Technical
Contact
Where to Buy
Microscopy Fields