mwalib 1.4.0
1.4.0 24-Jul-2024
- mwalib now exposes the calibration solution information in a metafits file (if present). When the metafits is generated by a call to the webservice, the metafits file will attempt to populate calibration solution information for the specified observation. The newest produced calibration solution from a calibrator with the same frequency channels and proximity in time will be added to the CALIBDATA hdu which is exposed by mwalib in the structs and attributes below. see: Metafits files Wiki article for more information about metafits files.
RfInput
struct now contains the following new fields. If calibration solution information is not present in the metafits they will beNone
.calib_delay
- Calibration delay in meterscalib_gains
- Calibration gains vector: 1 f32 per coarse channel. Channels are inMetafitsContext.course_chans
order.
- When calibration solution information is present, some values of
calib_delay
andcalib_gains
may be NaN. Make sure you understand how NaNs work in Rust if you will be using these columns! - Via C, if the calibration solution information is not present, the values will be NaN (or an array of NaNs in the case of
calib_gains
): MetafitsContext
struct now contains the following new fields.best_cal_fit_id
- Best calibration fit ID. If not present in the metafits it will beNone
; via C, the value will be 0.best_cal_obs_id
- Best calibration observation ID. If not present in the metafits it will beNone
; via C, the value will be 0.best_cal_code_ver
- Best calibration fit code version. If not present in the metafits it will beNone
; via C, the value will be an empty string.best_cal_fit_timestamp
- Best calibration fit timestamp. If not present in the metafits it will beNone
; via C, the value will be an empty string.best_cal_creator
- Best calibration fit creator. If not present in the metafits it will beNone
; via C, the value will be an empty string.best_cal_fit_iters
- Best calibration fit iterations. If not present in the metafits it will beNone
; via C, the value will be 0.best_cal_fit_iter_limit
- Best calibration fit iteration limit. If not present in the metafits it will beNone
; via C, the value will be 0.
- When populating
RfInput::has_whitening_filter
, mwalib will use the Whitening_Filter key/value if present in the metafits, instead of deducing it fromcable_flavour
. If whitening_filter is not present, the existing deduction logic will be used. MetafitsContext::deripple_applied
- modified mwalib to use DERIPPLE metafits key (it still supports DR_FLAG just in case it is an old metafits)- When using the
Display
trait ofMetafitsContext
or the C functionmwalib_metafits_context_display
, limit the printing of fine channels - for better readability. - Added simple Rust example "mwalib-print-context" which does what it says on the tin.
PR(s)
Full Changelog of commits: v1.3.3...v1.4.0