Image Measurement and Analysis Lab

This is the home page of the scientific image analysis program IMAL (the Image Measurement and Analysis Lab).

New! version 4.0.7 released (Jul 03, 2024)

Imal (formerly tnimage) is a powerful open-source scientific image analysis program that allows you to create, edit, measure, and analyze images. It is particularly useful for densitometric analysis of images of SDS and agarose gels and X-ray or MRI images. It is also useful in forensic image analysis, with many tests to detect image manipulation.

Latest DOS version: 2.2.7
Latest Linux version: 4.0.7 (Debian recommended)
Installation instructions
Instructions for image forensic testing in imal

Tutorials

Tutorial for image deconvolution in Imal
Basic principles of image deconvolution: why you need it, what it does, and how to sharpen and de-alias images without losing detail

Tutorial on densitometry in imal
How to quantify bands and spots in Western blots, dot blots, and microscope images

Tutorial on image forensic testing in imal
How to analyze scientific images to detect image manipulation in the free open-source Imal software package

Imal manual in PDF format

Running Imal in Windows

Compiling Imal in OSX (from V. Guerreiro)

Description

Imal is primarily designed for image densitometry. It incorporates several unique and sophisticated algorithms that give demonstrably superior results to other software packages. Even poor quality images that cannot be analyzed with other software can often be successfully analyzed in imal.

Imal is also useful for astrophotography images and for general image analysis.

Imal is free to use and modify and is distributed under the GPL version 2.

Versions

Version 4.0.7 (June 27, 2024)
Many improvements with multiple image processing

Version 4.0.5 (December 19, 2023)
Added tagging dialog and ability to tag images by range (improvement for resizing or rotating multiple images, where the image number changes)

Version 4.0.4 (October 22, 2023)
Added encrypted privacy file format to provide security so that images are protected by password
Automatic opening and saving of AES-encrypted images
Improved handling of multiple image processing
Improved handling of tagged images and FFT spatial filtering
Histogram is now live
Removed custom file formats
Several bug fixes

Version 3.8.9 (Apr 02, 2023)
Improvements in automatic spot finding in densitometry
Fix for xwd image reading

Version 3.8.8 (Mar 18, 2023)
Improved interface for image convolution and deconvolution
Batch mode for FFT and Richardson-Lucy deconvlution

Version 3.8.7 (Mar 03, 2023)
Highlighting saturated pixels function added, accessible from main button panel or in config menu
Minor bug fixes
Minor compilation fixes for new changes in C++ compiler
Default image format for new images is now a configure option. This is useful when you use a macro command to create a large number of new images and save them in a single command. Previously if a default format was not set, they would all be saved as TIFF files.
R-L Deconvolution now also works in batch mode on groups of images.

Version 3.8.4 (Sep 20, 2022)
BioRad scn image format files from Chemidoc are now supported (so far read-only).

Version 3.8.3 (Aug 31, 2022)
Image forensic features added. See imal-image-forensics.html included in the tar.gz file for a summary.

Version 3.8.2 (Aug 16, 2022)
Minor bug fixes
Added feature to save all tagged images at once instead of individually
Added image forensic features to document image manipulation. This is still experimental and not intended for legal purposes. It is intended for educational use and as a complement to other widely used image forensic software. A unique feature of Imal is that it does not use “AI”!

Version 3.8.1 (Mar 20, 2022)
Fixed weird bug where statements like if(r==g){r=255;g=255;b=255} worked for r and b but not g in some images.
More functions now work with tagged images.
Other minor bug fixes.

Version 3.8.0 (Mar 04, 2022) Added ability to apply a command to all images or any combination of images (tagging). Tagging is done in the Select Image dialog box. If some images are tagged, commands are applied only to the tagged images. If no images are tagged, commands are applied to the currently selected image.

Version 3.7.18 (Mar 01, 2022) Inverse gamma function added. Gamma functions not marking image as touched; fixed. Paste sometimes requires two attempts; fixed.
Improved contrast adjustment Improved color aliasing in circles.

Version 3.7.17 (Dec 02, 2021) Fix bugs introduced by previous bugfix including Frame Controls and Foreground Pattern. Image selection dialog box was preventing image cropping; fixed. Bezier curve color change in three-panel Dialogue not working; fixed.

Version 3.7.15 (Oct 07, 2021) Minor bug fixes

Version 3.7.14 (Sep 21, 2021) Fixed calibration not displaying correctly when image is not at upper left corner. Improved window focus hierarchy in noncompliant window managers. Fixed bug in Force Background filter in 16 bit images. Fixed bug in image flipping when the image has not yet been touched.

Version 3.7.13 (Jul 06, 2021) Pixel subtract dialog box behavior changed. Potential bug in image rotations fixed.

Version 3.7.12 (Dec 18, 2020) Improved and simplified flat field function. It is now in the Mask menu. Minor bugfix in image rotation for 16- and 24-bit grayscale images.

Version 3.7.11 (Nov 26, 2020) Minor changes to accommodate window managers that mess up window hierarchy. Fixed grayscale image handling so it's no longer necessary to set the grayscale map. Now if you set the grayscale mapping, settings are preserved. Fixed display error when mouse was moved with scroll wheel instead of up/down buttons.

Version 3.7.10 (Sep 21, 2020) minor bugfixes to enable compilation in Debian 11.5.0. See below for notes if you want to try to compile it.

Version 3.7.9 (Jun 02, 2019) minor bugfixes to enable compilation in Debian 9.9. Minor bugfixes in image calibration dialog box and elsewhere.

Version 3.7.8 (Nov. 24, 2017) was a major bugfix release. The recommended distro to use is Debian 9.2.1 or later. This distro will save you the trouble of compiling Motif. See install.txt for details on compiling imal.

New in v.3.7.7: Richardson-Lucy deconvolution
NOTICE: As of version 3.6.0, new versions will be available in source code or partially static format only. Older precompiled versions are still available.

NOTICE: To compile imal, you need Motif. This is often included in Linux and called "motif" and "motif-devel". You also must have the development files for libstdc++, freetype2 (libXft), libXrender, libjpeg, libtiff, and libpng. All of these are included in most Linux distributions. LibXbae is used if present. It is needed for the optional image spreadsheet editor. The manual gives detailed instructions for compiling for various operating systems.

WARNING: We have discovered that some Linux distributions are now including a bogus version of libjpeg known as libjpeg.8.0.2. This version uses a completely different API and is not supported in Imal. Please use only the authentic Jpeg libraries from IJG. Imal will compile in all versions of IJG libjpeg up to at least jpeg-9.

Note: some window managers handle click events in a different way from others. If this happens, the crop function may not work. To change this, select "Config . . . Configure" and check the "Buggy Window Manager" box.

New: Richardson-Lucy deconvolution, complete FITS r/w file format, 48-bit image processing, vignetting correction, and two types of binning. Major improvements for astronomical image processing.

Composite image, 3d view in Imal
Composite image, 3D surface plot in Imal

Features:

Pre-compiled Linux versions for X11-Motif for Linux (Intel), SGI Irix, Mac OS X, Solaris, and ConvexOS are also available (Click below)

Grand Tour of Imal Features

     Visual Tour of Features

Screen shots

     Screen shot of Linux version of Imal
     Screen Shot of DOS version of Imal (old)

Imal downloads

Several versions are provided. Download the version appropriate for your operating system. The dynamically-linked version will work if you have Motif and your libraries are up to date and in standard locations. If you don't have Motif, or if the dynamically-linked "linux" version doesn't work, you can either install Motif yourself, or use the "nomotif" or "static" version. OpenMotif 2.2.3 is the recommended version to use. You will also need the OpenMotif developers package to compile imal.

Note: The static version is no longer available due to an unknown change that was made to gcc.

Note: Two dynamically-linked and no-motif versions are included: imal and imal64, for 32- and 64-bit x86 Linux systems, respectively.

NOTE The source code version is the only file guaranteed to be the latest version. As of April 2011, pre-compiled versions are created only on an intermittent basis.

Conditions of use: This software is distributed under the GPL version 2. As a condition of use, users are asked to report any problems they encounter with the software.

     Linux source code (Latest version)
     Precompiled version (Latest version, 64-bit, compiled on a Debian 11.5.0)

Older, pre-compiled versions

     Precompiled Linux version (old) (static)
     Precompiled Linux version (old)(dynamically linked for users without Motif; 32-bit and 64-bit versions)
     Static Linux version (old)(for x86 32-bit Linux)
     Static Linux version (old)(for x86 64-bit Linux)
     Source RPM (old)
     Precompiled Linux RPM (old)
     Precompiled OS X version (ver. 3.5.11, provided by Vitor Guerreiro)
     Precompiled OS X version (ver. 3.3.9)
     DOS version of Imal

