Repository navigation
Expand file tree
/
Copy pathmodules.html
More file actions
258 lines (243 loc) · 11.7 KB
/
Copy pathmodules.html
File metadata and controls
258 lines (243 loc) · 11.7 KB
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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Modules — Open4D</title>
<meta name="description" content="Research modules in the Open4D platform: N4MC, TSMC, TVMC, Unity decoder plugin, ARAP volume tracking, and temporal mesh editing." />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="css/style.css" />
<link rel="icon" type="image/svg+xml" href="assets/favicon.svg" />
</head>
<body>
<header class="nav">
<div class="nav-inner">
<a href="index.html" class="nav-logo">
<svg class="logo-mark" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
<defs>
<linearGradient id="logo-grad" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" stop-color="#6366f1"/><stop offset="1" stop-color="#22d3ee"/>
</linearGradient>
</defs>
<rect x="3" y="3" width="17" height="17" rx="2.5" fill="none" stroke="url(#logo-grad)" stroke-width="2.2"/>
<rect x="12" y="12" width="17" height="17" rx="2.5" fill="none" stroke="url(#logo-grad)" stroke-width="2.2" opacity="0.55"/>
<line x1="20" y1="3" x2="29" y2="12" stroke="url(#logo-grad)" stroke-width="1.6" opacity="0.55"/>
<line x1="3" y1="20" x2="12" y2="29" stroke="url(#logo-grad)" stroke-width="1.6" opacity="0.55"/>
</svg>
<span>Open<span class="logo-4d">4D</span></span>
</a>
<nav>
<ul class="nav-links" id="nav-links">
<li><a href="index.html">Home</a></li>
<li><a href="modules.html" class="active">Modules</a></li>
<li><a href="documentation.html">Documentation</a></li>
<li><a href="gallery.html">Gallery</a></li>
<li><a href="benchmarks.html">Benchmarks</a></li>
<li><a href="about.html">About</a></li>
</ul>
</nav>
<a class="nav-cta" href="https://github.com/open4dfoundation/Open4D" target="_blank" rel="noopener">
<svg viewBox="0 0 16 16" aria-hidden="true"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27s1.36.09 2 .27c1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.01 8.01 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg>
GitHub
</a>
<button class="nav-toggle" id="nav-toggle" aria-label="Toggle menu" aria-expanded="false">☰</button>
</div>
</header>
<section class="page-hero">
<div class="hero-bg"></div>
<div class="container">
<span class="section-eyebrow">Research Modules</span>
<h1>Modules</h1>
<p>
Open4D research modules are independent systems and algorithms built on the stable core API.
Each module ships with source code, configuration, and evaluation scripts — and evolves on its
own release cadence.
</p>
</div>
</section>
<section class="section">
<div class="container">
<!-- N4MC -->
<div class="module-row reveal" id="n4mc">
<div class="module-head">
<h3>N4MC — Neural Time-Varying Mesh Compression</h3>
<span class="card-tag tag-core">Compression</span>
</div>
<p>
A learned codec for dynamic mesh sequences. N4MC uses neural networks to exploit spatial and
temporal redundancy in time-varying meshes, targeting significantly lower bitrates than
per-frame static compression while preserving geometric fidelity across time.
</p>
<p>
Integrated into Open4D as a core compression submodule under <code style="font-family: var(--mono); font-size: 0.85em; color: #a5b4fc;">open4d/core/N4MC</code>.
</p>
<div class="module-meta">
<span>📦 open4d/core/N4MC</span>
<span>🔗 <a href="https://github.com/frozzzen3/N4MC" target="_blank" rel="noopener">github.com/frozzzen3/N4MC</a></span>
<span>🐍 Python</span>
</div>
</div>
<!-- TSMC -->
<div class="module-row reveal" id="tsmc">
<div class="module-head">
<h3>TSMC — Time-Varying 4D Scene Mesh Compression</h3>
<span class="card-tag tag-core">Compression</span>
</div>
<p>
Scene-level compression for dynamic 4D environments. Where object-centric codecs compress a
single performer or asset, TSMC targets entire time-varying scene meshes — the kind produced
by scene reconstruction in robotics, autonomous systems, and mixed-reality capture.
</p>
<div class="module-meta">
<span>📦 open4d/core/tsmc</span>
<span>🔗 <a href="https://github.com/SINRG-Lab/TSMC" target="_blank" rel="noopener">github.com/SINRG-Lab/TSMC</a></span>
<span>🐍 Python / C++</span>
</div>
</div>
<!-- TVMC -->
<div class="module-row reveal" id="tvmc">
<div class="module-head">
<h3>TVMC — Time-Varying Mesh Compression</h3>
<span class="card-tag tag-core">Compression</span>
</div>
<p>
Encoder and decoder for time-varying meshes with changing connectivity and vertex counts —
the hard case where classic dynamic-mesh codecs break down. TVMC exploits temporal redundancy
across frames to reduce bitrate for streaming and storage.
</p>
<div class="module-meta">
<span>📦 open4d/core/tvmc · open4d/modules/tvmc</span>
<span>🐍 Python</span>
</div>
</div>
<!-- Unity -->
<div class="module-row reveal" id="unity">
<div class="module-head">
<h3>Unity Decoder Plugin</h3>
<span class="card-tag tag-app">XR / Unity</span>
</div>
<p>
A 4D mesh decoder plugin for Unity that decodes compressed mesh sequences and renders them in
real time — including on standalone XR headsets such as the <strong style="color: var(--text);">Meta Quest 3</strong>.
This closes the loop from capture and compression to immersive playback on-device.
</p>
<div class="module-meta">
<span>📦 open4d/modules/unity_decoder</span>
<span>🎮 Unity / C#</span>
<span>🥽 Meta Quest 3</span>
</div>
</div>
<!-- ARAP -->
<div class="module-row reveal" id="arap">
<div class="module-head">
<h3>ARAP Volume Tracking</h3>
<span class="card-tag tag-module">Tracking</span>
</div>
<p>
Deformation-aware temporal alignment based on as-rigid-as-possible (ARAP) volume tracking.
Establishes correspondences across frames of a deforming mesh sequence, enabling
temporally-consistent compression, editing, and analysis downstream.
</p>
<div class="module-meta">
<span>📦 modules/arap_volume_tracking</span>
<span>🐍 Python / C++</span>
</div>
</div>
<!-- Editing -->
<div class="module-row reveal" id="editing">
<div class="module-head">
<h3>Temporal Mesh Editing</h3>
<span class="card-tag tag-module">Editing</span>
</div>
<p>
Structured editing of dynamic geometry: make an edit once and have it propagate consistently
across the whole time-varying sequence, instead of frame-by-frame manual fixes.
</p>
<div class="module-meta">
<span>📦 modules/tvm_editing</span>
<span>🐍 Python</span>
</div>
</div>
<!-- Player & tools -->
<div class="module-row reveal" id="player">
<div class="module-head">
<h3>Player & Conversion Tools</h3>
<span class="card-tag tag-app">Core Tooling</span>
</div>
<p>
The core package ships with playback utilities for meshes, point clouds, and Draco-compressed
point clouds, plus conversion tools that create <code style="font-family: var(--mono); font-size: 0.85em; color: #a5b4fc;">.o4d</code>
sequences from raw frame data.
</p>
<div class="code-block">
<div class="code-head"><span>bundled tools</span><button class="copy-btn">Copy</button></div>
<pre><code><span class="cm"># convert raw frames into an .o4d sequence</span>
python open4d/tools/create_o4d_mesh.py
python open4d/tools/create_o4d_pointcloud.py
python open4d/tools/create_o4d_draco_pointcloud.py
<span class="cm"># play back sequences</span>
python examples/play_mesh_o4d.py
python examples/play_poincloud_o4d.py
python examples/play_draco_pointcloud_o4d.py</code></pre>
</div>
<div class="module-meta">
<span>📦 open4d/player · open4d/tools</span>
<span>🐍 Python</span>
</div>
</div>
</div>
</section>
<section class="cta-band">
<h2>Have a module to contribute?</h2>
<p>Open4D is designed so new research modules can evolve independently on top of the core API. We welcome new algorithms, codecs, and tools.</p>
<div class="hero-actions" style="margin-bottom: 0;">
<a href="https://github.com/open4dfoundation/Open4D" target="_blank" rel="noopener" class="btn btn-primary">Open a Pull Request</a>
<a href="documentation.html" class="btn btn-secondary">Read the docs</a>
</div>
</section>
<footer class="footer">
<div class="container">
<div class="footer-grid">
<div class="footer-brand">
<a href="index.html" class="nav-logo"><span>Open<span class="logo-4d">4D</span></span></a>
<p>An open, research-driven platform for the representation, compression, processing, evaluation, and streaming of time-varying 4D geometry data.</p>
</div>
<div>
<h5>Project</h5>
<ul>
<li><a href="modules.html">Modules</a></li>
<li><a href="documentation.html">Documentation</a></li>
<li><a href="benchmarks.html">Benchmarks</a></li>
<li><a href="gallery.html">Gallery</a></li>
</ul>
</div>
<div>
<h5>Code</h5>
<ul>
<li><a href="https://github.com/open4dfoundation/Open4D" target="_blank" rel="noopener">Open4D on GitHub</a></li>
<li><a href="https://github.com/SINRG-Lab/TSMC" target="_blank" rel="noopener">TSMC</a></li>
<li><a href="https://github.com/frozzzen3/N4MC" target="_blank" rel="noopener">N4MC</a></li>
<li><a href="https://github.com/open4dfoundation/Open4D/issues" target="_blank" rel="noopener">Issue Tracker</a></li>
</ul>
</div>
<div>
<h5>Community</h5>
<ul>
<li><a href="about.html">About & Team</a></li>
<li><a href="about.html#contributing">Contributing</a></li>
<li><a href="about.html#citation">How to Cite</a></li>
<li><a href="mailto:m.dasari@northeastern.edu">Contact</a></li>
</ul>
</div>
</div>
<div class="footer-bottom">
<span>© 2026 Open4D · SINRG Lab, Northeastern University</span>
<span>Open-source research infrastructure for 4D geometry</span>
</div>
</div>
</footer>
<script src="js/main.js"></script>
</body>
</html>