Using the file hash to verify an image stimulus

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 #announceStimulus 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'

Alternatively, the 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 #announceStimulus 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.

Recent Discussions

14 Dec, 2018 04:14 PM
10 Dec, 2018 02:40 PM
17 Nov, 2018 12:53 AM
16 Nov, 2018 05:01 PM
14 Nov, 2018 09:17 PM