apps, analysis, indicators
apps, analysis, indicators

map stimulation in real-time

see changes over hours


compare minute to minute
sdk tools for analysis
sdk tools for analysis
//coming soon & specification import Foundation /// One raw sample at time t (Hz = samplingRate) public struct NIRSSample: Sendable { public let t: TimeInterval // seconds from session start public let hbo: Double? public let hbr: Double? public let hbt: Double? public let heartRate: Double? public let hboRelVelocity: Double? public let stimulation: Double? public init(t: TimeInterval, hbo: Double?, hbr: Double?, hbt: Double?, heartRate: Double?, hboRelVelocity: Double?, stimulation: Double?) { self.t = t; self.hbo = hbo; self.hbr = hbr; self.hbt = hbt; self.heartRate = heartRate; self.hboRelVelocity = hboRelVelocity; self.stimultion = stimulation; } } public struct WindowFeatures: Sendable { public let vector: [Double] // feature vector for the window (order matches extractor) public let startT: TimeInterval public let endT: TimeInterval } public enum LikelihoodState: String, Sendable { case low, medium, high } public struct LikelihoodResult: Sendable { public let window: WindowFeatures /// Probability that the state == nback3/high-load (0...1) public let probHighLoad: Double public let state: LikelihoodState } public enum MicroEventKind: String, Sendable { case blink, smile } public struct MicroEvent: Sendable { public let kind: MicroEventKind public let t: TimeInterval public let confidence: Double // 0...1 }
//coming soon & specification import Foundation /// One raw sample at time t (Hz = samplingRate) public struct NIRSSample: Sendable { public let t: TimeInterval // seconds from session start public let hbo: Double? public let hbr: Double? public let hbt: Double? public let heartRate: Double? public let hboRelVelocity: Double? public let stimulation: Double? public init(t: TimeInterval, hbo: Double?, hbr: Double?, hbt: Double?, heartRate: Double?, hboRelVelocity: Double?, stimulation: Double?) { self.t = t; self.hbo = hbo; self.hbr = hbr; self.hbt = hbt; self.heartRate = heartRate; self.hboRelVelocity = hboRelVelocity; self.stimultion = stimulation; } } public struct WindowFeatures: Sendable { public let vector: [Double] // feature vector for the window (order matches extractor) public let startT: TimeInterval public let endT: TimeInterval } public enum LikelihoodState: String, Sendable { case low, medium, high } public struct LikelihoodResult: Sendable { public let window: WindowFeatures /// Probability that the state == nback3/high-load (0...1) public let probHighLoad: Double public let state: LikelihoodState } public enum MicroEventKind: String, Sendable { case blink, smile } public struct MicroEvent: Sendable { public let kind: MicroEventKind public let t: TimeInterval public let confidence: Double // 0...1 }
//coming soon & specification import Foundation /// One raw sample at time t (Hz = samplingRate) public struct NIRSSample: Sendable { public let t: TimeInterval // seconds from session start public let hbo: Double? public let hbr: Double? public let hbt: Double? public let heartRate: Double? public let hboRelVelocity: Double? public let stimulation: Double? public init(t: TimeInterval, hbo: Double?, hbr: Double?, hbt: Double?, heartRate: Double?, hboRelVelocity: Double?, stimulation: Double?) { self.t = t; self.hbo = hbo; self.hbr = hbr; self.hbt = hbt; self.heartRate = heartRate; self.hboRelVelocity = hboRelVelocity; self.stimultion = stimulation; } } public struct WindowFeatures: Sendable { public let vector: [Double] // feature vector for the window (order matches extractor) public let startT: TimeInterval public let endT: TimeInterval } public enum LikelihoodState: String, Sendable { case low, medium, high } public struct LikelihoodResult: Sendable { public let window: WindowFeatures /// Probability that the state == nback3/high-load (0...1) public let probHighLoad: Double public let state: LikelihoodState } public enum MicroEventKind: String, Sendable { case blink, smile } public struct MicroEvent: Sendable { public let kind: MicroEventKind public let t: TimeInterval public let confidence: Double // 0...1 }
Interested in working together?
Copyright © 2025 Blueberryˣ