The Stimulus Administration Package provides a straightforward and intuitive interface for administering and recording auditory stimuli to patients, designed to be accessible to users without coding expertise. With intuitive functionalities for stimulus administration, patient record management, and note-taking, this software simplifies the process for researchers and clinicians alike. Users can seamlessly administer auditory stimuli to patients through a web-based interface, ensuring efficient data recording and management for research and clinical purposes.
environment.yml
file. Required packages are gtts
, psychopy
, psychtoolbox
, and playsound
.
playsound
), would be great for future teams to troubleshoot this as it would allow for more specific control over stimulus.brain_waves_packages/corpus/
directory. Copy-Paste in your words and/or sentences into the appropriate .txt file(s). Alternatively, you may use the provided default words and sentence lists.brain_waves_packages
directory in the terminal. Then write streamlit run gui_stimulus.py
into the terminal and enter. This should launch the GUI in the browser.patient_id
into the textbox at the top of the screen, then push the start stimulus button. Play around with the other functionalities of the GUI.This script provides a user interface for administering auditory stimuli to patients. It utilizes the Streamlit library for creating a web-based interface. The main functionalities include administering stimuli, searching for patients who have already been administered stimuli, adding notes to patient records, and finding patient notes.
Run the backend functions through the GUI web interface. Launch the GUI by following step 3 in Usage guide above.
The script generates and saves data to 'patient_df.csv' and 'patient_notes.csv' files.
Administers a sentence stimulus to a patient.
Parameters:
sentence_list
(list): A list of sentences to choose from and play.Returns:
sentence
(str): The administered sentence.timestamp
(float): The timestamp when the sentence was administered.Administers a word stimulus to a patient.
Parameters:
word_list
(list): A list of words to choose from and play.Returns:
word
(str): The administered word.timestamp
(float): The timestamp when the word was administered.Administers a beep stimulus to a patient.
Parameters:
frequency
(int): The frequency of the beep sound. Default is 1000 Hz.duration
(float): The duration of the beep sound in seconds. Default is 0.5 seconds.Returns:
beep
(str): The string "BEEP".timestamp
(float): The timestamp when the beep was administered.Generates a random order of stimuli to be administered.
Returns:
stimuli
(list): A list of stimuli ("sentence", "word", "beep") in random order.Generates and plays auditory stimuli for a patient.
Parameters:
patient_id
(str): The ID of the patient. Default is "patient0".Outputs:
archive_entry
patient_dict_path
(str): Path to the patient_dict.json file.patient_id
(str): Identifier for the patient/EEG.Winter 2024: https://docs.google.com/presentation/d/1Kp6XUgpTHJ_MS2kLk3vIcxjNE0yz_ODsBUjHLSKQaZU/edit?usp=sharing
Spring 2024: https://docs.google.com/presentation/d/1FUqLEs0Pi69MavDdpUPYJBafI9lskivDAvJT3tufLfA/edit?usp=sharing
Spring 2024: https://docs.google.com/spreadsheets/d/1dB0wKZc62g64NrvtKUnsOXBvMH8jNoDxWFfDWA1Aob4/edit?usp=sharing