ColumnPixelDefect

ColumnPixelDefect#

class cabaret.camera.ColumnPixelDefect(name: str = 'defect', rate: float = 0.0, seed: int = 0, apply_before_base: bool = False, _rng: Generator | None = None, _pixels: ndarray | None = None, value: int = 0, dim: int = 0, _lines: ndarray | None = None)[source]#

A pixel defect that simulates column noise by selecting entire rows or columns of pixels to be defective.

Examples

>>> from cabaret import Observatory, Sources
>>> pixel_defects = {
...     "column": {"type": "column", "value": 20, "rate": 0.01, "dim": 1}
... }
>>> observatory = Observatory(camera={"pixel_defects": pixel_defects})
>>> sources = Sources.get_test_sources()
>>> ra, dec = sources.center
>>> _, clean_image, image = observatory.generate_image_stack(
...     exp_time=3, ra=ra, dec=dec, sources=sources, convert_all_to_adu=True
... )

To plot the images, you can use the plot_image function from cabaret.plot:

>>> from cabaret.plot import plot_image
>>> import matplotlib.pyplot as plt
>>> fig, axes = plt.subplots(1, 2, figsize=(7, 5), sharex=True, sharey=True)
>>> _ = plot_image(clean_image, ax=axes[0], title="Image without defects")
>>> _ = plot_image(image, ax=axes[1], title="Image with column defects")
>>> plt.subplots_adjust(wspace=0.1)
>>> plt.show()

Methods

__init__([name, rate, seed, ...])

introduce_pixel_defect(image, camera, **kwargs)

Introduce the defect into the image.

number_of_defect_pixels(camera)

Calculate the number of pixels affected by the defect.

set_lines(lines, camera)

Set the lines for the defect.

set_pixels(pixels, camera)

Set the pixels for the defect.

Attributes

apply_before_base

If True, this defect is applied before the base image (bias, dark, read noise) is added.

dim

Dimension along which to apply the defect.

lines

Defective lines (rows or columns).

name

Name of the defect.

pixels

Pixel coordinates affected by the defect.

rate

Fraction of pixels affected by the defect.

rng

Random number generator instance.

seed

Random seed for reproducibility.

value

Constant value to assign to defect pixels.