[seaborn-image] 3. ImageGridによる複数画像の表示

matplotlib

はじめに

この記事では、seaborn-imageライブラリのImageGrid機能について詳しく解説します。ImageGridは複数の画像を整理された形式で表示することができ、画像の比較や分析を効率的に行うことができます。matplotlib(マットプロットリブ)をベースとしたこのライブラリは、直感的な操作と高いカスタマイズ性が特徴です。seabornに慣れているユーザーにとって特に使いやすい設計になっています。

seaborn-image: image data visualization — seaborn-image documentation

コード&解説

インストール

condaの方は

conda install -c conda-forge seaborn-image

pipの方は

pip install -U seaborn-image

でインストールできます。

モジュールのインポート

seaborn_image は isnsとして読み込みます。

バージョン

全体の設定

isns.set_context(“talk”)を使用してフォントサイズなどを調整できます。コンテキストには’paper’、’notebook’、’presentation’、’talk’、’poster’の5種類があります。

[seaborn] 2. set_contextで文字サイズ等を変更する
seabornは簡単かつ簡潔にデータを可視化できるライブラリである。ここではset_contextにより図の文字サイズなどを変更する方法について説明する。

isns.set_image(cmap=”bone”, origin=”upper”)を使用すると、デフォルトのカラーマップを”bone”に設定し、画像の原点の位置を”upper”(上部)に指定できます。

データの読み込み

サボテンのすみれ丸と兜丸の画像を読み込みました。具体的には、以下の画像を使用しています。

グレースケール画像の作成

skimage.color モジュールの rgb2gray 関数を使用して、RGB画像をグレースケール画像に変換します。

ImageGridによる複数画像の表示

ImageGrid([img1_g, img2_g])だけで下の画像が表示できます。また、despine=Trueを設定することでspineを非表示にしています。

カラーマップの変更

カラーマップをcmap=”plasma”に設定すると、下図のような表示になります。

cmapを[“summer”, “magma”]のようにリスト形式で指定することで、複数の画像をそれぞれ異なるカラーマップで表示できます。

scale barの表示

dxを[0.2, 0.1]のようにすることで、異なる長さのスケールバーを表示できます。

dx、unitsの一部をNoneとすることでスケールバーを部分的に表示できます。

画像ごとに表示範囲を変える

robust パラメータを True に設定し、perc でタプルのリストを指定することで、画像ごとに表示範囲をパーセンタイル単位で個別に設定できます。

画像を縦に並べて表示

col_wrap=1とすることで1列に画像を並べて表示できます。

コードをダウンロード(.pyファイル)

コードをダウンロード(.ipynbファイル)

まとめ

seaborn-imageは、画像データの視覚化を簡潔に行えるmatplotlibベースのライブラリです。特にImageGrid機能を使うことで、以下のようなメリットがあります:

  • 複数画像を整理された形式で同時に表示できる
  • 画像比較や分析が容易になる
  • seabornに慣れている人にとって直感的に使える
  • カスタマイズ性が高く、様々な表示形式に対応

参考

seaborn_image.ImageGrid — seaborn-image documentation
skimage.color — skimage 0.26.0rc0.dev0 documentation

コメント