読者です 読者をやめる 読者になる 読者になる

R言語による電子カルテデータの二次利用

~R言語初心者がデータ処理を楽しめるように基本的内容中心のサイトです~

DockerでDICOMserver構築①~Conquest、SQLite

Docker Ubuntu 仮想マシン DICOM

フリーのDICOM画像serverでConquestというのがあります。
最近はDockerImageもあるようなので、使ってみました。

まずは、Ubuntu64ビット16.04を準備。

$ gedit conquest.sh

エディターを立ち上げたら、下のスクリプトをコピペします。

#!bin/sh
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
sudo apt-get install docker.io 

# まずはdocker-conquest
sudo docker run --name conquest -d -p 5678:5678 -p 80:80 wavedrift/docker-conquest

実行します。

$ sh conquest.sh

これでサーバーは動いているはずです。

ブラウザのアドレスバーに”http://localhost/cgi-bin/dgate”と入力。
上手くつながってはいるのを確認してください。
次にクライアントソフトから接続するための設定をします。

クライアントは定番のKPACS。参考サイトからダウンロードしてください。アカウントの作成とログインが必要です。
ホストPC(ウチの環境はWindows)のDICOMviewerからも見えるように、acrnema.mapの設定を変更します。

まずはacrnema.mapがどこにあるのか?当たり前だけどDockerコンテナ内なので
Ubuntu端末から、conquestコンテナ内に入ります

$ sudo docker exec -it conquest bash

ファイル検索は、findで検索。

# find / -name 'acrnema.map'

conquestフォルダにありました。

# cd conquest
# ls

dicom.iniもacrnema.mapもありますね、さあ編集です。でもgeditが動かない。
うーん、辛いけどviで開く。今後のためにも参考サイト見ながら操作の勉強。

# vi acrnema.map

クライアント何個かある場合はAEタイトルが重ならないように注意です。
ホストPCのIPアドレスを入力します。

f:id:r_beginner:20161211142413j:plain

conquest serverのrestartがわからず。コンテナのrestart。

$ sudo docker restart conquest

今度はホストPC上のクライアントソフト(KPACS:DICOMviewer)の設定です。
右上のDICOMsettingボタンを押して、DICOMconfigurationsで、仮想マシンIPアドレスを入力し設定保存します。

f:id:r_beginner:20161211142952j:plain

KPACSのQuery→Networkタブを選択→Conquestにチェック→Search filterのSearchボタンを押してみましょう。テストデータが見えました。

f:id:r_beginner:20161211143321p:plain

接続成功です。

本当は、データベースをSQLiteからMySQLに変更したかったのですが、dicom.iniファイルを変更してから、もろもろの処理ができず、お手上げ状態でした。Windowsの場合はConquestのソフトでMySQLにデータベース変更したり、データベースの初期化ができるのですが、Linuxコマンドでは上手く行きませんでした。わかる人がいたら教えて欲しい…


参考:

PostgreSQLとRstudio環境構築

Rstudio R言語 SQL PostgreSQL Docker 仮想マシン

正直PostgreSQLは、ほぼ触ったことがありません。

ただ医師会のレセコン(ORCA)や、オープンソース電子カルテのOpenDolphinはPostgreSQLを利用しており、これからレセコン・電子カルテデータをいじるのに避けては通れません。
はじめて操作した電子カルテMySQLだったのですが、使い始めはSQLの文法より何より、データベースサーバー・クライアントのインストール等の環境構築で手間取った記憶があります。もちろん細かいこともあとから勉強必要ですが、データベースにアクセスして操作する楽しみを少しでも早く感じれるように、環境構築の時間を可能な限り短くしたいものです。

今回PostgreSQLSQLの練習前に、簡単に早く環境構築(PostgreSQL+Rstudio)することを目標に書いてみました。

準備するもの

時代はUbuntuです。Dockerのオーバーヘッドを減らすためメインPCのWindowsUbuntuに上書きするか(無茶?)、仮想マシンVMware等)にUbuntuOSをインストールしておいてください。僕はUbuntu64bit16.04LTSをインストールした仮想マシンを用意しました。
f:id:r_beginner:20161129205319p:plain

インストールからの流れ

  • Dockerいれる
  • Rstudioコンテナ走らせる
  • ホストPCからつないでみる

では始めます。Ctrl+Alt+Tと押して、端末を立ち上げてください。
シェルスクリプトを書き込むrpostgres.shファイルを作ります。

