这样做的一种方法 - 通过迭代 x 个单独的收购是 F1 帮助示例的直接扩展:
// Acquire 2 signals simultaneously, e.g. HAADF and BF detector
number paramID
number width = 512 // pixel
number height = 512 // pixel
number rotation = 0 // degree
number pixelTime= 2 // microseconds
number lSynch = 1 // activated
paramID = DSCreateParameters( width, height, rotation, pixelTime, lSynch )
number signalIndex, dataType, selected, imageID
signalIndex = 0
dataType = 2 // 2 byte data
selected = 1 // acquire this signal
image img1 := IntegerImage( "Signal 1", dataType, 0, width, height )
img1.ShowImage()
imageID = img1.ImageGetID() // use displayed image
DSSetParametersSignal( paramID, signalIndex, dataType, selected, imageID )
signalIndex = 1
dataType = 2 // 2 byte data
selected = 1 // acquire this signal
image img2 := IntegerImage( "Signal 1", dataType, 0, width, height )
img2.Showimage()
imageID = img2.ImageGetID() // use displayed image
DSSetParametersSignal( paramID, signalIndex, dataType, selected, imageID )
number continuous = 0 // 0 = single frame, 1 = continuous
number synchronous = 1 // 0 = return immediately, 1 = return when finished
// Create stack to copy data to
number nplanes = 10
image stack1 := img1.ImageClone()
stack1.ImageResize(3,width,height,nplanes)
stack1.SetName("Signal 1 (stack)")
stack1.ShowImage()
image stack2 := img2.ImageClone()
stack2.ImageResize(3,width,height,nplanes)
stack2.SetName("Signal 2 (stack)")
stack2.ShowImage()
//Quickly arrange image
EGUPerformActionWithAllShownImages("arrange")
// Iterated acquisition
for( number i=0; i<nPlanes; i++ )
{
DSStartAcquisition( paramID, continuous, synchronous )
// Copy data
stack1.slice2(0,0,i, 0,width,1, 1,height,1) = img1
stack2.slice2(0,0,i, 0,width,1, 1,height,1) = img2
}
DSDeleteParameters( paramID ) // remove parameters from memory
但是,这将在每一帧重新开始新的 Digiscan 采集。您可能更喜欢通过连续采集和图像侦听器来执行此操作。
为此,您很可能会按照此处 F1 帮助中的说明连接图像侦听器:
Digiscan 采集 - 取决于速度 - 每帧会更新几次图像,因此您需要检查它是否为帧结束。
执行此操作的一种方法是使用 data_value_changed 事件,然后检查图像中的最后一个像素是否已更改值。另一种选择是使用 tags_changed 事件,因为显然采集图像的标签每帧更新一次。不过,这两种选择都有一些潜在的问题。
另请参阅有关此主题的这个非常相关的最新问题:Fastest way to see which pixel has changed when using a listener