Commit 4be3d7a0 authored by torsten.hopp's avatar torsten.hopp
Browse files

Update README.md until before mesh structure

parent 36678f4a
......@@ -117,37 +117,39 @@ raytracingBuilderWrapper()
- Output: none <br/>
## Helper Functions
## Debug and profiling functionality
### reformatProfile
Reformats profile data from nv_ray_tracing_basic output and labels the time for better association
Reformats the computation time profile data from the `nv_ray_tracing_basic` output and labels the time for better association. An examplary call looks like:
```matlab
[attenuationValues, profiling] = nv_ray_tracing_basic(detectorPositionCoordinates, faces, nodes, source, detectorSizeUint,attenuationCoefficentValues);
times = reformatProfile(profiling);
```
- Input:
- **profile**: profiling output from nv_ray_tracing_basic <br/>
- **profile**: profiling output from `nv_ray_tracing_basic` <br/>
- Output:
- **times**: labeled times in a 2xn array <br/>
- **times**: labeled times in a 2xn matrix <br/>
### printAll
Helper function to visualize and proof mesh, detector and source position and all or a certain ray
Function for visualizing the projection geometry. Plots the mesh, the detector and source positions and all or a certain ray. It thereby enables to visualize where the mesh is hit by the ray(s). Plots all inputs in a new figure.
```matlab
printAll(nodes,faces,source,detectors, 14327)
printAll(nodes, faces, source, detectors, detectorId)
```
-Input:
- **nodes**: equal to kernel nv_ray_tracing_basic<br/>
- **faces**: equal to kernel nv_ray_tracing_basic<br/>
- **source**: equal to kernel nv_ray_tracing_basic<br/>
- **detectors**: equal to kernel nv_ray_tracing_basic<br/>
- **detectorId**: id of a ray (from source to detectorId) if 0 or non value it plots every ray, to show the how the mesh gets hit by the rays. Id stands for linear index of detector.<br/>
- **nodes**: equal to `nv_ray_tracing_basic`<br/>
- **faces**: equal to `nv_ray_tracing_basic`<br/>
- **source**: equal to `nv_ray_tracing_basic`<br/>
- **detectors**: equal to `nv_ray_tracing_basic`<br/>
- **detectorId**: id of a ray (defined as the ray from source to a detector pixel given by its detectorId, i.e. the linear index of detector). If this parameter is 0 or empty, all rays are plotted.<br/>
Output: plots all inputs in one figure. One plot with detector, mesh, source and ray pops up
- Output: none
## Mesh structure
* For own mesh creation, in this work http://iso2mesh.sourceforge.net/cgi-bin/index.cgi was used.
## Note on mesh structure
* For meshing, we recommend the iso2mesh toolbox by _Fang_ [2]. The output format of this toolbox has been used for development of this work.
Currently the result is depending on the mesh structures. Meshes can be build diffrently. In our case we used the vol2mesh method from http://iso2mesh.sourceforge.net/cgi-bin/index.cgi to create the meshes. The result has two layers between region transitions, which means two triangles on the exact same positions. That is show in the picture with the red and inner black lines, which representing each a diffrent region. Then the ray always travels in and out of an material before it reachs the next on or an detector.
![Correct mesh structure. The inner mesh structures are double layered](./Data/Images/MeshStructure.svg)<br>
......@@ -187,3 +189,4 @@ It has the same size then _debugGen_ so for each ray, but it has a depth of 200
# References
[1] [Beer-Lambert law](https://en.wikipedia.org/wiki/Beer%E2%80%93Lambert_law)
[2] [iso2mesh Toolbox](http://iso2mesh.sourceforge.net/cgi-bin/index.cgi)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment