nv_ray_tracing_basic: mex-interface for kernel call.

- Input: detectorPositionCoordinates: x,y,z coordinates of the detector as row vector. Format (n,3) where 1 = x, 2, = y, 3 = z and n diffrent detector positions

faces: IDs of the vertices from triangle. IDs refer to nodes which have the proper coordinates. Both together create the surfaces. Faces also save the region. The region safes the material information. Format: (n,4)

nodes: Coordinates for triangle vertices. Format (n,3) where 1 = x, 2, = y, 3 = z

source: Coordinates of the source. Format: (1,3) where 1 = x, 2, = y, 3 = z

detectorSizeUint: real size of detector. It defines the size of the outputpicture. Format (1,2) where 1 = numberOfPixelX, 1 = numberOfPixelY. Important: uint32 conversion

attenuationCoefficentValues: Attenuation coefficents for region. The first value will be mapped to region 1 of faces, second value will be mapped with region 2. etc. Format (1,n) n >= number of regions (every attenuation coefficient above number of regions has no effect)

- Output: attenuationValues: the result in format of detectorSizeUint(1)*detectorSizeUint(2). Wrapper will reformat to picture. See: attenuationCalculationWrapper

profiling: internal time measurement. It's not necessary for calculation but it does not effect the calculation time much, espacially for big problems.

Interfaces:<br/>

nv_ray_tracing_basic: mex-interface for kernel call.<br/>

- Input: detectorPositionCoordinates: x,y,z coordinates of the detector as row vector. Format (n,3) where 1 = x, 2, = y, 3 = z and n diffrent detector positions<br/>

faces: IDs of the vertices from triangle. IDs refer to nodes which have the proper coordinates. Both together create the surfaces. Faces also save the region. The region safes the material information. Format: (n,4)<br/>

nodes: Coordinates for triangle vertices. Format (n,3) where 1 = x, 2, = y, 3 = z<br/>

source: Coordinates of the source. Format: (1,3) where 1 = x, 2, = y, 3 = z<br/>

detectorSizeUint: real size of detector. It defines the size of the outputpicture. Format (1,2) where 1 = numberOfPixelX, 1 = numberOfPixelY. Important: uint32 conversion<br/>

attenuationCoefficentValues: Attenuation coefficents for region. The first value will be mapped to region 1 of faces, second value will be mapped with region 2. etc. Format (1,n) n >= number of regions (every attenuation coefficient above number of regions has no effect)<br/>

- Output: attenuationValues: the result in format of detectorSizeUint(1)*detectorSizeUint(2). Wrapper will reformat to picture. See: attenuationCalculationWrapper<br/>

profiling: internal time measurement. It's not necessary for calculation but it does not effect the calculation time much, espacially for big problems.<br/>

//debug

//debugMiss would be possible

attenuationCalculationWrapper: should be called for proper Beer-Lambert-calculation, because kernel does not execute exponantiell function, because it just offers single precision.

- Input: detectorPositionCoordinates: equal to kernel nv_ray_tracing_basic

faces: equal to kernel nv_ray_tracing_basic

nodes: equal to kernel nv_ray_tracing_basic

source: equal to kernel nv_ray_tracing_basic

detectorSizeUint: equal to kernel nv_ray_tracing_basic

attenuationCoefficentValues: equal to kernel nv_ray_tracing_basic

photons: initial photon number. Photon = 1 => result = attenuation value Photon != 1 => result = x-ray strength on detector

attenuationCalculationWrapper: should be called for proper Beer-Lambert-calculation, because kernel does not execute exponantiell function, because it just offers single precision.<br/>

- Input: detectorPositionCoordinates: equal to kernel nv_ray_tracing_basic<br/>

faces: equal to kernel nv_ray_tracing_basic<br/>

nodes: equal to kernel nv_ray_tracing_basic<br/>

source: equal to kernel nv_ray_tracing_basic<br/>

detectorSizeUint: equal to kernel nv_ray_tracing_basic<br/>

attenuationCoefficentValues: equal to kernel nv_ray_tracing_basic<br/>

photons: initial photon number. Photon = 1 => result = attenuation value Photon != 1 => result = x-ray strength on detector<br/>

- Output: attenuationValues: equal to kernel

attenuationPicture: attenuation values in format of picutre. Picture has the same size as defined with detectorSizeUint

- Output: attenuationValues: equal to kernel<br/>

attenuationPicture: attenuation values in format of picutre. Picture has the same size as defined with detectorSizeUint<br/>

easyExample: small example with projection image as result. It shows the process from voxel data to image.

- Input: exampleType: string which example should be shown. "test", "easy", "real"

buildDefault: is a build needed before? 0 = no build, 1 = build with default settings, see raytracingBuilderWrapper.

easyExample: small example with projection image as result. It shows the process from voxel data to image. <br/>

- Input: exampleType: string which example should be shown. "test", "easy", "real"<br/>

buildDefault: is a build needed before? 0 = no build, 1 = build with default settings, see raytracingBuilderWrapper.<br/>

- Output: figure with projection pops up

- Output: figure with projection pops up <br/>

raytracingBuilder: build for raytracing functions and shader. If vulkan is installed and the files has same relativ position, the build works from alone and raytracingBuilderWrapper can be used.

raytracingBuilder: build for raytracing functions and shader. If vulkan is installed and the files has same relativ position, the build works from alone and raytracingBuilderWrapper can be used.<br/>