def test_sample_datetime_yaxis(self):
     start = np.datetime64(dt.datetime.today())
     end = start+np.timedelta64(1, 's')
     ys = date_range(start, end, 10)
     image = Image((self.xs, ys, self.array))
     curve = image.sample(y=ys[3])
     self.assertEqual(curve, Curve((self.xs, self.array[3]), 'x', 'z'))
Example #2
0
    def _generate_plots(self):
        dynamic_plots = []
        for kw in [dict(sheet=sheet) for sheet in self.sheets()]:
            sheet = kw['sheet']
            views = topo.sim.views[sheet.name].Maps

            im = Image(sheet.input_generator(), bounds=sheet.bounds)
            im.metadata=AttrDict(timestamp=topo.sim.time())

            if 'Activity' not in views:
                views['Activity'] = NdMapping((topo.sim.time(), im))
                views['Activity'].metadata = AttrDict(precedence=sheet.precedence,
                                                      row_precedence=sheet.row_precedence,
                                                      src_name=sheet.name,
                                                      timestamp=topo.sim.time())
            else:
                views['Activity'][topo.sim.time()] = im
            channels = {'Strength': 'Activity','Hue':None,'Confidence':None}

            view = topo.sim.views[sheet.name].Maps
            view_dict = {'Strength':view,'Hue':view,'Confidence':view}
            ### JCALERT! it is not good to have to pass '' here... maybe a test in plot would be better
            dynamic_plots.append(make_template_plot(channels, view_dict,
                                                    sheet.xdensity,sheet.bounds,self.normalize,
                                                    name=''))

        return self._static_plots[:]+dynamic_plots
Example #3
0
 def callback(x, y):
     return Image(np.array([[0, 1], [2, 3]])) + Image(
         np.array([[0, 1], [2, 3]]))
Example #4
0
 def fn2(x, y):
     counter[0] += 1
     return Image(np.random.rand(10, 10))
Example #5
0
 def test_dynamic_operation_init_stream_params(self):
     img = Image(sine_array(0, 5))
     stream = Stream.define('TestStream', bin_range=None)()
     histogram(img, bin_range=(0, 1), streams=[stream], dynamic=True)
     self.assertEqual(stream.bin_range, (0, 1))
Example #6
0
 def test_dynamic_operation_on_hmap(self):
     hmap = HoloMap({i: Image(sine_array(0, i)) for i in range(10)})
     dmap = Dynamic(hmap, operation=lambda x: x)
     self.assertEqual(dmap.kdims[0].name, hmap.kdims[0].name)
     self.assertEqual(dmap.kdims[0].values, hmap.keys())
Example #7
0
 def test_sampled_unbounded_resample(self):
     fn = lambda i: Image(sine_array(0, i))
     dmap = DynamicMap(fn, kdims=['i'])
     self.assertEqual(dmap[{0, 1, 2}].keys(), [0, 1, 2])
     self.assertEqual(dmap.unbounded, ['i'])
Example #8
0
 def test_callable_bounded_clone(self):
     fn = lambda i: Image(sine_array(0, i))
     dmap = DynamicMap(fn, kdims=[Dimension('dim', range=(0, 10))])
     self.assertEqual(dmap, dmap.clone())
     self.assertEqual(dmap.unbounded, [])
Example #9
0
 def test_colormapper_clims(self):
     img = Image(np.array([[0, 1], [2, 3]])).options(clims=(0, 4))
     plot = mpl_renderer.get_plot(img)
     artist = plot.handles['artist']
     self.assertEqual(artist.get_clim(), (0, 4))
Example #10
0
 def test_redim_dimension_range_aux(self):
     fn = lambda i: Image(sine_array(0, i))
     dmap = DynamicMap(fn, kdims=['i']).redim.range(i=(0, 1))
     self.assertEqual(dmap.kdims[0].range, (0, 1))
Example #11
0
 def callback(x, y):
     return NdLayout(
         {i: Image(np.array([[i, 1], [2, 3]]))
          for i in range(1, 3)})
Example #12
0
 def test_redim_dimension_name(self):
     fn = lambda i: Image(sine_array(0, i))
     dmap = DynamicMap(fn, kdims=['i']).redim(i='New')
     self.assertEqual(dmap.kdims[0].name, 'New')
Example #13
0
 def test_layout_empty_subplots(self):
     layout = Curve(range(10)) + NdOverlay() + HoloMap() + HoloMap(
         {1: Image(np.random.rand(10, 10))})
     plot = mpl_renderer.get_plot(layout)
     self.assertEqual(len(plot.subplots.values()), 2)
Example #14
0
 def test_colormapper_transparent_nan(self):
     img = Image(np.array(
         [[0, 1], [2, 3]])).options(clipping_colors={'NaN': 'transparent'})
     plot = mpl_renderer.get_plot(img)
     cmap = plot.handles['artist'].cmap
     self.assertEqual(cmap._rgba_bad, (1.0, 1.0, 1.0, 0))
Example #15
0
 def test_colormapper_color_levels(self):
     img = Image(np.array([[0, 1], [2, 3]])).options(color_levels=5)
     plot = mpl_renderer.get_plot(img)
     artist = plot.handles['artist']
     self.assertEqual(len(artist.cmap.colors), 5)
Example #16
0
 def test_dimension_values_datetime_ycoords(self):
     start = np.datetime64(dt.datetime.today())
     end = start+np.timedelta64(1, 's')
     ys = date_range(start, end, 10)
     image = Image((self.xs, ys, self.array))
     self.assertEqual(image.dimension_values(1, expanded=False), ys)
Example #17
0
 def callback():
     return GridSpace({(i, j): Image(np.array([[i, j], [2, 3]]))
                       for i in range(1, 3) for j in range(1, 3)})
Example #18
0
 def test_deep_redim_dimension_name_with_spec(self):
     fn = lambda i: Image(sine_array(0, i))
     dmap = DynamicMap(fn, kdims=['i']).redim(Image, x='X')
     self.assertEqual(dmap[0].kdims[0].name, 'X')
Example #19
0
 def test_colormapper_symmetric(self):
     img = Image(np.array([[0, 1], [2, 3]])).options(symmetric=True)
     plot = bokeh_renderer.get_plot(img)
     cmapper = plot.handles['color_mapper']
     self.assertEqual(cmapper.low, -3)
     self.assertEqual(cmapper.high, 3)
Example #20
0
 def test_sampled_unbounded_init(self):
     fn = lambda i: Image(sine_array(0, i))
     dmap = DynamicMap(fn, kdims=['i'])
     self.assertEqual(dmap.unbounded, ['i'])
Example #21
0
 def test_colormapper_color_levels(self):
     img = Image(np.array([[0, 1], [2, 3]])).options(color_levels=5)
     plot = bokeh_renderer.get_plot(img)
     cmapper = plot.handles['color_mapper']
     self.assertEqual(len(cmapper.palette), 5)
Example #22
0
 def test_dynamic_operation(self):
     fn = lambda i: Image(sine_array(0, i))
     dmap = DynamicMap(fn, kdims=['i'])
     dmap_with_fn = Dynamic(dmap, operation=lambda x: x.clone(x.data * 2))
     self.assertEqual(dmap_with_fn[5], Image(sine_array(0, 5) * 2))
Example #23
0
 def test_colormapper_transparent_nan(self):
     img = Image(np.array([[0, 1], [2, 3]])).options(clipping_colors={'NaN': 'transparent'})
     plot = bokeh_renderer.get_plot(img)
     cmapper = plot.handles['color_mapper']
     self.assertEqual(cmapper.nan_color, 'rgba(0, 0, 0, 0)')
Example #24
0
 def test_dynamic_operation_init_renamed_stream_params(self):
     img = Image(sine_array(0, 5))
     stream = RangeX(rename={'x_range': 'bin_range'})
     histogram(img, bin_range=(0, 1), streams=[stream], dynamic=True)
     self.assertEqual(stream.x_range, (0, 1))
Example #25
0
 def test_colormapper_min_max_colors(self):
     img = Image(np.array([[0, 1], [2, 3]])).options(clipping_colors={'min': 'red', 'max': 'blue'})
     plot = bokeh_renderer.get_plot(img)
     cmapper = plot.handles['color_mapper']
     self.assertEqual(cmapper.low_color, 'red')
     self.assertEqual(cmapper.high_color, 'blue')
Example #26
0
 def test_dynamic_element_underlay(self):
     fn = lambda i: Image(sine_array(0, i))
     dmap = DynamicMap(fn, kdims=['i'])
     dynamic_overlay = Image(sine_array(0, 10)) * dmap
     overlaid = Image(sine_array(0, 10)) * Image(sine_array(0, 5))
     self.assertEqual(dynamic_overlay[5], overlaid)
Example #27
0
 def test_distribution_from_image(self):
     dist = Distribution(Image(np.arange(5) * np.arange(5)[:, np.newaxis]),
                         'z')
     self.assertEqual(dist.range(0), (0, 16))
Example #28
0
 def test_deep_relabel_label(self):
     fn = lambda i: Image(sine_array(0, i))
     dmap = DynamicMap(fn, kdims=['i']).relabel(label='Test')
     self.assertEqual(dmap[0].label, 'Test')
Example #29
0
 def test_image_colormapping(self):
     img = Image(np.random.rand(10, 10))(plot=dict(logz=True))
     self._test_colormapping(img, 2, True)
Example #30
0
 def callback(x, y):
     return Image(np.array([[0, 1], [2, 3]])) + Text(0, 0, 'Test')
Example #31
0
 def test_layout_title_show_title_false(self):
     hmap1 = HoloMap({a: Image(np.random.rand(10, 10)) for a in range(3)})
     hmap2 = HoloMap({a: Image(np.random.rand(10, 10)) for a in range(3)})
     layout = Layout([hmap1, hmap2])(plot=dict(show_title=False))
     plot = bokeh_renderer.get_plot(layout)
     self.assertTrue('title' not in plot.handles)
Example #32
0
 def test_range_datetime_ydim(self):
     start = np.datetime64(dt.datetime.today())
     end = start+np.timedelta64(1, 's')
     ys = date_range(start, end, 10)
     image = Image((self.xs, ys, self.array))
     self.assertEqual(image.range(1), (start, end))
Example #33
0
 def test_redim_dimension_unit_aux(self):
     fn = lambda i: Image(sine_array(0, i))
     dmap = DynamicMap(fn, kdims=['i']).redim.unit(i='m/s')
     self.assertEqual(dmap.kdims[0].unit, 'm/s')
Example #34
0
 def test_image_sample(self):
     image = Image(self.array1)
     self.assertEqual(image.sample(y=0.25),
                      Curve(np.array([(-0.333333, 0), (0, 1), (0.333333, 2)]),
                            kdims=['x'], vdims=['z']))
Example #35
0
 def test_redim_dimension_type_aux(self):
     fn = lambda i: Image(sine_array(0, i))
     dmap = DynamicMap(fn, kdims=['i']).redim.type(i=int)
     self.assertEqual(dmap.kdims[0].type, int)