Skip to content

About

EEGのデータをきれいに表示します.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧠 Brain Wave Art Generator

脳波データから美しいアート作品を生成するWebアプリケーション

Python Flask License

📖 概要

Brain Wave Art Generatorは、EEG(脳波)データを美しい海底世界風のアート作品に変換する専用Webアプリケーションです。科学的なデータ分析と芸術的表現を融合させ、あなたの脳波パターンを唯一無二のビジュアルアートとして可視化します。

🌐 デモ環境: http://133.27.114.107/ で実際にアプリケーションを体験できます。

🎯 このアプリケーションの目的

  • 科学的価値: 脳波データの詳細な周波数分析と信号処理
  • 芸術的価値: 脳波パターンを美しいビジュアルアートに変換
  • 教育的価値: 脳波の仕組みや信号処理技術の理解促進
  • 記念品価値: あなただけの脳波アートを高解像度で保存・印刷可能

✨ 主な機能

🎨 アート生成機能

  • 海底テーマ: 深海をイメージした青とシアンのグラデーション
  • スパイラルパターン: 脳波の周波数に基づく美しい渦巻き模様
  • パーティクルエフェクト: 動的な粒子効果で生命感のある表現
  • 高解像度出力: 20×16インチ、300DPIの印刷品質

📊 科学的分析機能

  • 5つの脳波帯域分析: デルタ、シータ、アルファ、ベータ、ガンマ波の詳細解析
  • 信号品質評価: SNR(信号対雑音比)改善度の定量的評価
  • ノイズ除去: 電源ライン雑音や人工的なアーティファクトの自動除去
  • リアルタイム処理: アップロード後すぐに結果を表示

🖥️ ユーザーインターフェース

  • 直感的操作: ドラッグ&ドロップによる簡単ファイルアップロード
  • リアルタイムフィードバック: ファイル状態の視覚的表示
  • タブ式表示: アート作品と分析結果を分けて表示
  • レスポンシブデザイン: あらゆるデバイスで最適表示

🔧 技術仕様

サポートファイル形式

このアプリケーションはBrain Vision Analyzer形式のEEGファイルに対応しています:

  • .eegファイル: 実際の脳波データ(バイナリ形式)
  • .vhdrファイル: ヘッダー情報(テキスト形式、サンプリング周波数、チャンネル情報など)

重要: 両方のファイルが必要です。一方だけでは処理できません。

技術スタック

  • バックエンド: Python 3.8+ (Flask フレームワーク)
  • フロントエンド: HTML5, CSS3, JavaScript (ES6+)
  • 科学計算: NumPy, SciPy (高速数値計算)
  • 可視化: Matplotlib (高品質グラフィック生成)
  • 信号処理: カスタム実装のデジタルフィルタリング

システム要件

  • Python: 3.8以上(推奨: 3.9+)
  • メモリ: 最低4GB RAM(大きなEEGファイルの場合は8GB推奨)
  • ストレージ: 500MB以上の空き容量
  • ネットワーク: ローカル実行またはWebサーバー環境

🚀 インストール手順

1. 前提条件の確認

まず、システムにPythonがインストールされているか確認してください:

python3 --version

Python 3.8以上が表示されれば問題ありません。表示されない場合は、Python公式サイトからダウンロードしてインストールしてください。

2. プロジェクトの取得

プロジェクトファイルを取得します:

# プロジェクトファイルをダウンロードした場合
cd brain-wave-art-generator

または、GitHubからクローンする場合は適切なリポジトリURLを使用してください。

3. Python仮想環境の作成(推奨)

他のPythonプロジェクトとの競合を避けるため、専用の仮想環境を作成します:

# 仮想環境の作成
python3 -m venv brain_wave_env

# 仮想環境の有効化(Linux/Mac)
source brain_wave_env/bin/activate

# 仮想環境の有効化(Windows)
brain_wave_env\Scripts\activate

4. 必要なライブラリのインストール

requirements.txtに記載されたすべての依存関係をインストールします:

pip install -r requirements.txt

このコマンドで以下のライブラリが自動的にインストールされます:

  • Flask (Webアプリケーションフレームワーク)
  • NumPy (数値計算)
  • SciPy (科学計算)
  • Matplotlib (グラフ作成)

5. アプリケーションの起動

すべての準備が完了したら、アプリケーションを起動します:

python app.py

成功すると、以下のようなメッセージが表示されます:

🧠 EEG Beautiful Visualizer
Server starting...
 * Running on http://127.0.0.1:5000
 * Debug mode: off

環境変数による設定(オプション)

本番環境や特定の設定でサーバーを起動する場合は、以下の環境変数を設定できます:

# ホスト設定(デフォルト: 127.0.0.1)
export HOST=0.0.0.0

# ポート設定(デフォルト: 5000)
export PORT=8080

# デバッグモード設定(デフォルト: false)
export DEBUG=true

# 設定した環境変数でアプリケーションを起動
python app.py

6. Webブラウザでアクセス

ブラウザを開き、以下のURLにアクセスしてください:

http://127.0.0.1:5000

または

http://localhost:5000

デモ環境 vs 個人インストール版

項目 デモ環境 個人インストール版
URL http://133.27.114.107/ http://localhost:5000
用途 機能確認・体験 プライベート利用
データ安全性 ⚠️ 機密データ禁止 ✅ 完全プライベート
パフォーマンス 共有利用 専用リソース
推奨用途 初回体験・デモ 実際のEEG解析

📱 使用方法

ステップ1: ファイルの準備

  1. EEGファイルの確認: .eegと.vhdrの両方のファイルが必要
  2. ファイル名の確認: 両ファイルは同じベース名である必要があります
    • 例: sample.eeg と sample.vhdr

ステップ2: ファイルのアップロード

  1. Webページを開く: ブラウザでアプリケーションにアクセス
  2. ファイル選択:
    • 「ファイルを選択」ボタンをクリック
    • または、ファイルを直接ドラッグ&ドロップ
  3. ペアファイルの確認:
    • 緑色表示: 完全なペア(処理可能)
    • 黄色表示: 不完全なペア(もう一方のファイルが必要)

ステップ3: 分析の実行

  1. 「脳波を分析」ボタンをクリック: アップロード後に表示される青いボタン
  2. 処理の待機: 数秒から数十秒(ファイルサイズによる)
  3. 結果の表示: 処理完了後、結果エリアが表示されます

ステップ4: 結果の確認

🎨 アートタブ

  • 生成されたアート作品: 海底をテーマにした美しいビジュアル
  • ダウンロードボタン: 高解像度版(20×16インチ、300DPI)をダウンロード
  • 印刷可能: A3サイズ以上での高品質印刷に対応

📊 分析タブ

  • 周波数帯域分析: 各脳波帯域(デルタ、シータ、アルファ、ベータ、ガンマ)の分布
  • 信号品質指標:
    • SNR改善度: ノイズ除去による信号品質向上
    • 除去されたアーティファクト数
    • ノイズ削減率
  • 技術的詳細: 使用された信号処理技術の説明

🧠 脳波帯域について

デルタ波 (0.5-4 Hz)

  • 特徴: 最も低い周波数の脳波
  • 状態: 深い睡眠、無意識状態
  • アートでの表現: 大きくゆったりとした波形パターン

シータ波 (4-8 Hz)

  • 特徴: 低周波数の脳波
  • 状態: 浅い睡眠、リラックス、瞑想状態
  • アートでの表現: 穏やかな流れるような模様

アルファ波 (8-13 Hz)

  • 特徴: リラックス時の代表的な脳波
  • 状態: 安静、目を閉じた覚醒状態
  • アートでの表現: 規則的で美しいリズムパターン

ベータ波 (13-30 Hz)

  • 特徴: 活動時の主要な脳波
  • 状態: 集中、思考、問題解決
  • アートでの表現: 細かく活発な模様

ガンマ波 (30-100 Hz)

  • 特徴: 最も高い周波数の脳波
  • 状態: 高度な認知処理、意識の統合
  • アートでの表現: 繊細で複雑なテクスチャ

🔬 信号処理技術

1. DCオフセット除去

  • 目的: 信号の直流成分を除去
  • 方法: 平均値減算
  • 効果: ベースライン補正

2. 電源ライン雑音除去

  • 目的: 50/60Hzの商用電源雑音を除去
  • 方法: ノッチフィルタ
  • 効果: クリーンな脳波信号の抽出

3. バンドパスフィルタリング

  • 目的: 脳波の有効周波数範囲(0.5-100Hz)のみを抽出
  • 方法: Butterworthフィルタ
  • 効果: 不要な周波数成分の除去

4. アーティファクト除去

  • 目的: 眼球運動、筋電図などの生体アーティファクト除去
  • 方法: 閾値ベース検出と除去
  • 効果: 純粋な脳波信号の取得

5. 信号平滑化

  • 目的: 残存ノイズの軽減
  • 方法: 移動平均フィルタ
  • 効果: 滑らかで見やすい信号

6. 正規化

  • 目的: チャンネル間の振幅差を調整
  • 方法: Z-score正規化
  • 効果: 公平な比較分析

🎨 アート生成アルゴリズム

1. 周波数-色彩マッピング

  • 低周波数: 深い青色(深海の静寂)
  • 中周波数: シアン色(海中の活動)
  • 高周波数: 明るい青色(水面の輝き)

2. スパイラルパターン生成

  • 半径: アルファ波強度に比例
  • 密度: ベータ波活動に連動
  • 回転速度: ガンマ波の複雑さを反映

3. パーティクル効果

  • 粒子数: 全体的な脳波活動レベル
  • 動き: 周波数帯域間のバランス
  • 輝度: 信号品質と相関

🛠️ トラブルシューティング

よくある問題と解決方法

1. ファイルがアップロードできない

症状: ファイル選択後にエラーが発生 原因:

  • ファイル形式が正しくない
  • ファイルサイズが大きすぎる
  • ペアファイルが不完全

解決方法:

  • .eegと.vhdr両方のファイルを確認
  • ファイルサイズを確認(100MB以下推奨)
  • ファイル名が同じベース名であることを確認

2. アートが生成されない

症状: 分析は完了するがアートが表示されない 原因:

  • 脳波データに問題がある
  • ブラウザのJavaScriptが無効

解決方法:

  • ブラウザのJavaScriptを有効にする
  • 別のEEGファイルで試す
  • ブラウザのキャッシュをクリア

3. 分析が遅い

症状: 処理に非常に長い時間がかかる 原因:

  • ファイルサイズが大きい
  • システムリソース不足

解決方法:

  • より小さなEEGファイルを使用
  • 他のアプリケーションを閉じる
  • システムのメモリを確認

4. ダウンロードできない

症状: アート画像をダウンロードできない 原因:

  • ブラウザの設定問題
  • ストレージ容量不足

解決方法:

  • ブラウザのダウンロード設定を確認
  • 十分なストレージ容量を確保
  • 別のブラウザで試す

エラーメッセージと対処法

"ファイル形式がサポートされていません"

  • 確認事項: .eegと.vhdrファイルのペアが正しいか
  • 対処法: Brain Vision Analyzer形式のファイルを使用

"ファイルが読み込めません"

  • 確認事項: ファイルが破損していないか
  • 対処法: 元のEEG記録ソフトウェアでファイルを確認

"メモリ不足エラー"

  • 確認事項: システムの利用可能メモリ
  • 対処法: 他のアプリケーションを終了、システムを再起動

📊 技術的詳細

パフォーマンス仕様

  • 処理速度: 1MB/秒(標準的なEEGファイル)
  • メモリ使用量: ファイルサイズの3-5倍
  • 対応ファイルサイズ: 最大500MB(推奨: 100MB以下)

セキュリティ

  • データ保存: アップロードファイルは処理後自動削除
  • プライバシー: すべての処理はローカルで実行
  • 暗号化: HTTPS通信対応(本番環境)
  • 環境変数: 機密設定は環境変数で管理
  • ファイル除外: .gitignoreにより機密ファイルを除外

ブラウザ対応

  • Chrome: 80+ (推奨)
  • Firefox: 75+
  • Safari: 13+
  • Edge: 80+

🔒 セキュリティ・プライバシー対策

データの取り扱い

  • 一時的処理: アップロードされたEEGファイルは解析後即座に削除
  • ローカル処理: データはサーバー上でのみ処理され、外部に送信されません
  • メモリクリア: 処理完了後、メモリからデータが消去されます

本番環境での推奨設定

# セキュアな本番環境設定
export HOST=127.0.0.1  # ローカルホストのみ
export PORT=5000       # 非特権ポート
export DEBUG=false     # デバッグモード無効
export SECRET_KEY="your-secure-random-key-here"  # セッションキー

# HTTPS対応(推奨)
# リバースプロキシ(nginx等)でSSL/TLS終端を設定

機密データの管理

  • 設定ファイル: 機密情報は環境変数で管理
  • ログ: 個人データはログに記録されません
  • バックアップ: EEGファイルは自動的にバックアップされません

🤝 貢献方法

このプロジェクトへの貢献を歓迎します!

開発環境の設定

  1. フォーク: GitHubでプロジェクトをフォーク
  2. クローン: ローカルにクローン
  3. ブランチ: 新機能用のブランチを作成
  4. 開発: コードの修正・追加
  5. テスト: 動作確認とテスト実行
  6. プルリクエスト: 変更内容の提出

貢献できる領域

  • 新機能: 追加の脳波分析機能
  • UI改善: ユーザーインターフェースの向上
  • バグ修正: 発見されたバグの修正
  • ドキュメント: 文書の改善・翻訳
  • テスト: テストケースの追加

📄 ライセンス

このプロジェクトはMITライセンスの下で公開されています。詳細はLICENSEファイルをご覧ください。

使用許可事項

  • ✅ 商用利用
  • ✅ 修正・改変
  • ✅ 配布
  • ✅ 個人利用

条件

  • 📋 著作権表示とライセンス文の保持
  • 📋 変更点の明記(推奨)

🙏 謝辞

  • 科学コミュニティ: EEG信号処理の研究成果
  • オープンソース: 使用している各種ライブラリの開発者
  • ユーザーコミュニティ: フィードバックと改善提案

📞 サポート・連絡先

技術サポート

  • GitHub Issues: バグ報告や機能要求
  • ディスカッション: 一般的な質問や議論

🧠 あなたの脳波を美しいアートに変えて、科学と芸術の融合を体験してください! ✨

About

EEGのデータをきれいに表示します.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages