ChangeLog 1.8 MB
Newer Older
1
2
3
4
5
6
2011-05-31  Roland Levillain  <roland@lrde.epita.fr>

	Regen Milena's Makefile helpers.

	* headers.mk, tests/unit_test/unit-tests.mk: Here.

7
8
9
10
11
12
2011-05-31  Roland Levillain  <roland@lrde.epita.fr>

	Add a first version of a simple 3D point predicate.

	* mln/topo/is_simple_point3d.hh: New.

13
14
15
16
17
18
19
20
21
22
23
2011-05-31  Roland Levillain  <roland@lrde.epita.fr>

	Generate a simple 3D points look-up table for the (26,6)-adjacency.

	* tools/Makefile.am (CLEANFILES): New.
	Add simple_point_3d_lut_26_6.txt and simple_point_3d_lut_26_6.hh.
	(simple_point_luts): New (phony) target.
	(simple_point_3d_lut_26_6.txt)
	(simple_point_3d_lut_26_6.hh):
	New targets.

24
25
26
27
28
29
30
31
32
33
34
35
36
37
2011-05-31  Roland Levillain  <roland@lrde.epita.fr>

	Parallel computation of simple 3D point look-up tables.

	* tools/simple_point_3d_lut_tbb.hh,
	* tools/simple_point_3d_lut_tbb.cc:
	New.
	* tools/Makefile.am (noinst_HEADERS): Add simple_point_3d_lut_tbb.hh.
	(EXTRA_PROGRAMS): Add simple_point_3d_lut_tbb.
	(simple_point_3d_lut_tbb_SOURCES)
	(simple_point_3d_lut_tbb_CPPFLAGS)
	(simple_point_3d_lut_tbb_LDFLAGS):
	New.

38
39
40
41
42
43
44
45
46
47
48
2011-05-31  Roland Levillain  <roland@lrde.epita.fr>

	Sequential computation of simple 3D points look-up tables.

	* tools/simple_point_3d_lut.hh,
	* tools/simple_point_3d_lut.cc:
	New.
	* tools/Makefile.am (noinst_HEADERS): Add simple_point_3d_lut.hh.
	(EXTRA_PROGRAMS): Add simple_point_3d_lut.
	(simple_point_3d_lut_SOURCES): New.

49
50
51
52
53
54
55
56
57
58
2013-08-28  Roland Levillain  <roland@lrde.epita.fr>

	Improve mln::topo::is_simple_2d_t.

	* mln/topo/is_simple_2d.hh
	(mln::topo::is_simple_2d_t<N>::nb_connectivity2d):
	(mln::topo::is_simple_2d_t<N>::nb_connectivity2d__):
	Use a more reliable method to identify the neighborhood.
	* mln/topo/is_simple_point2d.hh: Typo in comment.

59
60
61
62
63
64
65
66
67
68
2013-08-28  Roland Levillain  <roland@lrde.epita.fr>

	Reintroduce is_simple_2d and connectivity_number_2d into mln::topo.

	* mln/topo/is_simple_2d.hh (mln::topo::is_simple_2d)
	(mln::topo::connectivity_number_2d):
	New.
	* apps/generic-skel/image2d-skel.hh (is_simple_2d::operator()):
	Adjust.

69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
2011-05-31  Roland Levillain  <roland@lrde.epita.fr>

	Factor connectivity_numbers_3d and connectivity_numbers_3d_tbb.

	* tools/connectivity_numbers_3d.hh (connectivity_numbers_3d):
	Reindent.
	(connectivity_number_3d__6_26_one)
	(connectivity_number_3d__6p_18_one)
	(connectivity_number_3d__18_6p_one):
	Fix types: s/config_3d_t/conn_number_t/.
	(usage): New function.
	(display_connectivity_numbers): New function.
	Use it to simplify...
	* tools/connectivity_numbers_3d.cc,
	* tools/connectivity_numbers_3d_tbb.cc (main): ...these functions.
	(usage): Remove.
	* tools/compute_local_configurations.cc,
	* tools/connectivity_numbers_3d_tbb.hh:
	Add a comment.

89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
2011-05-25  Roland Levillain  <roland@lrde.epita.fr>

	Add a parallel version of connectivity_numbers_3d using TBB.

	* tools/connectivity_numbers_3d_tbb.hh,
	* tools/connectivity_numbers_3d_tbb.cc:
	New.
	* tools/Makefile.am (CPPFLAGS_TBB, LDFLAGS_TBB): New.
	(extra): New (phony) target.
	(EXTRA_PROGRAMS)
	(connectivity_numbers_3d_tbb_SOURCES)
	(connectivity_numbers_3d_tbb_CPPFLAGS)
	(connectivity_numbers_3d_tbb_LDFLAGS):
	New variables.

104
105
106
107
108
109
110
111
112
113
114
115
116
117
2011-05-25  Roland Levillain  <roland@lrde.epita.fr>

	Make tools/connectivity_numbers_3d thread-safe.

	* tools/connectivity_numbers_3d.hh
	(connectivity_number_3d__6_26_one)
	(connectivity_number_3d__26_6_one)
	(connectivity_number_3d__6p_18_one)
	(connectivity_number_3d__18_6p_one):
	Create and use a copy of the neighborhood instead of using a
	shared, thread-unsafe object.
	Aesthetic changes.
	* tools/connectivity_numbers_3d.cc: Aesthetic changes.

