igor-public/doc/html/pearl-matrix-import_8ipf_source.html

122 lines
109 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>PEARL Procedures: pearl-matrix-import.ipf Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">PEARL Procedures
&#160;<span id="projectnumber">rev-distro-2.0.3-2-g58135e4-dirty</span>
</div>
<div id="projectbrief">Igor procedures for the analysis of PEARL data</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('pearl-matrix-import_8ipf_source.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">pearl-matrix-import.ipf</div> </div>
</div><!--header-->
<div class="contents">
<a href="pearl-matrix-import_8ipf.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#pragma rtGlobals=3</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#pragma version = 1.00</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#pragma IgorVersion = 6.36</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#pragma ModuleName = PearlMatrixImport</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;</div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">// author: matthias.muntwiler@psi.ch</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">// Copyright (c) 2016 Paul Scherrer Institut</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;</div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// You may obtain a copy of the License at</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">// http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="pearl-matrix-import_8ipf.html#aca457d1f4414d20a911254b1de13ebbb"> 37</a></span>&#160;<span class="keyword">static</span> strconstant <a class="code" href="pearl-matrix-import_8ipf.html#aca457d1f4414d20a911254b1de13ebbb">package_name</a> = <span class="stringliteral">&quot;pearl_matrix_import&quot;</span></div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="pearl-matrix-import_8ipf.html#a75bb92ef5f80843e66a7243bd958ef8b"> 38</a></span>&#160;<span class="keyword">static</span> strconstant <a class="code" href="pearl-matrix-import_8ipf.html#a75bb92ef5f80843e66a7243bd958ef8b">package_path</a> = <span class="stringliteral">&quot;root:packages:pearl_matrix_import:&quot;</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="pearl-matrix-import_8ipf.html#ad720655ff881ddecae2e1b8afed58fa0"> 40</a></span>&#160;<span class="keyword">static</span> strconstant <a class="code" href="pearl-matrix-import_8ipf.html#ad720655ff881ddecae2e1b8afed58fa0">ks_filematch_mtrx</a> = <span class="stringliteral">&quot;*_mtrx&quot;</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="pearl-matrix-import_8ipf.html#a45e930b8eadd7cf6a5f664befd87d725"> 45</a></span>&#160;<span class="keyword">static</span> <span class="keyword">function</span> <a class="code" href="pearl-matrix-import_8ipf.html#a45e930b8eadd7cf6a5f664befd87d725">init_package</a>()</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; </div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; dfref savedf = getdatafolderdfr()</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; </div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; setdatafolder root:</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; newdatafolder /o/s packages</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; newdatafolder /o/s $package_name</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; </div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; variable /g loglevel = 3</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordtype">string</span> /g dataFilePath = &quot;&quot;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordtype">string</span> /g resultFilePath = &quot;&quot;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; variable /g runCycle = 0</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; variable /g scanCycle = 0</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordtype">string</span> /g channelName = &quot;&quot;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; variable /g brickletID = 0</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; variable /g V_MatrixFileReaderOverwrite = 1</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; variable /g V_MatrixFileReaderFolder = 0</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; variable /g V_MatrixFileReaderDouble = 0</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; setdatafolder savedf</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; return 0</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;end</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="pearl-matrix-import_8ipf.html#ac7790f06151821678a65ab0065a5323e"> 72</a></span>&#160;static function <a class="code" href="pearl-matrix-import_8ipf.html#ac7790f06151821678a65ab0065a5323e">check_package_folder</a>()</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; dfref df_pack = $(<a class="code" href="pearl-matrix-import_8ipf.html#a75bb92ef5f80843e66a7243bd958ef8b">package_path</a>)</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; if (DataFolderRefStatus(df_pack))</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; svar /sdfr=df_pack /z resultFilePath</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; if (!svar_exists(resultFilePath))</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="pearl-matrix-import_8ipf.html#a45e930b8eadd7cf6a5f664befd87d725">init_package</a>()</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; endif</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; else</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="pearl-matrix-import_8ipf.html#a45e930b8eadd7cf6a5f664befd87d725">init_package</a>()</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; endif</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;end</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="pearl-matrix-import_8ipf.html#a3f524f5190341d2accc8cb8c3ed2ceb5"> 85</a></span>&#160;static function <a class="code" href="pearl-matrix-import_8ipf.html#a3f524f5190341d2accc8cb8c3ed2ceb5">AfterFileOpenHook</a>(refNum,file,pathName,type,creator,kind)</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; Variable refNum,kind</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; String file,pathName,type,creator</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; if( (kind &gt;= 1) &amp;&amp; (kind &lt;= 2))</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <a class="code" href="pearl-matrix-import_8ipf.html#a45e930b8eadd7cf6a5f664befd87d725">init_package</a>()</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="comment">//load_prefs()</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; endif</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; return 0</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;end</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="pearl-matrix-import_8ipf.html#ae2cfa1ac6651cfc3fb0dfce03494995b"> 102</a></span>&#160;static function <a class="code" href="pearl-matrix-import_8ipf.html#ae2cfa1ac6651cfc3fb0dfce03494995b">BeforeFileOpenHook</a>(refNum,fileName,path,type,creator,kind)</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; Variable refNum,kind</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; String fileName,path,type,creator</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; Variable handledOpen = 0</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; if (StringMatch(fileName, <a class="code" href="pearl-matrix-import_8ipf.html#ad720655ff881ddecae2e1b8afed58fa0">ks_filematch_mtrx</a>))</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; setdatafolder root:</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; newdatafolder /o /s matrix</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <a class="code" href="pearl-matrix-import_8ipf.html#abd09594d22038853e1e8021e0f36363d">mtrx_load_preview</a>(&quot;matrix&quot;, path, fileName)</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; handledOpen = 1</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; endif</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; return handledOpen</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;End</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="pearl-matrix-import_8ipf.html#a81b1d81261a32d0ed4cf79b81487f1b4"> 120</a></span>&#160;function /s <a class="code" href="pearl-matrix-import_8ipf.html#a81b1d81261a32d0ed4cf79b81487f1b4">matrix_format_elog_message</a>(metadata)</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; wave /t metadata</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordtype">string</span> key</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordtype">string</span> value</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; variable nkeys = dimsize(metadata, 0)</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; variable ikey</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordtype">string</span> message_keys</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; message_keys = &quot;resultFileName;sampleName;channelName;&quot;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; message_keys += &quot;XYScanner.Points.value;XYScanner.Raster_Time.value;XYScanner.Raster_Time.unit;XYScanner.Width.value;XYScanner.Width.unit;XYScanner.Height.value;XYScanner.Height.unit;&quot;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; message_keys += &quot;GapVoltageControl.Voltage.value;GapVoltageControl.Voltage.unit;&quot;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; message_keys += &quot;Regulator.Loop_Gain_1_I.value;Regulator.Loop_Gain_1_I.unit;Regulator.Setpoint_1.value;Regulator.Setpoint_1.unit;&quot;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; message_keys += &quot;Spectroscopy.Device_1_Start.value;Spectroscopy.Device_1_Start.unit;Spectroscopy.Spectroscopy_Mode.value;&quot;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordtype">string</span> message</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; </div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; message_keys = &quot;&quot;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; for (ikey = 0; ikey &lt; nkeys; ikey += 1)</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; key = metadata[ikey][0]</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; value = metadata[ikey][1]</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; if (WhichListItem(key, message_keys) &gt;= 0)</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; message += key + &quot; = &quot; + value + &quot;\r&quot;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; endif</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; endfor</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;end</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="pearl-matrix-import_8ipf.html#a856478705a78e8105ea5d91a2228975b"> 145</a></span>&#160;function <a class="code" href="pearl-matrix-import_8ipf.html#a856478705a78e8105ea5d91a2228975b">matrix_preview_2d</a>(data, metadata)</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; wave data</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; wave /t metadata</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; </div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; Display</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; AppendImage data</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; ModifyImage data ctab= {*,*,Mud,0}</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; ModifyGraph margin(left)=30,margin(bottom)=30,margin(top)=5,margin(right)=5,height={Plan,1,left,bottom}</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; ModifyGraph mirror=2</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; ModifyGraph nticks=3</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; ModifyGraph axThick=0.5</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; ModifyGraph btLen=4</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;end</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="pearl-matrix-import_8ipf.html#a8acd2b03343ef9bdfecaa75e831392d1"> 170</a></span>&#160;<span class="keyword">static</span> <span class="keyword">function</span> /wave <a class="code" href="pearl-matrix-import_8ipf.html#a8acd2b03343ef9bdfecaa75e831392d1">preview_matrix_file</a>(filename)</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordtype">string</span> filename</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; dfref saveDF = GetDataFolderDFR()</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; setdatafolder $package_path</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; svar s_preview_file</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; svar s_preview_source</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <a class="code" href="pearl-matrix-import_8ipf.html#abd09594d22038853e1e8021e0f36363d">mtrx_load_preview</a>(&quot;preview_image&quot;, &quot;pearl_explorer_filepath&quot;, filename)</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; s_preview_file = filename</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; s_preview_source = &quot;&quot;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; wave /z preview_image</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; </div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; svar /z s_file_info</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; if (! svar_exists(s_file_info))</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordtype">string</span> /g s_file_info</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; endif</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; if (strlen(s_preview_file) &gt; 0)</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; s_file_info = <a class="code" href="pearl-matrix-import_8ipf.html#a3a0ba4a7ad64739303b705d92be53267">mtrx_load_info</a>(&quot;pearl_explorer_filepath&quot;, filename)</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; else</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; s_file_info = &quot;&quot;</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; endif</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; setdatafolder saveDF</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; return preview_image</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;end</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="structerror_code.html#a36a53ca508600b841a54cfd3a3fd5402"> 197</a></span>&#160;Structure <a class="code" href="structerror_code.html">errorCode</a></div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; int32 SUCCESS </div><div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="structerror_code.html#a11b729058e2f4a2698ddaecf4e61c846"> 199</a></span>&#160; int32 UNKNOWN_ERROR</div><div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="structerror_code.html#a19dc49bdfb4bd9601f17f907da158026"> 200</a></span>&#160; int32 ALREADY_FILE_OPEN</div><div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="structerror_code.html#ab7f29ef2ba8497c55f2bc55c4b9fc186"> 201</a></span>&#160; int32 EMPTY_RESULTFILE</div><div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="structerror_code.html#a71ce7c0413c44515d9570dab1ffd5ffd"> 202</a></span>&#160; int32 FILE_NOT_READABLE</div><div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="structerror_code.html#a4ec3cbf922809b99b04d324d3a0bbb22"> 203</a></span>&#160; int32 NO_NEW_BRICKLETS</div><div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="structerror_code.html#aa4279dfdaceed3bd57336cd4e38ed739"> 204</a></span>&#160; int32 WRONG_PARAMETER</div><div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="structerror_code.html#afb49d1cffe8e7590892b018ac9e648cc"> 205</a></span>&#160; int32 INTERNAL_ERROR_CONVERTING_DATA</div><div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="structerror_code.html#affc9a8a46877373b0212d82d867ca5fa"> 206</a></span>&#160; int32 NO_FILE_OPEN</div><div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="structerror_code.html#a5477920df1edcc7a1af0513d9120947a"> 207</a></span>&#160; int32 INVALID_RANGE</div><div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="structerror_code.html#aa91bd8ef7a635f4575161813ebb09f3b"> 208</a></span>&#160; int32 WAVE_EXIST</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;EndStructure</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="pearl-matrix-import_8ipf.html#af0eaec901e06ce59250eb434539a0f6c"> 212</a></span>&#160;static Function <a class="code" href="pearl-matrix-import_8ipf.html#af0eaec901e06ce59250eb434539a0f6c">initStruct</a>(<a class="code" href="structerror_code.html">errorCode</a>)</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; Struct <a class="code" href="structerror_code.html">errorCode</a> &amp;<a class="code" href="structerror_code.html">errorCode</a></div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <a class="code" href="structerror_code.html">errorCode</a>.SUCCESS =0</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <a class="code" href="structerror_code.html">errorCode</a>.UNKNOWN_ERROR=10001</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <a class="code" href="structerror_code.html">errorCode</a>.ALREADY_FILE_OPEN=10002</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <a class="code" href="structerror_code.html">errorCode</a>.EMPTY_RESULTFILE=10004</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <a class="code" href="structerror_code.html">errorCode</a>.FILE_NOT_READABLE=10008</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <a class="code" href="structerror_code.html">errorCode</a>.NO_NEW_BRICKLETS=10016</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <a class="code" href="structerror_code.html">errorCode</a>.WRONG_PARAMETER=10032</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <a class="code" href="structerror_code.html">errorCode</a>.INTERNAL_ERROR_CONVERTING_DATA=10064</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <a class="code" href="structerror_code.html">errorCode</a>.NO_FILE_OPEN=10128</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <a class="code" href="structerror_code.html">errorCode</a>.INVALID_RANGE=10256 </div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <a class="code" href="structerror_code.html">errorCode</a>.WAVE_EXIST=10512</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; </div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;end</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="pearl-matrix-import_8ipf.html#a6ac0c685976b0e0c1944fb616a4f3a3c"> 231</a></span>&#160;function <a class="code" href="pearl-matrix-import_8ipf.html#a6ac0c685976b0e0c1944fb616a4f3a3c">mtrx_load_all</a>()</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; struct <a class="code" href="structerror_code.html">errorCode</a> <a class="code" href="structerror_code.html">errorCode</a></div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <a class="code" href="pearl-matrix-import_8ipf.html#af0eaec901e06ce59250eb434539a0f6c">initStruct</a>(<a class="code" href="structerror_code.html">errorCode</a>)</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;<span class="preprocessor">#if exists(&quot;MFR_OpenResultFile&quot;)</span></div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; MFR_OpenResultFile</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordflow">if</span>(V_flag != <a class="code" href="structerror_code.html">errorCode</a>.<a class="code" href="structerror_code.html#a36a53ca508600b841a54cfd3a3fd5402">SUCCESS</a>)</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; MFR_GetXOPErrorMessage</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordflow">return</span> -1</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; endif</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; MFR_GetBrickletData</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keywordflow">if</span>(V_flag != <a class="code" href="structerror_code.html">errorCode</a>.<a class="code" href="structerror_code.html#a36a53ca508600b841a54cfd3a3fd5402">SUCCESS</a>)</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; MFR_GetXOPErrorMessage</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">return</span> -1</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; endif</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; MFR_GetBrickletMetaData</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keywordflow">if</span>(V_flag != <a class="code" href="structerror_code.html">errorCode</a>.<a class="code" href="structerror_code.html#a36a53ca508600b841a54cfd3a3fd5402">SUCCESS</a>)</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; MFR_GetXOPErrorMessage</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">return</span> -1</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; endif</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordflow">return</span> 0</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keywordflow">return</span> -1</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;end</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;</div><div class="line"><a name="l00294"></a><span class="lineno"><a class="line" href="pearl-matrix-import_8ipf.html#a4bfeaf81ac483df0a38b26b6a8cf74a6"> 294</a></span>&#160;<span class="keyword">function</span> <a class="code" href="pearl-matrix-import_8ipf.html#a4bfeaf81ac483df0a38b26b6a8cf74a6">mtrx_parse_filename</a>(fileName, resultFile, runCycle, scanCycle, channel)</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordtype">string</span> fileName</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keywordtype">string</span> &amp;resultFile</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; variable &amp;runCycle</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; variable &amp;scanCycle</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordtype">string</span> &amp;channel</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; </div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; variable fileType = 0</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; resultFile = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; channel = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; runCycle = 0</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; scanCycle = 0</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="keywordtype">string</span> regexp = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keywordtype">string</span> index1 = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordtype">string</span> index2 = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keywordtype">string</span> extension = <span class="stringliteral">&quot;&quot;</span></div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; </div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">if</span> (StringMatch(fileName, <span class="stringliteral">&quot;*.mtrx&quot;</span>))</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; regexp = <span class="stringliteral">&quot;(.+)_([[:digit:]]+)\.(.+)&quot;</span></div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; SplitString /E=regexp fileName, resultFile, index1, extension</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; fileType = 0</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; regexp = <span class="stringliteral">&quot;(.+)--([[:digit:]]+)_([[:digit:]]+)\.((.+)_mtrx)&quot;</span></div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; SplitString /E=regexp fileName, resultFile, index1, index2, extension, channel</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; fileType = 1</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; runCycle = str2num(index1)</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; scanCycle = str2num(index2)</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; endif</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; </div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">return</span> fileType</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;end</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160;</div><div class="line"><a name="l00332"></a><span class="lineno"><a class="line" href="pearl-matrix-import_8ipf.html#a0dc1efa23739e10b7558543b166e95b9"> 332</a></span>&#160;<span class="keyword">function</span> /s <a class="code" href="pearl-matrix-import_8ipf.html#a0dc1efa23739e10b7558543b166e95b9">mtrx_split_filename</a>(fileName, prefix, datepart, timepart)</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordtype">string</span> fileName</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keywordtype">string</span> &amp;prefix</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keywordtype">string</span> &amp;datepart</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordtype">string</span> &amp;timepart</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; </div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keywordtype">string</span> regexp</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; regexp = <span class="stringliteral">&quot;([[:alpha:][:digit:]]+)[-_]([[:alpha:][:digit:]]+)[-_]([[:alpha:][:digit:]]+)[-_].+&quot;</span></div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; SplitString /E=regexp fileName, prefix, datepart, timepart</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">return</span> datepart</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;end</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;</div><div class="line"><a name="l00360"></a><span class="lineno"><a class="line" href="pearl-matrix-import_8ipf.html#a893405a122fdf70429f4f75b8877ed7d"> 360</a></span>&#160;<span class="keyword">function</span> /df <a class="code" href="pearl-matrix-import_8ipf.html#a893405a122fdf70429f4f75b8877ed7d">mtrx_create_folder</a>(fileName, [df_base])</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordtype">string</span> fileName</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; dfref df_base</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; </div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keywordflow">if</span> (ParamIsDefault(df_base))</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; df_base = GetDataFolderDFR()</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; endif</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160;</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keywordtype">string</span> prefix</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="keywordtype">string</span> datepart</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="keywordtype">string</span> timepart</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keywordtype">string</span> folderName</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; </div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <a class="code" href="pearl-matrix-import_8ipf.html#a0dc1efa23739e10b7558543b166e95b9">mtrx_split_filename</a>(fileName, prefix, datepart, timepart)</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; folderName = &quot;mtrx_&quot; + datepart + &quot;_&quot; + timepart</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; folderName = CleanupName(folderName, 0)</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; </div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; dfref df_save = GetDataFolderDFR()</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; setdatafolder root:</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; newdatafolder /o /s $foldername</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; dfref df = GetDataFolderDFR()</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160;</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; setdatafolder df_save</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; return df</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;end</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;</div><div class="line"><a name="l00405"></a><span class="lineno"><a class="line" href="pearl-matrix-import_8ipf.html#a1a46b042e41daffee61706ab2cf54351"> 405</a></span>&#160;function /df <a class="code" href="pearl-matrix-import_8ipf.html#a1a46b042e41daffee61706ab2cf54351">mtrx_get_cycle_folder</a>([df_base, runCycle, scanCycle])</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; dfref df_base</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; variable runCycle</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; variable scanCycle</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160;</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; dfref df_save = GetDataFolderDFR()</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; dfref df_pack = $(<a class="code" href="pearl-matrix-import_8ipf.html#a75bb92ef5f80843e66a7243bd958ef8b">package_path</a>)</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; if (ParamIsDefault(df_base))</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; df_base = GetDataFolderDFR()</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; endif</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; if (ParamIsDefault(runCycle))</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; nvar /sdfr=df_pack defRunCycle = runCycle</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; runCycle = defRunCycle</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; endif</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; if (ParamIsDefault(scanCycle))</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; nvar /sdfr=df_pack defScanCycle = scanCycle</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; scanCycle = defScanCycle</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; endif</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160;</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <span class="keywordtype">string</span> dfname</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; if ((runCycle &gt;= 1) &amp;&amp; (scanCycle &gt;= 1))</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; sprintf dfname, &quot;r%us%u&quot;, runCycle, scanCycle</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; setdatafolder df_base</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; dfref df = $dfname</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; if (DataFolderRefStatus(df) == 0)</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; newdatafolder $dfname</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; dfref df = $dfname</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; endif</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; else</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; dfref df = df_base</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; endif</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; </div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; setdatafolder df_save</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; return df</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160;end</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160;</div><div class="line"><a name="l00461"></a><span class="lineno"><a class="line" href="pearl-matrix-import_8ipf.html#ad74d5afa71179728a9237d1ec5884482"> 461</a></span>&#160;function <a class="code" href="pearl-matrix-import_8ipf.html#ad74d5afa71179728a9237d1ec5884482">mtrx_file_brickletID</a>(resultFile, runCycle, scanCycle, channel)</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; <span class="keywordtype">string</span> resultFile</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; variable runCycle</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; variable scanCycle</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <span class="keywordtype">string</span> channel</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160;</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; dfref df_overview = NewFreeDataFolder()</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; variable link = 1</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; variable <span class="keywordtype">id</span> = -1</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; variable idx = 0</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; </div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <span class="keywordtype">string</span> resultFileName</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160;<span class="preprocessor">#if exists(&quot;MFR_OpenResultFile&quot;)</span></div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="keyword">struct </span><a class="code" href="structerror_code.html">errorCode</a> <a class="code" href="structerror_code.html">errorCode</a></div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <a class="code" href="pearl-matrix-import_8ipf.html#af0eaec901e06ce59250eb434539a0f6c">initStruct</a>(<a class="code" href="structerror_code.html">errorCode</a>)</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; do</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; sprintf resultFileName, &quot;%s_%04u.mtrx<span class="stringliteral">&quot;, resultFile, link</span></div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160;<span class="stringliteral"> MFR_OpenResultFile /K resultFileName</span></div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160;<span class="stringliteral"> if(V_flag != errorCode.SUCCESS)</span></div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160;<span class="stringliteral"> return -1</span></div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160;<span class="stringliteral"> endif</span></div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;<span class="stringliteral"> MFR_CreateOverviewTable /DEST=df_overview</span></div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160;<span class="stringliteral"> // dimension labels are: brickletID, scanCycleCount, runCycleCount, sequenceID, dimension, channelName</span></div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;<span class="stringliteral"> wave /t /sdfr=df_overview overviewTable</span></div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160;<span class="stringliteral"> make /n=(dimsize(overviewTable, 0)) /i /u /free runcycles, scancycles, ids, match</span></div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160;<span class="stringliteral"> make /n=(dimsize(overviewTable, 0)) /t /free channels</span></div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160;<span class="stringliteral"> ids = str2num(overviewtable[p][%brickletID])</span></div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160;<span class="stringliteral"> if (runcycle &gt; 0)</span></div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160;<span class="stringliteral"> runcycles = str2num(overviewtable[p][%runCycleCount])</span></div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160;<span class="stringliteral"> else</span></div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160;<span class="stringliteral"> runcycles = runcycle</span></div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160;<span class="stringliteral"> endif</span></div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160;<span class="stringliteral"> if (scancycle &gt; 0)</span></div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160;<span class="stringliteral"> scancycles = str2num(overviewtable[p][%scanCycleCount])</span></div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160;<span class="stringliteral"> else</span></div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160;<span class="stringliteral"> scancycles = scancycle</span></div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160;<span class="stringliteral"> endif</span></div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160;<span class="stringliteral"> if (strlen(channel) &gt; 0)</span></div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160;<span class="stringliteral"> channels = overviewTable[p][%channelName]</span></div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160;<span class="stringliteral"> else</span></div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160;<span class="stringliteral"> channels = channel</span></div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;<span class="stringliteral"> endif</span></div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160;<span class="stringliteral"> Extract /FREE ids, match_ids, (scancycles == scanCycle) &amp;&amp; (runcycles == runCycle) &amp;&amp; (cmpstr(channels, channel) == 0)</span></div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160;<span class="stringliteral"> if (numpnts(match_ids) &gt; 0)</span></div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160;<span class="stringliteral"> id = match_ids[0]</span></div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160;<span class="stringliteral"> else</span></div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160;<span class="stringliteral"> link += 1</span></div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160;<span class="stringliteral"> endif</span></div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160;<span class="stringliteral"> while (id &lt; 0)</span></div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160;<span class="stringliteral">#endif</span></div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160;<span class="stringliteral"> return id</span></div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160;<span class="stringliteral">end</span></div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00545"></a><span class="lineno"><a class="line" href="pearl-matrix-import_8ipf.html#a59e72c849f4314aaa8339fd899665d85"> 545</a></span>&#160;<span class="stringliteral">function mtrx_open_file(pathName, fileNameOrPath)</span></div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160;<span class="stringliteral"> string pathName</span></div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160;<span class="stringliteral"> string fileNameOrPath</span></div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160;<span class="stringliteral"> check_package_folder()</span></div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160;<span class="stringliteral"> dfref df_save = GetDataFolderDFR()</span></div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160;<span class="stringliteral"> dfref df_pack = $(package_path)</span></div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160;<span class="stringliteral"> svar /sdfr=df_pack dataFilePath</span></div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160;<span class="stringliteral"> svar /sdfr=df_pack resultFilePath</span></div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160;<span class="stringliteral"> nvar /sdfr=df_pack runCycle</span></div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160;<span class="stringliteral"> nvar /sdfr=df_pack scanCycle</span></div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160;<span class="stringliteral"> svar /sdfr=df_pack channelName</span></div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160;<span class="stringliteral"> nvar /sdfr=df_pack brickletID</span></div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160;<span class="stringliteral"> string loc_resultFileName</span></div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160;<span class="stringliteral"> string loc_resultFilePath</span></div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160;<span class="stringliteral"> variable loc_runCycle</span></div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160;<span class="stringliteral"> variable loc_scanCycle</span></div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160;<span class="stringliteral"> string loc_channelName</span></div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160;<span class="stringliteral"> // make sure we have a valid and complete file path</span></div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160;<span class="stringliteral"> GetFileFolderInfo /P=$pathName /Q /Z=2 fileNameOrPath</span></div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160;<span class="stringliteral"> string filePath</span></div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160;<span class="stringliteral"> if ((v_flag == 0) &amp;&amp; (v_isFile))</span></div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160;<span class="stringliteral"> filePath = s_path</span></div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160;<span class="stringliteral"> else</span></div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160;<span class="stringliteral"> return -1</span></div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160;<span class="stringliteral"> endif</span></div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160;<span class="stringliteral"> // get base file name</span></div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160;<span class="stringliteral"> string fileName</span></div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160;<span class="stringliteral"> string fileDir</span></div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160;<span class="stringliteral"> string baseFileName</span></div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160;<span class="stringliteral"> variable fileType</span></div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160;<span class="stringliteral"> fileName = ParseFilePath(0, filePath, &quot;</span>:<span class="stringliteral">&quot;, 1, 0)</span></div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160;<span class="stringliteral"> fileDir = ParseFilePath(1, filePath, &quot;</span>:<span class="stringliteral">&quot;, 1, 0)</span></div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160;<span class="stringliteral"> fileType = mtrx_parse_filename(fileName, baseFileName, loc_runCycle, loc_scanCycle, loc_channelName)</span></div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160;<span class="stringliteral"> </span></div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160;<span class="stringliteral"> variable link = 1</span></div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160;<span class="stringliteral"> variable id = -1</span></div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160;<span class="stringliteral"> variable result = -1</span></div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160;<span class="stringliteral"> variable using_cache = 0</span></div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160;<span class="stringliteral"> </span></div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160;<span class="stringliteral"> struct errorCode errorCode</span></div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160;<span class="stringliteral"> initStruct(errorCode)</span></div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160;<span class="stringliteral"> do</span></div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160;<span class="stringliteral"> sprintf loc_resultFileName, &quot;</span>%s_%04u.mtrx<span class="stringliteral">&quot;, baseFileName, link</span></div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160;<span class="stringliteral"> loc_resultFilePath = fileDir + loc_resultFileName</span></div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160;<span class="stringliteral">#if exists(&quot;</span>MFR_OpenResultFile<span class="stringliteral">&quot;)</span></div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160;<span class="stringliteral"> if ((strlen(resultFilePath) == 0) || (cmpstr(loc_resultFilePath, resultFilePath) != 0))</span></div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160;<span class="stringliteral"> MFR_OpenResultFile /K loc_resultFilePath</span></div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160;<span class="stringliteral"> if(V_flag != errorCode.SUCCESS)</span></div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160;<span class="stringliteral"> MFR_GetXOPErrorMessage</span></div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160;<span class="stringliteral"> result = -1</span></div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160;<span class="stringliteral"> break</span></div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160;<span class="stringliteral"> endif</span></div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160;<span class="stringliteral"> resultFilePath = loc_resultFilePath</span></div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160;<span class="stringliteral"> if (fileType == 1)</span></div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160;<span class="stringliteral"> dataFilePath = filePath</span></div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160;<span class="stringliteral"> else</span></div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160;<span class="stringliteral"> dataFilePath = &quot;</span><span class="stringliteral">&quot;</span></div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160;<span class="stringliteral"> endif</span></div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160;<span class="stringliteral"> runCycle = 0</span></div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160;<span class="stringliteral"> scanCycle = 0</span></div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160;<span class="stringliteral"> channelName = &quot;</span><span class="stringliteral">&quot;</span></div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160;<span class="stringliteral"> brickletID = 0</span></div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160;<span class="stringliteral"> MFR_CreateOverviewTable /DEST=df_pack</span></div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160;<span class="stringliteral"> if(V_flag != errorCode.SUCCESS)</span></div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160;<span class="stringliteral"> MFR_GetXOPErrorMessage</span></div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160;<span class="stringliteral"> result = -1</span></div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160;<span class="stringliteral"> break</span></div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160;<span class="stringliteral"> endif</span></div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160;<span class="stringliteral"> using_cache = 0</span></div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160;<span class="stringliteral"> else</span></div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160;<span class="stringliteral"> using_cache = 1</span></div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160;<span class="stringliteral"> endif</span></div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160;<span class="stringliteral">#else</span></div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160;<span class="stringliteral"> print &quot;</span>matrixfilereader.xop not installed<span class="stringliteral">&quot;</span></div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160;<span class="stringliteral"> result = -2</span></div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160;<span class="stringliteral"> break</span></div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160;<span class="stringliteral">#endif</span></div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160;<span class="stringliteral"> // dimension labels are: brickletID, scanCycleCount, runCycleCount, sequenceID, dimension, channelName</span></div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160;<span class="stringliteral"> wave /t /sdfr=df_pack overviewTable</span></div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160;<span class="stringliteral"> make /n=(dimsize(overviewTable, 0)) /i /u /o df_pack:runCycles, df_pack:scanCycles, df_pack:ids</span></div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160;<span class="stringliteral"> make /n=(dimsize(overviewTable, 0)) /t /o df_pack:channels</span></div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160;<span class="stringliteral"> wave /sdfr=df_pack ids, runCycles, scanCycles</span></div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160;<span class="stringliteral"> wave /t /sdfr=df_pack channels</span></div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160;<span class="stringliteral"> ids = str2num(overviewtable[p][%brickletID])</span></div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160;<span class="stringliteral"> runCycles = str2num(overviewtable[p][%runCycleCount])</span></div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160;<span class="stringliteral"> scanCycles = str2num(overviewtable[p][%scanCycleCount])</span></div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160;<span class="stringliteral"> channels = overviewTable[p][%channelName]</span></div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160;<span class="stringliteral"> result = fileType</span></div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160;<span class="stringliteral"> // if a data file is opened, make sure we found the right result file</span></div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160;<span class="stringliteral"> if ((loc_runCycle &gt; 0) &amp;&amp; (loc_scanCycle &gt; 0))</span></div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160;<span class="stringliteral"> Extract /FREE ids, match_ids, (runCycles == loc_runCycle) &amp;&amp; (scanCycles == loc_scanCycle) &amp;&amp; (cmpstr(channels, loc_channelName) == 0)</span></div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160;<span class="stringliteral"> if (numpnts(match_ids) &gt; 0)</span></div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160;<span class="stringliteral"> id = match_ids[0]</span></div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160;<span class="stringliteral"> runCycle = loc_runCycle</span></div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160;<span class="stringliteral"> scanCycle = loc_scanCycle</span></div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160;<span class="stringliteral"> channelName = loc_channelName</span></div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160;<span class="stringliteral"> brickletID = id</span></div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160;<span class="stringliteral"> break</span></div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160;<span class="stringliteral"> elseif (using_cache)</span></div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160;<span class="stringliteral"> resultFilePath = &quot;</span><span class="stringliteral">&quot;</span></div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160;<span class="stringliteral"> else</span></div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160;<span class="stringliteral"> link += 1</span></div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160;<span class="stringliteral"> endif</span></div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160;<span class="stringliteral"> else</span></div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160;<span class="stringliteral"> break</span></div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160;<span class="stringliteral"> endif</span></div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160;<span class="stringliteral"> while (id &lt; 0)</span></div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160;<span class="stringliteral"> </span></div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160;<span class="stringliteral"> return result</span></div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160;<span class="stringliteral">end</span></div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00682"></a><span class="lineno"><a class="line" href="pearl-matrix-import_8ipf.html#abd09594d22038853e1e8021e0f36363d"> 682</a></span>&#160;<span class="stringliteral">function /s mtrx_load_preview(destName, pathName, fileName, [traces])</span></div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160;<span class="stringliteral"> string destName</span></div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160;<span class="stringliteral"> string pathName</span></div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160;<span class="stringliteral"> string fileName</span></div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160;<span class="stringliteral"> string traces</span></div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160;<span class="stringliteral"> </span></div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160;<span class="stringliteral"> if (ParamIsDefault(traces))</span></div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160;<span class="stringliteral"> traces = &quot;</span>*Up;*Down;*ReUp;*ReDown;<span class="stringliteral">&quot;</span></div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160;<span class="stringliteral"> endif</span></div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160;<span class="stringliteral"> </span></div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160;<span class="stringliteral"> dfref df_save = GetDataFolderDFR()</span></div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160;<span class="stringliteral"> string datanames = &quot;</span><span class="stringliteral">&quot;</span></div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160;<span class="stringliteral"> string datapaths = &quot;</span><span class="stringliteral">&quot;</span></div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160;<span class="stringliteral"> variable filestatus = mtrx_open_file(pathName, fileName)</span></div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160;<span class="stringliteral"> if (filestatus != 1)</span></div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160;<span class="stringliteral"> return &quot;</span><span class="stringliteral">&quot;</span></div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160;<span class="stringliteral"> endif</span></div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160;<span class="stringliteral"> dfref df_pack = $(package_path)</span></div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160;<span class="stringliteral"> svar /sdfr=df_pack dataFilePath</span></div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160;<span class="stringliteral"> svar /sdfr=df_pack resultFilePath</span></div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160;<span class="stringliteral"> nvar /sdfr=df_pack runCycle</span></div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160;<span class="stringliteral"> nvar /sdfr=df_pack scanCycle</span></div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160;<span class="stringliteral"> svar /sdfr=df_pack channelName</span></div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160;<span class="stringliteral"> nvar /sdfr=df_pack brickletID</span></div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160;<span class="stringliteral">#if exists(&quot;</span>MFR_OpenResultFile<span class="stringliteral">&quot;)</span></div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160;<span class="stringliteral"> dfref df_data = df_save</span></div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160;<span class="stringliteral"> variable /g df_data:V_MatrixFileReaderOverwrite = 1</span></div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160;<span class="stringliteral"> variable /g df_data:V_MatrixFileReaderFolder = 0</span></div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160;<span class="stringliteral"> variable /g df_data:V_MatrixFileReaderDouble = 0</span></div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160;<span class="stringliteral"> struct errorCode errorCode</span></div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160;<span class="stringliteral"> initStruct(errorCode)</span></div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160;<span class="stringliteral"> MFR_GetBrickletData /N=destName /R=(brickletID) /S=2 /DEST=df_data</span></div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160;<span class="stringliteral"> if(V_flag == errorCode.SUCCESS)</span></div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160;<span class="stringliteral"> datanames = S_waveNames</span></div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160;<span class="stringliteral"> variable i</span></div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160;<span class="stringliteral"> variable n = ItemsInList(datanames)</span></div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160;<span class="stringliteral"> string s</span></div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160;<span class="stringliteral"> s = StringFromList(0, datanames)</span></div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160;<span class="stringliteral"> wave data = $s</span></div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160;<span class="stringliteral"> mtrx_scale_dataset(data)</span></div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160;<span class="stringliteral"> if (WaveDims(data) == 2)</span></div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160;<span class="stringliteral"> subtract_line_bg(data)</span></div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160;<span class="stringliteral"> endif</span></div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160;<span class="stringliteral"> datapaths = AddListItem(GetWavesDataFolder(data, 4), datapaths, &quot;</span>;<span class="stringliteral">&quot;, inf)</span></div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160;<span class="stringliteral"> for (i = 1; i &lt; n; i += 1)</span></div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160;<span class="stringliteral"> s = StringFromList(i, datanames)</span></div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160;<span class="stringliteral"> killwaves /z $s</span></div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160;<span class="stringliteral"> endfor</span></div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160;<span class="stringliteral"> else</span></div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160;<span class="stringliteral"> MFR_GetXOPErrorMessage</span></div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160;<span class="stringliteral"> endif</span></div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160;<span class="stringliteral"> //MFR_GetBrickletMetaData /N=ANickName /R=(brickletID) // /DEST=dfref</span></div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160;<span class="stringliteral">#else</span></div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160;<span class="stringliteral"> print &quot;</span>matrixfilereader.xop not installed<span class="stringliteral">&quot;</span></div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160;<span class="stringliteral">#endif</span></div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160;<span class="stringliteral"> </span></div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160;<span class="stringliteral"> setdatafolder df_save</span></div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160;<span class="stringliteral"> return datapaths</span></div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160;<span class="stringliteral">end</span></div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00767"></a><span class="lineno"><a class="line" href="pearl-matrix-import_8ipf.html#a6aeef317fd468c88c99a274338c70ae3"> 767</a></span>&#160;<span class="stringliteral">function /s mtrx_load_file(pathName, fileName, [traces])</span></div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160;<span class="stringliteral"> string pathName</span></div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160;<span class="stringliteral"> string fileName</span></div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160;<span class="stringliteral"> string traces</span></div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160;<span class="stringliteral"> </span></div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160;<span class="stringliteral"> if (ParamIsDefault(traces))</span></div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160;<span class="stringliteral"> traces = &quot;</span>*Up;*Down;*ReUp;*ReDown;<span class="stringliteral">&quot;</span></div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160;<span class="stringliteral"> endif</span></div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160;<span class="stringliteral"> </span></div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160;<span class="stringliteral"> dfref df_save = GetDataFolderDFR()</span></div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160;<span class="stringliteral"> string datanames = &quot;</span><span class="stringliteral">&quot;</span></div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160;<span class="stringliteral"> string datapaths = &quot;</span><span class="stringliteral">&quot;</span></div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160;<span class="stringliteral"> variable filestatus = mtrx_open_file(pathName, fileName)</span></div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160;<span class="stringliteral"> if (filestatus != 1)</span></div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160;<span class="stringliteral"> return &quot;</span><span class="stringliteral">&quot;</span></div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160;<span class="stringliteral"> endif</span></div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160;<span class="stringliteral"> dfref df_pack = $(package_path)</span></div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160;<span class="stringliteral"> svar /sdfr=df_pack dataFilePath</span></div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160;<span class="stringliteral"> svar /sdfr=df_pack resultFilePath</span></div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160;<span class="stringliteral"> nvar /sdfr=df_pack runCycle</span></div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160;<span class="stringliteral"> nvar /sdfr=df_pack scanCycle</span></div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160;<span class="stringliteral"> svar /sdfr=df_pack channelName</span></div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160;<span class="stringliteral"> nvar /sdfr=df_pack brickletID</span></div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160;<span class="stringliteral">#if exists(&quot;</span>MFR_OpenResultFile<span class="stringliteral">&quot;)</span></div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160;<span class="stringliteral"> string resultFileName = ParseFilePath(0, resultFilePath, &quot;</span>:<span class="stringliteral">&quot;, 1, 0)</span></div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160;<span class="stringliteral"> dfref df_result = mtrx_create_folder(resultFileName, df_base=df_save)</span></div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160;<span class="stringliteral"> dfref df_data = mtrx_get_cycle_folder(df_base = df_result)</span></div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160;<span class="stringliteral"> variable /g df_data:V_MatrixFileReaderOverwrite = 1</span></div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160;<span class="stringliteral"> variable /g df_data:V_MatrixFileReaderFolder = 0</span></div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160;<span class="stringliteral"> variable /g df_data:V_MatrixFileReaderDouble = 0</span></div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160;<span class="stringliteral"> </span></div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160;<span class="stringliteral"> struct errorCode errorCode</span></div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160;<span class="stringliteral"> initStruct(errorCode)</span></div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160;<span class="stringliteral"> string name</span></div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160;<span class="stringliteral"> name = CleanupName(channelName, 0)</span></div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160;<span class="stringliteral"> MFR_GetBrickletData /N=name /R=(brickletID) /DEST=df_data</span></div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160;<span class="stringliteral"> if(V_flag == errorCode.SUCCESS)</span></div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160;<span class="stringliteral"> datanames = S_waveNames</span></div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160;<span class="stringliteral"> variable i</span></div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160;<span class="stringliteral"> variable n = ItemsInList(datanames)</span></div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160;<span class="stringliteral"> string s</span></div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160;<span class="stringliteral"> for (i = 0; i &lt; n; i += 1)</span></div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160;<span class="stringliteral"> s = StringFromList(i, datanames)</span></div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160;<span class="stringliteral"> wave /sdfr=df_data data = $s</span></div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160;<span class="stringliteral"> mtrx_scale_dataset(data)</span></div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160;<span class="stringliteral"> datapaths = AddListItem(GetWavesDataFolder(data, 4), datapaths, &quot;</span>;<span class="stringliteral">&quot;, inf)</span></div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160;<span class="stringliteral"> endfor</span></div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160;<span class="stringliteral"> else</span></div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160;<span class="stringliteral"> MFR_GetXOPErrorMessage</span></div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160;<span class="stringliteral"> endif</span></div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160;<span class="stringliteral"> //MFR_GetBrickletMetaData /N=ANickName /R=(brickletID) // /DEST=dfref</span></div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160;<span class="stringliteral">#else</span></div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160;<span class="stringliteral"> print &quot;</span>matrixfilereader.xop not installed<span class="stringliteral">&quot;</span></div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160;<span class="stringliteral">#endif</span></div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160;<span class="stringliteral"> </span></div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160;<span class="stringliteral"> setdatafolder df_save</span></div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160;<span class="stringliteral"> return datapaths</span></div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160;<span class="stringliteral">end</span></div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00829"></a><span class="lineno"><a class="line" href="pearl-matrix-import_8ipf.html#ad8532f1473f92539fe88217d5d6e3368"> 829</a></span>&#160;<span class="stringliteral">function mtrx_scale_dataset(data)</span></div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160;<span class="stringliteral"> wave data</span></div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160;<span class="stringliteral"> dfref df_pack = $(package_path)</span></div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160;<span class="stringliteral"> nvar /sdfr=df_pack runCycle</span></div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160;<span class="stringliteral"> nvar /sdfr=df_pack scanCycle</span></div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160;<span class="stringliteral"> svar /sdfr=df_pack channelName</span></div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160;<span class="stringliteral"> nvar /sdfr=df_pack brickletID</span></div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160;<span class="stringliteral"> string scanDir = StringFromList(2, NameOfWave(data), &quot;</span>_<span class="stringliteral">&quot;)</span></div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160;<span class="stringliteral"> if (WaveDims(data) == 2)</span></div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160;<span class="stringliteral"> Note data, &quot;</span>AxisLabelX=X<span class="stringliteral">&quot;</span></div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160;<span class="stringliteral"> Note data, &quot;</span>AxisLabelY=Y<span class="stringliteral">&quot;</span></div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160;<span class="stringliteral"> endif</span></div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160;<span class="stringliteral"> Note data, &quot;</span>AxisLabelD=<span class="stringliteral">&quot; + channelName</span></div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160;<span class="stringliteral"> string title</span></div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160;<span class="stringliteral"> sprintf title, &quot;</span>%u-%u %s %s<span class="stringliteral">&quot;, runCycle, scanCycle, channelName, scanDir</span></div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160;<span class="stringliteral"> Note data, &quot;</span>Dataset=<span class="stringliteral">&quot; + title</span></div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160;<span class="stringliteral">end</span></div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00863"></a><span class="lineno"><a class="line" href="pearl-matrix-import_8ipf.html#a3a0ba4a7ad64739303b705d92be53267"> 863</a></span>&#160;<span class="stringliteral">function /s mtrx_load_info(APathName, AFileName)</span></div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160;<span class="stringliteral"> string APathName</span></div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160;<span class="stringliteral"> string AFileName</span></div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160;<span class="stringliteral"> </span></div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160;<span class="stringliteral"> dfref saveDF = GetDataFolderDFR()</span></div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160;<span class="stringliteral"> dfref fileDF = NewFreeDataFolder()</span></div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160;<span class="stringliteral"> setdatafolder fileDF</span></div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160;<span class="stringliteral"> variable fileID</span></div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160;<span class="stringliteral"> string filepath</span></div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160;<span class="stringliteral"> string scanpaths</span></div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160;<span class="stringliteral"> variable nscans</span></div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160;<span class="stringliteral"> variable iscan</span></div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160;<span class="stringliteral"> string scanpath</span></div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160;<span class="stringliteral"> string info = &quot;</span><span class="stringliteral">&quot;</span></div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160;<span class="stringliteral"> </span></div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160;<span class="stringliteral"> </span></div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160;<span class="stringliteral"> setdatafolder saveDF</span></div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160;<span class="stringliteral"> return info</span></div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160;<span class="stringliteral">end</span></div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00886"></a><span class="lineno"><a class="line" href="pearl-matrix-import_8ipf.html#ab80101bc780dcbe94200e2446bce51d9"> 886</a></span>&#160;<span class="stringliteral">function subtract_line_bg(img)</span></div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160;<span class="stringliteral"> wave img</span></div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160;<span class="stringliteral"> </span></div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160;<span class="stringliteral"> variable nx = dimsize(img, 0)</span></div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160;<span class="stringliteral"> variable ny = dimsize(img, 1)</span></div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160;<span class="stringliteral"> variable iy</span></div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160;<span class="stringliteral"> make /n=(nx) /free line, fit</span></div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160;<span class="stringliteral"> for (iy = 0; iy &lt; ny; iy += 1)</span></div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160;<span class="stringliteral"> line = img[p][iy]</span></div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160;<span class="stringliteral"> if (numtype(sum(line)) == 0)</span></div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160;<span class="stringliteral"> CurveFit /N /Q /NTHR=0 line line /D=fit</span></div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160;<span class="stringliteral"> img[][iy] = line[p] - fit[p]</span></div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160;<span class="stringliteral"> endif</span></div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160;<span class="stringliteral"> endfor</span></div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160;<span class="stringliteral">end</span></div><div class="ttc" id="pearl-matrix-import_8ipf_html_a75bb92ef5f80843e66a7243bd958ef8b"><div class="ttname"><a href="pearl-matrix-import_8ipf.html#a75bb92ef5f80843e66a7243bd958ef8b">package_path</a></div><div class="ttdeci">static const string package_path</div><div class="ttdef"><b>Definition:</b> <a href="pearl-matrix-import_8ipf_source.html#l00038">pearl-matrix-import.ipf:38</a></div></div>
<div class="ttc" id="pearl-matrix-import_8ipf_html_a893405a122fdf70429f4f75b8877ed7d"><div class="ttname"><a href="pearl-matrix-import_8ipf.html#a893405a122fdf70429f4f75b8877ed7d">mtrx_create_folder</a></div><div class="ttdeci">dfr mtrx_create_folder(string fileName, dfref df_base=defaultValue)</div><div class="ttdoc">create or look up a data folder based on a matrix file name. </div><div class="ttdef"><b>Definition:</b> <a href="pearl-matrix-import_8ipf_source.html#l00360">pearl-matrix-import.ipf:360</a></div></div>
<div class="ttc" id="pearl-matrix-import_8ipf_html_ad74d5afa71179728a9237d1ec5884482"><div class="ttname"><a href="pearl-matrix-import_8ipf.html#ad74d5afa71179728a9237d1ec5884482">mtrx_file_brickletID</a></div><div class="ttdeci">variable mtrx_file_brickletID(string resultFile, variable runCycle, variable scanCycle, string channel)</div><div class="ttdoc">find out bricklet ID of a file </div><div class="ttdef"><b>Definition:</b> <a href="pearl-matrix-import_8ipf_source.html#l00461">pearl-matrix-import.ipf:461</a></div></div>
<div class="ttc" id="pearl-matrix-import_8ipf_html_af0eaec901e06ce59250eb434539a0f6c"><div class="ttname"><a href="pearl-matrix-import_8ipf.html#af0eaec901e06ce59250eb434539a0f6c">initStruct</a></div><div class="ttdeci">static variable initStruct(errorCode *errorCode)</div><div class="ttdoc">from matrixfilereader help </div><div class="ttdef"><b>Definition:</b> <a href="pearl-matrix-import_8ipf_source.html#l00212">pearl-matrix-import.ipf:212</a></div></div>
<div class="ttc" id="pearl-matrix-import_8ipf_html_a0dc1efa23739e10b7558543b166e95b9"><div class="ttname"><a href="pearl-matrix-import_8ipf.html#a0dc1efa23739e10b7558543b166e95b9">mtrx_split_filename</a></div><div class="ttdeci">string mtrx_split_filename(string fileName, string *prefix, string *datepart, string *timepart)</div><div class="ttdoc">split a matrix filename and return the first three parts </div><div class="ttdef"><b>Definition:</b> <a href="pearl-matrix-import_8ipf_source.html#l00332">pearl-matrix-import.ipf:332</a></div></div>
<div class="ttc" id="pearl-matrix-import_8ipf_html_a856478705a78e8105ea5d91a2228975b"><div class="ttname"><a href="pearl-matrix-import_8ipf.html#a856478705a78e8105ea5d91a2228975b">matrix_preview_2d</a></div><div class="ttdeci">variable matrix_preview_2d(wave data, wave metadata)</div><div class="ttdef"><b>Definition:</b> <a href="pearl-matrix-import_8ipf_source.html#l00145">pearl-matrix-import.ipf:145</a></div></div>
<div class="ttc" id="pearl-matrix-import_8ipf_html_a8acd2b03343ef9bdfecaa75e831392d1"><div class="ttname"><a href="pearl-matrix-import_8ipf.html#a8acd2b03343ef9bdfecaa75e831392d1">preview_matrix_file</a></div><div class="ttdeci">static wave preview_matrix_file(string filename)</div><div class="ttdoc">load the preview of a Matrix data file </div><div class="ttdef"><b>Definition:</b> <a href="pearl-matrix-import_8ipf_source.html#l00170">pearl-matrix-import.ipf:170</a></div></div>
<div class="ttc" id="pearl-matrix-import_8ipf_html_a3a0ba4a7ad64739303b705d92be53267"><div class="ttname"><a href="pearl-matrix-import_8ipf.html#a3a0ba4a7ad64739303b705d92be53267">mtrx_load_info</a></div><div class="ttdeci">string mtrx_load_info(string APathName, string AFileName)</div><div class="ttdoc">load descriptive info from a Matrix data file. </div><div class="ttdef"><b>Definition:</b> <a href="pearl-matrix-import_8ipf_source.html#l00863">pearl-matrix-import.ipf:863</a></div></div>
<div class="ttc" id="pearl-matrix-import_8ipf_html_a81b1d81261a32d0ed4cf79b81487f1b4"><div class="ttname"><a href="pearl-matrix-import_8ipf.html#a81b1d81261a32d0ed4cf79b81487f1b4">matrix_format_elog_message</a></div><div class="ttdeci">string matrix_format_elog_message(wave metadata)</div><div class="ttdoc">generate elog message from bricklet metadata </div><div class="ttdef"><b>Definition:</b> <a href="pearl-matrix-import_8ipf_source.html#l00120">pearl-matrix-import.ipf:120</a></div></div>
<div class="ttc" id="structerror_code_html"><div class="ttname"><a href="structerror_code.html">errorCode</a></div><div class="ttdoc">from matrixfilereader help </div><div class="ttdef"><b>Definition:</b> <a href="pearl-matrix-import_8ipf_source.html#l00197">pearl-matrix-import.ipf:197</a></div></div>
<div class="ttc" id="pearl-matrix-import_8ipf_html_a6ac0c685976b0e0c1944fb616a4f3a3c"><div class="ttname"><a href="pearl-matrix-import_8ipf.html#a6ac0c685976b0e0c1944fb616a4f3a3c">mtrx_load_all</a></div><div class="ttdeci">variable mtrx_load_all()</div><div class="ttdoc">load all data from a Matrix data file. </div><div class="ttdef"><b>Definition:</b> <a href="pearl-matrix-import_8ipf_source.html#l00231">pearl-matrix-import.ipf:231</a></div></div>
<div class="ttc" id="structerror_code_html_a36a53ca508600b841a54cfd3a3fd5402"><div class="ttname"><a href="structerror_code.html#a36a53ca508600b841a54cfd3a3fd5402">errorCode::SUCCESS</a></div><div class="ttdeci">int32 SUCCESS</div><div class="ttdef"><b>Definition:</b> <a href="pearl-matrix-import_8ipf_source.html#l00197">pearl-matrix-import.ipf:197</a></div></div>
<div class="ttc" id="pearl-matrix-import_8ipf_html_ad720655ff881ddecae2e1b8afed58fa0"><div class="ttname"><a href="pearl-matrix-import_8ipf.html#ad720655ff881ddecae2e1b8afed58fa0">ks_filematch_mtrx</a></div><div class="ttdeci">static const string ks_filematch_mtrx</div><div class="ttdef"><b>Definition:</b> <a href="pearl-matrix-import_8ipf_source.html#l00040">pearl-matrix-import.ipf:40</a></div></div>
<div class="ttc" id="pearl-matrix-import_8ipf_html_a3f524f5190341d2accc8cb8c3ed2ceb5"><div class="ttname"><a href="pearl-matrix-import_8ipf.html#a3f524f5190341d2accc8cb8c3ed2ceb5">AfterFileOpenHook</a></div><div class="ttdeci">static variable AfterFileOpenHook(variable refNum, string file, string pathName, string type, string creator, variable kind)</div><div class="ttdoc">initialize the package and reload preferences after an experiment is loaded. </div><div class="ttdef"><b>Definition:</b> <a href="pearl-matrix-import_8ipf_source.html#l00085">pearl-matrix-import.ipf:85</a></div></div>
<div class="ttc" id="pearl-matrix-import_8ipf_html_a1a46b042e41daffee61706ab2cf54351"><div class="ttname"><a href="pearl-matrix-import_8ipf.html#a1a46b042e41daffee61706ab2cf54351">mtrx_get_cycle_folder</a></div><div class="ttdeci">dfr mtrx_get_cycle_folder(dfref df_base=defaultValue, variable runCycle=defaultValue, variable scanCycle=defaultValue)</div><div class="ttdoc">create a data folder for bricklet data. </div><div class="ttdef"><b>Definition:</b> <a href="pearl-matrix-import_8ipf_source.html#l00405">pearl-matrix-import.ipf:405</a></div></div>
<div class="ttc" id="pearl-matrix-import_8ipf_html_a45e930b8eadd7cf6a5f664befd87d725"><div class="ttname"><a href="pearl-matrix-import_8ipf.html#a45e930b8eadd7cf6a5f664befd87d725">init_package</a></div><div class="ttdeci">static variable init_package()</div><div class="ttdoc">initialize the package data folder. </div><div class="ttdef"><b>Definition:</b> <a href="pearl-matrix-import_8ipf_source.html#l00045">pearl-matrix-import.ipf:45</a></div></div>
<div class="ttc" id="pearl-matrix-import_8ipf_html_a4bfeaf81ac483df0a38b26b6a8cf74a6"><div class="ttname"><a href="pearl-matrix-import_8ipf.html#a4bfeaf81ac483df0a38b26b6a8cf74a6">mtrx_parse_filename</a></div><div class="ttdeci">variable mtrx_parse_filename(string fileName, string *resultFile, variable *runCycle, variable *scanCycle, string *channel)</div><div class="ttdoc">parse matrix file names </div><div class="ttdef"><b>Definition:</b> <a href="pearl-matrix-import_8ipf_source.html#l00294">pearl-matrix-import.ipf:294</a></div></div>
<div class="ttc" id="pearl-matrix-import_8ipf_html_abd09594d22038853e1e8021e0f36363d"><div class="ttname"><a href="pearl-matrix-import_8ipf.html#abd09594d22038853e1e8021e0f36363d">mtrx_load_preview</a></div><div class="ttdeci">string mtrx_load_preview(string destName, string pathName, string fileName, string traces=defaultValue)</div><div class="ttdoc">load a preview image from a Matrix data file. </div><div class="ttdef"><b>Definition:</b> <a href="pearl-matrix-import_8ipf_source.html#l00682">pearl-matrix-import.ipf:682</a></div></div>
<div class="ttc" id="pearl-matrix-import_8ipf_html_ae2cfa1ac6651cfc3fb0dfce03494995b"><div class="ttname"><a href="pearl-matrix-import_8ipf.html#ae2cfa1ac6651cfc3fb0dfce03494995b">BeforeFileOpenHook</a></div><div class="ttdeci">static variable BeforeFileOpenHook(variable refNum, string fileName, string path, string type, string creator, variable kind)</div><div class="ttdoc">open a matrix file that was dropped into Igor. </div><div class="ttdef"><b>Definition:</b> <a href="pearl-matrix-import_8ipf_source.html#l00102">pearl-matrix-import.ipf:102</a></div></div>
<div class="ttc" id="pearl-matrix-import_8ipf_html_aca457d1f4414d20a911254b1de13ebbb"><div class="ttname"><a href="pearl-matrix-import_8ipf.html#aca457d1f4414d20a911254b1de13ebbb">package_name</a></div><div class="ttdeci">static const string package_name</div><div class="ttdef"><b>Definition:</b> <a href="pearl-matrix-import_8ipf_source.html#l00037">pearl-matrix-import.ipf:37</a></div></div>
<div class="ttc" id="pearl-matrix-import_8ipf_html_ac7790f06151821678a65ab0065a5323e"><div class="ttname"><a href="pearl-matrix-import_8ipf.html#ac7790f06151821678a65ab0065a5323e">check_package_folder</a></div><div class="ttdeci">static variable check_package_folder()</div><div class="ttdoc">check that the package data folder exists </div><div class="ttdef"><b>Definition:</b> <a href="pearl-matrix-import_8ipf_source.html#l00072">pearl-matrix-import.ipf:72</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_fe5dc42579d4b99403482a3a637d9f7d.html">pearl</a></li><li class="navelem"><a class="el" href="pearl-matrix-import_8ipf.html">pearl-matrix-import.ipf</a></li>
<li class="footer">Generated on Wed Aug 14 2019 17:52:59 for PEARL Procedures by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>