Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/hap/www/SideLinks/About/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 19.6.2025 mit Größe 12 kB image not shown  

Quelle  aboutTDA.html   Sprache: HTML

 
 products/Sources/formale Sprachen/GAP/pkg/hap/www/SideLinks/About/aboutTDA.html


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta http-equiv="content-type"
 content="text/html; charset=ISO-8859-1">
  <title>AboutHap</title>
</head>
<body
 style="color: rgb(0, 0, 153); background-color: rgb(204, 255, 255);"
 link="#000066" vlink="#000066" alink="#000066">
<br>
<table
 style="text-align: left; margin-left: auto; margin-right: auto; color: rgb(0, 0, 102);"
 border="0" cellpadding="20" cellspacing="10">
  <tbody>
    <tr align="center">
      <th style="vertical-align: top;">
      <table style="width: 100%; text-align: left;" cellpadding="2"
 cellspacing="2">
        <tbody>
          <tr>
            <td style="vertical-align: top;"><a href="aboutMetrics.html"><small
 style="color: rgb(0, 0, 102);">Previous</small></a><br>
            </td>
            <td
 style="text-align: center; vertical-align: top; color: rgb(0, 0, 102);"><big><span
 style="font-weight: bold;">About HAP: Digital Image Analysis<br>
            </span></big></td>
            <td style="text-align: right; vertical-align: top;"><a
 href="aboutParallel.html"><small style="color: rgb(0, 0, 102);">next</small></a><br>
            </td>
          </tr>
        </tbody>
      </table>
      <big><span style="font-weight: bold;"></span></big><br>
      </th>
    </tr>
    <tr>
      <td
 style="vertical-align: top; background-color: rgb(255, 255, 255); text-align: left;">The
idea
behind
Topological
Data Analysis is that one might be able to
gain a useful qualitative understanding of difficult data from its
homological
properties. The main focus is on high-dimensional data, but below we
describe two low-dimensional toy examples. <br>
      </td>
    </tr>
    <tr>
      <td
 style="vertical-align: top; background-color: rgb(255, 255, 255); text-align: center;"><big
 style="font-weight: bold;">A 3-dimensional example<br>
      </big> </td>
    </tr>
    <tr>
      <td
 style="vertical-align: top; background-color: rgb(255, 255, 255);">Twenty-five
parallel
slices
of
some 3-dimensional object are stored as colour
images 01.png, 02.png, ..., 25.png in the directory <a
 href="pictures.tar.gz">pictures.tar.gz</a> . The following commands
compute a 3-dimensional pure cubical complex M from these images, and
show that the complex M is contractible. (The function Bettinumbers(M)
returns the ranks of the free parts of the homology groups of M in
dimensions 0,1, .., Dimension(M).)<br>
      </td>
    </tr>
    <tr>
      <td
 style="vertical-align: top; background-color: rgb(255, 255, 204);">gap>
M:=ReadImageSequenceAsPureCubicalComplex("pictures",400);<br>
Pure cubical complex of dimension 3.<br>
      <br>
gap> Bettinumbers(M);<br>
[ 1, 0, 0, 0 ]<br>
      </td>
    </tr>
    <tr>
      <td
 style="vertical-align: top; background-color: rgb(255, 255, 255);">The
next commands show that the boundary of M has the same homology as that
of a 2-sphere.<br>
      </td>
    </tr>
    <tr>
      <td
 style="vertical-align: top; background-color: rgb(255, 255, 204);">gap>
B:=BoundaryOfPureCubicalComplex(M);<br>
Pure cubical complex of dimension 3.<br>
      <br>
gap> Bettinumbers(B);<br>
[ 1, 0, 1, 0 ]<br>
      </td>
    </tr>
    <tr>
      <td
 style="vertical-align: top; background-color: rgb(255, 255, 255);">These
computations
are
consistent
with the possibility that M is homeomorphic
to a 3-dimensional ball. If one happened to know that M actually
represents some polytope (which indeed in this case it does), then the
following command computes the 1-skeleton of this polytope. <br>
      <br>
The function <br>
      <br>
      <div style="text-align: center;">SingularitiesOfPureCubicalComplex(M,radius,tolerance)



      <br>
      </div>
      <br>
returns the space of singular points on the boundary of M.  A
boundary point is "singular" if the sphere of given radius around the
point is divided into two equal sized components (up to some tolerance)
by the boundary of M.<br>
      </td>
    </tr>
    <tr>
      <td
 style="vertical-align: top; background-color: rgb(255, 255, 204);">gap>
S:=SingularitiesOfPureCubicalComplex(M,3,15);<br>
Pure cubical complex of dimension 3.<br>
      <br>
gap> Bettinumbers(S);<br>
[ 1, 7, 0, 0 ]<br>
      </td>
    </tr>
    <tr>
      <td
 style="vertical-align: top; background-color: rgb(255, 255, 255);">Since
