Skip to content
Ability

DocsCode Samples

Code Samples

Confirm Ability is installed, then run a short session: prepare, start, read, stop. Samples below use the same flow in each language.

Python

To run some of the samples below you may also want matplotlib and pandas.

Python Get Data from a Board

Python Get Data from a Board uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

import time
import ability as ab

def main():
    session = ab.Session(device_id=0)
    session.prepare()
    session.start()
    time.sleep(8)
    data = session.read()
    session.stop()
    print(data.shape)

if __name__ == "__main__":
    main()

Python Markers

Python Markers uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session.start()
for tick in range(6):
    time.sleep(1)
    session.insert_marker(tick + 1)
data = session.read()
session.stop()

Python Read Write File

Python Read Write File uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

ab.write_file(data, "trial.csv")
restored = ab.read_file("trial.csv")
print(restored.shape)

Python Downsample Data

Python Downsample Data uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

small = ab.downsample(data, factor=4)

Python Transforms

Python Transforms uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

spec = ab.wavelet(data[0], wavelet="db4")

Python Signal Filtering

Python Signal Filtering uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

filtered = ab.bandpass(data, sampling_rate=250, low=1.0, high=50.0)

Python Denoising

Python Denoising uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

quiet = ab.denoise(filtered, method="wavelet")

Python MNE Integration

Python MNE Integration uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

raw = ab.to_mne(data, sampling_rate=250, ch_names=session.channel_names())
raw.filter(1.0, 40.0)

Python Band Power

Python Band Power uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

bands = ab.band_power(data, sampling_rate=250)

Python EEG Metrics

Python EEG Metrics uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

metrics = ab.eeg_metrics(data, sampling_rate=250)

Python ICA

Python ICA uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

sources = ab.ica(data, n_components=4)

Python Real Time Plot

Python Real Time Plot uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

while session.is_running():
    block = session.read(n_samples=64)
    ab.plot_live(block)

Java

Java uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Java Get Data from a Board

Java Get Data from a Board uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Session session = new Session(0);
session.prepare();
session.start();
double[][] data = session.read(256);
session.stop();

Java Markers

Java Markers uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session.insertMarker(1);

Java Read Write File

Java Read Write File uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

DataFilter.writeFile(data, "trial.csv");

Java Downsample Data

Java Downsample Data uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Session session = new Session(0);
session.prepare();
session.start();
double[][] data = session.read(256);
session.stop();

Java Transforms

Java Transforms uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Session session = new Session(0);
session.prepare();
session.start();
double[][] data = session.read(256);
session.stop();

Java Signal Filtering

Java Signal Filtering uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

double[][] filtered = DataFilter.bandpass(data, 250.0, 1.0, 50.0);

Java Denoising

Java Denoising uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Session session = new Session(0);
session.prepare();
session.start();
double[][] data = session.read(256);
session.stop();

Java Band Power

Java Band Power uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Session session = new Session(0);
session.prepare();
session.start();
double[][] data = session.read(256);
session.stop();

Java EEG Metrics

Java EEG Metrics uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Session session = new Session(0);
session.prepare();
session.start();
double[][] data = session.read(256);
session.stop();

Java ICA

Java ICA uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Session session = new Session(0);
session.prepare();
session.start();
double[][] data = session.read(256);
session.stop();

C#

C# uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

C# Read Data from a Board

C# Read Data from a Board uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

var session = new Session(0);
session.Prepare();
session.Start();
var data = session.Read(256);
session.Stop();

C# Markers

C# Markers uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session.InsertMarker(1);

C# Read Write File

C# Read Write File uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

var session = new Session(0);
session.Prepare();
session.Start();
var data = session.Read(256);
session.Stop();

C# Downsample Data

C# Downsample Data uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

var session = new Session(0);
session.Prepare();
session.Start();
var data = session.Read(256);
session.Stop();

C# Transforms

C# Transforms uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

var session = new Session(0);
session.Prepare();
session.Start();
var data = session.Read(256);
session.Stop();

C# Signal Filtering

C# Signal Filtering uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

var session = new Session(0);
session.Prepare();
session.Start();
var data = session.Read(256);
session.Stop();

C# Denoising

C# Denoising uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

var session = new Session(0);
session.Prepare();
session.Start();
var data = session.Read(256);
session.Stop();

C# Band Power

C# Band Power uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

var session = new Session(0);
session.Prepare();
session.Start();
var data = session.Read(256);
session.Stop();

C# EEG Metrics

C# EEG Metrics uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

var session = new Session(0);
session.Prepare();
session.Start();
var data = session.Read(256);
session.Stop();

C# ICA

C# ICA uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

var session = new Session(0);
session.Prepare();
session.Start();
var data = session.Read(256);
session.Stop();

C++

C++ uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

CMake File Example

CMake File Example uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

cmake_minimum_required(VERSION 3.16)
project(ability_sample)
find_package(Ability REQUIRED)
add_executable(sample main.cpp)
target_link_libraries(sample Ability::ability)

C++ Read Data from a Board

C++ Read Data from a Board uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

ability::Session session(0);
session.prepare();
session.start();
auto data = session.read(256);
session.stop();

C++ Markers

C++ Markers uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

ability::Session session(0);
session.prepare();
session.start();
auto data = session.read(256);
session.stop();

C++ Read Write File

C++ Read Write File uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

ability::Session session(0);
session.prepare();
session.start();
auto data = session.read(256);
session.stop();

C++ Downsample Data

C++ Downsample Data uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

ability::Session session(0);
session.prepare();
session.start();
auto data = session.read(256);
session.stop();

C++ Transforms

C++ Transforms uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

ability::Session session(0);
session.prepare();
session.start();
auto data = session.read(256);
session.stop();

C++ Signal Filtering

C++ Signal Filtering uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

ability::Session session(0);
session.prepare();
session.start();
auto data = session.read(256);
session.stop();

C++ Denoising

C++ Denoising uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

ability::Session session(0);
session.prepare();
session.start();
auto data = session.read(256);
session.stop();

C++ Band Power

C++ Band Power uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

ability::Session session(0);
session.prepare();
session.start();
auto data = session.read(256);
session.stop();

C++ EEG Metrics

C++ EEG Metrics uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

ability::Session session(0);
session.prepare();
session.start();
auto data = session.read(256);
session.stop();

C++ ICA

C++ ICA uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

ability::Session session(0);
session.prepare();
session.start();
auto data = session.read(256);
session.stop();

R

R uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

R Get Data from a Board

R Get Data from a Board uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session <- ability::session(0)
ability::prepare(session)
ability::start(session)
data <- ability::read(session, 256L)
ability::stop(session)

R Read Write File

R Read Write File uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session <- ability::session(0)
ability::prepare(session)
ability::start(session)
data <- ability::read(session, 256L)
ability::stop(session)

R Transforms

R Transforms uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session <- ability::session(0)
ability::prepare(session)
ability::start(session)
data <- ability::read(session, 256L)
ability::stop(session)

R Signal Filtering

R Signal Filtering uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session <- ability::session(0)
ability::prepare(session)
ability::start(session)
data <- ability::read(session, 256L)
ability::stop(session)

R Denoising

R Denoising uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session <- ability::session(0)
ability::prepare(session)
ability::start(session)
data <- ability::read(session, 256L)
ability::stop(session)

R Band Power

R Band Power uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session <- ability::session(0)
ability::prepare(session)
ability::start(session)
data <- ability::read(session, 256L)
ability::stop(session)

R EEG Metrics

R EEG Metrics uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session <- ability::session(0)
ability::prepare(session)
ability::start(session)
data <- ability::read(session, 256L)
ability::stop(session)

R ICA

R ICA uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session <- ability::session(0)
ability::prepare(session)
ability::start(session)
data <- ability::read(session, 256L)
ability::stop(session)

Matlab

Matlab uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Matlab Get Data from a Board

Matlab Get Data from a Board uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session = ability.Session(0);
session.prepare();
session.start();
data = session.read(256);
session.stop();

