NEWS 7.38 KB
Newer Older
Nicolas Burrus's avatar
Nicolas Burrus committed
1
2
3
Olena 0.9	August 8, 2003

        * New static hierarchy paradigm
David Lesage's avatar
David Lesage committed
4
5
6
	  - Complete rewrite of the image hierarchy. 
          - The new hierarchy benefits from multiple inheritance and
	    diamond constructs.
Nicolas Burrus's avatar
Nicolas Burrus committed
7
8
9
10
11
          - Objects' abstract interfaces made available, leading to
            safer and easier algorithm writing.
	  - Label images such as binary_image or vectorial_image added.

        * Partial rewrite of images I/O
David Lesage's avatar
David Lesage committed
12
          - Support for 1d, 3d images and windows.
Nicolas Burrus's avatar
Nicolas Burrus committed
13
14
15
16
17
18
19
20
21
22
          - Better handling of built-in types.

        * Color conversions fixed and improved.

        * Cleanup and coding style conformance.

        * Many bug fixes.
        * Improved test-suite.

Olena 0.8	April 10, 2003
Raphal Poss's avatar
Raphal Poss committed
23

Nicolas Burrus's avatar
Nicolas Burrus committed
24
25
26
27
28
29
30
31
32
33
34
35
	IMPORTANT NOTE: This version is not compatible with older
	versions of Olena. The project has been split into three part,
	so many header files have moved and new namespaces have been
	created. Please read the UPGRADING file for more informations.
	
	* Many source code cleanups.
	* The source code has been split into 3 parts: image 
	  processing (olena/), data types (integre/) and meta-programming
	  tools (metalic/).
	* First part of the new static hierarchy paradigm implementation.
	* Support for combinatorial maps.
	* Many bug fixes.
Raphal Poss's avatar
Raphal Poss committed
36

Raphal Poss's avatar
Raphal Poss committed
37
Olena 0.7	February 10, 2003
38

Raphal Poss's avatar
Raphal Poss committed
39
	* Manual pages for the command-line utilities.
Raphal Poss's avatar
Raphal Poss committed
40
41
42
43
44
	* New, saner, source tree layout.
	* Each `part' of the source tree can be excluded from the
	  build process with configuration flags.
	* New `oln.m4' file for use by autoconf'ed user projects.
	* Major documentation updates.
Raphal Poss's avatar
Raphal Poss committed
45
	* New `oln-config.sh' scripts for user Makefiles.
Raphal Poss's avatar
Raphal Poss committed
46
	* Olena now works on MacOS X, NetBSD, FreeBSD and cygwin.
47

Raphal Poss's avatar
Raphal Poss committed
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
Olena 0.6       January 15, 2003

        * Complete rewriting of data types.
        * Command line utilities.
        * Fully implementation of convolutions
        * Fast Fourier Transform (FFT)
        * Discrete Wavelet Transform (Daubechie's wavelet) (DWT)
        * Many bug fixes.

Olena 0.5       July 25, 2002

        * Documentation in LaTeX (instead of Texinfo).
        * Support reading/writing gziped images
          (include <oln/io/gz.hh> and link with libz).
        * Complete rewrite of the static arrays
          (meta::array1d, meta::array2d, meta::array3d).
        * Preliminary implementation of convolutions
          (oln::convol::convolve)
        * All headers should now be referenced with the `oln/' prefix,
          as in `#include <oln/basics2d.hh>'.
        * New conversion operator: convert::stretch.
        * Many bug fixes.
70

71
72
73
74
Olena 0.4.1	April 25, 2002

	* Buglet in the 0.4 Makefiles.

75
Olena 0.4	April 24, 2002
76

Nicolas Burrus's avatar
Nicolas Burrus committed
77
	* New morpho:: operators:
78
79
80
81
82
83
84
85
	  - thinning
	  - thickening
	* New convert:: operators:
	  - ng_to_se
	  - ng_to_cse
	* First sketch of a test suite.
	* Many bug fixes.

86
87
88
89
90
91
Olena 0.3	January 14, 2002

	* fast_morpho() speeded-up.
	* Minor bug fixes.
	* "Documentation" updates.

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
Olena 0.2b	December 13, 2001

	* Value:
	  - Support for HSL and HSV color systems.
	  - Define internal::default_less<vec<N,T>>.

	* Core:
	  - New window generator: mk_win_ellipse, mk_win_disc,
	    mk_win_ellipsoid, and mk_win_ball.

	* Various #include fixes.

Olena 0.2	November 28, 2001

	* Color:
	  - nrgb_8, nrgb_16, nrgb_32: new types for NTSC RGB.  The
            conversion from and to YIQ and HSI which assumed NTSC RGB
	    has been adjusted to actually use nrgb_* (instead of rgb_*)
	    and renamed accordingly.
	  - yuv_8, yuv_16, yuv_32: New types.

	  The currently available conversions are

                    hsi   yuv
                      \  /
	       rgb -- nrgb
                \     /  \
                  xyz     yiq

	* Various cleanups and bug fixes.  Especially:
	  - border handling (mirroring, copying) simplified and fixed.
	  - ++k, --k: return a value with the same type as k.

	* I/O:
	  - pnm/P1, pnm/P3, and pnm/P6 support for image_3d.

Olena 0.1f	November 22, 2001

	* Core:
	  - Several bug fixes in memory handling.

	* Types:
	  - New color types: HSI, YIQ; with conversions to and from RGB.
	  - `min()' and `max()' are now defined with the types (i.e.
	    not in math/macros.hh), along with the other operators.
	    Also, these procedures will two arguments of different
	    types.

	* Casts:
	  - `cast::round': similar to C's round()
	  - `cast::rbound': ditto, but constrained to fit the
            output type's range.

	* I/O:
	  - Support for `image_3d<int_u<N> >' (as PNM P2 & P5).

	* Processings
	  - `level::is_greater_or_equal', `level::is_greater',
	    `level::is_lower_or_equal', `level::is_lower',
	    `level::is_equal': Comparisons between images.
	  - `level::connected_component': Number connected components.
	  - `morpho::geodesic_dilation', `morpho::simple_geodesic_dilation'.
	  - `morpho::geodesic_erosion', `morpho::simple_geodesic_erosion'.
          - `morpho::get_plus_se_only', `morpho::get_plus_se_p',
	    `morpho::get_minus_se_only', `morpho::get_minus_se_p': Split
	    a structural element in a `plus' (lexicaly before than the center)
	    and `minus' (after).

	* Misc:
	  - `utils::timer': for benchmarking
	  - `level::lut', `level::hlut': Lookup tables.

