Added participant view script

This commit is contained in:
2020-01-08 19:19:05 +00:00
parent fe2e87bebf
commit 927cf91e5e
4 changed files with 62 additions and 3 deletions
+1 -1
View File
@@ -35,7 +35,7 @@ class WavPlayer(Thread):
pass pass
def play_wav_async(self, wav_file, buffersize=20, blocksize=1024, socketio=None): def play_wav_async(self, wav_file, buffersize=1024, blocksize=1024, socketio=None):
q = queue.Queue(maxsize=buffersize) q = queue.Queue(maxsize=buffersize)
def callback(outdata, frames, time, status): def callback(outdata, frames, time, status):
+1 -1
View File
@@ -90,7 +90,7 @@ class DaTestThread(BaseThread):
if self._stopevent.isSet() or self.finishTest: if self._stopevent.isSet() or self.finishTest:
break break
logger.info("-"*78) logger.info("-"*78)
_, freq, snr_fs = re.findall(".tone_(\d+)_(\d+)Hz_([-+]?\d*\.\d+|\d+).", wav)[0] _, freq, snr_fs = re.findall(".tone_(\d+)_(\d+)Hz_([-+]?\d*\.\d+|\d+|inf).", wav)[0]
snr = float(snr_fs) - self.participant.data['mat_test']['srt_50'] snr = float(snr_fs) - self.participant.data['mat_test']['srt_50']
logger.info("{0:<25}".format("Current trial:") + f" {self.trial_ind}") logger.info("{0:<25}".format("Current trial:") + f" {self.trial_ind}")
logger.info("{0:<25}".format("Current SNR:") + f"{snr}") logger.info("{0:<25}".format("Current SNR:") + f"{snr}")
+60
View File
@@ -0,0 +1,60 @@
#!/usr/bin/env python3
from pathops import dir_must_exist
import os
import dill
import numpy as np
import pdb
import json
from natsort import natsorted
import random
random.seed(42)
np.random.seed(42)
import itertools
import copy
import logging
from loggerops import create_logger, log_newline
import shutil
import os
from pathlib import Path
from datetime import datetime
import re
import argparse
logger = logging.getLogger(__name__)
nowtime = datetime.now()
from gen_participants import Participant
from config import server, socketio, participants
def main(i):
key = "participant_{}".format(i)
participant = Participant(participant_dir="./participant_data/{}".format(key),
number=i)
participant.load('parameters')
# Log all parameters of the current participant
for key, val in participant.parameters.items():
if type(val) is np.ndarray:
val = val.tolist()
trunc_str = re.sub(r'^(.{75}).*$', '\g<1>...', f"{key:<25}{val}")
logger.info(f"{trunc_str: <78}")
logger.info("-"*78)
if __name__ == '__main__':
logs_dir = Path('./logs/')
logs_dir.mkdir(exist_ok=True)
logfile_dir = logs_dir / __file__
logfile_dir.mkdir(exist_ok=True)
logfile_name = nowtime.strftime("%m-%d-%Y_%H-%M-%S")+'.log'
logger = create_logger(
logger_streamlevel=10,
log_filename=str(logfile_dir/logfile_name),
logger_filelevel=10
)
parser = argparse.ArgumentParser(description='Show info about participant',)
parser.add_argument('index', type=int,
help='participant index')
args=parser.parse_args()
main(args.index)
-1
View File
@@ -78,7 +78,6 @@
<a class="dropdown-item" href="/da/setup">Tone EEG recording</a> <a class="dropdown-item" href="/da/setup">Tone EEG recording</a>
<a class="dropdown-item" href="/matrix_test">Behavioral Matrix Test</a> <a class="dropdown-item" href="/matrix_test">Behavioral Matrix Test</a>
<a class="dropdown-item" href="/eeg">Decoder EEG recording</a> <a class="dropdown-item" href="/eeg">Decoder EEG recording</a>
<a class="dropdown-item" href="/click/setup">Tone EEG recording</a>
</div> </div>
</li> </li>
</ul> </ul>