Other software

Click here for other software

GFS-View GFS view is a Windows program for generating and displaying weather forecast maps from the National Centers for Environmental Protection (NCEP) GFS data.

Notes on compiling and running imal in Debian 11.5

1. Because each windowing system in Linux handles clicks in a different way, some features will not work properly in all window managers. What happens is the window manager grabs the focus away while you're selecting an area. This interferes with selecting non-rectangular areas and certain area selection functions in densitometry. Some window managers block focus in text boxes even among different applications, turning them into modal dialog boxes that prevent entering text in another window until they are closed. The lack of adherence to windowing standards in Linux is a big problem for us developers and it needs to be addressed. For now, the only solution is to avoid noncompliant window managers.

The non-recommended window managers below may or may not adhere to the standard, but they differ from the others. Future versions of imal will have a setting to switch from one type to the other. Here is a partial list of window managers known to work:

Recommended    Not recommended (at present)    Untested
Enlightenment XFCE KDE
Cinnamon Fluxbox
Gnome Windowmaker

2. Freetype2 headers are installed in a new location and might not be found by configure. It may be necessary to copy the freetype and freetype/config headers into /usr/local/include for the time being, e.g.:

su
cd /usr/include
cp -pruv /usr/include/freetype2/* .

3. Many required packages aren't installed in Debian by default. These include: Xpm, libxft2, libxft2-dev, libxmu-dev, libxmu-headers, libfl-dev, libfl2, libXpm-dev, libxpm4, libpng-dev, libtif-dev, liftiff5-dev, libjpeg-dev, libxbae4m, flex, bison, libfl-dev, libfl2, and libmotif-dev.

4. There seems to be a problem with bison nowadays. If you get an error saying that yylex is an undefined reference, for example:

/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/libfl.so:
undefined reference to `yylex'
collect2: error: ld returned 1 exit status
try removing -lfl from the makefile. If this doesn't work, recompile a new version of bison and configure it with an empty LEXLIB, i.e. type configure LEXLIB=.

Another option is to use libfl.a instead of libfl.so. To do this, remove the -lfl command in the makefile and add -Bstatic /usr/lib/x86_64-linux-gnu/libfl.a.

5. DO NOT run flex against the files in this package. If you do, the files it produces will need to be manually edited according to the comments in calculator.y.

6. Some distributions do not install libXbae correctly. This means the spreadsheet function will be disabled. To fix this, become root and type
cd /usr/lib/x86_64-linux-gnu
ln -s libXbae.so.4.0.60 libXbae.so
ldconfig
Xbae include files are also needed if you want to use the spreadsheet function.


Notes

If you get the message
imal: loadlocale.c:220: _nl_load_locale: Assertion `idx % __alignof__ (u_int32_t) == 0' failed.
Type the command: export LC_ALL=POSIX before starting Imal.


If you get the message
Warning: translation table syntax error: Unknown keysym name: osfActivate
Warning: String to TranslationTable conversion encountered errors

this is caused by an incompatibility between the X11 and Motif. This will prevent all Motif applications from displaying user-entered text and will eventually cause the program to crash. To fix the problem, become the superuser and copy XKeysymDB to its proper place:
su
cd /usr/share/X11
cp XKeysymDB /usr/X11R6/lib/X11


Feedback on usability issues, suggestions for new feature, errors in the documentation, and bug reports are welcome. Send reports to
name and address


Quick links

Software Documentation and Tutorials

Imal manual in PDF format
Imal manual in PostScript format
Manual for DOS version
Running Imal in Windows

Imal downloads - current version

Linux source code (Current version)
Precompiled version (Latest version, 64-bit, compiled on a Debian 11.5.0)

xdata downloads - current version

xdata scientific data analysis / statistics spreadsheet software for Linux (Xorg / Motif)
Linux source code (Current version)

Older, pre-compiled versions

Precompiled Linux version (dynamically linked; 32-bit and 64-bit versions)
Precompiled Linux version (dynamically linked for x86 64-bit Linux)
Precompiled Linux version (dynamically linked for users without Motif; 32-bit and 64-bit versions)
Source RPM
Precompiled Linux RPM
Static Linux version (for x86 32-bit Linux)
Static Linux version (for x86 64-bit Linux)
Precompiled OS X version (ver. 3.5.11)
DOS version of Imal