コード例 #1
0
ファイル: testdatashader.py プロジェクト: knut0815/holoviews
 def test_regrid_rgb_mean(self):
     arr = (np.arange(10) * np.arange(5)[np.newaxis].T).astype('f')
     rgb = RGB((range(10), range(5), arr, arr*2, arr*2))
     regridded = regrid(rgb, width=2, height=2, dynamic=False)
     new_arr = np.array([[1.6, 5.6], [6.4, 22.4]])
     expected = RGB(([2., 7.], [0.75, 3.25], new_arr, new_arr*2, new_arr*2), datatype=['xarray'])
     self.assertEqual(regridded, expected)
コード例 #2
0
 def test_rgb_regrid_packed(self):
     coords = {'x': [1, 2], 'y': [1, 2], 'band': [0, 1, 2]}
     arr = np.array([
         [[255, 10],
          [  0, 30]],
         [[  1,  0],
          [  0,  0]],
         [[127,  0],
          [  0, 68]],
     ]).T
     da = xr.DataArray(data=arr, dims=('x', 'y', 'band'), coords=coords)
     im = RGB(da, ['x', 'y'])
     agg = rasterize(im, width=3, height=3, dynamic=False, upsample=True)
     xs = [0.8333333, 1.5, 2.166666]
     ys = [0.8333333, 1.5, 2.166666]
     arr = np.array([
         [[255, 255, 10],
          [255, 255, 10],
          [  0,   0, 30]],
         [[  1,   1,  0],
          [  1,   1,  0],
          [  0,   0,  0]],
         [[127, 127,  0],
          [127, 127,  0],
          [  0,   0, 68]],
     ]).transpose((1, 2, 0))
     expected = RGB((xs, ys, arr))
     self.assertEqual(agg, expected)
コード例 #3
0
ファイル: testdatashader.py プロジェクト: knut0815/holoviews
 def setUp(self):
     self.rgb1_arr = np.array([[[0, 1], [1, 0]],
                               [[1, 0], [0, 1]],
                               [[0, 0], [0, 0]]], dtype=np.uint8).T*255
     self.rgb2_arr = np.array([[[0, 0], [0, 0]],
                               [[0, 0], [0, 0]],
                               [[1, 0], [0, 1]]], dtype=np.uint8).T*255
     self.rgb1 = RGB(self.rgb1_arr)
     self.rgb2 = RGB(self.rgb2_arr)
コード例 #4
0
 def test_spread_rgb_1px(self):
     arr = np.array([[[0, 0, 0], [0, 1, 1], [0, 1, 1]],
                     [[0, 0, 0], [0, 0, 0], [0, 0, 0]],
                     [[0, 0, 0], [0, 0, 0], [0, 0, 0]]], dtype=np.uint8).T*255
     spreaded = spread(RGB(arr))
     arr = np.array([[[0, 0, 1], [0, 0, 1], [0, 0, 1]],
                     [[0, 0, 0], [0, 0, 0], [0, 0, 0]],
                     [[0, 0, 0], [0, 0, 0], [0, 0, 0]],
                     [[1, 1, 1], [1, 1, 1], [1, 1, 1]]], dtype=np.uint8).T*255
     self.assertEqual(spreaded, RGB(arr))
コード例 #5
0
 def test_rgb_string_signature(self):
     img = RGB(np.zeros((2, 2, 3)), ['a', 'b'], ['R', 'G', 'B'])
     self.assertEqual(img.kdims, [Dimension('a'), Dimension('b')])
     self.assertEqual(
         img.vdims,
         [Dimension('R'), Dimension('G'),
          Dimension('B')])
コード例 #6
0
 def test_stack_add_compositor(self):
     combined = stack(self.rgb1 * self.rgb2, compositor='add')
     arr = np.array(
         [[[0, 255, 255], [255, 0, 0]], [[255, 0, 0], [0, 255, 255]]],
         dtype=np.uint8)
     expected = RGB(arr)
     self.assertEqual(combined, expected)
コード例 #7
0
 def test_shade_categorical_images_grid(self):
     xs, ys = [0.25, 0.75], [0.25, 0.75]
     data = NdOverlay(
         {
             'A':
             Image((xs, ys, [[1, 0], [0, 0]]),
                   datatype=['grid'],
                   vdims='z Count'),
             'B':
             Image((xs, ys, [[0, 0], [1, 0]]),
                   datatype=['grid'],
                   vdims='z Count'),
             'C':
             Image((xs, ys, [[0, 0], [1, 0]]),
                   datatype=['grid'],
                   vdims='z Count')
         },
         kdims=['z'])
     shaded = shade(data)
     r = [[228, 255], [66, 255]]
     g = [[26, 255], [150, 255]]
     b = [[28, 255], [129, 255]]
     a = [[40, 0], [255, 0]]
     expected = RGB((xs, ys, r, g, b, a),
                    datatype=['grid'],
                    vdims=RGB.vdims + [Dimension('A', range=(0, 1))])
     self.assertEqual(shaded, expected)
コード例 #8
0
 def test_shade_dt_xaxis_constant_yaxis(self):
     df = pd.DataFrame({'y': np.ones(100)}, index=pd.date_range('1980-01-01', periods=100, freq='1T'))
     rgb = shade(rasterize(Curve(df), dynamic=False, width=3))
     xs = np.array(['1980-01-01T00:16:30.000000', '1980-01-01T00:49:30.000000',
                    '1980-01-01T01:22:30.000000'], dtype='datetime64[us]')
     ys = np.array([])
     bounds = (np.datetime64('1980-01-01T00:00:00.000000'), 1.0,
               np.datetime64('1980-01-01T01:39:00.000000'), 1.0)
     expected = RGB((xs, ys, np.empty((0, 3, 4))), ['index', 'y'],
                    xdensity=1, ydensity=1, bounds=bounds)
     self.assertEqual(rgb, expected)
コード例 #9
0
 def init_data(self):
     self.xs = np.linspace(-9, 9, 10)
     self.ys = np.linspace(0.5, 9.5, 10)
     self.rgb_array = np.random.rand(10, 10, 3)
     self.rgb = RGB((self.xs, self.ys, self.rgb_array[:, :, 0],
                     self.rgb_array[:, :, 1], self.rgb_array[:, :, 2]))
コード例 #10
0
 def init_data(self):
     self.rgb_array = np.random.rand(10, 10, 3)
     self.rgb = RGB(self.rgb_array[::-1], bounds=(-10, 0, 10, 10))
コード例 #11
0
 def test_rgb_casting(self):
     rgb = RGB([], bounds=2)
     self.assertEqual(rgb, RGB(rgb))
コード例 #12
0
 def init_data(self):
     self.rgb = RGB(self.rgb_array[::-1], bounds=(-10, 0, 10, 10))