Algebraic extraction of topology and geometry from 3D images
Transcript of Algebraic extraction of topology and geometry from 3D images
Algebraic extraction of topology and geometryfrom 3D images: proof-of-concept
Alberto PaoluzziRoma Tre University
Seoul (SK Telecom), Feb 15, 2013
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 1 / 33
Outline
1 Project Goals
2 Linear Algebraic Representation (LAR)
3 Topological extraction of skeletons
4 Geometry from images
5 Status of LAR Application Programming Interface
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 2 / 33
Project Goals
Main objectiveProvide a novel computer representation of big geometric data for the IEEE P3333.2Standard for 3D medical [PDS13]
usable with both images and geometric data
allowing boundary rep and cellular decomposition of the interior
very compact and susceptible of further compression
dimension-independent (2D, 3D, 4D)
using simple parallel algorithms
and basic computational methods (sparse matrix algebra)
supporting heterogeneous distributed computing (OpenCL, WebCL)
supporting mobile standard graphics (OpenGL ES, WebGL)
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 3 / 33
Linear Algebraic Representation (LAR)
DefinitionsBackground
A compact topological subspace is a convex cell if it is the set of solutions ofaffine equalities and inequalities.A face of a cell is the convex cell obtained by replacing some of the inequalities byequalities. A facet is a face defined by just one equality.The dimension n of a n-cell is that of its affine hull, the smallest affine subspacethat contains it.A convex-cell complex or polytopal complex P is a finite union of convex cellssuch that: (i) if A is a cell of P, so are the faces of A; (ii) the intersection of twocells of P is a common face of each of them.A simplicial (cuboidal) complex is a polytopal complex where all cells aresimplices (cuboids).The dimension of P is the maximal cell dimension of P. The r -skeleton Pr is thesubcomplex formed by the cells of dimension ≤ r .The 0-skeleton coincides with the set V (P) of vertices of P.
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 4 / 33
Linear Algebraic Representation (LAR)
DefinitionsCellular complex
Let X be a topological space.Let Λ(X ) = ∪pΛp∈N be a partition of X , with Λp the set of p-cells.A CW-structure on the space X is a filtration
∅ = X−1 ⊂ X0 ⊂ X1 ⊂ · · · ⊂ X = ∪nXn,
such that, for each n, the space Xn is homeomorphic to a space obtained fromXn−1 by attachment of n-cells of X in Λn = Λn(X ).A space endowed with a CW-structure is a CW-complex, also said a cellularcomplex.A cellular complex is finite when it contains a finite number of cells.
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 5 / 33
Linear Algebraic Representation (LAR)
Representation schememapping s : M → R from a space M of mathematical models to a space R of computerrepresentations
M
DRV
s
1 The M set contains the mathematical models of the class of solid objectsthe scheme aims to represent
2 The R set contains the symbolic representations, i.e. the proper datastructures, built according to a suitable grammar
A. Requicha, Representations for Rigid Solids: Theory, Methods, and Systems, ACM Comput. Surv., 1980.
V. Shapiro, Solid Modeling, In Handbook of Computer Aided Geometric Design, 2001
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 6 / 33
Linear Algebraic Representation (LAR)
Linear Algebraic Representation (LAR) schemeSee [PDS13]
- Let a Hausdorff space X of dimension d and a finite cellular complex Λ(X ) begiven, such that X = Λ0 ∪ · · · ∪ Λd ,
- and let Mp ∈ Zm×n2 be binary matrices, with 1 ≤ p ≤ d , m = ]Λp rows, and
n = ]Λ0 columns.
Definition (Math models)
The LAR domain is the set M of chain complexes on a finite cellular complex Λ(X ).
Definition (Computer representations)
The LAR codomain is the set R of d-tuples of CSR sparse binary matricesa
CSR(Mmn (Z2)), m = ]Λp, n = ]Λ0,
aCompressed Sparse Row (CSR) format, for which efficient implementations onhigh-performance hardware exist. See [BG12] and [Lok12].
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 7 / 33
Linear Algebraic Representation (LAR)
Linear Algebraic Representation (LAR) schememay support (at least in principle) all topological and geometric queries and constructionsthat may be asked of the corresponding model
Remark (The interesting point)
for a given cellular d-complex Λ(X ), all of the Mp matrices (1 ≤ p ≤ d)have the same number of columns
This simple fact provides a convenient tool (matrix algebra) for computingboundary and coboundary operators and topological relations betweencells.
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 8 / 33
Linear Algebraic Representation (LAR)
Sparse binary matricesCompressed Sparse Row (CSR) storage
a basic CSR-based SpMV implementation [WOV+07]
S. Williams et al., Optimization of sparse matrixvector multiplication on emerging multicore platforms Parallel Computing 35(2009) 178194
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 9 / 33
Linear Algebraic Representation (LAR)
LAR topology (CSR representation)
for convex-cell complexes(ex: simplicial or cuboidal)
only the CSR(Md) is needed:
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 10 / 33
Linear Algebraic Representation (LAR)
ExamplesCellular 2-complexes and their boundaries (blue)
(a) non-manifold simplicial complex; (b) cuboidal complex; (c) complexwith internal boundaries; (d,e) complexes with non-convex 2-cells
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 11 / 33
Linear Algebraic Representation (LAR)
Geometry-inducing cochains (1/2)A short discussion of howto link topology and geometry of cellular complexes follows
We already know how linear chain spaces Cm may be associated to a cellular complexΛ(X ), where X is a Haussdorf space and Λ is a partition of X .
Each singleton {λm} ⊂ Λm, where λm is a finite subset of X , is a basis element for the
Definition (Chain complex)
Linear chain spaces Cm (0 ≤ m ≤ d), with linear boundary maps ∂ : Cm → Cm−1, whereevery triple
Cm+1∂m+1−−−→ Cm
∂m−−→ Cm−1
is an exact sequence, i.e. ∂m ◦ ∂m+1 = 0
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 12 / 33
Linear Algebraic Representation (LAR)
Geometry-inducing cochains (2/2)Let Dd be either the standard d-simplex ∆d or the unit d-interval I d = [0, 1]d .
For each m-cell λ, with Λ0(X ) ⊃ λ ∈ Λm(X ), let associate a (possibly piecewise)polynomial or rational map
φm : λ×Dm → X = φm : λ→ (Dm → X ),
in such a way that, for each adjacent pair λ, µ ∈ Λm, where λ ∩ µ = ν ∈ Λm−1, thepairing
〈φm−1, ν〉 = φm−1(ν) : Dm−1 → X
provides the attachement map [Sat99] between λ and µ. The image of this map givesthe common points of λ and µ:
φm−1(ν)(Dm−1) := φm(λ)(Dm) ∩ φm(µ)(Dm).
Remark (Cochain complex)
The geometry-inducing maps φm define an exact sequence of linear cochain spaces Cm
connected by linear coboundary operators δm : Cm → Cm+1, and are one-to-oneassociated to cells by a set of (ordered) control points
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 13 / 33
Linear Algebraic Representation (LAR)
Geometry-inducing cochains: Example
Let consider two curved cells B0(u, v) and B1(u, v), with (u, v) ∈ [0, 1]2 = I 2
It is B0 = φ2(λ0), and B1 = φ2(λ1), with B0,B1 : I 2 → X = E3, with cellsλ0 = (v0, v1, . . . , v11), λ1 = (v8, v9, . . . , v19) ∈ Λ2(X )
0
1 2
3
4
12
16
1718 19
813
14 15
9 1011
5 6
7
(a) (b) (c) (d)
Scaffolds of control points and 1-cells B0(u, v),B1(u, v) ∈ C1, for v ∈ {0, 1/2, 1} andu ∈ {0, 1/3, 2/3, 1}: (a) numbering of control points; (b) control scaffold and
corresponding curves; (c) the curved 2-cells; (d) the boundary chain
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 14 / 33
Topological extraction of skeletons
Extraction of facetsstart from the characteristic matrix Md of a cellular partition Λd of Ed , empty cellsincluded
2D⇒ d = 2
M2 =
1 1 0 1 0 0 0 0 0
0 1 1 0 1 0 0 0 0
0 0 1 0 1 1 0 0 0
0 0 0 1 1 0 1 0 0
0 0 0 0 1 0 1 1 0
0 0 0 0 0 1 0 1 1
0 1 0 1 1 0 0 0 0
0 0 0 0 1 1 0 1 0
1 1 1 0 0 0 0 0 0
0 0 1 0 0 1 0 0 1
0 0 0 0 0 0 1 1 1
1 0 0 1 0 0 1 0 0
v0 v1 v2
v3 v4 v5
v6 v7 v8
e0 e1
e2e3 e4
e5 e6
e7 e8
e9e10 e11
e12 e13
e14 e15
v0 v1 v2
v3 v4 v5
v6 v7 v8
f0 f1
f2
f3
f4 f5
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 15 / 33
Topological extraction of skeletons
Extraction of facetsstart from the characteristic matrix Md of a cellular partition Λd of Ed , empty cellsincluded
2D⇒ d = 2
M2 =
1 1 0 1 0 0 0 0 0
0 1 1 0 1 0 0 0 0
0 0 1 0 1 1 0 0 0
0 0 0 1 1 0 1 0 0
0 0 0 0 1 0 1 1 0
0 0 0 0 0 1 0 1 1
0 1 0 1 1 0 0 0 0
0 0 0 0 1 1 0 1 0
1 1 1 0 0 0 0 0 0
0 0 1 0 0 1 0 0 1
0 0 0 0 0 0 1 1 1
1 0 0 1 0 0 1 0 0
v0 v1 v2
v3 v4 v5
v6 v7 v8
e0 e1
e2e3 e4
e5 e6
e7 e8
e9e10 e11
e12 e13
e14 e15
v0 v1 v2
v3 v4 v5
v6 v7 v8
f0 f1
f2
f3
f4 f5
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 15 / 33
Topological extraction of skeletons
Extraction of facetscompute the symmetric d-adjacency matrix A = MdM
td of the cell partition Λd
A = M2Mt2 =
3 1 0 1 0 0 2 0 0 2 2 0
3 2 1 1 0 2 1 0 0 2 1
3 1 1 1 1 2 0 0 1 2
3 2 0 0 0 1 2 2 1
3 1 0 0 2 1 1 2
3 0 2 2 0 0 2
3 1 0 1 1 0
3 1 0 0 1
sym 3 1 0 1
3 1 0
3 1
3
]( λid ∩ λjd ) = A(i , j) ≥ d (i 6= j) ⇒ ∃ λd−1 = Md(i) ∧Md(j)
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 16 / 33
Topological extraction of skeletons
Extraction of facetscompute the symmetric d-adjacency matrix A = MdM
td of the cell partition Λd
A = M2Mt2 =
3 1 0 1 0 0 2 0 0 2 2 0
3 2 1 1 0 2 1 0 0 2 1
3 1 1 1 1 2 0 0 1 2
3 2 0 0 0 1 2 2 1
3 1 0 0 2 1 1 2
3 0 2 2 0 0 2
3 1 0 1 1 0
3 1 0 0 1
sym 3 1 0 1
3 1 0
3 1
3
]( λid ∩ λjd ) = A(i , j) ≥ d (i 6= j) ⇒ ∃ λd−1 = Md(i) ∧Md(j)
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 16 / 33
Topological extraction of skeletons
Extraction of facetscompute the symmetric d-adjacency matrix A = MdM
td of the cell partition Λd
A = M2Mt2 =
3 1 0 1 0 0 2 0 0 2 2 0
3 2 1 1 0 2 1 0 0 2 1
3 1 1 1 1 2 0 0 1 2
3 2 0 0 0 1 2 2 1
3 1 0 0 2 1 1 2
3 0 2 2 0 0 2
3 1 0 1 1 0
3 1 0 0 1
sym 3 1 0 1
3 1 0
3 1
3
]( λid ∩ λjd ) = A(i , j) ≥ d (i 6= j) ⇒ ∃ λd−1 = Md(i) ∧Md(j)
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 16 / 33
Topological extraction of skeletons
Extraction of facetscompute the facets Λd−1 of the cell partition Λd
A(0, 6) = 2 ⇒ ( 110100000 ) ∧ ( 010110000 ) = ( 010100000 ) ⇒ e = (v1, v3)
v0 v1 v2
v3 v4 v5
v6 v7 v8
e0 e1
e2e3 e4
e5 e6
e7 e8
e9e10 e11
e12 e13
e14 e15
v0 v1 v2
v3 v4 v5
v6 v7 v8
f0 f1
f2
f3
f4 f5
M2 =
1 1 0 1 0 0 0 0 0
0 1 1 0 1 0 0 0 0
0 0 1 0 1 1 0 0 0
0 0 0 1 1 0 1 0 0
0 0 0 0 1 0 1 1 0
0 0 0 0 0 1 0 1 1
0 1 0 1 1 0 0 0 0
0 0 0 0 1 1 0 1 0
1 1 1 0 0 0 0 0 0
0 0 1 0 0 1 0 0 1
0 0 0 0 0 0 1 1 1
1 0 0 1 0 0 1 0 0
⇒M1 =
1 1 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0
0 1 1 0 0 0 0 0 0
0 1 0 1 0 0 0 0 0
0 1 0 0 1 0 0 0 0
0 0 1 0 1 0 0 0 0
0 0 1 0 0 1 0 0 0
0 0 0 1 1 0 0 0 0
0 0 0 1 0 0 1 0 0
0 0 0 0 1 1 0 0 0
0 0 0 0 1 0 1 0 0
0 0 0 0 1 0 0 1 0
0 0 0 0 0 1 0 1 0
0 0 0 0 0 1 0 0 1
0 0 0 0 0 0 1 1 0
0 0 0 0 0 0 0 1 1
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 17 / 33
Topological extraction of skeletons
Extraction of facetscompute the facets Λd−1 of the cell partition Λd
A(0, 6) = 2 ⇒ ( 110100000 ) ∧ ( 010110000 ) = ( 010100000 ) ⇒ e = (v1, v3)
v0 v1 v2
v3 v4 v5
v6 v7 v8
e0 e1
e2e3 e4
e5 e6
e7 e8
e9e10 e11
e12 e13
e14 e15
v0 v1 v2
v3 v4 v5
v6 v7 v8
f0 f1
f2
f3
f4 f5
M2 =
1 1 0 1 0 0 0 0 0
0 1 1 0 1 0 0 0 0
0 0 1 0 1 1 0 0 0
0 0 0 1 1 0 1 0 0
0 0 0 0 1 0 1 1 0
0 0 0 0 0 1 0 1 1
0 1 0 1 1 0 0 0 0
0 0 0 0 1 1 0 1 0
1 1 1 0 0 0 0 0 0
0 0 1 0 0 1 0 0 1
0 0 0 0 0 0 1 1 1
1 0 0 1 0 0 1 0 0
⇒M1 =
1 1 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0
0 1 1 0 0 0 0 0 0
0 1 0 1 0 0 0 0 0
0 1 0 0 1 0 0 0 0
0 0 1 0 1 0 0 0 0
0 0 1 0 0 1 0 0 0
0 0 0 1 1 0 0 0 0
0 0 0 1 0 0 1 0 0
0 0 0 0 1 1 0 0 0
0 0 0 0 1 0 1 0 0
0 0 0 0 1 0 0 1 0
0 0 0 0 0 1 0 1 0
0 0 0 0 0 1 0 0 1
0 0 0 0 0 0 1 1 0
0 0 0 0 0 0 0 1 1
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 17 / 33
Topological extraction of skeletons
Extraction of facetscompute the facets Λd−1 of the cell partition Λd
A(0, 6) = 2 ⇒ ( 110100000 ) ∧ ( 010110000 ) = ( 010100000 ) ⇒ e = (v1, v3)
v0 v1 v2
v3 v4 v5
v6 v7 v8
e0 e1
e2e3 e4
e5 e6
e7 e8
e9e10 e11
e12 e13
e14 e15
v0 v1 v2
v3 v4 v5
v6 v7 v8
f0 f1
f2
f3
f4 f5
M2 =
1 1 0 1 0 0 0 0 0
0 1 1 0 1 0 0 0 0
0 0 1 0 1 1 0 0 0
0 0 0 1 1 0 1 0 0
0 0 0 0 1 0 1 1 0
0 0 0 0 0 1 0 1 1
0 1 0 1 1 0 0 0 0
0 0 0 0 1 1 0 1 0
1 1 1 0 0 0 0 0 0
0 0 1 0 0 1 0 0 1
0 0 0 0 0 0 1 1 1
1 0 0 1 0 0 1 0 0
⇒M1 =
1 1 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0
0 1 1 0 0 0 0 0 0
0 1 0 1 0 0 0 0 0
0 1 0 0 1 0 0 0 0
0 0 1 0 1 0 0 0 0
0 0 1 0 0 1 0 0 0
0 0 0 1 1 0 0 0 0
0 0 0 1 0 0 1 0 0
0 0 0 0 1 1 0 0 0
0 0 0 0 1 0 1 0 0
0 0 0 0 1 0 0 1 0
0 0 0 0 0 1 0 1 0
0 0 0 0 0 1 0 0 1
0 0 0 0 0 0 1 1 0
0 0 0 0 0 0 0 1 1
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 17 / 33
Topological extraction of skeletons
Extraction of skeletonsRepeated extraction of facets from complexes of decreasing dimensions
(a) (b) (c) (d)
(a) Grid of 3-simplices shown exploded; (b) exploded 2-skeleton topologicallyextracted via adjacency matrix; (c) exploded 1-skeleton; (d) 1-skeleton
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 18 / 33
Topological extraction of skeletons
Extraction of skeletonsRepeated extraction of facets from complexes of decreasing dimensions
(a) (b) (c) (d)
(a) exploded simplicial 2-complex; (c) exploded cuboidal 2-complex; (d)1-skeleton of rounded 3-complex via single exterior cell; (e) rounded 1-complex
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 19 / 33
Geometry from images
Proof-Of-Conceptextract the geometry from a 2D bitmap image (pixels in Z2 = {0, 1})
Toy experiment (50× 50 px)
compute a block partition of the image(random seeds; hungry expansion)
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 20 / 33
Geometry from images
Proof-Of-Conceptgeometry extraction from a 2D bitmap image (pixels in Z2 = {0, 1})
1279 chars uncompressed; 986 bytes zip1120 bytes jpeg; 464 bytes bmp
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 21 / 33
Geometry from images
Proof-Of-Conceptgeometry extraction from a 2D bitmap image (pixels in Z2 = {0, 1})
LAR (solid) representation of the 2D image3780 chars uncompressed; 1845 bytes zip
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 22 / 33
Geometry from images
Proof-Of-Conceptcompute the facets Λd−1 of the cell partition Λd
Λ2 Λ1 Λ2 ∪ Λ1 ∪ Λ0
cell complexes drawn exploded for the sake of clarity
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 23 / 33
Geometry from images
Proof-Of-Conceptcompute the boundary of the chains of solids and empty 2-cells
a = {λ ∈ Λ2 | µ(λ) = 1} ∈ C2
Λ2 − a = {λ ∈ Λ2 | µ(λ) = 0} ∈ C2
a ∂a Λ2 − a ∂(Λ2 − a)
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 24 / 33
Geometry from images
Proof-Of-Conceptgeometry extraction from a 3D image Λ3 generated randomly in z from Λ2
Λ3 Λ1 Λ3 ∪ Λ2 ∪ Λ1 ∪ Λ0
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 25 / 33
Geometry from images
Proof-Of-Conceptgeometry extraction from a 3D image Λ3 generated randomly in z from Λ2
b = {λ ∈ Λ3 | µ(λ) = 1} ∈ C3
b ∈C3 ∂b ∈ C2 c ∈ C1 : δc = ∂b
It may be interesting to notice (strong robustness test) that it is:
∂∂b = 0Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 26 / 33
Geometry from images
Proof-Of-Conceptgeometry extraction from a 3D image Λ3 generated randomly in z from Λ2
Λ3 − b = {λ ∈ Λ3 | µ(λ) = 0} ∈ C3
∂(Λ3 − b) ∈ C2 ∂(Λ3 − b) ∈ C2 ∂b ∈ C2
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 27 / 33
Status of LAR Application Programming Interface
Layered modelBased on Khronous Group’s heterogeneous computing platforms for the web
CSR_SpMat CG_InterfaceWebCL WebGL
LAR_ContextLAR_Representation
The LAR prototype is currently using Motorola’s WebCL (patched)implementation on top of Node.JSFirst LAR release in June, 2013
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 28 / 33
Status of LAR Application Programming Interface
API classes (LAR Representation)Common refactoring of Javascript and Python/C++ prototypes
1 PointSet2 Topology
SimplicialTopologyCuboidalTopologyPolytopalTopologyPolyhedralTopology
3 Chain4 Geometry
LinearGeometrySimplicialCurvedGeometryTensorProductGeometryMixedGeometry
5 CoChain
6 Model
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 29 / 33
Status of LAR Application Programming Interface
Matrix operations (CSR SpMat)Heterogeneous acceleration of basic matrix operations
motorola mobilityNode-WebCL
Host library
SpMxSpMkernel
REST request return result
clientsdevices
CSR input: 2× (val , ind , ptr) densearrays; 2× (ind , ptr) incase of binary sparsematrices
workgroups: matrices partitioned anddistributed among manyglobal workgroups; localworkgroups in charge ofrow × col work-items
CSR output: (val , ind , ptr) dense arraysstored in local memory;moved to global at the endof computation
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 30 / 33
Status of LAR Application Programming Interface
Matrix operations (CSR SpMat)Heterogeneous acceleration of basic matrix operations
motorola mobilityNode-WebCL
Host library
SpMxSpMkernel
REST request return result
clientsdevices
Host program (WebCL)
1 Classical workflow of anhost Open/WebCLprogram
2 Setup proper context,memory buffers,global/local sizes
3 Enqueue the kernel andfetch result
4 Running on node.js usingMotorola Mobilitynode-webcl library
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 31 / 33
Status of LAR Application Programming Interface
Conclusion
Robust web extraction of topology and geometry information from2D/3D images
Open-sourced prototype of this technology under development
Med-LAR v-0.1 release expected for May-June 2013(at IEEE-P3333.2 meeting and int. workshop in Rome)
ACKNOWLEDGEMENTS
I would like to thank people in CVDlab (Computational Visual Design Laboratory) of Roma TreUniversity: Vittorio Cecchetto, Francesco Furlani, Enrico Marino, Giorgio Scorzelli, FedericoSpini for implementing LAR, pyplasm and plasm.js, and Professors Antonio DiCarlo and VadimShapiro for sharing views and ideas
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 32 / 33
Status of LAR Application Programming Interface
References I
Aydın Buluc and John R. Gilbert, Parallel sparse matrix-matrix multiplication andindexing: Implementation and experiments, SIAM Journal of Scientific Computing(SISC) 34 (2012), no. 4, 170 – 191.
Anton Lokhmotov, Implementing sparse matrix-vector product in OpenCL, OpenCLtutorial, 6th Int. Conference on High Performance and Embedded Architecturesand Compilers (HiPEAC’11), 2012.
Alberto Paoluzzi, Antonio DiCarlo, and Vadim Shapiro, Linear algebraicrepresentation of big geometric data, Submitted Paper (2013), no. January,http://paoluzzi.dia.uniroma3.it/web/pao/doc/paoluzzi-SK-Tel.pdf.
Hajime Sato, Algebraic Topology: An Intuitive Approach (Translations ofMathematical Monographs), American Mathematical Society, June 1999.
Samuel Williams, Leonid Oliker, Richard Vuduc, John Shalf, Katherine Yelick, andJames Demmel, Optimization of sparse matrix-vector multiplication on emergingmulticore platforms, Proceedings of the 2007 ACM/IEEE conference onSupercomputing (New York, NY, USA), SC ’07, ACM, 2007, pp. 38:1–38:12.
Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 33 / 33