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)
Пример #2
0
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
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)
Пример #6
0
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
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