IM - An Imaging Tool

History


Version 3.1 (12 Dez 2005)

  • New Download, Discussion List, Submission of Bugs, Support Requests and Feature Requests, are now available thanks to the LuaForge site.
  • New Binding for Lua 5
  • New support for alpha in imImage.
  • New organization of the documentation.
  • New in ICON format the TransparencyIndex is used to for IM_MAP images without an alpha channel.
  • New video capture functions: imVideoCaptureFormatCount, imVideoCaptureGetFormat and imVideoCaptureSetFormat, to access the available capture video formats.
  • New functions imFileLoadImageFrame and imFileLoadBitmapFrame to reuse the image data when loading.
  • New function imFileImageSave.
  • New function imImageCreateBased.
  • New imProcessInsert.
  • New compression functions imCompressDataLZF and imCompressDataUnLZF, using libLZF.
  • New module for imBinFile, IM_FILEHANDLE that allows to access an already opened file using the system file handle as file name. Thanks to Frederico Abraham.
  • Changed in JPEG file format YcbCr are now automatically converted to RGB when loaded. RGB images were already automatically converted to YCbCr when saved. Now this behavior can be controlled by the AutoYCbCr attribute.
  • Changed the imAnalyzeFindRegions to include an additional parameter that control if regions touching the border are computed or not. The function imProcessPrune now will only eliminate the regions in the selected size range.
  • Changed third party libraries, updated to newest versions: libExif, libTIFF, libPNG and zlib. Added OLD JPEG support in libTIFF.
  • Changed optimization flags to ON when building the library in all platforms.

  • Changed imProcessPerimeterLine, imAnalyzeMeasurePerimeter, imAnalyzeMeasurePerimArea, imAnalyzeMeasureCentroid and imAnalyzeMeasurePrincipalAxis to consider pixels that touch the borders.
  • Changed macro name cdPutBitmap to imPutBitmap.
  • Changed function names imImageLoad and imImageLoadBitmap, to imFileImageLoad and imFileImageLoadBitmap.
  • Fixed overflow in imCalcImageStatistics fo IM_INT and IM_USHORT images.
  • Fixed error management in system file I/O in UNIX.
  • Fixed some small defines for 64-bits compatibility in libExif, libPNG and libJPEG.
  • Fixed incorrect interpretation of 16 bit data from PNG files.
  • Fixed imFileReadImageInfo can be called many times with the same index that will return the correct result without accessing the file again.
  • Fixed small bug in sample iupglcap.
  • Fixed bug in TIFF format read for images with multiple bands in ExtraSamples.
  • Fixed ICON format can_sequence was 0.
  • Fixed imProcessMergeHSI and imProcessSplitHSI documentation, and implementation for IM_BYTE images.
  • Fixed imProcessRangeContrastThreshold, imProcessLocalMaxThreshold and imProcessRankClosestConvolve when processing near the border.
  • Fixed invalid file permissions in UNIX when saving a new file.
  • Fixed name for imProcessLocalMaxThresEstimate.
  • Fixed imProcessReduceBy4 for images with odd width and/or height.
  • Fixed imAttribTableSet when replacing an attribute (thanks to Takeshi Mitsunaga).
  • Fixed memory leaks in imConvertToBitmap and imConvertDataType (thanks to Takeshi Mitsunaga).
  • Fixed imProcessZeroCrossing for the last pixel column (thanks to Takeshi Mitsunaga). Also fixed for some crossings that were lost.
  • Fixed imProcessGrayMorphConvolve for IM_FLOAT images with IM_FLOAT kernel (thanks to Takeshi Mitsunaga).

Version 3.0.3 (14 Oct 2004)

  • Improved C API of imAttribTable. New utility class imAttribArray.
  • Fixed file read with bitmap conversion when original data changes only data type.
  • Improved imProcessThreshold, imProcessRangeContrastThreshold and imProcessLocalMaxThreshold now also supports IM_USHORT and IM_INT data types.
  • Rank convolution operations did not accept even kernel sizes.
  • New group of functions Image Analysis: imAnalyzeFindRegions, imAnalyzeMeasureArea, imAnalyzeMeasurePerimArea, imAnalyzeMeasureCentroid, imAnalyzeMeasurePrincipalAxis, imAnalyzeMeasureHoles, imProcessPerimeterLine, imAnalyzeMeasurePerimeter, imProcessPrune, imProcessFillHoles.
  • New Image Transform imProcessDistanceTransform.
  • The default color conversion to binary now can be done for all color spaces.
  • Fixed bug in imProcessHoughLinesDraw that was ignoring some lines.
  • New imConvertMapToRGB to help loading data as RGB.
  • New sample iupglcap.
  • im_process.h was split into 4 files: im_process_pont.h, im_process_loc.h, im_process_glo.h, im_process_ana.h. But it still exists and includes the new files for compatibility.
  • New imProcessRenderChessboard and imProcessRenderGrid.
  • Improved the border extensions in several types of convolution. Rank convolution do not extend the borders. Binary morphology use zero extension. Gray morphology do not extend the borders.

