Version 3.10 released 31.03.10 ME 03.03.09 removed previously unlimited validity of licences sold before 01.02.06 - customer needs to buy a new licence 12.03.09 introduced image type IMAGE_CMPLX16 for some functions 16.03.09 functions copy() and set() now rely on calling function check_image_type() for handling of different image types 16.03.09 rot90r() now operates on all image types 16.03.09 rotate90l(), rotate180() now provide a return value (standard error code) 17.03.09 copy(): licence checking added (standard licence) 17.03.09 function mean() now works on IMAGE_GREY16 also 24.03.09 fill bytes allowed in bitmap file for fread_image() (sometimes images looked slanted) 26.03.09 rot90l(), rot90r(): rotate for 16 and 32 bit, and multi-component images added 26.03.09 lens_transform2() function added (lens aberration correction with simple lens model) 30.03.09 file geo.c added with a several geometric functions like angle between two lines, etc. 03.04.09 introduced I32 version of bestline() 03.04.09 added window clipping for line(), old line() renamed to line0() 03.04.09 new functions PL_line_stats() and PL_line_ending() added 07.04.09 fft functions added to extension library 21.04.09 subpixel edge functionality added for solar wafer library 21.04.09 democode for solar wafer library added 08.05.09 function StoreRGB_Centred() added (Bayer -> RGB) for same position of image and overlay 08.05.09 5x5 filters: 40% speed improvement for symmetric kernels like gauss_fir() 08.05.09 7x7 separable filter added (i.e. gauss_fir()) 08.05.09 edge(): small change when using gauss_fir() filter (see above) 08.05.09 20% speed-up 11.05.09 PL_line_statsF(), PL_line_bendingF() functions added 14.05.09 Bayer demosaicking: first line flicker removed 14.05.09 Bayer demosaicking: allow for function StoreYCBCR() (Bayer -> YCbCr) 19.05.09 ff5y() overflow avoided 19.05.09 edge(): speed improvements, some small bugs removed 26.06.09 cross() prevent funtion from drawing outside image area 30.06.09 functions Norm() and AngleP() added 06.07.09 function rlcmkbit() added to make rlc out of bitplanes 09.07.09 function hue_histo() and several others released for colorlib 09.07.09 function EmptyKeyboardBuffer() added 21.08.09 several functions for linescan camera like shading correction, fixed pattern noise removal, IIR vertical filter added to ExtensionLib. High-speed version on available on request 21.08.09 linescan.c: new demo program for linescan camera, shading correction and blob analysis 14.09.09 memory leak fixed in 7x7 gauss FIR filter 22.12.09 edge(): memory leak removed for type <= 1 22.12.09 rl_ftr3(): new function with float output for center of gravity 22.12.09 VCLIB.DOC small changes in doc for function rl_ftr2() 05.03.10 sgmt(): support for 4/8 labelling added Version 3.06 released 04.02.09 ME 23.06.08 fread_image(), image adjustment added when image variable is larger than file 14.07.08 lens_transform(): new function for lens distortion correction 19.08.08 bestcircle(), radius calculation now in 'double' - for small circles the radius was incorrect. This was due to bit cancellation when subtracting large and almost equal numbers (see tutorial about floating point numbers!) 26.08.08 HoughCircleTransform(): functions for Hough Circle Transform added 01.09.08 bug fix in function lu_det(). function did not compute determinant(A), but trace(A) instead 09.09.08 edge(), fixed image allocation problem for lp filter type <= 1 09.09.08 Hough Transform: fixed NULL pointer reference / write problem when list empty (no problem for VC4xx, but for VC2x) 30.09.08 float corrcheck(image *a, image *b), added function to calculate correlation coefficient for two small images 30.09.08 vc_corr3(), removed bug: ysum not initialized, additional accuracy like vc_corr2 01.10.08 copy(), support for IMAGE_GREY16 and IMAGE_GREY32 added 07.10.08 set(), support for IMAGE_GREY16 added Version 3.05 released 07.05.08 ME changes in FLIB: 11.01.08 FL_2x2_FOC_U8P_U8P: replacement for function focusf() from VCLIB 11.01.08 Microsoft Visual C++ 6.0 compiled FLIB version added (internal) 11.01.08 function flib/minmax/MAX_U16P.c added 15.01.08 BN_div.c: leftmost bit detection for non-TI CPUs added changes in VCLIB/EXTLIB/COLORLIB: 19.10.07 vclib.h: changed some macros for link error fix in contour.c 27.11.07 file maskframe.obj will now be included in vclib.lib instead of extlib.lib. When calling avg2(), the function tries to call the function mask_frame() which is not available for vclib-only users 11.01.08 Microsoft Visual C++ 6.0 compiled VCLIB version added (internal) 11.01.08 functions fread_image(), fwrite_image(): added functions to standard library for grey image storage (still color library licence required for color images) 11.01.08 chisto.c: some (small) changes in color_map() 11.01.08 VCLIB/DRAW/adcalc.c deleted, functions in FLIB 11.01.08 imsave.c: new demo added for bitmap image storage 11.01.08 sobelf, laplacef, minf, maxf functions now in FLIB 11.01.08 function focus(): internal replacement for function focusf(): FL_2x2_FOC_U8P_U8P() from FLIB 15.01.08 hough2.c (demo program): error handling added 15.01.08 hough transform / function FindHoughLine(): bug removed with list element overflow. In case of overflow, the function could loop endlessly without returning to calling function. 18.03.08 function vc_corr2(): internal accuracy improved for contrast threshold 18.03.08 function contrast(): formula corrected, accuracy improved with BITN multiprecision 18.03.08 Macros.h: changed DRAMDisplayMalloc() macro. Needs to be checked by Klaus Schneider and Support 15.04.08 new function: GetHoughPixels() for Hough Transform support (EXTLIB) Version 3.04 released 18.10.07 ME 15.11.06 error in fwrite_jpeg() removed, some changes for edge detection 09.01.07 hough transform / bestline option: preservation of normal vector sign from hough line parameters 10.01.07 fixed serious error in function BayerToGrey(): function could not be executed 11.01.07 new minMxN and maxMxN filter functions added 19.01.07 fwrite_image(), fwrite_image() now also support storage of image variables of type IMAGE_GREY 22.01.07 FindHoughLine(): serious bug removed, function sometimes dropped some lines 02.03.07 function vc_corr3(): tested and released 06.03.07 function ad_calc32() replaced by FL_adcalc_U8() (FLIB function) 16.03.07 fixed chprint() for VC44XX series cameras (different Flash Eprom address) 16.03.07 fwrite_image(), fwrite_image() now also support top-to-bottom bitmap image format 13.06.07 speed improvement in edge detection 26.06.07 bug fixed with mom_calc_ellipse_a() 26.06.07 function ColorBar(): return error types changed to standard error return 10.09.07 new function calc_rotation() added 10.09.07 VCRT licence checking: camera model VC4002L added 10.09.07 JPEG to DRAM function rd_dram(): program version without using old rpix() function 18.09.07 function init_color_lut() is now in VCRT 27.09.07 contour.c: added definition of functions wpix() and xorpix() otherwise linker errors occur when using contour8() 27.09.07 function display_chisto() bug fixed (internal bug number # 1.3) 27.09.07 whitebalance support for VC4065C added (is a VCRT function) Version 3.03 released 13.11.06 ME 27.09.06 bug fix for draw_line() 29.09.06 image types IMAGE_GREY16 and IMAGE_GREY32 now supported by ImageAllocate() 11.10.06 moments added to rlcbench.c 19.10.06 line() additional (small) error correction 30.10.06 display_directions(): removed flicker and speed-up 30.10.06 ff3(), ff5(), ff5a(): standard error code added 30.10.06 new function gauss_fir() 30.10.06 new function ChangeValue() to change the value of a variable for demo software 30.10.06 new function ReadKeyboard() to read character from keyboard AND/OR from stdin 30.10.06 ImageAllocate() now in standard lib (was in color lib) 30.10.06 new function mask_frame() that sets a frame with programmable size to a value 30.10.06 avg(): mask_frame() added to delete frame pixels; avg(), avg2() standard error output 30.10.06 print_image() type IMAGE_GREY32 support added 30.10.06 function set(): type IMAGE_GREY32 support added 30.10.06 rlc moments: ellipse half parameter calculation added (see extension lib doc) 30.10.06 edge detection added, see extension lib doc 30.10.06 hough transform added, see extension lib doc 02.11.06 sgmt() is now a macro. function sgmt() replaced by rlc_label() with additional functionality (see extension lib doc) 06.11.06 added new demo programs for edge detection (edge1.c) and hough transform (hough1.c, hough2.c) Version 3.02 released 23.08.06 ME 05.01.06 printout of color variables now possible with print_image() 06.02.06 released chi-square bestfit functions bestline(), draw_line(), best_circle(), draw_circle() 06.02.06 released new licensing scheme, user needs to call init_licence() with his licence key 16.03.06 bug in vc_corr2() fixed. compiler did not use the correct conversion function from long (I40) to float. used call of _fltlif() instead 16.03.06 some bugs in xshear() fixed 16.03.06 new error code -100 for vc_corr0 / 2 introduced (instead of -1) 16.03.06 changed name of program_ilut to program_ilut2065C, so it will not be confused with other versions of the same program 16.03.06 new error checking for image size violations, functions will return ERR_FORMAT 16.03.06 new function print_imgvar(image *a) 19.06.06 new matrix operations available in extension lib (like inverse matrix and determinant) 19.06.06 removed bug in removed bug in FL_REXC_U8P_U8P() affecting the function mirror_hor() 20.06.06 rlc_moments() did not release its memory, fixed 20.06.06 all pyramid() functions like pyr_max() etc. : now take dx2, dy2 from source img. of course only, if image fits in destination image 20.06.06 added correct prototype for function program_ilut2065C() 05.07.06 affine_image_transform(): problems with window clipping fixed (sometimes there were distorted lines in transformation result) 20.07.06 new 2x2 and 3x3 gradient functions with directional output (extension library) 20.07.06 non-maximum supression function for edge detection functions 20.07.06 added new image type: IMAGE_VECTOR 07.08.06 introduced new RLC error types 07.08.06 fread_image(): problem with pitch+dx corrected, occured when size of image variable was != size of image on file 07.08.06 function FL_3x3_f3f_U8P() (was f3f) now taken from FLIB (name change in VCLIB.H for macros necessary) 07.08.06 function FL_5x5_f5f_U8P() (was f5f) now taken from FLIB (name change in VCLIB.H for macros necessary) 07.08.06 function FL_5x5_f5f_U8P(): removed bug with negative coefficients 07.08.06 introduced new recursive filter function gauss() 07.08.06 FL_subf(), etc now taken from FLIB. 07.08.06 ImageAllocate(), copy(), print_image(): type=IMAGE_VECTOR added 07.08.06 problem with JPEG decode fixed, image quality was degraded 07.08.06 FL_sub2x() now used from FLIB 23.08.06 new functions get_component(), threepoint_calculate(), equalize() in extension library 23.08.06 new standard error types now available in vclib.h 23.08.06 speed-up and buffering for JPEG encoder: 20 msec @640x480 on VC4038 available in extension library only 23.08.06 copy() now copies only the minimum of (src.dx, dst.dx) and (src.dy, dst.dy) (was dst.dx / dst.dy before) - this might save some time for not copying undefined data 23.08.06 functions rlc_select() and rlc_delete() added (extension library) 23.08.06 new function display_directions() for display of IMAGE_VECTOR image using colored translucent overlay (false color display) 23.08.06 new library flib64.lib with C6400 compiled code (speed improvement for some functions) Version 2.xx (24.09.03 ME) changed definition of djpeg_b macro to #define djpeg_b(img) djpeg(img, 1L, (int (*)())rd_binary) was #define djpeg_b(img) djpeg(img, 0L, (int (*)())rd_binary) new definition gives correct return value = 1L when function terminates properly.