Available in post-0.4.4 releases of MWorks, including nightly builds since January 25, 2011
Whenever MWorks displays an image stimulus, information about the image is logged to the data file in a
#stimDisplayUpdate event. The event data contains two fields that identify the image file used:
filename, which contains the full filesystem path to the image file, and
file_hash, which contains the SHA-1 hash of the image file.
Unlike the file name (which can be changed easily), the file hash provides a robust means of determining whether a given image file was in fact displayed in an experiment. The MWorks Python package includes a convenient function,
file_hash(), that computes the hash of a file:
>>> from mworks import file_hash >>> file_hash('image.png') 'e2e97203031d6c5c018aa8bfb268566a6e2d5b6a'
openssl command-line tool can be used to obtain the file hash:
$ openssl dgst -sha1 image.png SHA1(image.png)= e2e97203031d6c5c018aa8bfb268566a6e2d5b6a
Once you have the hash for a file, you can compare it to the
file_hash field in a
#stimDisplayUpdate event. If the two hashes are identical, then you can be confident that the given file is indeed the image that was displayed in your experiment.