HorliX Ver 1.0.2 リリース

本日、というかもう昨日か(2018/07/19)HorliX の Ver 1.0.2 をリリースした。

こっそり差し替えておこうと思ったのだが、海外筋から評判がよかったのでここでも若干のアナウンスする。

外見的・機能的には Ver 0.0.1 と大して変わらないが、内部的にはけっこうな変更を加えた。

まず、コードに署名した。なのでもうゲートキーパー云々は気にしなくても使える。

それともう一点重要な変更は、サンドボックス化したことだ。どうしようか迷っていたのだが、アップルご推奨ということもあり、ちょっと前からトライはしていたのだ。導入当初は不具合出まくりだったが、最低限使えるレベルにはなったと思う(だから公開したわけだが)。

この変更に伴う不具合はぜひ知りたいので、バグ報告よろしくお願いします。

また、サンドボックス化に伴ってデータの置き場所が変わった。今までは「書類」内に HorliX Data というフォルダを作っていたのだが、それが「アプリ固有の領域」とやらに移動した(だから、これはバグではなく仕様です)。

仕様とはいえ、こういうのはすごく困る。
医療関係の情報は、電子カルテを筆頭に保管義務があるが、このとき法的な意味でも実用的な意味でも責任を負っているのは、その医療機関の開設者である。ところが、肝心かなめの医療情報はその開設者であってもフルにアクセスできない可能性が出てくる。もともと何の責任も負えない一企業が決めた仕様に、責任ある立場の者がかなり不自由な形で従わざるを得ない、というのは何かがおかしい(別にアップルのやり方にケチをつけているわけではなく、特殊な仕様条件ではこういうことがおこりうるんだということが言いたい)。

OsiriX がアップルから距離を取っていったのは、そういった背景があったのからかもしれませんね。

 

にほんブログ村 病気ブログ 医者・医師へ

 

OsiriX ソースコード上における杉本医師の contribution

HorliX Ver 0.0.2 のためのデバッグ作業を続けている。本日、医療画像をステレオ表示させるところと 3D マウスを使うための設定を決めているあたりにさしかかった。HorliX は直接には Horos をフォークしたわけであるが、ここら辺は OsiriX のソースそのままだろう。

ところで OsiriX といえば日本では杉本真樹医師が有名であるが、杉本氏が得意とするのがこの辺ではなかっただろうか。

そういうこともあってか興味深くソースを眺めていたのだが、残念ながらソースコード上では氏の痕跡をたどることはできなかった。

ここら辺のコードは、SilvanWidmer さんという方が主に書いた/修正したようだ。

私は勘違いしていたようだが、杉本氏はソースコードレベルでは OsiriX とは全く関係がない。したがって contribution もまったくないようだ。

おそらく臨床応用とか普及という点で OsiriX と関係しているのだと思う。(詳しい人がいたら教えて欲しい)

本当は、ここら辺(DICOM 画像の 3D 表示)は興味深いところなので、時間をとってがっちり読みたいところだが、あと一点どうしても取り除きたいバグがあるのでそちらが優先。ここは我慢。

ところで今回の改変で 3D マウスを使う機能はオフにした。どうしてもこの機能が欲しいという方がいたら相談して欲しい。このレベルになるともはや一般的なパッケージングでは対応できず、個別のカスタマイズで対応した方が適当と思われる。

同様の理由でステレオビジョン機能も提供していない。

杉本医師っぽいことがやりたいという先生がいたら要相談ということで。

 

 

にほんブログ村 病気ブログ 医者・医師へ

 

 

新型 Mac Book Pro & HorliX 0.0.2

新型 Mac Book Pro

もともとマカーでもなんでもない私は、HorliX 開発に 12 inch MacBook を使っている(→これは 2018 年当時。信じられないかもしれないが、これでビルドしていた。2021 年現在は もっぱら M1 Mac Book Pro を使ってます)。けっこうライブラリなどにも細工しているので、そろそろビルド時間も気になるようになってきた。また、ビルドが始まってしまうと計算リソース持っていかれるせいか他の作業はほぼできない。

そろそろ限界でしょうか。

こういうときに限って「新型 Mac Book Pro」のニュースが…。

現在の用途に合わせるなら、とにかく速度の出るマシンが欲しい。

となると core i7, 16G メモリ, 512G SSD あたりか。この構成だと ¥302800 だそうだ。やや高い。

core i9 にグレードアップすると¥ 335800。これはさすがに二の足を踏む。

 

HorliX 0.0.2

まだ公開はしてませんが、内部の方も徐々に手をつけています。

ようやくコードに署名し始めたのが大きく変わった点でしょうか。

細かいところでは通知の方式を変更しました。

外見上は特に変わってないと思いますが。

 

 

Horos 3.1.2 リリース。しかし….

最近、Horos の Ver3.1.2 がリリースされた。

開発者の一人としてもインストーラー版の出来は気になるところなので、今日、落としてきた。(なお、ダウンロードは、こちらのページからどうぞ。所定の事項を記入するとダウンロードページの URL が記載されたメールが届きます)

さっそく使ってみると….

 

メニューなどもある程度日本語化されている。が、肝心の 2D ビューアが立ち上がらない…….orz

なんのために日本語リソース提供したんだか。

おそらくインストーラー版つくっている人のチェックミス。

英語圏の人にとっては英語版さえ正常に動けば、確かに問題ないわけですが、日本人としてはちょっと悲しい。

 

horosproject の中の人がいうには、すぐに Ver 3.2.0 をリリースするとのこと。

それまでのつなぎでよければ、HorliX をつかってみてください。

最近は機能も微妙に変わってきたとはいえ、数か月前までは同一のソースを使っていたので、使い心地はそんなに変わらないと思います。

こちら↓のページから落とせます。

HorliX ダウンロードページ

 

OS は HighSierra 以上が必要です。

 

 

放射線科読影レポート

放射線科読影医以外ほぼ必要ないと思うのだが、Horos にはレポート作成機能がついている。具体的にいうと適当なスタディを選択した状態でツールバーの

のアイコンを押下すると、指定したワープロソフトが立ち上がり読影レポートを作成することができる。

デフォルトのワープロは pages だが、MS Word や LibreOffice に変更することもできる(少なくともソース上ではそうなっている)。

今日、ここら辺をいじっていたのだが、変更をどこでするかわからない。しばらく探してやっと見つかった。どこにあったかといえば「環境設定」>「データベース」で表示されるパネルの一番下。

こんなところに…..。

なんでワープロの設定項目がデータベース関連のパネルに配置されているんだよ。これは知ってないと見つけられないと思う。

 

ところで、 HorliX では諸々の理由でしばらく LibreOffice はサポートしません

見捨てたわけではなく、メンテに時間がかかりそうなので時間が取れるまでそうせざるを得ないというのが実情です。

 

OpenGL to Metal 問題

Mac OS X では、次のバージョン(Mojave)から OpenGL が deprecated になるということで、推奨されている Metal 関係をさわってみる。

定番の Hello World を GPU を使って描画させてみる。

本当は、カラーで表示されないといけないんじゃ… と思わなくもないが、ビルドは通っているので一安心。

 

(追記)その後、コードを修正してカラーでも描画できるように修正。
GPU 利用ということでビビってましたが、どちらかといえば以前の windows 系API の描画手続きに近いかな。あれを GPU に直接委ねる感じといえば、ニュアンスは伝わるでしょうか。


参考:『Metal 入門』に簡単なサンプルプログラム載せておきましたので、ご興味のある方は覗いてみてください。

Playground でワンファイルで実行できるので、何やってるかわかりやすいと思います。

参考2:Metal では SIMD 命令がよく出てくるが、これが何者なのかは Arm のアーキテクチャまである程度まで理解を深める必要がありそう。
『Mac で学ぶ Arm アーキテクチャ』シリーズ(PHORLIX BLOG)でその辺まで解説する予定です。
現在、公開しているのは
Mac で学ぶ Arm アーキテクチャ 1-1
Mac で学ぶ Arm アーキテクチャ 1-2
です。


さらに頑張って、(まだ全てのモダリティに対応しているわけではないが)なんとかダイコム(DICOM)も読めるようにした。WL/WW のコントラスト調整はかけてないから、衣服やベッドまで見えてますが(笑)。

app から起動してもかなり、というか超絶速い。

これ、早送りとかしてません。

 

でも、OpenGL というかなり広汎に使われている技術からまだあまり知られていないフレームワークへの突然の移行ってなんか違和感ある。(アップルはよくこういうことをやるらしいのだが)

OsiriX の windows 版移植って誰もが考えることなんだけど、これは OpenGL 使ってこそのこと。各種ライブラリも Metal 対応を検討しているらしいが、すぐに実現できるとは思えない。アップルが Metal 以外認めないということになったら、windows 移植はかなり遠ざかる。

さて、どうなりますか。

 

(追記2)M1 Mac の評判がよく、さらに Metal を用いると画像処理まわりのパフォーマンスの向上が期待できることから、ちょっと慌ただしくなってきた感じです。

私も簡単な3D描画のテストプログラムつくってみました。

Metal 発表当初は懐疑的でしたが、これは移行しないといけないようです。

 

猪股弘明
HorliX, OpenDolphin-2.7m 開発者

 

オープンソースの光と闇 -光編-

今では HorliX/Horos は、Philips 社の US(超音波)画像も読めるようになったわけであるが、この解決までの道のりが、その経緯を見守っていてくれた人たちから「感動した」とか「不思議な感じがした」と言われることが多いので、ちょっと思うところを書く。

まず、オープンソースにおける開発の特徴に関しては、

伽藍とバザール

というこの分野では基本的かつ必読の文献があるので、一読をすすめる。

 

Linux は破壊的存在なり。インターネットのかぼそい糸だけで結ばれた、地球全体に散らばった数千人の開発者たちが片手間にハッキングするだけで、超一流の OS が魔法みたいに編み出されてしまうなんて、ほんの 5 年前でさえだれも想像すらできなかったんだから。

 

あまりに有名な冒頭の一節。これになぞらえて言うなら、こんな風に表現できるだろう。

HorliX/Horos は破壊的存在なり。インターネットのかぼそい糸だけで結ばれた、地球全体に散らばった両手の指の数にも満たない開発者たちが片手間にハッキングするだけで、超一流の DICOM Viewer/PACS が魔法みたいに編み出されてしまうなんて、ほんの 5 年前でさえだれも想像すらできなかったんだから。


 

問題の発端は、Horos では、Philips 社の US 装置が吐き出すある種の DICOM ファイルを読めない、というバグレポートから発する。(読めない、というかクラッシュする、といった方が適切。それくらいあっという間に落ちてた)

Philips DICOM US が読みにくいというのは、以前から知られていて、例えば

iQ-VIEW(おそらく昔の K-PACS)だと、ファイル自体はなんとか読めるが肝心の画像は

と見事におかしなコントラストで描出される。また、全体のファイル構造も正しく反映されていない。

廃れた感のある iQ-VIEW に代えて、「今でも現役」 weasis でまったく同じファイルを読み込ませてみる。

全体のファイル構造は正しく読み込めているが、一部のシリーズがまったく描画できない。

このような結果のため、Philips DICOM US が読み込みないのは仕方がない、というような見方もあったようだ。

だが、Horos 陣営にとってこれが捨てておけない問題だったのは、OsiriX MD が上にあげたファイルを難なく読み込んでいる事実があったからだ。これはちょいとばかり悔しい。いつかは解決しなければならない問題だという認識は、世界中に散らばった各開発者には漠然と共有されていたと思う。

もちろん、そこはオープンソースコミュニティ。中の人を除けば、開発優先順位が、かっちり決まっているわけではない。

このとき、私の頭の中にあったのは、bug fix 系であれば

① Philips DICOM US problem

② DICOM PRINT problem

であった。

もちろん、機能の独自実装もやりたかったが、どれも手間がかかりそう。となると Horos 本体のバグフィックス。問題は①か②か。ここらあたりの選択は、開発者の好みが出るところ。②はやることが決まっているが、調べることも含めてとにかく作業量が多い。①はバグがどこにあるか特定するのが難しく、作業時間/手間がどの程度かかるかまったく読めない。

 

(続く)

 

 

 

DICOM US を読めるようにする

日本語化は日本語化で進めるにして、私が HorliX 絡みで問題に思うのはやはり US (超音波)関係。

おかしな US を読み込もうとするとデータベースが使えなくなってしまうのだ。

読めない分にはまだいいが、それまであった正常なデータにまで影響が及ぶのはまずい。

※…ただし、データベースが完全に破壊されるわけではなく、それまでのデータは /HorliX Data/Database.noindex/10000 などに配置されているので、再読み込みなどをすれば復旧はすると思う。

 

一応、手がかり↓はつかんでますので、これから修正作業にはいります。

て、悠長なことやってたら、horosproject の中の人が解決したっぽい。

先、越された。

 

HorliX にも細工を入れる。

読めてるっぽい。

お知らせ

プラグイン

「HorliX でプラグイン JpegToDicom が使いたい」という要望があった。

これを聞いた時、「あ、しまった」と思ったのだが、回答を先に書くと「HorliX では、既に JpegToDicom は使えます」というもの。インストール方法、使い方は、

HorliX/Horos 動作テスト プラグイン周り

を参考にしてください。HorliX がまだ HorosJ と名のっていた頃、開発状況や使い方・Tips などは

Contre-Attaque

というブログにまとめていたのだった。

引っ越すの忘れてたわ。

 

HorliX と AI

HorliX の未来の一つの形について

医療「AI」ソフト

に書いておきましたので、こういうのが好きな人はご一読のほどを。

日本語化

ツールバー周りも日本語化。

 

2D ビューアもちょっと手入れ。

 

ROI アイコン

ROI に ROI-color-rotation-UI (@omrd さん提唱、私が実装)を採用したため、関連アイコンも修正した。

 

Weasis

クライアントの Weasis を Ver 3.0.1 に変更。

 

 

HorliX で DICOM から 3D モデルを取り出す

「HorliX で DICOM データから 3D モデル(.obj)を取り出すことができますか?」という問い合せがあったので、試してみた。.obj ファイルが何者で、どんな用途に使うのかまるっきりわかってないが。

適当な CT ファイルをインポート。3D Viewer を立ち上げる。今回は、サーフェスレンダリングさせた。

この状態で、「Export 3D-SR」ボタンを押下、書き出す形式として .obj を選ぶ。

すると、3DFile.obj と 3DFile.mtl という二つのファイルが生成される。

形式的には、できているようですね。これが正しいフォーマットかどうかまではわかりませんが。頂点やテクスチュアをテキスト形式で書き出しているようです。アニメなどに使う汎用フォーマットでしょうかね。