How to manage anthropomorphic phantoms withGATEExample: in Geant4, for CT data, 1 CT voxel = 56...

19
Albertine Dubois IMNC – CNRS Orsay, France [email protected] Simon Stute SHFJ – CEA Orsay, France [email protected] Sebastien Jan SHFJ – CEA Orsay, France [email protected] GATE Training, INSTN-Saclay, October 2015 GATE Simulations of Preclinical andClinical Scans in Emission Tomography, Transmission Tomography and Radiation Therapy How to manage anthropomorphic phantoms with GATE

Transcript of How to manage anthropomorphic phantoms withGATEExample: in Geant4, for CT data, 1 CT voxel = 56...

Page 1: How to manage anthropomorphic phantoms withGATEExample: in Geant4, for CT data, 1 CT voxel = 56 bytes… Ten s of millions CT voxels = !!! Affect the efficiency of the tracking algorithm

Albertine DuboisIMNC – CNRSOrsay, France

[email protected]

Simon StuteSHFJ – CEA

Orsay, [email protected]

Sebastien JanSHFJ – CEA

Orsay, [email protected]

GATE Training, INSTN-Saclay, October 2015

GATESimulations of Preclinical andClinical Scans in Emission Tomography, Transmission Tomography and Radiation Therapy

How to manage anthropomorphicphantoms with GATE

Page 2: How to manage anthropomorphic phantoms withGATEExample: in Geant4, for CT data, 1 CT voxel = 56 bytes… Ten s of millions CT voxels = !!! Affect the efficiency of the tracking algorithm

GATE Training 2014, Saclay, France

GATESimulations of Preclinical andClinical Scans in Emission Tomography, Transmission Tomography and Radiation Therapy

General concept

2

Page 3: How to manage anthropomorphic phantoms withGATEExample: in Geant4, for CT data, 1 CT voxel = 56 bytes… Ten s of millions CT voxels = !!! Affect the efficiency of the tracking algorithm

� Use of voxelized phantoms or patient data as inhomogeneousanthropomorphic attenuation maps or emission sources so as to simulate realistic acquisitions

Purpose

3

Reading of various image file formats

Digital phantoms Clinical data

Required voxelized phantoms and voxelized sources

Reading of attenuation maps Reading of emission data

Page 4: How to manage anthropomorphic phantoms withGATEExample: in Geant4, for CT data, 1 CT voxel = 56 bytes… Ten s of millions CT voxels = !!! Affect the efficiency of the tracking algorithm

� Voxelized phantoms� AttenuationRange.dat file for the description� ASCII, Interfile, Analyze, MetaImage and

DICOM (coming soon) format images

Voxelized phantoms and sources

4

� Voxelized sources� ActivityRange.dat file for the description� ASCII or Interfile format images

ActivityRange.dat# Number of subdivisions6# Define the intervals and attach a correlated activity (in Bq)200 210 1.211 220 3.221 230 5.231 240 10.241 250 20.251 255 40.

AttenuationRange.dat# Number of subdivisions3# Define the intervals and attach a correlated material0 10 Air11 200 Water201 255 SpineBone

Page 5: How to manage anthropomorphic phantoms withGATEExample: in Geant4, for CT data, 1 CT voxel = 56 bytes… Ten s of millions CT voxels = !!! Affect the efficiency of the tracking algorithm

GATE Training 2014, Saclay, France

GATESimulations of Preclinical andClinical Scans in Emission Tomography, Transmission Tomography and Radiation Therapy

Voxelized phantoms

5

Page 6: How to manage anthropomorphic phantoms withGATEExample: in Geant4, for CT data, 1 CT voxel = 56 bytes… Ten s of millions CT voxels = !!! Affect the efficiency of the tracking algorithm

� Import digital phantom or patient data to voxelized geometry� Problem of memory consumption

Example: in Geant4, for CT data, 1 CT voxel = 56 bytes… Tens of millions CT voxels = !!!

