眼振頭位キャプチャーソフト開発履歴覚書

2023年3月12日 Ver4.8

頭位アニメーションのリセットに時間を要するので、録画ボタンを押して0.5秒後より録画するようにした。
一覧表示で項目削除後、次の項目を選択するようにした。

2020年11月10日 Ver4.6

arduinoのスケッチプログラムを変更して、シリアルポートが開かれると、すぐにセンサーデータを送るようにした。
クオータニオンのx,yはリセットしても値を維持するように変更した。仰臥位をデフォルトとし、座位仰臥位マークをなくした。

2019年12月25日 Ver4.5

// SetupComm(ERSHCOMn, recv_size, send_size);//下のように変更した。
SetupComm(ERSHCOMn, 1024 * 1024, 1024 * 1024);// recv_size, send_size);

ArduinoThreadf = true;//この行を、ERS_openの前のこの場所へ移動した。
arcom = Para0(COMP);
ERS_OpenN(arcom, 4096, 4096);

2019年12月14日 Ver4.4

IPcamera(RaspberryPI)MJPG-streamerに対応したバージョンを作った。OpenCV2.4ではダメそうなので、一気に最新版OpenCV4.1で作ってしまったが、起動に相当時間を要するので、OpenCV2.4を使ったIPcamera非対応版も残した。
デインターレース処理するかどうかは、CapNYSconfig.iniを直接書き換えるようにした。

2019年12月13日 Ver4.3

iPhone(iPodtouch)にGyrOSCというアプリをインストールすると、iPhoneのジャイロを利用できるようにした。

2019年12月1日 Ver4.0

手動頭位入力で、基準頭位を「座位」と「仰臥位」の2種類から選択できるようにした。

2019年11月15日 Ver3.9

CapNYSでは眼振映像のタグ情報をメモ情報として読み書きしていた。CapNYS2では、眼振映像のメモ情報をCapNYS2memo.txtに保存する方法に変更していたが、以前のようにタグ情報を読み書きする方法に戻した。もし昔のCapNYSで保存していた眼振映像にタグ情報があれば、それも読み込めることとなった。

2019年3月24日 Ver3.1

キャプチャーサイズが640*480以外の場合は、CapNYSconfig.iniを直接書き換える必要があったが、自動でチェックできるようにした。

2019年2月23日 Ver3.0

かなりバグも取れたかもしれない。バックアップボタン、バックアップフォルダ設定ボタン、Menuボタンを追加した。ヘルプhtmlファイルを作成し、それをMenuボタンやポップアップメニューから呼べるようにした。

2018年11月28日 Ver2.7

昨年暮れから、市販品のジャイロフレンチェル96daを使っていて、version2.4以来久しぶりに触ったが、隅々まで操作してみたところ、ちゃんと動かないところ、フリーズするところなど、とんでもない状態だった。分かったところだけは修正した。ファイルを各ボタンにドラッグアンドドロップできる機能を付けていたが、これらを削除した。再生中のファイルを参照リスト枠にドラッグアンドドロップ機能だけは残した。
これからは当分CapNYS2を使ってみる。
トリミングのボタンをハサミマークから切り取りマーク?に変更した。
左上のボタン群の表示非表示のボタンを左上ボタン群の右に置いた。透明ボタンでその上にマウスを持っていくとツールチップがです。
再生エリアの右上のでインターレースボタンの横にhalftoneボタンを置いた。録画プレビュウ表示にhalftone処理をするしないのボタンで、録画映像には関係しない。オフにすると録画処理がスムーズに行える。低スペックのパソコンでも上手く録画できることもある。

2017年9月30日 Ver2.4

瞳孔中心の軌跡を表示する機能を付けてみたが、使えそうもない。再生時に’E'キーを押すと軌跡が表示される。

2017年9月30日 Ver2.2

バックアップ機能を付けた。バックアップフォルダを設定すると、日付でバックアップできる。20170928 では2017年9月28日の日付のものをバックアップ。2017092 では9月20日から9月29日まで。201709 では9月のものすべて、2017では2017年全部をバックアップする。

2017年8月31日 Ver2.1

いろいろとツールチップの説明文字列を設定した。ポップアップメニューを日本語表示に変更した。低スペックパソコンモードをデフォルトとしていたものを変更した。ID履歴表示において、過去10回以内に出てきたIDでもちゃんとトップに表示されるようにした。

2017年8月4日 Ver2.0

低スペックのモバイルパソコン(Diginnos DG-DO9IW2SL)で30fpsの速さで録画できなかったので、録画周りのプログラムを見直してみたところちょっと早くなった。
録画時のプレビューのHALFTONE処理を省いた低スペックPC用モードを付けた。画面サイズによってはプレビューが少しギザギザとなるが、録画には影響しない。
DG-DO9IW2SLは低スペック用でないと、30fpsの速さで録画できない。録画時にF4、F5で低スペック対応を0ff、on出来る。右の現行IDリストボックス内のダブルクリックでもon,offを切り替えられる。

2017年7月31日 Ver2.0

7インチのタッチスクリーンでも操作できるように、再生スライドバーの反応範囲を上へ広げた。7インチでは文字が小さすぎるので、参照リストボックス、現在のIDリストボックス、全表示リストボックス、メモ編集ボックスの文字の大きさおよびフォントを変更可能とした。フォント変更は、CapNYS2config.txtを直接編集する。
トリミングの範囲を設定すると、終点で始点へ戻るようにした。
紀子ちゃんに作ってもらったアイコンに変更。(2タイプ)

2017年7月23日 Ver2.0

ボタンの体裁の変更。

2017年7月10日 Ver2.0

MCM4304の撮影範囲の左右移動の機能を付けた。録画時に左右矢印キーを押すか、眼振映像部分を左右にドラッグすると撮影範囲が左右に移動する。

2017年7月4日 Ver1.9

