示例#1
0
    def test_get_acquisition_data_subset(self):
        nr = NexusReader(self.filename)
        key = nr.get_image_keys()
        sl = nr.get_acquisition_data_subset(0, 10)
        data = nr.get_acquisition_data().subset(['vertical', 'horizontal'])

        self.assertTrue(sl.shape, (10, data.shape[1]))
示例#2
0
    def testAll(self):
        if has_wget:
            # def testGetDimensions(self):
            nr = NexusReader(self.filename)
            self.assertEqual(nr.get_sinogram_dimensions(), (135, 91, 160),
                             "Sinogram dimensions are not correct")

            # def testGetProjectionDimensions(self):
            nr = NexusReader(self.filename)
            self.assertEqual(nr.get_projection_dimensions(), (91, 135, 160),
                             "Projection dimensions are not correct")

            # def testLoadProjectionWithoutDimensions(self):
            nr = NexusReader(self.filename)
            projections = nr.load_projection()
            self.assertEqual(
                projections.shape, (91, 135, 160),
                "Loaded projection data dimensions are not correct")

            # def testLoadProjectionWithDimensions(self):
            nr = NexusReader(self.filename)
            projections = nr.load_projection(
                (slice(0, 1), slice(0, 135), slice(0, 160)))
            self.assertEqual(
                projections.shape, (1, 135, 160),
                "Loaded projection data dimensions are not correct")

            # def testLoadProjectionCompareSingle(self):
            nr = NexusReader(self.filename)
            projections_full = nr.load_projection()
            projections_part = nr.load_projection(
                (slice(0, 1), slice(0, 135), slice(0, 160)))
            numpy.testing.assert_array_equal(projections_part,
                                             projections_full[0:1, :, :])

            # def testLoadProjectionCompareMulti(self):
            nr = NexusReader(self.filename)
            projections_full = nr.load_projection()
            projections_part = nr.load_projection(
                (slice(0, 3), slice(0, 135), slice(0, 160)))
            numpy.testing.assert_array_equal(projections_part,
                                             projections_full[0:3, :, :])

            # def testLoadProjectionCompareRandom(self):
            nr = NexusReader(self.filename)
            projections_full = nr.load_projection()
            projections_part = nr.load_projection(
                (slice(1, 8), slice(5, 10), slice(8, 20)))
            numpy.testing.assert_array_equal(projections_part,
                                             projections_full[1:8, 5:10, 8:20])

            # def testLoadProjectionCompareFull(self):
            nr = NexusReader(self.filename)
            projections_full = nr.load_projection()
            projections_part = nr.load_projection(
                (slice(None, None), slice(None, None), slice(None, None)))
            numpy.testing.assert_array_equal(projections_part,
                                             projections_full[:, :, :])

            # def testLoadFlatCompareFull(self):
            nr = NexusReader(self.filename)
            flats_full = nr.load_flat()
            flats_part = nr.load_flat(
                (slice(None, None), slice(None, None), slice(None, None)))
            numpy.testing.assert_array_equal(flats_part, flats_full[:, :, :])

            # def testLoadDarkCompareFull(self):
            nr = NexusReader(self.filename)
            darks_full = nr.load_dark()
            darks_part = nr.load_dark(
                (slice(None, None), slice(None, None), slice(None, None)))
            numpy.testing.assert_array_equal(darks_part, darks_full[:, :, :])

            # def testProjectionAngles(self):
            nr = NexusReader(self.filename)
            angles = nr.get_projection_angles()
            self.assertEqual(
                angles.shape, (91, ),
                "Loaded projection number of angles are not correct")

            # def test_get_acquisition_data_subset(self):
            nr = NexusReader(self.filename)
            key = nr.get_image_keys()
            sl = nr.get_acquisition_data_subset(0, 10)
            data = nr.get_acquisition_data()
            print(data.geometry)
            print(data.geometry.dimension_labels)
            print(data.dimension_labels)
            rdata = data.subset(channel=0)

            #

            self.assertTrue(sl.shape, (10, rdata.shape[1]))

            try:
                data.subset(['vertical', 'horizontal'])
                self.assertTrue(False)
            except ValueError as ve:
                print("Exception catched", ve)
                self.assertTrue(True)
        else:
            # skips all tests if module wget is not present
            self.assertFalse(has_wget)