Skip to content

Conversation

@gotten
Copy link

@gotten gotten commented Nov 17, 2025

First two notebooks generate PSFs with HEEPS and form an input datacube by convolving a Gaussian disk with the PSFs and adding field rotation.

This cube is used as input for Scopesim which generates images with instrumental and background noise.
This data is then RDI and ADI processed with VIP.

@GillesOrban
Copy link
Collaborator

Thanks Gilles for this PR. I have a couple of suggestions for improvement:

  • To have up-to-date simulations, could you update your HEEPS configuration (you will have the latest pupil masks) and re-run the notebooks

  • Notebook 0 and 1. (sources/) : I would suggest to merge them. In particular, notebook 0. is redundant with demo.ipynb, and while it is self-consistent to have it here, I think it does not deserve a notebook in itself. Also I would suggest to add a little bit more explanations and illustrations: e.g. you could illustrate the disk source and explain the ratio between disk and on-axis source (10^(-0.4*3) …) in an introduction text block.

  • Notebook 2 (scopesim/ )

    • agpm_trans is not a pupil transmission, but the diamond transmission of the focal (vortex) phase mask. This transmission (among others, like Lyot stop transmission, etc.) is taken into account by HEEPS. In fact, the total flux of off_axis_psf is smaller than 1 and represent the total off-axis transmission, depending on the observing mode you have setup for the simulation.
    • Remove the variable lyot_stop and apo_trans : the variables are not used as far as I see, and any transmission effect is taken into account by off_axis_psf.fits
    • Would it be possible to have more information and explanation on the ScopeSim part, to make the notebook a bit more like a tutorial. Maybe you could also slice it up in more logical code blocks. I feel this is still for ‘expert-only’ at the moment.
  • Notebook 3:
    As far as I can see, you are not using the OAT curve when you do the median subtraction (ADI post-processing), and it would be more correct to do so. You can use the transmission kwarg of the VIP median_sub function. You can also check the HEEPS cc_adi.py function to see how the OAT is used.

I hope this sounds reasonable to you. We can also discuss this next week in person.
Thanks again for the PR.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants