Recent Releases of setigen

setigen - v2.6.1

  • Fix rng.normal syntax to standard_normal - cupy doesn't have normal() implemented

- Jupyter Notebook
Published by bbrzycki about 2 years ago

setigen - v2.6.0

  • Add seeds and RNG handling to every class and function that do random generation (Frame, Antenna, DataStream, etc)
  • Complete testing
  • Bug fixes related to testing
  • Slight refactoring of rarely used functions

- Jupyter Notebook
Published by bbrzycki about 2 years ago

setigen - v2.5.0

  • Update MJD in saved filterbank/HDF5 files
  • Add OrderedCadence object for organizing frames
  • Re-vamp plotting for frames and cadences: removes bl_plot and fully fleshes out plot (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 Cadence object
  • Access and inject signals into individual frames using array indices or slices
  • Broadened start time support for individual Frame objects
  • Ability to truncate using f_start and f_stop arguments within Frame instantiation from real data

- Jupyter Notebook
Published by bbrzycki almost 3 years ago

setigen - v2.3.2

  • DIRECTIO padding based on header
  • record(...load_template=...) argument
  • NPOLS not set to 4 instead of 2
  • self.timeperblock based on integer self.samplesperblock (previously was real division)

- Jupyter Notebook
Published by bbrzycki over 3 years ago

setigen - v2.3.1

Release for Setigen paper, accepted to AJ, for archiving a frozen version to Zenodo.

- Jupyter Notebook
Published by bbrzycki over 3 years ago

setigen - v2.3.0

Support basic doppler smearing functionality within Frame. Normalization within integrate.

- Jupyter Notebook
Published by bbrzycki about 4 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() and frame.bl_plot()as aliases for render() and bl_render()
  • Add stg.array() to cast either a Frame or a numpy array to a numpy array
  • Change end_index to stop_index
  • Bugfix int_factor and support data parameter in from_backend_params
  • Add stg.dedrift() function

- Jupyter Notebook
Published by bbrzycki over 4 years ago

setigen - v2.1.0

  • Changing raw_file_stem to output_file_stem in RawVoltageBackend.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_stem parameter
  • 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.6

Include voltage header asset with pip installations

- Jupyter Notebook
Published by bbrzycki over 4 years ago

setigen - v2.0.5

Use raw external image links in README.md, so that images show in PyPI description.

- Jupyter Notebook
Published by bbrzycki over 4 years ago

setigen - v2.0.4

Rename default branch to main, edit README image links.

- Jupyter Notebook
Published by bbrzycki over 4 years ago

setigen - v2.0.3

Update README.md image calls with absolute hyperlink paths.

- 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.4.3

Copy array instead of passing a reference when instantiating Frame using existing data

- Jupyter Notebook
Published by bbrzycki almost 5 years ago

setigen - v1.4.2

Change filename within a Frame's Waterfall.container to work better with blimpy, and support changing maxload parameter on savefil and save_hdf5. Allows larger arrays to be created and saved to file via blimpy.

- Jupyter Notebook
Published by bbrzycki almost 5 years ago

setigen - v1.4.1

Update requirements.

- Jupyter Notebook
Published by bbrzycki almost 5 years ago

setigen - v1.4.0

Support frequencies in ascending order in Frame. Clean up getfrequency and getindex methods. Edit split_utils to also generalize to ascending frequency files.

- Jupyter Notebook
Published by bbrzycki almost 5 years ago

setigen - v1.3.2

  • Add sinc squared as an f_profile (sinc2_f_profile). Using the trunc parameter controls whether to stop the signal after the first zero-crossing.
  • Add a new path for 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.1

Patch setup.py to include package data in installation.

- Jupyter Notebook
Published by bbrzycki over 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.8

  • Use linspace instead of arange for better precision
  • Fix getfrequency method to support signals that go out of frame in addconstant_intensity

- Jupyter Notebook
Published by bbrzycki over 5 years ago

setigen - v1.2.7

Make sure dependencies are up to date -> blimpy 2.0.0

- Jupyter Notebook
Published by bbrzycki over 5 years ago

setigen - v1.2.6

Rearrange encode/decode bytestrings to better support notebook work

- Jupyter Notebook
Published by bbrzycki over 5 years ago

setigen - v1.2.5

Updating bytestrings to normal strings in accordance to blimpy 2.0.0 updates.

- Jupyter Notebook
Published by bbrzycki over 5 years ago

setigen - v1.2.4

Replace read_header() references to support blimpy's removal in version 2.0.0.

- Jupyter Notebook
Published by bbrzycki over 5 years ago

setigen - v1.2.3

Add class method Frame.from_data() to initialize frame objects from existing 2d data arrays.

- Jupyter Notebook
Published by bbrzycki almost 6 years ago

setigen - v1.2.2

Edit Waterfall metadata specific to your Frame manipulations, important for interfacing with turbo_seti. Remove extraneous set methods from Frame.

- Jupyter Notebook
Published by bbrzycki almost 6 years ago

setigen - v1.2.1

Update header metadata when creating a Waterfall object from purely synthetic data. This is important for interfacing with other BL codes such as turbo_seti.

- Jupyter Notebook
Published by bbrzycki almost 6 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_db in frame.get_data() function arguments
  • frame.freq_to_index() -> frame.get_index(). Add frame.get_frequency() function.
  • frame.save_data() and frame.load_data() -> frame.save_npy() and frame.load_npy()
  • In frame.add_signal:
    • integrate_time -> integrate_t_profile
    • mean_f_position -> integrate_path
    • time_subsamples -> t_subsamples
  • stg.fil_utils -> stg.waterfall_utils
  • stg.split_utils.split_fil_generator() -> stg.split_utils.split_waterfall_generator()

- Jupyter Notebook
Published by bbrzycki almost 6 years ago

setigen - v1.1.1

Update requirements and installation documentation.

- 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.1

- 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

setigen - v0.0.1

- Jupyter Notebook
Published by bbrzycki about 7 years ago