Documentation

Troubleshooting

What to do when Imatest fails

  Quick guide to troubleshooting: what to do if…  
  you have trouble Installing Imatest  
  you have difficulties following the installation  
  you can’t read an image file  
  Imatest stops working after you make a region selection  
  you get a message of the form, “Error parsing the file for keys … findkeys at nn  
  a module that formerly worked has stopped working  
  you think you’ve found a bug  (how to report it)  
  a crash completely shuts down Imatest  (how to run in Diagnostics mode)  

Version

If possible we recommend that you run the current Imatest version. You should always run the most recent version allowed by your license (you can activate versions released up to one year from the date of purchase: see the Change Log). Newer versions contain fixes for bugs found in earlier versions as well as enhancements. Because Imatest 3.6+ uses a new compiler with greatly improved error reporting and 3.8+ uses a new registration system, some paragraphs below are prefixed “Pre-3.6“, “3.6+“, etc.

The version number appears in the top bar of the Imatest main window, and the build date (most relevant if you’re running a Beta version) appears when you press Help, About. If your version is older than the latest version shown in the Change Log, we recommend that you download, install, and run the latest version. It’s usually unnecessary to uninstall a previous version.

If Imatest stops working, the problem is often a bad entry in imatest-v2.ini (imatest.ini, prior to Imatest 4.2), described below. Uninstalling Imatest Imatest rarely helps, and reinstalling it only helps in rare cases where system files go missing. Imatest-v2.ini issues should always be addressed first. Clicking on Error reporting at the bottom of the Imatest main window opens the window shown below, which has concise instructions on how to deal with errors as well as direct links.

Click on the Error reporting button on the bottom of the Imatest main window to open
the Error reporting and Troubleshooting window, which has concise instructions and direct links.

 

Installation

Update installations do not normally require an uninstall of the previous version, but if you encounter difficulties you may want to uninstall and reinstall Imatest. The Uninstaller is accessible from the Start menu (Start, All programs, Imatest, Uninstall) or from the Add or Remove Programs function of the Control Panel. It gives you the option of keeping or removing the Matlab runtime library archive (Imatest-lib.exe in versions prior to 3.6). (Keep is the default; you have to check the box to remove it.) Keeping it speeds up reinstallation. Remove it only if you don’t plan to reinstall Imatest or if you have good reason to suspect it may be corrupted (a rare occurrence). Click here for full installation instructions.

Important changes with Imatest 3.6+

Imatest versions 3.6+ use new Matlab compilers (Versions 4.11+) in place of the old R13 compiler (Version 3.0.1). The new compilers require a much larger library download: the ~200MB Matlab Compiler Runtime (MCR) (a sort of virtual machine). Imatest is normally compiled as a 32-bit application, which runs on 32 and 64-bit computers. (64-bit applications have little performance advantage and won’t run on 32-bit computers.)

Imatest Matlab library (MCR) locations
Imatest
Version
Compiler/Library Typical location (Environment variable and file name for 64-bit English installations)
[Substitute C:Program Files for C:Program files (x86) in 32-bit computers.]
3.10,4.0+ Compiler 4.18.1
V81
%ProgramFiles%\MATLAB\MATLAB Compiler Runtime\v81
C:Program Files (x86)\MATLAB\MATLAB Compiler Runtime\v81
3.7-3.9 Compiler 4.14
V714
%ProgramFiles%\MATLAB\MATLAB Compiler Runtime\v714
C:Program Files (x86)\MATLAB\MATLAB Compiler Runtime\v714
3.6 Compiler 4.11
V711
%ProgramFiles%\MATLAB\MATLAB Compiler Runtime\v711
C:Program Files (x86)\MATLAB\MATLAB Compiler Runtime\v711
before 3.6 Compiler 3 %ProgramFiles%\Imatest\toolbox\matlab
C:Program Files (x86)\Imatest\toolbox\matlab
Note: Matlab’s nomenclature can be extremely confusing. For example, Matlab R2010b (7.11) uses Matlab Component Runtime 7.14 and Compiler 4.14, See http://www.mathworks.com/support/solutions/en/data/1-4GSNCF/?solution=1-4GSNCF

The MCR is included in all 3.6+ downloads. The download and installation may take several minutes each. When the installation is finished,

  • The MCR should be located in %ProgramFiles%\MATLAB\MATLAB Compiler Runtime\v714 (for Imatest 3.7+; …V711 for 3.6) in 32-bit systems (%ProgramFiles% is C:Program Files in English-language Win32 installations) or %ProgramFiles(x86)%\MATLAB\MATLAB Compiler Runtime\v714 (or …V711) in 64-bit systems (%ProgramFiles(x86)% is C:Program Files (x86) in English-language Win64 installations)
  • Imatest is located in %ProgramFiles%\Imatest\Imatest in 32-bit systems (%ProgramFiles is C:Program Files in English-language Win32 installations) or %ProgramFiles(x86)%\Imatest\Imatest in 64-bit systems (%ProgramFiles(x86) is C:Program Files (x86) in English-language Win64 installations)

The first time you install Imatest 3.6+ with a new library (V7111, V714, etc.), you should make sure that Matlab Libraries is checked in the Choose Components window. Library installation takes several minutes. Once the correct MCR for your version has been installed, you don’t need to check this box when updating Imatest.

If you try running Imatest before the MCR has been installed the following message may appear. Reinstalling with the Matlab Libraries box checked will fix the problem.

This application has failed to start because mclmcrrt714.dll was not found.

Problems during installation

Installation or registration can fail if

  • You don’t have administrator privileges on your computer. Without them you may see messages like
    Error opening file for writing C:Program files(x86)\Imatest\Master\imatest.exe
    Error opening file for writing C:Program files (x86)\Imatest\Master\dcraw.exe etc., etc.
  • Your computer is behind a strong corporate firewall.
Pre-3.6: This message sometimes appears in systems that have strong firewalls. It can usually be corrected by making sure the Matlab runtime library, Imatest-lib.exe, available from the Download page, is in the same folder as the Imatest installation file. You may need to temporarily disable your firewall and manually download the library file.
Install error
Here is another error message that appeared as a result of a strong firewall. The customer had no problem when he downloaded from home.The solution: Download Imatest outside the office, then bring in a CD or USB device.

If you have receive an indication of a “DNS error” (very rare), try clicking Start, Run… Enter ipconfig /flushdns in the Open… box, then click OK.

Problems following installation

Error: Could not find version m.n of the MCR.

This error may be caused by an MCR (Matlab Compiler Runtime, i.e., library) installation failure or by a problem with the path in the bat file that runs Imatest. It is most likely to occur in Imatest 3.7 and early builds of 3.8 when

  • the Matlab Libraries were not installed correctly the first time you installed this version of Imatest. You will need to reinstall Imatest with Matlab Libraries checked in the Choose Components window. (this normally only needs to be done once, on the first installation). When this didn’t work for one customer, he deleted the MCR (library) folders (locations described below and here), and repeated this process with success.
  • your system had pending Windows updates when you tried to install the MCR. Make sure all updates are completed before repeating the installation.
  • Imatest has been installed on a system that has another version of Matlab installed. (This rarely causes problems.) Check the bat files (run_imatest.bat and run_diagnostics.bat) in the folder used to run your version of Imatest to be sure the path points to the correct MCR location.

In typical 64-bit Windows 7 English-language installations the Imatest installation folder is C:Program Files (x86)\Imatest\Master. This folder may be different for different versions of Imatest, operating systems, and languages.You should locate it on your system.

The path is set in file run_imatest.bat (also run_diagnostics.bat) in the Imatest installation folder. You will need to open it with Administrator privileges if you want to save changes. The key line with the path information (in my system) is

@path=”C:Program Files (x86)\Imatest\Master_3.8;C:Program Files (x86)\Imatest\Master_3.8bin;C:Program Files (x86)\MATLAB\MATLAB Compiler Runtime\v714runtimewin32;C:Program Files (x86\)MATLAB\MATLAB Compiler Runtime\v714;%path%”

The highlighted entries in this line are the Matlab Compiler Runtime (MCR) folders. You should check the contents of these folders. If the folder C:Program Files (x86)MATLABMATLAB Compiler Runtimev714 (or its equivalent on your system) is not on this line (only an issue prior to Imatest 3.8), it should be added.


3.6: If you get a message similar to “This application has failed to start because mclmcrrt711.dll was not found,” you’ll need to download and install the FULL version, which contains the Matlab Runtime library (the MCR). This only needs to be done once for Imatest 3.6. The download and installation may take several minutes each. Upgrade downloads and installations are much faster.


3.6+: mllapack.dll Procedure could not be found (mllapack.dll La procédure spécifiée est introuvable en Français) Imatest starts normally, but terminates with this message displayed in a box. We have seen this problem twice. It was not easy to track down. A solution that worked for one customer (but required some effort) was found at the end of this Google post and also this Matlab Central post.

“I found that the error comes from a dll version problem (as suspected). An older “libmmd.dll” was present in windows/system32 directory. The version that comes with the Matalb Runtime bin/win32 directory was not used. Getting rid of the older version solved the problem. I haven’t figured out yet why it was there and why it doesn’t get updated in the windows directory when installing the vcredist. What a pain.”

One other piece of advice may be worth exploring if this doesn’t work. This Matlab post states that “The crash is caused by an incompatibility between MATLAB and the CPU. This can happen if the processor does not support the SSE2 instruction set, for example, the Athlon XP 2200+ CPU.” This problem should not occur on computers manufactured after 2003.


Pre-3.6: The most common installation problem is a failure of the Matlab runtime library, Imatest-lib.exe, to download or install properly. This results in an error message of the form,

“The procedure entry point … could not be located in the dynamic link library … .dll.”

If you get such a message, check to see if file Imatest-lib.exe has been downloaded correctly. Also, check the status of your firewall. Strong firewalls have caused this problem.

  • If it was downloaded automatically (during installation) there should be a copy in the Imatest installation folder (C:Program files\Imatest\Imatest in typical win32 English language installations).
  • If you downloaded it manually (usually required in systems with firewalls), there should be a copy in the same folder as the Imatest installer program, Imatest-x.x.exe.

Windows XP Explorer reports its size as 8,513 kB, but the tooltip that appears when you move the cursor over the file name reports its size as 8.31 MB (go figure). If the download failed, a smaller size may be reported.

If you fail to find Imatest-lib.exe or if you suspect that it was downloaded incorrectly, download it by right-clicking here or on any of the links in this section, then reinstall Imatest. Imatest-lib.exe is a self extracting zip file that places the Matlab runtime library in subfolder binwin32 and toolbox\matlab of the Imatest installation folder. If problems persist, check to see that these folders are populated, then send e-mail to Imatest support with the text of the error message, if any, that appears in the DOS window.


Pre-3.6: Missing DLL files In rare instances, four DLL files, jpeg_depth.dll, dataread.dll, imjpg8.dll, and rjpg8c.dll, may be missing from subfolder toolbox\matlab\iofun\private of the Imatest installation folder. Because they are not included in Imatest-lib.exe they are installed using a different procedure, which fails in fewer than 1% of installations. If you get a message that indicates they may be missing, you should check for them in the subfolder and install them manually if they are absent.

  • In Imatest 3.1 or later, the four files are installed to the Imatest installation folder as well as the subfolder. They can be copied to the subfolder ( toolbox\matlab\iofun\private; C:Program Files\Imatest\toolbox\matlab\iofun\private in English language installations) if they are missing.
  • For earlier versions you can download jpegdlls.zip and copy the contents to the subfolder.

Runtime errors

An image file cannot be read.

Matlab often can’t read image files that have nonstandard headers or other irregularities. Such files are rare in commercial cameras, but may crop up in prototype or development systems. You can often “launder” them using Irfanview, which you can download for free from Irfanview.com. It’a a valuable utility! Read the file into Irfanview, then save it. (You can use a different file name if you need to keep the original.)

Imatest stops working (hangs or crashes) after you make a region selection

This problem may be caused by automatic translation software such as Youdao Dictionary.

