Frequenty Asked
Questions
about ActiveSTIM
What is ActiveSTIM?
Why would I use ActiveSTIM?
How can I implement my stimulus?
What are the hardware requirements?
What is the temporal accuracy
of stimulus presentation?
What books do I need to read to be
able to deal with ActiveX connections?
Can I implement
a behavioral paradigm that collects subject's responses through
button presses?
Can I measure response times accurately?
How difficult is it to program
control over ActiveSTIM?
What is the limitation of the amount
of bitmap files that ActiveSTIM can handle?
How
large/complex stimuli can ActiveSTIM cope with without skipping
the screen frames?
How well is ActiveSTIM
tested and debugged?
Which graphic modes does ActiveSTIM
support?
Can ActiveSTIM provide
calibration of the monitor (i.e., adjusting the luminance
of a gray scale of a monitor to a linear gradient)?
How can I obtain a demo of ActiveSTIM?
What is the price of ActiveSTIM
and how can I purchase it?
Can ActiveSTIM generate bitmap
files for the stimuli that I see in the demo?
Can ActiveSTIM access serial or
parallel port, joystick, mouse etc.?
Can ActiveSTIM present sounds?
Which features wil be added to ActiveSTIM
in the future?
What is ActiveSTIM?
ActiveSTIM is designed to allow researchers in vision
and cognitive sciences to produce accurate visual stimulation
within a short period of time and with great flexibility.
ActiveSTIM offers a unique concept that combines DirectDraw
technology for presentation of graphics and ActiveX and
National Instruments Digital I/O technologies for flexible
and fast communication with other applications and laboratory
equipment.
In technical words, ActiveSTIM can be described as the
ActiveX-based server for management of precise presentation
of bitmap images on the screen and communication through
digital I/O board.
Why would I use ActiveSTIM?
ActiveSTIM is flexible, yet simple, concept for visual
stimulation.
It takes short time to learn how to control ActiveSTIM
and how to develop new stimulus/experimental protocols.
ActiveSTIM can be controlled from variety of different
programming environments and you might be already familiar
with with one of them. Examples are: C++, VisualBasic,
Delphi, JavaScript, Matlab, LabView.
If you need to develop a complex research application,
you have on your disposal all the flexibility of your own
programming language.
ActiveSTIM offers high temporal precision and high flexibility for communication
with other laboratory equipment through digital I/O boards.
ActiveX allows ActiveSTIM to be controlled remotely from
another machine on the local area network, including the
wireless networks.
How can I implement my stimulus?
You can implement any stimulus that you can design in
a form of a sequence of bitmap files. Thus, if you have
a mean to prepare the necessary bitmap files, you can produce
the stimulus easily. ActiveSTIM will accurately present,
hide, move or superimpose the images on the screen. If
your stimulus is consisted of a long sequence of bitmap
images, ActiveSTIM can treat them as a film. You can run
and stop films or change its presentation speed.
What are the hardware requirements?
ActiveSTIM can work on any Windows-based computer and
with any graphic card. If you need high communication with
other laboratory equipment with high temporal accuracy
or you need to collect behavioral responses, you must install
one of the Digital IO cards produced by National Instruments.
However, the speed with which ActiveSTIM can draw stimuli
depends on several factors such as the graphic card, amount
of memory, speed of the computer, speed of the data bus.
The more demanding stimuli you have the more powerful hardware
you will need.
What is the temporal accuracy of stimulus presentation?
The accuracy is the maximum possible, i.e. the accuracy
of the screen frames. All the operations and events are
time locked to the changes in the screen frames. Consequently,
every timing parameter that is supplied to functions of
ActiveSTIM is expressed in the frames of the computer screen.
What books do I need to read to be able to deal with ActiveX connections?
Most likely, none!
A demo code that makes ActiveX connection to ActiveSTIM
from the progamming language of your choice will be in
most cases already provided with the installation of ActiveSTIM.
In addition, the documentation includes a tutorial on
how to program ActiveSTIM.
Can I implement a behavioral paradigm that collects
subject's responses through button presses?
Yes, but behavioral inputs must enter through a digital
I/O board. By using digital I/O board ActiveSTIM achieves
very high temporal accuracy for the measurement of response
times.
Can I measure response times accurately?
Yes! The precision depends on the mode of use.
The mode with least precision provides the accuracy of
around one millisecond.
Another mode, that does not update the screen while waiting
for the responses, allows measurement of response times
with the accuracy of about 1/100 of a millisecond.
How difficult is it to program control over ActiveSTIM?
We invested significant effort to make the control of
ActiveSTIM as simple and intuitive as possible. Here we
show an example in a pseudo code that presents a bitmap
image and moves it over the screen. The actual syntax
will depend on the language that you use to control ActiveSTIM.
Connect(ActiveSTIM) // Make
ActiveX connection
AStimSet(1024, 768, 8, 100) // set resolution to
// 1024x768 and
// 8-bit color depth and 100 Hz refresh rate
AStimLoadObject(1, MyBitmapFile) //
Load BMP file in memory
.
.
.
AStimShowObject(1, X, Y)
AStimMoveObject(1, Direction, Speed, Distance)
.
.
.
Disconnect(AStim) // Release connection
The precise control of time at which stimuli are presented
is achieved through scripts and the FRAME parameter that
determines the screen frame at which the stimulus even
will occur. An example pseudo code follows:
FRAME = 100
AStimNewScript (5)
AStimShowObject(1, X, Y, FRAME) //Show & send TTL pulse 100
AstimSendTrigger(FRAME) //100 frames after starting the
//script
AStimHideObject(1, X, Y, FRAME+200) //Presented for 200 frames
AStimEndScript
.
.
.
AStimRunScript (5) // Run script number five
ActiveSTIM also offers the possibility to combine multiple
bitmap files into a film. For example, in order to present
an alternating checkerboard stimulus one can draw a bitmap
file that consists of several frames and treat it as a
film. The pseudo code for the stimulus presentation is
as follows:
AStimLoadFilm(1, MyCheckerBoard)
AstimContinuousMode(1) //Film continuously repeats
.
.
.
ShowFilm(1, X, Y); //Film number 1 is shown
What is the limitation of the amount of bitmap
files that ActiveSTIM can handle?
There is virtually no limitation besides the amount of
memory on your graphic card and the main memory on your
computer.
How large/complex stimuli can ActiveSTIM cope with without skipping the screen
frames?
This depends very much on your hardware. If you have a
powerful graphic card, large amount of RAM memory and fast
data bus, you can present large images and quickly exchange
them, without any problems. By using DirectDraw technology
ActiveSTIM will make sure that the hardware is used optimally.
How well is ActiveSTIM tested and debugged?
It has been developed and used for several years in the
laboratories of the Max-Planck Institute for Brain Research,
Frankfurt, Germany. It was used for the studies of the
functions of the visual cortex in awake and anaesthetized
animals. ActiveSTIM has been also used for studies of human
perception and cognition.
Which graphic modes does ActiveSTIM support?
ActiveSTIM supports all the graphic resolutions that are
supported by the system. It supports one palletized color
depth mode, 8 bit, and two true color modes, 16 and 32
bit.
With newer models of graphic cards, you can set up the
refresh rate of the screen directly.
Can ActiveSTIM provide calibration of the monitor
(i.e., adjusting the luminance of a gray scale of a monitor
to a linear gradient)?
In the palletized mode (8 bit) ActiveSTIM can apply the
same palette (i.e., color lookup table) to all the other
bitmap files. Thus, it is necessary to measure the luminance
of the monitor manually and make a bitmap file with an
accordingly adjusted palette.
How can I obtain a demo of ActiveSTIM?
In order to obtain demo, go to our downloads page.
What is the price of ActiveSTIM and how can I
purchase it?
For information on pricing and purchase of ActiveSTIM
contact us.
Limitations:
Can ActiveSTIM generate bitmap files for the stimuli that I see in the demo?
NO. ActiveSTIM does not generate bitmap files or any graphics.
You must generate images by other means. ActiveSTIM comes
with a C++ source code of a small utility that helps an
automatic generation of multiple frames of a film. The
program organizes iterations over multiple frames and
generation
of a number of bitmap files . The user must supply his/her
own graphical primitives, i.e., commands
that will draw the desired stimulus as a function of the
film frame.
We are currently working on developing utilities for automatic
generation of bitmap files supporting the most popular
stimuli used by the researchers in vision.
Can ActiveSTIM access serial or parallel port, joystick, mouse etc.?
ActiveSTIM does not provide direct access to other peripheral
devices. An access to these peripheral devices can be achieved
only through the client application that controls ActiveSTIM.
Can ActiveSTIM present sounds?
Not at the moment. If we find sufficient interest, we
will apply the ActiveSTIM concept for bitmaps to the presentation
of sounds.
Which features wil be added to ActiveSTIM in the
future?
Further developments of ActiveSTIM will depend very much
on the feedback received from the users.
If you have a suggestion for an additional feature that
ActiveSTIM should support, you can inform us
and your suggestion will be carefully considered.