-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathieeeVis2023Tutorial.html
535 lines (436 loc) · 19 KB
/
ieeeVis2023Tutorial.html
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
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="The Topology ToolKit">
<meta name="author" content="The Topology ToolKit">
<meta name="keywords" content="TTK, Topology ToolKit, Topological Data
Analysis, Visualization, Reeb graph, Reeb Space, Morse-Smale complex, contour
tree, persistence diagram, merge tree, Wasserstein distance, persistence curve, continuous scatterplot, fiber
surface, contour forests, jacobi set, mandatory critical points, topological
simplification, VTK, ParaView, Python, tutorial, IEEE VIS 2020" />
<title>TTK - the Topology ToolKit - Topological Data Analysis and
Visualization</title>
<!-- Bootstrap Core CSS -->
<link href="vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<!-- Theme CSS -->
<link href="css/clean-blog.min.css" rel="stylesheet">
<!-- Custom Fonts -->
<link href="vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
<link href='https://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800' rel='stylesheet' type='text/css'>
<link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="favicon-16x16.png">
<link rel="manifest" href="site.webmanifest">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga'
);
ga('create', 'UA-88087813-1', 'auto');
ga('send', 'pageview');
</script>
<script type="text/javascript">
var _gaq = _gaq || [];
var pluginUrl =
'//www.google-analytics.com/plugins/ga/inpage_linkid.js';
_gaq.push(['_require', 'inpage_linkid', pluginUrl]);
_gaq.push(['_setAccount', 'UA-88087813-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type =
'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl'
: 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ga, s);
})();
</script>
<!-- End Google Analytics -->
</head>
<body>
<!-- Navigation -->
<nav class="navbar navbar-default navbar-custom navbar-fixed-top">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header page-scroll">
<button type="button" class="navbar-toggle"
data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
Menu <i class="fa fa-bars"></i>
</button>
<a class="navbar-brand" href="index.html">
TTK Home</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling
-->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<li>
<a href="examples/index.html" target="new">Examples</a>
</li>
<li>
<a href="tutorials.html">Videos</a>
</li>
<li>
<a href="downloads.html">Downloads</a>
</li>
<li>
<a href="installation.html">Installation</a>
</li>
<li>
<a href="documentation.html">Documentation</a>
</li>
<li>
<a href="events.html">Events</a>
</li>
<li>
<a href="contribute.html">Contribute</a>
</li>
<li>
<a href="contact.html">Contact</a>
</li>
</ul>
</div>
<!-- /.navbar-collapse -->
</div>
<!-- /.container -->
</nav>
<!-- Page Header -->
<!-- Set your background image for this header on the line below. -->
<header class="intro-header"
style="background-image: url('img/tutorial2019.jpg'">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
<div class="page-heading">
<h1>Topology ToolKit</h1>
<hr class="small">
<span class="subheading">Events</span>
</div>
</div>
</div>
</div>
</header>
<!-- Main Content -->
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
<p>
<h1>A Hands-on TTK Tutorial for Absolute Beginners</h1>
<h3>
<a target="new"
href="http://ieeevis.org/year/2023/info/tutorials">
IEEE VIS 2023 Tutorial</a><br>
Sunday October 22, 2023, 9:00am-12:00pm<br>
IEEE VIS, Melbourne, Australia
<br><br>
Registration:</b><br>
· <a href="https://forms.gle/t4xX4a3pJjyiU67D9" target="new">Tutorial pre-registration</a><br>
· <a href="http://ieeevis.org/year/2023/info/registration/conference-registration" target="new">IEEE VIS 2023 registration</a><br>
</p>
<br>
Please see our <a href="events.html">Events</a>
page for all tutorials in this series.
<br>
<br>
<p><font color="#ff3d3d"><h3>Note to
attendees</h3></font>
·
We kindly ask potential attendees to <b><font color="#ff3d3d">pre-register</font></b> at
<a href="https://forms.gle/t4xX4a3pJjyiU67D9" target="new">https://forms.gle/t4xX4a3pJjyiU67D9</a>
in order for us to reach out to them ahead of the tutorial with information updates (for instance, last minute updates, instructions for the download of
the tutorial material package, etc.)<br>
·
If you plan to attend this tutorial, we
invite you to install TTK on your system <b><font
color="#ff3d3d">before the tutorial</font></b>.
The easiest way is simply to
<a target="new" href="http://www.paraview.org/download/">download ParaView's latest binary</a>.
For alternatives, (sources, Ubuntu packages, Anaconda packages, Docker images, etc.), see the
<a href="installation.html" target="new"
>installation instructions</a>.<br>
·
Please do not hesitate to
reach out ahead of the tutorial if you experience any issue installing TTK:
<a href="mailto:[email protected]" target="new">
</a>
</p>
<p><h3><a name="resources">Resources and
Materials</a></h3>
·
<a href="http://www.paraview.org/download/" target="new"
>ParaView Download</a><br>
·
<a href="stuff/ttk-data-tutorial23.zip" target="new"
onClick="javascript:_gaq.push(['_trackPageview', 'stuff/ttk_tutorial_data.zip']);"
>
Tutorial Data Package</a><br>
·
<a href="stuff/ttk_tutorial_vis23.pdf" target="new"
onClick="javascript:_gaq.push(['_trackPageview','stuff/ttk_tutorial_vis23.pdf']);"
>
Detailed tutorial submission document</a><br>
·
<a href="https://topology-tool-kit.github.io/examples/" target="new"
>TTK's online example database</a><br>
</p>
<p><h3><a name="abstract">Abstract</a></h3>
This tutorial provides a basic, beginner’s introduction to topological data
analysis and visualization with the Topology ToolKit (TTK).
While previous editions of the TTK tutorial (2018 to 2022) were organized as
mini-symposia (focused on the
descriptions of TTK’s latest features), this year, in contrast, we
would like to organize a very basic beginner’s hands-on tutorial.
Specifically, the goal of this tutorial is to accompany attendees in
the installation of TTK on their laptop as well as in the running
of a few basic examples, all in a very beginner-friendly step-by-step
description. This decision is motivated by attendee feedback
which we collected at previous editions of the TTK tutorial. We
address this feedback in this tutorial proposal. Then, for the first
time, beginners would be able to come to the tutorial without prior
TTK experience, and walk out with TTK installed on their system,
capable of running a few examples and ready to go further. We
believe this basic hands-on tutorial will facilitate the adoption of
TTK and topological techniques to a broader audience.
The tutorial will be organized as follows. The first hands-on
exercise will be dedicated to the installation of TTK. The second
hands-on exercise will be focused on ParaView’s basic usage. The
following three hands-on exercises will be dedicated to the step-by-step
replication of three examples extracted from TTK’s online
example database (vortex extraction in fluid dynamics, Morse-Smale
complex extraction in quantum chemistry and merge tree
comparison in ensemble data).
</p>
<p><h3><a name="organizers">Organizers</a></h3>
<ul>
<li><a
target="new"
href="https://vis.uni-kl.de/team/garth/">Christoph Garth</a>, RPTU Kaiserslautern-Landau
</li>
<li><a
target="new"
href="https://vis.uni-kl.de/team/maack/">Robin Maack</a>, RPTU Kaiserslautern-Landau</li>
<li><a
target="new"
href="https://mathieu-pont.github.io/">Mathieu Pont</a>, CNRS, Sorbonne Universite</li>
<li><a
target="new"
href="https://julien-tierny.github.io/">Julien Tierny</a>, CNRS, Sorbonne Universite</li>
<li><a
target="new"
href="http://www.sci.utah.edu/~beiwang/">Bei Wang</a>, University of Utah</li>
<li><a
target="new"
href="https://vis.uni-kl.de/team/wetzels/">Florian Wetzels</a>, RPTU Kaiserslautern</li>
<li><a
target="new"
href="https://vis.cs.rptu.de/team/will/">Michael Will</a>, RPTU Kaiserslautern</li>
</ul>
</p>
<p><h3><a name="schedule">Schedule</a></h3>
<ol>
<li>9:00am Preliminaries (65 minutes)
<ul>
<li>9:00am <a href="#intro">General introduction: Julien Tierny</a> (5 minutes)</li>
<li>9:05am <a href="#install">Installing TTK: Christoph Garth</a> (20 minutes)</li>
<li>9:25am <a href="#topology">Introduction to Topological Data Analysis: Bei Wang</a> (20 minutes)</li>
<li>9:45am <a href="#paraview">Introduction to ParaView's basic usage: Julien Tierny</a> (20 minutes)</li>
</ul>
</li>
<br>
<li>10:05am Beak, discussion and Q&A (30 minutes)</li>
<br>
<li>10:35am Step-by-step examples (85 minutes)
<ul>
<li>10:35am <a href="#vortex">Vortex extraction in fluid dynamics: Florian Wetzels</a> (25 minutes)</li>
<li>11:00am <a href="#morse">Morse-Smale complex computation: Robin Maack</a> (25 minutes)</li>
<li>11:25am <a href="#merge">Persistence diagram comparison and matching: Mathieu Pont</a> (25 minutes)</li>
<li>11:50am <a href="#conclusion">Concluding remarks: Julien Tierny</a> (10 minutes)</li>
</ul>
</li>
</ol>
</p>
<p><h3><a name="talks">Talks</a></h3>
<h4>Preliminaries</h4>
<h5> ·
<a name="intro" target="new" href="https://docs.google.com/presentation/d/1K3B_J4tlJdX_EaHccTM1C7e11Up9eFsbH8ujYu73H2U/edit?usp=sharing">General introduction (Julien Tierny)</a>
<br>
<!-- <iframe width="100%" height="420" src="https://www.youtube.com/embed/8YjIeIS5QV4?start=63" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> -->
</h5>
<h5> ·
<a name="install" target="new" href="stuff/ttk_tutorial_vis23_installation.pdf">Installing TTK</a>
</h5>
This first hands-on session will
describe how to install TTK. Several options will be presented. The
default option would be via the installation of
<a href="https://www.paraview.org/download/" target="new">Kitware’s official
ParaView distribution</a>.
Other options will be presented, such as Ubuntu packages, Anaconda
packages or Docker images. At the end of this session, we expect
all attendees to have TTK installed and running on their laptop.
<br />
<h5> ·
<a name="topology">Introduction to Topological Data Analysis (Bei Wang)</a>
</h5>
This talk will cover the theoretical notions about Topological Data
Analysis which are required for the followup step-by-step examples
(Sec. B). Specifically, it will introduce: critical points, persistence
diagrams, Reeb graphs, and Morse-Smale complexes. Also, it will
illustrate how these notions can be used for data analysis.<br />
<h5> ·
<a name="paraview" href="https://docs.google.com/presentation/d/1mFHWcdZha7GpHHM9taTveFLd_I5sTa-a_dkyEGfOpkY/edit?usp=sharing" target="new">
Introduction to ParaView's basic usage (Julien Tierny)</a>
</h5>
This second hands-on session will describe the basic notions for using
ParaView. The notion of pipeline browser will be presented, along
with the properties and information panels for each filter of the
pipeline. The different views will also be discussed. Screenshot
features will be illustrated. Finally, pipeline IO will be presented
(PVSM statefile) and Python exports will be illustrated.<br />
<br/>
<h4>Step-by-step examples</h4>
<h5> ·
<a name="vortex">
Vortex extraction in fluid dynamics (Florian Wetzels)
</a></h5>
This hands-on
exercise will present the entry
<a href="https://topology-tool-kit.github.io/examples/BuiltInExample1/" target="new">Builtin Example 1</a> from
<a target="new" href="https://topology-tool-kit.github.io/examples/">TTK’s
online example database</a>. Then, we will describe to participants how
to completely re-create this example from scratch.
<br>
<h5> ·
<a name="morse">
Morse-Smale complex computation (Robin Maack)
</a></h5>
This hands-on exercise will present the entry
<a href="https://topology-tool-kit.github.io/examples/morseSmaleSegmentation_at/" target="new">Morse-Smale Segmentation AT</a> from
<a target="new" href="https://topology-tool-kit.github.io/examples/">TTK’s
online example database</a>. Then, we will describe to participants how
to completely re-create this example from scratch.
<br>
<h5> ·
<a name="merge">
Persistence diagram comparison and matching (Mathieu Pont)
</a></h5>
This hands-on exercise will present the entry
<a href="https://topology-tool-kit.github.io/examples/persistenceDiagramDistance/" target="new">Persistence Diagram Distance</a> from
<a target="new" href="https://topology-tool-kit.github.io/examples/">TTK’s
online example database</a>. Then, we will describe to participants how
to completely re-create this example from scratch.
<br>
<h5> ·
<a name="conclusion">
Concluding remarks (Julien Tierny)
</a></h5>
</p>
<!--
<p><h3>Pictures of the tutorial</h3></p>
<a href="https://photos.app.goo.gl/cSW9cXoGHReSTvvM7" target="new">
<img align='center'width="95%"
src="stuff/ieeevis2022_tutorial.jpg" >
</a>-->
<p><h3><a name="extra">Additional Material</a></h3>
·
<a
href="https://youtu.be/5m5sZ3DFtmA"
target="new">
TTK overview video</a><br>
·
<a
href="examples/"
target="new">
TTK example website (scripts, state files, screenshots, etc.)</a><br>
·
<a
href="https://vimeo.com/238314372"
target="new">
TTK Technical presentation at IEEE VIS 2017 (for advanced users)</a><br>
·
<a
href="stuff/ttk.pdf"
target="new">
TTK Technical report (for advanced users)</a><br>
·
<a
href="stuff/ttkOverview.pdf"
target="new">
TTK feature overview</a><br>
·
<a
href="https://groups.google.com/forum/#!forum/ttk-users" target="new">
TTK user forum</a><br>
· Using TTK in-situ with Catalyst:
<a href="catalyst.html" target ="new">
Online tutorial</a><br>
· Using TTK with Python:
<a
href="https://github.com/topology-tool-kit/ttk/tree/dev/examples/python"
target="new">
Online example</a>
-
<a
href="persistentHomologyDummies.html"
target="new">
Online tutorial</a><br>
· Using TTK with VTK/C++:
<a
href="https://github.com/topology-tool-kit/ttk/tree/dev/examples/vtk-c++"
target="new">
Online example</a><br>
· Using TTK with pure C++:
<a
href="https://github.com/topology-tool-kit/ttk/tree/dev/examples/c++"
target="new">
Online example</a><br>
· Extending TTK with a new module:
<a href="bettiNumbers.html" target="new">
Online tutorial (computation of Betti numbers)</a><br>
<a href="doc/html/index.html" target="new">
· TTK developer documentation<br>
</a>
</p>
</div>
</div>
</div>
<hr>
<!-- Footer -->
<footer>
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
<p class="copyright text-muted">
Contact: <a href="mailto:[email protected]">
[email protected]</a><br>
Updated on Oct. 25, 2023.</p>
</div>
</div>
</div>
</footer>
<!-- jQuery -->
<script src="vendor/jquery/jquery.min.js"></script>
<!-- Bootstrap Core JavaScript -->
<script src="vendor/bootstrap/js/bootstrap.min.js"></script>
<!-- Contact Form JavaScript -->
<script src="js/jqBootstrapValidation.js"></script>
<script src="js/contact_me.js"></script>
<!-- Theme JavaScript -->
<script src="js/clean-blog.min.js"></script>
</body>
</html>