コード例 #1
0
ファイル: sofia_pipeline.py プロジェクト: wslam/SoFiA
	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
ファイル: sofia_pipeline.py プロジェクト: laraalegre/SoFiA
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
ファイル: sofia_pipeline.py プロジェクト: SoFiA-Admin/SoFiA
	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
ファイル: sofia_pipeline.py プロジェクト: Jarreddebeer/SoFiA
	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
ファイル: sofia_pipeline.py プロジェクト: RussellJurek/SoFiA
    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
ファイル: sofia_pipeline.py プロジェクト: bwinkel/SoFiA
	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"