Matlab Markers

Matlab Markers uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session = ability.Session(0);
session.prepare();
session.start();
data = session.read(256);
session.stop();

Matlab Read Write File

Matlab Read Write File uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session = ability.Session(0);
session.prepare();
session.start();
data = session.read(256);
session.stop();

Matlab Transforms

Matlab Transforms uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session = ability.Session(0);
session.prepare();
session.start();
data = session.read(256);
session.stop();

Matlab Signal Filtering

Matlab Signal Filtering uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session = ability.Session(0);
session.prepare();
session.start();
data = session.read(256);
session.stop();

Matlab Denoising

Matlab Denoising uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session = ability.Session(0);
session.prepare();
session.start();
data = session.read(256);
session.stop();

Matlab Band Power

Matlab Band Power uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session = ability.Session(0);
session.prepare();
session.start();
data = session.read(256);
session.stop();

Matlab EEG Metrics

Matlab EEG Metrics uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session = ability.Session(0);
session.prepare();
session.start();
data = session.read(256);
session.stop();

Matlab ICA

Matlab ICA uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session = ability.Session(0);
session.prepare();
session.start();
data = session.read(256);
session.stop();

Julia

Julia uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Julia Get Data from a Board

Julia Get Data from a Board uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session = Ability.Session(0)
Ability.prepare(session)
Ability.start(session)
data = Ability.read(session, 256)
Ability.stop(session)

Julia Markers

Julia Markers uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session = Ability.Session(0)
Ability.prepare(session)
Ability.start(session)
data = Ability.read(session, 256)
Ability.stop(session)

Julia Read Write File

Julia Read Write File uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session = Ability.Session(0)
Ability.prepare(session)
Ability.start(session)
data = Ability.read(session, 256)
Ability.stop(session)

Julia Transforms

Julia Transforms uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session = Ability.Session(0)
Ability.prepare(session)
Ability.start(session)
data = Ability.read(session, 256)
Ability.stop(session)

Julia Signal Filtering

Julia Signal Filtering uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session = Ability.Session(0)
Ability.prepare(session)
Ability.start(session)
data = Ability.read(session, 256)
Ability.stop(session)

Julia Denoising

Julia Denoising uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session = Ability.Session(0)
Ability.prepare(session)
Ability.start(session)
data = Ability.read(session, 256)
Ability.stop(session)

Julia Band Power

Julia Band Power uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session = Ability.Session(0)
Ability.prepare(session)
Ability.start(session)
data = Ability.read(session, 256)
Ability.stop(session)

Julia EEG Metrics

Julia EEG Metrics uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session = Ability.Session(0)
Ability.prepare(session)
Ability.start(session)
data = Ability.read(session, 256)
Ability.stop(session)

Julia ICA

Julia ICA uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

session = Ability.Session(0)
Ability.prepare(session)
Ability.start(session)
data = Ability.read(session, 256)
Ability.stop(session)

Rust

Rust uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Rust Get Data from a Board

Rust Get Data from a Board uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

let mut session = ability::Session::new(0)?;
session.prepare()?;
session.start()?;
let data = session.read(256)?;
session.stop()?;

Rust Markers

Rust Markers uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

let mut session = ability::Session::new(0)?;
session.prepare()?;
session.start()?;
let data = session.read(256)?;
session.stop()?;

Rust Read Write File

Rust Read Write File uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

let mut session = ability::Session::new(0)?;
session.prepare()?;
session.start()?;
let data = session.read(256)?;
session.stop()?;

Rust Transforms

Rust Transforms uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

let mut session = ability::Session::new(0)?;
session.prepare()?;
session.start()?;
let data = session.read(256)?;
session.stop()?;

Rust Signal Filtering

Rust Signal Filtering uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

let mut session = ability::Session::new(0)?;
session.prepare()?;
session.start()?;
let data = session.read(256)?;
session.stop()?;

Rust Denoising

Rust Denoising uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

let mut session = ability::Session::new(0)?;
session.prepare()?;
session.start()?;
let data = session.read(256)?;
session.stop()?;

Rust Band Power

Rust Band Power uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

let mut session = ability::Session::new(0)?;
session.prepare()?;
session.start()?;
let data = session.read(256)?;
session.stop()?;

Rust EEG Metrics

Rust EEG Metrics uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

let mut session = ability::Session::new(0)?;
session.prepare()?;
session.start()?;
let data = session.read(256)?;
session.stop()?;

Rust ICA

Rust ICA uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

let mut session = ability::Session::new(0)?;
session.prepare()?;
session.start()?;
let data = session.read(256)?;
session.stop()?;

Typescript

Typescript uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Typescript Get Data from a Board

Typescript Get Data from a Board uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

const session = new Session(0);
await session.prepare();
await session.start();
const data = await session.read(256);
await session.stop();

Typescript Markers

Typescript Markers uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

const session = new Session(0);
await session.prepare();
await session.start();
const data = await session.read(256);
await session.stop();

Typescript Read Write File

Typescript Read Write File uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

const session = new Session(0);
await session.prepare();
await session.start();
const data = await session.read(256);
await session.stop();

Typescript Downsample Data

Typescript Downsample Data uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

const session = new Session(0);
await session.prepare();
await session.start();
const data = await session.read(256);
await session.stop();

Typescript Transforms

Typescript Transforms uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

const session = new Session(0);
await session.prepare();
await session.start();
const data = await session.read(256);
await session.stop();

Typescript Signal Filtering

Typescript Signal Filtering uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

const session = new Session(0);
await session.prepare();
await session.start();
const data = await session.read(256);
await session.stop();

Typescript Denoising

Typescript Denoising uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

const session = new Session(0);
await session.prepare();
await session.start();
const data = await session.read(256);
await session.stop();

Typescript Band Power

Typescript Band Power uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

const session = new Session(0);
await session.prepare();
await session.start();
const data = await session.read(256);
await session.stop();

Typescript EEG Metrics

Typescript EEG Metrics uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

const session = new Session(0);
await session.prepare();
await session.start();
const data = await session.read(256);
await session.stop();

Typescript ICA

Typescript ICA uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

const session = new Session(0);
await session.prepare();
await session.start();
const data = await session.read(256);
await session.stop();

Swift

Swift uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Swift Get Data from a Board

Swift Get Data from a Board uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

let session = Session(deviceId: 0)
try session.prepare()
try session.start()
let data = try session.read(256)
try session.stop()

Swift Markers

Swift Markers uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

let session = Session(deviceId: 0)
try session.prepare()
try session.start()
let data = try session.read(256)
try session.stop()

Swift Read Write File

Swift Read Write File uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

let session = Session(deviceId: 0)
try session.prepare()
try session.start()
let data = try session.read(256)
try session.stop()

Swift Downsample Data

Swift Downsample Data uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

let session = Session(deviceId: 0)
try session.prepare()
try session.start()
let data = try session.read(256)
try session.stop()

Swift Transforms

Swift Transforms uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

let session = Session(deviceId: 0)
try session.prepare()
try session.start()
let data = try session.read(256)
try session.stop()

Swift Signal Filtering

Swift Signal Filtering uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

let session = Session(deviceId: 0)
try session.prepare()
try session.start()
let data = try session.read(256)
try session.stop()

Swift Denoising

Swift Denoising uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

let session = Session(deviceId: 0)
try session.prepare()
try session.start()
let data = try session.read(256)
try session.stop()

Swift Band Power

Swift Band Power uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

let session = Session(deviceId: 0)
try session.prepare()
try session.start()
let data = try session.read(256)
try session.stop()

Swift EEG Metrics

Swift EEG Metrics uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

let session = Session(deviceId: 0)
try session.prepare()
try session.start()
let data = try session.read(256)
try session.stop()

Swift ICA

Swift ICA uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

let session = Session(deviceId: 0)
try session.prepare()
try session.start()
let data = try session.read(256)
try session.stop()