Files
igor-public/doc/html/pearl-matrix-import_8ipf_source.html
matthias muntwiler 70207096d5
Some checks failed
build and deploy documentation / build-and-deploy (push) Failing after 0s
documentation for 3.1.0
2025-12-22 17:29:05 +01:00

843 lines
112 KiB
HTML

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