Switch to unified view

a b/doc/_static/diagrams/ica.dot
1
digraph ICAdiagram {
2
    /* LAYOUT CONTROL */
3
    rankdir=LR
4
    newrank=true
5
    ranksep=0.75
6
    clusterrank=local
7
8
    /* GLOBAL STYLES */
9
    splines=true
10
    fontsize=20
11
    fontname="Source Code Pro"
12
13
    node [style="filled"
14
          fontsize=18
15
          fontname="Source Sans Pro"]
16
17
    edge [arrowsize=1.2
18
          penwidth=2.5
19
          color="gray50"
20
          fontsize=12
21
          fontname="Source Code Pro"]
22
23
    /* starting nodes */
24
    sensor [label="Sensor data" shape="box" fillcolor="#bbbbbb"]
25
    cov [label="Noise cov" shape="box" fillcolor="#bbbbbb"]
26
27
    /* ICA.FIT() */
28
    subgraph cluster_0 {
29
        label="ICA.fit()"
30
        color="#009988"
31
        fontcolor="#009988"
32
        penwidth=1.5
33
34
35
        /* PRE-WHITENING */
36
        subgraph cluster_1 {
37
            label="Whitening"
38
            style="dashed"
39
            fontname="Source Sans Pro"
40
            color="gray50"
41
            fontcolor="gray50"
42
            /* nodes & edges */
43
            pre [label="Pre-\nwhiten" fontsize=11 shape="circle" fillcolor="#ee7733"]
44
            pre -> pca
45
            pca        [label="PCA"                   shape="circle" fillcolor="#ee7733"]
46
            pcs        [label="Principal\ncomponents" shape="box"    fillcolor="#33bbee"]
47
            pca -> pcs
48
        }
49
50
        /* nodes & edges */
51
        ica        [label="ICA"                     shape="circle" fillcolor="#ee7733"]
52
        ics        [label="Independent\ncomponents" shape="box"    fillcolor="#33bbee"]
53
        ica -> ics [label="n_components\r"]
54
    }
55
56
    /* ICA.APPLY() */
57
    subgraph cluster_2 {
58
        label="ICA.apply()"
59
        color="#ee3377"
60
        fontcolor="#ee3377"
61
        penwidth=1.5
62
        /* ending node */
63
        recon [label="Reconstructed\nsensor data" shape="box" fillcolor="#bbbbbb"]
64
    }
65
66
    /* subgraph-crossing edges */
67
    sensor -> pre  [label="all sensor channels\r" fontsize=14 fontname="Source Sans Pro"]
68
    cov -> pre     [label="covariance or std. dev.\r" fontsize=14 fontname="Source Sans Pro"]
69
    pcs -> ica     [label="n_components\l"]
70
    ics -> recon   [constraint=false color="#ee3377"
71
                    xlabel="Retained ICs:\ln_components -\llen(ICA.exclude)\l"]
72
    pcs -> recon   [constraint=false color="#ee3377"
73
                    xlabel="PCA residual:\ln_pca_components\l- n_components\l"]
74
75
    /* position recon box where we want it */
76
    { rank="same" recon ica }
77
}