summaryrefslogtreecommitdiff
path: root/html/en/history.html
blob: 6cb8dd1e8bc94d2af73a8e35588ec346a486eb5b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>

<head>
<title>History</title>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../style.css">
</head>

<body>

<h2>History of Changes</h2>
<h3 dir="ltr">
    <a href="http://sourceforge.net/projects/imtoolkit/files/3.5/">Version 3.5</a> (02/Oct/2009)</h3>
    <ul>
        <li><span style="color: #0000FF">New:</span> functions <strong>
		imProcessUnsharp</strong> and <strong>imProcessSharp</strong>.</li>
		<li><span style="color: #0000FF">New:</span> function <strong>
		imImageGetOpenGLData</strong>.</li>
		<li><span style="color: #0000FF">New:</span> functions <strong>
		im.ConvertDataTypeNew</strong>, <strong>im.ConvertColorSpaceNew</strong> 
		and <strong>im.ConvertToBitmapNew</strong> in Lua.</li>
		<li><span style="color: #0000FF">New:</span> file attributes 
		&quot;FileFormat&quot;, &quot;FileCompression&quot; and &quot;FileImageCount&quot; when reading from 
		file. Available for all formats.</li>
		<li><span style="color: #0000FF">New:</span> ASCII compression for RAW 
		format to access text data instead of binary.</li>
		<li><span style="color: #008000">Changed:</span> libPNG updated to version 
	1.2.39. Removed changes to the library that made it incompatible with other 
		libPNG distributions.</li>
		<li><span style="color: #008000">Changed:</span> libLZF updated to 
		version 3.5.</li>
		<li><span style="color: #008000">Changed:</span> libJPEG updated to 
		version 7.</li>
		<li><span style="color: #008000">Changed:</span> libEXIF updated to version 0.6.17.<br>
		<span style="color: #008000">Changed:</span> libTIFF updated to version 
		3.9.1.</li>
		<li><span style="color: #008000">Changed:</span> library im_fftw3 to use 
		an external library.</li>
		<li><span style="color: #008000">Changed: <span
            style="color: #000000"> <strong>imImageCreateBased</strong> and
		<strong>imConvertColorSpace</strong> now also 
		consider the alpha plane.</span></span></li>
		<li><span style="color: #008000">Changed: </span><strong>imProcessPrune</strong> 
		renamed to <strong>imProcessRemoveByArea</strong>, and added a new 
		parameter to select inside or outside the interval.</li>
		<li><span style="color: #008000">Changed: </span>removed IM_UN_INC operation from <strong>imProcessUnArithmeticOp</strong>. 
		It was not an unary operation. Can simply be done in place by <strong>
		imProcessArithmeticOp</strong> and IM_BIN_ADD. </li>
		<li><span style="color: #008000">Changed: </span>now<strong> imProcessUnArithmeticOp</strong>,
		<strong>imProcessArithmeticConstOp</strong> and <strong>
		imProcessArithmeticOp</strong> willl crop the result to 0-255 if destiny 
		has data type byte.</li>
		<li><span style="color: #008000"><span style="color: #ff0000">Fixed:</span><span
            style="color: #000000"> PNG attribute TransparencyIndex. new PNG 
		attribute TransparencyMap. TransparentColor renamed to 
		TransparencyColor.</span></span></li>
		<li><span style="color: #008000"><span style="color: #ff0000">Fixed:</span><span
            style="color: #000000"> invalid convertion from MAP to GRAY when 
		loading <strong>imImages</strong>.</span></span></li>
		<li><span style="color: #008000"><span style="color: #ff0000">Fixed:</span><span
            style="color: #000000"> new image size computation of <strong>im.ProcessCropNew</strong>
            in Lua.</span></span>&nbsp;</li>
		<li><span style="color: #008000"><span style="color: #ff0000">Fixed:</span><span
            style="color: #000000"> loading of RAW data.</span></span></li>
		<li><span style="color: #008000"><span style="color: #ff0000">Fixed:</span><span
            style="color: #000000"> <strong>imImageClear</strong> to initialize 
		data just like <strong>imImageCreate</strong> does. </span></span></li>
		<li><span style="color: #008000"><span style="color: #ff0000">Fixed:</span><span
            style="color: #000000"> <strong>imImageReshape</strong> when the 
		image has an alpha plane. Image is not cleared anymore. </span></span></li>
		<li><span style="color: #008000"><span style="color: #ff0000">Fixed:</span><span
            style="color: #000000"> boolean parameters in <strong>
		file:ReadImageData, im.ConvertDataType, im.ConvertToBitmap, im.ProcessSplitComplex, 
		im.ProcessQuantizeRGBUniform, im.ProcessBitPlane, im.ProcessRotateRef, 
		im.ProcessRotate90, im.ProcessBinMorphConvolve, im.ProcessMergeComplex, 
		im.CalcHistogram, im.CalcGrayHistogram </strong>and <strong>
		im.AnalyzeFindRegions</strong> in Lua. Changed <strong>im.Capture*</strong> 
		functions to use boolean values in Lua.</span></span></li>
		<li><span style="color: #008000"><span style="color: #ff0000">Fixed:</span><span
            style="color: #000000"> RAW format initialization.</span></span></li>
    </ul>
    <h3 dir="ltr">
        <a href="http://sourceforge.net/projects/imtoolkit/files/3.4.2/">Version 3.4.2</a> (26/Jun/2009)</h3>
