Skip to content

lkies/corset

Repository files navigation

Beam Corset

Beam Corset is a Gaussian optics mode matching tool made for use in Jupyter notebooks.

Key Features

  • 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

Installation

Install from PyPI:

pip install beam-corset

Tip

Try Beam Corset in your browser with JupyterLite!

Links

Information for Developers

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 dev

The pyproject.toml file defines the following tasks:

  • build: Build the package
  • publish: Publish the package to PyPI
  • build-docs: Build the documentation
  • build-jp-lite: Build the JupyterLite instance for the documentation (does not work properly on Windows)
  • pages: Executes build-docs and build-jp-lite to 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

About

Beam Corset - A Gaussian optics mode matching tool

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages