Hi Arash,
Is there a way to produce the images as bitmaps instead of PNGs? It is definitely better to bitmap them for saving because PNG files are substantially larger than bitmap for white noise (I know, it is counterintuitive!)
I tried this. The files are actually the same size, but they take less time to create. I assume the PNG encoder is spending some time trying (and failing) to compress the image data.
Using BMP’s, the Python version takes about 6s to generate and load the images. The MATLAB version takes a bit under 5s. Is this still too long for an inter-trial interval? (Note that these times are for the case where every pixel is randomized individually. For larger grain sizes, things will be faster.)
Can we produce noise images for the entire day (~2000 trials) in advance and name/save only the ones that were used?
Sure, we can do that.
And as for what needs to be saved, we need to save at least 2 seconds of noise (40 images assuming a 50 ms duration for each noise).
I don’t follow the math here. At 60Hz, two seconds is 120 images. How do you count 40?
Chris
Hey Chris,
I tried this. The files are actually the same size
That’s strange, if they have similar resolution, the PNG file has to be larger, are you sure?
Can we produce noise images for the entire day (~2000 trials) in advance and name/save only the ones that were used?
Sure, we can do that.
Fantastic. Let’s aim for this strategy.
I don’t follow the math here. At 60Hz, two seconds is 120 images. How do you count 40?
This is an interesting problem. The upper bound for noise temporal frequency is 60 Hz, but most probably we can’t go that high because everything will look gray to the monkey. I did my calculation based on ~50ms for each noise pattern (3 frames each). We may have to push it to ~33ms (2 frames each) that will get us to total of 60 noises per trial, but I don’t think we can ever go full speed. We are not sure yet about this, so if there is a way to save the possibility of pushing it to full 60 Hz (thus total of 120 images for the 2 seconds) it will be nice.
In general, I think 60Hz and 1920x108 pixels resolution are upper bounds and in practice we have to use lower spatial and temporal resolutions.
Cheers,
Arash