<ul>
	<li><span style="color: #008000">Changed:</span> 
  	removed &quot;lua5.1.so&quot; dependency in UNIX.</li>
	<li><span style="color: #FF0000">Fixed:</span> AVI format when reading 32 
	and 16 bpp frames.</li>
	<li><span style="color: #FF0000">Fixed:</span> xmin and ymin check in 
	im.ProcessCrop and in im.ProcessInsert in Lua.</li>
</ul>
<h3 dir="ltr"><a href="http://sourceforge.net/projects/imtoolkit/files/3.4.1/">Version 3.4.1</a> (15/Dec/2008)</h3>
<ul>
	<li><span style="color: #008000">Changed:</span> function <strong>
	imColorHSI_Smax</strong> removed from public, now it is used only 
	internally. HSI space now uses S already normalized between 0-Smax.</li>
	<li><span style="color: #FF0000">Fixed:</span> <strong>imColorHSI2RGB</strong> 
	conversion.</li>
	<li><span style="color: #FF0000">Fixed:</span> <strong>imConvertDataType</strong> 
	when converting a floating point to integer, there were rounding problems.</li>
	<li><span style="color: #FF0000">Fixed:</span> loading and saving two or more files of the same format at the same time.</li>
</ul>
<h3 dir="ltr"><a href="http://sourceforge.net/projects/imtoolkit/files/3.4/">Version 3.4</a> (14/Oct/2008)</h3>
<ul>
	<li><span style="color: #0000FF">New:</span> imlua_avi, imlua_wmv and imlua_jp2 libraries so the 
	respective formats can be dynamically loaded 
	using require.</li>
	<li><span style="color: #0000FF"><span style="color: #008000">Changed</span>:</span> 
	<strong>
  <span style="color: #FF0000">IMPORTANT</span></strong> - 
	the &quot;imlua_cd&quot; library moved from IM to CD under the name &quot;cdluaim&quot;.</li>
	<li><span style="color: #0000FF"><span style="color: #008000">Changed</span>:</span> 
	<strong>
  <span style="color: #FF0000">IMPORTANT</span></strong> - the support services 
	(Downloads, Mailing List and CVS) moved from LuaForge to SourceForge.</li>
	<li><span style="color: #008000">Changed:</span> All dll8 and dll9 DLLs now 
	have a Manifest file that specifies the correct MSVCR*.DLL.</li>
	<li><span style="color: #008000">Changed:</span> 
  	Makefiles for UNIX now uses a compact version of Tecmake that does not need 
	any installation, just type &quot;make&quot;.</li>
	<li><span style="color: #008000">Changed</span>: premake files are used now 
	only internally and were removed from the distribution.</li>
	<li><span style="color: #0000FF"><span style="color: #008000">Changed</span>:</span> 
	Copyright notice modified to reflect the registration at INPI (National 
	Institute of Intellectual Property in Brazil). License continues under the 
	same terms.</li>
	<li><span style="color: #FF0000">Fixed:</span> reviewed and fixed the parameter 
	checking of all IMLua processing functions. Also reviewed all IMLua 
	parameter checking. Thanks to Lucas Lorensi.</li>
	<li><span style="color: #FF0000">Fixed:</span> loading of TIFF format with 
	old JPEG compression.</li>
	<li><span style="color: #FF0000">Fixed:</span> loading and saving of PNM 
	format when data in textual format and gray values are greatter than 255.</li>
	<li><span style="color: #FF0000">Fixed:</span> Bicubic and Zero order 
	interpolation for all geometric operations for pixels near the image border 
	when increasing image size.</li>
	<li><span style="color: #FF0000">Fixed:</span> Lua samples.</li>
	<li><span style="color: #FF0000">Fixed:</span> ICON format in 64 bits Linux.</li>
