Show page source of ThetaThoughtShutterS #117536

[[PageOutline]]

= '''概要''' =
Theta "Thought" ShutterS(以下、本アプリと呼びます)は、[https://www.neurosky.jp/ NeuroSky ]社の簡易脳波計である[https://store.neurosky.com/pages/mindwave MindWave Mobile 2 EEGヘッドセット](以下、EEGと呼びます)を使用してRICOH製 THETAのシャッターを切ることができる、Android用のアプリケーションです。

適切に「思う」と撮影できるアプリですが、思うように撮影できない、かもしれません。そのあたり悪しからずご了承ください。

EEGから取得した情報(Attention)が高まったときに静止画を撮影します。プラグイン版([ThetaThoughtShutter ThetaThoughtShutter])とは異なり、 Wifi経由でTHETAに接続して制御するため THETA S や SCなどのプラグイン非対応機でも撮影可能です。

なお、Thetaに接続しなくても、 [https://store.neurosky.com/pages/mindwave MindWave Mobile 2] のセンサ情報をCSVファイルに記録する機能も持っており、簡単な脳波計測用途にもお使いいただけます。

[[Embed(ttss0.jpg, caption=MindWave Mobile 2)]]


= インストール =
(TBD)

= 操作説明 =
== 概要 ==
起動後、初期画面を表示しますので、THETAやEEGへの接続ボタンを押してください。

THETAへの接続ができると、THETAの画像を表示します。画面をタッチして上下左右に動かすと、表示領域を変えることができます。また、ピンチイン、ピンチアウトで表示の拡大・縮小ができます。(しかし、拡大しすぎると表示が乱れてしまいます、、、ご注意ください。)
画面を長押しすると、初期表示に戻すことができますので、拡大・縮小や画像を回転させすぎた時にはお試しください。

シャッターボタンを押すと、THETAで撮影ができます。(ビデオ録画モードだと、撮影開始・終了を行います。) 撮影開始・終了のタイミングでは、振動により通知を行います。
設定ボタンを押すと、設定変更をすることができます。各種機能を使用する場合には、設定画面内の設定を変更してみてください。
[[Embed(TTSS-screenTransition.png, caption=画面遷移)]]

== 画面表示 ==
以下にメイン画面を示します。画面には「THETA接続ボタン」「EEG接続ボタン」「モード切替ボタン」「設定ボタン」「シャッターボタン」があります。
[[Embed(TTS-overview.png, caption=画面表示)]]

なお、起動直後の画面は非常にシンプルです。設定ボタンを押して設定画面にて、お好みの設定に変更してご利用ください。

[[Embed(TTSS-initial.png, caption=起動直後の画面)]]


== THETA接続ボタン ==
画面左下に表示されているボタンです。ボタンを押すと、THETAとの接続を行います。 '''接続前に、あらかじめTHETAとWIFIの接続を行っておいてください。''' THETAと接続できている場合、アイコンが接続中に変化します。
[[Embed(TTSS-connectT.png, caption=THETA接続ボタンの状態)]]

接続していない場合、しばらく経つと「接続失敗」のダイアログを表示します。この場合、WIFI設定を押して、ネットワークの設定画面を開きますのでTHETAと接続を行ってください。
[[Embed(theta-connect.png, caption=THETAと接続失敗)]]


== EEG接続ボタン ==
'''設定画面で「Mindwave Mobile(EEGヘッドセット)を使用する」にチェックを入れたときにTHETA接続ボタンの右隣に表示するボタンです。''' ボタンを押して接続中、接続済に切り替えます。
[[Embed(TTSS-connectB.png, caption=EEG接続ボタンの状態)]]

自動でペアリングをするはずですが、ペアリングが必要だと表示された場合は、'''0000''' でペアリングしてください。

センサの収集状態取得までには、少し時間がかかることもありますが、ご了承ください。

== モード切替ボタン ==
THETA接続中にこのボタンを押すと、静止画撮影モード、動画撮影モードの切り替えを行います。'''切り替えを行いたいモードをアイコンで表示しています。現在の撮影モードとは異なりますのでご注意ください。'''

現在の撮影モードは、「機器状態を画面に表示」にチェックを入れたとき、画面左上の 2列目「Capture Mode」が '''image'''の時には静止画撮影モード、'''video'''の時には動画撮影モードを示します。あわせてTHETA本体のランプも参照していただければと思います。

[[Embed(TTSS-mode.png, caption=モード切替ボタン)]]

== 設定ボタン ==
設定ボタンを押すと、設定画面を開きます。詳細は、後述する「設定画面について」を確認ください。

== シャッターボタン ==
THETA接続中にこのボタンを押すと、静止画または動画の撮影を行います。撮影のコマンドを受け付けたかどうかは振動(バイブレーション)で通知し、撮影が完了したときにも画面表示と共に通知します。

動画撮影の場合、最初の一回で撮影スタート、もう一回押すと撮影完了となります。この場合も、振動で通知します。

[[Embed(captured.png, caption=撮影完了通知)]]

なお、EEG接続時には、ATTENTION または MEDIATIONの高まりによる撮影(数値が90以上を5秒間続くと撮影する)が行われます。

= 機器状態の表示 =
設定画面で「機器状態を画面に表示」を設定した場合の状態表示は、左側にTHETAの状態、右側にEEGの状態を表示します。
右側のように、THETA未接続のままEEGだけの状態表示をすることも可能です。

[[Embed(ttss-status.png, caption=機器状態を表示 (左:THETA、右:EEG))]]

灰色の球体表示が邪魔だと思う場合には、ピンチイン操作で縮小、もしくは拡大してみてください。
[[Embed(only-eeg.png, caption=EEG状態だけの表示 (ピンチインで球体を縮小表示した例))]]


それぞれの値は以下です。
== THETAの状態 ==
=== BATTERY ===
バッテリーの残量(パーセント)を表示します。

=== Capture Mode ===
[https://api.ricoh/docs/theta-web-api-v2.1/options/capture_mode/ 撮影モード]を表示します。
  * image: 静止画撮影モード
  * video: 動画撮影モード

=== Exposure Program ===
[https://api.ricoh/docs/theta-web-api-v2.1/options/exposure_program/ 撮影プログラム]を表示します。
  * Manual : マニュアルモード
  * Normal : 通常撮影モード
  * Aperture : 絞り優先モード (Z1のみ)
  * Shutter : シャッター速度優先モード
  * ISO : ISO優先モード

=== STATUS ===
撮影状態を示します。
  * idle : 撮影待ち
  * shooting : 撮影中 (動画撮影中)

=== FILTER ===
[https://api.ricoh/docs/theta-web-api-v2.1/options/_filter/ フィルターモード]を示します。
  * off : フィルターOFF
  * DR Comp : DR compensation
  * Noise Reduction : ノイズリダクション
  * hdr : HDR
  * Hh hdr : Handheld HDR

=== WB ===
[https://api.ricoh/docs/theta-web-api-v2.1/options/white_balance/ ホワイトバランス]を表示します。
  * auto
  * daylight
  * shade
  * cloudy-daylight
  * incandescent
  * _warmWhiteFluorescent
  * _dayLightFluorescent
  * _dayWhiteFluorescent
  * fluorescent
  * _bulbFluorescent
  * _colorTemperature
  * _underwater


== EEGの状態 ==
EEGヘッドセット([https://store.neurosky.com/pages/mindwave MindWave Mobile 2])が取得したセンサ情報を画面表示しています。おおむね1秒おきに更新します。特に、[http://neurosky.com/ NeuroSky] のチップで取得できる ATTENTION, MEDIATIONの値を使用して、THETAの撮影を行います。

=== ATTENTION ===
ATTENTIONの値を表示します。値によって表示の色を変化させます。
 * 90超 : 緑
 * 70超 : 黄
 * 50超 : 白
 * 30超 : ライトグレー
 * 30未満 : ダークグレー

=== MEDIATION ===
MEDIATIONの値を表示します。値によって表示の色を変化させます。
 * 90超 : 緑
 * 70超 : 黄
 * 50超 : 白
 * 30超 : ライトグレー
 * 30未満 : ダークグレー

=== 脳波データ ===
==== 0.5-2.75Hz ====
deltaの値です。0~16777215の値をとります。詳細は[http://developer.neurosky.com/docs/doku.php?id=thinkgear_communications_protocol#asic_eeg_power_int ASIC_EEG_POWER_INT]を参照してください。

==== 3.5-6.75Hz ====
thetaの値です。0~16777215の値をとります。詳細は[http://developer.neurosky.com/docs/doku.php?id=thinkgear_communications_protocol#asic_eeg_power_int ASIC_EEG_POWER_INT]を参照してください。

==== 7.5-9.25Hz ====
low-alphaの値です。0~16777215の値をとります。詳細は[http://developer.neurosky.com/docs/doku.php?id=thinkgear_communications_protocol#asic_eeg_power_int ASIC_EEG_POWER_INT]を参照してください。

==== 10-11.75Hz ====
high-alphaの値です。0~16777215の値をとります。詳細は[http://developer.neurosky.com/docs/doku.php?id=thinkgear_communications_protocol#asic_eeg_power_int ASIC_EEG_POWER_INT]を参照してください。

==== 13-16.75Hz ====
low-betaの値です。0~16777215の値をとります。詳細は[http://developer.neurosky.com/docs/doku.php?id=thinkgear_communications_protocol#asic_eeg_power_int ASIC_EEG_POWER_INT]を参照してください。

==== 18-29.75Hz ====
high-betaの値です。0~16777215の値をとります。詳細は[http://developer.neurosky.com/docs/doku.php?id=thinkgear_communications_protocol#asic_eeg_power_int ASIC_EEG_POWER_INT]を参照してください。

==== 31-39.75Hz ====
low-gammaの値です。0~16777215の値をとります。詳細は[http://developer.neurosky.com/docs/doku.php?id=thinkgear_communications_protocol#asic_eeg_power_int ASIC_EEG_POWER_INT]を参照してください。

==== 41-49.75Hz ====
mid-gammaの値です。0~16777215の値をとります。詳細は[http://developer.neurosky.com/docs/doku.php?id=thinkgear_communications_protocol#asic_eeg_power_int ASIC_EEG_POWER_INT]を参照してください。


= 設定画面について =
[[Embed(TTSS-configure.png, caption=設定ボタン)]]

== アプリ制御 ==
=== アプリ終了 ===
本アプリを終了します。終了前に確認のダイアログを表示しますので「OK」を選択して終了してください。

=== WIFI設定 ===
AndroidのWIFI設定画面を開きます。THETAにWIFI接続する場合に、ここを選択しWIFI設定画面でTHETAと接続してください。

== アプリ設定 ==
=== ライブ画像を同時保存 ===
THETAで画像を撮影するタイミングで、ライブビュー画像を保存する場合に、設定してください。保存先は、 '''DCIM/aira01a''' です。

現状、360度画像を示す。XMP情報が付与されないJPEG形式で保存してしまいます。ご了承ください。


=== 機器状態を画面に表示 ===

== カメラ設定 ==
=== ライブビュー形式(要再起動) ===

== EEG設定 ==
=== Mindwave Mobile(EEGヘッドセット)を使用する ===
EEGと接続する場合に設定してください。

=== 脳波シャッタータイプ ===
EEGで撮影する場合に、その検出タイプを選択してください。「ATTENTION」と「MEDIATION」が選択可能です。

=== 脳波信号も画面表示 ===

=== 脳波信号をCSVファイルに出力 ===
EEGの脳波信号をCSVファイルに出力する場合に設定してください。詳細は、後述の「CSVファイルについて」を参照してください。

== GOKIGEN ==
=== 操作説明 ===
[ThetaThoughtShutterS 操作説明のページ(本ページ)]をブラウザで開きます。

=== プライバシーポリシー ===
GOKIGEN プロジェクトの[PrivacyPolicy プライバシーポリシー]ページを開きます。

=== デバッグ情報 ===
デバッグ情報(LogCat)のページを開きます。

= CSVファイルについて =
設定画面で「脳波信号をCSVファイルに出力」を設定した場合、EEGセンサデータをCSV形式でファイルに出力します。(ファイルの出力先は '''/sdcard/Download/''' 、ファイル名は、'''EEG_年月日時分秒.csv''' になるはず、、です。)
出力ファイルのイメージは以下のようになっています。先頭1行はデータ項目ラベル、2行目から実データとなります。
[[Embed(csv-fileformat.png, caption=CSVファイル形式の例)]]

データは、1行に以下のデータをカンマに区切って格納します。内容の詳細は、[http://developer.neurosky.com/docs/doku.php?id=thinkgear_communications_protocol#thinkgear_data_values ThinkGear Data Values] を参照してください。
 * '''データ受信時間'''
    * データを受信した時間を出力します。出力形式は 年-月-日_時:分:秒 (秒は小数点以下3桁も表示します。) おおむね1秒ごとに出力されているはずです。
 * '''[http://developer.neurosky.com/docs/doku.php?id=thinkgear_communications_protocol#attention_esense ATTENTION]'''
    * ATTENTION情報を出力します。0~100の値をとります。
 * '''[http://developer.neurosky.com/docs/doku.php?id=thinkgear_communications_protocol#meditation_esense MEDIATION]'''
   * MEDIATION情報を出力します。0~100の値をとります。
 * '''delta''' : 0.5 - 2.75Hz
   * 検出した脳波データです。0~16777215の値をとります。詳細は[http://developer.neurosky.com/docs/doku.php?id=thinkgear_communications_protocol#asic_eeg_power_int ASIC_EEG_POWER_INT]を参照してください。
 * '''theta''' : 3.5 - 6.75Hz
   * 検出した脳波データです。0~16777215の値をとります。詳細は[http://developer.neurosky.com/docs/doku.php?id=thinkgear_communications_protocol#asic_eeg_power_int ASIC_EEG_POWER_INT]を参照してください。
 * '''Alpha-Low''' : 7.5 - 9.25Hz
   * 検出した脳波データです。0~16777215の値をとります。詳細は[http://developer.neurosky.com/docs/doku.php?id=thinkgear_communications_protocol#asic_eeg_power_int ASIC_EEG_POWER_INT]を参照してください。
 * '''Alpha-High''' : 10 - 11.75Hz
   * 検出した脳波データです。0~16777215の値をとります。詳細は[http://developer.neurosky.com/docs/doku.php?id=thinkgear_communications_protocol#asic_eeg_power_int ASIC_EEG_POWER_INT]を参照してください。
 * '''Beta-Low''' : 13 - 16.75Hz
   * 検出した脳波データです。0~16777215の値をとります。詳細は[http://developer.neurosky.com/docs/doku.php?id=thinkgear_communications_protocol#asic_eeg_power_int ASIC_EEG_POWER_INT]を参照してください。
 * '''Beta-High''' : 18 - 29.75Hz
   * 検出した脳波データです。0~16777215の値をとります。詳細は[http://developer.neurosky.com/docs/doku.php?id=thinkgear_communications_protocol#asic_eeg_power_int ASIC_EEG_POWER_INT]を参照してください。
 * '''Gamma-Low''' : 31 - 39.75Hz
   * 検出した脳波データです。0~16777215の値をとります。詳細は[http://developer.neurosky.com/docs/doku.php?id=thinkgear_communications_protocol#asic_eeg_power_int ASIC_EEG_POWER_INT]を参照してください。
 * '''Gamma-Mid''' : 41 - 49.75Hz
   * 検出した脳波データです。0~16777215の値をとります。詳細は[http://developer.neurosky.com/docs/doku.php?id=thinkgear_communications_protocol#asic_eeg_power_int ASIC_EEG_POWER_INT]を参照してください。
 * '''[http://developer.neurosky.com/docs/doku.php?id=thinkgear_communications_protocol#poor_signal_quality PoorSignal]'''
   * 信号の状態を示します。0~255の値をとり、数が大きいほどノイズが大きいことを示します。また、値が200の場合には、肌からセンサが離れていることを意味しています。詳細は [http://developer.neurosky.com/docs/doku.php?id=thinkgear_communications_protocol#poor_signal_quality Poor Signal Quality]を参照してください。


= その他 =
THETAとEEGは、Bluetooth SPPプロトコルで接続しています。

== 注意事項(仕様、制約事項) ==
 * 撮影時の設定モードなどは変更できません。ご了承ください。
 * 保存画像は、現在XMPタグが付与できていないため、Equirectangular形式のJPEG画像となっていません。すみません。

=== 動作確認 ===
本アプリは、Theta V / Theta Sでの動作確認を行っています。

=== permissionについて ===
本アプリは、次のパーミッションを指定し使用しています。

 *  <uses-permission andro!id:name="android.permission.VIBRATE" />
   * アプリの状態を振動で伝えるため
 *  <uses-permission andro!id:name="android.permission.ACCESS_NETWORK_STATE"/>
    * THETAとWIFI接続を行うため
 *  <uses-permission andro!id:name="android.permission.ACCESS_WIFI_STATE"/>
    * THETAと通信を行うため
 *  <uses-permission andro!id:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    * EEGのセンサ情報を DownloadフォルダにCSV形式で出力するため
 *  <uses-permission andro!id:name="android.permission.READ_EXTERNAL_STORAGE"/>
    * Downloadフォルダ、DCIMフォルダにアクセスするため
 * <uses-permission andro!id:name="android.permission.INTERNET" />
    * カメラの撮影を Theta Web API 経由で行うため
 * <uses-permission andro!id:name="android.permission.BLUETOOTH" />
    * EEGヘッドセットとの通信を Bluetooth経由で行うため
 * <uses-permission andro!id:name="android.permission.ACCESS_COARSE_LOCATION" />
    * EEGヘッドセットとの通信を Bluetooth経由で行うため
 *  <uses-permission andro!id:name="android.permission.ACCESS_FINE_LOCATION" />
    * EEGヘッドセットとの通信を Bluetooth経由で行うため (過去バージョン対応)
 * <uses-permission andro!id:name="android.permission.BLUETOOTH_ADMIN" />
    * EEGヘッドセットとペアリングを実施するため

== 変更履歴 ==
 * 1.0.1 : 初版リリース(予定)

== ソースコード ==
本アプリはオープンソースです。以下からソースコードを参照することができます。ご利用はご自由にどうぞ。
 * https://osdn.net/projects/gokigen/scm/git/ThetaView/

== EEGについて ==
[[Embed(eeg.png, caption=EEGについて)]]

= 参考リンク =
 * [https://api.ricoh/docs/theta-web-api-v2.1/ THETA Web API v2.1]
 * [https://store.neurosky.com/pages/mindwave MindWave Mobile 2 : Brainwave starter kit]
    * https://www.amazon.co.jp/dp/B07CXN8NKX/
 * [http://neurosky.com/ NeuroSky]
    * http://neurosky.com/
    * https://www.neurosky.jp/
    * [http://developer.neurosky.com/docs/doku.php?id=thinkgear_communications_protocol ThinkGear Serial Stream Guide]
    * [http://developer.neurosky.com/docs/lib/exe/fetch.php?media=mindset_communications_protocol.pdf MindSet Communications Protocol]
    * [http://support.neurosky.com/kb/development-2/eeg-band-power-values-units-amplitudes-and-meaning EEG Band Power values: Units, Amplitudes, and Meaning]
 * [https://ja.wikipedia.org/wiki/%E8%84%B3%E6%B3%A2 脳波]
    * [https://ja.wikipedia.org/wiki/%E3%83%87%E3%83%AB%E3%82%BF%E6%B3%A2 デルタ波]
    * [https://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%BC%E3%82%BF%E6%B3%A2 シータ波]
    * [https://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%AB%E3%83%95%E3%82%A1%E6%B3%A2 アルファ波]
    * [https://ja.wikipedia.org/wiki/%E3%83%99%E3%83%BC%E3%82%BF%E6%B3%A2 ベータ波]
    * [http://www.med.kyushu-u.ac.jp/neurophy/pdf/guide.pdf 脳波を楽しく読むためのミニガイド]

以上