123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- function o = mayostruc
- % Create a data structure describing Analyze headers
- %__________________________________________________________________________
- % Copyright (C) 2005-2017 Wellcome Trust Centre for Neuroimaging
- %
- % $Id: mayostruc.m 7147 2017-08-03 14:07:01Z spm $
- persistent org;
- if ~isempty(org)
- o = org;
- return;
- end
- t = struct('conv',{ @char, @int16, @int32, @single },...
- 'prec',{'uint8','int16','int32','single'},...
- 'size',{ 1, 2, 4, 4});
- c = t(1);
- s = t(2);
- i = t(3);
- f = t(4);
- table = {...
- i, 1,'sizeof_hdr',348
- c,10,'data_type',[]
- c,18,'db_name',[]
- i, 1,'extents',[]
- s, 1,'session_error',[]
- c, 1,'regular','r'
- c, 1,'hkey_un0',[]
- s, 8,'dim',[3 1 1 1 1 1 1 1 1]
- c, 4,'vox_units',[]
- c, 8,'cal_units',[]
- s, 1,'unused1',[]
- s, 1,'datatype',[]
- s, 1,'bitpix',[]
- s, 1,'dim_un0',[]
- f, 8,'pixdim',[]
- f, 1,'vox_offset',0
- f, 1,'roi_scale',1
- f, 1,'funused1',0
- f, 1,'funused2',[]
- f, 1,'cal_max',[]
- f, 1,'cal_min',[]
- i, 1,'compressed',[]
- i, 1,'verified',[]
- i, 1,'glmax',[]
- i, 1,'glmin',[]
- c,80,'descrip','Analyze Image'
- c,24,'aux_file',''
- c, 1,'orient',[]
- % c,10,'originator',[]
- s, 5,'origin',[] % SPM version
- c,10,'generated',[]
- c,10,'scannum',[]
- c,10,'patient_id',[]
- c,10,'exp_date',[]
- c,10,'exp_time',[]
- c, 3,'hist_un0',[]
- i, 1,'views',[]
- i, 1,'vols_added',[]
- i, 1,'start_field',[]
- i, 1,'field_skip',[]
- i, 1,'omax',[]
- i, 1,'omin',[]
- i, 1,'smax',[]
- i, 1,'smin',[]};
- org = struct('label',table(:,3),'dtype',table(:,1),'len',table(:,2),...
- 'offset',0,'def',table(:,4));
- os = 0;
- for j=1:length(org)
- os = os + org(j).dtype.size*ceil(os/org(j).dtype.size);
- fun = org(j).dtype.conv;
- def = [org(j).def zeros(1,org(j).len-length(org(j).def))];
- org(j).def = feval(fun,def);
- org(j).offset = os;
- os = os + org(j).len*org(j).dtype.size;
- end
- o = org;
|