</ul>
<h3 dir="ltr">Version 3.3 (26/Nov/2007)</h3>
<ul>
  <li><span style="color: #0000FF">New:</span> read support for ECW using the 
	ERMapper ECW JPEG 2000 SDK.</li>
  <li><span style="color: #008000">Changed:</span> libTIFF updated to version 
	3.8.2.</li>
  <li><span style="color: #008000">Changed:</span> libPNG updated to version 
	1.2.22.</li>
	<li><span style="color: #008000">Changed:</span> libJasper updated to 
	libGeoJasper 1.4.0 (using Jasper version 1.900.1). Better support for 
	counter progress, Geo tags and several speed improvements. New GeoTIFFBox 
	and XMLPacket attributes.</li>
	<li><span style="color: #008000">Changed:</span> renamed macro <b>imPutImage</b> 
  to <b>imcdCanvasPutImage</b>, and added canvas as the first parameter.  </li>
  <li><span style="color: #008000">Changed:</span> renamed 
  the <b>imImage</b> Lua 
  methods to <i><strong>image</strong></i><b>:cdCanvasPutImageRect</b>, <i>
	<strong>image</strong></i><b>:wdCanvasPutImageRect</b> 
  and <i><strong>image</strong></i><b>:cdCanvasGetImage</b>, and added canvas as the first parameter. Now <i>imlua_cd</i> 
  depends on <i>cdlua</i> from CD version 5.0.</li>
  <li><span style="color: #008000">Changed:</span> metatable names in Lua are 
  now the same as the C struct names.</li>
	<li><span style="color: #008000">Changed:</span> new read EXIF tags support 
	in TIFF format (no write support yet). Renamed attributes &quot;GeoTransMatrix&quot; 
	and &quot;IntergraphMatrix&quot;, to &quot;GeoTransformationMatrix&quot; and &quot;Intergraph 
	TransformationMatrix&quot; for libGeoTIFF compatibility. Better support for 
	known TIFF tags. New support for reading one band of a multiband gray image 
	in TIFF format. New support for DNG files.</li>
	<li><span style="color: #FF0000">Fixed:</span><strong> imConvertDataType</strong> 
	gamma function when converting real to/from integer.</li>
  <li><span style="color: #FF0000">Fixed:</span><strong> </strong>small error at 
  the image border when resampling, rotating or other geometric operations.</li>
	<li><span style="color: #FF0000">Fixed:</span><strong> </strong>
	<b>imProcessCanny</b> invalid division by zero when input image is all zero.</li>
	<li><span style="color: #FF0000">Fixed:</span><strong> </strong>
	<b>imFileReadImageInfo</b> when loading MAP images with a scrambled gray 
    palette. They were incorrectly converted to GREY.</li>
	<li><span style="color: #FF0000">Fixed:</span><strong> </strong>
	support for IM_ALPHA and 32 bpp in ICO format.</li>
	<li><span style="color: #FF0000">Fixed:</span><strong> </strong>
	number of lines returned in <b>imProcessHoughLinesDraw</b>.</li>
</ul>
<h3 dir="ltr">Version 3.2 (24/Nov/2006)</h3>
<ul>
  <li><span style="color: #0000FF">New:</span> <strong>imProcessRotateRef</strong> to rotate relative to a reference point.</li>
  <li><span style="color: #0000FF">New:</span> geometric distortion <strong>imProcessSwirl</strong>.</li>
  <li><span style="color: #0000FF">New:</span> <strong>imProcessInterlaceSplit</strong>.</li>
  <li><span style="color: #0000FF">New:</span> function <strong>imGaussianKernelSize2StdDev</strong>.</li>
  <li><span style="color: #0000FF">New:</span> convolutions <strong>imProcessBarlettConvolve</strong>, 
  <strong>imProcessPrewittConvolve</strong>, <strong>imProcessSplineEdgeConvolve</strong>, 
  <strong>imProcessConvolveDual</strong> and <strong>imProcessConvolveSep</strong>. </li>
  <li><span style="color: #0000FF">New:</span> &quot;im_kernel.h&quot; module with simple functions to create know pre-defined kernels like sobel, laplacian, gaussian, 
  etc.</li>
  <li><span style="color: #0000FF">New:</span> <strong>imVideoCaptureSetInOut</strong> to control input and output in capture devices.</li>
  <li><span style="color: #0000FF">New:</span> function <strong>imBinMemoryRelease</strong> to release internal memory allocated 
  by the BinMemory file when saving.</li>
  <li><span style="color: #0000FF">New:</span> functions for capture device information:
  <strong>imVideoCaptureDeviceExDesc</strong>, <strong>imVideoCaptureDevicePath</strong> and 
  <strong>imVideoCaptureDeviceVendorInfo</strong>.</li>
  <li><span style="color: #0000FF">New:</span> function <strong>imFileOpenAs</strong> 
  to open a file of a specific format.</li>
  <li><span style="color: #0000FF">New:</span> functions <strong>
  imFormatRegisterInternal</strong> and <strong>imFormatRemoveAll</strong> to 
  control format registration.</li>
  <li><span style="color: #008000">Changed:</span> <strong>imProcessGaussianConvolve</strong> to used separable convolution and now is stddev is negative will use its 
  magnitude as the kernel size. Removed Rep functions <strong>imProcessGaussianConvolveRep</strong>, 
  <strong>imProcessDiffOfGaussianConvolveRep</strong> and 
  <strong>imGaussianStdDev2Repetitions</strong>.</li>
  <li><span style="color: #008000">Changed:</span> <strong>imProcessBlend</strong> 
  to use an image instead of a constant. Old function renamed to <strong>
  imProcessBlendConst</strong>.</li>
  <li><span style="color: #008000">Changed:</span> <strong>imFileHandle</strong> prototype. Now the function has an index parameter to specify which handle it should return. 
  index=0 is always an imBinFile* handle. Use index=1 or greater to return other internal handles that are format 
  dependent.</li>
  <li><span style="color: #008000">Changed:</span> the Removed the include &quot;im.h&quot; 
  to not include &quot;im_lib.h&quot;. &quot;im_lib.h&quot; must be included when necessary.</li>
  <li><span style="color: #008000">Changed:</span> <strong>imAnalyzeMeasureArea</strong> and 
  <strong>imAnalyzeMeasurePerimeter</strong> prototypes to include the number of regions as a 
  parameter. Fixed: these functions to internally initialize the results array to zero (this was necessary and not 
  documented).</li>
  <li><span style="color: #008000">Changed:</span> <strong>imProcessFlip</strong> 
  and <strong>imProcessMirror</strong> so they can be done in-place.</li>
  <li><span style="color: #FF0000">Fixed:</span> missing implementation of
  <strong>imVideoCaptureOneFrame</strong> in Lua 5.</li>
  <li><span style="color: #FF0000">Fixed:</span> <strong>imAnalyzeFindRegions</strong> when pixel is at the width-1 column.</li>
  <li><span style="color: #FF0000">Fixed:</span> file format identification when
  <strong>TIFF</strong> identification failed was not closing the file.</li>
  <li><span style="color: #FF0000">Fixed:</span> <strong>imAnalyzeMeasurePerimeter</strong> when perimeter line is at the first or last lines. Thanks to Takeshi Mitsunaga.</li>
  <li><span style="color: #FF0000">Fixed:</span> invalid return value in <strong>imVideoCaptureConnect</strong> in Lua 5.</li>
  <li><span style="color: #FF0000">Fixed:</span> <strong>imProcessRotate</strong> for IM_MAP images.</li>
  <li><span style="color: #FF0000">Fixed:</span> <strong>Lua</strong> binding of 
  <strong>imFileImageSave</strong>, wrong parameters order. New: image:Save(filename, format) alias for imImage 
  objects.</li>
  <li><span style="color: #FF0000">Fixed:</span> <strong>BMP</strong> format implementation when reading and writing RGBA 32 bits images.</li>
  <li><span style="color: #FF0000">Fixed:</span> <strong>imFileLoadImageFrame</strong> and 
  <strong>imFileLoadBitmapFrame</strong> index parameter in Lua.</li>
  <li><span style="color: #FF0000">Fixed:</span> alpha channel allocation in imImage.</li>
</ul>
<h3>Version 3.1 (12/Dez/2005)</h3>
<ul>
  <li><span style="color: #0000FF">New:</span> Download, Discussion List, Submission of Bugs, Support Requests and Feature Requests, are now available thanks 
  to the LuaForge site.</li>
  <li><span style="color: #0000FF">New:</span> Binding for Lua 5</li>
  <li><span style="color: #0000FF">New:</span> support for alpha in imImage.</li>
  <li><span style="color: #0000FF">New:</span> organization of the documentation.</li>
  <li><span style="color: #0000FF">New:</span> in ICON format the TransparencyIndex is used to for IM_MAP images without an alpha 
  channel.</li>
  <li><span style="color: #0000FF">New:</span> video capture functions: <strong>imVideoCaptureFormatCount</strong>, 
  <strong>imVideoCaptureGetFormat</strong> 
  and <strong>imVideoCaptureSetFormat</strong>, to access the available capture video formats.</li>
  <li><span style="color: #0000FF">New:</span> functions <strong>imFileLoadImageFrame</strong> and 
  <strong>imFileLoadBitmapFrame</strong> to reuse the 
  image data when loading.</li>
  <li><span style="color: #0000FF">New:</span> function <strong>imFileImageSave</strong>.</li>
  <li><span style="color: #0000FF">New:</span> function <strong>imImageCreateBased</strong>.</li>
  <li><span style="color: #0000FF">New:</span> <strong>imProcessInsert</strong>.</li>
  <li><span style="color: #0000FF">New:</span> compression functions <strong>imCompressDataLZF</strong> and 
  <strong>imCompressDataUnLZF</strong>, using 
  libLZF.</li>
  <li><span style="color: #0000FF">New:</span> module for imBinFile, <strong>IM_FILEHANDLE</strong> that allows to access an already opened file using the 
  system file handle as file name. Thanks to Frederico Abraham.</li>
  <li><span style="color: #008000">Changed:</span> 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.</li>
  <li><span style="color: #008000">Changed:</span> the <strong>imAnalyzeFindRegions</strong> to include an additional parameter that control if regions 
  touching the border are computed or not. The function <strong>imProcessPrune</strong> now will only eliminate the 
  regions in the selected size range.</li>
  <li><span style="color: #008000">Changed:</span> third party libraries, updated to newest versions: libExif, libTIFF, libPNG and zlib. Added OLD JPEG 
  support in libTIFF.</li>
  <li>
  <span style="color: #008000">Changed:</span> optimization flags to ON when building the library in all platforms.</li>
  <li><span style="color: #008000">Changed:</span> <strong>imProcessPerimeterLine</strong>, 
  <strong>imAnalyzeMeasurePerimeter</strong>, 
  <strong>imAnalyzeMeasurePerimArea</strong>, <strong>imAnalyzeMeasureCentroid</strong> and
  <strong>imAnalyzeMeasurePrincipalAxis</strong> to consider pixels that touch the borders.</li>
  <li><span style="color: #008000">Changed:</span> macro name <strong>cdPutBitmap</strong> to 
  <strong>imPutBitmap</strong>.</li>
  <li><span style="color: #008000">Changed:</span> function names imImageLoad and 
  <strong>imImageLoadBitmap</strong>, to 
  <strong>imFileImageLoad</strong> and <strong>imFileImageLoadBitmap</strong>.</li>
  <li><span style="color: #FF0000">Fixed:</span> overflow in <strong>imCalcImageStatistics</strong> fo IM_INT and IM_USHORT images.</li>
  <li><span style="color: #FF0000">Fixed:</span> error management in system file I/O in 
  <strong>UNIX</strong>.</li>
  <li><span style="color: #FF0000">Fixed:</span> some small defines for 64-bits compatibility in libExif, libPNG and libJPEG.</li>
  <li><span style="color: #FF0000">Fixed:</span> incorrect interpretation of 16 bit data from 
  <strong>PNG</strong> files.</li>
  <li><span style="color: #FF0000">Fixed:</span> <strong>imFileReadImageInfo</strong> can be called many times with the same index that will return the 
  correct result without accessing the file again.</li>
  <li><span style="color: #FF0000">Fixed:</span> small bug in sample <strong>iupglcap</strong>.</li>
  <li><span style="color: #FF0000">Fixed:</span> <strong>TIFF</strong> format read for images with multiple bands in ExtraSamples.</li>
  <li><span style="color: #FF0000">Fixed:</span> <strong>ICON</strong> format can_sequence was 0.</li>
  <li><span style="color: #FF0000">Fixed:</span> <strong>imProcessMergeHSI</strong> and 
  <strong>imProcessSplitHSI</strong> documentation, and 
  implementation for <strong>IM_BYTE</strong> images.</li>
  <li><span style="color: #FF0000">Fixed:</span> <strong>imProcessRangeContrastThreshold</strong>, 
  <strong>imProcessLocalMaxThreshold</strong> and
  <strong>imProcessRankClosestConvolve</strong> when processing near the border.</li>
  <li><span style="color: #FF0000">Fixed:</span> invalid file permissions in UNIX when saving a new file.</li>
  <li><span style="color: #FF0000">Fixed:</span> name for <strong>imProcessLocalMaxThresEstimate</strong>.</li>
  <li><span style="color: #FF0000">Fixed:</span> <strong>imProcessReduceBy4</strong> for images with odd width and/or height.</li>
  <li><span style="color: #FF0000">Fixed:</span> <strong>imAttribTableSet</strong> when replacing an attribute (thanks to Takeshi Mitsunaga).</li>
  <li><span style="color: #FF0000">Fixed:</span> memory leaks in <strong>imConvertToBitmap</strong> and 
  <strong>imConvertDataType</strong> (thanks to 
  Takeshi Mitsunaga).</li>
  <li><span style="color: #FF0000">Fixed:</span> <strong>imProcessZeroCrossing</strong> for the last pixel column (thanks to Takeshi Mitsunaga). Also 
  fixed for some crossings that were lost.</li>
  <li><span style="color: #FF0000">Fixed:</span> <strong>imProcessGrayMorphConvolve</strong> for 
  <strong>IM_FLOAT</strong> images with 
  <strong>IM_FLOAT</strong> kernel (thanks to Takeshi Mitsunaga).</li>
</ul>
<h3>Version 3.0.3 (14/Oct/2004)</h3>
<ul>
  <li><span style="color: #0000FF">New:</span> Image Transform <strong>imProcessDistanceTransform</strong>.</li>
  <li><span style="color: #0000FF">New:</span> group of functions Image Analysis:
  <strong>imAnalyzeFindRegions</strong>, <strong>imAnalyzeMeasureArea</strong>,
  <strong>imAnalyzeMeasurePerimArea</strong>, <strong>imAnalyzeMeasureCentroid</strong>, 
  <strong>imAnalyzeMeasurePrincipalAxis</strong>, <strong>imAnalyzeMeasureHoles</strong>, imProcessPerimeterLine,
  <strong>imAnalyzeMeasurePerimeter</strong>, <strong>imProcessPrune</strong>, 
  <strong>imProcessFillHoles</strong>.</li>
  <li><span style="color: #0000FF">New:</span> <strong>imConvertMapToRGB</strong> to help loading data as RGB.</li>
  <li><span style="color: #0000FF">New:</span> sample iupglcap.</li>
  <li><span style="color: #0000FF">New:</span> <strong>imProcessRenderChessboard</strong> and 
  <strong>imProcessRenderGrid</strong>.</li>
  <li><span style="color: #008000">Changed:</span> <strong>imProcessThreshold</strong>, 
  <strong>imProcessRangeContrastThreshold</strong> and <strong>imProcessLocalMaxThreshold</strong> now also supports 
  <strong>IM_USHORT</strong> and <strong>IM_INT</strong> 
  data types. </li>
  <li><span style="color: #008000">Changed:</span> the default color conversion to binary 
  so it can be done for all color spaces.</li>
  <li><span style="color: #008000">Changed:</span> im_process.h to 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.</li>
  <li><span style="color: #008000">Changed:</span> 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.</li>
  <li><span style="color: #FF0000">Fixed:</span> file read with bitmap conversion when original data changes only data type. </li>
  <li><span style="color: #FF0000">Fixed:</span> rank convolution operations that did not accept even kernel sizes.</li>
  <li><span style="color: #FF0000">Fixed:</span> <strong>imProcessHoughLinesDraw</strong> that was ignoring some lines.</li>
</ul>
<h3>Version 3.0.2 (25/Aug/2004)</h3>

  <p>- <span style="color: #0000FF">New:</span> utility functions <b><b>imPaletteHighContrast</b></b>, <b>
  <b>imImageLoadImage</b></b> and <b>
  <b>imImageLoadBitmap</b></b>. <br>
  - <span style="color: #0000FF">New:</span> operation <b><b>imProcessNormalizeComponents</b></b>.<br>
  - <span style="color: #008000">Changed:</span> name <b><b>imProcessGaussianConvolve</b></b> to <b>
  <b>imProcessGaussianConvolveRep</b></b>. New: 
  operation <b><b>imProcessGaussianConvolve</b></b> that uses a float kernel. 
  New: utility functions <b>
  <b>imGaussianStdDev2Repetitions</b></b> and <b><b>imGaussianStdDev2KernelSize</b></b>.<br>
  - <span style="color: #008000">Changed:</span> name <b><b>imProcessDiffOfGaussianConvolve</b></b> to <b>
  <b>imProcessDiffOfGaussianConvolveRep</b></b>. 
  New: operation <b><b>imProcessDiffOfGaussianConvolve</b></b> that uses a float kernel. <br>
  - <span style="color: #008000">Changed:</span> <b>IM_GAMUT_BRIGHTCONT</b> 
  parameters to the interval [-100,100]. Fixed: <b>
  <b>IM_GAMUT_EXPAND</b></b> and <b><b>IM_GAMUT_BRIGHTCONT</b></b> normalization.<br>
  - <span style="color: #008000">Changed:</span> logical operations, flag <b> <b>IM_BIT_NOT </b>
  </b>replaced by operation <b><b>imProcessBitwiseNot</b></b>.<br>
  - <span style="color: #008000">Changed:</span> <b>imImageSetAttribute</b> count can be -1 for zero terminated data.<br>
  - <span style="color: #FF0000">Fixed:</span> operations <b><b>imProcessBitwiseNot</b></b> and <b>
  <b>imProcessNegative</b></b> for <b><b>IM_BINARY</b></b> images.<br>
  - <span style="color: #FF0000">Fixed:</span> the <b><b>color_mode_flags</b></b> parameter interpretation by <b>
  <b>imFileReadImageData</b></b>.
  <br>
  - <span style="color: #FF0000">Fixed:</span> <b>imProcessEqualizeHistogram</b> and <b>
  <b>imProcessExpandHistogram</b></b> for 
  color images. <br>
  - <span style="color: #FF0000">Fixed:</span> <b>imProcessMultipleStdDev</b>.<br>
  - <span style="color: #FF0000">Fixed:</span> <b>imProcessDifusionErrThreshold</b> for <b>
  <b>IM_GRAY</b></b> images.<br>
  - <span style="color: #FF0000">Fixed:</span> &quot;<b><b>KRN</b></b>&quot; format, internal format is topdown.<br>
  - <span style="color: #FF0000">Fixed:</span> initialization of TGA image_count.</p>

<h3>Version 3.0.1 (22/Apr/2004)</h3>

  <p>- Improved compatibility with the old version, it was missing the load of Map images with <b>
  <b>imLoadRGB</b></b>.<br>
  - 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 &quot;#ifdef&quot; for FFTW version 2 and 3. The FFT functions also were renamed to remove the &quot;W&quot; that 
  belongs only to the FFTW library.<br>
  - The <b><b>SetAttribute</b></b> functions now accept NULL in data to remove the attribute.<br>
  - New: <b><b>imProcessCrossCorrelation</b></b> and <b><b>imProcessAutoCorrelation</b></b> functions.<br>
  - The <b><b>imCalcGrayHistogram</b></b> function now can calculate the histogram of <b>
  <b>IM_MAP</b></b> 
  and <b><b>IM_BINARY</b></b> images.</p>

<h3>Version 3.0 (April 2004)</h3>

  <p>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.</p>

<h3>Version 2.6 (May 2002)</h3>

  <p>Correction of bug in resolution reading and writing for format JPEG.</p>

<h3>Version 2.5 (August 2001)</h3>

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

<h3>Version 2.4 (February 2000)</h3>

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

<h3>Version 2.3 (June 1998)</h3>

  <p>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.</p>

<h3>Version 2.2 (November 1997)</h3>

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

<h3>Version 2.1 (October 1997)</h3>

  <p>Correction of a problem with internal memory liberation when reading Map images in TIFF files. Conversion <b>RGB to 
  Map</b> is now made using the algorithm implemented by LibJPEG. The algorithm of <strong>imResize</strong> was 
  improved for cases in which the size is being reduced instead of increased. Correction of a problem with functions
  <strong>imImageInfo</strong> and <strong>imFileFormat</strong>: 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.</p>

<h3>Version 2.0 (September 1997)</h3>

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

<h3>Version 1.1 (June 1996)</h3>

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

<h3>Version 1.0 (October 1995)</h3>

</body>

</html>