You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

77 lines
1.4 KiB
Python

#!/usr/bin/python3
import os,sys,math
import numpy as np
import matplotlib.pyplot as plt
#################
## Subroutines ##
#################
def binload_float_ndarray(fp):
arr = np.zeros((0),dtype=np.float32,order='F')
qb = fp.read(4)
Nd = np.frombuffer(qb,dtype=np.int32,count=1)[0]
shp = np.zeros((Nd),dtype=np.int32)
piprod = 1
for I in range(0,Nd):
qb = fp.read(4)
shp[I] = np.frombuffer(qb,dtype=np.int32,count=1)[0]
piprod = piprod*shp[I]
qb = fp.read(4*piprod)
arr = np.frombuffer(qb,dtype=np.float32,count=piprod)
arr = arr.reshape(shp)
return arr;
def binsave_float_ndarray(fp,arr):
return
#################
## Main Script ##
#################
def test_1():
fname = "./test_scripts/test_dbuff_rand_dpr32.bin"
try:
fp = open(fname,"rb")
except:
print("Could not open {} for reading".format(fname))
return
arr1 = binload_float_ndarray(fp)
arr2 = binload_float_ndarray(fp)
fp.close()
plt.subplot(2,2,1)
plt.imshow(arr1)
plt.subplot(2,2,2)
plt.imshow(arr2)
plt.subplot(2,2,3)
plt.hist(arr1.flatten(),bins=100)
plt.subplot(2,2,4)
plt.hist(arr2.flatten(),bins=100)
plt.show()
print("{} {}".format(np.mean(arr2),np.std(arr2)))
return
if(__name__=="__main__"):
test_1()
exit(0)