Dash Slicer

Dash Slicer

dash_slicerライブラリを使うと、3D画像データを1つの次元にそってスライスして視覚化することができます。

Dash Slicerのインストール

Dash Slicerを使うためには、下記のコマンドでインストールを行います。

[コマンド]

1
pip install dash_slicer

サンプル

もっとも簡単なサンプルコードは下記の通りです。

最初に 3D numpy 配列 (ボリューム画像) を読み込み、そのデータを使用して VolumeSlicerオブジェクト をインスタンス化します。(8~9行目)

このオブジェクトは Dash コンポーネントではありませんが、Dash コンポーネントの属性を持っています。

グラフとスライダーをレイアウトに配置し、スライサーが機能するために必要な Storeコンポーネント を配置しています。(12行目)

[ソースコード]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import dash
import dash_html_components as html
import imageio
from dash_slicer import VolumeSlicer

app = dash.Dash(__name__, update_title=None)

vol = imageio.volread("imageio:stent.npz")
slicer = VolumeSlicer(app, vol)
slicer.graph.config["scrollZoom"] = False

app.layout = html.Div([slicer.graph, slicer.slider, *slicer.stores])

if __name__ == "__main__":
app.run_server(debug=True, dev_tools_props_check=False)

[ブラウザで表示]

スライスした図を表示することができました。

下部のスライダーを操作することにより、スライスの位置を変更することができます。

またドラッグやスクロールすることにより、移動拡大・縮小をすることもできます。