RTK/Meetings/TrainingNov15

From Openrtk
Revision as of 05:38, 26 October 2015 by Cyril.mory (talk | contribs)
Jump to navigation Jump to search

Here is a list of the RTK command lines you will have to run during the training, along with the data you will need. To start, download the following CT data and a relevant Cone-Beam CT geometry file.

Forward projection

To forward project the CT volume, following the geometry described in geometry.xml, run

 rtkforwardprojections -i muCT.mha -o projections.mha -g geometry.xml

Look at the result using vv

 vv projections.mha

There are as many projections as described in the geometry.xml file. You can edit the geometry.xml file, remove all projections except one, and try again. Such a modified geometry file is available here. Run the following command line

 rtkforwardprojections -i muCT.mha -o singleProjection.mha -g singleProjectionGeometry.xml

You can check with vv that the file contains only one projection

 vv singleProjection.mha

Back projection

Start by back projecting a single projection. Run

 rtkbackprojections -p . -r singleProjection.mha -o singleBackProjection.mha -g singleProjectionGeometry.xml

Observe the result with vv

 vv singleBackProjection.mha

As you can see, the projection data seems to be smeared into the volume. Now back project all projections, by running

 rtkbackprojections -p . -r projections.mha -o backProjection.mha -g geometry.xml

Look at the result with vv. In order to compare it with the original image, run

 vv backProjection.mha muCT.mha --linkall

Click in one of the display windows, hit 'Ctrl + G' to center the view on the tumor. Hit 'w' to automatically compute reasonable window and level values. You can navigate between "muCT.mha" and "backProjection.mha" by hitting the 'Tab' key.

Using different forward and back projection algorithms

Both rtkforwardprojections and rtkbackprojections can use several algorithms to perform the forward or back projections. For forward projections, you can try the following command lines

 rtkforwardprojections -i muCT.mha -o josephProjections.mha -g geometry.xml --fp Joseph
 rtkforwardprojections -i muCT.mha -o rayCastInterpolatorProjections.mha -g geometry.xml --fp RayCastInterpolator

And for back projection

 rtkbackprojections -p . -r projections.mha -o voxelBasedBackProjection.mha -g geometry.xml --bp VoxelBasedBackProjection
 rtkbackprojections -p . -r projections.mha -o josephBackProjection.mha -g geometry.xml --bp Joseph
 rtkbackprojections -p . -r projections.mha -o normalizedJosephBackProjection.mha -g geometry.xml --bp NormalizedJoseph

If you have a CUDA-capable graphics card, and have compiled RTK with RTK_USE_CUDA=ON, you can also try the following

 rtkforwardprojections -i muCT.mha -o cudaRayCastProjections.mha -g geometry.xml --fp CudaRayCast
 rtkbackprojections -p . -r projections.mha -o cudaRayCastBackProjection.mha -g geometry.xml --bp CudaRayCast
 rtkbackprojections -p . -r projections.mha -o cudaBackProjection.mha -g geometry.xml --bp CudaBackProjection