Comments (3)
Thank you for using my plugin.
I noticed from your question that the change_attr function doesn't allow you to change all the attributes.
I would like to apologize for this.
So, I propose to divide the trial into two parts, that is, one is for presenting the stimulus and the other is for providing the feed back.
Here is the sample code:
const images = [ // All the images used in this demo
'./img/scissors.png',
'./img/pen.png',
'./img/battery.png'
];
const present_stim = {
type: 'psychophysics',
stimuli: [
{
obj_type: 'cross', // fixation
line_length: 20, // pixels
line_width: 4
},
{
obj_type: 'image',
file: jsPsych.timelineVariable('fileName'),
show_start_time: 500 // ms after the start of the trial
}
],
response_type: 'key',
choices: ['f', 'j'],
canvas_height: 500,
prompt: 'Press the F or J key.',
data: {'file_name': jsPsych.timelineVariable('fileName')} // for identification
}
const feed_back = {
type: 'image-keyboard-response',
stimulus: './img/correct.png',
choices: jsPsych.NO_KEYS,
trial_duration: 1000,
on_start(trial){
console.log(trial)
const resp = jsPsych.data.getLastTrialData().values()[0].key_press;
if (jsPsych.pluginAPI.compareKeys(resp, 'j')) {
console.log('Incorrect!')
trial.stimulus = './img/incorrect.png'
}
}
}
var trial = {
timeline: [present_stim, feed_back],
timeline_variables: [
{fileName: images[0]},
{fileName: images[1]},
{fileName: images[2]}
],
randomize_order: true
}
jsPsych.init({
timeline: [trial],
preload_images: images, // The image data should be preloaded.
on_finish: function(){jsPsych.data.displayData();}
});
from jspsych-psychophysics.
A similar method is also available as follows.
const correct_feed_back = {
obj_type: 'image',
file: './img/correct.png'
}
const feed_back = {
type: 'psychophysics',
stimuli: [correct_feed_back],
choices: jsPsych.NO_KEYS,
prompt: 'Feed back.',
canvas_height: 500,
trial_duration: 1000,
on_start(trial){
const resp = jsPsych.data.getLastTrialData().values()[0].key_press;
if (jsPsych.pluginAPI.compareKeys(resp, 'j')) {
console.log('Incorrect!')
trial.stimuli[0].file = './img/incorrect.png';
}
}
}
from jspsych-psychophysics.
Thank you for your plugin and your answers; there's no need to apologize :)
Using "on_start" solved my problem, thank you!
from jspsych-psychophysics.
Related Issues (20)
- event handlers compatible with gabor parameters HOT 3
- Simulation mode for psychophysics HOT 2
- Wrong X,Y coordinates for gabor stimuli HOT 2
- Change image interactively HOT 12
- Coordinate problem about simultaneously using "key" and "button" response type HOT 5
- Define sequence of stimulus and indicate duration in both ms and frames HOT 5
- Prolem with object 'sound' HOT 2
- slider response HOT 1
- compatibility with pavlovia
- Precise timing and different screen refresh rates HOT 1
- npm for the plugin? HOT 7
- canvas height and jspsych-content mismatch HOT 2
- Concurrent presentation of images and sounds HOT 4
- Pre-load stimuli HOT 3
- Recolour SVG image HOT 5
- trouble importing npm plugin HOT 3
- Making text stimuli bold and coloured HOT 2
- Laptop and mobile phone compatibility HOT 4
- End the visual stimuli by key response, but make the auditory stimuli keep playing HOT 10
- Dragging one image using mouse_drawing while keeping another image HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jspsych-psychophysics.