Releases: radiocosmology/draco
Releases · radiocosmology/draco
v24.6.0
What's Changed
- fix: update cython code to account for the changed division operator by @jrs65 in #248
- fix(sidereal): mpiarray issues by @jrs65 in #246
- Refactor delay-space measurement code and add features by @sjforeman in #217
- fix(ringmapmaker): fix bug finding shortest baseline in find_basis by @ssiegelx in #251
- ci(ruff): add extra linting rules: isort, pyupgrade, numpy, ruff-specific by @ljgray in #243
- Redistribute back to frequency after generating baseline mask by @ljgray in #253
- feat(core.io): support globs without
*
by @rikvl in #252 - Wavelet Power Spectra by @jrs65 in #237
- Timestream high pass filter by @jrs65 in #250
- Delay cross 1 by @jrs65 in #254
- Delay cross power spectrum estimator by @jrs65 in #255
- Ensure truncation is applied to all datasets by @jrs65 in #257
- Optionally load an initial delay spectrum sample by @ljgray in #256
- Update sphinx and black by @ljgray in #261
- fix(GaussianNoise): fix bug in noise generation by @sjforeman in #263
- Enforce linting rule RUF012 by @ljgray in #258
- fix: apply filter to inherited datasets by @jrs65 in #260
- fix(core.containers): Recognise np.int as an axis def. by @tristpinsm in #267
- Add a new RFI Flagging task by @ljgray in #265
- fix(sensitivity): fix bug in exclude_intracyl sensitivity calculation by @ssiegelx in #270
- feat(flagging): mask rfi based on delay filtered visibilities by @ssiegelx in #268
- Baseline-dependent rebinner by @ljgray in #269
- feat(DebugInfo): a new task for printing useful debugging information by @jrs65 in #249
- fix(rfi): fix misalignment between mask and data in sumthreshold by @ssiegelx in #272
- ss/sens mask by @ssiegelx in #274
- Save out multiple files per task and tweak Stokes I RFI task by @ljgray in #271
- Assorted bug fixes by @ljgray in #275
- Maximum likelihood delay power spectrum estimator by @jrs65 in #262
- fix(ci): don't use bitshuffle wheel by @ljgray in #279
- fix(sidereal): remove unnecessary copy by @ljgray in #277
- fix(analysis.DayenuDelayFilterMap): Remove rms dset by @tristpinsm in #276
- Modifications to BlendStack and frequency mask by @ljgray in #280
New Contributors
Full Changelog: v23.6.0...v24.6.0
23.6.0
What's Changed
- Move _invert_no_zero to caput and add deprecation warning by @ljgray in #202
- Fix Gibbs sampler bug and add initial_amplitude parameter, and fix misc. MPIArray warnings by @sjforeman in #207
- fix(misc): Log MPI check as successful only after all ranks complete by @ljgray in #212
- fix: change deprecated numpy dtypes by @jrs65 in #220
- refactor(flagging): clean up various versions of ThresholdVisWeight. by @ljgray in #209
- fix(band_covariance): fix out of bounds index in _band_wiener_covariance by @ljgray in #218
- Bump minimum version to 3.8 by @ljgray in #228
- Mask gain interpolation region after bad calibration by @ljgray in #221
- perf(SmoothVisWeight): Use caput
moving_weighted_median
by @ljgray in #187 - feat(flagging): introduce a task to apply a baseline-dependent mask. by @ljgray in #229
- feat(ShiftRA): add option to make shift 360-degree-periodic by @sjforeman in #226
- feat(io): allowing zarr zip jobs to run in the background by @jrs65 in #214
- Only iterate over self.compression if it's a dict by @ljgray in #232
- perf(task): only count nans/infs if any are found by @ljgray in #234
- Use ruff for CI linting by @ljgray in #235
- fix(flagging): increase default threshold for static weight masking by @ljgray in #236
- feat(flagging): add timestamp to pseudo-static rfi sensitivity mask hook by @ljgray in #240
- Timestamp Alignment(2/4): Copy index_map dataset attributes and remove
time
property by @ljgray in #227 - Timestamp fixes (1/1): Remove some unnecessary time axis copies by @ljgray in #222
- perf(sidereal): clear timestream list after concatenation by @ljgray in #244
- feat(beamform): delete some class list attributes in 'process_finish'. by @ljgray in #242
- feat(dayenu.DayenuDelayFilter): Add attenuation threshold parameter. by @tristpinsm in #239
- feat(transform): task to apply reduction ops to a container by @ljgray in #241
Full Changelog: v22.10.0...v23.6.0
22.10.0
What's Changed
- fix(ZipZarrContainers): prevent crash when requirements are not met by @jrs65 in #205
- feat(flagging): improve code for masking low weights by @sjforeman in #203
- feat(misc): add task to test mpi communication by @ljgray in #204
- fix(CheckMPIEnvironment): use the logger on the task by @jrs65 in #206
Full Changelog: v22.9.0...v22.10.0
22.9.0
What's Changed
- fix(beamform): incorrect normalization for collapse_ha by @ssiegelx in #114
- feat(MakeSiderealDayStream): a new task to simulate a specific LSD by @jrs65 in #113
- feat(io): raise ConfigError if file not found by @nritsche in #115
- docs build / readthedocs by @nritsche in #116
- docs(sphinx): add categorized lists again as simple references by @nritsche in #118
- Hybrid map maker by @jrs65 in #65
- Deprecate caput.pipeline.PipelineConfigError by @nritsche in #120
- feat(containers): added a HealpixContainer baseclass by @jrs65 in #128
- ss/common mode beam by @ssiegelx in #127
- perf(SingleTask): remove no-effect-getitem call by @nritsche in #123
- Deconvolving ringmap by @jrs65 in #122
- feat(sourcestack): separately stack each pol by @ssiegelx in #129
- feat(core.containers): HEALPixBeam container. by @tristpinsm in #105
- fix(core.containers.HEALPixBeam): init order. by @tristpinsm in #132
- Stacking and delay filter changes by @jrs65 in #117
- feat(beamform): refactor how primary beam model is evaluated by @ssiegelx in #131
- Fixes for simulating sidereal streams by @jrs65 in #134
- ss/deconvolving ringmap by @ssiegelx in #126
- refactor(io): create BaseLoadFiles class by @ssiegelx in #135
- feat(sidereal, containers): sample variance over sidereal days by @ssiegelx in #104
- feat(flagging): create FindBeamformedOutliers and MaskBeamformedOutliers tasks by @ssiegelx in #138
- feat(delay): compatibility with RingMap and GridBeam containers by @ssiegelx in #140
- jrs/transform jy to kelvin by @jrs65 in #136
- feat: create tasks for generating mock catalogs by @sjforeman in #139
- fix(isnan): check for NaN/Inf in local arrays, to avoid crashes due to de-syncing by @anjakefala in #125
- fix(mpiarray): use non-pickling variant of MPI.Comm.Allreduce with MP… by @anjakefala in #143
- fix(ringmapmaker): MPI calls could get out of sync by @jrs65 in #142
- Misc. tweaks to SourceStack by @sjforeman in #141
- build: build using the oldest supported version of numpy, for python version by @anjakefala in #146
- Mockcat fixes and other goodies by @jrs65 in #144
- Stacking/beamform bug fixes by @jrs65 in #147
- fix(ci): update the apt cache within the sphinx doc build step by @jrs65 in #148
- Task to add eBOSS-like redshift errors to catalog by @sjforeman in #149
- Fix bug using tracer and allow setting of it by @jrs65 in #153
- ss/tel-beam-stream by @ssiegelx in #152
- fix(task): if finish task output is None, it should not be processed by @anjakefala in #155
- fix(ContainerBase): correctly call superconstructor by @jrs65 in #150
- ss/dayenu by @ssiegelx in #157
- Mix data and fix flux cal bug by @jrs65 in #156
- feat(MaskFreq): accept RingMap input data by @jrs65 in #158
- feat(sourcestack): tools to generate many mock stacks by @ssiegelx in #159
- RA integration window for sidereal streams and improve redshift errors by @jrs65 in #160
- feat(util.tools.invert_no_zero): Handle subnormals. by @tristpinsm in #161
- feat(synthesis.noise.GaussianNoiseDataset): Allow choice of dataset. by @tristpinsm in #163
- Fix mode axis of SVDModes container by @sjforeman in #165
- fix(beamform): do not crash beamformer, when no data is available by @anjakefala in #166
- fix(SingleTask): pull tag from input_tags, when not explicitly configured by @anjakefala in #170
- fix(beamform): return before requiring self.epoch by @anjakefala in #171
- fix(task.SingleTask): ensure input tags are strings. by @tristpinsm in #172
- Refactor
invert_no_zero
to avoid unnecessary memory copies by @tristpinsm in #168 - New QSO z-error model by @jrs65 in #164
- feat(task): zarr support by @nritsche in #130
- fix(invert_no_zero): issue when operating on MPIArrays by @jrs65 in #178
- fix(containers): add input axis to GainData weight dataset by @ssiegelx in #182
- Update noise.py by @Arnab-half-blood-prince in #181
- fix(containers): fixes bug setting compression parameters for copy by @ssiegelx in #183
- feat(ContainerBase): copy over datasets when creating a container by @jrs65 in #180
- Ljg/threashold vis weight by @ljgray in #185
- feat(delay): allow user to specify apodisation window and allow for complex-valued delay spectrum by @sjforeman in #177
- fix(ApplyRFIMask): don't apply mask to local array. by @ljgray in #186
- feat(RFIMask): calculate RFIMask container rather than applying in place. by @jrs65 in #192
- Speed up
CollateProducts
by avoidingredistribute
when possible. by @ljgray in #191 - Improve the debug messages when loading files by @jrs65 in #193
- feat: add CITATION.cff file for Zenodo/Github by @jrs65 in #194
- updated z_weights_sum calculation by @josephwkania in #189
- feat(MaskBaselines): mask baselines under an average weight threshold by @jrs65 in #195
- fix(regrid): remove bias in inverse noise estimate by @jrs65 in #196
- Fix issues doing IO with zarr by @jrs65 in #197
- feat(misc): add task to deep copy a container by @ljgray in #198
- feat(flagging): add task to mask time/freq samples with low weight at… by @sjforeman in #199
- Flagging Changes by @jrs65 in #200
New Contributors
- @sjforeman made their first contribution in #139
- @Arnab-half-blood-prince made their first contribution in #181
- @ljgray made their first contribution in #185
- @josephwkania made their first contribution in #189
Full Changelog: v20.10.0...v22.9.0
20.10.0
Bug Fixes
- analysis.flagging.MaskData: Fix m mask. (525305c)
- containers: could not make selections along inherited axes (9d678eb)
- containers: fix copy for non-distributed data (22b0719)
- delay: issue identifying equivalent baselines because of rounding (a3f54e6)
- DelayFilter: apply mask and weights consistently in filter (e503943)
- DelayFilter: select appropriate number of points and update weights (20f7903)
- noise: RandomGenerator rename and other GaussianNoiseDataset bugs (#106) (ba7648d)
- svdfilter: fix initial fill of missing matrix entries in svd_em (75f8cd8)
- task: fix deprecation warning for
inspect.getargspec
(ae2f1b6) - tv_channels_flag: account for frequencies partially in a channel (854964a)
Code Refactoring
- remove Python 2 support (58c275c)
Features
- analysis.transform: Add option to mask weights that were zero to regridder. (d6f2c76)
- BlendStack: mix in a little stacked data to overcome RFI gaps (3167d43)
- io: select ranges of axes when loading containers (201841e)
- LoadFITSCatalog: task to load SDSS catalogs from FITS files (ffc570f)
- random: new random number routines and tasks (8c8a533)
- RandomSubset: a task to select a random subset of a catalog (abdb5fd)
- sidereal: create nearest, linear, and cubic regridders (81badda)
Performance Improvements
- BeamForm: 2x speed up to beamforming code (8945ee4)
- DelaySpectrumEstimator: speedup for small numbers of frequencies (88ffda1)
- stokes_I: stop recalculating the beamclass every iteration (ea70033)
BREAKING CHANGES
- Python 2.7 is no longer supported
20.5.0
Bug Fixes
- ContainerBase: axis overwritten when using attrs_from (0c812a2)
- beamform: bug parsing lsd attribute (3e873b9)
- beamform: convert sources to CIRS coordinates before beamforming (6f5704e)
- ContainerBase: convert strings in containers by default (7e08750)
- io: convert strings when using pipeline to read containers. (d4329f6)
- LoggedTask: set correct module path in logger name (0cd19f2)
- noise: update imports to resolve merge conflicts (48ff35c)
- RFIMask: inverse of RFI mask was applied (80f55bf)
- RFISensitivityMask: crash when MPI distributed (d5b3a88)
- sensitivity: use unicode for pol axis map (8854536)
- SetMPILogging: don't override root log level (8e723c6)
- SiderealGrouper: crash at finish if no timestreams processed (9e09d1e)
- SingleTask: use memh5 history for metadata (79311e5), closes #88
- task: crash in key check when metadata already copied into the container (69b9a51)
- test_selections: fixtures file may be removed before tests complete (4ab9c03)
Features
- ak/52: Correct noise for auto-correlations (8338136)
- ApplyRFIMask: a simple task to apply an RFIMask container (ac9e92d)
- containerBase: support for sel_* params (#77) (01c1676)
- ContainerBase: copy an existing container and share its data (518db11)
- gaussiannoise: add a first-pass add a gaussian noise dataset generator (b974338), closes #52
- gaussiannoise: add local seed states for RandomGen (4bec93a), closes #52
- gaussiannoise: noise is complex (2b211ae)
- io: add tasks to dump metadata (34e4000)
- MaskBaselines: add option to share/copy the input container (a387c68)
- mmode_inverse: add MModeInverse task (9b44d90)
- sensitivity: account for freq dependent flags from gains (aae757b)
- sensitivity: add frac lost to SystemSensitivity (cdfa35b)
- senswaterfall: handle cases where weights are 0 (d44f441)
- SingleTask: more flexible control of the name of output files (5a00fc9)
- task: write metadata to file (821ad19), closes #71