Open caiw opened 1 year ago
Ok, digging further, the culprit here is TemporalDataset.convert_to_dataset
, which is called by calc_rdm_movie
, at least in v0.1.3. Around line 735 it repeatedly calls np.concatenate
, starting with an empty list, thereby converting the dtype to numpy.float64
.
The solution would probably be to do something like detect and reset the datatype, but TemporalDataset.convert_to_dataset
is now deprecated, so not sure how far to pursue this.
We also more generally need to discuss descriptor datatypes I think. Many methods (naturally) make certain assumptions about them, which don't always hold up because we are quite permissive right now
Describe the bug If you pass a dictionary whose values are
numpy.int64
tocalc_rdm_movie
'sobs_descriptors
argument, the resultantRDMs
object will have.pattern_descriptors
value types ofnumpy.float64
(which annoyingly changes they way they print).To Reproduce Following the Temporal RSA demo, we have the following set (among other variables):
Later on in the demo, we create a TemporalDataset and run
calc_rdm_movie
:so no funny business there.
Following further down we run
calc_rdm_movie
:Expected behavior The final two
print
s should look like:Versions Please report:
pip freeze | grep rsatoolbox
)python --version
)