Solution:

Temporarily disable the translation software while performing a ROI selection. There is more about this issue on Region selection bug workaround.

Imatest crashes or does not run as expected

When this happens the Command (DOS) window that normally stays minimized may contain an error message that is useful for debugging. To view its contents,

  • Click on the Imatest Command Window icon in the taskbar.
  • Click File, View current session, which will open the contents of the session in an editor (typically Notepad). You can also click File, Copy current session, then paste it into the editor of your choice or an email to Imatest support.
  • If Imatest has crashed completely and closed, restart it, then click File, View (or Copy) Last Session.

Most problems fall into the following categories.

  1. You’ve found a bug. Many bugs can be fixed by downloading and installing the most recent Imatest version. If that doesn’t work, email Imatest support with the Command window contents (as described above), and if appropriate, the INI file and the image. Details here.
  2. Imatest-v2.ini (imatest.ini prior to Imatest 4.2), the file that stores saved settings, has gotten corrupted and cannot be read. See Corrupted INI file (below) for an explanation and a fix.
  3. A module that formerly worked has stopped working. This is most often caused by bad entries in the section corresponding to the module in Imatest-v2.ini. See A module that formerly worked has stopped working (below) for an explanation and a possible fix.

You don’t need to know the exact location of imatest-v2.ini in Imatest 3.7+because Imatest has a full set of utilities for locating, editing, saving, and loading it. Its exact location is

$APPDATA$\Imatest\imatest-v2.ini

where $APPDATA$ is an environment variable equivalent to C:Usersuser_name\AppData\Roaming In Windows Vista/7 (English). The full English-language Vista/7-10 path name for imatest-v2.ini is C:Users\user_name\AppData\Roaming\Imatest\imatest.ini. The name may be different in other operating systems and languages.

Corrupted ini file

This error occasionally happens in systems that contain folders or files with non-Latin characters (Chinese, Korean, Japanese, Hebrew, etc.) prior to Imatest 4.2, where it has been completely fixed. A typical message in the DOS window has the form,

Error parsing the file for keys: C:\Doc … Imatest\imatest.ini: Error using ==> inifile>findkeys at 508
Unknown string at line 38
The bad line flagged above was found in imatest.ini.

Most occurrences of this problem have been eliminated in builds of Imatest 3.9+ released after June 15, 2012. These new builds use UTF-8 character encoding for the ini files, which should be able to handle non-Latin characters. You may need to go through the repair procedure (following the recommendations that appear on your screen) once. If the problem recurs (this should be very rare)

  • If possible, change all image file names so they have only Latin characters (26 characters, A-Z)
  • It may help to delete imatest.ini entirely by pressing INI file settings, Reset Defaults.

If this happens in Imatest versions earlier than 3.7, follow the instructions below in INI File fix.

For Imatest 3.7+ one of the windows shown below should open.

Ini file error message

Corrupted imatest.ini message (line 2) in Imatest 3.7

The message indicates that there is an error on line 2. After OK is pressed, the ini file opens in Notepad. Delete or correct the offending line (see the explanation below), then save the file. You can close Notepad and restart Imatest.

Corrupted imatest.ini message (line 26) in Imatest 3.9+

The message indicates that there is an error on line 26. After OK is pressed, a special editor opens that detects corrupted lines, lets you review them, and then save the corrected file.

Scan and repair INI file window. Appears in Imatest 3.8+ after parsing error.
Click pink bar on lower-left to fix the issue, which is best prevented
by avoiding non-Latin characters in file names.

INI File fix: Imatest.ini (and also rescharts.ini, multicharts.ini, etc.) contain saved settings used in Imatest runs. They are created when Imatest is first run. Settings include regions of interest (ROIs), plot selections, plot scales, calculation techniques, and more.

Ini files are text files formatted so that each line

  • is a section title enclosed within brackets ( [ … ] ), e.g., [sfr], or
  • has the form, name = value, e.g., nwid_save = 2601.

An error is detected when a line does not conform to this structure. The most common cause is a missing equal sign (=). If you receive an error message, follow the instructions in the Scan and Repair window (above) or

  1. Close Imatest
  2. Either
    1. Delete the INI file, which is typically located here:%USERPROFILE%AppDataRoamingImatestimatest.iniThe actual file name may vary for different operating systems and languages.
    2. Use a text editor to remove the bad line (typically missing the = symbol) from the INI file.
  3. Restart Imatest
  4. When you save results, make sure to use a folder name that has no non-Latin (Mandarin, Hebrerw, etc.) characters in it, for example, “Results”.

Root causes? We suspect that the problem is related to Locale Settings. Here are some items from How the MATLAB Process Uses Locale Settings:

  • Default Locale Setting — If the user-specified locale is not supported, MATLAB uses the default locale en_US.US-ASCII. (This could cause trouble for non-Latin characters.)
  • UI Language Setting — The UI language setting should be set to either the same language as the user-specified locale or to US-English. Otherwise, non-7-bit ASCII characters might not display properly.
  • Supported Character Set — MATLAB supports the character set specified by the user locale setting. However, MATLAB might not properly handle character codes greater than 2 bytes.
  • Script Compatibility — Non-7-bit ASCII characters in MATLAB scripts created with one locale setting might not be compatible with a different locale setting.

See also Internationalization and Troubleshooting I18n Messages and Settings, which contains this interesting statement: “The user locale and system locale must be the same value on the Microsoft Windows platform. If these values are not the same, you might see garbled text or incorrect characters.”

Pre 3.7: If Imatest crashes and you receive a message that resembles, “ERROR: Error in parsing the file for keys: C:”, imatest.ini has been corrupted. It may contain some text that does not correspond to the standard ini file format. You’ll need to open imatest.ini (location below) and remove the offending code. Or delete (or rename) it if you can’t find the bad text.There are several things you can do if you suspect that an ini file has been corrupted.

  • In the Imatest Main window (or in the Rescharts or Multicharts windows), click Settings, Reset defaults (all). This deletes imatest.ini, then recreates it with a few default values. The sections are repopulated when modules are run. Since all settings are lost, this is only recommended as a last resort.
  • Click Settings, View settings (ini file). This opens imatest.ini (or rescharts.ini or multicharts.ini if you are running one of those modules) in a simple editor (Notepad) that you can edit (if you have any idea what to change), then save by pressing control-S. You can also copy the contents and paste it into an email to Imatest support, as described below.
  • Imatest 3.6+: Click Settings, Copy settings (ini file). This copies the ini file to the clipboard. You can paste it directly into an email for us.

A module that formerly worked has stopped working

This can often be fixed by removing the section for the module in imatest-v2.ini (imatest.ini, rescharts.ini, or multicharts.ini prior to Imatest 4.2). Depending on which module crashed, in the Imatest main window, the Rescharts window, or the Multicharts window, click INI File Settings, INI file Editor (or Edit/reset module(s) before Imatest 3.9) to open the INI file Editor, shown below. NOTE: Reinstalling Imatest rarely solves this type of problem.

The ini file editor is an extremely powerful tool for editing ini (settings) files.
You can often fix a broken (but formerly working) module by selecting the section
corresponding to the module, then clicking Delete section, Save.

You can select a section to view or delete from the Section dropdown menu (near the top). To edit a line, select it in the large window, make the change in the edit window just above the large window, then press Enter. To delete the entire selection, press Delete section When you are ready to save the changes press Save, which is grayed out until changes are made. If you with to cancel your changes, press either Reload ini file or Close.

Error reporting

