Instrument

Effective Aperture Instruments

nyx.instrument.effective_aperture Module

Classes

EffectiveApertureInstrument

An instrument whose pixels have a centre, a throughput weight and a bandpass.

Reading an iactrace scan

An instrument’s bandpass and per-pixel response normally come out of an iactrace ray trace. That scan is hours of Monte-Carlo work, so do it once, save the table, and build from the file afterwards:

# once, wherever iactrace is installed
table = iactrace.analysis.effective_aperture(telescope, camera, ...)
table.save("CT3_aperture.npz")

# ever after, with no ray tracer in the environment
inst = EffectiveApertureInstrument.from_iactrace_table(geo, "CT3_aperture.npz")

The archive is plain numpy, so reading it needs nothing beyond nyx’s own dependencies; the nyx[iactrace] extra is required only to run a scan through from_iactrace().

nyx.instrument.aperture_table Module

Functions

load_aperture_table(path)

Read an effective-aperture table iactrace saved to .npz.

tabulated_bandpass(wvls, transmission)

Build an instrument bandpass callable from a tabulated curve.

Classes

EffectiveApertureTable

iactrace effective-aperture table, read from a file.

Pixel response interpolation

nyx.instrument.interpolation Module

Functions

gaussian_blur(field, sigma_nodes)

Blur a lattice array by a separable Gaussian, widths in lattice nodes.

integrate_response(lattice, values)

Simpson-integrate each pixel's response.

interpolate_pixel_rates(grid, values, coords)

Bilinear interpolation of the FOV evaluation grid at pixel centres.

project_lattice(lattice, values, coords, rates)

Project point sources onto pixels via the shared response lattice.

response_centroid(lattice, values)

Where each pixel looks via the first moment of its response.

Classes

PixelLattice

The sampling lattice every pixel's response grid is a window onto.