Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Differentiable optical models as parameterised neural networks in Jax using Zodiax

License

NotificationsYou must be signed in to change notification settings

LouisDesdoigts/dLux

alt text

∂Lux

PyPI versionLicenseintegrationDocumentation

Differentiable Optical Models asParameterised Neural Networks in Jax using Zodiax

Contributors:Louis Desdoigts,Jordan Dennis,Adam Taras,Max Charles,Connor Langford,Benjamin Pope,Peter Tuthill

∂Lux is an open-source differentiable optical modelling framework harnessing the structural isomorphism between optical systems and neural networks, giving forwards models of optical systems asparametric neural networks.

∂Lux is built inZodiax, which is an open-source object-orientedJax framework built as an extension ofEquinox for scientific programming. This framework allows for the creation of complex optical systems involving many planes, phase and amplitude screens in each, and propagates between them in the Fraunhofer or Fresnel regimes. This enablesfast phase retrieval, image deconvolution, andhardware design in high dimensions. Because ∂Lux models are fully differentiable, you canoptimize them by gradient descent over millions of parameters; or useHamiltonian Monte Carlo to accelerate MCMC sampling. Our code is fully open-source under a 3-clause BSD license, and we encourage you to use it and build on it to solve problems in astronomy and beyond.

The ∂Lux framework is built inZodiax, which gives it a deep range of capabilities from bothJax andEquinox:

For an overview of these capabilities and different optimisation methods inZodiax, please go through thisZodiax Tutorial.

Documentation:https://louisdesdoigts.github.io/dLux/

Requires: Python 3.10+, Jax 0.4.13+, Zodiax 0.4+

Installation:pip install dLux

If you want to run the tutorials locally, you can install the 'extra' dependencies like so:pip install 'dLux[extras]'

Collaboration & Development

We are always looking to collaborate and further develop this software! We have focused on flexibility and ease of development, so if you have a project you want to use ∂Lux for, but it currently does not have the required capabilities, have general questions, thoughts or ideas, don't hesitate toemail me or contact me ontwitter! More details about contributing can be found in ourcontributing guide.

Publications

We have a multitude of publications in the pipeline using dLux, some built from our tutorials. To start we would recommend looking atthis invited talk on ∂Lux which gives a good overview and has an attached recording of it being presented! We also havethis poster!


[8]ページ先頭

©2009-2025 Movatter.jp