2017年10月7日土曜日

Acquiring xy and pressure data from a wacom tablet with python

I gave up to acquire xy and pressure data from a wacom tablet with MATLAB, and used python instead.

1) Download python codes.
  I developed codes based on the below URL.
You may find test.py and tablet.py.
 
https://gist.github.com/nitaku/8377916

2) Install Anaconda3


https://www.continuum.io/downloads

Maybe a 32bit version is better for considering the compatibility with the cgkit2 (32bit).

3) Get Python 3.3 
I installed Anaconda3 with Python 3.6 and thus I had to get Python 3.3 in the environment.

   conda create -n py33 python=3.3 anaconda 

4) The way to activate Python 3.3

   activate py33

if you want to go back to the default environment, you can type

   conda deactivate

5) Download and install cgkit 2

  https://sourceforge.net/projects/cgkit/files/cgkit/cgkit-2.0.0/

  cgkit-2.0.0.win32-py3.3.exe (Windows)


* I could not install cgkit 2 because Python 3.3 was not found in Registry, and had to register by myself.

 5-1) Open Registry
     cmd -> regedit

 5-2) Copy the values of Python 3.6 and edit them to go along with Python 3.3.
    "Export -> text edit -> Import" maybe faster than direct editing using GUI.

 5-3) Finally, I installed cgkit 2.

6) Execute "test.py" with WACOM cintiq 13HD

I can acquire the data at 180Hz!

In the test.py,


    p.t, p.x, p.y, p.p

correspond to timestep in the system time(ms), x coodinate, y coordinate, and pressure, respectively.

You can save them like as

   filename = '0001.csv'
   f = open(filename, 'w', newline='')
   csvWriter = csv.writer(f)


   def draw(p):
         :
         :
         csvWriter.writerow([p.t, p.x, p.y, p.p])
         :
   f.close()








2017年9月2日土曜日

SONYのNeural network consoleを使ってみた

GUIでディープラーニングできちゃう話題のやつ。とりあえず遊んだ備忘録。

バイナリでなく,カテゴリカルなデータを学習させるときには,レイヤ(Affineなど)からの出力をsoftmaxに入力して,softmaxからの出力をカテゴリの数に設定する。

なので,標準で用意されている0~9の画像データセットの場合,10とすればよい。

最後に,Softmaxからの出力をCategoricalCrossEntropyに入力すればよい。

ちなみに,SoftmaxとCategoricalCrossEntropyを足したものである,SoftmaxCrossEntropyを使うと,ちょっと早いらしいんだけど,Evaluation後のクロス表が出力されないので注意です。


2017年8月19日土曜日

MATLAB モニターのサイズをcmとピクセルで取得

実験などで,物理的なサイズで指定したいときにはこれを使って修正。
出力された値の比をとってあげればよいです。

------------------------------------------------
function out = getMonitorSize
% モニターのサイズをcmとピクセルで取得
% 一行目,cm
% 二行目,ピクセル
%

a = groot;
% 単位をcmにする
set(a,'Units','centimeters')
centiM = get(a,'MonitorPositions');
% 単位をpixelに戻す
set(a,'Units','pixel')
pixelM = get(a,'MonitorPositions');
out = [centiM(3:4); pixelM(3:4)];

------------------------------------------------

 昔のバージョンだとgrootだとエラーでるので,0とかにするとよいかも。

2017年7月30日日曜日

Psychtoolbox 動作確認

新しいPCでのPsychtoolbox Screen関数の動作確認。

Mouseコンピュータの小さいやつ,mouse デスクトップパソコン Lm-mini。


メモリはとりあえずささやかに増やして買いました。


CPU Core i3-6100U @ 2.30GHz
メモリ 8GB
ディスプレイアダプタ Intel HD Graphics 520

Psychtoolbox(古いバージョン)インストールして,即Screen関数起動成功。
このサイズのPCで実験ができるとなると,いろいろ結構便利になりますね。

SSDは120GBあるので,プログラム関係は問題なく収まります。
余計なものは,外付けHDDを一台用意すればOK。

USBポートも,全部で6基あり,十分。
ディスプレイ裏マウントが標準で付属されているのも,よい。

2017年5月25日木曜日

Raspberry pi 3bを触る ラズパイさん。

とりあえず覚書です。

Raspberry Pi 3bを買ったよ。

一通りセッティングしたら,センサーのデータだらだら表示などに使う予定。

ディスプレイ小さいのがいいので,3.5インチのタッチモニタを購入。
HDMIでタッチでこの価格とか,すごいね。



到着したディスプレイは「KeDei」と書いてある。ブログをチョコチョコ見ると,あんまりお勧めされていないようだけど,とりあえず無視。最終的には問題ありませんでしたよ。

[ Prepare Raspbian OS]

まず,OSを準備します。

1. Micro SDカードに, imgファイルを書き込もう。

本家サイトからダウンロードしようと思ったら4時間くらいかかりそうだったので
以下のミラーサイト(日本) からダウンロード。

http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/

みんなLiteをインストールしてるけど,機能は多い方がいいじゃないか。ということでフルの方をダウンロード。

2. zipファイルを解凍すると,imgファイルが出てくる。

これを,「DD for Windows」というソフトでSDカードに書き込む。
http://www.si-linux.co.jp/techinfo/index.php?DD%20for%20Windows

3. SDカードは事前に「FAT32」でフォーマット。

対象ディスクを選び,ファイル選択で「.img」ファイルを選び,「書き込み」を押す。
すると,なんかわかんないこと言われるので,「はい」を押し続け,書き込む。
4GBを書き込むのは結構時間がかかるなあ。。


待っている間に,KeDeiのディスプレイについて調べます。

【Osoyooの説明】
なかなか面白い日本語で解説してくれている。
http://osoyoo.com/ja/2016/11/20/raspberry-pi-3-5inch-hdmi-touchscreen/
ここから ドライバをダウンロード可能って書いてある
https://drive.google.com/drive/folders/0B0yi2A0LygMPM3dlOEY3Sml0am8
でも,よくわかんないので, 英語を読む。
http://osoyoo.com/2016/11/20/raspberry-pi-3-5inch-hdmi-touchscreen/
全然説明が違ってびっくりだ。英語の説明を読みましょう。
ドライバをダウンロードをするだけみたいだけど,わからない人にはわからない。

わかりやすいのを見つけたので,こっちに従うことにする。 親切じゃないかOSOYOO
http://osoyoo.com/2017/01/18/install-3-5-hdmi-touch-screen-linux-driver-on-raspberry-pi/ 

ちなみに,「OSOYOO customized image for raspberry pi 3.5" touch screen」というのがあって,これは既にドライバがインストールされているOSらしい。OSをまだ用意していない,というヒトはこっちをSDカードに書き込めば,最初からKeDeiのディスプレイが使えるということらしい。


[ Install Raspbian to Raspberry Pi 3 ] 

さて,話をもとに戻しましょう。

1. SDカードに書き込みが完了したら, SDカードをラズパイに入れて,HDMIを普通のディスプレイに繋いで,電源をつなぐ。

そしたら,起動!Settingも何もなくて起動してびっくり。


[ Connect WiFi in a proxy environment ]

Proxy環境なので,ネットにはつなげないらしい...面倒。とりあえずWiFiでプロキシ使うSSIDに繋いでください。そこから以下の設定。

1. ターミナルで
sudo leafpad /etc/apt/apt.conf
でエディタ開いて(もともとないので新規作成になるけど),
Acquire::http::proxy ""http://*****:8080";
Acquire::https::proxy ""http://*****:8080";
Acquire::ftp::proxy ""http://*****:8080";
と書いたファイルを作成します。 nanoという,ターミナル上のエディタでも編集できるみたいだけど,ムヅカシイので,初心者はleafpad推奨。

2. もうひとつ,ファイルを編集。
sudo leafpad .bashrc
と打つと,既存のファイル (.bashrc) を編集できます。

3. このファイルの最後に以下を追加します。
export http_proxy=http://*****:8080/
export https_proxy=http://*****:8080/
export ftp_proxy=http://*****:8080/

4.注意点として,GUI環境では,ブラウザをターミナルから立ち上げないとProxy通らないのです。ブラウザを立ち上げるためには,

chromium-browser &

を実行しましょう。


[ Install a 3.5 inch touch display driver ]

さて,ネット環境が整ったら,タッチディスプレイを接続しましょう。

1. まず,Chromiumブラウザから,HDMI ドライバのダウンロード。

以下からもらいましょう。
http://osoyoo.com/driver/LCD_show_35hdmi.tar.gz

 【ちなみにKeDeiのサイト】
http://kedei.net/raspberry/raspberry.html

2. 圧縮ファイルを,「pi」フォルダに移動させます。

3. 次に,ターミナルを起動。ブラウザ見ながらだと,そのターミナルはいじれないので,もう1つ追加で立ち上げましょう。

4. 余計な設定を全部飛ばすと,以下のコマンドだけ,打てば終わり!

・ファイルを解凍して,そこにカレントディレクトリを移す

sudo chmod 777 LCD_show_35hdmi.tar.gz
tar -xzvf LCD_show_35hdmi.tar.gz
cd LCD_show_35hdmi

・好きな解像度を選んでインストール。
sudo ./LCD35_480*320
480*320の部分は,好みに応じて 720*480 か 810*540 に変えてね。

このままちょっと待つと,解像度が切り替わります。


[ Connect the 3.5 inch touch display ]

1. さて,その次は,OSOYOOをガチャっとくっつける。
 ピンにささないといけないのですが,向きは「これしかないだろ」的にくっつければOKです。

2. ピンが接続できたら,付属の HDMIケーブル(とは言わないけど,接続部品)を使って,ラズパイとディスプレイを接続します。

3. ディスプレイのスイッチを入れます。右左に動くのが地味についています。

終了!

もしもタッチが反応しなかったら,再起動するといいと思います。




2016年12月9日金曜日

Unity 5.5 0f3 with Leap Motion Hands Module 2.0

is not working! It says there is a compile error (s?).

Use Unity 5.4.3 if you import Leapmotion handsmodule.
Be careful!

Leap motionのhandsmoduleはUnity 5.5 では動かないようです。
時間無駄しました。5.4.3使ったらエラーなく動きました。
現時点では誰も報告していないようなので,とりいそぎ。


Show hands captured by Leap motion in Oculus DK2 with Windows 7, Unity 5.4.3, and Leap Orion 1.3.3 (core asset + Hands module assets)

2016年11月16日水曜日

Pupil Labs



I bought Pupil labs eye tracking camera system. The hardware looks very cheap, but the software is not bad. It run on My macbook air, though it is unstable and sometimes crashes.

The accuracy of gaze points is better than I expected. The above movie shows an example.