問題タブ [imagej]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 多くの ROI ポリゴンの保存とアクセス (IDL、ImageJ、Java?、XML?)
画像のスタックに何千もの ROI ポリゴンを保存して再読み込みする必要があります。実際には 30 分以上の毎秒 30 フレームのムービーなので、少なくとも 54,000 フレームです。スタック内の 1 つの画像 (フレーム) に複数の ROI が存在する可能性があり、各 ROI のサイズと頂点の数は異なります。ROI ポリゴンは、時間の経過とともに変化する形状のエッジを追跡しています。
通常、ムービー スタックは大きすぎて一度にメモリに保持できません。それを後処理し、フレームごとにかき回して形状を追跡します。ROI オブジェクトを一度に 1 フレームずつバイナリ ファイルに保存できますが、54,000 以上のファイルをまとめて保存する必要があります。あるいは、コンテナー オブジェクトを割り当てて 54,000 以上の ROI フレームをすべて保持し、それを 1 つのファイルに保存しようとすると、すぐにリソースが不足してしまいます。
すべての ROI を、ランダムにアクセスして変更できる 1 つのファイルに保存したいと考えています。フレーム 100 に 3 番目の ROI ポリゴンが必要な場合は、すぐにロードできるようにしたいと考えています。また、保存したファイルに ROI を挿入および削除できるようにしたいと考えています。
これを行うのに最適なファイル形式は何ですか? 受け入れられるフォーマットまたはアプリケーションはありますか? ImageJ にはネイティブの ROI 形式がありますが、私はそれについてあまり知りません。現在、私のアプリケーションは IDL でプログラムされています。IDL には独自の ROI クラスがありますが、前述したように、それらすべてを別々のファイルに書き出すのは避けたいと思います。また、それらすべてを 1 つのファイルにまとめるリソースもありません。XML? ありがとう。
image-processing - FFT適用画像のバンドパスフィルター。(ImageJ バンドパス フィルター アルゴリズムと同様)
私が必要としている優れた関数があり、これは Java プログラムで実装されています: ImageJ. そこで使われているアルゴリズムを理解する必要があります。この関数にはいくつかのパラメーターがあります: リンク テキスト
また、FFT を使用する前に、画像を特別な画像に変換します。バンドパス フィルターは、特別なアルゴリズムを使用してエッジ アーティファクトを減らします (フーリエ変換の前に、元の画像の外側にある画像部分のミラーリングされたコピーを添付することで画像のサイズが拡張されるため、ジャンプはありません)。エッジで発生します)
この特別な変換について詳しく教えてください。実際に鏡像をタイリング。
私は C++ で書いていますが、プログラムのその部分を C++ で書き直したいと思っています。
EDIT1:ミラーリングされたイメージ操作をどのように行うかを理解する必要があります。それは特別なものかもしれません。実際には、最初は画像を新しいサイズの画像に変換するので、私の画像では、600X480 から 1024X1024 サイズの画像に変換します。ここでタイルはどのように使用されますか?
EDIT2:また、この tileMirrored 関数の説明を理解するのは難しいです:
ImageProcessor (ROI) を、サイズが幅 x 高さ y の新しい ImageProcessor の位置 (x,y) に配置します。画像は、FFT の影響を回避するために、そのエッジの周りがミラーリングされます。「... 位置 (x,y) で幅 x 高さ y のサイズ」とはどういう意味ですか?
EDIT3: そのバンドパス フィルターを実装したところ、元のプログラムと同じ結果が得られました。しかし、元のプログラム (私のプログラムでも) のアルゴリズム自体は非常に遅いです。プログラムでそのフィルターを一度も使用したくないのですが、呼び出しごとに約 0.5 から 2 秒を計算します (パラメーター値によって異なります)。FHT 変換 (FFT ではない) が使用されていますが、FFT よりも高速ですか? フィルタ自体が最適化されていないと思います。filterLargeSmall 関数の実装: ソース コードを参照してください。
java - JavaまたはclojureでImageJを使用してバッチ画像処理を行うにはどうすればよいですか?
ImageJ を使用して、数千の画像を処理したいと考えています。
一般的な imageJ プラグインを使用して、何百もの画像に自動的に適用する方法はありますか?
たとえば、何千もの画像を取得し、それぞれに極座標変換を適用したいとします---
ImageJ の極座標変換プラグインは次の場所にあります。
http://rsbweb.nih.gov/ij/plugins/polar-transformer.html
すごい!使ってみましょう。から:
以下を使用してプラグインを適用できることがわかりました。
これは、他の方法ではすべての画像に対してポップアップするダイアログを抑制するため、優れています。しかし、これを実行すると、変換された画像を単に返すだけの場合、変換された画像を含むウィンドウが常に表示されます。
私がやりたいことを行う最も愚かな方法は、表示されたウィンドウを閉じて、表示されていた画像を返すことです。
私が望むことはしますが、完全に遅れています:
プログラミングのコンテキストで imageJ プラグインを使用する方法について、明らかに何かが欠けています。これを行う正しい方法を知っている人はいますか?
ありがとう、 -- ロバート・マッキンタイア
java - ImageJ の複数の色のオーバーレイ
私は imageJ 用の小さなプラグインを作成しており、画像のオーバーレイとしていくつかの領域を描画しています。
私はこのコードを使用しています:
regions
Roi の配列はどこにありますか。
これは意図したとおりに機能し、オーバーレイに使用される標準の ImageJ シアン (私の目には痛い) で領域を描画します。特定の領域を別の色で描きたいのですが、それを行う方法が見つからないようです。オーバーレイ全体の色を変更できることがわかりましたが、同じオーバーレイに 2 つの色が必要です。
何か案は?
前もって感謝します
ニコ
image-processing - 画像から点オブジェクトのピクセル座標をエクスポートする方法 (imagej?)
私は、顕微鏡画像内の点オブジェクトの間隔と分布に興味があるプロジェクトに参加しています。
そのため、画像はかなり複雑な背景からの暗い円形の小さな点で構成されています。いつの日か特徴抽出スクリプトを使用して自動的にこれを行うことができればよいのですが、今のところ、ポイントを手で選んでいます...自分の目を信頼しているためです:)
いくつかの異なるソフトウェアを調べましたが、これまでのところ、マルチポイント選択機能を備えた imagej が気に入りました。しかし、ポイントを手で選択した後、座標をエクスポートする方法がわかりませんでした。必要なのは、各ポイントの X と Y だけです (画像ごとに約 100 ポイント)。
ポインタはありますか?
または、これを行う方法について別のアイデアがある場合は、別のプログラム(matlab?)を提案するか、他の有用な読み物などを教えてください...
どうもありがとう!
imagej - ImageJ(java)で文字列をコードとして実行
コードは文字列にあります。例:
str を実行すると、対応するコンテンツが実行されます。
java - 画像のスタックに対する ImageJ の明るさとコントラスト
ImageJ の画像のデータセット セット (.tif 画像のスタック、約 130 フレーム) を調べていますが、データセットに問題があります。これは一連の顕微鏡画像で、各フレームは前のフレームの上下約 3 ~ 4 マイクロメートルの平面です。データセットを深く掘り下げると、光の散乱によって背景が明るくなり、標本の主な特徴が暗くなります。
ただし、ImageJ の明るさとコントラストの機能は、画像のスタック全体を表すヒストグラムを使用します。スタックの奥深くにある画像で [自動] と [リセット] をクリックすると、結果として得られるコントラストは完璧です。すべての機能が非常によく点灯します。ただし、スタックの最初に戻ると、ほとんどの機能が飽和状態になっています。
スタック内のさまざまなポイントからいくつかの画像を手動で抽出し、それぞれに対して Auto->Reset in Brightness & Contrast を個別に実行してから、それらをスタックに再変換しようとしましたが、非常にしっかりしているように見えます。スタック全体に対してプログラムで (プラグインなどを使用して) これを行うにはどうすればよいですか? 関連する API 呼び出しは何ですか?
java - ImageJ jar ファイル プラグイン ショートカットの作成
私は、マーカー発現のパーセンテージを決定するために、DAPI 染色とともにさまざまな核マーカーをマーキングする発生生物学プロジェクトに取り組んでいます。ImageJ プラグイン ITCN ( http://rsbweb.nih.gov/ij/plugins/itcn.html ) は、CLAHE プログラムも使用する場合、各マーカーでうまく機能することがわかりました。私の問題は、分析する画像が約 6000 枚あり、プロセスを自動化できることです。次のようなマクロを記録しました(それ自体を個々の画像ファイルにループできます):
しかし、ITCN アイコンは自動的に分析を開始しません。また、ジョブを実行するための簡単にプログラムされたショートカットもありません。私はJavaプログラミングについて完全に無知であり、このおそらく簡単な問題を回避する方法があるかどうか知りたい.
前もってありがとうマイケル
java - マクロ ImageJ の変数に x 座標と y 座標を取得する
ポイント選択ツールを使用して画像にポイントを配置し、x 座標と y 座標をマクロの変数に読み取れるようにしたいと考えています。
getSelectionCoordinates を試しましたが、うまくいきません。ログまたは結果ウィンドウに座標を表示したくありません。
どんな助けでも大歓迎です。