� Affect the efficiency of the tracking algorithmComputation of the distance to the next boundary, search for the neighbouring voxels, particles stopped at each boundary…

Patient data, voxelized images

� Within GATE, 3 solutions adopted1. Parameterized volume (PV)2. Nested Parameterized Volume (NPV)3. Regionalized Volume (RV)

6

Page 7: How to manage anthropomorphic phantoms withGATEExample: in Geant4, for CT data, 1 CT voxel = 56 bytes… Ten s of millions CT voxels = !!! Affect the efficiency of the tracking algorithm

� Parameterized Volume (PV)� Each rectangular voxel is represented by the same

volume. At a given time, there is only one currentvolume and six neighbours which dimensions, location and composition are changed dynamically

(Nested) Parameterized Volume

7

� Nested Parameterized Volume (NPV)� Technique using PV and splitting the main 3D volume� Requires much less memory for geometry optimization

and gives much faster navigation for ultra-large number of voxels

+ PV approach limits memory access and consumption+ Geometrical operations are fast to compute- Geant4 forces the particle to stop at each boundary: artificialsteps for biomedical applications

0 1 2 3

0

1

Page 8: How to manage anthropomorphic phantoms withGATEExample: in Geant4, for CT data, 1 CT voxel = 56 bytes… Ten s of millions CT voxels = !!! Affect the efficiency of the tracking algorithm

� Regionalized Volume (RV)� CT images are segmented into multiple homogeneous regions (with

no density gradient greater than a user specified threshold)� A first image of homogeneous region is created: RV image� A voxelized image describing the patient is created and associated to

the RV image� The particles are tracked in the RV image

Regionalized Volume

8

+ Less boundaries, less steps, gain of CPU time

GATE example:1 million 6MV photonsField 5x5 cm2

One CPU 2.33 GHz

NPV RV

40 materials 13.5 min 5.1 min

7 materials 13.5 min 2.5 min

Page 9: How to manage anthropomorphic phantoms withGATEExample: in Geant4, for CT data, 1 CT voxel = 56 bytes… Ten s of millions CT voxels = !!! Affect the efficiency of the tracking algorithm

� GATE can read 3D images fromvarious image file formats

� Format is automatically definedfrom the extension� ASCII� Interfile format

header .h33 + raw image .i33� Analyze format

header .hdr + raw image .img� MetaImage format

header. mhd + raw image .raw� DICOM format (dcm)

Description of voxelized phantoms

9

!INTERFILE :=!GENERAL IMAGE DATA :=!type of data := Tomographic!total number of images := 16study date := 1997:11:28study time := 00:00:00imagedata byte order := LITTLEENDIAN!number of images/energy window := 16!process status := Reconstructed!matrix size [1] := 32!matrix size [2] := 32!number format := unsigned integer!number of bytes per pixel := 2scaling factor (mm/pixel) [1] := +8.8scaling factor (mm/pixel) [2] := +8.8!number of projections := 16!extent of rotation :=!time per projection (sec) := 0study duration (sec) := 0!maximum pixel count := +2.000000e+02patient orientation := head_inpatient rotation := supine!GENERAL DATA :=!data offset in bytes := 0!name of data file := brain_phantom.i33

Interfile format header

Page 10: How to manage anthropomorphic phantoms withGATEExample: in Geant4, for CT data, 1 CT voxel = 56 bytes… Ten s of millions CT voxels = !!! Affect the efficiency of the tracking algorithm

� Conversion into material definitionsWhen already defined in GateMaterials.db, appropriate material properties are assigned to each voxel encoded value using:

� Either a range translator (label values)

� Or a units to materials conversion descriptor (label or HU values)

Description of voxelized phantoms

10

40 0 Air false 0.0 0.0 0.0 0.24 4 Water true 1.0 0.0 1.0 0.25 5 Water true 0.0 1.0 0.0 0.214 15 SpineBone true 0.0 0.0 1.0 0.2