モーションセンサーの繋がっているシリアルポートを選択するボタンを付けた。今までは録画リスタートボタンにその機能を持たせていた。センサーが上手く働かないときに押すとそのうち動き出す。
カメラデバイス番号選択、モーションセンサー使用の有無、モーションセンサーの設置向き、センサーの繋がっているシリアルポートの選択ボタンを左上にまとめた。
以上の4個のボタンは録画時に表示されるが、参照ファイルリストボックス(左)の中をダブルクリックすると、シリアルポート選択ボタン以外は非表示となる。そこでまたダブルクリックすると表示される。
デインターレースボタンと顔選択ボタンは動画表示ウィンドウの右上に移した。
デインターレースボタンは、デジ造使用するときにonにすると綺麗な映像が撮れる?。
参照ファイルへの登録時にその説明文字列としてID登録年月日を設定するようにした。

2017年7月2日 Ver1.8

保存眼振映像の総数をEXITボタンの上部に表示するようにした。

2017年6月30日 Ver1.7

レコード開始ボタンとID番号変更ボタンを共用していたが、別々にとした。
全体一覧リストで項目でのソート機能を付けた。

2017年6月24日 64ビット版 Ver1.7

環境をVisualStudio2017とopencv2.4132に変更して、64ビット版も作成した。

2017年6月24日 Ver1.7

スタティックMFCライブラリを使ってみたが、「mfc110.dllがありません」の代わりに「MSVCR110.dllがありません」とエラーが出る。

2017年6月7日 Ver1.5

トリミング中に他のファイルを再生すると、トリミングに失敗するバグを修正。

2017年6月5日 Ver1.4

トリミングしたときに元ファイルを削除するか確認するダイアログを作った。
右クリックでポップアップメニューを出すようにした。ドラッグ、ボタンクリック、右クリックのポップアップメニューの3種類で同じようなことができる。

2017年6月3日 Ver1.4

Escキーを押すと終了してしまうというバグを修正。ダイアログベースのアプリは当然だが、今になって気付いた。

2017年5月31日 Ver1.4

カメラ(キャプチャーデバイス)を0~3の間で変更できるが、存在しないカメラを指定するとフリーズするバグを修正。

2017年5月29日 Ver1.4

ID(カルテ番号)を誤入力したときにIDを変更する機能を付けていたが、映像に書き込まれたIDはそのままという不具合を修正。
もともとシリアルポートのないパソコンでモーションセンサー無しで動かすと、カメラ選択などでフリーズするバグを修正。

2017年5月25日 Ver1.3

シリアルポートを持つパソコンでは、センサーを繋がずにCapNYS2を立ち上げるとそのポートをセンサーと勘違いして設定してしまう。
restartボタンもしくはスペースキーの2回連打で録画のリスタートを行えるが、restartボタンにはセンサーポートを順に変更する機能を加えた。順に若番を探し、0になったらまた255番から探す。
スペースキーの2回連打では、単に録画をリスタートする。

2017年5月16日 Ver1.2

参照ファイルへの登録、ファイル削除、ファイルメモ編集、IDセット、ファイルID変更をボタン操作だけでなく、映像画面とファイル項目のボタンへのドラッグで行えるようにした。参照ファイルへの登録は映像画面を参照ファイルボタンへドラッグすると、左参照ファイルフォルダの一番下に登録される。メモとして"edit"とのみ記しているので、それをメモ編集ボタンへドラッグして適当なメモを書き込む。

2017年4月21日 Ver1.0

何時間でも録画可能となっていたが、録画終了ボタンを押すのを忘れたときのために、最大録画時間を1時間に設定した。
眼振映像のトリミングが設定範囲とずれているバグを修正。まだ多少の誤差はあるようだ。
sensor使用のONOFFをsensor文字の左側数字枠のクリックで変更できるようにした。(その後、数字枠ダブルクリックでONOFF変更とした)
sensor文字をクリックすると、頭位アニメーションの動きを1~8の範囲で調整できる(その後、数字枠のクリックで向きの変更とした)。センサーをどのような方向に設置しても大丈夫。
vectorに登録するまでは、Versionは1.0のまま。

2017年4月16日 CapNYS2 Ver1.0

Visual Studio 2012 とOpenCVでやっとCapNYS2が完成した。
ここからは、CapNYS2の開発履歴覚書となる。
2月2日ごろから作り初めて、2月23日ごろに大体の形が出来た。たった一カ月ほどで、どうにかなるとは思ってもいなかった。
こんなことならもっと早くからVisualStudioに乗り換えておけばよかった。

2017年2月2日 Ver9.6

Visual Studio 2012 でOpenCVを使うと、眼振映像の範囲切り取りと眼振頭位合成が非常に簡単に短時間に行える。
Visual Studio 2012がインストールしてないパソコンでは「Visual Studio 2012 更新プログラム 4 の Visual C++ 再頒布可能パッケージ」をインストールする必要がある。32bitでも動くが、XPで動かないという難点がある。
はやいとこ、映像切り取りと眼振頭位合成部分だけはVS2012+OpenCVでプログラムして、それを呼び出す形にしよう。
全てをVS2012+OpenCVでやればスッキリするのだが、なかなかVS2012に移行できない。

2017年1月27日 Ver9.6

temp.avi再生モードで現行IDのファイルをリストボックスに表示するが、日時でソートするようにした。
temp.avi再生モードで、参照ファイルリストボックス、現IDリストボックスのonsizeでの位置大きさ調整をしていないというバグ修正。
眼振映像ウィンドウのonsizeでの位置調整をしくじっていたのを修正。

2017年1月12日 Ver9.5

タッチスクリーンのタッチはマウス左クリック、ちょっと長くタッチは右クリックに相当する。左クリックと右クリックを同じ動作にしたところ、タッチスクリーンでも不具合なく動作するようになったようだ。
カメラ映像ウィンドウ上のWM_LBUTTONDOWNなどはOnLButtonDOWNなどでチェックできない。pretranslatemessage でWM_LBUTTONDOWN、WM_LBUTTONUPなどをチェックすることとした。

2017年1月9日 Ver9.4

まだまだ全然だめだが、タッチスクリーンでもなんとなくどうにか使えるように工夫した。
今まで眼振映像の上にあった再生スライドバーを下に移動し、大きくした。再生範囲の左右の三角マークのドラッグをし易くした。
右クリックでの三角マークの設定は不可能とした。

タッチスクリーンでどのような旧来のイベントが生じるか調べてみた。(ムーブを除き、旧来イベントは指を離すところで生じる)
タップ:WM_MOUSEMOVE WM_LBUTTONDOWN WM_LBUTTONUP
ロングタップ:WM_MOUSEMOVE WM_RBUTTONDOWN WM_RBUTTONUP
ダブルタップ:WM_MOUSEMOVE WM_LBUTTONDOWN WM_LBUTTONUP WM_LBUTTONDBCLICK WM_MOUSEMOVE WM_LBUTTONUP
ムーブ:WM_MOUSEMOVE WM_LBUTTONDOWN WM_MOUSEMOVE ..........WM_LBUTTONUP
タッチしたところで0x249、0x246などが送られるが、そのpointは前の位置を示し、指を離すときのWM_MOUSEMOVEのpointがタッチの位置。

2016年12月27日 Ver9.3

(保存範囲の設定を再生スライドバー上の右クリックでも可能とした。最初の右クリックではそこを左端に設定し、その後の右クリックではそこに近い方の端をその位置に設定する。)
ver9.4でこの機能は削除。

2016年12月24日 Ver9.2

指定範囲の頭位眼振合成圧縮ファイルのSAVEボタンの体裁を変更しただけ。

2016年12月17日 Ver9.1

眼振頭位の記録(temp.avi)を複数に分割して保存するとき、進捗状況の表示が乱れるバグを修正。
合成保存が完了すると、そのファイルが右上のリストボックスの最上行に追加されるが、その日時表示が乱れるバグ修正。

2016年12月13日 Ver9.0

録画スタートは微妙にずれるので、録画終了を起点として、頭位と眼振映像の時間を合わせている。それでも多少のずれがあるので、終了時点のずれ調整と5分間の録画でのずれ調整を可能とした。頭位アニメーションは100ms毎に動くので、そのコマ数で調整する。

2016年12月9日 Ver8.9

mylogo.jpgがちゃんと表示出来ていないバグを修正。

2016年10月29日 Ver8.8

圧縮、頭位合成中は、コンソールウィンドウで進捗状況を表示していたが、このウィンドウを隠すようにした。詳細な進捗状況はわからなくなったが、すっきりはしたようだ。VaioZでは、圧縮合成中も保存のファイル再生表示はほぼスムーズに行える。

2016年10月26日 Ver8.7

一時ファイル(temp.avi)再生モードで、現在のIDのファイル一覧と、参照ファイル一覧を表示するようにした。それらのファイルをダブルクリックするとそれを再生する。現在のIDのファイル一覧には一時ファイル(temp.avi)も表示される。

2016年09月19日

he1.1s基板:2.7KΩ、1KΩ、0.1μF(2個)、10μF(2個)で良好。
FT232RL基板:0.1μF(2個)、10μF(1個)で良好。
atmega328p-au基板:10KΩ、0.1μF(2個)と詳細不明のコンデンサ1個で良好。

2016年09月12日 Ver8.6

ボタンのデザインを変更し、ボタンの上にカーソルが来るとカーソルの体裁が変化するようにした。
再生temp(F2)モードで、始点、終点のマークをドラッグして範囲設定できるようにした。
使いそうなメニューだけ残し、初期設定や使いそうでないものはオプションメニューにまとめた。
メニューの「センサーのポート番号設定」で、現在のポート番号を表示するようにした。
iPhoneセンサーを使うモードを廃止。

2016年09月04日

FT232RLでarduino用に5Vを使うと機種によっては(私の古いXP)MPU6050が認識できないようだ。

2016年08月30日 Ver8.5

ファイルメニューの「頭位入力方法の選択」で2)を選択した状態では、1)キーボードを選択して、再度2)を選択する必要があったが、そのまま2)を選択できるようにした。COMポート選択オープンの失敗に対処したつもり。

2016年08月25日 Ver8.5

USBを異なるコネクタに挿してしまうと、COMポート番号が変わってしまい、プログラムがcomを1から順に探す。comが1個の場合は問題ないが、複数あるときはその中の若番comを選択していた。それを老番comに変更した。ダメなときはファイルメニューの「頭位入力方法の選択」の2)からarduinoの繋がったCOMを選択する必要がある。

2016年08月09日 Ver8.4

映像一覧表示で、Windowサイズを変更するとエラー終了するバグを修正。
MPU6050のジャイロ校正値を書き込んでいないArduinoでは、起動時にセンサーを動かさないようにする必要があるが、その注意書きを表示しないようにした。

2016年08月02日 Ver8.3

頭位入力方法でMPU6050を選択すると、オープン出来るcomをリストボックスに表示するが、複数ある時は若番を選択して表示していた。comが複数ある時は、老番がMPU6050である可能性が高いので、老番を選択するように変更した。

2016年07月05日 (CapNYSのバージョンアップではない。センサー装置の相当の改善)

スケッチMPU6050_DMP6にジャイロの校正値を書き込む行があるが、その値を取得するMPU6050_calibrationというスケッチを見つけた。手持ちのすべてのArduinoで、校正値を調べてそれを設定してMPU6050_DMP6を再書き込みした。いままではArduinoをリセットした直後に動かすと、ジャイロの校正値が狂ってしまい、ドリフトが起こっていたのが、うそのように改善した?かもしれない。
いままで配ったArduinoも校正値を調べて書き込みたいものだが・・・・・

2016年07月02日 Ver8.2

USBシリアル変換装置によっては、リセット信号(DTR)が使えないものがある。オープン時にリセットし、送られてくる文字列からMPU6050をチェックしていたが、それができない。オープンできるcomが複数ある場合は、リストボックスから手動で選択する仕様?とした。

2016年06月13日 Ver8.1

パソコンの電源を入れて最初の起動時などは、センサーを20秒ほど動かさないでいる必要がある。Ver7.5からその由を表示しないようにしていたが、その表示を復活させた。

2016年05月29日 Ver8.0

ID入力ダイアログでは、マウススクロール、上下矢印キーでID入力の履歴が出る仕様だった。
ID桁数を6桁から8桁に変更した際(Ver6.9)に、バグが混入しその機能が働いていなかっただけでなく、CapNYS.iniを破壊する場合もあったようだ。そのバグを修正。

2016年03月26日 Ver7.9

起動時のID入力画面のまま40分を経過すると、エラー終了するというバグを修正。

2016年03月09日 Ver7.8

SetSisei()でその頭位を基準値(正面)に設定しているが、センサーをopenしてデータが送られて来るまでの空白の時間にSetSisei()を呼ぶと、頭位が真っ白に表示される不具合?を修正。
ArduinoをcloseしてもUSBの電源が入ったままだと、ArduinoとMPU6050の通信は続いているようだ。一回目のopenではMPU6050のデータがドリフトするが、2回目以降のopenではセンサーのドリフトは無い。
パソコン立ち上げのときにCapNYSが自動的に起動するように設定すると、ドリフトのことは考えなくてよさそう。Windows10のノートパソコンのスリープではUSBの電源は入ったままなので、スリープを利用すれば自動立ち上げの設定も必要ない。

2016年03月03日 Ver7.7

processingのサンプルプログラムでは1秒間データが来なければ'r'をarduinoに送っているようだが、CAPNYSでは1秒ごとにかまわず'r'を送るようにした。
センサーデータを(4個)読み込む瞬間およびその4個のデータ表示する瞬間は、お互いそのデータを操作しないようにした。時頭位表示が一瞬乱れるのはこのせいだったのかもしれない。
iphoneセンサー、MPU6050のデータ読み込みの手順を統一した。

2016年03月01日 Ver7.6

頭位入力方法の変更でiphone、MPU6050に変更するときはOnRecmode()に入るようにした。(録画はリセットされる)キーボード利用はそのまま録画を続けるようにした。

2016年02月27日 Ver7.5

arduinoのシリアル通信ではDTR-ONでOPENするとarduinoをリセットし、ブートローダーが起動する。ブートローダーはプログラムのアップロードがないかチェックし、なければ、arduino上の既存のプログラムを実行する。OPEN後1秒~2秒の間は既存スケッチとの通信は出来ないということらしい。
DTR-OFFでOPENするようにしてみたところ、arduinoが動かない不具合はほぼ?なくなったようだ。
それに伴い、Shift+Escキーでプログラムを再起動する機能は不必要となった?ので削除した。
arduinoのOPENは時に失敗していたので、OPENできたらプログラムが終了するまでOPENしっぱなしにしていたが、録画開始でOPENし、録画終了時にCLOSEするようにした。

2016年02月20日 Ver7.4

Version表示のダイアログを設けた。
ビデオサイズ変更が乱れるバグ修正。というかレコードモードでのみ変更可能とした。

2016年02月17日 Ver7.3

ビデオミキシングレンダラーをVMR(7)からVMR9に変更した。Windows10のパソコン(VaioZ:解像度2560x1440)で録画映像再生が縮小表示されていたが、VMR9に変更したところうまく表示された。
ビデオサイズ変更ダイアログでサイズを変更するとリアルタイムにサイズが変更されるようにした。
起動時にモーションセンサーの初期化がうまくいかず、プログラムを終了して再起動しなければならないことが時々ある。残念ながら、どうしてもそのバグが取れない。Shift+Escキーでプログラムを再起動できるようにした。
30分までは可能のつもりだったが、15分以上録画するとフリーズしていた。圧縮保存の方法を変更した時に混入したようだ。修正した。
USB赤外線カメラMCM4304の機能として映像画面の左右移動、反転があることに気づいた。マイクロビジョンのGainSetup.exeがその機能を操作するプログラムで、ソースも公開されていたので、60行ぐらい加えてコマンドラインから操作できるようにし、updown4304.exeと勝手に名前を変えた。
このupdown4304.exeを呼び出して、ゴーグルを左右ひっくり返して使えるようした。ファイルメニューに「上下反転」でひっくり返せる。また、左右矢印キーで撮影画面を左右に動かせるようにした。
MCM4304を利用していなければフィルメニューに「上下反転」は現れないし、当然左右矢印キーも効かない。

2016年01月24日 Ver7.2

ID入力ダイアログからEscキーもしくは[X]で抜けると、そのIDで記録モードではなく閲覧モードに入るようにしていたが、IDが0になっていた。
6桁から8桁に変更するときに入り込んだバグと思われるが、それを修正した。

2016年01月05日 Ver7.1

Version6.9からID入力桁数を可変としたが、面倒そうなので、シンプルに8桁固定とした。6桁(100万件未満)で管理できれば良いと考えていたが、100万件以上の医院、病院もあって当然なので8桁に変更した。
再生時にウィンドウタイトルにfullpath表示していたが、ファイル名表示に変更した。
ヘルプ表示内容の修正、変更。
help.htmlの修正。

2015年12月31日 Ver7.0

一覧表示でのID変更のバグ修正。データベース内のビデオの時間長、ファイルサイズの値が不正となっていた。DBを再構築するとちゃんとデータは修復される。

2015年12月28日 Ver6.9

ID入力を6桁に制限しているものと思っていたが、10桁まで入力できるというバグがあり、7桁以上のIDを入力すると一覧表示が不整となっていた。ちゃんと桁数を制限することとし、6桁から10桁までの範囲で選択できるようにした。初期設定は6桁だが、運用途中でも変更できる。
圧縮映像はgazouフォルダに保存されるが、そのコピーを別のフォルダ(第2保存フォルダ)にも保存可能とした。第2保存フォルダを設定すると、任意のファイル名でそこに保存できる。保存ファイル名の体裁の初期設定は0123456789_20151212_001(入力IDの10桁表示_年月日_3桁連番)としているが、任意に設定できる。詳細は第2保存フォルダ設定ダイアログに示した。

2015年12月21日 Ver6.8

再生せずに終了すると、当然未保存だが、終了確認ダイアログが出ないという不具合を修正。
録画時間が3秒以下のときは、保存してなくても終了確認ダイアログを出さないようにした。
一覧表示のポップアップメニューに「既定のプログラムで開く」を加えた。WindowMediaPlayerで再生するとして、WindowMediaPlayerを最前面で表示する設定にしておくと、エプリー、セモン、バーベキューなどの映像を再生表示しつつ眼振記録が出来る。ただし、エプリーなどの映像を準備して、それをgazouフォルダに入れて、DB再構築しておく必要はある。
Englishバージョンを作成。
version6.2で苦労して付けたツールチップだが、邪魔な感じなので削除。

2015年12月13日 Ver6.7

眼振映像を範囲保存せずに終了しようとした時には、確認ダイアログを出すようにした。
同梱するffmpeg.exe32bit版のバージョンを2015年10月のものに変更した。
Helpファイルの内容を修正した。

2015年12月03日 Ver6.6

ヘルプをhtmlファイルとして、プログラムからそのhtmlファイルを開く体裁とした。ヘルプの内容も大幅に書き換えた。既定のブラウザがsafari、chrome、IEなら問題なく表示できているようだ。
32bit版のffmpeg.exeを同梱することとした。64bit環境でも動くし、圧縮時間もそんなに変わらないので、32bit版のみを同梱した。
著作権の関係でffmpeg.exeは同梱出来ないと思っていたが、同梱したフリーソフトがあるのを見つけたので、同梱することとした。

2015年11月16日 Ver6.5

センサーの向きの調整ダイアログの不具合を修正。顔アニメを正面に設定してダイアログに入るようにした。

2015年11月10日 Ver6.4

iphone, ipadの内臓センサーも使えるようにしていたが、この設定では再起動でエラーとなるバグに気付いたので、それを修正。
ファイルメニューの体裁を分かりやすく変更したつもり。まだまだかもしれないが、今までのものは作者の自分には分かるだろうがといったメニューだった。
保存映像の閲覧再生画面で一時停止して右クリックすると、ポップアップメニューが出る。そのメニューからその眼振映像をその位置から非圧縮変換して別名で保存できるようにした。

2015年11月3日 Ver6.3

保存する範囲の頭位情報が全く変化していないときは、頭位アニメーションを書き込まないようにした。頭位アニメが動かなくても書き込みたいときは、Saveボタンもしくは3を押すときにシフトキーを押しておくと、書き込みますかと聞いてくる。

2015年11月1日 Ver6.3

deleteキーでファイル削除するとき確認ダイアログにファイルの詳細を表示するようにした。
プレイモード時は月日時分秒表示とした。保存映像の再生では余白のクリックで一覧表示に戻っていたが、ボタンおよび再生スライドバー周辺のクリックでは戻らないようにした。

2015年10月28日 Ver6.2

一覧表示などから間違って記録モードに入ってしまった時に、ID入力ダイアログでEscキーもしくは[X]で戻れるようにした。
起動時のダイアログでカルテ番号をいれて、エンターキーではなくESCキーもしくはxでダイアログから抜けると、そのカルテ番号を検索して一覧モードに入るようにした。
一覧モードで映像を再生する時最上部にファイル名を表示するようにした。

2015年10月27日 Ver6.2

30分を超えた時にその由を伝える画面を表示していたが、何もせずプレイモード(temp.avi再生)に移るようにした。

2015年10月25日 Ver6.2

保存映像の再圧縮の機能を削除。
記録モードでスペースキーをダブルクリックすると録画をリスタートする機能を加えた。左マウスダブルクリックに合わせた。Shift+spaceも同。
映像サイズの初期値を900x600から720x480に変更。
プレイモード(temp.avi再生)時に再生スライドバー、始点、終点、圧縮保存ボタンにツールチップ(バルーン表示)を付けた。ツールチップはシステムの設定で表示、非表示が選べるようだ。
録画が30分を超えた時は自動的にプレイモード(temp.avi再生)に入るようにした。

2015年10月21日 Ver6.1

fileメニュからモーションセンサー使用モードに入る時、ダイアログを表示していたが、そのまま再起動することとした。
起動後約15秒はセンサーを停止しておく必要がある。そこで動かしてしまうと、ジャイロセンサーが微妙にずれてしまう。そのことを画面に赤字で表示することとした。「使い方を画面に表示」モードの時のみ。
映像サイズ設定ダイアログで、幅、高さの値を6種類の規定値から選べるようにした。幅、高さが640x480のときは左右両端のボタン表示が部分的に隠れてしまうので、それらのボタンを非表示にした。その位置のクリックは生きたまま。
arduinoがオープン出来ないときフリーズしてしまう不具合を修正。オープン出来ないときもsendc()していたのが原因だった模様。時々arduionがオープン出来ないというバグは取れそうにない。
ファイルメニューの「vcodec,圧縮保存quality」で範囲圧縮のパラメータ選択で、下記の1)2)が選べる。
1)-ss x -i input.avi -ss 0 -t y ----------
2)-i input.avi -ss x -t y ------
1)は圧倒的に早いが、MCM4304では真っ黒な映像が撮れるだけで、ffmpegの最新版でも同じく黒い。デジ造の場合は1)を選べる。

2015年10月6日 Ver6.0

検査時の範囲圧縮保存で頭位アニメーションを合成するようにした。いままではファイルの尻に頭位データを付加するのみで、そののち必要に応じて、その頭位データを合成するようにしていた。頭位の合成まで一気に行うと時間がかかり過ぎるのでこうしていたが、幾つか改善の結果、それほどの時間でもなさそうなので、一挙に合成することとした。ファイル末尾の頭位データがなくなったので、ファイル操作時の余計な手間がはぶける。
しかし、以前撮りためた映像もあるので、それを管理するために、file末尾の頭位データの操作も当分残しておく。撮りためた映像がすべて合成(MIX)できたら、末尾データに関するプログラムは削除の予定。
モーションセンサーの向きを設定するダイアログをシンプルにした。(シフトキーを押しながらダイアログを出すと細かな設定も可能となる。必要なさそうだが一応残しておく。)

2015年10月1日 Ver5.9

メモ編集したところ頭位データが崩れてしまった。そうならないように、編集する前に頭位データを退避して、メモ編集したあとデータを戻すようにしているのだが・・・。とりあえず、頭位データ付きのファイルはメモ編集できないようにした。

2015年9月24日 Ver5.8

センサーの位置をチェックして仰臥位モードと座位モードを自動的に表示していたが、そのチェックの不具合を修正したつもり。強制的に左右矢印キー、上下矢印キーでそれぞれ仰臥位モード、座位モードが選択できるようにした。ESCキーではモードをトグル表示し、スペースキーでは自動表示する。

2015年9月19日 Ver5.7

コピーを保存のところで、mixしてないファイルの場合、mixするかどうかを問うダイアログを出すようにした。

2015年9月11日 Ver5.6

1)sisei()のところでクオータニオンの基準値をすべて0にしてしまうという無作法?を修正した。
2)ontimerでmpu6005からなにもデータが来ていないときは'r'を送ることとした。
3)COMポートチェックの時に通るERS_Close()の直前のSleep(100)を500に変更した。
Sleep(100);--->Sleep(500);
ERS_Close(n);
以上の三つで、Record時に時々、頭位アニメーションがフリーズするバグを少なくできたか?。processingのサンプルプログラムMPUTeapot.pdeでさえ時々とまるんだから、こんなもんかもしれない。
一覧表示でのポップアップメニューに「名前を付けて保存」を付け加えた。
キーボードだけでも操作できるようにしたつもり。少なくとも検査、保存までは出来る。
Record時、再生時の操作方法ヘルプを表示出来るようにした。
Version5.4から、起動時にモーションセンサー(arduino)のCOMポートを0-50の範囲で探していたが、時間が掛かりすぎるので、まず現在のポートNoが有効かチェックすることとした。有効でない時だけポートを探す事とした。

2015年8月18日 Ver5.5

[MPU6050(arduino)の使用]にチェックを入れるときに、arduinoを探しそのポート番号を表示し、再起動を促すダイアログを出していたが、ダイアログから抜けると自動的に終了し、再起動するようにした。
mylog.jpgを置くとそれを表示していたが、その仕様を変えた。

2015年8月4日 Ver5.4

モーションセンサーを刺すUSBポートを変えると、COM番号が変更されてしまい、センサーが認識できなくなるという不具合を修正した。起動時に常にCOM番号を取得する仕様とした。

2015年3月8日 Ver5.3

MPU6050は作動開始後20秒ほどキャリブレーションのため動かさないでいる必要がある。CapNYSの起動と同時にMPU6050を作動させるようにし、ID(カルテ)番号を入れるまでの間もキャリブレーションするようにした。あわせて、ID入力画面から録画モードに入るときに現在頭位を正面にするようにした。
録画中にシフト+エンターキーで録画のリスタートができるようにした。環境によっては、始点の位置に応じて範囲保存に要する時間が長くなるので、この機能を付けた。
録画中にESC, SPACE を押すと現頭位を正面にするが、ESCでは仰臥位、座位モードのどちらなのかを示すマーク表示を交互に変更、SPACEではautoでマーク表示する。
シフト+SPACEでは録画のリスタートも合わせて行うこととした。
左クリックで現頭位を正面にするが、左ダブルクリックではさらに録画のリスタートするようにした。
恐らくずいぶん以前から日時検索機能が動かなくなっていたようだ。そのバグを修正。
ID入力画面でSPACEキーは無視するようにした。
頭位アニメーションを変更し、笑顔とすまし顔の2種類から選べるようにした。

2015年2月22日 Ver5.2

ボタンの顔のイラストを可愛くした。Ver4.9への変更時に、年月日表示を月日表示としてしまっていたのを元に戻した。

2015年2月20日 Ver5.1

ファイルを複数選択して頭位アニメを合成するとフリーズするバグがありそうなのを修正したつもり。

2015年2月19日 Ver5.0

ボタンとボタンの間の色が真っ白だったものをsystem背景色にした。
再圧縮したファイルで頭位アニメを合成するとフリーズしてしまうバグを修正したつもり。
ヘルプを色々と書き直した。

2015年2月15日 Ver4.9

新しく買ったハイスペック(SSD)のパソコンで、なぜか、顔アニメーション、時間表示のちらつきがひどいので、ちらつき対策を施した。
ビデオサイズ変更したときに変更前の表示が残る不具合を修正。
リスト閲覧表示で数値など(レコードモードの頭位入力キー)を入力するとエラー終了するバグを修正。

2015年1月30日 Ver4.8

仰臥位モードと座位モードのマークは正面を設定するときに自動的に変更されるようにしていたが、念のためシフトキーを押しながら正面設定すると強制的に変更できるようにした。ヘルプの内容を修正した。

2015年1月2日 Ver4.8

範囲圧縮のとき圧縮開始点までシーク中、無駄にコーデックして時間を費やしていたが、まずシークしてそこから切取り圧縮する設定とした。上手くいかない環境もあるので、メニューのコーデック設定で選択できるようにした。

2014年12月22日 Ver4.7

頭位データを眼振映像に焼き付ける方法を変更し、所要時間を劇的に短縮した。頭位情報から1秒に10枚の静止画を作り、それから頭位映像を作り、眼振映像にoverlayする方法とした。
今までは、眼振映像を静止画に変換し、その静止画に頭位情報をアニメとして貼り付け、その静止画から眼振映像を作っていた。

2014年11月30日 Ver4.6

3軸加速度センサーを6軸モーションセンサーに変更した。クオータニオンデータから頭位情報を得るようにした。スマホアプリはiphoneのGyrOSC(100円)に対応させた。androidでクオータニオンを排出するアプリは見つけられなかった。

2014年10月30日 Ver4.5

V4.4の頭位90度捻転のところの表示の乱れを修正。
V4.3までの頭位表示方法も選択できるようにした。
頭位を焼き付けるとき、元ファイルと、焼付けファイルの拡張子(.wmv .avi)が異なっていても、DBファイルのファイルがそのままという不具合を修正。リストコントロールのファイル名はちゃんと変更できていたので、プログラムを再起動してDBファイルを読みこんだときに不具合が分かる。(気づかなかった)

2014年10月27日 Ver4.4

伏臥位の顔アニメを赤で表示していたが、ちゃんと後頭部を表示するようにした。90度のところで表示が乱れるが、実用上さほど問題なさそうなのでそのままアップした。
そのうち修正のつもり。

2014年09月30日 Ver4.3

リスト表示でのファイルの右クリックでのポップアップメニューの体裁を変更した。ヘルプの内容もその部分も含めて、色々と更新した。
F7キーをメモ編集ボタンとした。またShift+F7でfilename2timestumpの隠し機能を付けた。

2014年09月18日 Ver4.2

XPでは頭位データを映像に焼きこむことが出来ない上に、その映像が消失してしまうというバグを修正。XPで初めて頭位を焼きこむ作業をしてみて気付いたが、最初からのバグの可能性大。XP環境ではffmpeg.exeはフルパスのファイル名を認識してくれなさそうなのが原因のよう。

2014年09月17日 Ver4.1

仕様をかなり変更したので、ヘルプの内容も色々と書き直した。XPにのみ対応していた「かそくドリ」のセンサーを利用するモードは削除した。

2014年09月10日 Ver4.0

スマートホンのアプリにセンサーデータをどのパソコン(IPアドレス)の何番ポートに送るのか指定する必要がある。CapNYSのファイルメニューの「スマートホンの利用」でIPアドレスとポート番号を表示するようにした。

2014年09月07日 Ver3.9

スマートホンの加速度センサーを利用可能とした。ちょっと重いがワイアレスだし、誰でも持っていそうだし、使えるようにしてみた。iphoneは Sensor Streamer, androidは SensorUdp というアプリに対応させた。今のところ加速度センサーのデータだけを貰っているが、ジャイロセンサー、磁気センサーのデータも加味した姿勢データというのもあるので、そのうち使ってみたい。なお、Sensor Streamerは200円、SensorUdpはフリー。

2014年07月12日 Ver3.8

ID入力ダイアログのところでいつまでも放っておくと、temp.aviが限りなく大きくなる。どうなるかわからないので、3分ごとにグラフをリスタートさせるようにしてみた。
初期設定のコーデックをWMV、q:vを3とした。この初期設定と比較して、xvidのq:v4はサイズが半分以下で、画質は同程度のよう。q:v7ぐらいでも変わらないようでもある。Xvidをインストールして、Xvidに変更したがよい。
一覧から保存眼振再生して一覧に戻るときに、直前の一覧画面ではなく初期一覧画面に戻る不具合を修正。
保存眼振再生からEnterキーを押すと一覧に戻れるようにした。そのため、再生停止・再開のショートカットをEnterキーからスペースキーに変更した。
三角関数計算をテーブルを作成して計算することとした。ほとんど早くなってないのかもしれない。
一覧表示の項目を漢字表記にし、項目の一つとしてファイルサイズを加えた。その関係で、今までのデータベースファイルが使えなくなるので、取ためた眼振映像があるときは、ファイルメニューから「DB再構築」を行う必要がある。
一覧表示からシフトキーを押しながら項目を右クリックすると、現在のコーデック、圧縮率で再圧縮する隠し機能を付けた。

2014年07月08日 Ver3.7

データベースの再構築、ファイル削除で全件数が更新されない不具合を修正。
再生ボタン・停止の機能をトグルボタンで一個にまとめていたのを、2個に分けた。

2014年07月07日 Ver3.6

ウィンドウサイズを小さく(720x480)すると、ボタン表示が時間表示にかぶる不具合を調整。
ウィンドウタイトルに全件数も表示することとした。
眼振映像ファイルの削除をゴミ箱に入れる仕様に変更した。
また、頭位と映像をミックスしたとき、元の映像をゴミ箱に入れるようにした。
mylogo.jpgを置くと、それを250x50のサイズで表示するようにした。

2014年06月25日 Ver3.5

ffmpeg.exeのパラメータ設定ダイアログを追加し、コーデックと圧縮率の設定ができるようにした。
Xvidコーデックはインストールされていないこともありそうなので、初期設定では恐らく入っているwmvコーデックを使うこととした。初期設定ではq:v(quality of video)は10とした。今までは最高画質の0としていた。コーデックもwmvとxvidを選択できるようにした。

2014年06月21日 Ver3.4

メニューからビデオソース(Sビデオ、コンポジット)を選択できるようにした。デジ造で確認したのみ。他のキャプチャーカードなどで、上手く行くかどうかわからない。
圧縮率を、範囲保存時、頭位画像のミックス時、別々に設定変更出来るようにした。
再生時に0秒からの再生時間が表示されていない不具合修正。V3.2で混入したと思われる。

2014年06月018日 Ver3.3

加速度センサーパラメーターの初期設定値を、ホームページの写真どおりにADXL335で加速度センサー装置を作ったものに合わせた。

2014年05月18日 Ver3.2

録画モード、再生モードの時間表示をフォント環境に左右されないように数字画像を使った表示に変更した。その分処理に余裕ができたかもしれない。onsizeの処理を簡潔にすることが出来た。
保存映像の再生ではメニューバーを消していたが、F1、F2などのメニュー項目のショートカット操作でフリーズするので、元に戻した。

2014年05月18日 Ver3.1

プレビューモードの設定で何か余計なことをしているかもしれないような気もして来たので、全て記録モードとした。ID入力ダイアログのバックはプレビューモードの画面だったが、何も無いのもさみしいので、無駄に録画モードとした。

2014年05月06日 Ver3.0

加速度センサーの無い環境では、マウスの左右クリック、テンキーボード、789UIOJKLキーで頭位データを入力できるが、その方法を画面上に表示出来るようにした。
デバッグのため頭位データの中心を赤点で表示していたのを止めた。消すのを忘れていた。

2014年05月03日 Ver3.0

[stop&play]ボタンおよびF2キーではID入力ダイアログを出さずに再生モードに入るようにした。メニューのクリックではIDを聞いて再生モードに入る。保存映像の再生時はメニューバーを非表示とし、exitボタンでのみ閲覧モードに戻れるようにした。

2014年04月29日 Ver3.0

ファイルメニューから加速度センサーのXYZ出力端子とFSIO30のピン(1-8)の接続関係を設定出来るようにした。加速度センサーのXYZ出力電圧の最大値、最小値、中央値を抽出し、位置計算のパラメータを設定出来るようにした。今までは最初に買ったセンサーの数値を使っていた。大抵のセンサーが精度よく使えるようになったかもしれない。
記録モードの動画画面の上に[stop&play]ボタンを付けた。

2014年04月12日 Ver3.0

眼振動画と頭位データにズレがある時は0.1秒単位で補正することが出来るが、その補正値の増減ボタン、補正値表示の体裁を変更。
recordおよびplay時に表示されるボタンのサイズを大きくし、ボタンの絵柄、ボタンの設置位置を変更した。時分秒の表示を、フォント環境に左右されないように画像で表示するように変更した。
ビデオサイズの変更をリスタートせずに済むように改善した。
recordモードを抜けて再び入ろうとするとフリーズしてしまうバグを修正。
頭位データの添付されていないファイルで、出来るはずの無い頭位データのミキシング操作をするとフリーズするバグを修整。

2014年02月26日 Ver2.9

圧縮保存中もしくは頭位データ写し込み中にプログラムを終了させると、圧縮保存、写し込みをせずに終了してしまう不具合を修正。
USB-IOを繋いだパソコンでは、FSIO30を認識できない不具合を修正。
ビデオサイズ初期設定値の変更(720x480から900x600へ)。

2014年02月10日 Ver2.8

タッチパネルWindows8(Vaioノートパソコン)で時間表示部分が動画に被ってしまう不具合があり、修正。

2013年12月25日 Ver2.7

マウスホイール操作によるID入力履歴呼び出しが上手く行かないバグを修正。
IDやコメントなどでソートした時、ハイライト行に移動するようにしていたが、shiftキーを押してソート操作をした時だけハイライト行に移動することとした。

2013年10月11日 Ver2.6

頭位付動画に変換すると、ファイルタイムスタンプが更新されてしまう不具合を修正。ファイルのコメント編集に入るときシフトキーを押しながらクリックするとファイル名からタイムスタンプを設定する隠れ機能を付けた。

2013年10月10日 Ver2.5

圧縮保存をAviUtl.exeからffmpeg.exeで行うように変更した。ffmpegは株式会社マイクロビジョンのUSBモノクロカメラMCM4304にも対応していたので、WindowsMediaEncoder9による圧縮機能は削除した。コーデックは従来どおりxvidを利用。
パソコンのスペックやキャプチャーデバイスによっては動画と頭位データにズレが生じる場合もあるので、そのズレを修正する機能を付けた。再生時に左上隅の左右ボタンで行える。ズレがある場合これで修正して、範囲圧縮保存を行なう。
動画ファイルに付加された頭位データを動画に写し込む機能を付けた。再生時に[写込動画]をクリックすると頭位データを動画に写しこむ。時間が掛かるが、一般の再生ソフトでも頭位データが見れるようになる。以前のバージョンで範囲圧縮保存したもので動画と頭位データにズレがある場合は、左上のズレ修正ボタンで調整した上で変換する。

2013年09月05日 Ver2.2

保存映像再生時にまれに突然終了してしまうエラーを修正。メモリーの確保が不十分であった。完全なバグ。

2013年09月04日 Ver2.1

株式会社マイクロビジョンのUSBモノクロカメラMCM4304のキャプチャー映像を扱うためにWindowsMediaEncoder9による圧縮保存機能を復活させた。(なぜかAviUtlはMCM4304の映像を扱えない)

2013年07月09日 Ver1.8

再生モードで、再生ボタンをシフトキーを押しながらクリックすると、低速再生するようにした。

2013年07月05日 Ver1.7

閲覧モードで、Enterキー、ESCキーで再生、停止再開するようにした。

2013年07月02日 Ver1.6

閲覧モードで、リスト最上部の、ID、日時、コメントの部分をクリックするとその項目でソートできるが、ハイライト表示行があるときは、ソート後もその行が表示されるようにした。
日時、ID入力ダイアログの数値入力仕様の改善。
再生時、始点で左矢印、下矢印キーでバックすると終点に移動するようにした。

2013年04月16日 ver1.5

再生モードに入るときにフリーズすることがあったので、キャプチャーグラフを削除するタイミングを変更してみた。

2013年01月29日 ver1.3

上下左右矢印キーで再生停止し、コマ送り出来るようにした。Enterキーで再生再開する。ビデオキャプチャー環境のない機種で動作しないバグを修正。

2013年01月17日 ver1.2

コメントをaviファイルのタグに書き込む仕様にした。そのため mp3infp.dll(800Kb)分ファイルサイズが増加した。

2013年01月14日 ver1.1

かそくドリも利用できるように復活。

2013年01月13日 CapNYS ver1.0

加速度センサー「かそくドリ」(サンハヤト)がWindows7,8では動かないようなので、Km2netのFSIO30と加速度センサーKXM52-1050(およびその同等品)の組み合わせで、頭位を記録するように変更した。
大幅に仕様を変更したのでプログラム名もCapENGからCapNYSと変更し、Version1.0からのリスタートとした。

2010年10月~2013年01月

キーボードで頭位を入力する機能や3軸加速度センサーで頭位を記録する機能をつけた。

2010年10月17日 CapENG ver1.0

静止画・動画キャプチャーソフトCapENTを動画専用に変更しただけの、眼振検査ソフトCapENGを作る。