118
119
120
121
122
123
124
125
126
127
2011-05-25  Roland Levillain  <roland@lrde.epita.fr>

	Factor soon-to-be shared components of connectivity_numbers_3d.

	* tools/connectivity_numbers_3d.cc: Move most of the contents of
	this file into..
	* tools/connectivity_numbers_3d.hh: ...this (new) file.
	* tools/Makefile.am (connectivity_numbers_3d_SOURCES):
	Add connectivity_numbers_3d.hh

128
129
130
131
132
133
134
135
136
2011-05-24  Roland Levillain  <roland@lrde.epita.fr>

	Add a tool to compute 3D connectivity numbers.

	* tools/connectivity_numbers_3d.cc: New.
	* tools/Makefile.am (noinst_PROGRAMS):
	Add connectivity_numbers_3d.
	(connectivity_numbers_3d_SOURCES): New.

137
138
139
140
141
142
143
144
145
146
2011-04-21  Roland Levillain  <roland@lrde.epita.fr>

	Have tools/compute_local_configurations compile.

	* tools/compute_local_configurations.cc: Add missing header
	inclusion (mln/value/int_u8.hh).
	Add copyright notice.
	* tools/Makefile.am (noinst_PROGRAMS): Add
	compute_local_configurations.

147
148
149
150
151
152
153
154
2011-04-21  Roland Levillain  <roland@lrde.epita.fr>

	Import the computation of (2D) connectivity numbers from sandbox.

	* tools/compute_local_configurations.cc: New.
	Imported from
	sandbox/inim/2009/ocr/compute_local_configurations.cc.

155
156
157
158
159
160
161
162
163
164
165
166
167
168
2010-08-20  Roland Levillain  <roland@lrde.epita.fr>

	New apps on generic skeletonization.

	* apps/generic-skel/image2d-skel-unconstrained.cc,
	* apps/generic-skel/image2d-skel-with-end-points.cc,
	* apps/generic-skel/image2d-skel.hh:
	New.
	* apps/generic-skel/test-image2d-skel-unconstrained.in,
	* apps/generic-skel/test-image2d-skel-with-end-points.in:
	New tests.
	* apps/generic-skel/Makefile.am: New.
	* apps/Makefile.am (SUBDIRS): Add generic-skel.

169
170
171
172
173
174
175
176
177
2011-04-12  Roland Levillain  <roland@lrde.epita.fr>

	apps/graph-morpho: Catch up with current mln::topo::is_n_face.

	* apps/graph-morpho/morpho.hh
	(trait::graph< mln::complex_image<1, G, V> >::is_vertex)
	(trait::graph< mln::complex_image<1, G, V> >::is_edge):
	Fix the return type.

178
179
180
181
182
183
184
185
2011-03-20  Roland Levillain  <roland@lrde.epita.fr>

	Use priority-driven thinning in collapse-based thinnings apps.

	* apps/mesh-segm-skel/mesh-complex-max-curv-2-collapse.cc,
	* apps/mesh-segm-skel/mesh-complex-max-curv-1-collapse.cc:
	Here.

186
187
188
189
190
191
192
193
2011-03-20  Roland Levillain  <roland@lrde.epita.fr>

	Simplify curvature-based thinnings using 2- and 1-collapses apps.

	* apps/mesh-segm-skel/mesh-complex-max-curv-2-collapse.cc,
	* apps/mesh-segm-skel/mesh-complex-max-curv-1-collapse.cc:
	Here.

194
195
196
197
198
199
200
201
202
203
204
2011-03-14  Roland Levillain  <roland@lrde.epita.fr>

	Miscellaneous changes in mesh-related operations.

	* mln/topo/is_simple_cell.hh: Add static preconditions.
	Reduce the number of pointer manipulations.
	Aesthetic changes.
	* mln/topo/detach_cell.hh: Move a static precondition.
	Aesthetic changes.
	* mln/io/vtk/save.hh: Cosmetic changes.

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
2011-03-14  Roland Levillain  <roland@lrde.epita.fr>

	New apps: max curvature-based thinnings using 2- and 1-collapses.

	* apps/mesh-segm-skel/mesh-complex-max-curv-2-collapse.cc,
	* apps/mesh-segm-skel/mesh-complex-max-curv-1-collapse.cc:
	New.
	* apps/mesh-segm-skel/test-mesh-complex-max-curv-2-collapse.in,
	* apps/mesh-segm-skel/test-mesh-complex-max-curv-1-collapse.in:
	New.
	* apps/mesh-segm-skel/Makefile.am (bin_PROGRAMS):
	Add mesh-complex-max-curv-2-collapse.
	And mesh-complex-max-curv-1-collapse
	(mesh_complex_max_curve_2_collapse_SOURCES)
	(mesh_complex_max_curve_1_collapse_SOURCES):
	New.
	(edit): New.
	(test-mesh-complex-max-curv-2-collapse)
	(test-mesh-complex-max-curv-1-collapse):
	New target.
	(TESTS, CLEANFILES): Add test-mesh-complex-max-curv-2-collapse
	and test-mesh-complex-max-curv-1-collapse.
	(MOSTLYCLEANFILES): Add teapot-max-curv-2-collapse.vtk,
	bunny-holefilled-max-curv-2-collapse.vtk,
	teapot-max-curv-1-collapse.vtk and
	bunny-holefilled-max-curv-1-collapse.vtk.

232
233
234
235
236
237
238
239
240
241
242
243
2011-03-14  Roland Levillain  <roland@lrde.epita.fr>

	Add VTK versions of some OFF meshes.

	* mesh/bunny-holefilled.vtk,
	* mesh/teapot.vtk:
	New.
	Generated from mesh/bunny-holefilled.off and mesh/teapot.off using
	apps/mesh-segm-skel/off-to-vtk-bin.
	* mesh/Makefile.am (dist_mesh_DATA): Add bunny-holefilled.vtk and
	teapot.vtk.

244
245
246
247
248
249
250
251
252
2011-03-14  Roland Levillain  <roland@lrde.epita.fr>

	New app: binary OFF to VTK mesh conversion.

	* apps/mesh-segm-skel/off-to-vtk-bin.cc: New.
	* apps/mesh-segm-skel/Makefile.am
	(bin_PROGRAMS): Add off-to-vtk-bin.
	(off_to_vtk_bin_SOURCES): New.

253
254
255
256
257
258
259
260
261
262
263
264
265
266
2011-03-14  Roland Levillain  <roland@lrde.epita.fr>

	New app performing a 2-collapse on a mesh.

	* apps/mesh-segm-skel/mesh-complex-2-collapse.cc: New.
	* apps/mesh-segm-skel/test-mesh-complex-2-collapse.in: New.
	* apps/mesh-segm-skel/Makefile.am (bin_PROGRAMS):
	Add mesh-complex-2-collapse.
	(mesh_complex_2_collapse_SOURCES): New.
	(edit): New.
	(test-mesh-complex-2-collapse): New target.
	(TESTS, CLEANFILES): Add test-mesh-complex-2-collapse.
	(MOSTLYCLEANFILES): Add pseudo-manifold-2-collapse.vtk.

267
268
269
270
271
272
273
274
2011-03-14  Roland Levillain  <roland@lrde.epita.fr>

	Prevent a site from being introduced twice in thinning's queues.

	* mln/topo/skeleton/breadth_first_thinning.hh,
	* mln/topo/skeleton/priority_driven_thinning.hh:
	Use an image `in_queue' to tag sites inserted in the queue.

275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
2011-03-14  Roland Levillain  <roland@lrde.epita.fr>

	Add routines to identify and detach (collapse) simple pairs.

	* mln/topo/is_simple_pair.hh,
	* mln/topo/detach_pair.hh:
	New.
	* tests/topo/is_simple_pair.cc,
	* tests/topo/detach_pair.cc:
	New tests.
	* tests/topo/Makefile.am (check_PROGRAMS): Add is_simple_pair and
	detach_pair.
	(detach_pair_SOURCES, is_simple_pair_SOURCES): New.
	(MOSTLYCLEANFILES): New.  Add detach_pair-out.vtk.

290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
2011-03-01  Roland Levillain  <roland@lrde.epita.fr>

	Add preliminary VTK input for binary images.

	* mln/io/vtk/load.hh: New file.
	Include it...
	* mln/io/vtk/all.hh: ...here.
	* tests/io/vtk/load_bin.cc,
	* tests/io/vtk/load_save_bin.cc:
	New.
	* tests/io/vtk/Makefile.am (check_PROGRAMS): Add load_bin and
	load_save_bin.
	(load_bin_SOURCES, load_save_bin_SOURCES): New.
	(MOSTLYCLEANFILES): Add load_save_bin-out.vtk.

Roland Levillain's avatar
Roland Levillain committed
305
306
307
308
309
310
311
312
313
314
2011-03-01  Roland Levillain  <roland@lrde.epita.fr>

	Add VTK-format meshes.

	* mesh/tetrahedron.vtk,
	* mesh/pseudo-manifold.vtk:
	New.
	* mesh/Makefile.am (dist_mesh_DATA): Add tetrahedron.vtk and
	pseudo-manifold.vtk.

315
316
317
318
319
320
321
322
323
324
2011-03-01  Roland Levillain  <roland@lrde.epita.fr>

	Add a pre-allocation routine to mln::geom::complex_geometry.

	* mln/geom/complex_geometry.hh
	(mln::geom::complex_geometry<D, P>::reserve): New.
	Use it...
	* mln/io/off/load.hh: ...here.
	Aesthetic changes.

325
326
327
328
329
330
331
2011-02-25  Roland Levillain  <roland@lrde.epita.fr>

	Small corrections in apps/mesh-segm-skel.

	* apps/mesh-segm-skel/test-mesh-complex-max-curv-extrema.in:
	Add a missing copyright header.

332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
2011-02-24  Roland Levillain  <roland@lrde.epita.fr>

	Exercise topology-related routines.

	* tests/core/image/complex_image.hh
	(make_test_bin_2complex_image2d): New function.
	* tests/topo/is_facet.cc,
	* tests/make/detachment.cc,
	* tests/make/attachment.cc:
	New.
	* tests/topo/Makefile.am (check_PROGRAMS): Add is_facet.
	(is_facet_SOURCES): New.
	* tests/make/Makefile.am (check_PROGRAMS): Add attachment and
	detachment.
	(attachment_SOURCES, detachment_SOURCES): New.

348
349
350
351
352
353
354
2011-02-24  Roland Levillain  <roland@lrde.epita.fr>

	New complex image alias: mln::bin_2complex_image2d.

	* mln/core/alias/complex_image.hh (mln::bin_2complex_image2d):
	New typedef.

355
356
357
358
359
360
361
362
2011-02-24  Roland Levillain  <roland@lrde.epita.fr>

	Revamp mln::topo::is_simple_cell.

	* mln/topo/is_simple_cell.hh
	(mln::topo::is_simple_cell<I, N, NL, NH>::operator()):
	Replace ad hoc code by a call to is_facet.

363
364
365
366
367
368
369
370
2011-02-24  Roland Levillain  <roland@lrde.epita.fr>

	Have is_facet take into account the values of a (complex) image.

	* mln/topo/is_facet.hh (mln::topo::is_facet): Take a binary image
	and a neighborhood as arguments and take the image's values into
	account.

371
372
373
374
375
376
377
378
379
380
2011-02-24  Roland Levillain  <roland@lrde.epita.fr>

	Revamp topology-related routines.

	* mln/make/attachment.hh,
	* mln/make/cell.hh,
	* mln/make/detachment.hh,
	* mln/topo/detach_cell.hh:
	Do not require the face passed as argument to be a facet.

381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
2011-02-24  Roland Levillain  <roland@lrde.epita.fr>

	Make the interface of thinning algorithms uniform w.r.t. functors.

	* mln/topo/skeleton/priority_driven_thinning.hh
	(mln::topo::skeleton::priority_driven_thinning): Catch up
	with mln::topo::skeleton::breadth_first_thinning.
	* mln/topo/detach_point.hh: Turn into a functor to match the new
	interface of thinning algorithms.
	* tests/topo/skeleton/breadth_first_thinning.cc
	* tests/topo/skeleton/breadth_first_thinning_constrained.cc
	* tests/topo/skeleton/priority_driven_thinning.cc
	* tests/topo/skeleton/priority_driven_thinning_constrained.cc:
	Adjust.

396
397
398
399
400
401
402
2011-02-24  Roland Levillain  <roland@lrde.epita.fr>

	State a cell is not simple if it does not correspond to a facet.

	* mln/topo/is_simple_cell.hh
	(mln::topo::is_simple_cell<I, N, NL, NH>::operator()): Here.

403
404
405
406
407
408
409
410
411
2010-09-09  Roland Levillain  <roland@lrde.epita.fr>

	Use mln::data::paste to simplify mesh skeleton applications.

	* apps/mesh-segm-skel/mesh-complex-skel.cc,
	* apps/mesh-segm-skel/mesh-complex-max-curv-skel.cc,
	* apps/mesh-segm-skel/mesh-complex-pinv-curv-skel.cc:
	Here.

412
413
414
415
416
417
418
419
420
421
2010-09-09  Roland Levillain  <roland@lrde.epita.fr>

	Update mesh skeleton applications.

	* apps/mesh-segm-skel/mesh-complex-skel.cc,
	* apps/mesh-segm-skel/mesh-complex-max-curv-skel.cc,
	* apps/mesh-segm-skel/mesh-complex-pinv-curv-skel.cc:
	Catch up with the new interface of breadth-first thinning and
	auxiliary routines.

422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
2010-09-09  Roland Levillain  <roland@lrde.epita.fr>

	More generic breadth-first-thinning-based skeleton transformations.

	* mln/topo/is_simple_cell.hh: Make this functor more generic.
	* mln/topo/detach_cell.hh (detach): Turn this function into a
	more generic functor.
	* mln/make/attachment.hh (mln::make::attachment)
	* mln/make/detachment.hh (mln::make::detachment):
	Make these routines more generic.
	* mln/topo/skeleton/breadth_first_thinning.hh
	(mln::topo::skeleton::breadth_first_thinning):
	Adjust.
	* headers.mk: Regen.

437
438
439
440
441
442
443
2010-09-09  Roland Levillain  <roland@lrde.epita.fr>

	Introduce a helper to build an mln::mutable_extension_ima.

	* mln/core/routine/mutable_extend.hh: New.
	* headers.mk: Regen.

444
445
446
447
448
449
450
2010-09-09  Roland Levillain  <roland@lrde.epita.fr>

	Introduce an extension-by-mutable-image morpher.

	* mln/core/image/dmorph/mutable_extension_ima.hh: New.
	* headers.mk: Regen.

451
452
453
454
455
456
457
458
459
460
2010-09-20  Roland Levillain  <roland@lrde.epita.fr>

	Get the `detach' argument of thinning algorithms by reference.

	* mln/topo/skeleton/breadth_first_thinning.hh
	(topo::skeleton::breadth_first_thinning)
	* mln/topo/skeleton/priority_driven_thinning.hh
	(topo::skeleton::priority_driven_thinning):
	Here.

