Source code for tw_source_finder.get_morphology_images

# script to generate dilated images

import math
import os
import os.path
import sys
import timeit
from optparse import OptionParser

import numpy
from astropy.coordinates import SkyCoord

from tw_source_finder.make_morphology_mask import make_mask
from tw_source_finder.read_input_table import process_input_file


[docs]def process_images( filename, filter_size, filter_type, offset_flux, use_conv, double_erode, do_batch, ): print("processing file ", filename) text = open(filename, "r").readlines() info = text[0].split() print("opening info ", info) freq = info[1] print("specified freq", freq) # not all these parameters are used here freq, names, ra_deg, dec_deg = process_input_file(filename, True) num_proc = len(ra_deg) for i in range(num_proc): position = SkyCoord(ra_deg[i], dec_deg[i], unit="deg", frame="icrs") print("i, position", i, position) ra_dec = position.to_string("hmsdms") print("input ra_dec ", ra_dec) blank = " " underscore = "_" out_ra_dec = ra_dec.replace(blank, underscore) print("output ra_dec ", out_ra_dec) if use_conv: field_name = names[i] + "_conv" else: field_name = names[i] print("i, field_name_i ", i, field_name) parameter_list = [] parameter_list.append(" ") parameter_list.append(field_name) parameter_list.append(offset_flux) parameter_list.append(filter_size) parameter_list.append(filter_type) parameter_list.append(do_batch) parameter_list.append(double_erode) make_mask(parameter_list)
[docs]def main(argv): parser = OptionParser(usage="%prog [options] ") parser.add_option( "-f", "--file", dest="filename", help="Filename with radio source names, positions, redshit etc (default = None)", default=None, ) parser.add_option( "-s", "--filter_size", dest="filter_size", help="Size of structure element (default = 0)", default=0, ) parser.add_option( "-t", "--filter_type", dest="filter_type", help="Type of structure element D(isk) or R(ectangle) (default = D)", default="D", ) parser.add_option( "--th", "--threshold", dest="threshold", help="Threshhold value for mask, in units of noise (default = 6)", default=6, ) parser.add_option( "--use_conv", dest="use_conv", help="Select a convolved image (default = F)", default=False, ) parser.add_option( "--use_batch", dest="use_batch", help="Run in batch mode (no interactive response) (default = F)", default=False, ) parser.add_option( "--use_double_e", dest="use_double", help="Use second erode (no interactive response) (default = T)", default=True, ) (options, args) = parser.parse_args() print("options", options) filename = options.filename filter_size = int(options.filter_size) filter_type = options.filter_type offset_flux = float(options.threshold) use_conv = options.use_conv if use_conv != False: use_conv = True use_batch = options.use_batch if use_batch != False: use_Batch = True use_double_erode = options.use_double if use_double_erode != True: use_double_erode = False start_time = timeit.default_timer() process_images( filename, filter_size, filter_type, offset_flux, use_conv, use_double_erode, use_batch, ) elapsed = timeit.default_timer() - start_time print("Run Time:", elapsed, "seconds")
# ============================= # # e.g. example: run as 'get_morphology_images.py -f abellsouth.csv -t D --th 6' # if __name__ == "__main__": main(sys.argv)