Esempio n. 1
0
    def test_get_img_info_uint16_tif_s3(self):
        self.set_s3_args()
        ingest_job = IngestJob(self.args)

        z_slice = 0

        # create an image
        img_fname = ingest_job.get_img_fname(z_slice)
        create_img_file(ingest_job.img_size[0], ingest_job.img_size[1],
                        self.args.datatype, self.args.extension, img_fname)

        # put the image on a bucket
        s3 = boto3.resource('s3')
        with open(img_fname, 'rb') as img_file:
            s3.Bucket(self.args.s3_bucket_name).put_object(Key=img_fname,
                                                           Body=img_file)

        # get info on that image
        im_width, im_height, im_datatype = ingest_job.get_img_info(z_slice)

        # assert the info is correct
        im = np.array(Image.open(img_fname))
        assert im_width == im.shape[1]
        assert im_height == im.shape[0]
        assert im_datatype == im.dtype

        s3.Bucket(self.args.s3_bucket_name).delete_objects(
            Delete={'Objects': [{
                'Key': img_fname
            }]})

        os.remove(ingest_job.get_log_fname())
        os.remove(img_fname)
Esempio n. 2
0
    def test_get_img_fname_channel(self):
        self.args.base_filename = 'img_<ch>_<p:4>'
        self.args.base_path = 'local_img_<ch>_test_data/'

        ingest_job = IngestJob(self.args)

        img_fname = ingest_job.get_img_fname(0)
        assert img_fname == 'local_img_{0}_test_data/img_{0}_{1:04d}.tif'.format(
            self.args.channel, 0)
        os.remove(ingest_job.get_log_fname())
Esempio n. 3
0
    def test_get_img_fname(self):
        self.args.extension = 'tif'
        ingest_job = IngestJob(self.args)

        img_fname = ingest_job.get_img_fname(0)

        img_fname_test = '{}img_{:04d}.{}'.format(self.args.base_path, 0,
                                                  self.args.extension)
        assert img_fname == img_fname_test
        os.remove(ingest_job.get_log_fname())
Esempio n. 4
0
    def test_load_img_local(self):
        ingest_job = IngestJob(self.args)

        z_slice = 0

        img_fname = ingest_job.get_img_fname(z_slice)
        create_img_file(ingest_job.img_size[0], ingest_job.img_size[1],
                        self.args.datatype, self.args.extension, img_fname)

        im = ingest_job.load_img(z_slice)

        img_local_test = np.array(Image.open(img_fname))

        assert np.array_equal(im, img_local_test)
        os.remove(ingest_job.get_log_fname())
        os.remove(img_fname)
Esempio n. 5
0
    def test_get_img_info_uint16_png(self):
        file_format = 'png'
        self.args.file_format = file_format
        ingest_job = IngestJob(self.args)

        z_slice = 0

        img_fname = ingest_job.get_img_fname(z_slice)
        create_img_file(ingest_job.img_size[0], ingest_job.img_size[1],
                        self.args.datatype, self.args.extension, img_fname)

        im_width, im_height, im_datatype = ingest_job.get_img_info(z_slice)
        assert im_width == ingest_job.img_size[0]
        assert im_height == ingest_job.img_size[1]
        assert im_datatype == self.args.datatype
        os.remove(ingest_job.get_log_fname())
        os.remove(img_fname)
Esempio n. 6
0
    def test_create_local_IngestJob_neg_z_extents_offset_range(self):
        self.args.z_extent = [-1000, 2000]
        self.args.z_range = [-10, 10]
        self.args.offset_extents = True

        ingest_job = IngestJob(self.args)

        assert ingest_job.x_extent == [0, 1000]
        assert ingest_job.offsets == [0, 0, 1000]
        assert ingest_job.z_extent == [0, 3000]
        assert ingest_job.z_range == [-10, 10]

        img_fname = ingest_job.get_img_fname(-5)
        # assert that first tif image has a file name with the negative original extent of the data
        img_fname_test = '{}img_{:04d}.{}'.format(self.args.base_path, -5,
                                                  self.args.extension)
        assert img_fname == img_fname_test

        os.remove(ingest_job.get_log_fname())
Esempio n. 7
0
    def test_get_img_info_uint64_tif(self):
        file_format = 'tif'
        dtype = 'uint64'
        self.args.file_format = file_format
        self.args.datatype = dtype
        self.args.source_channel = 'def_files'
        ingest_job = IngestJob(self.args)

        z_slice = 0

        img_fname = ingest_job.get_img_fname(z_slice)
        create_img_file(ingest_job.img_size[0], ingest_job.img_size[1],
                        self.args.datatype, self.args.extension, img_fname)

        im_width, im_height, im_datatype = ingest_job.get_img_info(z_slice)
        assert im_width == ingest_job.img_size[0]
        assert im_height == ingest_job.img_size[1]
        assert im_datatype == self.args.datatype
        os.remove(ingest_job.get_log_fname())
        os.remove(img_fname)