461
462
463
464
465
466
467
468
2010-09-19  Roland Levillain  <roland@lrde.epita.fr>

	Get rid of intermediate psites in thinning algorithms.

	* mln/topo/skeleton/breadth_first_thinning.hh,
	* mln/topo/skeleton/priority_driven_thinning.hh:
	Here.

469
470
471
472
473
474
475
476
477
478
479
480
2010-09-19  Roland Levillain  <roland@lrde.epita.fr>

	Have topo::is_n_face take a psite type as class parameter.

	* mln/topo/is_n_face.hh: Here, so that the argument of this
	functor (e.g., an iterator) is always converted to the psite
	type.
	* apps/mesh-segm-skel/mesh-complex-max-curv-skel.cc,
	* apps/mesh-segm-skel/mesh-complex-pinv-curv-skel.cc,
	* apps/mesh-segm-skel/mesh-complex-skel.cc:
	Adjust.

481
482
483
484
485
486
487
488
489
2010-09-17  Roland Levillain  <roland@lrde.epita.fr>

	Aesthetic changes in thinning algorithms.

	* mln/topo/skeleton/breadth_first_thinning.hh: Remove a comment.
	* mln/topo/skeleton/priority_driven_thinning.hh: Likewise.
	Rename p_queue to queue to avoid confusions with mln::p_queue and
	improve uniformity w.r.t. topo::breadth_first_thinning.

490
491
492
493
494
495
496
497
2010-09-17  Roland Levillain  <roland@lrde.epita.fr>

	Fix the processing order in topo::breadth_first_thinning.

	* mln/topo/skeleton/breadth_first_thinning.hh: Use a p_queue_fast
	site set instead of a pair of p_set's to ensure an actual
	breadth-first processing of sites.

