|
| 1 | +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" |
| 2 | + "http://www.w3.org/TR/html4/strict.dtd"> |
| 3 | + |
| 4 | +<html> |
| 5 | +<head> |
| 6 | + <title></title> |
| 7 | + <meta http-equiv="content-type" content="text/html; charset=latin1"> |
| 8 | + <style type="text/css"> |
| 9 | +td.linenos { background-color: #f0f0f0; padding-right: 10px; } |
| 10 | +span.lineno { background-color: #f0f0f0; padding: 0 5px 0 5px; } |
| 11 | +pre { line-height: 125%; } |
| 12 | +body .hll { background-color: #ffffcc } |
| 13 | +body { background: #f8f8f8; } |
| 14 | +body .c { color: #408080; font-style: italic } /* Comment */ |
| 15 | +body .err { border: 1px solid #FF0000 } /* Error */ |
| 16 | +body .k { color: #008000; font-weight: bold } /* Keyword */ |
| 17 | +body .o { color: #666666 } /* Operator */ |
| 18 | +body .cm { color: #408080; font-style: italic } /* Comment.Multiline */ |
| 19 | +body .cp { color: #BC7A00 } /* Comment.Preproc */ |
| 20 | +body .c1 { color: #408080; font-style: italic } /* Comment.Single */ |
| 21 | +body .cs { color: #408080; font-style: italic } /* Comment.Special */ |
| 22 | +body .gd { color: #A00000 } /* Generic.Deleted */ |
| 23 | +body .ge { font-style: italic } /* Generic.Emph */ |
| 24 | +body .gr { color: #FF0000 } /* Generic.Error */ |
| 25 | +body .gh { color: #000080; font-weight: bold } /* Generic.Heading */ |
| 26 | +body .gi { color: #00A000 } /* Generic.Inserted */ |
| 27 | +body .go { color: #808080 } /* Generic.Output */ |
| 28 | +body .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ |
| 29 | +body .gs { font-weight: bold } /* Generic.Strong */ |
| 30 | +body .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ |
| 31 | +body .gt { color: #0040D0 } /* Generic.Traceback */ |
| 32 | +body .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ |
| 33 | +body .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ |
| 34 | +body .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ |
| 35 | +body .kp { color: #008000 } /* Keyword.Pseudo */ |
| 36 | +body .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ |
| 37 | +body .kt { color: #B00040 } /* Keyword.Type */ |
| 38 | +body .m { color: #666666 } /* Literal.Number */ |
| 39 | +body .s { color: #BA2121 } /* Literal.String */ |
| 40 | +body .na { color: #7D9029 } /* Name.Attribute */ |
| 41 | +body .nb { color: #008000 } /* Name.Builtin */ |
| 42 | +body .nc { color: #0000FF; font-weight: bold } /* Name.Class */ |
| 43 | +body .no { color: #880000 } /* Name.Constant */ |
| 44 | +body .nd { color: #AA22FF } /* Name.Decorator */ |
| 45 | +body .ni { color: #999999; font-weight: bold } /* Name.Entity */ |
| 46 | +body .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ |
| 47 | +body .nf { color: #0000FF } /* Name.Function */ |
| 48 | +body .nl { color: #A0A000 } /* Name.Label */ |
| 49 | +body .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ |
| 50 | +body .nt { color: #008000; font-weight: bold } /* Name.Tag */ |
| 51 | +body .nv { color: #19177C } /* Name.Variable */ |
| 52 | +body .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ |
| 53 | +body .w { color: #bbbbbb } /* Text.Whitespace */ |
| 54 | +body .mf { color: #666666 } /* Literal.Number.Float */ |
| 55 | +body .mh { color: #666666 } /* Literal.Number.Hex */ |
| 56 | +body .mi { color: #666666 } /* Literal.Number.Integer */ |
| 57 | +body .mo { color: #666666 } /* Literal.Number.Oct */ |
| 58 | +body .sb { color: #BA2121 } /* Literal.String.Backtick */ |
| 59 | +body .sc { color: #BA2121 } /* Literal.String.Char */ |
| 60 | +body .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ |
| 61 | +body .s2 { color: #BA2121 } /* Literal.String.Double */ |
| 62 | +body .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ |
| 63 | +body .sh { color: #BA2121 } /* Literal.String.Heredoc */ |
| 64 | +body .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ |
| 65 | +body .sx { color: #008000 } /* Literal.String.Other */ |
| 66 | +body .sr { color: #BB6688 } /* Literal.String.Regex */ |
| 67 | +body .s1 { color: #BA2121 } /* Literal.String.Single */ |
| 68 | +body .ss { color: #19177C } /* Literal.String.Symbol */ |
| 69 | +body .bp { color: #008000 } /* Name.Builtin.Pseudo */ |
| 70 | +body .vc { color: #19177C } /* Name.Variable.Class */ |
| 71 | +body .vg { color: #19177C } /* Name.Variable.Global */ |
| 72 | +body .vi { color: #19177C } /* Name.Variable.Instance */ |
| 73 | +body .il { color: #666666 } /* Literal.Number.Integer.Long */ |
| 74 | + |
| 75 | + </style> |
| 76 | +</head> |
| 77 | +<body> |
| 78 | +<h2></h2> |
| 79 | + |
| 80 | +<div class="highlight"><pre><span class="c">#!/usr/bin/env bash</span> |
| 81 | + |
| 82 | +<span class="nv">GEOMETRY</span><span class="o">=</span>head_model.geom |
| 83 | +<span class="nv">CONDUCTIVITIES</span><span class="o">=</span>head_model.cond |
| 84 | +<span class="nv">DIPOLES</span><span class="o">=</span>cortex_dipoles.txt |
| 85 | +<span class="nv">EEG_ELECTRODES</span><span class="o">=</span>eeg_channels_locations.txt |
| 86 | +<span class="nv">SQUIDS</span><span class="o">=</span>meg_channels_locations.squids |
| 87 | +<span class="nv">INTERNAL_ELECTRODES</span><span class="o">=</span>internal_electrodes_locations.txt |
| 88 | + |
| 89 | +<span class="c"># Leadfields</span> |
| 90 | +<span class="nv">EEG_LEADFIELD</span><span class="o">=</span>eeg_leadfield.mat |
| 91 | +<span class="nv">MEG_LEADFIELD</span><span class="o">=</span>meg_leadfield.mat |
| 92 | +<span class="nv">EIT_LEADFIELD</span><span class="o">=</span>eit_leadfield.mat |
| 93 | +<span class="nv">IP_LEADFIELD</span><span class="o">=</span>ip_leadfield.mat |
| 94 | + |
| 95 | +<span class="c"># Name temporary matrices</span> |
| 96 | +<span class="nv">HM</span><span class="o">=</span>tmp/tmp.hm <span class="c"># For EEG and MEG</span> |
| 97 | +<span class="nv">HMINV</span><span class="o">=</span>tmp/tmp.hm_inv <span class="c"># For EEG and MEG</span> |
| 98 | +<span class="nv">DSM</span><span class="o">=</span>tmp/tmp.dsm <span class="c"># For EEG and MEG</span> |
| 99 | +<span class="nv">H2EM</span><span class="o">=</span>tmp/tmp.h2em <span class="c"># For EEG</span> |
| 100 | +<span class="nv">H2MM</span><span class="o">=</span>tmp/tmp.h2mm <span class="c"># For MEG</span> |
| 101 | +<span class="nv">DS2MEG</span><span class="o">=</span>tmp/tmp.ds2mm <span class="c"># For MEG</span> |
| 102 | +<span class="nv">EITSM</span><span class="o">=</span>tmp/tmp.eitsm <span class="c"># For EIT</span> |
| 103 | +<span class="nv">IPHM</span><span class="o">=</span>tmp/tmp.iphm <span class="c"># For IP</span> |
| 104 | +<span class="nv">IPSM</span><span class="o">=</span>tmp/tmp.ipsm <span class="c"># For IP</span> |
| 105 | + |
| 106 | +mkdir -p tmp |
| 107 | + |
| 108 | +<span class="c"># Compute EEG gain matrix</span> |
| 109 | +om_assemble -HM <span class="k">${</span><span class="nv">GEOMETRY</span><span class="k">}</span> <span class="k">${</span><span class="nv">CONDUCTIVITIES</span><span class="k">}</span> <span class="k">${</span><span class="nv">HM</span><span class="k">}</span> |
| 110 | +om_minverser <span class="k">${</span><span class="nv">HM</span><span class="k">}</span> <span class="k">${</span><span class="nv">HMINV</span><span class="k">}</span> |
| 111 | +om_assemble -DSM <span class="k">${</span><span class="nv">GEOMETRY</span><span class="k">}</span> <span class="k">${</span><span class="nv">CONDUCTIVITIES</span><span class="k">}</span> <span class="k">${</span><span class="nv">DIPOLES</span><span class="k">}</span> <span class="k">${</span><span class="nv">DSM</span><span class="k">}</span> |
| 112 | +om_assemble -H2EM <span class="k">${</span><span class="nv">GEOMETRY</span><span class="k">}</span> <span class="k">${</span><span class="nv">CONDUCTIVITIES</span><span class="k">}</span> <span class="k">${</span><span class="nv">EEG_ELECTRODES</span><span class="k">}</span> <span class="k">${</span><span class="nv">H2EM</span><span class="k">}</span> |
| 113 | +om_gain -EEG <span class="k">${</span><span class="nv">HMINV</span><span class="k">}</span> <span class="k">${</span><span class="nv">DSM</span><span class="k">}</span> <span class="k">${</span><span class="nv">H2EM</span><span class="k">}</span> <span class="k">${</span><span class="nv">EEG_LEADFIELD</span><span class="k">}</span> |
| 114 | + |
| 115 | +<span class="c"># Compute MEG gain matrix</span> |
| 116 | +om_assemble -H2MM <span class="k">${</span><span class="nv">GEOMETRY</span><span class="k">}</span> <span class="k">${</span><span class="nv">CONDUCTIVITIES</span><span class="k">}</span> <span class="k">${</span><span class="nv">SQUIDS</span><span class="k">}</span> <span class="k">${</span><span class="nv">H2MM</span><span class="k">}</span> |
| 117 | +om_assemble -DS2MM <span class="k">${</span><span class="nv">DIPOLES</span><span class="k">}</span> <span class="k">${</span><span class="nv">SQUIDS</span><span class="k">}</span> <span class="k">${</span><span class="nv">DS2MEG</span><span class="k">}</span> |
| 118 | +om_gain -MEG <span class="k">${</span><span class="nv">HMINV</span><span class="k">}</span> <span class="k">${</span><span class="nv">DSM</span><span class="k">}</span> <span class="k">${</span><span class="nv">H2MM</span><span class="k">}</span> <span class="k">${</span><span class="nv">DS2MEG</span><span class="k">}</span> <span class="k">${</span><span class="nv">MEG_LEADFIELD</span><span class="k">}</span> |
| 119 | + |
| 120 | +<span class="c"># Compute EIT gain matrix</span> |
| 121 | +om_assemble -EITSM <span class="k">${</span><span class="nv">GEOMETRY</span><span class="k">}</span> <span class="k">${</span><span class="nv">CONDUCTIVITIES</span><span class="k">}</span> <span class="k">${</span><span class="nv">EEG_ELECTRODES</span><span class="k">}</span> <span class="k">${</span><span class="nv">EITSM</span><span class="k">}</span> |
| 122 | +om_gain -EEG <span class="k">${</span><span class="nv">HMINV</span><span class="k">}</span> <span class="k">${</span><span class="nv">EITSM</span><span class="k">}</span> <span class="k">${</span><span class="nv">H2EM</span><span class="k">}</span> <span class="k">${</span><span class="nv">EIT_LEADFIELD</span><span class="k">}</span> |
| 123 | + |
| 124 | +<span class="c"># Compute Internal Potential</span> |
| 125 | +om_assemble -H2IPM <span class="k">${</span><span class="nv">GEOMETRY</span><span class="k">}</span> <span class="k">${</span><span class="nv">CONDUCTIVITIES</span><span class="k">}</span> <span class="k">${</span><span class="nv">INTERNAL_ELECTRODES</span><span class="k">}</span> <span class="k">${</span><span class="nv">IPHM</span><span class="k">}</span> |
| 126 | +om_assemble -DS2IPM <span class="k">${</span><span class="nv">GEOMETRY</span><span class="k">}</span> <span class="k">${</span><span class="nv">CONDUCTIVITIES</span><span class="k">}</span> <span class="k">${</span><span class="nv">DIPOLES</span><span class="k">}</span> <span class="k">${</span><span class="nv">INTERNAL_ELECTRODES</span><span class="k">}</span> <span class="k">${</span><span class="nv">IPSM</span><span class="k">}</span> |
| 127 | +om_gain -IP <span class="k">${</span><span class="nv">HMINV</span><span class="k">}</span> <span class="k">${</span><span class="nv">DSM</span><span class="k">}</span> <span class="k">${</span><span class="nv">IPHM</span><span class="k">}</span> <span class="k">${</span><span class="nv">IPSM</span><span class="k">}</span> <span class="k">${</span><span class="nv">IP_LEADFIELD</span><span class="k">}</span> |
| 128 | +</pre></div> |
| 129 | +</body> |
| 130 | +</html> |
0 commit comments