問題タブ [vtk]

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.

0 投票する
3 に答える
582 参照

.net - アプリケーションをフリーズするスレッド

DICOMデータ セットを読み取り、 VTKライブラリを使用してボリューム レンダリング技術でそれらを視覚化するアプリケーションを設計しています。とにかく、私が扱っている問題は、ボリューム レンダリングが実際には CPU バウンド プロセスであることです。シングル スレッド プロセスでボリューム レンダリングを処理すると、アプリケーション (GUI) がフリーズし、「応答なし」状態になります。ボリューム レンダリング プロセス用に別のスレッドを作成しました。ただし、GUI は引き続きフリーズします。コードは次のとおりです。

threeDPictureBoxは、dicomオブジェクトのvolumeRenderメソッドに送っているPictureBoxコンポーネントです。vrSettings は、ボリューム レンダリング パラメータの構造体です。
ボリューム レンダリング ボタンがクリックされ、クリック イベント ハンドラーが起動されると、ボリューム レンダー スレッドが開始され、優先度を最低に設定していてもアプリケーションがフリーズします。コメントされている行も試しました。それらのどれも機能しません。私が見逃しているポイントは何ですか?? 今から答えてくれてありがとう!!

0 投票する
2 に答える
896 参照

c++ - vtkを使用して別のスレッドで実行されている計算をリアルタイムで視覚化する方法

視覚化ツールキットを使用して、実行中の計算を別のスレッドでリアルタイムに視覚化したいと思います。計算は、反復ごとに視覚化される新しい値のセットを吐き出します。グラフィカルスレッドは、これをある程度認識し、新しい値をロードする必要があります。

これを行う1つの方法は、メインスレッドに計算の状態をポーリングさせることです。理想的にはポーリングを行いたくないのですが、他に方法がない場合は行います。

私が考えることができる最善の方法は、計算の反復ごとに計算スレッドがイベントをメインスレッドのイベントキューにプッシュし、それがGUIによって処理されるようにすることです。これを実行する方法、またはスレッドセーフな方法で実行できるかどうかはわかりません。

Linuxのgcc/C++でpthreadを使用してvtkを使用しています。

0 投票する
3 に答える
4588 参照

opengl - vtk でプリミティブ (点、線など) を描画する方法は?

vtkActor でプリミティブを描画する必要がありますが、方法がわかりません。これにはopengl関数を使用できますか?この例http://www.vtk.org/Wiki/VTK/Examples/Cxx/Plotting/Diagramでは動作していますが、インタラクティブに描画する必要があります。回答ありがとうございます。

0 投票する
1 に答える
810 参照

c++ - 一部の VTK ライブラリ ファイルにエラーが含まれていますか?

ubuntuにvtkをインストールできました。私は code::Blocks をコンパイラとして使用し、c++ で作業しています。また、vtk の例の Web ページにあるいくつかの例をコンパイルして実行しました。しかし、vtkChart.h が関係している場合など、いくつかの例では、私のコンパイラはファイルの内容を参照するエラーを出します。

これらのヘッダー ファイルは自動的に生成され、エラーは含まれません。下の画像で確認できます。何が間違っている可能性がありますか?コンパイラが原因ですか?

ありがとうございました。

ここに画像の説明を入力

画像が見えない人のために、コードを以下に示します。

表示されているコード セグメントについてのみ、以下のエラーが表示されます。

../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|38|エラー: '{' トークンの前にクラス名が必要です |

../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|40|エラー: 'vtkContextItem' はタイプを指定していません|

../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|40|エラー: 'vtkContextItem' が宣言されていません|

../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|40|エラー: タイプ 'vtkObjectBase*' からタイプ 'vtkChart*' への無効な static_cast |

../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h||メンバー関数内 'virtual vtkObjectBase* vtkChart::NewInstanceInternal() const':|

../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|40|エラー: 'New' は 'vtkChart' のメンバーではありません |

そして続く..

0 投票する
1 に答える
477 参照

qt - QVTKWidget + vtkRectilinearWipeWipeWidget = 視覚化の問題

ハロー、

Qt アプリケーションで vtkRectilinearWipeWidget を使用しようとしています。

新しい vtkRenderWindowInteractor を作成すると、すべてが正常に機能し、別のウィンドウで完全に機能するウィジェットが得られます。しかし、qvtkwidget を作成したアプリケーション内にウィジェットを配置したいと考えています。

問題は、アプリケーションを実行すると vtkRectilinearWipe が表示されますが、すべてのウィジェット機能 (分割を移動するスライダーなど) が表示されないことです。

代わりに、マウスで 2D イメージを回転できます。

以下にコードを貼り付けました(代わりにPastebin)。誰かがそれを見て、私が間違っていることを理解してくれると本当にありがたいです。

http://pastebin.com/ufaiyPzv

0 投票する
1 に答える
2319 参照

vtk - カラー画像の明るさとコントラスト

カラー画像の明るさとコントラストを変更する方法を知っている人はいますか。vtkImageMapToWindowLevelについては知っているのですが、このクラスで画像のレベルやウィンドウを設定するとカラー画像がグレースケールになってしまいます。

回答ありがとうございます。

0 投票する
1 に答える
732 参照

c++ - vtkChartsライブラリはVisualStudioでもGCCコンパイラでも機能しません-なぜですか?

私はvtkの初心者で、vtkChartsライブラリを使用したいと思っています。LinuxとWindowsの両方で、私はvtkをコンパイルし、ほとんどの例で動作するように管理しました。

唯一の厄介な例は、リンクにあるようなチャートライブラリを含むものです。

折れ線グラフの例

コンパイルすると、VisualStudioでいくつかのリンクエラーが発生します。セグメントは以下のとおりです。vtkChartsライブラリを含めることを忘れませんでした。

1> vtkCharts.lib(vtkContextView.obj):エラーLNK2019:未解決の外部シンボル "保護:仮想__thiscall vtkRenderView ::〜vtkRenderView(void)"(?? 1vtkRenderView @@ MAE @ XZ)関数 "保護:仮想__thiscall vtkContextView ::〜vtkContextView(void) "(?? 1vtkContextView @@ MAE @ XZ)1> vtkCharts.lib(vtkContextView.obj):エラーLNK2019:未解決の外部シンボル" public:virtual void __thiscall vtkRenderView :: SetDisplayHoverText(bool) "( ?SetDisplayHoverText @ vtkRenderView @@ UAEX_N @ Z)関数 "protected:__thiscall vtkContextView :: vtkContextView(void)"(?? 0vtkContextView @@ IAE @ XZ)1> vtkCharts.lib(vtkContextView.obj):エラーLNK2019:未解決外部シンボル「保護:__ thiscall vtkRenderView :: vtkRenderView(void)」(?? 0vtkRenderView @@ IAE @ XZ)関数 "protected:__thiscall vtkContextView :: vtkContextView(void)"(?? 0vtkContextView @@ IAE @ XZ)1> vtkCharts.lib(vtkContextView.obj):エラーLNK2001:未解決で参照外部シンボル"public:virtual void __thiscall vtkView :: Update(void)"(?Update @ vtkView @@ UAEXXZ)1> vtkCharts.lib(vtkContextView.obj):エラーLNK2001:未解決の外部シンボル "public:virtual void __thiscall vtkRenderView: :ApplyViewTheme(class vtkViewTheme *) "(?ApplyViewTheme @ vtkRenderView @@ UAEXPAVvtkViewTheme @@@ Z)1> vtkCharts.lib(vtkContextView.obj):エラーLNK2001:未解決の外部シンボル"保護:仮想void __thiscall vtkRenderView :: ProcessEvents(class vtkObject *、unsigned long、void *) "(?ProcessEvents @ vtkRenderView @@ MAEXPAVvtkObject @@ KPAX @ Z)(?ProcessEvents @ vtkRenderView @@ MAEXPAVvtkObject @@ KPAX @ Z)

Code :: Blocksでは、GCCを使用すると、次のようなエラーが発生します。

./VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|38|エラー:「{」トークンの前にクラス名が必要です| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|40|エラー:'vtkContextItem'はタイプを指定しません| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|40|エラー:「vtkContextItem」は宣言されていません| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|40|エラー:タイプ「vtkObjectBase*」からタイプ「vtkChart*」へのstatic_castが無効です| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h||メンバー関数内'virtualvtkObjectBase * vtkChart :: NewInstanceInternal()const':| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|40|エラー:「新規」は「vtkChart」のメンバーではありません| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h||メンバー関数内'virtualvtkAnnotationLink * vtkChart :: GetAnnotationLink()':| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|104|エラー:'classvtkChart'には'GetDebug'という名前のメンバーがありません| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|104|エラー:「classvtkChart」には「GetClassName」という名前のメンバーがありません| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|104|エラー:「classvtkChart」には「GetClassName」という名前のメンバーがありません| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h||メンバー関数内'virtualvoid vtkChart :: SetGeometry(int、int)':| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|108|エラー:「classvtkChart」には「GetDebug」という名前のメンバーがありません| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|108|エラー:「classvtkChart」には「GetClassName」という名前のメンバーがありません| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|108|エラー:「classvtkChart」には「GetClassName」という名前のメンバーがありません| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|108|エラー:「classvtkChart」には「Modified」という名前のメンバーがありません| .. /VTK-build/VTK-5.6/VTK/Charts/vtkChart.h||メンバー関数内'virtualint * vtkChart :: GetGeometry()':| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|109|エラー:「classvtkChart」には「GetDebug」という名前のメンバーがありません| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|109|エラー:「classvtkChart」には「GetClassName」という名前のメンバーがありません| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|109|エラー:「classvtkChart」には「GetClassName」という名前のメンバーがありません| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h||メンバー関数内'virtualvoid vtkChart :: GetGeometry(int&、int&)':| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|109|エラー:「classvtkChart」には「GetDebug」という名前のメンバーがありません| 'classvtkChart'には'GetDebug'という名前のメンバーがありません| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|109|エラー:「classvtkChart」には「GetClassName」という名前のメンバーがありません| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|109|エラー:「classvtkChart」には「GetClassName」という名前のメンバーがありません| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h||メンバー関数内'virtualvoid vtkChart :: GetGeometry(int&、int&)':| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|109|エラー:「classvtkChart」には「GetDebug」という名前のメンバーがありません| 'classvtkChart'には'GetDebug'という名前のメンバーがありません| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|109|エラー:「classvtkChart」には「GetClassName」という名前のメンバーがありません| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|109|エラー:「classvtkChart」には「GetClassName」という名前のメンバーがありません| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h||メンバー関数内'virtualvoid vtkChart :: GetGeometry(int&、int&)':| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|109|エラー:「classvtkChart」には「GetDebug」という名前のメンバーがありません| GetGeometry(int&、int&)':| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|109|エラー:「classvtkChart」には「GetDebug」という名前のメンバーがありません| GetGeometry(int&、int&)':| ../VTK-build/VTK-5.6/VTK/Charts/vtkChart.h|109|エラー:「classvtkChart」には「GetDebug」という名前のメンバーがありません|

私は両方のプラットフォームでvtk5-6を使用しています。このエラーが発生する理由は何だろうか。

ありがとうございました。

0 投票する
3 に答える
3234 参照

c++ - VTKレンダリングウィンドウを閉じずにコードフローを作成するにはどうすればよいですか?

Visual Studio 2010、VTK 5.6を使用しており、CMakeを使用せずにプロジェクトを構成しています。

私は数値計算を扱っており、実行時にVTKを使用していくつかのプロットを生成したいと考えています。VTK Webページにある折れ線グラフの例から始めて、必要なプロットを生成することができました。問題は、プロットウィンドウを閉じないとコードが続行されないことです。

「main.cpp」ファイルから、VTKプロシージャが開始されるヘッダーファイルにコマンドを送信します。

「residualPlotter」は、プロットを生成する関数です。それは以下に与えられます:

したがって、ウィンドウを閉じなくてもコードを続行したいと思います。コードをどのように変更すればよいですか?

皆さん、ありがとうございました。

0 投票する
1 に答える
267 参照

opengl - OpenGL の vtkaxesactor タイプの軸

シーンの左下にある、OpenGL の VTK (vtkaxesactor クラス) のような xyz 軸を表示する必要があります。

フォアグラウンドで 3(x,y,z) 色の軸を探しています。これは、回転したときに方向感覚を与えますが、ズームには依存しません。

これを行う GLUT クラスはありますか? そうでない場合、これをどのように実装しますか?

datenwolf のコメントに従って編集します。

x、y、z パンと移動の範囲を追跡します。(私はpyopenglを使用しています)

これでうまくいきますが、これが最善の方法であるかどうかは疑問です。

0 投票する
1 に答える
2235 参照

visual-studio-2008 - VTK で GDCM をインストール、ビルド、使用するにはどうすればよいですか?

GDCM (Grassroots Dicom) を使い始めるのに問題があります。実際には問題なく VTK の例を実行できましたが、GDCM を使用しようとすると、常に次のようなエラーが発生します。

GDCM をビルドすると問題なく動作します。GDCM Web ページのガイドを順を追って実行しましたが、それでもプログラムを正常に実行できません。それで、誰でも私にガイドを投稿したり、アドバイスをくれたりできますか?

私は Windows7 で、Visual Studio 2008 で作業し、CMake を使用しています。