# What is the best way to store data for a model, loaded from DICOM-RT ion plan file?

**URL:** <https://discourse.slicer.org/t/what-is-the-best-way-to-store-data-for-a-model-loaded-from-dicom-rt-ion-plan-file/40545>\
**Category:** Development\
**Tags:** radiotherapy\
**Created:** [December 6, 2024, 12:27pm UTC](https://discourse.slicer.org/t/what-is-the-best-way-to-store-data-for-a-model-loaded-from-dicom-rt-ion-plan-file/40545 "2024-12-06T12:27:06Z")\
**Posts on this page:** 1\
**Page:** 1

<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:** [December 6, 2024, 12:27pm UTC](https://discourse.slicer.org/t/what-is-the-best-way-to-store-data-for-a-model-loaded-from-dicom-rt-ion-plan-file/40545/1 "2024-12-06T12:27:06Z")

</div>

Currently i’m working on loading and visualization of ion range compensator,  
which data is loaded from [DICOM-RT ion plan file](https://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_C.8.8.25.html). The compensator volume data taken from the dicom file are very similar to image parameters: rows, columns, pixel spacing, thickness data.

The compensator is going to be a square block or slab with a milled down center part of the block by a milling machine.

Typical amount of data isn’t very large, for rows=50 and columns=50, thickness data size is 2500 single precision digits.

What is best way to store the data for model visualization?

1. A class derived from vtkMRMLModelNode, and thickness data is stored as std::vector\< float \>.
2. A class derived from vtkMRMLModelNode, and thickness data is stored as observed vtkMRMLTableNode.
3. A loader member function which takes the data and creates a compensator model.
