X(twitter) でも軽くお知らせしたのだが、Mac ノートを Sonoma にアップデート。
HorliX などが動作するかチェック。
問題ないようですね。
HorliX がダイコムシリーズをどう取り扱っているかわからないところがあったので、実験的なスタディを取り込ませる。
本来であれば 361 枚からなるスタディの上(頭側)から20枚をチョイスした擬似的なスタディを作成。
しっかり取り込んでくれて、ボリュームレンダもできる。
ダイコムの規約的にも予想はしていたんだが、あるシリーズは自分が何枚の画像からなるか「知らない」。
知らなくても利用には問題ないし、後から画像を追加できる利点がある。
というわけで、このスタディにさらに尾側10枚ほどを追加。
アラートは出現するが、
描画自体はできる。
だが、このボリュームレンダはイマイチ。
位置情報を使わずに Instance Number の順にテクスチャを生成しているようで、見事に中間が省略されている。
昔の OpenGL はどうか知らないが、Metal だと3次元的にテクスチャを生成できるので、ないところは適当なオブジェクトで埋めた方が多分いい。
この知見を PHORLIX にも反映。
スタディ・シリーズに関しては、それぞれ StudyInstanceUID ・SeriesInstanceUID が識別子になるようにデータベースの構造を変更。
細かいことを言えば、StudyInstnaceUID などが必ずしもユニークな識別子であるとは限らないのだが、今回は目を瞑る。
スタディ・シリーズの仕様がはっきりしてきたので、ビューアにスライダーをつけて連続表示できるようにした。
以前に HorliX と Orthanc を繋いだことがありますが、今回は Java 系の PACS サーバ dcm4chee-arc-light と繋いでみます。
web アプリ経由での通信(WADO-RS などという)もできるようなのですが、まずは、古典的なダイコム通信で。
dcm4chee-arc-light は Ver5 系になって、LDAP が採用され、運用にこぎつけるだけでも大変だと思いますが、この辺は
『dcm4chee-arc-light 5.29.2 のビルド』
『dcm4chee-arc-light 5.29.2 のデプロイ』
あたりの記事をご参考に。
今回は、接続テストですから、あらかじめバイナリが配布されている Ver5.29.1 を Ubuntu にインストールしておきます。
まず、HorliX 側の設定ですが、環境設定 -> Location で dcm4chee の DICOM ノードを登録します。
デフォルトだと dcm4chee は AETitle = DCM4CHEE, Port = 11112 になっているようです。これを指定。
注意! IP アドレスが localhost になっていますが、ソースで確認したら bind IP address が 0.0.0.0 になっていたので、ここは変更する必要はないです。
すると UI 画面右の source に DCM4CHEE という項目が出現します。
次に dcm4chee-arc-light 側の設定。
メニュー -> Configuration -> AE Title で HorliX を AE Title に追加します。
これで準備は完了。
いたってシンプルです。
送信したい study や series を DB 画面から、先ほど触れた source (DCM4CHEE) にドラッグ&ドロップするだけです。
送信が無事終わると、dcm4chee 側で画像の確認もできます。
WildFly HOME -> satndalone -> data -> fs1 に実体があります。
画像が増えてきた場合は fs2, fs3… になると思われます。
horos でも同様の手順で dcm4chee-arc-light とリンクして使うことができると思います。
通信周りは horos とそれほど変わっていないはずなので。
2021/10 月末に Mac の新しい OS Monterey がリリースされたようなので、アップデート。
前回の BigSur とは異なり、大型アップデートというよりはマイナーチェンジに留まるようだ。
HorliX の動作チェック。
目立った問題はなし。
BigSur で動作するならば、Monterey でも動くでしょう。
HorliX が Apple AppStore で配信を開始したのが 2018/8/8 なので、今年(2021)の8/8でちょうど丸3年になる。
記念に何かしようと思って特設ページをつくってはいた。
当初は、3周年記念モデルなどを作ろうかと思っていたのだが、新型コロナやらなんやらでなかなか時間が取れず、その先に進めないでいた。
結局、内輪で欲しいと手を挙げてくれた人に現行の Ver1.0.7 (もちろん使用期限なし)を新規にビルドした。
先日、なんとか配布を完遂させた。
お世辞もあるだろうが、かなり喜んでいただいたようだ。
正直、かなりほっとした。
8月いっぱいくらいは、このキャンペーンを続けようと思っているので、第二弾もお楽しみに。
以前から Mac の次期OS Big Sur は開発者向けにベータ版は配布されていたのだが、先日、RC (Release Candidate リリース候補バージョン) も公開され、正式リリースもそろそろといったところだろうか。
→ 11月初旬に正式リリース。11.0 は不具合も多かったので、すぐに 11.0.1にアップデートされました。
→ 11.0.1 も後述するようなバグ?があったので、12月14日に 11.1 にアップデートされました。
今回の改訂では、UI もけっこう変更になっているので、当方としてもそれなりの対応は不可避だと思っているが、とりあえずこれまでのバージョンでどの程度動作するかチェックしてみた。
まず、起動時の画面だが、ここはまったく問題なし。
続いて、2D Viewer のチェック。
ここも 11.1 では問題なし(M1, Intel Mac とも)。
ただし、11.0.1 では以下のような不具合がありました。
なぜか意味不明のバーが出現し、そのおかげで本来のツールバーが上下方向に縮んでいる。
→ バーが出現したのではなく、各種アイコンを載せているツールバーがアイコンに合わせて自動で伸びてくれないことが原因のようです。
機能的には問題ないようなのだが(2Dビューア上で「副」クリックするとROI などの各種メニューが出現する)、ここはなんとかしたいですね。
3D表示機能を VR(ボリュームレンダリング)でチェック。
見た目上は問題なし。
ただ、CLUT でプリセットを使おうとするとレインボーカーソルがでて、それ以上先に進まない。この不具合は、ある程度、心当たりがあるので、この点を重視してデバッグしていこうと思っている。
HorliX 開発チーム
Catalina の正式版がいつのまにかリリースされていたので、アップデート。
HorliX は無事動いているようです。
最新、Ver1.0.7 は、ダウンロードページからどうぞ。
日本語で使いたい方は、(もちろん)Japanese Ver を落としてください。
日本では報告されていなかったのですが、2D ビューアや 3D ビューア上で描画されるテキスト文字が解読できないくらい乱れるという問題が指摘されていました。
HorliX であれば
github issues: HorliX with CATALINA , TEXT LINE ILLEGIBLE
Horos であれば、
github issues: Length assessment bug [ROI] , Annotation colour is green, cannot change after update Catalina
あたり。
報告されているとはいっても、かなり特殊な条件でしかおこらないようなので対応を後回しにしていたのですが、3次元表示(ボリュームレンダリングなど)あたりのコードを整理・手直ししていたときに、「あ、そういうことか」と思い当たる節があり、下記のような操作を実行してみたところ上手くいきました。
HorliX のメーリングリストに流したのですが、ここでも解説します。
かなり特殊な実行環境だと思うのですが、ROI などを使った場合、
というようにまるっきり文字が読めない現象が出現するときがある。
このバグが生じるのは、実行環境の Mac のモニターのカラープロファイルが意図せぬ設定になっているせいなので、これを修正する。
具体的には、まず、画面左上にある林檎マークをクリックしてメニューアイテムを表示して『このMacについて』を選ぶ。
するとパネルが現れるので、『ディスプレイ』を表示させ、パネル右下の『”ディスプレイ”環境設定…』ボタンをクリック。
するとディスプレイ設定パネルが出現する。
ここで『カラー』を選ぶ。するとカラープロファイルの設定画面に切り替わる。
文字が判読できないような場合、ディスプレイプロファイルが『一般RGBプロファイル』以外になっているので、これを『一般RGBプロファイル』に選び直す。
この設定変更の後、再度アプリを立ち上げると
と文字が正常に表示されるようになります。
ソースコードレベルでの修正は検討しているところです。(できれば OS の側で修正して欲しいんですが)
今のところ、Catalina 移行に伴うバグらしいバグは上がってきていません。
3次元表示周りは、今一つコードが整理しきれていない印象があるので、ここは現在修正中です。
なお、上記のサンプルは MacOS BigSur でも無事に動いています。
Volume Rendering のところを整理する、みたいなことを言ってましたが、ここはどう頑張っても OpenGL になってしまうので(VTK の機能を利用しているため)、Metal で同様の機能を書いてみました。
オリジナル同様、RayCast Mapping という手法を使ってます。
OpenGL は廃止になることがわかっているため、こちらの方がいいでしょう。
Catalina の正式版に関する記事はこちら(↓)で。
Mac OSX の次期バージョン Catalina (OSX 10.15) のベータ版を Mac の一台にアップデート。
HorliX を走らせてみたが、試しに 2D Viewer での表示や 3D Viewer でボリュームレンダリングさせても問題なく動いた。
詳しい検証はこれからだが、主要な機能は使えるかと。
Catalina の正式版に関する記事はこちら(↓)で。
HorliX 開発チーム
HorliX は、AppStore から撤退を余儀なくされたわけだが、やはりというべきか、直接問い合わせ・カスタマイズが増えるようになってきた。
先日、某医療系団体からこんな問い合わせがあった。一部掲載。
メールにてもうちょっと詳細な技術的な回答をおこなったが、ここでも軽く解説しておくと…
シネマティックレンダリング→おそらく無理です。シネマティックレンダリングは、確か、複数の光源を設置し、その反射光をかなりのレベルまで計算させないと(有名メーカーがおこなっているようなレベルの)奇麗な画像は得られないと思います。現行のアルゴリズムを少々いじった程度ではでは難しい。
・・・と言ってたんですが、M1 + Metal のパフォーマンスがかなりのもので、シネマティックレンダリングまではいかなくても、かなりの画像が得られそうです。
試しに椎骨のポリゴンモデルを単一照明で3D描画させたんですが、リアルタイムで上のような画像が得られました。ちなみに私は Metal は初心者ですし、3DCGの lighting に関してもそんなに詳しくないので、そんなに凝った手法は使えないのですが、その割にけっこう綺麗な画像ではないでしょうか。
動画はこちらからどうぞ。
(ボクセルなどの)独自計算アノテーション→領域が確定したボクセルを数え上げるのは、さほど難しくない。問題は、数え上げたい領域をセグメントすることで、プラグイン作成の難易度は、領域を確定させるアルゴリズムによると思う。可能なものであれば前向きに取り組みたい。
こういう質疑応答はなんかいいですね。
ただ、基本的には従来版の HorliX のソースコードは公開しているわけだし、基本的にはプラグインの類は自分で作成してほしいと考えています。
理工系のトレーニングを受けていない医療関係者はしょうがないと思います。が、臨床工学技士や診療放射線技師など医療職でも技術よりの方はその素養がある程度あるわけですから、勉強だと思って取り組んでほしいなあと思います。
Mac App Store 版だとプラグイン(plugin)のインストールに不具合があったのだが、サンドボックスを切ったバージョンではプラグインマネージャーを経由してプラグインがインストールできる。
以下、簡単に解説。
まず。メニューより Plugins -> Plugins Manager… を選択。
すると Plugins Manager が起動するので、HorliX Plugins を選択、その後各種プラグインを選択する。ここでは JPEG to DICOM とします。
右下の Download & Install を押下すると、その名の通りダウンロードとインストールが始まります。
インストール時にインストールするユーザー(アカウント)のパスワード入力が求められると思いますが、Mac にログインする時のパスワードを入力してください。
使う場合は、再度メニューより Plugins を選択。JPEG to DICOM は Database というカテゴリに入っている(JPEG 画像をデータベースに取り込む)ため、ここから JPEG to DICOM を選びます。
するとファイル取り込み用のダイアログが現れるので、患者名などを適宜入力して、取り込んでください。
データベースペーンで
となっていれば、取り込みが完了しているはずです。
お疲れ様でした。