498
499
500
501
502
503
2010-09-16  Roland Levillain  <roland@lrde.epita.fr>

	Split interface and implementation of topo::is_not_end_point.

	* mln/topo/is_not_end_point.hh: Here.

504
505
506
507
508
509
510
511
512
2010-09-15  Roland Levillain  <roland@lrde.epita.fr>

	Catch up with the renaming to detach_cell.

	* apps/mesh-segm-skel/mesh-complex-max-curv-skel.cc,
	* apps/mesh-segm-skel/mesh-complex-pinv-curv-skel.cc,
	* apps/mesh-segm-skel/mesh-complex-skel.cc:
	s/detach/detach_cell/.

513
514
515
516
517
518
519
520
521
2010-09-15  Roland Levillain  <roland@lrde.epita.fr>

	Rename topo::detach as topo::detach_cell.

	* mln/topo/detach.hh (detach): Rename as...
	* mln/topo/detach_cell.hh (detach_cell): ...this, to prevent
	confusions with detach_point.
	* headers.mk: Regen.

522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
2010-09-15  Roland Levillain  <roland@lrde.epita.fr>

	Exercise breadth-first and priority-driven thinnings.

	* tests/topo/skeleton/breadth_first_thinning.cc,
	* tests/topo/skeleton/breadth_first_thinning_constrained.cc,
	* tests/topo/skeleton/priority_driven_thinning.cc,
	* tests/topo/skeleton/priority_driven_thinning_constrained.cc:
	New.
	* tests/topo/skeleton/Makefile.am (check_PROGRAMS): Add 
	breadth_first_thinning, breadth_first_thinning_constrained,
	priority_driven_thinning and priority_driven_thinning_constrained.
	(breadth_first_thinning_SOURCES)
	(breadth_first_thinning_constrained_SOURCES)
	(priority_driven_thinning_SOURCES)
	(priority_driven_thinning_constrained_SOURCES):
	New.
	(MOSTLYCLEANFILES): Add breadth_first_thinning-small.pbm,
	breadth_first_thinning_constrained-small.pbm,
	priority_driven_thinning-small.pbm and
	priority_driven_thinning_constrained-small.pbm.

544
545
546
547
548
549
550
2010-09-15  Roland Levillain  <roland@lrde.epita.fr>

	New skeletonization algorithm: priority-driven thinning.

	* mln/topo/skeleton/priority_driven_thinning.hh: New.
	* headers.mk: Regen.

551
552
553
554
555
556
557
558
559
560
2010-09-15  Roland Levillain  <roland@lrde.epita.fr>

	Add helpers to compute skeletons by thinning on regular 2D images.

	* mln/topo/is_simple_point2d.hh,
	* mln/topo/detach_point.hh,
	* mln/topo/is_not_end_point.hh:
	New.
	* headers.mk: Regen.

561
562
563
564
565
566
567
2010-09-15  Roland Levillain  <roland@lrde.epita.fr>

	Add tracing mechanism to breadth-first thinning.

	* mln/topo/skeleton/breadth_first_thinning.hh: Here.
	Typos and aesthetic changes.

568
569
570
571
572
573
574
2010-09-15  Roland Levillain  <roland@lrde.epita.fr>

	Small fix in breadth-first thinning.

	* mln/topo/skeleton/breadth_first_thinning.hh: Do not try to
	detach an aldready processed site.

575
576
577
578
579
580
581
582
583
584
585
2010-09-09  Roland Levillain  <roland@lrde.epita.fr>

	Make the 5th argument of breadth_first_thinning truly optional.

	* mln/topo/skeleton/breadth_first_thinning.hh
	(mln::topo::skeleton::breadth_first_thinning):
	Disable the default value of the 5th argument, which cannot be
	used in practice, since it depends on the parameter H.
	Add a 4-argument overloading to make the `constraint' argument
	optional.

586
587
588
589
590
591
592
593
2010-09-01  Roland Levillain  <roland@lrde.epita.fr>

	Add more documentation on the detach procedure.

	* mln/make/detachment.hh: Here.
	Typo.
	* mln/topo/detach.hh: Typo.

594
595
596
597
598
599
2010-07-28  Roland Levillain  <roland@lrde.epita.fr>

	Regen Milena's Makefile helpers.

	* headers.mk, tests/unit_test/unit-tests.mk: Here.

600
601
602
603
604
605
606
607
608
609
610
611
2010-07-28  Roland Levillain  <roland@lrde.epita.fr>

	Add a VTK output for images of unsigned integers.

	* mln/io/vtk/save.hh
	(io::vtk::save(const unsigned_2complex_image3df&, const std::string&)):
	New function.
	(io::vtk::internal::unsigned_vtk_saver): New structure.
	* tests/io/vtk/save.cc: Add a tests case for images of unsigneds.
	* tests/io/vtk/Makefile.am (MOSTLYCLEANFILES):
	Add save-tetrahedron-unsigned.vtk.

612
613
614
615
2010-07-28  Roland Levillain  <roland@lrde.epita.fr>

	* mln/io/vtk/save.hh: Fix documentation.

Roland Levillain's avatar
Roland Levillain committed
616
617
618
619
2010-07-27  Roland Levillain  <roland@lrde.epita.fr>

	* mln/io/vtk/all.hh: New.

620
621
622
623
624
625
626
2010-06-24  Roland Levillain  <roland@lrde.epita.fr>

	Add a specific (temporary) VTK output routine for binary mesh images.

	* apps/mesh-segm-skel/save_bin_alt.hh
	(mln::io::vtk::save_bin_alt): New function.

627
628
629
630
631
632
633
634
2010-06-24  Roland Levillain  <roland@lrde.epita.fr>

	Exercise mln::io::vtk::save.

	* tests/io/vtk/save.cc: New.
	* tests/io/vtk/Makefile.am: New.
	* tests/io/Makefile.am (SUBDIRS): Add vtk.

635
636
637
638
639
640
2010-06-24  Roland Levillain  <roland@lrde.epita.fr>

	Start a VTK output for complex-based images.

	* mln/io/vtk/save.hh: New.

641
642
643
644
2010-08-18  Roland Levillain  <roland@lrde.epita.fr>

	* mln/topo/skeleton/breadth_first_thinning.hh: Reindent.

645
646
647
648
649
650
651
652
2010-08-18  Roland Levillain  <roland@lrde.epita.fr>

	Fix two errors in mln::topo::skeleton::breadth_first_thinning.

	* mln/topo/skeleton/breadth_first_thinning.hh: Remove a stray
	semicolon at the end of a `for' statement.
	Create psite using the right iterator.

653
654
655
656
657
658
2010-07-28  Roland Levillain  <roland@lrde.epita.fr>

	Disable the last test case in test-mesh-complex-pinv-curv-skel.

	* apps/mesh-segm-skel/test-mesh-complex-pinv-curv-skel.in: Here.

659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
2010-07-15  Roland Levillain  <roland@lrde.epita.fr>

	mesh-complex-pinv-curv-segm and mesh-complex-pinv-curv-skel apps.

	* apps/mesh-segm-skel/mesh-complex-pinv-curv-segm.cc,
	* apps/mesh-segm-skel/mesh-complex-pinv-curv-skel.cc:
	New.
	* apps/mesh-segm-skel/mesh-complex-max-curv-segm.cc,
	* apps/mesh-segm-skel/mesh-complex-max-curv-skel.cc:
	Remove dead code.
	* apps/mesh-segm-skel/test-mesh-complex-pinv-curv-segm.in,
	* apps/mesh-segm-skel/test-mesh-complex-pinv-curv-skel.in:
	New.
	* apps/mesh-segm-skel/Makefile.am (bin_PROGRAMS): Add
	mesh-complex-pinv-curv-segm and mesh-complex-pinv-curv-skel.
	(mesh_complex_pinv_curv_segm_SOURCES)
	(mesh_complex_pinv_curv_skel_SOURCES):
	New.
	(TESTS): Add test-mesh-complex-pinv-curv-segm and
	test-mesh-complex-pinv-curv-skel.
	(MOSTLYCLEANFILES): Add socket-complex-pinv-curv-segm.off,
	teapot-complex-pinv-curv-segm.off,
	socket-complex-pinv-curv-skel.off and
	teapot-complex-pinv-curv-skel.off.

684
685
686
687
688
689
2010-06-14  Roland Levillain  <roland@lrde.epita.fr>

	Actually use the maximal curvature in mesh-complex-max-curv-segm.

	* apps/mesh-segm-skel/mesh-complex-max-curv-segm.cc: Here.

690
691
692
693
694
695
696
697
698
699
700
2010-06-14  Roland Levillain  <roland@lrde.epita.fr>

	Improve the precision of some mesh-segm-skel apps.

	* apps/mesh-segm-skel/mesh-complex-segm.cc,
	* apps/mesh-segm-skel/mesh-complex-skel.cc,
	* apps/mesh-segm-skel/mesh-complex-max-curv-segm.cc,
	* apps/mesh-segm-skel/mesh-complex-max-curv-skel.cc:
	Convert the floating point value input to an unsigned integer
	image to avoid precision errors due to float comparisons.

701
702
703
704
705
706
707
708
709
710
711
712
713
2010-06-14  Roland Levillain  <roland@lrde.epita.fr>

	New application: mesh-complex-max-curv-skel.

	* apps/mesh-segm-skel/mesh-complex-max-curv-skel.cc: New.
	* apps/mesh-segm-skel/test-mesh-complex-max-curv-skel.in: New.
	* apps/mesh-segm-skel/Makefile.am (bin_PROGRAMS):
	Add mesh-complex-max-curv-skel.
	(mesh_complex_max_curv_skel_SOURCES): New.
	(TESTS): Add test-mesh-complex-max-curv-skel.
	(MOSTLYCLEANFILES): Add socket-complex-max-curv-skel.off and
	teapot-complex-max-curv-skel.off.

714
715
716
717
718
719
720
721
2010-05-11  Roland Levillain  <roland@lrde.epita.fr>

	Clean up and new FIXMES in in apps/mesh-segm-skel.

	* apps/mesh-segm-skel/mesh-complex-max-curv.cc: Remove dead code.
	* apps/mesh-segm-skel/mesh-complex-skel.cc: Typo.
	* apps/mesh-segm-skel/Makefile.am: Add titles and FIXMES.

722
723
724
725
726
727
728
729
730
731
732
733
734
2010-05-11  Roland Levillain  <roland@lrde.epita.fr>

	New application: mesh-complex-max-curv-extrema.

	* apps/mesh-segm-skel/mesh-complex-max-curv-extrema.cc: New.
	* apps/mesh-segm-skel/test-mesh-complex-max-curv-extrema.in: New.
	* apps/mesh-segm-skel/Makefile.am (bin_PROGRAMS): Add
	mesh-complex-max-curv-extrema.
	(mesh_complex_max_curv_extrema_SOURCES): New.
	(TESTS): Add test-mesh-complex-max-curv-segm-extrema.
	(MOSTLYCLEANFILES): Add socket-complex-max-curv-segm-extrema.off
	and teapot-complex-max-curv-segm-extrema.off.

