示例#1
0
	err.message("{0:,d} sources detected: {1:,d} positive and {2:,d} negative.".format(NRdet, NRdet - NRdetNeg, NRdetNeg))
	if Parameters["pipeline"]["trackMemory"]: print_memory_usage(t0)
	
	# Set catalogue header
	if "bunit" in dict_Header: dunits = dict_Header["bunit"]
	else: dunits = "-"



# -------------------------------------
# ---- OUTPUT FOR DEBUGGING (MASK) ----
# -------------------------------------

if Parameters['steps']['doDebug'] and Parameters["steps"]["doMerge"] and NRdet:
	err.print_progress_message("Writing all-source mask cube for debugging", t0)
	writemask.writeMask(mask, dict_Header, Parameters, '%s_mask.debug_all.fits' % outroot, Parameters['writeCat']['compress'], Parameters['writeCat']['overwrite'])



# ----------------------------------------------------
# ---- ESTIMATE RELIABILITY FROM NEGATIVE SOURCES ----
# ----------------------------------------------------

if Parameters["steps"]["doReliability"] and Parameters["steps"]["doMerge"] and NRdet:
	if not NRdetNeg:
		err.print_progress_time(t0)
		err.error(
			"You asked SoFiA to calculate the reliability of the detected\n"
			"sources.  Unfortunately, this calculation cannot be done be-\n"
			"cause there are no negative sources  in the catalogue of de-\n"
			"tections.  This could be due  to your source-finding  and/or\n"
示例#2
0
if not NRdet:
    err.warning("No pixels detected. Exiting pipeline.", fatal=True)
else:
    err.message("{0:,d} out of {1:,d} pixels detected ({2:.4f}%)".format(
        NRdet,
        np.array(mask.shape).prod(),
        100.0 * float(NRdet) / float(np.array(mask.shape).prod())))

# -------------------------------------
# ---- OUTPUT FOR DEBUGGING (MASK) ----
# -------------------------------------

if Parameters["steps"]["doDebug"] and NRdet:
    err.print_progress_message("Writing binary mask cube for debugging", t0)
    writemask.writeMask(mask, dict_Header, Parameters,
                        outputMaskCube.replace('_mask.fits', '_binmask.fits'),
                        Parameters["writeCat"]["compress"],
                        Parameters["writeCat"]["overwrite"])

# -----------------
# ---- MERGING ----
# -----------------

if Parameters["steps"]["doMerge"] and NRdet:
    err.print_progress_message("Merging detections", t0)
    objects = []
    objects, mask = linker.link_objects(
        np_Cube, objects, mask, Parameters["merge"]["radiusX"],
        Parameters["merge"]["radiusY"], Parameters["merge"]["radiusZ"],
        Parameters["merge"]["minSizeX"], Parameters["merge"]["minSizeY"],
        Parameters["merge"]["minSizeZ"], Parameters["merge"]["maxSizeX"],
        Parameters["merge"]["maxSizeY"], Parameters["merge"]["maxSizeZ"],
示例#3
0
	err.message("{0:,d} sources detected: {1:,d} positive and {2:,d} negative.".format(NRdet, NRdet - NRdetNeg, NRdetNeg))
	if Parameters["pipeline"]["trackMemory"]: print_memory_usage(t0)
	
	# Set catalogue header
	if "bunit" in dict_Header: dunits = dict_Header["bunit"]
	else: dunits = "-"



# -------------------------------------
# ---- OUTPUT FOR DEBUGGING (MASK) ----
# -------------------------------------

if Parameters["steps"]["doDebug"] and Parameters["steps"]["doMerge"] and NRdet:
	err.print_progress_message("Writing all-source mask cube for debugging", t0)
	writemask.writeMask(mask, dict_Header, Parameters, "%s_mask.debug_all.fits" % outroot, Parameters["writeCat"]["compress"], Parameters["writeCat"]["overwrite"])



# ----------------------------------------------------
# ---- ESTIMATE RELIABILITY FROM NEGATIVE SOURCES ----
# ----------------------------------------------------

if Parameters["steps"]["doReliability"] and Parameters["steps"]["doMerge"] and NRdet:
	if not NRdetNeg:
		err.print_progress_time(t0)
		err.error(
			"You asked SoFiA to calculate the reliability of the detected\n"
			"sources.  Unfortunately, this calculation cannot be done be-\n"
			"cause there are no negative sources  in the catalogue of de-\n"
			"tections.  This could be due  to your source-finding  and/or\n"
示例#4
0
	objects=np.array(objects)
	objects[:,catParNames.index('snr_min')]/=globalrms
	objects[:,catParNames.index('snr_max')]/=globalrms
	objects[:,catParNames.index('snr_sum')]/=globalrms
	objects=[list(jj) for jj in list(objects)]


# -------------------------------------
# ---- OUTPUT FOR DEBUGGING (MASK) ----
# -------------------------------------

if Parameters['steps']['doDebug'] and NRdet:
	print "\n--- %.3f seconds since start"%(time()-t0)
	print "\n--- SoFiA: Writing all-source mask cube for debugging ---"
	sys.stdout.flush()
	writemask.writeMask(mask, dict_Header, Parameters, '%s_mask.debug_all.fits'%outroot,Parameters['writeCat']['compress'])



# ----------------------------------------------------
# ---- ESTIMATE RELIABILITY FROM NEGATIVE SOURCES ----
# ----------------------------------------------------

if Parameters['steps']['doReliability'] and Parameters['steps']['doMerge'] and NRdet:
	print "\n--- %.3f seconds since start"%(time()-t0)
	print "\n--- SoFiA: Determining reliability ---"
	sys.stdout.flush()
	objects,reliable = addrel.EstimateRel(np.array(objects), outroot, catParNames, **Parameters['reliability'])
	print 'The following sources have been detected:', reliable
	print
	catParNames = tuple(list(catParNames) + ['n_pos',  'n_neg',  'rel'])
示例#5
0
    sys.stdout.flush()

    objects, mask = linker.link_objects(np_Cube, mask, **Parameters["merge"])

    print "Merging complete"
    print


# -------------------------------------
# ---- OUTPUT FOR DEBUGGING (MASK) ----
# -------------------------------------

if Parameters["steps"]["doDebug"] and NRdet:
    print "\n--- SoFiA: Writing all-source mask cube for debugging ---"
    sys.stdout.flush()
    writemask.writeMask(mask, dict_Header, Parameters, "%s_mask.debug_all.fits" % outroot)


# ----------------------------------------------------
# ---- ESTIMATE RELIABILITY FROM NEGATIVE SOURCES ----
# ----------------------------------------------------

if Parameters["steps"]["doReliability"] and Parameters["steps"]["doMerge"] and NRdet:
    print "\n--- SoFiA: Determining reliability ---"
    sys.stdout.flush()
    objects, reliable = addrel.EstimateRel(np.array(objects), outroot, **Parameters["reliability"])
    print "The following sources have been detected:", reliable
    print
elif Parameters["steps"]["doMerge"] and NRdet:
    reliable = list(np.array(objects)[np.array(objects)[:, 16] > 0, 0].astype(int))  # select all positive sources
    print "The following sources have been detected:", reliable
示例#6
0
	NRdet = len(objects)
	NRdetNeg = (np.array(objects)[:,16] < 0).sum()
	print (str(NRdet) + ' sources detected: ' + str(NRdet - NRdetNeg) + ' positive, ' + str(NRdetNeg) + ' negative.')
	# Set catalogue header
	if 'bunit' in dict_Header: dunits = dict_Header['bunit']
	else: dunits = '-'



# -------------------------------------
# ---- OUTPUT FOR DEBUGGING (MASK) ----
# -------------------------------------

if Parameters['steps']['doDebug'] and NRdet:
	printProgressMessage("Writing all-source mask cube for debugging")
	writemask.writeMask(mask, dict_Header, Parameters, '%s_mask.debug_all.fits' % outroot, Parameters['writeCat']['compress'], Parameters['writeCat']['overwrite'])


# ----------------------------------------------------
# ---- ESTIMATE RELIABILITY FROM NEGATIVE SOURCES ----
# ----------------------------------------------------

if Parameters['steps']['doReliability'] and Parameters['steps']['doMerge'] and NRdet and not NRdetNeg:
	printProgressTime()
	sys.stderr.write("------------------------------------------------------------------------------\n")
	sys.stderr.write("ERROR: You asked SoFiA to calculate  the reliability  of the detected sources.\n")
	sys.stderr.write("       Unfortunately,  this calculation  cannot be done  because there  are no\n")
	sys.stderr.write("       negative sources in the catalogue of detections. This may occur because\n")
	sys.stderr.write("       of your source-finding and/or filtering settings.\n")
	sys.stderr.write("       Negative sources  are strictly necessary  to calculate the reliability.\n")
	sys.stderr.write("       You can do one of the following:\n")
示例#7
0
            NRdet, NRdet - NRdetNeg, NRdetNeg))
    if Parameters["pipeline"]["trackMemory"]: print_memory_usage(t0)

    # Set catalogue header
    if "bunit" in dict_Header: dunits = dict_Header["bunit"]
    else: dunits = "-"

# -------------------------------------
# ---- OUTPUT FOR DEBUGGING (MASK) ----
# -------------------------------------

if Parameters["steps"]["doDebug"] and Parameters["steps"]["doMerge"] and NRdet:
    err.print_progress_message("Writing all-source mask cube for debugging",
                               t0)
    writemask.writeMask(mask, dict_Header, Parameters,
                        "%s_mask.debug_all.fits" % outroot,
                        Parameters["writeCat"]["compress"],
                        Parameters["writeCat"]["overwrite"])

# ----------------------------------------------------
# ---- ESTIMATE RELIABILITY FROM NEGATIVE SOURCES ----
# ----------------------------------------------------

if Parameters["steps"]["doReliability"] and Parameters["steps"][
        "doMerge"] and NRdet:
    if not NRdetNeg:
        err.print_progress_time(t0)
        err.error(
            "You asked SoFiA to calculate the reliability of the detected\n"
            "sources.  Unfortunately, this calculation cannot be done be-\n"
            "cause there are no negative sources  in the catalogue of de-\n"
            "tections.  This could be due  to your source-finding  and/or\n"