neuromore Studio
Running a session
A session runs the loaded classifier, and the state machine and design if you loaded them. You control it in the Session Control window.
Start a session
Section titled “Start a session”- Connect your device. See Biosensors. A classifier with no device nodes, such as one driven only by OSC Input, doesn’t need one.
- In the Back-End File System window, double-click a classifier or design to load it. Only a classifier is required.
- In the Session Control window, set these if you need them:
- Visualization: opens the visualization selection window. See Visualizations.
- Channels: four lists, filled when the classifier has a Select Channels node with Quick Config on.
- User: the person the session runs for. Studio loads and saves parameter values for this user.
- Click Begin Session.
Sessions for other users
Section titled “Sessions for other users”Some accounts can run sessions for other people. The User button in the Session Control window opens the Select User window. What you can do there depends on your account.
- Select User: double-click a user, or select one and click this button. The session then runs for that user.
- Create User: First Name and Last Name are required. Email and Birthday are optional. With an email address, Studio also creates a personal neuromore account for the user and sends an email.
- Invite Existing User: enter the email address of someone who already has a neuromore account. They get an invitation email, and they appear in your list once they accept.
- Create Protocol: select a user and click this button to open the Experience Wizard.
In the Experience Wizard, choose a classifier and a state machine from the selected user’s files and name the experience. The window can also offer channel and band choices for a Select Channels node with Quick Config on. Create stays unavailable until a name, a classifier and a state machine are set, and until the classifier has an EEG device that supports the channels you chose. The new experience is saved in the user’s personal folder.
In 1.7.3: The Experience Wizard has no Channel display names group and no classifier parameter controls.
What Begin Session does
Section titled “What Begin Session does”- Studio applies the channels, switches to the first stage and resets the Engine.
- Studio loads the parameter values from the neuromore cloud. If this fails, the session does not start and Studio shows an error dialog.
- Session Control shows Preparing for the classifier’s Init Time. Pause and stop are disabled, so you can’t cancel at this point. The state machine is held.
- The session starts. Studio clears the data that output nodes collected during Init Time. File Writer nodes open their files. The stopwatch runs, and the points total appears if the classifier has Points nodes.
Init Time is the classifier attribute Init Time (s), from 0 to 30 seconds. The default is 0. Use it to let the signal chain settle before the session counts.
In 1.7.3: The state machine is not held during Init Time.
What blocks Begin Session
Section titled “What blocks Begin Session”Studio disables the button while any of these is true, and Session Control shows the message.
| Condition | Message | What to do |
|---|---|---|
| No classifier is loaded | “No design loaded” | Load a classifier. A state machine, a design and a visualization are optional. |
| You may not run the loaded classifier, state machine or design | “Insufficient permissions” | Load a file you have permission to run. |
| The classifier or state machine has an error | “A graph contains errors”, with the list of errors | Fix each error in the graph. |
| A device node has no streaming device | “Device not connected” and “A graph contains errors” | Connect the device and wait until it streams. If the message stays, use NMStudio > Reset Engine or load the classifier again. For a BrainFlow node, press Apply on the node. A Cyton node has no Apply button, see BrainFlow. See Biosensors. |
| A File Writer node is set to Never Overwrite and its file exists | “A graph contains errors”, listing “File already exists.” | Change the file name before each session. See Recording and export. |
A missing device and a file that exists are graph errors. Any graph error disables the button, unless your account type skips this check.
In 1.7.3: The device error clears by itself once the device streams, and an existing Never Overwrite file disables Begin Session right after a session ends.
These messages only warn. You can still start:
- “Device battery is almost empty”.
- “No patient selected.” This appears for accounts that run sessions for other users. Select the user first.
During a session
Section titled “During a session”Pause and Continue
Section titled “Pause and Continue”Click the pause button (tooltip “Pause the Session”). Click the continue button (tooltip “Continue with Session”) to resume.
Pause holds the training state:
- The stopwatch stops.
- The state machine stops.
- In the Experience window, playing audio and video hold their position and resume there. A video that the experience paused itself stays paused. The window dims and shows PAUSED.
- Points stop adding up.
- Session Time and the Elapsed Time output of Session Info repeat the same time.
- Auto Threshold stops learning. Its thresholds stay where they were, and it rebuilds its window after you resume.
- Integral and statistics nodes keep sending their last value.
Pause does not hold these:
- Live views. The Engine keeps processing, so signal windows stay live.
- Feedback. Feedback nodes keep sending values. Any value that doesn’t pass through a held node stays live. Ending the session stops feedback to the Chrome extension. Studio keeps sending values from feedback nodes with Send OSC Msgs on to visualizations while the classifier is loaded, and reports that the session is no longer running.
- Visualizations and the Chrome extension. Studio sends them no pause message and keeps reporting the session as running, so they carry on. They don’t show the PAUSED overlay.
- Recording. Nothing in the code stops File Writer or the data saved for upload during a pause, so expect them to include the paused time. To see when pauses happened, record the Paused output of a Session Info node.
- Automatic stops. A session can still stop by itself while paused.
- Start and stop times. The times sent to the neuromore cloud are clock times, so they include the pause. The stopwatch doesn’t.
In 1.7.3: Pause stops only the stopwatch and the Elapsed Time output of Session Info. The state machine, audio and video, points, Session Time, thresholds, integrals and statistics all carry on, and there is no PAUSED overlay. See What changed since 1.7.3.
Click the stop button (tooltip “End the Session”). It also works while paused. Studio then runs the steps under After a session.
If you close Studio during a session, it asks “A session is running. Do you really want to terminate it and close the program?” If you click Yes, Studio exits without running those steps. Use the stop button to keep the session’s results.
Automatic stops
Section titled “Automatic stops”| What happens | Session Control message | Details |
|---|---|---|
| A device disappears | “The session was stopped automatically because a device disappeared.” | Applies to any device, not only one the classifier uses. A device also counts as gone when it sends no data for its timeout: 5 seconds by default, 3 or 60 seconds on some devices. |
| The last visualization client disconnects | “The session was stopped automatically because the visualization stopped.” | Closing a game ends the session. The check runs whenever any Studio Server client disconnects. So with no visualization connected, another client disconnecting also stops the session, with the same message. With no such client, a session doesn’t stop this way. Clicking Disconnect in the Chrome extension doesn’t end a session. |
| The state machine reaches an End state | “The session has ended.” | See State machine reference. |
An automatic stop runs the same steps as the stop button. No built-in time limit ends a session. To end after a set time, make the state machine reach an End state, as Getting Started does.
What is locked
Section titled “What is locked”From Begin Session until the session stops:
- The menu bar is disabled, so you can’t open NMStudio > Settings or Windows > Layouts.
- Window headers are locked, so you can’t move, float or close windows.
- The Active BCI list, the layout list and the session user button are disabled.
While the session is running:
- The function keys don’t switch layouts.
- The Back-End File System window is disabled, so you can’t load a file.
- The Experience Selection window is disabled.
- You can’t edit graphs. Attributes are read-only, the Save and Align buttons are hidden, and Resync is disabled.
- The Test button for the impedance test is disabled in the Devices window. See Impedance and contact quality.
After a session
Section titled “After a session”When a session stops, by any route except closing Studio:
- Session Control shows why it stopped. The Engine pauses until the parameter values are saved.
- Studio saves the parameter values to the neuromore cloud.
- File Writer nodes close their files.
- Studio sends the session details to the neuromore cloud.
- If your account uploads physiological data, Studio saves the marked channels to its
Datafolder and uploads them in the background. - Begin Session is available again. Show Report appears when an upload finishes.
Show Report opens the web report for that session in your default browser. If no data was uploaded, the code doesn’t show the button.
If the session details can’t be sent, Studio doesn’t save data for upload, and Show Report doesn’t appear.
If saving the parameter values fails, Session Control shows “Parameter upload failed”. Those values may be lost. The code leaves the Engine paused on this path, so restart Studio before the next session.
Recording and export
Section titled “Recording and export”There are two separate routes. Use File Writer for a copy you keep and analyse yourself.
| File Writer node | Cloud upload | |
|---|---|---|
| What it records | The channels connected to the node | Feedback nodes with Upload on |
| Where it goes | The file you name, on this computer | The neuromore cloud, if your account uploads physiological data |
| Local copy | Stays until you delete it | Studio removes it from the Data folder after a successful upload |
| Format | CSV, CSV with timestamps, EDF+ | Studio’s own format |
| Default | Writes in every session once you set a file name | Off, because Upload is off by default |
Upload also shows on some other nodes, such as device nodes, but the session export reads it only on feedback nodes. For the location of the Data folder, see Local files and troubleshooting.
File Writer
Section titled “File Writer”Warning: The default Write Mode is Overwrite. A second session with the same file name replaces the first file. To keep every session, put
$starttimein the file name.
| Attribute | Values | Default |
|---|---|---|
| File | Path of the output file. $starttime becomes the session start time. On Windows, a leading ~ becomes your user folder. |
Empty |
| Format | CSV, CSV with timestamps, EDF+ | CSV |
| Write Mode | Never Overwrite, Overwrite | Overwrite |
| EDF+ Min. | Physical minimum, -10000 to -1 | -100 |
| EDF+ Max. | Physical maximum, 1 to 10000 | 100 |
File Writer writes only while the session runs, so data from Init Time isn’t in the file. With Never Overwrite, an existing file is a graph error that blocks Begin Session once Studio has checked the file, which happens when the classifier loads, when an attribute changes and when the Engine resets.
After a session, Studio does not check again until the next reset. Begin Session can stay enabled, and the new session then shows “File already exists.” and writes no data. Change the file name before each session.
In every format, all channels need the same sample rate. Otherwise the node shows “Input sample rates are incompatible.”, which is also a graph error that blocks Begin Session.
For EDF+:
- The limits are 512 Hz and 64 channels. Over either limit, the node shows “Cannot configure the file.” This error appears only after the session has started. The session keeps running, but the node writes no data.
- The unit in the file is uV.
- Values outside EDF+ Min. and EDF+ Max. are clipped to that range, so check the range against your signal.
- Studio writes whole seconds of data. The last partial second is not written.
To read a file back, use a File Reader node. It takes CSV, CSV with timestamps, and EDF(+) / BDF(+). See Nodes.
What leaves this computer
Section titled “What leaves this computer”neuromore Studio requires a neuromore account. You sign in when Studio starts, and there is no offline mode. You can create a free community account. Studio sends session details to the neuromore cloud when a session ends. Whether physiological data is uploaded depends on your account. See the Privacy Policy.
Commercial clients can have their own instance of the neuromore cloud, deployed in their own cloud account, and their own neuromore account. Contact neuromore or see the Platform page. On a commercial deployment, the data below goes to the client’s own instance, and no data leaves the client’s cloud.
| What | When | Contents |
|---|---|---|
| Session details | When a session ends | Account IDs, including the session user; classifier, state machine and design IDs and revisions; start and stop times |
| Parameter values | When a session ends | Cloud Output node values |
| Physiological data | After a session, if your account uploads it | Channels of feedback nodes with Upload on |
| Live values | While Studio runs | Feedback values to connected visualizations, feedback values to the Chrome extension while a session runs, and OSC Output values to Target Host/IP. See OSC. |
File Writer files stay on this computer. Studio does not upload them.
Caution: The WebSocket interface is an unauthenticated local protocol. Keep its port (4547 by default) firewalled and don’t expose it to untrusted networks.