Release Notes¶
Version 3.0.0¶
Switch to the GNU scientific library for internal Bessel functions
Fixed an undefined variable error in lsl.statistics.robust.polyfit
Fixed a division error in lsl.misc.mathutils.sphfit when real_only=True
Switched to a “download on demand and cache” method of distributing data for LSL
Added a lsl.common.stations.ARX.revision() method to find the revision name for an ARX board
Version 2.2.0¶
Add a keyword to lsl.imaging.selfcal functions that will return whether or not a call converged
Made lsl.readers.buffer.TBFFrameBuffer more robust
Fixed reference counting in lsl.imaging._gridder
Moved data used for unit tests from lsl/data to tests/data to keep them out of the install
Various cleanups to internal regular expressions
Changed the file downloaders to only show progress for interactive sessions
Updated possm.py to works with the current version of LSL
Removed aipy code in lsl.sim.vis in favor of direct calls to aipy
Added support to the lsl.readers for returning DRX, TBN, and TBF data as “ci8” data
Added support to the lsl.readers for returning VDIF data as “i8” data
Older Versions¶
Version 2.1.8¶
Added polarization basis conversions functions to lsl.imaging.utils
Improved TBF frame count reliability
Fixed several bugs in lsl.sim.dp.point_source() that lead to data that would not image properly
Dropped unlzw in favor of using the gzip utility
Made antenna inclusion/exclusion more robust in lsl.imaging.data.VisibilityDataSet.get_antenna_subset()
Added support for “long (ionospheric) product names”
Updated the Hamming window coefficients
Switched the PFB in lsl.correlator.fx to a Hamming window
Updated the documentation in lsl.correlator.fx to clarify that ‘pfb’ enables a 4-tap Hamming windowed PFB
Updated the documentation in lsl.correlator.fx to clarify that ‘pfb’ overrides the ‘window’ keyword
Added better documentation on the LWA data formats
Fixed a bug in lsl.reader.ldp.TBFFile that caused it to die on files with gaps in the frequency coverage
Updated lsl.imaging.util.build_gridded_image to allow for the image size and pixel size to be used instead of the (u,v) grid size and resolution
Added image size and pixel scale options to imageIDI.py
Added a -d/–decimation option to correlateTBF.py to allow on-the-fly channel decimation
Fixed a bug in lsl.sim.vis.build_sim_data when computing the hour angle and declination for non-zenith phase centers
Added support for Python 3.12
Version 2.1.7¶
Updated the LWA-SV SSMIF to 2022/11/15
Updated the LWA1 SSMIF to 2022/11/15
Fixed a build problem on Python 3.8+
Version 2.1.6¶
Updated for Python 3.10
Cleaned up the naming of the tutorial notebooks
Added support for observing with TRK_LUN
Version 2.1.5¶
Fixed a few more problems with the new cache management
Fixed a problem in lsl.sim.vis.add_baseline_noise() that caused the SEFD values to be ignored in some cases
Various clean ups
Version 2.1.4¶
Fixed a couple of problems with the new cache management
Fixed a couple of problems with the new file locking
Fixed a couple of problems with the lsl.testing.SilentVerbose class
More cleanup in the test suite
Version 2.1.3¶
Added support for adding/subtracting timedelta instances from FrameTimestamp instances
Fixed an indexing problem in the coherent dedispersion padding
Added a tai_mjd field to lsl.reader.base.FrameTimestamp
Fixed a problem downsampling baselines from a lsl.imaging.data.VisibilityDataSet instance
Added a new lsl.writer.virtual module to help convert correlator output into something that can be used with lsl.imaging.utils
Updated the visibility writers to accept integrations with different numbers of baselines
Added support for ‘python -m lsl.version’
Removed lslTelemetry.py in favor of ‘python -m lsl.misc.telemetry’
Removed maskWisdom.py in favor of ‘python -m lsl.misc.wisdom’
Changed the lsl.correlator.fx.FXMaster polarization keyword from ‘Pol’ to ‘pol’
Added lsl.misc.file_cache to help with LSL cache management
Added lsl.misc.file_lock to help with conflicts updating the LSL file caches
Updated lsl.misc.ionosphere to use the ‘unlzw’ module to deal with unix compressed files
Updated LSL to work on read-only filesystems where the configuration/caches cannot be created
Moved the LSL-specific FFTW wisdom file to ~/.lsl
Added a new lsl.testing module to help with the test suite
Updated the test suite to improve coverage and make failures more specific
Version 2.1.2¶
Improved compatibility for measurement sets generated by lsl.writer.measurementset
Added support for directly writing measurement sets with correlateTBF.py, correlateTBN.py, and correlateTBW.py
Fixed a problem copying AntennaArrays in lsl.imaging.data.VisibilityDataSet
Fixed a bug in the polarization handling in XEngine3
Version 2.1.1¶
Fixed a build problem with lsl/reader/drspec.c found on some versions of OSX
Various cleanups based on https://lgtm.com analysis
Fixed a problem in the measurement set writer that caused CASA’s listobs() to fail
Clarified which version of FFTW3 is needed.
Version 2.1.0¶
Added UCF_USERNAME_RE to lsl.common.idf/sdf/sdfADP to make it eaiser to validate UCF usernames
Added support for querying the MCS mindelays.txt file in lsl.common.metabundle/metabundleADP
Added support for the XXCRCIYY, CRCI, and I-only DR spectrometer modes
Several consistency fixes for the API in lsl.common.sdf/sdfADP and lsl.common.metabundle/metabundleADP
Version 2.0.3¶
Fixed a problem with displaying lsl.reader.errors under Python3
Cleaned up SDF and IDF rendering to make it faster
Fixed a problem in lsl.imaging.utils.ImgW that lead to a shift in source position with frequency
Fixed a problem fitting a Gaussian to the point spread function in lsl.imaging.deconv
Version 2.0.2¶
Added a -v/–lwasv option to correlateTBN.py and tbnSpectra.py
Added better input file type checking to the various “correlate” and “spectra” scripts
Switched back to CDDIS for ionospheric data
Fixed an error when setting beam/dipole mode for STEPPED SDFs
Fixed a bug in updateLSLSSMIF.py when trying to revert a SSMIF
Added a color keyword to the classes in lsl.common.busy and lsl.common.progress
Added a new BusyIndicatorPlus class to lsl.common.busy
Added a new DownloadBar class to lsl.common.progress
Reduced the number of warning messages generated by STEPPED SDFs
Added automatic updates of leap second information
Changed the IDF and SDF modules to be more flexible on the styles of input coordinates
Version 2.0.1¶
Fixed a few problems with the scripts that ship with LSL
Added support for time zone-aware datetime instances in lsl.common.datetime_to_mjdmpm() and mjdmpm_to_datetime()
Added a utc_datetime attribute to lsl.reader.base.FrameTimestamp to provide a time zone-aware datetime instance
Dropped the requirement that a beam be specified in lsl.common.sdf and sdfADP
Fixed a deadlock condition that could occur during a DRXFile.offset()
Fixed a bug in the DRXFile when dealing with small gaps in the data
Updated lsl.reader.errors.SyncError to allow for reporting of non-Mark5C problems
Update the documentation for lsl.common.idf, sdf, and sdfADP
Added missing sub, isub, div, and idiv operators to lsl.reader.base.FrameBase
Added a jd property to lsl.reader.base.FrameTimestamp to access the associated Julian day
Updated the lsl.writer module to accept times as FrameTimestamp instances
Updated the documentation in lsl.common.stations.Cable to make it more clear what attenuation and gain are
Version 2.0.0¶
Major API changes to put LSL under a uniform coding style
Bumped the minimum Python version to 2.7
Bumped the mininum SciPy version to 0.13
Replaced PyFITS with astropy.io.fits
Removed support for 32-bit systems in the lsl.common modules
Added a new lsl.imaging.data module and classes to help store visibility data
Added a new extension to speed up w-projection gridding
Merged the non-windowed and windowed functions in the lsl.correlator extensions to de-duplicate some of the codebase
Added support for reading CASA measurement sets with multiple spectral windows
Added test suites for CASA measurement set support when the ‘casacore’ module is found
Added support for astorpy.units.quantity.Quantity instances to lsl.misc.rfutil
Updated the AIPY version requirement to >=3.0.1
Updated the scipy version requirement to >=0.19
Removed lsl.misc.mathutil.savitzky_golay since it was added in scipy v0.14.0+
Added support for collecting usage data for LSL via lsl.misc.telemetry
Updated to lsl.misc.ionosphere to IGRF13
Dropped support for PyFFTW
Version 1.2.6¶
Fixed a bug in the lsl.reader.ldp classes that causes offset() to fail in certain cases
Version 1.2.5¶
Updated setup.py to make it more likely that clang will build OpenMP-enabled extensions
Updated the install documentation to recommend pip
Added a 4-tap + Hanning windowed polyphase filter bank to the various functions in lsl.correlator.fx
Added an option to use the new PFB in correlateTBN and correlateTBW
Added an option to use the new PFB in drxSpectra, tbnSpectra, and tbwSpectra
Added support for proper motions to the IDF format
Added support for storing source intentions in the CALCODE field in FITS IDI files
Modified the offset method in lsl.reader.ldp to take into account the frame buffers
Added support to the lsl.reader.ldp.DRSpecFile object for jumping over bad data at the start of a file
Improved support for complex and multi-channel VDIF data
Added support for filter code 7 (19.6 MHz) on ADP
Added support for beam 3 on ADP
Version 1.2.4¶
Fixed a bug in driftcurve.py that put a cos(decliation) correction into the LFSM runs
Updated the documentation to reflect that unittest2 is now required as of 1.2.2 for Python 2.6 support
Added argparse as an extra dependency for Python 2.6
Moved the scripts that ship with LSL to argparse for command line parsing
Added a new lsl.misc.parser module to help with the switch over to argparse
Updated the minimum PyEphem version of 3.5.7.3
Fixed a bug in lsl.misc.ionosphere that causes some UQR files to fail to parse
Updated the URL/filename structure used to download the CODE files in lsl.misc.ionosphere
Added support for MCS MIBs stored as .gdb files
Added support for writing comments and history to FITS-IDI, SDFITS, and UVFITS files
Changed the lsl.reader.ldp.DRXFile class to deal with small (<50 frame) gaps in DRX files
Changed the lsl.reader.cor module to ensure the YX is valid for the autocorrelations
Worked on reduced the memory usage of the FITS-IDI writer
Adjusted the TBW duration calculation to reflect that DP can output TBW twice as fast now
Changed the lsl.common.sdf and lsl.common.sdfADF to allow “flat” Projects and Sessions
Fixed a problem triggering auto-copy in SDFs when not session comments are provided
Fixed a problem in some of the lsl.writer modules that caused duplicate entries to end up in SOURCE tables
Added support for interferometer definition files (IDFs)
Version 1.2.3¶
Fixed a problem with the conditional dependencies in setup.py for older versions of setuptools
Increased the default ring segment count for lsl.reader.buffer.DRXFrameBuffer to better deal with LWA-SV data
Increased the number of frames examined by lsl.reader.ldp.DRXFile to better deal with LWA-SV data
Version 1.2.2¶
Bumped the minimum PyFITS version to 3.2
Fixed a bug in setup.py that causes it to crash when ‘pkg-config’ is not installed
Fixed a memory leak in the new, more flexible lsl.reader modules
Fixed a problem with the data ordering in the lsl.writer modules when a high time resolution (<~2 ms) is used
Fixed a bug in the DR spectrometer reader which incorrectly mapped tuning 2, Stokes I for IQUV-mode observations
Fixed a bug in the new measurement set writer
Added multiple IF support to the FITS IDI writer and reader
Added multiple IF/spectral window support to the CASA measurement set writer
Worked on making the lsl.writer.fitsidi and lsl.writer.measurementset modules more robust
Fixed a bugs in the VDIF reader and writer
Fixed a few bugs in the scripts that ship with LSL
Added unittest2 as an extra dependency for Python 2.6
Version 1.2.1¶
Added a new lsl.common.color module to help bring color to ANSI terminals
Small fix to lsl.imaging.utils.plotGriddedImage() to get the image scale correct for non-all-sky images
Finished moving imageIDI.py over to using the lsl.imaging modules
Changed the default FFT length in correlateTBN.py to 16 channels
Fixed a bug in lsl.common.sdf/sdfADP that caused parseSDF() to crash on SDFs generated by MCS when beam delays/gains were specified
Updated lsl.common.sdfADP to allow two beams at LWA-SV
Cleaned up a few messages in lsl.sim.vis and lsl.reader.ldp so that they use the warnings module
Made problems in lsl.statistics.robust raise ValueErrors if a problem is encountered
Added functions to lsl.common.adp to calculate the magnitude response of the TBN and DRX filters
Small fix to lsl.common.metabundle(ADP).getSessionMetaData() to make it more robust
Updated the lsl.skymap.SkyMapLFSM module to the 2018 April 23 version of the model
Added support for the UQR global ionospheric model to the lsl.misc.ionosphere module
Updated the lsl.reader.cor module to support what ADP at LWA-SV is currently capable of generating
Added OVRO-LWA as a valid station for a few of the LSL scripts that do not depend on detailed configuration information
Fixed a bug in lsl.common.metabundle*.getSessionMetaData() when parsing metadata from failed observations
Various performance enhancements to the C extentions in lsl.correlator
Updated the various lsl.reader extensions to use the read() method of the filehandle to make them more flexible
Improved support for TBF in the lsl.reader.ldp module
Added a writeto() method to lsl.common.sdf/sdfADP.Project to make it easier to write an SDF to a file
Fixed a bug in the PyFFTW usage in lsl.correlator.filterbank and fixed the output scaling
Added a new lsl.version.get_fingerprint() function to help keep track of local changes made to the LSL installation
Added support for writing correlated data to a CASA measurement set
Added ARX filter response measurements for Sevilleta
Version 1.2.0¶
Added a new lsl.common.adp module to help describe ADP
Added support for MCS working with ADP-based stations
Added support for SDFs for ADP-based stations
Addes support for metadata handling for ADP-based stations
Added support for ADP TBF data
Added support for ADP COR data
Added support for complex antenna response to lsl.sim.nec_util.NECPattern
Dropped support for block reads in lsl.reader.drx and lsl.reader.tbn
Added a new interface attribute to lsl.common.stations.LWAStationBase instances
Added support for auto-copy to the LWAUCF in the lsl.common.sdf and lsl.common.sdfADP modules
Added a function to lsl.common.stations, getFullStations(), to return a list of full stations
General code clean-up using pylint
Fixed various bugs found in pylint in seldom-used routines
Moved the C extensions over to version 1.7 of the Numpy C API
Added a new OMP_SCHEDULER macro the the various C extensions to help control how OpenMP schedules things
Added more robust error handling inside the C extensions to help make segfaults more rare
Released the GIL inside the various computing C extensions and some of the LWA file format readers
Added a backport of the Python3 LRU cache module to help with internal caching
Added a new LSLInterfaces attribute to lsl.common.station.LWAStation instances to help keep track of which station uses which modules
Updated various scripts that ship with LSL to support data from LWA-SV
Updated the lsl.reader.ldp module to issue warnings on timetag errors when ‘ignoreTimeTagErrors’ is set to True
Updated the lsl.skymap module to include the Low Frequnecy Sky Model (LFSM)
Added an option for applying an empirical correction to the dipole power pattern to driftcurve.py and plotAntenna.py
Version 1.1.4¶
Fixed a missing import statement and a couple of bugs in splitTBN.py
Fixed a conjugation problem in the lsl.writer.fitsidi module that caused the image to be transposed in AIPS
Fixed a conjugation problem in the lsl.utils.imaging module that caused images created from FITS-IDI files to be transposed
Fixed a source enumeration problem in the lsl.writer.fitsidi module that caused excessive source IDs
Fixed a bug in lsl.reader.vdif that caused gofast.c not to compile with newer versions of gcc
Fixed several problems when using LSL with Numpy >=1.12
Updated test_geodesy.py to work with the revised EOP parameter files
Fixed a formatting typo in lsl.reader.ldp when getInfo() tries to return an invalid key
Fixed a bug in lsl.reader.buffer that could lead to some invalid frames being added to the buffer
Dropped support for ADP DRX8 in the lsl.reader.buffer module
Dropped support for FreeBSD
Added support for printing to location of sync. errors in the lsl.reader modules
Version 1.1.3.2¶
Applied a fix for the course FIFO phase jumps in the core.c FEngineC2/3 functions.
Version 1.1.3.1¶
Re-fixed a bug in the complex functions in lsl.correlator._spec and lsl.correlator._stokes that caused the negative frequencies in odd-sized FFTs to be unpacked incorrectly
Version 1.1.3¶
Fixed a bug in the complex functions in lsl.correlator._core, lsl.correlator._spec, and lsl.correlator._stokes that caused the negative frequencies in odd-sized FFTs to be unpacked incorrectly
Updated the tai-utc.dat file for the upcoming leap second in December 2016
Changed the Earth orientation parameters data source to the IERS FTP server
Version 1.1.2¶
Fixed a bug in the lsl.reader.ldp.TBWFile class that caused the wrong start time to be returned in some cases
Fixed a missing import statement in tbnSpectra.py that caused the script to fail when a metadata tarball as passed in on the command line
Updated the lsl.writer.fitsidi module to be more efficient
Updated the lsl.writer.uvfits module to be more efficient
Updated the lsl.imaging.utils.CorrelatedMS function to work with MeasurementSets stored inside a tarball
Small change to lsl.correlator.uvUtils.computeUVW to make it faster for large frequency arrays
Added ‘memmap’ and ‘clobber’ keywords to the various lsl.writer modules to expose a consistent interface
Small fix in imageIDI.py to make it work with CASA MeasurementSets
Transitioned to the native C complex type for the various C extensions
Added ‘memmap’ and ‘clobber’ keywords to the various lsl.writer modules to expose a consistent interface
Small fix in imageIDI.py to make it work with CASA MeasurementSets
Transitioned to the native C complex type for the various C extensions
Added better support VDIF files in the lsl.reader.vdif module
Added a ring buffer for VDIF files to the lsl.reader.buffer module
Added support for single tuning beam SDFs
Fixed a couple of bugs that caused FITS IDI files to have invalid uvw coordinates
Added an option to imageIDI.py to show the time in UTC instead of LST
Updated the LWA1 SSMIF to the 7 July 2016 version
Version 1.1.1¶
Fixed a bug in the lsl.statistics.robust.checkfit function
Fixed a few modules that caused problems with automatic recasting in newer versions of NumPy
Cleaned up the lsl.misc.dedispersion.delay() function so that it will work with lists of single frequency values
Small fix to the lsl.imaging.selfCal module to make it more robust when not all antennas are present
Updated the updateLSLSSMIF.py script to use the new LWA1 SSMIF location on the archive
Added new ionosphere model sources to the lsl.misc.ionosphere module
Changed the disk caching to lsl.misc.ionosphere to store only gzipped files
Added options for other model sources to getIonosphericRM.py
Fixed a bug in correlateTBW.py/correlateTBN.py that causes the script to usually write out an Extended IDI file
Fixed a bug in splitSession.py that caused the script to crash
Updated the various FITS-based writers to remove the old PyFITS API that is no longer supported
Version 1.1.0¶
Updated the lsl.imaging.deconv module to include a source-based CLEAN method and a forward-modeling/least squares method
Added support for phase centers other than zenith to the various functions in lsl.imaging.overlay
Added support for determining coordinates for images with phase centers other than zenith to the lsl.imaging.utils module
Added a new image analysis module, lsl.imaging.analysis, that allows one to find point sources in a 2-D image
Added backward compatibility for older metadata tarball formats to the lsl.common.metabundle module (Ticket #61)
Added preliminary support for working with circular polarizations in the correlator (lsl.correlator.fx) and imaging (lsl.imaging.utils) modules
Added an option of imageIDI.py to overlay a topocentric graticle rather than a equatorial one
Added better support for non-linear polarizations to imageIDI.py
Added support for retrieving the file start time in samples to the various lsl.reader.ldp.LDPFileBase sub-classes
Removed the lsl.misc.mathutil.robustmean() function in favor of lsl.statistics.robust.mean()
Added a function to the lsl.astro module to help deal with correcting a celestial coordinate for nutation
Added support for image weighting and tapering with the new lsl.imaging.utils.ImgWPlus class
Switched lsl.imaging.utils.buildGriddedImage() over to using the new ImgWPlus class
Added a new RadioEarthSatellite class to lsl.sim.vis help with simulating satellites that may be transmitting within the observing band
Added the lsl.misc.ionosphere module to help with computing the dispersion and rotation measure of the ionosphere
Added a new script, getIonosphericRM.py, that uses the lsl.misc.ionosphere module to estimate the rotation measure during an observation
Added a new VDIF reader
Improved the speed of the 4-bit TBW, TBN, and DRX reads through look-up tables
Improved support for UVFITS files written by AIPS
Added multiple integration selection to the various readers in lsl.imaging.utils
Added support for phase centers other than zenith in the FITS-IDI writer
Made the ‘phaseCenter’ keyword in lsl.correlator.fx.FXMaster and lsl.correlator.fx.FXStokes more flexible by allowing other data types
Switched the various CorrelatedData readers in lsl.imaging.util to only using the metadata for building the station information
Version 1.0.3¶
Fixed a bug in the inspectTarball.py script that caused it to crash on TBN/TBW metadata
Added fallbacks to lsl.misc.geodesy to use a backup EOP server if the primary is unreachable
Fixed a bug in imageIDI.py that caused it to crash if a FITS image is not saved
Added a new module, lsl.misc.rfutil, to help with understanding commercial antenna properties
Moved the calculateSEFD() function out of lsl.sim.vis and into lsl.misc.rfutil
Changed the meaning of the ‘ForceGaussian’ keyword in lsl.sim.vis.buildSimArray to contain the Gaussian full widths at half maximum in degrees
Added Boltzmann’s constant to lsl.common.constants
Added a ‘color’ keyword to the various functions in lsl.imaging.overlay to change the color of the overlay
Added a ‘marker’ keyword to the lsl.imaging.overlay.source() to change symbol of the source overlay
Added a function to lsl.statistics.robust to help estimate the mode of a data set using the half-sample method
Fixed the __all__ declaration in the lsl.writer.sdfits module
Fixed a bug in the lsl.common.progress.ProgressBarPlus class that caused the time estimates not to get updated when using __iadd__
Fixed a bug in the splitSession.py script that caused it to die on truncated data files (Ticket #60)
Fixed a bug in imageIDI.py that assumed that ‘xx’ was always present in the data
Fixed a bug in the lsl.reader.ldp.DRXFile class that caused the tuning frequencies to be reported wrong by getInfo()
Changed how the lsl.reader.ldp.*.readFrame() functions interact with the time tag checker
Fixed the ranging of phases coming out of the lsl.imaging.selfCal module
Added ‘axis’ and ‘dtype’ keywords to the various statistical functions in lsl.statistics.robust and lsl.misc.mathutil to make the functions more compatible with their numpy counterparts
Added ‘boundary’ and ‘fill_value’ keyword to the lsl.misc.dedispersion.incoherent() function to make it clear how the time boundary is handled
Added options to the imageIDI.py script to make it easy to change which dipoles are used for imaging
Added an option to the correlateTBW/correlateTBN scripts to correlate all dipoles, regardless of status in the SSMIF
Fixed a bug in lsl.imaging.utils.CorrelatedData() that makes the IOErrors more transparent
Added a deprecation warning to the lsl.misc.mathutil.robustmean() function since it will be removed in 1.1.x
Added options to the splitSession script to give better control over the output
Added options to the possm script that makes it behave more like imageIDI
Fixed a problem in the lsl.imaging.deconv module when computing the positions of RadioFixedBody instances
Fixed a bug in the lsl.sim.vis.buildSimArray() function that caused the simulation array date not to match the input if ‘jd=None’
Fixed a bug in the lsl.sim.vis.buildSimData() function that caused the wrong antenna gain pattern to be applied
Fixed a bug in the lsl.imaging.utils module that causes the AntennaArray instances returned by the CorrelatedData readers to be out-of-order in some cases
Cleaned up the DR spectrometer reader so that file alignment is not lost when a syncError is raised
Version 1.0.2¶
Added documentation for LDP to the Sphinx build system
Added a call to close() for the data dictionary used in lsl.sim.vis.buildSimArray
Fixed a version number regression in lsl.correlator.fx
Added a call to close() for the data dictionary used in lsl.skymap.SkyMapGSM
Version 1.0.1¶
Added an option to updateLSLSSMIF.py to update the LWA1 SSMIF using a local file
Fixed a build problem on OS X with Python 2.7
Added support for using PyFFTW in the lsl.misc.dedispersion module
Added support for using PyFFTW in the lsl.correlator.filterbank module
Fixed a sign problem in the rewritten lsl.skymap.ProjectedSky class that caused the sky to invert in azimuth
Added support for FFTW wisdom
Switched the various C extensions over to used the floating point version of FFTW
Changed the name of the lsl.stations.LWAStation method for finding the distance and direction to another point on surface of the Earth from ‘getPointingAndDirection’ to ‘getPointingAndDistance’
Updated the lsl.misc.gaussparams function to imporve the 2-D fits
Removed the requirement for a BANDPASS table in the lsl.imaging.utils.CorrelatedDataIDI class
Reworked the lsl.reader.ldp module to provide a more object oriented way to access data files
Fixed a packing bug in the lsl.sim.drx.frame2frame function
Fixed a bug in lsl.imaging.utils.CorrelatedDataUV that cause getDataSet to always return all data
Fixed the baseline ordering in FITS IDI files that use the stand number mapper
Updated the FITS IDI reader to use the UVFITS scheme for determining baseline sets
Major overhaul of the lsl.sim.vis module to use a new C-based simulation extension instead of AIPY
Fixed a bug in lsl.correlator.fx that caused the number of overlapped FFTs to be calculated incorrectly
Fixed a bug in lsl.correlator.fx.FXMaster/FXStokes that caused the last FFT window to be excluded from the integration
Removed the lsl.correlator.fx.SpecMasterP function
Updated the lsl.imaging.utils module to better deal with sparse FITS IDI/UVFITS files
Added support for the new MCS beam-dipole mode via the SDF keyword OBS_BDM
Various fixes to the lsl.imaging.deconv module
Added a plotting helper function to lsl.imaging.utils
Added a new overlay module for images called lsl.imaging.overlay
Fixed several bugs in lsl.sim.vis and lsl.imaging.utils related to single-channel data sets
Added an option to export the images created to imageIDI.py to a FITS image file
Small bugfix to the lsl.writer.tsfits module with regards to processing DRX frames
Cleaned up the setup.py script to uses NumPy’s internal facilities to identify ATLAS
Updated the list of dependencies to include pytz
Added the ‘iauConvention’ keyword to the lsl.misc.beamformer.circularize() function
Added a few new convenience functions to the lsl.reader.drspec module
Added ‘lwavl’ as an alias to ‘lwa1’ in the lsl.common.stations module
Added methods to return the response curves of the FEE and Cable to the lsl.common.stations module
Fixed a bug in lsl.imaging.utils.CorrelatedData() that caused IOErrors to be get masked
Version 1.0.0¶
Added in LWA Development Primitives module (lsl.reader.ldp)
Added a function to lsl.misc.beamformer to convert X and Y linear pols. to circular L and R pols
Removed the lsl.correlator.visUtils module since it isn’t used by any other modules or scripts
Switched the lsl.correlator modules over to returned all ‘LFFT’ channels
Replaced the Fermi first point source catalog with the 2-year catalog
Dropped libnova in favor of PyEphem for the backend to the lsl.astro module
Modified skymap.ProjectedSkyMap to not rely on the lsl.astro_array module
Removed the lsl.astro_array module
Removed the lsl.libnova module and the associated swig file
Updated the documentation to reflect the reduced dependencies
Update lsl.common.stations.LWAStation to be a sub-class to ephem.Observer
Added a function to lsl.common.stations.Antenna to access information about the impedence mis-match
Added an option to the various response functions in lsl.common.stations to return values in dB
Switch the information/SSMIF for the north arm site to lwana instead of lwa2 to avoid confusion with the SV site
Renamed the lsl.common.stations.LWAStation.getECEFTransform() function to getECITransform() to reflect what is really happening
Added a function to lsl.imaging.utils to make it easy to re-phase a data dictionary to a new pointing center
Added new functions to the LWAStation class to deal with direction and distance to other stations/points on the Earth
Generalized the computeUVW() and computeUVTrack() functions
Added a disk-based cache to the lsl.misc.geodesy module to help keep network traffic down
Added support for reading and writing UVFITS files
Added support for reading CASA measurement sets via pyrap
Added a function to rephase a visibility data dictionary to a new pointing center
Improved the visibility simulation speed in lsl.sim.vis
Added try…except blocks to lsl.common.metabundle to clean up after failed functions
Added append() functions to Project and Session in lsl.common.sdf to make it easier to add sessions and observations
Added a setSpectrometerMetatag() function to lsl.common.sdf.Session to make setting the metatag easier
lsl.common.sdf.Project.render() now calls update() to make sure everything is up-to-date before rendering
Added ‘verbose’ keywords to lsl.imaging.utils.buildGriddedImage() and the lsl.imaging.selfCal functions
Added a ASCII busy indicator for long running tasks
Added a script to make it easier to update the internal LWA1 SSMIF used by LSL
Version 0.6.6¶
Fixed a problem with older NumPy installs not having a close() function
Fixed a bug in the splitTBN.py and splitDRX.py scripts when a ‘count’ is not provided
Fixed the try…except blocks in lsl.statistics.kurtosis.getLimits() to catch the appropriate error
Improved the end buffering the in lsl.misc.dedispersion.coherent() function
Updated the LWA1 SSMIF to the 131031 version
Fixed a typo in the help for correlateTBN.py
Version 0.6.5¶
Fixed the time remaining computation in lsl.common.progress.ProgressBarPlus
Fixed a bug in imageIDI.py that caused the LST not to update on subsequent integrations
Added in a call to close() after numpy.load() is used
Updated the setup.py script to help deal with clang/OpenMP on OSX
Updated the lsl.common.metabundle module to deal with the new _metadata.txt file format
Added a method to read in MCS MIB files in the GDBM format
Added new functions to lsl.common.metabundle to retrieve the ASP configuration from a new metadata tarball
Version 0.6.4¶
Cleaned up the coherent part of the dedispersion module
Added a time estimating progress bar to lsl.common.progress
Fixed the data scaling in the SoftwareDP _processStreamFilter() function
Fixed the integration time stored in the FITS IDI files generated by correlateTBW.py
Added validation for the DR spectrometer channels/integration count/mode in an SDF
Fixed a couple of typos in the DR spectrometer reader that mixed the I-only and Q-only output modes
Fixed the ‘fills’ normalization in the DR spectrometer reader for the YX-only, YY-only, XX/YY, and XX/XY/YX/YY modes
Fixed the axis order in the SDFITS writer
Version 0.6.3¶
Fixed a typo. in lsl.imaing.utils.pruneBaselineRange() function
Added normalization by the transform length to the lsl.reader._gofast module
Added back in the “import lsl; lsl.test()” fixture
Updated the plotUVcoverage.py script to work with all 260 stands
Fixed the data volume computation for lsl.common.sdf.Stepped observations
Updated the imageIDI.py script to work with either correlated TBW or TBN files
Reorganized the scripts to better handle metadata and removed the IOC scripts
Changed the default values of SESSION_LOG_SCH and SESSION_LOG_EXE in lsl.common.sdf to False
Fixed the lsl.common.sdf.Stepped class so that the step lists of independent
Added the pointing correction keywords to the binary SSMIF reader
Fixed a bug in the calculation of cable delays
Fixed the order of the optional SESSION_* keywords in the SDF renderer
Updated the SDF parser to better work with SDFs that contain custom beamforming
Added convenience functions to the lsl.common.mcs module to help pack delays and gains for custom beamforming SDFs
Updated the included LWA1 SSMIF to the March 10, 2013 version
Added support for phase offsets to the lsl.sim.vis.scaleData() function
Improved the lsl.imaging.selfCal module by added in new methods
Fixed the decimation values for the TBN and DRX CIC filters
Version 0.6.2¶
Fixed a bug in splitDRX.py that caused the script to die if an –offset was passed in
Fixed a bug in lsl.common.mcs that caused binary packed files to be read in incorrectly on 32-bit installs
Fixed a bug in lsl.misc.beamformer that caused the beam simulators to fail when running in single-thread mode
Added frequency keywords to the integer delay-and-sum beamformer functions
Fixed a problem with the beam power pattern measured by lsl.misc.beamformer.intBeamShape
Overhaul of the lsl.common.sdf module to address Ticket #40 (OBS_DRX_GAIN problem) and to improve the render
Removed jinja2 as a dependency
Fixed a bug in lsl.common.sdf dealing with parsing LST times
Added the inspectTarball.py script
Added an option to the lsl.imaging.utils.CorrelatedData class to only return baselines in a certain uv range
Updated the LWA1 SSMIF to the 2013/1/23 version to include the LEDA outriggers
Version 0.6.1¶
Added support for DROS metatags in the SESSION_SPC SDF keyword
Version 0.6.0¶
Removed the correlator.fx.calcSpectra()/calcSpectrum() functions
Removed the lsl.common.warns module
Removed the LWAFS-specific modules since they are not needed for the new DROS v2
Updated the DR spectrometer reader (lsl.reader.drpsec) for the new DROS v2
Version 0.5.5¶
Added in the pointing correction rotation code to lsl.common.mcs as applyPointingCorrecton()
Made the visibility simulations consistent with the output of lsl.correlator.fx.FXMaster()
Added a new lsl.writer.fitsidi.ExtendedIDI class to deal with more than 255 antennas
Updated lsl.imaging.utils to deal with the new ExtendedIDI class
Added in the self-calibration routines to lsl.imaging.selfCal
Updated the LWA1 and LWA2 SSMIFs
Fixed the observatory/instrument specific header values in lsl.writer.fitsidi so that they reflect the different sites
Updated lsl.misc.dedispersion.coherent() to deal with the padding better
Version 0.5.4¶
Switched over to transparent compression in the lsl.common.metabundle functions
Added support for ‘/’ seperated YYYY/MM/DD in lsl.common.sdf.parseTimeString()
Removed the ‘return’ values from the _gofast module import call
Various cleanups in the C extentions to remove compile time warnings
Tweaked the splitDRX.py script to be more robust
Added support for libnova version 0.15.0
Improved support for STEPPED observations in lsl.common.sdf
Made the TBW read-out duration calculation consistent with the current version of MCS
Changed the allowed TBN tuning from 10 to 88 MHz to 5 to 93 MHz
Tweaked lsl.common.beamformer.phaseAndSum() to automatically exclude bad stands
Removed a testing block from lsl.common.beamformer.intDelayAndSum() which only sums the first 20 antennas
Version 0.5.3¶
Changed the DROS spectrometer reader to match the new format
Fixed the documentation for the various correlator.fx spectra functions
Updated the sphinx documentation to address Ticket #25
Added the session splitting script to IOC to address Ticket #24
Changed lsl.common.mcs.mjdmpm2datetime() to return naive datetime instances (Ticket #26)
Fixed a bug in lsl.common.sdf.Project that causes some observation non-overlaps to be reported as overlaps
Fixed a bug in the setup.py script that caused it to crash on systems without pkg-config installed
Modified splitDRX.py to cope with DRX data that begins with frames that list a decimation of zero
Added support for parsing the OBS_DRX_GAIN and OBS_TBN_GAIN keywords in the SDF parser
Cleaned up drxSpectra.py to better deal with files that have a tuning missing at the beginning or where the sample rate changes at the beginning of the file
Added a module to lsl.misc to generate autostereograms from 2-D NumPy arrays
Fixed a bug in lsl.misc.geodesy related to an exception that is thrown when the URL cannot be reached
Added support for parsing LST times at LWA-1 in lsl.common.sdf.parseTimeString()
Version 0.5.2¶
Fixed a bug in gatherDebugging.py that caused the script to crash on missing modules
Fixed a bug in FEnginep[RC][23] that caused segmentation faults in Python 2.7
Made the module path finder a little more robust
Updated the LWA1 SSMIF to the May 16, 2012 version to include the latest antenna status codes
Added a beamformer to lsl.common.dp.SoftwareDP
Changed lsl.common.dp.SoftwareDP.apply() to lsl.commondp.SoftwareDP.applyFilter()
Fixed multi-threading in the lsl.common.dp.SoftwareDP class
Added a clock offset parameter to the cable model (lsl.common.stations.Cable)
Cleaned up the correlateTBW.py scripts
Fixed a bug in the correlator integer sample delays
Fixed bugs in the lsl.misc.beamformer module related to delays
Fixed the URL used by lsl.misc.geodesy.__loadHistoric1992()
Added support for FreeBSD
Added datetime <-> MJD/MPM conversion functions to lsl.common.mcs
Converted lsl.common.progress.ProgressBar to a rotating progress bar
Version 0.5.1¶
Added jinja2 to the list of install dependencies
Fixed the segfault associated with the DR spectrometer reader
Cleaned up how splitDRX.py offsets in a file
Removed splitTBW.py since it is no longer needed
Fixed a few bugs in the SDF parser dealing the logging keywords
Modified lsl.common.metabundle.getSessionDefinition to use the SDF in the tarball rather than generate it from the session and observation specification files
Made drxSpectra.py robust against DRX frames with decimation of zero
Made the SDF parser more robust against single word names
Version 0.5.0¶
Worked on adding better polarization support to correlator.fx and correlator.uvUtils
Updated the correlateTBN script to make full polarization support possible
Added a crude deconvolution routine that should work with the AIPY ImgW images
Worked on adding in support for binary packed SSMIF files in lsl.common.stations
Worked on adding in support for binary packed SDM files via a new lsl.common.sdm module
Worked on adding in support for the various MCS meta-data tarball file formats
Moved the SDF module out of SessionSchedules and into lsl.common
Added functions to generate the TBN and DRX filter magnitude response
Added versions of the spectra plotters, the correlations, and the stand plotters that use MCS meta-data bundles
Added a basic SSMIF file for the north arm site (LWA-2)
Added a preliminary module for incoherent dedispersion lsl.misc.dedispersion
Added support for spectral kurtosis via lsl.statistics.kurtosis
Updated the dependency list
Cleaned up the TBN ring buffer using deques and OrderedDicts
Added support for reading the TBN tuning word/frequency and gain from a TBN frame
Added support for reading the DRX tuning word/frequency from a DRX frame
Added support for stepped SDF files that specify the delays and gains to use
Added support for ARX board/channel responses via a new common.stations.ARX class
Removed the misc.beamformer.fftDelayAndSum functions in favor of phase-and-sum beamforming
Fixed a problem on some platforms with Numpy/LSL version determination in gatherDebugging.py
Cleared the post-interpreter multiprocessing/logging errors during ‘test’
Added support for the DR spectrometer output data format
Added support for computing Stokes parameters from timeseries data
Removed deprecated and unused functions from lsl.correlator.fx
Added support for computing Stokes parameters in the FX correlator and fixed the FITS IDI writer to save the data
Removed S60 reader/simulator
Reworked the SDFITS writer to make it more like the FITS IDI writer
Version 0.4.5¶
Tweaked how the averaging in drxSpectra and tbnSpectra is performed
Upgraded the lsl.reader.drsu module to work with larger file count LWAFS
Added a ls-style script, lsDRSU.py, to list the contents of a DRSU
Added a glob-style function to the DRSU module
Added an array-geometry correction to the correlator to phase up on zenith
Updated the dependency list
Added ARX channel mapping information to lsl.common.stations.Antenna instances
Added a new versioning system to make it easier to access the LSL version in python
Fixed a mapping problem in plotStands.py that mapped by digitizer, not stand
Added a gatherDebugging.py script alongside setup.py to help with debugging and installation problems
Moved gatherDebugging.py to the script directory to have it installed with LSL
Added ‘documentation support’ for accessing the central frequency of a DRX frame
Fixed a RPD_DD mapping problem in lsl.common.stations.parseSSMIF()
Fixed a DP1_SLOT parsing problem in lsl.common.stations.parseSSMIF()
Updated LWA-1 SSMIF to 12/26/2011 to include calibration information
Added the June 30, 2012 leap second into the TAI-UTC file
Fixed a problem in cpDRSU.py with the verbose output
Cleaned up the ‘sfdisk’ calls with the DRSU direct-access module
Added a BeamAlm class to lsl.sim.vis to help with polarization difference between LWA1 and what is implemented in AIPY
Version 0.4.4.1¶
Fixed the missing cable attenuation parameters in the SSMIF
Version 0.4.4¶
Added an id number attribute to lsl.common.stations.FEE objects
Updated LWA-1 SSMIF to 2011-08-10 version
Added ‘keep’ option to tbnSpectra.py to only display a certain collection of stands
Possibly cleared up a install problem on some systems that prevents testing
Fixed various memory leaks in the readers and the direct DRSU access module
Added ‘documentation support’ for accessing the central frequency of a TBN frame
Added support for variable noise level in the various lsl.sim.dp functions
Worked on improving ATLAS library detection on Redhat-based distributions
Improved detection of potential build problems with the DRSU direct-access extension
Updated the coordinates of stand #148 to be consistent with the revised LWA-1 survey
Fixed the digitizer to board mapping to account for DP2 boards
Fixed a bug simulating visibilities that could include sources below the horizon
Fixed the ‘-i’ option in gsmnpz2map.py
Version 0.4.3¶
Cleaned up the various __init__.py scripts
Fixed a few typos in lsl.correlator.uvUtils
Fixed a typo in the progress bar caused some decrements to increment
Fixed a few typos in lsl.correlator.uvUtils.computeUVTrack
Fixed a typo in the _spec.PPSDC2() function that caused it to die
Fixed several heinous problems in sim.dp.pointSource()
Fixed a bug with indexing in the 4-bit TBW reader
Fixed a few sign errors in correlator _core and uvUtils modules
Fixed a bug in the correlateTBW script related to antenna indexing
Fixed a bug in the FITS IDI writer that caused EOP problems to be fatal
Version 0.4.2¶
Fixed tbwSpectra.py to skip over non-TBW frames at the beginning of a TBW file
Fixed the common.stations.geo2ecef() conversion function (Ticket #16)
Fixed the correlator.fx.FXMaster() function (Ticket #18)
Fixed a few type conversion problems in correlator._core (core.c) introduced with the new data types
Fixed a frequency units conversion in tbnSpectra.py
Improved polarization support in the FITS IDI writer
Fixed a sign error in the fractional delay correction of the correlator F engine
Improved the speed of the X Engine
Fixed a azimuth definition problem in astro_array.c
Updated the included SSMIF to the 5/18/2011 version
Updated the correlateTBN script to make computing XX and YY products easier
Added support for different cable attenuation models supported in MCS0031, v5
Added support for the old 20-stand prototype system through lsl.common.stations.prototypeSystem
Updated the correlateTBW script to make computing XX and YY products easier
Updated SSMIF with new stretch and cable gain coefficients
Added support for time-domain blanking via the ‘ClipLevel’ keyword to various _spec and _core routines
Version 0.4.1¶
Fixed a problem with the C readers that manifests itself on 32-bit platforms
Modified sphinx to be more independent about version numbers and release notes
Added additional PyDict checks to the _gofast module
Modified lsl.sim.drx to zero the frame and seconds counts to make the DRX frames ICD compliant
Fixed a small bug in lsl.sim.tbw/tbn/drx that caused the seconds counts to be wrong
Version 0.4.0¶
Added new robust statistical methods
Added Global Sky Model models to skymap
Added new smoothing and fitting functions to misc.mathutil
Added a progress bar for use with long-running applications
Added in new LWA-1 dipole NEC models
Re-worked the plotAntenna.py script to use the pre-computed dipole response fits
Added support for EXCITATION keywords in misc.nec_util
Added new gofast readers for TBW, TBN, and DRX
Added better polyphase filter support
Fixed initialization problems the various lsl.reader Frame objects
Fixed the TBN ring buffer
Added support for simulating point sources in TBW and TBN data
Moved the tests directory out of lsl proper
Added new offset/average options to drxSpectra and tbnSpectra
Added new DRSU direct access module for Linux system (experimental)
Added documentation for the various C extensions
Updated the dependencies list to capture everything needed for the extensions
Version 0.3.4.2¶
Fixed a couple of typos. in the correlator scripts
Added more colors to tbwSpectra.py so that all 20 inputs can be plotted
Fixed problems with DRX frame attributes
Fixed filter code problems in the DRX writer
Fixed typo in URL for libnova
Added a brief tutorial for DRX data
Fixed a problem determining if a TBW chunk has enough samples to FFT
Version 0.3.4.1¶
Fixed various documentation problems
Version 0.3.4¶
Added in the new cable attenuation model
Re-wrote the TBW reader so that is it ~40% faster
Removed unnecessary “import” statements in the TBW, TBN, and DRX readers
Fixed slow frame creation by sim.dp on 64-bit systems
Added in the new C-based correlator
Major re-organization of correlator.fx with regards to windowing functions
Switched from ‘processing’ to ‘multiprocessing’
Added the possm.py script for each FITS IDI examination
Fixed tbwSpectra.py and tbnSpectra.py to accommodated the windowing change
Added drxSpectra.py
Fixed various problems with the DP data simulator
Added in option to cable losses in tbwSpectra.py
Fixed a problem in the sim.vis.Antenna class function get_beam_shape
Added in a correlator script for TBW
Added new beam models for use with AIPY based on SLC0015
Version 0.3.3¶
Fixed stand indexing error in uvUtils.cableAttenuation
Fixed Mac OS X tbnSpectra.py plotting problem (Ticket #3)
Spectra generated by tbwSpectra.py and tbnSpectra.py now agree with IDA v0.1
Fixed problems with the frame comparison attributes
Re-wrote the TBN reader so that it is ~20% faster
Fixed syntax errors in misc.difxconfig
Fixed MemoryError problem for some systems with tests.test_vdiff (Ticket #7)
Fixed a problem that caused some systems to assume that LSL was zip safe
Added new stand mappings that correct the 3/4 pair swaps
Version 0.3.2¶
Added new “tutorial” style documentation for various parts of LSL
Added scripts tbwSplit.py and tbnSplit.py to split large TBW and TBN files down to more manageable sizes
Version 0.3.1¶
Fixed various typos. in correlator.fx, misc.beamformer, and reader.buffer
Added “close” function to writer.fitsidi
Version 0.3.0¶
New setuptools-based build system
New, improved documentation
Added post-acquisition beam forming module
Added in modules for writing simulated data to the S60, TBW, TBN, and DRX raw data formats
Added a module for simulated basic test signals in TBW, TBN, and DRX data
Moved the lwa_user script ‘astrostatus.py’ into the scripts directory
Fixed the FITS IDI writer
Fixed a couple of bugs dealing with incorrect chunking of data in scripts/tbwSpectra.py and scripts/tbnSpectra.py
Version 0.2.0¶
Added in other modules from the lwa_user library developed by NRL
Version 0.1.0¶
Initial version