diff --git a/bdsf/cleanup.py b/bdsf/cleanup.py index e7cbb511..1621ea45 100644 --- a/bdsf/cleanup.py +++ b/bdsf/cleanup.py @@ -17,7 +17,7 @@ class Op_cleanup(Op): """ """ def __call__(self, img): - mylog = mylogger.logging.getLogger("PyBDSM.Cleanup") + mylog = mylogger.logging.getLogger("PyBDSF.Cleanup") ### plotresults for all gaussians together if img.opts.plot_allgaus and has_pl: diff --git a/bdsf/collapse.py b/bdsf/collapse.py index 927886e5..c4ee2124 100644 --- a/bdsf/collapse.py +++ b/bdsf/collapse.py @@ -18,7 +18,7 @@ class Op_collapse(Op): """Collapse 3D image""" def __call__(self, img): - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"Collapse") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"Collapse") if img.opts.polarisation_do: pols = ['I', 'Q', 'U', 'V'] # make sure I is done first else: diff --git a/bdsf/functions.py b/bdsf/functions.py index 823d5207..d1bad06a 100644 --- a/bdsf/functions.py +++ b/bdsf/functions.py @@ -781,7 +781,7 @@ def get_errors(img, p, stdav, bm_pix=None, fixed_to_beam=False): from . import mylogger import numpy as N - mylog = mylogger.logging.getLogger("PyBDSM.Compute") + mylog = mylogger.logging.getLogger("PyBDSF.Compute") if len(p) % 7 > 0: mylog.error("Gaussian parameters passed have to have 7n numbers") @@ -1116,7 +1116,7 @@ def read_image_from_file(filename, img, indir, quiet=False): except ImportError as err: has_casacore = False - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"Readfile") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"Readfile") if indir is None or indir == './': prefix = '' else: @@ -1370,7 +1370,7 @@ def write_image_to_file(use, filename, image, img, outdir=None, import os from . import mylogger - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"Writefile") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"Writefile") wcs_obj = img.wcs_obj if pad_image and img.opts.trim_box is not None: @@ -1407,7 +1407,7 @@ def write_image_to_file(use, filename, image, img, outdir=None, # The "overwrite" argument was added in astropy v1.3, so fall back to "clobber" # if it doesn't work temp_im.writeto(tfile.name, clobber=clobber) - send_fits_image(img.samp_client, img.samp_key, 'PyBDSM image', tfile.name) + send_fits_image(img.samp_client, img.samp_key, 'PyBDSF image', tfile.name) else: # Write image to FITS file if outdir is None: @@ -2017,7 +2017,7 @@ def start_samp_proxy(): s = ServerProxy(HUB_PARAMS['samp.hub.xmlrpc.url']) # Register with Hub - metadata = {"samp.name": 'PyBDSM', "samp.description.text": 'PyBDSM: the Python Blob Detection and Source Measurement software'} + metadata = {"samp.name": 'PyBDSF', "samp.description.text": 'PyBDSF: the Python Blob Detector and Source Finder software'} result = s.samp.hub.register(HUB_PARAMS['samp.secret']) private_key = result['samp.private-key'] s.samp.hub.declareMetadata(private_key, metadata) diff --git a/bdsf/gaul2srl.py b/bdsf/gaul2srl.py index a9dd1aa0..8dbeafa0 100644 --- a/bdsf/gaul2srl.py +++ b/bdsf/gaul2srl.py @@ -32,7 +32,7 @@ class Op_gaul2srl(Op): def __call__(self, img): # for each island, get the gaussians into a list and then send them to process # src_index is source number, starting from 0 - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"Gaul2Srl") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"Gaul2Srl") mylogger.userinfo(mylog, 'Grouping Gaussians into sources') img.aperture = img.opts.aperture if img.aperture is not None and img.aperture <= 0.0: @@ -325,7 +325,7 @@ def process_Multiple(self, img, g_sublist, mask, src_index, isrc, subim, isl, de from scipy import ndimage from . import functions as func - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"Gaul2Srl ") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"Gaul2Srl ") dum = img.beam[0]*img.beam[1] cdeltsq = img.wcs_obj.acdelt[0]*img.wcs_obj.acdelt[1] bmar_p = 2.0*pi*dum/(cdeltsq*fwsig*fwsig) diff --git a/bdsf/gausfit.py b/bdsf/gausfit.py index dceae5b4..c7b6e719 100644 --- a/bdsf/gausfit.py +++ b/bdsf/gausfit.py @@ -37,7 +37,7 @@ class Op_gausfit(Op): def __call__(self, img): from . import functions as func - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"Gausfit") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"Gausfit") if len(img.islands) == 0: img.gaussians = [] img.ngaus = 0 @@ -946,7 +946,7 @@ def __init__(self, img, gaussian, isl_idx, g_idx, flg=0): """Initialize Gaussian object from fitting data Parameters: - img: PyBDSM image object + img: PyBDSF image object gaussian: 6-tuple of fitted numbers isl_idx: island serial number g_idx: gaussian serial number diff --git a/bdsf/islands.py b/bdsf/islands.py index e3420dd5..cfe4735f 100644 --- a/bdsf/islands.py +++ b/bdsf/islands.py @@ -43,7 +43,7 @@ class Op_islands(Op): Prerequisites: module rmsimage should be run first. """ def __call__(self, img): - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"Islands") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"Islands") opts = img.opts minsize = opts.minpix_isl diff --git a/bdsf/make_residimage.py b/bdsf/make_residimage.py index 9ff08c03..627eb48c 100644 --- a/bdsf/make_residimage.py +++ b/bdsf/make_residimage.py @@ -27,7 +27,7 @@ def __call__(self, img): from copy import deepcopy as cp import os - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"ResidImage") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"ResidImage") mylog.info("Calculating residual image after subtracting reconstructed gaussians") shape = img.ch0_arr.shape thresh= img.opts.fittedimage_clip diff --git a/bdsf/mylogger.py b/bdsf/mylogger.py index 124c9008..fc31c12a 100644 --- a/bdsf/mylogger.py +++ b/bdsf/mylogger.py @@ -17,10 +17,10 @@ def init_logger(logfilename, quiet=False, debug=False): logging.USERINFO = logging.INFO + 1 logging.addLevelName(logging.USERINFO, 'USERINFO') - logger = logging.root + logger = logging.getLogger('PyBDSF') logger.setLevel(logging.DEBUG) - # First remove any existing handlers (in case PyBDSM has been run + # First remove any existing handlers (in case PyBDSF has been run # before in this session but the quiet or debug options have changed while len(logger.handlers) > 0: logger.removeHandler(logger.handlers[0]) diff --git a/bdsf/opts.py b/bdsf/opts.py index ccb300b9..5fdb9194 100644 --- a/bdsf/opts.py +++ b/bdsf/opts.py @@ -875,7 +875,7 @@ class Opts(object): group = "output_opts") output_all = Bool(False, doc = "Write out all files automatically to directory "\ - "'outdir/filename_pybdsm'", + "'outdir/filename_pybdsf'", group = "output_opts") opdir_overwrite = Enum('overwrite', 'append', doc = "'overwrite'/'append': If output_all=True, "\ diff --git a/bdsf/output.py b/bdsf/output.py index 10b7895e..59bce5c7 100644 --- a/bdsf/output.py +++ b/bdsf/output.py @@ -117,7 +117,7 @@ def write_opts(self, img, dir): import inspect from . import mylogger - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"Output") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"Output") fname = 'parameters_used' f = open(dir+fname, 'w') mylog.info('Writing '+dir+fname) @@ -139,11 +139,11 @@ def write_opts(self, img, dir): f.close() def save_opts(self, img, dir): - """ Saves input parameters to a PyBDSM save file.""" + """ Saves input parameters to a PyBDSF save file.""" from . import interface from . import mylogger - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"Output") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"Output") fname = 'parameters.sav' mylog.info('Writing '+dir+fname) interface.save_pars(img, dir+fname, quiet=True) @@ -215,7 +215,7 @@ def write_bbs_gaul(img, filename=None, srcroot=None, patch=None, from . import mylogger import os - mylog = mylogger.logging.getLogger("PyBDSM.write_gaul") + mylog = mylogger.logging.getLogger("PyBDSF.write_gaul") if int(img.equinox) != 2000 and int(img.equinox) != 1950: mylog.warning('Equinox of input image is not J2000 or B1950. ' 'Sky model may not be appropriate for BBS.') @@ -247,7 +247,7 @@ def write_lsm_gaul(img, filename=None, srcroot=None, patch=None, from . import mylogger import os - mylog = mylogger.logging.getLogger("PyBDSM.write_gaul") + mylog = mylogger.logging.getLogger("PyBDSF.write_gaul") if int(img.equinox) != 2000 and int(img.equinox) != 1950: mylog.warning('Equinox of input image is not J2000 or B1950. ' 'Sky model may not be appropriate for Sagecal.') @@ -277,7 +277,7 @@ def write_ds9_list(img, filename=None, srcroot=None, deconvolve=False, from . import mylogger import os - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"Output") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"Output") if objtype == 'gaul': outl, outn, patl = list_and_sort_gaussians(img, patch=None) elif objtype == 'srl': @@ -316,7 +316,7 @@ def write_ascii_list(img, filename=None, sort_by='indx', format='ascii', from . import mylogger import os - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"Output") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"Output") if objtype == 'gaul': outl, outn, patl = list_and_sort_gaussians(img, patch=None, sort_by=sort_by) elif objtype == 'srl': @@ -346,7 +346,7 @@ def write_casa_gaul(img, filename=None, incl_empty=False, clobber=False): from . import mylogger import os - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"Output") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"Output") outl, outn, patl = list_and_sort_gaussians(img, patch=None) outstr_list = make_casa_str(img, outl) if filename is None: @@ -371,7 +371,7 @@ def write_fits_list(img, filename=None, sort_by='index', objtype='gaul', from astropy.io import fits as pyfits from ._version import __version__ - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"Output") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"Output") if objtype == 'gaul': outl, outn, patl = list_and_sort_gaussians(img, patch=None, sort_by=sort_by) elif objtype == 'srl': @@ -421,7 +421,7 @@ def write_fits_list(img, filename=None, sort_by='index', objtype='gaul', tbhdu.header.add_comment('Source list for '+img.filename) elif objtype == 'shap': tbhdu.header.add_comment('Shapelet list for '+img.filename) - tbhdu.header.add_comment('Generated by PyBDSM version %s' + tbhdu.header.add_comment('Generated by PyBDSF version %s' % (__version__, )) freq = "%.5e" % img.frequency tbhdu.header.add_comment('Reference frequency of the detection ("ch0") image: %s Hz' % freq) @@ -454,7 +454,7 @@ def write_kvis_ann(img, filename=None, sort_by='indx', from . import mylogger import os - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"Output") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"Output") if filename is None: filename = img.imagename + '.kvis.ann' if os.path.exists(filename) and not clobber: @@ -488,7 +488,7 @@ def write_star(img, filename=None, sort_by='indx', from . import mylogger import os - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"Output") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"Output") if filename is None: filename = img.imagename + '.star' if os.path.exists(filename) and not clobber: @@ -621,7 +621,7 @@ def make_lsm_str(img, glist, gnames, incl_empty=False): outstr_list = ["# SAGECAL sky model\n"] freq = "%.5e" % img.frequency - outstr_list.append('# Generated by PyBDSM version %s\n' + outstr_list.append('# Generated by PyBDSF version %s\n' % (__version__, )) outstr_list.append("# Name | RA (hr,min,sec) | DEC (deg,min,sec) | I | Q | U | V | SI | RM | eX | eY | eP | freq0\n\n") for gindx, g in enumerate(glist[0]): @@ -686,7 +686,7 @@ def make_ds9_str(img, glist, gnames, deconvolve=False, objtype='gaul', incl_empt elif int(img.equinox) == 1950: equinox = 'fk4' else: - mylog = mylogger.logging.getLogger("PyBDSM.write_ds9") + mylog = mylogger.logging.getLogger("PyBDSF.write_ds9") mylog.warning('Equinox of input image is not J2000 or B1950. ' 'Regions may not be correct.') equinox = 'fk5' @@ -741,7 +741,7 @@ def make_ascii_str(img, glist, objtype='gaul', format='ascii', incl_empty=False, outstr_list.append('# Gaussian list for '+img.filename+'\n') elif objtype == 'srl': outstr_list.append('# Source list for '+img.filename+'\n') - outstr_list.append('# Generated by PyBDSM version %s\n' + outstr_list.append('# Generated by PyBDSF version %s\n' % (__version__, )) outstr_list.append('# Reference frequency of the detection ("ch0") image: %s Hz\n' % freq) outstr_list.append('# Equinox : %s \n\n' % img.equinox) @@ -971,7 +971,7 @@ def list_and_sort_gaussians(img, patch=None, root=None, # mask file. if 0 in unique_patch_ids: from . import mylogger - mylog = mylogger.logging.getLogger("PyBDSM.write_gaul") + mylog = mylogger.logging.getLogger("PyBDSF.write_gaul") mylog.warning('Some sources fall outside of the regions ' 'defined in the mask file. These sources are not ' 'included in the output sky model.') diff --git a/bdsf/plotresults.py b/bdsf/plotresults.py index 9fd7fa46..0964e85c 100644 --- a/bdsf/plotresults.py +++ b/bdsf/plotresults.py @@ -247,7 +247,7 @@ def plotresults(img, ch0_image=True, rms_image=True, mean_image=True, numx = 1 numy = int(N.ceil(float(len(images))/float(numx))) fig = pl.figure(figsize=(max(15, 10.0*float(numy)/float(numx)), 10.0)) - fig.canvas.manager.set_window_title('PyBDSM Fit Results for '+ img.filename) + fig.canvas.manager.set_window_title('PyBDSF Fit Results for '+ img.filename) gray_palette = cm.gray gray_palette.set_bad('k') diff --git a/bdsf/polarisation.py b/bdsf/polarisation.py index a35e200d..3e78ba5e 100644 --- a/bdsf/polarisation.py +++ b/bdsf/polarisation.py @@ -54,7 +54,7 @@ class Op_polarisation(Op): Prerequisites: module gaul2srl should be run first.""" def __call__(self, img): - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"Polarisatn") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"Polarisatn") if img.opts.polarisation_do: mylog.info('Extracting polarisation properties for all sources') pols = ['I', 'Q', 'U', 'V'] diff --git a/bdsf/preprocess.py b/bdsf/preprocess.py index 19e1b10d..3d86d14d 100644 --- a/bdsf/preprocess.py +++ b/bdsf/preprocess.py @@ -1,7 +1,7 @@ """Module preprocess Calculates some basic statistics of the image and sets up processing -parameters for PyBDSM. +parameters for PyBDSF. """ from __future__ import absolute_import @@ -20,7 +20,7 @@ class Op_preprocess(Op): are blanked in QC ? """ def __call__(self, img): - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"Preprocess") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"Preprocess") bstat = func.bstat if img.opts.kappa_clip is None: kappa = -img.pixel_beamarea() diff --git a/bdsf/psf_vary.py b/bdsf/psf_vary.py index 02d74581..6343ceba 100644 --- a/bdsf/psf_vary.py +++ b/bdsf/psf_vary.py @@ -33,7 +33,7 @@ class Op_psf_vary(Op): def __call__(self, img): if img.opts.psf_vary_do: - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"Psf_Vary") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"Psf_Vary") mylogger.userinfo(mylog, '\nEstimating PSF variations') opts = img.opts dir = img.basedir + '/misc/' @@ -847,7 +847,7 @@ def psf_in_tile(self, image, beam, g_gauls, cdelt, factor, snrcutstack, volrank, and pass it to stackpsf with a weight for each gaussian, to calculate the average psf per tile. Should define weights inside a tile to include closure errors """ - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"Psf_Vary") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"Psf_Vary") tile_list, tile_coord, tile_snr = tile_prop tr_gaul = self.trans_gaul(g_gauls) diff --git a/bdsf/readimage.py b/bdsf/readimage.py index 47ae9e5f..26515531 100644 --- a/bdsf/readimage.py +++ b/bdsf/readimage.py @@ -30,7 +30,7 @@ class Op_readimage(Op): Loads image and configures wcslib machinery for it. """ def __call__(self, img): - mylog = mylogger.logging.getLogger("PyBDSM." + img.log + "Readimage") + mylog = mylogger.logging.getLogger("PyBDSF." + img.log + "Readimage") if img.opts.filename == '': raise RuntimeError('Image file name not specified.') @@ -310,7 +310,7 @@ def init_beam(self, img): """Initialize beam parameters, and conversion routines to convert beam to/from pixel coordinates""" from .const import fwsig - mylog = mylogger.logging.getLogger("PyBDSM.InitBeam") + mylog = mylogger.logging.getLogger("PyBDSF.InitBeam") hdr = img.header cdelt1, cdelt2 = img.wcs_obj.acdelt[0:2] @@ -402,7 +402,7 @@ def pixel_beamarea(): def init_freq(self, img): """Initialize frequency parameters and store them. - Basically, PyBDSM uses two frequency parameters: + Basically, PyBDSF uses two frequency parameters: img.frequency - the reference frequency in Hz of the ch0 image img.freq_pars - the crval, crpix, and cdelt values for the @@ -419,7 +419,7 @@ def init_freq(self, img): warnings.filterwarnings("ignore", category=DeprecationWarning) from pywcs import WCS - mylog = mylogger.logging.getLogger("PyBDSM.InitFreq") + mylog = mylogger.logging.getLogger("PyBDSF.InitFreq") if img.opts.frequency_sp is not None and img.image_arr.shape[1] > 1: # If user specifies multiple frequencies, then let # collapse.py do the initialization diff --git a/bdsf/rmsimage.py b/bdsf/rmsimage.py index 97676ca8..0f6711d6 100644 --- a/bdsf/rmsimage.py +++ b/bdsf/rmsimage.py @@ -34,7 +34,7 @@ class Op_rmsimage(Op): Prerequisites: Module preprocess should be run first. """ def __call__(self, img): - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"RMSimage") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"RMSimage") mylogger.userinfo(mylog, "Calculating background rms and mean images") if img.opts.polarisation_do: pols = ['I', 'Q', 'U', 'V'] @@ -263,7 +263,7 @@ def CheckShape(A): if len(data.shape) == 2: ## 2d case mean, rms = self.calculate_maps(img, data, mean, rms, mask, map_opts, do_adapt=do_adapt, bright_pt_coords=isl_pos, rms_box2=img.rms_box, - logname="PyBDSM."+img.log, ncores=img.opts.ncores) + logname="PyBDSF."+img.log, ncores=img.opts.ncores) elif len(data.shape) == 3: ## 3d case if not isinstance(mask, N.ndarray): mask = N.zeros(data.shape[0], dtype=bool) @@ -271,7 +271,7 @@ def CheckShape(A): ## iterate each plane mean, rms = self.calculate_maps(img, data[i], mean[i], rms[i], mask[i], map_opts, do_adapt=do_adapt, bright_pt_coords=isl_pos, - rms_box2=img.rms_box, logname="PyBDSM."+img.log, + rms_box2=img.rms_box, logname="PyBDSF."+img.log, ncores=img.opts.ncores) else: mylog.critical('Image shape not handleable' + pol_txt) @@ -387,7 +387,7 @@ def check_rmsmap(self, img, rms): """ from math import sqrt - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"Rmsimage.Checkrms ") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"Rmsimage.Checkrms ") cdelt = img.wcs_obj.acdelt[:2] bm = (img.beam[0], img.beam[1]) fw_pix = sqrt(N.product(bm)/abs(N.product(cdelt))) @@ -418,7 +418,7 @@ def check_meanmap(self, img, mean): """ from math import sqrt - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"Rmsimage.Checkmean ") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"Rmsimage.Checkmean ") cdelt = img.wcs_obj.acdelt[:2] bm = (img.beam[0], img.beam[1]) fw_pix = sqrt(N.product(bm)/abs(N.product(cdelt))) @@ -452,9 +452,9 @@ def calculate_maps(self, img, data, mean, rms, mask, map_opts, do_adapt, bright_pt_coords=[], rms_box2=None, logname=None, ncores=None): """Calls map_2d and checks for problems""" - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"Rmsimage.Calcmaps ") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"Rmsimage.Calcmaps ") rms_ok = False - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"Rmsimage.Calcmaps ") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"Rmsimage.Calcmaps ") opts = img.opts kappa = map_opts[0] spline_rank = opts.spline_rank @@ -667,7 +667,7 @@ def rms_mean_map(self, arr, mask=False, kappa=3, box=None, ncores=None): rms_map[0,0] is extrapolated as .5*(rms_map[0,1] + rms_map[1,0]) rms_map[0,1] is extrapolated as rms_map[1,1] """ - mylog = mylogger.logging.getLogger("PyBDSM.RmsMean") + mylog = mylogger.logging.getLogger("PyBDSF.RmsMean") if box is None: box = (50, 25) if box[0] < box[1]: @@ -1041,7 +1041,7 @@ def output_rmsbox_size(self, img): """Prints rms/mean box size""" opts = img.opts do_adapt = opts.adaptive_rms_box - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"RMSimage") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"RMSimage") if (opts.rms_map is not False) or (opts.mean_map not in ['zero', 'const']): if do_adapt: if opts.rms_box_bright is None: diff --git a/bdsf/shapefit.py b/bdsf/shapefit.py index 6aebe085..7e2d517c 100644 --- a/bdsf/shapefit.py +++ b/bdsf/shapefit.py @@ -25,7 +25,7 @@ class Op_shapelets(Op): def __call__(self, img): - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"Shapefit") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"Shapefit") bar = statusbar.StatusBar('Decomposing islands into shapelets ...... : ', 0, img.nisl) opts = img.opts if img.opts.shapelet_do: diff --git a/bdsf/spectralindex.py b/bdsf/spectralindex.py index eaad3960..0f1cac67 100644 --- a/bdsf/spectralindex.py +++ b/bdsf/spectralindex.py @@ -37,7 +37,7 @@ class Op_spectralindex(Op): def __call__(self, img): global bar1 - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"SpectIndex") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"SpectIndex") img.mylog = mylog if img.opts.spectralindex_do: mylogger.userinfo(mylog, '\nExtracting spectral indices for all ch0 sources') diff --git a/bdsf/tc.py b/bdsf/tc.py index 3dd07378..2d41c204 100644 --- a/bdsf/tc.py +++ b/bdsf/tc.py @@ -2,7 +2,7 @@ It's quite basic and limited implementation tailored specifically for -use in the PyBDSM user-options and derived properties. For a user +use in the PyBDSF user-options and derived properties. For a user option, one can define a group that is used when listing the options to the screen. For a property (e.g., flux density), one can define the column name to be used on output and the associated units. diff --git a/bdsf/threshold.py b/bdsf/threshold.py index 5a8a55d3..12bd7dde 100644 --- a/bdsf/threshold.py +++ b/bdsf/threshold.py @@ -26,7 +26,7 @@ class Op_threshold(Op): Prerequisites: Module preprocess and rmsimage should be run first. """ def __call__(self, img): - mylog = mylogger.logging.getLogger("PyBDSM."+img.log+"Threshold ") + mylog = mylogger.logging.getLogger("PyBDSF."+img.log+"Threshold ") data = img.ch0_arr mask = img.mask_arr opts = img.opts diff --git a/doc/Makefile b/doc/Makefile index 04333e4b..6abb3c1e 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -77,17 +77,17 @@ qthelp: @echo @echo "Build finished; now you can run "qcollectiongenerator" with the" \ ".qhcp project file in $(BUILDDIR)/qthelp, like this:" - @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/PyBDSM.qhcp" + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/PyBDSF.qhcp" @echo "To view the help file:" - @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/PyBDSM.qhc" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/PyBDSF.qhc" devhelp: $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp @echo @echo "Build finished." @echo "To view the help file:" - @echo "# mkdir -p $$HOME/.local/share/devhelp/PyBDSM" - @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/PyBDSM" + @echo "# mkdir -p $$HOME/.local/share/devhelp/PyBDSF" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/PyBDSF" @echo "# devhelp" epub: diff --git a/doc/anaamika_overview.doc b/doc/anaamika_overview.doc deleted file mode 100644 index a93c36d1..00000000 --- a/doc/anaamika_overview.doc +++ /dev/null @@ -1,68 +0,0 @@ - -//_______________________________________________________________________________ -// Description of source code tree - -/*! - \page Anaamika Anaamika - \defgroup Anaamika Anaamika - Blob Detection and Source Measurement - - The current version of BDSM is the Python version PyBDSM. It is currently maintained and developed at Sterrewacht Leiden. - - \section anaamika_code_tree Organiation of the source code - - The diagram below show the basic organisation of the source code directories: - - \verbatim - lofarsoft - |-- data - |-- doc - |-- release - |-- build - |-- devel_common - |-- external - `-- src - |-- contrib - |-- CR-Tools - |-- DAL - `-- Anaamika <-- Project top-level directory - |-- implement - | |-- fBDSM - | |-- fits - | |-- shaplelets - | `-- PyBDSM - |-- apps - |-- data - |-- doc - `-- scripts - \endverbatim - - In this: - - - -*/ - diff --git a/pyproject.toml b/pyproject.toml index 52aaa47e..fc2345a6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -24,7 +24,7 @@ requires = [ [project] name = "bdsf" dynamic = ["version"] -description = "Blob Detection and Source Finder" +description = "Blob Detector and Source Finder" readme = "README.rst" requires-python = ">=3.8" authors = [ @@ -62,7 +62,6 @@ dependencies = [ [project.scripts] pybdsf = "bdsf.pybdsf:main [ishell]" -pybdsm = "bdsf.pybdsf:main [ishell]" [project.urls] Homepage = "https://github.com/lofar-astron/PyBDSF" diff --git a/src/fortran/Makefile b/src/fortran/Makefile deleted file mode 100644 index 174584ed..00000000 --- a/src/fortran/Makefile +++ /dev/null @@ -1,55 +0,0 @@ -# All the routines which are needed for libraries for PyBDSM are compiled here -# using gnu95, f2py and suitable flags depending on os. Include files are in ../includes -# $(FC) -c *.f -o *.o - -DIR=../../fBDSM -CFLAGS = -I$(DIR)/includes -ODIR=./ -LIBDIR=../../fBDSM/libs -IODIR=../../fBDSM/io -MDIR=../../fBDSM/wout_pgplot - -ifeq ($(shell uname -m), x86_64) - FC=gfortran -fPIC -fno-second-underscore $(CFLAGS) -else # ! i686 - FC=/usr/bin/g77 -g -fno-second-underscore -fbounds-check $(CFLAGS) -endif - -ifeq ($(shell uname -s), Darwin) - FC=gfortran -fbounds-check $(CFLAGS) -endif - -OBJ1 = iland_mat2list.o writearray.o gaul2gaulbin.o writefitshead.o sub_prog.o \ - readarray.o get_keyword.o check.o - -OBJ1_f = iland_mat2list.f writearray.f gaul2gaulbin.f writefitshead.f - -all: _pytesselate.so _py2fbdsm.so - -LIBS=$(LIBDIR)/libfbdsm_woutpg.a - -_pytesselate.pyf : - f2py2.5 pytess_simple.f pytess_roundness.f -m _pytesselate -h _pytesselate.pyf - -_pytesselate.so: _pytesselate.pyf pytess_simple.o pytess_roundness.o - f2py2.5 --fcompiler=gnu95 -c _pytesselate.pyf pytess_simple.o pytess_roundness.o dummy.f - -_py2fbdsm.pyf : - cp $(IODIR)/readarray.f $(IODIR)/writearray.f $(IODIR)/writefitshead.f ./ - cp $(MDIR)/check.f $(MDIR)/get_keyword.f $(MDIR)/iland_mat2list.f $(MDIR)/sub_prog.f ./ - f2py2.5 $(OBJ1_f) -m _py2fbdsm -h _py2fbdsm.pyf - -_py2fbdsm.so: _py2fbdsm.pyf $(OBJ1) - f2py2.5 --fcompiler=gnu95 -c _py2fbdsm.pyf $(OBJ1) $(LIBS) dummy.f - - -%.o: %.f - $(FC) -c $< -o $@ - -clean: - rm -fr *.o - -cleanall: - rm -fr *.o *.so *.pyf - - diff --git a/src/minpack/CMakeLists.txt_minpack b/src/minpack/CMakeLists.txt_minpack deleted file mode 100644 index 02cac489..00000000 --- a/src/minpack/CMakeLists.txt_minpack +++ /dev/null @@ -1,13 +0,0 @@ -## ---------------------------------------------------------------------- -## $Id$ -## ---------------------------------------------------------------------- - -enable_language(Fortran) - -set (minpack_sources - lmder.f lmpar.f qrfac.f qrsolv.f enorm.f dpmpar.f) - -add_definitions (-fPIC) - -add_library (minpack STATIC ${minpack_sources}) - diff --git a/src/minpack/cmake_install.cmake b/src/minpack/cmake_install.cmake deleted file mode 100644 index b7dedff9..00000000 --- a/src/minpack/cmake_install.cmake +++ /dev/null @@ -1,29 +0,0 @@ -# Install script for directory: /Users/mohan/lofarsoft/src/pybdsm/implement/minpack - -# Set the install prefix -IF(NOT DEFINED CMAKE_INSTALL_PREFIX) - SET(CMAKE_INSTALL_PREFIX "/usr/local") -ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX) -STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") - -# Set the install configuration name. -IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) - IF(BUILD_TYPE) - STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" "" - CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") - ELSE(BUILD_TYPE) - SET(CMAKE_INSTALL_CONFIG_NAME "") - ENDIF(BUILD_TYPE) - MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") -ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) - -# Set the component getting installed. -IF(NOT CMAKE_INSTALL_COMPONENT) - IF(COMPONENT) - MESSAGE(STATUS "Install component: \"${COMPONENT}\"") - SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}") - ELSE(COMPONENT) - SET(CMAKE_INSTALL_COMPONENT) - ENDIF(COMPONENT) -ENDIF(NOT CMAKE_INSTALL_COMPONENT) - diff --git a/src/port3/CMakeLists.txt_port3 b/src/port3/CMakeLists.txt_port3 deleted file mode 100644 index 30826fb4..00000000 --- a/src/port3/CMakeLists.txt_port3 +++ /dev/null @@ -1,39 +0,0 @@ -## ---------------------------------------------------------------------- -## $Id$ -## ---------------------------------------------------------------------- - -enable_language(Fortran) - -set (port3_sources - dnsg.f dn2g.f drnsg.f drn2g.f - d1mach.f da7sst.f dc7vfn.f dd7tpr.f dd7upd.f df7hes.f dg7lit.f dg7qts.f - ditsum.f divset.f dl7itv.f dl7ivm.f dl7mst.f dl7nvr.f dl7sqr.f dl7srt.f - dl7svn.f dl7svx.f dl7tsq.f dl7tvm.f dl7vml.f dn2cvp.f dn2lrd.f dn2rdp.f - do7prd.f dparck.f dq7apl.f dq7rad.f dq7rfh.f dr7mdc.f drldst.f ds7cpr.f - ds7lup.f ds7lvm.f dv2axy.f dv2nrm.f dv7cpy.f dv7dfl.f dv7prm.f dv7scl.f - dv7scp.f dv7swp.f i1mach.f i7mdcn.f stopx.f) - -## FIXME: there should be better way that creating shared library -add_library (port3 SHARED ${port3_sources}) - -## set additional target properties -if (APPLE) - set_target_properties (port3 - PROPERTIES - PREFIX "" - SUFFIX .so - LINK_FLAGS "-fPIC -flat_namespace" - ) -else (APPLE) - set_target_properties (port3 - PROPERTIES - PREFIX "" - SUFFIX .so - LINK_FLAGS "-fPIC -shared" - ) -endif (APPLE) - -## ---------------------------------------------------------------------- -## Installation -install (TARGETS port3 DESTINATION lib) - diff --git a/src/port3/cmake_install.cmake b/src/port3/cmake_install.cmake deleted file mode 100644 index 765f3118..00000000 --- a/src/port3/cmake_install.cmake +++ /dev/null @@ -1,41 +0,0 @@ -# Install script for directory: /Users/mohan/lofarsoft/src/pybdsm/implement/port3 - -# Set the install prefix -IF(NOT DEFINED CMAKE_INSTALL_PREFIX) - SET(CMAKE_INSTALL_PREFIX "/usr/local") -ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX) -STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") - -# Set the install configuration name. -IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) - IF(BUILD_TYPE) - STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" "" - CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") - ELSE(BUILD_TYPE) - SET(CMAKE_INSTALL_CONFIG_NAME "") - ENDIF(BUILD_TYPE) - MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") -ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) - -# Set the component getting installed. -IF(NOT CMAKE_INSTALL_COMPONENT) - IF(COMPONENT) - MESSAGE(STATUS "Install component: \"${COMPONENT}\"") - SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}") - ELSE(COMPONENT) - SET(CMAKE_INSTALL_COMPONENT) - ENDIF(COMPONENT) -ENDIF(NOT CMAKE_INSTALL_COMPONENT) - -IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") - FILE(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE SHARED_LIBRARY FILES "/Users/mohan/lofarsoft/src/pybdsm/implement/port3/port3.so") - IF(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/port3.so") - EXECUTE_PROCESS(COMMAND "/usr/bin/install_name_tool" - -id "port3.so" - "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/port3.so") - IF(CMAKE_INSTALL_DO_STRIP) - EXECUTE_PROCESS(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/port3.so") - ENDIF(CMAKE_INSTALL_DO_STRIP) - ENDIF(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/port3.so") -ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified") - diff --git a/test/colourcorrection.py b/test/colourcorrection.py index 45595e20..b231ba73 100644 --- a/test/colourcorrection.py +++ b/test/colourcorrection.py @@ -1,5 +1,5 @@ """ -This is for pybdsm for calculating spectral index. We assume a linear spectral index +This is for PyBDSF for calculating spectral index. We assume a linear spectral index in log(freq) and then each channel has a flux which is bit wrong because of the colour correction problem within that band. diff --git a/test/reference_outputs/catalogues/tbdsf_process_image.in_fits.pybdsf.gaul b/test/reference_outputs/catalogues/tbdsf_process_image.in_fits.pybdsf.gaul index 846d291d..05b287cb 100644 --- a/test/reference_outputs/catalogues/tbdsf_process_image.in_fits.pybdsf.gaul +++ b/test/reference_outputs/catalogues/tbdsf_process_image.in_fits.pybdsf.gaul @@ -1,7 +1,7 @@ # Gaussian list for tbdsf_process_image.in_fits -# Generated by PyBDSM version 1.10.4.dev17+g0a8f769 +# Generated by PyBDSF version 1.10.4.dev17+g0a8f769 # Reference frequency of the detection ("ch0") image: 2.35000e+01 Hz -# Equinox : 2000.0 +# Equinox : 2000.0 # Gaus_id Isl_id Source_id Wave_id RA E_RA DEC E_DEC Total_flux E_Total_flux Peak_flux E_Peak_flux Xposn E_Xposn Yposn E_Yposn Maj E_Maj Min E_Min PA E_PA Maj_img_plane E_Maj_img_plane Min_img_plane E_Min_img_plane PA_img_plane E_PA_img_plane DC_Maj E_DC_Maj DC_Min E_DC_Min DC_PA E_DC_PA DC_Maj_img_plane E_DC_Maj_img_plane DC_Min_img_plane E_DC_Min_img_plane DC_PA_img_plane E_DC_PA_img_plane Isl_Total_flux E_Isl_Total_flux Isl_rms Isl_mean Resid_Isl_rms Resid_Isl_mean Wave_Isl_rms Wave_Isl_mean S_Code Spec_Indx E_Spec_Indx Total_Q E_Total_Q Total_U E_Total_U Total_V E_Total_V Linear_Pol_frac Elow_Linear_Pol_frac Ehigh_Linear_Pol_frac Circ_Pol_Frac Elow_Circ_Pol_Frac Ehigh_Circ_Pol_Frac Total_Pol_Frac Elow_Total_Pol_Frac Ehigh_Total_Pol_Frac Linear_Pol_Ang E_Linear_Pol_Ang 0 0 0 0 258.25114246198189 0.00009648937238 64.16025586065186 0.00011065832946 0.03756818113906 0.00102590359917 0.03627633017872 0.00057813764198 0.91501674140527 0.01646753361594 5.59587511779147 0.01889000400583 0.01581754667497 0.00026110930909 0.01472791684723 0.00022660729481 7.34241764952730 8.69944541177879 0.01582108168022 0.00026116725105 0.01472797941733 0.00022660861935 7.34138964670434 8.69944541177879 0.01063616616564 0.00000000000000 0.00580116892568 0.00000000000000 175.53861351457394 0.00000000000000 0.00000000000000 0.00026116725105 0.00000000000000 0.00022660861935 0.00000000000000 8.69944541177879 0.05506623837294 0.00100980695489 0.00057378463680 -0.00022998907662 0.00535624753684 0.00092304020654 0.00000000000000 0.00000000000000 M 0.00144695392288 0.01413586818028 0.00060456490610 0.00081669742940 -0.00022784982866 0.00067077571293 0.00027648769901 0.00059638801031 0.00000000000000 0.00000000000000 0.02892133189342 0.00000000000000 0.00000000000000 0.01632049369821 0.00000000000000 0.00000000000000 0.03320846206982 0.00000000000000 0.00000000000000 diff --git a/test/reference_outputs/catalogues/tbdsf_process_image.in_fits.pybdsf.lsm b/test/reference_outputs/catalogues/tbdsf_process_image.in_fits.pybdsf.lsm index d7fe98a1..5c6bdebf 100644 --- a/test/reference_outputs/catalogues/tbdsf_process_image.in_fits.pybdsf.lsm +++ b/test/reference_outputs/catalogues/tbdsf_process_image.in_fits.pybdsf.lsm @@ -1,51 +1,51 @@ # SAGECAL sky model -# Generated by PyBDSM version 1.10.4.dev17+g0a8f769 +# Generated by PyBDSF version 1.10.4.dev17+g0a8f769 # Name | RA (hr,min,sec) | DEC (deg,min,sec) | I | Q | U | V | SI | RM | eX | eY | eP | freq0 -Gtbdsf_process_image.in_fits_w0_i0_s0_g0 17 13 0.274191 +64 09 36.921098 3.757e-02 6.046e-04 -2.278e-04 2.765e-04 1.447e-03 0 9.28181e-05 5.06247e-05 1.49293e+00 2.35000e+01 -Gtbdsf_process_image.in_fits_w0_i0_s0_g1 17 13 0.890427 +64 09 6.363575 8.515e-03 3.255e-04 9.732e-05 -2.679e-04 -3.620e-02 0 1.11894e-04 8.72665e-08 9.08481e-01 2.35000e+01 -Gtbdsf_process_image.in_fits_w1_i0_s1_g38 17 13 2.680445 +64 07 42.077915 1.342e-02 3.313e-04 1.891e-04 -6.837e-04 -6.788e-03 0 1.33621e-04 9.89290e-05 7.38112e-01 2.35000e+01 -Gtbdsf_process_image.in_fits_w1_i1_s2_g39 17 12 58.832177 +64 15 23.262955 2.371e-02 3.116e-03 1.186e-03 -1.559e-04 -2.385e-02 0 4.54456e-04 2.19695e-04 1.43220e+00 2.35000e+01 -Gtbdsf_process_image.in_fits_w0_i2_s3_g2 17 12 44.916659 +64 17 31.903087 5.310e-03 4.564e-04 5.109e-04 2.671e-04 -0.8 0 1.51077e-04 1.03427e-04 -1.28078e+00 2.35000e+01 -Gtbdsf_process_image.in_fits_w0_i2_s4_g3 17 12 43.572483 +64 16 17.063951 1.968e-03 -2.917e-04 4.748e-04 1.900e-04 -0.8 0 8.18244e-05 5.45379e-05 1.37413e+00 2.35000e+01 -Ptbdsf_process_image.in_fits_w0_i3_s5_g4 17 12 22.421051 +64 08 30.999034 5.246e-03 9.032e-07 1.619e-04 -3.930e-04 -1.706e-02 0 0.00000e+00 0.00000e+00 -1.57080e+00 2.35000e+01 -Gtbdsf_process_image.in_fits_w0_i4_s6_g5 17 12 36.082132 +64 26 51.897368 6.711e-03 -2.767e-04 1.571e-04 -6.252e-04 3.583e-02 0 7.34157e-05 4.27999e-05 -1.36808e+00 2.35000e+01 -Gtbdsf_process_image.in_fits_w0_i5_s7_g6 17 12 11.086016 +64 15 39.174009 9.399e-03 -6.490e-04 -4.022e-04 -7.897e-05 -7.316e-03 0 1.15450e-04 4.10435e-05 1.21753e+00 2.35000e+01 -Gtbdsf_process_image.in_fits_w0_i5_s8_g7 17 11 59.474727 +64 16 41.664696 4.934e-03 -1.273e-03 -2.461e-04 -2.047e-05 -0.8 0 1.37523e-04 9.63227e-05 1.25833e+00 2.35000e+01 -Ptbdsf_process_image.in_fits_w0_i6_s9_g8 17 12 3.763423 +64 13 40.026327 4.596e-03 5.771e-05 3.260e-04 2.108e-04 2.191e-02 0 0.00000e+00 0.00000e+00 -1.57080e+00 2.35000e+01 -Ptbdsf_process_image.in_fits_w0_i7_s10_g9 17 11 46.825382 +64 29 11.490834 1.813e-02 -5.717e-04 -8.346e-04 1.865e-04 5.448e-03 0 0.00000e+00 0.00000e+00 -1.57080e+00 2.35000e+01 -Gtbdsf_process_image.in_fits_w0_i8_s11_g10 17 11 27.538059 +64 47 11.493470 1.512e-02 -1.383e-03 6.643e-04 2.029e-04 1.011e-02 0 2.23903e-04 5.81249e-05 -5.20008e-01 2.35000e+01 -Ptbdsf_process_image.in_fits_w0_i9_s12_g11 17 11 24.091899 +64 17 0.589743 5.111e-03 3.067e-04 2.882e-04 5.675e-05 -1.262e-03 0 0.00000e+00 0.00000e+00 -1.57080e+00 2.35000e+01 -Ptbdsf_process_image.in_fits_w0_i10_s13_g12 17 10 53.133361 +64 50 34.074103 2.070e-02 -3.589e-04 1.058e-03 7.627e-04 -1.448e-02 0 0.00000e+00 0.00000e+00 -1.57080e+00 2.35000e+01 -Ptbdsf_process_image.in_fits_w0_i10_s14_g13 17 10 57.286665 +64 51 42.758605 9.317e-03 -9.952e-05 1.442e-04 4.680e-05 5.278e-04 0 0.00000e+00 0.00000e+00 -1.57080e+00 2.35000e+01 -Gtbdsf_process_image.in_fits_w0_i11_s15_g14 17 10 45.796257 +64 11 57.895432 7.360e-03 -9.284e-04 2.560e-04 -5.666e-04 2.575e-02 0 1.49316e-04 8.72665e-08 1.06376e+00 2.35000e+01 -Gtbdsf_process_image.in_fits_w0_i12_s16_g15 17 10 33.506254 +64 30 8.372993 9.282e-02 -4.806e-04 1.112e-03 -1.845e-04 -5.658e-04 0 1.02837e-04 5.54233e-05 1.52654e+00 2.35000e+01 -Gtbdsf_process_image.in_fits_w0_i12_s16_g16 17 10 38.600432 +64 29 37.109393 3.190e-02 -4.056e-04 -5.628e-04 2.052e-04 -1.266e-02 0 8.54011e-05 5.25795e-05 -1.51451e+00 2.35000e+01 -Ptbdsf_process_image.in_fits_w0_i13_s17_g17 17 10 32.269865 +64 39 15.132906 5.844e-03 -1.854e-04 3.108e-04 -2.284e-05 5.779e-02 0 0.00000e+00 0.00000e+00 -1.57080e+00 2.35000e+01 -Gtbdsf_process_image.in_fits_w0_i14_s18_g18 17 10 24.541782 +64 45 18.233688 2.059e-02 -1.380e-04 -2.977e-04 4.638e-04 4.148e-02 0 7.51393e-05 2.50527e-05 1.55160e+00 2.35000e+01 -Ptbdsf_process_image.in_fits_w0_i15_s19_g19 17 10 19.818577 +64 27 50.145324 7.337e-03 -5.474e-04 5.002e-05 4.035e-05 1.377e-02 0 0.00000e+00 0.00000e+00 -1.57080e+00 2.35000e+01 -Gtbdsf_process_image.in_fits_w0_i16_s20_g20 17 09 46.153092 +64 45 35.965982 5.368e-03 5.465e-04 2.489e-04 -1.865e-04 5.924e-02 0 8.60549e-05 4.09795e-05 -1.40731e+00 2.35000e+01 -Gtbdsf_process_image.in_fits_w0_i17_s21_g21 17 09 41.600356 +64 33 32.508164 6.916e-02 9.952e-04 3.792e-04 1.055e-04 9.144e-04 0 1.19182e-04 4.12221e-05 -1.53520e+00 2.35000e+01 -Ptbdsf_process_image.in_fits_w0_i18_s22_g22 17 09 12.228741 +64 30 44.546814 6.342e-03 1.287e-04 1.796e-04 -3.249e-05 2.126e-02 0 0.00000e+00 0.00000e+00 -1.57080e+00 2.35000e+01 -Gtbdsf_process_image.in_fits_w0_i19_s23_g23 17 09 4.018376 +64 37 8.333769 1.477e-02 2.301e-04 1.783e-04 -4.099e-04 -7.797e-03 0 1.08680e-04 3.32722e-05 -9.54957e-01 2.35000e+01 -Gtbdsf_process_image.in_fits_w0_i20_s24_g24 17 08 56.324716 +64 19 37.687299 1.634e-02 8.491e-04 -7.235e-05 -3.161e-04 1.291e-02 0 8.06513e-05 2.75301e-05 1.43398e+00 2.35000e+01 -Gtbdsf_process_image.in_fits_w0_i21_s25_g25 17 08 42.349481 +64 10 54.820628 1.374e-02 7.415e-04 -1.278e-04 -8.151e-04 1.368e-02 0 8.10174e-05 8.72665e-08 1.40295e+00 2.35000e+01 -Ptbdsf_process_image.in_fits_w0_i22_s26_g26 17 08 39.177693 +64 38 34.317175 6.765e-03 -2.717e-04 1.773e-06 -1.352e-04 2.799e-02 0 0.00000e+00 0.00000e+00 -1.57080e+00 2.35000e+01 -Gtbdsf_process_image.in_fits_w0_i23_s27_g27 17 08 33.300911 +64 47 44.871634 1.132e-02 5.671e-04 6.613e-05 -3.497e-04 3.636e-02 0 5.43516e-05 4.53078e-06 1.43184e+00 2.35000e+01 -Gtbdsf_process_image.in_fits_w0_i24_s28_g28 17 08 27.252484 +64 20 2.123166 6.788e-03 -6.913e-05 4.646e-04 6.608e-06 3.111e-02 0 1.23160e-04 5.41396e-05 -7.80784e-02 2.35000e+01 -Ptbdsf_process_image.in_fits_w0_i25_s29_g29 17 08 15.524325 +64 43 28.774934 8.012e-03 -7.629e-05 2.898e-04 8.564e-05 2.361e-02 0 0.00000e+00 0.00000e+00 -1.57080e+00 2.35000e+01 -Gtbdsf_process_image.in_fits_w0_i26_s30_g30 17 08 10.982657 +64 22 5.670581 1.369e-02 -8.469e-05 -1.967e-05 3.466e-04 6.704e-03 0 8.53107e-05 1.80612e-05 1.40838e+00 2.35000e+01 -Gtbdsf_process_image.in_fits_w0_i27_s31_g31 17 08 3.442050 +64 12 21.771503 5.444e-02 1.044e-03 -6.199e-04 3.425e-04 -9.325e-03 0 1.01728e-04 5.77731e-05 1.46554e+00 2.35000e+01 -Gtbdsf_process_image.in_fits_w0_i28_s32_g32 17 07 56.240705 +64 24 41.669781 1.886e-01 3.314e-03 -9.926e-05 1.414e-04 6.295e-04 0 1.11738e-04 7.58882e-05 1.49147e+00 2.35000e+01 -Gtbdsf_process_image.in_fits_w1_i28_s32_g42 17 07 57.468355 +64 25 20.286688 2.034e-02 -3.263e-03 2.955e-03 -1.958e-03 1.377e-02 0 4.35691e-04 3.09816e-04 1.24695e+00 2.35000e+01 -Gtbdsf_process_image.in_fits_w0_i29_s33_g33 17 07 42.272464 +64 34 14.079530 4.813e-03 -1.666e-04 4.696e-04 -2.296e-05 -3.572e-02 0 1.01160e-04 6.61541e-05 -7.91469e-01 2.35000e+01 -Gtbdsf_process_image.in_fits_w0_i30_s34_g34 17 07 8.591608 +64 17 28.816989 5.865e-03 3.488e-04 2.710e-04 -1.530e-04 4.167e-02 0 8.22533e-05 1.92195e-05 -1.16776e+00 2.35000e+01 -Gtbdsf_process_image.in_fits_w0_i31_s35_g35 17 06 10.737189 +64 38 12.816412 2.058e-01 4.374e-03 -1.339e-04 -1.311e-03 1.534e-05 0 1.18764e-04 9.90651e-05 1.10920e+00 2.35000e+01 -Gtbdsf_process_image.in_fits_w0_i31_s35_g36 17 06 21.509232 +64 38 2.345018 6.757e-02 1.733e-03 -1.259e-04 -7.867e-04 1.112e-03 0 1.02145e-04 6.94499e-05 -1.47696e+00 2.35000e+01 -Gtbdsf_process_image.in_fits_w1_i31_s35_g43 17 06 15.463071 +64 39 38.776802 4.005e-03 -7.056e-04 1.243e-04 7.058e-04 -0.8 0 2.07296e-04 1.24261e-04 1.09523e+00 2.35000e+01 -Gtbdsf_process_image.in_fits_w0_i32_s36_g37 17 06 23.556838 +64 27 25.408866 1.135e-02 5.665e-04 6.183e-04 6.382e-05 -1.194e-02 0 7.64807e-05 3.50862e-05 -1.51358e+00 2.35000e+01 -Gtbdsf_process_image.in_fits_w1_i33_s37_g40 17 11 31.802883 +64 49 14.902809 4.254e-03 7.209e-04 5.831e-05 7.567e-04 -0.8 0 1.68376e-04 1.26347e-04 6.67121e-01 2.35000e+01 -Gtbdsf_process_image.in_fits_w1_i34_s38_g41 17 10 35.211647 +64 20 6.849683 3.155e-03 -1.720e-03 -7.944e-04 4.733e-04 -0.8 0 1.50476e-04 1.04160e-04 2.52292e-01 2.35000e+01 -Gtbdsf_process_image.in_fits_w2_i35_s39_g42 17 12 21.204645 +64 08 13.760825 2.795e-02 -7.311e-04 1.067e-04 -1.692e-03 -1.527e-02 0 7.07161e-04 4.00081e-04 -1.05796e-01 2.35000e+01 -Gtbdsf_process_image.in_fits_w0_i35_s40_g43 17 11 29.656297 +64 13 57.316867 -3.017e-03 -5.866e-03 -2.968e-04 1.021e-04 -0.8 0 2.79239e-04 1.38609e-04 -6.24103e-02 2.35000e+01 -Gtbdsf_process_image.in_fits_w0_i36_s41_g44 17 10 46.772763 +64 26 58.184575 4.265e-04 -8.749e-03 -1.421e-03 3.298e-04 -0.8 0 3.77742e-04 1.85764e-04 4.12367e-01 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i0_s0_g0 17 13 0.274191 +64 09 36.921098 3.757e-02 6.046e-04 -2.278e-04 2.765e-04 1.447e-03 0 9.28181e-05 5.06247e-05 1.49293e+00 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i0_s0_g1 17 13 0.890427 +64 09 6.363575 8.515e-03 3.255e-04 9.732e-05 -2.679e-04 -3.620e-02 0 1.11894e-04 8.72665e-08 9.08481e-01 2.35000e+01 +Gtbdsf_process_image.in_fits_w1_i0_s1_g38 17 13 2.680445 +64 07 42.077915 1.342e-02 3.313e-04 1.891e-04 -6.837e-04 -6.788e-03 0 1.33621e-04 9.89290e-05 7.38112e-01 2.35000e+01 +Gtbdsf_process_image.in_fits_w1_i1_s2_g39 17 12 58.832177 +64 15 23.262955 2.371e-02 3.116e-03 1.186e-03 -1.559e-04 -2.385e-02 0 4.54456e-04 2.19695e-04 1.43220e+00 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i2_s3_g2 17 12 44.916659 +64 17 31.903087 5.310e-03 4.564e-04 5.109e-04 2.671e-04 -0.8 0 1.51077e-04 1.03427e-04 -1.28078e+00 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i2_s4_g3 17 12 43.572483 +64 16 17.063951 1.968e-03 -2.917e-04 4.748e-04 1.900e-04 -0.8 0 8.18244e-05 5.45379e-05 1.37413e+00 2.35000e+01 +Ptbdsf_process_image.in_fits_w0_i3_s5_g4 17 12 22.421051 +64 08 30.999034 5.246e-03 9.032e-07 1.619e-04 -3.930e-04 -1.706e-02 0 0.00000e+00 0.00000e+00 -1.57080e+00 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i4_s6_g5 17 12 36.082132 +64 26 51.897368 6.711e-03 -2.767e-04 1.571e-04 -6.252e-04 3.583e-02 0 7.34157e-05 4.27999e-05 -1.36808e+00 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i5_s7_g6 17 12 11.086016 +64 15 39.174009 9.399e-03 -6.490e-04 -4.022e-04 -7.897e-05 -7.316e-03 0 1.15450e-04 4.10435e-05 1.21753e+00 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i5_s8_g7 17 11 59.474727 +64 16 41.664696 4.934e-03 -1.273e-03 -2.461e-04 -2.047e-05 -0.8 0 1.37523e-04 9.63227e-05 1.25833e+00 2.35000e+01 +Ptbdsf_process_image.in_fits_w0_i6_s9_g8 17 12 3.763423 +64 13 40.026327 4.596e-03 5.771e-05 3.260e-04 2.108e-04 2.191e-02 0 0.00000e+00 0.00000e+00 -1.57080e+00 2.35000e+01 +Ptbdsf_process_image.in_fits_w0_i7_s10_g9 17 11 46.825382 +64 29 11.490834 1.813e-02 -5.717e-04 -8.346e-04 1.865e-04 5.448e-03 0 0.00000e+00 0.00000e+00 -1.57080e+00 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i8_s11_g10 17 11 27.538059 +64 47 11.493470 1.512e-02 -1.383e-03 6.643e-04 2.029e-04 1.011e-02 0 2.23903e-04 5.81249e-05 -5.20008e-01 2.35000e+01 +Ptbdsf_process_image.in_fits_w0_i9_s12_g11 17 11 24.091899 +64 17 0.589743 5.111e-03 3.067e-04 2.882e-04 5.675e-05 -1.262e-03 0 0.00000e+00 0.00000e+00 -1.57080e+00 2.35000e+01 +Ptbdsf_process_image.in_fits_w0_i10_s13_g12 17 10 53.133361 +64 50 34.074103 2.070e-02 -3.589e-04 1.058e-03 7.627e-04 -1.448e-02 0 0.00000e+00 0.00000e+00 -1.57080e+00 2.35000e+01 +Ptbdsf_process_image.in_fits_w0_i10_s14_g13 17 10 57.286665 +64 51 42.758605 9.317e-03 -9.952e-05 1.442e-04 4.680e-05 5.278e-04 0 0.00000e+00 0.00000e+00 -1.57080e+00 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i11_s15_g14 17 10 45.796257 +64 11 57.895432 7.360e-03 -9.284e-04 2.560e-04 -5.666e-04 2.575e-02 0 1.49316e-04 8.72665e-08 1.06376e+00 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i12_s16_g15 17 10 33.506254 +64 30 8.372993 9.282e-02 -4.806e-04 1.112e-03 -1.845e-04 -5.658e-04 0 1.02837e-04 5.54233e-05 1.52654e+00 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i12_s16_g16 17 10 38.600432 +64 29 37.109393 3.190e-02 -4.056e-04 -5.628e-04 2.052e-04 -1.266e-02 0 8.54011e-05 5.25795e-05 -1.51451e+00 2.35000e+01 +Ptbdsf_process_image.in_fits_w0_i13_s17_g17 17 10 32.269865 +64 39 15.132906 5.844e-03 -1.854e-04 3.108e-04 -2.284e-05 5.779e-02 0 0.00000e+00 0.00000e+00 -1.57080e+00 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i14_s18_g18 17 10 24.541782 +64 45 18.233688 2.059e-02 -1.380e-04 -2.977e-04 4.638e-04 4.148e-02 0 7.51393e-05 2.50527e-05 1.55160e+00 2.35000e+01 +Ptbdsf_process_image.in_fits_w0_i15_s19_g19 17 10 19.818577 +64 27 50.145324 7.337e-03 -5.474e-04 5.002e-05 4.035e-05 1.377e-02 0 0.00000e+00 0.00000e+00 -1.57080e+00 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i16_s20_g20 17 09 46.153092 +64 45 35.965982 5.368e-03 5.465e-04 2.489e-04 -1.865e-04 5.924e-02 0 8.60549e-05 4.09795e-05 -1.40731e+00 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i17_s21_g21 17 09 41.600356 +64 33 32.508164 6.916e-02 9.952e-04 3.792e-04 1.055e-04 9.144e-04 0 1.19182e-04 4.12221e-05 -1.53520e+00 2.35000e+01 +Ptbdsf_process_image.in_fits_w0_i18_s22_g22 17 09 12.228741 +64 30 44.546814 6.342e-03 1.287e-04 1.796e-04 -3.249e-05 2.126e-02 0 0.00000e+00 0.00000e+00 -1.57080e+00 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i19_s23_g23 17 09 4.018376 +64 37 8.333769 1.477e-02 2.301e-04 1.783e-04 -4.099e-04 -7.797e-03 0 1.08680e-04 3.32722e-05 -9.54957e-01 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i20_s24_g24 17 08 56.324716 +64 19 37.687299 1.634e-02 8.491e-04 -7.235e-05 -3.161e-04 1.291e-02 0 8.06513e-05 2.75301e-05 1.43398e+00 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i21_s25_g25 17 08 42.349481 +64 10 54.820628 1.374e-02 7.415e-04 -1.278e-04 -8.151e-04 1.368e-02 0 8.10174e-05 8.72665e-08 1.40295e+00 2.35000e+01 +Ptbdsf_process_image.in_fits_w0_i22_s26_g26 17 08 39.177693 +64 38 34.317175 6.765e-03 -2.717e-04 1.773e-06 -1.352e-04 2.799e-02 0 0.00000e+00 0.00000e+00 -1.57080e+00 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i23_s27_g27 17 08 33.300911 +64 47 44.871634 1.132e-02 5.671e-04 6.613e-05 -3.497e-04 3.636e-02 0 5.43516e-05 4.53078e-06 1.43184e+00 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i24_s28_g28 17 08 27.252484 +64 20 2.123166 6.788e-03 -6.913e-05 4.646e-04 6.608e-06 3.111e-02 0 1.23160e-04 5.41396e-05 -7.80784e-02 2.35000e+01 +Ptbdsf_process_image.in_fits_w0_i25_s29_g29 17 08 15.524325 +64 43 28.774934 8.012e-03 -7.629e-05 2.898e-04 8.564e-05 2.361e-02 0 0.00000e+00 0.00000e+00 -1.57080e+00 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i26_s30_g30 17 08 10.982657 +64 22 5.670581 1.369e-02 -8.469e-05 -1.967e-05 3.466e-04 6.704e-03 0 8.53107e-05 1.80612e-05 1.40838e+00 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i27_s31_g31 17 08 3.442050 +64 12 21.771503 5.444e-02 1.044e-03 -6.199e-04 3.425e-04 -9.325e-03 0 1.01728e-04 5.77731e-05 1.46554e+00 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i28_s32_g32 17 07 56.240705 +64 24 41.669781 1.886e-01 3.314e-03 -9.926e-05 1.414e-04 6.295e-04 0 1.11738e-04 7.58882e-05 1.49147e+00 2.35000e+01 +Gtbdsf_process_image.in_fits_w1_i28_s32_g42 17 07 57.468355 +64 25 20.286688 2.034e-02 -3.263e-03 2.955e-03 -1.958e-03 1.377e-02 0 4.35691e-04 3.09816e-04 1.24695e+00 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i29_s33_g33 17 07 42.272464 +64 34 14.079530 4.813e-03 -1.666e-04 4.696e-04 -2.296e-05 -3.572e-02 0 1.01160e-04 6.61541e-05 -7.91469e-01 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i30_s34_g34 17 07 8.591608 +64 17 28.816989 5.865e-03 3.488e-04 2.710e-04 -1.530e-04 4.167e-02 0 8.22533e-05 1.92195e-05 -1.16776e+00 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i31_s35_g35 17 06 10.737189 +64 38 12.816412 2.058e-01 4.374e-03 -1.339e-04 -1.311e-03 1.534e-05 0 1.18764e-04 9.90651e-05 1.10920e+00 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i31_s35_g36 17 06 21.509232 +64 38 2.345018 6.757e-02 1.733e-03 -1.259e-04 -7.867e-04 1.112e-03 0 1.02145e-04 6.94499e-05 -1.47696e+00 2.35000e+01 +Gtbdsf_process_image.in_fits_w1_i31_s35_g43 17 06 15.463071 +64 39 38.776802 4.005e-03 -7.056e-04 1.243e-04 7.058e-04 -0.8 0 2.07296e-04 1.24261e-04 1.09523e+00 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i32_s36_g37 17 06 23.556838 +64 27 25.408866 1.135e-02 5.665e-04 6.183e-04 6.382e-05 -1.194e-02 0 7.64807e-05 3.50862e-05 -1.51358e+00 2.35000e+01 +Gtbdsf_process_image.in_fits_w1_i33_s37_g40 17 11 31.802883 +64 49 14.902809 4.254e-03 7.209e-04 5.831e-05 7.567e-04 -0.8 0 1.68376e-04 1.26347e-04 6.67121e-01 2.35000e+01 +Gtbdsf_process_image.in_fits_w1_i34_s38_g41 17 10 35.211647 +64 20 6.849683 3.155e-03 -1.720e-03 -7.944e-04 4.733e-04 -0.8 0 1.50476e-04 1.04160e-04 2.52292e-01 2.35000e+01 +Gtbdsf_process_image.in_fits_w2_i35_s39_g42 17 12 21.204645 +64 08 13.760825 2.795e-02 -7.311e-04 1.067e-04 -1.692e-03 -1.527e-02 0 7.07161e-04 4.00081e-04 -1.05796e-01 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i35_s40_g43 17 11 29.656297 +64 13 57.316867 -3.017e-03 -5.866e-03 -2.968e-04 1.021e-04 -0.8 0 2.79239e-04 1.38609e-04 -6.24103e-02 2.35000e+01 +Gtbdsf_process_image.in_fits_w0_i36_s41_g44 17 10 46.772763 +64 26 58.184575 4.265e-04 -8.749e-03 -1.421e-03 3.298e-04 -0.8 0 3.77742e-04 1.85764e-04 4.12367e-01 2.35000e+01 diff --git a/test/reference_outputs/catalogues/tbdsf_process_image.in_fits.pybdsf.srl b/test/reference_outputs/catalogues/tbdsf_process_image.in_fits.pybdsf.srl index 3e87919a..26349cc8 100644 --- a/test/reference_outputs/catalogues/tbdsf_process_image.in_fits.pybdsf.srl +++ b/test/reference_outputs/catalogues/tbdsf_process_image.in_fits.pybdsf.srl @@ -1,7 +1,7 @@ # Source list for tbdsf_process_image.in_fits -# Generated by PyBDSM version 1.10.4.dev17+g0a8f769 +# Generated by PyBDSF version 1.10.4.dev17+g0a8f769 # Reference frequency of the detection ("ch0") image: 2.35000e+01 Hz -# Equinox : 2000.0 +# Equinox : 2000.0 # Source_id Isl_id RA E_RA DEC E_DEC Total_flux E_Total_flux Peak_flux E_Peak_flux RA_max E_RA_max DEC_max E_DEC_max Maj E_Maj Min E_Min PA E_PA Maj_img_plane E_Maj_img_plane Min_img_plane E_Min_img_plane PA_img_plane E_PA_img_plane DC_Maj E_DC_Maj DC_Min E_DC_Min DC_PA E_DC_PA DC_Maj_img_plane E_DC_Maj_img_plane DC_Min_img_plane E_DC_Min_img_plane DC_PA_img_plane E_DC_PA_img_plane Isl_Total_flux E_Isl_Total_flux Isl_rms Isl_mean Resid_Isl_rms Resid_Isl_mean S_Code Spec_Indx E_Spec_Indx Total_Q E_Total_Q Total_U E_Total_U Total_V E_Total_V Linear_Pol_frac Elow_Linear_Pol_frac Ehigh_Linear_Pol_frac Circ_Pol_Frac Elow_Circ_Pol_Frac Ehigh_Circ_Pol_Frac Total_Pol_Frac Elow_Total_Pol_Frac Ehigh_Total_Pol_Frac Linear_Pol_Ang E_Linear_Pol_Ang 0 0 258.24917901515403 0.00012943836171 64.15882141949713 0.00006420271682 0.04608297084320 0.00138725455355 0.04017767438205 0.00057378463680 258.27798294025285 0.00012943836171 64.15892132151734 0.00006420271682 0.01700591613048 0.00030567652812 0.01199316728726 0.00014941394808 175.03444249904319 1.41544757253785 0.01700955085567 0.00030567652812 0.01199318975459 0.00014941394808 175.03518123223853 1.41544757253785 0.00000000000000 0.00000000000000 0.00000000000000 0.00000000000000 0.00000000000000 0.00000000000000 0.00000000000000 0.00030567652812 0.00000000000000 0.00014941394808 0.00000000000000 1.41544757253785 0.05506623837294 0.00094164984083 0.00057378463680 -0.00022998907662 0.00535624753684 0.00092304020654 M -0.00565465628545 0.01603228892616 0.00093005108647 0.00115498458101 -0.00013052643044 0.00094862011054 0.00000859959982 0.00084342001261 0.00000000000000 0.00000000000000 0.03343974810320 0.00000000000000 0.00000000000000 0.01887026504171 0.00000000000000 0.00000000000000 0.03839666204176 0.00000000000000 0.00000000000000