Coder Social home page Coder Social logo

neuropsychology / neuropsydia.py Goto Github PK

View Code? Open in Web Editor NEW
65.0 11.0 25.0 92.22 MB

A Python Module for Creating Experiments, Tasks and Questionnaires.

License: Mozilla Public License 2.0

Python 99.35% TeX 0.65%
python psychology questionnaire experiments neuropsychology tasks assessment

neuropsydia.py's People

Contributors

dominiquemakowski avatar gitter-badger avatar hndr91 avatar leodutriaux avatar marcosperduti avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

neuropsydia.py's Issues

Neuropsydia installation issue

I'm trying to install neuropsydia. But every time it's giving an error "Metadata generation failed"
Please help me resolve this issue. It's urgent
Screenshot (453)

rewrite ask()

ask() could be rewritten using the other neuropsydia functions, especially write() and rectangle(), thus removing some code weight due to the pygame blocks.

This could resolve #7

write(): Support of markdown-like syntax

It would be cool to be able to write using a bit of markdown syntax, especially for bold and italic:

n.write("hey, this is **bold** and this is in *italic*")

It wound need a rewrite of the write function though.

choice(): multiple lines

would be cool to have an automatic multiple lines display

for example a parameter rows=1 that would automatically dispatch the boxes accordingly.

Multiple Scales / Choices

One of the way to possibly display several scales and/or choices at the same time might be to create a class scale / choice. This will change their behavior to something like:

# Create a scale object
eval_mood = scale(title="how is my mood?")  # Create a scale object
eval_mood.display()  # Display a simple scale

# Same for choice
choice_gender = choice(["Male", "Female"], title="Gender?")
choice_gender.display()

# To display both
multiple_display([eval_mood, choice_gender], y=[4, -2])

However, I'm worrying that it would get a bit more redundant / complicated / less straightforward to display simple scales / choices that it is now.

What do you think?

choice(): multiple selection

It would be cool to have a "multiple_selection" argument for choice(). The function would then return a dictionary with each choice associated with a TRUE/FALSE statement following the user's selection.

choice(): I changed my mind

when clicking on a choice, the choice is highlighted and not selected. If you click another time on the same choice, it is selected, of course. However, it seems that if you click on another choice after highlighting another with the forst click, it doesn't highlight it, but select it directly. Would be good to actually select a choice only if it has been clicked twice in a row.

Blank screen

I tried to run the go/no-go example and got stuck on a blank screen. The error I got is pasted below:

Jul 21 14:39:41 python[54022] : CGDisplayBaseAddress is obsolete and returning an empty buffer for display 0x7bd7f77d

I am testing the package on a MacBook Pro (Late 2013) in Python 3.5.2.

pip install issue: README.md not found

long_description = open('README.md').read(),
IOError: [Errno 2] No such file or directory: 'README.md'
I keep getting this error when installing it, anyway to solve it?

Korean characters are not showing when using instruction, write.py

In fact, all functions including text does not show any Korean characters.
I think it is similar issues with the Chinese characters does not show.
I hope you to give options to choose font not only in choice.py but also every functions including text such as instruction, write, questionnaire.

And I also find out choices_style=' font.ttf' does not work in Korean font.

Shuffle and RT on response()

Hi all!

I have an issue recording RT and selecting stimuli.
Concerning n.response I want to record RT from the time of presentation of the word e.g. "go" till the time the participant press "T". What I actually get is: 'exceeded time' as a response and a RT that is (I guss) the RT itself + the time_max of 4000. How can I get the correct RT and so the correct response?

Then I would like just shuffle "go", "back", "stop" for 6 times so that each word is presented two times in random orders but random.shuffle on 'stimulus' is not doing the job correctly. Any hints on this?
Many thanks :)

for trial in range(6): 
    stimulus = random.choice(["go", "back", "stop"]) 
    ISI = random.randrange(start=500, stop=2000, step=500)  


n.newpage("grey") 
n.write("+")  
n.refresh()  
n.time.wait(ISI)  

n.newpage()
n.write(stimulus)  
n.refresh()
response, RT = n.response(allow = ["T", "B", "G"], get_RT =True, time_max = 4000)

help_pannel(): A smart pannel displaying help or additional info

would be cool to be able to simply display a help pannel on the bottom, top, right or left of the screen.

  • adjustable opacity?
  • auto-adjust size according to the amount of text?
  • dynamic display of this pannel according to certain conditions (mouse over a specific word or something?)

Abort experiment

Is there any way to abort an experiment? (E.g., pressing certain keys.)

Import neuropsydia without opening the pygame window

I don't know how to do it since the window is initialized at the package import as a variable to be used by the other functions (such as write, image etc.).

The window, and the connected functions should somehow be initialized with the start() function.

But it would be a nice feature, especially for those that mainly use the statistical functions and are are tired of adding the start line:

import neuropsydia as n
n.start(open_window=False)

Ensure Legal Rights

Make sure that all dependencies are under a licence allowing for modification, commercial use and distribution. Especially, make sure that none is under Creative Commons.

  • Python: โœ”๏ธ
  • pygame: โœ”๏ธ

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.