如果这看起来很复杂,我很抱歉。
你在IVI驱动程序中原生支持你所描述的内容,你不应该使用.cal文件,因为它们用于不同的目的。
“ApplyCalibration”命令仅在采集校准期间使用。
这是计算错误术语,创建calregister并将其应用于通道的最后一步。
CalRegister定义:calregister是一个与通道号绑定的未命名calset。
下次校准通道时,将清除并重新创建该通道的calregister。
要在以后应用校准集而不执行校准,您必须首先知道校准集的名称。
使用IAgNAChannel.CalSetName属性在校准后查询校准名称。
所有校准集都自动保留(存储)在系统上。
因此,您可以使用IAgNAChannel.CalSetName属性稍后将calset应用于未修正的通道。
您无需在系统上保存任何新文件。
您可能需要一个命名的calset。
一旦命名了calset,它就会永久存在(直到你删除它)。
要创建命名calset,可以将calregister复制到命名calset中。
首先从IAgNAChannel.CalSetName中获取calregister的“名称”,然后使用IAgNACalsets.Copy复制它。
或者您可以使用IAgNAGuidedCalibration对象上的“保存”命令。
(而不是ApplyCalibration)。
它们都做同样的事情,除了Save()命令允许你命名calset,而ApplyCalibration只使用calregister。
然后,您可以使用IAgNAChannel.CalSsetName属性将其应用于未校准的通道。
那么,什么是.cal文件?
.cal文件将一组calset存储到一个文件中,以便稍后可以将它们导回到系统中。
这几乎是不必要的,因为无论如何,calsets永远存在并且什么是.csa文件?
.csa文件存储所有内容..刺激和校准集。
在.csa文件周围编写代码非常方便。
最大的问题是.csa文件是一个不透明的数据文件...所以你没有很好的方法来理解加载这个文件时会发生什么。
编写代码以设置所有激励状态更加稳健,然后应用校准。
您应该能够通过使用上述技术来实现这一目标。编辑:johanericsson于2015年2月23日下午10:39
以上来自于谷歌翻译
以下为原文
I'm sorry if this seems complicated. What you are describing is supported natively in the IVI driver, and you shouldn't be using .cal files, as they are for a different purpose.
The "ApplyCalibration" command is only used during the acquisition of the calibration. It is the last step that computes the error terms, creates a calregister, and applies it to the channel.
CalRegister definition: A calregister is an unnamed calset that is tied to a channel number. The next time you calibrate the channel, that channel's calregister is cleared and recreated.
To later apply a calset without performing a calibration, you must first know the name of your calset. Use the IAgNAChannel.CalSetName property to query the calset name after the calibration. All the calsets are automatically persisted (stored) on the system. So, you can apply the calset later to an uncorrected channel by using the IAgNAChannel.CalSetName property. There is no need for you to save any new files on the system.
You may want a named calset. Once the calset is named, then it will persist forever (until you delete it). To create a named calset, you can copy the calregister into a named calset. First grab the "name" of the calregister from the IAgNAChannel.CalSetName and then copy it by using the IAgNACalsets.Copy.
Or you could use the "Save" command on the IAgNAGuidedCalibration object. (instead of the ApplyCalibration). They both do the same thing, except the Save() command will let you name the calset, whereas the ApplyCalibration just uses a calregister.
You can then apply it to your uncalibrated channel by using the IAgNAChannel.CalSsetName property.
So, what is a .cal file? A .cal file stores a collection of calsets into a file, so that they can be imported later back into the system. This is almost never necessary, because the calsets persist forever anyway
And what is a .csa file? A .csa file stores everything.. the stimulus and the calsets. It can be very convenient to write code around a .csa file. The big problem is that the .csa file is an opaque data file... so you don't have a great way of understanding what happens when this file is loaded. It is more robust to write your code to setup all the stimulus state, and then apply the calibration. You should be able to accomplish that by using the techniques above.
Edited by: johanericsson on Feb 23, 2015 10:39 PM
如果这看起来很复杂,我很抱歉。
你在IVI驱动程序中原生支持你所描述的内容,你不应该使用.cal文件,因为它们用于不同的目的。
“ApplyCalibration”命令仅在采集校准期间使用。
这是计算错误术语,创建calregister并将其应用于通道的最后一步。
CalRegister定义:calregister是一个与通道号绑定的未命名calset。
下次校准通道时,将清除并重新创建该通道的calregister。
要在以后应用校准集而不执行校准,您必须首先知道校准集的名称。
使用IAgNAChannel.CalSetName属性在校准后查询校准名称。
所有校准集都自动保留(存储)在系统上。
因此,您可以使用IAgNAChannel.CalSetName属性稍后将calset应用于未修正的通道。
您无需在系统上保存任何新文件。
您可能需要一个命名的calset。
一旦命名了calset,它就会永久存在(直到你删除它)。
要创建命名calset,可以将calregister复制到命名calset中。
首先从IAgNAChannel.CalSetName中获取calregister的“名称”,然后使用IAgNACalsets.Copy复制它。
或者您可以使用IAgNAGuidedCalibration对象上的“保存”命令。
(而不是ApplyCalibration)。
它们都做同样的事情,除了Save()命令允许你命名calset,而ApplyCalibration只使用calregister。
然后,您可以使用IAgNAChannel.CalSsetName属性将其应用于未校准的通道。
那么,什么是.cal文件?
.cal文件将一组calset存储到一个文件中,以便稍后可以将它们导回到系统中。
这几乎是不必要的,因为无论如何,calsets永远存在并且什么是.csa文件?
.csa文件存储所有内容..刺激和校准集。
在.csa文件周围编写代码非常方便。
最大的问题是.csa文件是一个不透明的数据文件...所以你没有很好的方法来理解加载这个文件时会发生什么。
编写代码以设置所有激励状态更加稳健,然后应用校准。
您应该能够通过使用上述技术来实现这一目标。编辑:johanericsson于2015年2月23日下午10:39
以上来自于谷歌翻译
以下为原文
I'm sorry if this seems complicated. What you are describing is supported natively in the IVI driver, and you shouldn't be using .cal files, as they are for a different purpose.
The "ApplyCalibration" command is only used during the acquisition of the calibration. It is the last step that computes the error terms, creates a calregister, and applies it to the channel.
CalRegister definition: A calregister is an unnamed calset that is tied to a channel number. The next time you calibrate the channel, that channel's calregister is cleared and recreated.
To later apply a calset without performing a calibration, you must first know the name of your calset. Use the IAgNAChannel.CalSetName property to query the calset name after the calibration. All the calsets are automatically persisted (stored) on the system. So, you can apply the calset later to an uncorrected channel by using the IAgNAChannel.CalSetName property. There is no need for you to save any new files on the system.
You may want a named calset. Once the calset is named, then it will persist forever (until you delete it). To create a named calset, you can copy the calregister into a named calset. First grab the "name" of the calregister from the IAgNAChannel.CalSetName and then copy it by using the IAgNACalsets.Copy.
Or you could use the "Save" command on the IAgNAGuidedCalibration object. (instead of the ApplyCalibration). They both do the same thing, except the Save() command will let you name the calset, whereas the ApplyCalibration just uses a calregister.
You can then apply it to your uncalibrated channel by using the IAgNAChannel.CalSsetName property.
So, what is a .cal file? A .cal file stores a collection of calsets into a file, so that they can be imported later back into the system. This is almost never necessary, because the calsets persist forever anyway
And what is a .csa file? A .csa file stores everything.. the stimulus and the calsets. It can be very convenient to write code around a .csa file. The big problem is that the .csa file is an opaque data file... so you don't have a great way of understanding what happens when this file is loaded. It is more robust to write your code to setup all the stimulus state, and then apply the calibration. You should be able to accomplish that by using the techniques above.
Edited by: johanericsson on Feb 23, 2015 10:39 PM
举报