Ejemplo n.º 1
0
    def property_setup(self, properties):
        properties = super(ColorEarlyVisionModel, self).property_setup(properties)

        properties['SF']=range(1,self.sf_channels+1) if 'sf' in self.dims and 'cr' not in self.dims else \
                         range(2,self.sf_channels+1) if 'sf' in self.dims and 'cr' in self.dims else [1]
        properties['SFs'] = (lancet.List('SF', properties['SF'])
                             if max(properties['SF'])>1 else lancet.Identity())

        cr = 'cr' in self.dims
        #TFALERT: Dichromatic simulations have not been tested!
        opponent_types_center =   ['Red','Green','Blue','RedGreenBlue'] if cr \
                                    and self.color_sim_type=='Trichromatic' else \
                                  ['Green','Blue','GreenBlue'] if cr \
                                    and self.color_sim_type=='Dichromatic' else []
        opponent_types_surround = ['Green','Red','RedGreen','RedGreenBlue'] if cr \
                                    and self.color_sim_type=='Trichromatic' else \
                                  ['Green','Green','GreenBlue'] if cr \
                                    and self.color_sim_type=='Dichromatic' else []
        self.ColorToChannel = {'Red':0, 'Green':1, 'Blue':2} if cr else {}

        # Definitions useful for setting up sheets
        opponent_specs =[dict(opponent=el1, surround=el2) for el1, el2
                         in zip(opponent_types_center,
                                opponent_types_surround)]
        properties['opponents'] = (lancet.Args(specs=opponent_specs)
                                   if opponent_types_center else lancet.Identity())
        return properties
Ejemplo n.º 2
0
 def test_args_repr2(self):
     """
     As OrderedDicts not used internally, the dictionaries shown in
     the full specification list can change between calls.
     """
     arg = lancet.Args(self.specs1)
     self.assertEquals(repr(arg).startswith('Args(specs=[{'), True)
     self.assertEquals(repr(arg).endswith('}],fp_precision=4)'), True)
Ejemplo n.º 3
0
 def test_args_lexsort4(self):
     arg = lancet.Args(self.specs2)
     arg2 = arg.lexsort('+b', '-c')
     self.assertEquals(arg2.specs, [{
         'a': 1,
         'b': 5,
         'c': 3
     }, {
         'a': 3,
         'b': 5,
         'c': 1
     }, {
         'a': 2,
         'b': 6,
         'c': 2
     }])
Ejemplo n.º 4
0
    def setup_attributes(self, attrs):
        attrs = super(ColorEarlyVisionModel, self).setup_attributes(attrs)

        cr = 'cr' in self.dims
        opponent_types_center = ['Red', 'Green', 'Blue', 'RedGreenBlue'
                                 ] if cr else []
        opponent_types_surround = ['Green', 'Red', 'RedGreen', 'RedGreenBlue'
                                   ] if cr else []
        cone_types = ['Red', 'Green', 'Blue'] if cr else []

        # Definitions useful for setting up sheets
        opponent_specs = [
            dict(opponent=el1, surround=el2)
            for el1, el2 in zip(opponent_types_center, opponent_types_surround)
        ]

        attrs.Args['opponents'] = (lancet.Args(
            specs=opponent_specs) if opponent_types_center else
                                   lancet.Identity())
        attrs.Args['cones'] = (lancet.List('cone', cone_types)
                               if cone_types else lancet.Identity())
        return attrs
Ejemplo n.º 5
0
 def test_args_show_fp_precision6(self):
     arg = lancet.Args(self.specs5, fp_precision=6)
     expected = ('0: a=3.333333, b=5.555, c=1.1\n1: a=2.222222, b=6.666,'
                 ' c=2.2\n2: a=1.111111, b=5.555, c=3.3\n')
     with capture(arg.show) as out:
         self.assertEquals(out, expected)
Ejemplo n.º 6
0
 def test_args_contains(self):
     arg = lancet.Args(self.specs5)
     self.assertEqual('a' in arg, True)
Ejemplo n.º 7
0
 def test_args_show(self):
     arg = lancet.Args(self.specs1)
     with capture(arg.show) as out:
         self.assertEquals(out, '0: a=3, b=5\n1: a=4, b=6\n')
Ejemplo n.º 8
0
 def test_args_show_fp_precision0(self):
     arg = lancet.Args(self.specs2, fp_precision=0)
     with capture(arg.show) as out:
         self.assertEquals(
             out, '0: a=3, b=5, c=1\n1: a=2, b=6, c=2\n2: a=1, b=5, c=3\n')
Ejemplo n.º 9
0
 def test_concatenate(self):
     arg1 = lancet.Args(self.specs1)
     arg2 = lancet.Args(self.specs2)
     self.assertEqual((arg1 + arg2).specs, self.specs1 + self.specs2)
Ejemplo n.º 10
0
 def test_args_iter(self):
     arg = lancet.Args(self.specs1)
     self.assertEqual([el for el in arg], [self.specs1])
Ejemplo n.º 11
0
 def test_args_len3(self):
     arg = lancet.Args(self.specs4)
     self.assertEqual(len(arg), 4)
Ejemplo n.º 12
0
 def test_args_summary5(self):
     arg = lancet.Args(self.specs5)
     with capture(arg.summary) as out:
         self.assertEquals(out, "Items: 3\nVarying Keys: 'a', 'b', 'c'\n")
Ejemplo n.º 13
0
 def test_args_len1(self):
     arg = lancet.Args(self.specs1)
     self.assertEqual(len(arg), 2)
Ejemplo n.º 14
0
 def test_args_len2(self):
     arg = lancet.Args(self.specs3)
     self.assertEqual(len(arg), 3)
Ejemplo n.º 15
0
 def test_args_varying_keys(self):
     arg = lancet.Args(self.specs4)
     self.assertEqual(arg.varying_keys, ['b', 'a', 'c'])
Ejemplo n.º 16
0
 def test_args_constant_items(self):
     arg = lancet.Args(self.specs3)
     self.assertEqual(arg.constant_items, [('d', 5)])
Ejemplo n.º 17
0
 def test_args_constant_keys(self):
     arg = lancet.Args(self.specs3)
     self.assertEqual(arg.constant_keys, ['d'])
Ejemplo n.º 18
0
 def test_args_doesnt_contains(self):
     arg = lancet.Args(self.specs5)
     self.assertEqual('z' in arg, False)
Ejemplo n.º 19
0
 def test_args_kws(self):
     arg = lancet.Args(a=3)
     self.assertEqual(arg.specs, [{'a': 3}])
Ejemplo n.º 20
0
 def test_args_summary4(self):
     arg = lancet.Args(self.specs4)
     with capture(arg.summary) as out:
         self.assertEquals(
             out,
             "Items: 4\nVarying Keys: 'b', 'a', 'c'\nConstant Items: d=5\n")
Ejemplo n.º 21
0
 def test_args_repr1(self):
     arg = lancet.Args(a=4, b=6)
     self.assertEquals(repr(arg), 'Args(fp_precision=4,a=4,b=6)')
Ejemplo n.º 22
0
 def test_args_copy(self):
     arg = lancet.Args(self.specs1)
     self.assertEqual(arg.specs, arg.copy().specs)
Ejemplo n.º 23
0
 def test_args_specs(self):
     arg = lancet.Args(self.specs1)
     self.assertEqual(arg.specs, self.specs1)
Ejemplo n.º 24
0
 def test_args_str1(self):
     arg = lancet.Args(a=4, b=6)
     self.assertEquals(str(arg), 'Args(\n   a=4,\n   b=6\n)')
Ejemplo n.º 25
0
 def test_args_next(self):
     arg = iter(lancet.Args(self.specs1))
     self.assertEqual(next(arg), self.specs1)