Number of materials

Range of encoded values(bits or segmented values)

Material Visibility RGB componentsEx: 1.0 � 100%

Transparency

0 1 Air1 4 Water4 6 Water6 15 SpineBone

MaterialRange of encoded values(bits or segmented values)

AttenuationRange.dat

AttenuationRange.dat

Page 11: How to manage anthropomorphic phantoms withGATEExample: in Geant4, for CT data, 1 CT voxel = 56 bytes… Ten s of millions CT voxels = !!! Affect the efficiency of the tracking algorithm

Description of voxelized phantoms

11

� Digital phantom or patient data can be read in as voxelizedattenuation geometries

� When a sensitive detector (phantomSD) is associated to thisphantom, the system can retrieve information about the Compton and Rayleigh interactions within this volume

Input data Result in ROOT after simulation

Attenuation map from digital Hoffman brain phantom

Translationto materialdefinition

Page 12: How to manage anthropomorphic phantoms withGATEExample: in Geant4, for CT data, 1 CT voxel = 56 bytes… Ten s of millions CT voxels = !!! Affect the efficiency of the tracking algorithm

Definition of voxelized phantoms

12

# VOXELIZED PHANTOM BASED ON THE HOFFMAN BRAIN PHANTOM/gate/world/daughters/name hof_brain

# INSERT THE NAVIGATION ALGORITHM THE MOST APPROPRIATE TO YOUR SIMULATION/gate/world/daughters/insert ImageRegularParametrisedVolume/gate/world/daughters/insert ImageNestedParametrisedVolume/gate/world/daughters/insert ImageRegionalizedVolume

# READ IMAGE (.h33 for Interfile, .mhd for MetaImage, .hdr for Analyze)/gate/hof_brain/geometry/setImage hof_brain_phantom.h33

# INSERT THE TRANSLATOR THAT WILL CONVERT THE IMAGE FROM DIGITAL VALUES TO # MATERIAL INFORMATION# RANGE TRANSLATOR (label values)/gate/hof_brain/geometry/setRangeToMaterialFile AttenuationRange.dat# UNITS TO MATERIAL CONVERSION DESCRIPTOR (label or HU values)/gate/hof_brain/geometry/setHUToMaterialFile AttenuationRange.dat

/gate/hof_brain/placement/setTranslation 0. 0. 0. mm/gate/hof_brain/placement/setRotationAxis 1 0 0/gate/hof_brain/placement/setRotationAngle 0 deg

/gate/hof_brain/attachPhantomSD

# FOR REGULAR PARAMETERIZED VOLUME ONLY. SPEED-UP NAVIGATION/gate/hof_brain/setSkipEqualMaterials 1

Page 13: How to manage anthropomorphic phantoms withGATEExample: in Geant4, for CT data, 1 CT voxel = 56 bytes… Ten s of millions CT voxels = !!! Affect the efficiency of the tracking algorithm

GATE Training 2014, Saclay, France

GATESimulations of Preclinical andClinical Scans in Emission Tomography, Transmission Tomography and Radiation Therapy

Voxelized sources

13

Page 14: How to manage anthropomorphic phantoms withGATEExample: in Geant4, for CT data, 1 CT voxel = 56 bytes… Ten s of millions CT voxels = !!! Affect the efficiency of the tracking algorithm

� Digital phantom or patient data can be read in as emission distribution� Activity levels used to determine the # of primary particles for each

voxel

Description of voxelized sources

14

� Conversion into activity valuesEach voxel of the grayscale image is converted into activity value using a range translation table

Input dataResult in ROOTafter simulation

Emission map from digital Hoffman brain phantom

Translationto activity

distribution

34 4 15 5 314 15 5

Number ofintervals

Intervalsdefinition

ActivityRange.dat

Activityattachedto eachinterval

Page 15: How to manage anthropomorphic phantoms withGATEExample: in Geant4, for CT data, 1 CT voxel = 56 bytes… Ten s of millions CT voxels = !!! Affect the efficiency of the tracking algorithm

