Computational wave optics library for C++: CWO++ library
Department of Artificial Systems, Graduate School of Engineering, Chiba University, 1-33 Yayoi-cho, Inage-ku, Chiba, Chiba 263-8522, Japan
arXiv:1107.5578v1 [physics.optics] (27 Jul 2011)
@article{2011arXiv1107.5578S,
author={Shimobaba}, T. and {Tong Weng}, J. and {Sakurai}, T. and {Okada}, N. and {Nishitsuji}, T. and {Takada}, N. and {Shiraki}, A. and {Masuda}, N. and {Ito}, T.},
title={"{Computational wave optics library for C++: CWO++ library}"},
journal={ArXiv e-prints},
archivePrefix={"arXiv"},
eprint={1107.5578},
primaryClass={"physics.optics"},
keywords={Physics – Optics, Physics – Computational Physics},
year={2011},
month={jul},
adsurl={http://adsabs.harvard.edu/abs/2011arXiv1107.5578S},
adsnote={Provided by the SAO/NASA Astrophysics Data System}
}
Diffraction calculations, such as the angular spectrum method, and Fresnel diffractions, are used for calculating scalar light propagation. The calculations are used in wide-ranging optics fields: for example, computer generated holograms (CGHs), digital holography, diffractive optical elements, microscopy, image encryption and decryption, three-dimensional analysis for optical devices and so on. However, increasing demands made by large-scale diffraction calculations have rendered the computational power of recent computers insufficient. We have already developed a numerical library for diffraction calculations using a graphic processing unit (GPU), which was named the GWO library. However, this GWO library is not user-friendly, since it is based on C language and was also run only on a GPU. In this paper, we develop a new C++ class library for diffraction and CGH calculations, which is referred as to a CWO++ library, running on a CPU and GPU. We also describe the structure, performance, and usage examples of the CWO++ library.
July 29, 2011 by hgpu