脳波データから美しいアート作品を生成するWebアプリケーション
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サーバー環境
まず、システムにPythonがインストールされているか確認してください:
python3 --versionPython 3.8以上が表示されれば問題ありません。表示されない場合は、Python公式サイトからダウンロードしてインストールしてください。
プロジェクトファイルを取得します:
# プロジェクトファイルをダウンロードした場合
cd brain-wave-art-generatorまたは、GitHubからクローンする場合は適切なリポジトリURLを使用してください。
他のPythonプロジェクトとの競合を避けるため、専用の仮想環境を作成します:
# 仮想環境の作成
python3 -m venv brain_wave_env
# 仮想環境の有効化(Linux/Mac)
source brain_wave_env/bin/activate
# 仮想環境の有効化(Windows)
brain_wave_env\Scripts\activaterequirements.txtに記載されたすべての依存関係をインストールします:
pip install -r requirements.txtこのコマンドで以下のライブラリが自動的にインストールされます:
- Flask (Webアプリケーションフレームワーク)
- NumPy (数値計算)
- SciPy (科学計算)
- Matplotlib (グラフ作成)
すべての準備が完了したら、アプリケーションを起動します:
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ブラウザを開き、以下のURLにアクセスしてください:
http://127.0.0.1:5000
または
http://localhost:5000
| 項目 | デモ環境 | 個人インストール版 |
|---|---|---|
| URL | http://133.27.114.107/ | http://localhost:5000 |
| 用途 | 機能確認・体験 | プライベート利用 |
| データ安全性 | ✅ 完全プライベート | |
| パフォーマンス | 共有利用 | 専用リソース |
| 推奨用途 | 初回体験・デモ | 実際のEEG解析 |
- EEGファイルの確認:
.eegと.vhdrの両方のファイルが必要 - ファイル名の確認: 両ファイルは同じベース名である必要があります
- 例:
sample.eegとsample.vhdr
- 例:
- Webページを開く: ブラウザでアプリケーションにアクセス
- ファイル選択:
- 「ファイルを選択」ボタンをクリック
- または、ファイルを直接ドラッグ&ドロップ
- ペアファイルの確認:
- 緑色表示: 完全なペア(処理可能)
- 黄色表示: 不完全なペア(もう一方のファイルが必要)
- 「脳波を分析」ボタンをクリック: アップロード後に表示される青いボタン
- 処理の待機: 数秒から数十秒(ファイルサイズによる)
- 結果の表示: 処理完了後、結果エリアが表示されます
- 生成されたアート作品: 海底をテーマにした美しいビジュアル
- ダウンロードボタン: 高解像度版(20×16インチ、300DPI)をダウンロード
- 印刷可能: A3サイズ以上での高品質印刷に対応
- 周波数帯域分析: 各脳波帯域(デルタ、シータ、アルファ、ベータ、ガンマ)の分布
- 信号品質指標:
- SNR改善度: ノイズ除去による信号品質向上
- 除去されたアーティファクト数
- ノイズ削減率
- 技術的詳細: 使用された信号処理技術の説明
- 特徴: 最も低い周波数の脳波
- 状態: 深い睡眠、無意識状態
- アートでの表現: 大きくゆったりとした波形パターン
- 特徴: 低周波数の脳波
- 状態: 浅い睡眠、リラックス、瞑想状態
- アートでの表現: 穏やかな流れるような模様
- 特徴: リラックス時の代表的な脳波
- 状態: 安静、目を閉じた覚醒状態
- アートでの表現: 規則的で美しいリズムパターン
- 特徴: 活動時の主要な脳波
- 状態: 集中、思考、問題解決
- アートでの表現: 細かく活発な模様
- 特徴: 最も高い周波数の脳波
- 状態: 高度な認知処理、意識の統合
- アートでの表現: 繊細で複雑なテクスチャ
- 目的: 信号の直流成分を除去
- 方法: 平均値減算
- 効果: ベースライン補正
- 目的: 50/60Hzの商用電源雑音を除去
- 方法: ノッチフィルタ
- 効果: クリーンな脳波信号の抽出
- 目的: 脳波の有効周波数範囲(0.5-100Hz)のみを抽出
- 方法: Butterworthフィルタ
- 効果: 不要な周波数成分の除去
- 目的: 眼球運動、筋電図などの生体アーティファクト除去
- 方法: 閾値ベース検出と除去
- 効果: 純粋な脳波信号の取得
- 目的: 残存ノイズの軽減
- 方法: 移動平均フィルタ
- 効果: 滑らかで見やすい信号
- 目的: チャンネル間の振幅差を調整
- 方法: Z-score正規化
- 効果: 公平な比較分析
- 低周波数: 深い青色(深海の静寂)
- 中周波数: シアン色(海中の活動)
- 高周波数: 明るい青色(水面の輝き)
- 半径: アルファ波強度に比例
- 密度: ベータ波活動に連動
- 回転速度: ガンマ波の複雑さを反映
- 粒子数: 全体的な脳波活動レベル
- 動き: 周波数帯域間のバランス
- 輝度: 信号品質と相関
症状: ファイル選択後にエラーが発生 原因:
- ファイル形式が正しくない
- ファイルサイズが大きすぎる
- ペアファイルが不完全
解決方法:
.eegと.vhdr両方のファイルを確認- ファイルサイズを確認(100MB以下推奨)
- ファイル名が同じベース名であることを確認
症状: 分析は完了するがアートが表示されない 原因:
- 脳波データに問題がある
- ブラウザのJavaScriptが無効
解決方法:
- ブラウザのJavaScriptを有効にする
- 別のEEGファイルで試す
- ブラウザのキャッシュをクリア
症状: 処理に非常に長い時間がかかる 原因:
- ファイルサイズが大きい
- システムリソース不足
解決方法:
- より小さなEEGファイルを使用
- 他のアプリケーションを閉じる
- システムのメモリを確認
症状: アート画像をダウンロードできない 原因:
- ブラウザの設定問題
- ストレージ容量不足
解決方法:
- ブラウザのダウンロード設定を確認
- 十分なストレージ容量を確保
- 別のブラウザで試す
- 確認事項:
.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ファイルは自動的にバックアップされません
このプロジェクトへの貢献を歓迎します!
- フォーク: GitHubでプロジェクトをフォーク
- クローン: ローカルにクローン
- ブランチ: 新機能用のブランチを作成
- 開発: コードの修正・追加
- テスト: 動作確認とテスト実行
- プルリクエスト: 変更内容の提出
- 新機能: 追加の脳波分析機能
- UI改善: ユーザーインターフェースの向上
- バグ修正: 発見されたバグの修正
- ドキュメント: 文書の改善・翻訳
- テスト: テストケースの追加
このプロジェクトはMITライセンスの下で公開されています。詳細はLICENSEファイルをご覧ください。
- ✅ 商用利用
- ✅ 修正・改変
- ✅ 配布
- ✅ 個人利用
- 📋 著作権表示とライセンス文の保持
- 📋 変更点の明記(推奨)
- 科学コミュニティ: EEG信号処理の研究成果
- オープンソース: 使用している各種ライブラリの開発者
- ユーザーコミュニティ: フィードバックと改善提案
- GitHub Issues: バグ報告や機能要求
- ディスカッション: 一般的な質問や議論
🧠 あなたの脳波を美しいアートに変えて、科学と芸術の融合を体験してください! ✨