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

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

【Python GUI】Tkinterを使ったDICOMのコントラスト調節とBMP変換

目的 コード保存。中身は汚い。 DICOM画像を任意のコントラストに調節しBMPに保存。 コントラスト調節の式が怪しいかも。 コード import cv2 import numpy as np import glob import os import shutil import os, tkinter, tkinter.filedialog, tkinter.mess…

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

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

【Python】if文を使ったファイル操作

問題 フォルダが100個あり、その中に2つの画像が入っているべきである。 しかし、フォルダによっては1つしかない場合がある。 目的 1つしか画像が入っていないフォルダのみを”mada”フォルダに集める。 コード import os, glob import shutil if not os.path.…

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

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

【LINE bot】おいら、だじゃレンジャー!

はじめに 前回のLINE botの記事でオウムがえしのLINE botを作成したぞ! ちびっこのみんなに好かれたくお題を与えるとそのお題にまつわる だじゃれを返すLINE botを作成することにしたんだ LINE botの登録、作成、Herokuへのデプロイ等は 前回のLINE botの記…

【Python】ランダムフォレストで疾患分類〜LDAも交えて〜

はじめに 過去の記事でランダムフォレストを使って疾患分類をしたが、そのアップデート版。 今回は、データの標準化およびLiner Discriminant Analysis(LDA)を追加した。 また、結果のまとめがみれるようにClassification ReportとConfusion Matrixが出力さ…

LINE botの作成 〜作成・デプロイ・起動まで〜

はじめに LINE botを作りたくなったので練習がてら、オウム返しのLINE botに挑戦。 その時のメモ、日記。 環境 Ubuntu 18.04.3 LTS Python 3.6.8 Flask==1.1.1 line-bot-sdk==1.15.0 Heroku 必要なパッケージのインストール $ pip3 install flask $ pip3 ins…

PythonによるDiffusion MRIのbvec fileの極性変更

はじめに diffusion MRIで重要なMPGのGradient Tableであるbvecの極性がMRI装置と解析ソフトウェアで互換性がない。 被験者は200人以上いるため、一人ひとり手直しするのは困難である。 そこで、Pythonでbvec fileの中の極性を任意に変更できるスクリプトを…

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…

【PyTorch】チュートリアル(日本語版 )④ 〜TRAINING A CLASSIFIER(画像分類)〜

目的 PyTorchのチュートリアルTraining a Classifierを参考にPyTorchで画像分類について学ぶ。 具体的には、 ニューラルネットワークの構築 lossの計算 ネットワークの重みの更新 について学習する。 前準備 PyTorchのインストールはこちらから。 初めて、Go…

【PyTorch】チュートリアル(日本語版 )③ 〜NEURAL NETWORKS(ニューラルネットワーク)〜

目的 PyTorchのチュートリアルNeural Networksを参考にPyTorchでニューラルネットワークの構築と学習について学ぶ。 前準備 PyTorchのインストールはこちらから。 初めて、Google Colaboratoryを使いたい方は、こちらをご覧ください。 コマンドラインの「>>>…

【Excel】書式のみのコピー

目的 セルの書式のみをコピーする。 例 Q列に新たなデータを用意しましたが、書式が他のセルと異なっています。 Q列の書式をP列と同じにしてみます。 まず、P列をドラック&ドロップで選択します。 次に、緑枠のフィルハンドルを右にドラックしてP列をQ列にコ…

【Excel】文字列の足し算 (結合)

目的 エクセル上で文字列の足し算 (結合) 例 例えば、このような500人の個人情報があったとします。 データは、ダミーデータです。 こちらのサイトからデータをつくりました。 連番の列にある数字にHCという文字列を挿入して以下のような表を作りたい場合。 …

【Excel】重複する値(文字)の検索

目的 エクセルにまとめてあるデータから一部のデータを取り出す。 目的のIDの人の情報を取り出す。 例 例えば、このような500人の個人情報があったとします。 データは、ダミーデータです。 こちらのサイトからデータをつくりました。 そのうち、これらの番…

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>…

【PyTorch】チュートリアル(日本語版 )② 〜AUTOGRAD〜

目的 PyTorchのチュートリアルAutograd: Automatic Differentiationを参考にPyTorchでAUTOGRADの扱いになれること。 前準備 PyTorchのインストールはこちらから。 初めて、Google Colaboratoryを使いたい方は、こちらをご覧ください。 コマンドラインの「>>>…

【PyTorch】チュートリアル(日本語版 )① 〜テンソル〜

目的 PyTorchのチュートリアル「What is PyTorch?」を参考にPyTorchで特有のテンソルの扱いになれること。 前準備 PyTorchのインストールはこちらから。 初めて、Google Colaboratoryを使いたい方は、こちらをご覧ください。 コマンドラインの「>>>」の行がP…

【Flask & Bootstrap】じゃらんレビューを解析 〜じゃらん Analyzer〜

概要 じゃらんレビューを解析するWebアプリ。 Webアプリの実装は、FlaskとBootstrapを使用。 じゃらん AnalyzerのWebページはこちら。 実行手順 じゃらんから任意の宿を検索し、RequestsとBeautifulSoup4ライブラリでレビュー情報を抽出する。 抽出した情報…

【Flask & Bootstrap】歌詞の内容をWord Cloudで可視化 〜Lyrics Word Cloud〜

概要 歌詞の内容を、Word Cloudで可視化するWebアプリ。 Webアプリの実装は、FlaskとBootstrapを使用。 Lyrics Word CloudのWebページはこちら。 実行手順 うたまっぷから任意の曲を検索し、RequestsとBeautifulSoup4ライブラリで歌詞を抽出する。 Word Clou…

【PyTorch】インストール方法

目的 PyTorchをインストールする。 PC環境 $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=18.04 DISTRIB_CODENAME=bionic DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS" $ python3 -V Python 3.6.9 PyTorchのインストール方法 PyTorchのホームペー…

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

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

Google Colaboratoryの使い方

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

Flaskで作ったWebアプリをHerokuへデプロイする方法

目的 Flaskで作ったWebアプリをHerokuへデプロイする 環境 Ubuntu 18.04.3 LTS Python 3.6.8 Flask==1.1.1 Heroku 必要なパッケージのインストール $ pip3 install flask Webアプリの作成 main.pyの作成 今回はFlaskのtutorialにあるHellow, Worldを表示する…

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のみを取り出…

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

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

【Python】フォルダのみの一覧リストを取得

目的 ファイルやフォルダが混在しているときに、フォルダだけの一覧をリストにする。 フォルダの中身 フォルダの中身が以下のように、ファイルとフォルダが混在している場合。 $ ls file_1.txt file_3.txt folder_1 folder_3 file_2.txt file_4.txt folder_2…

QSM解析 ~MEDIの使い方~

目的 Cornell大学が開発したQSM software (MEDI)を使って解析 (Cornell MRI Research Lab. QSMより、URL: http://pre.weill.cornell.edu/mri/pages/qsm.html) 準備 MEDI toolboxのダウンロード こちらからMEDI_toolboxをダウンロード MEDI_toolboxの中身はこ…

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

目的 複数の画像をタイル上に並べて一枚の画像に見せる。 画像の確認 フォルダ内の画像はこちら。 $ 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…

AscendingやDescendingを加味したDICOMからPNG変換

目的 DICOMからPNGに変換 ただし、被験者によっては撮像の順番(Ascending, Descending)がばらばら PNGのファイル名は、Decendingを基準として番号をふる 準備 フォルダ構造はこのような感じ。 2000人分のフォルダがあり、それぞれの中に複数の画像が入ってい…