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.22.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.22-py3-none-any.whl (106.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: weegit-0.0.22.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.22.tar.gz
Algorithm Hash digest
SHA256 da62877ac44f636049539e278d6bd5e82f3d565748741a4678188d839af4ab6a
MD5 e8c60fc1529f1fab709a8cf3f5f76fa5
BLAKE2b-256 ab00ce957e7129118bc9798594e8ca29d7ed902e7fef3da00d7ea2ece22f1e86

See more details on using hashes here.

File details

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

File metadata

  • Download URL: weegit-0.0.22-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.22-py3-none-any.whl
Algorithm Hash digest
SHA256 fbdc15ea8c3535640ce058de23091a89a12f1b286712927a6d8cb49de4044aa3
MD5 79c168f0a824ac35958d36c45d61a1b0
BLAKE2b-256 18b3b01816c2f5b08e91df1cc78c4ee41c5f43ea8824d5940bb60e22c8dea5c5

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