Esempio n. 1
0
class ImageTests(unittest.TestCase):
    """
    Basically just tests that the Image API works and that Images act as Numpy arrays. There's very little going on
    here other than simply storing data.

    """
    def setUp(self):
        array = np.array([[0, 1, 254], [45, 12, 9], [12, 12, 99]])
        self.image = Image(array)
        self.image.add_params(1200.314, 17, 2, 'GFP', 1)

    def test_size(self):
        self.assertEqual(self.image.height, 3)
        self.assertEqual(self.image.width, 3)

    def test_timestamp(self):
        self.assertEqual(self.image.timestamp, 1.200314)

    def test_frame_number(self):
        self.assertEqual(self.image.frame_number, 17)

    def test_fov(self):
        self.assertEqual(self.image.field_of_view, 2)

    def test_channel(self):
        self.assertEqual(self.image.channel, 'GFP')

    def test_z_level(self):
        self.assertEqual(self.image.z_level, 1)

    def test_slice(self):
        subimage = self.image[:2, :2]
        expected = np.array([[0, 1], [45, 12]])
        self.assertTrue(np.array_equal(subimage, expected))
Esempio n. 2
0
    def get_image_by_attributes(self, frame_number, field_of_view, channel_name, z_level, height, width):
        """
        Attempts to get Image based on attributes alone.

        :type frame_number:    int
        :type field_of_view:    int
        :type channel_name:    str
        :type z_level:    int
        :type height:    int
        :type width:    int

        :rtype: Image or None
        """
        image_group_number = self._calculate_image_group_number(frame_number, field_of_view, z_level)
        try:
            timestamp, raw_image_data = self._get_raw_image_data(image_group_number,
                                                                 self._channel_offset[channel_name],
                                                                 height,
                                                                 width)
            image = Image(raw_image_data)
            image.add_params(image_group_number, timestamp, frame_number, field_of_view, channel_name, z_level)
        except (TypeError, NoImageError):
            return None
        else:
            return image
Esempio n. 3
0
    def get_image_by_attributes(self, frame_number, field_of_view,
                                channel_name, z_level, height, width):
        """
        Attempts to get Image based on attributes alone.

        :type frame_number:    int
        :type field_of_view:    int
        :type channel_name:    str
        :type z_level:    int
        :type height:    int
        :type width:    int

        :rtype: Image or None
        """
        image_group_number = self._calculate_image_group_number(
            frame_number, field_of_view, z_level)
        try:
            timestamp, raw_image_data = self._get_raw_image_data(
                image_group_number, self._channel_offset[channel_name], height,
                width)
            image = Image(raw_image_data)
            image.add_params(image_group_number, timestamp, frame_number,
                             field_of_view, channel_name, z_level)
        except (TypeError, NoImageError):
            return None
        else:
            return image
Esempio n. 4
0
class ImageTests(unittest.TestCase):
    """
    Basically just tests that the Image API works and that Images act as Numpy arrays. There's very little going on
    here other than simply storing data.

    """
    def setUp(self):
        array = np.array([[0, 1, 254],
                          [45, 12, 9],
                          [12, 12, 99]])
        self.image = Image(array)
        self.image.add_params(1200.314, 17, 2, 'GFP', 1)

    def test_size(self):
        self.assertEqual(self.image.height, 3)
        self.assertEqual(self.image.width, 3)

    def test_timestamp(self):
        self.assertEqual(self.image.timestamp, 1.200314)

    def test_frame_number(self):
        self.assertEqual(self.image.frame_number, 17)

    def test_fov(self):
        self.assertEqual(self.image.field_of_view, 2)

    def test_channel(self):
        self.assertEqual(self.image.channel, 'GFP')

    def test_z_level(self):
        self.assertEqual(self.image.z_level, 1)

    def test_slice(self):
        subimage = self.image[:2, :2]
        expected = np.array([[0, 1],
                             [45, 12]])
        self.assertTrue(np.array_equal(subimage, expected))