# Can itk read RTplan files？

**URL:** https://discourse.itk.org/t/can-itk-read-rtplan-files/5957
**Category:** Algorithms
**Tags:** dicom
**Created:** [May 19, 2023, 6:23am UTC](https://discourse.itk.org/t/can-itk-read-rtplan-files/5957 "2023-05-19T06:23:47Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![ma1282029525](https://discourse.itk.org/user_avatar/discourse.itk.org/ma1282029525/32/3084_2.png) [@ma1282029525](https://discourse.itk.org/u/ma1282029525)
#### Post date: [May 19, 2023, 6:23am UTC](https://discourse.itk.org/t/can-itk-read-rtplan-files/5957/1 "2023-05-19T06:23:47Z")

</div>

Can itk read RTplan files？I want get 300a 012c

---

<div class="post-metadata">

### Author: ![dzenanz](https://discourse.itk.org/user_avatar/discourse.itk.org/dzenanz/32/1093_2.png) [@dzenanz](https://discourse.itk.org/u/dzenanz)
#### Post date: [May 19, 2023, 1:48pm UTC](https://discourse.itk.org/t/can-itk-read-rtplan-files/5957/2 "2023-05-19T13:48:49Z")

</div>

@lassoan might be able to answer this.

---

<div class="post-metadata">

### Author: ![lassoan](https://discourse.itk.org/user_avatar/discourse.itk.org/lassoan/32/27_2.png) [@lassoan](https://discourse.itk.org/u/lassoan)
#### Post date: [May 20, 2023, 12:39am UTC](https://discourse.itk.org/t/can-itk-read-rtplan-files/5957/3 "2023-05-20T00:39:15Z")

</div>

DICOM tag `Isocenter Position` (300a, 012c) is embedded within a `Control Point Sequence` that is embedded within a `Beam Sequence`. [ITK’s DICOM metadata API](https://examples.itk.org/src/io/gdcm/readandprintdicomtags/documentation) does not seem to support retrieving fields from such complex structure (maybe @dzenanz can confirm), but you can use a DICOM toolkit (DCMTK, GDCM, pydicom, etc.) to get the values.

If you want to edit/create, visualize, RT beams, create DRRs, compute dose, etc. using ITK and related libraries, via interactive GUI or C++ or Python scripting then you may find 3D Slicer’s [SlicerRT extension](https://www.slicer.org/w/index.php/Documentation/Nightly/Extensions/SlicerRT) useful. Comes with free, restriction-free open-source license.

 ![image](https://discourse.itk.org/uploads/default/original/2X/9/9534f9c41c1fd38667a1628dfa0d62aa264aaf4e.jpeg)

---

<div class="post-metadata">

### Author: ![ma1282029525](https://discourse.itk.org/user_avatar/discourse.itk.org/ma1282029525/32/3084_2.png) [@ma1282029525](https://discourse.itk.org/u/ma1282029525)
#### Post date: [May 20, 2023, 12:50am UTC](https://discourse.itk.org/t/can-itk-read-rtplan-files/5957/4 "2023-05-20T00:50:36Z")

</div>

If I use slicerRT, do I have to use 3dSlicer? Can slicerRT be ported to my own program?

---

<div class="post-metadata">

### Author: ![lassoan](https://discourse.itk.org/user_avatar/discourse.itk.org/lassoan/32/27_2.png) [@lassoan](https://discourse.itk.org/u/lassoan)
#### Post date: [May 20, 2023, 4:47am UTC](https://discourse.itk.org/t/can-itk-read-rtplan-files/5957/5 "2023-05-20T04:47:58Z")

</div>

You can copy any part of Slicer or SlicerRT into your own program (Slicer and almost all its extension come with open-source license that allows you to use the code any way you want), but if you are building a desktop application related to medical image computing then you are most likely better off building your application based on Slicer (see [SlicerCAT](https://www.kitware.com/slicercat-creating-custom-applications-based-on-3d-slicer/)). You can also use Slicer via Python scripting or [REST API](https://slicer.readthedocs.io/en/latest/user_guide/modules/webserver.html#slicer-rest-api).

---

<div class="post-metadata">

### Author: ![ma1282029525](https://discourse.itk.org/user_avatar/discourse.itk.org/ma1282029525/32/3084_2.png) [@ma1282029525](https://discourse.itk.org/u/ma1282029525)
#### Post date: [May 20, 2023, 2:06pm UTC](https://discourse.itk.org/t/can-itk-read-rtplan-files/5957/6 "2023-05-20T14:06:37Z")

</div>

> [@lassoan](#):
>
> 您可以将 Slicer 或 SlicerRT 的任何部分复制到您自己的程

Thank you. I will try it later
