2019年4月10日水曜日

240HzのディスプレイとPsychtoolbox

【解決!】

Windows7で画面の解像度→詳細設定「モニター」タブにて,リフレッシュレートを選べる。そこで240Hzに設定すれば,はい終わり!であれば,ここにメモを残さないわけで。

Screen関数を使用して描画をするんだけどどうも4msが出ない。Psychtoolbox的には240Hzと認識しているのに…。ただしPCの性能ももちろん必要なので仕方ないのかなあ,と思いつつ色々いじったんだけど,なんだか最後までしっくり来ず。

というところで,ふとNDIVIAコントロールパネルの「解像度の変更」というところを確認してみました。そしたら,リフレッシュレート「120Hz」となっていたわけです。UltraHDだと120Hzまでしか出せないらしい。

これを240Hzに修正してPsychtoolboxを走らせて見ると,描画が少し早くなり,安定しました。しかし、相変わらず240Hzでは描画できないのです。

======
ここから時は経ち、PCもグラボも良いのに変えたんだけど(GeForce RTX2060) やはり
240Hzじゃ描画できません。(ここからWin10のはなしになる)


======
やっとできました。長かった。何個PC試したことか。Psychtoolboxのバージョンを3.0.11にして,MATLAB 2015b(32bit) にしたらいけました。32bit は3.0.12からは対応していないはず。3.0.10だとうまくいきませんでした。

ディスプレイの他のセッティング等はいじらなくてOKです。2015は2018と同居していますが,大丈夫(Gstreamerは32bit用のものもインストールする必要あり)。

2018年8月6日月曜日

HDDからSSDに換装した

HDDから,CrucialのSSD(1TB)に換えました。
PCは,DELLのXPS 8700 デスクトップ。Windows7です。
しかし,その途中大変だったので,メモっておきます。

[データ移行ソフト]
・CrucialのSSDを買うと,Acronis True Image for Crucialというコピーソフトが使えます。これは,CrucialのSSDが認識されていないと使えません。
・Freeのものだと,EaseUS Todo Backup Freeや,AOMEI Backupper Standardというものがあります。
・ 概ね,どれでもいいようです。

[物理的に用意するもの]
・SSD本体

私の場合はこれ。生協経由で購入したら,amazonの倍ふっかけられました。まじでボッタクリです。大嫌いです。K大生協。

・SATAケーブル

一般的には,これ,と,だいたいどのサイトにも書いてありますが,その後の使い勝手等を考えると,不要です!ただし,現在HDDに繋がっている既存のケーブルがSSDに対応していないとか,そういう可能性がある場合には,購入してください。

・USBケーブル

デスクトップの場合でも,SATAケーブルの代わりに, こっちを買ったほうが最終的に助かる可能性ありです。ここに貼ってあるのを買ったのかどうか忘れましたが,基本的に動きそうならなんでもいいです。

・ブラケット

これは,最悪なくてもいいです。SSDをケースにちゃんと固定したいならば買いましょう。

[ブツの解説]
SATA/USBは,データ移行(HDD→SSD)の際に使用します。どちらかは必要です。移行後は,既存のSATAケーブルでSSDを接続するので,既存のHDDをそのままPC内部で使用し続けるのではない限り,新たなSATAケーブルが必ず必要というわけではありません。

USBケーブルの場合にも,その後は(基本)使わないので(他のSSDを外付けにする場合には流用可能),状況は同じなのですが,換装にてこずった場合に,こっちの方が楽です。あと,PC初心者は,USBケーブルを扱う方が精神衛生上,楽かと思います。

[ざっくりとした手順]
1.SATA/USBケーブルで,SSDをPCにつなぐ。
 ・SATAの場合は,電源おちているPC開けて,電源とSATAケーブルをそれぞれSSDに繋ぐ。SATAケーブルの一方は,マザーボードのそれっぽいところを探して挿す。
 ・ USBの場合には,SSDにかたっぽを繋ぎ,外付けHDDのように挿すだけ。

2.コピーソフトで コピー。
 ・私の場合には,Acronisを最初に使用。その後色々あって,EaseUSを使用。最終的に,Acronisが悪いわけではなかったと思う。
 ・とりあえず「コピー!」みたいなものを押せば,数十分~数時間で終了です。私の場合には,500GBちょい使用していて,Easeで2時間ちょいだったかな。
 ・「SSDに最適化」 みたいなオプションがあるけれど,つけてみて,失敗したらその次からは外してみればいい。

3.電源落として既存HDDをはずして,SSDを接続
 ・HDDについているSATAケーブルをはずしましょう。
 ・SDDにSATAケーブルが付いていない場合は,接続。あるいは,付け替えたい場合も,付け換える。

4.Windows起動
 ・成功!わーいやったね。簡単!

というのが,絵に描いたモチです。


[上の作業に失敗しないように,いくつか対策です。]
以下は,できるだけ作業前に最初に行ってください。

みんな
・重要なデータのバックアップをとって,色んなドライバなどを更新しておきましょう。

普通のヒト
・Intel Rapid Storage Technologyを必ず,最新版に更新する。なんか色々と悪さするみたいです。ただし,あるバージョンだとOKだとか,そんな話もあるので,もし躓いたらその辺をググってください。

Intel Rapid Storage Technologyを最新版に更新できない人へ!
・マニアックな悩みですが,私はこれでした。なぜか更新の途中でエラーが出て,それ以降,アンインストールもアップデートもできないという最悪な状態に。
・そんなときは,「デバイスマネージャ」→「IDE/ATA/ATAPIコントローラー」→ の「AHCIなんとか」ってなっているところのプロパティ開いて,ドライバ更新→探す→「Standard AHCI 1.0 Serial ATA Controller」にドライバ変更。これは,インテルではなくてマイクロソフト標準のコントローラーらしい。


[上の作業に失敗したヒトへ。]
・失敗すると,分かりやすくWindowsが起動しません。無限ブルースクリーンです。

・私は,2回インストールに失敗(SSDを2台買っていたのでした...)したのち,1回書き込んだSSDを初期化してもう一度コピー作業をおこなう必要がありました。
・しかし,HDDから正常起動させているときに,SSDをSATAで繋いでいてるとWindowsが落ちてしまい,初期化ができないという困った状態に。
・ここで登場するのが,USBケーブルです。USBケーブルなら,HDD起動させている際にも,SSDが邪魔して困ったことに,なんてことにはなりません。
・下のSSDの初期化を参考にSSDを初期化しなおして,何度もコピーにトライしてください。


[SSDの初期化]
 ハードディスクパーティションの作成とフォーマット
・プログラムの検索的なところに「パーティション」とか入力して「ハードディスク パーティションの作成とフォーマット」を探し,起動。
・こまったSSDを探し, ディスク番号を確認。私の場合には,disk 5でした。
・ボリュームを右クリックして,「ボリュームの削除」をしておく。間違えると大変なので超慎重に。

diskpart
・プログラムの検索的なところに「diskpart」と入力,起動。
・コマンドラインに「list disk」と打つと,現在接続されているディスクのリストが出る。
・さっきのディスク番号と照らし合わせて確認してください。kろえも間違えると大変。
・「select disk 5」と打つと,そのディスクが選択された状態に。
・もう一度「list disk」と打って,選択したディスクの横に「*」がついているか確認。
・「clean」と打つと,選択されているディスクがまっさらな状態になります。
・これで,もう一度コピーすることができる状態に戻ります。



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. ディスプレイのスイッチを入れます。右左に動くのが地味についています。

終了!

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