ChangeLog 1.82 MB
Newer Older
1
2
3
4
5
6
7
8
2013-10-09  Roland Levillain  <roland@lrde.epita.fr>

	Milena: Make rotation axis optional.

	* mln/fun/x2x/rotation.hh
	(rotation<n, C>::rotation(const C&, const algebra::vec<n,C>&)):
	Provide a default version for the second argument.

9
10
11
12
13
14
15
16
17
18
19
20
2013-10-09  Roland Levillain  <roland@lrde.epita.fr>

	Milena: Have mln::debug::iota work with images of floats.

	* mln/debug/iota.hh (mln::trait::modulus<T>): New trait.
	(mln::debug::impl::iota(trait::image::speed::any, I&, unsigned)):
	* mln/debug/iota.spe.hh
	(mln::debug::impl::iota(trait::image::speed::fastest, I&, unsigned)):
	Here.
	* tests/debug/iota.cc: Exercise mln::debug::iota with an image of
	floats.

21
22
23
24
25
26
27
28
29
30
31
32
2013-10-09  Roland Levillain  <roland@lrde.epita.fr>

	Milena: Introduce point-wise function bindings.

	* mln/pw/bind.hh: New.
	* mln/pw/all.hh: Include mln/pw/bind.hh.
	* tests/pw/bind.cc: New.
	* tests/pw/Makefile.am (check_PROGRAMS): Add bind.
	* headers.mk,
	* tests/unit_test/unit-tests.mk:
	Regen.

33
34
35
36
37
38
39
40
41
42
43
44
45
2013-10-09  Roland Levillain  <roland@lrde.epita.fr>

	Milena: Add support for unary minus on images.

	* mln/arith/minus.hh
	(mln::trait::set_unary_<op::uminus, Image, I>): New.
	(mln::operator-(const Image<I>&))
	(mln::arith::uminus(const Image<I>&))
	(mln::arith::impl::uminus_(trait::image::speed::any, const I&, O&))
	(mln::arith::impl::uminus_(trait::image::speed::fastest, const I&, O&)):
	New.
	* tests/arith/minus.cc: Exercise unary minus.

46
47
48
49
50
51
52
2013-10-09  Roland Levillain  <roland@lrde.epita.fr>

	Milena: Exercise the unary plus operator on images.

	* tests/arith/plus.cc: Here.
	Remove dead code.

53
54
55
56
57
58
59
60
61
2013-10-09  Roland Levillain  <roland@lrde.epita.fr>

	Milena: Fix and update the Doxygen documentation.

	* mln/arith/minus.hh,
	* mln/fun/vv2v/diff_abs.hh,
	* mln/math/diff_abs.hh:
	Here.

Roland Levillain's avatar
Roland Levillain committed
62
63
64
65
66
67
68
69
2013-10-09  Roland Levillain  <roland@lrde.epita.fr>

	Milena: Aesthetic changes.

	* mln/arith/minus.hh,
	* tests/core/image/imorph/interpolated.cc:
	Here.

70
71
72
73
74
75
76
77
2013-10-07  Roland Levillain  <roland@lrde.epita.fr>

	Milena: New test exercising fun_image with RGB component functions.

	* tests/core/image/vmorph/fun_image_rgb.cc: New.
	* tests/core/image/vmorph/Makefile.am (check_PROGRAMS):
	Add fun_image_rgb.

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
2013-09-13  Roland Levillain  <roland@lrde.epita.fr>

	Milena: Factor Makefiles a bit more using file inclusion.

	* tests/tests.mk (AM_CPPFLAGS): Move general flags...
	* common.mk (AM_CPPFLAGS): ...here.
	Include it...
	* doc/Makefile.am: ...here, to factor common parts.
	* milena/apps/apps.mk: New file.
	Include it...
	* apps/constrained-connectivity/Makefile.am,
	* apps/generic-skel/Makefile.am,
	* apps/graph-morpho/Makefile.am,
	* apps/morphers/Makefile.am,
	* apps/papers/levillain.09.ismm/Makefile.am:
	...here, to factor common parts.
	* apps/mesh-segm-skel/Makefile.am: Likewise.
	(noinst_HEADERS): Add save_bin_alt.hh.
	(mesh_complex_skel_SOURCES)
	(mesh_complex_max_curv_skel_SOURCES)
	(mesh_complex_pinv_curv_skel_SOURCES):
	Remove.
	* tools/tools.mk: Remove this file and move its contents...
	* tools/Makefile.am: ...here.

103
104
105
106
107
108
109
110
2013-09-12  Roland Levillain  <roland@lrde.epita.fr>

	Milena: Remove `return 0;' statements at end of main().

	* demos/inter_pixel/inter_pixel.cc,
	* tests/io/plot/load.cc:
	Here.

111
112
113
114
115
116
2013-09-11  Roland Levillain  <roland@lrde.epita.fr>

	Regen Milena's unit-tests.mk.

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

117
118
119
120
121
122
123
124
125
126
127
128
129
130
2013-09-10  Roland Levillain  <roland@lrde.epita.fr>

	Milena: Remove lines `VARIABLE = @VARIABLE@' from Makefile.am's.

	* apps/constrained-connectivity/Makefile.am,
	* apps/generic-skel/Makefile.am,
	* apps/graph-morpho/Makefile.am,
	* apps/mesh-segm-skel/Makefile.am,
	* apps/morphers/Makefile.am,
	* apps/papers/levillain.09.ismm/Makefile.am,
	* tests/tests.mk,
	* tools/tools.mk:
	Here, as Automake 1.11+ already takes care of this.

131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
2013-09-09  Roland Levillain  <roland@lrde.epita.fr>

	Milena: Do not look for headers in the build tree uselessly.

	* tools/tools.mk (AM_CPPFLAGS): Remove Milena's build dir from the
	file inclusion path.
	Remove outdated FIXMEs.
	* apps/constrained-connectivity/Makefile.am,
	* apps/graph-morpho/Makefile.am,
	* apps/mesh-segm-skel/Makefile.am,
	* apps/morphers/Makefile.am,
	* apps/papers/levillain.09.ismm/Makefile.am
	(AM_CPPFLAGS): Explain why $(top_builddir)/milena is part of the
	file inclusion path.
	* apps/generic-skel/Makefile.am,
	* doc/Makefile.am,
	* tests/tests.mk
	(AM_CPPFLAGS): Uniformity changes.

150
151
152
153
154
155
156
157
2013-09-06  Roland Levillain  <roland@lrde.epita.fr>

	Force make to regen Milena's mln/version.hh before other files.

	* Makefile.am (SUBDIRS): Prepend `.' to the list of subdirectories
	to force make to honor this Makefile's targets before recursing in
	Milena's subdirectories.

158
159
160
161
162
163
2013-09-06  Roland Levillain  <roland@lrde.epita.fr>

	Have `make regen' also regenerate Milena's mln/version.hh.

	* Makefile.am (regen-am): Here.

164
165
166
167
168
169
170
2013-09-06  Roland Levillain  <roland@lrde.epita.fr>

	Do not harcode OLN_PACKAGE_AUTHORS in Milena's mln/version.hh.in.

	* mln/version.hh.in (OLN_PACKAGE_AUTHORS): Set it to
	@PACKAGE_AUTHORS@.

171
172
173
174
175
176
177
178
179
180
181
182
2013-09-06  Roland Levillain  <roland@lrde.epita.fr>

	Generate Milena's mln/version.hh in the source tree.

	* Makefile.am ($(srcdir)/mln/version.hh): New target, generating
	mln/version.hh in the source tree using make instead of configure.
	(edit): New.
	(EXTRA_DIST): Add mln/version.hh.in
	(nobase_nodist_include_HEADERS): Remove mln/version.hh.
	* mln/version.hh: New (generated).
	* headers.mk: Regen.

183
184
185
186
187
188
189
2013-09-05  Roland Levillain  <roland@lrde.epita.fr>

	Remove an unnecessary #include from an example of the tutorial.

	* doc/examples/tuto3/first_routine.cc: Here.
	* doc/examples/split/tuto3_first_routine-1.cc.raw: Regen.

190
191
192
193
194
195
196
197
2013-09-02  Roland Levillain  <roland@lrde.epita.fr>

	Add parentheses around complex operands of operator `|'.

	* apps/mesh-segm-skel/mesh-complex-max-curv-1-collapse.cc,
	* apps/mesh-segm-skel/mesh-complex-max-curv-2-collapse.cc:
	Here, as suggested by g++ 4.7.

198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
2013-09-02  Roland Levillain  <roland@lrde.epita.fr>

	Do not run test-mixed in Milena apps with the `check' target.

	* apps/generic-skel/test-mixed.in,
	* apps/mesh-segm-skel/test-mixed.in:
	Add a `-wadgmm-2010' suffix to saved images to distinguish them
	from outputs of other tests.
	* apps/generic-skel/Makefile.am,
	* apps/mesh-segm-skel/Makefile.am
	(MOSTLYCLEANFILES): Adjust.
	Add files generated by disabled test cases.
	(generated_checked_tests): New.
	Contain all generated checked tests.
	(generated_tests): Set it to contain all test (checked
	automatically and run manually).
	(TESTS): Set it to $(generated_checked_tests).
	Aesthetic changes.

217
218
219
220
221
222
223
224
2013-08-31  Roland Levillain  <roland@lrde.epita.fr>

	Aesthetic changes in Milena apps Makefiles.

	* apps/generic-skel/Makefile.am,
	* apps/mesh-segm-skel/Makefile.am:
	Here.

225
226
227
228
229
230
2013-08-31  Roland Levillain  <roland@lrde.epita.fr>

	Factor the generation of tests in Milena's apps/mesh-segm-skel.

	* apps/mesh-segm-skel/Makefile.am: Here.

231
232
233
234
235
236
237
238
239
240
241
2013-08-31  Roland Levillain  <roland@lrde.epita.fr>

	Distribute sources of generated tests in Milena apps.

	* apps/generic-skel/Makefile.am (EXTRA_DIST): Add test-mixed.in.
	* apps/mesh-segm-skel/Makefile.am (EXTRA_DIST): Add
	test-mesh-complex-2-collapse.in,
	test-mesh-complex-max-curv-2-collapse.in,
	test-mesh-complex-max-curv-1-collapse.in and
	test-mixed.in.

Roland Levillain's avatar
Roland Levillain committed
242
243
244
245
246
247
248
249
2013-08-31  Roland Levillain  <roland@lrde.epita.fr>

	Do not install Milena apps.

	* apps/generic-skel/Makefile.am,
	* apps/mesh-segm-skel/Makefile.am:
	s/bin_PROGRAMS/noinst_PROGRAMS/.

Roland Levillain's avatar
Roland Levillain committed
250
251
252
253
254
255
256
2013-08-31  Roland Levillain  <roland@lrde.epita.fr>

	Fix the distribution.

	* apps/generic-skel/Makefile.am (noinst_HEADERS):
	Add image3d-skel.hh.

257
258
259
260
261
262
263
2013-08-31  Roland Levillain  <roland@lrde.epita.fr>

	Fix a Makefile inclusion in Milena's apps/generic-skel.

	* apps/generic-skel/Makefile.am: Include
	$(top_srcdir)/milena/common.mk.

264
265
266
267
268
269
270
271
272
273
274
2013-08-30  Roland Levillain  <roland@lrde.epita.fr>

	Simplify even more Milena Makefiles thanks to AM_DEFAULT_SOURCE_EXT.

	* apps/generic-skel/Makefile.am,
	* apps/mesh-segm-skel/Makefile.am,
	* tests/io/vtk/Makefile.am,
	* tests/transform/Makefile.am,
	* tools/Makefile.am:
	Here.

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
2013-08-30  Roland Levillain  <roland@lrde.epita.fr>

	Regen images of the Milena documentation.

	* doc/figures/extend-1.ppm,
	* doc/figures/extend-2.ppm,
	* doc/figures/extend-3.ppm,
	* doc/figures/extend-4.ppm,
	* doc/figures/extend-5.ppm,
	* doc/figures/fill-1.ppm,
	* doc/figures/fill-2.ppm,
	* doc/figures/fill-imageif-cfun-1.ppm,
	* doc/figures/fill-subdomain-1.pbm,
	* doc/figures/fill-subdomain-2.ppm,
	* doc/figures/fill-subdomain-3.ppm,
	* doc/figures/fill-subdomain-4.ppm,
	* doc/figures/ima2d-rot-1.ppm,
	* doc/figures/ima2d-rot-2.ppm,
	* doc/figures/ima_save.pbm,
	* doc/figures/labeling-compute-1.pbm,
	* doc/figures/labeling-compute-2.ppm,
	* doc/figures/logical-not-1.pbm,
	* doc/figures/logical-not-2.pbm,
	* doc/figures/logical-not-3.pbm,
	* doc/figures/tuto2_first_image-1.pbm,
	* doc/figures/tuto3_colorize-1.pgm,
	* doc/figures/tuto3_colorize-2.ppm,
	* doc/figures/tuto3_rw_image-1.ppm,
	* doc/figures/tuto3_rw_image-2.ppm,
	* doc/figures/tuto3_rw_image-3.ppm,
	* doc/figures/tuto4_genericity_and_algorithms-1.ppm,
	* doc/figures/tuto4_genericity_and_algorithms-2.ppm,
	* doc/figures/tuto4_genericity_and_algorithms-3.pbm,
	* doc/figures/tuto4_genericity_and_algorithms-4.ppm,
	* doc/figures/tuto4_genericity_and_algorithms-5.ppm,
	* doc/figures/tuto4_genericity_and_algorithms-6.ppm:
	Regen.

313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
2013-08-30  Roland Levillain  <roland@lrde.epita.fr>

	Make remaining Milena copyright headers uniform.

	* apps/generic-skel/image2d-skel-unconstrained.cc,
	* apps/generic-skel/image2d-skel-with-end-points.cc,
	* apps/mesh-segm-skel/mesh-complex-2-collapse.cc,
	* apps/mesh-segm-skel/mesh-complex-max-curv-1-collapse.cc,
	* apps/mesh-segm-skel/mesh-complex-max-curv-2-collapse.cc,
	* apps/mesh-segm-skel/mesh-complex-max-curv-extrema.cc,
	* apps/mesh-segm-skel/mesh-complex-max-curv-skel.cc,
	* apps/mesh-segm-skel/mesh-complex-pinv-curv-segm.cc,
	* apps/mesh-segm-skel/mesh-complex-pinv-curv-skel.cc,
	* apps/mesh-segm-skel/off-to-vtk-bin.cc,
	* mln/topo/is_not_1d_isthmus.hh,
	* mln/topo/is_not_end_point.hh:
	Here.

331
332
333
334
335
336
2013-08-30  Roland Levillain  <roland@lrde.epita.fr>

	Disable tests/value/int_u32 in Milena.

	* tests/value/Makefile.am: Here.

337
338
339
340
341
342
343
344
345
2013-08-29  Roland Levillain  <roland@lrde.epita.fr>

	Fix 3D simple point generators in Milena tools.

	* tools/Makefile.am: Fix build rules of optional programs.
	* tools/simple_point3d_lut_tbb.cc: Rename as...
	* tools/simple_point_3d_lut_tbb.cc: ...this.
	s/point_3d/point3d/.

346
347
348
349
350
351
352
353
354
2013-08-29  Roland Levillain  <roland@lrde.epita.fr>

	Kill warnings about unused variables.

	* mln/io/vtk/save.hh,
	* tools/connectivity_numbers_3d_tbb.hh,
	* tools/simple_point3d_lut_tbb.hh:
	Here.

355
356
357
358
359
360
361
2013-08-29  Roland Levillain  <roland@lrde.epita.fr>

	Kill warnings about signed vs unsigned values.

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

362
363
364
365
366
367
2013-08-29  Roland Levillain  <roland@lrde.epita.fr>

	Catch up with the current interface of breadth_first_thinning.

	* apps/morphers/recorder-bft.cc: Here.

368
369
370
371
372
373
374
375
2013-08-29  Roland Levillain  <roland@lrde.epita.fr>

	Catch up with the current interface of mln::image3d.

	* apps/generic-skel/image3d-skel-unconstrained.cc,
	* apps/generic-skel/image3d-skel.hh:
	Here.

376
377
378
379
380
381
2013-08-29  Roland Levillain  <roland@lrde.epita.fr>

	Replace meyer_wst with watershed::flooding.

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

382
383
384
385
386
387
388
389
390
391
392
393
2013-08-29  Roland Levillain  <roland@lrde.epita.fr>

	Convert remaining Milena code to mln_trace.

	* doc/examples/devel/facade.cc.raw,
	* doc/examples/devel/impl.cc.raw,
	* mln/io/vtk/save.hh,
	* mln/topo/skeleton/breadth_first_thinning.hh,
	* mln/topo/skeleton/priority_driven_thinning.hh,
	* new-header:
	Here.

394
395
396
397
398
399
400
401
402
403
2013-08-29  Roland Levillain  <roland@lrde.epita.fr>

	Fix the use of Pi in Milena's apps/mesh-segm-skel.

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

404
405
406
407
408
409
410
411
412
413
414
415
2013-08-29  Roland Levillain  <roland@lrde.epita.fr>

	Fix header inclusions in Milena's apps/mesh-segm-skel.

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

416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
2012-02-17  Roland Levillain  <roland@lrde.epita.fr>

	Add tests to generate figures for the WADGMM 2010/LNCS submission.

	* apps/generic-skel/image2d-skel-unconstrained.cc,
	* apps/generic-skel/image2d-skel-with-end-points.cc,
	* apps/generic-skel/image3d-skel-unconstrained.cc,
	* apps/mesh-segm-skel/mesh-complex-max-curv-1-collapse.cc,
	* apps/mesh-segm-skel/mesh-complex-max-curv-2-collapse.cc,
	* apps/mesh-segm-skel/mesh-complex-pinv-curv-skel.cc:
	Display the size of the input.
	Time the thinning step.
	* milena/apps/generic-skel/test-mixed.in,
	* milena/apps/mesh-segm-skel/test-mixed.in:
	New.
	* apps/generic-skel/Makefile.am (generated_tests): Add test-mixed.
	(test-mixed): New target.
	(check-mixed): New (phony) target.
	* apps/mesh-segm-skel/Makefile.am: Likewise.
	($(generated_tests)): New target.
	(AM_CPPFLAGS): Add -I$(top_builddir)/milena so that
	mln/version.hh, which is a generated header, can be found by the
	compiler.

440
441
442
443
444
445
446
447
448
449
450
451
452
453
2011-06-13  Roland Levillain  <roland@lrde.epita.fr>

	Introduce a no-constraint functor to replace fun::p2b::tautology.

	* mln/fun/p2b/antilogy.hh,
	* mln/fun/p2b/tautology.hh:
	Do not include mln/core/alias/point2d.hh.
	* mln/topo/no_constraint.hh: New file.
	* mln/topo/skeleton/breadth_first_thinning.hh,
	* mln/topo/skeleton/priority_driven_thinning.hh:
	Use mln::topo::no_constraint instead of mln::fun::p2b::tautology.
	Do not include the standard header `algorithm'.
	* headers.mk, tests/unit_test/unit-tests.mk: Regen.

