Skip to main content

Weegit - electrophysiology marking application

Project description

Weegit

PyPI Downloads PyPI - Python Version

Introduction

Weegit is a cross-platform desktop application for viewing and labeling electrophysiology data (EEG, patch-clamp, multielectrode recordings, and similar signals).
It supports Windows, macOS, and Linux.

Weegit stores data in its own folder layout:

$EXPERIMENT_weegit
├── header.json
├── data
│   ├── sweep_00000
│   │   ├── 0.wsd
│   │   ├── ...
├── sessions
│   ├── $SESSION_NAME.json
├── add_ons
│   ├── data
│   │   ├── $ADD_ON_MODULE_NAME

Run GUI

weegit

Main Features

  • Open and switch Weegit experiments/sessions.
  • View traces with per-group and per-channel configuration.
  • Navigate time windows and sweeps.
  • Add, remove, and label events and periods.
  • Manage event/period vocabularies (name + color).
  • Apply channel-group filters (low/high/band-pass, notch, etc.).
  • Install/update/uninstall add-ons and run runnable add-ons.
  • Export screenshots to PNG/SVG (save to file or copy to clipboard).

Right Panel Forms

Signal Settings

Time Settings

  • Current sweep
  • Start point index
  • Duration (ms)
  • Time step (ms)
  • Auto-scroll interval (ms)
  • Number of dots

Channel Management

  • Channels mapping image:
    • Attach link
    • Attach file
  • Create channel group
  • Set units (opens channel units dialog)

Per Channel Group

  • Name
  • View
  • Group height ratio
  • Number to show (for non-auxiliary groups)
  • Auxiliary channels
  • Group filters:
    • filter selector
    • filter params (Cutoff, Low cut, High cut, Order, Ripple, Notch, Q factor, Enabled)
    • Disable all
  • Group common style (for non-auxiliary groups):
    • Scale
    • Y offset
    • Color
  • Group actions:
    • Reorder
    • Enable all
    • Disable all
    • Move selected to + target group + Move
  • Per channel row:
    • enabled checkbox
    • channel label
    • Info field (for example, channel area)
    • for auxiliary groups: per-channel Scale, Y, Color

Information

  • One large text field: Experiment description.

Logs

  • Real-time app logs list.
  • Filter by log level: ALL, DEBUG, INFO, WARNING, ERROR, CRITICAL.
  • Clear button.

Add-ons

For each add-on module:

  • View checkbox
  • Transform checkbox
  • Run button

Popup Dialogs and Fields

File and Session

  • Convert to Weegit:
    • detected source type
    • for RHS: optional Group all RHS files into one sweep
    • conversion confirmation
  • Session Name:
    • Enter unique session name
  • Select session:
    • sessions list
    • OK/Cancel

Labeling and Vocabulary

  • Events dialog (event vocabulary manager):
    • table columns: ID, Name, Color, Num in sweep, Num in sweeps
    • buttons: Add, Remove, Select
    • rename in-place by editing Name
    • color pick on Color double-click
  • Periods dialog (period vocabulary manager):
    • table columns: ID, Name, Color
    • buttons: Add, Remove, Select
    • rename in-place by editing Name
    • color pick on Color double-click

Channel Configuration

  • Header units management:
    • table: Index, Channel, Units
    • bulk action: Selected rows unit + Set
    • buttons: Save changes, Cancel
  • Reorder channels:
    • drag-and-drop list
    • manual input format: 1,10,12,14-18,20
    • Reorder, Cancel
  • Channels mapping preview:
    • opens image preview for attached mapping image.

Add-ons

  • Add-ons (index manager):
    • left list with install state + name
    • metadata on right: Module name, Version, Description, Author, Keywords, Links
    • actions: Install/Uninstall, Update
  • Create add-on template (Add-ons > Create):
    • [project] name
    • [project] description
    • authors rows (name, email)
    • feature flags: viewable, transformation, runnable
    • output is generated to ./add_on_development
  • Generate Python script (Add-ons > Generate script):
    • Weegit folder
    • Session name
    • Output script
    • Include events block
    • Include periods block

Export

  • Screenshot options:
    • Image format (png / svg)
    • Copy to clipboard or Save as file

Developers

Convert source data to Weegit format

from pathlib import Path
from weegit.converter.weegit_io import WeegitIO

path_to_parent = Path("/path/to/parent/dir")
exp_name = "20252222"
exp_dir = path_to_parent / exp_name
out_weegit_folder = path_to_parent / f"{exp_name}_weegit"

for progress in WeegitIO.convert_from_source_to_weegit(exp_dir):
    print(f"\rProgress: {progress}%", end="", flush=True)

print("Created:", out_weegit_folder)

Supported import formats include old Weegit and Intan RHS (XDAQ).

Create add-ons from GUI

  1. Open Weegit.
  2. Go to Add-ons > Create.
  3. Fill:
    • project metadata (name, description, authors)
    • capability flags (viewable, transformation, runnable)
  4. Click Generate template.
  5. Implement add-on logic in generated add_on_development/example.py.
  6. Add metadata/entry point in generated add_on_development/pyproject.toml.

Generate a script with current Weegit API

  1. Go to Add-ons > Generate script.
  2. Fill:
    • Weegit folder (*_weegit)
    • Session name (without .json)
    • output .py file path
    • optional blocks (events, periods)
  3. Run generated script with the same Python environment where Weegit is installed.

Generated script demonstrates:

  • loading experiment data through WeegitSessionManager
  • reading raw channel slices from data_memmaps[sweep_idx][channel_idx]
  • conversion to voltage values via from_int16_to_voltage_val(...)
  • loading a GUI session via UserSession.session_name_to_filename(...)
  • iterating events through session.user_session.events_table
  • iterating periods through session.user_session.periods

License

The code and data files in this distribution are licensed under the terms of GNU General Public License v3, as published by the Free Software Foundation.
See GNU licenses.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

weegit-0.1.4.tar.gz (122.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

weegit-0.1.4-py3-none-any.whl (140.2 kB view details)

Uploaded Python 3

File details

Details for the file weegit-0.1.4.tar.gz.

File metadata

  • Download URL: weegit-0.1.4.tar.gz
  • Upload date:
  • Size: 122.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.12

File hashes

Hashes for weegit-0.1.4.tar.gz
Algorithm Hash digest
SHA256 fb55a678de20098f9681136949a5b4cdba458f90d4ab4d97c47e59ebdb87c0b5
MD5 d956c4c373c0337606fa31c1438f659a
BLAKE2b-256 69aa416ed1d8b03c1e660b45dbe38297f4753ce728c0ae5999ce4d4907567168

See more details on using hashes here.

File details

Details for the file weegit-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: weegit-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 140.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.12

File hashes

Hashes for weegit-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 268c4d91c30ad63a25f5c1ed60864ab8c5bb8aa9c24bae5a8d85cd0b1809969b
MD5 0012ac48115907a7fdd93939c6cdb572
BLAKE2b-256 e72151c1c85c1ff3376d943ae0aa6fc039b9a3e54279218fe0f39b9e6ccd642e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page