Ejemplo n.º 1
0
def bgPlot(data, iT, black, tStep, bgHist, titleS=None):
    if black:
        if tStep == arguments.animate[0]:
            txtc = 'w'
        else:
            txtc = 'gray'
        face = 'k'
        cmap = cm.bone
    else:
        if tStep == arguments.animate[0]:
            txtc = 'k'
        else:
            txtc = 'gray'
        face = 'w'
        cmap = cm.binary

    fig = Figure(figsize=(6.4, 4.8))
    fig.subplotpars = SubplotParams(left=.10, right=.95, bottom=.125, top=.80)
    gs = gridspec.GridSpec(2, 2)

    if titleS:
        titleS += '\n%4.3f' % iT
    else:
        titleS = '%4.3f' % iT

    if titleS:
        fig.text(
            0.5,
            .95,
            titleS,
            color=txtc,
            horizontalalignment='center',
            verticalalignment='top',
        )

    nbins = arguments.nbins

    #the primary plot, Az vs El
    mask = data.time < iT
    if arguments.cos:
        #the range rings
        theta = linspace(0, 2 * pi, 1000)
        circX = sin(theta)
        circY = cos(theta)
        aeHist = histogram2d(data.cosa[mask],
                             data.cosb[mask],
                             weights=data.pkpk[mask],
                             bins=[nbins * 2, nbins * 2],
                             range=[data.caRange, data.cbRange])
        #scale the histogram
        aeHist[0][:] -= aeHist[0].min()
        if aeHist[0].max() > 0:
            aeHist[0][:] = (aeHist[0] / aeHist[0].max())**0.3
    else:
        aeHist = histogram2d(data.elev[mask],
                             data.azim[mask],
                             weights=data.pkpk[mask],
                             bins=[nbins * 2, nbins * 2],
                             range=[data.elRange, data.azRange])
        #scale the histogram
        aeHist[0][:] -= aeHist[0].min()
        if aeHist[0].max() > 0:
            aeHist[0][:] = (aeHist[0] / aeHist[0].max())**0.3
    ax1 = fig.add_subplot(gs[:, 0], axisbg=face)
    if arguments.cos:
        ax1.plot(circX, circY, c=txtc, ls='-')
        ax1.plot(circX * cos(30 * pi / 180),
                 circY * cos(30 * pi / 180),
                 c=txtc,
                 ls=':')
        ax1.plot(circX * cos(60 * pi / 180),
                 circY * cos(60 * pi / 180),
                 c=txtc,
                 ls=':')
    ax1.pcolormesh(aeHist[2], aeHist[1], aeHist[0], cmap=cmap)
    ax1.yaxis.set_tick_params(labelcolor=txtc)
    ax1.yaxis.set_tick_params(color=txtc)
    ax1.xaxis.set_tick_params(labelcolor=txtc)
    ax1.xaxis.set_tick_params(color=txtc)
    if arguments.cos:
        ax1.set_xlim(data.cbRange)
        ax1.set_ylim(data.caRange)
        ax1.set_aspect('equal')
        if arguments.fancy:
            ax1.set_ylabel('$\\cos(\\beta)$', color=txtc)
            ax1.set_xlabel('$\\cos(\\alpha)$', color=txtc)
        else:
            ax1.set_ylabel('cos(beta)', color=txtc)
            ax1.set_xlabel('cos(alpha)', color=txtc)

    else:
        ax1.set_xlim(data.azRange)
        ax1.set_ylim(data.elRange)
        ax1.set_xlabel('Azimuth', color=txtc)
        ax1.set_ylabel('Elevation', color=txtc)
    ax1.locator_params(axis='x', nbins=6)

    #time axis 1
    #etHist = histogram2d( data[:,2],data[:,0],weights=data[:,4]**2, bins=[nbins/2,nbins], range=[elRange,tRange] )
    #scale the histogram
    #etHist[0][:] -= etHist[0].min()
    #etHist[0][:] = (etHist[0]/etHist[0].max())**(arguments.alphaEx/2)
    ax2 = fig.add_subplot(gs[0, 1], axisbg=face)
    #ax2.pcolormesh( etHist[2], etHist[1], etHist[0], cmap=cmap)
    ax2.pcolormesh(bgHist[0][2],
                   bgHist[0][1],
                   bgHist[0][0],
                   edgecolor='None',
                   cmap=cmap)
    ax2.vlines(iT, 0, 90, 'r')
    ax2.yaxis.set_tick_params(labelcolor=txtc)
    ax2.yaxis.set_tick_params(color=txtc)
    ax2.xaxis.set_tick_params(labelcolor=txtc)
    ax2.xaxis.set_tick_params(color=txtc)
    ax2.set_xlim(data.tRange)
    ax2.set_ylim(data.elRange)
    ax2.locator_params(axis='x', nbins=5)

    #time axis 2 (zoomed)
    #mask = data[:,0] > iT - arguments.zoomtime
    #etHist = histogram2d( data[mask,2],data[mask,0],weights=data[mask,4]**2, bins=[nbins,nbins*2], range=[elRange,[iT-arguments.zoomtime, iT]] )
    #scale the histogram
    #etHist[0][:] -= etHist[0].min()
    #etHist[0][:] = (etHist[0]/etHist[0].max())**(arguments.alphaEx/2)
    ax3 = fig.add_subplot(gs[1, 1], axisbg=face)
    ax3.pcolormesh(bgHist[1][2],
                   bgHist[1][1],
                   bgHist[1][0],
                   edgecolor='None',
                   cmap=cmap)
    ax3.vlines(iT, 0, 90, 'r')
    ax3.yaxis.set_tick_params(labelcolor=txtc)
    ax3.yaxis.set_tick_params(color=txtc)
    ax3.xaxis.set_tick_params(labelcolor=txtc)
    ax3.xaxis.set_tick_params(color=txtc)
    ax3.set_xlim(
        [iT - arguments.zoomtime * .75, iT + arguments.zoomtime * .25])
    ax3.set_ylim(data.elRange)
    ax3.set_xlabel('Time (ms)', color=txtc)

    return fig, [ax1, ax2, ax3]
Ejemplo n.º 2
0
def bgPlot( data,iT,black, tStep, bgHist, titleS=None ):
	if black:
		if tStep == arguments.animate[0]:
			txtc = 'w'
		else:
			txtc = 'gray'
		face = 'k'
		cmap = cm.bone
	else:
		if tStep == arguments.animate[0]:
			txtc = 'k'
		else:
			txtc = 'gray'
		face = 'w'	
		cmap = cm.binary

	fig = Figure( figsize=(6.4,4.8) )
	fig.subplotpars = SubplotParams(left=.10,right=.95,bottom=.125,top=.80)
	gs = gridspec.GridSpec(2, 2)

	if titleS:
		titleS += '\n%4.3f'%iT
	else:
		titleS = '%4.3f'%iT
	
	if titleS:
		fig.text(0.5,.95, titleS, color=txtc,
				 horizontalalignment='center',
				 verticalalignment='top',)
	
	nbins = arguments.nbins
	
	#the primary plot, Az vs El
	mask = data.time < iT
	if arguments.cos:
		#the range rings
		theta  = linspace(0,2*pi,1000)
		circX  = sin(theta)
		circY  = cos(theta)
		aeHist = histogram2d( 	data.cosa[mask],
								data.cosb[mask],
								weights=data.pkpk[mask], 
								bins=[nbins*2,nbins*2], 
								range=[data.caRange,data.cbRange] )
		#scale the histogram
		aeHist[0][:] -= aeHist[0].min()
		if aeHist[0].max() > 0:
			aeHist[0][:] = (aeHist[0]/aeHist[0].max())**0.3
	else:
		aeHist = histogram2d( 	data.elev[mask],
								data.azim[mask],
								weights=data.pkpk[mask], 
								bins=[nbins*2,nbins*2], 
								range=[data.elRange,data.azRange] )
		#scale the histogram
		aeHist[0][:] -= aeHist[0].min()
		if aeHist[0].max() > 0:
			aeHist[0][:] = (aeHist[0]/aeHist[0].max())**0.3
	ax1 = fig.add_subplot(gs[:,0],axisbg=face)
	if arguments.cos:
		ax1.plot(circX,circY,c=txtc,ls='-')
		ax1.plot(circX*cos(30*pi/180),circY*cos(30*pi/180),c=txtc,ls=':')
		ax1.plot(circX*cos(60*pi/180),circY*cos(60*pi/180),c=txtc,ls=':')
	ax1.pcolormesh( aeHist[2], aeHist[1], aeHist[0], cmap=cmap)
	ax1.yaxis.set_tick_params(labelcolor=txtc)
	ax1.yaxis.set_tick_params(color=txtc)
	ax1.xaxis.set_tick_params(labelcolor=txtc)
	ax1.xaxis.set_tick_params(color=txtc)
	if arguments.cos:
		ax1.set_xlim( data.cbRange )
		ax1.set_ylim( data.caRange )
		ax1.set_aspect('equal')
		if arguments.fancy:
			ax1.set_ylabel('$\\cos(\\beta)$', color=txtc)
			ax1.set_xlabel('$\\cos(\\alpha)$', color=txtc)
		else:
			ax1.set_ylabel('cos(beta)', color=txtc)
			ax1.set_xlabel('cos(alpha)', color=txtc)

	else:
		ax1.set_xlim( data.azRange )
		ax1.set_ylim( data.elRange )
		ax1.set_xlabel('Azimuth', color=txtc)
		ax1.set_ylabel('Elevation', color=txtc)
	ax1.locator_params(axis='x',nbins=6)

	#time axis 1
	#etHist = histogram2d( data[:,2],data[:,0],weights=data[:,4]**2, bins=[nbins/2,nbins], range=[elRange,tRange] )
	#scale the histogram
	#etHist[0][:] -= etHist[0].min()
	#etHist[0][:] = (etHist[0]/etHist[0].max())**(arguments.alphaEx/2)
	ax2 = fig.add_subplot(gs[0,1],axisbg=face)
	#ax2.pcolormesh( etHist[2], etHist[1], etHist[0], cmap=cmap)
	ax2.pcolormesh( bgHist[0][2], bgHist[0][1], bgHist[0][0], edgecolor='None',cmap=cmap)
	ax2.vlines( iT, 0, 90, 'r' )
	ax2.yaxis.set_tick_params(labelcolor=txtc)
	ax2.yaxis.set_tick_params(color=txtc)
	ax2.xaxis.set_tick_params(labelcolor=txtc)
	ax2.xaxis.set_tick_params(color=txtc)
	ax2.set_xlim( data.tRange )
	ax2.set_ylim( data.elRange )
	ax2.locator_params(axis='x',nbins=5)

	#time axis 2 (zoomed)
	#mask = data[:,0] > iT - arguments.zoomtime
	#etHist = histogram2d( data[mask,2],data[mask,0],weights=data[mask,4]**2, bins=[nbins,nbins*2], range=[elRange,[iT-arguments.zoomtime, iT]] )
	#scale the histogram
	#etHist[0][:] -= etHist[0].min()
	#etHist[0][:] = (etHist[0]/etHist[0].max())**(arguments.alphaEx/2)
	ax3 = fig.add_subplot(gs[1,1],axisbg=face)
	ax3.pcolormesh( bgHist[1][2], bgHist[1][1], bgHist[1][0],edgecolor='None', cmap=cmap)
	ax3.vlines( iT, 0, 90, 'r' )
	ax3.yaxis.set_tick_params(labelcolor=txtc)
	ax3.yaxis.set_tick_params(color=txtc)
	ax3.xaxis.set_tick_params(labelcolor=txtc)
	ax3.xaxis.set_tick_params(color=txtc)
	ax3.set_xlim( [iT-arguments.zoomtime*.75, iT+arguments.zoomtime*.25] )
	ax3.set_ylim( data.elRange )
	ax3.set_xlabel('Time (ms)', color=txtc)
	
	return fig, [ax1,ax2,ax3]
Ejemplo n.º 3
0
def bgPlot_notime(data, iT, black, tStep, bgHist, titleS=None):
    if black:
        if tStep == arguments.animate[0]:
            txtc = 'w'
        else:
            txtc = 'gray'
        face = 'k'
        cmap = cm.bone
    else:
        if tStep == arguments.animate[0]:
            txtc = 'k'
        else:
            txtc = 'gray'
        face = 'w'
        cmap = cm.binary

    fig = Figure(figsize=(6.4, 4.8))
    fig.subplotpars = SubplotParams(left=.10, right=.95, bottom=.125, top=.80)
    gs = gridspec.GridSpec(2, 2)

    if titleS:
        titleS += '\n%4.3f' % iT
    else:
        titleS = '%4.3f' % iT

    fig.text(
        0.5,
        .95,
        titleS,
        color=txtc,
        horizontalalignment='center',
        verticalalignment='top',
    )

    nbins = arguments.nbins

    #the primary plot, Az vs El
    mask = data.time < iT
    if arguments.cos:
        #the range rings
        theta = linspace(0, 2 * pi, 1000)
        circX = sin(theta)
        circY = cos(theta)
        aeHist = histogram2d(data.cosa[mask],
                             data.cosb[mask],
                             weights=data.pkpk[mask],
                             bins=[nbins * 2, nbins * 2],
                             range=[data.caRange, data.cbRange])
        #scale the histogram
        #aeHist[0][:] -= aeHist[0].min()
        aeHist[0][:] = (aeHist[0] / aeHistMax)**.3
    else:
        aeHist = histogram2d(data.elev[mask],
                             data.azim[mask],
                             weights=data.pkpk[mask],
                             bins=[nbins * 2, nbins * 2],
                             range=[data.elRange, data.azRange])
        #scale the histogram
        #aeHist[0][:] -= aeHist[0].min()
        aeHist[0][:] = (aeHist[0] / aeHistMax)**.3
    ax1 = fig.add_subplot(111, axisbg=face, aspect='equal')

    if arguments.cos:
        ax1.plot(circX, circY, c=txtc, ls='-')
        ax1.plot(circX * cos(30 * pi / 180),
                 circY * cos(30 * pi / 180),
                 c=txtc,
                 ls=':')
        ax1.plot(circX * cos(60 * pi / 180),
                 circY * cos(60 * pi / 180),
                 c=txtc,
                 ls=':')
    ax1.pcolormesh(aeHist[2], aeHist[1], aeHist[0], cmap=cmap, vmax=1, vmin=0)
    ax1.yaxis.set_tick_params(labelcolor=txtc)
    ax1.yaxis.set_tick_params(color=txtc)
    ax1.xaxis.set_tick_params(labelcolor=txtc)
    ax1.xaxis.set_tick_params(color=txtc)
    if arguments.cos:
        ax1.set_xlim(data.cbRange)
        ax1.set_ylim(data.caRange)
        ax1.set_aspect('equal')
        if arguments.fancy:
            ax1.set_ylabel('$\\cos(\\beta)$', color=txtc)
            ax1.set_xlabel('$\\cos(\\alpha)$', color=txtc)
        else:
            ax1.set_ylabel('cos(beta)', color=txtc)
            ax1.set_xlabel('cos(alpha)', color=txtc)
    else:
        ax1.set_xlim(data.azRange)
        ax1.set_ylim(data.elRange)
        ax1.set_xlabel('Azimuth', color=txtc)
        ax1.set_ylabel('Elevation', color=txtc)
    ax1.locator_params(axis='x', nbins=6)

    return fig, [ax1]
