surgのブログ

日々のネタ忘備録。勉強用。R初心者。切ったり縫ったりする人。

igraphをLinux Mintにインストール

Linux Mint の R で、うまくinstallされないpackageがあって困っていた。
igraphもそのうちの一つであったが、このサイトのおかげでinstallできた。

stackoverflow.com

当方、Linux Mint 18.1 Cinnamon。

ありがたや。
もう少し細かいことがわかったら追記。

いつもの備忘録です。

コマンドプロンプトで拡張子を付与する

  • 大量のDICOMファイルを操作する際に、届いたDICOMに拡張子が無かったので
  • コマンドプロンプトで一括に拡張子を付与した。
  • あったほうが後々便利だっただけの理由。
cd c:\dicomfile  #別にどこでもいいですが置いてる場所を指定
ren * *.dcm

これだけ。
いつもの忘備録。

例えば、もともとjpgをJPGに変えるなら、

ren *.jpg *.JPG

でいいっぽい。

Linux Mintを載せたLet's noteのWheel Padを有効にする

  • Linux Mint 18.1を中古で買ったCF-NX2に入れて使っています。
  • Corei5です
  • Let's noteのホイールパッドが使えるようにしました
  • 設定の忘備録です。
$ synclient -l  #現在の設定を確認する
$ synclient CircularScrolling=1  #0でオフ

これで普通に使えるようになりました。便利です。

ちなみに

$ lsb_release -r

で、現在のディストリビューションのバージョンが確認できます。

メタ解析:複数の尺度を統合したい場合

同じモノを測定しているけど、違う尺度で測っている結果を統合したい。
ということで、復習がてら。

複数の研究結果から effect size を統合する手法(1)

上のHPでは「Effect size」が出てくる。
「測定単位には無関係で,標準化された効果の大きさ」として表現されている。 分母が結構ややこしくて、対照群と介入群の両者を用いてSDを計算している。

9.2.3.2 The standardized mean difference

ところで、Cochraneでは同様のものが「Standardized mean difference(SMD)」として記載されており、
自分は最初にそれを認識した。

違うものなのか、文化が違うところで呼び方が違うだけなのか、と思ったところ、
上のCochrane handbookに「基本的に一緒」と書いてあった。歴史的に、特に社会科学系のメタアナリシスでよく使われたtermであると。
CochraneではSMDの呼称を推奨。

SMDの再表示について

ここだと、termとしてはSMDが使われていて、分母は「対照群の標準偏差」となっている。

Cochraneだと、分母は「両群から統合された標準偏差」となっているので、そっちを使うべきか。

まあでも、これで一応やり方は分かるので、コード書くなり、Revmanに放り込むなりできる。

DICOMをいじる必要に迫られてのPython②

で、タグをいじってみると、意外に簡単に編集できました。

import dicom 
dcm = dicom.read_file("test.dcm")
#If you want to change Patient Name in dcm as "Santa"
dcm.PatientName = "Santa"  
dcm.PatientID = "001224"  
dcm.acquisitionDate = "20171224"
dcm.save_as("tested.dcm")  #creating a new dicom file

tagの消去も出来そうなので、それはおいおい。

DICOMをいじる必要に迫られてのPython

先日、oro.dicomというR packageをinstallしてみたのだが、あんまりうまく運用できなかった。
しかし、タグをいじる必要性がぐいぐい迫ってきたので、
Rを置いといてPythonでやってみることにした。Pydicomを使用。
あんまりPython使ったことないけど、結局必要に迫られないと使わない悲しい性。
私はAnacondaで入れてました。

DICOMについては、下記も参照。

一般社団法人 日本画像医療システム工業会【JIRA】:DICOMの世界

インストールは下記。当方Windows

pip install pydicom

で、DICOMの世界のサイトでも、どこでもいいんですが、
DICOMファイルを(とりあえずシリーズではなく1個)引っ張ってきます。
それで、それをカレントディレクトリに置いておきます。

ここ以降はインタプリタで。

import dicom
dcm = dicom.read_file('test.dcm')
print(dcm.Modality)

とすると、MRと出ます。
ファイルによってCRとかCTとかMGとか色々あるでしょうね。

print(dcm)

としたら、全てのタグ情報が出てきます。

  • Patient's name
  • Institution Name
  • Manufacturer
  • Study date
  • Acquisition date

などなど、いくらでもあります。
これをどういじっていくかはおいおいやってきましょう。

画像の表示には、matplotlibを使うとよい模様。

import matplotlib.pyplot as plt
import pylab
dr = dicom.read_file("test.dcm")
im = dr.pixel_array
plt.imshow(im, cmap=pylab.cm.bone)
plt.show() 

で下記が表示されました。

f:id:surg:20171223142622p:plain

他の、MG(マンモグラフィ)の画像なども同様にして表示できました。
CR画像のほうがdcmファイルとして重いんですね。

f:id:surg:20171223143122p:plain

白黒反転させたければ、

plt.imshow(im, cmap=pylab.cm.binary)

でいけます。

DICOMを操作できる?

CTとかMRとかの画像を扱う際、DICOMは避けて通れない。

DICOM

Digital Imaging and COmmunications in Medicine

だそうです。

DICOM - Wikipedia

Rでも扱えるらしい。
oro.dicomというpackageがあるみたい。

install.packages("oro.dicom")

でinstallした。

www.kyoritsu-pub.co.jp

積ん読していたこの本をざっと眺めるが、当然画像処理のことがメイン。
タグ情報を弄れるか、みたいな話は見当たらない。
(mp3タグをちょっと思い出した人!)

ちょっとしばらく弄ってみることにする。
検索すると、Pythonで弄ってるひとも居るみたい。

OsiriX | DICOM Image Library

ここに個人情報とかそういうことに抵触しないフリーDICOM素材があるみたいなので、時間があったらやってみます。