Release Notes ============= 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 Older Versions -------------- 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