Version 3.0.2 (25 Aug 2004)

- New utility functions imPaletteHighContrast, imImageLoadImage and imImageLoadBitmap.
- New operation imProcessNormalizeComponents.
- Changed name imProcessGaussianConvolve to imProcessGaussianConvolveRep. New operation imProcessGaussianConvolve that uses a float kernel. New utility functions imGaussianStdDev2Repetitions and imGaussianStdDev2KernelSize.
- Changed name imProcessDiffOfGaussianConvolve to imProcessDiffOfGaussianConvolveRep. New operation imProcessDiffOfGaussianConvolve that uses a float kernel.
- Changed IM_GAMUT_BRIGHTCONT parameters to the interval [-100,100]. Fixed IM_GAMUT_EXPAND and IM_GAMUT_BRIGHTCONT normalization.
- Removed logical operation flag IM_BIT_NOT. Replaced by operation imProcessBitwiseNot.
- Improved in imImageSetAttribute count can be -1 for zero terminated data.
- Fixed operations imProcessBitwiseNot and imProcessNegative for IM_BINARY images.
- Fixed bug in the color_mode_flags parameter interpretation by imFileReadImageData.
- Fixed bug in imProcessEqualizeHistogram and imProcessExpandHistogram for color images.
- Fixed bug in imProcessMultipleStdDev.
- Fixed bug in imProcessDifusionErrThreshold for IM_GRAY images.
- Fixed bug in "KRN" format, internal format is topdown.
- Fixed bug in initialization of TGA image_count.

Version 3.0.1 (22 Apr 2004)

- Improved compatibility with the old version, it was missing the load of Map images with imLoadRGB.
- The FFTW code was from version 2.1.3, not from 2.1.5 as suposed, it was updated. The FFT functions were condensed in only one file with an "#ifdef" for FFTW version 2 and 3. The FFT functions also were renamed to remove the "W" that belongs only to the FFTW library.
- The SetAttribute functions now accept NULL in data to remove the attribute.
- New imProcessCrossCorrelation and imProcessAutoCorrelation functions.
- The imCalcGrayHistogram function now can calculate the histogram of IM_MAP and IM_BINARY images.

Version 3.0 (April 2004)

A major rewrite of the library. Everything changed, check the manual, but backward compatibility is kept for old applications. A new API more flexible, new formats, support for attributes and video, image capture and image processing. New color spaces and data types. The library now got a professional look for scientific applications.

Version 2.6 (May 2002)

Correction of bug in resolution reading and writing for format JPEG.

Version 2.5 (August 2001)

Correction of bug in the default GIF compression. Two new callbacks: transparency color index for GIF files and image description for TIFF files.

Version 2.4 (February 2000)

Change in the treatment of LZW compression in formats TIFF and GIF. Now compression is no longer the default.

Version 2.3 (June 1998)

Close function of the access driver for files in memory corrected. JPEG library updated to 6b. Correction of a problem with the reading of some JPEG files.

Version 2.2 (November 1997)

The definition of the counter callback was changed to inform, in a parameter, the type of access being performed, either reading or writing. Type imCallback defined to make type casting easier when using function imRegisterCallback. Correction of a problem with the makefile in UNIX, which was generating link errors in some platforms.

Version 2.1 (October 1997)

Correction of a problem with internal memory liberation when reading Map images in TIFF files. Conversion RGB to Map is now made using the algorithm implemented by LibJPEG. The algorithm of imResize was improved for cases in which the size is being reduced instead of increased. Correction of a problem with functions imImageInfo and imFileFormat: when the provided file was not in a format recognized by IM, there was an error in format TGA which caused these functions to access an invalid memory area.

Version 2.0 (September 1997)

The library was virtually rewritten to implement a new structure which allowed greater flexibility, simplifying the addition of new formats. Formats TGA, PCL, JPEG and LED were added to the list of supported formats, and new functions were added: imMap2RGB, imRGB2Gray, imMap2Gray, imResize, imStretch.

Version 1.1 (June 1996)

Small corrections to increase portability. Changes in return codes. Identifiers were created to return codes and predefined parameters. Online manual concluded.

Version 1.0 (October 1995)