HorliX on Mac OS11 Big Sur

以前から 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 開発チーム

HorliX on Mac OSX Catalina

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次元表示周りは、今一つコードが整理しきれていない印象があるので、ここは現在修正中です。

VR (ボリュームレンダリング)

なお、上記のサンプルは MacOS BigSur でも無事に動いています。

今後の予定(追加)

Volume Rendering のところを整理する、みたいなことを言ってましたが、ここはどう頑張っても OpenGL になってしまうので(VTK の機能を利用しているため)、Metal で同様の機能を書いてみました。

オリジナル同様、RayCast Mapping という手法を使ってます。

OpenGL は廃止になることがわかっているため、こちらの方がいいでしょう。

 

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 開発者