mirror of
https://bitbucket.org/cosmicvoids/vide_public.git
synced 2025-07-04 15:21:11 +00:00
checkpoint for cleaning up output files and consolidating
This commit is contained in:
parent
acdb19e6df
commit
d6a939d2cf
3 changed files with 214 additions and 249 deletions
|
@ -299,35 +299,35 @@ def findEdgeGalaxies(galFile, maskFile, edgeGalFile, contourFile,
|
|||
log.write(" Saving galaxy flags to file...\n")
|
||||
np.savetxt(edgeGalFile, flagList, fmt="%d")
|
||||
|
||||
# paint galaxy flags onto healpix map for diagnostics
|
||||
# TODO - drop this when done testing
|
||||
log.write(" Saving diagnostic maps to file...\n")
|
||||
flagMap = np.zeros(len(contourMap))
|
||||
justEdgeRA = RA[flagList == 1]
|
||||
justEdgeDec = Dec[flagList == 1]
|
||||
## paint galaxy flags onto healpix map for diagnostics
|
||||
## TODO - drop this when done testing
|
||||
#log.write(" Saving diagnostic maps to file...\n")
|
||||
#flagMap = np.zeros(len(contourMap))
|
||||
#justEdgeRA = RA[flagList == 1]
|
||||
#justEdgeDec = Dec[flagList == 1]
|
||||
|
||||
phi, theta = convertAngle(justEdgeRA, justEdgeDec)
|
||||
#phi, theta = convertAngle(justEdgeRA, justEdgeDec)
|
||||
|
||||
ipix = healpy.ang2pix(nside, theta, phi)
|
||||
for i in ipix:
|
||||
flagMap[i] += 1
|
||||
#np.put(flagMap, ipix, 1)
|
||||
#ipix = healpy.ang2pix(nside, theta, phi)
|
||||
#for i in ipix:
|
||||
# flagMap[i] += 1
|
||||
##np.put(flagMap, ipix, 1)
|
||||
|
||||
healpy.write_map(outputDir+"/flagged_galaxies.fits", flagMap,
|
||||
overwrite=True,
|
||||
dtype=np.dtype('float64'))
|
||||
#healpy.write_map(outputDir+"/flagged_galaxies.fits", flagMap,
|
||||
# overwrite=True,
|
||||
# dtype=np.dtype('float64'))
|
||||
|
||||
|
||||
allGalMap = np.zeros(len(contourMap))
|
||||
phi, theta = convertAngle(RA, Dec)
|
||||
#allGalMap = np.zeros(len(contourMap))
|
||||
#phi, theta = convertAngle(RA, Dec)
|
||||
|
||||
ipix = healpy.ang2pix(nside, theta, phi)
|
||||
for i in ipix:
|
||||
allGalMap[i] += 1
|
||||
#np.put(allGalMap, ipix, 1)
|
||||
#ipix = healpy.ang2pix(nside, theta, phi)
|
||||
#for i in ipix:
|
||||
# allGalMap[i] += 1
|
||||
##np.put(allGalMap, ipix, 1)
|
||||
|
||||
healpy.write_map(outputDir+"/all_galaxies.fits", allGalMap,
|
||||
overwrite=True,
|
||||
dtype=np.dtype('float64'))
|
||||
#healpy.write_map(outputDir+"/all_galaxies.fits", allGalMap,
|
||||
# overwrite=True,
|
||||
# dtype=np.dtype('float64'))
|
||||
|
||||
return
|
||||
|
|
|
@ -31,7 +31,10 @@ import os
|
|||
NetCDFFile = Dataset
|
||||
ncFloat = 'f8'
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
CATALOG_V1 = 1
|
||||
CATALOG_V2 = 2
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
def loadPart(sampleDir):
|
||||
print(" Loading particle data...")
|
||||
sys.stdout.flush()
|
||||
|
@ -270,11 +273,14 @@ def loadVoidCatalog(sampleDir,
|
|||
|
||||
print("Loading catalog from ", sampleDir)
|
||||
|
||||
isOldCatalog = os.path.exists(sampleDir+"/mask_index.txt")
|
||||
if os.path.exists(sampleDir+"/mask_index.txt"):
|
||||
version = CATALOG_V1
|
||||
else:
|
||||
version = CATALOG_V2
|
||||
|
||||
if isOldCatalog and clearNearBoundaries:
|
||||
if version == CATALOG_V1 and clearNearBoundaries:
|
||||
print("WARNING: Old catalog. Unable to clear near boundaries.")
|
||||
if isOldCatalog and maxCentralDen != -1:
|
||||
if version == CATALOG_V1 and maxCentralDen != -1:
|
||||
print("WARNING: Old catalog. Central density cuts already applied.")
|
||||
|
||||
if replicateOldCentralVoids:
|
||||
|
@ -310,19 +316,24 @@ def loadVoidCatalog(sampleDir,
|
|||
|
||||
# for new catalogs, we will load by default the whole shebang, then
|
||||
# apply filters later. for old catalogs, we need to pick the right file
|
||||
prefix = "untrimmed_"
|
||||
if isOldCatalog and clearTree: prefix = ""
|
||||
if version == CATALOG_V1:
|
||||
if clearTree:
|
||||
prefix = ""
|
||||
else:
|
||||
prefix = "untrimmed_"
|
||||
|
||||
dataPortion = "all"
|
||||
if isOldCatalog and clearEdges: dataPortion = "central"
|
||||
if clearEdges:
|
||||
dataPortion = "central"
|
||||
else:
|
||||
dataPortion = "all"
|
||||
|
||||
print("Loading voids...")
|
||||
fileName = sampleDir+"/"+prefix+"voidDesc_"+dataPortion+"_"+sample.fullName+".out"
|
||||
print("Loading version-1 voids...")
|
||||
fileName = sampleDir+"/"+prefix+"voidDesc_"+dataPortion+"_"+sample.fullName+".out"
|
||||
|
||||
catData = np.loadtxt(fileName, comments="#", skiprows=2)
|
||||
catalog.voids = []
|
||||
for line in catData:
|
||||
catalog.voids.append(Bunch(iVoid = int(line[0]),
|
||||
catData = np.loadtxt(fileName, comments="#", skiprows=2)
|
||||
catalog.voids = []
|
||||
for line in catData:
|
||||
catalog.voids.append(Bunch(iVoid = int(line[0]),
|
||||
voidID = int(line[1]),
|
||||
coreParticle = line[2],
|
||||
coreDens = line[3],
|
||||
|
@ -335,7 +346,6 @@ def loadVoidCatalog(sampleDir,
|
|||
voidProb = line[10],
|
||||
# below values to be read in or computed later
|
||||
radius = 0.,
|
||||
macrocenter = np.zeros((3)),
|
||||
redshift = 0,
|
||||
RA = 0,
|
||||
Dec = 0,
|
||||
|
@ -351,78 +361,130 @@ def loadVoidCatalog(sampleDir,
|
|||
nearestEdge = 0.
|
||||
))
|
||||
|
||||
catalog.numVoids = len(catalog.voids)
|
||||
print(" Read %d voids" % catalog.numVoids)
|
||||
catalog.numVoids = len(catalog.voids)
|
||||
print(" Read %d voids" % catalog.numVoids)
|
||||
|
||||
print("Loading macrocenters...")
|
||||
iLine = 0
|
||||
for line in open(sampleDir+"/"+prefix+"macrocenters_"+dataPortion+"_"+sample.fullName+".out"):
|
||||
line = line.split()
|
||||
catalog.voids[iLine].macrocenter[0] = float(line[1])
|
||||
catalog.voids[iLine].macrocenter[1] = float(line[2])
|
||||
catalog.voids[iLine].macrocenter[2] = float(line[3])
|
||||
iLine += 1
|
||||
print("Loading macrocenters...")
|
||||
iLine = 0
|
||||
for line in open(sampleDir+"/"+prefix+"macrocenters_"+dataPortion+"_"+sample.fullName+".out"):
|
||||
line = line.split()
|
||||
catalog.voids[iLine].macrocenter[0] = float(line[1])
|
||||
catalog.voids[iLine].macrocenter[1] = float(line[2])
|
||||
catalog.voids[iLine].macrocenter[2] = float(line[3])
|
||||
iLine += 1
|
||||
|
||||
iLine = 0
|
||||
fileName = sampleDir+"/"+prefix+"sky_positions_"+dataPortion+"_"+sample.fullName+".out"
|
||||
catData = np.loadtxt(fileName, comments="#")
|
||||
for line in catData:
|
||||
catalog.voids[iLine].RA = float(line[0])
|
||||
catalog.voids[iLine].Dec = float(line[1])
|
||||
iLine += 1
|
||||
iLine = 0
|
||||
fileName = sampleDir+"/"+prefix+"sky_positions_"+dataPortion+"_"+sample.fullName+".out"
|
||||
catData = np.loadtxt(fileName, comments="#")
|
||||
for line in catData:
|
||||
catalog.voids[iLine].RA = float(line[0])
|
||||
catalog.voids[iLine].Dec = float(line[1])
|
||||
iLine += 1
|
||||
|
||||
|
||||
print("Loading derived void information...")
|
||||
fileName = sampleDir+"/"+prefix+"centers_"+dataPortion+"_"+sample.fullName+".out"
|
||||
catData = np.loadtxt(fileName, comments="#")
|
||||
for (iLine,line) in enumerate(catData):
|
||||
catalog.voids[iLine].volume = float(line[6])
|
||||
catalog.voids[iLine].radius = float(line[4])
|
||||
catalog.voids[iLine].redshift = float(line[5])
|
||||
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
|
||||
|
||||
fileName = sampleDir+"/"+prefix+"shapes_"+dataPortion+"_"+sample.fullName+".out"
|
||||
catData = np.loadtxt(fileName, comments="#")
|
||||
for (iLine,line) in enumerate(catData):
|
||||
catalog.voids[iLine].ellipticity = float(line[1])
|
||||
|
||||
catalog.voids[iLine].eigenVals[0] = float(line[2])
|
||||
catalog.voids[iLine].eigenVals[1] = float(line[3])
|
||||
catalog.voids[iLine].eigenVals[2] = float(line[4])
|
||||
|
||||
catalog.voids[iLine].eigenVecs[0][0] = float(line[5])
|
||||
catalog.voids[iLine].eigenVecs[0][1] = float(line[6])
|
||||
catalog.voids[iLine].eigenVecs[0][2] = float(line[7])
|
||||
|
||||
catalog.voids[iLine].eigenVecs[1][0] = float(line[8])
|
||||
catalog.voids[iLine].eigenVecs[1][1] = float(line[9])
|
||||
catalog.voids[iLine].eigenVecs[1][2] = float(line[10])
|
||||
|
||||
catalog.voids[iLine].eigenVecs[2][0] = float(line[11])
|
||||
catalog.voids[iLine].eigenVecs[2][1] = float(line[12])
|
||||
catalog.voids[iLine].eigenVecs[2][2] = float(line[13])
|
||||
|
||||
iLine += 1
|
||||
|
||||
fileName = sampleDir+"/"+prefix+"extraInfo_"+dataPortion+"_"+sample.fullName+".out"
|
||||
if os.path.exists(fileName):
|
||||
print("Loading derived void information...")
|
||||
fileName = sampleDir+"/"+prefix+"centers_"+dataPortion+"_"+sample.fullName+".out"
|
||||
catData = np.loadtxt(fileName, comments="#")
|
||||
for (iLine,line) in enumerate(catData):
|
||||
catalog.voids[iLine].voidType = int(line[0])
|
||||
catalog.voids[iLine].maxRadius = float(line[1])
|
||||
catalog.voids[iLine].nearestEdge = float(line[2])
|
||||
catalog.voids[iLine].volume = float(line[6])
|
||||
catalog.voids[iLine].radius = float(line[4])
|
||||
catalog.voids[iLine].redshift = float(line[5])
|
||||
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
|
||||
|
||||
fileName = sampleDir+"/"+prefix+"shapes_"+dataPortion+"_"+sample.fullName+".out"
|
||||
catData = np.loadtxt(fileName, comments="#")
|
||||
for (iLine,line) in enumerate(catData):
|
||||
catalog.voids[iLine].ellipticity = float(line[1])
|
||||
|
||||
catalog.voids[iLine].eigenVals[0] = float(line[2])
|
||||
catalog.voids[iLine].eigenVals[1] = float(line[3])
|
||||
catalog.voids[iLine].eigenVals[2] = float(line[4])
|
||||
|
||||
catalog.voids[iLine].eigenVecs[0][0] = float(line[5])
|
||||
catalog.voids[iLine].eigenVecs[0][1] = float(line[6])
|
||||
catalog.voids[iLine].eigenVecs[0][2] = float(line[7])
|
||||
|
||||
catalog.voids[iLine].eigenVecs[1][0] = float(line[8])
|
||||
catalog.voids[iLine].eigenVecs[1][1] = float(line[9])
|
||||
catalog.voids[iLine].eigenVecs[1][2] = float(line[10])
|
||||
|
||||
catalog.voids[iLine].eigenVecs[2][0] = float(line[11])
|
||||
catalog.voids[iLine].eigenVecs[2][1] = float(line[12])
|
||||
catalog.voids[iLine].eigenVecs[2][2] = float(line[13])
|
||||
|
||||
iLine += 1
|
||||
|
||||
iLine += 1
|
||||
|
||||
else:
|
||||
print(" Old catalog: extra info file not found")
|
||||
print("Loading version-2 voids...")
|
||||
fileName = sampleDir+"/"+prefix+"voidDatabase_"+sample.fullName+".out"
|
||||
|
||||
catalog.voids = []
|
||||
for line in catData:
|
||||
|
||||
macrocenter = np.zeros((3))
|
||||
macrocenter[0] = float(line[2])
|
||||
macrocenter[1] = float(line[3])
|
||||
macrocenter[2] = float(line[4])
|
||||
|
||||
eigenVals = np.zeros((3))
|
||||
eigenVecs = np.zeros((3,3))
|
||||
|
||||
eigenVals[0] = float(line[26])
|
||||
eigenVals[1] = float(line[27])
|
||||
eigenVals[2] = float(line[28])
|
||||
|
||||
eigenVecs[0][0] = float(line[29])
|
||||
eigenVecs[0][1] = float(line[30])
|
||||
eigenVecs[0][2] = float(line[31])
|
||||
eigenVecs[1][0] = float(line[32])
|
||||
eigenVecs[1][1] = float(line[33])
|
||||
eigenVecs[1][2] = float(line[34])
|
||||
eigenVecs[2][0] = float(line[35])
|
||||
eigenVecs[2][1] = float(line[36])
|
||||
eigenVecs[2][2] = float(line[37])
|
||||
|
||||
catalog.voids.append(Bunch(
|
||||
voidID = int(line[0]),
|
||||
voidType = int(line[1]),
|
||||
macrocenter = macrocenter,
|
||||
voidVol = float(line[5]),
|
||||
volume = float(line[6]),
|
||||
radius = float(line[7]),
|
||||
redshift = float(line[8]),
|
||||
RA = float(line[9]),
|
||||
Dec = float(line[10]),
|
||||
densCon = float(line[11]),
|
||||
maxRadius = float(line[12]),
|
||||
nearestEdge = float(line[13]),
|
||||
numPart = int(line[14]),
|
||||
parentID = int(line[15]),
|
||||
treeLevel = int(line[16]),
|
||||
numChildren = int(line[17]),
|
||||
centralDen = float(line[18]),
|
||||
coreParticle = int(line[19]),
|
||||
coreDens = float(line[20]),
|
||||
zoneVol = float(line[21]),
|
||||
zoneNumPart = int(line[22]),
|
||||
numZones = int(line[23]),
|
||||
voidProb = float(line[24]),
|
||||
ellipticity = float(line[25]),
|
||||
eigenVals = eigenVals,
|
||||
eigenVecs = eigenVecs
|
||||
))
|
||||
|
||||
catalog.numVoids = len(catalog.voids)
|
||||
print(" Read %d voids" % catalog.numVoids)
|
||||
|
||||
|
||||
|
||||
|
||||
# apply filters to new catalogs
|
||||
if not isOldCatalog:
|
||||
if version != CATALOG_V1:
|
||||
print("Filtering catalog...")
|
||||
if clearEdges: catalog = filterOnType(catalog, CENTRAL_VOID)
|
||||
if clearTree: catalog = filterOnTreeLevel(catalog, level=-1)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue