問題タブ [itk]
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.
ios - iOS上のITKライブラリ-DICOMのロード
私はiPad用のITKライブラリを構築しました-そしてそれは動作します。次に、ITKの例を作成しようとしました-次のようなものです:
しかし、私はパスDICOM
の代わりにipadのドキュメントフォルダのディレクトリにスタックをロードするために多くの可能性を試しました。c:/test
しかし、それはうまくいきませんでした。
だから私の考えはDICOM
インターネット上でそのようなものをロードすることです:
そして今、私はdicomデータ(患者名など)を取り出して画像データから分離しようと考えています。それなら、IPADに表示するUIImageを最後に持つことが可能でなければならないと思います。
その例を探しましたが、残念ながら...何か良いものが見つかりませんでした。誰かがiPadにdcmをロードする方法や、オブジェクトITK
から画像データを取得する方法を知っている人はいますか?NSData
c++ - ITKの倍精度とスマートポインターの問題
私が抱えている問題は、Qtを使用してGUIから画像を開くことです(ImageFrameを作成したクラスを通じて、このクラスはPixelTypeを次のように定義しています。
画像を抽出した後、入力が実際のデータであるFFTを作成することになります。エラーは次のように述べています。ImageFrameクラス(ピクセルタイプをdoubleとして定義している)のオブジェクトを使用して、「itk::SmartPointer」の3番目のパラメーターを「double*」に変換することはできません。
1>。\prueba_r01.cpp(126):エラーC2664:'fftw_plan_dft_r2c_2d':no sepuedeconvertirelparámetro3de'itk:: SmartPointer' a'double *'
1> with
1> [
1> TObjectType = itk ::画像
1>]
1>干し草なしdisponibleningúnoperadordeconversióndefinipodorelusuario que pueda realizarestaconversión、o bien no se puede llamar al operador
ピクセルがdouble形式の場合、なぜfftを計算できないのか理解できません。誰かが私にこの問題を解決する方法のアイデアを与えることができますか?よろしくお願いします!
c++ - ITKとFFTWを使用したVS2008のエラーLNK2019(未解決の外部シンボル)
私は医用画像を処理するためにITKとプロジェクトを行っています。多くの作業の後、それ以上のコンパイルエラーはありませんが、リンクプロセスで次の情報があります。
1> ------生成が開始されました:プロジェクト:prueba_r01、構成:デバッグWin32 ------ 1>リンク…1>ライブラリC:\ Documents and Settings \ GTTS \ Mis documentos \ Visual Studio 2008\Projectsを作成しています\ prueba_r01 \ Debug \ prueba_r01.libおよびオブジェクトC:\ Documents and Settings \ GTTS \ Mis documentos \ Visual Studio 2008 \ Projects \ prueba_r01 \ Debug \ prueba_r01.exp
1> prueba_r01.obj:エラーLNK2019:extern symbol "public:double(* __thiscall prueba_r01 :: multiply_matrix_2D(double()[2]、double()[2]、int、int))[2]"(?multiply_matrix_2D @ prueba_r01 @@ QAEPAY01NPAY01N0HH @ Z)関数 "private:void __thiscall prueba_r01 :: filtro(void)"(?filtro @ prueba_r01 @@ AAEXXZ)で参照される未解決
1> C:\ Documents and Settings \ GTTS \ Mis documentos \ Visual Studio 2008 \ Projects \ prueba_r01 \ Debug \ prueba_r01.exe:致命的なエラーLNK1120:1 externos sin resolver
1> prueba_r01-2つのエラー、0つの警告==========一般:0の修正、1の誤り、0の実現、0の省略==========
メソッドmultiply_matrix_2Dは、プライベートスロット「filtro()」内で呼び出されたときにエラーを生成します(フィルターとして変換されます)。ファイルのヘッダーは次のとおりです。
そして、問題が特定されている主要な部分は.cppファイルにあり、ここに表示されます。
**ダブルポインタを*fftw_complexにキャストするプロセスは、ここで行われます。これは、周波数領域(H(w))のフィルタに、画像のfft変換の結果を乗算したいためです。これが理由です。fftw_complexはdouble[2]であり、最初の行は実数部、2番目の行は虚数であることに注意することが重要です。問題のあるメソッドを以下に示します。
どんな助けでも本当にいいでしょう!今はかなり迷っています…ありがとう!グラシアス!アントニオ
c++ - 時間コンパイルでの違反アクセス(0xC0000005)
私がやりたいプロセスは、FFTを画像(「imagen」に格納されている)に作成し、それをフィルター「H」で乗算することです。その後、逆FFTも実行されます。コードを以下に示します。
問題はここ、関数'multiply_matrix_2D'内のループにあります。
x=95およびy=93の値は、M=191およびN=96です。prueba_r01.exeの0x004273abでの制御されていない例外:0xC0000005アクセス違反の読み取り0x01274000。
imagen http://img846.imageshack.us/img846/4585/accessviolationproblem.png
変数の多くの値が赤で表示されている場合、および変換の問題の場合:H_cast [] [1]の値ボックスに「Error30CXX0000:式を評価できません」があります。
どんなお手伝いもよろしくお願いします!!
アントニオ
c++ - FFT_2D を計算するための 2D double* ポインター内の画像のピクセル値
画像の FFT を計算したいので、画像を読み取ります。ITK SmartPointer は「imagen」と呼ばれます。FFT (fftw_plan_dft_r2c_2d) の計算に使用する関数の入力には、入力として 2D double* ポインターが必要です。そのため、私はそれを行います:
しかし、画像のピクセルの値にアクセスしようとすると、それらは定義されていません 「画像」のピクセルタイプは2倍です:
そして、画像はQtを使用してユーザーインターフェイスを介してフレームから読み取られます。
誰でもこれで私を助けることができますか?fft を計算するには、画像の値を 2D double* ポインターにする必要があります。
乾杯、高度なサポートに感謝します!
アントニオ・ゴメス・バルケロ
編集済み
私は自分の問題を解決しましたが、以下に投稿されていますが、コンパイル時ではなく実行時に画像がロードされるため、実行時まで2次元を知らずに結果を2Dマトリックスに変換することが問題になります。ヒントはありますか? ? ありがとう!
解決
c++ - itkvtkglue を使用して VTK で ITK を使用するには?
ウィキの例から IO/ImageFileReader という VTK に ITK を組み合わせた例を作りたかった。
itkvtkglue をダウンロードし、フォルダーに展開し、cmake で構成し、Visual Studio 2010 でビルドしました。
しかし、与えられた例を設定しようとすると使用できません。cmake は ItkVtkGlue_DIR を単独で見つけますが、必要なファイルを含めることができなかったというエラーが表示されます。含めることができません(${ItkVtkGlue_USE_FILE})
CMake が ItkVtkGlue ヘッダー ファイルを探すフォルダーをどうにかして変更する必要がありますか? ITK と VTK を一緒に使用する他の方法はありますか?
エラーとファイルの内容を以下に示します。
CMakeLists.txt は次のようになります。
ご協力ありがとうございました。
xcode - ITK、VTK を使用して DICOM ファイルを読み取る Cocoa アプリ
私は xcode 3.2.6 と Mac OS X 10.6.8 を持っているので、ITK 3-2.20 と VTK、Cmake 2.8-5 をダウンロードしました。
Cmake を使用して ITK と VTK をインストールし、Cmake を使用して Xcode プロジェクトの ITK と VTK を作成しました。ターゲット「ALL_BUILD」を設定し、この後にターゲット「install」を実行します。そのため、VTK からいくつかのテストを実行でき、それらは機能します。
しかし、ITK および VTK ライブラリを使用して DICOM ファイルを読み取り、表示するための Xcode プロジェクト (Cocoa アプリ) を作成するために私が何をすべきかを誰が言うことができますか?
たとえば、Cocoa アプリケーションを作成するために DicomImageReadWrite.cxx を使用する方法がわかりません。
似たような Xcode プロジェクトの例はありますか? (私はosirix.xcodeprojを持っていますが、実行しようとすると多くのエラーが表示されます)
c++ - ITK クラスを使用した C++ での奇妙なセグメンテーション違反
1、2 週間前から、この非常に奇妙な問題を修正しようとしてきました。
ITK を使用して DICOM 画像を読み込もうとしていますが、その後何らかの処理を行います。
問題は、ピクセルの種類に関係なく画像を読みたいということです。このためには、ピクセル タイプを見つけて、実行時に itkImage をインスタンス化する必要があります。
したがって、画像ファイルを読み取るときは、itkImage から itkImageBase に変換する必要があります (itkImage.h では、クラス itkImage : public itkImageBase として宣言されています)。
残念ながら、if ブロック内である型から別の型にキャストした後、この if ブロックの外側のどこにでもこの変数に格納されている値にアクセスできません。コードは次のとおりです。
*ポルトガル語の変数とメソッド名については申し訳ありません。ここに少しの助けがあります:
leitor はリーダーを意味します
tipoPixel は、pixelType を意味します。
abreImagem(テンプレート化されたメソッド)はopenImageを意味します
iniciaAbrirImagem は、initializeOpenImage を意味します
ご覧のとおり (または、コードが十分に明確であることを願っています)、私は itk::ImageBase<3> へのポインターを宣言し、クラス コンストラクターで値 0 で開始しました (初期化、初期化せずに既に試しました)。 null では、何も機能しません...)。
その後、他のクラスからいくつかのメソッドを呼び出して、入力画像のピクセル タイプを調べます。次に、入力画像と同じピクセル タイプの itk::ImageFileReader と itkImage をインスタンス化する and if ブロックに入ります。
次に、タイプ TipoLeitor (または必要に応じて ReaderType) の変数をテンプレート化された関数に送信し、そこで実際に try/catch ブロック内の画像ファイルを読み取ります。次に、次の試行で、リーダーの出力 (itkImage) を itkImageBase にキャストし、それを imagemB 変数に入れます。
テンプレート化されたメソッド内の GetNameOfClass など、そのクラスのランダムなメソッドを呼び出そうとすると、すべてが期待どおりに進みます。テンプレート化されたメソッドが呼び出された if ブロック内で同じことを行うと、それも問題ありません。しかし、if ブロックの後、関数内で同じことをしようとしてもうまくいきません。GetOutput() メソッドでこれを実行しようとすると、同じことが起こります。
変数 imagemB が if ブロック内で初期化されるようです。ブロックを終了すると、初期化されていない状態に設定されます (この単語は存在しますか)。
詳細なエラー メッセージはなく、「セグメンテーション違反」のみです。
助けてくれてありがとう。下手な英語と長いテキストについて申し訳ありません。
vtk - ITK では DICOM 画像が暗すぎる
ITKで画像を読み込み、VTKで表示しようとしています。
しかし、かなり長い間私を悩ませてきた問題があります。
クラス itkGDCMImageIO と itkImageSeriesReader を使用して画像を読み取ります。
読んだ後、私は2つの異なることができます:
1. itkImageToVTKImageFilter を使用して ITK イメージを vtkImageData に変換し、vtkImageReslicer を使用して 3 つの軸すべてを取得します。次に、クラス vtkImageMapper、vtkActor2D、vtkRenderer、および QVTKWidget を使用して画像を表示します。
この場合、画像を表示すると、色にいくつかの問題があります。それらのいくつかは非常に明るく表示され、他のものはほとんど見えないほど暗いです。
2. 2 番目のシナリオは、登録パイプラインです。ここでは、前と同じようにイメージを読み取り、ITK ソフトウェア ガイドの登録に関する章に示されているクラスを使用します。次に、画像をリサンプルし、itkImageSeriesWriter を使用します。
そして、問題が現れるのはその時です。画像をファイルに書き込んだ後、この新しい画像を XMedcon ソフトウェアで入力として使用した画像と比較します。私が書いた画像が私のソフトウェアで明るすぎて表示された場合、XMedcon で両方を比較しても変化はありません。そうしないと、私のソフトウェアで画像が暗すぎた場合、XMedcon ですべてめちゃくちゃに表示されます。
両方の画像 (元の画像と新しい画像) を比較すると、どちらの場合も、モダリティ、ピクセル寸法、および glmax に変更があることに気付きました。
大きな変化は暗い画像で発生するため、問題は glmax にあると思います。
私は本当に何をすべきかわかりません。これはカラーレベル/ウィンドウと関係がありますか? 最も奇妙なことは、すべての画像が非常に似ており、タグが同一であり、表示/書き込み時に一部の画像のみがエラーを表示することです。
c++ - Qt ユーザー インターフェイスで itk イメージを更新する
新しいアイデアが浮かばない日が数日あるので、あなたに話したい問題があります。
double* ポインターでポイントされた画像があり、それを itk::smartpointer に変換してユーザー グラフィック インターフェイスを更新したいので、この目的のために次のメソッドを作成しました。
そして、ここで呼び出されます:
その後、ユーザー インターフェイスが更新されます。
問題は、すべてが正しく機能しているように見えますが、インターフェイスの画像が更新されていないことです。私のプロジェクトにも有効な別のオプションは、画像を「.bmp」または「.jpeg」ファイルに保存することです。誰かが私を助けることができますか?何が正しく機能していないかについてのアイデアはありますか? この画像ファイルを作成する機能はありますか?