Bio Technical フォーラム

  • バイオ関連の実験をする上での、試薬、機器、プロトコールなどの情報交換の場です。
  • 新しいテーマで話を始める場合、質問をする場合は「新しいトピックを作る」から書き込みをしてください。
  • 質問に対して解答できる方は是非、書き込んで下さい。
  • このフォーラムにふさわしくないと管理人が判断した投稿は予告なく削除します。

新しいトピックを作る | トピック一覧 | 研究留学ネットに戻る

ひとつ前のフォーラム(readのみ)

このスレッドをはてなブックマークに追加このスレッドをはてなブックマークに追加

マクロでCalibrationを行なう トピック削除
No.5478-TOPIC - 2016/10/16 (日) 18:47:04 - yTake
TIFの画像にCalibrationを掛ける事をマクロで行いたいと思います。
とりあえず、Record機能を使って手順を記録し、それを元に編集して使う事としました。
記録されたマクロコマンドは、
”run("Calibrate...", "open=[ キャリブファイル ] function=[ ファンクション ] unit=[ 単位 ] text1=[ 値リスト1 ] text2=[ 値リスト2 ] show");”
と言うものです。
”キャリブファイル”は事前に値リスト1と値リスト2を用いてCalibrationを実行していて、それを保存したものです。
つまり、キャリブファイルには値リスト1と値リスト2の値は保存されているにも関わらず、以降のtext1,text2で入力しています。2度手間の様に思い、text1,text2の項を省くとCalibrationの一列目と二列目の値が無いとのエラーになります。
これでは、何の為に”open=[filename]”の項でキャリブファイルを読み込んだか分かりません。

マクロで事前に保存したキャリブレーションファイルの使用方法を教えて戴けないでしょうか?


また、値リスト1、値リスト2を引数で渡した場合で、Calibrationが正常に終了します。キャリブレーションを掛けたTIF画像の方も、画像自体はそのままですが、"ImageJ"ウインドウの3段目(アイコン列の下)の画像上のマウス座標とそこのPixcel値がリアルタイムで表示されるところで、正しくキャリブレーション後の値と括弧の中にキャリブレーション前の値が併記されます。
念の為、”Save as ...”から”Text Image ...”で保存したテキストファイルにはキャリブレーション後の値で画像が出力されています。

しかしながら、マクロ上でこのキャリブレーションの前と後で同じ画像上の座標の値をgetPixel(x,y)で取得するといずれもキャリブレーション前の値で同じになります。

例、

value1 = getPixel( 100, 200 );

run( "Calibrate...", "open=[ ... ; <- 省略

value2 = getPixel( 100, 200 );

ここで、value1とvalue2の元々のvalue1の値で同じになっています。

この時、”ImageJ”ウインドウでの(100,200)値は、キャリブレーション後の値を示していて、括弧内の値でvalue1の値が表示されています。


なぜ、value2の値がキャリブレーション後の値にならないのでしょう?



上記2点、よろしくお願いします。
 
- このトピックにメッセージを投稿する -



4件 ( 1 〜 4 )  前 | 次  1/ 1. /1


(無題) 削除/引用
No.5478-4 - 2016/10/19 (水) 21:00:12 - サンショウウオ
getPixelの方は仕様ですのでCalibrationごの輝度値は取得できなさそうですね。

代わりに、

//輝度値を取得したいとこに点を打って
makePoint(149, 43);

//Measureで輝度値を取得後
run("Measure");

//Resultに表示された輝度値を取得
Value2=getResult("Column", row);//行・列を整数で指定してください


で目的の輝度値が得られると思います

(無題) 削除/引用
No.5478-3 - 2016/10/19 (水) 20:35:09 - サンショウウオ
 Calibrationを適当に走らせてみましたが(私は普段全く使わないのですが)、

 Calibrateの数字入力欄を空白にした状態で、
 下記のマクロを走らせたらエラー無くValue.xlsファイルを呼び出せましたが、これであっているでしょうか。

run("Calibrate...", "open=C:\\略\\Values.xls function=[Straight Line] show" );


getPixelに関しては、状況がよく理解できてないです。

マクロでCalibrationを行なう 削除/引用
No.5478-2 - 2016/10/17 (月) 10:59:14 - yTake
自己レスです。

保存したキャリブレーションファイルに問題はないと思います。


最初にキャリブレーションを行う際には、Calibrationウインドウの値リスト1の欄に"Measure"の値として濃度を、値リスト2の欄に手入力で値を入れています。

その後、キャリブレーションを実行した上で、"save"でキャリブレーションデータを頬zンします。

一旦、ImageJを終了し、再度立ち上げた後、”Analyze"−>"Calibration"から"Open"で先に保存したキャリブレーションファイルを読み込むと、先のキャリブレーション時のプロットと同じプロットが表示されます。

Calibrationウインドウの2か所の値リストの欄も値が読み込まれています。


つまり、キャリブレーションファイルを指定するだけでOKなはずと思われます。
値リストを引数にしなければならないのでしょうか?


と言う事であれば、キャリブレーションファイルを引数で指定する必要が無いと言う事になる様に思えます。


マクロでの正しい”run("Calibrate...")”で事前に保存したキャリブレーションファイルの使い方をご教授願えるでしょか?

マクロでCalibrationを行なう 削除/引用
No.5478-1 - 2016/10/16 (日) 18:47:04 - yTake
TIFの画像にCalibrationを掛ける事をマクロで行いたいと思います。
とりあえず、Record機能を使って手順を記録し、それを元に編集して使う事としました。
記録されたマクロコマンドは、
”run("Calibrate...", "open=[ キャリブファイル ] function=[ ファンクション ] unit=[ 単位 ] text1=[ 値リスト1 ] text2=[ 値リスト2 ] show");”
と言うものです。
”キャリブファイル”は事前に値リスト1と値リスト2を用いてCalibrationを実行していて、それを保存したものです。
つまり、キャリブファイルには値リスト1と値リスト2の値は保存されているにも関わらず、以降のtext1,text2で入力しています。2度手間の様に思い、text1,text2の項を省くとCalibrationの一列目と二列目の値が無いとのエラーになります。
これでは、何の為に”open=[filename]”の項でキャリブファイルを読み込んだか分かりません。

マクロで事前に保存したキャリブレーションファイルの使用方法を教えて戴けないでしょうか?


また、値リスト1、値リスト2を引数で渡した場合で、Calibrationが正常に終了します。キャリブレーションを掛けたTIF画像の方も、画像自体はそのままですが、"ImageJ"ウインドウの3段目(アイコン列の下)の画像上のマウス座標とそこのPixcel値がリアルタイムで表示されるところで、正しくキャリブレーション後の値と括弧の中にキャリブレーション前の値が併記されます。
念の為、”Save as ...”から”Text Image ...”で保存したテキストファイルにはキャリブレーション後の値で画像が出力されています。

しかしながら、マクロ上でこのキャリブレーションの前と後で同じ画像上の座標の値をgetPixel(x,y)で取得するといずれもキャリブレーション前の値で同じになります。

例、

value1 = getPixel( 100, 200 );

run( "Calibrate...", "open=[ ... ; <- 省略

value2 = getPixel( 100, 200 );

ここで、value1とvalue2の元々のvalue1の値で同じになっています。

この時、”ImageJ”ウインドウでの(100,200)値は、キャリブレーション後の値を示していて、括弧内の値でvalue1の値が表示されています。


なぜ、value2の値がキャリブレーション後の値にならないのでしょう?



上記2点、よろしくお願いします。

4件 ( 1 〜 4 )  前 | 次  1/ 1. /1


パスワードを入力してチェックした記事を チェックした記事を

このトピックにメッセージを投稿する
名前 
メール   アドレス非公開
   タイトル 
本文      
設定  クッキーを保存(次回の入力の手間を省けます)
上に上げない(トピックの一覧で一番上に移動させません)
解決(問題が解決した際にチェックしてください)
暗証  半角英数字8-12文字の暗証番号を入れると、あとで削除、修正ができます。
送信 

〔使い方〕
  • 「アドレス非公開」をチェックすれば、自分のメールアドレスを公開しないで他の方からメールを受け取れます。
  • 問題が解決した際には、解決ボタンをチェックして解決した旨のコメントをつけてください。これは、初めにトピックを作った人と管理人のみが可能です。
  • 半角カタカナ、機種依存文字(全角ローマ数字、○の中の数字等)は文字化けの原因となりますので使わないでください。