Ejemplo n.º 4
0
def bgPlot_notime(data,iT,black, tStep, bgHist, titleS=None ):
	if black:
		if tStep == arguments.animate[0]:
			txtc = 'w'
		else:
			txtc = 'gray'
		face = 'k'
		cmap = cm.bone
	else:
		if tStep == arguments.animate[0]:
			txtc = 'k'
		else:
			txtc = 'gray'
		face = 'w'	
		cmap = cm.binary

	fig = Figure( figsize=(6.4,4.8) )
	fig.subplotpars = SubplotParams(left=.10,right=.95,bottom=.125,top=.80)
	gs = gridspec.GridSpec(2, 2)
	
	
	if titleS:
		titleS += '\n%4.3f'%iT
	else:
		titleS = '%4.3f'%iT
		
	fig.text(0.5,.95, titleS, color=txtc,
			 horizontalalignment='center',
			 verticalalignment='top',)
	
	nbins = arguments.nbins

	#the primary plot, Az vs El
	mask = data.time < iT
	if arguments.cos:
		#the range rings
		theta  = linspace(0,2*pi,1000)
		circX  = sin(theta)
		circY  = cos(theta)
		aeHist = histogram2d( 	data.cosa[mask],
								data.cosb[mask],
								weights=data.pkpk[mask], 
								bins=[nbins*2,nbins*2], 
								range=[data.caRange,data.cbRange] )
		#scale the histogram
		#aeHist[0][:] -= aeHist[0].min()
		aeHist[0][:] = (aeHist[0]/aeHistMax)**.3
	else:
		aeHist = histogram2d( 	data.elev[mask],
								data.azim[mask],
								weights=data.pkpk[mask], 
								bins=[nbins*2,nbins*2], 
								range=[data.elRange,data.azRange] )
		#scale the histogram
		#aeHist[0][:] -= aeHist[0].min()
		aeHist[0][:] = (aeHist[0]/aeHistMax)**.3
	ax1 = fig.add_subplot(111,axisbg=face, aspect='equal')

	if arguments.cos:
		ax1.plot(circX,circY,c=txtc,ls='-')
		ax1.plot(circX*cos(30*pi/180),circY*cos(30*pi/180),c=txtc,ls=':')
		ax1.plot(circX*cos(60*pi/180),circY*cos(60*pi/180),c=txtc,ls=':')
	ax1.pcolormesh( aeHist[2], aeHist[1], aeHist[0], cmap=cmap, vmax=1, vmin=0)
	ax1.yaxis.set_tick_params(labelcolor=txtc)
	ax1.yaxis.set_tick_params(color=txtc)
	ax1.xaxis.set_tick_params(labelcolor=txtc)
	ax1.xaxis.set_tick_params(color=txtc)
	if arguments.cos:
		ax1.set_xlim( data.cbRange )
		ax1.set_ylim( data.caRange )
		ax1.set_aspect('equal')
		if arguments.fancy:
			ax1.set_ylabel('$\\cos(\\beta)$', color=txtc)
			ax1.set_xlabel('$\\cos(\\alpha)$', color=txtc)
		else:
			ax1.set_ylabel('cos(beta)', color=txtc)
			ax1.set_xlabel('cos(alpha)', color=txtc)
	else:
		ax1.set_xlim( data.azRange )
		ax1.set_ylim( data.elRange )
		ax1.set_xlabel('Azimuth', color=txtc)
		ax1.set_ylabel('Elevation', color=txtc)
	ax1.locator_params(axis='x',nbins=6)

	return fig, [ax1]