Bio Technical フォーラム

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

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

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

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

ImageJでの0埋め トピック削除
No.8701-TOPIC - 2020/03/04 (水) 16:46:38 - あべちゃん
久々に投稿させて頂きます。

ImageJで画像の自動解析をする際に
forループを使うことがあると思います。
例えば for (i = 0; i<20; i++)

それで、顕微鏡で連続画像を取得すると
例えば
image00, Image01, ..., Image19
となったりします。
このようなデータだと i = 00, 01, 02 ... 19
という感じでループしなければなりませんが
3行目にあるforループでは
Image0, Image1, ..., Image9
は実行できません。

Javaなどの言語ではゼロ埋めといって
i を定義する際に
i = %02d
というように桁数と埋める文字(0)を指定できるようです。

ImageJのマクロで同じようなことはできませんか?

ゼロ埋めや"0 padding" などで調べましたが見つけられませんでした。
教えて頂けると助かります。よろしくお願いいたします。
 
- このトピックにメッセージを投稿する -



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


(無題) 削除/引用
No.8701-7 - 2020/03/05 (木) 13:54:18 - あべちゃん
>[Re:5] ちきさんは書きました :
> 今調べたら、IJ.pad(n, length)という関数があるようです。

ちき様、

何度もありがとうございます。
IJ.padですね。

ImageJの掲示板を見るとIJ.padに言及したスレッドがあったのですがいまいち理解していなかったです。
もう一度ちゃんとみて使えるようになろうと思います。
ありがとうございました。

(無題) 削除/引用
No.8701-6 - 2020/03/05 (木) 13:51:17 - あべちゃん
wwn様、

ありがとうございます。
ImageJのマクロだけで「ヒーヒー」言ってる中年なので他のプログラムまでは手が出そうになく、
ちき様にも教えて頂いたIJ.padというマクロを使ってみようと思います。

助かりました。

(無題) 削除/引用
No.8701-5 - 2020/03/04 (水) 19:03:34 - ちき
今調べたら、IJ.pad(n, length)という関数があるようです。

(無題) 削除/引用
No.8701-4 - 2020/03/04 (水) 17:43:15 - wwn
先に別のプログラムでファイル名の0を取っちゃうというのもありではないでしょうか。
また、マクロでも正規表現が使えそうなのでそれでもいい気がします。
https://imagej.nih.gov/ij/developer/macro/functions.html

(無題) 削除/引用
No.8701-3 - 2020/03/04 (水) 17:07:11 - あべちゃん
ちき様、
ありがとうございます。

わたしはforを並べてひたすら
01のときと10のとき、20のとき...
のように書いていたのですが、

ちき様の方法なら3ケタでもやれる気がしてきました。
ありがとうございました。

(無題) 削除/引用
No.8701-2 - 2020/03/04 (水) 17:00:14 - ちき
全然きれいじゃないですが、

for (i=0; i<20; i++) {
if(i<10){
fileindex="Image0"+i;
}else{
fileindex="Image"+i;
}
run("hoge");
}

みたいにしてました。

ImageJでの0埋め 削除/引用
No.8701-1 - 2020/03/04 (水) 16:46:38 - あべちゃん
久々に投稿させて頂きます。

ImageJで画像の自動解析をする際に
forループを使うことがあると思います。
例えば for (i = 0; i<20; i++)

それで、顕微鏡で連続画像を取得すると
例えば
image00, Image01, ..., Image19
となったりします。
このようなデータだと i = 00, 01, 02 ... 19
という感じでループしなければなりませんが
3行目にあるforループでは
Image0, Image1, ..., Image9
は実行できません。

Javaなどの言語ではゼロ埋めといって
i を定義する際に
i = %02d
というように桁数と埋める文字(0)を指定できるようです。

ImageJのマクロで同じようなことはできませんか?

ゼロ埋めや"0 padding" などで調べましたが見つけられませんでした。
教えて頂けると助かります。よろしくお願いいたします。

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


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

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

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