2019年6月25日火曜日

240Hz presentation with MATLAB Psychtoolbox

Finally, I found the solution!

You can use 240Hz visual presentation using Screen function on MATLAB 2015b (32bit) and Psychtoolbox 3.0.11!

Display monitor: I-O DATA 24.5 inch (240Hz) GigaCrysta EX-LDGC251UTB

you can test the flip accuracy by "FlipTest".

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基あり,十分。
ディスプレイ裏マウントが標準で付属されているのも,よい。