0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

医療用超音波診断装置の動画情報の活用~その5 プローブを平行移動でなく前後に倒したときへの対応~

Posted at

(1)プローブを平行移動させてとった動画をもとにした3D画像プローブを平行移動して撮った胆のう動画  
 1000_20250619_Adult-_Abd-U_0002.MP4 を今までの方法で再構成(Threshold:3-20)した。プローブを平行移動して撮った胆のう動画を、直方体を輪切りにしたスライスに切り、それを直方体に再構成している。なお、ノイズ多く、MwshLab処理を最後にほどこしている。
image.png

(2) プローブを前後に倒してとった動画をもとにした3D画像
 まずプローブを前後に回転(回転角度θ)させながら撮影した動画を、回転角度θを割り当てて200枚のスライス画像をつくる。そして次にこの200枚にそれぞれの回転角度θを割り当てて、扇形に3D再構成する。

 今回は、仮に、回転角度θ=90°で、等角速度でプローブを前後に回転(−45°〜+45°)させながら動画撮影したと仮定した。
(実はこのような仮定は、実は、プローブを平行移動させたときにもある。すなわち、プローブを皮膚に対して常に90度、さらに、移動方向に対し常に90度、を保ち、等速度で動かした、という仮定のもとにプログラムを組んでいた) 
 プローブを前後に回転(回転角度θ=今回は90度)させながら撮影した動画1000_20250619_Adult-_Abd-U_0004.MP4、から200枚の断面画像を切り出す処理。 
   mp4_to_jpg_with_time_arc.py  
 次にこの200枚にそれぞれの回転角度θ(を割り当てて、扇形に3D再構成する 
   main_pyvista_3d_arc.py
image.png

 ノイズ多く、いくつかThresholdを試し、最終的にThreshold:0-20 とした。(この作業は、いままでのpixel_point.pyやgenerate_threshold_masks_maxmini.py をつかった)

 だが、今回、それでもまだノイズが多いため、さらなるノイズ減少ねらいポリゴンでのトリミングも導入した   
 Step 1:1枚の画像でマウスクリックにより切り抜きポリゴンを作成
 Step 2:そのポリゴンを使って200枚すべてのマスク画像を切り抜く  
    を同時に行う ⇒ arc_masks_trimmed.py
image.png

そして、これを、再びmain_pyvista_3d_arc.py で3D 構築したのが下図
main_pyvista_3d_arc.pyimage.png

さらに、3DSliceViewer_with_ply_export.py を使い、.plyファイル化して、MeshLabにimportできるようにし、MeshLabにてノイズを(はさみで)削除していくと、下記のような、(1)と似た画像が得られた。
image.png

 
さて、今回は、さらに追加で次の二つを試みた。

(3)プローブを前後に倒してとった動画を、あえて「プローブを平行移動して撮った動画を処理するプログラム」で処理してみた。すると、下記のような、ずんぐりとした胆のうが3D画像で現れた。

プローブを前後に倒してとった動画を、あえて「プローブを平行移動して撮った動画を処理するプログラム」で処理してると、下記のような、ずんぐりとした胆のうが3D画像で現れた。
image.png

(4)プローブを前後に倒して動画 を取る際、角度センサーとしてM5StickC plusをプローブに固定した。 実際の固定の様子は、
image.png

オレンジがM5StickC plusPCと無線で接続して、プローブ操作中の、プローブの倒れる角度をリアルタイムにモニタリングする

使用した動画は、(2)と同じ動画:1000_20250619_Adult-_Abd-U_0004.MP4角度センサーM5StickC plusのモニタリングデータで補正して、得られた3D画像は、
image.png

 なお、M5StickC plusによるモニタリングデータで補正後なお、センサーによって調整した画像は、技術的にMeshLab加工が困難で、今回は見送らざるを得なかった。

 得られた図から、気づくのは、まず胆のうはつぶれていること(これがリアルに近いのかもしれない)。あと面白いのは、大きくプローブを前後に45度くらいずつ動かした(前後あわせ90度くらい)つもりでも、実際は、10度くらい(前後あわせ20度くらい)しかプローブの角度は動いていないということだ。 諸事情を考え、さしあたって、M5StickC plusセンサーをプローブに固定する方法はしばらく見送ることにした。 また、プローブの扇形(前後に倒す)走査後の後処理での「仮想角度」は、この結果をふまえて、90度だったのを⇒45度とすることに決めた。

(参考)M5StickC plusセンサーでは、傾き(角度)はモニターできるが、位置のモニターができない。角度、位置を同時にモニタリングするための簡易法として、ArUcoマーカー(https://chev.me/arucogen/) 
が考えられる。具体的には、下図のような絵をプローブにはり、操作中カメラにプローブを常に映し、さらにカメラ位置もプローブから50cm以内を常に保つことで達成可能という。だが、これでは、プローブ操作に支障がでるのが実情とおもわれ、試みなかった。
image.png

 アイデアだけであれば、将来、エコープローブそのものにセンサーを内蔵し、ロボット手術などに用いられるなんらかのトラッキング技術を導入する?例えば、部屋の4隅、あるいはエコー装置そのものや検査用ベッドにモニターをつけて、センサーの情報をキャッチ?      

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?