icecube.radcube.modules.RadcubePlotter module

class icecube.radcube.modules.RadcubePlotter.RadcubePlotter(ctx)

Bases: I3Module

Module which can be used to quickly makes plots of a single antenna/E-Field. The user gives a list of lists where each entry includes the following five things:

  1. Name of the object in the frame to plot, e.g., “FilteredWaveform”

  2. The fraction of the bins to plot. Plots bins 0 to specified value

  3. Descriptive label to put on the plots for this entry, e.g., “After Bandpass Filter”

  4. True if quantity is in ADC units, False if not

  5. Method to plot the frequency spectrum “lin” for linear y-axis, “dB” to put it in dBm/Hz, “raw” for electric field

AntDataMapToPython(antDataMap, chkey)

Helper function which extracts the time series and frequency spectrum from the I3AntennaDataMap and returns them as numpy arrays.

Parameters:

vectorMap (icecube.dataclasses.I3AntennaDataMap) – The time series map to extract the data from

Returns:

times, hilbert amplitudes, raw amplitudes, frequencies, frequency amplitudes

CenterPlot(ax, times, waveforms, window)
Configure((I3Module)arg1) None :
C++ signature :

void Configure(PythonModule<I3Module> {lvalue})

ConvertToDBmHz(spec, df, impedance=8.010882310000003e-18)

Converts the frequnecy spectrum amplitudes to dBm/Hz. If values are less than -400 and thus below the typical numerical precision, entries are skipped

Parameters:
  • spec (numpy.array) – amplitudes of each frequency bin in I3Units

  • df (float) – the interval between two frequency bins

  • impedance (float) – the reference impedance for calulating the power

Returns:

Frequency values, spectral amplitudes

Return type:

numpy.array, numpy.array

GetTSAndSpec3D(vectorMap)

Helper function which extracts the time series and frequency spectrum from the EFieldTimeSeriesMap and returns them as numpy arrays.

Parameters:

vectorMap (icecube.dataclasses.EFieldTimeSeriesMap) – The electric field map to extract the data from

Returns:

times, x-amplitudes, y-amplitudes, z-amplitudes, frequencies, x-freq-amplitudes, y-freq-amplitudes, z-freq-amplitudes

MakeFreqPlot(ax, freqs, amps, plotFrac, plotColor, plotLabel, isADC)

Makes a plot of the frequency spectrum using the specified matplotlib axis

Parameters:
  • vectorMap (matplotlib.axis) – ax

  • freqs (numpy.array) – the frequency corresponding to each bin

  • amps (numpy.array) – amplitudes of each bin

  • plotFrac (int) – define the last bin to plot in the time domain

  • plotColor – defines the color of the line. must be something that matplotlib knows how to use i.e., “r”

  • plotLabel (str) – label of the plot for the legend

  • isADC (bool) – if true, assume what is being plotted is in ADC

MakeHilbertPlot(ax, times, amps, plotFrac, plotColor, plotLabel, isADC)

Makes a plot of the Hilbert envelope using the specified matplotlib axis

Parameters:
  • vectorMap (matplotlib.axis) – ax

  • times (numpy.array) – values of the time of each bin

  • amps (numpy.array) – amplitudes of each bin

  • plotFrac (int) – define the last bin to plot in the time domain

  • plotColor – defines the color of the line. must be something that matplotlib knows how to use i.e., “r”

  • plotLabel (str) – label of the plot for the legend

  • isADC (bool) – if true, assume what is being plotted is in ADC

MakeTimePlot(ax, times, amps, plotFrac, plotColor, plotLabel, isADC=False, isEField=False)

Makes a plot of the time series using the specified matplotlib axis

Parameters:
  • vectorMap (matplotlib.axis) – ax

  • times (numpy.array) – values of the time of each bin

  • amps (numpy.array) – amplitudes of each bin

  • plotFrac (int) – define the last bin to plot in the time domain

  • plotColor – defines the color of the line. must be something that matplotlib knows how to use i.e., “r”

  • plotLabel (str) – label of the plot for the legend

  • isADC (bool) – if true, assume what is being plotted is in ADC

MakedBmHzPlot(ax, freqs, amps, plotFrac, plotColor, plotLabel, isADC, impedance=8.010882310000003e-18)
Physics((I3Module)arg1, (I3Frame)arg2) None :
C++ signature :

void Physics(PythonModule<I3Module> {lvalue},boost::shared_ptr<I3Frame>)

TimeEfieldPlot(vectorMap, plotFrac, plotLabel, plotHilb)
TimeFreqDbPlot(antDataMap, plotFrac, plotLabel, isADC)
TimeFreqPlot(antDataMap, plotFrac, plotLabel, isADC)