Algebraic extraction of topology and geometry from 3D images

38
Algebraic extraction of topology and geometry from 3D images: proof-of-concept Alberto Paoluzzi Roma Tre University Seoul (SK Telecom), Feb 15, 2013 Alberto Paoluzzi Geometry from 3D images Seoul, Feb 14-15, 2013 1 / 33

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