Source code for clusex.lib.writesex

#! /usr/bin/env python

import sys
import subprocess as sp



[docs] def wsex(params): # hot.sex flaghead = False f_out = open(params.outhot, "w") with open(params.sexfile) as f_in2: lines = (line.rstrip() for line in f_in2) # All lines including the blank ones lines = (line.split('#', 1)[0] for line in lines) # remove comments lines = (line.rstrip() for line in lines) # remove lines containing only comments lines = (line for line in lines if line) # Non-blank lines for line2 in lines: (linparams)=line2.split() if linparams[0] == "MAG_ZEROPOINT": line2= "MAG_ZEROPOINT "+str(params.zpt) if linparams[0] == "GAIN": line2= "GAIN "+str(params.gain) if linparams[0] == "PIXEL_SCALE": line2= "PIXEL_SCALE "+str(params.plate) if linparams[0] == "SEEING_FWHM": line2= "SEEING_FWHM "+str(params.seeing) if linparams[0] == "DEBLEND_NTHRESH": line2="DEBLEND_NTHRESH "+str(params.dn1) if linparams[0] == "DEBLEND_MINCONT": line2= "DEBLEND_MINCONT "+ str(params.dm1) if linparams[0] == "ANALYSIS_THRESH": line2= "ANALYSIS_THRESH "+str(params.at1) if linparams[0] == "DETECT_THRESH": line2= "DETECT_THRESH "+str(params.dt1) if linparams[0] == "DETECT_MINAREA": line2= "DETECT_MINAREA "+str(params.da1) if linparams[0] == "CATALOG_NAME": line2= "CATALOG_NAME hot.cat" if linparams[0] == "BACK_SIZE": line2= "BACK_SIZE "+str(params.bs1) if linparams[0] == "BACK_FILTERSIZE": line2= "BACK_FILTERSIZE "+str(params.bf1) if linparams[0] == "CATALOG_TYPE": if linparams[1] != "ASCII": flaghead = True line2 = line2+"\n" f_out.write(line2) f_out.close() # cold.sex f_out = open(params.outcold, "w") with open(params.sexfile) as f_in2: lines = (line.rstrip() for line in f_in2) # All lines including the blank ones lines = (line.split('#', 1)[0] for line in lines) # remove comments lines = (line.rstrip() for line in lines) # remove lines containing only comments lines = (line for line in lines if line) # Non-blank lines # every line of the file: for line2 in lines: (linparams)=line2.split() if linparams[0] == "MAG_ZEROPOINT": line2= "MAG_ZEROPOINT "+str(params.zpt) if linparams[0] == "GAIN": line2= "GAIN "+str(params.gain) if linparams[0] == "PIXEL_SCALE": line2= "PIXEL_SCALE "+str(params.plate) if linparams[0] == "SEEING_FWHM": line2= "SEEING_FWHM "+str(params.seeing) if linparams[0] == "DEBLEND_NTHRESH": line2="DEBLEND_NTHRESH "+str(params.dn2) if linparams[0] == "DEBLEND_MINCONT": line2= "DEBLEND_MINCONT "+ str(params.dm2) if linparams[0] == "ANALYSIS_THRESH": line2= "ANALYSIS_THRESH "+str(params.at2) if linparams[0] == "DETECT_THRESH": line2= "DETECT_THRESH "+str(params.dt2) if linparams[0] == "DETECT_MINAREA": line2= "DETECT_MINAREA "+str(params.da2) if linparams[0] == "CATALOG_NAME": line2= "CATALOG_NAME cold.cat" if linparams[0] == "BACK_SIZE": line2= "BACK_SIZE "+str(params.bs2) if linparams[0] == "BACK_FILTERSIZE": line2= "BACK_FILTERSIZE "+str(params.bf2) f_out.write(line2+"\n") f_out.close() if flaghead: print ("CATALOG_TYPE must be ASCII in default.sex. Ending program.. \n") # change here to assert function sys.exit()
[docs] def runsex(params): ###### Running Sextractor ####### if (params.run1 == 1): print("Running hot.sex ") print("source-extractor -c {} {} \n".format(params.outhot,params.image)) runcmd="source-extractor -c {} {} ".format(params.outhot,params.image) # Run Sextractor err = sp.run([runcmd],shell=True,stdout=sp.PIPE,stderr=sp.PIPE,universal_newlines=True) if err.returncode != 0: print("error: ",err.returncode,err.stderr) sys.exit("There was a problem running sextractor") if (params.run2 == 1): print("Running cold.sex ") print("source-extractor -c {} {} \n".format(params.outcold,params.image)) runcmd="source-extractor -c {} {} ".format(params.outcold,params.image) # Run Sextractor err = sp.run([runcmd],shell=True,stdout=sp.PIPE,stderr=sp.PIPE,universal_newlines=True) if err.returncode != 0: print("error: ",err.returncode,err.stderr) sys.exit("There was a problem running sextractor")