Skip to content

Commit a8c1657

Browse files
committed
Camera._set_readout_transform: do not set client transform again.
After changing the readout or client transform, the final transform needs to be updated. That code was only on `set_transform` (which updates the client transform) so `_set_readout_transform` called `set_transform` with the current client transform to get the final transform update. This commit moves the update of the final transform to a separate method so that `_set_readout_transform` can just call it.
1 parent ee7842a commit a8c1657

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

microscope/abc.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -868,11 +868,8 @@ def get_transform(self):
868868
"""Return the current transform without readout transform."""
869869
return self._client_transform
870870

871-
def set_transform(self, transform):
872-
"""Combine provided transform with readout transform."""
873-
if isinstance(transform, str):
874-
transform = literal_eval(transform)
875-
self._client_transform = transform
871+
def _update_transform(self, transform):
872+
"""Update transform (after setting the client or readout transform)."""
876873
lr, ud, rot = (
877874
self._readout_transform[i] ^ transform[i] for i in range(3)
878875
)
@@ -881,10 +878,17 @@ def set_transform(self, transform):
881878
ud = not ud
882879
self._transform = (lr, ud, rot)
883880

881+
def set_transform(self, transform):
882+
"""Set client transform and update resultant transform."""
883+
if isinstance(transform, str):
884+
transform = literal_eval(transform)
885+
self._client_transform = transform
886+
self._update_transform()
887+
884888
def _set_readout_transform(self, new_transform):
885-
"""Update readout transform and update resultant transform."""
889+
"""Set readout transform and update resultant transform."""
886890
self._readout_transform = [bool(int(t)) for t in new_transform]
887-
self.set_transform(self._client_transform)
891+
self._update_transform()
888892

889893
@abc.abstractmethod
890894
def set_exposure_time(self, value: float) -> None:

0 commit comments

Comments
 (0)