PHORLIX Lite 技術ノート

PHORLIX Lite 自体はシンプルなアプリですが、新しめの技術を採用したのでそれらに関する覚書。

Texture Rendering

PHORLIX Lite では「テクスチャレンダリングを採用した」と言ってますが、そもそもこれは何者でしょうか?

OpenGL 非推奨化

一般的に、ボリュームレンダリングの実現方法としてよく紹介されているのは Ray Cast Mapping ですが、これを実装した人はそう多くはないはずです。
例えば、Horos/HorliX/OsiriX でも、この方式でボリュームレンダリングしていますが、実際は VTK というライブラリに任せていて、やっていることは設定調整のみです。一から実装しているわけではありません。
よく、カメラから対象への光線を追跡して・・とそのアルゴリズムが紹介されていますが、これだけの情報から独自実装に持っていくのは難しいでしょう。結局、VTK にまかせっきりだったのですね。

ところが、Apple は OpenGL を deprecated にしてしまった。OpenGL に依存している VTK が Metal に対応していない以上、新規に実装する必要がある。さあ、どうしたらいいだろう?となったのが 2018 年ごろです。

解決策はいろいろあったと思います。

すでに Metal に対応している Qt で Ray Cast アルゴリズムで実装する、Vulkan を使って Mac ネイティブにする、・・・、しかし、そもそも具体的な実装方法がよくわからない Ray Cast を採用するくらいなら、Metal でなんとかならないかと考えるのも一法でしょう。

Metal

ところで Metal ですが、発表当初は「OpenGL をやめる理由がよくわからない。共有メモリもグラフィックメモリをケチりたいアップルの都合のすぎない」と不評だったように思います。
しかし、使っているうちに Metal の軽快さにみんな気がつき始めました。

・メモリを共有するなら 頂点データなどの CPU-GPU 転送のオーバヘッドがなくなる

・Metal を使う以上、Low レベルで画像処理が行う必要があるが、これが最適化に寄与している

といった Metal のアドバンテージを認識していったわけです。

ここら辺で、Metal ネイティブで書くことしました。問題はアルゴリズムですが、Metal は 3D でテクスチャを割とお手軽に使えます。
これを利用してボリュームレンダリングできないか検討していたところ、テクスチャレンダリングという手法があることを知りました。

Texture Rendering の基本

レイキャストでもテクスチャレンダリングでもなんでもいいのですが、ボリューミックなデータを可視化する際、対象表面のある一点を描画するには、その奥の色情報が必要です。

 

(続く)

 

@masudanaika による個人情報流出ツィート

2018 年に X(当時は twitter)@masudanaika というアカウントが、精神疾患を持つ患者さんの個人情報を tweet したという事件があった。
masudanaika という名称からわかるように、建前的には和歌山増田内科(当時。現在は高槻病院勤務)の増田茂医師の個人アカウントとされていた。ただし、(後で触れるかもしれないが)個人的には、中の人は違う人だったように思う。

関係者の対応が迅速だったので、幸いなことにこの情報は大して拡散せず、大事にはならなかった。

なのだが、「そんなことはない」と言い張る人がいたので(前記事参照)、誤解がないように事実関係をまとめておこう。


私は精神科医なので、各種 SNS でも精神障害を持った人が私の投稿にコメントしてくれることがよくある。

2018 年の冬頃(さすがにここはぼかします)に facebook で OpenDolphin や HorliX に関する投稿をしたのだが、これに反応してくれた人がいた。

仮にAさんとしておきましょうか。

Aさんは、こういった話題に興味があるらしく、この手の話題には決まってコメントをしてくれていた。
こういう反応は嬉しい。ただ、まずかったのは、騒動がおこる2,3日前に「実は、私は◯◯という疾患を持っていて、リハビリも兼ねてプログラミングをしている」と古来より差別の対象になりやすい精神疾患の名を口にし、その疾患に罹患していることを実名でカミングアウトしたことだった。

どうしてこういうことをするのか私には理解に苦しむのだが、@masudanaika が、Aさんのコメント入りの私の限定公開記事のスクリーンショットを twitter 上にポストしてしまっていた。

しばらくしてそのことを私に教えてくれた人がいて、私も @masudanaika の twitter のタイムラインを調べ、当該ツィートの存在を確認した。

A さんが精神疾患を持っていることは、facebook 上の私の投稿の前後を調べれば全くの第三者でもすぐにわかってしまう。悪いことに実名登録だったので、これではすぐに特定されてしまう。
第三者が仮に悪意を持っていた場合、どのように悪用されるかわからない。

これはまずいと思い、すぐに和歌山の精神福祉関係の部署に電話連絡。

担当者は「もし事実なら、増田内科の増田茂医師に連絡してすぐに削除させます」と言い、以下のメールが私に送ってきた。

tweet 一年分。。。
普段であれば、うんざりするようなチェック作業だが、事態が事態だけにそんなことは言っていられない。果たして、なんとか該当のツィートをいくつか見つけた。

そのうちの一つがこれ(↓)。

画像下部にあるコメント欄にその方のコメントがある。
上の図では潰してあるが、もちろん顔写真と実名で書き込んでいる。
正直、血の気が引いた。

なるべくこの騒動は早期に収束させたいと即座に和歌山県の担当部署に連絡。

まもなく、このツィートは削除された。

この他にも厚労省本省にも連絡を入れ指示を仰いだりということはしたのだが、本筋と関係ないのでここでは触れない。


おおよそ、上のような顛末だった。

最初の方で「中の人は違う人」と書いたが、@masudanaika アカウントと実在の増田茂医師がまったく関係ないということではない。
事実、和歌山県の担当者が実在する増田医師に連絡を入れた直後に問題となったツィートは削除されたのだから、増田医師はこのアカウントと無関係ではない。ある程度は管理・運用にはタッチしていたのだろう。

しかし、(医師ならばわかると思うが)臨床系の医師がこんなリスクの多い情報発信をするとは到底考えられない。

また、この時期、増田医師は OpenDolphin というオープンソースの電子カルテの独自バージョン(増田ファクトなどと言われていた)を開発していて、ツィートもそれに関連するものが多い。
しかし、臨床に専従している医師が、本格的な電子カルテの開発やその広報をしている余裕などあるだろうか。なお、現在では、増田ファクトも増田氏自身が開発していたのではなく、違う人の手によるものではないかということを言う人が多いようだ。
なお、増田ファクトはシステムクラフト(広島三原市 代表: 杉原利彦)という業者が取り扱っていた。

おおかた、出入りの業者に運用させていて、普段はノーチェック。行政から連絡が入り、事実を知った増田医師が慌ててツィートを削除させたというのが、本当のところではないだろうか。

実際、この記事にこんな表現がある。

増田医師が一般人の個人情報を流出させた事実もありません

もし、@masudanaika の中の人が増田氏だけだとしたら、上記の経緯で顛末を知っている当事者は、私と増田氏と関係した行政担当者だけになるはずで、第三者が真偽の判断などできるはずもない。
だから、上の記事を書いた人あるいはその関係者(システムクラフトが wiki を荒らした事実はありませんとわざわざ書いていることから、同社関係者だろうか?)が @masudanaika の中の人であり、医師だったらまずしない個人情報の流出を行なっていた可能性が高い。
で、闇雲に否定していると。

いやあ、当の増田氏自身が(行政経由だが)一連の経緯を認めているんだが。

冒頭でこのアカウントの「中の人は違う人だったと思う」と書いたのはそういった理由による。

その後、実在の増田医師は、このアカウントから離れたのではないかと思う。

というのは、現在(2022/12)では、このアカウントのハンドルは Masudana Ika に変わり、アイコンも増田氏の似顔絵から烏賊のイラストに変わっているから。
日本の法律では非医師が医師を名乗ることは許されていないので、それに対する対応なのではないかと思う。

 

猪股弘明
精神保健指定医


参照記事をよく読むと「システムクラフトのホスティングサービス」云々とやたら詳しい記述があるので、このサイトの運営者は(少なくとも該当記事書いたのは)システムクラフト社の社員でしょう。

あとは、OpenOcean をあたかも商用ソフトのように言っているのだが、有償ソフトとして販売したことは全くない。

(追記)逆にいわゆる増田ファクト(opendolphin-m)は有償になったようだ。