0

BMP画像ファイルのリストに対してバッチ「測定」を実行するために、ImageJでマクロを作成しました。私はheadless.jarを使用してヘッドレスモードでリモートLinuxマシンでコードを実行しています。

リスト内の画像の読み取り/ロード中にImageJでエラーまたは例外が発生すると、ImageJはプロセスを終了します。したがって、私は常にプロセスを監視し、手動でImageJにファイルをスキップさせる必要があります。

エラー/例外が発生した場合でも、ImageJにプロセスを続行させる方法はありますか?ファイル名をログまたは別のファイルに報告しますか?

4

1 に答える 1

0

ImageJマクロ言語で例外を明示的に処理することはできません。ただし、問題のあるマクロ呼び出しを行う前に前提条件などを確認することで、特定の種類の例外を防ぐことができます。

たとえば、ファイルのリストに存在しないファイルが含まれている場合は、File.exists(path) [1]を使用して、ファイルを開こうとする前にファイルが存在することを確認できます。

もちろん、すべてのエラー状態をこの方法で簡単にチェックできるわけではありません(たとえば、不正な形式のBMP)。したがって、マクロをImagejプラグインとして書き直すことが最も完全なソリューションであるというmedPhys-plに同意します。Plugins > Macros > Recordマクロではなくプラグインモードで記録するように設定されたマクロレコーダ()を使用すると、良いスタートを切ることができます。実行する関連コマンドを取得したら、Fijiスクリプトエディターを使用して、それらをプラグインに簡単にパッケージ化できます。

  1. File > New > Script
  2. Language > Java
  3. Templates > Java > Bare PlugIn
  4. コマンドをrunメソッドに貼り付けます。

ImageJプラグインの作成の詳細については、フィジーwikiのプラグイン開発入門を参照してください。

于 2012-10-18T19:23:43.060 に答える