def test_from_dict(self): g1 = LineGenerator("x1", "mm", -1.0, 1.0, 5, False) g1_dict = g1.to_dict() g2 = LineGenerator("y1", "mm", -1.0, 1.0, 5, False) g2_dict = g2.to_dict() r = CircularROI([0, 0], 1) excl_1 = ROIExcluder([r], ["x1", "y1"]) excl1_1_dict = excl_1.to_dict() mutator_1 = RandomOffsetMutator(0, ["x"], {"x": 1}) mutator_1_dict = mutator_1.to_dict() _dict = dict() _dict['generators'] = [g1_dict, g2_dict] _dict['excluders'] = [excl1_1_dict] _dict['mutators'] = [mutator_1_dict] _dict['duration'] = 12 _dict['continuous'] = False units_dict = dict() units_dict['x'] = 'mm' units_dict['y'] = 'mm' gen = CompoundGenerator.from_dict(_dict) self.assertEqual(gen.generators[0].to_dict(), g1.to_dict()) self.assertEqual(gen.generators[1].to_dict(), g2.to_dict()) self.assertEqual(gen.mutators[0].to_dict(), mutator_1.to_dict()) self.assertEqual(gen.excluders[0].to_dict(), excl_1.to_dict()) self.assertEqual(gen.duration, 12) self.assertEqual(gen.continuous, False)
class JLineGenerator2D(JavaIteratorWrapper): """ Create a 2D LineGenerator and wrap the points into java Point objects """ def __init__(self, names, units, start, stop, num_points, alternate_direction=False): super(JLineGenerator2D, self).__init__() start = start.tolist() # Convert from array to list stop = stop.tolist() self.names = names self.generator = LineGenerator(names, units, start, stop, num_points, alternate_direction) logging.debug(self.generator.to_dict()) def _iterator(self): for point in self.generator.iterator(): index = point.indexes[0] x_name = self.names[0] y_name = self.names[1] x_position = point.positions[x_name] y_position = point.positions[y_name] java_point = Point(x_name, index, x_position, y_name, index, y_position, False) # Set is2D=False yield java_point
def test_from_dict(self): genone = LineGenerator("x", "mm", 1.0, 9.0, 5) g1_dict = genone.to_dict() gentwo = LineGenerator("x", "mm", 13, 20, 5) g2_dict = gentwo.to_dict() _dict = dict() _dict['generators'] = [g1_dict, g2_dict] _dict['alternate'] = False gen = ConcatGenerator.from_dict(_dict) self.assertEqual(gen.generators[0].to_dict(), genone.to_dict()) self.assertEqual(gen.generators[1].to_dict(), gentwo.to_dict()) g = ConcatGenerator([genone, gentwo]) g_dict = g.to_dict() _dict = dict() _dict['generators'] = [g_dict] _dict['excluders'] = [] _dict['mutators'] = [] _dict['duration'] = 10 _dict['continuous'] = False gen = CompoundGenerator.from_dict(_dict) self.assertEqual(gen.generators[0].to_dict(), g.to_dict())
def test_to_dict(self): g = LineGenerator("x", "mm", 1.0, 9.0, 5, alternate=True) expected_dict = dict() expected_dict['typeid'] = "scanpointgenerator:generator/LineGenerator:1.0" expected_dict['axes'] = ["x"] expected_dict['units'] = ["mm"] expected_dict['start'] = [1.0] expected_dict['stop'] = [9.0] expected_dict['size'] = 5 expected_dict['alternate'] = True d = g.to_dict() self.assertEqual(expected_dict, d)
class JLineGenerator1D(JavaIteratorWrapper): """ Create a 1D LineGenerator and wrap the points into java Scalar objects """ def __init__(self, name, units, start, stop, num_points, alternate_direction=False): super(JLineGenerator1D, self).__init__() self.name = name self.generator = LineGenerator(name, units, start, stop, num_points, alternate_direction) logging.debug(self.generator.to_dict()) def _iterator(self): for point in self.generator.iterator(): index = point.indexes[0] position = point.positions[self.name] java_point = Scalar(self.name, index, position) yield java_point