735
736
737
738
739
740
741
742
743
744
2010-05-10  Roland Levillain  <roland@lrde.epita.fr>

	Fix a bug in the reimplementation of Trimesh algorithms.

	* apps/mesh-segm-skel/misc.hh (mln::geom::mesh_curvature):
	Always call algebra::ldlt_decomp, even when NDEBUG is defined.
	Typo.
	Avoid a warning about an undefined variable when NDEBUG is not
	defined.

745
746
747
748
749
750
751
752
753
754
2010-05-04  Roland Levillain  <roland@lrde.epita.fr>

	Improve topo::skeleton::breadth_first_thinning.

	* mln/topo/skeleton/breadth_first_thinning.hh
	(mln::topo::skeleton::breadth_first_thinning):
	Fix a bias in the algorithm due to a buggy predicate.
	Introduce a temporary psite to help the compiler.
	Fix the type of `output'.

755
756
757
758
759
760
2013-08-29  Roland Levillain  <roland@lrde.epita.fr>

	Catch up with the new interface of the topological watershed.

	* apps/constrained-connectivity/constrained-connectivity.cc: Here.

761
762
763
764
765
766
767
768
769
2010-05-11  Roland Levillain  <roland@lrde.epita.fr>

	Have the topological WST be more generic.

	* mln/morpho/watershed/topological.hh: s/site/psite/g.
	(morpho::watershed::min, morpho::watershed::max):
	Abort when the set of components is empty.
	* mln/core/site_set/p_set.hh (p_set<P>::is_empty): New method.

770
771
772
773
774
775
776
777
2013-08-28  Roland Levillain  <roland@lrde.epita.fr>

	Fix Pi usage in Milena's apps.

	* apps/mesh-segm-skel/mesh-complex-max-curv-segm.cc,
	* apps/mesh-segm-skel/mesh-complex-max-curv.cc:
	Here.

778
779
780
781
782
783
2013-08-27  Roland Levillain  <roland@lrde.epita.fr>

	Use mln::math::pi instead of a local definition in Milena.

	* mln/algebra/quat.hh (mln::algebra::quat::set_unit): Here.

784
785
786
787
788
789
790
2013-08-27  Roland Levillain  <roland@lrde.epita.fr>

	Set mln::math::pi to 20 decimals.

	* mln/math/pi.hh (mln::math::pi): Here.
	Use the value of the M_PI macro from glibc's math.h header.

791
792
793
794
795
796
797
798
2013-08-27  Roland Levillain  <roland@lrde.epita.fr>

	Display Milena fatal errors on std::cerr, not std::cout.

	* mln/io/pdf/load.hh,
	* mln/io/tiff/load.hh:
	Here.

799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
2013-08-27  Roland Levillain  <roland@lrde.epita.fr>

	Remove Milena debug code making side effects on streams.

	* mln/accu/stat/median_alt.hh,
	* mln/canvas/browsing/dir_struct_elt_incr_update.hh,
	* mln/core/image/image2d.hh,
	* mln/core/internal/classical_window_base.hh,
	* mln/core/internal/image_morpher.hh,
	* mln/io/raw/load.hh,
	* mln/morpho/tree/data.hh,
	* mln/morpho/tree/impl/dual_hqueue.hh,
	* mln/morpho/tree/impl/dual_union_find.hh,
	* mln/morpho/watershed/topological.hh,
	* mln/util/edge.hh,
	* mln/util/timer.hh:
	Here.

Roland Levillain's avatar
Roland Levillain committed
817
818
819
820
821
822
823
824
825
826
2010-03-22  Roland Levillain  <roland@lrde.epita.fr>

	Remove old tools from doc/.

	* doc/Makefile.am (EXTRA_DIST): Remove generate_dist_files.sh and
	tools/clearbanner.sh.
	* doc/generate_dist_files.sh,
	* doc/tools/clearbanner.sh:
	Remove.

827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
2013-08-23  Roland Levillain  <roland@lrde.epita.fr>

	Improve the generation of Doxyfiles in Milena.

	* doc/Makefile.am (edit)
	($(srcdir)/user-refman.stamp)
	($(srcdir)/devel-refman.stamp):
	Use `[@]' instead of `\@' for portability reasons.
	(ID): New (empty).
	(edit_devel): Prevent configure from expanding @builddir@.
	Christen the product as ``Developer documentation''.
	($(DOXYFILE_USER), $(DOXYFILE_DEVEL)): Do not depend on $Id$ from
	ChangeLog.
	* doc/Doxyfile.in (PROJECT_NUMBER): Reintegrate @ID@ to the
	project number, even if it is not yet set.

843
844
845
846
847
848
849
850
2013-08-26  Roland Levillain  <roland@lrde.epita.fr>

	Run FFT unit tests only when FFTW3 support is enabled.

	* tests/unit_test/cond_tests_fftw3: New.
	* tests/unit_test/Makefile.am (COND_TESTS): Add cond_tests_fftw3.
	* tests/unit_test/unit-tests.mk: Regen.

851
852
853
854
855
856
2012-10-10  Roland Levillain  <roland@lrde.epita.fr>

	Split the interface of the FFT off from its implementation.

	* mln/transform/fft.hh: Here.

857
858
859
860
861
862
2012-10-10  Roland Levillain  <roland@lrde.epita.fr>

	Stylistic changes in the Fast Fourier Transform.

	* mln/transform/fft.hh: Here.

863
864
865
866
867
868
2012-10-10  Roland Levillain  <roland@lrde.epita.fr>

	Remove dead code in the Fast Fourier Transform.

	* mln/transform/fft.hh: Here.

