Beam Corset is a Gaussian optics mode matching tool made for use in Jupyter notebooks.
- Lens placement in multiple shifting regions
- Ensure minimal distances between lenses
- Constrain beam radius to ensure the beam fits through apertures
- Account for existing fixed lenses
- Detailed reachability and sensitivity analysis of solutions
Install from PyPI:
pip install beam-corsetTip
Try Beam Corset in your browser with JupyterLite!
- Documentation: https://lkies.github.io/corset
- Source Code: https://github.com/lkies/corset
- Issue Tracker: https://github.com/lkies/corset/issues
- PyPI: https://pypi.org/project/beam-corset/
- JupyterLite: https://lkies.github.io/corset/jp-lite
This project is managed and built using Pixi, see their documentation for more information on dependency management and other features. To install the development environment for usage in Jupyter notebooks, run:
pixi install -e devThe pyproject.toml file defines the following tasks:
build: Build the packagepublish: Publish the package to PyPIbuild-docs: Build the documentationbuild-jp-lite: Build the JupyterLite instance for the documentation (does not work properly on Windows)pages: Executesbuild-docsandbuild-jp-liteto build the web pages for GitHub Pages
Tasks can be executed with:
pixi run [task]They will automatically be executed in their correct Python environment. Note that this only works if no environment has been activated with pixi shell -e [env].
To prevent committing notebook outputs to the repository and producing unnecessary diffs, set up the appropriate filters with the following shell commands.
git config filter.strip-notebook-output.clean 'pixi run -e dev jupyter nbconvert --ClearOutputPreprocessor.enabled=True --to=notebook --stdin --stdout --log-level=ERROR'
git config filter.strip-notebook-output.smudge cat
git config filter.strip-notebook-output.required true