$ gedit rpostgres.sh

入力するとエディターが立ち上がります。下記のスクリプトをコピペして、記録してエディターを終了してください。

#!bin/sh
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
sudo apt-get install docker.io 
# まずPostgres環境  
sudo docker run -d --name=postgres -p 5432:5432 -e POSTGRES_PASSWORD=mypwd postgres
# rstudioの環境
sudo docker run -d --name=rstudio -p 8787:8787  rocker/hadleyverse 

それではシェルスクリプトを実行します。

$ sh rpostgres.sh

10分とかからずインストールは終了したかと思います。念のためコンテナが動いているか確認します。

$ sudo docker ps -a

f:id:r_beginner:20161210180552j:plain
2つのコンテナともstatusはupで大丈夫のようです。

ホストマシン(僕はWindows)のブラウザにDockerをインストールした[IPアドレス]とポート[8787]と入力します。
例)192.168.0.5:8787
f:id:r_beginner:20161210180000p:plain

UsernameとPasswordは共にrstudioです。接続できたら新規ファイルを作成。

f:id:r_beginner:20161210175824p:plain

新規ファイルに下記のスクリプトをコピペしてください。

install.packages("RPostgreSQL")
library("RPostgreSQL")
con <- dbConnect(PostgreSQL(), 
                 host="192.168.0.5",  # 自分の環境のIPアドレスを入力
                 user= "postgres", 
                 password="mypwd")
dbSendQuery(con, "CREATE DATABASE r_test;")

一番上の行からrstudioのRunボタンで実行してみてください。

  • まずRPostgreSQLパッケージをインストール
  • パッケージを読み込み
  • Connectionオブジェクトを作成
  • オブジェクトにクエリを投げて実行します。(r_testというデータベースを作成)

これでつながりました。
確認も兼ねて、GUIのクライアントツールもインストールしてみましょう。

pgAdmin4 : https://www.pgadmin.org/download/windows.php

f:id:r_beginner:20161210173610p:plain

r_testというデータベースが確認できました。
つながらないときは、プロパティを確認してみましょう。

f:id:r_beginner:20161210173752p:plain

一応、別の方法でも。
仮想マシンの端末からpostgresコンテナ内に入り、コマンドで確認します。

$ sudo docker exec -it postgres bash
# psql -U postgres r_test
r_test=# \det+

f:id:r_beginner:20161210175304j:plain

空っぽのデータベースが見えました。大丈夫そうです。
あとはPostgreSQLの勉強をして、大好きなrstudioからガンガンSQLを流し込みましょう。

参考:

OpenDolphinとORCAの簡単な環境構築

Docker ORCA Ubuntu 仮想マシン 開発環境 電子カルテ OpenDolphin

OpenDolphinは日医レセコンORCAに接続できる、オープンソース電子カルテです。

PC初心者でも導入できるように分かりやすく書かれていますので、これを参考に動かしてみたいと思います。
gihyo.jp

はじめに

極力インストールの手間を省略するためと、ホストOSの環境をよごさないために、VMware仮想マシンにUbuntu64,14.04LTSをインストールし、そこにORCAをインストールします。またOpenDolphinはUbuntuのDockerを利用してインストールします。
Ubuntuが苦手、Dockerがわからなくても環境構築できるように、シェルスクリプトを使ってコード入力を少なくすることにします。

ORCA、OpenDolphinサーバーとglclient2のインストール

まずUbuntu14.04LTSの仮想マシンは準備しておいてください。僕はVMwareで準備しました。そのままのUbuntu14.04は使いにくいので日本語入力はできるように設定変更してください。
わからない方は、ここを参考にしてください。
ORCA(日医標準レセプトソフト)の導入 - R言語による電子カルテデータの二次利用

Ubuntuの端末を起動してください(Ctrl+Alt+T)。
f:id:r_beginner:20161207174556p:plain

シェルスクリプトを書き込むdorca.shファイルを作ります。

$ gedit dorca.sh

f:id:r_beginner:20161207175536p:plain
エディターが立ち上がりましたね。ここに下記のスクリプトをコピーペーストして、saveボタンで記録してください。

#!bin/sh
printf "password: "
read password

TIME_A=`date +%s`  

# install ORCA
echo "$password" | sudo -S wget -q https://ftp.orca.med.or.jp/pub/ubuntu/archive.key
sudo apt-key add archive.key
sudo wget -q -O \
/etc/apt/sources.list.d/jma-receipt-trusty48.list \
https://ftp.orca.med.or.jp/pub/ubuntu/jma-receipt-trusty48.list
sudo apt-get update
sudo apt-get -y dist-upgrade
echo "$password" | sudo -S apt-get install -y jma-receipt
wget https://ftp.orca.med.or.jp/pub/data/receipt/outline/update/claim_update.tar.gz
tar xvzf claim_update.tar.gz
sudo bash claim_update.sh
sudo jma-setup
sudo service jma-receipt start
sudo apt-get install -y panda-client2

# install OpenDolphin
sudo apt-get update
sudo apt-get install curl
sudo curl -sSL https://get.docker.com/|sh
sudo service docker start
sudo docker pull dolphindev/postgres
sudo docker pull dolphindev/wildfly
sudo docker run --name dolphin-db -P -d dolphindev/postgres
sudo docker run --name dolphin-server --link dolphin-db:ds -p 8080:8080 -d dolphindev/wildfly

sudo service jma-receipt stop
sudo gedit /etc/postgresql/9.3/main/postgresql.conf
sudo gedit /etc/postgresql/9.3/main/pg_hba.conf 
sudo service postgresql stop 
sudo service postgresql start
sudo dpkg-reconfigure jma-receipt 
sudo service jma-receipt start
sudo ufw disable

# ORCApasswordの設定
sudo -u orca /usr/lib/jma-receipt/bin/passwd_store.sh

TIME_B=`date +%s`   
PT=`expr ${TIME_B} - ${TIME_A}`
H=`expr ${PT} / 3600`
PT=`expr ${PT} % 3600`
M=`expr ${PT} / 60`
S=`expr ${PT} % 60`
echo "${H}:${M}:${S}"

エディターを終了し、ファイルが記録されているか確認します。

$ cat dorca.sh

確認できたら、あとで接続設定で必要となるIPアドレスを記録しておきます。
端末をもう一つ開いて、ifconfigで仮想マシンIPアドレスを確認。
次にVMware等仮想化ソフトを動かしているOS(僕はWindows10)のIPアドレスを確認しておきます。
メモしておきましょう。
それでは、シェルスクリプトを実行します。

$ sh dorca.sh

つぎつぎスクリプトが実行されていきます。前半はORCAのインストール、後半はDockerのインストールとOpenDolphinに必要なDockerImageのダウンロード、コンテナの実行です。とりあえずここではDockerとかコンテナとかわからなくて問題ありません。
途中で確認入力を要求されたらy[yes]と入れてください。
後半でORCAのデータベースPostgresの設定画面が開きます。

59行目、listen_addressesの前の'#'をはずし、仮想化ソフトを動かしているOS(僕はWindows10)のアドレスを追加します。
f:id:r_beginner:20161207181433j:plain
保存して終了します。次に別の設定ファイルが起動します。
f:id:r_beginner:20161207182323j:plain
最終行に'host all all 0.0.0.0/0 trust'を追加して、保存して終了します。

CLAIMサーバーの設定は、No、No、の次が下の画面になるのでYes、
f:id:r_beginner:20170226143834j:plain
Portはそのまま
f:id:r_beginner:20170226143841j:plain

最後にORCAのパスワードを確認されますので8桁以上のパスワードを入力しましょう。
これでサーバーの準備は完了です。

OpenDolphinクライアントのインストール

次のURLからクライアントソフトをダウンロードします。Javaバージョン8の実行環境が必要なので予めインストールしておいてください。
https://i18n.opendolphin.com/dolphin/client/OpenDolphin.zip

glclient2の設定

Ubuntuランチャーの一番上のボタンを押して、glclient2を検索
f:id:r_beginner:20161119154709j:plain
起動したら、先程入力したORCAのパスワードを入力してください。
f:id:r_beginner:20161119155003j:plain
01 医療事務ボタンを押すと、下記画面になります。
f:id:r_beginner:20161119155458p:plain
91マスタ登録から、101システム管理マスタを開き、管理コード9000CLAIM接続情報を選び、何度かEnterを押して確定。
f:id:r_beginner:20161207190702j:plain
CLAIM接続するを選び、送信アドレスに、OpenDolphinクライアントのIPアドレス(Win10)を入力、受付ポート5002を入力し登録します。
f:id:r_beginner:20161207190824j:plain

OpenDolphinクライアントの設定

ログイン画面から設定を選び
f:id:r_beginner:20161207191300p:plain
サーバー設定では、サーバーの欄に仮想マシンIPアドレスを入力
f:id:r_beginner:20161207191429p:plain
レセコン設定では、レセコンとの接続をクライアントにして、IPアドレス仮想マシンIPアドレス、ポート番号8210、リッスンアドレスをDolphinクライアントのIPアドレス(Win10)として保存。
f:id:r_beginner:20161207191727p:plain

以上で設定は終了です。使い方はORCAのサイトを参考に。
テスト患者をORCAから入力してみましょう。OpenDolphinのメインウインドウに患者が出力されました。これでORCAとOpneDolphinのCLAIM接続は成功です。
f:id:r_beginner:20161207192152j:plain

Enjoy!!

ORCA(日医標準レセプトソフト)の導入

Ubuntu 仮想マシン 開発環境 ORCA 医療データ

当院では使用しておりませんが、ORCAというレセプトソフトがあります。ちょっと触ってみたいと思っても、Ubuntuにインストールするのでやや敷居が高い感じです。
今回は仮想マシンで環境構築してみます。
まずVMwareにUbuntu14.04LTSを準備します。

OSの準備

そのままだと日本語入力ができないようなので、
下記サイトを参考にmozc使えるようにしておきましょう。
OS右上のキーボードマークを押してください。

f:id:r_beginner:20161204112112j:plain
configureを選択。

f:id:r_beginner:20161204112139j:plain
➕ボタンを押して、

f:id:r_beginner:20161204112149j:plain
Only Show Current Languageのチェックを外し、Search Input Methodにmozcと入力、Mozcを選択しOK。

f:id:r_beginner:20161204112304j:plain
上矢印ボタンでMozcを一番上に移動し終了です。

ORCAのインストール

ここからORCAのインストールです。
このサイトに書いてあるとおり勧めます。
www.orca.med.or.jp

UbuntuにはWindowsのバッチのような、シェルスクリプトがあるので使ってみましょう。
まず端末を立ち上げて。(Ctrl+Alt+T)
orca.shファイルを作ります。

$ gedit orca.sh

エディターが起動します。
f:id:r_beginner:20161204113403j:plain
このエディターに下のスクリプトをコピペして、記録してください。

#!bin/sh

sudo wget -q https://ftp.orca.med.or.jp/pub/ubuntu/archive.key
sudo apt-key add archive.key
sudo wget -q -O \
/etc/apt/sources.list.d/jma-receipt-trusty48.list \
https://ftp.orca.med.or.jp/pub/ubuntu/jma-receipt-trusty48.list
sudo apt-get update
sudo apt-get -y dist-upgrade
sudo apt-get install -y jma-receipt
wget https://ftp.orca.med.or.jp/pub/data/receipt/outline/update/claim_update.tar.gz
tar xvzf claim_update.tar.gz
sudo bash claim_update.sh
sudo jma-setup
sudo service jma-receipt start
sudo apt-get install -y panda-client2

# passwordの設定
# sudo -u orca /usr/lib/jma-receipt/bin/passwd_store.sh

確認してみます。

$ cat orca.sh

実行はshコマンド

$ sh orca.sh

つぎつぎにコマンドが実行されて、ORCA環境が作成されます。
最後にスクリプトコメントアウトしておいた、パスワードの設定コマンドを入力

$ sudo -u orca /usr/lib/jma-receipt/bin/passwd_store.sh

これで準備は整いました。

クライアントソフト

glclient2を立ち上げます。
f:id:r_beginner:20161204145613j:plain

先ほど決めたパスワードを入力
f:id:r_beginner:20161204145630j:plain

レセプトソフトORCA仮想マシン上でたちあがりました。
f:id:r_beginner:20161204150028p:plain

つぎにネットワーク上の他のPCからレセコンを立ち上げます。
Windows機の場合は、下記からJava Web start版をインストールしてください。

ORCA Project: monsiaj(日医標準レセプトソフトクライアント)

立ち上げたあとは、仮想マシンのコンソールからifconfigでIPaddress確認し、
f:id:r_beginner:20161204150906j:plain

アプリの接続画面にアドレス入力
f:id:r_beginner:20161204151009p:plain

接続すると
f:id:r_beginner:20161204151120p:plain
上手く起動しました。

ORCAデータの定期的バックアップと、復元方法をマスターしてしまえば、業者に委託せずとも管理できそうです。あとは医療事務さんの同意が得られれば、現在のシステムから移行できるかな…。

参考:

  • Ubuntu Desktop 日本語 Remixのダウンロード

https://www.ubuntulinux.jp/download/ja-remix

  • Ubuntu server 14.04で日本語入力できない

Ubuntu server 14.04で日本語入力できない - pandazx's blog

DockerでRとMySQLの環境構築(Ubuntu16.04LTS仮想マシン編)

Docker SQL 仮想マシン 開発環境 R言語

RとMySQLをDockerで動かす練習です。
今回はUbuntu 16.04 LTSで環境作ります。

まずVMwareでUbuntu64bit16.04LTSの仮想マシンを作っておきます。
f:id:r_beginner:20161129205319p:plain
端末から、

$ sudo apt-get update
$ sudo apt-get install apt-transport-https ca-certificates
$ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

パッケージでDockerインストールするときは

$ sudo apt-get install docker.io 

では、次に以前も紹介したHadley packageの入ったrocker/hadleyverse(Docker image)を入れます。

$ sudo docker run -d -p 8787:8787 -v ~:/home/rstudio rocker/hadleyverse

データベースはMySQLにします。

$ sudo docker run --name mysql -e MYSQL_ROOT_PASSWORD=mysql -d -p 3306:3306 mysql

ちゃんとうごいているか確認

$ sudo docker ps

f:id:r_beginner:20161129211745j:plain
大丈夫みたいです。STATUSはUPになってます。

Dockerコンテナのip addressを確認して。

$ ifconfig

f:id:r_beginner:20161129211301j:plain

さてRstudioをブラウザから動かして見ましょう。
ブラウザのアドレスバーに[ip address]:8787と入力します。
Rstudio serverが立ち上がりましたね。
f:id:r_beginner:20161129212203p:plain
Username,Passwordはどちらも"rstudio"で。

Consoleからでも、PackagesタブのInstallボタンでも良いので

install.packages("RMySQL")

まずはMySQLに接続するためのパッケージをインストール。
実際データベースを操作してみましょう。
Rstudioに新規ファイルを作り、下記コードをコピペしてください。

library(RMySQL) 
con <- dbConnect(MySQL(), host="[ip address]", port=3306, dbname="mysql", user="root", password="mysql") 
dbGetQuery(con,"SHOW DATABASES;") 
dbGetQuery(con,"CREATE DATABASE rbeginner;") 
dbGetQuery(con,"SHOW DATABASES;") 
dbDisconnect(con) # 終わったらconnectionは切りましょう 

順番にRUNボタンで実行すると。最初の"SHOW DATABASES;"ではなかったものが、2回めにできていますね。
本当にMySQLにrbegginerのデータベースができているでしょうか?

もういちどUbuntu端末に戻ります。

$ sudo docker exec -it mysql bash

mysqlコンテナに入ります。

# mysql -u root -pmysql
mysql> show databases;

f:id:r_beginner:20161129214240j:plain

できていますね。Dockerは環境構築が簡単なので良いですね。

DockerでRの環境構築

仮想マシン Docker R言語 開発環境

とりあえず動かしてみよう

先日SappoRoR#7で、DockerによるR環境構築を教えてもらいました。
忘れないようにメモっておきます。

いろいろ方法はありそうですが、まずVMwareの仮想Ubuntuマシンに入れてみます。今回はUbuntu16.04LTSです。
Ubuntu仮想マシンが1台ある前提で始めます。
f:id:r_beginner:20161106091550p:plain

端末から(Ctrl + Alt + T)

f:id:r_beginner:20161106171323p:plain

sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
sudo apt-get install docker.io

rockerというコンテナイメージ置き場から、hadleyパッケージのインストール済みコンテナイメージを持ってきます。
終わったらコンテナを起動します。docker run イメージ名です。

sudo docker pull rocker/hadleyverse
sudo docker run -d -p 8787:8787 -v ~:/home/rstudio rocker/hadleyverse

f:id:r_beginner:20161106093428p:plain

Tokyo.RもRstudio日本語環境作ってくれているようです。

sudo docker pull tokyor/rstudio
sudo docker run -d -p 8787:8787 -v ~:/home/rstudio tokyor/rstudio

docker runの-vオプション必ず付けましょう、ホストディレクトリとの接続用です。

ブラウザにlocalhost:8787といれると、rstudio serverが起動します。

f:id:r_beginner:20161106093657p:plain

id、passwordは共にrstudioです。

f:id:r_beginner:20161106093814p:plain


僕はDropboxに画像やら、Rスクリプト等を入れているので、Dropboxもインストールしています。

sudo apt-get install nautilus-dropbox
dropbox start -i

f:id:r_beginner:20161106100823p:plain

ちなみにコンテナの状態を確認するのは、

sudo docker ps
sudo docker stats # ctrl+Cで終了

f:id:r_beginner:20161106172933p:plain

こんな感じで簡単に環境構築ができます。

ウチの仮想環境で、

  1. 仮想マシン作成(Ubuntu64 16.04LTS):約20分、Ubuntu64 14.04LTSだと約15分
  2. アップデート~Dockerインストール:約1~2分
  3. docker pull rocker/hadleyverse :約5~6分

今回は動作確認を中心に。

参考

  • Reproducebility 100倍 Dockerマン

http://www.slideshare.net/teramonagi/reproducebility-100-dockerReproducebility 100倍 Dockerマン 

  • tokyor/rstudio

https://hub.docker.com/r/tokyor/rstudio/

Rで画像処理~magick package

R言語 画像処理 magick

最近、ホームページもRmarkdownで書くようになりました。凝ったものは必要ないし、修正するのも楽だし、Rstudioで全て済ませられるので満足してます。ただホームページに貼り付ける画像を編集するのに、他の画像ソフトを立ち上げるのはやや面倒だなとは感じていました。でも、もうほかのソフトは必要ないかもしれません、magick packageがあれば…

インストール

magickは、ImageMagick STLというものをラップしているみたいです。
まずはインストールしてみましょう。

install.packages("magick")

画像の入出力

パッケージを読み込んでから、画像を取り込みます。
先日頂いた、えび味噌ラーメン画像です。

library(magick)
ramen <- image_read('img/ebi_miso.jpg')

Rstudioのviewerに出力するには、ramenとそのまま打ち込むだけです。


f:id:r_beginner:20160911123202j:plain
f:id:r_beginner:20160911125853j:plain
コンソールには画像の情報も一緒に出力されます。

画像の情報だけ欲しい場合は、image_infoを使います。

image_info(ramen)

ちなみに画像の出力は、image_writeを使います。

image_write(ramen,path='img/ebi_miso.png',format='png')

画像の処理

画像のサイズ変更は、image_scaleで。

library(dplyr)
image_scale(ramen, "200") %>% image_browse()  # width: 300px
image_scale(ramen, "x200") %>% image_browse() # height: 300px

画像の回転、鏡像はimage_rotate,image_flip,image_flopで。

image_rotate(ramen, 45)
image_flip(ramen)
image_flop(ramen)

f:id:r_beginner:20160911135847j:plain
画像のフィルター、効果は、image_blur,image_noiseで。

image_blur(ramen, 10, 5)
image_noise(ramen) 

f:id:r_beginner:20160911140655j:plain

画像のテキスト注釈

上の写真のようなテキストを付けるのは、image_annotateを使います。

ramen %>% 
  image_annotate(.,'text!!',size=70,gravity='northeast',color='green') 

f:id:r_beginner:20160911141542j:plain

画像の結合

ラーメン画像を3枚用意します(ramen1,ramen2,ramen3)。
3つの画像をcombineしてから、image_appendするのですが、画像の大きさが、まちまちかもしれないので、image_scaleで高さをそろえてからappendしてください。

img <- c(ramen1,ramen2,ramen3)
image_append(image_scale(img, "x200")) 

f:id:r_beginner:20160911143743j:plain

レイヤー

Photoshopみたいにレイヤーを重ねたりできます。

logo <- image_read("https://www.r-project.org/logo/Rlogo.png")
image_scale(ramen, "500") ->ramen500
image_scale(logo, "300") ->logo300
img <- c(ramen500 ,logo300)
image_mosaic(img)

f:id:r_beginner:20160911144328j:plain

アニメーション

先ほどのラーメン画像3枚でパラパラアニメです。image_animateを使用します。

img <- c(ramen1,ramen2,ramen3)
image_animate(image_scale(img, "200x200"), fps = 1, dispose = "previous") 

f:id:r_beginner:20160911145157g:plain

試してない機能もまだまだあります。
ラスター画像に変換し、ggplotに貼り付けたりもできるようです。

まとめ

簡単な画像処理は、Rでできそうです。
たくさんの画像に同じ処理するような場合には、効率よいですね。
繰り返し作業は画像ソフトより、可能な限りRで済ませたいものです。