Python library for generating sequences with uniform stimulus history

Overview

Sampling Euler tours for uniform stimulus history

Table of Contents

About

This is a Python library that implements the methods described in the article Controlling precedence in sequential stimulus presentation with Euler tours. It contains two files:

  1. euler.py: contains all functionality for generating sequences of stimuli. Add this file to your working directory and import it using import euler to use the library.
  2. sequence.py: contains examples of generating sequences of stimuli for various experimental parameters. Run it by calling python sequence.py on the command line.

Examples

The file sequence.py contains a number of examples on how to use the library to generate sequences for various experimental parameters. These example experiment setups and corresponding generated sequences are included below.

Experiment 1

Generate sequence for four stimuli with each pair occurring once, including repeated stimuli. These are the default settings, so no need to specify any parameters for this experiment.

Input:

experiment = euler.Euler()
print(experiment.get_sequence())

Output:

['3', '0', '0', '1', '2', '1', '3', '1', '1', '0', '2', '3', '3', '2', '2', '0', '3']

Experiment 2

Generate sequence for 3 stimuli without same-stimulus pairs, and with catch trials occurring on average every 1/4 stims. Force the sequence to start at stimulus 0.

Input:

experiment = euler.Euler(stimuli=3, catch_frequency=0.25, stim_repeat=False)
print(experiment.get_sequence(0))

Output:

['0', '2', '1', '0', 'C', '0', '1', 'C', '1', '2', 'C', '2', '0']

Experiment 3

Generate sequence with equal catch trial precedence, and each pair of stimuli twice.

Input:

experiment = euler.Euler(catch_to_all=True, pair_repeats=2)
print(experiment.get_sequence())

Output:

['1', '2', '0', '0', '1', '3', '3', 'C', '0', '1', '1', '2', '3', '3', 'C', '2', 'C', '1', '0', '2', '0', 'C', '0', 'C', '3', '1', 'C', '1', '0', '0', '3', '0', '2', '2', '3', '2', '2', '1', '1', 'C', '2', '1', '3', '2', 'C', '3', '0', '3', '1']

Experiment 4

Generate sequence by stitching two sequences for five stimuli together. Repeating sequences (exp. 4) is different from repeating pairs (exp. 3): it guarantees that all pairs have occurred exactly once in the first half.

Input:

experiment = euler.Euler(stimuli=5, seq_repeats=2)
print(experiment.get_sequence())

Output:

['2', '1', '0', '3', '3', '0', '2', '2', '0', '1', '2', '4', '3', '4', '4', '2', '3', '1', '4', '0', '0', '4', '1', '1', '3', '2', '2', '4', '4', '1', '3', '3', '1', '1', '4', '0', '3', '4', '3', '2', '3', '0', '0', '4', '2', '1', '0', '1', '2', '0', '2']

Experiment 5

Generate sequence for four stimuli with each triplet occurring once.

Input:

experiment = euler.Euler(triplets=True, stim_repeat=False)
print(experiment.get_sequence())

Output:

['0', '1', '2', '3', '0', '2', '3', '2', '0', '2', '0', '1', '3', '2', '1', '3', '0', '3', '2', '3', '1', '3', '1', '0', '3', '1', '2', '1', '2', '0', '3', '0', '1', '0', '2', '1', '0', '1']

Contact

Jacob Bakermans - jacob.bakermans [at] gmail.com

Project Link: https://github.com/jbakermans/stimulus-history-euler-tours

Cloud-native, data onboarding architecture for the Google Cloud Public Datasets program

Public Datasets Pipelines Cloud-native, data pipeline architecture for onboarding datasets to the Google Cloud Public Datasets Program. Overview Requi

Google Cloud Platform 109 Dec 30, 2022
Small Python Tracker clone of Electra

Discord Bot Tracker - Python Simply Track your Bots (Status) to get notified when one of those go offline/online. Paste IDs into the config.py files,

Koni 2 Nov 23, 2021
基于nonebot2的twitter推送插件

HanayoriBot(Twitter插件) ✨ 基于NoneBot2的Twitter推送插件,自带百度翻译接口 ✨ 简介 本插件基于NoneBot2与go-cqhttp,可以及时将Twitter用户的最新推文推送至群聊,并且自带基于百度翻译的推文翻译接口,及时跟进你所关注的Vtuber的外网动态。

鹿乃まほろ / Mahoro Kano 16 Feb 12, 2022
Terraform Cloud CLI for Managing Workspace Terraform Versions

Terraform Cloud Version Manager This tiny script makes it easy to update the Terraform Version on all of the Workspaces inside Terraform Cloud. It wil

Robert Hafner 1 Jan 07, 2022
AnyAPI is a library that helps you to write any API wrapper with ease and in pythonic way.

AnyAPI AnyAPI is a library that helps you to write any API wrappers with ease and in pythonic way. Features Have better looking code using dynamic met

Fatih Kilic 129 Sep 20, 2022
Free & open source API service for obtaining information about +9600 universities worldwide.

Free & open source API service for obtaining information about +9600 universities worldwide.

Yagiz Degirmenci 57 Nov 04, 2022
a discord bot coded in Python which shows news based on the term searched by the user

Noah Miller v1.0 a discord bot coded in Python which shows news based on the term searched by the user Add the bot to your server About This is a disc

klevr 3 Nov 08, 2021
A simple telegram bot to help you to remove forward tag from post from any messages . Maded in python3 using @Pyrogram . Developed by @Kunal-Diwan

Frwd-Tag-Remover Telegram Bot to Remove forward tag from any Post . If you need any more modes in repo or If you find out any bugs, mention in @Develo

Kunal Diwan 2 Oct 14, 2022
Discord-Lite - A light weight discord client written in Python, for developers, by developers.

Discord-Lite - A light weight discord client written in Python, for developers, by developers.

Sachit 142 Jan 07, 2023
An attempt to escape the horrible JIRA editor.

An attempt to escape the horrible JIRA editor. jira_filter.py is a pandoc filter that cleans up some of JIRA's html so that it can be converted to Mar

Stefan Matting 2 Feb 10, 2022
“Hey there 👋 I'm szrosebot .A Powerful, Smart And Simple Group Manager with some extra features..

A Powerful, Smart And Simple Group Manager szrose bot This is the clone of DewmiBotit is a Powerful, Smart And Simple Group Manager bot made by hiruna

slgeekshow 36 Oct 30, 2022
This repository provides a set functions to extract paragraphs from AWS Textract responses.

extract-paragraphs-with-aws-textract Since AWS Textract (the AWS OCR service) does not have a native function to extract paragraphs, this repository p

Juan Anzola 3 Jan 26, 2022
A stock information collector and parser for Taiwan and US market. Automatically send LINE message if the pre-defined rules are triggered.

agastock 開發動機 就在海運飆漲的2021年7月,差點跪在地上喜迎財富自由的當下,EPS超高好消息不斷的長榮竟然套在202元一去不回,有圖有真相(哭) 忽然體會到追高殺低不是辦法,魯蛇我得靠邏輯分析也能出頭天,經過三個月無數個不出門的周末,產出簡單的爬蟲和分析工具。 上過金融研訓院的量化交易

Gavin Lee 12 Nov 16, 2022
Client library for accessing IQM quantum computers

IQM Client Client-side library for connecting to an IQM quantum computer. Installation IQM client is not intended to be used directly by human users.

IQM 10 Dec 21, 2022
A working bypass for discord gc spamming

IllusionGcSpammer A working bypass for discord gc spamming Installation Run pip install pip install DiscordGcSpammer then your good to go. Usage You c

6 Sep 30, 2022
Python client for the LightOn Muse API

lightonmuse Python bindings to production-ready intelligence primitives powered by state-of-the-art language models. Create. Process. Understand. Lear

LightOn 12 Apr 10, 2022
A mass account list editor for python

Account-List-Editor This is an mass account list editor Usage Run the editor.py file with python (python3 ./editor.py) Press a button (1/2) and drag &

ExtremeDev 1 Dec 20, 2021
all-in-one wrapper for NASA API's

=========== About bowshock is an all-in-one wrapper for NASA API's. Here is a list of currently supported API's : NASA Earth API NASA APOD (Astronomy

Emir Ozer 85 Nov 09, 2022
OKEX数字货币自动交易python语言SDK

okex-py OKEx数字货币自动交易python语言SDK (非官方) OKEx Cryptocurrency Exchange python SDK (Unofficial) 本项目基于V5 API 使用例子 Example import okex.v5.account_api as acco

43 Dec 01, 2022
This project is a basic login system in terminal for Discord

Welcome to Discord Login System(Terminal) 👋 This project is a basic login system in terminal for Discord Author 👤 arukovic Github: @SONIC-CODEZ Show

SONIC-CODEZ 2 Feb 11, 2022