Recent Releases of Blimpy
Blimpy - Fix the bl_scrunch utility
The bl_scrunch utility was failing to update the output file header nchans field (number of fine channel frequencies). This field is now calculated based on the -f parameter.
Also, removed the obsolete match_fils.py and all references to it.
Scientific Software - Peer-reviewed
- Python
Published by texadactyl over 3 years ago
Blimpy - Enhance dsamp to write SIGPROC (.fil) output as well as .h5
Scientific Software - Peer-reviewed
- Python
Published by texadactyl over 3 years ago
Blimpy - Bug fix to release 2.1.1
Release 2.1.1 had missing fields in the constructed Waterfall "container". This resulted in issue #270.
Scientific Software - Peer-reviewed
- Python
Published by texadactyl over 3 years ago
Blimpy - Expanded Waterfall Capability
In this past, blimpy's Waterfall class was only entertaining input from a Filterbank file (.h5 or .fil). With this release, a data array + a header dictionary may be passed instead of a file path. Note that these 2 input methodologies are mutually exclusive.
Scientific Software - Peer-reviewed
- Python
Published by texadactyl over 3 years ago
Blimpy - Introduce Filterbank file downsampling capability (dsamp)
The operator will supply an input path, output path, and a groupsize used for the purpose of summing. For every every groupsize time samples of the input data, the utility will sum the data element values into one total based on the polarisation index and fine-requency channel index. This summing is performed for each polarisation index and each channel index within a given polarisation.
E.g. if the group size = 3, then for polarisation index 1 (relative to 0) and channel index 42 (relative to 0), the sum for time samples 21 through 23 (relative to 0) for single element outdata[7, 1, 42] is given by:
indata[21, 1, 42] + indata[22, 1, 42] + indata[23, 1, 42]
The number of output samples = input array time dimension integer-divided by group_size. If the remainder of that division > 0, then the excess samples from the input array are dropped.
E.g. if the group size = 3 and the input data has 62 time samples, then the last 2 input samples are discarded.
The summing group size must be >= 2 and < input data time dimension.
Note that the tsamp header field in the output is set = the group size multiplied by the input tsamp value.
Scientific Software - Peer-reviewed
- Python
Published by texadactyl over 3 years ago
Blimpy - Fix misspelling of kurtosis in watutil.py
See issue #266.
Scientific Software - Peer-reviewed
- Python
Published by texadactyl over 3 years ago
Blimpy - Cleanup Waterfall, blimpy plotting, and regression tests
The Waterfall object ccurrently can only support the input of a Filterbank file. Therefore, it now diagnoses the following as an error: - Missing input Filterbank path. - Presence of a data_array. - Presence of a header dict object (metadata).
If, in the future, issue #264 is resolved in terms of requirements, then the following might be the metadata/data input options: - Input Filterbank path for a file containing both metadata and a data array. - A metadata dict object + a data array matrix, both RAM-resident.
Scientific Software - Peer-reviewed
- Python
Published by texadactyl almost 4 years ago
Blimpy - Fixed blimpy to show plots when the display supports it.
Fixed blimpy to show plots when the display supports it. See issue #263.
Scientific Software - Peer-reviewed
- Python
Published by texadactyl almost 4 years ago
Blimpy - Help turbo_seti plot_event.py performance
In hdfreader.py examineh5 function, the amount of data matrix loaded was reduced.
Scientific Software - Peer-reviewed
- Python
Published by texadactyl almost 4 years ago
Blimpy - v2.0.37 Enhanced h5diag utility
Sample output:
VERSION attribute: 2.0
header: {'DIMENSIONLABELS': array([b'time', b'feedid', b'frequency'], dtype=object), 'azstart': 0.0, 'datatype': 1, 'fch1': 6688.96484375, 'foff': -0.00286102294921875, 'ibeam': -1, 'machineid': 20, 'nbeams': 1, 'nbits': 32, 'nchans': 65536, 'nfpc': 1024, 'nifs': 1, 'rawdatafile': 'blc17guppi5799149318DIAGPSRJ0332+54340008.0000.raw', 'sourcename': 'DIAGPSRJ0332+5434', 'srcdej':
No errors detected
Scientific Software - Peer-reviewed
- Python
Published by texadactyl about 4 years ago
Blimpy -
In fil2h5, h52fil, dice, and bl_scrunch, it is possible to mangle the output file name if the input file path has an embedded "fil". In essence, the embedded "fil" will be inadvertently changed to "h5". E.g. "abc.filter.def.fil" --> "abc.h5ter.def.h5" (should be "abc.filter.def.h5"). This was caused by misuse of the Python string replace function.
Solution:
- Implemented utils.changetheext(path, oldext, newext) will change only the final oldext in the path or append the newpath if there is no old_ext present.
- fil2h5, h52fil, dice, and bl_scrunch call the new function.
Since the function is generic, it can also be leveraged by other projects such as turbo_seti (probably needed!).
Scientific Software - Peer-reviewed
- Python
Published by texadactyl about 4 years ago
Blimpy - Enhance h5diag for FBH5 version 2.0
For a valid FBH5 version 1.0 file, h5diag reports like this:
h5diag: Begin
h5diag: VERSION attribute: 1.0
h5diag: header: {'DIMENSION_LABELS': array([b'frequency', b'feed_id', b'time'], dtype=object), 'az_start': 0.0, 'data_type': 1, 'fch1': 8421.386717353016, 'foff': -2.7939677238464355e-06, 'ibeam': 1, 'machine_id': 20, 'nbeams': 1, 'nbits': 32, 'nchans': 1048576, 'nifs': 1, 'rawdatafile': 'guppi_57650_67573_Voyager1_0002.0000.raw', 'source_name': 'Voyager1', 'src_dej': <Angle 12.183 deg>, 'src_raj': <Angle 17.16777333 hourangle>, 'telescope_id': 6, 'tsamp': 18.253611008, 'tstart': 57650.78209490741, 'za_start': 0.0}
h5diag: data shape: (16, 1, 1048576)
h5diag: No errors detected
For a valid FBH5 version 2.0 file (created by rawspec 3.0 or later, producing an .h5 file directly), h5diag reports like this:
h5diag: Begin
h5diag: VERSION attribute: 2.0
h5diag: header: {'DIMENSION_LABELS': array([b'time', b'feed_id', b'frequency'], dtype=object), 'az_start': 0.0, 'data_type': 1, 'fch1': 7438.96484375, 'foff': -2.7939677238464355e-06, 'ibeam': -1, 'machine_id': 20, 'nbeams': 1, 'nbits': 32, 'nchans': 67108864, 'nfpc': 1048576, 'nifs': 1, 'rawdatafile': 'blc13_guppi_57991_49836_DIAG_FRB121102_0010.0000.raw', 'source_name': 'DIAG_FRB121102', 'src_dej': <Angle 33.1479 deg>, 'src_raj': <Angle 5.53295333 hourangle>, 'telescope_id': 6, 'tsamp': 18.253611007999982, 'tstart': 57991.57680555555, 'za_start': 0.0}
h5diag: data shape: (3, 1, 67108864)
Rawspec version: 2.5.0+91@gd699853
Librawspec version: 2.5.0+91@gd699853
cuFFT version: 10.2.1.245
HDF5 version: 1.8.16
Bitshuffle: ENABLED
h5diag: No errors detected
Scientific Software - Peer-reviewed
- Python
Published by texadactyl about 4 years ago
Blimpy - New utility: srcname
Created a tool for patching the header source_name in an HDF5 file: srcname.
Scientific Software - Peer-reviewed
- Python
Published by texadactyl over 4 years ago
Blimpy - New blimpy utility: peek
Scientific Software - Peer-reviewed
- Python
Published by texadactyl over 4 years ago
Blimpy - Fix issue #243
Scientific Software - Peer-reviewed
- Python
Published by texadactyl over 4 years ago
Blimpy - Improve clarity in file writing messages
Impacted source files: - io/filwriter.py - io/hdfwriter.py - fil2h5.py
Scientific Software - Peer-reviewed
- Python
Published by texadactyl over 4 years ago
Blimpy - Fix issue #238 and a surpise bug in blimpy/utils.py
- There were miscellaneous bugs in stax.py w.r.t. frequency range specifications and large files.
- blimpy/util.py
rebinfunction sometimes crashed due to unexpected dimension input.
Scientific Software - Peer-reviewed
- Python
Published by texadactyl over 4 years ago
Blimpy - Fix issues with stix and stax
- Recovered lost executable stix.
- The entry point name for `
staxwas corrected to be consistent with the rest of blimpy.
Scientific Software - Peer-reviewed
- Python
Published by texadactyl over 4 years ago
Blimpy - Fixed a lot of mishaps in the regression tests
Scientific Software - Peer-reviewed
- Python
Published by texadactyl over 4 years ago
Blimpy - Centralise regression test requirements
Blimpy testing needs setigen for regression testing. Setigen needs blimpy to save data in Filterbank or HDF5 files.
So, when the blimpy dependency of setigen is installed and blimpy is not yet installed, testing proceeds with the previous release level from pypi.
Solution:
Take setigen out of requirements.txt and put it and all the other test requirements in requirements_test.txt (new file).
Impacted files: * .github/workflows/python_tests.yml * Dockerfile
Scientific Software - Peer-reviewed
- Python
Published by texadactyl over 4 years ago
Blimpy - Try to remove HDF5 files that cannot be fully written due to an exception
One amended source file: blimpy/io/hdf_writer.py
Scientific Software - Peer-reviewed
- Python
Published by texadactyl over 4 years ago
Blimpy - Clarify HDF5 b-tree errors
Catch corrupt B-tree in an HDF5 file with a clearer message. The corrupt files are caused by crashes during HDF5 file creation.
Scientific Software - Peer-reviewed
- Python
Published by texadactyl over 4 years ago
Blimpy - A betterfix to issue #226
Scientific Software - Peer-reviewed
- Python
Published by texadactyl over 4 years ago
Blimpy - Diagnose false and broken HDF5 files
The io/hdf_reader.py was updated and a new stand-alone utility, h5diag, was introduced.
Scientific Software - Peer-reviewed
- Python
Published by texadactyl over 4 years ago
Blimpy - New signal_processing source file, "dedoppler.py"
This is the first in a planned series of signal processing functions for blimpy. In this release: * blimpy/signalprocessing/dedoppler.py - first dedoppler function * tests/testdedoppler.py - test for dedoppler.py and usage sample
Scientific Software - Peer-reviewed
- Python
Published by texadactyl over 4 years ago
Blimpy - New utility, stix
LOFAR folks have some really huge Filterbank files E.g. 140 GB. Today's blimpy cannot plot them because it tries to get the whole data matrix into memory first.
New approach: Slice them into manageable sized sticks by fine-channel frequency subrange and plot each one separately. Optionally, concatenate all of the generated PNG files horizontally or vertically into one PNG.
New utility function: stix ``` stix -h usage: stix [-h] [--plotdir PLOTDIR] [--sourcename SOURCENAME] [--stitch {n,v,h}] [--dpi DPI] [--width WIDTH] [--height HEIGHT] inputfile chunkcount
Make waterfall plots from a single huge file, viewed from top to bottom.
positional arguments: inputfile List of files to plot chunkcount Count of same-sized frequency chunks
optional arguments: -h, --help show this help message and exit --plotdir PLOTDIR, -p PLOTDIR Directory to receive the plot (.png). Default: current directory. --sourcename SOURCENAME, -n SOURCENAME Source name to override the header field. Default: None. --stitch {n,v,h}, -s {n,v,h} Stitch files: n(no stitching), v(vertical), or h(horizontal). Default: n. --dpi DPI, -d DPI Single image file dots per inch. Default: 200. --width WIDTH, -w WIDTH Single image file image width in inches. Default: 10. --height HEIGHT, -t HEIGHT Single image file image height in inches. Default: 8. ```
Scientific Software - Peer-reviewed
- Python
Published by texadactyl over 4 years ago
Blimpy - Get fil2h5 to support very large filterbank files
Fixed issue #218
Scientific Software - Peer-reviewed
- Python
Published by texadactyl over 4 years ago
Blimpy - Fix issue #212
Waterfall.blank_dc() caused numpy "RuntimeWarning: Mean of empty slice" when the ratio between the number of fine channels to the number of coarse channels was < 5. This is a boundary case.
Scientific Software - Peer-reviewed
- Python
Published by texadactyl over 4 years ago
Blimpy - Release 2.0.17.1 crashed [?}
Release 2.0.17.1: Undetected editing mistake in blimpy/init.py led to a missing value for version detected in turbo_seti. Blimpy operations are unaffected.
For some unknown reason, release 2.0.17.1 crashed. So, release 2.0.17.2 hopes to rectify that.
Scientific Software - Peer-reviewed
- Python
Published by texadactyl over 4 years ago
Blimpy - Emergency release to 2.0.17
Undetected editing mistake in blimpy/init.py led to a missing value for version detected in turbo_seti. Blimpy operations are unaffected.
Scientific Software - Peer-reviewed
- Python
Published by texadactyl over 4 years ago
Blimpy - Expand testing and improve diagnostics
Scientific Software - Peer-reviewed
- Python
Published by texadactyl over 4 years ago
Blimpy - Catching up to version 2.0.15
Scientific Software - Peer-reviewed
- Python
Published by texadactyl over 4 years ago
Blimpy - JOSS release
Changelog:
- Added CONTRIBUTIONS.md
- Improved docstrings
- Fixed Travis-CI docker issues
Scientific Software - Peer-reviewed
- Python
Published by telegraphic over 6 years ago