diff --git a/README.md b/README.md index 76fb417..350e0b8 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ pip install tensorflow-gpu==2.1 ``` ### Runtime Benckmarking: CPU vs GPU -Several runtime benchmarking scripts for iterative hologram generations algorithms are included in a separate foler `pySLM2/runtime_benchmark`. Instructions for running those tests can be found in [`pySLM2/runtime_benchmark/README.md`](pySLM2/runtime_benchmark/README.md). +Several runtime benchmarking scripts for iterative hologram generations algorithms are included in a separate folder `pySLM2/runtime_benchmark`. Instructions for running those tests can be found in [`pySLM2/runtime_benchmark/README.md`](pySLM2/runtime_benchmark/README.md). #### Runtime Benckmarking Example ##### Algorithm performance comparision: Intel Core i9-9900K CPU vs NVidia Quadro M4000 GPU @@ -78,7 +78,7 @@ These findings show that the iterative algorithms can be greatly accelerated by Optional Dependencies for Hardware Controls ------------------------------------------- `pySLM2.util` includes provides an universal interface for interacting with different SLM controllers from different vendors. -`pySLM2.util` itself doesn't implement the communication protocal. Instead, it relies on different libraries and wraps them with a universal interface. +`pySLM2.util` itself doesn't implement the communication protocol. Instead, it relies on different libraries and wraps them with a universal interface. ### Vialux The DMDs from Vialux are communicated with the ALP library and a python binding, ALP4lib. diff --git a/docs/algorithm.md b/docs/algorithm.md index 0fa6aa1..0280a05 100644 --- a/docs/algorithm.md +++ b/docs/algorithm.md @@ -17,7 +17,7 @@ For DMDs, use the method keyword argument in the `slm.calculate_dmd_state` funct ### `pySLM2.slm.LCOS_SLM.calculate_hologram` - `gs`: The Gerchberg-Saxton algorithm is an iterative phase retrieval process. The refined phase profile ideally would converge to the target phase profile after enough iterations. However, the convergence can be slow and is not guaranteed. [[1]](#ref1) When using this method, the user can use kwarg `N` to define number of iterations desired. -- `mraf`: The Mixed-Region Amplitude Freedom algorithm is an improved adpataion of the `gs` algorihtms which iteratively refines the phase profile within a specified signal window region. It improves the convergence within the signal window at the sacrifice of phase control in the outside region. [[2]](#ref2)[[7]](#ref7) When using this method, in addtion to `N`, user can also define `signal_window` as the region that needs correction, as well as `mixing_factor`, which is to adjust how much the outside region weighs in the correction. When `mixing_factor = 1`, no outside region is being weighted and correctino is only applied for signal window region. Suggested in [[2]](#ref2), the `mixing_factor` set to `0.4` typically yields the lowest RMS error. +- `mraf`: The Mixed-Region Amplitude Freedom algorithm is an improved adaption of the `gs` algorithms which iteratively refines the phase profile within a specified signal window region. It improves the convergence within the signal window at the sacrifice of phase control in the outside region. [[2]](#ref2)[[7]](#ref7) When using this method, in addition to `N`, user can also define `signal_window` as the region that needs correction, as well as `mixing_factor`, which is to adjust how much the outside region weighs in the correction. When `mixing_factor = 1`, no outside region is being weighted and correction is only applied for signal window region. Suggested in [[2]](#ref2), the `mixing_factor` set to `0.4` typically yields the lowest RMS error. ### `pySLM2.slm.DMD.calculate_dmd_state`