예제 #1
0
 def test_extend(self):
     """Test the extend method"""
     # make ndarrays and DimArrays with identical data
     arr1 = np.arange(256).reshape((4,4,4,4))
     dat1 = DimArray(arr1,dims=[Dim(np.arange(100,500,100),name='one'),
                                Dim(np.arange(30,70,10),name='two'),
                                Dim(np.arange(4),name='three'),
                                Dim(np.arange(1000,1200,50),name='four')],
                     test='tst')
     arr2 = np.arange(256,512).reshape((4,4,4,4))
     dat2 = DimArray(arr2,dims=[Dim(np.arange(100,500,100),name='one'),
                                Dim(np.arange(30,70,10),name='two'),
                                Dim(np.arange(4,8),name='three'),
                                Dim(np.arange(1000,1200,50),name='four')],
                     test='tst')
     # extend
     dat1dat2 = dat1.extend(dat2,'three')
     arr1arr2 = np.concatenate([arr1,arr2],2)
     assert_array_equal(dat1dat2,arr1arr2)
예제 #2
0
 def test_extend(self):
     """Test the extend method"""
     # make ndarrays and DimArrays with identical data
     arr1 = np.arange(256).reshape((4,4,4,4))
     dat1 = DimArray(arr1,dims=[Dim(np.arange(100,500,100),name='one'),
                                Dim(np.arange(30,70,10),name='two'),
                                Dim(np.arange(4),name='three'),
                                Dim(np.arange(1000,1200,50),name='four')],
                     test='tst')
     arr2 = np.arange(256,512).reshape((4,4,4,4))
     dat2 = DimArray(arr2,dims=[Dim(np.arange(100,500,100),name='one'),
                                Dim(np.arange(30,70,10),name='two'),
                                Dim(np.arange(4,8),name='three'),
                                Dim(np.arange(1000,1200,50),name='four')],
                     test='tst')
     # extend
     dat1dat2 = dat1.extend(dat2,'three')
     arr1arr2 = np.concatenate([arr1,arr2],2)
     assert_array_equal(dat1dat2,arr1arr2)
예제 #3
0
    def test_extend(self):
        """Test the extend method"""
        # make ndarrays and DimArrays with identical data
        arr1 = np.arange(256).reshape((4,4,4,4))
        dat1 = DimArray(arr1,dims=[Dim(np.arange(100,500,100),name='one'),
                                   Dim(np.arange(30,70,10),name='two'),
                                   Dim(np.arange(4),name='three'),
                                   Dim(np.arange(1000,1200,50),name='four')],
                        test='tst')
        arr2 = np.arange(256,512).reshape((4,4,4,4))
        dat2 = DimArray(arr2,dims=[Dim(np.arange(100,500,100),name='one'),
                                   Dim(np.arange(30,70,10),name='two'),
                                   Dim(np.arange(4,8),name='three'),
                                   Dim(np.arange(1000,1200,50),name='four')],
                        test='tst')
        
        # extend with string label for axis
        dat1dat2 = dat1.extend(dat2,'three')
        arr1arr2 = np.concatenate([arr1,arr2],2)
        assert_array_equal(dat1dat2,arr1arr2)
        
        # extend with int label for axis
        dat1dat2 = dat1.extend(dat2,2)
        arr1arr2 = np.concatenate([arr1,arr2],2)
        assert_array_equal(dat1dat2,arr1arr2)

        # now the same again for the case when not all dimensions are identical in size:
        # make ndarrays and DimArrays with identical data
        arr1 = np.arange(256).reshape((8,2,16,1))
        dat1 = DimArray(arr1,dims=[Dim(np.arange(100,500,50),name='one'),
                                   Dim(np.arange(30,70,20),name='two'),
                                   Dim(np.arange(16),name='three'),
                                   Dim(np.arange(1000,1200,200),name='four')],
                        test='tst')
        arr2 = np.arange(256,512).reshape((8,2,16,1))
        dat2 = DimArray(arr2,dims=[Dim(np.arange(100,500,50),name='one'),
                                   Dim(np.arange(30,70,20),name='two'),
                                   Dim(np.arange(16,32),name='three'),
                                   Dim(np.arange(1000,1200,200),name='four')],
                        test='tst')
        # extend with string label for axis
        dat1dat2 = dat1.extend(dat2,'three')
        arr1arr2 = np.concatenate([arr1,arr2],2)
        assert_array_equal(dat1dat2,arr1arr2)

        # extend with int label for axis
        dat1dat2 = dat1.extend(dat2,2)
        arr1arr2 = np.concatenate([arr1,arr2],2)
        assert_array_equal(dat1dat2,arr1arr2)


        # now the same again for the case when not all dimensions are identical in size:
        # make ndarrays and DimArrays with identical data
        arr1 = np.arange(4).reshape((1,1,4))
        dat1 = DimArray(arr1,dims=[Dim([100],name='one'),
                                   Dim([30],name='two'),
                                   Dim(np.arange(4),name='three')],
                        test='tst')
        arr2 = np.arange(4,16).reshape((1,3,4))
        dat2 = DimArray(arr2,dims=[Dim([100],name='one'),
                                   Dim(np.arange(40,90,20),name='two'),
                                   Dim(np.arange(4),name='three')],
                        test='tst')
        # extend with string label for axis
        dat1dat2 = dat1.extend(dat2,'two')
        arr1arr2 = np.concatenate([arr1,arr2],1)
        assert_array_equal(dat1dat2,arr1arr2)

        # extend with int label for axis
        dat1dat2 = dat1.extend(dat2,1)
        arr1arr2 = np.concatenate([arr1,arr2],1)
        assert_array_equal(dat1dat2,arr1arr2)