Skip to main content

Weegit - electrophysiology marking application

Project description

Weegit

PyPI Downloads PyPI - Python Version

Introduction

Weegit is a cross-platform application for electrophysiology marking. Works with Windows/Mac/Linux.

It uses specific filesystem architecture that is maintained by the application.

$EXPERIMENT_weegit
├── header.json
├── lfp
│   ├── $CH_IDX.lfp
├── sessions
│   ├── $SESSION_NAME.json

Weegit GUI

Run weegit through terminal to start GUI.

$ weegit

Developers

Weegit has a convenient interface to work with its data.

Convert your experiment data to weegit format

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

PATH_TO_EXP_PARENT_DIR = Path("/path/to/parent/dir/")
EXP_NAME = "20252222"
EXP_DIR = PATH_TO_EXP_PARENT_DIR / EXP_NAME
OUT_WEEGIT_FOLDER = PATH_TO_EXP_PARENT_DIR / (EXP_NAME + "_weegit")
for progress in WeegitIO.convert_from_source_to_weegit(EXP_DIR):
    print(f"\rProgress: {progress}%", end='', flush=True)

print(list(OUT_WEEGIT_FOLDER.glob("*")))

Note: This requires separate $EXPERIMENT folder. Current supported formats are: old Weegit, rhs (XDAQ)

Work with the weegit data

from pathlib import Path
from weegit.core.weegit_session import WeegitSessionManager, UserSession

# Init session
session = WeegitSessionManager()
session.init_from_folder(Path(OUT_WEEGIT_FOLDER))

# Work with data
print(session.experiment_data.header)
sweep_idx, start_point, end_point = 0, 0, 10_000
for ch_idx in range(session.experiment_data.header.number_of_channels):
    channel_data = session.experiment_data.data_memmaps[ch_idx][sweep_idx][start_point:end_point]
    print(f"Channel {session.experiment_data.header.channel_info.name[ch_idx]} max voltage val: ",
          max(session.experiment_data.from_int16_to_voltage_val(channel_data, ch_idx)))

# Work with GUI session
session_filename = UserSession.session_name_to_filename("your_session")
session.switch_sessions(session_filename)
print(session.current_user_session.gui_setup)

# Work with events
for event in session.user_session.events_table:
    # skip events in period
    if "PERIOD_NAME" in event.periods:
        continue

# Work with spikes
for sweep_idx, spikes in session.user_session.cached_spikes.items():
    print("Sweep", sweep_idx, "spikes:", spikes)

License

The code and data files in this distribution are licensed under the terms of the GNU General Public License version 3 as published by the Free Software Foundation. See https://www.gnu.org/licenses/ for a copy of this license.

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.0.23.tar.gz (91.9 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.0.23-py3-none-any.whl (106.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for weegit-0.0.23.tar.gz
Algorithm Hash digest
SHA256 69118f8d61fd3ae365e673a5827ec79397d1bc5ad1658876e3ae0acb986b712d
MD5 220e8e354f2d89419e8f05ff63383d94
BLAKE2b-256 d56687a8f82ada527e64e5ffcf3c1573f00dbbc9ddeecb56932b594a06f78d84

See more details on using hashes here.

File details

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

File metadata

  • Download URL: weegit-0.0.23-py3-none-any.whl
  • Upload date:
  • Size: 106.7 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.0.23-py3-none-any.whl
Algorithm Hash digest
SHA256 d6c6d4f9b09cc4ed5318b6063c6d26556f7885b4e158dd7e87271ecccab8a2ff
MD5 c26a5f85064e31f17ed0e415658bb833
BLAKE2b-256 5124dcb240fd062c0359b1332d292144962d00be367df45c8add932f9eb2ba4f

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