我非常喜欢 DigitalMicrograph 中的 tert() 命令,但其中有一些我不明白的地方。考虑测试脚本:
image test:= realimage("",4,100,1);
number value1 = 1;
number value2 = 0.1;
if(value2==0.1) result("\nvalue2 really equals 0.1");
test.setPixel(5,0,value1);
test.setPixel(10,0,value2);
image mask = imageclone(test);
mask = 0;
mask = tert(test==value1,1,mask);
mask = tert(test==value2,1,mask);
mask.showimage()
该脚本找到“test”数组等于 value1 的像素,但没有找到 value2 的像素。似乎 tert 命令仅在“值”是整数时才理解条件(test == value)。否则,它认为等价不是 EXACT。这很奇怪,因为数字 Value2 被隐含地(我假设)定义为实数,然后分配给实数数组。DigitalMicrograph 如何确定值是整数/实数/双精度数?