OCT-MPS

所属分类:GPU/显卡
开发工具:Cuda
文件大小:3990KB
下载次数:0
上传日期:2018-03-18 15:37:52
上 传 者sh-1993
说明:  光学相干层析成像(OCT-MPS)大规模并行模拟器
(Massively Parallel Simulator of Optical Coherence Tomography (OCT-MPS))

文件列表:
CMakeLists.txt (1025, 2018-03-18)
Dockerfile (5227, 2018-03-18)
LICENSE (1066, 2018-03-18)
data (0, 2018-03-18)
data\input (0, 2018-03-18)
data\input\ellipsoid_and_two_spheres (0, 2018-03-18)
data\input\ellipsoid_and_two_spheres\ellipsoid_and_two_spheres_60_degree.geo (681, 2018-03-18)
data\input\ellipsoid_and_two_spheres\ellipsoid_and_two_spheres_60_degree.mesh (859724, 2018-03-18)
data\input\ellipsoid_and_two_spheres\input_bias.json (325, 2018-03-18)
data\input\ellipsoid_and_two_spheres\input_opt.json (391, 2018-03-18)
data\input\four_layers (0, 2018-03-18)
data\input\four_layers\four_layers.mesh (305334, 2018-03-18)
data\input\four_layers\input_bias.json (332, 2018-03-18)
data\input\four_layers\input_opt.json (384, 2018-03-18)
data\input\small_ellipsoid (0, 2018-03-18)
data\input\small_ellipsoid\input_bias.json (326, 2018-03-18)
data\input\small_ellipsoid\input_opt.json (295, 2018-03-18)
data\input\small_ellipsoid\small_ellipsoid.geo (255, 2018-03-18)
data\input\small_ellipsoid\small_ellipsoid.mesh (202535, 2018-03-18)
data\input\small_ellipsoid\small_ellipsoid_for_view.geo (256, 2018-03-18)
data\input\small_sphere (0, 2018-03-18)
data\input\small_sphere\input_bias.json (326, 2018-03-18)
data\input\small_sphere\input_opt.json (293, 2018-03-18)
data\input\small_sphere\sphere.geo (431, 2018-03-18)
data\input\small_sphere\sphere.mesh (144728, 2018-03-18)
data\input\wang_bump (0, 2018-03-18)
data\input\wang_bump\input_bias.json (326, 2018-03-18)
data\input\wang_bump\input_opt.json (727, 2018-03-18)
data\input\wang_bump\wang_bump.geo (922, 2018-03-18)
data\input\wang_bump\wang_bump.mesh (1018214, 2018-03-18)
docs (0, 2018-03-18)
docs\ClassII_BScan.png (95035, 2018-03-18)
docs\ClassI_BScan.png (58235, 2018-03-18)
docs\Mesh_Object.jpg (74061, 2018-03-18)
include (0, 2018-03-18)
include\boost_utils.hpp (486, 2018-03-18)
include\cuda_rng.cuh (563, 2018-03-18)
... ...

![Mesh Object](https://github.com/SiavashMT/OCT-MPS/blob/master/docs/Mesh_Object.jpg) ![ClassI BScan](https://github.com/SiavashMT/OCT-MPS/blob/master/docs/ClassI_BScan.png) ![ClassII BScan](https://github.com/SiavashMT/OCT-MPS/blob/master/docs/ClassII_BScan.png) # Massively Parallel Simulator of Optical Coherence Tomography of Inhomogeneous Turbid Media OCT-MPS is a massively parallel simulator of optical coherence tomography (OCT) of inhomogeneous turbid media that obtains both Class I diffusive reflectance, due to ballistic and quasi-ballistic scattered photons, and Class II diffusive reflectance due to multiple scattered photons. This Monte Carlo-based simulator is implemented on graphic processing units (GPUs) to exploit the parallel nature of propagation of photons in tissue. It models an arbitrary shaped object as a tetrahedron-based mesh and uses an advanced importance sampling scheme. This new simulator speeds up simulations of OCT of inhomogeneous turbid media by at least one order of magnitude, therefore it is considerably more practical to use than its central processing unit (CPU)-based counterpart. ## Usage To use the OCT-MPS you should pass the opt input json file, containing optical properties of regions, the mesh file (.mesh) and the bias json file as the input to the program as follows: ``` python ./src/python/octmps_main.py --input-opt-json-file \ --input-bias-json-file \ --input-mesh-file <.mesh file> --visualize ``` ### Example ``` python ./src/python/octmps_main.py \ --input-opt-json-file ./data/input/ellipsoid_and_two_spheres/input_opt.json \ --input-bias-json-file ./data/input/ellipsoid_and_two_spheres/input_bias.json \ --input-mesh-file ./data/input/ellipsoid_and_two_spheres/ellipsoid_and_two_spheres_60_degree.mesh \ --visualize ``` ## Generating Mesh File To generate OCT-MPS input mesh file, you can use [Netgen](https://github.com/SiavashMT/OCT-MPS/blob/master/https://ngsolve.org/). First you need to install Netgen. Once Netgen is installed you can create mesh file using the python script in utils/mesh_generator.py. ###Example: ``` python3 mesh_generator.py --geo_file=../../input/wang_bump/wang_bump.geo --output_mesh_file=test.mesh ``` ## Authors Siavash Malektaji, Ivan T. Lima Jr., Mauricio R. Escobar I., Sherif S. Sherif ## License See [LICENSE](https://github.com/SiavashMT/OCT-MPS/blob/master/LICENSE). ## References If you use this software in a scientific publication, please cite the following papers: [Siavash Malektaji, Ivan T. Lima, Sherif S. Sherif, "Monte Carlo simulation of optical coherence tomography for turbid media with arbitrary spatial distributions," J. Biomed. Opt. 19(4) 046001 (2 April 2014)](https://github.com/SiavashMT/OCT-MPS/blob/master/https://www.spiedigitallibrary.org/journals/Journal-of-Biomedical-Optics/volume-19/issue-4/046001/Monte-Carlo-simulation-of-optical-coherence-tomography-for-turbid-media/10.1117/1.JBO.19.4.046001.full) [Siavash Malektaji, Ivan T. Lima, Mauricio R.Escobar I, Sherif S.Sherif, "Massively parallel simulator of optical coherence tomography of inhomogeneous turbid media," Computer Methods and Programs in Biomedicine, Volume 150, 2017, Pages 97-105](https://github.com/SiavashMT/OCT-MPS/blob/master/https://www.sciencedirect.com/science/article/pii/S0169260716303091) OCTMPS is witten based on the following papers/codes: [1] (MCML) L.-H. Wang, S. L. Jacques, and L.-Q. Zheng, "MCML - Monte Carlo modeling of photon transport in multi-layered tissues\", Computer Methods and Programs in Biomedicine, 47,131-146, 1995. [2] (TIM-OS) H. Shen and G. Wang. "Tetrahedron-based inhomogeneous Monte-Carlo optical simulator." Phys. Med. Biol. 55:947-962, 2010. [3] (CUDAMCML) Alerstam, Erik, Tomas Svensson, and Stefan Andersson-Engels. "Parallel computing with graphics processing units for high-speed Monte Carlo simulation of photon migration. Journal of biomedical optics 13.6 (2008): 060504-060504.

近期下载者

相关文件


收藏者