# How to convert CT liver volume to 2d X ray using Drr generation in 3d slicer

**URL:** <https://discourse.slicer.org/t/how-to-convert-ct-liver-volume-to-2d-x-ray-using-drr-generation-in-3d-slicer/37445>\
**Category:** Support\
**Created:** [July 18, 2024, 9:17am UTC](https://discourse.slicer.org/t/how-to-convert-ct-liver-volume-to-2d-x-ray-using-drr-generation-in-3d-slicer/37445 "2024-07-18T09:17:41Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![ebin1234](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/ebin1234/32/70096_2.png) [@ebin1234](https://discourse.slicer.org/u/ebin1234)\
**Post date:** [July 18, 2024, 9:17am UTC](https://discourse.slicer.org/t/how-to-convert-ct-liver-volume-to-2d-x-ray-using-drr-generation-in-3d-slicer/37445/1 "2024-07-18T09:17:41Z")

</div>

Hello, I have doubt about using drr generation in 3d slicer.I am attaching the result I got after using DRR generation. What are the parameters I have to set for proper display of the 2d Xray image in 2d views?.

 ![CT-LIVER](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/d/1/d15bd839ecbdd98fc838c28cbd9a1aa3b7497feb.jpeg)

---

<div class="post-metadata">

**Author:** ![Mik](https://avatars.discourse-cdn.com/v4/letter/m/958977/32.png) [@Mik](https://discourse.slicer.org/u/Mik)\
**Post date:** [July 19, 2024, 9:59am UTC](https://discourse.slicer.org/t/how-to-convert-ct-liver-volume-to-2d-x-ray-using-drr-generation-in-3d-slicer/37445/2 "2024-07-19T09:59:28Z")

</div>

Have you tried to use [`DRR Image Computation`](https://github.com/SlicerRt/SlicerRT/blob/master/Docs/user_guide/modules/drr.md) module which is a also a part of SlicerRT extension? It has an additional markups elements that visualize imager, normal and view-up vectors, but you have to setup a dummy RTplan and RTBeam nodes in order to use that module properly.

Or you cat to use a python script below, where `isocenterPosition` variable is RAS coordinates of the beam isocenter.

```python
# Create dummy plan
rtImagePlan = slicer.mrmlScene.AddNewNodeByClass( 'vtkMRMLRTPlanNode', 'rtImagePlan')
# Create RTImage dummy beam
rtImageBeam = slicer.mrmlScene.AddNewNodeByClass( 'vtkMRMLRTBeamNode', 'rtImageBeam')
# Set required beam parameters 
rtImageBeam.SetGantryAngle(90.)
rtImageBeam.SetCouchAngle(12.)
# Add beam to the plan
rtImagePlan.AddBeam(rtImageBeam)
# Get CT volume
ctVolume = slicer.mrmlScene.GetFirstNodeByClass('vtkMRMLScalarVolumeNode')
# Set and observe CT volume by the plan
rtImagePlan.SetAndObserveReferenceVolumeNode(ctVolume)

# Set required isocenter position as a point
rtImagePlan.SetIsocenterSpecification(slicer.vtkMRMLRTPlanNode.ArbitraryPoint)
isocenterPosition = [-1., -2., -3.]
if (rtImagePlan.SetIsocenterPosition(isocenterPosition)):
  print('New isocenter position is set')

# Create DRR image computation node for user imager parameters
rtImageParameters = slicer.mrmlScene.AddNewNodeByClass('vtkMRMLDrrImageComputationNode', 'rtImageBeamParams')
# Set and observe RTImage beam by the DRR node
rtImageParameters.SetAndObserveBeamNode(rtImageBeam)
# Set required DRR parameters
rtImageParameters.SetHUThresholdBelow(50)
# Get DRR computation logic
drrLogic = slicer.modules.drrimagecomputation.logic()
# Update imager markups for the 3D view and slice views (optional)
drrLogic.UpdateMarkupsNodes(rtImageParameters)
# Update imager normal and view-up vectors (mandatory)
drrLogic.UpdateNormalAndVupVectors(rtImageParameters) # REQUIRED
# Compute DRR image
drrLogic.ComputePlastimatchDRR( rtImageParameters, ctVolume)

```

---

<div class="post-metadata">

**Author:** ![Mik](https://avatars.discourse-cdn.com/v4/letter/m/958977/32.png) [@Mik](https://discourse.slicer.org/u/Mik)\
**Post date:** [July 19, 2024, 10:06am UTC](https://discourse.slicer.org/t/how-to-convert-ct-liver-volume-to-2d-x-ray-using-drr-generation-in-3d-slicer/37445/3 "2024-07-19T10:06:43Z")

</div>

> [@ebin1234](#):
>
> What are the parameters I have to set for proper display of the 2d Xray image in 2d views?.

After successful DRR image calculation you can click on the `Rotate to volume plane` button,

![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/7/1/71348837ae2ee244d6b9fd387d96a4da7b46300c.png)

and when `Reset field of view` button.

 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/5/b/5b1d55af5702a583d3f913b16fc11e37788864b2.png)
