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.1.tar.gz (119.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.1-py3-none-any.whl (137.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: weegit-0.1.1.tar.gz
  • Upload date:
  • Size: 119.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.1.tar.gz
Algorithm Hash digest
SHA256 ec3ece1529488d2f21b8c7b2d5b79b34decf5fd6e7514dcefe674c609efaf0a8
MD5 8c98c947ff8bbab4556beeeebdf2748d
BLAKE2b-256 c10d14cc3458365c29ca5cb61e983dcb46ebcf764a826bc723542f8359a3b697

See more details on using hashes here.

File details

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

File metadata

  • Download URL: weegit-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 137.6 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5a106a90156e0635ce4b54f4c8a476709527dda36eb1896192e1f87c16c456b1
MD5 26e7f68be9f45fad0e7caa860412e14b
BLAKE2b-256 1c717af10161c4063f65216a2c4155fc143512e077c97ce275ed6c76c5f7d10e

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