【初心者向け】基礎&実践プログラミング

初心者がつまづきやすいところ、最短で実力が身につく方法をお伝えします。

Linux

【FSL】Affine変換(平行移動+線形変換)

目的 異なる画像(NIFITI形式)の位置合わせをAffine変換(平行移動+線形変換)を用いて実行する。 FSLを用いて実装します。 必要なファイル T1WI: t1.nii.gz QSMの元画像: qsm_raw.nii.gz QSMの定量マップ: qsm_map.nii.gz 大脳基底核のROI: basalganglia_…

【Linux】ファイルやフォルダを小分けにする方法

目的 並列でプログラムを実行したい場合、データセットを小分けにしたい場合がある。小分けにする数が多いほど手間がかかる。 そこで、以下を目的とする。 シェルスクリプトを使ってデータセット(ファイルやフォルダ)を小分けにする フォルダ構造 フォルダ…

【FSL】Atlas(アトラス)を1枚1枚はがして別々にする方法

目的 FSLを用いて、atlas(アトラス)のlabel(ラベル)を1枚1枚はがして別々にする。 例として、AAL atlasを用いる。 atlasの用意 今回のターゲットとなるatlasはAAL atlas。 1から116の画素値を持つ。 label listの作成 labelの番号(画素値)ごとの領域名を一列…

【Linux】DICOMから被験者の情報を一括自動収集

はじめに 200件ちかいMRIのDICOMから被験者の - 名前 - ID - 生年月日 - 性別 - 年齢 - 検査日 を表にまとめる。 手作業では、いつまで経っても終わらないのとコピペのミス等のHuman Errorが出る可能性があるのでPCにまかせるプログラムを作成した。 dcmdump…

【Deep Learning】SONY neural network consoleをCUIから実行

コード内容 コード保存のため投稿。 コードは汚い。 SONYが開発した、neural network console(NNC)をCUIから実行。SONYが提供しているNNablaライブラリを使用する。 準備 NNCのProject File(*.sdcproj) Neural networkのArchitecture(*.nntxt) 学習したparam…

【Bash】ファイル名一括変換

はじめに フォルダ構造が複雑であり、リネームしたいファイルが散らばっているときに有効なリネーム方法。 実行 この例だと、".nii.gz"という拡張しがあるファイルはすべてAAA.nii.gzというファイルにリネームするといったもの。 find . -name "*.nii.gz" | …

Singularityのインストール (Ubuntu 18.04 LTS)

目的 SingularityをUbuntu 18.04 LTSにインストールする。 詳しくはSingularity HPをご覧ください。 作業環境 $ cat /etc/os-release NAME="Ubuntu" VERSION="18.04.3 LTS (Bionic Beaver)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 18.04.3 LTS" VERS…

Dockerのインストール (Ubuntu 18.04 LTS)

目的 Ubuntu 18.04 LTSにDockerをインストールする。 詳しくはこちら。 作業環境 $ cat /etc/os-release NAME="Ubuntu" VERSION="18.04.3 LTS (Bionic Beaver)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 18.04.3 LTS" VERSION_ID="18.04" HOME_URL="ht…

FSLを使った画像確認 QC

目的 FSLを使って処理した画像のQuality Check (QC)をする。 コマンド slicesdirを使用。 $ slicesdir Usage: slicesdir [-o] [-p <image>] [-e <thr>] [-S] <filelist> -o : filelist is pairs ( <underlying> <red-outline> ) of images -p <image> : use <image> as red-outline image on top of all images in <filelist> -e <thr> : u</thr></filelist></image></image></red-outline></underlying></filelist></thr></image>…

.mgzから.nii.gzに変換する方法

目的 FreeSurferで出力されるファイルには、分画された皮質、白質の画像(VOI)がある。 しかしながら、それらのファイルの拡張子mgzはFreeSurfer特有の拡張子であり、他のソフトウェアとの整合性がない。 そこで、FreeSurferの出力ファイルであるaparc+aseg.m…

Google Colaboratoryの使い方

Google Colaboratoryとは Google Colaboratoryは、Googleが提供するJupyter notebook環境です。 プログラムの実行は、クラウドでされるので自身が使用しているPCのスペックや環境を気にする必要がありません。 特に、ハイスペックなGPUを無料で使用すること…

【画像連結】画像をタイル状に並べる

目的 複数の画像をタイル上に並べて一枚の画像に見せる。 画像の確認 フォルダ内の画像はこちら。 $ ls -1 3105.T_stock.png 4151.T_stock.png 4502.T_stock.png 4503.T_stock.png 4506.T_stock.png 4507.T_stock.png 4519.T_stock.png 4523.T_stock.png 454…

FreeSurferの結果のまとめ方 ~aparc, aseg, wmparc~

目的 被験者ごとのFreeSurferの結果を、一つのエクセルファイルにまとめる。 フォルダ構造 フォルダ構造は以下の通り。 基本的には、FreeSurfer後のフォルダを一つのフォルダにまとめ、そのフォルダで作業する。 FreeSurferの出力であるstatsフォルダさえあ…

FSLを使ったVolumeの一括計測

目的 FSLをつかったVOI (ROI) Volumeの計測。 Volume計算 Volume計算にはFSLコマンドのfslstatsを用いる。 -Vオプションでvoxel数とvolumeを計測できる。 -V : output (for nonzero voxels) $ fslstats lt_SN_mask.nii -V 529 293.009949 Volumeのみを取り出…