私はDigitalMicrographのtert()コマンドが大好きですが、理解できないことがあります。テストスクリプトを考えてみましょう:実際の数値に対して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()
スクリプトは、「テスト」のアレイはなく、doesnot value1をvalue2のためにこれを見つけるに等しいピクセルを見つけました。 "value"が整数である場合にのみ、tertコマンドが条件(test == value)を理解しているようです。それ以外の場合は、等価性が完全ではないとみなされます。数値Value2が暗黙的に(私が仮定して)実数として定義されてから実際の配列に割り当てられたので、これは奇妙です。 DigitalMicrographがその値が整数/実数/倍数のどちらであるかを決定する方法は?
構文に関するちょっとしたコメント: 'X = tert(A、B、 C) 'は' X = A? B:C'は読みやすく(また文字列でも動作します)。 – BmyGuest