diff --git a/Wrappers/Python/cil/io/ZEISSDataReader.py b/Wrappers/Python/cil/io/ZEISSDataReader.py index 6ec368804..11d89363f 100644 --- a/Wrappers/Python/cil/io/ZEISSDataReader.py +++ b/Wrappers/Python/cil/io/ZEISSDataReader.py @@ -133,12 +133,22 @@ def set_up(self, for key in roi.keys(): idx = zeiss_data_order[key] if roi[key] != -1: + if key == AcquisitionDimension.ANGLE: + if roi[key][1] > default_roi[0][1]: + raise ValueError('Requested angle range {} exceeds maximum of {}'.format(roi[key], default_roi[0][1])) + elif key == ImageDimension.VERTICAL or key == AcquisitionDimension.VERTICAL: + if roi[key][1] > default_roi[1][1]: + raise ValueError('Requested vertical range {} exceeds maximum of {}'.format(roi[key], default_roi[1][1])) + elif key == ImageDimension.HORIZONTAL_X or key == ImageDimension.HORIZONTAL_Y or key == AcquisitionDimension.HORIZONTAL: + if roi[key][1] > default_roi[2][1]: + raise ValueError('Requested horizontal range {} exceeds maximum of {}'.format(roi[key], default_roi[2][1])) + for i, x in enumerate(roi[key]): if x is None: continue if i != 2: #start and stop - default_roi[idx][i] = x if x >= 0 else default_roi[idx][1] - x + default_roi[idx][i] = x if x >= 0 else default_roi[idx][1] + x else: #step default_roi[idx][i] = x if x > 0 else 1