A fundamental group for greyscale digital images

7
Journalof MathematicalImagingand Vision6, 161-167 (1996) © 1996Kluwer Academic Publishers. Manufactured in The Netherlands. A Fundamental Group for Greyscale Digital Images MAT NEWMAN Programming Research Group, Oxford University Computing Laboratory, Oxford, OX1 3QD, United Kingdom Abstract. One of the concepts from topology that has found use in image processing is the so called Fundamental Group of an image. A definition for the digital fundamental group of a binary picture was introduced by Kong in A digital fundamental group [4]. This paper introduces a fundamental group for greyscale images. We also describe Poincar6's classical method for computing a representation of the fundamental group and extend this to work with our greyscale version, 1. Introduction In this paper we will be concerned with extending some of the concepts from algebraic topology to digital topo- logy. Many of these concepts have already been suc- cessfully applied to binary digital images [4, 5]; here we shall primarily be dealing with greyscale images. 1.1. Greyscale Images Digital images come from a variety of sources, two examples being medical imaging and materials anal- yses. Various topologically based algorithms can be computed for binary digital images: surface extraction may be performed to enable an image to be rendered onto a visual display; the Euler characteristic may be used to compute the number of 'handles' that a body has (see for example [3]); the fundamental group for a con- nected set may be used to indicate its higher connectiv- ity properties (whether there is a path from the inside of a vessel to the outside for particles under a certain size, for example). Usually a multi-dimensional array of values, or greyscale image, is generated. Let us denote the value of a point x in the array by #(x). By the top level we mean the highest value attained by/z ranging over all points in the image. A greyscale image is nor- mally converted into a binary array. Converting from a greyscale to a binary image necessarily loses informa- tion, and so how we do this conversion may have a great effect upon the results of our analyses. One popular method for performing this converting is via threshold- ing. Here a value k is chosen and a new binary func- tion/z t defined such that/z'(x) = 1 iff/z(x) _> k. The level at which the thresholding is done may affect the topology of the final image. The advantage of convert- ing from greyscale to binary is that binary images are much easier to work with. Concepts of connectivity, Euler characteristics, fundamental groups and so forth have been well worked out for binary images in n- dimensions. The main disadvantages are that poten- tially valuable information is lost and that pre-defined ways of converting may influence final results. To get around these problems we can do one of two things. Firstly we could threshold at many different levels, generating many (possibly different) binary images. We can then perform our computations on each image in turn, and compare results in order to decide which threshold to use, or to see how the image changes across the threshold spectrum. Alternatively we can incorpo- rate the greyscale information directly into our calcu- lations. Which method we choose depends very much upon what we are doing with our image. If we wish to calculate the Euler characteristic (see [5]) then there are very efficient look-up table methods for binary images. It is not obvious how to convert these methods directly for use with greyscale images without at least implic- itly doing several thresholdings. Thus the first method above seems to be the obvious route for hole or tunnel counting. For an interesting approach to defining the genus for two dimensional greyscale pictures, see [8].

Transcript of A fundamental group for greyscale digital images

Page 1: A fundamental group for greyscale digital images

Journal of Mathematical Imaging and Vision 6, 161-167 (1996) © 1996 Kluwer Academic Publishers. Manufactured in The Netherlands.

A Fundamental Group for Greyscale Digital Images

MAT NEWMAN Programming Research Group, Oxford University Computing Laboratory, Oxford, OX1 3QD, United Kingdom

Abstract. One of the concepts from topology that has found use in image processing is the so called Fundamental Group of an image. A definition for the digital fundamental group of a binary picture was introduced by Kong in A digital fundamental group [4]. This paper introduces a fundamental group for greyscale images. We also describe Poincar6's classical method for computing a representation of the fundamental group and extend this to work with our greyscale version,

1. Introduction

In this paper we will be concerned with extending some of the concepts from algebraic topology to digital topo- logy. Many of these concepts have already been suc- cessfully applied to binary digital images [4, 5]; here we shall primarily be dealing with greyscale images.

1.1. Greyscale Images

Digital images come from a variety of sources, two examples being medical imaging and materials anal- yses. Various topologically based algorithms can be computed for binary digital images: surface extraction may be performed to enable an image to be rendered onto a visual display; the Euler characteristic may be used to compute the number of 'handles' that a body has (see for example [3]); the fundamental group for a con- nected set may be used to indicate its higher connectiv- ity properties (whether there is a path from the inside of a vessel to the outside for particles under a certain size, for example). Usually a multi-dimensional array of values, or greyscale image, is generated. Let us denote the value of a point x in the array by #(x). By the top level we mean the highest value attained by/z ranging over all points in the image. A greyscale image is nor- mally converted into a binary array. Converting from a greyscale to a binary image necessarily loses informa- tion, and so how we do this conversion may have a great effect upon the results of our analyses. One popular

method for performing this converting is via threshold- ing. Here a value k is chosen and a new binary func- tion/z t defined such that/z'(x) = 1 iff/z(x) _> k. The level at which the thresholding is done may affect the topology of the final image. The advantage of convert- ing from greyscale to binary is that binary images are much easier to work with. Concepts of connectivity, Euler characteristics, fundamental groups and so forth have been well worked out for binary images in n- dimensions. The main disadvantages are that poten- tially valuable information is lost and that pre-defined ways of converting may influence final results. To get around these problems we can do one of two things. Firstly we could threshold at many different levels, generating many (possibly different) binary images. We can then perform our computations on each image in turn, and compare results in order to decide which threshold to use, or to see how the image changes across the threshold spectrum. Alternatively we can incorpo- rate the greyscale information directly into our calcu- lations. Which method we choose depends very much upon what we are doing with our image. If we wish to calculate the Euler characteristic (see [5]) then there are very efficient look-up table methods for binary images. It is not obvious how to convert these methods directly for use with greyscale images without at least implic- itly doing several thresholdings. Thus the first method above seems to be the obvious route for hole or tunnel counting. For an interesting approach to defining the genus for two dimensional greyscale pictures, see [8].

Page 2: A fundamental group for greyscale digital images

162 Newman

If we wish to compute the fundamental group of an image then it turns out we are able to retain the greyscale information throughout much of the calcula- tion, and so arrive at a representation which enables us to see quickly how the group of the image alters with different threshold levels. This computation takes the same time as it takes to compute the fundamental group for a binary image. How we achieve this is explained in this paper.

1.2. Algebraic Topology

Algebraic topology is a method for assigning groups and other algebraic structures to topological spaces, thereby transforming problems of topology into prob- lems of algebra, which can be solved more easily. We shall be interested in only a small and basic part of this subject, namely the fundamental group.

In the following section a map will be a continu- ous function, and I will denote the closed unit interval [0, 1]. Suppose we have a topological space Y and apo in tyo ~ Y. A l o o p i n Y based a t y o i s amap )~: I --+ Y such that L(0) = L(1) = Yo. We define an equivalence relation on loops as follows. Two loops )~, ~/are equivalent if we can continuously deform one loop onto the other in Y whilst keeping the endpoints of the loops fixed. Formally ~. ----- )J if there is a continu- ous H: I x I --+ Y such that H(i, O) = )~(i), H(i, 1) = ;~'(i) and H(0, j ) = h(1, j ) = Yo. Thus in Fig. l(i) the loops L1 and L2 are equivalent, but are distinct from L3. The equivalence class of ~. is denoted [)~]. These equivalence classes will form the elements of

the fundamental group. The constant map L(i) = Yo is called the trivial loop. Any loop homotopic to the trivial loop is called null homotopic (the loops L 1 and L2 in Fig. l(i) are null homotopic). The equivalence class of the trivial loop will be the identity element of the fundamental group. Given two paths f , g we may define the composite path f + g by:

1 f (2 i ) if 0 < i < 1 ( f + g ) ( i ) = g ( 2 i - 1 ) if~ < i < 1

Since f (1 ) = Yo = g(0) this is well defined. We ob- tain the composition of equivalence classes by defining [)~] + [)d] to be [)~ + ~.']. It is easy to see that this is well defined, and that ( f + g) + h -~ f + (g + h). For example in Fig. l(ii) L1 -t- L2 --~ L3. Finally we define the inverse of a loop f by ( - f ) ( i ) = f (1 - i), and -[;~] is defined to be [-)@ The fundamental group thus defined on a space Y by using loops based at Yo is denoted zr(Y, yo). If the space Y is path-connected then the choice of base point does not affect the fun- damental group. This is because given another base point Yl and any loop )~ based at Yo we can create a loop )d based at Yl by composing a path p from Yl to Yo with ~, and then combining this with - p i.e., )d = p ÷ )~ - p. The path p defines an isomorphism p.: zr(Y, Yo) ~ st(Y, Ya). When Y is path-connected then we usually write Jr (Y) for the fundamental group of Y. If two spaces X and Y are homeomorphic then 7r(X) ~- zr(Y). A fuller account of these concepts along with a proof that 7r(Y, Y0) is well defined and topologically invariant may be found in [7] and other

L3

(0 (.)

Figure l. (i) Fixed base point loops in an annulus. (ii) Composition of loops.

Page 3: A fundamental group for greyscale digital images

A Fundamental Group for Greyscale Digital Images 163

b

\ a

>

b

Figure 2. Poincar6's original example.

standard algebraic topology texts. A space whose fun- damental group is trivial is called simply-connected.

1.3. Finitely Presented Infinite Groups

A convenient method for presenting some infinite groups is by using generators and relations. The gen- erators gl " " g n are chosen such that any element of the group in question can be written as a word using just those generators. The relations rl ' - - rm indicate any relations which hold amongst the generators (note that there might not be any relations, in which case the group is known as the free group on n generators). Such a group is written as (gl " " gn [ rl . . . rm). Examples of relations would be g4 • g7 --- gl • g2 or g2 = e where e is the identity element of the group. Often the " = e" part of a relation is omitted, and in fact one can always write a relation as some product of generators equals e, so the above two relations could have been written as g4 • g7 • g~-i. g~-i and g2.

As examples:

z ~ - ( x l ) zn - (x Ix n)

Z x g ~ ( x , y I x . y . x -1 . y - l )

Where Z is the additive group of integers, and Zn is the group formed by taking the product of n copies of Z. For a more comprehensive account of this subject see standard texts such as [7] and elsewhere.

2. The Algorithm

In 1895 Poincar6 gave a method for computing the fun- damental group of a few special spaces. An example

of his method is depicted in Fig. 2. The space here is made from a square with opposite edges identified, and this gives rise to a toms. All four vertices become identified with one another. We can see that any closed curve can be deformed onto the edges, and so the curves a and b (note these are closed curves and hence loops) are generators for the fundamental group. Similarly, any deformation of loops may be achieved by pulling curves across the faces the square, and so the perimeter of each face is null homotopic. This implies that the relation a - b = b- a holds in the group. Thus we have an abelian group with 2 generators. Tietze generalized this method in 1908 to work for connected spaces built up from many edges, squares and cubes.

Firstly we will describe how to do this for (con- nected) binary images, which we here assume to be 3 dimensional, although the method is easily modified for other dimensionalities. We use standard definitions from digital topology (see for example [5]). Specifi- cally in 3 dimensions we define two points x and y to be 6-connected iff they differ by exactly one in ex- actly one co-ordinate. Two points are 26-connected if they differ by exactly one in at least one co-ordinate, and by at most one in any co-ordinate (therefore for any given point x there are 26 other points which are 26-connected to x). We normally use complimentary connectivity types for those points in our image Im and those points in the background (i.e., the comple- ment of Im). By (/3, &)-connectivity we mean that we are using/3 connectivity for the image points, and co connectivity for the remaining points. We interpret our array of numbers (the image) as a set of lattice points with integer co-ordinates, constructing a polyhedron as follows. The vertices of the polyhedron are all the elements x from our image array such that/z(x) > 0.

Page 4: A fundamental group for greyscale digital images

164 N e w m a n

If two vertices vi, v j differ by exactly one in exactly one co-ordinate (i.e., vi and vj are 6-adjacent), then the edge (el j ) is added to the polyhedron. If four ver- tices span a unit square, we add the unit square to the polyhedron. Each edge is a generator for our group (the reader might be expecting loops to form the gen- erators of our group rather than single edges and this indeed will be the case, we will identify edges from the same loop by introducing relations amongst such edges). We now describe how to compute the relations for the group. Construct a spanning tree (also known as a maximal tree i.e., a tree containing every vertex from our complex) for the polyhedron. If an edge eij

is covered by this tree, then add the relation eij (i.e., that the generator induced by this edge is equal to the identify element of the groupmthis is because any tree is simply-connected) to the group presentation. Next for each quadruple of vertices (vi, v j , vk, vl) such that e i j , ejk, ell, eft are the border of a face in our poly- hedron we add the relation eij • e j k • e~ 1 • e~ 1. This completes the presentation of the group. A more de- tailed description of this construction (known as the edge group) may be found in [1] and elsewhere. This group may then be simplified (usually quite consid- erably) into a shorter form. One method for doing this is as follows. Whilst there are still some rela- tions in which a generator occurs only once (e.g., e i j

or ei.i • ejk . er.~ I • e-f~) we can remove the singly occur- ring generator from our list, and substitute its equiva- lence whenever it occurs in other relations (i.e., from e i j • e l k • ers 1 • e j we can replace occurrences of e i j

by e j t • ers • e-f~). We then remove the original re- lation from our list. When we do a substitution we simplify the result as much as possible by removing occurrences such as x • x -1. Note that since we are reducing the number of generators at each step, this process will terminate. Finally we remove any dupli- cate relations.

The order in which we simplify the group presen- tation may affect the final presentation. Whether two presentations represent isomorphic groups is known as the group isomorphism problem. In general this prob- lem is undecidable, and even for small images it can in practise be difficult to decide the issue. For exam- ple if we take a cube with a cavity in it in the shape of Listing's knot Fig. 3 (the fundamental group of this space is known as the knotgroup of Listing's knot) then we could arrive at either of the following presentations (which were obtained by processing the same image

#--

Figure 3. Listing's knot.

data set in two different orders):

(i) ( a , b , c I a ' b - l " a - l " b ' a ' c - l " a ' c ' a - l " b - 1 , a . c . a -1 . b . a . c -1 . a -a . c . a -1 .b -1)

(ii) (x, y l x . y - l . x - l . y - x - l . y - l . x . y . x - 1 . y )

It is left as an exercise for the reader to show that these groups are indeed isomorphic!

A proof that this presentation yields a group isomor- phic to the fundamental group of the underlying space is given in [1]. Our construction is related to the (6, 26) connectivity case of the continuous analogue defined in [5], and is somewhat simpler. This group is isomorphic to the (6, 26) digital fundamental group of [4]. Other connectivity relations may be handled analogously.

3. A Greyscale Presentation of the Fundamental Group

Figure 4(i) shows a small two dimensional example of a greyscale digital image (we shall in this exam- ple use (4, 8) connectivity). If we threshold the im- age at level 3, then the resulting binary image (ii) has

0000000 0000000 0000000 0000000 0333330 0111110 0111110 0111110 0312130 0100010 0101010 0111110 0333330 0111110 0111110 0111110 0000000 0000000 0000000 0000000

(i) (ii) (iii) (iv)

Figure 4. An example greyscale image.

Page 5: A fundamental group for greyscale digital images

A Fundamental Group for Greyscale Digital Images 165

fundamental group isomorphic to Z, the free group on one generator. Thresholding at 2 yields (iii), which has fundamental group Z * Z, the (non-abelian) free group on two generators. Finally thresholding at 1 gives (iv) which is simply connected, and thus has a trivial fun- damental group. Writing these groups in terms of gen- erators and relations we obtain the following:

(ii) (a I) (iii) (a, b I) (iv) (a l a)

How, though, are we to represent all the information pertinent to (i) without merely listing each of the threshold-fundamental groups? As we reduce the threshold value new generators are added to our group, and new relations relate them to the other generators or form new relations amongst already present gener- ators. Thus moving from a threshold of 3 to 2 adds one new generator to our group. Moving the threshold from 2 to i adds two new relations, which tells us that the generators are in fact equal to the identity element. Thus a better description of the fundamental group for (iv) is (a, b I a, b). If we subscript generators and re- lations to indicate when they come into force, then we may neatly and concisely describe all the above groups in the following way:

(a3, b2 [ al, bl)

As a further example consider the following present- ation:

(a4, b3 [ ( a . b = b - a ) 3 , b2, al}

which would arise if we have an image which at level 4 is a circle (fundamental group (a I )), at level 3 a torus ((a, b I a • b = b . a) = Z x Z), at level two the torus is solid (i.e., homotopic to a circle again) and at level 1 the hole in the solid torus is filled (i.e., homotopic to a disc).

We shall now describe how to modify the binary- image algorithm to generate such representations from greyscale images. We shall denote the value of an el- ement x of our greyscale image by/x(x). We have to insist on one connectivity restriction to our greyscale images. We require that our image is level-connected, by which we mean that thresholding at any level re- sults in a connected set. How to interpret the con- cepts of the fundamental group for non level-connected greyscale images will be discussed later. Firstly we ex- tend the/z function from vertices to edges as follows:

if an edge eij has points vi and 1)j a s its endpoints, then Iz(eij) = min(/z(vi), Iz(vj)) . Next we construct our spanning tree as before, but now we insist that if Iz(vi) >/z (v j ) then vi is connected to the spanning tree before vj is. Since the input image is level-connected we know that this criterion can be fulfilled. We now have a set of generators eij each with a value Ix(eij). The relations are calculated as before, except now they too have a value, defined by #(r i ) = min(/x(ejt) I ejk occurs in ri). A simplifying procedure similar to that for binary-image generated groups is now used: again we specify the order in which generators are substituted out by relations. Whilst there are still some relations in which a generator occurs only once (called applicable relations) we take a relation ri with maximal/z over all applicable relations and proceed nearly as before. The differences now are that we only make a substitution based upon ri into another relation rj if tz(ri) >_ Iz(rj). If a generator eij is substituted out by a relation rk with lz(eij) = /x(rk) then we remove eij (as a generator) as before. If on the other hand a generator eii is sub- stituted out by a relation rk with #(e i j ) > lz(rk) then we keep both the generator eij and the relation rk once all the substitutions have been done. By the defini- tion of IX(rk) we know that lz(eij) >__ lZ(rk) and so one of the above two cases will apply. Let us denote the

g be resulting simplified representation by he. Let 7r k the group represented by all the generators eij in rrg with Iz(eij) >__ k and related by all the relations ri in ng with Iz(ri) > k (our use of 7rk should not be confused with the higher homotopy groups 7rn (X, x0) of a space based upon 'loops' L: I n ~ X). Let 7rk denote the (binary-image) fundamental group of our image when we apply a threshold value of k. By construction it is

g - Jrk for all values of k since the sim- easily seen zr k plifying rules define isomorphisms between groups.

Group presentations generated in this way may some- times have what at first sight appear to be excessive generators and relations. For example the presentation

(a4, b3 [a3)

is clearly isomorphic 1 to just

(a411

A more complicated example is

(a4, b3, c3 I (a = b m • cn)3)

which is isomorphic to both

(a4, b3, c3 1 a3)

Page 6: A fundamental group for greyscale digital images

166 Newman

and the even simpler

(a4, b3 I)

by relabeling. Whilst these are isomorphic as groups they do not accurately describe what is going on if group elements are interpreted as loops in the image space. These simpler representations can easily be gen- erated as follows. When we substitute out a generator eij by a relation r~ with ]z(eij) > /x(rD then instead of retaining the original relation rk we remove rk but add the relation r~ = e i j with/z(r~) = lz(rk) (this is equivalent to choosing alternative generators). Finally if we have generators x and y and a relation r where r = x (i.e., r says that the generators x is the identify element of the group), #(x) > '/z(y) = #( r ) and for no relation r t w i th / z ( / ) > lz(r) does x appear in r t then we can remove y and r, and replace all occurrences of y in other relations with x (by construction x will originally appear in no relation r ' w i th /z ( / ) < /z(r) and y will appear in no relation r" with/z(r") > #(r) , hence this relabeling is clash-flee).

3.1. Non Level-Connected Sets

The fundamental group is defined for path-connected spaces. If we have a space X and N components C1 . . . Cn then we can compute the fundamental group for each component. If we are using a binary image then this is as far as we need to go. However for greyscale images it may be that certain components at one thresh- old level become merged when a lower threshold value is used. The problem of computing the fundamental group of a space X which is the union of 2 spaces X0, X1 from the fundamental groups of each of the Xi and the fundamental group of the intersection X0 n X1 is answered by a generalization of Van-Kampen's the- orem (see [2] and elsewhere). It is however not a com- putationally feasible route to take to the problem. To compute the fundamental group practically we use an approach similar to that for level-connected sets. We assume that the image is connected when threshold at the lowest level.

In order to accommodate non level-connected sets we modify the greyscale algorithm as follows. Firstly, we construct our spanning tree on a component by com- ponent basis. If for the top level k there are nk com- ponents C~ . . . C k then we construct nk spanning trees nk T ( . . . T~. At level k - 1 we extend each tree T/k to cover the component C~ -1 in which C~ lies (note that

000000000 033323330 030303030 033323330 000000000

Figure 5. An example greyscale image which is not level conn- ected.

k-1 Cj may contain several of the Cks, in which case

each T/k is a sub-tree of T;-1). If there are any (k - 1)- components which contain no k-components then we create a new spanning tree for each of them. Proceed- ing in this way we eventually arrive at a spanning tree T for the whole image such that thresholding at any level j gives us nj components each of which inherits a spanning tree via the inclusion map from T.

The /x function is defined as before. If we were merely to run the original greyscale algorithm on the image in Fig. 5 it would return the representation (a3, b3, c2 [) and we would not know that the image is disconnected when threshold at level 3. In order to keep the component information we introduce another function p which returns a pair of integers (r, s) and is defined such that p(eij) : (r, s) iff eij c T 7 and eij f[ T s' for any s ' > s. We now tag each generator with its (r, s) pair. Given a vertex vi if there are edges eij and elk then we add a relation amongst the pairs (r, s) by setting p(eij) = p(eik) and extend/z to these relations such that #((r , s) = (r', s')) = min(s, s'). (Note that there (r, s) is thought of as a label and so by (r, s) = (t, u) we mean that these labels denote the same object and not necessarily that r = t and s = u as integers.) We remove any trivial relations (r, s) = (r, s). Thus a presentation for the fundamen- tal group (strictly speaking it is now a presentation for the fundamental groupoid) of the image in Fig. 5 is

(1,3) (2,3) (1,2) (a3 , b3 , c2 I (1, 3) = (1, 2)2, (2, 3) = (1, 2)2) which is to be interpreted as saying that at level 3 there are two components, each of which has a fun- damental group isomorphic to Z, and that at level 2 both of these components merge into the single level 2 component, which has fundamental group isomor- phic to Z * Z * Z. In general the relations of the form (r, s) = (t, u) give useful information about the inter- relations between components at different levels.

4. Concluding Remarks

For practical implementations of this algorithm it is best to build the group presentation one generator and/or

Page 7: A fundamental group for greyscale digital images

A Fundamental Group for Greyscale Digital Images 167

relation at a time simplifying along the way, rather than computing all the generators and relations at once and then simplifying. This is because even a small image (e.g., 8 × 8 x 8) can create many hundreds of generators and relations. Simplifying as you progress through the complex keeps the number of generators and relations at any one time much smaller than this. Sample data has shown that the simplifying procedure can be hundreds of times slower than computing the generators and relations. The fundamental group has applications in the theory of thinning for binary images. The algorithm given here could be part of the basis for an automated search for simple points (see [6]) and other local topological phenomena. It is likely that a greyscale fundamental group will be of use in attempts to extend such techniques to greyscale images.

To see that the two presentations given in Section 2 for the knot-group of Listing's knot are isomorphic note that in (i) we get b = a . c . a -1 • b . a . c -1 • a -1. c . a -1 from the second relation, substituting this for b in the first relation yields b = c. The substitutions are then x = a - I and y = b-~(= c-1).

Note

g2 for all values 1. Saying that Jr gl ~ Jr g2 just means that n g~ ~ rc k ofk.

References

I. M.A. Armstrong, Basic Topology, Springer-Verlag, 1983. 2. R. Brown, Elements of Modern Topology, McGraw-Hill:

London, 1968.

3. A. Cerezo, M.G. Hetherington, J.M. Hyde, and M.K. Miller, "A topological approach to materials characterization," Scripta Metallurgica et Materialia, Vol. 25, pp. 1435-1440, 1991.

4. T.Y. Kong, "A digital fundamental group," Computers and Graphics, Vol. 13, No. 2, pp. 159-166, 1989.

5. T.Y. Kong, A.W. Roscoe, and A. Rosenfeld, "Concepts of digital topology," Topology andltsApplications, Vol. 46, pp. 219-262, 1992.

6. T.Y. Kong and A. Rosenfeld, "Digital topology: Introduction and Survey," Computer Vision, Graphics, and lmage Processing, Vol. 48, pp. 357-393, 1989.

7. W.S. Massey, A Basic Course in Algebraic Topology, Springer- Verlag, 1991.

8. A. Rosenfeld, "On connectivity properties of grayscale pic- tures," Pattern Recognition, Vol. 16, No. 1, pp. 47-50, 1983.

Matthew Newman received his B.A. in Mathematics and Philoso- phy, and M.Sc. in Computation, from Oxford University in 1989 and 1990 respectively. He worked for Oliver, Wyman 8,: Co. in fi- nancial risk management for two years before returning to Oxford to study for a D.Phil. in Computing. His current areas of interest are in Hardware Compilation, specifically utilising high-level circuit specification to assist the chip design phase, 2 dimensional filings, and digital topology. He is married with 2 cats.