示例#1
0
    def test_extend_packets_raises_error_on_misshaped_packets_passed(self):
        packet_shape = (self.n_f + 1, self.f_h, self.f_w)
        packets = list(self.items['raw'])
        packets.append(np.zeros(packet_shape))

        holder = dat.DataHolder(self.packet_shape)
        self.assertRaises(ValueError, holder.extend_packets, packets)
示例#2
0
    def test_get_data_as_dict_empty(self):
        included_types = ('raw', 'yx')
        item_types = self._create_item_types(included_types)
        exp_items = {itype: [] for itype in included_types}

        holder = dat.DataHolder(self.packet_shape, item_types=item_types)
        self._assertItemsDict(holder.get_data_as_dict(), exp_items, item_types)
示例#3
0
    def test_get_data_as_arraylike_empty(self):
        included_types = ('yx', )
        item_types = self._create_item_types(included_types)
        exp_items = tuple([] for itype in included_types)

        holder = dat.DataHolder(self.packet_shape, item_types=item_types)
        self._assertItemsArraylike(holder.get_data_as_arraylike(), exp_items,
                                   item_types)
示例#4
0
    def test_num_items_with_items(self):
        included_types = ('raw', )
        item_types = self._create_item_types(included_types)
        items = self._create_items(included_types, slice(0, 2))

        holder = dat.DataHolder(self.packet_shape, item_types=item_types)
        holder.extend(items)
        self.assertEqual(len(holder), 2)
示例#5
0
 def test_num_items_empty(self):
     included_types = (
         'yx',
         'gtux',
     )
     item_types = self._create_item_types(included_types)
     holder = dat.DataHolder(self.packet_shape, item_types=item_types)
     self.assertEqual(len(holder), 0)
示例#6
0
    def test_extend(self):
        included_types = ('raw', 'gtux')
        items = self._create_items(included_types, slice(0, 2))
        item_types = self._create_item_types(included_types)
        exp_items = {itype: list(items[itype]) for itype in included_types}

        holder = dat.DataHolder(self.packet_shape, item_types=item_types)
        holder.extend(items)
        self._assertItemsDict(holder.get_data_as_dict(), exp_items, item_types)
示例#7
0
    def test_append(self):
        included_types = ('yx', 'gtux')
        items = self._create_items(included_types, 0)
        item_types = self._create_item_types(included_types)
        exp_items = {itype: [items[itype]] for itype in included_types}

        holder = dat.DataHolder(self.packet_shape, item_types=item_types)
        holder.append(items)
        self._assertItemsDict(holder.get_data_as_dict(), exp_items, item_types)
示例#8
0
 def test_item_shapes(self):
     # might perhaps be better to not even have the dict keys for items
     # that are not contained in the holder
     included_types = ('yx', 'gtux', 'gtuy')
     item_types = self._create_item_types(included_types)
     item_shapes = self.item_shapes.copy()
     item_shapes['raw'] = None
     holder = dat.DataHolder(self.packet_shape, item_types=item_types)
     self.assertDictEqual(holder.item_shapes, item_shapes)
示例#9
0
 def __init__(self, name, packet_shape, resizable=True, dtype=np.uint8,
              item_types={'raw': True, 'yx': False, 'gtux': False,
                          'gtuy': False}):
     self._data = dat.DataHolder(packet_shape, item_types=item_types,
                                 dtype=dtype)
     self._targ = targ.TargetsHolder()
     self._meta = meta.MetadataHolder()
     self._num_data = 0
     self.resizable = True
     self.name = name
示例#10
0
    def test_get_data_as_arraylike_with_slice(self):
        included_types = ('yx', 'gtux', 'gtuy')
        item_types = self._create_item_types(included_types)
        items = self._create_items(included_types, slice(0, 2))
        exp_items = tuple(list(items[itype]) for itype in included_types)

        holder = dat.DataHolder(self.packet_shape, item_types=item_types)
        holder.extend(items)
        self._assertItemsArraylike(holder.get_data_as_arraylike(), exp_items,
                                   item_types)
示例#11
0
    def test_get_data_as_arraylike_with_range(self):
        included_types = ('gtux', )
        item_types = self._create_item_types(included_types)
        items = self._create_items(included_types, range(0, 3))
        req_range = range(1, 3)
        exp_items = tuple(
            list(items[itype][req_range]) for itype in included_types)

        holder = dat.DataHolder(self.packet_shape, item_types=item_types)
        holder.extend(items)
        self._assertItemsArraylike(holder.get_data_as_arraylike(req_range),
                                   exp_items, item_types)
示例#12
0
 def test_dtype_after_creation_with_items(self):
     dtype = 'uint16'
     included_types = ('raw', 'yx')
     item_types = self._create_item_types(included_types)
     holder = dat.DataHolder(self.packet_shape,
                             dtype=dtype,
                             item_types=item_types)
     packets = self.items['raw'].copy()
     holder.extend_packets(packets)
     items = holder.get_data_as_dict()
     self._assertItemsDtype(items, dtype, item_types)
     self.assertEqual(holder.dtype, dtype)
示例#13
0
    def test_get_data_as_dict_with_indexes_list(self):
        included_types = ('yx', )
        item_types = self._create_item_types(included_types)
        items = self._create_items(included_types, range(0, 3))
        req_idx = [0, 2]
        exp_items = {
            itype: list(items[itype][req_idx])
            for itype in included_types
        }

        holder = dat.DataHolder(self.packet_shape, item_types=item_types)
        holder.extend(items)
        self._assertItemsDict(holder.get_data_as_dict(req_idx), exp_items,
                              item_types)
示例#14
0
    def test_get_data_as_dict_with_range(self):
        included_types = ('raw', 'yx')
        item_types = self._create_item_types(included_types)
        items = self._create_items(included_types, range(0, 3))
        req_range = range(1, 3)
        exp_items = {
            itype: list(items[itype][req_range])
            for itype in included_types
        }

        holder = dat.DataHolder(self.packet_shape, item_types=item_types)
        holder.extend(items)
        self._assertItemsDict(holder.get_data_as_dict(req_range), exp_items,
                              item_types)
示例#15
0
    def test_shuffle(self):
        included_types = ('raw', 'yx')
        item_types = self._create_item_types(included_types)
        items = self._create_items(included_types, slice(0, 2))
        exp_items = {itype: items[itype] for itype in included_types}

        def shuffler(seq):
            temp = seq[0]
            seq[0] = seq[1]
            seq[1] = temp

        shuffler(exp_items['raw'])
        shuffler(exp_items['yx'])

        holder = dat.DataHolder(self.packet_shape, item_types=item_types)
        holder.extend_packets(items['raw'])
        holder.shuffle(shuffler, lambda: None)
        self._assertItemsDict(holder.get_data_as_dict(), exp_items, item_types)
示例#16
0
    def test_extend_raises_error_on_missing_items(self):
        item_types = self._create_item_types(('raw', 'yx', 'gtuy'))
        items = self._create_items(('raw', 'yx'), slice(0, 2))

        holder = dat.DataHolder(self.packet_shape, item_types=item_types)
        self.assertRaises(Exception, holder.extend, items)
示例#17
0
 def test_item_types(self):
     included_types = ('yx', 'gtux')
     item_types = self._create_item_types(included_types)
     holder = dat.DataHolder(self.packet_shape, item_types=item_types)
     self.assertDictEqual(holder.item_types, item_types)
示例#18
0
 def test_append_packet_raises_error_on_misshaped_packet_passed(self):
     packet_shape = (self.n_f + 1, self.f_h, self.f_w)
     packet = np.ones(packet_shape)
     holder = dat.DataHolder(self.packet_shape)
     self.assertRaises(ValueError, holder.append_packet, packet)
示例#19
0
 def test_dtype_on_creation_empty(self):
     dtype = 'uint16'
     holder = dat.DataHolder(self.packet_shape, dtype=dtype)
     self.assertEqual(holder.dtype, dtype)
示例#20
0
 def test_dtype_on_casting_empty(self):
     dtype = 'uint32'
     holder = dat.DataHolder(self.packet_shape, dtype=dtype)
     dtype = 'uint16'
     holder.dtype = dtype
     self.assertEqual(holder.dtype, dtype)
示例#21
0
 def test_accepted_packet_shape(self):
     packet_shape = self.packet_shape
     holder = dat.DataHolder(packet_shape)
     self.assertTupleEqual(holder._packet_shape, packet_shape)