Hi!
I just found the function "get_heterogeneous_map" in SVD.py is the same as "get_homogeneous_map", which looks like a typo:
In the function "get_heterogeneous_map", it should be:
pattern_left = LinReg(pc_right1, self._data[0]).slope
pattern_right = LinReg(pc_left1, self._data[1]).slope
not
pattern_left = LinReg(pc_left1, self._data[0]).slope
pattern_right = LinReg(pc_right1, self._data[1]).slope