MTEX EBSD数据导入 坐标系调整
OXFORD数据导入说明
定义xyz为采集坐标系(即图中的X1Y1Z1采集坐标系),RD,TD,ND为样品坐标系
默认来说x为RD方向,y为TD方向,z为ND方向(欧拉角0,0,0,为初始取向 图1)
而如果数据采集时的欧拉角设置不正确,例如实际的x方向为ND方向,y为RD方向,z则为TD方向,与默认方向不一致(图2),但是数据采集依然按照图1的设置(欧拉角0,0,0),则样品坐标系设置错误导致错误的取向,应该通过旋转欧拉角将取向调整正确(0,-90,-90,欧拉角说明 第一个角度是绕着坐标系统的z 轴旋转,第二个角度是绕着x 轴旋转,第三个角度是绕着已经旋转的z 轴旋转,从而使两个坐标系统一致。)
牛津坐标系统图1
牛津坐标系统图2
在进行旋转之前,为了便于理解和清晰,应该先把xyz和RD,TD,ND这两个坐标系重合,即x//RD,y//TD,z//ND,这就有两种选择,第一种是固定xyz采集坐标系,使样品坐标系RD-TD-ND与其重合,第二种是固定样品坐标系转动xyz采集坐标系使其重合,以两个重合的坐标系为起点旋转数据至正确的取向
第一种,利用convertEuler2SpatialReferenceFrame 转动样品坐标系使其与采集坐标系重合,然后再调整欧拉角使样品坐标系到实际的样品坐标系位置,即使x//RD,y//TD,z//ND,使欧拉角为0,0,0
第二种方法 利用convertSpatial2EulerReferenceFrame命令时不改变样品坐标系信息,而是调整采集坐标使将xyz分别与实际的RD,TD,ND对齐,同样也使欧拉角为0,0,0
不推荐使用第二种,因为其改变采集坐标系使图像数据的方向与采集软件数据的方向不一致
代码
ebsd = EBSD.load([mtexEBSDPath filesep '文件名.ctf'],'convertEuler2SpatialReferenceFrame')'
(注意,在MTEX默认导入时,其采集坐标轴为下图1所示,可以根据个人相应的数据采集过程修改相应的采集坐标轴方向
对我而言,这个默认的导入方向是错误的,与采集软件的方向不一致,需要执行plotx2east; plotzIntoPlane 将其修改为图2,与采集软件一致
图1
rot = rotation.byAxisAngle(zvector,角度*degree);
ebsd_rot= rotate(ebsd,rot,'keepXY');
rot = rotation.byAxisAngle(xvector,角度*degree);
ebsd_rot= rotate(ebsd_rot,rot2,'keepXY');
rot = rotation.byAxisAngle(zvector,角度*degree);
ebsd_rot= rotate(ebsd,rot,'keepXY');
说明:在MTEX中,绘制极图时其样品坐标系被表示为XYZ分别对应于RD,TD,ND(前提,数据导入时的欧拉角选择正确)
对于EDAX数据,一般电镜与探头的设置为setting2,即x向东,z向面内
其数据导入过程与OXFORD基本一致,注意选择setting即可,我用过的仪器都是setting2,可以根据实际情况进行选择。
EDAX中的样品坐标系用A1,A2,A3表示,并且其倾斜轴为A1,其欧拉角为0,0,0,时,x//A2,y//A1(牛津为x//RD,y//TD)其实这里与牛津的意思一样,只是标记不同,为方便理解可将A2对应为RD,A1对应为TD,则与牛津的表达完全一致,并且上图中的SETTING2设置与牛津坐标系统图1中的默认设置完全一致,可以统一起来理解。