def crossReadWrite(self, testMage, casttype=None, compressor=None, clevel = 1 ):
mrcInput = os.path.join( tmpDir, "testIn.mrcz" )
mrcOutput = os.path.join( tmpDir, "testOut.mrcz" )
compressor = None
blocksize = 64
clevel = 1
pixelsize = [1.2, 2.6, 3.4]
mrcz.writeMRC( testMage, mrcInput,
pixelsize=pixelsize, pixelunits=u"\AA",
voltage=300.0, C3=2.7, gain=1.05,
compressor=compressor )
sub.call( cmrczProg + " -i %s -o %s -c %s -B %d -l %d"
%(mrcInput, mrcOutput, compressor, blocksize, clevel ), shell=True )
rereadMage, rereadHeader = mrcz.readMRC( mrcOutput, pixelunits=u"\AA" )
os.remove( mrcOutput )
os.remove( mrcInput )
assert( np.all(testMage.shape == rereadMage.shape) )
assert( testMage.dtype == rereadMage.dtype )
npt.assert_array_almost_equal( testMage, rereadMage )
npt.assert_array_equal( rereadHeader['voltage'], 300.0 )
npt.assert_array_almost_equal( rereadHeader['pixelsize'], pixelsize )
npt.assert_array_equal( rereadHeader['pixelunits'], u"\AA" )
npt.assert_array_equal( rereadHeader['C3'], 2.7 )
npt.assert_array_equal( rereadHeader['gain'], 1.05 )
评论列表
文章目录