MegaWave2 v2.00 CHANGES

We are pleased to announce you that version 2.00 of the image processing software
"MegaWave2" is finally available.
This free, open source package from the CMLA (CNRS UMR 8536) includes research 
algorithms about
        - Morphological filtering and PDE; 
        - Morphological representation by means of level lines;
        - Wavelets;
        - Segmentation.
Such "soft-publication" is intended to serve the reproducible research paradigm :
MegaWave2 contains most of the source codes that have been used by researchers 
of the CMLA (and of some other labs) to perform the experiments presented in
theirs paper publication related to image processing.

The main differences between version 2.00 and the last distribution 1.05 are 
reported below.

Jacques Froment
Lionel Moisan

Main changes between version 1.05 and version 2.00


- No more registration procedure to get a free license : you do not have any 
  registration form to send.

- Full source code given : The sources of MegaWave2 kernel (preprocessor and 
  libraries) are given. Therefore, you are now able to modify the kernel, for 
  example to adapt it on a new machine architecture.

- No more pre-compiled kernels : the local MegaWave2 administrator has to compile 
  the kernel for its machine architecture by himself.

- MegaWave2 has been adapted for Linux on i386.

- The modules library has deeply changed : new modules appear, former modules have 
  been fully checked and some of them have been renamed. Group hierarchy and name
  has changed. See Vol.3 "User's Modules and Macros Library".

- The doc directory structure has changed. Now put the documentation you write in
  the src subdirectory, without creating subdirectories for groups.
  See Vol.1 "User's Guide" Section "Documentation".

- The data directory structure has changed, together with the search path convention.
  A PUBLIC subdirectory has been created where all public data not specifically 
  associated to some modules have to be put. To resolve an input filename, a module
  now searches inside all subdirectories of data.
  See Vol.2 "System Library" Section "Search path convention".

- System's macros have been enhanced. For example, access to the documentation has
  been simplified (see macro mwdoc).



1. new group architecture

2. changes and additions for basic functions

3. checking of modules

4. new algorithms

1. new group architecture

The group architecture (sub-directories of $MEGAWAVE2/src) has 
dramatically changed. Notice that the "group" field in the MegaWave2
header of a module is now useless since this is the path of the source
module in the directory $MEGAWAVE2/src that determines its group.
Moreover, all documentation files are now in the same directory
$MEGAWAVE2/doc/src. This allows to change very simply the group of a
module by simply moving the source file (.c) to another sub-directory
of $MEGAWAVE2/src.

The groups are now:

compression/ezwave/     \
compression/lossless/    \
compression/scalar/       >  same structure as before (old compression group)
compression/vector/      /
compression/vqwave/     /

curve/      		modules concerning curves

examples/   		previous demo group

image/io/		input/output modules on images (visualization, 
image/operations/	basic operations on images (measures, algebra, ...)
image/domain/           modules that operate on the domain of an image
			(zoom, rotation, croping, ...)
image/values/		modules that operate on the set of values of an image
			(histogram, thresholding, noise, contrast change, ...)
image/filter/		filters (convolution, median, amss, ...)
image/level_lines/	modules using the level lines of an image
image/fourier/		Fourier transform and applications
image/seg/		segmentation
image/misc/		miscellaneous algorithms

shape_recognition/	modules specific to shape recognition (demo)

signal/			modules concerning signals

wave/			wavelets

2. changes and additions for basic functions

Most of the modules from the old group "regularity", as well as the
module "snakes", have been removed in this version of MegaWave2.

In addition, some modules have been renamed and some others are 
now parts of more general modules.

* The computation of the first and second order derivatives of
an image can now be performed with the single module (fderiv).
Hence the old modules extgc and fgradient are now obsolete.

* The "k" prefix now refers to Curve/Curves data structures, 
while the "fk" prefix refers to Fcurve/Fcurves structures.
This justifies the following name changes:

rot_fcvs	-> fkzrt  (zrt for zoom, rotation, translation)
shift_fcvs	-> fkzrt
bary_fcvs	-> fkcenter
curves_cimage   -> kplot
fcurves_cimage  -> fkplot
fcvprint        -> fkprintasc
fcvsprint       -> fkprintasc
cvprint         -> kplotasc,fkprintasc
cv_spline	-> kspline
cvs_splines	-> ksplines

* Concerning convolution, a new module called fsepconvol now allows the
quick convolution with a separable filter (e.g. constant or Gaussian).
This makes obsolete the old modules fblur and gaus_simple.

* For algebraic operations on images, the modules fop (+, -, *, /, >, etc...)
and faxpb (read a x plus b) make obsolete the old modules fsqrtmod, fmeanvar 
and fmult.

* Putting noise on images or on movies is now performed through the 
modules cnoise/fnoise/cmnoise only (Gaussian or impuse noise). Some
exotic noises have been removed, but they will be restored if a strong
demand emerges.

* On the same way, the fmask module has been changed to perform the classic
"mask" function.

Moreover, some modules have been upgraded with new possibilities:

chisto		added -i option (histogram integral)
splot		added new visualization form (boxes)
fadd		added -a option(average)
cmview		added -p option (pause on start)
fhisto		addd quantification control

Last, the following modules have been added:

kreadfig	conversion xfig -> Curves
fkreadasc	read a curve from standart input in ascii form
fkview		interactive curve visualization
fkcrop		curves croping
fkzrt		apply zoom+rotation+translation on Fcurves
fkbox		bounding box of Fcurves

llview		interactive visualization of level-lines/bi-level sets
lldir		morphological computation of level-lines directions
ll_distance	distance function to a level-line
binarize	binarization 
fnorm		compute the norm of an image
fsize		print image size
fproj		affine or projective transform
heat		heat equation
fsepconvol	quick convolution by a separable kernel
fconst		create a constant image

sconst		create a constant signal
sop		algebraic operations on signals
sgauss		Gaussian signal

3. checking of modules

The systemastic test of a large number of modules allowed to find 
some bugs. In the next release of MegaWave2, these test procedures will
be open to users, as well as demonstration procedures.

Among the corrected modules in this new versions are amss (bug on the
curvature/gradient computation and on the smoothing threshold),
fft1d et fct1d (bug in the power-of-two test), clocal_zoom et al. 
(rounding error that could make cview fail).

4. new algorithms

The new algorithms are:

* Fast Level Set Transform (FLST) and applications 

modules flst, flst_reconstruct, fgrain, fsharp

* Disocclusion (singular interpolation)

modules drawocclusion, disocclusion 
Notice that because of their late integration, these modules have not
been systematically checked and are given as BETA version.

* AMLE 3D (regular 3D interpolation)


* Fourier applications

fftrot		rotation/translation
fftzoom		zoom (zero-padding)
fftgrad		gradient

* Miscellaneous

osamss		AMSS as a stack-filter (Osher-Sethian)
ccontrast_local local contrast change
shock		shock filter (Rudin)