我正在编写一个 DigitalMicrograph 脚本,以获取在由手工脚本控制的各种入射光束条件下从 ADF STEM 检测器等获得的散射电子强度的映射数据。但是,不幸的是,我不知道在非 STEM 模式(由 DigiScan 控制)下获取 STEM 检测器信号的命令。在这种情况下我应该使用什么命令?
如果您分享一些智慧,将不胜感激。非常感谢您提前。.
我正在编写一个 DigitalMicrograph 脚本,以获取在由手工脚本控制的各种入射光束条件下从 ADF STEM 检测器等获得的散射电子强度的映射数据。但是,不幸的是,我不知道在非 STEM 模式(由 DigiScan 控制)下获取 STEM 检测器信号的命令。在这种情况下我应该使用什么命令?
如果您分享一些智慧,将不胜感激。非常感谢您提前。.
由于 STEM 检测器信号由 DigiScan 单元处理,因此无法独立读取检测器“信号”。
另外:您不会及时将信号作为“流”获得,而是由 DigiScan 计时。也就是说,您必须使用 DigiScan 开始采集,并且不能仅在没有一台的情况下“收听”检测器。
但是,DigiScan 采集与 STEM 模式无关。您可以在 TEM 模式下开始 DigiScan 采集。您可以选择参数,以便获取“图像”仅在非常小的区域内扫描光束,从而使光束变为准静止。也许这可以帮助你?
这是我的意思的一个例子:但是,我没有在硬件上测试过这个:
// Create "Scan" parameters for an overview
// This image will stay as survey. Its content is not important
// as you're in TEM mode, but we need it as reference
number paramID
number width = 1024 // pixel
number height = 1024 // pixel
number rotation = 0 // degree
number pixelTime= 2 // microseconds
number lSynch = 0 // no-linesync
paramID = DSCreateParameters( width, height, rotation, pixelTime, lSynch )
number signalIndex, dataDepth, selected, imageID
signalIndex = 0 // HAADF (most likely) ?
dataDepth = 4 // 4 byte data
selected = 1 // acquire this signal
imageID = 0 // create new image
DSSetParametersSignal( paramID, signalIndex, dataDepth, selected, imageID )
number continuous = 0 // 0 = single frame, 1 = continuous
number synchronous = 1 // 0 = return immediately, 1 = return when finished
// Capture the "survey" image
DSStartAcquisition( paramID, continuous, synchronous )
image survey := DSGetLastAcquiredImage( signalIndex )
survey.SetName("Survey")
if ( !DSIsValidDSImage( survey ) ) Throw( "Something wrong..")
DSDeleteParameters( paramID ) // remove parameters from memory
// Now we create a "subscan" image for a quasi-stationary beam...
// The size has a minimum size (16x16?) but as we keep the beam
// "stationary" this will rather define your "time-resolution" of
// data. Scan 'speed' is taken from our reference...
number sizeX = 1024
number sizeY = 1024
image Static := IntegerImage( "Static", dataDepth, 0, sizeX, sizeY )
Static.ShowImage()
// defeine "ROI" on the survey. Just the center pixel!
number t,l,b,r
t = height/2
l = width/2
b = t + 1
r = l + 1
DSScanSubRegion( survey, Static, t, l, b, r )