air-h-128k-il@goo

硬めの記事、多いかも

PyVTK

2023-11-21 11:27:16 | VTK

VTK の話題を以前にした。

python から、VTK を呼び出す PyVTK というのがあるそうなんでチラッとのぞいてきた。

んー。

これも OpenGL→Metal に対する配慮は一切なし。

以前にも書いたが、MacOS では既に OpenGL は非推奨だ。

現状でも使えないことはないが、そこかしこに不具合が出始めている。

だから、Mac python 環境下からこのライブラリを使っても大したことはできそうもないし、近い将来はまったく使えなくなる。

VTK自体も Vulkan 以降が取り沙汰されているので、windows 環境でも将来はそれほど明るいものではない。

これは手を出せませんね。

 

ところで、関係者の一人に小山哲央という人がいる。

私、以前に、というか今もかなり迷惑をかけられたことがって、覚えていた。
(ちなみにこういう人です)

Java もアヤしい感じの人だったから、VTK の C/C++ を改変するレベルの技量を持っているとは考えにくい。

オープンソースは短命なものが多いが、理由はこういったことに起因するのだろう。

 

 

 


PHORLIX

2023-04-21 09:04:53 | 日記

以前に VTK(Visualization Tool Kit)というライブラリに関して触れたが、これは HorliX という画像ビューアで VTK を使っているから。

具体的には、Volumic なデータを3次元的に可視化するときに使っている。

例えば、VTK の RayCast による Volume Rendering 機能を Objective-C プロジェクトから呼び出すとこんな感じになる。

VTK は現在のところ OpenGL に依存しているから、OpenGL -> Metal の移行が起こると当然この機能は使えなくなる。

これは、痛い。

そういう背景があり、VTK も Metal(もしくは Vulkan)に移行してくれないかなと思っていたのだった。

ただ、待っていてもしょうがない。

自分でも、Metal による Volume rendering の簡単なコードを書いてみた。

 

それほど、凝ったコードではないが、大筋、うまくいってるんではなかろうか。

 

 


VTK と Vulkan

2023-03-06 14:56:44 | 日記

以前に VTK のことを取り上げた。

これまで、VTK は MacOS 向けの画像ライブラリに OpenGL を用いていたが、ご存じの通り、将来的には OpenGL は廃止になる。

VTK は各 OS 向けに window を提供しているが、MacOS で使う vtkCocoaRenderWindow は、クラスの継承関係としては以下のようになっている。

vtkObjectBase

vtkObject

vtkWindow

vtkRenderWindow

vtkOpenGLRenderWindow

vtkCocoaRenderWindow

 

このうち vtkOpenGLRenderWindow が OpenGL に依存しているのため、これを継承している vtkCocoaRenderWindow は OpenGL が廃止になったら、使えなくなってしまう。

当然、VTK は、こういった構成も含めて、再検討しなければならない。

順当にいくなら、アップル公式推奨の Matal を使うことになるのだろうが、Metal は windows や linux 上では動かず、マルチプラットフォームが売りの VTK の基本設計と甚だ相性がよろしくない。

どうするか気になっていたのだが、結局、Vulkan を採用するようだ。

GitLab のリポジトリには、(完全ではないが)ある程度のコードが既に上がっている。

開発者からのメッセージも読むことができる。

ただ、ここのところ更新は滞っており、どうなることやら。

 


DolphORCA ログイン認証を実装

2022-12-20 19:24:55 | DolphORCA

DolphORCA というプロジェクトをやっているのだが、提案者の私よりも周囲の方々が頑張っているので(こことかこことか)、アオられて私もちょいと作業。

今回はログイン認証の機構を実装した。

DolphORCA を立ち上げるとまずこんな画面がお出迎えしてくれる。

一応、医療機関にもユニークな ID を振り多施設対応になっている。

医療機関 ID - User ID - Password の組み合わせが登録データと合っていれば、次の画面に遷移できるという仕組みだ。

この仕組みがないと(当たり前だが)電子カルテとしては認められない。

submit 押下でこれらデータを受け取ったサーバーは、データベース上に記録された情報を参照して、正規の組み合わせであるか判定する。

正しい組み合わせで試行。

 

よしよし、正しく動いてくれた。

次に意図的に間違ったデータを入力する。

 

変な言い方だが「正しく」この人が正規ユーザーでないと判断してくれました。

なお、なんで、IT 関係の人々がこういったことを気にするのかというと、どちらかといえば「該当データがない」場合の処理にそれなりに気を使うから。

DolphORCA は主に Java で書かれているが、いわゆるヌルポ(NullPointerException)の問題があるから。

おかしな処理の仕方をするとヌルポがでて、プログラム自体が止まってしまうのだ。

 

air-h-128k-il

OpenDolphin-2.7m 開発者

HorliX 開発者

 

 

 

 

 


VTK -サワリ-

2021-08-15 01:05:25 | VTK

VTK といいうのは Visualization Tool Kit の頭文字の略で、容易に想像がつくようにデータの可視化ツールだ。

技術的には標準的な C++ で書かれており(一部、OS 依存の部分はもちろんあるが)、cmake というツールを使って各々の OS 向けにライブラリとしてビルドする。

医療系のソフトだと、まず OsiriX に3D構築のツールとして組み込まれて知名度が高まった。(だから、当然、Horos や HorliX にも使われている)

今でもアクティブに開発は続けられているが、新しい MacOS 向けの修正(M1 や Metal 対応)がやや遅れている。


VTK がどんなものかは見てもらった方がわかりやすいでしょう。




これは、サンプルコードを cmake のみで Mac アプリまで作成した例。

では、こちらはどうでしょう。

表示されている内容は最初のものといっしょですが、動作のさせ方が違いますね。

いったん、空の window が表示され、メニューからこの画像を呼び出しています。

これは、VTK のライブラリを MacOS のアプリに組み込んで使っているのでこうなっています。

実際のソフトは特定の OS 上で動き、UI などのパーツはその OS が提供するものを用いるので、実務的には後者の使い方が多くなります。

 

air-h-128k-il