Skip to content

Zero transmission on oversized apertures #305

@h-greer

Description

@h-greer

For many of the dynamic aperture classes (I've tried CircularAperture and SquareAperture, but it probably affects others), creating a clear aperture bigger than the wavefront causes the aperture to drop to zero transmission. MWE below (run on latest dLux off PyPI but I don't think this part of the code has been changed since then).

npix = 512
diam = 2.4
coords = dlu.pixel_coords(npix, diam)

small_circle = dl.CircularAperture(diam/2)
large_circle = dl.CircularAperture(diam)

print(small_circle.transmission(coords, diam/npix).sum()) # > 0. as expected
print(large_circle.transmission(coords, diam/npix).sum()) # = 0. which is incorrect

This sounds like an outrageous edge case but it does come up modelling oversized components. I'm not quite sure where the problem is, but I'm happy to diagnose it myself when I get a chance. I don't imagine this is going to affect most dLux users.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions