How to do Tactile Stimulation

The o_ptb supports tactile stimulation using corticalmetrics devices. The general pattern is very similar to sending triggers and sounds.

Note

In order to use the corticalmetrics devices, you need to obtain the CM.dll. You should have received it from corticalmetrics.

If you work at Salzburg, you can also ask Thomas.

In order to use the device(s), you need to:

  1. Connect it to the stimulation PC via USB.

  2. Connect the trigger in BNC port to one of the Trigger channels of your acquisition setup.

Our experience tells us that the device is very accurate at starting the stimulation when it receives a trigger. So we exploit this property by having o_ptb send a trigger when you want to start the tactile stimulation. The trigger gets recorded by the EEG/MEG and the device starts stimulating at the same time.

So, we need to tell o_ptb three things:

  1. Where is the CM.dll. (See above)

  2. What is the Serial Number of the stimulator we want to use. (This enables us to use more than one).

  3. What trigger port is the stimulator connected to.

In order to facilitate handling multiple devices, we give it a name, too. (‘left’) in this example.

We do this during the configuration process:

ptb_cfg = o_ptb.PTB_Config();

ptb_cfg.corticalmetrics_config.cm_dll = fullfile('C:\Users\exp\Documents\cm', 'CM.dll');
ptb_cfg.corticalmetrics_config.stimulator_mapping('left') = 'CM6-XXXXXXXXXXXXXXXXXXXXXXXXX';
ptb_cfg.corticalmetrics_config.trigger_mapping('left') = 128;

We need to initialize the respective subsystems. The trigger subsystem must be initialized first!

ptb.setup_trigger;
ptb.setup_tactile;

Now we can get tactile stimulation objects using +o_ptb.+stimuli.+tactile.Base

As you can see in the reference documentation, the class takes up to 6 parameters, of which only the last is optional. We need to specify:

  1. What stimulator to use.

  2. What finger to stimulate.

  3. At what amplitude to stimulate.

  4. At what frequency to stimulate.

  5. For how long.

Optionally, we can also set the phase of the stimulation oscillation.

So, to get a tactile stimulation object, stimulating the fourth finger at full intensity and 30Hz for 1 second, this is what we need to do:

tactile_stim = o_ptb.stimuli.tactile.Base('left', 4, 256, 30, 1);

And then it is just the usual pattern of prepare and schedule:

ptb.prepare_tactile(tactile_stim);
ptb.schedule_tactile();

ptb.play_without_flip();