readspider.m

来自「matlab处理图像的一些基本方法。其中有一部分mex程序需要安装编译」· M 代码 · 共 66 行

M
66
字号
function [img, header, errmsg]=readSPIDER(fname)%READSPIDER Import a SPIDER file.%%               [I,H, errmsg]=READSPIDER(FNAME)%%               I is the image in grayscale multiplied by 32000%               H if the constracted header%               FNAME is the file name%%               Claudio 12 Oct. 1995%% Copyright (c) 1995 by Claudio Rivetti and Mark Young% claudio@alice.uoregon.edu,    mark@alice.uoregon.edu%errmsg = '';HEADER_SIZE = 2048;if exist(fname) ~= 2  errmsg='File not found';  return;end[g, s]=spiread(fname);g=g-min(min(g));g=(g/max(max(g)))*32000;m=max(size(g,1),size(g,2));img=zeros(m,m);img(1:size(g,1), 1:size(g,2))=g;clear g;if length(s)>=20  t=s(1:8);  d=s(11:length(s));  g=d(1:2);  m=d(4:6);  y=d(8:length(d));  D=[t ' XX xxx ', m ' ' g ' ' y];else  t='hh:mm:ss'  g='gg';m='mm';y='yyyy';endD=[t ' XX xxx ', m ' ' g ' ' y];header=zeros(1,HEADER_SIZE);header(1)=26;header=setparameter(header, '*ALEX Header', '');header=setparameter(header, 'File Type', 'SPIDER');header=setparameter(header, 'Date', D);header=setparameter(header, 'Data length', HEADER_SIZE);header=setparameter(header, 'Samps/line', size(img));header=setparameter(header, 'Serial number', ' ');header=setparameter(header, 'Id', 'SPIDER');header=setparameter(header, 'X offset', '0 pixels');header=setparameter(header, 'Y offset', '0 pixels');header=setparameter(header, 'Scan size', [num2str(size(img,1)) ' pixels']);header=setparameter(header, 'Trasform. Factor', 1/32000);header=setparameter(header, 'Note', 'Image from a SPIDER file');return

⌨️ 快捷键说明

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