Você está na página 1de 10

SIP - Scilab Image Processing Toolbox

Copyright (C) 2002-2009 Ricardo Fabbri


__________________________________________________________________

0.4.1
+ All help pages were converted to the new DocBook format
+ imfinfo now exits gracefully when input image is not available (thx to
Dean
Messing for reporting)
+ Improved linking with newer Image Magick
0.4.0 Major new features!
This list highlights the main changes from 0.3.1 to 0.4.0. Read the
previous changelogs for minor improvements and details.
+ Compiles with Scilab <= 5.1
+ Translated most help files to Scilab 5. Help us translate more!
+ new DCT function by Angus Errington
+ new features in interferometry_gui by jocelyn
+ NEW hsv2rgb and rgb2hsv functions to convert between RGB images
and HSV (Hue Saturation Intensity) images.
+ NEW radon and iradon functions
+ NEW sip_set_verbose, sip_quiet and sip_wordy functions to adjust
the messaging level issued by sip routines. For instance, this
may be used to stop imread and mogrify from issuing verbose
messages.
+ NEW sip_setenv to set environment variables.
+ imvariance is now coded in C for efficiency
+ unwrapl and unwrapp functions are now coded in C. unwrapl now
returns the unwrapped_phase and the phase_jumps.
+ NEW rgbplot function to plot the RGB components of a colormap
+ NEW sip_colormap function
+ FIX to imread: when you read a non-indexed image (such as
truecolor or binary) with two output parameters, imread crashed
scilab in some cases. This is now fixed. (thx to )
+ FIX regarding truecolor images in imwrite, imread and mogrify
functions, by using scilab's new hypermatrix structure.
+ imwrite now supports the "depth" optional argument to set image
depth. It defaults to 16bpp, but one can now set it to 8bpp.
+ Help files moved to XML/HTML format and were totally revised;
+ CVS repository at Source Forge started by Angus Errington
+ GANDALF is NOT needed anymore for the a source build
+ Animal 0.15.0 or later is required for a source build
+ Virtually any version of ImageMagick is now supported for
compiling from source (all versions from current 6.5.x down to 5.4.2)
+ New beta installer for Windows by Zhang Cheng
+ Both sabcmd and xsltproc are supported to build the help pages;
SIP will use whichever is available.
+ Meijster's exact Euclidean distance tranform algorithm included in bwdist.
It is faster than all the others in most cases.
+ Fixed bug in erode
+ NEW preliminary imxprofile, wich has some improvements to
improfile but is not fully functional.
+ INCOMPATIBLE: function angle changed to "getangle"
+ Many other bugfixes and minor improvements
Main Developers: Ricardo Fabbri, Zhang Cheng, and Jocelyn Druel.
Special Thanks to: Sandro da Silva, Leandro Estrozi, Edson
Nakamura, Dean Messing, Enrico Segre, Torsten Werner
0.4.0 RC5
+ 20070831 Added backward support for ImageMagick 6.2.4
+ Mogrify now works with ImageMagick 6.3.3
+ Meijster's exact Euclidean distance tranform algorithm included in bwdist.
It is faster than all the others in most cases.
+ New beta installer for Windows by Zhang Cheng
+ Fixed bug in erode
0.4.0 RC2
+ Fix to poledetection.xml help page

0.4.0 RC1
+ FIXED small syntax error in imroi.sci
+ Binaries are available
20040710-2
+ fixed small bug where the file "builder.sce" was not included
(thx. Torsten)

20040710
+ NEW hsv2rgb and rgb2hsv functions to convert between RGB images
to HSV colorspace images. It also works for colormaps. (thx.
Sandro da Silva)
+ NEW radon and iradon functions (by Leandro Estrozi)
+ FIX regarding truecolor images in imwrite, imread and mogrify
functions, by using scilab's new hypermatrix structure.
+ NEW sip_set_verbose, sip_quiet and sip_wordy functions to adjust
the messaging level issued by sip routines. For instance, this
may be used to stop imread and mogrify from issuing verbose
messages, which are very annoying when these functions are used
inside loops.
+ NEW sip_setenv to set environment variables.
+ unwrapl and unwrapp functions are now coded in C (by Jocelyn
Druel). unwrapl now returns the unwrapped_phase and the
phase_jumps to be consistent with the unwrapp function.
+ INCOMPATIBLE: improvements to imxprofile, new parameters
+ NEW threshold parameter for unwrapp
+ improvements to the interferometry GUI - Gamma correction on
colormaps, use of imxprofile instead of improfile, and more.
+ INCOMPATIBLE: function angle changed to "getangle" because
"angle" is too simple and often conflicts with user variables.
+ dummy builder.sce file so that Scilab includes SIP in the
toolboxes menu (thx. Enrico Segre).
+ many fixes and improvements to help pages
20040527-2
+ the new help pages weren't loadable in scilab 2.7, only in
scilab 3.0 RC1. It now works with both versions.
20040527
+ GANDALF IS NOT NEEDED ANYMORE; this dependency gave
way too much trouble for nothing; it is too hard to build and
yet we use just a small part of it. We also started to merge
Gandalf into Animal.
+ Animal 0.13.0 or later is REQUIRED
20040523 Important improvements to the build process
+ ImageMagick 6 is now supported (in addition to older versions
down to 5.4.2), although there is a BUG in ImageMagick 6 that makes
some images not to be read. The support for older versions is now
very robust, as we added many feature checks in the configure script
+ imwrite now supports the "depth" optional argument to set image
depth. It defaults to 16bpp, but one can now set it to 8bpp.
+ both sabcmd and xsltproc are supported to build the help pages;
SIP will use whichever is available.
+ using up-to-date libtool 1.5.6, autoconf 2.59, and automake 1.8.5
20040520
+ bugfix to imread: when you read a non-indexed image (such as
truecolor or binary) with two output parameters, imread crashed
scilab in some cases. This is now fixed. (thx to D. Messing)
+ new rgbplot function to plot the RGB components of a colormap
+ imvariance is now coded in C for efficiency
+ new preliminary imxprofile, wich has some improvements to
improfile but is not fully functional.
+ Thx to J. Druel for the last 3 items above.
20040428
+ Help files in XML format were all totally revised
+ new sip_colormap function (wasn't included before by mistake)
+ bwdist returns undefined image and a warning in case the input
has every pixel different than 0.
+ Scilab scripts are now installed w/o exec perms (thx Torsten)
+ Sources ".sci" corresponding to ".bin" files are now installed
+ Enhanced example for gsm (1D Gaussian Smoothing)
20040320 Changes to the help system only
+ some help files (e.g. mogrify.xml) now have all the sections;
+ we now use our own XSL and DTD for the help files
+ configure now requires xsltproc program
+ old man files being distributed so people can match to the
new XML files and fix them to include the now-supported sections.
20040314
+ help files moved to XML format; there are still some features
missing, such as REMARKS and some other manual sections.
0.3.1
+ watershed - fixed an error in the interface between Scilab
+ imshow - in the double-buffered mode xset('pixmap',1),
the user doesn't need to issue xset('wshow'); imshow does it.
+ Demos are faster: use double-buffering to show images; affects
introductory demo and mogrify demo.
0.3.0 Major new features!
This list highlights the main changes from 0.2.0 to 0.3.0. Read the
previous changelogs for minor improvements and details.
+ NEW bwlabel function to label connected components in a binary image.
+ NEW watershed function, for image segmentation. It accepts
markers. There is a nice example in the help page, showing how
to separate overlying objects in a binary image.
+ NEW bwdist function with very fast euclidean distance transform
algorithms: Olivier Cuisenaire's algorithm (CVIU 1999) and Calvin Maurer's
algorithm (PAMI 2003). Probably the fastest exact methods anywhere.
There is also a nice example in the help page for "bwdist".
+ NEW imroi function to define ROI's (Regions of Interest) using
the mouse. Rectangle and ellipse selections are supported.
+ NEW imnoise function, to generate a few types of noise, such as
gaussian white noise, salt & pepper, and more.
+ NEW thin function (Zhang-Suen thinning)
+ sipdemo is now called by "exec(SIPDEMO)"
+ INCOMPATIBLE: Double-precision Images are now normalized like M4t1ab:
TYPE OF IMAGE SIZE VALUE RANGE
Grayscale images 2D 0-1
Truecolor images 3D (RGB) 0-1
Paletted images, index 2D 1-NC (Number of Colors)
Paletted images, colormap NCx3 0-1
This has many advantages. For instance, imwrite and imshow doesn't require
normalization to obscure values such as 255 or 65535.
+ NEW GUI demo, mainly for interferometry images
+ NEW mogrify demo
+ mogrify now supports color images, and has a roubust error treatment.
All operations such as rotation, zoom, and color segmentation
are now working for these images. There is a nice example in the help page.
+ INCOMPATIBLE: mogrify's drawing commands and many other
functionalities are now working. An INCOMPATIBLE improvement
has been made so more complex operations are now possible.
For example, to rotate an image:
BEFORE: mogrify(image, '-rotate 60'); // WRONG
NOW : mogrify(image, ['-rotate', '60']); // CORRECT
The advantage is that you can now do this:
mogrify(image, ['+antialias'; '-draw'; 'ellipse 50,50 30,30 0,360']);
For one argument without parameter, nothing has changed:
mogrify(image, '-equalize'); // histogram equalization
+ INCOMPATIBLE: drawline function has been changed & fixed.
It was previously broken. Thx to Marconi for reporting.
+ INCOMPATIBLE: improfile changed
+ INCOMPATIBLE: fftshift was renamed to sip_fftshift, because
Scilab CVS now provides an fftshift.
+ NEW mkfftfilter function to provide frequency-domain filter kernels.
+ NEW ind2rgb function to convert indexed images to direct RGB
hypermatrix storage.
+ NEW gray_imread function, to read every image as grayscale
+ NEW perim function, to compute the perimeter of a shape
+ NEW imvariance - image local variance
+ NEW pifilter - denoises an image without affecting abrupt variations.
+ NEW imphase - phase calculation (useful for interferometry)
+ NEW unwrapp - phase unwrapping by path following, used in
interferometry/photonics
+ NEW poledetection function to detect residues in wrapped phased
images.
+ NEW SIP manual by Jocelyn Druel:
http://genie-optique.chez.tiscali.fr/SIP
+ FIXED memleaks in various C functions (thx. to Linder). Corrected
functions are: imread, bwlabel, thin, skel, bwdist, drawline, mogrify
+ FIXED bug in minmax function
+ imshow is faster for truecolor images, because it now uses less colors.
+ im2gray is now much faster
+ Error messages are now more descriptive in imread, imwrite, imfinfo
and mogrify.
+ Many other bugfixes and minor improvements
+ Depends on: Animal 0.10.4 (or later required), ImageMagick 5.5.7
(recommended), and Gandalf library 1.3.2 (recommended).
20040201
+ INCOMPATIBLE IMPROVEMENT: all arguments to mogrify are now working!
But now mogrify's "argv" argument now a string vector for options
with parameters. For example, suppose "image" is a scilab array:
BEFORE: mogrify(image, '-rotate 60'); // WRONG
NOW : mogrify(image, ['-rotate', '60']); // CORRECT
This way, options like "draw" and many others are now working!!
An example:
mogrify(image, ['+antialias'; '-draw'; 'ellipse 50,50 30,30 0,360']);
this, of course, equalizes the image and draws an ellipse, all in one
command and all done in memory. If only one string is present you may
type as before:
mogrify(image, '-equalize'); // histogram equalization
+ Error treatment in mogrify is now robust and descriptive. In previous
versions, mogrify didn't report errors if the parameters were wrong.
+ Error messages are now more descriptive in imread, imwrite, imfinfo
and mogrify.
+ This release was tested with ImageMagick 5.5.7 and Animal 0.10.1
20040130
+ mogrify working w/ truecolor and paletted images!
+ im2gray now converts indexed images to a 0-255 Grayscale img,
so that a simple imshow without normalization will work.
+ imshow for truecolor imgs has now an optional parameter to set the
number of levels of sampling to use for color reduction before plotting.
And, by default, the number of levels is 9 levels per channel (which gives
9^3 = 729 colors), and is much faster to display in Scilab. BTW, scilab has
only a limited number of colors and is slow for setting colormaps.
20040127
+ New extremely fast euclidean distance tranform algorithms were added to
bwdist: Olivier Cuisenaire's algorithm (CVIU 1999) and Calvin Maurer's
algorithm (PAMI 2003). These seem to be the fastest exact methods available!
There is also a nice example in the help page for "bwdist".
+ bwdist no
+ Works with Animal 0.10.1
20040115
+ Fixed memleaks in various C functions (thx. to Linder). Corrected
functions are: imread, bwlabel, thin, skel, bwdist, drawline, mogrify
+ Fixed severe memleaks in bwdist. (thx. to Linder)
+ Fixed Bug in imshow regarding to indexed images (thx. Marconi).
As a side effect, this fixes a bug in SIP's introductory demo.
+ New ellipse selection in function imroi. (thx. to Jocelyn).
+ New ind2rgb function to convert indexed images to direct RGB
hypermatrix storage.
+ New poledetection function to detect residues in wrapped phased
images.
+ Many other bugfixes and minor improvements
20031219
+ New bwlabel function to label connected components in a binary
image. It is coded in C for efficiency.
* Contributions by Jocelyn Druel:
+ New pifilter function that denoises an image without affecting
abrupt variations.
+ New imroi function to define ROI's (Regions of Interest) using
the mouse. Until now only rectangular regions are supported.
+ INCOMPATIBILITY: fftshift was renamed to sip_fftshift, because
Scilab CVS now provides an fftshift.

20031216
+ Minor fixes
20031212
+ The building procedure was updated with the trio autoconf
2.58, automake 1.8 and libtool 1.5
20031126
+ watershed with markers wasn't working. Fixed.

20030923
+ fixed a bug in bwdist (Lotufo-Zampirolli EDT implementation)
regarding a mysterious black line on the top of the image.
+ started an imcorrcoef template matching function.
Don't use it yet, since we must first improve the imconv routine.
+ small bugfix to im2bw regarding indexed images.
+ new xor convenience function
20030811
+ New function: watershed, for image segmentation. It accepts
markers. There is a nice example in the help page, showing how
to separate overlying objects in a binary image.
+ Requires Animal 0.7.0
20030804
+ New function: bwdist, for distance tranform. A new very fast
exact euclidean method is available (Lotufo-Zampirolli 2001).
+ New function: imnoise, to generate a few types of noise, such as
gaussian white noise, salt & pepper, and more.
+ im2gray and gray_imread are now much faster
+ im2bw threshold is by default taken relatively to the maximum value
of the image, instead of 255. This approach is more convenient.
+ autoreconf now works without any error messages
20030527
+ function drawline: incompatible changes and bugfix. It was
previously broken. Thx to Marconi for reporting.
20030525
+ new "thin" (standard Zhang-Suen thinning) implemented in C
+ gray_imread (simply to read every image as grayscale) manpage
+ improfile changed (it is now incompatible with the previous one)
+ manpage for perim
+ new example figures
+ requires Animal 0.5.0
20030522 many contribs thx to Jocelyn Druel
+ fixed bug in minmax
+ new GUI demo
+ sipdemo is now called by "exec(SIPDEMO)"
+ new imvariance - image local variance
+ new imphase - phase calculation (useful for interferometry)
+ new unwrapp - phase unwrapping by path following, used in
interferometry/photonics
+ loader.sce now displays SIP version
+ manpage fixes
0.2.0 Major feature enhancements!
This list summarizes the changes from 0.1.1 to 0.2.0.
+ New mogrify command (resizing, rotating, filtering, etc)
+ New state-of-the-art O(n) skeletonization algorithm based
on the euclidean metric, implemented in C and accessible
through the scilab function "skel". It has a multiscale
pruning parameter.
+ Fast euclidean distance transform and discrete Voronoi
diagram calculated by the same algorithm.
+ New xgetpixel command to get pixel coordinates from mouse
position
+ New edilate command to do exact euclidean dilation
+ New percol command to check for image percolation
+ New drawline command to draw a line in an image
+ New perim function (perimeter measure of a shape)
+ minmax - new min/max noise removal from images (by curvature/levelsets)
+ New Hough transform (early working implementation)
+ Early fractal dimension implementation
+ Curvature/ffteriv/gsm/gsm2d rewrite
+ Curvature2d - estimates the curvature of a surface / image
+ Improfile - plot data profiles along line segments through an image
+ Imshow is now faster for truecolor images.
+ Adaptive thresholding though the mogrify parameter "-lat". This
requires ImageMagick 5.5.2 or later.
+ New edge-detection by FFT gradient estimation; this
is available in the 'edge' routine, by giving an 'fftderiv' value
for the method argument.
+ New masks for mkfilter - laplacian masks, low-pass masks, sharp
masks, mean, and circular.
+ New unwrapl function - unwraps phased images linearly
+ Imshow has new strf parameter
+ Imshow is now faster for truecolor images.
+ No more need to normalize truecolor images to 0-65535 range
for imshow. This means you can now call imshow(im),
and _not_ imshow(im*65535), if 0 <= im(i,j,k) <= 255
+ No more need to fix Scilab makefile bugs to compile SIP. The
build process is now based on autoconf, which means the user
types "configure; make; make install" to compile SIP (only
POSIX-like environments are supported).
+ A "hello_sip" function added as a simple example, for new
developers, of how to add a new C-language routine to SIP.
+ The general purpose C routines were moved to AnImaL (An Imaging
Library), which is independent of Scilab.
+ Many bugfixes

20030315
+ New unwrapl function - unwraps phased images linearly
+ improfile bugfix
+ imshow is a little faster for truecolor images
+ new masks for mkfilter - laplacian masks, low-pass masks, sharp
masks, mean, and circular.
20030307.1
+ images/bin.xpm was not being included (fixed)
+ whatis file didn't have the new functions (fixed)
20030307
+ minmax - new min/max noise removal from images (curvature/levelset)
+ curvature2d - estimates the curvature of a surface / image
+ improfile - plot data profiles along line segments through an image
+ imshow is now faster for truecolor images.
+ No more need to normalize truecolor images to 0-65535 range
for imshow. This means you can now call imshow(im),
and _not_ imshow(im*65535), if 0 <= im(i,j,k) <= 255
+ mkfilter has new "circular" mask
+ manual for edilate function
+ fix in manual for dilate function
20030306
+ full support for autoconf (./configure; make; make install),
with automatic detection of scilab and external libraries.
+ txt files updated for the next release
+ imshow is faster for truecolor images, thx to A. Calio.
(note that B. Pincon's changes have not yet been comited)
+ no instructions for binaries yet
20030305.1
+ This is the first full-featured sip-dev release of 2003.
+ build system improved
+ man, images and .txt files included
20030305
+ macros included
+ still no images or help pages
+ build system improved
20030304
+ Preliminary autoconf support
+ install only with ./configure; make; make install
+ Needs animal.sf.net (An IMAge Library) to be installed.
+ No macros nor man
+ New perim function
20021203
+ New edge-detection by FFT gradient estimation; this
is available in the 'edge' routine, by giving an 'fftderiv'
value for the method argument. The manpage was updated to
contain more info on this.
+ New hough transform (early working implementation)
+ Adaptive thresholding though the mogrify parameter "-lat".
This needs the new ImageMagick 5.5.2.
+ Gsm2d rewrite; about 5 to 10% speedup.
+ bwborder was broken; fixed.
+ Drawline manpage
20021125
+ curvature/ffteriv/gsm rewrite (not definite, though)
+ simple filename fix of the test suite inside "tst" directory
20021123
+ compilation was failing; fixed builder.sce files in src.
20021121.1
+ A "hello_sip" function added as a simple example, for new
developers, of how to add a new C-language routine to SIP.
+ A hello_sip help page written as a starting point for new
developers.
20021121
+ Early fractal dimension implementation
20021105
+ Scilab 2.6 bugfix necessary to compile was wrong in INSTALL.txt
It is not EXTRA_LD_FLAGS, but EXTRA_LDFLAGS, a simple mistake
that can corrupt the installation.
+ Removed nonsense mogrify parameters from the help page.
+ Development versioning scheme is changed to eliminate the dashes.
The version number is now a single increasing number formed by
the date of release.
2002-10-31
+ Bugfix in internal euclidean structure (affects "skel" and
"edilate" routines).
+ Parameter "full" in the previous "skel" routine documentation
is actually "both".
2002-10-30
+ New state-of-the-art O(n) skeletonization algorithm based
on the euclidean metric, implemented in C and accesible
through the scilab function "skel". It has a multiscale
pruning parameter.
+ Fast euclidean distance transform and discrete Voronoi
diagram calculated by the same algorithm.
+ Skeletonization now accepts shapes with holes and more than
one shape in the input image.
+ SIP now builds on both Scilab 2.6 stable and CVS.
+ Minor bug fixes in some other routines
2002-09-25 Major updates in this release!
+ C code now implements many functions
+ new mogrify command (resizing, rotating, filtering, etc)
+ new skel command (skeletonization + distance transform +
discrete Voronoi diagram) with scale-space skeleton detail
filtering, and exact euclidean metric.
+ new xgetpixel command to get pixel coordinates from mouse
position
+ new edilate command to do exact euclidean dilation
+ new percol command to do image percolation
+ new drawline command to draw a line in an image
+ imwrite bug fix ("Pixel cache not open" message is now gone)
+ imshow has new strf parameter
+ documentation updated
+ various minor fixes
+ SIP has a total of 27 routines now; mogrify alone is worth
about 10 routines!
0.1.1
+ "gsm" function got better but compatible. The user may
select if input or output is in time (real), complex
or frequency, enabling more effective use of FFT's.
+ "fftderiv" now enables input to be in time (real),
complex or frequency. It also has a sigma parameter for
simultaneous gaussian smoothing. This is an incompatible
change.
+ "curvature" is 2x faster.
+ many manpage fixes
+ various minor fixes
0.1 Initial release
+ I/O of image files in almost ANY format, using
ImageMagick 5.4.2
+ display is done using scilab's own graphical window.
+ new functions with flexible, stable interface and
error treatment.
+ stable interfaces and error treatment in the
previous functions
+ help pages for all the functions, with EXAMPLES
sections.
+ demos
+ home page
+ nice photographs (thanks to Eduardo Justiniano)
0.0 FABBRI toolbox
the ancestor of the SIP toolbox. Did very simple
image processing, without well-defined interfaces
for the functions. Almost no documentation. Had to
rely on IMAGE toolbox to read in just PPM/PGM/PBM
ascii image files and display with an external program.

Você também pode gostar