Skip to content

Frequency Differencing in a Sky Subtract Object (Coherent Frequency Differencing) #73

@mwilensky768

Description

@mwilensky768

@no-lex

Currently, SS objects only support differencing in time. Differencing in frequency is another way to subtract out the sky (neglecting difficulties arising due to non-smooth bandpasses). This will require rewriting SS.diff to accept boolean options for time and frequency differencing. That will need to be plumbed through ss.read.

Off the top of my head, what needs to be done in diff is

(1) Difference the data array along the frequency axis
(2) Add the nsample_array along the frequency axis
(3) Shift the frequency_array over by half a channel
(4) Decrement Nfreqs attribute by 1.
(5) boolean or the pairs of flags that correspond to differenced data
(6) Possibly other frequency-related things. (look for attributes in the pyuvdata docs that make reference to frequency)

When an INS object is initialized from an SS object, it will need a piece of metadata that tells what types of differencing have been done. This metadata needs to be used by INS.mask_to_flags and INS.flag_uvf to propagate flags correctly.

The history strings should reflect the type of operation formed.

We should co-ordinate with the UVFlag folks and see if we can get UVFlag.write and UVFlag.read to be more subclass friendly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions