Menu

Some problems regarding mvec, negative values, and non-diffusive regions

Wuwei Ren
2016-04-18
2016-05-13
  • Wuwei Ren

    Wuwei Ren - 2016-04-18

    In general I have very good experience using TOAST++. Still there are something I cannot figure out by myself. Here we go:

    Firstly, how is the measurement vector defined? I mean what is the transfer function from the object to the detector? For the function mvec = Mvec(Obj, varagin). There are three profiles to select: 'Gaussian', 'Cosine' and 'TrigBasis'. I understand the first two but what is TrigBasis?

    Secondly, there is negative values of light intensity (Phi value). Is there anyway to put the non-negative constraint for each simulation?

    Thirdly, how does TOAST++ perform in the region of non-diffusive regions in a big object, I mean when the criterion of mus>>mua fails. I read some of your early papers regarding the problem, I don't know if the function was implemented in TOAST++.

    Thanks.

     
    • Martin Schweiger

      To 1: The relationship between surface exitance \Gamma and volume photon density \phi is given by the Robin b.c.:

      \Gamma = -c \kappa \nabla_n \phi
      \phi + 2 \kappa A \nabla_n = 0

      ==> \Gamma = c/(2A) \phi

      where \kappa is the diffusion coefficient, A is a parameter that takes into account the effects of the refractive index mismatch at the tissue-air interface, and \nabla_n is the gradient in outward normal direction.

      The measurement projection vector, mvec, projects \phi to the surface exitance \Gamma, and integrates \Gamma over the detector profile.

      M_i = \int_surface \Gamma(s) \sigma_i(s) ds

      where \sigma_i(s) is the measurement sensitivity profile of the i-th detector on the surface.
      Therefore, mvec(i,j) = c/2A sigma_i(r_j)
      where r_j is the position of the j-th node (nonzero only for boundary nodes).

      The "TrigBasis" profile is experimental and can safely be ignored for now. It builds a distributed source or measurement pattern from a cosine basis. Currently it works only for circular 2D problems, and hasn't been tested well.

      To 2: Negative values for Phi usually indicate an insufficiently resolved mesh. Try different mesh resolution and check the behaviour. Often, a higher local node density may be needed close to sources, detectors and high-contrast inclusions.

      More rarely, it could indicate a node order problem in the mesh. You can check that with mesh.ElementSize. All values should be positive.

      To 3: Non-diffuse regions are currently not supported in the Toast++ toolbox. We did some experiments with different approaches (hybrid diffusion/radiosity approach, P_N approximation, but they are not yet part of the toolbox.

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.