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

📄 avw_view.html

📁 mri_toolbox是一个工具用来MRI. 来自于SourceForge, 我上传这个软件,希望能结识对医疗软件感兴趣的兄弟.
💻 HTML
📖 第 1 页 / 共 5 页
字号:
0519       <span class="keyword">else</span>0520         intensity_slice = sum(n,2);0521         intensity_volume = intensity_volume + intensity_slice;0522       <span class="keyword">end</span>0523     <span class="keyword">end</span>0524     figure(<span class="string">'name'</span>,<span class="string">'intensity histogram'</span>);0525     bar(bins,intensity_volume);0526     0527     0528     0529     0530     <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>0531     0532   <span class="keyword">case</span> <span class="string">'zoom'</span>0533     0534     x = AVWVIEW.slices.sag;0535     y = AVWVIEW.slices.cor;0536     z = AVWVIEW.slices.axi;0537     0538     <span class="keyword">switch</span> AVWVIEW.view,0539       <span class="keyword">case</span> <span class="string">'axi'</span>,0540         slice = rot90(AVWVIEW.avw.img(:,:,z));0541       <span class="keyword">case</span> <span class="string">'cor'</span>,0542         slice = rot90(squeeze(AVWVIEW.avw.img(:,y,:)));0543       <span class="keyword">case</span> <span class="string">'sag'</span>,0544         slice = rot90(squeeze(AVWVIEW.avw.img(x,:,:)));0545     <span class="keyword">end</span>0546     0547     figure;0548     imagesc(slice,AVWVIEW.clim); 0549     colormap(gray); axis off; zoom on;0550     daspect(AVWVIEW.daspect);0551     0552     0553     0554     0555     <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>0556     0557   <span class="keyword">case</span> <span class="string">'save_image'</span>,0558     0559     [filename, pathname] = uiputfile(<span class="keyword">...</span>0560       { <span class="string">'*.png'</span>,<span class="string">'PNG Files (*.png)'</span>; <span class="keyword">...</span>0561         <span class="string">'*.jpg'</span>,<span class="string">'JPG Files (*.jpg)'</span>; <span class="keyword">...</span>0562         <span class="string">'*.ppm;*.pgm;*.pbm'</span>,<span class="string">'Portable Anymap (*.ppm,*.pgm,*.pbm)'</span>; <span class="keyword">...</span>0563         <span class="string">'*.*'</span>,  <span class="string">'All Files (*.*)'</span>}, <span class="keyword">...</span>0564       <span class="string">'IMWrite to file'</span>);0565     0566     <span class="keyword">if</span> filename,0567       0568       x = AVWVIEW.slices.sag;0569       y = AVWVIEW.slices.cor;0570       z = AVWVIEW.slices.axi;0571       0572       pixelsPerMM = 1 ./ double(AVWVIEW.avw.hdr.dime.pixdim(2:4));0573       pixelsPerMeter = pixelsPerMM .* 1000;0574       0575       <span class="keyword">switch</span> AVWVIEW.view,0576         <span class="keyword">case</span> <span class="string">'axi'</span>,0577           slice = rot90(AVWVIEW.avw.img(:,:,z));0578           xresolution = pixelsPerMeter(1);0579           yresolution = pixelsPerMeter(2);0580         <span class="keyword">case</span> <span class="string">'cor'</span>,0581           slice = rot90(squeeze(AVWVIEW.avw.img(:,y,:)));0582           xresolution = pixelsPerMeter(1);0583           yresolution = pixelsPerMeter(3);0584         <span class="keyword">case</span> <span class="string">'sag'</span>,0585           slice = rot90(squeeze(AVWVIEW.avw.img(x,:,:)));0586           xresolution = pixelsPerMeter(2);0587           yresolution = pixelsPerMeter(3);0588       <span class="keyword">end</span>0589       0590       <span class="comment">% scale the image values to between 0-1 for imwrite</span>0591       <span class="comment">% (initially used max of slice, but actually want to</span>0592       <span class="comment">% use the scaled intensity from the gui).</span>0593       <span class="comment">%maxValue = max(max(slice));</span>0594       <span class="comment">%scaledSlice = slice ./ maxValue;</span>0595       scaledSlice = slice ./ AVWVIEW.clim(2);0596       0597       <span class="comment">% RGB = ind2rgb(X,map) converts the matrix X and corresponding</span>0598       <span class="comment">% colormap map to RGB (truecolor)</span>0599       0600       file = [pathname,filename];0601       fprintf(<span class="string">'saving to:...%s\n'</span>,file);0602       0603       <span class="comment">%Most of the supported image file formats store uint8 data.</span>0604       <span class="comment">%PNG and TIFF formats additionally support uint16 data. For</span>0605       <span class="comment">%grayscale and RGB images, if the data array is double, the</span>0606       <span class="comment">%assumed dynamic range is [0,1]. The data array is automatically</span>0607       <span class="comment">%scaled by 255 before being written as uint8. If the data array</span>0608       <span class="comment">%is uint8 or uint16, it is written without scaling as uint8 or</span>0609       <span class="comment">%uint16, respectively.</span>0610       0611       [pathname,filename,ext] = fileparts([pathname,filename]);0612       0613       <span class="keyword">switch</span> ext,0614       0615         <span class="keyword">case</span> <span class="string">'.png'</span>,0616           <span class="comment">%imwrite(uint8(image),colormap,file,format);</span>0617           <span class="comment">%imwrite(slice,colormap(gray),file,format,...</span>0618           0619           <span class="comment">%     'XResolution'  A scalar indicating the number of</span>0620           <span class="comment">%                    pixels/unit in the horizontal direction</span>0621           <span class="comment">%</span>0622           <span class="comment">%     'YResolution'  A scalar indicating the number of</span>0623           <span class="comment">%                    pixels/unit in the vertical direction</span>0624           <span class="comment">%</span>0625           <span class="comment">%     'ResolutionUnit' Either 'unknown' or 'meter'</span>0626           format = <span class="string">'png'</span>;0627           imwrite(scaledSlice,file,format,<span class="keyword">...</span>0628             <span class="string">'BitDepth'</span>,16,<span class="string">'ResolutionUnit'</span>,<span class="string">'meter'</span>,<span class="keyword">...</span>0629             <span class="string">'XResolution'</span>,xresolution,<span class="keyword">...</span>0630             <span class="string">'YResolution'</span>,yresolution);0631           0632         <span class="keyword">case</span> <span class="string">'.jpg'</span>,0633           format = <span class="string">'jpg'</span>;0634           imwrite(scaledSlice,file,format);0635         <span class="keyword">case</span> {<span class="string">'.ppm'</span>,<span class="string">'.pgm'</span>,<span class="string">'.pbm'</span>},0636           format = ext(2:end);0637           imwrite(scaledSlice,file,format);0638         <span class="keyword">otherwise</span>0639           fprintf(<span class="string">'...cannot write %s image files\n'</span>,ext);0640       <span class="keyword">end</span>0641     <span class="keyword">end</span>0642     0643     0644     0645     0646     0647   <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>0648     0649   <span class="keyword">case</span> <span class="string">'quit'</span>,0650     0651     flipStatus = get(AVWVIEW.handles.flipStatus,<span class="string">'string'</span>);0652     <span class="keyword">if</span> strmatch(flipStatus,<span class="string">'L&gt;&gt;R (neurological)'</span>),0653       fprintf(<span class="string">'...returning avw.img to radiological orientation;\n'</span>);0654       fprintf(<span class="string">'...use avw_flip to permanently change the orientation.\n'</span>);0655       AVWVIEW.avw.img = flipdim(AVWVIEW.avw.img,1);0656     <span class="keyword">end</span>;0657     0658     <span class="comment">% try to assign back into the input struct</span>0659     <span class="keyword">if</span> ~isempty(AVWVIEW.invarname),0660       fprintf(<span class="string">'...returning data to base workspace struct ''%s''\n'</span>,AVWVIEW.invarname);0661       assignin(<span class="string">'base'</span>,AVWVIEW.invarname,AVWVIEW.avw);0662     <span class="keyword">elseif</span> evalin(<span class="string">'base'</span>,<span class="string">'exist(''mri'',''var'')'</span>),0663       fprintf(<span class="string">'...returning data to base workspace struct ''mri''\n'</span>);0664       string = [<span class="string">'AVWVIEW = get('</span>, num2str(AVWVIEW.gui),<span class="keyword">...</span>0665           <span class="string">',''Userdata''); mri.data = AVWVIEW.avw; clear AVWVIEW;'</span>];0666       evalin(<span class="string">'base'</span>,string);0667     <span class="keyword">else</span>0668       fprintf(<span class="string">'...returning data into base workspace struct ''avw''\n'</span>);0669       assignin(<span class="string">'base'</span>,<span class="string">'avw'</span>,AVWVIEW.avw);0670     <span class="keyword">end</span>0671     close gcbf;0672     0673   <span class="keyword">otherwise</span>,0674     0675 <span class="keyword">end</span>0676 0677 0678 <span class="keyword">switch</span> command,0679   <span class="keyword">case</span> <span class="string">'quit'</span>,0680   <span class="keyword">otherwise</span>,0681     set(AVWVIEW.gui,<span class="string">'UserData'</span>,AVWVIEW);0682 <span class="keyword">end</span>0683 0684 <span class="keyword">if</span> nargout &gt; 0,0685   varargout{1} = AVWVIEW.avw;0686 <span class="keyword">end</span>0687 0688 0689 <span class="keyword">return</span>0690 0691 0692 0693 0694 0695 0696 0697 0698 0699 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>0700 <span class="comment">% SUBFUNCTIONS</span>0701 0702 0703 0704 0705 0706 0707 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>0708 <a name="_sub1" href="#_subfunctions" class="code">function axial_update(AVWVIEW)</a>0709 0710 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'axial_image'</span>),0711     Saxi = squeeze(AVWVIEW.avw.img(:,:,AVWVIEW.slices.axi));0712     set(AVWVIEW.handles.axial_image,<span class="string">'CData'</span>,Saxi');0713 <span class="keyword">end</span>0714 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'axial_sliderN'</span>),0715     set(AVWVIEW.handles.axial_sliderN,<span class="string">'String'</span>,num2str(AVWVIEW.slices.axi));0716     set(AVWVIEW.handles.axial_sliderN,<span class="string">'Value'</span>,AVWVIEW.slices.axi);0717 <span class="keyword">end</span>0718 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'axial_slider'</span>),0719     set(AVWVIEW.handles.axial_slider,<span class="string">'Value'</span>,AVWVIEW.slices.axi);0720 <span class="keyword">end</span>;

⌨️ 快捷键说明

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