454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
2011-07-13  Roland Levillain  <roland@lrde.epita.fr>

	Factor code of 2D skeletonizations in apps/generic-skel/.

	* mln/topo/is_not_end_point.hh: s/nbh/nbh_fg/.
	(is_not_end_point<I, N>::is_not_end_point(const Neighborhood<N>&)):
	New ctor.
	(is_not_end_point<I, N>::set_image): New method.
	(is_not_end_point<I, N>::ima_): Turn this reference into a pointer.
	Adjust.
	* mln/topo/is_simple_point2d.hh
	(mln::topo::is_simple_point2d<I, N>::operator())
	* mln/topo/detach_point.hh
	(mln::topo::detach_point<I>::operator()):
	Add preconditions.
	* apps/generic-skel/image2d-skel-with-end-points.cc:
	Use `mln::topo::is_simple_point2d' and `mln:: topo::detach_point'
	from mln/topo/, instead of `is_simple_2d' and `detach' from
	image2d-skel.hh
	* apps/generic-skel/image2d-skel-unconstrained.cc: Likewise.
	Remove the (lack of) constraint, as
	mln::topo::skeleton::breadth_first_thinning already takes care of
	this.
	* apps/generic-skel/image2d-skel.hh: Remove.
	* apps/generic-skel/Makefile.am
	(image2d_skel_unconstrained_SOURCES)
	(image2d_skel_with_end_points_SOURCES):
	Remove image2d-skel.hh.

483
484
485
486
487
488
489
490
491
492
493
494
2011-07-13  Roland Levillain  <roland@lrde.epita.fr>

	Misc changes in apps/generic-skel/ and tools/.

	* apps/generic-skel/image3d-skel-unconstrained.cc:
	Remove a useless header inclusion.
	* apps/generic-skel/image3d-skel-with-end-points.cc:
	Fix a comment.
	* tools/compute_local_configurations.cc:
	Add a comment.
	* tools/connectivity_numbers_3d.hh: Add a FIXME.

495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
2011-07-13  Roland Levillain  <roland@lrde.epita.fr>

	Exercise breadth-first thinning with predicate is_not_1d_isthmus.

	* apps/generic-skel/image3d-skel-with-1d-isthmuses.cc: New.
	* apps/generic-skel/Makefile.am (bin_PROGRAMS):
	Add image3d-skel-with-1d-isthmuses.
	(image3d_skel_with_1d_isthmuses_SOURCES): New.
	(TESTS): Add image3d-skel-with-1d-isthmuses.
	(MOSTLYCLEANFILES): Add
	image3d-skel-with-1d-isthmuses-input.raw,
	image3d-skel-with-1d-isthmuses-input.vtk,
	image3d-skel-with-1d-isthmuses-skel.raw and
	image3d-skel-with-1d-isthmuses-skel.vtk.

510
511
512
513
514
515
516
2011-07-13  Roland Levillain  <roland@lrde.epita.fr>

	Add a non 1D isthmus predicate for (2D and 3D) binary images.

	* mln/topo/is_not_1d_isthmus.hh: New.
	* headers.mk, tests/unit_test/unit-tests.mk: Regen.

517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
2011-07-12  Roland Levillain  <roland@lrde.epita.fr>

	Check the consistency of tools/simple_point3d_lut_26_6.hh.

	* tools/simple_point3d_lut_26_6.cc: New.
	* tools/test_simple_point3d_lut_26_6.cc: New.
	* tools/tools.mk (AM_CPPFLAGS): Add -I$(top_builddir)/milena.
	* tools/Makefile.am (noinst_LTLIBRARIES): New.
	Add libsimple_point3d_lut_26_6.la.
	(libsimple_point3d_lut_26_6_la_SOURCES): New.
	(EXTRA_PROGRAMS): Add test_simple_point3d_lut_26_6.
	(test_simple_point3d_lut_26_6_SOURCES)
	(test_simple_point3d_lut_26_6_LDADD):
	New.

532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
2011-07-12  Roland Levillain  <roland@lrde.epita.fr>

	Fix and improve the (fast) computation of 2D connectivity numbers.

	* mln/topo/is_simple_2d.hh (mln::connectivity_number_2d): Create
	the configuration number by considering that the first (resp.
	last) neighbors (in the forward browsing order) represent the
	least (resp. most) significant bits of the configuration number,
	as does the algorithm that computed the 8-c and 4-c LUTs (arrays
	mln::connectivity_number_c8 and mln::connectivity_number_c4).
	* mln/topo/connectivity_number_2d.hh: New.
	* mln/topo/is_simple_point2d.hh: Fix dates in copyright header.
	* tests/topo/connectivity_numbers_2d.cc: New.
	* tests/topo/Makefile.am (check_PROGRAMS):
	Add connectivity_numbers_2d.
	(connectivity_numbers_2d_SOURCES): New.

Roland Levillain's avatar
Roland Levillain committed
549
550
551
552
2011-07-12  Roland Levillain  <roland@lrde.epita.fr>

	Add more tests.

Roland Levillain's avatar
Roland Levillain committed
553
	* tests/core/alias/dpoint2d.cc: Exercise the subtraction of a
Roland Levillain's avatar
Roland Levillain committed
554
555
556
557
558
559
560
561
562
563
564
565
566
567
	dpoint2d from a point2d.
	* tests/core/alias/neighb2d.cc: New.
	* tests/core/alias/Makefile.am (check_PROGRAMS): Add neighb2d.
	(neighb2d_SOURCES): New.
	* tests/io/dump/dump.cc: Exercise mln::io::dump::load and
	mln::io::dump::save with 3D binary images.
	* tests/io/dump/Makefile.am (MOSTLYCLEANFILES):
	Add dump-bool-3d.dump
	* tests/value/int_u32.cc: New test (known to fail).
	* tests/value/Makefile.am (check_PROGRAMS): Add int_u32.
	(int_u32_SOURCES): New.
	(XFAIL_TESTS): New.
	Add int_u32.

568
569
570
571
2011-07-12  Roland Levillain  <roland@lrde.epita.fr>

	* apps/generic-skel/image3d-skel.hh: Add `inline' qualifiers.

572
573
574
575
576
577
578
579
580
581
582
2011-07-11  Roland Levillain  <roland@lrde.epita.fr>

	Introduce a better VTK output routine in apps/generic-skel.

	* apps/generic-skel/image3d-skel.hh (save_vtk_polyhedrons):
	New function.
	Use it...
	* apps/generic-skel/image3d-skel-unconstrained.cc,
	* apps/generic-skel/image3d-skel-with-end-points.cc:
	...here, instead of save_vtk_polygons.

583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
2011-07-11  Roland Levillain  <roland@lrde.epita.fr>

	Add a VTK output routine in apps/generic-skel.

	* apps/generic-skel/image3d-skel.hh: Aesthetic changes.
	(save_vtk_polygons): New function.
	Use it...
	* apps/generic-skel/image3d-skel-unconstrained.cc,
	* apps/generic-skel/image3d-skel-with-end-points.cc:
	...here, to save images in VTK format.
	* apps/generic-skel/Makefile.am (MOSTLYCLEANFILES):
	Add image3d-skel-unconstrained-input.vtk,
	image3d-skel-unconstrained-skel.vtk,
	image3d-skel-with-end-points-input.vtk and
	image3d-skel-with-end-points-skel.vtk,

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

	Use package metadata macros instead of hard-coded strings in I/Os.

	* mln/io/fld/write_header.hh (mln::io::fld::write_header)
	* mln/io/off/save.hh
	(mln::io::off::internal::off_saver<I, E>::operator())
	* mln/io/pnm/save_header.hh (mln::io::pnm::save_header)
	* mln/io/vtk/save.hh
	(mln::io::vtk::internal::vtk_saver<I, E>::operator()):
	Here.
	* mln/version.hh.in (OLN_PACKAGE_URL, OLN_PACKAGE_AUTHORS):
	New macros.

613
614
615
616
617
618
619
620
621
2011-07-11  Roland Levillain  <roland@lrde.epita.fr>

	No longer consider mln/version.hh.in as handled by autoheader.

	* mln/version.hh.in (OLN_PACKAGE_BUGREPORT, OLN_PACKAGE_NAME)
	(OLN_PACKAGE_STRING, OLN_PACKAGE_VERSION): Define these macros
	using "@PACKAGE_BUGREPORT@", "@PACKAGE_NAME@", "@PACKAGE_STRING@"
	and "@PACKAGE_VERSION@".

622
623
624
625
626
627
628
629
630
631
632
633
634
2011-06-16  Roland Levillain  <roland@lrde.epita.fr>

	Set connectivity number functions when building is_simple_point3d.

	* mln/topo/is_simple_point3d.hh
	(mln::topo::is_simple_point3d<I, N>::init_): New method.
	(connectivity_number_fun_t): New (private) typedef.
	(connectivity_number_fg, connectivity_number_bg):
	New (private) members.
	Initialize them...
	(mln::topo::is_simple_point3d<I, N>::is_simple_point3d):
	...from the ctors, using init_().

635
636
637
638
639
640
641
642
643
644
2011-06-16  Roland Levillain  <roland@lrde.epita.fr>

	Fix, factor and improve the (exact) simple 3D point criterion.

	* mln/topo/is_simple_point3d.hh
	(mln::topo::is_simple_point3d<I, N>::operator()):
	Honor the neighborhoods.
	Use the new routines to compute the connectivity numbers instead
	of computing them directly.

645
646
647
648
649
650
651
2011-06-16  Roland Levillain  <roland@lrde.epita.fr>

	Add routines to compute 3D connectivity numbers.

	* mln/topo/connectivity_number_3d.hh: New.
	* headers.mk, tests/unit_test/unit-tests.mk: Regen.

652
653
654
655
656
657
658
659
660
661
2011-06-15  Roland Levillain  <roland@lrde.epita.fr>

	Improve the generation of simple 3D point look-up tables.

	* tools/gen_cxx_lut: New script.
	* tools/Makefile.am (EXTRA_DIST): Add gen_cxx_lut.
	(simple_point3d_lut_26_6.hh): Add a dependency on
	$(srcdir)/gen_cxx_lut.
	Use gen_cxx_lut to generate this target.

662
663
664
665
666
667
668
669
670
671
672
673
674
675
2011-06-15  Roland Levillain  <roland@lrde.epita.fr>

	tools: s/simple_point_3d/simple_point3d/.

	* tools/simple_point_3d_lut.cc,
	* tools/simple_point_3d_lut.hh,
	* tools/simple_point_3d_lut_tbb.hh:
	Rename as...
	* tools/simple_point3d_lut.cc,
	* tools/simple_point3d_lut.hh,
	* tools/simple_point3d_lut_tbb.hh:
	...these.
	* tools/Makefile.am: s/simple_point_3d/simple_point3d/.

676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
2011-06-14  Roland Levillain  <roland@lrde.epita.fr>

	New app: apps/generic-skel/image3d-skel-unconstrained.

	* apps/generic-skel/image3d-skel-unconstrained.cc: New.
	* apps/generic-skel/Makefile.am (bin_PROGRAMS):
	Add image3d-skel-unconstrained.
	(image3d_skel_unconstrained_SOURCES): New.
	(TESTS): Rename as...
	(generated_tests): New variable.
	($(generated_tests)): New target.
	Supersede...
	(test-image2d-skel-unconstrained test-image2d-skel-with-end-points):
	...this target.
	(CLEANFILES): Set to $(generated_tests).
	(TESTS): Add $(generated_tests).
	Add image3d-skel-unconstrained and image3d-skel-with-end-points.
	(MOSTLYCLEANFILES): Add image3d-skel-unconstrained-input.raw and
	image3d-skel-unconstrained-skel.raw.

696
697
698
699
700
701
702
703
704
705
706
707
2011-06-14  Roland Levillain  <roland@lrde.epita.fr>

	Isolate reusable code from image3d-skel-with-end-points.

	* apps/generic-skel/image3d-skel-with-end-points.cc
	(load_pgm_3d, save_raw_3d, subsampling_3d, draw_torus):
	Move functions...
	* apps/generic-skel/image3d-skel.hh: ...here (new file).
	(make_triple_torus): New function.
	* apps/generic-skel/Makefile.am (noinst_HEADERS):
	Add image3d-skel.hh.

708
709
710
711
712
713
714
715
716
717
2011-06-14  Roland Levillain  <roland@lrde.epita.fr>

	Add a 3D volume of the Stanford bunny.

	* img/bunny.pgm: New.
	From Benjamin Raynal <raynalb@esiee.fr>.
	Document it...
	* img/README: ...here.
	* Makefile.am (dist_img_DATA): Add img/bunny.pgm.

718
719
720
721
722
723
724
725
726
727
728
2011-06-01  Roland Levillain  <roland@lrde.epita.fr>

	New application computing a 3D skeleton preserving end points.

	* apps/generic-skel/image3d-skel-with-end-points.cc: New.
	* apps/generic-skel/Makefile.am (bin_PROGRAMS):
	Add image3d_skel_with_end_points.
	(image3d_skel_with_end_points): New.
	(MOSTLYCLEANFILES): Add image3d-skel-with-end-points-input.raw
	and image3d-skel-with-end-points-skel.raw.

729
730
731
732
733
734
2011-05-31  Roland Levillain  <roland@lrde.epita.fr>

	Regen Milena's Makefile helpers.

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

735
736
737
738
739
740
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.

741
742
743
744
745
746
747
748
749
750
751
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.

752
753
754
755
756
757
758
759
760
761
762
763
764
765
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.

766
767
768
769
770
771
772
773
774
775
776
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.

777
778
779
780
781
782
783
784
785
786
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.

787
788
789
790
791
792
793
794
795
796
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.

797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
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.

817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
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.

832
833
834
835
836
837
838
839
840
841
842
843
844
845
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.

846
847
848
849
850
851
852
853
854
855
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

856
857
858
859
860
861
862
863
864
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.

865
866
867
868
869
870
871
872
873
874
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.

875
876
877
878
879
880
881
882
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.

883
884
885
886
887
888
889
890
891
892
893
894
895
896
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.

897
898
899
900
901
902
903
904
905
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.

906
907
908
909
910
911
912
913
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.

914
915
916
917
918
919
920
921
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.

922
923
924
925
926
927
928
929
930
931
932
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.

933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
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.

960
961
962
963
964
965
966
967
968
969
970
971
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.

972
973
974
975
976
977
978
979
980
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.

981
982
983
984
985
986
987
988
989
990
991
992
993
994
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.

995
996
997
998
999
1000
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:
For faster browsing, not all history is shown. View entire blame