Hi Wiki,
Let me be sure I understand your questions;
1/ You want to send N images circularly, meaning you want to send 1,2,3...N,1,2,3..,N,1,2,3etc... with a given - accurate I guess - frame rate.
To easily send any sequence of images on the SLM, you can find the pieces of information in the tutorial section: "How to control a SLM with matlab using Psychtoolbox".
However, if you need a precise frame rate, this tutorial would not be enough. A first solution would be to use Psychtoolbox to create a movie with your images you want to send and then play this movie in an infinite loop with a given framerate. You will find more information here:
- docs.psychtoolbox.org/CreateMovie
- docs.psychtoolbox.org/OpenMovie
I am not an expert of this toolbox, look in the help and in the forum, there may be other solutions.
Another thing important to know, when dealing with matlab for synchronization issues or time measurement, is that there is many way to measure the time, but even if the number returned is given with a fine precision, the actual accuracy is usually very low. To get an accurate value of the time, I recently find this link:
- www.mathworks.com/matlabcentral/fileexch...indows/content/hat.m
(you need to compile the .c file typing mex hat.c - of course you need a compiler for matlab)
2/ I guess I need more information on the hardware and the way to communicate with this hardware. Sometimes, you can send a TTL pulse either using a port of your computer (RS232, USB...) or a specific hardware. Again, that depends on your device.
However, the sync signal you would send with Matlab would not be that accurate compared to a hardware synchronization since you have the latency of the computational time. The best way is to have a hardware output trigger on the SLM itself you can use. You can ask the manufacturer of your SLM if it is possible to add an output trigger signal. I did that once with a Holoeye device, and the company nicely accepted to add the output trigger for a reasonable price.
3/ I do not use Labview, I am not the best one to help you with that. Maybe someone else in the forum know a direct and clean way to control the SLM with Labview. One thing possible (probably not optimal) is to use a Matlab code inside Labview. So you may use the same thing as in the tutorial in a Matlab code in your Labview programm (see Labview help for more details).