Recent Releases of setigen
setigen - v2.5.0
- Update MJD in saved filterbank/HDF5 files
- Add
OrderedCadenceobject for organizing frames - Re-vamp plotting for frames and cadences: removes
bl_plotand fully fleshes outplot(with options to plot in terms of relative frequency, absolute frequency, or pixels) - Important general refactoring
- Add tests for cadence module
- Complete docstrings and documentation
- Jupyter Notebook
Published by bbrzycki about 2 years ago
setigen - v2.4.0
- Support for cadences of frames with the
Cadenceobject - Access and inject signals into individual frames using array indices or slices
- Broadened start time support for individual
Frameobjects - Ability to truncate using
f_startandf_stoparguments withinFrameinstantiation from real data
- Jupyter Notebook
Published by bbrzycki almost 3 years ago
setigen - v2.2.0
- Add
frame.get_slice()method, which constructs a new Frame based on index bounds - Add
frame.copy()method, which additionally handles Waterfall() object copying - Add
frame.integrate()method, to easily construct spectra or time series data - Add
frame.from_backend_params(), to construct an empty frame based on data reduction parameters - Add
frame.plot()andframe.bl_plot()as aliases forrender()andbl_render() - Add
stg.array()to cast either a Frame or a numpy array to a numpy array - Change
end_indextostop_index - Bugfix
int_factorand supportdataparameter infrom_backend_params - Add
stg.dedrift()function
- Jupyter Notebook
Published by bbrzycki over 4 years ago
setigen - v2.1.0
- Changing
raw_file_stemtooutput_file_steminRawVoltageBackend.record(), simply to be more descriptive - Support injecting raw voltage signals in existing data; i.e. starting a raw voltage generation pipeline with existing RAW data via an
input_file_stemparameter - Switch filterbank/quantization object data cache standard from one cache to cover all (antenna, polarization) pairs to a separate object and associated cache for each (antenna, polarization) pair
- Updated docs
- Jupyter Notebook
Published by bbrzycki over 4 years ago
setigen - v2.0.0
Support creation of synthetic raw voltage data.
Create synthetic real voltages, pass through a software-based signal processing pipeline, including a polyphase filterbank, and save to GUPPI RAW format. Supports adding Gaussian real voltage noise, drifting chirp signals, and custom noise functions. Implements quantization before and after filterbank channelization.
- Jupyter Notebook
Published by bbrzycki over 4 years ago
setigen - v1.3.2
- Add sinc squared as an
f_profile(sinc2_f_profile). Using thetruncparameter controls whether to stop the signal after the first zero-crossing. - Add a new
pathfor simple RFI-like signals (simple_rfi_path). Can control width of variance, and whether the signal varies about a straight line path or accumulates frequency offsets as a random walk. - Update docs accordingly.
- Jupyter Notebook
Published by bbrzycki about 5 years ago
setigen - v1.3.0
Make the default noise background generation follow chi-squared distribution, appropriate for radiometer noise. Noise is calculated using data frame resolutions, and scaled up using a mean value. This change affects frame.add_noise() and frame.add_noise_from_obs(). Using a normal distribution instead for noise is still possible, using the noise_type argument, but for most (high spectral resolution) cases, using chi-squared noise is the best option.
- Jupyter Notebook
Published by bbrzycki over 5 years ago
setigen - v1.2.0
New functionality + improved API. Note that these changes may break code written for earlier version of setigen.
New:
* Save and load entire frames using pickle
* View frames with frame.render() and frame.bl_render() for blimpy visualization
* Support integrating f_profile for more accurate calculations w.r.t frequency
* Support custom metadata as part of Frame objects
* Calculate accurate frequency ranges from slices of filterbank files
* Add frame.get_waterfall() to directly access blimpy Waterfall object corresponding to frame
* In stg.split_utils, allow truncating data by desired number of time samples when creating waterfall generator
Summary of API changes:
stg.Frame(fil)->stg.Frame(waterfall)frame.compute_intensity()->frame.get_intensity()frame.compute_SNR()->frame.get_snr()db->use_dbinframe.get_data()function argumentsframe.freq_to_index()->frame.get_index(). Addframe.get_frequency()function.frame.save_data()andframe.load_data()->frame.save_npy()andframe.load_npy()- In
frame.add_signal:integrate_time->integrate_t_profilemean_f_position->integrate_pathtime_subsamples->t_subsamples
stg.fil_utils->stg.waterfall_utilsstg.split_utils.split_fil_generator()->stg.split_utils.split_waterfall_generator()
- Jupyter Notebook
Published by bbrzycki almost 6 years ago
setigen - v1.1.0
- Use sigma clipping for better noise estimation
- Support usage of arrays / floats for path, tprofile, and bpprofile in Frame.add_signal
- Optimize signal injection by removing expensive / superfluous calculations
- Added a lot more documentation, covering all substantial functions
- Update Sphinx docs to point to docstrings: https://setigen.readthedocs.io/en/master/setigen.html
- Jupyter Notebook
Published by bbrzycki over 6 years ago
setigen - v1.0.0
Focus signal generation around the Frame object, with the following updates: * Load and save data from arrays or fil/h5 files * Add Gaussian noise throughout the frame, either by user-provided distribution parameter or by sampling from pre-loaded parameters drawn from real GBT observations * Add custom signals, from a simple, constant-intensity line to complex, modulated signals through a combination of built-in or user-defined callbacks * Integration with astropy units, so that frame parameters and synthetic signals have physical meaning. * And more instance methods that simplify calculating basic statistics, SNR to intensity, etc
- Jupyter Notebook
Published by bbrzycki over 6 years ago