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.20.tar.gz (85.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.0.20-py3-none-any.whl (99.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: weegit-0.0.20.tar.gz
  • Upload date:
  • Size: 85.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.0.20.tar.gz
Algorithm Hash digest
SHA256 49f17b5b697ca5c6a103fa7576df4c5622c0e6c23d7b16d89df20ec95b8a545e
MD5 1a3fd1c655d09451b9879875762a63df
BLAKE2b-256 3c67360330e44736ad06896c3738f08dded2c405d26b3ec85fb4adc8db48328d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: weegit-0.0.20-py3-none-any.whl
  • Upload date:
  • Size: 99.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.0.20-py3-none-any.whl
Algorithm Hash digest
SHA256 367533f036e722cf0784f3fc9ec446c6b570d19ed78e564c2bc282d8ab65688b
MD5 74f082133d3904bff72ce2f959c51066
BLAKE2b-256 50a38cbb1f61420e1f0b3668f15fc9fc3aa6ee192d1b8b0d832415db93b352e8

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