TDT Representational Similarity Analysis

Hi everyone,

I have run the decoding_template_similarity.m, however was not getting an RDM showing up after running the decoding. Only classifier results were showing up. I had a colleague add code to the bottom and now I am getting an RDM.

Is there a simpler way to access the RDM result, besides adding my own code?

Also, if I change the order of the label names and compare dissimilarity values between the two orders, the dissimilarity values are completely different. I tried also changing the order in the design matrix of the first level analysis but am still getting the same issue. The values should be the same between conditions, just in different locations in the matrix.

Has anyone come across this issue of differing dissimilarity values?

Thank you!

Hi Michelle,

Yeah, decoding is easy, but RSA is a little complicated. The reason is that some people want RDMs to look at, while others want to compare them to model variables. Some want to do cross-validation, others want to do multivariate noise normalization, change similarity metrics etc. But then, you might not want to save all intermediate steps, specifically when you run searchlight RSA (because that can crash your computer).

RSA grew rather organically in TDT and all these options are available but, alas, not as easy to use as e.g. decoding. I’m trying to completely rewrite this part over the holidays to make it super intuitive to use.

Now, what you are mentioning seems unusual, so maybe it has to do with what your colleague added (or was that to a script to get your RDM from results.output.other?)? Feel free to mail me the script and I will take a look at it.


Hi Martin,

Thank you for your quick response! I am a bit new to this - is your email on neurostars, or should I email the email listed on your site?

I am very unfamiliar with matlab coding (just learning all of Matlab, SPM, etc in the past couple of months). My colleague added a section of code to the bottom of the template. The script is part of the results.output.other I assume because it starts ‘data=results.other.output{1}’. I would really appreciate if you took a look at it especially if this may be the underlying issue.