Пример #1
0
    def get_partitions(self):
        fileset = FileSet3D([
            MemoryFile3D(self.data.reshape(self.shape.flatten_nav()),
                         check_cast=self._check_cast)
        ])

        stackheight = int(np.product(self.tileshape[:-self.sig_dims]))
        for part_slice, start, stop in Partition3D.make_slices(
                shape=self.shape, num_partitions=self.num_partitions):
            log.debug("creating partition", part_slice, start, stop,
                      stackheight)
            if self._crop_frames:
                yield CropFramesMemPartition(
                    meta=self._meta,
                    partition_slice=part_slice,
                    fileset=fileset.get_for_range(start, stop),
                    start_frame=start,
                    num_frames=stop - start,
                    stackheight=stackheight,
                    tileshape=self.tileshape,
                    tiledelay=self._tiledelay,
                )
            else:
                yield MemPartition(
                    meta=self._meta,
                    partition_slice=part_slice,
                    fileset=fileset.get_for_range(start, stop),
                    start_frame=start,
                    num_frames=stop - start,
                    stackheight=stackheight,
                    tiledelay=self._tiledelay,
                )
Пример #2
0
    def get_partitions(self):
        fileset = FileSet3D([
            MemoryFile3D(self.data.reshape(self.shape.flatten_nav()))
        ])

        stackheight = int(np.product(self.tileshape[:-self.sig_dims]))
        for part_slice, start, stop in Partition3D.make_slices(
                shape=self.shape,
                num_partitions=self.num_partitions):
            print("creating partition", part_slice, start, stop, stackheight)
            yield Partition3D(
                meta=self._meta,
                partition_slice=part_slice,
                fileset=fileset.get_for_range(start, stop),
                start_frame=start,
                num_frames=stop - start,
                stackheight=stackheight,
            )
Пример #3
0
def test_num_part_larger_than_num_frames():
    shape = Shape((1, 1, 256, 256), sig_dims=2)
    slice_iter = Partition3D.make_slices(shape=shape, num_partitions=2)
    next(slice_iter)
    with pytest.raises(StopIteration):
        next(slice_iter)