Skip to content

Add theoretical noise calculation to DirtyImager #256

@iancze

Description

@iancze

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions