mangle/py_tools/mangleFitsToPly.py

43 lines
1.3 KiB
Python
Raw Normal View History

2021-06-21 16:38:06 +02:00
#!/usr/bin/env python
# takes a fits verion of a mangle file and removes unobserved sectors
# converts a mangle FITS file to a .ply file
import numpy as np
import os
import sys
import pylab as plt
import pyfits as py
maskFile = os.getenv("HOME")+"/workspace/Voids/catalogs/boss/boss_geometry_2011_06_10.fits"
outFile = os.getenv("HOME")+"/workspace/Voids/catalogs/boss/boss_mask.ply"
hdulist = py.open(maskFile)
maskData = hdulist[1].data
hdulist.close()
fp = open(len(maskData), 'w')
fp.write(str(numKeep) + " polygons\n")
fp.write("pixelization 6s\n")
fp.write("snapped\n")
fp.write("balkanized\n")
iKeep = 0
for i in xrange(len(maskData)):
fp.write("polygon %22d ( %d caps, %20.7f weight, %d pixel, %20.16f str):\n" %
(iKeep,
maskData.field('NCAPS')[i],
maskData.field('WEIGHT')[i],
maskData.field('PIXEL')[i],
maskData.field('STR')[i] ))
ncaps = maskData.field('NCAPS')[i]
for iCap in xrange(ncaps):
fp.write("%24.20f %24.20f %24.20f %24.20f\n" %
(maskData.field('XCAPS')[i][iCap][0],
maskData.field('XCAPS')[i][iCap][1],
maskData.field('XCAPS')[i][iCap][2],
maskData.field('CMCAPS')[i][iCap]))
iKeep += 1
fp.close()