文是两篇文章的合集,做SEM/EDX 电子显微镜测主量元素的心得与EMPA/WDS 电子探针主量元素测定及数据筛选处理心得,希望对大家提供相应帮助,在此向作者致以谢意。
一、做 SEM/EDX 电子显微镜 测主量元素的心得
最近做了四天的 SEM/EDX 岩石薄片主量元素测定,把这几天的一点经验写下来,为将来没经验的同学做个参考。当初我搜了好久都没搜到,那现在就自已写一个吧,以飨后人。
(1). 送样前的准备
送样前最重要的是在光学显微镜下做好矿片的观察和记录工作,对要测的矿物或者点做到心中有数。最好每个矿片都写一篇报告,描述各种矿物的百分数,大小及特征。 然后附上一些你碰到的问题,尤其是这些问题可以通过化学成分数据分析来解决的时候 (判断辉石种类之类的,我知道根据光学性质可以判定啦,不过碰到特别小的颗粒,或者说你的片子不是一般厚度时候,就比较难以判断。我会告诉你我片子里的橄榄石看上去都是白色的么)。
之后你可以把矿片用扫描仪扫描一下(高分辨率),然后用A4纸把照片打印出来,方便在上面写写画画,标出待测点。 同时,对每个要测得矿物进行编号,例如我的SLCX12-GRT-1。其中SLCX12是样品名(Salt Lake Crater Xenolith 12), GRT (Garnet), 1 (第一个),你应该有好多个类似的SLCX OPX-1, SLCX OL-2。 这样根据你手中的图片你就可以知道你要测得点去哪里找。另外就是对每个编号的待测点拍照(注意拍照时矿片的方向最好保持一致,方便后来看照片找矿物),注意你保存的文件夹的组合形式(树枝类思维)。 当你确定了所有待测点时候,用碳素笔在片子上圈出待测矿物,注意在此过程中手不要接触片子(戴一次性手套)。
准备工作做好了,现在你手上应该有:
1.打印出来的照片若干张,上边标注了待测点。 2.每个待测点的照片,存在电脑里。
3.你的矿片!!!一定要记着带!!!我曾经的逗比导师读博士时候跑到人家实验室发现没带样品!上面用碳素笔标注了待测点。
4. 你需要交给那边技术人员的乱七八糟的东西。
5. 一颗淡定的心。
(2). 测数据啦
到了实验室先和帮你的技术员聊聊天,熟悉一下,因为你们可能要一起工作好久。 之后看看仪器,可以拍个照合个影的,在你答辩时候可以放到ppt里。 然后了解一下有什么标样,我导师建议我做测试前先用仪器测已知成分的表样,作为一个standard,结束你的测试后再测一次标样。 标样最好选择和你要测的矿物差不多的 。之后会在你的片子上镀膜(碳,金?)(几分钟)。 然后!我原来傻傻的问过为什么测出来的不是纯SiO2呢? 上面不是有盖薄片么? 实际情况是上面没有!就是岩石薄片用胶粘到了载玻片上。言归正传,镀完膜之后就从仪器里拿出个载物台,把你的片子用不可描述的东西装好再塞回去,关门抽真空,就差不多啦。 之后技术人员会在电脑上调一调参数呀,聚焦什么的。 你的任务就是告诉他在哪测,我是直接说‘放着我来!’ 那个软件很容易学,你完全可以自己搞定,就在换片子或者有问题时候叫一下他就好了。 之后就是测点,换片子,测点,换片子。。。
(3)导出数据
一般情况下如果在外面的实验室做数据人家会把处理好的数据发给你,你直接用就好了。 不过由于我是在自家实验室做,老头一副让我自己弄得样子。 注意的是软件产出的数据文件其他软件是打不开的,需要用这个独特的软件才能打开,处理数据也是在软件内部完成。处理好的数据应该保存为excel表格形式。你需要考虑一下怎么安排你产出的数据比较好 (weight% oxide% atomic%)。我是三个都做了,反正很方便,感觉以后如果用到哪个的时候不用再算了。 之后把你的数据拷走,带回去自己处理去。 你会收到实验室写给你的报告,包括用的仪器呀,电压什么的,这些要写进论文里。
(4)处理数据
处理数据有好多要注意的问题,现在我在做这个,所以等做完后再补上。
二、EMPA/WDS 电子探针主量元素测定及数据筛选处理心得
前一段时间做电子探针的经历写下来,同时也记录下数据的筛选与处理。当然我也是新手,有错误或者遗漏的地方请各位指正。
1.电子探针(EMPA)
1.1 电子探针和SEM/EDX的区别
EDS全称为 Energy-Dispersive X-Ray Spectroscopy,通常装在SEM (Scanning Electron Microscopy) 上,用来分析待测物体的化学成分。基本原理为通过电子枪向被测物体发出电子束,被测物体的原子团被激发后会产生X射线,而不同成分的物体所产生的X射线的能量又各不相同。通过分析X射线的能量特征,所用的仪器可以检测被测物体各元素的含量。EMPA全称为 Electron probe micro-analyzer,常叫做电子探针。类似于SEM, 也是现在常用的地质地球化学测量仪器。但是一般来讲它是和 WDS (Wavelength-Dispersive X-Ray Spectroscopy)相搭配的。WDS和EDS的原理类似,也是通过激发X射线来判断物体的成分。
两种方法各有利弊:EDS可以即时获取被测点的成分,通常分析一个点所需要的的时间只有几秒,所以说EDS在矿物辨认的应用上面很方便。但是在分析快速的同时,EDS所产出结果的精确度方面却不尽人意。在这点上,WDS的结果更令人满意。WDS的结果通常来说都很精确,Total一般都在98%和102%之间,而detection limit也会比EDS好,可以到0.01%级别。所以说比较理想的方法是先用EDX辨认待测矿物,然后通过WDS得到精确的定量测定。当然,这取决于预算和实验目的。以我们实验室举例,两种方法收费是一样的,均为20加元/小时,合人民币100元/小时,可以说是十分便宜的。
1.2 电子探针样品准备
开始阶段学长介绍说可以用墨水在薄片背面圈定被测点,从而节约测定时找点所花费的时间。但是受限于我的薄片并不是通常的25微米厚的,而是比较厚的50微米薄片,所以我认为这个方法并不适用。于是我开发出了以下的方法:
1.找到被测点,光学显微镜下拍照。在矿片正面的四角用墨水点出四个点,标好方向(这步是重点)。
2.扫描矿片。
3.在矿片扫描片上直接通过画图软件圈定待测点,OS系统的 Preview 就可以很好地完成这个任务,也很方便。
4.将编辑好的图片导入电子探针的软件中。
5.测四个标记点的坐标,并记录。通过四个点中的三个,就可以直接定位矿片上的任意一点,从而通过软件记录待测点的坐标。
6.测量时,直接用鼠标点到圈定的待测点处,就可以录入此点的坐标了。在录入所有待测点的坐标之后,机器就会自动开始依次对待测点进行成分测定。
1.3 电子探针实验测定
电子探针测定通常需要在测样品的同时测一个或者几个标样。而标样的选择则取决于待测样品的成分,最好和其成分类似。例如样品中有辉石,橄榄石,石榴石,那么标样在可能的情况下最好也选这几种中的一个或者几个。由于测定的结果实际上都是相对某个标样的数值,所以说标样选择的合适与否是可以直接影响测得的结果准确度的。
在实验的过程中,最好多和一同工作的技术人员交流,他们可能有一些小技巧可以极大地提高实验的效率和价值。
2.数据处理
2.1 Total
好,现在我们假装你拿到数据了。但是在分析数据,写论文,发表,走上人生巅峰之前,一定要检查数据的可靠性。如果说所用的数据不好,那之后做出的所有推论假设都是垃圾,白富美也不会嫁给你的。
首先最直观的方法就是看Total。一般来说,可以发表的数据应该total都是在 102%和98%之间。如果你的某个点的结果低于这个或者高于这个,那么请不要犹豫,直接把它扔掉。其次,如果说发现你的 total都在102%和100%之间,乍看之下好像符合上面的条件,但是实际上这个实验结果可能是有问题的。好的total应该平均分布在区间内,而不是集中在某个点。
2.2 化学式计算 (Stoichiometry)
好的结果应该让正价元素和负价元素带的电荷相互平衡,而化学式计算就是检验这个的一个方法。具体的原理常见的书里都有介绍,简单来说就是阳离子和阴离子相互平衡。举个栗子,辉石,假设化学式为X2Y2O6。也就是说如果设定初始O为6个的话,那计算出的阳离子应该是4个。容许的误差应该在3.92和4.08之间。 这种计算也是检验数据好坏的一个方法。手动算很麻烦,这里就不赘述了。现在网上有很多编辑好的 Spreadsheet,你直接将你的数据按特定格式输入进去,表格会自动计算出结果。我大概试过有5个不同版本的表格,目前为止最好用的是从下面这个网址下载的。腐国人民做的东西果然很好。http://www.open.ac.uk/earth-rese ... 0/Microprobe-2.html(国内不一定能打开)
2.3 数据呈现
在做表格展示数据时各个主量元素的排列顺序是有某种规定的,定下这个顺序的人并不是我 XD,应该是某位大牛,这也是国际上常见的顺序。
顺序为:
SiO2
TiO2
Al2O3
Cr2O3
FeO
MnO
MgO
CaO
Na2O
K2O
P2O5
就先写到这了,困得不行,如果有遗漏或者错误的地方欢迎各位指正。
作者:什刹海边树
联系作者请关注微信公众号;地质信息交流平台,加入群聊
球科学家需要对地质环境进行最佳估计才能进行模拟或评估。 除了地质背景之外,建立地质模型还需要一整套数学方法,如贝叶斯网络、协同克里金法、支持向量机、神经网络、随机模型,以在钻井日志或地球物理信息确实稀缺或不确定时定义哪些可能是岩石类型/属性。
推荐:用 NSDT编辑器 快速搭建可编程3D场景
我们已经用 Python 和最新强大的库(Scikit Learn)完成了一个教程,以根据宝藏谷(美国爱达荷州)钻探的岩性创建地质模型。 本教程生成钻井岩性的点云,并针对神经网络进行转换和缩放。 所选的神经网络分类器是多层感知器分类器,在 Scikit Learn 库上实现为 sklearn.neural_network.MLPClassifier。 对神经网络的混淆进行分析。 本教程还包括 Paraview 中 Vtk 格式的井岩性和插值地质学的地理参考 3D 可视化。
首先导入必要的库:
#import required libraries
%matplotlib inline
import os
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import pyvista as pv
import vtk
数据来自来自公开发表论文,选定的单位为:
wellLoc=pd.read_csv('../inputData/TV-HFM_Wells_1Location_Wgs11N.csv',index_col=0)
wellLoc.head()
东向 | 北向 | 高度ft | 东向UTM | 北向UTM | 高程m | |
A. Isaac | 2333140.95 | 1372225.65 | 3204.0 | 575546.628834 | 4.820355e+06 | 976.57920 |
A. Woodbridge | 2321747.00 | 1360096.95 | 2967.2 | 564600.366582 | 4.807827e+06 | 904.40256 |
A.D. Watkins | 2315440.16 | 1342141.86 | 3168.3 | 558944.843404 | 4.789664e+06 | 965.69784 |
A.L. Clark; 1 | 2276526.30 | 1364860.74 | 2279.1 | 519259.006159 | 4.810959e+06 | 694.66968 |
A.L. Clark; 2 | 2342620.87 | 1362980.46 | 3848.6 | 585351.150270 | 4.811460e+06 | 1173.05328 |
litoPoints=[]
for index, values in wellLito.iterrows():
wellX, wellY, wellZ=wellLoc.loc[values.Bore][["EastingUTM","NorthingUTM","Elevation_m"]]
wellXY=[wellX, wellY]
litoPoints.append(wellXY + [values.topLitoElev_m,values.hydrogeoCode])
litoPoints.append(wellXY + [values.botLitoElev_m,values.hydrogeoCode])
litoLength=values.topLitoElev_m - values.botLitoElev_m
if litoLength < 1:
midPoint=wellXY + [values.topLitoElev_m - litoLength/2,values.hydrogeoCode]
else:
npoints=int(litoLength)
for point in range(1,npoints+1):
disPoint=wellXY + [values.topLitoElev_m - litoLength*point/(npoints+1),values.hydrogeoCode]
litoPoints.append(disPoint)
litoNp=np.array(litoPoints)
np.save('../outputData/litoNp',litoNp)
litoNp[:5]
array([[5.48261389e+05, 4.83802316e+06, 7.70442960e+02, 1.00000000e+00],
[5.48261389e+05, 4.83802316e+06, 7.70138160e+02, 1.00000000e+00],
[5.48261389e+05, 4.83802316e+06, 7.70138160e+02, 3.00000000e+00],
[5.48261389e+05, 4.83802316e+06, 7.68614160e+02, 3.00000000e+00],
[5.48261389e+05, 4.83802316e+06, 7.69376160e+02, 3.00000000e+00]])
from sklearn.neural_network import MLPClassifier
from sklearn.metrics import confusion_matrix
from sklearn import preprocessing
litoX, litoY, litoZ=litoNp[:,0], litoNp[:,1], litoNp[:,2]
litoMean=litoNp[:,:3].mean(axis=0)
litoTrans=litoNp[:,:3]-litoMean
litoTrans[:5]
#setting up scaler
scaler=preprocessing.StandardScaler().fit(litoTrans)
litoScale=scaler.transform(litoTrans)
#check scaler
print(litoScale.mean(axis=0))
print(litoScale.std(axis=0))
[ 2.85924590e-14 -1.10313442e-15 3.89483608e-20]
[1. 1. 1.]
#run classifier
X=litoScale
Y=litoNp[:,3]
clf=MLPClassifier(activation='tanh',solver='lbfgs',hidden_layer_sizes=(15,15,15), max_iter=2000)
clf.fit(X,Y)
C:\Users\Gida\Anaconda3\lib\site-packages\sklearn\neural_network\_multilayer_perceptron.py:470: ConvergenceWarning: lbfgs failed to converge (status=1):
STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.
Increase the number of iterations (max_iter) or scale the data as shown in:
https://scikit-learn.org/stable/modules/preprocessing.html
self.n_iter_=_check_optimize_result("lbfgs", opt_res, self.max_iter)
MLPClassifier(activation='tanh', alpha=0.0001, batch_size='auto', beta_1=0.9,
beta_2=0.999, early_stopping=False, epsilon=1e-08,
hidden_layer_sizes=(15, 15, 15), learning_rate='constant',
learning_rate_init=0.001, max_fun=15000, max_iter=2000,
momentum=0.9, n_iter_no_change=10, nesterovs_momentum=True,
power_t=0.5, random_state=None, shuffle=True, solver='lbfgs',
tol=0.0001, validation_fraction=0.1, verbose=False,
warm_start=False)
numberSamples=litoNp.shape[0]
expected=litoNp[:,3]
predicted=[]
for i in range(numberSamples):
predicted.append(clf.predict([litoScale[i]]))
results=confusion_matrix(expected,predicted)
print(results)
输出如下:
[[1370 128 377 0]
[ 67 2176 10 0]
[ 274 33 1114 0]
[ 1 0 0 151]]
xMin=540000
xMax=560000
yMin=4820000
yMax=4840000
zMax=int(wellLito.topLitoElev_m.max())
zMin=zMax - 300
cellH=200
cellV=20
vertexCols=np.arange(xMin,xMax+1,cellH)
vertexRows=np.arange(yMax,yMin-1,-cellH)
vertexLays=np.arange(zMax,zMin-1,-cellV)
cellCols=(vertexCols[1:]+vertexCols[:-1])/2
cellRows=(vertexRows[1:]+vertexRows[:-1])/2
cellLays=(vertexLays[1:]+vertexLays[:-1])/2
nCols=cellCols.shape[0]
nRows=cellCols.shape[0]
nLays=cellLays.shape[0]
i=0
litoMatrix=np.zeros([nLays,nRows,nCols])
for lay in range(nLays):
for row in range(nRows):
for col in range(nCols):
cellXYZ=[cellCols[col],cellRows[row],cellLays[lay]]
cellTrans=cellXYZ - litoMean
cellNorm=scaler.transform([cellTrans])
litoMatrix[lay,row,col]=clf.predict(cellNorm)
if i%30000==0:
print("Processing %s cells"%i)
print(cellTrans)
print(cellNorm)
print(litoMatrix[lay,row,col])
i+=1
Processing 0 cells
[-8553.96427073 8028.26104284 356.7050941 ]
[[-1.41791371 2.42904321 1.11476509]]
3.0
Processing 30000 cells
[-8553.96427073 8028.26104284 296.7050941 ]
[[-1.41791371 2.42904321 0.92725472]]
3.0
Processing 60000 cells
[-8553.96427073 8028.26104284 236.7050941 ]
[[-1.41791371 2.42904321 0.73974434]]
3.0
Processing 90000 cells
[-8553.96427073 8028.26104284 176.7050941 ]
[[-1.41791371 2.42904321 0.55223397]]
2.0
Processing 120000 cells
[-8553.96427073 8028.26104284 116.7050941 ]
[[-1.41791371 2.42904321 0.3647236 ]]
2.0
plt.imshow(litoMatrix[0])
<matplotlib.image.AxesImage at 0x14fb8688860>
plt.imshow(litoMatrix[:,60])
<matplotlib.image.AxesImage at 0x14fb871d390>
np.save('../outputData/litoMatrix',litoMatrix)
#matrix modification for Vtk representation
litoMatrixMod=litoMatrix[:,:,::-1]
np.save('../outputData/litoMatrixMod',litoMatrixMod)
plt.imshow(litoMatrixMod[0])
<matplotlib.image.AxesImage at 0x14fb87825f8>
import pyvista
import vtk
# Create empty grid
grid=pyvista.RectilinearGrid()
# Initialize from a vtk.vtkRectilinearGrid object
vtkgrid=vtk.vtkRectilinearGrid()
grid=pyvista.RectilinearGrid(vtkgrid)
grid=pyvista.RectilinearGrid(vertexCols,vertexRows,vertexLays)
litoFlat=list(litoMatrixMod.flatten(order="K"))[::-1]
grid.cell_arrays["hydrogeoCode"]=np.array(litoFlat)
grid.save('../outputData/hydrogeologicalUnit.vtk')
你可以从这个链接下载本教程的输入数据。
原文链接:http://www.bimant.com/blog/3d-geological-neural-network-model/
前,教育部发布了《关于发布中小学国家课程教材电子版链接的通告》(点击文末“阅读原文”即可查看原文件)。
根据《关于认真做好疫情防控期间教学用书供应工作的通知》(国教材办〔2020〕2号)要求,现将各中小学教材编写出版单位提供的免费电子版教材链接统一予以公布。请各地教育行政部门指导学校根据需要做好下载使用工作。使用中如遇到问题,请直接联系教材出版单位解决。我们将督促各出版单位做好服务工作。
思想政治 高中 高中年级 教育部
人民教育出版社 http://bp.pep.com.cn/jc/
语文 高中 高中年级 教育部
人民教育出版社 http://bp.pep.com.cn/jc/ 高中 高中年级 语文出版社 http://ziyuan.shuziyuwen.com/brand/267.html 高中 高中年级 江苏凤凰教育出版社 http://zt.ppmg.cn/textbook/ 高中 高中年级(2003年版)必修1 广东教育出版社 http://www.gjs.cn/UploadFiles/xkzy/2020/2/202002071414051273.pdf 高中年级(2003年版)必修2 http://www.gjs.cn/UploadFiles/xkzy/2020/2/202002071417191623.pdf 高中年级(2003年版)必修3 http://www.gjs.cn/UploadFiles/xkzy/2020/2/202002071419439163.pdf 高中年级(2003年版)必修4 http://www.gjs.cn/UploadFiles/xkzy/2020/2/202002071422487505.pdf 高中年级(2003年版)必修5 http://www.gjs.cn/UploadFiles/xkzy/2020/2/202002132149008678.pdf 高中 高中年级 山东人民出版社 http://www.lurenwenjiao.com/index.php?m=content&c=index&a=lists&catid=191
历史 高中 高中年级 教育部
人民教育出版社 http://bp.pep.com.cn/jc/ 高中 高中年级(2003年版) 北京师范大学出版社 http://www.100875.com.cn/ 高中 高中年级(2003年版) 人民出版社 http://f.idcpub.cn/ 高中 高中年级(2003年版)必修I 岳麓书社 https://pan.baidu.com/s/1R3Io9p6Vb7sNO3uKPgH3pQ 高中年级(2003年版)必修II https://pan.baidu.com/s/1Ud426OShAPGwE9CrUimSHQ 高中年级(2003年版)必修III https://pan.baidu.com/s/1NZgsuHpEX1uu91W5QFXALw 高中年级(2003年版)选修-历史上重大改革回眸 https://pan.baidu.com/s/1xUrfYvABFtJLVXDs25yeZw 高中年级(2003年版)选修-20世纪的战争与和平 https://pan.baidu.com/s/1cP01Mqgggn30eJB57DpG3Q 高中年级(2003年版)选修-中外历史人物评说 https://pan.baidu.com/s/1WEqqmPsubj2ODuLEAfUfzg 高中年级(2003年版)选修-探索历史的奥秘 https://pan.baidu.com/s/1hOnUhsHmSDKzM9GaYOR0Hg 高中年级(2003年版)选修-世界文化遗产荟萃 https://pan.baidu.com/s/1SFibLgFpnHMmA9LJivvjmA
通用技术 高中 高中年级(2003年版)
必修 技术与设计1 广东科技出版社 http://tkbtx.gdtextbook.com 高中年级(2003年版)
必修 技术与设计2 http://tkbtx.gdtextbook.com 高中年级(2017年版)
必修 技术与设计1 http://tkbtx.gdtextbook.com 高中年级(2017年版)
必修 技术与设计2 http://tkbtx.gdtextbook.com 高中 高中年级 江苏凤凰教育出版社 http://zt.ppmg.cn/textbook/ 高中 高中年级 河南科学技术出版社 http://www.hnstp.cn/?article-355.html 高中 高中年级 地质出版社 http://www.rbloc.cn/ChannelInfo/index/2071 信息技术 高中 高中年级(2003年版) 人民教育出版社、中国地图出版社 http://www.ditu.cn/a/tongbuziyuan/dianzikeben/ 高中年级(2017年版) http://www.ditu.cn/a/tongbuziyuan/dianzikeben/ 高中 高中年级 上海科技教育出版社 http://www.sste.com/kj/edu_download.html 高中 高中年级(2003年版)
必修 广东教育出版社 http://www.gjs.cn/UploadFiles/xkzy/2020/2/202002071500553431.pdf 高中年级(2003年版)
选修1 http://www.gjs.cn/UploadFiles/xkzy/2020/2/202002071430195641.pdf 高中年级(2003年版)
选修2 http://www.gjs.cn/UploadFiles/xkzy/2020/2/202002071434192985.pdf 高中年级(2003年版)
选修3 广东教育出版社 http://www.gjs.cn/UploadFiles/xkzy/2020/2/202002132140089454.pdf 高中年级(2003年版)
选修4 http://www.gjs.cn/UploadFiles/xkzy/2020/2/202002071450240850.pdf 高中年级(2003年版)
选修5 http://www.gjs.cn/UploadFiles/xkzy/2020/2/202002071454262770.pdf 高中年级(2017年版)必修2 http://www.gjs.cn/UploadFiles/xkzy/2020/2/202002071723589164.pdf 高中 高中年级(2017年版)必修1 浙江教育出版社 http://xz.zjeph.com/download/20200208jiaocai/xinxi/new_bixiu1.pdf 高中年级(2017年版)必修2 http://xz.zjeph.com/download/20200208jiaocai/xinxi/new_bixiu2.pdf 高中年级(2003年版)多媒体技术应用 http://xz.zjeph.com/download/20200208jiaocai/xinxi/duomeiti.pdf 高中年级(2003年版)人工智能初步 http://xz.zjeph.com/download/20200208jiaocai/xinxi/rengongzhineng.pdf 高中年级(2003年版) 数据管理技术 http://xz.zjeph.com/download/20200208jiaocai/xinxi/shujukujishu.pdf 高中年级(2003年版)算法与程序设计 http://xz.zjeph.com/download/20200208jiaocai/xinxi/suanfa.pdf 高中年级(2003年版)网络技术应用 http://xz.zjeph.com/download/20200208jiaocai/xinxi/wangluo.pdf 高中年级(2003年版) 信息技术基础 http://xz.zjeph.com/download/20200208jiaocai/xinxi/xinxijishu.pdf 高中 高中年级 教育科学出版社 http://jkzx.esph.com.cn/free/
*请认真填写需求信息,我们会在24小时内与您取得联系。