S
has
the
homology of a wedge of seven circles, it follows that if M
represents a 3-dimensional polytope, then the polytope must have eight
facets.<br>
      <br>
In order to investigate the combinatorial type of the facets we form
the
pure cubical complex D=B-S of nonsingular boundary points of M, and
determine the adjacency relation between the path components in the
pure cubical complex D.<br>
      <br>
For example, the following commands show that there are eight path
components in D (one for each facet), and that the first path component
is adjacent to precisely four other path components.<br>
      </td>
    </tr>
    <tr>
      <td
 style="vertical-align: top; background-color: rgb(255, 255, 204);">gap>
M:=ReadImageSequenceAsPureCubicalComplex("pictures",400);;<br>
gap> S:=SingularitiesOfPureCubicalComplex(M,3,15);;<br>
gap> B:=BoundaryOfPureCubicalComplex(M);;<br>
      <br>
gap> D:=PureCubicalComplexDifference(B,S);<br>
Pure cubical complex of dimension 3.<br>
      <br>
gap> Bettinumbers(D,0)); #Number of path componenets in D.<br>
8<br>
      <br>
gap> P:=List([1..8],n->PathComponentOfPureCubicalComplex(D,n));;<br>
      <br>
gap> for n in [2..8] do<br>
> U:=PureCubicalComplexUnion(P[1],P[n]);<br>
> U:=ThickenedPureCubicalComplex(U);<br>
> Print(Bettinumbers(U,1),"\n");<br>
> od;<br>
      <br>
      </td>
    </tr>
    <tr>
      <td
 style="vertical-align: top; background-color: rgb(255, 255, 255);">The
first path component of D is thus either a quadrilateral or a
triangle.  To see that it is not a triangle we can compute the
size of the common boundaries with its adjacent facets to see
that  in each case the common boundary is more than just a vertex.<br>
      </td>
    </tr>
    <tr>
      <td
 style="vertical-align: top; background-color: rgb(255, 255, 204);">gap>
for
n
in
[2..8] do<br>
> U:=ThickenedPureCubicalComplex(P[1]);<br>
> U:=ThickenedPureCubicalComplex(U);<br>
> V:=ThickenedPureCubicalComplex(P[n]);<br>
> V:=ThickenedPureCubicalComplex(V);<br>
> W:=PureCubicalComplexIntersection(U,V);<br>
> Print(Size(W),"\n");<br>
> od;<br>
128<br>
95<br>
95<br>
50<br>
0<br>
0<br>
0<br>
      </td>
    </tr>
    <tr>
      <td
 style="vertical-align: top; background-color: rgb(255, 255, 255);"><big
 style="font-weight: bold;"><br>
      </big>
      <div style="text-align: center;"><big style="font-weight: bold;">A
2-dimensional
example</big><br>
      <big style="font-weight: bold;"> </big></div>
      </td>
    </tr>
    <tr>
      <td
 style="vertical-align: top; background-color: rgb(255, 255, 255);">The
following commands investigate a <a href="digital_photo.jpg">digital
photograph</a>  by calculating
the betti numbers of successive thickenings of the image.  The
thickenings are intended to reduce the "noise" in the image and
to  realize the image's "true" betti numbers. Without actually
viewing the photograph we can detect that there are probably three
connected components and three 1-dimensional holes in it.<br>
      </td>
    </tr>
    <tr>
      <td
 style="vertical-align: top; background-color: rgb(255, 255, 204);">gap>
T:=ReadImageAsPureCubicalComplex("digital_photo.jpg",400);;<br>
gap> for i in [1..15] do<br>
> Print(Bettinumbers(T),"\n");<br>
> T:=ThickenedPureCubicalComplex(T);;<br>
> od;<br>
[ 206, 5070, 0 ]<br>
[ 11, 10, 0 ]<br>
[ 4, 4, 0 ]<br>
[ 3, 3, 0 ]<br>
[ 3, 3, 0 ]<br>
[ 3, 4, 0 ]<br>
[ 3, 3, 0 ]<br>
[ 3, 3, 0 ]<br>
[ 3, 3, 0 ]<br>
[ 3, 3, 0 ]<br>
[ 3, 3, 0 ]<br>
[ 3, 3, 0 ]<br>
[ 3, 3, 0 ]<br>
[ 3, 3, 0 ]<br>
[ 3, 3, 0 ]<br>
      </td>
    </tr>
    <tr>
      <td
 style="vertical-align: top; background-color: rgb(255, 255, 255);">There
are
quite
a
number of different "ambient isotopy types" of black/white
images with betti numbers b<sub>0</sub>=3, b<sub>1</sub>=3. A few of
these are: <br>
      <br>
Space 1:  <img alt="" src="space1.jpg"
 style="width: 200px; height: 152px;">     
     
Space 2:    <img alt="" src="space2.jpg"
 style="width: 200px; height: 151px;">   <br>
      <br>
Space 3:  <img alt="" src="space3.jpg"
 style="width: 200px; height: 149px;">             
Space
4: 

      <img alt="" src="space4.jpg" style="width: 200px; height: 152px;"><br>
      <br>
Space 5: <img alt="" src="space5.jpg"
 style="width: 200px; height: 75px;">
       <br>
      <br>
      <br>
      <br>
By considering the betti numbers of the "inverted manifolds" obtained
by
inverting black and white, we can eliminate a few of these as possible
ambient isotopy types for the digital photograph. <br>
      <br>
For example, the following commands show that the photograph is not
ambient isotopic to manifolds 2, 3 or 5.  <br>
      </td>
    </tr>
    <tr>
      <td
 style="vertical-align: top; background-color: rgb(255, 255, 204);">gap>
T:=ReadImageAsPureCubicalComplex("digital_photo.jpg",400);;<br>
gap> for i in [1..8] do<br>
> T:=ThickenedPureCubicalComplex(T);<br>
> od;<br>
gap> T1:=ReadImageAsPureCubicalComplex("space1.jpg",400);;<br>
gap> T2:=ReadImageAsPureCubicalComplex("space2.jpg",400);;<br>
gap> T3:=ReadImageAsPureCubicalComplex("space3.jpg",400);;<br>
gap> T4:=ReadImageAsPureCubicalComplex("space4.jpg",400);;<br>
gap> T5:=ReadImageAsPureCubicalComplex("space5.jpg",400);;<br>
      <br>
gap> Bettinumbers(ComplementOfPureCubicalComplex(T));<br>
[ 3, 2, 0 ]<br>
gap> Bettinumbers(ComplementOfPureCubicalComplex(T1));<br>
[ 3, 2, 0 ]<br>
gap> Bettinumbers(ComplementOfPureCubicalComplex(T2));<br>
[ 4, 3, 0 ]<br>
gap> Bettinumbers(ComplementOfPureCubicalComplex(T3));<br>
[ 4, 2, 0 ]<br>
gap> Bettinumbers(ComplementOfPureCubicalComplex(T4));<br>
[ 3, 2, 0 ]<br>
gap> Bettinumbers(ComplementOfPureCubicalComplex(T5));<br>
[ 4, 3, 0 ]<br>
      </td>
    </tr>
    <tr>
      <td
 style="vertical-align: top; background-color: rgb(255, 255, 255);">Further
distinctions
can
be
made between Spaces 1-5 by considering individual
path components. For example, the following additional commands show
that Spaces 1 and 4 are not ambient isotopic.<br>
      </td>
    </tr>
    <tr>
      <td
 style="vertical-align: top; background-color: rgb(255, 255, 204);">gap>
T1:=ReadImageAsPureCubicalCmplex("space1.jpg",400);;<br>
gap> Bettinumbers(T1)[1];<br>
3<br>
gap> Bettinumbers(PathComponentOfPureCubicalComplex(T1,1));<br>
[ 1, 3, 0 ]<br>
gap> Bettinumbers(PathComponentOfPureCubicalComplex(T1,2));<br>
[ 1, 0, 0 ]<br>
gap> Bettinumbers(PathComponentOfPureCubicalComplex(T1,3));<br>
[ 1, 0, 0 ]<br>
      <br>
gap> T4:=ReadImageAsPureCubicalComplex("space4.jpg",400);;<br>
gap> Bettinumbers(PathComponentOfPureCubicalComplex(T4,1));<br>
[ 1, 2, 0 ]<br>
gap> Bettinumbers(PathComponentOfPureCubicalComplex(T4,2));<br>
[ 1, 1, 0 ]<br>
gap> Bettinumbers(PathComponentOfPureCubicalComplex(T4,3));<br>
[ 1, 0, 0 ]<br>
      </td>
    </tr>
    <tr>
      <td style="vertical-align: top;">
      <table
 style="margin-left: auto; margin-right: auto; width: 100%; text-align: left;"
 border="0" cellpadding="2" cellspacing="2">
        <tbody>
          <tr>
            <td style="vertical-align: top;"><a
 style="color: rgb(0, 0, 102);" href="aboutMetrics.html">Previous
Page</a><br>
            </td>
            <td style="text-align: center; vertical-align: top;"><a
 href="aboutContents.html"><span style="color: rgb(0, 0, 102);">Contents</span></a><br>
            </td>
            <td style="text-align: right; vertical-align: top;"><a
 href="aboutParallel.html"><span style="color: rgb(0, 0, 102);">Next
page</span><br>
            </a> </td>
          </tr>
        </tbody>
      </table>
      <a href="aboutTopology.html"><br>
      </a> </td>
    </tr>
  </tbody>
</table>
<br>
<br>
</body>
</html>

Messung V0.5
C=95 H=98 G=96

¤ Dauer der Verarbeitung: 0.23 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.