more consistent handling of void datasets

This commit is contained in:
P.M. Sutter 2014-05-06 18:00:27 -05:00
parent 1218ba3bdd
commit 2ae082069e
2 changed files with 48 additions and 56 deletions

View file

@ -219,15 +219,17 @@ class Catalog:
zones2Parts = None
void2Zones = None
voids = None
sampleInfo = None
# -----------------------------------------------------------------------------
def loadVoidCatalog(sampleDir):
def loadVoidCatalog(sampleDir, dataPortion="central"):
#print " Loading particle data..."
sys.stdout.flush()
catalog = Catalog()
with open(sampleDir+"/sample_info.dat", 'rb') as input:
sample = pickle.load(input)
catalog.sampleInfo = sample
print "Loading info..."
infoFile = sampleDir+"/zobov_slice_"+sample.fullName+".par"
@ -248,6 +250,7 @@ def loadVoidCatalog(sampleDir):
partData, boxLen, volNorm, isObservationData, ranges = loadPart(sampleDir)
numPartTot = len(partData)
catalog.numPartTot = numPartTot
catalog.partPos = partData
catalog.part = []
for i in xrange(len(partData)):
catalog.part.append(Bunch(x = partData[i][0],
@ -269,7 +272,7 @@ def loadVoidCatalog(sampleDir):
catalog.part[ivol].volume = vols[ivol] / volNorm
print "Loading voids..."
fileName = sampleDir+"/voidDesc_central_"+sample.fullName+".out"
fileName = sampleDir+"/untrimmed_voidDesc_"+dataPortion+"_"+sample.fullName+".out"
catData = np.loadtxt(fileName, comments="#", skiprows=2)
catalog.voids = []
for line in catData:
@ -283,21 +286,61 @@ def loadVoidCatalog(sampleDir):
voidVol = line[7],
numPart = int(line[8]),
densCon = line[9],
voidProp = line[10],
voidProb = line[10],
radius = pow(line[7]/volNorm*3./4./np.pi, 1./3.),
barycenter = np.zeros((3))))
barycenter = np.zeros((3))
parentID = 0,
treeLevel = 0,
numChildren = 0,
centralDen = 0.,
eigenVals = np.zeros((3)),
eigenVecs = np.zeros((3,3)),
))
print "Read %d voids" % len(catalog.voids)
print "Loading barycenters..."
iLine = 0
for line in open(sampleDir+"/barycenters_central_"+sample.fullName+".out"):
for line in open(sampleDir+"/untrimmed_barycenters_"+dataPortion+"_"+sample.fullName+".out"):
line = line.split()
catalog.voids[iLine].barycenter[0] = float(line[1])
catalog.voids[iLine].barycenter[1] = float(line[2])
catalog.voids[iLine].barycenter[2] = float(line[3])
iLine += 1
print "Loading derived void information..."
iLine = 0
for line in open(sampleDir+"/untrimmed_centers_"+dataPortion+"_"+sample.fullName+".out"):
line = line.split()
catalog.voids[iLine].volume = float(line[6])
catalog.voids[iLine].radius = float(line[4])
catalog.voids[iLine].parentID = float(line[10])
catalog.voids[iLine].treeLevel = float(line[11])
catalog.voids[iLine].numChildren = float(line[12])
catalog.voids[iLine].centralDen = float(line[13])
iLine += 1
print "Loading shapes..."
iLine = 0
for line in open(sampleDir+"/untrimmed_shapes_"+dataPortion+"_"+sample.fullName+".out"):
line = line.split()
catalog.voids[iLine].eigenVals[0] = float(line[1])
catalog.voids[iLine].eigenVals[1] = float(line[2])
catalog.voids[iLine].eigenVals[2] = float(line[3])
catalog.voids[iLine].eigenVecs[0][0] = float(line[4])
catalog.voids[iLine].eigenVecs[0][1] = float(line[5])
catalog.voids[iLine].eigenVecs[0][2] = float(line[6])
catalog.voids[iLine].eigenVecs[1][0] = float(line[7])
catalog.voids[iLine].eigenVecs[1][1] = float(line[8])
catalog.voids[iLine].eigenVecs[1][2] = float(line[9])
catalog.voids[iLine].eigenVecs[2][0] = float(line[10])
catalog.voids[iLine].eigenVecs[2][1] = float(line[11])
catalog.voids[iLine].eigenVecs[2][2] = float(line[12])
iLine += 1
print "Loading zone-void membership info..."
zoneFile = sampleDir+"/voidZone_"+sample.fullName+".dat"