⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 convert_mri2brainstorm.html

📁 mri_toolbox是一个工具用来MRI. 来自于SourceForge, 我上传这个软件,希望能结识对医疗软件感兴趣的兄弟.
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"                "http://www.w3.org/TR/REC-html40/loose.dtd"><html><head>  <title>Description of convert_mri2brainstorm</title>  <meta name="keywords" content="convert_mri2brainstorm">  <meta name="description" content="Script to convert freesurfer analyze files into brainstorm format">  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">  <meta name="generator" content="m2html &copy; 2003 Guillaume Flandin">  <meta name="robots" content="index, follow">  <link type="text/css" rel="stylesheet" href="../m2html.css"></head><body><a name="_top"></a><div><a href="../index.html">Home</a> &gt;  <a href="index.html">mri_toolbox</a> &gt; convert_mri2brainstorm.m</div><!--<table width="100%"><tr><td align="left"><a href="../index.html"><img alt="<" border="0" src="../left.png">&nbsp;Master index</a></td><td align="right"><a href="index.html">Index for mri_toolbox&nbsp;<img alt=">" border="0" src="../right.png"></a></td></tr></table>--><h1>convert_mri2brainstorm</h1><h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="box"><strong>Script to convert freesurfer analyze files into brainstorm format</strong></div><h2><a name="_synopsis"></a>SYNOPSIS <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="box"><strong>This is a script file. </strong></div><h2><a name="_description"></a>DESCRIPTION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="fragment"><pre class="comment"> Script to convert freesurfer analyze files into brainstorm format
 The Freesurfer analyze files were created using 
 mri_convert -oid 1 0 0 -ojd 0 1 0 -okd 0 0 1 orig subject_orig_axial_ras.img
 to create an axial volume in with neurological orientation,
 ie, +x is Right, +y is Anterior, +z is Superior (RAS).</pre></div><!-- crossreference --><h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>This function calls:<ul style="list-style-image:url(../matlabicon.gif)"><li><a href="avw2brainstorm.html" class="code" title="function avw2brainstorm(avw,Segment,Scalp,PCS,Comment)">avw2brainstorm</a>	avw2brainstorm - Convert Analyze struct into BrainStorm file</li><li><a href="mri_open.html" class="code" title="function [mri] = mri_open(mri)">mri_open</a>	mri_open - function to call various mri data tools</li></ul>This function is called by:<ul style="list-style-image:url(../matlabicon.gif)"></ul><!-- crossreference --><h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="fragment"><pre>0001 0002 <span class="comment">% Script to convert freesurfer analyze files into brainstorm format</span>0003 <span class="comment">% The Freesurfer analyze files were created using</span>0004 <span class="comment">% mri_convert -oid 1 0 0 -ojd 0 1 0 -okd 0 0 1 orig subject_orig_axial_ras.img</span>0005 <span class="comment">% to create an axial volume in with neurological orientation,</span>0006 <span class="comment">% ie, +x is Right, +y is Anterior, +z is Superior (RAS).</span>0007 0008 clear all0009 0010 coregister = 0;0011 elecplot = 0;0012 0013 0014 <span class="comment">% Fiducial points in RAS volume, obtained using avw_view (in meters)</span>0015 <span class="comment">%</span>0016 <span class="comment">%                  Nasion                 Right                Left</span>0017 <span class="comment">%</span>0018 mriFID.sub{ 1} = <span class="string">'c01'</span>;0019 mriFID.xyz{ 1} = [  0.005  0.097 -0.022;  0.071  0.023 -0.052; -0.072  0.016 -0.050 ];0020 mriFID.sub{ 2} = <span class="string">'c02'</span>;0021 mriFID.xyz{ 2} = [  0.007  0.088 -0.007;  0.081  0.015 -0.046; -0.070  0.012 -0.051 ];0022 mriFID.sub{ 3} = <span class="string">'c03'</span>;0023 mriFID.xyz{ 3} = [ -0.002  0.098 -0.008;  0.055  0.040 -0.038; -0.095  0.030 -0.046 ];0024 mriFID.sub{ 4} = <span class="string">'c04'</span>;0025 mriFID.xyz{ 4} = [  0.000  0.092  0.000;  0.070  0.024 -0.036; -0.076  0.031 -0.036 ];0026 mriFID.sub{ 5} = <span class="string">'c05'</span>;0027 mriFID.xyz{ 5} = [  0.010  0.094 -0.010;  0.075  0.024 -0.048; -0.072  0.024 -0.052 ];0028 mriFID.sub{ 6} = <span class="string">'c06'</span>;0029 mriFID.xyz{ 6} = [ -0.002  0.088  0.000;  0.077  0.008 -0.048; -0.075 -0.008 -0.048 ];0030 mriFID.sub{ 7} = <span class="string">'c07'</span>;0031 mriFID.xyz{ 7} = [ -0.001  0.097 -0.018;  0.078  0.008 -0.055; -0.076  0.008 -0.055 ];0032 mriFID.sub{ 8} = <span class="string">'c08'</span>;0033 mriFID.xyz{ 8} = [  0.000  0.096 -0.019;  0.087  0.005 -0.039; -0.065  0.004 -0.038 ];0034 mriFID.sub{ 9} = <span class="string">'c09'</span>;0035 mriFID.xyz{ 9} = [  0.010  0.086 -0.020;  0.100 -0.020 -0.080; -0.060  0.020 -0.058 ];0036 mriFID.sub{10} = <span class="string">'c10'</span>;0037 mriFID.xyz{10} = [  0.000  0.091 -0.018;  0.076  0.011 -0.052; -0.068  0.006 -0.052 ];0038 0039 mriFID.sub{11} = <span class="string">'p02'</span>;0040 mriFID.xyz{11} = [  0.002  0.091  0.016;  0.080  0.025 -0.036; -0.080  0.015 -0.043 ];0041 mriFID.sub{12} = <span class="string">'p04'</span>;0042 mriFID.xyz{12} = [ -0.001  0.086 -0.009;  0.086  0.002 -0.062; -0.070  0.003 -0.065 ];0043 mriFID.sub{13} = <span class="string">'p05'</span>;0044 mriFID.xyz{13} = [ -0.002  0.094 -0.001;  0.068  0.025 -0.040; -0.071  0.005 -0.042 ];0045 mriFID.sub{14} = <span class="string">'p06'</span>;0046 mriFID.xyz{14} = [ -0.002  0.084  0.000;  0.082  0.013 -0.050; -0.066  0.013 -0.052 ];0047 mriFID.sub{15} = <span class="string">'p07'</span>;0048 mriFID.xyz{15} = [  0.001  0.092  0.015;  0.080  0.003 -0.033; -0.070  0.004 -0.032 ];0049 mriFID.sub{16} = <span class="string">'p08'</span>;0050 mriFID.xyz{16} = [ -0.003  0.095 -0.002;  0.070  0.018 -0.040; -0.074  0.022 -0.035 ];0051 mriFID.sub{17} = <span class="string">'p09'</span>;0052 mriFID.xyz{17} = [ -0.002  0.100  0.004;  0.100  0.002 -0.028; -0.050  0.000 -0.036 ];0053 0054 0055 0056 0057 0058 data = <span class="string">'d:\matlab\brainstorm_v1\subjects\'</span>;0059 0060 cd(data);0061 0062 <span class="comment">% Load data</span>0063 <span class="keyword">for</span> s = {<span class="string">'c01'</span>,<span class="string">'c02'</span>,<span class="string">'c03'</span>,<span class="string">'c04'</span>,<span class="string">'c05'</span>,<span class="string">'c06'</span>,<span class="string">'c07'</span>,<span class="string">'c08'</span>,<span class="string">'c09'</span>,<span class="string">'c10'</span>,<span class="keyword">...</span>0064                <span class="string">'p02'</span>,      <span class="string">'p04'</span>,<span class="string">'p05'</span>,<span class="string">'p06'</span>,<span class="string">'p07'</span>,<span class="string">'p08'</span>,<span class="string">'p09'</span>},0065     0066        sub = sprintf(<span class="string">'%s'</span>,char(s));0067        cd(sub)0068        0069        p = eeg_toolbox_defaults;0070        0071        <span class="comment">% Load the MRI volume (256^3, 1mm^3)</span>0072        p.mri.path = sprintf(<span class="string">'d:\\freesurfer\\subjects\\ptsdpet-%s\\mri\\analyze\\'</span>,char(sub));0073        p.mri.file = sprintf(<span class="string">'%s_orig_axial_ras.img'</span>,char(sub));0074        p.mri.plot = 0;0075        p = <a href="mri_open.html" class="code" title="function [mri] = mri_open(mri)">mri_open</a>(p);0076        0077        <span class="comment">% -- Create the Patient Coordinate System (PCS) struct</span>0078        0079        <span class="comment">% Get surface fiducials from mriFID struct above</span>0080        Nfid = strmatch(sub,mriFID.sub);0081        <span class="comment">% 3x4, nasion, right, left, origin fiducial points in rows</span>0082        <span class="comment">% Multiply the FID points by 1000 to get mm, rather than meters</span>0083        <span class="comment">% Also add the origin (128)</span>0084        p.mriFID = [mriFID.xyz{Nfid} .* 1000 + 128; 128 128 128]';0085        0086        PCS.R = eye(3);     <span class="comment">% [3x3 double] rotations</span>0087        PCS.t = zeros(3,1); <span class="comment">% [3x1 double] translations</span>0088        PCS.Comment = <span class="string">'NEUROMAG'</span>;0089        PCS.PCSFiducial(:,1)  = p.mriFID(:,1); <span class="comment">% NAS</span>0090        PCS.PCSFiducial(:,2)  = p.mriFID(:,3); <span class="comment">% LPA</span>0091        PCS.PCSFiducial(:,3)  = p.mriFID(:,2); <span class="comment">% RPA</span>0092        PCS.PCSFiducial(:,4)  = p.mriFID(:,4); <span class="comment">% Origin</span>0093        PCS.CubeFiducial      = PCS.PCSFiducial;0094        PCS.FiducialName = {<span class="string">'NAS'</span>  <span class="string">'LPA'</span>  <span class="string">'RPA'</span>  <span class="string">'Origin'</span>};0095        0096        <span class="comment">% Load the scalp mesh</span>0097        p.mesh.path = sprintf(<span class="string">'d:\\data_source\\%s\\meshes\\'</span>,char(sub));0098        p.mesh.file = sprintf(<span class="string">'%s_scalp.wfr'</span>,char(sub));0099        p.mesh.type = <span class="string">'emse'</span>;0100        p = mesh_open(p);0101        0102        Scalp = p.mesh.data.vertices{1}';0103        0104        <span class="comment">% The electrodes have already been coregistered and the transformed</span>0105        <span class="comment">% coordinates saved, otherwise this code might do the job</span>0106        0107        <span class="keyword">if</span> coregister,0108            0109            <span class="comment">% Get surface fiducials from mriFID struct above</span>0110            Nfid = strmatch(sub,mriFID.sub);0111            <span class="comment">% 3x3, nasion, right, left fiducial points in rows</span>0112            p.mriFID = mriFID.xyz{Nfid};0113            0114            <span class="comment">% Load the electrode data</span>0115            p.elec.path = sprintf(<span class="string">'d:\\data_source\\%s\\meshes\\'</span>,char(sub));0116            p.elec.file = sprintf(<span class="string">'%s_124fit.txt'</span>,char(sub));0117            p.elec.plot = 0;0118            p = elec_open(p);0119            0120            <span class="comment">% Get electrode fiducials</span>0121            Efid = [p.elec.data.nasion; p.elec.data.rpa; p.elec.data.lpa];0122            0123            <span class="comment">% Calculate coregistration transform</span>0124            T = elec_coregister(Efid,p.mriFID);0125            <span class="comment">% Create the PCS struct</span>0126            PCS.R = T([1:3;1:3]);0127            PCS.t = T(4,1:3);0128        <span class="keyword">end</span>0129        0130        <span class="keyword">if</span> elecplot,0131            patch(<span class="string">'vertices'</span>,p.mesh.data.vertices{1},<span class="string">'faces'</span>,p.mesh.data.faces{1},<span class="keyword">...</span>0132                <span class="string">'FaceColor'</span>,[1 0 0],<span class="string">'Edgecolor'</span>,<span class="string">'none'</span>,<span class="string">'FaceAlpha'</span>,.6);0133            lighting phong, material dull, camlight headlight, hold on0134            <span class="comment">% Load the electrode data</span>0135            p.elec.path = sprintf(<span class="string">'d:\\matlab\\brainstorm_v1\\studies\\%s\\'</span>,char(sub));0136            p.elec.file = sprintf(<span class="string">'%s_channel.mat'</span>,char(sub));0137            p.elec.type = <span class="string">'brainstorm'</span>;0138            p.elec.plot = 0;0139            p = elec_open(p);0140            plot3(p.elec.data.x,<span class="keyword">...</span>0141                  p.elec.data.y,<span class="keyword">...</span>0142                  p.elec.data.z,<span class="string">'bo'</span>)0143            daspect([1 1 1]); axis tight0144            mouse_rotate0145            <span class="keyword">return</span>0146        <span class="keyword">end</span>0147        0148        0149        <span class="comment">% Maybe use FSL FAST result here?</span>0150        Segment = [];0151        0152        p.mri.data.fileprefix = sprintf(<span class="string">'%s'</span>,char(sub));0153        <a href="avw2brainstorm.html" class="code" title="function avw2brainstorm(avw,Segment,Scalp,PCS,Comment)">avw2brainstorm</a>(p.mri.data,Segment,Scalp,PCS);0154        0155        cd ..0156        0157 <span class="keyword">end</span></pre></div><hr><address>Generated on Fri 21-May-2004 12:38:21 by <strong><a href="http://www.artefact.tk/software/matlab/m2html/">m2html</a></strong> &copy; 2003</address></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -