IBFest is the research code for ion beam figuring (IBF) system for synchrotron X-ray mirrors designed and developed by the Optical Metrology and Fabrication Group at National Synchrotron Light Source II (NSLS-II), NY, US.
- Rectangular surface error map simulation using 2D Lengendre polynomials
- 2D Beam Removal Function (BRF) fittintg and learning
- Dwell time calculation algorithms
- Fourier domain methods
- Bayesian iterative method [4]
- Fourier transform + Inverse filtering [2]
- Robust Iterative Fourier Trasform-based dwell time Algorithm (RIFTA) [8, 9]
- Matrix-based methods
- Truncated SVD (TSVD) [3]
- LSQR [1, 5]
- Constrained Linear Least Squares (CLLS) + Coarse-to-Fine scheme [6, 7]
- Fourier domain methods
- Thresholded inverse filtering assisted by Nelder-Mead Simplex algorithm [9]
- High-performance 2D convolution using FFT
Note:
- The CLLS algorithm applies 'active-set' algorithm to solve the CLLS equations. This function has been removed from MATLAB since 2016b. This algorithm is preferred since it converges faster than the other two.
- All the units used in the code are metres unless otherwise specified.
- To properly run the TSVD, make sure the computer has at least 16GB RAM since SVD consumes a lot memory.
The common arguments that are required for IBFest dwell time calculation include:
- Beam Removal Function (BRF): the BRF can come from either the measurement or model, by choosing
avg
ormodel
, respectively. If 'model' is chosen, the parameters for a 2D Gaussian should be set, includeing the Peak Removal Rate (PRR)A
, theSigma
, the diameterd
, and the centersu
. If 'avg' is chosen,X_brf
,Y_brf
, andZ_brf
should be provided. - Z_to_remove: the desired height to be removed.
- ca_range: the range of the Clear Aperture (CA), which is a struct contains
x_s
,y_s
,x_e
, andy_e
, which are the start and end coordinates (units are meters) of the CA. - dw_range: the range of the DWell grid (DW), which should be larger than ca_range at least the radius of the BRF on each side.