forked from glazzara/olena
-
Notifications
You must be signed in to change notification settings - Fork 4
/
NEWS
475 lines (349 loc) · 14.2 KB
/
NEWS
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
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
* Olena 2.1 July 8, 2014
* Compilation issues with recent versions of GCC (up to
version 4.8) and Clang (up to version 3.5) have been
addressed.
* Improved and more complete documentation.
* General cleanup of the distribution.
* Simplification of the build system.
* Trimesh sources have been removed from Olena. The parts of
Trimesh that were actually used have been re-implemented
using Milena.
* Automake's silent rules and parallel tests have been
enabled.
* Many bug fixes.
* Olena 2.0 September 16, 2011
* This release includes for the first time the SCRIBO module
for Document Image Analysis (DIA).
* Add compilation support for g++ 4.5 and some limited support
for clang.
* Compilation with multiple files is now possible using the
MLN_WO_GLOBAL_VARS macro.
* New algorithms.
- clustering::kmean_rgb.
- data::split.
- histo::equalize.
- labeling::value_and_compute.
- subsampling::antialiased.
- world::rgb::invert.
- geom::horizontal_symmetry.
- geom::vertical_symmetry.
- geom::translate.
- morpho::tree::component_tree.
- morpho::tree::dual_input_tree.
- morpho::watershed::topological.
- transform::influence_zone_geodesic_saturated.
- upscaling::art::scaling2x.
- upscaling::art::scaling3x.
* Add fast/fastest implementations for various algorithms.
- arith::revert.
- data::paste.
- labeling::compute.
- morpho::skeleton_constrained.
- transform::influence_zone_geodesic.
* Overall performance improvements in morphological skeleton
computation.
* New labeling canvas.
- canvas::labeling::blobs (replace canvas::labeling).
- canvas::labeling::sorted.
- canvas::labeling::video.
* New function concept: Function_n2v.
* The routine labeling::colorize is now deterministic with
respect to an execution run.
* New type conversions.
- New convert::from_to overloads.
- New convert::to_qimage and convert::to_qimage_nocopy
(conversion towards Qt's QImage type).
- New conversion functions : fun::v2v::qt_rgb_to_int_u,
fun::v2v::rgb8_to_rgbn, fun::v2v::rgb_to_int_u,
fun::v2v::rgb_to_luma.
* New graph image types supporting mixed site types (both
edges and vertices).
* Improvements in accumulators.
- New properties.
- New RGB 3D histrogram (accu::stat::histo3d_rgb)
- Add new methods.
* New default 3D neighborhoods/windows.
* New 3D window type: win::sline3d.
* New debug tools.
- debug::mosaic.
- debug::z_order.
* New drawing tools.
- draw::box_plain.
- draw::dashed_line.
- draw::site_set.
- draw::polygon.
* I/O improvements.
- New raw data I/O functions.
- Improved ImageMagick/GraphicsMagick I/O performances.
- Support for FLD format.
* Various bug fixes and improvements.
* Olena 1.0 July 14, 2009
* The core C++ library, renamed to Milena, has been rewritten from
scratch and features numerous additions over the past releases.
Some features have also been dropped or disabled, and some of them
will be reintegrated in future releases. The programming
interface has changed from previous versions, but most programs
using Olena 0.11 can be adapted to the Olena 1.0 API.
* Milena uses a simplified version of the SCOOP 2 paradigm
(informally called SCOOP 1.5), to improve the speed of compilation
and make developing easier while still providing very good
run-time performances.
* A first (re)implementation of Swilena featuring Python wrappers
for a very small subset of Milena is available. The bundled
Swilena Python Shell (sps) allows interactive Olena sessions.
* A reference documentation including a tutorial and a quick
reference guide have been started. They do not cover the whole
Milena library yet.
* Olena includes some demos and applications using Milena.
* Olena 0.11 February 21, 2007
* The whole Olena distribution compiles with the GNU C++
Compiler (G++) 4.0 and 4.1. The compatibility with previous
versions of the compiler has been broken.
* Revamp of Swilena.
The Swilena wrappers have been repaired, as they had become
incompatible with recent versions of SWIG, G++, Python and Ruby.
Moreover, a lot of small bugs have been fixed in Swilena.
The test suite of Rblena, the Ruby wrappers for Olena, has
been completed and is comparable to Pylena's (the Python
wrappers for Olena).
* Libtool.
The whole package uses GNU Libtool to handle libraries.
Swilena benefits this, and uses Libtool to create shared
libraries upon which SWIG wrappers are built.
* Miscellaneous corrections in Olena and Integre, as well as in
their test suites.
* Olena 0.10 April 15, 2004
* New documentation system.
Now any comment should use Doxygen style (i.e. /*! ... */).
You can also write some programs inside the comments. They are
compiled at documentation generation time. It is useful to
illustrate some algorithms with concrete input and output. To
use this feature the program has to be between \code and \endcode
tags. If you produce an image, you can include it in the comments
with the \image command, using the same name you used to produce
it, but with the png extension. To make sure your image will not
overwrite another existing one, you should name it taking care of
the namespace you are using: e.g. if you comment the function
oln::boo::bar::fun, the image should be named oln_foo_bar_fun.ppm.
The macros IMG_IN and IMG_OUT correspond to the path of the images.
* Border behavior can be controlled with the behavior hierarchy.
If an algorithm support it, you can choose the way the image
border will be seen. Three behaviors are available: mirror,
replicate or user defined value.
* Attribute opening/closing enhancement
- Make the algorithm more generic.
- Add a lot of attributes (area, disk, square, dist,
rectangle, volume, height, maxvalue, minvalue).
* Change the color conversion system
- CIE RGB is the main color system i.e. it can be converted
directly into any other color system.
- Conversion between 2 color systems should pass by the RGB one.
* Generic and concrete morphers are now implemented in Olena.
- Five morphers are included in this release:
Color morpher
Sub quantifying morpher
Piece morpher
Iter morpher
Slicing morpher
- These morphers can be manipulated as if they were normal images.
* Olena 0.9 August 8, 2003
* New static hierarchy paradigm
- Complete rewrite of the image hierarchy.
- The new hierarchy benefits from multiple inheritance and
diamond constructs.
- 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
- Support for 1d, 3d images and windows.
- 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
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 information.
* 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.
* Olena 0.7 February 10, 2003
* Manual pages for the command-line utilities.
* 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.
* New `oln-config.sh' scripts for user Makefiles.
* Olena now works on Mac OS X, NetBSD, FreeBSD and Cygwin.
* 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.
* Olena 0.4.1 April 25, 2002
* Buglet in the 0.4 Makefiles.
* Olena 0.4 April 24, 2002
* New morpho:: operators:
- thinning
- thickening
* New convert:: operators:
- ng_to_se
- ng_to_cse
* First sketch of a test suite.
* Many bug fixes.
* Olena 0.3 January 14, 2002
* fast_morpho() speeded-up.
* Minor bug fixes.
* "Documentation" updates.
* 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' (lexically 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 morphological 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.
Local Variables:
mode: outline
ispell-local-dictionary: "american"
End:
----
Copyright (C) 2001, 2002, 2003, 2004, 2007, 2009, 2011, 2012, 2013,
2014 EPITA Research and Development Laboratory (LRDE).
This file is part of Olena.
Olena is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation, version 2 of the License.
Olena is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with Olena. If not, see <http://www.gnu.org/licenses/>.