diff --git a/README.md b/README.md new file mode 100644 index 0000000..66838f9 --- /dev/null +++ b/README.md @@ -0,0 +1,73 @@ +# Resolution Limit of Single-Photon LiDAR +This is the MATLAB implementation of the paper **Resolution Limit of Single-Photon LiDAR** - CVPR 2024, by Stanley H. Chan, Hashan K. Weerasooriya, Weijian Zhang, Pamela Abshire and Istvan Gyongy and Robert K. Henderson. + + +Click on the corresponding link to +- [**Read the Paper and Supplementary Material**](https://arxiv.org/abs/2403.17719) +- [**Download the Data**](https://arxiv.org/abs/2403.17719) + + +![Main Figure](figs/Figure01_main_figure.png) + + +![Main Results](figs/Figure02_results_mse.png) + + + +## Requirements ## +- [x] This code has been tested on MATLAB 2023a + + +## Usage ## + +### MATLAB Scripts ### +- Figure02_matched_filter.m *Visualize the matched filter output*. +- Figure03_space_time.m *Visualize the effective return pulse due to obervating $\lambda(x,t)$ through $N$ pixels and pulse broadening due to slanting surfaces*. +- Figure05_1D_mse.m *Display the simulated and MSE calculation theroretical MSE calculation for the 1D case*. +- Figure06_1D_variance.m *Highlight the significance of the spatial term $c^2 \sigma_x^2$ +in variance calculation*. +- Figure07_2D_mse.m *Display the simulated and MSE calculation theroretical MSE calculation for the 2D case*. +- Figure08_******.m *Visualize the variation of the ML estimation for different spatial resolution and calculated and theoreteical MSE variation for the real 2D data*. +- Figure11_tau.m *Display the ground truth time of arrival function for the 1D case*. +- Figure12/13_bias_example.m *Show the limitations of the approximations for the bias term under different ground truth time of arrival function variations-smooth, stepwise, noisy*. +- Figure14_bias_update.m *Show how the updated theoretical estimate of the bias varies with noisy ground truth*. +- Figure16_sampling.m *Demonstrate how to use the inverse CDF to generate time stamps under different pulse shapes*. +- Figure17_18_sampling.m *Visualize the likelihood functions original likelihood and derivative of the original likelihood for any arbitrary pulse including Gaussian*. +- Figure19_noise_floor.m *Demonstrate that the MSE thoretical bound still holds for non zero noise floor instances*. +- Figure20_pile_up_1D.m *Show the variation of time stamp histogram under pile-up effect*. +- Figure21_pile_up_MSE.m *Display the MSE comparison in the presence of pile-up effect*. +- Figure22_2D_bias.m *Demonstrate how the bias term varies in the 2D case*. +- Figure23_2D_bias.m *Demonstrate how the variance term changes in the 2D case*. +- real_check_alpha0.m *Calculate the total pulse energy $\alpha_0$ for the static fan real dataset*. +- real_check_sigma_t.m *Calculate the pulse variance $\sigma_t$ for the static fan real dataset*. +- real_preprocess.m *Preprocess the timestamp data for the static fan real dataset*. + + + +### MATLAB functions ### + +- generate_time_stamps.m *Generate $M$ random timestamps following the provided pulse function $\lambda(t)$*. +- myLikelihood.m *Calculate negative log likelihood values for given set of time stamps when the pulse is Gaussian*. +- myLikelihood_dt.m *Calculate the derivative of the negative log likelihood at given set of time stamps when the pulse is Gaussian*. +- myLikelihood_general.m *Calculate the derivative of the negative log likelihood values for given set of time stamps for any given arbitrary pulse*. +- myLikelihood_general_dt.m *Calculate the derivative of the negative log likelihood at given set of time stamps and for any given arbitrary pulse*. + + + + +## arXiv Citation ## +If you find this paper to be valuable for your research, kindly consider citing our work. +``` +@misc{chan2024resolution, + title={Resolution Limit of Single-Photon LiDAR}, + author={Stanley H. Chan and Hashan K. Weerasooriya and Weijian Zhang and Pamela Abshire and Istvan Gyongy and Robert K. Henderson}, + year={2024}, + eprint={2403.17719}, + archivePrefix={arXiv}, + primaryClass={eess.SP} +} +``` + +## Contact Information ## +Please email *hweeraso@purdue.edu* if you have any difficulty replicating the results. +