Dear Ida,<br>It seems in this case activityrange.dat file contains the background value for each voxel and TAC file contains real activity in time.<br>though, you can at first disable the activityrange.dat file and secondly enable it and compare their results. one parameter for comparing this is total activity that can be seen in gate running page.<br>
<br>if you can't see head of scanner, maybe you defined scanner incorrect or disabled it's colors(if there is no error in output page).<br><br>regards.<br><br><br><div class="gmail_quote">2009/10/13 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;">Dear Ali,<br>thank you for your reply! I converted my binary files from 32bit floats to uint16 using matlab, and changed the header accordingly, and now I can run my simulation! Thank you! I do have another question though, and I can't get my head around it by only looking in the users guide. I also briefly asked this in my last post:<br>
<br>For the voxelized, dynamic source, why do you use BOTH a range translator and the TACs? From the users guide (page 112):<br>-----------------------------------------<br><span style="color: rgb(0, 102, 0);"># TIME ACTIVITY option</span><br style="color: rgb(0, 102, 0);">
<span style="color: rgb(0, 102, 0);">#</span><br style="color: rgb(0, 102, 0);"><span style="color: rgb(0, 102, 0);">/gate/source/voxel/interfileReader/rangeTranslator/readTable activityRange.dat</span><br style="color: rgb(0, 102, 0);">
<span style="color: rgb(0, 102, 0);">/gate/source/voxel/interfileReader/SetTimeActivityTablesFrom TimeActivity_Tables.dat</span><br style="color: rgb(0, 102, 0);"><span style="color: rgb(0, 102, 0);">.</span><br style="color: rgb(0, 102, 0);">
<span style="color: rgb(0, 102, 0);">.</span><br style="color: rgb(0, 102, 0);"><span style="color: rgb(0, 102, 0);">.</span><br style="color: rgb(0, 102, 0);"><span style="color: rgb(0, 102, 0);">The activityRange.dat is a text file where the user defines the label or pixel range value included</span><br style="color: rgb(0, 102, 0);">
<span style="color: rgb(0, 102, 0);">activity. In this ascii file example, we consider that the activity is define for voxel values 46 and 261. With no background activity in the voxel value 46 and 10 Bq/voxel for voxel value 261.</span><br style="color: rgb(0, 102, 0);">
<span style="color: rgb(0, 102, 0);">2</span><br style="color: rgb(0, 102, 0);"><span style="color: rgb(0, 102, 0);">46 46 0</span><br style="color: rgb(0, 102, 0);"><span style="color: rgb(0, 102, 0);">261 261 10</span><br style="color: rgb(0, 102, 0);">
<span style="color: rgb(0, 102, 0);">The TimeActivity_Tables.dat will define the TACs files which are associated to the voxel values</span><br style="color: rgb(0, 102, 0);"><span style="color: rgb(0, 102, 0);">defined in the previous data file.</span><br style="color: rgb(0, 102, 0);">
<span style="color: rgb(0, 102, 0);">2</span><br style="color: rgb(0, 102, 0);"><span style="color: rgb(0, 102, 0);">46 46 lesion.dat</span><br style="color: rgb(0, 102, 0);"><span style="color: rgb(0, 102, 0);">261 261 liver.dat</span><br>
------------------------------------- <br><br>What does it mean to for example set voxel value 261 to 10 Bq via the rangeTranslator, and then set voxel value 261 to the time activity curve described in liver.dat? Is the first (range.dat here) some start value? Shouldn't you just set the TAC for a given voxel since that gives the activity in Bq/voxel at time t?<br>
Thanks!<br>Ida<br><br><div class="gmail_quote">Den 12 oktober 2009 23.45 skrev AliAsghar Parach <span dir="ltr"><<a href="mailto:aaparach@gmail.com" target="_blank">aaparach@gmail.com</a>></span>:<div><div></div><div class="h5">
<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
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" target="_blank">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;">
<div><div></div><div>
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></div></div>_______________________________________________<br>
Gate-users mailing list<br>
<a href="mailto:Gate-users@lists.healthgrid.org" target="_blank">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><font color="#888888"><br><br clear="all"><br>-- <br>Ali Asghar Parach,Ph.D. student in Medical Physics,Tarbiat Modares University,Tehran,Iran<br>
</font></blockquote></div></div></div><br>
</blockquote></div><br><br clear="all"><br>-- <br>Ali Asghar Parach,Ph.D. student in Medical Physics,Tarbiat Modares University,Tehran,Iran<br>