def test_compression_average2():
    partition = (10,5)
    tod = np.empty((2,15), float)
    tod[0,:] = [1,1,1,1,1,3,3,3,3,3,4,4,4,4,4]
    tod[1,:] = [1,2,1.,0.5,0.5,5,0,0,0,0,1,2,1,2,1.5]
    compression = CompressionAverageOperator(5, partitionin=partition)
    tod2 = compression(tod)
    assert tod2.shape == (2,3)
    assert_equal(tod2, [[1.,3.,4.],[1.,1.,1.5]])

    tod3 = compression.T(tod2)
    assert tod3.shape == (2,15)
    assert_almost_equal(tod3[0,:], (0.2,0.2,0.2,0.2,0.2,0.6,0.6,0.6,0.6,0.6,0.8,0.8,0.8,0.8,0.8))
    
    tod = np.array([1,2,2,3,3,3,4,4,4,4])
    compression = CompressionAverageOperator([1,2,3,4], partitionin=[1,2,3,4])
    tod2 = compression(tod)
    assert_almost_equal(tod2, [1,2,3,4])
    tod3 = compression.T(tod2)
    assert_almost_equal(tod3, 10*[1])
def test_compression_average1():
    data = np.array([1., 2., 2., 3.])
    compression = CompressionAverageOperator(2)
    compressed = compression(data)
    assert_equal(compressed, [1.5, 2.5])
    assert_equal(compression.T(compressed), [0.75, 0.75, 1.25, 1.25])
def test_downsampling2():
    a = CompressionAverageOperator(3)
    assert_almost_equal(a.todense(9).T, a.T.todense(3))
def test_compression_average3():
    a = CompressionAverageOperator(3)
    assert_almost_equal(a.todense(9).T, a.T.todense(3))