869
870
871
872
873
874
875
876
877
878
879
880
881
2012-10-10  Roland Levillain  <roland@lrde.epita.fr>

	Minor corrections in the Fast Fourier Transform.

	* mln/transform/fft.hh
	(internal::_fft<T>::transformed_image() const): Return a const
	reference instead of a copy.
	(internal::_fft<T>::transformed_image_clipped_magn(double, bool)):
	Drop the const before the first argument.
	Properly initialize `max'.
	(internal::_fft<T>::transformed_image_log_magn(double, double, bool)):
	Properly initialize `max'.

882
883
884
885
886
887
888
889
890
891
892
2012-10-09  Roland Levillain  <roland@lrde.epita.fr>

	Improve the test of the Fast Fourier Transform.

	* tests/transform/fft.cc: Ensure the inverse transform of the
	transform is pretty much the same as the input image.
	Save the cropped transform.
	Remove dead code.
	* tests/transform/Makefile.am (MOSTLYCLEANFILES):
	Add fft_trans_cropped.pgm.

Roland Levillain's avatar
Roland Levillain committed
893
894
895
896
897
898
899
900
2012-10-09  Roland Levillain  <roland@lrde.epita.fr>

	Update copyright headers.

	* mln/transform/fft.hh,
	* tests/transform/fft.cc:
	Here.

901
902
903
904
2012-10-09  Roland Levillain  <roland@lrde.epita.fr>

	* headers.mk, tests/unit_test/unit-tests.mk: Regen.

905
906
907
908
909
910
911
912
913
914
2012-10-09  Roland Levillain  <roland@lrde.epita.fr>

	Exercise the Fast Fourier Transform.

	* tests/transform/fft.cc: Fix the path to the input image.
	* tests/transform/Makefile.am
	(check_PROGRAMS) [HAVE_FFTW3]: Add fft.
	(fft_SOURCES, fft_CPPFLAGS, fft_LDFLAGS) [HAVE_FFTW3]: New.
	(MOSTLYCLEANFILES): New.

915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
2012-10-09  Roland Levillain  <roland@lrde.epita.fr>

	Fix the Fast Fourier Transform.

	* mln/transform/fft.hh
	(mln::transform::fft<T, internal::fft_real>::fft):
	Properly initialize the plan of the inverse transform using
	fftw_plan_dft_c2r_2d.
	(mln::transform::fft<T, internal::fft_real>::transform_inv):
	Use the entire complex values (not just their real parts) to
	compute the inverse transform.
	(mln::transform::class fft<T, internal::fft_cplx>::fft):
	Call the proper function (fftw_plan_dft_2d) to create the plan of
	the inverse transform.
	Switch the input and the output so that the inverse transform uses
	the right images.

932
933
934
935
936
937
938
939
940
2012-10-09  Alexandre Abraham  <abraham@lrde.epita.fr>

	Import the FFTW-based Fast Fourier Transform.

	* mln/transform/fft.hh,
	* tests/transform/fft.cc:
	New.
	Imported from the old directory sanbox/abraham/.

941
942
943
944
945
946
947
2013-08-23  Roland Levillain  <roland@lrde.epita.fr>

	Fix a couple of Milena tests.

	* tests/accu/compute.cc: Correction the checked assertion.
	* tests/value/scalar.cc: Remove this (non-relevant) test.

948
949
950
951
2013-08-23  Roland Levillain  <roland@lrde.epita.fr>

	* mln/data/transform: Remove (empty) file.

952
953
954
955
956
957
958
2013-08-23  Roland Levillain  <roland@lrde.epita.fr>

	Distribute all Milena test images.

	* tests/Makefile.am (EXTRA_DIST): Add img/example-0.ppm,
	img/example-1.ppm, img/example-2.ppm and img/example-3.ppm.

959
960
961
962
963
964
965
966
967
968
2013-08-22  Roland Levillain  <roland@lrde.epita.fr>

	Improve Milena's mln/fun/v2v/rgb8_to_rgbn.hh.

	* mln/fun/v2v/rgb8_to_rgbn.hh: Turn precondition into a static
	assertion.
	Remove (dead) debugging code.
	Rewrite Doxygen comments.
	Cosmetic changes.

969
970
971
972
2013-08-22  Roland Levillain  <roland@lrde.epita.fr>

	* mln/core/image/dmorph/sub_image.hh: Fix indentation.

Roland Levillain's avatar
Roland Levillain committed
973
974
975
976
977
978
2013-08-22  Roland Levillain  <roland@lrde.epita.fr>

	Enable tests/fun/v2i.

	* tests/fun/Makefile.am (SUBDIRS): Add v2i.

979
980
981
982
983
984
985
986
987
988
989
2012-07-19  Roland Levillain  <roland@lrde.epita.fr>

	Various aesthetic changes in Milena.

	* mln/data/stretch.hh,
	* mln/fun/x2x/rotation.hh,
	* mln/tag/init.hh,
	* mln/test/positive.hh,
	* mln/test/predicate.hh:
	Here.

990
991
992
993
2012-07-19  Roland Levillain  <roland@lrde.epita.fr>

	* mln/core/point.hh: Fix documentation.

994
995
996
997
2012-02-08  Roland Levillain  <roland@lrde.epita.fr>

	* mln/morpho/watershed/flooding.hh: Uniformity-related changes.

998
999
1000
2012-02-08  Roland Levillain  <roland@lrde.epita.fr>

	* mln/data/stretch.hh: Do not name unused arguments.
For faster browsing, not all history is shown. View entire blame