2
2
# -*- coding: utf-8 -*-
3
3
""" transforms, which can be applied to RDMs
4
4
"""
5
-
5
+ from __future__ import annotations
6
6
from copy import deepcopy
7
7
import numpy as np
8
8
from scipy .stats import rankdata
9
9
from .rdms import RDMs
10
10
11
11
12
- def rank_transform (rdms , method = 'average' ):
12
+ def rank_transform (rdms : RDMs , method = 'average' ):
13
13
""" applies a rank_transform and generates a new RDMs object
14
14
This assigns a rank to each dissimilarity estimate in the RDM,
15
15
deals with rank ties and saves ranks as new dissimilarity estimates.
@@ -30,9 +30,9 @@ def rank_transform(rdms, method='average'):
30
30
dissimilarities = rdms .get_vectors ()
31
31
dissimilarities = np .array ([rankdata (dissimilarities [i ], method = method )
32
32
for i in range (rdms .n_rdm )])
33
- measure = rdms .dissimilarity_measure
34
- if not measure [ - 7 :] == '(ranks)' :
35
- measure = measure + ' (ranks)'
33
+ measure = rdms .dissimilarity_measure or ''
34
+ if '(ranks)' not in measure :
35
+ measure = ( measure + ' (ranks)' ). strip ()
36
36
rdms_new = RDMs (dissimilarities ,
37
37
dissimilarity_measure = measure ,
38
38
descriptors = deepcopy (rdms .descriptors ),
@@ -103,8 +103,9 @@ def transform(rdms, fun):
103
103
"""
104
104
dissimilarities = rdms .get_vectors ()
105
105
dissimilarities = fun (dissimilarities )
106
+ meas = 'transformed ' + rdms .dissimilarity_measure
106
107
rdms_new = RDMs (dissimilarities ,
107
- dissimilarity_measure = 'transformed ' + rdms . dissimilarity_measure ,
108
+ dissimilarity_measure = meas ,
108
109
descriptors = deepcopy (rdms .descriptors ),
109
110
rdm_descriptors = deepcopy (rdms .rdm_descriptors ),
110
111
pattern_descriptors = deepcopy (rdms .pattern_descriptors ))
0 commit comments