Biot-Savartの式4
今度はセンサー面における磁場の強さを3D表示してみます。ここでも先ほどの
BiotSavart.sceを使います。
loadmatfile(xgetfile('*.mat'));//evoked or raw data読み込み
Neuromagユーザー以外で、試してみたい方は
BiotSavart4.matをdownloadしてください。
////頭座標上のセンサーの四隅の座標を計算////
Ch=ChInform(:,1:3:304);MTX=MEG2HEAD(1:3,1:3);
wd=14/1000;
P=MTX*Ch(1:3,:)+MEG2HEAD(1:3,4)*ones(1,102);
X=wd*MTX*Ch(4:6,:);
Y=wd*MTX*Ch(7:9,:);
Z=MTX*Ch(10:12,:);
R=zeros(3,102,4);
R(:,:,1)=P+X+Y;
R(:,:,2)=P+X-Y;
R(:,:,3)=P-X-Y;
R(:,:,4)=P-X+Y;
scf();
Rx=matrix(R(1,:,:),102,4)';
Ry=matrix(R(2,:,:),102,4)';
Rz=matrix(R(3,:,:),102,4)';
plot3d(Rx,Ry,Rz);
ha=gca();ha.isoview='on';ha.box='off';
////センサー四隅の磁場計算////
Rx=matrix(Rx,102*4,1);
Ry=matrix(Ry,102*4,1);
Rz=matrix(Rz,102*4,1);
q=[0.07,0,0,0,0,20*1e-9];
getf('BiotSavart.sce');
B=BiotSavart(q,[Rx,Ry,Rz]);
ZZ=[matrix(ones(4,1)*Z(1,:),408,1),...
matrix(ones(4,1)*Z(2,:),408,1),...
matrix(ones(4,1)*Z(3,:),408,1)];
Bz=sum(B.*ZZ,2)*1e+15;
////data.color設定・描画////
scale=32/2;
color_map=[jetcolormap(scale*2);ones(1,3)*0.8];
set(gcf(),'color_map',color_map);
Bz=Bz/400*scale+scale; //±400fTの意味
Bz(Bz>scale*2)=scale*2;Bz(Bz<0)=0;
Bzc=matrix(Bz,4,102);
f=ha.children.data;
TL=tlist(['3d','x','y','z','color'],f.x,f.y,f.z,Bzc);
ha.children.data=TL;
ha.children.hiddencolor=33;
ha.children.color_flag=3;
ha.rotation_angles=[70,20];