2016年8月9日火曜日

R:区分回帰

区分回帰分析のまとめ(できたところまで)


データは
data.frame( )
などでまとめてから使用した.

test.lm <- lm(y~x, data)
test.seg <- segmented(test.lm, ~x)

プロットするなら,
plot(data)
par(new=T)
plot(test.seg)

近似直線は
test.seg$psi
で出たけど一個分だけのような.

まだまだウヌヌな状態.


2016年6月20日月曜日

imagej:動画トラッキング(まとめ)

最終的にトラッキングがサクサクできるようになった(みたい)なので,
ここらでまとめておく.

まず,pluginのManual trackingとSlice keeperを入れます(真顔).
この辺りはググるなりなんなりすれば大丈夫.
.javaを落としておいて,Pluginsからinstallなどすればなおよし.

動画はデジカメなどで撮影したもの(.MOV)を想定して解説.
前回を参考に,動画の拡張子を変更しておきます.
念のため,コマンドは
ffmpeg -i imput.MOV -f avi -vcodec  mjpeg output.avi 

まず動画を開き,フレーム数を確認します.
(例えば15分の動画で27000フレームなら,一秒間に30フレーム)
PluginsからSlice keeperを起動し,動画からn秒ごとの画像を切り出して.tiffにします.
(上の例とすれば,10秒ごとに切り出すなら300フレームごとに切り出し)
.tiffが表示されたら,任意の場所に保存.
あるいはManual trackingを起動して,ガンガントラッキングしていく.
ただ,線分を任意の場所に引っ張ってAnalyzeからSet scaleしておくのを忘れない.

多分これで大丈夫.後はエクセルなりナンバーズなり
適当に解析すれば良いのでは.

今回の作業ではある点と各トラッキングの距離を求めたかったので,
その自動化について追加でちょっと調べる.




2016年6月16日木曜日

imageJ:動画(avi)のトラッキング

撮影した動画(.MOV)の解析のイロハ.

まずffmpegを使って拡張子をmovie.aviに変換する.
ffmpeg -i imput.MOV -f avi -vcodec  mjpeg output.avi 
重い場合もあるけれど,PCの容量が許す限り変換していた.

imageJにはManual Trackingを導入しておく(真顔).
詳細は前回を参照.

できれば動画を30秒ごとに画像にしたりしたいけど,
ffmpegで瞬殺できなかったので次回に持ち越す.

2016年1月27日水曜日

ImageJ:マニュアルトラッキング方法 ver.2

前回投稿したトラッキングについて、補足というか。
前回のものは読みにくいしプリインストールじゃないものが含まれていた。

えーまずはto8bitsについて。
いきなり写真をあげてトラッキングすると重いので、スクリプトを
マクロとして読み込ませて使用している。
「imagej 8bit 変換」
とか調べると、それっぽいサイトのそれっぽいテキストが晒されているので
華麗にコピペ、使用すればいいのでは。

デスクに新しくMac miniを購入したので初期設定のついでに更新。

2015年12月22日火曜日

R:白地図の作成、あるいはeps形式での保存

白地図の作成は権利の関係でナニヤラ難しいところがありそう。

ここではとりあえずどんな方法があるか、という軽く触れる程度にしておく。


よし、Japan.rdsというファイルを手に入れたとしよう。
諸君には「白地図 R」とかでググって何とかして欲しい。

spというライブラリがあると捗るので、
install.packages("sp")
もう持っている修羅なアナタは
library(sp)
などとしてゲッツして欲しい。

んで、あとは
jpn <- readRDS("Japan.rds")
でよみこんで、

makemap <- function(xlim,xmax,ylim,ymax,i){
  plot(jpn,
   xlim=c(xlim,xmax),
   ylim=c(ylim,ymax),
   lwd=i
  )
}
なーんていうスクリプトでも組んでみたら、何度も
欲しいところが出るまでリレーできる。頑張れ。

もし必要なら
makeEps <- function(names){
 nm <- paste(names,".eps",sep="")
 dev.copy2eps(file=nm)
dev.off()
}
なーんてスクリプトを組んでおくとイイノデハ。

いやいやpostscriptでイイデショ、という方はそれはそれ。

2015年5月19日火曜日

ffmpeg:動画の拡張子変更(MTStoMP4) ver.2

ffmpegについての記述が変更されたので追記。

ffmpeg -i input.MTS -strict -2 output.mp4

ですな。

2015年1月10日土曜日

R:画面四分割して右下にlegendつける

超ニッチ。
こんな感じのグラフ(jpgじゃないと読み込めない?まさかそんな!)
が欲しい時のTips。

まず画面を四分割して、
par(mfrow=c(2,2))

一つ一つグラフを描画。screenで指定しなくてもいいんだろうけど、
スクリプト描くときはこれあると出来上がりをイメージできて好き。
screen(1); plot(1:7)
screen(2); barplot(1:7)
上のように違うプロット方法もできるし、下のようにsourceなどをつかってながなが書きがちな部分を省略もできる。
screen(3); source("graph.r")

んで、肝心の文字だけの部分だけど、普通にtextとかで描こうとすると
「グラフ書いてないよ!」とか怒られる。
そこで、
screen(4); plot.new()
とかやって騙す。あとは
           legend("topleft",legend=c("hogera",box.lty=0)
とかなんとか書いてやればok。textでもできるんだろうけど、
今回は座標を指定しなくても勝手に考えてくれるlegendを採用。
box.ltyはlegendの枠線指定なので、今回は書かんでええでの0(ゼロ)。
legendの前に
           par(font = 3)
を書いておけば判例でも斜体が使えるゾ!

あとは前に紹介したような方法で保存してやればバッチリ。
これであなたの修論もバッチリ!(白目)

R:グラフの保存

Rで作成したグラフをキャプキャーで保存しているトーシローは、
今回紹介するスクリプトを活用してほしい。

makeGraph <- function(names){
 nm <- paste(names,".eps",sep="")
 dev.copy2eps(file=nm)
dev.off()

}

なんのひねりもないが、作成したグラフを表示した状態で
makeGraph(*******)
で指定するとアラ不思議、ディレクトリの中に
********.eps
というファイルができているでは、あーりませんか。

epsはjpgなんかと情報の保存方法が異なるため引き延ばしたり形を変えても文字まで引き延ばされたりすることはない。思う存分楽しんでほしい。さらに、パワポで使用するときには線のみを表示し、背景が見えるというオマケつき。色付きの四角で囲むことが大好きなお兄さんもこれならグラフの部分だけ白抜けして恥を描くこともないはずだ。

勝手なアドバイスとしては、グラフを保存する際にはデフォルトの大きさ、つまりウィンドウを動かすことなく出たままの比率で保存すると、大量に保存したりいくつかのグラフを並列に乗せるとき綺麗に見える。

R:地図の描画

Rで地図を描くテクニック。
パワポなんかで発表するとき地図の下に転載元を描くなんてナンセンス。

まずRのなかでライブラリを呼び出して準備。
library(ggplot2)
library(maptools)
無いよ、なーんて言われてしまった準備不足のアナタは
install.packages("********")
のおまじない。******はパッケージ名。

んで、おもむろにshpファイルを開くんだが、
まてまてそんなんもってないぞ、というアナタは
japan_ver72
なんかでググって見つけるといい。見つからない時は他の人のブログをみて探すのだ。

同じディレクトリに入っていれば解凍してすぐ
dtl <- readShapePoly("japan_ver72/japan_ver72.shp")     #市町村レベル
ken <- readShapePoly("japan_ver72/japan_ver72.shp")     #県レベaル
plot(*******)  #*******は上の変数どっちでも。
綺麗な日本地図が手に入っただろうか。これで日本はアナタのものだ。
あとは緯度経度を指定してそのすばらしさをほしいままにしたらいい。
色なんか変えるのはスライド用ならいらない。太さは
lwdで変えられる。

例として任意の太さで地図が書ける超簡単なスクリプトを上げておくので、参考にしたらいいかしらん。これで石垣島の地図が手の中に。
使い方は、テキストに保存してsource("***")で指定するかRに直接ぶちこんだあと、
makeIshigaki(3)  #( )内の数字で線の太さを指定する
すればいい。時間がかかるかもしれないが気にせずコーヒーでも入れて待っていればいいだろう。

makeIshigaki <- function(max){
for (i in 1:max){
 plot(dtl,xlim=c(124,124.5),ylim=c(24.4,24.5),lwd=i)
 names <- paste("ishigaki",i,".eps", sep = "")
 makeGraph(names)
}
}

2014年12月24日水曜日

ffmpeg:動画の拡張子変更(MTStoMP4)

PCで動画を見たい時、マックユーザーの天敵はとりあえず
*.MTS
であろう。

これを無害なmp4にかえるには、Macportを使う。
sudo port install ffmpeg
して、

ffmpeg -i input.MTS -vcodec libx264 output.mp4
でok。

もろもろオプションで帰る事もできるようだけど、
一番簡単な方法を紹介した。

2014年12月16日火曜日

R:近似曲線のひき方

撒布図なんかによくある近似曲線の書き方。

例えば貝殻の殻口と殻幅について
plot(ShellLength ~ ShellWidth)
とプロットしたとすると、
 result <- lm(ShellLength ~ ShellWidth)
 abline(result,col="red")
で赤い近似曲線が引ける。簡単。

ちなみに

 text(10,25,substitute(paste(R^2,"=",x),list(x=round(summary(result)$r.squared,digits=5))))
で赤い字でR^2値が出てくる。

2014年4月28日月曜日

ImageJ:マニュアルトラッキング方法

毎回忘れるのでImageJを使ったトラッキング方法を。
PluginsにManual Tracking導入済みが前提。(わからなかったらggること)

まずImageJを起動します(真顔)

おもむろに
Plugins - Macros
内の
to8bits
を選び、撮影した一連の写真が入っているファイルを選択
ごりごりと変換が進むのでコーヒーを入れ、達観した顔で一服。

終了したら、
File - Import - Image Sequence...
から該当ファイルに作成された
8bit
という名前のファイルを選択
このとき読み込むオプションで、拡大率を50%位にしてあげるとメモリにやさしい

表示されたら
Plugins - ManualTracking
を起動して、さあ本番だ。

まず一番下の数値をいじる。詳細なデータでなくていい、そんなことよりトラッキングだ!の人は必要なし。
今回の場合は、
xy軸の縮尺
各写真のインターバル
を設定。

そしたらいよいよトラッキング。
Add track
をクリックして、写真のトラッキングしたい所をクリック。
次の写真に自動で移ったら成功。どこまでもトラッキングだ!
自動で移らなかったあなたはおそらく8bit変換かファイル選択時に
out of memory
とでているでしょう。写真の容量が大きすぎて最後読み込めなかったってことです。
ガンバレ!

で、終わったら点と線でつながれたやつがでてくるので、スカサズスクショ。
後からも画像で保存できる(らしい)けど勉強中。
トラックした結果はテキストで保存するとRとかでまたグラフ化できてgood。

2014年4月25日金曜日

Port:画像の変換

スクショなどの画像を他のepsなど拡張子に変換する方法

ちょっとわからんかったのでggってみた
すると、ImageMagicなるものがあるらしい・・・?

どれどれ、
sudo port search ImageMagic
してみると

ImageMagick @6.8.9-0 (graphics, devel)

    Tools and libraries to manipulate images in many formats

おお!あるやんけ
ではでは
sudo port -v install ImageMagick #-vはバグのでないおまじない
でインストール!

するすると依存系が入っていき、ささっとインストール完了。

で、ためしに
convert input.eps output.png
してみる

convert: iCCP: extra compressed data `input.eps' @ warning/png.c/MagickPNGWarningHandler/1832.
convert: iCCP: Not recognizing known sRGB profile that has been edited `input.eps' @ warning/png.c/MagickPNGWarningHandler/1832.

ムム、適度なエラー。でもちゃんとできてるみたいだ。


2014年3月3日月曜日

Latex:数式(同位体ver.)

同位体の値を修正する時に使う式

dX=(Rsamples/Rstandard -1) × 1000

は、行を変えて


\[ \delta X = (\frac{R_{sample}}{R_{standard}}-1) \times 10^{3} \]

でだいたい大丈夫。
細かいところは、まぁ、察して。

R:作業ディレクトリの移動

いちいち
q()
でRを終了して作業ディレクトリを探して・・・
みたいなトーシロ的作業はおしまい!

setwd(“../wd1/“)

2014年2月27日木曜日

Latex:文字の大きさ

もういちいち検索するのは嫌!

\tiny
\scriptsize
\footnotesize
\small
\normalsize
\large
\Large
\LARGE
\huge
\Huge


こんなもんだろ!大きさなんて飾りです

Latex:参考文献の上部にでる”参考文献”を消す

Latexで参考文献をつくると上部に

参考文献
[1] ほげげ
[2] あばば
[3] あらら

とでるが、sectionで参考文献を指定してるとこれが結構邪魔。

そんな時は、プレアンブルにて

\makeatletter

\renewcommand{\refname}{}
\makeatletter

のおまじない。{}内を書くとそのように”参考文献”を変えられる。

2014年2月11日火曜日

Latex:参考文献のソート方法を変える

Latex文章の参考文献の表示方法を変えたい!


具体的には、引用として出た順にしたい。

\bibliographystyle{jplain}

だと文献リストがまずabc順にソートされ、引用する箇所に挿入されていく。
これでは読み進めていくとき最初に出てくる文献が

水は飲めるのである[23,5,12]

とかになり、参考文献リストを探さないと行けなくなる。
あくまでも参考文献はよみながら参照していくので、引用した順に並んでいてほしい物である。
そこで、

\bibliographystyle{junsrt}

とすればよい。これで引用される順にリストが作成される。

Latex:目次の表示

Latexで文章を作った時に目次を付けたい


どこでもいいので

\tableofcontents

を入れる事。

このとき、 \section ごとに目次が作られるので参考文献や図表を

\bibliography

などで指定していた時は直前に

\section{参考文献}

を入れる等注意が必要。

2014年2月4日火曜日

Latex:図表の挿入

Latexでつくる文章での図表の挿入について

図は

\begin{figure}[p]
 \begin{center}
  \includegraphics{入れたい図.eps}
 \end{center}
 \caption{図の名前}
 \label{fig:1}

\end{figure}

で挿入。

\begin{figure}[p]

は[p]でページ変えて新しいページに図を挿入するサイン。
他のはhttpみたいな暗号があるのでggrks。
図の形式はepsだと幸せになれそう。

 \label{fig:1}

で引用の時の暗号。{}内は任意みたいだけど fig: は動かさない方が吉。
引用する時は

\cite{fig:fna}

ていれれば大丈夫。オプションで参照方法が変わるけど知らん。


表は

\begin{table}[p]
 \begin{center}
   \caption{表の名前}
  \begin{tabular}{|f||n|sh|su|} \hline
    ほげげ & えへへ & おほほ & あはは \\ \hline \hline
    なんやて & そやかて & なんだって & そういったって \\ \hline
  \end{tabular}
  \end{center}
    \label{tb:表}
\end{table}

みたいな感じ。表は新しく作成する様かな。
表なのでキャプションは上に入れる。

\beginの2つ目の{}で縦のラインを、各項目の\hlineで横のラインを入れる。

\labelで指定しておけば

\cite{tb:表}

と引用もでける。オプションで参照方法が変わ(ry