Presentation is loading. Please wait.

Presentation is loading. Please wait.

Interactive Visual Classification with Euler Diagrams Gennaro Cordasco, Rosario De Chiara Università degli Studi di Salerno, Italy Andrew Fish* University.

Similar presentations


Presentation on theme: "Interactive Visual Classification with Euler Diagrams Gennaro Cordasco, Rosario De Chiara Università degli Studi di Salerno, Italy Andrew Fish* University."— Presentation transcript:

1 Interactive Visual Classification with Euler Diagrams Gennaro Cordasco, Rosario De Chiara Università degli Studi di Salerno, Italy Andrew Fish* University of Brighton, UK *funded by UK EPSRC grant EP/E011160: Visualization with Euler Diagrams.

2 Overview Classification Problem – related Euler Diagram applications Diagram Abstraction Problem Concepts needed – e.g. weakly reducible, marked points, … On-line algorithms – complexity analysis EulerVC application demo 2Andrew Fish, University of Brighton, UK

3 Classification Problem Resource classification is often challenging for users, and commonly hierarchical classifications are not sufficient for their needs. Free-form tagging approaches provide a flat space, utilising different tagging and visualisation mechanisms. What about using non-hierarchical classification structures, and what about the use of (Euler) diagrams…? Andrew Fish, University of Brighton, UK3

4 Related Euler Diagram Applications LHS [Inria]: Visualizing the numbers of documents matching a query from a library database, facilitating query modifications. RHS [Salerno]: File organisation with VennFS allows the user to draw Euler Diagrams in order to organize files within categories. 4Andrew Fish, University of Brighton, UK

5 The main problem To compute the set of zones associated to a given collection of curves Zones are not so easy to describe, they can be non- convex, non-simply connected,… How to update the zone set when we add curves? 5 Andrew Fish, University of Brighton, UK

6 Euler Diagram Example LHS: A concrete diagram with 4 contours (simple closed curves in plane) and 6 zones (regions inside a set of contours and outside the rest). RHS: Depicts the abstract diagram/set system, which is the abstraction of the LHS: d=  {A,B,C,D}, {∅,{B},{C},{D},{A,B},{B,C}}  A B C D {A,B} {B} {B,C} {C} {D} ∅ 6

7 Euler Diagram Problems: static Concrete EDAbstract ED/ Set System 7Andrew Fish, University of Brighton, UK Abstraction Generation

8 Euler Diagram Problems: dynamic Concrete EDAbstract ED 8Andrew Fish, University of Brighton, UK Abstraction Generation Transformations

9 Euler Diagram Problems: dynamic Concrete EDAbstract ED 9Andrew Fish, University of Brighton, UK Abstraction Generation Transformations Wellformedness conditions

10 ED wellformedness conditions contours are simple closed curves, each with a single, unique label; contours meet transversely (so no tangential meetings or concurrency) and at most two contours meet at a single point; zones cannot be disconnected – i.e. each minimal region is a zone. Or, if you prefer… wellformed Euler diagrams can be thought of as “simple Euler diagrams”; i.e. simple Venn diagrams where some regions of intersection can be empty/missing”. 10Andrew Fish, University of Brighton, UK

11 Fast Diagram Interpretation Given a wellformed concrete Euler diagram d: 1.compute the abstract Euler diagram for d A B 4 Zones: {A} {A,B} {B} ∅ 11Andrew Fish, University of Brighton, UK

12 Fast Diagram Interpretation Given a wellformed concrete Euler diagram d: 1.compute the abstract Euler diagram for d 2.evaluate if the addition of a new contour or removal of an existing contour yields a wellformed diagram (and update the abstract diagram accordingly). A B A B C C 12Andrew Fish, University of Brighton, UK

13 On-line approach – We consider the diagram construction using the natural operations of contour addition/removal. Fast Diagram Interpretation A B A B A C B C Timeline 13Andrew Fish, University of Brighton, UK

14 On-line approach – We consider the diagram construction using the natural operations of contour addition/removal. – What class of diagrams is this? Fast Diagram Interpretation A B A B A C B C Timeline 14Andrew Fish, University of Brighton, UK

15 Weakly reducible Euler Diagrams Reducible Venn diagrams [e.g. see Ruskey 97] – the removal of one of its curves yields a Venn diagram Reducible Euler diagrams – the removal of one of its curves yields a WF Euler diagram Completely reducible Euler diagrams – There is a sequence of curve removals that yields the empty ED through WF diagrams (or a sequence of curve additions from the empty ED). Weakly reducible Euler diagrams – There is a sequence of curve removals and additions that yields the empty ED through WF diagrams. 15Andrew Fish, University of Brighton, UK

16 Weakly reducible Euler Diagrams 16Andrew Fish, University of Brighton, UK Reducible Weakly Reducible Completely Reducible WF Euler diagrams ? ?

17 Weakly reducible Euler Diagrams 17Andrew Fish, University of Brighton, UK Reducible Weakly Reducible Completely Reducible WF Euler diagrams ? ?

18 Weakly reducible Euler Diagrams 18Andrew Fish, University of Brighton, UK Reducible Weakly Reducible Completely Reducible WF Euler diagrams ? ? Link to Proof

19 Weakly reducible Euler Diagrams 19Andrew Fish, University of Brighton, UK Reducible Weakly Reducible Completely Reducible WF Euler diagrams ? ? Link to Proof

20 Wellformedness online verification Theorem 1: Let d =  C, Z , be a weakly reducible Euler diagram, then |Z| = ip(d) + cc(d) + 1 where – cc(d) denotes the number of components – ip(d) denotes number of intersection points 1 component 6 intersection points 1+6+1=8 zones 2 component 2 intersection points 2+2+1=5 zones 3 component 4 intersection points 3+4+1=8 zones 20

21 Wellformedness online verification Theorem 1: Let d =  C, Z , be a weakly reducible Euler diagram, then |Z| = ip(d) + cc(d) + 1 where – cc(d) denotes the number of components – ip(d) denotes number of intersection points Proof: by induction for single component case – Use that the addition of a new contour generates x > 1 intersection points splitting the new contour into x segments, each of which splits a different zone (otherwise the component was not connected) and so we have x new zones. A 21Andrew Fish, University of Brighton, UK

22 Wellformedness online verification Theorem 1: Let d =  C, Z , be a weakly reducible Euler diagram, then |Z| = ip(d) + cc(d) + 1 where – cc(d) denotes the number of components – ip(d) denotes number of intersection points Corollary of Proof: The addition of a simple closed curve A to a weakly reducible diagram d which only meets d in transverse intersections at points which are not intersection points of d yields a WF Euler diagram iff d+A satisfies the “zones condition” above. A 22Andrew Fish, University of Brighton, UK

23 Wellformedness online verification Theorem 1: Let d =  C, Z , be a weakly reducible Euler diagram, then |Z| = ip(d) + cc(d) + 1 where – cc(d) denotes the number of components – ip(d) denotes number of intersection points Corollary of Proof: The addition of a simple closed curve A to a weakly reducible diagram d which only meets d in transverse intersections at points which are not intersection points of d yields a WF Euler diagram iff d+A satisfies the “zones condition” above. The point(s): – We have enough points to “mark” the zone set – Can check wellformedness after curve addition by counting A 23Andrew Fish, University of Brighton, UK

24 Euler Diagram Abstraction For our interface, we want both: – Quick construction method – Quick interpretation method So, we consider the use of ellipses. Given two ellipses A and B, one can quickly find: – their intersection points (in particular, since in a wellformed diagram tangential points are not allowed, we will have 0, 2 or 4 intersection points); – their relationship (that is, if they overlap, if one is contained in the other or if they are disjoint) 24Andrew Fish, University of Brighton, UK

25 Marked Points We can represent each zone of d using a single marked point; that is, we associate to each zone z  Z(d) a single point such that where cl(z) is the closure of z. A B C D E 25Andrew Fish, University of Brighton, UK

26 Marked Points A B C D E 26Andrew Fish, University of Brighton, UK We can represent each zone of d using a single marked point; that is, we associate to each zone z  Z(d) a single point such that where cl(z) is the closure of z.

27 Marked Points A B C D E 27Andrew Fish, University of Brighton, UK We can represent each zone of d using a single marked point; that is, we associate to each zone z  Z(d) a single point such that where cl(z) is the closure of z.

28 Marked Points A B C D E 28Andrew Fish, University of Brighton, UK We can represent each zone of d using a single marked point; that is, we associate to each zone z  Z(d) a single point such that where cl(z) is the closure of z.

29 Marked Points A B C D E 29Andrew Fish, University of Brighton, UK We can represent each zone of d using a single marked point; that is, we associate to each zone z  Z(d) a single point such that where cl(z) is the closure of z.

30 Marked Points A B C D E 30Andrew Fish, University of Brighton, UK We can represent each zone of d using a single marked point; that is, we associate to each zone z  Z(d) a single point such that where cl(z) is the closure of z.

31 Marked Points A B C D E 31Andrew Fish, University of Brighton, UK We can represent each zone of d using a single marked point; that is, we associate to each zone z  Z(d) a single point such that where cl(z) is the closure of z. And we can update this set of marked points appropriately upon the addition or removal of curves.

32 Ellipse Addition A B C D d Draw a new contour E Compute E's relationshi p with d Is d + E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A noyes d is a wellformed diagram E E E E E d + E is a wellformed diagram 32Andrew Fish, University of Brighton, UK

33 Ellipse Addition A B C D d Draw a new contour E Compute E's relationshi p with d Is d + E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A noyes d is a wellformed diagram E E E E E d + E is a wellformed diagram Z d ={ , {A}, {B}, {C}, {A,B}, {A,C}, {B,C}, {C,D}, {A,B,C}} 33Andrew Fish, University of Brighton, UK

34 Ellipse Addition d is a wellformed diagram A B C D d Z d ={ , {A}, {B}, {C}, {A,B}, {A,C}, {B,C}, {C,D}, {A,B,C}} Draw a new contour E Compute E's relationshi p with d Is d + E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A noyes d is a wellformed diagram E E E E E d + E is a wellformed diagram 34Andrew Fish, University of Brighton, UK

35 Draw a new contour E Compute E's relationshi p with d Is d + E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A noyes d is a wellformed diagram E E E E E d + E is a wellformed diagram Ellipse Addition A B C D E x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 d Compute E's relationship with d Z d ={ ,{A},{B},{C},{A,B},{A,C},{B,C},{C,D},{A,B,C}} Cont(E)=  Over(E)={A,B,C} Inter(E)={x 1,x 2,x 3,x 4,x 5,x 6 } 35Andrew Fish, University of Brighton, UK

36 Draw a new contour E Compute E's relationshi p with d Is d + E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A noyes d is a wellformed diagram E E E E E d + E is a wellformed diagram Ellipse Addition A B C D E x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 d Is d +E wellformed ? By using Thm 1 Z d ={ ,{A},{B},{C},{A,B},{A,C},{B,C},{C,D},{A,B,C}} Cont(E)=  Over(E)={A,B,C} Inter(E)={x 1,x 2,x 3,x 4,x 5,x 6 } 36Andrew Fish, University of Brighton, UK

37 Draw a new contour E Compute E's relationshi p with d Is d + E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A noyes d is a wellformed diagram E E E E E d + E is a wellformed diagram Ellipse Addition Compute Split zones Z d ={ ,{A},{B},{C},{A,B},{A,C},{B,C},{C,D},{A,B,C}} Cont(E)=  Over(E)={A,B,C} Inter(E)={x 1,x 2,x 3,x 4,x 5,x 6 } Each arc splits exactly one zone A B C D E d x2x2 x3x3 x4x4 x5x5 x6x6 x1x1 37Andrew Fish, University of Brighton, UK

38 Compute Split zones Split Zones={ , {C}, {B,C},{B},{A,B},{A}} Z d ={ ,{A},{B},{C},{A,B},{A,C},{B,C},{C,D},{A,B,C}} Cont(E)=  Over(E)={A,B,C} Inter(E)={x 1,x 2,x 3,x 4,x 5,x 6 } Draw a new contour E Compute E's relationshi p with d Is d + E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A noyes d is a wellformed diagram E E E E E d + E is a wellformed diagram Ellipse Addition A B C D E d x2x2 x3x3 x4x4 x5x5 x6x6 x1x1 Each arc splits exactly one zone 38Andrew Fish, University of Brighton, UK

39 Generate new zones Split Zones={ , {C}, {B,C},{B},{A,B},{A}} New Zones={{E}, {C,E}, {B,C,E}, {B,E}, {A,B,E}, {A,E}} Draw a new contour E Compute E's relationshi p with d Is d + E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A noyes d is a wellformed diagram E E E E E d + E is a wellformed diagram Ellipse Addition Z d ={ ,{A},{B},{C},{A,B},{A,C},{B,C},{C,D},{A,B,C}} Cont(E)=  Over(E)={A,B,C} Inter(E)={x 1,x 2,x 3,x 4,x 5,x 6 } A B C D E d x2x2 x3x3 x4x4 x5x5 x6x6 x1x1 39Andrew Fish, University of Brighton, UK

40 Update marked points Points x 2 and x 3 are swapped with y 1 and y 2, respectively. For instance, y 1 previously marking {C} in d now marks {C,E}, whilst {C} is marked by x 2. Draw a new contour E Compute E's relationshi p with d Is d + E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A noyes d is a wellformed diagram E E E E E d + E is a wellformed diagram Ellipse Addition A B C D E x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 d y1y1 y2y2 Z d ={ ,{A},{B},{C},{A,B},{A,C},{B,C},{C,D},{A,B,C}} Cont(E)=  Over(E)={A,B,C} Inter(E)={x 1,x 2,x 3,x 4,x 5,x 6 } 40Andrew Fish, University of Brighton, UK

41 Update covered zones Zones {A,C} and {A,B,C} are not split and their marking points, y 3 and y 4, are in interior(E), so these zones need to be updated and become {A,C,E} and {A,B,C,E}. Draw a new contour E Compute E's relationshi p with d Is d + E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A noyes d is a wellformed diagram E E E E E d + E is a wellformed diagram Ellipse Addition A B C D E x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 d y1y1 y2y2 y3y3 y4y4 Z d ={ ,{A},{B},{C},{A,B},{A,C},{B,C},{C,D},{A,B,C}} Cont(E)=  Over(E)={A,B,C} Inter(E)={x 1,x 2,x 3,x 4,x 5,x 6 } 41Andrew Fish, University of Brighton, UK

42 Ellipse Addition d+E is a wellformed diagram Z d+E ={ , {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}} Draw a new contour E Compute E's relationshi p with d Is d + E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A noyes d is a wellformed diagram E E E E E d + E is a wellformed diagram A B C D E 42Andrew Fish, University of Brighton, UK

43 Ellipse Addition d+E is a wellformed diagram Z d+E ={ , {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}} Draw a new contour E Compute E's relationshi p with d Is d + E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A noyes d is a wellformed diagram E E E E E d + E is a wellformed diagram A B C D E d x2x2 x3x3 x4x4 x5x5 x6x6 x1x1 43Andrew Fish, University of Brighton, UK Skip Ellipse Deletion

44 Ellipse Removal d=d+E Z d ={ , {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}} Remove a contour C Compute C's relationship with d-C Is d - C wellformed ? Remove C from d Compute Split zones Merge Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A no yes d is a wellformed diagram C C d - C is a wellformed diagram A B C D E C C C C C 44Andrew Fish, University of Brighton, UK

45 Ellipse Removal d=d+E Z d ={ , {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}} A B C D E d Remove a contour C Compute C's relationship with d-C Is d - C wellformed ? Remove C from d Compute Split zones Merge Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A no yes d is a wellformed diagram C C d - C is a wellformed diagram C C C C C x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 45Andrew Fish, University of Brighton, UK

46 Ellipse Removal d is a wellformed diagram Z d ={ , {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}} Remove a contour C Compute C's relationship with d-C Is d - C wellformed ? Remove C from d Compute Split zones Merge Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A no yes d is a wellformed diagram C C d - C is a wellformed diagram A B C D E C C C C C 46Andrew Fish, University of Brighton, UK

47 Ellipse Removal Compute C ’s relationship with d-C Z d ={ , {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}} Cont(C)=∅ Over(C)={A,B,E} Inter(C)={z 1,z 2,z 3,z 4,z 5,z 6 } Remove a contour C Compute C's relationship with d-C Is d - C wellformed ? Remove C from d Compute Split zones Merge Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A no yes d is a wellformed diagram C C d - C is a wellformed diagram A B C D E C C C C C z2z2 z3z3 z4z4 z5z5 z6z6 z1z1 47Andrew Fish, University of Brighton, UK

48 Ellipse Removal Is d-C wellformed? Z d ={ , {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}} Cont(C)=∅ Over(C)={A,B,E} Inter(C)={z 1,z 2,z 3,z 4,z 5,z 6 } Remove a contour C Compute C's relationship with d-C Is d - C wellformed ? Remove C from d Compute Split zones Merge Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A no yes d is a wellformed diagram C C d - C is a wellformed diagram A B C D E C C C C C z2z2 z3z3 z4z4 z5z5 z6z6 z1z1 Only disconnected zones need to be checked. 48Andrew Fish, University of Brighton, UK

49 Compute Split zones Split Zones={ ,{B}, {E}, {A,E}, {B,E}, {A,B,E}} Ellipse Removal Remove a contour C Compute C's relationship with d-C Is d - C wellformed ? Remove C from d Compute Split zones Merge Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A no yes d is a wellformed diagram C C d - C is a wellformed diagram A B C D E C C C C C z2z2 z3z3 z4z4 z5z5 z6z6 z1z1 Z d ={ , {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}} Cont(C)=∅ Over(C)={A,B,E} Inter(C)={z 1,z 2,z 3,z 4,z 5,z 6 } Each arc splits exactly one zone 49Andrew Fish, University of Brighton, UK

50 Merge zones Ellipse Removal Remove a contour C Compute C's relationship with d-C Is d - C wellformed ? Remove C from d Compute Split zones Merge Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A no yes d is a wellformed diagram C C d - C is a wellformed diagram A B C D E C C C C C z2z2 z3z3 z4z4 z5z5 z6z6 z1z1 Z d ={ , {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}} Cont(C)=∅ Over(C)={A,B,E} Inter(C)={z 1,z 2,z 3,z 4,z 5,z 6 } Each arc splits exactly one zone 50Andrew Fish, University of Brighton, UK

51 Ellipse Removal Remove marked points that belong to C Z d ={ , {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}} Cont(C)=∅ Over(C)={A,B,E} Inter(C)={z 1,z 2,z 3,z 4,z 5,z 6 } Remove a contour C Compute C's relationship with d-C Is d - C wellformed ? Remove C from d Compute Split zones Merge Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A no yes d is a wellformed diagram C C d - C is a wellformed diagram A B C D E C C C C C z2z2 z3z3 z4z4 z5z5 z6z6 z1z1 51Andrew Fish, University of Brighton, UK

52 Ellipse Removal Remove marked points that belong to C Z d ={ , {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}} Cont(C)=∅ Over(C)={A,B,E} Inter(C)={z 1,z 2,z 3,z 4,z 5,z 6 } Remove a contour C Compute C's relationship with d-C Is d - C wellformed ? Remove C from d Compute Split zones Merge Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A no yes d is a wellformed diagram C C d - C is a wellformed diagram A B C D E C C C C C 52Andrew Fish, University of Brighton, UK

53 Update covered zones Zone {C,D} is not split by C and its marked point is in interior(C), so it needs to be updated and it becomes {D}. Ellipse Removal Z d ={ , {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}} Cont(C)=∅ Over(C)={A,B,E} Inter(C)={z 1,z 2,z 3,z 4,z 5,z 6 } Remove a contour C Compute C's relationship with d-C Is d - C wellformed ? Remove C from d Compute Split zones Merge Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A no yes d is a wellformed diagram C C d - C is a wellformed diagram A B C D E C C C C C 53Andrew Fish, University of Brighton, UK

54 d-C is a wellformed diagram Ellipse Removal Remove a contour C Compute C's relationship with d-C Is d - C wellformed ? Remove C from d Compute Split zones Merge Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A no yes d is a wellformed diagram C C d - C is a wellformed diagram C C C C C Z d-C ={ , {A}, {B}, {E}, {D}, {A,B}, {A,E}, {B,E}, {A,B,E},} A B D E 54Andrew Fish, University of Brighton, UK

55 Complexity Ellipse addition and removal algorithms are similar and their complexity is 55Andrew Fish, University of Brighton, UK

56 Complexity Draw a new contour E Compute E's relationshi p with d Is d + E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A no yes d is a wellformed diagram E E E E E d + E is a wellformed diagram O(|C|) O(|C| log |C|)O(|C|) O(|Z|) 56 For each other curve, compute intersection points with E; if curve C disjoint then check if marked point for C is in interior (E)

57 Complexity Draw a new contour E Compute E's relationshi p with d Is d + E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A no yes d is a wellformed diagram E E E E E d + E is a wellformed diagram O(|C|) O(|C| log |C|)O(|C|) O(|Z|) 57 Check no tangential/triple points created. Check WF using the number of intersection points of E with other curves (Thm 1)

58 Complexity Draw a new contour E Compute E's relationshi p with d Is d + E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A no yes d is a wellformed diagram E E E E E d + E is a wellformed diagram O(|C|) O(|C| log |C|)O(|C|) O(|Z|) a)Each arc splits exactly 1 zone b)# arcs = O(|C|) c)Consecutive arcs split zones which differ by one exactly contour, so we order the points of inter(E). 58

59 Complexity Draw a new contour E Compute E's relationshi p with d Is d + E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A no yes d is a wellformed diagram E E E E E d + E is a wellformed diagram O(|C|) O(|C| log |C|)O(|C|) O(|Z|) 59 Add E to split zones

60 Complexity Draw a new contour E Compute E's relationshi p with d Is d + E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A no yes d is a wellformed diagram E E E E E d + E is a wellformed diagram O(|C|) O(|C| log |C|)O(|C|) O(|Z|) 60 Iterate through Inter(E) and perform set membership check

61 Complexity Draw a new contour E Compute E's relationshi p with d Is d + E wellformed ? Add E to d Compute Split zones Generate new Zones Update Marked Points Update covered Zones Cont(E) Over(E) Inter(E) Reject A no yes d is a wellformed diagram E E E E E d + E is a wellformed diagram O(|C|) O(|C| log |C|)O(|C|) O(|Z|) 61 Iterate through non-split zone set and check if their marked point is in interior(E)

62 A naive approach Draw a new contour E A new contour is added Duplicate each zone Check Zones d is an Euler diagram E E O(1) O(|Z|) O(|Z|  f(|C|)) f(|C|) = time needed to check if a given zone is present in d + E 62

63 EulerVC As a proof of concept we have implemented the algorithms as general purpose Java library – And used it to build a small application which allows users to use Euler Diagrams to classify internet bookmarks on their desktop, or on Delicious… 63Andrew Fish, University of Brighton, UK

64 “Delicious is a social bookmarking web service for storing, sharing, and discovering web bookmarks” (from Wikipedia) – Users can tag each of their bookmarks with freely chosen index terms 64Andrew Fish, University of Brighton, UK

65 Bookmark Tags 65Andrew Fish, University of Brighton, UK

66 EulerVC: skip slides; demo toolskip slidesdemo tool 66

67 EulerVC 67Andrew Fish, University of Brighton, UK

68 EulerVC 68Andrew Fish, University of Brighton, UK

69 EulerVC 69Andrew Fish, University of Brighton, UK

70 EulerVC 70Andrew Fish, University of Brighton, UK

71 EulerVC 71Andrew Fish, University of Brighton, UK

72 EulerVC 72Andrew Fish, University of Brighton, UK

73 EulerVC 73Andrew Fish, University of Brighton, UK

74 EulerVC 74Andrew Fish, University of Brighton, UK

75 EulerVC 75Andrew Fish, University of Brighton, UK

76 EulerVC 76Andrew Fish, University of Brighton, UK

77 EulerVC 77Andrew Fish, University of Brighton, UK

78 EulerVC 78Andrew Fish, University of Brighton, UK

79 EulerVC 79Andrew Fish, University of Brighton, UK

80 EulerVC 80Andrew Fish, University of Brighton, UK

81 EulerVC 81

82 Conclusion Algorithms developed to solve the on-line diagram abstraction problem. EulerVC application constructed useful for: – User classification of resources (requires user testing…) – Exploratory research of diagram properties like weak reducibility (see Symmetric Venn(5) with Ellipses)Symmetric Venn(5) with Ellipses Future plans: – Handle NWF cases by extending the use of marked ptsNWF – General resource handling (web pages, photos, files...) – Integration with EulerView idea (for larger scale)EulerView – Investigate diagram classes 82Andrew Fish, University of Brighton, UK

83 Blank Andrew Fish, University of Brighton, UK83


Download ppt "Interactive Visual Classification with Euler Diagrams Gennaro Cordasco, Rosario De Chiara Università degli Studi di Salerno, Italy Andrew Fish* University."

Similar presentations


Ads by Google