test_flip_image.py 1.23 KB
Newer Older
BO ZHANG's avatar
BO ZHANG committed
1
2
3
4
import unittest

import numpy as np

BO ZHANG's avatar
BO ZHANG committed
5
6
from csst_proto import flip_image, read_default_image
from csst_proto import flip_multiple_images_jl, flip_multiple_images_mp
BO ZHANG's avatar
BO ZHANG committed
7
8
9
10


class FlipImageTestCase(unittest.TestCase):
    def test_flip_image(self):
BO ZHANG's avatar
BO ZHANG committed
11
        """test flip image"""
BO ZHANG's avatar
BO ZHANG committed
12
        self.assertTrue(
BO ZHANG's avatar
BO ZHANG committed
13
            np.all(flip_image(read_default_image()) == np.array([[4, 3], [2, 1]]))
BO ZHANG's avatar
BO ZHANG committed
14
15
16
17
18
        )

        # the code fails for 1D array
        with self.assertRaises(AssertionError):
            flip_image(np.array([1, 2, 3, 4]))
BO ZHANG's avatar
BO ZHANG committed
19
20

    def test_flip_multiple_images_mp(self):
BO ZHANG's avatar
BO ZHANG committed
21
        """test flip multiple images with multiprocessing"""
BO ZHANG's avatar
BO ZHANG committed
22
        n_jobs = 10
BO ZHANG's avatar
BO ZHANG committed
23
        imgs = [read_default_image() for i_job in range(n_jobs)]
BO ZHANG's avatar
BO ZHANG committed
24
25
        flipped_imgs = flip_multiple_images_mp(imgs, n_jobs)
        for i_job in range(n_jobs):
BO ZHANG's avatar
BO ZHANG committed
26
            self.assertTrue(np.all(flipped_imgs[i_job] == np.array([[4, 3], [2, 1]])))
BO ZHANG's avatar
BO ZHANG committed
27
28

    def test_flip_multiple_images_jl(self):
BO ZHANG's avatar
BO ZHANG committed
29
        """test flip multiple images with joblib"""
BO ZHANG's avatar
BO ZHANG committed
30
        n_jobs = 10
BO ZHANG's avatar
BO ZHANG committed
31
        imgs = [read_default_image() for i_job in range(n_jobs)]
BO ZHANG's avatar
BO ZHANG committed
32
33
        flipped_imgs = flip_multiple_images_jl(imgs, n_jobs)
        for i_job in range(n_jobs):
BO ZHANG's avatar
BO ZHANG committed
34
            self.assertTrue(np.all(flipped_imgs[i_job] == np.array([[4, 3], [2, 1]])))