Package 'PhysioEcosystem'

Title: Unified Entry Point for the Physio Ecosystem (Meta-Package)
Description: A meta-package for the Physio ecosystem: attaching it loads and re-exports the public API of the foundation and the core analysis packages (PhysioExperiment shared data model, PhysioIO file/database I/O, PhysioPreprocess signal preprocessing, and PhysioAnalysis time-frequency/connectivity/network/statistics/visualization), so existing code that used the former monolithic 'PhysioExperiment' meta-package keeps working. It also provides the GUI/REST launchers. Domain packages (EEG, ECG, EMG, EDA, MoCap, cross-modal, MSK-Net, OpenSim, clinical) are installed separately from the same ecosystem.
Authors: Yusuke Matsui [aut, cre]
Maintainer: Yusuke Matsui <[email protected]>
License: MIT + file LICENSE
Version: 1.0.1
Built: 2026-10-03 14:09:47 UTC
Source: https://github.com/x-biosignal/PhysioEcosystem

Help Index


Check GUI Dependencies

Description

Checks if all required dependencies for the GUI are available.

Usage

checkGUIDependencies()

Value

A list with the status of each dependency.

Examples

# Report which GUI/REST back ends are available in this session:
checkGUIDependencies()

Launch PhysioExperiment GUI

Description

Starts the PhysioExperiment graphical user interface. This launches a local web server with the Plumber API backend and opens the React-based GUI in either a browser or Electron desktop application.

Usage

launchGUI(
  port = 8000L,
  host = "127.0.0.1",
  desktop = FALSE,
  browser = TRUE,
  quiet = FALSE
)

Arguments

port

Integer. Port number for the API server. Default is 8000.

host

Character. Host address to bind to. Default is "127.0.0.1" for local access only. Use "0.0.0.0" to allow external access.

desktop

Logical. If TRUE, attempts to launch the Electron desktop application. If FALSE (default), opens in the default web browser.

browser

Logical. If TRUE (default), automatically opens the GUI in the browser. Set to FALSE to start only the API server.

quiet

Logical. If TRUE, suppresses startup messages. Default is FALSE.

Details

The GUI provides a modern, responsive interface for:

  • Data import and management (EDF, BDF, BrainVision, HDF5, CSV)

  • Signal visualization with multi-channel display

  • Preprocessing (filtering, referencing, resampling)

  • Time-frequency analysis (spectrograms, wavelets)

  • Connectivity analysis (coherence, PLV, PLI)

  • Statistical testing (t-test, ANOVA, cluster permutation)

  • Workflow building for batch processing

The GUI communicates with R through a REST API built on plumber. All computations are performed in R using the PhysioExperiment package.

Value

Invisibly returns the plumber object. The function blocks while the server is running unless run in background mode.

Desktop Mode

Desktop mode requires Electron to be installed. The Electron application provides native file access and a more integrated desktop experience. If Electron is not available, the function falls back to browser mode.

Requirements

The following packages are required and will be loaded automatically:

  • plumber - for the REST API server

  • jsonlite - for JSON serialization

Examples

# Check that the GUI/REST prerequisites are installed before launching:
checkGUIDependencies()

## Not run: 
# Launch GUI in browser
launchGUI()

# Launch on a different port
launchGUI(port = 3000)

# Start API server without opening browser
launchGUI(browser = FALSE)

# Launch in desktop mode (requires Electron)
launchGUI(desktop = TRUE)

## End(Not run)

Start PhysioExperiment API Server (Non-blocking)

Description

Starts the API server in the background, allowing R to remain interactive. This is useful for development and testing.

Usage

startAPIServer(port = 8000L, host = "127.0.0.1", quiet = FALSE)

Arguments

port

Integer. Port number for the API server.

host

Character. Host address to bind to.

quiet

Logical. Suppress startup messages.

Value

A plumber background process handle that can be used to stop the server with ⁠$kill()⁠.

Examples

# The background REST server needs the plumber and callr packages:
checkGUIDependencies()

## Not run: 
# Start server in background
server <- startAPIServer()

# Do other work...

# Stop server
server$kill()

## End(Not run)