Definition of voxelized sources

15

# VOXELIZED SOURCE BASED ON THE HOFFMAN BRAIN PHANTOM/gate/source/addSource hof_brain voxel/gate/source/hof_brain/reader/insert interfile

# INSERT THE TRANSLATOR THAT WILL CONVERT THE IMAGE FROM DIGITAL VALUES TO# ACTIVITY VALUES/gate/source/hof_brain/imageReader/translator/insert range/gate/source/hof_brain/imageReader/rangeTranslator/readTable ActivityRange.dat/gate/source/hof_brain/imageReader/rangeTranslator/describe 1

# READ IMAGE /gate/source/hof_brain/imageReader/readFile hof_brain_phantom.h33

# POSITION OF THE SOURCE (its default position is in the 1st quarter, so it has to be shifted over half its dimensions in the negative direction on each axis)/gate/source/hof_brain/setPosition -140.8 -140.8 -89.6 mm

# CHARACTERIZATION OF THE SOURCE (no difference with an analytical source) /gate/source/hof_brain/setType backtoback/gate/source/hof_brain/gps/particle gamma/gate/source/hof_brain/setForcedUnstableFlag true/gate/source/hof_brain/setForcedHalfLife 6586.2 s/gate/source/hof_brain/gps/energytype Mono/gate/source/hof_brain/gps/monoenergy 511. keV/gate/source/hof_brain/gps/angtype iso/gate/source/hof_brain/gps/confine NULL/gate/source/hof_brain/dump 1

Page 16: How to manage anthropomorphic phantoms withGATEExample: in Geant4, for CT data, 1 CT voxel = 56 bytes… Ten s of millions CT voxels = !!! Affect the efficiency of the tracking algorithm

GATE Training 2014, Saclay, France

GATESimulations of Preclinical andClinical Scans in Emission Tomography, Transmission Tomography and Radiation Therapy

Examples

16

Page 17: How to manage anthropomorphic phantoms withGATEExample: in Geant4, for CT data, 1 CT voxel = 56 bytes… Ten s of millions CT voxels = !!! Affect the efficiency of the tracking algorithm

Few examples of voxelized phantoms

17

Human body…

Rat brain

Rodents

Human brain

For each organ :• Material (µ(E))• Isotope (T1/2) andactivity concentration (Bq/ml(t))

Page 18: How to manage anthropomorphic phantoms withGATEExample: in Geant4, for CT data, 1 CT voxel = 56 bytes… Ten s of millions CT voxels = !!! Affect the efficiency of the tracking algorithm

Few examples of voxelized phantoms

18

Emission volume

Based on an MRI segmentation (Simplified Zubal description)- 14 labels- 2 tumors – Ø 8 mm (cerebellum & cortex/white matter)- Volume: [256, 256, 128]- Voxel: 1.1, 1.1, 1.4 mm3

Strategy to develop a phantom = 1 emission volume + 1 attenuation volume

Attenuation volume- 2 labels : bone & tissue- 2 matrix sizes

- Volume: [64, 64, 32]- Voxel: 4.4, 4.4, 5.6 mm3

- 131072 voxels

- Volume: [32, 32, 16]- Voxel: 8.8, 8.8, 11.2 mm3

- 16384 voxels

When attenuation is included in the simulation, the computing time can be substantially reduced by using bigger voxel size and smaller attenuation matrix size

Page 19: How to manage anthropomorphic phantoms withGATEExample: in Geant4, for CT data, 1 CT voxel = 56 bytes… Ten s of millions CT voxels = !!! Affect the efficiency of the tracking algorithm

Few examples of voxelized phantoms

19

Attenuation volume : CT acquisition

µ map for each structure (bone, soft tissue, air)

Emission volumePET FDG acquisition to define a 3D map for the

activity distribution

Phantom for simulationCoregistration