<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hello everybody, <br>
    <br>
    I am trying to calculate the F-18 absorbed dose for a real patient
    using a voxel 3D CT image  and a heterogeneous cumulated activity
    voxel map. Using the dose actor I obtain as an output the EDep map
    and the Dose map which I normalized for the number of events
    simulated to obtain the EDep (or dose) map per event. <br>
    In order to calculate the total absorbed dose I then multiply these
    maps (EDep or Dose Map) for the total cumulated activity, that is
    the sum of all the voxel values of the image I use as a source.<br>
    When I use these maps to calculate the absorbed dose to an organ I
    can't obtain the value I expect. <br>
    The 2 maps (EDep or Dose Map) give the same result, but it's not the
    expected result (obtained from a reference code). The difference is
    of a few orders of magnitude. <br>
    <br>
    Has anyone performed a similar simulation? <br>
    How do you perform the absorbed dose normalization?<br>
    I can't figure it out if the problem is in the simulation approach
    or in the source normalization, so I put below the relevant parts of
    my code.<br>
    <br>
    Thanks for your help, <br>
    <br>
    Sara Marcatili<br>
    Postdoc at INSERM, <br>
    Toulouse, France.<br>
    <br>
    -----------------------------------------------------------<br>
    In order to restrain the possible source of error I used a uniform
    water voxel phantom instead of the CT image.<br>
    These are the details of my simulation:<br>
    <br>
    1) I define the voxel water phantom this way:<br>
    <br>
    <blockquote>/gate/world/daughters/name patient<br>
      /gate/world/daughters/insert   compressedMatrix<br>
      <br>
      /gate/patient/geometry/insertReader interfile<br>
      /gate/patient/interfileReader/insertTranslator range<br>
      /gate/patient/interfileReader/rangeTranslator/readTable
      /myabsoulutepath/data/CT_att.dat<br>
      /gate/patient/interfileReader/rangeTranslator/describe 1<br>
      /gate/patient/interfileReader/readFile
      /myabsoulutepath/data/Patient1.iff<br>
    </blockquote>
    <br>
    where the Patient1.iff file is a 3D matrix of 1 (UInt 16 little
    endian) and the CT_att.dat file contains only 1 material (Water). <br>
    <br>
    2) Then I define my Voxel Source as:<br>
    <br>
    <blockquote>/gate/source/addSource positron voxel<br>
      <br>
      /gate/source/positron/reader/insert interfile<br>
      /gate/source/positron/interfileReader/translator/insert linear<br>
      /gate/source/positron/interfileReader/linearTranslator/setScale 1.
      Bq<br>
      /gate/source/positron/interfileReader/readFile
      /myabsoulutepath/data/Source1.iff<br>
    </blockquote>
    <blockquote># source translation<br>
      /gate/source/positron/setPosition   -243.1 -243.1 -486.2 mm  <br>
    </blockquote>
    <br>
    where the Source1.iff file is a 3D matrix of heterogeneous activity
    (UInt 16 little endian).<br>
    <br>
    3) The dose actor I used is a standard one:<br>
    <br>
    <blockquote>/gate/actor/addActor                              
      DoseActor  doseDistribution<br>
      /gate/actor/doseDistribution/attachTo                  patient<br>
      /gate/actor/doseDistribution/stepHitType           random<br>
      /gate/actor/doseDistribution/setPosition           0 0 0 cm<br>
      /gate/actor/doseDistribution/setResolution         110 110 220<br>
      <br>
      <br>
      /gate/actor/doseDistribution/enableEdep                 true<br>
      /gate/actor/doseDistribution/enableUncertaintyEdep      true<br>
      /gate/actor/doseDistribution/enableSquaredEdep         false<br>
      /gate/actor/doseDistribution/enableDose                 true<br>
      /gate/actor/doseDistribution/enableUncertaintyDose      true<br>
      /gate/actor/doseDistribution/enableSquaredDose          false<br>
      /gate/actor/doseDistribution/enableNumberOfHits         true<br>
      /gate/actor/doseDistribution/save                patient.hdr<br>
    </blockquote>
    <br>
    <br>
    4) Then I launch the simulation with:<br>
    <br>
    <blockquote>/gate/application/noGlobalOutput<br>
      /gate/application/setTotalNumberOfPrimaries 3000000<br>
      /gate/application/start<br>
    </blockquote>
    <br>
    ---------------------------------------------------<br>
    Some comments:<br>
    <br>
    - The physics list and the source have already been tested with
    different geometries and they give the right results.<br>
    <br>
    - I tried to launch the simulation with :<br>
    <br>
    /gate/application/setTimeSlice   1   s<br>
    /gate/application/setTimeStart   0   s<br>
    /gate/application/setTimeStop    1   s<br>
    /gate/application/startDAQ<br>
    <br>
    and I obtained exactly the same results.<br>
    <br>
    - This application has been tested with a voxel image of a uniform
    water sphere surrounded by water in order to calculate the sphere S
    values and it gave the right result. The only difference between
    this successful run (the water sphere) and the real patient
    simulation is in the source which is uniform in the first case while
    in the second case is heterogeneous. Also,in the case of the sphere
    I only verified that the Svalue (mGy/MBq s) was correct, hence I did
    not normalize the Gate results with the total activity to obtaine
    the mGy.<br>
    <br>
    - If I understand correctly, when I use "setTotalNumberOfPrimaries",
    Gate uses the voxel source as a relative intensity map which is
    normalized to the total source activity. Am I right?<br>
    <br>
    <br>
    <br>
  </body>
</html>