Skip to content

rodguti90/Article_PrecisionLimitTensorWFS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Reaching the precision limit with tensor-based wavefront shaping

© Rodrigo Gutiérrez Cuevas

Article_PrecisionLimitTensorWFS provides all the necessary code and examples to reproduce the results presented in the following work:

What is it?

This repository contains all the code to perform the main tensor operations, such as folding, unfolding, computing the n mode product with a matrix or vector. Likewise, it provides functions for computing the higher-order singular value decomposition, and rank-one tensor approximations through the alternating-least squares algorithm. It also provides examples on how the code is run to reproduce the results presented in the main manuscript.

Requirements

The code provided should be able to run in any standard machine with a working version of python and the following libraries:

  • Numpy
  • Scipy
  • functools
  • gc

For the optimization of the input and output projection modes:

  • torch

For plotting:

  • Matplotlib
  • colorsys

Installation guide

Simply download the codes and import the desired functions as shown in the provided Jupyter notebooks.

Demos and instructions for use

The following Jupyter notebooks provide detailed examples on how to run the code using the data for the main articles to reproduce all the results presented:

  1. TensorWFS.ipynb reproduces the results of the main manuscript. In particular, it shows how to use the tensor-based functions to optimize the Fisher information.
  2. TensorWFS_SI.ipynb reproduces the results of the supplementary information.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published