Dear Ida,<br>at first you should use attachvoxelPhantomSD (according to voxel_phantom example) instead of attachPhantomSD in definition of voxelPhantom.<br>secondly in interfile format for voxel_phantom it should be in the format of uint16 (GATE only recognize uint16 format in this case), you can do this with MATLAB or Xmedcon or other proper software.<br>
Finally, it seems your voxel_Phantom header file is incorrect. Only follow the header file in GATE Voxel_Phantom example. and change your phantom data (name,slices#,voxelsize,...).<br><br>Hope this help you.<br><br><div class="gmail_quote">
2009/10/12 Ida Häggström <span dir="ltr"><<a href="mailto:ida.haggstrom@radfys.umu.se">ida.haggstrom@radfys.umu.se</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi!<br><br>I'm trying to implement a dynamic voxelized source, but have run into some problems. I've followed the users guide, section 7.4 regarding how to set up my source/phantom, but I'm not successful. =( <br>
First of all, I have two time-activity curves (TACs), one for tissue and one for the heart. I want a simple phantom/source, a 4x4x4 voxel cube with the central 2x2x2 voxels corresponding to heart and the remaining outer voxels being tissue. The actual phantom/source (to the header file) is a 32bit binary image of the 4x4x4 voxels, voxel value 2 for the inner heart voxels and voxel value 1 for the outer tissue voxels. <br>
<br>One thing that confuses me in the users guide is that in the source macro, is that they call for both<i> activityRange.dat</i> and <i>TimeActivity_Tables.dat</i>. The first translates the voxel value to an activity, and the second contains the TACs for the different voxel values. Shouldn't you just use one of them? And further more, they add the "RTVPhantom". I cannot find anything about what this is in the guide, and no hits when I google it...<br>
<br>Anyway, when I run I get the error:<br><br><span style="color: rgb(255, 0, 0);"> creating a RTV Phantom at Address 0x8fb6ac0</span><br style="color: rgb(255, 0, 0);"><span style="color: rgb(255, 0, 0);"> The Object RTPhantom RTVPhantom is enabled.</span><br style="color: rgb(255, 0, 0);">
<span style="color: rgb(255, 0, 0);">GateRTPhantom::AttachToGeometry</span><br style="color: rgb(255, 0, 0);"><span style="color: rgb(255, 0, 0);"> GateRTPhantom::AttachToGeometry : The RTPhantom RTVPhantom is now ATTACHED to Inserter Object phantom : OK !!!</span><br style="color: rgb(255, 0, 0);">
<span style="color: rgb(255, 0, 0);"> Please set it before setting the base file name. Aborting.</span><br style="color: rgb(255, 0, 0);"><br style="color: rgb(255, 0, 0);"><span style="color: rgb(255, 0, 0);">*** G4Exception: Aborting execution ***</span><br style="color: rgb(255, 0, 0);">
<span style="color: rgb(255, 0, 0);">Gatedied with signal 6</span><br><br><br>All macros are found below. Thanks in advance for any suggestions! Any suggestions at all regarding implementing TACs into sources are very welcome!<br>
Ida<br><br><br>-------------------------------------------------------------------<br> phantom.mac<br>-------------------------------------------------------------------<br># P H A N T O M<br>#<br>
<br>/gate/world/daughters/name phantom<br>/gate/world/daughters/insert compressedMatrix<br><br>/gate/phantom/geometry/insertReader interfile<br>/gate/RTPhantom/insert RTVPhantom<br>/gate/RTVPhantom/AttachTo phantom<br><br>
/gate/RTVPhantom/setBaseFileName dynamicPhantom/phantom<br>/gate/RTVPhantom/setHeaderFileName dynamicPhantom/phantom_header.h33<br><br>/gate/RTVPhantom/SetNumberOfFrames 11<br>/gate/RTVPhantom/SetTimePerFrame 1 s<br><br>
/gate/phantom/interfileReader/insertTranslator range<br>
/gate/phantom/interfileReader/rangeTranslator/readTable dynamicPhantom/range.dat<br>/gate/phantom/interfileReader/rangeTranslator/describe 1<br>/gate/phantom/attachPhantomSD<br>/gate/phantom/placement/setTranslation 0. 0. 0. mm<br>
/gate/phantom/interfileReader/describe 1<br>-------------------------------------------------------------------<br> source.mac<br>-------------------------------------------------------------------<br># S O U R C E<br>
# <br>/gate/source/addSource voxelSource voxel<br>/gate/RTVPhantom/AttachToSource voxel<br><br>/gate/source/voxelSource/reader/insert interfile<br>/gate/source/voxelSource/interfileReader/translator/insert range<br>/gate/source/voxelSource/interfileReader/rangeTranslator/readTable dynamicPhantom/actRange.dat<br>
/gate/source/voxelSource/interfileReader/SetTimeActivityTablesFrom dynamicPhantom/TAC_table.dat<br>/gate/source/voxelSource/interfileReader/SetTimeSampling 1 s<br><br># The deafult position of the voxellized source is in the 1^{st}<br>
# quarter. So the voxellized source has to be shifted over half its<br># dimension in the negative direction on each axis<br>/gate/source/voxelSource/setPosition -40. -40. -40. mm<br><br>/gate/source/voxelSource/setType backtoback<br>
/gate/source/voxelSource/gps/particle gamma<br>/gate/source/voxelSource/gps/energytype Mono<br>/gate/source/voxelSource/setForcedUnstableFlag true<br>/gate/source/voxelSource/setForcedHalfLife 1223 s #Carbon-11<br>/gate/source/voxelSource/gps/monoenergy 511. keV<br>
/gate/source/voxelSource/gps/angtype iso<br>/gate/source/voxelSource/gps/mintheta 90. deg<br>/gate/source/voxelSource/gps/maxtheta 90. deg<br>/gate/source/voxelSource/gps/minphi 0. deg<br>/gate/source/voxelSource/gps/maxphi 360. deg<br>
/gate/source/voxelSource/gps/confine NULL #voxelPhantom_P<br><br>/gate/source/voxelSource/dump 1<br>/gate/source/list<br>------------------------------------------------------------------<br> phantom_header.h33<br>
------------------------------------------------------------------<br>!INTERFILE :=<br>!GENERAL DATA :=<br>!GENERAL IMAGE DATA :=<br>!type of data := PET<br>imagedata byte order := LITTLEENDIAN<br>!PET STUDY (General) :=<br>
!PET data type := Image<br>process status := Reconstructed<br>!number format := float<br>!number of bytes per pixel := 4<br>number of dimensions := 3<br>matrix axis label [1] := x<br>!matrix size [1] := 4<br>scaling factor (mm/pixel) [1] := 20<br>
matrix axis label [2] := y<br>!matrix size [2] := 4<br>scaling factor (mm/pixel) [2] := 20<br>matrix axis label [3] := z<br>!matrix size [3] := 4<br>scaling factor (mm/pixel) [3] := 20<br>image scaling factor[1] := 1<br>
data offset in bytes[1] := 0<br>
quantification units := 1<br>!END OF INTERFILE :=<br>------------------------------------------------------------------<br>
TACs.dat<br>
------------------------------------------------------------------<br>2<br>1 1 tissue.dat<br>2 2 heart.dat<br>------------------------------------------------------------------<br>
actRange.dat<br>
------------------------------------------------------------------<br>2<br>1 1 0<br>2 2 10<br>------------------------------------------------------------------<br>
tissue.dat<br>
------------------------------------------------------------------<br>11<br>0.0 0<br>1. 100<br>2. 200<br>3. 300<br>4. 500<br>5. 800<br>6. 900<br>7. 910<br>8. 920<br>9. 920<br>10 920<br>------------------------------------------------------------------<br>
heart.dat<br>
------------------------------------------------------------------<br>
11<br>0.0 0.0<br>1. 100<br>2. 200<br>3. 300<br>4. 500<br>5. 800<br>6. 1000<br>7. 700<br>8. 400<br>9. 200<br>10 100<br>
<br>_______________________________________________<br>
Gate-users mailing list<br>
<a href="mailto:Gate-users@lists.healthgrid.org">Gate-users@lists.healthgrid.org</a><br>
<a href="http://lists.healthgrid.org/mailman/listinfo/gate-users" target="_blank">http://lists.healthgrid.org/mailman/listinfo/gate-users</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Ali Asghar Parach,Ph.D. student in Medical Physics,Tarbiat Modares University,Tehran,Iran<br>