If you cannot solve the problem, send an e-mail to Imatest support. Details on how to do this can be found by pressing the Error reporting button at the bottom of the Imatest main window.

  • Include the error message, which is usually contained in the Command (DOS) window. (You can edit out portions that are obviously irrelevant.) To obtain the Command window contents,
    • Click File, Copy current session, then paste it into the email.
    • If Imatest has crashed completely and closed, restart it, then click File, Copy Last Session.
    • For older versions, click on the Imatest Command Window icon in the taskbar. See the gray box below for instructions on copying the contents.
  • Tell us your operating system (included in the Command (DOS) window in Imatest 3.9+).
  • Include the contents of imatest.ini (or multicharts.ini or rescharts.ini prior to Imatest 4.2), which may contain helpful information for diagnosing the problem. In Imatest 3.6+ you can copy the contents directly into the clipboard by clicking on INI File Settings, Copy settings (ini file). You can view the contents in a text editor (typically Notepad) by clicking on INI File Settings, View settings (ini file).
  • You don’t need to know the actual ini file folder location unless the error closes the Imatest Command window. A typical English-language Windows Vista/7 location is C:Users\your name\AppData\Roaming. [ini files are located in %AppData%\Imatest, where %AppData% is a Command environment variable whose file name can be determined by entering dir “%AppData%” in a Command window.]
  • If you suspect a problem with the image (if some images run correctly and some don’t), attach it to the email (it’s OK to include it inline).

The Command (DOS) window

Imatest runs from a Command window (resembling a traditional DOS window) that normally stays minimized. When a run terminates unexpectedly or just stalls, the Command window may contain useful debugging information. To view or copy the Command window contents,

3.6+: View or copy the session directly from the Imatest window.

  • If the crash left the Imatest window open, click on File, View current session or File, Copy current session to copy it to the clipboard for pasting into an email to Support.
  • If the crash closed the Imatest window open, reopen Imatest, then click on File, View previous session or File, Copy previous session to copy it to the clipboard for pasting into an email to Support.

Pre-3.6: Procedure 1: Copy and paste text (simple, but a little tricky)

  • Click on the Imatest Command window icon in the taskbar (usually at the bottom of the screen).
  • Right-click inside the Command window, then click on Select All in the context menu.
  • Alternately, you can click on the icon on the upper-left of the window, click on Edit, click on Mark, then drag the cursor to select the text to copy.
  • Press Enter (or Return) on the keyboard. This is equivalent to Ctrl-C (Copy) in Windows (which doesn’t work in the Command window).
  • Paste the text into your e-mail using a standard Windows Paste command (Ctrl-V or Edit, Paste).
  • It’s OK to delete obviously irrelevant text before you send the e-mail.

Pre-3.6: Procedure 2: Copy and paste screen dump image (complex but reliable)

  • Click on the Imatest Command window icon in the taskbar (usually at the bottom of the screen).
  • Click Alt-PrtSc or Alt-PrintScreen, depending on the keyboard.
  • Paste the image (from the clipboard) into an image editor. In most image editors (for example, IrfanView, a great free utility ), click Edit, Paste or control-V.
  • Save the image as a GIF or PNG file (much smaller than TIFF or BMP and clearer than JPEG).
  • Attach the file to the e-mail (or include it inline).

Diagnostics runs

For Imatest errors that shut down the DOS window (this has become rare), or where extra diagnostic results may help in locating a problem,

  • Run Imatest from the Imatest folder (C:Program files\Imatest\Imatest in typical win32 English installations) by double-clicking Diagnostics (or diagnostics.bat). This keeps the DOS window open after Imatest terminates so you can view the error message.
  • E-mail the error message to Imatest support following the Error reporting instructions, above.

In some instances you can fix the problem by deleting imatest-v2.ini (or renaming it, which is better because you have a record). Instructions here.

Path conflicts when other versions of Matlab are installed

X The procedure entry point svDoubleSclarRemW could not be
located in the dynamic link library libmwservices.dll

If a different version of Matlab from the one used for Imatest (6.5.1) has been installed on your system, there is a tiny chance that you may experience a path conflict that causes a similar error message— or Imatest may simply fail to run. This rarely happens because the batch file that initiates Imatest sets the path. Path issues and solutions are discussed in the Imatest IT EXE instructions.

Bugs and all that

Pre-3.6: The following message appears several times in the DOS window when you try to save data.

Function ‘get_param’ is not implemented in standalone mode.

This has no effect on the saved images, and it’s rarely visible since the DOS window remains in the background. Matlab has described the problem, to be fixed in a future release, here.

More documentation

Instructions for individual Imatest modules can be found in the Imatest Documentation page.