Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@mileslucas
Copy link
Contributor

Adds functions for generating Subaru and SCExAO pupils. The numbers are based on private communication with Julien Lozi, which are published in a table in Lucas et al., 2024. The code is based on a Lyot stop generator I made a while ago, which allows arbitrarily scaling inner and outer diameters, as well as spider widths. The difference between the Subaru geometry and SCExAO geometry is that SCExAO has a very slightly undersized pupil compared to Subaru, plus the SCExAO aperture has masks for bad actuators.

@mileslucas
Copy link
Contributor Author

mileslucas commented Nov 18, 2024

From in-person conversation with Emiel

  • add CAD/drawing for pupils
  • double check pupils match drawing
  • add plots to pupil tutorial

@ehpor ehpor self-requested a review November 19, 2024 22:49
@ehpor ehpor assigned ehpor and mileslucas and unassigned ehpor Nov 19, 2024
@ehpor ehpor added the enhancement New feature or request label Nov 19, 2024
@codecov
Copy link

codecov bot commented Nov 19, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 84.93%. Comparing base (eaebf7d) to head (1f80f52).
Report is 12 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #243      +/-   ##
==========================================
+ Coverage   84.82%   84.93%   +0.10%     
==========================================
  Files         104      104              
  Lines        8008     8057      +49     
==========================================
+ Hits         6793     6843      +50     
+ Misses       1215     1214       -1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ehpor
Copy link
Owner

ehpor commented Nov 20, 2024

Test failures are not due to this PR. Fixing in #246 and #245.

@ehpor ehpor mentioned this pull request Dec 5, 2024
12 tasks
@ehpor
Copy link
Owner

ehpor commented Jun 27, 2025

  • Rebased onto master. Fixed merge conflicts.
  • Fixed formatting of docstrings.
  • Squashed adding the reference pupils into a single commit to reduce the size of the hcipy repository.
  • Fixed existing flake8 errors.

@mileslucas Only waiting on a picture of a CAD drawing of the pupil and the HCIPy pupil fits file in DS9 next to it. Otherwise this is fully ready to go. If you're not allowed to share that, or if that's too much to ask, or if that's difficult (read: >5mins of work) to look up, then I'm fine with merging without that confirmation.

@mileslucas
Copy link
Contributor Author

Thanks, we got some drawings made for the pupils--for now just on Google Drive. I'll get the references checked and try and close this out next week.

@ehpor ehpor added this to the v0.7.0 release milestone Jul 8, 2025
@mileslucas
Copy link
Contributor Author

Okay, here is a reference for the SCExAO pupil mask: https://drive.google.com/file/d/1WddQr1quYshpPvvIbGt3hRzdmHnb4gT1/view?usp=drive_link

Here is a matplotlib figure generated via

import hcipy as hp
import matplotlib.pyplot as plt

pupil_grid = hp.make_pupil_grid(256, diameter=1)
aper = hp.make_scexao_aperture(normalized=True)
pupil = hp.Wavefront(hp.evaluate_supersampled(aper, pupil_grid, 8))
hp.plotting.imshow_pupil_phase(aper)

plt.savefig("test_pupil.pdf")

overlaid with 50% opacity on the mask CAD drawing.

Screenshot 2025-07-14 at 8 45 17 PM

@ehpor ehpor enabled auto-merge July 15, 2025 14:40
@ehpor ehpor merged commit 3e03cd7 into ehpor:master Jul 15, 2025
19 checks passed
@mileslucas
Copy link
Contributor Author

Thanks Emiel! I dragged my feet a bit and I appreciate you carrying this over the finish line.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants