Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add theoretical noise calculation to DirtyImager #256

Open
iancze opened this issue Apr 25, 2024 · 0 comments
Open

Add theoretical noise calculation to DirtyImager #256

iancze opened this issue Apr 25, 2024 · 0 comments

Comments

@iancze
Copy link
Collaborator

iancze commented Apr 25, 2024

Is your feature request related to a problem or opportunity? Please describe.

In practice, one calculates the noise in a synthesized image by taking the RMS of some signal-free region.

But the theoretical thermal noise of the synthesized map can also be calculated directly from the imaging weights.
See Dan Briggs's thesis, Eqn 3.3.

Describe the solution you'd like
We implemented this calculation in an example script, for natural weighting and no taper.

It should be relatively straightforward to extend this to include those terms.

To DirtyImager, add a

def get_thermal_noise(
        self,
        weighting: str = "uniform",
        robust: float | None = None,
        taper_function: Callable[
            [npt.NDArray[np.floating[Any]], npt.NDArray[np.floating[Any]]],
            npt.NDArray[np.floating[Any]],
        ]
        | None = None,
        unit: str = "Jy/beam")

routine.

Additional context
It'd be worthwhile comparing this to the calculation from CASA.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant