Chromatic persistent homology. Introduction and Applications
Abstract
In this work we present the main definitions and tools in persistent homology. We will study some relations between the chromatic filtrations and how to apply these methods in the topological analysis of monochromatic and multicolored point clouds. Lastly, we will show how we can apply them in other areas of mathematics. Especially in the field of spatial biology.
Full text
UNIVERSIDAD DE SEVILLA Facultad de Matemáticas Master Universitario en Matemáticas Departamento de Matemáticas Aplicadas I Trabajo de Fin de Master Chromatic persistent homology. Introduction and Applications Realizado por Manuel Arriaza Rincón Tutorizado por Dr. María José Jiménez Rodríguez y Dr. Bernadette Stolz Sevilla, Julio de 2025
Abstract In this work we review the main definitions and tools in persistent homology. We will study some relations between the chromatic filtrations and how to apply these methods in the topological analysis of monochromatic and multicolored point clouds. Lastly, we will show how we can apply them in other areas of mathematics. Especially in the field of spatial biology.
Resumen En este trabajo revisamos las definiciones y herramientas principales de la homología persistente. Estudiaremos algunas relaciones entre las filtraciones cromáticas y cómo aplicar estos métodos al análisis topológico de nubes de puntos monocromáticas y multicolores. Finalmente, mostraremos cómo también pueden aplicarse en otras áreas de las matemáticas, especialmente en el campo de la biología espacial.
Contents 1 Introduction 1 2 Topological and algebraic tools 3 2.1 Simplicial homology . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Persistence modules . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3 Barcodes and persistence diagrams . . . . . . . . . . . . . . . 11 2.4 Distances between diagrams and stability theorems . . . . . . 14 3 About persistent homology 15 3.1 Vietoris-Rips filtration . . . . . . . . . . . . . . . . . . . . . . 15 3.2 Čechfiltration........................... 18 3.3 Alphacomplexes ......................... 23 3.4 Image, kernel and cokernel . . . . . . . . . . . . . . . . . . . . 25 4 Chromatic persistent homology 34 4.1 Dowkerfiltration ......................... 34 4.2 Chromatic alpha filtration . . . . . . . . . . . . . . . . . . . . 40 4.3 The 6-pack and its geometric interpretation . . . . . . . . . . 42 4.3.1 The image diagram . . . . . . . . . . . . . . . . . . . . 43 4.3.2 The kernel diagram . . . . . . . . . . . . . . . . . . . . 44 4.3.3 The cokernel diagram . . . . . . . . . . . . . . . . . . . 45 4.4 Examples ............................. 47 4.4.1 Two separated clusters . . . . . . . . . . . . . . . . . . 47 4.4.2 A point cloud around another . . . . . . . . . . . . . . 49 4.4.3 Circle made from two colors . . . . . . . . . . . . . . . 51 4.4.4 Comparative behaviour between Chromatic Alpha and Dowkerfiltrations..................... 54 5 Applications to spatial biology 63 5.1 Dowker filtration in tumor microenvironment classification . . 63 5.2 Chromatic Alpha filtration in behaviour of different cell types 66 Bibliography 71
1 Introduction Topological Data Analysis (TDA) is one of the most recently developed branches of mathematics, leading it to be one of the most active areas of research within the discipline in modern times. TDA’s prime objective is to rigorously define and measure topological features of data: connected components, loops, holes, etc. This area of research emerged from various works in applied topology and computational geometry during the first decade of the century, and established as a field with the works of H. Edelsbrunner [1], A. Zomorodian, G. Carlsson [2] and V. Robins [3], among others. Since then, numerous data Figure 1: H. Edelsbrunner, A. Zomorodian, G. Carlsson and V.Robins structures and algorithms have been implemented to perform TDA in standard libraries, such as the GUDHI library for Python and C++ [4]. This study complements techniques from statistical methods and standard data analysis, and has proven very useful in certain areas of microbiology and medicine research (see [5]). In this work, we focus in one of most promiment tools in TDA: persistent homology, a very broad area of mathematics that serves as a bridge between algebraic topology and data analysis. Specifically, we are interested in presenting the main objects of chromatic persistent homology, which aims to study the topological features of more than one point cloud, each of them representing a different kind of data (which we usually refer as a color). In Chapter 2 we introduce the main abstract definitions needed for understanding the core of persistent homology: simplicial homology, filtrations, persistence modules and persistence barcodes and diagrams. Later, in Chap1
ter 3 we review the first examples of filtrations that are usually taught in a first course of persistence homology: Vietoris-Rips, Čech and Alpha filtrations; as well as a brief approach to how two simultaneously growing nested filtrations behave. We also present some new results in this chapter, where we relate the dimension of the simplices added to the filtration with the appearance of certain points in the corresponding persistence diagrams. After that, in Chapter 4 we introduce the main filtrations used in the study of chromatic persistent homology: Dowker [6] and Chromatic Alpha [7, 8]. We provide a detailed explanation of their geometric interpretations and plenty of examples to compare the results given by either method. Finally we provide some applications for chromatic persistent homology in Chapter 5: we mention an already existing article of B. J. Stolz et al. (see [5]) where a TDA-based algorithm succeeds at identifying growth of tumor cells better than other non-TDA-based algorithms. Additionally, we carry out a collaborative experiment with Dr. Elena Camacho from the Centro Andaluz de Biología del Desarrollo (CABD), where we explore a new way of studying spatial cell organization using the Chromatic Alpha Filtration. We are deeply grateful for her collaboration with this work. Throughout this work, we will provide several examples illustrating the different filtrations introduced. We will use the Python library GUDHI [4] to compute Vietoris–Rips, Čech, and Alpha filtrations. Additionally, persistence barcodes will be computed using the Vietoris–Rips filtration with the help of the online tool Ripser [9]. Finally, to compute Dowker and Chromatic Alpha filtrations, along with their corresponding persistence diagrams, we will use the libraries [10] and [11], respectively. We include in this work a github repository (see [12]) containing all the scripts used, along with additional details about the data described in Section 5.2. 2
2 Topological and algebraic tools This first chapter aims to offer the main theoretical tools from algebraic topology that we will use in later chapters. First, we review the definitions and results from simplicial homology, which we extract from [13] and [14]. After that, we study algebraic objects such as persistence modules, barcodes and diagrams based on the results in [15]. Finally, we define distances between these objects and use them to prove some important stability theorems, which will ensure the robustness of the tools that we will develop throughout this work. The contents of this last section can be consulted in [16] 2.1 Simplicial homology In order to study persistent homology, we first need to review the main definitions and results in simplicial homology. This area is aimed to study the topological features of simplicial complexes and their underlying polyhedra, and it’s commonly known as the study of "holes" in such spaces. Figure 2: A torus has two 1-dimensional holes (the red and blue paths) and one 2-dimensional hole (its inner cavity). We begin by introducing the main objects in simplicial homology. 3
Definition 2.1.1. Let {a0, ..., am}be m+ 1 affinely independent points in Rn. We will call a simplex with vertices a0, ..., amto the set (x∈Rn:x= n X i=0 λiaiwith λi≥0and n X i=0 λi= 1). The dimension of a simplex is the dimension of the affine space generated by all of its vertices (or, equivalently, the number of vertices it has minus one). If we want to enphasise the dimension of a given simplex, we will add it as a preffix. Figure 3: Examples of a 1-simplex, 2-simplex and 3-simplex. Note 2.1.2. We can define a simplex by just naming its vertices, so (a0, ..., am) will denote the simplex that has a0, ..., amas vertices. Definition 2.1.3. Let σbe a simplex. The interior of σ, denoted by ◦ σ, as follows: ◦ σ=(x= n X i=0 λiai∈σ:λi>0). A subset τ⊆Rnis called an open simplex if there exists a simplex σsuch that τ=◦ σ. Definition 2.1.4. Let σand τbe two simplices. We will say that τis a face of σ, denoted by τ≤σ, if the vertices of τare also vertices of σ. If τ=σ and τ≤σ, then we will call τaproper face of σ. and we will denote it by τ < σ. The union of all proper faces of a simplex σis called the border of σand is denoted • σ. 4
2.3 Barcodes and persistence diagrams In this section we will introduce two ways to interpret the information gathered by a persistence module. To do so, we first need to change the way we think about filtrations. Observation 2.3.1. Let K•be a filtration and let in:Kn−→ Kn+1 denote the inclusion of two consecutive complexes. If not needed, we do not specify the indices of the complexes in the inclusion and just denote it by i. Then we can view K•as a finitely generated Z2[i]−module, considering that ik represents kconcatenations of the inclusion map i. Furthermore, it is a free Z2[i]−module. Since K•is a free module, we deduce that Hq(K•)is also a finitely generated Z2[i]−module, identifying the element iwith the linear map i∗induced by the inclusion map. We recall the classification theorem for finitely generated R−modules when Ris a principal ideal domain (PID) ([17] Theorem 2.1). Theorem 2.3.2. If Ris a PID, then every finitely generated R−module is isomorphic to a direct sum of cyclic R−modules. That is, it decomposes uniquely intro the form Rβ⊕ m M j=1 R/rjR!. where β∈Zand rj∈Rare such that rj|rj+1. This theorem yeilds the following result. Corolary 2.3.3. With the conditions of Observation 2.3.1, we have the following isomorphism of Z2−modules: Hq(K•)∼ = M j itjZ2[i]!⊕ M k irk(Z2[i]/(iskZ2[i]))!. for some tj, rk, sk∈Z. 11
The free components of this equation are in bijective correspondece with the generators of homology spaces that are born in tjand that persist throughout the whole filtration. On the other hand, the torsion elements correspond to the generators of homology spaces that are born at rkand die at rk+sk. In order to visualize the information obtained by this result, we introduce persistence barcodes the following way: for a fixed q∈N∪ {0}a new line is added at the instant twhenever a generator of a homology space in Hq(K•)is born and it dies at sif it dies. We stack all the lines one on top of the other for better visualization. An example of a persistence barcode is provided in Figure 6. Figure 6: Example of persistence barcode. Alternatively, we can plot the same information in a graph, where the horizontal axis represents the instant at which every generator is born, and the vertical one, at which it dies. This construction is what we call a persistence diagram. An example can be viewed in Figure 7 12
Figure 7: Example of persistence diagram. If we recall that these objects are meant to capture the topological features of a given point cloud, we can assume that the underlying data must resemble the shape of a circle, since there is one relevant 0-dimensional hole (a connected component) and one 1-dimensional hole. Indeed, the point cloud from where we have obtained such diagrams is the following one. Figure 8: Original point cloud used to compute Figure 6 and Figure 7. More precisely, the filtration we used to build Figure 6 and Figure 7 from this point cloud is the Vietoris-Rips filtration. (see Section 3.1) 13
2.4 Distances between diagrams and stability theorems Let us recall the infinity norm of a point p= (p1, p2, ..., pn)∈Rn, ∥p∥∞= max{|pi|: 1 ≤i≤n} A similar notion can be defined for real-valued functions. ∥f∥∞= sup |f(x)| Definition 2.4.1. Let Xand Ybe persistence diagrams. The Hausdorff distance and Bottleneck distance between Xand Yare defined as follows: dH(X, Y ) = max sup x∈X inf y∈Y∥x−y∥∞,sup y∈Y inf x∈X∥x−y∥∞ dB(X, Y ) = inf γsup x∈X∥x−γ(x)∥∞ Where γranges over all bijections from Xto Y. Since the Bottleneck distance satisfies one more constraint, namely a bijection between the points, we have that dH(X, Y )≤dB(X, Y ). The proof of the following theorem can be found in [16]. Theorem 2.4.2. Let Kbe a simplicial complex and L•, M•be two filtrations of K. Let us consider the persistence diagrams of L•, denoted D(L), and that of M•, denoted D(M), and define the functions fL:K−→ R σ7→ fL(σ) := min{i≤n:σ∈Li} fM:K−→ R σ7→ fL(σ) := min{j≤m:σ∈Mj} Then the following inequality holds: dB(D(L), D(M)) ≤ ∥fL−fM∥∞ This result has a neat interpretation, it means that persistence diagrams are stable under small perturbations, which is a key property that allows us to make data analysis with them in the first place. 14
3 About persistent homology In this chapter we will discuss the main topic of this work: persistent homology. To do so, we will apply homological methods to define Vietoris-Rips, Cech and Alpha complexes. These complexes will allow us to extract topological information from data. We will base the contents of this chapter on [13]. 3.1 Vietoris-Rips filtration Definition 3.1.1. Let ε > 0and a point cloud P⊆Rd. The ε−VietorisRips-complex V Rε(P)is the simplicial complex whose vertices are the points in Pand such that A={x0, x1, ..., xk} ⊆ Pforms a simplex if and only if d(xi, xj)≤εfor every xi, xj∈A. The nested collection of all Vietoris-Rips complexes V R•(P)is the VietorisRips filtration of P. Note 3.1.2. Unless stated otherwise, we will work with the euclidean distance in Rd. Also, it is clear that the Vietoris-Rips complexes stabilize given a sufficiently large ε. For instance, if ε0, ε1> diam(P), then V Rε0(P) = V Rε1(P). An example of a Vietoris-Rips filtration is provided in Figure 9. We observe that, initially, our simplicial complex consists on just 4points, and thus 4connected components without cycles. Then, all this points form a cycle, which reduces the amount of connected components to 1and increases the number of cycles by 1, observe that 3base elements of H0are lost when this cycle is formed. In the last step, we obtain a 3-simplex, which has all homology spaces trivial, besides from H0, which is isomorphic to Z2. From this point onwards, the complex does not change. We also provide the persistence barcode of this procedure below. 15
Figure 9: Example of the Vietoris-Rips complexes of the vertices of the unit square. A simplex is formed if and only if the red-blue circles of its vertices contain the rest of such vertices. Observation 3.1.3. From the definition of a Vietoris-Rips complex, we deduce that if σ= (x0, ..., xn)is a simplex and ε≥max{d(xi, xj) : 0 ≤i, j ≤n}, then σ∈V Rε(P). Conversely, for such a simplex σto be in V Rε(P), we need that ε≥max{d(xi, xj) : 0 ≤i, j ≤n}. Proposition 3.1.4. If a Vietoris-Rips complex contains the border of an n−simplex, for n > 1, then it must contain the whole simplex. 16
Proof. Let σ= (x0, ..., xn)be a simplex and consider 3 of its proper faces τ1= (x0, ..., xn−1) τ2= (x1, ..., xn) τ3= (x0, x2, ..., xn) These faces exist (and are all distinct proper faces) because n > 1. Since • σ∈V Rε(P)for a given ε > 0, then τ1, τ2, τ3∈V Rε(P). τ1∈V Rε(P)implies that ε≥d(xi, xj),0≤i, j ≤n−1. Similarly, τ2∈ V Rε(P)implies that ε≥d(xi, xj),1≤i, j ≤n. Finally, since τ3∈V Rε(P) we also get that ε≥d(x0, xn). All these inequalities combined yield that ε≥max{d(xi, xj):0≤i, j ≤n}. And the Observation 3.1.3 states that this condition is equivalent to σbeing a simplex in V Rε(P). 17
3.2 Čech filtration Another approach to building a filtration is the Čech filtration, which generally provides a better topological understanding of a point cloud at the cost of slower computational performance. First, we recall the definition of nerve. Definition 3.2.1. Let Sbe a set. The nerve of S, denoted N(S)is the set of all subsets of Swith nonempty intersection. I. e. the subset {Si}i∈I⊆S is an element of N(S)if Ti∈ISi=∅. In Figure 10 we provide an example of the nerve of a given set. Figure 10: A collection of four sets whose union is a disk with three holes in the plane. The nerve is the boundary complex of the tetrahedron. (see [13] Figure III.6) Proposition 3.2.2. The nerve of a finite set Sis a finite dimensional abstract simplicial complex and therefore it has a geometric realization in some euclidean space. Proof. Let X∈ N(S), therefore Tx∈Xx=∅.Then, if Y⊆X, it is clear that Ty∈Yy=∅and thus, Y∈ N(S). Definition 3.2.3. Let ε > 0and a point cloud P={x1, x2, ..., xn} ⊆ Rd. The ε−Čech-complex Cε(P)is the nerve of the set {B(xi, ε) : xi∈P}. Where B(xi, ε)denotes the d−dimensional ball centered at xiwith radius ε. That is to say, the simplicial complex whose vertices are the points in Pand such that A={xi0, xi1, ..., xik} ⊆ Pforms a simplex if and only if \ x∈A B(x, ε)=∅ 18
Similarly to what we did with the Vietoris-Rips complexes, we can define the Čech filtration as the nested sequence of spaces C•(P) = {Cε(P) : ε > 0} Note 3.2.4. Observe that a simplex σis in Cε(P)if and only if all of its vertices lie inside of some ball with radius ε. Indeed, a point ybeing contained in Tx∈AB(x, ε)=∅is equivalent to d(x, y)≤εfor every x∈σ. Since both filtrations (Vietoris-Rips and Čech) are build in a similar way, we can find some relations between these two quite easily. Lemma 3.2.5. Let P⊆Rdbe a point cloud. For every ε > 0, the following inclusions hold V Rε(P)⊆ Cε(P)⊆V R2ε(P) Proof. Let σ= (x0, ..., xk)be a simplex of V Rε(P), then d(xi, xj)≤εfor every 0≤i, j ≤k. It follows that x0is a point whose distance to every vertex xiof σis less or equal to ε, which means that σis a simplex of Cε(P). On the other hand, if σ= (x0, ..., xk)is a simplex of Cε(P), then there exists a point z∈Rdsuch that d(xi, z)≤εfor every vertex xiof σ. From triangle inequality it follows that d(xi, xj)≤d(xi, z) + d(xj, z)≤2ε for every vertex xi, xj. Thus, σis a simplex of V R2ε(P). Note 3.2.6. Finer similar results can be proven. For instance, it can be shown that Cε(P)⊆V R√2ε(P)for every ε > 0(see [1] III: Vietoris-Rips Lemma) Lemma 3.2.7. Let P⊆Rdbe a point cloud, µ= (x0, x1)be a line segment with vertices in P. Then, for all ε > 0,µ∈V R2ε(P)if and only if µ∈ Cε Proof. From Lemma 3.2.5 we deduce that µ∈ Cεimplies that µ∈V R2ε(P). Conversely, if µ∈V R2ε, then d(x0, x1)≤2ε, which means that the midpoint zof x0and x1satisfies that d(z, x0), d(z, x1)≤εand therefore µ∈ Cε. 19
This result, combined with Proposition 2.1.13, yields the following relation. Corolary 3.2.8. For every ε > 0, we have that H0(Cε(P)) = H0(V R2ε(P)). However, a similar result for higher dimensions is not true. Take for example the point cloud P={(0,0),(2,0),(1,√3)}. The Vietoris-Rips and Cech filtrations can be consulted in Figure 11: Figure 11: Filtrations of the given points. Note that H1(V Rε(P)) = 0 for every ε≥0, but H1(Cε(P)) = 0 for every ε∈h1,2√3 3i. If we recall Proposition 3.1.4, Vietoris-Rips complexes can not contain borders of simplices without their interiors, whereas Čech complexes can, as we have seen in this last example. This might give us an insight on how the Čech filtration can tell us finer topological information about a point cloud. In fact, the following theorem can be proven: Theorem 3.2.9. Let P={x1, ...xn} ⊆ Rdbe a point cloud. Then the ε−Čech complex, Cε(P), is homotopically equivalent to n [ i=1 B(xi, ε) This statement follows from a more general result, called the Nerve Theorem, which we will not prove in this work (see [18] Theorem 2.2.1): 20
2. dim(Hq(Kn)) = dim(im(jn∗)) + dim(coker(jn∗)) Proof. The first equality can be deduced from the dimension formula for vector spaces (given φ:V−→ Wa linear map between vector spaces, then Wis isomorphic to ker(φ)⊕im(φ)). The second one follows immediately from the definition of coker(φ). Consider that every change in the persistence module occurs one at a time, that being, that Knand Kn+1 differ in at most one simplex. Analogously with Lnand Ln+1. That means that a higher-dimensional simplex can only be added if all its faces are already present. Therefore, at every step of the filtration we either have a birth, a death or no change in the image, the kernel and the cokernel. Observe that this implies that dim(Hq(Ln)) −dim(Hq(Ln+1)) ∈ {−1,0,1}and similarly with Knand Kn+1. If we also consider that the filtrations K•and L•come from the same function, that is, the filtration in the subcomplex is the same as in the complex, restricted to the simplices of the subcomplex (see [20]), then it is proven in the same paper that only the following cases can occur at every step of the filtration. Case ker(jn∗)im(jn∗)coker(jn∗)H(Ln)H(Kn) A birth death - - death B - birth - birth birth C - - birth - birth D - - death - death E - death - death death F death - birth death birth An example of how all the examples look can be checked in the following table: 27
A B C D E F 28
Note 3.4.4. Case F is special because Hq(Ln)and Hp(Kn)must satisfy that q=pin this case. For instance, in the given picture, a 0-cycle relevant in the kernel module (the two separate vertices en Lnthat are connected in Kn) dies at the next step and a 1-cycle is born in the cokernel module (the empty triangle in Kn+1). An explanation is provided after Theorem 3.4.6. We now provide a more detailed description of the birth and death properties of a generator in every context. In what follows, we will consider K•to be a filtration of some simplicial complex Kand L•to be the same filtration restricted to a subcomplex Lof K. Let σbe the simplex that appears in the step n+ 1. That means, that either Ln+1 =Lnand Kn+1 =Kn⊔ {σ}; or Ln+1 =Ln⊔{σ}and Kn+1 =Kn⊔{σ}. We remind that a generator [α]is said to be born at the step kif there is no generator in the previous steps that map into [α]. Additionally, a generator dies at the step kif from every step greater than k,[α]is either mapped zero or to an already existing generator that was born strictly before [α]. Lemma 3.4.5. Let K•be a filtration such that at every step only one change occurs, i.e. Kn+1 =Kn⊔{σ}for a simplex σ. If a generator [α]of Hq(K•) is born at the step n+ 1, then σhas dimension q. However, if a generator [α]= 0 of Hq(K•)dies at the step n, then dim(σ) = q+ 1 Proof. If [α]is born at the step n+ 1, this means that there does not exist an element [β]∈Hq(Kn)such that kn∗[β] = [α]. Since [α]∈Hq(Kn+1), there must be an element α∈Cq(Kn+1)representing the class [α]. Therefore, there must exist some simplices αi∈Cq(Kn+1)such that α=Piαirepresenting the element [α]. Since the only difference between Knand Kn+1 is the simplex σ, we deduce that σ=αifor some i. If that were not the case, then the element β=Piαiwould be in Cq(Kn)and therefore, kn∗[β]=[α]leading to a contradiction. Alternatively, if [β]=0∈Hq(Kn), this would imply that β∈ ∂q+1(Cq+1(Kn)), which means that there exists some γ=Piγi∈Cq+1(Kn) satisfying ∂q+1γ=β, but this yields that ∂q+1 X i kn(γi)!=α 29
And therefore [α]=0∈Hq(Kn+1), which is a contradiction. On the other hand, for [α]to die at the step n, either kn∗[α] = 0 or kn∗[α]=[δ] and there exists another generator [η]∈Hq(Kn)that was born before [α]such that kn∗[η]=[δ].Suppose now that [α]= 0 ∈Hq(Kn)but that kn∗[α]=0, and remember that there exists an element α∈Cq(Kn+1)representing the class [α]. Then, it follows that there exist some ζj∈Cq+1(Kn+1)such that α=X j ∂q+1ζj Similarly to the previous case, we can deduce that σ=ζjfor some j, because if else, all ζjare also in Cq+1(Kn)and therefore [α]=0∈Hq(Kn), which would be a contradiction. On the contrary, if kn∗[α] = [δ]and there exists another generator [η]∈Hq(Kn)that was born before [α]such that kn∗[η] = [δ], we deduce that kn∗[α+η] = 0. Since [α+η]is also a generator of Hq(Kn) (given the appropiate change of basis) we are in the previous case and deduce that dim(σ) = q+ 1. Theorem 3.4.6. Let [α]be a generator that either is born at the step n+ 1 or dies at the step nof one of the persistence modules (image, kernel and cokernel). We can deduce the following properties of σ. 1. If [α]is born in the kernel module and Kn+1 =Kn, then dim(σ) = q. On the contrary, if Ln+1 =Ln, then dim(σ) = q+ 1. 2. If [α]dies in the kernel module, then dim(σ) = q+ 1. 3. If [α]is born in the image module, then dim(σ) = q. 4. If [α]dies in the image module, then dim(σ) = q+ 1. 5. If [α]is born in the cokernel module, then dim(σ) = q. 6. If [α]dies in the cokernel module and Kn+1 =Kn, then dim(σ) = q. On the contrary, if Ln+1 =Ln, then dim(σ) = q+ 1. Proof. Throughout the proof we will use the fact that, given a nonzero vector of a vector space, we can find an appropiate change of basis such that this vector is in the basis. 30
1. Firstly, suppose that Kn+1 =Kn. Then we get the following diagram: Hq(Ln)Hq(Ln+1) Hq(Kn) ln∗ jn∗jn+1∗ (1) Since [α]∈Hq(Ln+1)is born in the kernel module at the step n+ 1, this leads to two possibilities: •[α]is also born at the persistence module Hq(L•). In this case, Lemma 3.4.5 ensures that dim(σ) = q. •There exists some nonzero element [β]∈Hq(Ln)such that ln∗[β] = [α]. But since [α]has to be born in the kernel module at the step n+1, this implies that jn∗[β]= 0. However, by the commutativity of the diagram above we arrive to the following contradiction jn∗[β] = jn+1∗(ln∗[β]) = jn+1∗[α]=0 Suppose now that Ln+1 =Ln. Thus, we obtain this diagram Hq(Ln) Hq(Kn)Hq(Kn+1) jn∗ kn∗ (2) Since [α]must be born at the step n+ 1 in the kernel module, we deduce that jn∗[α]=[β]= 0 and jn+1∗[α] = 0. This means that the generator [β]∈Hq(Kn)dies at the step n, so Lemma 3.4.5 implies that dim(σ) = q+ 1. 2. Consider the following commutative diagram Hq(Ln)Hq(Ln+1) Hq(Kn)Hq(Kn+1) jn∗ ln∗ jn+1∗ kn∗ (3) 31
Since [α]dies in the kernel module at the step n, this means that jn∗[α]=0and either [α]dies too at the step nin the Hq(L•)module, or ln∗[α]=[β]= 0 such that jn+1∗[β]= 0. In the first case, Lemma 3.4.5 ensures that dim(σ) = q+ 1. The second case yields a contradiction with 3 because jn+1∗[β] = jn+1∗(ln∗[α]) = kn∗(jn∗[α]) = kn∗(0) = 0 3. Similarly, if [α]is born at the step n+ 1 in the module Hq(K•), Lemma 3.4.5 yields the desired result.Thus, let us consider the case in which [α]is not born at the step n+ 1 in the module Hq(K•). Therefore, there must exist some nonzero element [β]∈Hq(Kn)such that kn∗[β]=[α], but since [α]must be born in the image module at the step n+ 1, we deduce that there cannot exist any nonzero element [ˆ β]∈Hq(Ln)such that jn∗[ˆ β] = [β]and that there must exist some element [ˆα]∈Hq(Ln+1)such that jn+1∗[ˆα] = [α]. This implies that the element [ˆα]must be born in the Hq(L•)module,if else, it would contradict the commutativity of 3. Lemma 3.4.5 yields then that dim(σ) = q. 4. Suppose that [α]does not die at the step nin the module Hq(K•). Again, if [α]dies at this step, the result follows from Lemma 3.4.5. In this case, for [α]to die in the image module, there must not exist any element [ˆ β]∈Hq(Ln+1)such that jn+1∗[ˆ β] = kn∗[α]. However, since there exists a certain [ˆα]∈Hq(Ln)such that jn∗[ˆα]=[α]we verify that the element ln∗[ˆα]∈Hq(Ln+1)satisfies that jn+1∗(ln∗[ˆα]) = kn∗(jn∗[ˆα]) = kn∗[α] Which is a contradiction. 5. Again, let us just consider the case in which [α]is not born at the step n+ 1 in the module Hq(K•), so there exists a certain [β]∈Hq(Kn) such that kn∗[β]=[α]. Furthermore, there does not exist any element [ˆα]∈Hq(Ln+1)such that jn+1∗[ˆα] = [α]but there exists a certain [ˆ β]∈ Hq(Ln)such that jn∗[ˆ β]=[β]. This, however, creates a contradiction with the commutativity of 3, since jn+1∗(ln∗[ˆ β]) = kn∗(jn∗[ˆ β]) = kn∗[β]=[α] 32
6. Once again, let us just prove the case in which [α]does not die at the step nin the module Hq(K•). We have two possibilities: •If Kn+1 =Kn, then we have a commutative diagram similar to 1. We would need that there does not exist any element [ˆα]∈Hq(Ln) such that jn∗[ˆα]=[α], but also there should exist an element [β]∈Hq(Ln+1)such that jn+1∗[β]=[α]for [α]to die at the step nin the cokernel module. This means that [β]is born at the step n+ 1 in the Hq(L•)module, so dim(σ) = qfrom Lemma 3.4.5. •If Ln+1 =Ln, then the obtained commutative diagram is the same as 2. In this case, we still need that there does not exist any element [ˆα]∈Hq(Ln)such that jn∗[ˆα] = [α], and there should exist an element [β]∈Hq(Ln)such that jn+1∗[β] = kn∗[α]for [α] to die at the step nin the cokernel module. This however means that both [α]and jn∗[β]map to kn∗[α], therefore, by Lemma 3.4.5, dim(σ) = q+ 1. This theorem allows us to exclude some combinations of birth and death of generators that cannot occur. For instance, there cannot be a generator that simultaneously dies in the kernel and is born in the cokernel modules, because the dimension of σis different in both scenarios. Other incompatible combinations are death in the image with birth in the cokernel and death in the kernel with birth in the image. 33
4 Chromatic persistent homology The aim of this chapter is to study the topological relations between points of different types or colors. In previous chapters we have approached the monochromatic case by constructing some kind of filtration over a given point cloud and plotting its topological information in a persistence diagram. This time, we will describe two existing methods that extend the computation of persistent homology in the chromatic case, where points in a given point cloud have different labels or colors. 4.1 Dowker filtration This first way to address this problem will be by defining the Dowker filtration of a point cloud [6], which is perhaps the most natural way to define a filtration in order to account for the topological relations between differentcolored points, as shown in [5]. After that, we will discuss some relations between this filtration and Čech’s. Definition 4.1.1. Given two sets of points U, V ⊆Rd, we will define the ε−Dowker complex Dε(U, V )as the simplicial complex with potential vertices the points of Uand such that σ= (u0, ..., un)is a simplex of Dε(U, V )if and only if there exists a point v∈Vsuch that d(ui, v)≤εfor all 0≤i≤n. Figure 16: From left to right: A point cloud with blue and red points. The Dowker complex (black) built from blue points for a fixed ε. The same complex, but without the other points. 34
Definition 4.1.2. ADowker filtration D•(U, V )of the point clouds U and Vis a nested sequence of Dowker complexes Dε(U, V )for varying ε. Similarly to previous filtrations, we can define the persistence module based from these complexes DPH• q(U, V ) = {Hq(Dε(U, V )) : ε≥0} A very nice property of the Dowker filtration that we will use across this work is the following (see [21] Theorem 10.9): Theorem 4.1.3. Fix a number ε > 0and let U, V be two point clouds. Then Dε(U, V )∼ =Dε(V, U). In particular, DPH• q(U, V ) = DPH• q(V, U)for every q∈Z+. This means that it does not matter from which point cloud we build the Dowker complexes, because the topological information will be the same in either case. Proof. Let G= (Vert(Dε(U, V )),Vert(Dε(V, U)), E),be a bipartite graph built from the following condition: a vertex x∈Vert(Dε(U, V )) and another y∈Vert(Dε(V, U)) are joined by an edge (x, y)∈Eif and only if d(x, y)≤ε. Fix an element x∈Vert(Dε(U, V )) and consider the set ∆x={y∈Vert(Dε(V, U)) : (x, y)∈E} It is clear that {∆x:u∈Vert(Dε(U, V ))}is a covering of Vert(Dε(V, U)) with contractible nonempty intersections whose nerve is Dε(U, V ). The result follows then from Theorem 3.2.10. This last property, although useful, has some drawbacks. Consider the point cloud shown in Figure 17. It is clear that the blue point cloud is around the red one, and therefore the Dowker diagram should have relevant points in dimension 1. However, because of the intrinsic symmetry in the Dowker complex, it is impossible to deduce wether the blue point cloud is around the red one or the other way round. 35
Figure 17: A blue point cloud around a red one. In order to see which case is really happening, we could compute either the Vietoris-Rips, Čech or Alpha persistence diagrams of both Uand Vto check which one has the round shape. Alternatively, this problem can be addressed with the Chromatic Alpha filtration (see sections 4.2 and 4.4.2). From the definitions of Dowker and Čech filtrations, it is immediately clear that Dowker’s is a subfiltration of Čech’s. More specifically, let U, V ⊆Rd be two point clouds, then Dε(U, V )⊆ Cε(U)for every ε > 0. In this section, we will explore the relations between these two filtrations. Definition 4.1.4. Let Kbe a simplicial complex and denote the set of its vertices as Vert(K), we call the enclosing distance of K, and denote it by ρ(K), to the minimum number εat which \ x∈Vert(K) B(x, ε)=∅ Proposition 4.1.5. Such a number exists for any simplicial complex. Proof. Let Pbe a point cloud formed by the vertices of K, then ρ(K)is the number at which the Čech filtration of Pstabilizes. 36
Figure 21: Blue 6-pack of the points in Figure 20. We begin this section by explaining the information that can be gathered in the image diagram. 4.3.1 The image diagram For a generator to be relevant here, it must be topologically relevant when including AI ε(P)into Aµ ε(P). That means that its relevance is shown both in the I−colored subcomplex and in the whole complex. Let us observe the uppest point in the image diagram in Figure 21: it represents a blue 1−cycle that persists for a long time in both Ablue ε(P)and Aµ ε(P). We deduce that it must represent the cycle depicted in Figure 22: 43
Figure 22: Relevant point in the image diagram in Figure 21. 4.3.2 The kernel diagram In this case, the generators that are relevant are those who persist in the colored subcomplex, but that disappear when including the colored subcomplex into the whole one. We can visualise this as a colored cycle that encapsulates points of different colors in its geometric interior. In our previous example we have two relevant generators in this diagram, which correspond to the following cycles: Figure 23: Relevant points in the kernel diagram in Figure 21. 44
From Proposition 3.4.3 it follows that every generator that appears in the subcomplex diagram appears either in the kernel or in the image diagram. Nontheless, this does not mean that by combining these two diagrams we obtain a copy of the subcomplex’s, because the same generator in the subcomplex diagram can disappear from the image and appear in the kernel. Observe that the table from 3.4 shows that the opposite cannot happen. Geometrically speaking, this means that a colored cycle empty of points with diferent colors can be filled with such points later in the filtration, but obviously the opposite is impossible. 4.3.3 The cokernel diagram Lastly, what is being shown in this diagram are the generators that are relevant in the whole complex, but do not come from the colored subcomplex AI ε(P). This means that a relevant generator in the cokernel represents a cycle that is built from points whose colors are diferent from those in I, even though points colored with the colors in Ican exist, but do not constitute the whole cycle. In our previous example we cannot find any relevant points in the cokernel diagram. However, let us consider the orange 6-pack instead of the blue one: Figure 24: Orange 6-pack of the Figure 20. 45
Figure 25: Relevant point in the cokernel diagram in Figure 24. We now observe a relevant point in the cokernel diagram, which represents the same cycle that appeared in the image diagram of the blue 6-pack. Similarly to what happened with the kernel and image diagrams, we can find a relation between the image and cokernel diagrams and the complex diagram. In this case, a point that persists in the complex diagram can die in the cokernel and be born in the image. Geometrically speaking, this means that a cycle that is initially relevant in the whole complex, eventually can be viewed as a cycle built from points with colors in I. Obviously, the opposite cannot happen. Another example of a point cloud with relevant points in the cokernel diagram can be viewed in Section 4.4.3. 46
4.4 Examples In this section we will provide a few examples of 2−colored point clouds together with their associated Dowker and Chromatic Alpha persistence diagrams. We will also add a detailed explanation in every example of the obtained results in every diagram. We will only show examples in the 2D plane, so we will mainly focus on 0and 1dimensional homology spaces and persistence diagrams. 4.4.1 Two separated clusters Our first example is as simple as it can get with the conditions stated above: just two differently-colored clusters separated so they do not mix. Figure 26: From left to right: Dowker diagram in dimension 0of the point cloud . Point cloud formed by two separated clusters of different colors. Dowker diagram in dimension 1of the point cloud. Note 4.4.1. The red point in the 0−dimensional diagram corresponds to the connected component that persists throughout the whole filtration up to infinity. The same color will be used in the remaining Dowker diagrams of dimension 0. As we may have expected, there are no relevant 1−cycles and there are only 2relevant 0−cycles, which are related to the 2connected components of our point cloud. We can also compute the Chromatic Alpha diagrams. Note that it is not really important wether we choose to build the subcomplex with the red points or with the blue ones. 47
Figure 27: Blue 6-pack of the point cloud. We still observe no useful information in the one-dimensional persistence diagram, and we can distinguish two relevant points in the zero-dimensional one. Furthermore, the fact that one of these points belongs to the cokernel diagram means that there is one cluster colored with the opposite color that we are using to build the subcomplex. Similarly, since there is also a very relevant point in the image diagram, we can deduce that there is another cluster colored with the same color as the subcomplex. All in all, we derive the existence of two differently colored separate point clouds. 48
4.4.2 A point cloud around another In this example we review the main problem we had with the Dowker filtration: its inability to distinguish which point cloud has the relevant topological features. Recall the point cloud from Figure 17, which we show again together with its Dowker diagrams. Figure 28: From left to right: Dowker diagram in dimension 0. A blue point cloud around another. Dowker diagram in dimension 1. Aside from the fact that we cannot deduce which point cloud is around which one, the messy behaviour of the 0-dimensional diagram does not let us deduce how connected the point cloud is either. However, if we consider the blue 6-pack (see Figure 29), it is now clear that there is only one relevant 0−cycle, which means that the point cloud is connected (meaning there are no meaningful gaps among the points), we can see this in the upper-left square point of the complex diagram and how every other square point is significantly lower than it. Moreover, we can now check that the blue points are in fact surrounding some red ones: The relevant point in the sub-complex diagram shows that the blue points themselves have a 1-dimensional hole (in the sense that they surround a 2D region empty of blue points). On the other hand, the relevant point in the kernel diagram implies that this hole vanishes once we color all the points equally, meaning that the 2D region the blue points are surrounding is full of red points. Another way to check this last statement is by computing the red diagram (see Figure 29) and notice that its points are arranged in a far more chaotic way. 49
Figure 29: From top to bottom: Blue and red 6-packs of the point cloud. 50
4.4.3 Circle made from two colors For this example, we will show an instance where the cokernel diagram is the one giving the more relevant information in dimension 1. Figure 30: From left to right: Dowker diagram of dimension 0of the given point cloud. A point cloud resembling a circumference, where the upper half is made of blue points and the lower one consists in red points. Its Dowker diagram of dimension 1. We observe just one relevant point in the 1−dimensional diagram, which makes sense since the point cloud resembles a circumference. Also, note that the 0-dimensional Dowker diagram is showing two relevant points (note that there is a grey point next to the red one). This is because the Dowker complex starts forming when a blue and a red point are sufficiently close together, which happens almost simultaneously at both extremes of the circumference. When the radius of the filtration increases, both of these two connected components keep growing until they meet at the top (if we are building the Dowker complex from blue points) or at the bottom (if we are using red points). In Figure 31 we provide some steps of the Dowker filtration of a similarly looking point cloudd, but with fewer points for more clarity. 51
Figure 31: Different steps of the Dowker filtration of a simplified point cloud with same characteristiccs. If we compute the 6-pack, we can extract some more information about the nature of the relevant 1−cycle (see Figure 32). As we can see, the only relevant point in the 1-dimensional diagrams is located at the relative,cokernel and complex diagrams. The fact that there is a relevant point in the cokernel means that there exists a relevant 1-cycle with points of the opposite color to that of the 6-pack. Therefore, since there is a relevant point in the cokernel diagram in both the blue and the red 6-packs, we deduce that this relevant 1−cycle must be built from both red and blue points. It is also worth noting that, even though in the previous examples the most relevant points in the relative diagram had dimension 2, now it has dimension 1. This is because in the other examples, collapsing all the points of a certaing color would result in a space with cavities. For instante, in the previous example, if we collapsed all blue points into a single one, it would create a space similar to a sphere built solely from red points. This, however, is not the case here, since collapsing all blue points would result in a blue-colored circle. 52
Figure 38: Blue 6-pack when the orange point is within the blue ring. Finally, if the orange point is moved outside of the blue ring (picture 4in Figure 33), the blue 6-pack obtained can be checked in Figure 39. Here, the only remarkable difference is the appearance of other relevant point in the 0−dimensional complex diagram, which represents the fact that the orange point is sufficiently far form the blue ones. However, this case is clearly distinguishable from the two first because there are no relevant points in the kernel diagram. This description allows us to understand how convenient the 6-pack is in order to describe the topological features of two point clouds and how they relate to one another. However, because of Proposition 4.4.2, we cannot obtain any meaningful information from the Dowker complex. This issue can be addressed if we switch the orange point for a "topologically similar" set of points: a cluster (that we define small enough with respect to the blue ring). See Figure 40. 59
Figure 39: Blue 6-pack when the orange point is outside of the blue ring. Figure 40: A small orange cluster moving across a blue ring. In this case, the 6-packs are similar to what we have discussed, so we will not include them. To begin with, let us compute the Dowker diagrams (in dimensions 0and 1) of the first point cloud. 60
We obtain no relevant 1−dimensional cycle and two relevant points in the 0−dimensional diagram. This results are better understood when comparing how the Dowker filtration changes over time. Figure 41: Dowker filtration at the steps 3.3, 3.6 and 3.9. A similar result is obtained when we move the cluster away from the center, like in the second picture in Figure 40. In this case, there are still two relevant 0-dimensional relevant cycles, but one of them is so close to the y=xcurve that it could be regarded as noise. This is expected since in this scenario, the orange cluster is much closer to the blue ring. The behaviour of the third case in Figure 40 is also expected. 61
A key observation must be done in this example: at first glance, it might look as if there were three relevant points in the 0−dimensional Dowker complex. However, note that the scale of this complex is significantly smaller than that of the previous examples, that means that all the grey points have a very short lifespan, and therefore might be regarded as noise and irrelevant. Thus, the Dowker diagram is identifying just one connected component. In addition, this is the first case in which a relevant point in the 1dimensional diagram emerges, albeit very shortly. This point might also be regarded as noise. Finally, consider the last picture of Figure 40, in which the orange cluster is outside the interior of the blue ring. The 0−dimensional Dowker complex is detecting two connected components (there is a grey point very close to the red one at infinity, although it is so close to the y=xline that it might be considered as noise), as expected. However, the Dowker complex keeps failing at identifying the 1−dimensional topological features of the point cloud. 62
5 Applications to spatial biology In this final chapter, we present two applications of Dowker and Chromatic Alpha filtrations in the context of applied sciences. In our first example, we review a significant study by B. Stolz et al. [5], in which a system relying on the Dowker filtration is developed in order to identify different microenvironments for the development or eradication of tumors. In contrast, the Chromatic Alpha filtration has not yet been explored in this context. Therefore, we introduce a section where we apply the Chromatic Alpha filtration and the 6-pack to analyze biological data, in collaboration with Dr. Elena Camacho from the Centro Andaluz de Biología del Desarrollo (CABD). This ongoing research aims to offer a new way of studying biological data with the aid of Topological Data Analysis. 5.1 Dowker filtration in tumor microenvironment classification The first application we discuss is based on a key result of [5] that illustrates how the Dowker filtration, combined with other data analysis techniques, can effectively distinguish between different scenarios in the study of tumor microenvironments. Specifically, the method considers a point cloud P=PV∪PT∪PM, where PVrepresents blood vessel points, PTdenotes tumor cell points, and PMcorresponds to macrophage points. There are two types of macrophages to consider: type M1 macrophages, which promote tumor elimination, and type M2 macrophages, which help it spread. The main result we discuss in this section is to determine whether the topological relationships between these points are sufficient to classify the environment as favorable for tumor elimination (M1 dominant), balanced, or favorable for tumor progression (M2 dominant). To begin the analysis, we compute the Dowker persistence diagrams in dimensions 0and 1for PV∪PT,PV∪PM, and PT∪PM. These features are then used to train a support vector machine (SVM), incorporating both topological and geometric features, such as the number of cells of each type and the average distance to the nearest blood vessel. Out of all available images, 731 are labeled as M1 dominant, whereas only 241 are labeled as M2 dominant. To address this class imbalance, each SVM classifier is trained using stratified 5-fold cross-validation with synthetic minority oversampling 63
Figure 42: Samples of M1 and M2 dominant scenarios. (SMOTE) applied within each fold. The procedure is repeated over 10 random train-test splits, and the classification accuracies are reported. Figure 43: Picture a) MDS projection of Vietoris-Rips features. Picture b) MDS projection of Dowker features. Picutre c) Classification accuracies of SVMs trained on Vietoris-Rips features (green), Dowker features (navy), and non-topological features (red). The results derived in the article show that SVM classifiers trained on Dowker 64
features, that being, constructed by vectorizing and concatenating persistence diagrams into a single 2400-dimensional vector, achieve high accuracy in predicting the dominant macrophage phenotype (M1 or M2). Visualization through Multidimensional Scaling (MDS) demonstrates a clearer separation of classes using Dowker features compared to those derived from Vietoris–Rips filtrations. In fact, Dowker-based classifiers consistently outperform those trained on Vietoris–Rips features, with a higher median accuracy (86.6% vs. 84.2%) and a superior lower quartile performance. Additional analyses identify which cell types contribute most to the classification. Among Dowker-based models, those trained on dimension-0 persistence diagrams involving tumor and vessel points show the highest predictive power (median accuracy 88.9%), suggesting that the spatial colocalization of tumor cells and blood vessels is a strong indicator of the macrophage phenotype. Interestingly, this result highlights that the most informative features do not necessarily involve the macrophage distribution directly, but rather their indirect effects on tumor cell positioning. 65
5.2 Chromatic Alpha filtration in behaviour of different cell types In this last section, we analyse the data of an ongoing research project currently being carried out by Dr. Elena Camacho from the Centro Andaluz de Biología del Desarrollo (CABD). These data come from a published experiment in which human embryonic pluripotent stem cells were exposed to pulses of BMP (Bone Morphogenetic Protein) signaling of varying durations [23]. The aim was to investigate how the length of this biochemical signal influences cellular differentiation. Short pulses (less than 8 hours) tend to maintain pluripotency, marked by high SOX2 expression (type 2). Long pulses (more than 24 hours) promote differentiation into an extraembryonic fate, with cells expressing high levels of CDX2 (type 6). Intermediate pulses (around 16 hours) produce a heterogeneous mix of cell types, including a population expressing BRA (type 4), which is associated with the primitive streak. In this regime, different cell identities appear simultaneously, and the goal of this chapter is to explore whether this heterogeneity reflects any spatial structure, using the Chromatic Alpha Filtration and computing its corresponding 6-pack. Figure 44: Sample of cell types at times 8h, 16h and 24h. Pink cells represent type 2, yellow ones represent type 4 and blue represent type 6 cells. 66
The dataset consists of images of cells exposed to seven different timepoints: 4h, 8h, 16h, 24h, 32h, 40h, and 48h. For each condition, nine images were collected, along with an additional set of nine control images labeled as mTeSR, used as a reference baseline. Each cell in each image is classified into one of the three types (2, 4, or 6), based on marker expression, and its centroid is recorded. All data points, 6-packs, and images used in this study can be found in [12] Each image contains a point cloud where the centroid and the type of each cell are known. In total, we work with 72 experimental images (7 timepoints ×9 images each, plus 9 control images). First, we computed the 6-packs derived from the inclusion of Cell Type 2 into the union of Cell Types 2 and 4 (2 to 24), and the reverse inclusion (4 to 24), as well as those from the inclusion of Cell Type 6 into the union of Cell Types 2 and 6 (2 to 26) and its reverse (6 to 26). This resulted in 288 different 6-packs, including those corresponding to the test samples (mTeSR). In practice, due to some point clouds having very few points, especially in the longer timepoint experiments, some 6-packs could not be computed using our software (minimum required is 4 points). In total, 26 6-packs could not be computed using our implementation, so we decided to let the kernel, image and cokernel diagrams empty and compute the subcomplex alpha diagrams by hand. Next, we computed the Bottleneck distance between all 0and 1-dimensional subcomplex,kernel,image, and cokernel diagrams within each inclusion type. That is, for example, we computed the Bottleneck distance between all 0dimensional kernel diagrams arising from the 2-to-24 inclusion 6-packs. All resulting distances were assembled into 24 distance matrices of size 72 ×72, which we then visualized using heatmaps (see Figure 45). 67
Figure 45: All computed heatmaps. From top to bottom. Inclusions 2 to 24, 4 to 24, 2 to 26 and 6 to 26. First rows correspond to 0-dimensional diagrams, while second rows correspond to 1-dimensional ones. From left to right: subcomplex, image, kernel and cokernel heatmaps. Some individual images will be shown amplified throughout the work. 68