Olena 0.1d	November 15, 2001

	* Core:
	  - `point's, `dpoint's, and `image_size's feature a `nth()' method,
	    that returns the value of the nth coordinate.
	  - `fold': new high order operator.

	* Types:
	  - `vec<N,T>' uses an array to store its elements
            and accepts builtin types.
	  - `rgb<T>' has been replaced by `rgb_8', `rgb_16', `rgb_32'
	  - `xyz_8', `xyz_16', `xyz_32' are new types.
	  - the latter six types are instances of the `color' type.

	* Processings:
	  - All basic morpholohical processings (`opening',
	    `hit_or_miss', `beucher_gradient', etc.) from namespace
	    `morpho::' have their fast equivalent in namespace
	    `morpho::fast::'.
	  - `convert::apply' is similar to `apply' but will work
	    for all types of conversions while `apply' can only work
	    on `conversion_to_type' conversions.

	* Tools:
	  - `utils::fill': fill an image
	  - `utils::f_moments', `utils::f_minmax': statistical functors.

	* Casts:
	  - `cast::bound': similar to `convert::bound'.

	* I/O:
	  - It's possible to load and save as PPM any kind of image2d
	    whose color has 3 components on 8 bits.

Olena 0.1b	November 8, 2001

	* New type: rgb<T>

	* New processings:
	  - morpho::watershed_con
	  - convol::fast::gaussian
	  - convol::fast::gaussian_derivative
	  - convol::fast::gaussian_second_derivative

	* Conversion are organized in the following hierarchy

	    conversion<Inferior>
                  ^
		  |
	    conversion_to_type<To,Inferior>
                  ^
		  |
	    conversion_from_type_to_type<From,To,Inferior>

	  All children of conversion_from_type_to_type are models of
	  Adaptable Unary Function.  See conversion.hh for more comments.

	* The only two functions that perform file i/o are `load' and
 	  `save'.  The other functions (`read', `write', `read_pnm',
	  `write_pnm') have been removed.

	* image2d<rgb<int_u8> > can be loaded and saved as ppm.

	* All iterators support a new method, cur(), that returns
	  the current point (or dpoint).  It is meant to be used
	  at places where the compiler is unable to implicitly convert
	  an iterator into a point (or dpoint).

	* Bug fixes:
	  - Olena now compiles successfully with -pedantic.
	  - `image2d<int_u8> lena = load("lena.pgm");' works.
	  - Multiplications and subtractions on 'vec' no longer
	    perform additions.

Olena 0.1	November 1, 2001

        * Initial public release.