NuRadioReco.framework.channel module

class NuRadioReco.framework.channel.Channel(channel_id, channel_group_id=None)[source]

Bases: BaseTrace

Parameters:
channel_id: int

the id of the channel

channel_group_id: int (default None)

optionally, several channels can belong to a “channel group”. Use case is to identify the channels of a single dual or triple polarized antenna as common in air shower arrays.

Methods

apply_time_shift(delta_t[, silent])

Uses the fourier shift theorem to apply a time shift to the trace Note that this is a cyclic shift, which means the trace will wrap around, which might lead to problems, especially for large time shifts.

get_filtered_trace(passband[, filter_type, ...])

Returns the trace after applying a filter to it.

get_group_id()

channel group id If no group id is specified, the channel id is returned.

get_number_of_samples()

Returns the number of samples in the time domain.

get_sampling_rate()

Returns the sampling rate of the trace.

get_trace()

Returns the time trace.

set_frequency_spectrum(frequency_spectrum, ...)

Sets the frequency spectrum.

set_trace(trace, sampling_rate)

Sets the time trace.

add_trace_start_time

deserialize

get_frequencies

get_frequency_spectrum

get_hilbert_envelope

get_hilbert_envelope_mag

get_id

get_parameter

get_parameters

get_times

get_trace_start_time

has_parameter

resample

serialize

set_parameter

set_trace_start_time

get_parameter(key)[source]
get_parameters()[source]
set_parameter(key, value)[source]
has_parameter(key)[source]
get_id()[source]
get_group_id()[source]

channel group id If no group id is specified, the channel id is returned. This allows using modules that use the group_id feature also on detector setups that don’t use this feature.

serialize(save_trace)[source]
deserialize(data_pkl)[source]
add_trace_start_time(start_time)
apply_time_shift(delta_t, silent=False)

Uses the fourier shift theorem to apply a time shift to the trace Note that this is a cyclic shift, which means the trace will wrap around, which might lead to problems, especially for large time shifts.

Parameters:
delta_t: float

Time by which the trace should be shifted

silent: boolean (default:False)

Turn off warnings if time shift is larger than 10% of trace length Only use this option if you are sure that your trace is long enough to acommodate the time shift

get_filtered_trace(passband, filter_type='butter', order=10, rp=None)

Returns the trace after applying a filter to it. This does not change the stored trace.

Parameters:
passband: list of floats

lower and upper bound of the filter passband

filter_type: string

type of the applied filter. Options are rectangular, butter and butterabs

order: int

Order of the Butterworth filter, if the filter types butter or butterabs are chosen

get_frequencies()
get_frequency_spectrum()
get_hilbert_envelope()
get_hilbert_envelope_mag()
get_number_of_samples()

Returns the number of samples in the time domain.

Returns:
n_samples: int

number of samples in time domain

get_sampling_rate()

Returns the sampling rate of the trace.

Returns:
sampling_rate: float

sampling rate, i.e., the inverse of the bin width

get_times()
get_trace()

Returns the time trace.

If the frequency spectrum was modified before, an ifft is performed automatically to have the time domain representation up to date.

Returns:
trace: np.array of floats

the time trace

get_trace_start_time()
resample(sampling_rate)
set_frequency_spectrum(frequency_spectrum, sampling_rate)

Sets the frequency spectrum.

Parameters:
frequency_spectrumnp.array of floats

The frequency spectrum

sampling_ratefloat or str

The sampling rate of the trace, i.e., the inverse of the bin width. If sampling_rate=”same”, sampling rate is not changed (requires previous initialisation).

set_trace(trace, sampling_rate)

Sets the time trace.

Parameters:
tracenp.array of floats

The time series

sampling_ratefloat or str

The sampling rate of the trace, i.e., the inverse of the bin width. If sampling_rate=”same”, sampling rate is not changed (requires previous initialisation).

set_trace_start_time(start_time)